@finos/legend-vscode-extension-dependencies 4.0.214 → 4.0.216

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -898,7 +898,7 @@ var Usn=Object.defineProperty,Gsn=Object.getOwnPropertyDescriptor,Hsn=Object.get
898
898
  .${o$n.BLUR}:hover {
899
899
  filter: none;
900
900
  }
901
- `})}),$bi=Sse(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return Dne.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[Dne.jsx(Pwe,{className:"text-lg"}),Dne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),qbi=Sse(e=>{const{view:t}=e,n=mbi(),i=t.grid;return Dne.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&Dne.jsx($bi,{view:t}),Dne.jsx("div",{}),Dne.jsxs("div",{className:"flex h-full items-center",children:[Dne.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Dne.jsx(Hwe,{className:"stroke-[3px]"}),Dne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Dne.jsx(nCe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:BEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:BEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),Dne.jsx("div",{className:BEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Dne.jsx(nCe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:BEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:BEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),Dne.jsxs("div",{className:BEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Dne.jsx(fbi,{})]})]})]})]})]})}),Ybi=Sse(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Dne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Dne.jsx(jsi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=Hbi)},modules:[Vri,t_i],...yJn(t)})})}),Kbi=Sse(e=>{const{view:t}=e,n=t.grid.configuration;return Dne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Dne.jsx(jbi,{configuration:n}),Dne.jsx(Ybi,{view:t}),Dne.jsx(qbi,{view:t})]})}),Xbi=Sse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case wdt.MULTIDIMENSIONAL:return Dne.jsx(Gbi,{view:t});case wdt.STANDARD:return Dne.jsx(Kbi,{view:t});default:return Dne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),Zbi=Sse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Dne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Dne.jsxs("div",{className:"flex",children:[Dne.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(ldt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Adt.STATUS_BAR})},disabled:!t,children:[Dne.jsx(Twe,{className:"text-xl"}),Dne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Dne.jsx("div",{className:"flex",children:Dne.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(ldt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Adt.STATUS_BAR})},disabled:!t||nut(t.info.configuration.gridMode),children:[Dne.jsx(Dwe,{className:"text-lg"}),Dne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Dne.jsx("div",{className:"flex items-center px-2",children:Dne.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Dne.jsx(n_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),Qbi=Sse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=UOe(),[c,d]=n.useState([...r??[]]);return Dne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Dne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Dne.jsx(lwe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Dne.jsx("div",{className:"truncate",children:i})]}),Dne.jsxs("div",{className:"flex w-full flex-auto",children:[t,Dne.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(Bbi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Dne.jsx(Swe,{})}),Dne.jsx(GOe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>Js(e)?Dne.jsx(HOe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===Bbi.SEPARATOR?Dne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),Jbi=e=>{const{message:t,prompt:n}=e;return Dne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Dne.jsx("div",{className:"mr-3",children:Dne.jsx(qEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Dne.jsxs("div",{children:[Dne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Dne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},eCi=Sse(e=>{const{children:t,taskManager:n}=e;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Dne.jsx(Zbi,{taskManager:n})]})}),tCi=Sse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Dne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":adt.PLACEHOLDER,children:[Dne.jsx(Qbi,{title:n,menuItems:i,children:r??null}),Dne.jsx(eCi,{taskManager:o,children:t}),s?Dne.jsx(Fbi,{layout:s}):null,Dne.jsx(rAn,{})]})}),nCi=Sse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Dne.jsx(eCi,{children:Dne.jsx(Jbi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(Xbi,{view:t}),Dne.jsx(Zbi,{view:t})]})}),iCi=Sse(()=>{const e=mbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(ldt.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),Dne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Dne.jsx(Qbi,{title:t.info.name,menuItems:[{label:Tdt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Tdt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Tdt.REDO,action:()=>{e.view.snapshotService.redo(),i(Tdt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Tdt.SETTINGS,action:()=>{e.settingService.display.open(),i(Tdt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Dne.jsx(nCi,{view:t}),Dne.jsx(Fbi,{layout:e.layoutService.manager}),Dne.jsx(rAn,{})]})}),rCi=Sse(e=>{const{specification:t,engine:i,options:r}=e,s=wse(()=>new hbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Dne.jsx(gbi,{value:s,children:Dne.jsx(iCi,{},s.uuid)}):Dne.jsx(tCi,{title:Ddt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Dne.jsx(Jbi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var sCi,oCi,aCi,lCi,cCi,dCi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(sCi||(sCi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(oCi||(oCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(aCi||(aCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(lCi||(lCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(cCi||(cCi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(dCi||(dCi={}));class uCi{label;value;constructor(e,t){this.label=e,this.value=t}}class hCi extends uCi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class pCi extends uCi{unit;constructor(e,t){super(e,sCi.FIRST_DAY_OF),this.unit=t}}class gCi extends uCi{day;constructor(e,t){super(e,sCi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const mCi=[new hCi("Yesterday",sCi.YESTERDAY,1,oCi.DAYS,cCi.BEFORE,dCi.TODAY),new hCi("One Week Ago",sCi.ONE_WEEK_AGO,1,oCi.WEEKS,cCi.BEFORE,dCi.TODAY),new hCi("One Month Ago",sCi.ONE_MONTH_AGO,1,oCi.MONTHS,cCi.BEFORE,dCi.TODAY),new hCi("One Year Ago",sCi.ONE_YEAR_AGO,1,oCi.YEARS,cCi.BEFORE,dCi.TODAY)],fCi=e=>Object.values(Nct).find(t=>lS(e,t)),yCi=(e,t,n)=>{if(e instanceof gCi){const i=new YE(Nct.PREVIOUS_DAY_OF_WEEK);Pct(i,yS.create(new ES(gS.DATE)));const r=new BE(yS.create(new ES(t.getType(xct.DAY_OF_WEEK))));return Wct(r,[...r.values,BS.create(Gs(t.getEnumeration(xct.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Uct(i,r,n),i}if(e instanceof pCi)switch(e.unit){case aCi.YEAR:{const e=new YE(Nct.FIRST_DAY_OF_THIS_YEAR);return Pct(e,yS.create(new ES(gS.DATE))),e}case aCi.QUARTER:{const e=new YE(Nct.FIRST_DAY_OF_QUARTER);return Pct(e,yS.create(new ES(gS.STRICTDATE))),e}case aCi.MONTH:{const e=new YE(Nct.FIRST_DAY_OF_THIS_MONTH);return Pct(e,yS.create(new ES(gS.DATE))),e}case aCi.WEEK:{const e=new YE(Nct.FIRST_DAY_OF_WEEK);return Pct(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case sCi.TODAY:return CCi(Nct.TODAY,gS.STRICTDATE);case sCi.NOW:return CCi(Nct.NOW,gS.DATETIME);case dCi.FIRST_DAY_OF_THIS_YEAR:{const e=new YE(Nct.FIRST_DAY_OF_THIS_YEAR);return Pct(e,yS.create(new ES(gS.DATE))),e}case dCi.FIRST_DAY_OF_QUARTER:{const e=new YE(Nct.FIRST_DAY_OF_QUARTER);return Pct(e,yS.create(new ES(gS.STRICTDATE))),e}case dCi.FIRST_DAY_OF_MONTH:{const e=new YE(Nct.FIRST_DAY_OF_THIS_MONTH);return Pct(e,yS.create(new ES(gS.DATE))),e}case dCi.FIRST_DAY_OF_WEEK:{const e=new YE(Nct.FIRST_DAY_OF_WEEK);return Pct(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},vCi=(e,t)=>{const n=t.getEnumeration(xct.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(oCi).filter(t=>oCi[t]===e)[0])[0];return i??Gs(n.values[0])},_Ci=(e,t)=>{if(e instanceof YE&&lS(e.functionName,Nct.ADJUST)||e instanceof uA&&lS(e.function,Nct.ADJUST))try{const t=new hCi("",sCi.CUSTOM_DATE,(e=>{if(e instanceof YE){const t=e.parametersValues[1];return t instanceof FE?t.values[0]:t instanceof YE&&lS(t.functionName,Nct.MINUS)&&t.parametersValues[0]instanceof FE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof mA?t.value:t instanceof uA&&lS(t.function,Nct.MINUS)&&t.parameters[0]instanceof mA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof YE?Object.keys(oCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>oCi[e])[0]:Object.values(oCi).filter(t=>t===js(e.parameters[2],WA).property)[0]))(e),(n=e)instanceof YE?n.parametersValues[1]instanceof YE&&lS(n.parametersValues[1].functionName,Nct.MINUS)?cCi.BEFORE:cCi.AFTER:n.parameters[1]instanceof uA&&lS(n.parameters[1].function,Nct.MINUS)?cCi.BEFORE:cCi.AFTER,(e=>{const t=e instanceof YE?e.parametersValues[0].functionName:e.parameters[0].function;switch(fCi(t)){case Nct.TODAY:return dCi.TODAY;case Nct.NOW:return dCi.NOW;case Nct.FIRST_DAY_OF_THIS_YEAR:return dCi.FIRST_DAY_OF_THIS_YEAR;case Nct.FIRST_DAY_OF_QUARTER:return dCi.FIRST_DAY_OF_QUARTER;case Nct.FIRST_DAY_OF_THIS_MONTH:return dCi.FIRST_DAY_OF_MONTH;case Nct.FIRST_DAY_OF_WEEK:return dCi.FIRST_DAY_OF_WEEK;case Nct.PREVIOUS_DAY_OF_WEEK:return dCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=mCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new hCi("","",0,void 0,void 0,void 0)},bCi=(e,t)=>{if(!(e instanceof YE||e instanceof uA)){if(e instanceof FE)return e.genericType.value.rawType.path===TC.LATESTDATE?new uCi(sCi.LATEST_DATE,sCi.LATEST_DATE):new uCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?sCi.ABSOLUTE_TIME:sCi.ABSOLUTE_DATE);if(e instanceof SA)return new uCi(sCi.LATEST_DATE,sCi.LATEST_DATE);if(e instanceof bA)return new uCi(e.value,sCi.ABSOLUTE_DATE);if(e instanceof _A)return new uCi(e.value,sCi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof YE?e.functionName:e.function;switch(fCi(n)){case Nct.TODAY:return new uCi(sCi.TODAY,sCi.TODAY);case Nct.NOW:return new uCi(sCi.NOW,sCi.NOW);case Nct.FIRST_DAY_OF_THIS_YEAR:return new pCi(dCi.FIRST_DAY_OF_THIS_YEAR,aCi.YEAR);case Nct.FIRST_DAY_OF_QUARTER:return new pCi(dCi.FIRST_DAY_OF_QUARTER,aCi.QUARTER);case Nct.FIRST_DAY_OF_THIS_MONTH:return new pCi(dCi.FIRST_DAY_OF_MONTH,aCi.MONTH);case Nct.FIRST_DAY_OF_WEEK:return new pCi(dCi.FIRST_DAY_OF_WEEK,aCi.WEEK);case Nct.PREVIOUS_DAY_OF_WEEK:const n=e instanceof YE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],WA).property;return new gCi(`Previous ${n}`,n);case Nct.ADJUST:return _Ci(e,t);default:return new uCi("","")}}},CCi=(e,t)=>{const n=new YE(e);return Pct(n,yS.create(new ES(t))),n},SCi=(e,t,n,i)=>{const r=new FE(yS.create(new ES(e.getPrimitiveType(t))));return Wct(r,[n],i),r},ECi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},wCi=(e,t)=>{const n=new KE(e.functionName);return Gct(n,zS.create(Gs(e.func.value))),Bct(n,e.parametersValues.map(e=>ECi(e)),t),n},xCi=(e,t,n,i)=>{const r=t.path;switch(r){case TC.STRING:case TC.STRICTDATE:case TC.DATETIME:case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return SCi(e,r,i?edt(r):null,n);case TC.BOOLEAN:return SCi(e,r,edt(r),n);case TC.DATE:return SCi(e,TC.STRICTDATE,i?edt(r):null,n);default:if(t instanceof RS){const e=new BE(yS.create(new ES(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);Wct(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},TCi=(e,t)=>Q3(((e,t)=>{const n=new ZE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=xCi(e,gS.STRING,t,!0),n})(e.graph,t),e),ACi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==gS.BYTE)return new VE(s,yS.create(new ES(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?CCi(Nct.NOW,gS.DATETIME):i===TC.STRICTDATE?CCi(Nct.TODAY,gS.STRICTDATE):i===TC.DATE?SCi(t,TC.STRICTDATE,edt(i),n):SCi(t,i,edt(i),n)})(r,t,n);if(r instanceof RS){const e=new BE(yS.create(new ES(r))),t=(o=r,(new Bm).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Wct(e,[BS.create(Gw(r,t))],n),e}var o},NCi=(e,t,n)=>{if(e instanceof FE)return Xw(e.genericType.value.rawType,gS.DATE)?bCi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof BE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof ME?e.name:e instanceof JE?NCi(e.getValue(),t,n):e instanceof YE?void 0!==e.genericType?.value.rawType&&Xw(e.genericType.value.rawType,gS.DATE)?bCi(e,t).label:e.functionName:e instanceof VE?e.values.map(e=>NCi(e,t,n)).join(","):void 0},RCi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new FE(yS.create(new ES(e))),Wct(i,[t.toString()],n);break;case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===TC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new FE(yS.create(new ES(e))),Wct(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new FE(yS.create(new ES(e))),Wct(i,[t],n);break;case TC.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new FE(yS.create(new ES(e))),Wct(i,[t],n);break;default:return null}return i},ICi=(e,t)=>{const n=t?Cp:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof KE;){for(r=r.parametersValues[0];r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof KE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(CC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},DCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof KE;)n=n.parametersValues[0],n instanceof KE&&t.unshift(n.func.value.name);return t.join(".")},kCi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof RS)return r===gS.LATESTDATE?new FE(yS.create(new ES(r))):xCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new VE(nS.ZERO,yS.create(new ES(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class OCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=DCi(t),this.title=ICi(t,!0),this.propertyExpression=zee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,US),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),ME))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Mct(e,i)??Gs(t[i]):t.push(Mct(e,i)??kCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Bct(e.propertyExpression,[Gs(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof PE)||Kct(e))}}class LCi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){c_(this,{isEditingDerivedPropertyExpression:xy,derivedPropertyExpressionStates:xy,setIsEditingDerivedProperty:Ov,initDerivedPropertyExpressionStates:Ov,isValid:Ry,hashCode:Ry}),this.queryBuilderState=e,this.propertyExpression=zee(t,e.observerContext),this.path=DCi(t),this.title=ICi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof KE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof wS&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&Gct(n,zS.create(t))}if(n.func.value instanceof US){const e=new OCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return bg([odt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class MCi{uuid=ho()}class PCi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){c_(this,{lambdaString:xy,parserError:xy,compilationError:xy,typeAheadEnabled:xy,lambdaId:Ry,fullLambdaString:Ry,setLambdaString:Ov,setTypeAhead:Ov,clearErrors:Ov,setCompilationError:Ov,setParserError:Ov,convertLambdaGrammarStringToObject:Xv,convertLambdaObjectToGrammarString:Xv}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new pQ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new K0)}}const FCi="PROJECTION_COLUMN";class BCi extends MCi{tdsState;columnName;wavgWeight;constructor(e,t){super(),c_(this,{uuid:!1,tdsState:!1,columnName:xy,wavgWeight:xy,setColumnName:Ov,setWavgWeight:Ov,hashCode:Ry}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class VCi extends BCi{lambdaParameterName=Sct;propertyExpressionState;constructor(e,t,n){super(e,""),c_(this,{lambdaParameterName:xy,propertyExpressionState:xy,setLambdaParameterName:Ov,changeProperty:Ov}),this.propertyExpressionState=new LCi(e.queryBuilderState,t),this.columnName=ICi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>rdt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new LCi(this.tdsState.queryBuilderState,Jwi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=ICi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return bg([odt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class UCi extends PCi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Bee([fct.QUERY_BUILDER,fct.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=pj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new DE(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class GCi extends BCi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=hb.create();constructor(e,t){super(e,"(derivation)"),c_(this,{lambda:xy,returnType:xy,fetchingLambdaReturnTypeState:xy,setLambda:Ov,fetchDerivationLambdaReturnType:Xv,setLambdaReturnType:Ov}),this.derivationLambdaEditorState=new UCi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{Ks(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(vb.create(sw.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new kE(t.name,nS.ONE,XC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new DE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof RS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return bg([odt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class HCi{uuid=ho();constructor(){c_(this,{getOperator:Ry,allValidationIssues:Ry,hashCode:Ry})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof VCi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class zCi extends MCi{aggregationState;projectionColumnState;lambdaParameterName=Sct;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),c_(this,{projectionColumnState:xy,lambdaParameterName:xy,calendarFunction:xy,hideCalendarColumnState:xy,operator:xy,setHideCalendarColumnState:Ov,setColumnState:Ov,setLambdaParameterName:Ov,setOperator:Ov,setCalendarFunction:Ov,handleUsedPostFilterType:Ov,hashCode:Ry}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof GCi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return bg([odt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class WCi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){c_(this,{columns:xy,removeColumn:Ov,addColumn:Ov,changeColumnAggregateOperator:Ov,disableCalendar:Ov,allValidationIssues:Ry,hashCode:Ry}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){Eo(this.columns,e)}addColumn(e){Co(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new zCi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return bg([odt.AGGREGATION_STATE,bg(this.columns)])}}const jCi=(e,t,n)=>{const i=new YE(sS(e));return i.parametersValues.push(new ME(t,nS.ONE)),i},$Ci=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new zCi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${sS(i)}() expression: ${sS(i)}() expects no argument`);const o=js(n.parametersValues[0],ME,`Can't process ${sS(i)}() expression: only support ${sS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${sS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${sS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class qCi extends HCi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.AVERAGE,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_AVERAGE])}}class YCi extends HCi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.COUNT,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_COUNT])}}class KCi extends HCi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){const i=new YE(sS(Nct.DISTINCT));i.parametersValues.push(new ME(t,nS.ONE));const r=new YE(sS(Nct.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.COUNT)){const i=new zCi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],YE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,Nct.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],ME,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.INTEGER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class XCi extends HCi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?Nct.DATE_MAX:Nct.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof VCi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,Nct.MAX))return;return $Ci(n,t,e,Nct.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,Nct.DATE_MAX))return;return $Ci(n,t,e,Nct.DATE_MAX,this);default:return}}return lS(e.functionName,Nct.MAX)?$Ci(n,t,e,Nct.MAX,this):lS(e.functionName,Nct.DATE_MAX)?$Ci(n,t,e,Nct.DATE_MAX,this):void 0}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_MAX])}}class ZCi extends HCi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?Nct.DATE_MIN:Nct.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof VCi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,Nct.MIN))return;return $Ci(n,t,e,Nct.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,Nct.DATE_MIN))return;return $Ci(n,t,e,Nct.DATE_MIN,this);default:return}}return lS(e.functionName,Nct.MIN)?$Ci(n,t,e,Nct.MIN,this):lS(e.functionName,Nct.DATE_MIN)?$Ci(n,t,e,Nct.DATE_MIN,this):void 0}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_MIN])}}class QCi extends HCi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class JCi extends HCi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class eSi extends HCi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.SUM,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.SUM,this)}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_SUM])}}class tSi{columnState;sortType=Ict.ASC;constructor(e){c_(this,{columnState:xy,sortType:xy,setColumnState:Ov,setSortType:Ov,hashCode:Ry}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return bg([odt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class nSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){c_(this,{showModal:xy,limit:xy,distinct:xy,sortColumns:xy,slice:xy.ref,setShowModal:Ov,setLimit:Ov,setDistinct:Ov,setSortColumns:Ov,addSortColumn:Ov,updateSortColumns:Ov,setSlice:Ov,reset:Ov,hashCode:Ry}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){Co(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return bg([odt.RESULT_SET_MODIFIER_STATE,bg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var iSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(iSi||(iSi={}));class rSi{queryBuilderState;fetchStructureState;constructor(e,t){c_(this,{usedExplorerTreePropertyNodeIDs:Ry,fetchStructureValidationIssues:Ry,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class sSi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const oSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),aSi=e=>{if(e instanceof RS)return Rct.GET_ENUM;switch(e.path){case TC.STRING:return Rct.GET_STRING;case TC.NUMBER:return Rct.GET_NUMBER;case TC.INTEGER:return Rct.GET_INTEGER;case TC.FLOAT:return Rct.GET_FLOAT;case TC.DECIMAL:return Rct.GET_DECIMAL;case TC.DATE:return Rct.GET_DATE;case TC.DATETIME:return Rct.GET_DATETIME;case TC.STRICTDATE:return Rct.GET_STRICTDATE;case TC.BOOLEAN:return Rct.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var lSi;!function(e){e.AND="and",e.OR="or"}(lSi||(lSi={}));const cSi=e=>{switch(e){case lSi.AND:return Nct.AND;case lSi.OR:return Nct.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},dSi=e=>{if(lS(e,Nct.AND))return lSi.AND;if(lS(e,Nct.OR))return lSi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},uSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(Rct).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Rct).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,FE,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=oSi(n,o);if(r!==Rct.IS_NULL&&r!==Rct.IS_NOT_NULL){if(a instanceof GCi){const e=iEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof zCi&&a.projectionColumnState instanceof GCi){const e=iEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(aSi(e)===r,`Can't process TDS column expression: expected column type ${aSi(e)} (got ${r})`)}return a},hSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof KE&&t.func.value.name===s){const n=uSi(t,e);return r=new uEi(e,n,i),r}if(n&&lS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${sS(n)}() expression: ${sS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof KE)o=uSi(s,e);else{if(!(s instanceof qE))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=oSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new uEi(e,o,i),((e,t)=>{if(e instanceof KE){const n=Xr(()=>uSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new dEi(t,n))}const n=e?sdt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new cEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${sS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},pSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[Nct.AND,Nct.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new oEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new sEi(n,dSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>pSi(js(e,qE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},gSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?RK(r.expressionSequence[0]):void 0,o=new ME(e.postFilterState.lambdaParameterName,nS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new qE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new KE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=aSi(e)}e.func=zS.create(Gs($w(n.getClass(xct.TDS_ROW)).find(e=>e.name===r)));const a=new FE(yS.create(new ES(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},mSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=gSi(e,e.leftConditionValue,r,t,i);if(n){const t=new YE(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class fSi extends sSi{getLabel(){return"starts with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.STARTS_WITH,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_START_WITH])}}class ySi extends fSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var vSi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(vSi||(vSi={}));const _Si=e=>{let t=e;for(;t instanceof KE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof YE&&lS(t.functionName,Nct.SUBTYPE);)t=t.parametersValues[0]}return!1};class bSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return bg([odt.FILTER_CONDITION_RIGHT_VALUE])}}class CSi extends bSi{value;constructor(e,t){super(e),c_(this,{value:xy,setValue:Ov}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?Yct(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qct(this.value):void 0}setValue(e){return this.value=e?lte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof VE}get hashCode(){return bg([odt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class SSi extends bSi{propertyExpressionState;constructor(e,t){super(e),c_(this,{propertyExpressionState:xy,changePropertyExpressionState:Ov}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return _Si(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class ESi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){c_(this,{propertyExpressionState:xy,operator:xy,rightConditionValue:xy,existsLambdaParamNames:xy,typeaheadSearchResults:xy,changeOperator:Ov,setOperator:Ov,setRightConditionValue:Ov,addExistsLambdaParamNames:Ov,buildRightConditionValueFromValueSpec:Ov,buildRightConditionValueFromPropertyExpressionState:Ov,handleTypeaheadSearch:Xv,operators:Ry,hashCode:Ry}),this.filterState=e,this.propertyExpressionState=new LCi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,CSi),n=e??t.value;if(tEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(JSi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=eEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof VE&&this.rightConditionValue instanceof CSi&&this.rightConditionValue.value instanceof PE&&Kct(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Wct(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof PE&&this.rightConditionValue instanceof CSi&&this.rightConditionValue.value instanceof VE&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof CSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new CSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof SSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new SSi(this,e))}get hashCode(){return bg([odt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class wSi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,c_(this,{isOpen:xy,parentId:xy,setIsOpen:Ov,setParentId:Ov,hashCode:Ry})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class xSi extends wSi{childrenIds=[];lambdaParameterName;constructor(e){super(e),c_(this,{childrenIds:xy,addChildNode:Ov,removeChildNode:Ov,dragPreviewLabel:Ry}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class TSi extends xSi{groupOperation;constructor(e,t){super(e),c_(this,{groupOperation:xy,setGroupOperation:Ov}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return bg([odt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class ASi extends xSi{filterState;propertyExpressionState;constructor(e,t){super(t),c_(this,{propertyExpressionState:xy,setPropertyExpression:Ov}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new LCi(this.filterState.queryBuilderState,e)}get hashCode(){return bg([odt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const NSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof ASi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class RSi extends wSi{condition;isNewlyAdded;constructor(e,t){super(e),c_(this,{condition:xy,isNewlyAdded:xy,setIsNewlyAdded:Ov,dragPreviewLabel:Ry}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return bg([odt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class ISi extends wSi{constructor(e){super(e),c_(this,{dragPreviewLabel:Ry})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return bg([odt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class DSi{queryBuilderState;lambdaParameterName=Sct;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){c_(this,{rootIds:xy,nodes:xy,selectedNode:xy,isRearrangingConditions:xy,lambdaParameterName:xy,showPanel:xy,setLambdaParameterName:Ov,setRearrangingConditions:Ov,setSelectedNode:Ov,addNodeFromNode:Ov,replaceBlankNodeWithNode:Ov,addGroupConditionNodeFromNode:Ov,newGroupConditionFromNode:Ov,newGroupWithConditionFromNode:Ov,removeNodeAndPruneBranch:Ov,pruneTree:Ov,simplifyTree:Ov,collapseTree:Ov,setShowPanel:Ov,expandTree:Ov,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),xSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof TSi)t.addChildNode(e);else if(t instanceof RSi||t instanceof ISi||t instanceof ASi){const n=new TSi(void 0,lSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof TSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof ASi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new TSi(void 0,lSi.AND);n.addChildNode(Gs(this.nodes.get(Gs(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof RSi||t instanceof ISi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new TSi(void 0,lSi.AND),n=new ISi(void 0),i=new ISi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new TSi(void 0,n??lSi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):(Eo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new ISi(void 0);if(t instanceof RSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new TSi(void 0,lSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof xSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof TSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof ISi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof ISi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof RSi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof TSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),TSi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(RSi)).map(e=>e.condition.rightConditionValue instanceof CSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>rdt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof RSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof RSi&&e.condition.rightConditionValue instanceof CSi&&e.condition.rightConditionValue.value instanceof PE&&!Kct(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof RSi&&e.condition.rightConditionValue instanceof SSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof RSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof SSi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return bg([odt.FILTER_STATE,bg(this.rootIds),bg(Array.from(this.nodes.values()))])}}const kSi=e=>e.getValue()instanceof JE?kSi(js(e.getValue(),JE)):e.getValue(),OSi=(e,t,n,i,r)=>{const s=new KE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof KE;){if(o=a.parametersValues[0],o instanceof KE){const e=new KE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Vct(a,e,0,t.observerContext)}if(a instanceof KE&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof wS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${OC.ALL_VERSIONS}`);n&&(Gct(a,zS.create(n)),Bct(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof JE&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof JE&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=kSi(t):e.parametersValues=[Gs(js(a,KE).parametersValues[0])]:e.parametersValues[n+1]=kSi(t))})}for(a=o;a instanceof YE&&lS(a.functionName,Nct.SUBTYPE);)a=a.parametersValues[0]}return a instanceof ME&&Hct(a,n),s},LSi=(e,t)=>{if(t instanceof RSi){const n=t.parentId?js(e.nodes.get(t.parentId),xSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof TSi){const n=new YE(sS(cSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>LSi(e,t)).filter(Vs);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new YE(sS(cSi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof ASi){const n=new YE(sS(Nct.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),xSi):void 0;for(;i&&!(i instanceof TSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),xSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),xSi).lambdaParameterName:void 0,s=Gs(OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>LSi(e,t)).filter(Vs);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new YE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=tdt(t.lambdaParameterName??Sct,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new YE(sS(cSi(Gs(i).groupOperation)));l.parametersValues=a;const c=tdt(t.lambdaParameterName??Sct,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var MSi,PSi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(MSi||(MSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(PSi||(PSi={}));const FSi=(e,t)=>{const n=new ZE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new FE(yS.create(new ES(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},BSi=e=>e.value instanceof YE&&[nS.ONE,nS.ZERO_ONE].some(t=>ex(t,e.parameter.multiplicity)),VSi=e=>e.filter(BSi),USi=(e,t)=>e.filter(e=>!BSi(e)).map(e=>{const n=new ZY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),GSi=(e,t,n)=>{const i=((e,t)=>{const n=VSi(e);if(n.length>0){const i=FSi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),Q3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class HSi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){c_(this,{value:xy,setValue:Ov,mockParameterValue:Ov,hashCode:Ry}),this.observerContext=t,this.parameter=Uee(e),this.graph=n}get hashCode(){return bg([PSi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(ACi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=e?lte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Pct(this.parameter,yS.create(new ES(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;ex(n,t)||(Fct(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class zSi{showModal=!1;submitAction;constructor(){c_(this,{showModal:xy,submitAction:xy,setShowModal:Ov,open:Ov,setSubmitAction:Ov})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class WSi{parameterStates=[];parameterValuesEditorState=new zSi;constructor(){c_(this,{hashCode:Ry})}get hashCode(){return bg([PSi.LAMBDA_PARAMETERS_STATE,bg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){Eo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class jSi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class $Si extends jSi{constructor(e){super(e),c_(this,{mapping:xy,runtimeValue:xy,setMapping:Ov,setRuntimeValue:Ov})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class qSi extends jSi{constructor(e){super(e),c_(this,{mapping:xy,runtimeValue:xy,setMapping:Ov,setRuntimeValue:Ov})}}const YSi=(e,t)=>{const n=new YE(sS(Act.GET_ALL)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},KSi=(e,t)=>{const n=new YE(sS(Act.GET_ALL_VERSIONS)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},XSi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new ZE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=Uw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=KSi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case Act.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=KSi(n,nS.ONE);i.expressionSequence[0]=e}break;case Act.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new YE(sS(Act.GET_ALL_VERSIONS_IN_RANGE)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n})(n,nS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case Act.GET_ALL:{const t=YSi(n,nS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new YE(sS(Nct.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>LSi(e,t)).filter(Vs);if(!n.length)return;const i=new YE(sS(Nct.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(tdt(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof $Si){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new PE(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof Xj&&(a=new PE(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=VSi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=FSi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},ZSi=(e,t,n)=>{const i=new KE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof KE;){if(r=s.parametersValues[0],r instanceof KE){const e=new KE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof KE&&s.func.value.genericType.value.rawType instanceof wS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=CCi(Nct.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Bct(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof YE&&lS(s.functionName,Nct.SUBTYPE);)s=s.parametersValues[0]}return s instanceof ME&&Hct(s,t),i},QSi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new ZE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=YSi(Gs(e.class),nS.ONE),d=Uw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?ICi(t,!1):s;if(n){const r=new YE(sS(Nct.TDS_GROUP_BY)),s=new VE(nS.ZERO),o=new VE(nS.ONE),l=new VE(nS.ONE),c=new FE(yS.create(new ES(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?tdt(Sct,[t],e.graphManagerState.graph):i,h=new YE(sS(Nct.TDS_AGG)),p=tdt(Sct,[n.buildAggregateExpression(t,Sct,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new YE(sS(Nct.TDS_PROJECT)),r=new VE(nS.ONE),s=new VE(nS.ONE),o=new FE(yS.create(new ES(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?tdt(Sct,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new fSi,p=new KE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=aSi(Gs(e))}p.func=zS.create(Gs($w(e.graphManagerState.graph.getClass(xct.TDS_ROW)).find(e=>e.name===g)));const f=new ME(Ect,nS.ONE),y=new FE(yS.create(new ES(gS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new YE(sS(Nct.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=tdt(Ect,[v],e.graphManagerState.graph),b=new YE(sS(Nct.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new YE(sS(Nct.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new FE(yS.create(new ES(gS.INTEGER)));w.values=[10];const x=new YE(sS(Nct.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,Q3(a,e.graphManagerState)},JSi=(e,t,n)=>{const i=ZSi(t,Sct,e.observerContext);return QSi(e,i,void 0,void 0,void 0,void 0,n)},eEi=e=>{const t=js(e,NZ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},tEi=e=>{if(e instanceof FE){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var nEi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(nEi||(nEi={}));const iEi=(e,t)=>{switch(e){case Rct.GET_STRING:return gS.STRING;case Rct.GET_NUMBER:return gS.NUMBER;case Rct.GET_INTEGER:return gS.INTEGER;case Rct.GET_FLOAT:return gS.FLOAT;case Rct.GET_DECIMAL:return gS.DECIMAL;case Rct.GET_DATE:return gS.DATE;case Rct.GET_DATETIME:return gS.DATETIME;case Rct.GET_STRICTDATE:return gS.STRICTDATE;case Rct.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class rEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,c_(this,{isOpen:xy,parentId:xy,setIsOpen:Ov,setParentId:Ov,hashCode:Ry})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class sEi extends rEi{groupOperation;childrenIds=[];constructor(e,t){super(e),c_(this,{groupOperation:xy,setGroupOperation:Ov,childrenIds:xy,addChildNode:Ov,removeChildNode:Ov,dragPreviewLabel:Ry}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return bg([odt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.groupOperation])}}class oEi extends rEi{condition;isNewlyAdded;constructor(e,t,n){super(e),c_(this,{condition:xy,isNewlyAdded:xy,setIsNewlyAdded:Ov,dragPreviewLabel:Ry}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return bg([odt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class aEi extends rEi{constructor(e){super(e),c_(this,{dragPreviewLabel:Ry})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return bg([odt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class lEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return bg([odt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class cEi extends lEi{value;constructor(e,t){super(e),c_(this,{value:xy,setValue:Ov}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?Yct(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qct(this.value):void 0}setValue(e){return this.value=e?lte(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof VE}get hashCode(){return bg([odt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class dEi extends lEi{tdsColumn;constructor(e,t){super(e),c_(this,{tdsColumn:xy,changeCol:Ov}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=gSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class uEi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){c_(this,{postFilterState:xy,rightConditionValue:xy,operator:xy,leftConditionValue:xy,typeaheadSearchResults:xy,changeOperator:Ov,setColumnState:Ov,setRightConditionVal:Ov,buildFromValueSpec:Ov,setOperator:Ov,changeColumn:Xv,handleTypeaheadSearch:Xv,columnName:Ry,hashCode:Ry}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new cEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof cEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new cEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof BCi||this.leftConditionValue instanceof zCi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,cEi),r=e??i.value;if(tEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof BCi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof GCi?(s=new LE(QI(Pq(l.lambda,new BX([]).build()))),o=l.columnName,a=l.returnType):i=ZSi(js(l,VCi).propertyExpressionState.propertyExpression,Sct,e.observerContext),QSi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=eEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof GCi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return bg([odt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class hEi{tdsState;lambdaParameterName=Ect;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){c_(this,{tdsState:!1,selectedNode:xy,isRearrangingConditions:xy,rootIds:xy,nodes:xy,lambdaParameterName:xy,derivedColumnBeingDropped:xy,setLambdaParameterName:Ov,setSelectedNode:Ov,addNodeFromNode:Ov,addGroupConditionNodeFromNode:Ov,newGroupWithConditionFromNode:Ov,removeNodeAndPruneBranch:Ov,pruneTree:Ov,simplifyTree:Ov,collapseTree:Ov,expandTree:Ov,replaceBlankNodeWithNode:Ov,setRearrangingConditions:Ov,setDerivedColumnBeingDropped:Ov,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),sEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(oEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof dEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof sEi)t.addChildNode(e);else if(t instanceof oEi||t instanceof aEi){const n=new sEi(void 0,lSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new sEi(void 0,lSi.AND),n=new aEi(void 0),i=new aEi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new aEi(void 0);if(t instanceof oEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new sEi(void 0,lSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof sEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof oEi||t instanceof aEi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof sEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),sEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),sEi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof aEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof aEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof oEi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(oEi)).map(e=>e.condition.rightConditionValue).filter(zs(cEi)).map(e=>e.value).filter(Vs).find(t=>rdt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof oEi&&(t.condition.rightConditionValue instanceof cEi&&t.condition.rightConditionValue.value instanceof PE&&!Kct(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof VCi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof oEi&&e.condition.rightConditionValue instanceof cEi&&e.condition.rightConditionValue.value instanceof PE&&!Kct(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof oEi&&e.condition.leftConditionValue instanceof VCi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return bg([odt.POST_FILTER_STATE,bg(this.rootIds),bg(Array.from(this.nodes.values()))])}}class pEi extends sSi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof RS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof cEi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=Yct(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new VE(nS.ONE,yS.create(new ES(t)))}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.IN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.IN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IN])}}class gEi extends pEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_IN])}}class mEi extends sSi{getLabel(){return"is empty"}getTDSColumnGetter(){return Rct.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof RS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof cEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof VCi)||Qct(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return mSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return hSi(e,t,void 0,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IS_EMPTY])}}class fEi extends mEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Rct.IS_NOT_NULL}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class yEi extends sSi{getLabel(){return"is"}isCompatibleWithType(e){return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)||e instanceof RS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&Jct(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_EQUAL])}}class vEi extends yEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class _Ei extends sSi{getLabel(){return"<"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return Jct(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_LESS_THAN])}}class bEi extends _Ei{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class CEi extends sSi{getLabel(){return">"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return Jct(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_GREATER_THAN])}}class SEi extends CEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class EEi extends sSi{getLabel(){return"contains"}isCompatibleWithType(e){return e===gS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.CONTAINS,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.CONTAINS,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_CONTAIN])}}class wEi extends EEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class xEi extends sSi{getLabel(){return"ends with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.ENDS_WITH,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_END_WITH])}}class TEi extends xEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class AEi extends HCi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.UNIQUE_VALUE_ONLY,this)}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_DISTINCT])}}class NEi extends HCi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof VCi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new YE(sS(Nct.JOIN_STRINGS)),r=new FE(yS.create(new ES(gS.STRING)));return r.values=[";"],i.parametersValues.push(new ME(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.JOIN_STRINGS)){const i=new zCi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],ME,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=js(e.parametersValues[1],FE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.STRING}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_JOIN_STRING])}}class REi extends HCi{percentile;acending;continuous;constructor(){super(),c_(this,{percentile:xy,acending:xy,continuous:xy,setPercentile:Ov,setAcending:Ov,setContinuous:Ov})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new YE(sS(Nct.PERCENTILE)),s=new FE(yS.create(new ES(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new ME(t,nS.ONE),s);else{const e=new FE(yS.create(new ES(gS.BOOLEAN)));e.values=[this.acending];const n=new FE(yS.create(new ES(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new ME(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.PERCENTILE)){const i=new zCi(n.tdsState.aggregationState,n,new REi),r=js(i.operator,REi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],ME,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=js(e.parametersValues[1],FE,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=js(e.parametersValues[2],FE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],FE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new REi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_PERCENTILE])}}class IEi extends HCi{weight;constructor(){super(),c_(this,{weight:xy,setWeight:Ov})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return jCi(Nct.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.WAVG)){const e=new zCi(n.tdsState.aggregationState,n,new IEi),i=js(e.operator,IEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new IEi}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_WAVG])}}const DEi="WINDOW_COLUMN";class kEi{columnState;sortType;constructor(e,t){c_(this,{columnState:xy,sortType:xy,setColumnState:Ov,setSortType:Ov}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return bg([odt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class OEi{windowState;lambdaParameterName=Sct;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class LEi extends OEi{constructor(e,t){super(e,t),c_(this,{setLambdaParameterName:Ov})}}class MEi extends OEi{columnState;constructor(e,t,n){super(e,t),c_(this,{columnState:xy,setColumnState:Ov,setLambdaParameterName:Ov}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class PEi extends MCi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),c_(this,{windowColumns:xy,sortByState:xy,operatorState:xy,columnName:xy,setOperatorState:xy,setColumnName:Ov,setSortBy:Ov,changeWindow:Ov,deleteWindow:Ov,addWindow:Ov,setWindows:Ov,changeOperator:Ov,changeSortBy:Ov}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof MEi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){Eo(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new LEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new MEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof MEi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new kEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return bg([odt.TDS_WINDOW_COLUMN_STATE,bg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class FEi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){c_(this,{windowColumns:xy,editColumn:xy,invalidWindowColumnNames:Ry,windowValidationIssues:Ry,addWindowColumn:Ov,removeColumn:Ov,moveColumn:Ov,setEditColumn:Ov}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof MEi&&t.operatorState.columnState instanceof PEi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>lS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){Eo(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_STATE,bg(this.windowColumns)])}}const BEi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e.columnName],t}),r=new VE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new YE((e=>{switch(e){case Ict.ASC:return sS(Nct.TDS_ASC);case Ict.DESC:return sS(Nct.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new FE(yS.create(new ES(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new YE(a);l.parametersValues=[new ME(o.lambdaParameterName,nS.ONE)];const c=tdt(o.lambdaParameterName,[l],n);let d;if(o instanceof MEi){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[o.columnState.columnName],d=new YE(sS(Nct.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new FE(yS.create(new ES(gS.STRING)));h.values=[e.columnName];const p=new YE(sS(Nct.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},VEi=(e,t,n)=>{if(t instanceof oEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof sEi){const i=new YE(sS(cSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>VEi(e,t,n)).filter(Vs);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new YE(sS(cSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class UEi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Ict.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new YE(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new YE(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new VE(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new YE(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new FE(yS.create(new ES(gS.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new YE(sS(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new FE(yS.create(new ES(gS.INTEGER))),r=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t],r.values=[n];const s=new YE(sS(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof YE&&lS(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class GEi extends UEi{get limitFunctionName(){return Nct.TDS_TAKE}get sliceFunctionName(){return Nct.SLICE}get sortFunctionName(){return Nct.TDS_SORT}get distinctFunctionName(){return Nct.TDS_DISTINCT}get ascFunctionname(){return Nct.TDS_ASC}get descFunctionName(){return Nct.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e],t})(e)}}class HEi extends UEi{get limitFunctionName(){return Nct.RELATION_LIMIT}get sliceFunctionName(){return Nct.RELATION_SLICE}get ascFunctionname(){return Nct.RELATION_ASC}get descFunctionName(){return Nct.RELATION_DESC}get sortFunctionName(){return Nct.RELATION_SORT}get distinctFunctionName(){return Nct.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zE(nS.ONE,void 0),n=new HE;return n.name=e,t.values=[n],t}}const zEi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new YE(sS(Nct.TDS_GROUP_BY)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new VE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new FE(yS.create(new ES(gS.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof VCi)c=tdt(t.lambdaParameterName,[OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new LE(QI(Pq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof IEi&&s.setLambdaParameterName("y");const e=new YE(sS(Nct.TDS_AGG)),t=tdt(s.lambdaParameterName,[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof YE&&(n=tdt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof IEi&&s.operator.weight&&s.projectionColumnState instanceof VCi&&c instanceof QE){const e=new YE(Nct.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof QE?vo(n.values,0).expressionSequence[0]=e:c instanceof QE&&(vo(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new YE(sS(Nct.RELATION_PROJECT)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new HE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof VCi)i=tdt(e.lambdaParameterName,[OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof GCi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new LE(QI(Pq(e.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new CS(e.columnName,yS.create(new ES(s))))}),i.parametersValues=[e,s];const l=new ES(NK.INSTANCE),c=new ES(a);return l.typeArguments=[yS.create(c)],i.genericType=yS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,YE);if(n.functionName!==sS(Nct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new YE(sS(Nct.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new jE(nS.ONE,void 0),l=new WE;a.values=[l];const c=new SS(SS.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new HE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(n))))}),t.aggregationState.columns.forEach(e=>{const t=new HE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=js(js(i.function1,QE).values[0]?.expressionSequence[0],KE),o=js(s.func.value,AS),a=new KE("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new ME(Idt,nS.ONE)];const d=tdt(Idt,[a],r.graphManagerState.graph);t.function1=d;const u=tdt(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(h))))}),i.parametersValues=[e,s,a];const d=new ES(NK.INSTANCE),u=new ES(c);return d.typeArguments=[yS.create(u)],i.genericType=yS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new YE(sS(Nct.TDS_PROJECT));if(e.useColFunc){const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new YE(sS(Nct.TDS_COL));let r;if(t instanceof VCi)r=tdt(t.lambdaParameterName,[OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new LE(QI(Pq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new FE(yS.create(new ES(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new FE(yS.create(new ES(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof VCi)s=tdt(e.lambdaParameterName,[OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new LE(QI(Pq(e.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>BEi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>VEi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=tdt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new YE(sS(Nct.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new HEi(e.tdsState.queryBuilderState.graphManagerState):new GEi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class WEi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class jEi extends WEi{getLabel(){return"average rank"}get pureFunc(){return Nct.OLAP_AVERAGE_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class $Ei extends WEi{getLabel(){return"dense rank"}get pureFunc(){return Nct.OLAP_DENSE_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class qEi extends WEi{getLabel(){return"rank"}get pureFunc(){return Nct.OLAP_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class YEi extends WEi{getLabel(){return"row number"}get pureFunc(){return Nct.OLAP_ROW_NUMBER}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class KEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Nct.SUM}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class XEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Nct.COUNT}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class ZEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Nct.MAX}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class QEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Nct.MIN}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class JEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Nct.AVERAGE}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}var ewi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(ewi||(ewi={}));const twi={[ewi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[ewi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var nwi;!function(e){e.NY="NY",e.LDN="LDN"}(nwi||(nwi={}));const iwi="en-US";class rwi{dateColumn;calendarType;endDate;lambdaParameterName=Sct;func;label;hash;constructor(e,t,n){c_(this,{dateColumn:xy,lambdaParameterName:xy,calendarType:xy,endDate:xy,setDateColumn:Ov,setCalendarType:Ov,setLambdaParameterName:Ov,setEndDate:Ov,hashCode:Ry}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new YE(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new FE(yS.create(new ES(gS.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(lS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${sS(t)}() expression: ${sS(t)}() expects four arguments`);const r=js(e.parametersValues[0],KE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===TC.STRICTDATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof KE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof US&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof YE&&lS(s.functionName,Nct.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,ME).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],FE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(nwi).find(e=>e===a.values[0]),`Can't process ${sS(t)}() expression: only support ${sS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],OE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===TC.STRICTDATE||l.genericType?.value.rawType.name===TC.DATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${sS(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof VCi&&t instanceof QE?n=js(t.values[0]?.expressionSequence[0],KE):e.projectionColumnState instanceof GCi&&(n=js(t,LE)),!n)throw new Yr("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return bg([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function swi(e,t,n){return new rwi(e,t,n)}var owi;!function(e){e.CSV="CSV"}(owi||(owi={}));class awi extends rSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new yEi,new vEi,new _Ei,new bEi,new CEi,new SEi,new fSi,new ySi,new EEi,new wEi,new xEi,new TEi,new pEi,new gEi,new mEi,new fEi])();aggregationOperators=(()=>[new YCi,new KCi,new AEi,new eSi,new qCi,new ZCi,new XCi,new REi,new QCi,new JCi,new NEi,new IEi])();aggregationCalendarFunctions=(()=>[swi(Tct.CALENDAR_ANNUALIZED,"Annualized",odt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),swi(Tct.CALENDAR_YTD,"Year to Date",odt.AGGREGATE_CALENDAR_FUNCTION_YTD),swi(Tct.CALENDAR_CME,"Current Month Estimate",odt.AGGREGATE_CALENDAR_FUNCTION_CME),swi(Tct.CALENDAR_CW,"Current Week",odt.AGGREGATE_CALENDAR_FUNCTION_CW),swi(Tct.CALENDAR_CME,"Current Month Estimate",odt.AGGREGATE_CALENDAR_FUNCTION_CME),swi(Tct.CALENDAR_CY_MINUS2,"Current year minus 2",odt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),swi(Tct.CALENDAR_CY_MINUS3,"Current year minus 3",odt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),swi(Tct.CALENDAR_MTD,"Month to date",odt.AGGREGATE_CALENDAR_FUNCTION_MTD),swi(Tct.CALENDAR_P12WA,"Previous 12 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P12WA),swi(Tct.CALENDAR_P12WTD,"Previous 12 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),swi(Tct.CALENDAR_P4WA,"Previous 4 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P4WA),swi(Tct.CALENDAR_P4WTD,"Previous 4 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),swi(Tct.CALENDAR_P52WA,"Previous 52 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P52WA),swi(Tct.CALENDAR_P52WTD,"Previous 52 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),swi(Tct.CALENDAR_PMA,"Previous Months Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_PMA),swi(Tct.CALENDAR_PMTD,"Previous Month To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PMTD),swi(Tct.CALENDAR_PQTD,"Previous Quarter To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PQTD),swi(Tct.CALENDAR_PRIOR_DAY,"Prior Day",odt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),swi(Tct.CALENDAR_PRIOR_YEAR,"Prior Year",odt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),swi(Tct.CALENDAR_PW,"Previous week",odt.AGGREGATE_CALENDAR_FUNCTION_PW),swi(Tct.CALENDAR_PW_FM,"Previous week, Franchise Manager",odt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),swi(Tct.CALENDAR_PWA,"Past Weeks' Average",odt.AGGREGATE_CALENDAR_FUNCTION_PWA),swi(Tct.CALENDAR_PWTD,"Previous Week To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PWTD),swi(Tct.CALENDAR_PYMTD,"Previous Year's Month To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),swi(Tct.CALENDAR_PYQTD,"Previous Year's Quarter To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),swi(Tct.CALENDAR_PYTD,"Previous Year To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYTD),swi(Tct.CALENDAR_PYWA,"Previous Year's Weekly Average",odt.AGGREGATE_CALENDAR_FUNCTION_PYWA),swi(Tct.CALENDAR_PYWTD,"Previous Year's Week to Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),swi(Tct.CALENDAR_QTD,"Quarter to Date",odt.AGGREGATE_CALENDAR_FUNCTION_QTD),swi(Tct.CALENDAR_REPORT_END_DAY,"Report End Day",odt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),swi(Tct.CALENDAR_WTD,"Week to Date",odt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new KEi,new XEi,new ZEi,new QEi,new JEi,new jEi,new $Ei,new qEi,new YEi])();constructor(e,t){super(e,t),c_(this,{aggregationState:xy,projectionColumns:xy,isConvertDerivationProjectionObjects:xy,showPostFilterPanel:xy,showWindowFuncPanel:xy,useColFunc:xy,TEMPORARY__showPostFetchStructurePanel:Ry,derivations:Ry,hasParserError:Ry,isQueryOptionsSet:Ry,addColumn:Ov,moveColumn:Ov,removeAllColumns:Ov,removeColumn:Ov,replaceColumn:Ov,initialize:Ov,initializeWithQuery:Ov,setShowPostFilterPanel:Ov,setShowWindowFuncPanel:Ov,setUseColFunc:Ov,checkBeforeChangingImplementation:Ov,convertDerivationProjectionObjects:Xv,fetchDerivedReturnTypes:Xv}),this.resultSetModifierState=new nSi(this),this.postFilterState=new hEi(this,this.postFilterOperators),this.aggregationState=new WCi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new FEi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(ewi.SHOW_POST_FILTER_PANEL)??!1}get type(){return iSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(GCi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof VCi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof KE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof YE;){if(!(lS(i.functionName,Nct.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof wS))return;n[n.length-1]instanceof wS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof wS)zw(t).concat(t).forEach(e=>s.push(Ywi(i,e.path))),r.push(Ywi(i,t.path));else{const e=qwi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof VCi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[owi.CSV]}getExportDataInfo(e){if(e===owi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof zCi?e instanceof zCi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){zEi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{gj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=tdt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new GCi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),DE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){Eo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=Gs(this.projectionColumns[e]),i=Ui(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new GCi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Sct}${vC}''`)}revealCompilationError(e){const t=Fee(e.sourceInformation);if(t&&3===t.length&&t[0]===fct.QUERY_BUILDER&&t[1]===fct.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof GCi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new VCi(this,Jwi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new VCi(this,Jwi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(GCi)).length)return!1;const n=t.filter(zs(VCi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof VCi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return bg([odt.PROJECTION_STATE,bg(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(GCi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(vb.create("Unable to fetch derived return types"),e)}}}var lwi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(lwi||(lwi={}));const cwi=[[lwi.COUNT,YCi],[lwi.DISTINCT_COUNT,KCi],[lwi.SUM,eSi],[lwi.MIN,ZCi],[lwi.MAX,XCi],[lwi.AVERAGE,qCi],[lwi.STD_DEV_POPULATION,QCi],[lwi.STD_DEV_SAMPLE,JCi]],dwi=(e,t,n)=>{const i=new VCi(e,t,!1);return i.setColumnName(n),i};class uwi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),c_(this,{includeSubTypes:xy,includeDocumentation:xy,setIncludeSubTypes:Ov,setIncludeDocumentation:Ov})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const hwi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Dne.jsx("div",{children:l.length>0?Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Dne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Dne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Dne.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):Dne.jsx(Dne.Fragment,{children:Boolean(a.length)&&Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},pwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Dne.jsx(xye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Dne.jsx("div",{children:Dne.jsx(Kbe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Dne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},gwi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?Dne.jsx("div",{className:"query-builder__tooltip__item__action",children:Dne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Dne.jsx(Wre,{})})}):void 0},{label:"Multiplicity",value:Qw(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Dne.jsx(pwi,{title:t,data:c,placement:o,footerElement:Dne.jsx(hwi,{taggedValues:n.taggedValues}),children:s})},mwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Dne.jsx(pwi,{title:t,data:s,placement:i,children:n})};var fwi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(fwi||(fwi={}));const ywi=e=>({label:e.name,value:e}),vwi=e=>Vw(e)?"system element":Bw(e)?"generated element":Fw(e)?"dependency element":void 0,_wi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Vw(e)?"system":Bw(e)?"generated":Fw(e)?"dependency":"")(t.value);return Dne.jsxs("div",{className:i,children:[Dne.jsx("div",{title:vwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Dne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Dne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},bwi=e=>e instanceof gS?Dne.jsx(UEe,{}):e instanceof wS?Dne.jsx(GEe,{}):e instanceof RS?Dne.jsx(HEe,{}):e instanceof PS?Dne.jsx(zEe,{}):e instanceof MS?Dne.jsx(WEe,{}):Dne.jsx($Ee,{}),Cwi=e=>{const{_class:t,children:n,placement:i}=e;return Dne.jsx(Kbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Dne.jsx(hwi,{taggedValues:t.taggedValues})]}),children:n})},Swi=(e,t,n)=>{if(e.type instanceof wS&&tx(e.type,t))return!0;if(e instanceof Zwi&&tx(e.property,t))return!0;if(e instanceof Qwi){const i=n.nodes.get(e.parentId);if(i?.type instanceof wS&&tx(i.type,t))return!0}return!1},Ewi=(e,t)=>{if(e instanceof Xwi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(CC);return`${CC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},wwi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Dne.jsx(xye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Dne.jsx("div",{children:Dne.jsx(Kbe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:Qw(a)})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Dne.jsx(hwi,{taggedValues:t.taggedValues})]}),children:Dne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},xwi=Sse(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return Dne.jsx(Xye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Dne.jsxs(wOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Dne.jsx(TOe,{title:Cp(i.propertyName)}),Dne.jsx(aLe,{isLoading:i.isGeneratingPreviewData}),Dne.jsxs(NOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Dne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Dne.jsxs("table",{className:"table",children:[Dne.jsx("thead",{children:Dne.jsx("tr",{children:i.previewData.columns.map((e,t)=>Dne.jsx("th",{className:"table__cell--left",children:e},t))})}),Dne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Dne.jsx("tr",{children:e.values.map((e,t)=>Dne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Twi=Sse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Dne.jsxs(OOe,{ref:t,children:[r instanceof Zwi&&!(r.type instanceof wS)&&Dne.jsx(LOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof wS&&Dne.jsx(LOe,{onClick:()=>{if(i(),r.type instanceof wS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(Zwi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped).filter(e=>{const t=Jwi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof awi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof VCi)return n.propertyExpressionState.path===e.id&&n.columnName===ICi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Awi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Dne.jsx(Xne,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Dne.jsx(Nre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Dne.jsx(lre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Dne.jsx(zie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return bwi(e)},Nwi=Sse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Aat(),u=a.explorerState,[,h,p]=KMe(()=>({type:t instanceof Zwi?t.type instanceof RS?$wi.ENUM_PROPERTY:t.type instanceof wS?$wi.CLASS_PROPERTY:$wi.PRIMITIVE_PROPERTY:$wi.ROOT,item:()=>t instanceof Zwi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),NPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof Zwi&&t.property instanceof US,y=t instanceof Zwi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof Qwi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof Zwi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),b=u.humanizePropertyName?t instanceof Qwi?CC+Cp(t.label):Cp(t.label):t instanceof Qwi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof Xwi||u.showUnmappedProperties?Dne.jsx(BOe,{content:Dne.jsx(Twi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof Zwi||t instanceof Xwi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Dne.jsxs("div",{className:Tse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":u.highlightUsedProperties&&Ewi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof Xwi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof Xwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Dne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Dne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Dne.jsx(GEe,{})})]}),Dne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Dne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Dne.jsx(Cwi,{_class:Gs(a.class),children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})})})]}),(t instanceof Zwi||t instanceof Qwi)&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Dne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Dne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Awi(t.type)})]}),Dne.jsxs("div",{className:Tse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Dne.jsx("div",{className:Tse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Swi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Dne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&Dne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof Zwi&&u.previewData(t).catch(d.alertUnhandledError)},children:Dne.jsx(ere,{})}),t instanceof Zwi&&Dne.jsx(gwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})}),t instanceof Qwi&&Dne.jsx(wwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})})]})]})]})}):null}),Rwi=Sse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof Xwi||a.explorerState.showUnmappedProperties?Dne.jsxs("div",{className:"tree-view__node__block",children:[Dne.jsx(Nwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Dne.jsx(Rwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Iwi=e=>e instanceof Qwi?0:e.type instanceof wS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof RS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Dwi=Sse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Dne.jsx(KRe,{components:{TreeNodeContainer:Nwi,TreeNodeView:Rwi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof Qwi||e instanceof Zwi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Iwi(t)-Iwi(e)),innerProps:{queryBuilderState:t}})}),kwi="query-builder-explorer-search-input",Owi=Sse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Dne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Dne.jsx("input",{ref:t,name:kwi,className:Tse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&Dne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Dne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Dne.jsx(Are,{})}):Dne.jsx(Dne.Fragment,{children:Dne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Dne.jsx(Ere,{})})})]})})),Lwi=Sse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Aat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_EXPLORER,className:Tse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Dne.jsxs(jOe,{title:"explorer",children:[Dne.jsx(Owi,{propertySearchState:s,ref:i}),Dne.jsxs(qOe,{children:[Dne.jsx(YOe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Dne.jsx(jie,{})}),Dne.jsx(VOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Cct.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Dne.jsxs(OOe,{children:[Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Dne.jsx(POe,{children:r.showUnmappedProperties?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Show Unmapped Properties"})]}),Dne.jsxs(LOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Dne.jsx(POe,{children:r.humanizePropertyName?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Humanize Property Name"})]}),Dne.jsxs(LOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Dne.jsx(POe,{children:r.highlightUsedProperties?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Dne.jsx(Zne,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Dne.jsx(Wwi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Dne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Dne.jsx(aLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Dne.jsx(RPe,{labelGetter:e=>r.humanizePropertyName?Cp(e.node.label):e.node.label,types:Object.values($wi)}),r.mappingModelCoverageAnalysisState.isInProgress?Dne.jsx(rLe,{children:r.mappingModelCoverageAnalysisState.message}):Dne.jsxs(Dne.Fragment,{children:[!r.treeData&&Dne.jsx(rLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Dne.jsx(Dwi,{queryBuilderState:t})]}),Dne.jsx(xwi,{queryBuilderState:t})]})]})}),Mwi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Aat(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Mat(s))?Dne.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Tse("documentation-link",n,{"documentation-link--inline":i}),children:Dne.jsx(_re,{})}):null},Pwi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Dne.jsx("div",{className:"undo-redo",children:Dne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Dne.jsx(Ire,{}),Dne.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},Fwi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Dne.jsx("div",{className:"undo-redo",children:Dne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Dne.jsx(Cre,{}),Dne.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},Bwi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(Cp).join(t?" / ":"/")).join(CC),Vwi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>Cp(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>Cp(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},Uwi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return Dne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(Dne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Dne.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=vo(s,r+1)[0];o.push(Dne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(Dne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},Gwi=Sse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=KMe(()=>({type:t instanceof Zwi?t.type instanceof RS?$wi.ENUM_PROPERTY:t.type instanceof wS?$wi.CLASS_PROPERTY:$wi.PRIMITIVE_PROPERTY:$wi.ROOT,item:()=>t instanceof Zwi?{node:t}:{},canDrag:()=>!(t.type instanceof wS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),NPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof Zwi&&t.parentId===e.id),g=p?.type instanceof wS&&s>1?Cp(t.label):p instanceof Qwi?Vwi(t.id,!0):Bwi(t.id,!0),m=a?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),f=t instanceof Zwi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,y=null!==f?Uwi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Dne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Dne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Awi(t.type)})]}),Dne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Dne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[Uwi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Dne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),Dne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof Zwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(gwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Dne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Dne.jsx(Wre,{})})]}),t instanceof Qwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(wwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Dne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Dne.jsx(Wre,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof Zwi||t instanceof Qwi)&&t.type instanceof wS&&(t instanceof Qwi?Yw(t.type):jw(t.type)).forEach(n=>{const r=txi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof wS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Dne.jsx(Gwi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),Hwi=Sse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Dne.jsxs("button",{className:Tse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?Dne.jsx(Uie,{}):Dne.jsx(xre,{}),Dne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Dne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),zwi=Sse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Dne.jsx(Kbe,{slotProps:{transition:{timeout:0}},title:Dne.jsx("div",{children:n}),children:Dne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Dne.jsx(cre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Dne.jsx(Hwi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),Wwi=Sse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===kwi||(i(),r.setIsSearchPanelOpen(!1))};return Dne.jsx(cCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Tse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:Dne.jsx(xye,{onClickAway:s,children:Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Dne.jsx("div",{className:"query-builder-property-search-panel__content",children:Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{size:175,children:Dne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Dne.jsx(Mwi,{documentationKey:blt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Dne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Dne.jsx(zOe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[hC.STANDARD,hC.INCLUDE,hC.EXACT,hC.INVERSE],size:1})})]}),Dne.jsx(zwi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Dne.jsx(zwi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Dne.jsx(zwi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Dne.jsx(zwi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(wct.CLASS),onClick:()=>{r.toggleFilterForType(wct.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(wct.ENUMERATION),onClick:()=>{r.toggleFilterForType(wct.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(wct.STRING),onClick:()=>{r.toggleFilterForType(wct.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(wct.BOOLEAN),onClick:()=>{r.toggleFilterForType(wct.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(wct.NUMBER),onClick:()=>{r.toggleFilterForType(wct.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(wct.DATE),onClick:()=>{r.toggleFilterForType(wct.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.DATE)}}]})]})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:"var(--color-dark-grey-200)"})}),Dne.jsxs(xFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Dne.jsx(aLe,{isLoading:!0}),Dne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Dne.jsxs(Dne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Dne.jsx(Gwi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Dne.jsxs(rLe,{children:[Dne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Dne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&Dne.jsx(rLe,{children:"Initializing..."}),r.searchState.isInProgress&&Dne.jsx(rLe,{children:"Searching..."})]})]})]})})})})})});class jwi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=hb.create();searchState=hb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[wct.CLASS,wct.ENUMERATION,wct.STRING,wct.BOOLEAN,wct.NUMBER,wct.DATE];constructor(e){c_(this,{indexedExplorerTreeNodeMap:xy,searchText:xy,searchResults:xy,isOverSearchLimit:xy,isSearchPanelOpen:xy,isSearchPanelHidden:xy,showSearchConfigurationMenu:xy,includeOneMany:xy,typeFilters:xy,indexedExplorerTreeNodes:Ry,filteredSearchResults:Ry,search:Ov,resetSearch:Ov,setSearchResults:Ov,setIsOverSearchLimit:Ov,setSearchText:Ov,setShowSearchConfigurationMenu:Ov,setIsSearchPanelOpen:Ov,setIsSearchPanelHidden:Ov,setIncludeOneMany:Ov,setFilterOnlyType:Ov,toggleFilterForType:Ov,initialize:Ov}),this.queryBuilderState=e,this.searchConfigurationState=new uwi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new uC(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?Eo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof Qwi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof Zwi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof Zwi||t instanceof Qwi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof wS&&t.set(e.id,e),e)).filter(e=>!(e instanceof Zwi||e instanceof Qwi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(Vs).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof Zwi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=rxi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Mv(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=rxi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof Zwi||e instanceof Qwi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof Zwi||t instanceof Qwi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof Zwi||this.searchConfigurationState.includeSubTypes&&e instanceof Qwi)&&e.type instanceof wS&&((e instanceof Qwi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=txi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=nxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new uC(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof Zwi||e instanceof Qwi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof Qwi?Vwi(e.id):Bwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof Zwi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(wct.CLASS)&&e.type instanceof wS)||(!!(this.typeFilters.includes(wct.ENUMERATION)&&e.type instanceof RS)||(!(!this.typeFilters.includes(wct.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(wct.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(wct.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(wct.DATE)&&e.type instanceof gS&&[TC.DATE,TC.DATETIME,TC.STRICTDATE,TC.STRICTTIME,TC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var $wi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}($wi||($wi={}));const qwi=(e,t)=>`${e?`${e}.`:""}${t}`,Ywi=(e,t)=>`${e||""}${CC}${t}`;class Kwi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){c_(this,{isHighlighting:xy,isOpen:xy,isSelected:xy,setIsHighlighting:Ov,setIsOpen:Ov,setIsSelected:Ov}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class Xwi extends Kwi{}class Zwi extends Kwi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class Qwi extends Kwi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}const Jwi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new ME(n??Sct,nS.ONE),o=new KE("");Gct(o,zS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof Zwi||l instanceof Qwi);){if(l instanceof Qwi&&c instanceof Qwi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof Qwi?e=new YE(sS(Nct.SUBTYPE)):l instanceof Zwi&&l.mappingData.entityMappedProperty?.subType?(e=new YE(sS(Nct.SUBTYPE)),a.parametersValues.push(e),a=e,e=new KE(""),Gct(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new KE(""),Gct(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof YE&&lS(a.functionName,Nct.SUBTYPE)){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof Zwi||l instanceof Qwi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof Zwi||c instanceof Qwi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof YE){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}return o},exi=e=>{const t=e.type,n=(e instanceof Qwi?Yw(t):jw(t).concat($w(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},txi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof wS||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof vJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof vJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof Zwi&&t.property instanceof US;if(e instanceof AS&&t instanceof Zwi&&t.property instanceof AS&&e._OWNER instanceof NS&&t.property._OWNER instanceof NS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof wS?Ww(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new Zwi(o?Ywi(qwi(t instanceof Xwi?"":t.id,e.name),o.path):qwi(t instanceof Xwi?"":t.id,e.name),e.name,`${t instanceof Xwi?`${bC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=qwi(t instanceof Xwi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof wS&&(a.childrenIds=exi(a)),a},nxi=(e,t,n)=>{const i=new Qwi(Ywi(t instanceof Xwi?"":t.id,e.path),e.name,""+(t instanceof Xwi?`${bC}${Sct}->${sS(Nct.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS(Nct.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Ww(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof vJ&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof Zwi?t.property.multiplicity:t instanceof Qwi?t.multiplicity:nS.ONE);return i.childrenIds=exi(i),i},ixi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new Xwi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),jw(e).concat($w(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof wS?2:t instanceof RS?1:0)-(e instanceof wS?2:e instanceof RS?1:0)).forEach(e=>{const n=txi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=nxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},rxi=e=>{if(e instanceof Xwi)return new Xwi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof Zwi)return new Zwi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof Qwi)return new Qwi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class sxi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){c_(this,{previewData:xy.ref,isGeneratingPreviewData:xy,propertyName:xy,previewDataAbortController:xy,setPropertyName:Ov,setIsGeneratingPreviewData:Ov,setPreviewData:Ov,setPreviewDataAbortController:Ov})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class oxi{queryBuilderState;previewDataState=new sxi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=hb.create();mappingModelCoverageAnalysisResult;constructor(e){c_(this,{treeData:xy.ref,humanizePropertyName:xy,showUnmappedProperties:xy,highlightUsedProperties:xy,mappingModelCoverageAnalysisResult:xy,setTreeData:Ov,refreshTree:Ov,refreshTreeData:Ov,setHumanizePropertyName:Ov,setShowUnmappedProperties:Ov,setHighlightUsedProperties:Ov,highlightTreeNode:Ov,analyzeMappingModelCoverage:Xv,previewData:Xv}),this.queryBuilderState=e,this.propertySearchState=new jwi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?ixi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof Zwi||e instanceof Qwi)&&e.type instanceof wS&&((e instanceof Qwi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=txi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=nxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&vo(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof Zwi||t instanceof Qwi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof Zwi||e instanceof Qwi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),Cct.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new pb,t=Z5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());Cct.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.class||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=Jwi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,awi),r=i.aggregationState;return cwi.forEach(e=>{const n=dwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,NZ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case TC.BOOLEAN:case TC.STRING:case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,awi),r=dwi(i,t,"Value"),s=dwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof YCi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new tSi(s);return a.sortType=Ict.DESC,i.resultSetModifierState.sortColumns=[a,new tSi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,NZ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var axi="4.17.66",lxi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const cxi=(e,t,n,i)=>{Ws(e,oA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],nA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof uA&&2===s.parameters.length&&lS(s.function,Nct.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new DK(n,i,t));for(Ws(s,WA,"Can't build projection column: only support lambda body as property expression");s instanceof WA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof uA&&lS(s.function,Nct.SUBTYPE);)s=s.parameters[0];return Ws(s,nA,"Can't build projection column: only support lambda body as property expression"),Ks(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new DK(n,i,t))},dxi=(e,t,n,i)=>{Ws(e,uA,"Can't build aggregation: only support function"),Ks(lS(e.function,Nct.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],oA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof uA&&lS(r.body[0].function,Object.values(Tct))?Xr(()=>((e,t,n,i)=>{Ws(e,oA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],nA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],uA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(Tct)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],WA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],fA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(nwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],UT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new DK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new DK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new DK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new DK(n,i,t)))??new LE(LI(d,n.extensions.plugins)),h=LK([a,l,c,u],s.function,n),p=new QE,g=new XE(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new ME(r.name,nS.ONE));const m=new ZE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new LE(LI(r,n.extensions.plugins)):Xr(()=>cxi(r,t,n,i))??new LE(LI(r,n.extensions.plugins));const o=js(e.parameters[1],oA).accept_ValueSpecificationVisitor(new DK(n,i,t));return LK([s,o],sS(Nct.TDS_AGG),n)},uxi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,DR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(oA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jE(nS.ONE),u=new WE;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new HE;let s;const o=js(e.function1,UT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=cxi(o,n,i,r)}catch{s=new LE(LI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof QE){const t=e.values[0]?.expressionSequence[0];return t instanceof KE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new CS(e.name,yS.create(new ES(a)))),t});const p=LK([o,d],e,i),g=new ES(NK.INSTANCE),m=new ES(h);return g.typeArguments=[yS.create(m)],p.genericType=yS.create(g),p},hxi=(e,t,n,i,r)=>{const s=js(e,uA,"Can't build tds col func: only support applied function");Ks(lS(s.function,Nct.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],oA,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new ME(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=cxi(o,n,i,r)}catch{a=new LE(LI(o,i.extensions.plugins))}js(s.parameters[1],fA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new DK(i,r,n));return LK([a,l],s.function,i)},pxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof hA){const e=new VE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>hxi(e,s,n,i,r)),a=e}else Ws(o,uA,"Can't build project() expression: project() expects argument #2 to be a function"),a=hxi(o,s,n,i,r);const l=LK([s,a],e,i);return l.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return uxi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof oA?o=l.parameters:(Ws(l,hA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(oA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof oA?[l]:l.values,d.values=u.map(e=>{try{return cxi(e,n,i,r)}catch{return new LE(LI(e,i.extensions.plugins))}});const h=LK([a,d,t[2].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),h},gxi=(e,t,n,i,r)=>e===Nct.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,YE);if(o.functionName!==sS(Nct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,DR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,DR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new jE(nS.ONE),g=new WE;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new HE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jE(nS.ONE),y=new WE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new HE;t.name=e.name;const s=js(e.function1,oA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=cxi(s,n,i,r);t.function1=o;const a=js(e.function2,oA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new DK(i,r,n)),QE,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new CS(e.name,c)),t});const v=LK([s,p,f],e,i),_=new ES(NK.INSTANCE),b=new ES(m);return _.typeArguments=[yS.create(b)],v.genericType=yS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,hA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(oA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,hA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof uA&&lS(e.function,Nct.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(oA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return cxi(e,n,i,r)}catch{return new LE(LI(e,i.extensions.plugins))}});const u=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>dxi(e,n,i,r));const h=LK([o,d,u,t[3].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),h})(e,t,n,i,r);class mxi extends Iee{constructor(){super(lxi.pureProtocolProcessorPlugin,axi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,Act.GET_ALL))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,Act.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,Act.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,[Nct.FILTER,Nct.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));if(s.genericType){const e=t[1];e instanceof oA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=LK([s,t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,Nct.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));s.genericType=js(s,KE).func.value.genericType;const o=t[1];return o instanceof oA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),LK([s,t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,Nct.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof oA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))),l=a.genericType?.value.rawType;Ks(gS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=LK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT]))return pxi(e,t,n,i,r);if(lS(e,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY]))return gxi(e,t,n,i,r);if(lS(e,Nct.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof uA?js(d.parameters[1],oA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,oA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new ME(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(m),o++;const f=LK(s,e,i);return f.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[Nct.TODAY,Nct.FIRST_DAY_OF_QUARTER])){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.STRICTDATE)),s}if(lS(e,Nct.NOW)){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATETIME)),s}if(lS(e,[Nct.FIRST_DAY_OF_THIS_YEAR,Nct.FIRST_DAY_OF_YEAR,Nct.FIRST_DAY_OF_THIS_MONTH,Nct.FIRST_DAY_OF_MONTH,Nct.FIRST_DAY_OF_WEEK,Nct.PREVIOUS_DAY_OF_WEEK,Nct.ADJUST])){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATE)),s}return lS(e,Object.values(Nct))||lS(e,Object.values(Tct))?MK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof YE&&lS(e.functionName,sS(Nct.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType)(e)}]}}class fxi{mapping;runtimes=[]}class yxi{service;executionKeys}class vxi extends aT{}class _xi extends vxi{constructor(e){super(e),this.graphManager=js(e,W3)}getSupportedProtocolVersion(){return WH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===eG||e.content._type===_R),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(PD))).flat(),o=new HK(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new k$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs(jA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new qj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof qH?e:new qH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new HK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(PD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new k$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(jA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new qj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new fxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...AY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(zs(OO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new yxi;i.service=t,e.execution instanceof kO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const bxi=e=>new _xi(e);class Cxi extends xee{constructor(){super(lxi.pureGraphManagerPlugin,axi)}getExtraPureGraphManagerExtensionBuilders(){return[bxi]}getExtraExposedSystemElementPath(){return[xct.TDS_TABULAR_DATASET,xct.TDS_ROW,xct.TDS_COLUMN]}}class Sxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Qg(Lg(Sxi,{TEMPORARY__disableQueryBuilderChat:Kg(Mg()),TEMPORARY__enableExportToCube:Kg(Mg()),TEMPORARY__enableGridEnterpriseMode:Kg(Mg()),legendAIServiceURL:Kg(Mg()),legendMCPServiceURL:Kg(Mg()),zipkinTraceBaseURL:Kg(Mg()),enableTypedTDS:Kg(Mg())}))}const Exi=e=>{let t=e;for(;t instanceof KE;)for(t=Gs(t.parametersValues[0]);t instanceof YE&&lS(t.functionName,Nct.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,ME)},wxi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[Nct.AND,Nct.OR])){const r=new TSi(n,dSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,xSi).lambdaParameterName),e.parametersValues.forEach(e=>wxi(js(e,YE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!lS(e.functionName,[Nct.EXISTS])){const n=e.parametersValues[0];if(n instanceof KE){const e=n.parametersValues[0];e instanceof KE&&ndt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Exi(r.propertyExpressionState.propertyExpression).name,n=i instanceof xSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${sS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new RSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],KE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new ASi(t,n),o=js(e.parametersValues[1],QE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],ZE),l=js(a.expressionSequence[0],YE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),wxi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,Nct.EXISTS);){const e=Gs(js(s.parametersValues[1],QE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],YE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],ME,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof KE)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=js(e.parametersValues[0],KE);let a=new KE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS(Nct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof YE&&e.parametersValues[0]instanceof KE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof KE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof ME)return a;return e}),wxi(s,t,n)}}}},xxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,QE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],YE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],ME,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),wxi(s,n,void 0),n.simplifyTree()};class Txi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){c_(this,{hashCode:Ry}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return bg([odt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",bg(this.childrenIds)])}}const Axi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,Nxi=(e,t,n)=>{Ws(e,nw,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new Txi(Axi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Nxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Rxi=(e,t,n)=>{const i=t?.id,r=new Txi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Nxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Ixi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Rxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Nxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Dxi=e=>0===e.tree.subTrees.length,kxi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nw&&t.type instanceof wS&&0===t.childrenIds.length||t.tree instanceof nw&&!(t.type instanceof wS)&&t.parentId&&!e.nodes.has(t.parentId)),Oxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(Eo(n.childrenIds,t.id),$ct(n.tree,t.tree)):(Eo(e.rootIds,t.id),$ct(e.tree,t.tree)),e.nodes.delete(t.id)},Lxi=(e,t)=>{Oxi(e,t),(e=>{let t=kxi(e);for(;t.length;)t.forEach(t=>{Oxi(e,t)}),t=kxi(e)})(e)},Mxi=(e,t,n,i)=>{const r=[new nw(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof Zwi||l instanceof Qwi;){let e,n=!1;for(;l instanceof Qwi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof Zwi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof wS&&(e=XC.create(l.type)),!(l instanceof Zwi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nw(zS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Axi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Nxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),jct(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),jct(e.tree,t.tree,i.observerContext))}},Pxi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof Hxi){if(e.treeData&&!Dxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(xct.SERIALIZE_CONFIG),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new PE(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new FE(yS.create(new ES(gS.STRING)));s.values=[""];const o=new VE(nS.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new GE,r=new FE(yS.create(new ES(gS.STRING)));r.values=[n];const s=new FE(yS.create(new ES(t.genericType.value.rawType)));s.values=[e[n]];const a=new UE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new nS(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new rw;r.values=[e];const s=new YE(sS(Nct.SERIALIZE)),o=new YE(sS(t?Nct.GRAPH_FETCH_CHECKED:Nct.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof zxi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new YE(sS(Nct.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Dxi(i)&&!Dxi(o)){const a=new rw;a.values=[i.tree];const l=new YE(e.isChecked?sS(Nct.GRAPH_FETCH_CHECKED):sS(Nct.GRAPH_FETCH));l.parametersValues=[r,a];const c=new PE(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rw;d.values=[o.tree],n.parametersValues=[l,c,d],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof YE&&lS(n.functionName,Nct.SERIALIZE)){const i=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t];const r=new YE(sS(Nct.TAKE)),s=js(n.parametersValues[0],YE),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var Fxi,Bxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(Fxi||(Fxi={})),function(e){e.RESULT="RESULT"}(Bxi||(Bxi={}));const Vxi="@type";class Uxi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=Vxi,c_(this,{typeKeyName:xy,includeType:xy,includeEnumType:xy,dateTimeFormat:xy,removePropertiesWithNullValues:xy,removePropertiesWithEmptySets:xy,fullyQualifiedTypePath:xy,includeObjectReference:xy,setTypeName:Ov,setIncludeObjectReference:Ov,setDateTimeFormat:Ov,setIncludeType:Ov,setFullyQualifiedTypePath:Ov,setRemovePropertiesWithEmptySets:Ov,setInclueEnumType:Ov,setRemovePropertiesWithNullValues:Ov})}static createDefault(){const e=new Uxi;return e.typeKeyName=Vxi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class Gxi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class Hxi extends Gxi{config;configModal=!1;constructor(e){super(e),c_(this,{config:xy,configModal:xy,setConfigModal:Ov})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return Fxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class zxi extends Gxi{targetBinding;treeData;constructor(e,t,n){super(e),c_(this,{targetBinding:xy,treeData:xy.ref,serializationContentType:Ry,setGraphFetchTree:Ov}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Mxi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return Fxi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class Wxi extends rSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),c_(this,{treeData:xy.ref,isChecked:xy,serializationState:xy,TEMPORARY__showPostFetchStructurePanel:Ry,setGraphFetchTree:Ov,setSerializationState:Ov,setChecked:Ov,initialize:Ov,checkBeforeChangingImplementation:Ov}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new Hxi(this)}get type(){return iSi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof tw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nw&&(a=r.tree.property.value.name);const l=qwi(o,a);t.push(l),r.tree instanceof nw&&r.tree.subType?(s=Ywi(l,r.tree.subType.value.path),zw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(Ywi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?Ixi(new tw(XC.create(e))):void 0)}get exportDataFormatOptions(){return[Bxi.RESULT]}getExportDataInfo(e){if(e===Bxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Pxi(this,e,t)}addProperty(e,t){this.treeData?(Mxi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof zxi&&this.serializationState.addProperty(On(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nw)return t.tree.parameters.find(t=>rdt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return bg([odt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const jxi=(e,t)=>()=>{t.implementation.type!==e&&(Cct.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class $xi{queryBuilderState;implementation;constructor(e){c_(this,{implementation:xy,changeImplementation:Ov,initializeWithQuery:Ov}),this.queryBuilderState=e,this.implementation=new awi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case iSi.TABULAR_DATA_STRUCTURE:this.implementation=new awi(this.queryBuilderState,this);break;case iSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new Wxi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof Zwi&&!(e.type instanceof wS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof wS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(Zwi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped))}}class qxi{lambda;constructor(e){this.lambda=e,c_(this,{lambda:xy,setLambda:Ov})}setLambda(e){this.lambda=e}}var Yxi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(Yxi||(Yxi={}));class Kxi extends PCi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=hb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),c_(this,{rawLambdaState:xy,isConvertingLambdaToString:xy,mode:xy,isReadOnly:xy,setQueryRawLambdaState:Ov,setIsReadOnly:Ov,setMode:Ov,openModal:Ov,closeModal:Xv}),this.queryBuilderState=e,this.rawLambdaState=new qxi(pj())}get lambdaId(){return Bee(["query-builder"])}get text(){return this.mode===Yxi.TEXT?this.fullLambdaString:this.mode===Yxi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=pj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new DE(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===Yxi.TEXT&&this.setQueryRawLambdaState(new qxi(n)),e===Yxi.JSON&&this.setLambdaJson(JSON.stringify(pS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===Yxi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const Xxi=Sse(e=>{const{resultType:t}=e;let n="";return t.type instanceof ZC&&(n=t.type.input??""),""===n?Dne.jsx(Dne.Fragment,{}):Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsx(XOe,{className:"query-builder__result__container__item__data-type",children:Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Dne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Dne.jsx(QOe,{})]})}),Zxi=Sse(e=>{const{resultType:t}=e;return Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsx(XOe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__result__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Label"}),Dne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Dne.jsx("tbody",{children:t.tdsColumns.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.name}),Dne.jsx("td",{className:"table__cell--left",children:e.type instanceof ZC&&(e.type.input??"")})]},e.name))})]}),Dne.jsx(QOe,{})]})}),Qxi=Sse(e=>{const{resultType:t}=e;return Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsxs(XOe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Dne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.property}),Dne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Dne.jsx(QOe,{})]})}),Jxi=Sse(e=>{const{resultType:t}=e;return t instanceof q1?Dne.jsx(Xxi,{resultType:t}):t instanceof Y1?Dne.jsx(Zxi,{resultType:t}):t instanceof A2?Dne.jsx(Qxi,{resultType:t}):null}),eTi=e=>{e.dispose(),e.getModel()?.dispose()},tTi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:d,lineToScroll:u,extraEditorOptions:h,error:p}=e,g=Aat(),[m,f]=n.useState(),[y,v]=n.useState(!1),_=n.useRef(void 0),b=HTn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Wrn.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??NTn.BUILT_IN__VSCODE_LIGHT:NTn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});f(t)}},[g,r,c,m]),n.useEffect(()=>{if(m){zTn(m);const e=m.getModel();e&&Wrn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){_.current?.dispose(),_.current=m.onDidChangeModelContent(()=>{const e=BTn(m);e!==b&&i?.(e)});BTn(m)!==b&&m.setValue(b),m.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=m.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?UTn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):GTn())}return n.useEffect(()=>()=>{m&&(eTi(m),_.current?.dispose())},[m]),Dne.jsxs("div",{className:"code-editor",children:[!d&&Dne.jsx("div",{className:"code-editor__header",children:Dne.jsx("button",{tabIndex:-1,className:Tse("code-editor__header__action",{"code-editor__header__action--active":y}),onClick:()=>{const e=!y;v(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${y?"on":"off"}] Toggle word wrap`,children:Dne.jsx(uie,{})})}),Dne.jsx("div",{className:Tse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Dne.jsx("div",{className:"code-editor__body",ref:C})})]})},nTi=Sse(e=>{const{from:t,to:i,language:r}=e,s=Aat(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Wrn.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?NTn.BUILT_IN__VSCODE_LIGHT:NTn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Wrn.createModel(c,r),t=Wrn.createModel(d,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Dne.jsx("div",{className:"code-editor__container",children:Dne.jsx("div",{className:"code-editor__body",ref:l})})}),iTi=(e,t)=>e?Xs(e)?t?wp(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Ep(e,void 0,2):JSON.stringify(e,void 0,2):"",rTi=Sse(e=>{const{from:t,to:n,lossless:i}=e;return Dne.jsx(nTi,{language:WTn.JSON,from:iTi(t,Boolean(i)),to:iTi(n,Boolean(i))})});var sTi,oTi={exports:{}},aTi=oTi.exports;var lTi=(sTi||(sTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(aTi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(oTi)),oTi.exports),cTi=Qr(lTi),dTi=Object.defineProperty,uTi=Object.defineProperties,hTi=Object.getOwnPropertyDescriptors,pTi=Object.getOwnPropertySymbols,gTi=Object.prototype.hasOwnProperty,mTi=Object.prototype.propertyIsEnumerable,fTi=(e,t,n)=>t in e?dTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yTi=(e,t)=>{for(var n in t||(t={}))gTi.call(t,n)&&fTi(e,n,t[n]);if(pTi)for(var n of pTi(t))mTi.call(t,n)&&fTi(e,n,t[n]);return e},vTi=(e,t)=>uTi(e,hTi(t)),_Ti={};((e,t)=>{for(var n in t)dTi(e,n,{get:t[n],enumerable:!0})})(_Ti,{bigquery:()=>WTi,db2:()=>eAi,db2i:()=>lAi,hive:()=>fAi,mariadb:()=>xAi,mysql:()=>OAi,n1ql:()=>YAi,plsql:()=>nNi,postgresql:()=>dNi,redshift:()=>vNi,singlestoredb:()=>hRi,snowflake:()=>bRi,spark:()=>TNi,sql:()=>HNi,sqlite:()=>LNi,tidb:()=>GAi,transactsql:()=>rRi,trino:()=>XNi});var bTi=e=>e.flatMap(CTi),CTi=e=>RTi(ETi(e)).map(STi),STi=e=>e.replace(/ +/g," ").trim(),ETi=e=>({type:"mandatory_block",items:wTi(e,0)[0]}),wTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=xTi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},xTi=(e,t)=>{const n=[];for(;;){const[i,r]=TTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},TTi=(e,t)=>{if("{"===e[t])return ATi(e,t+1);if("["===e[t])return NTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},ATi=(e,t)=>{const[n,i]=wTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},NTi=(e,t)=>{const[n,i]=wTi(e,t,"]");return[{type:"optional_block",items:n},i]},RTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(RTi).reduce(ITi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(RTi);if("optional_block"===e.type)return["",...e.items.flatMap(RTi)];throw new Error(`Unknown node type: ${e}`)},ITi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},DTi=(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.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_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))(DTi||{}),kTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),OTi=kTi(1/0),LTi=e=>t=>t.type===e.type&&t.text===e.text,MTi={ARRAY:LTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:LTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:LTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:LTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:LTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:LTi({text:"VALUES",type:"RESERVED_CLAUSE"})},PTi=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"===e,FTi=bTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),BTi=bTi(["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"]),VTi=bTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),UTi=bTi(["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"]),GTi=bTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),HTi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),zTi=bTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),WTi={name:"bigquery",tokenizerOptions:{reservedSelect:FTi,reservedClauses:[...BTi,...UTi,...VTi],reservedSetOperations:GTi,reservedJoins:HTi,reservedPhrases:zTi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["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"],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:function(e){return function(e){let t=OTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,vTi(yTi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((MTi.ARRAY(r)||MTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=$Ti(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(jTi("raw")).join(""),text:s.map(jTi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...VTi,...UTi],tabularOnelineClauses:UTi}};var jTi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function $Ti(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var qTi=bTi(["SELECT [ALL | DISTINCT]"]),YTi=bTi(["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"]),KTi=bTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),XTi=bTi(["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"]),ZTi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),QTi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),JTi=bTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),eAi={name:"db2",tokenizerOptions:{reservedSelect:qTi,reservedClauses:[...YTi,...KTi,...XTi],reservedSetOperations:ZTi,reservedJoins:QTi,reservedPhrases:JTi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[...KTi,...XTi],tabularOnelineClauses:XTi}},tAi=bTi(["SELECT [ALL | DISTINCT]"]),nAi=bTi(["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"]),iAi=bTi(["CREATE [OR REPLACE] TABLE"]),rAi=bTi(["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}"]),sAi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),oAi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),aAi=bTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),lAi={name:"db2i",tokenizerOptions:{reservedSelect:tAi,reservedClauses:[...nAi,...iAi,...rAi],reservedSetOperations:sAi,reservedJoins:oAi,reservedPhrases:aAi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[...iAi,...rAi],tabularOnelineClauses:rAi}},cAi=bTi(["SELECT [ALL | DISTINCT]"]),dAi=bTi(["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"]),uAi=bTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),hAi=bTi(["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"]),pAi=bTi(["UNION [ALL | DISTINCT]"]),gAi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),mAi=bTi(["{ROWS | RANGE} BETWEEN"]),fAi={name:"hive",tokenizerOptions:{reservedSelect:cAi,reservedClauses:[...dAi,...uAi,...hAi],reservedSetOperations:pAi,reservedJoins:gAi,reservedPhrases:mAi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["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"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...uAi,...hAi],tabularOnelineClauses:hAi}};function yAi(e){return e.map((t,n)=>{const i=e[n+1]||OTi;if(MTi.SET(t)&&"("===i.text)return vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||OTi;return MTi.VALUES(t)&&"="===r.text?vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var vAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),_Ai=bTi(["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"]),bAi=bTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),CAi=bTi(["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"]),SAi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),EAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),wAi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),xAi={name:"mariadb",tokenizerOptions:{reservedSelect:vAi,reservedClauses:[..._Ai,...bAi,...CAi],reservedSetOperations:SAi,reservedJoins:EAi,reservedPhrases:wAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{onelineClauses:[...bAi,...CAi],tabularOnelineClauses:CAi}},TAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),AAi=bTi(["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"]),NAi=bTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),RAi=bTi(["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"]),IAi=bTi(["UNION [ALL | DISTINCT]"]),DAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),kAi=bTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),OAi={name:"mysql",tokenizerOptions:{reservedSelect:TAi,reservedClauses:[...AAi,...NAi,...RAi],reservedSetOperations:IAi,reservedJoins:DAi,reservedPhrases:kAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{onelineClauses:[...NAi,...RAi],tabularOnelineClauses:RAi}},LAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),MAi=bTi(["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"]),PAi=bTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),FAi=bTi(["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 INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","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 TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),BAi=bTi(["UNION [ALL | DISTINCT]"]),VAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),UAi=bTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),GAi={name:"tidb",tokenizerOptions:{reservedSelect:LAi,reservedClauses:[...MAi,...PAi,...FAi],reservedSetOperations:BAi,reservedJoins:VAi,reservedPhrases:UAi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","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","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","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_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","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","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],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:yAi},formatOptions:{onelineClauses:[...PAi,...FAi],tabularOnelineClauses:FAi}},HAi=bTi(["SELECT [ALL | DISTINCT]"]),zAi=bTi(["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"]),WAi=bTi(["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"]),jAi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),$Ai=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),qAi=bTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),YAi={name:"n1ql",tokenizerOptions:{reservedSelect:HAi,reservedClauses:[...zAi,...WAi],reservedSetOperations:jAi,reservedJoins:$Ai,reservedPhrases:qAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:[],reservedFunctionNames:["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"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:WAi}},KAi=bTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),XAi=bTi(["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"]),ZAi=bTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),QAi=bTi(["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"]),JAi=bTi(["UNION [ALL]","MINUS","INTERSECT"]),eNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),tNi=bTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),nNi={name:"plsql",tokenizerOptions:{reservedSelect:KAi,reservedClauses:[...XAi,...ZAi,...QAi],reservedSetOperations:JAi,reservedJoins:eNi,reservedPhrases:tNi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=OTi;return e.map(e=>MTi.SET(e)&&MTi.BY(t)?vTi(yTi({},e),{type:"RESERVED_KEYWORD"}):(PTi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...ZAi,...QAi],tabularOnelineClauses:QAi}};var iNi=bTi(["SELECT [ALL | DISTINCT]"]),rNi=bTi(["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","DEFAULT VALUES","SET","RETURNING"]),sNi=bTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),oNi=bTi(["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 [OR REPLACE] 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 IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","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","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","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"]),aNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),lNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),cNi=bTi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),dNi={name:"postgresql",tokenizerOptions:{reservedSelect:iNi,reservedClauses:[...rNi,...sNi,...oNi],reservedSetOperations:aNi,reservedJoins:lNi,reservedPhrases:cNi,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["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","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"],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:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...sNi,...oNi],tabularOnelineClauses:oNi}},uNi=bTi(["SELECT [ALL | DISTINCT]"]),hNi=bTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),pNi=bTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),gNi=bTi(["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"]),mNi=bTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),fNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),yNi=bTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),vNi={name:"redshift",tokenizerOptions:{reservedSelect:uNi,reservedClauses:[...hNi,...pNi,...gNi],reservedSetOperations:mNi,reservedJoins:fNi,reservedPhrases:yNi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["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"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pNi,...gNi],tabularOnelineClauses:gNi}},_Ni=bTi(["SELECT [ALL | DISTINCT]"]),bNi=bTi(["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"]),CNi=bTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),SNi=bTi(["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"]),ENi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),wNi=bTi(["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"]),xNi=bTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),TNi={name:"spark",tokenizerOptions:{reservedSelect:_Ni,reservedClauses:[...bNi,...CNi,...SNi],reservedSetOperations:ENi,reservedJoins:wNi,reservedPhrases:xNi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:function(e){return e.map((t,n)=>{const i=e[n-1]||OTi,r=e[n+1]||OTi;return MTi.WINDOW(t)&&"OPEN_PAREN"===r.type?vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:vTi(yTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...CNi,...SNi],tabularOnelineClauses:SNi}};var ANi=bTi(["SELECT [ALL | DISTINCT]"]),NNi=bTi(["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"]),RNi=bTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),INi=bTi(["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"]),DNi=bTi(["UNION [ALL]","EXCEPT","INTERSECT"]),kNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ONi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),LNi={name:"sqlite",tokenizerOptions:{reservedSelect:ANi,reservedClauses:[...NNi,...RNi,...INi],reservedSetOperations:DNi,reservedJoins:kNi,reservedPhrases:ONi,reservedKeywords:["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","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"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["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"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...RNi,...INi],tabularOnelineClauses:INi}},MNi=bTi(["SELECT [ALL | DISTINCT]"]),PNi=bTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),FNi=bTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),BNi=bTi(["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"]),VNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),UNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),GNi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),HNi={name:"sql",tokenizerOptions:{reservedSelect:MNi,reservedClauses:[...PNi,...FNi,...BNi],reservedSetOperations:VNi,reservedJoins:UNi,reservedPhrases:GNi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","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","DESC","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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...FNi,...BNi],tabularOnelineClauses:BNi}},zNi=bTi(["SELECT [ALL | DISTINCT]"]),WNi=bTi(["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"]),jNi=bTi(["CREATE TABLE [IF NOT EXISTS]"]),$Ni=bTi(["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"]),qNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),YNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),KNi=bTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),XNi={name:"trino",tokenizerOptions:{reservedSelect:zNi,reservedClauses:[...WNi,...jNi,...$Ni],reservedSetOperations:qNi,reservedJoins:YNi,reservedPhrases:KNi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...jNi,...$Ni],tabularOnelineClauses:$Ni}},ZNi=bTi(["SELECT [ALL | DISTINCT]"]),QNi=bTi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),JNi=bTi(["CREATE TABLE"]),eRi=bTi(["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","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","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"]),tRi=bTi(["UNION [ALL]","EXCEPT","INTERSECT"]),nRi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),iRi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),rRi={name:"transactsql",tokenizerOptions:{reservedSelect:ZNi,reservedClauses:[...QNi,...JNi,...eRi],reservedSetOperations:tRi,reservedJoins:nRi,reservedPhrases:iRi,reservedKeywords:["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","$ACTION"],reservedDataTypes:["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"],reservedFunctionNames:["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","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","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"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...JNi,...eRi],tabularOnelineClauses:eRi}},sRi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),oRi=bTi(["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"]),aRi=bTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),lRi=bTi(["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"]),cRi=bTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),dRi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),uRi=bTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),hRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:sRi,reservedClauses:[...oRi,...aRi,...lRi],reservedSetOperations:cRi,reservedJoins:dRi,reservedPhrases:uRi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...aRi,...lRi],tabularOnelineClauses:lRi}},pRi=bTi(["SELECT [ALL | DISTINCT]"]),gRi=bTi(["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"]),mRi=bTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),fRi=bTi(["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"]),yRi=bTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),vRi=bTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),_Ri=bTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),bRi={name:"snowflake",tokenizerOptions:{reservedSelect:pRi,reservedClauses:[...gRi,...mRi,...fRi],reservedSetOperations:yRi,reservedJoins:vRi,reservedPhrases:_Ri,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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","FILTER","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","GREATEST_IGNORE_NULLS","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"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...mRi,...fRi],tabularOnelineClauses:fRi}},CRi=e=>e[e.length-1],SRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),ERi=e=>e.replace(/\s+/gu," "),wRi=e=>/\n/.test(e),xRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),TRi=/\s+/uy,ARi=e=>new RegExp(`(?:${e})`,"uy"),NRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),RRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return ARi(i.map(xRi).join("|"))},IRi=e=>ARi(`${SRi(e).map(xRi).join("|")}`),DRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=SRi(e).map(xRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},kRi=(e,t)=>{if(!e.length)return;const n=e.map(xRi).join("|");return ARi(`(?:${n})(?:${t})`)},ORi={"``":"(?:`[^`]*`)+","[]":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`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,xRi(e)).replace(/{right}/g,xRi(t))),n=xRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},LRi=e=>"string"==typeof e?ORi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(NRi).join("|")}${t?"":"|"})`)(e)+ORi[e.quote],MRi=e=>e.map(LRi).join("|"),PRi=e=>ARi(MRi(e)),FRi=(e={})=>ARi(BRi(e)),BRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=xRi(null!=e?e:""),a=xRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function VRi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var URi=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 n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(vTi(yTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=VRi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){TRi.lastIndex=this.index;const e=TRi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},GRi=/\/\*/uy,HRi=/[\s\S]/uy,zRi=/\*\//uy,WRi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(GRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(GRi,e))n+=t,i++;else if(t=this.matchSection(zRi,e))n+=t,i--;else{if(!(t=this.matchSection(HRi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},jRi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new URi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new WRi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(xRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:PRi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:DRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:$Ri},{type:"CASE",regex:/CASE\b/iuy,text:$Ri},{type:"END",regex:/END\b/iuy,text:$Ri},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:$Ri},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:$Ri},{type:"RESERVED_CLAUSE",regex:DRi(e.reservedClauses,e.identChars),text:$Ri},{type:"RESERVED_SELECT",regex:DRi(e.reservedSelect,e.identChars),text:$Ri},{type:"RESERVED_SET_OPERATION",regex:DRi(e.reservedSetOperations,e.identChars),text:$Ri},{type:"WHEN",regex:/WHEN\b/iuy,text:$Ri},{type:"ELSE",regex:/ELSE\b/iuy,text:$Ri},{type:"THEN",regex:/THEN\b/iuy,text:$Ri},{type:"RESERVED_JOIN",regex:DRi(e.reservedJoins,e.identChars),text:$Ri},{type:"AND",regex:/AND\b/iuy,text:$Ri},{type:"OR",regex:/OR\b/iuy,text:$Ri},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:$Ri},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:DRi(e.reservedFunctionNames,e.identChars),text:$Ri},{type:"RESERVED_DATA_TYPE",regex:DRi(e.reservedDataTypes,e.identChars),text:$Ri},{type:"RESERVED_KEYWORD",regex:DRi(e.reservedKeywords,e.identChars),text:$Ri}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,ARi(i.map(e=>"regex"in e?e.regex:LRi(e)).join("|"))):void 0},{type:"STRING",regex:PRi(e.stringTypes)},{type:"IDENTIFIER",regex:FRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:RRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:RRi("close",e.extraParens)},{type:"OPERATOR",regex:IRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:IRi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:kRi(a.named,BRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:kRi(a.quoted,MRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(xRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:kRi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:ARi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},$Ri=e=>ERi(e.toUpperCase()),qRi=new Map,YRi=e=>({tokenizer:new jRi(e.tokenizerOptions,e.name),formatOptions:KRi(e.formatOptions)}),KRi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function XRi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var ZRi=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 QRi(e){return e.map(JRi).map(eIi).map(tIi).map(nIi).map(iIi)}var JRi=(e,t,n)=>{if(PTi(e.type)){const i=rIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw});const r=sIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},eIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=sIi(n,t);if(!i||!oIi(i))return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},tIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=sIi(n,t);if(i&&oIi(i))return vTi(yTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},nIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=sIi(n,t);if(i&&aIi(i))return vTi(yTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},iIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=sIi(n,t);if(i&&aIi(i))return vTi(yTi({},e),{type:"ARRAY_KEYWORD"})}return e},rIi=(e,t)=>sIi(e,t,-1),sIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&lIi(e[t+i*n]);)i++;return e[t+i*n]},oIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,aIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,lIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,cIi=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:n}=VRi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in DTi}};function dIi(e){return e[0]}var uIi=new cIi(e=>[]),hIi=([[e]])=>e,pIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),gIi=e=>({type:"data_type",text:e.text,raw:e.raw}),mIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=vTi(yTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=vTi(yTi({},e),{trailingComments:n})),e),fIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[mIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,mIi(i,{trailing:n})]}return e},yIi={Lexer:uIi,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:[uIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[uIi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{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:hIi},{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:[uIi.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:dIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[uIi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:mIi(pIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:mIi(pIi(e),{trailing:t}),count:n}}},{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:[uIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:pIi(e),children:[t,...n]})},{name:"select_clause",symbols:[uIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:pIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[uIi.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:[uIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:pIi(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:[uIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:pIi(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:dIi},{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])=>mIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>mIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>mIi(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:hIi},{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:hIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:hIi},{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:hIi},{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:hIi},{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:hIi},{name:"array_subscript",symbols:[uIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:mIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[uIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:mIi(pIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[uIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:mIi(pIi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({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,n])=>({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,n])=>({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","_",uIi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:mIi(e,{trailing:t}),operator:n.text,property:mIi(r,{leading:i})})},{name:"between_predicate",symbols:[uIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",uIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:pIi(e),expr1:fIi(n,{leading:t,trailing:i}),andKw:pIi(r),expr2:[mIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:dIi},{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:[uIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",uIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:mIi(pIi(e),{trailing:t}),endKw:pIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[uIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",uIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:mIi(pIi(e),{trailing:t}),thenKw:mIi(pIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[uIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:mIi(pIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[uIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[uIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[uIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[uIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[uIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[uIi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[uIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.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:[uIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[uIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>pIi(e)},{name:"data_type$subexpression$1",symbols:[uIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"data_type",symbols:[uIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:mIi(gIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[uIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[uIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[uIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>pIi(e)},{name:"other_keyword$subexpression$1",symbols:[uIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>pIi(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:[uIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[uIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[uIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},vIi=yIi,{Parser:_Ii,Grammar:bIi}=cTi;var CIi=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(;SIi(CRi(this.items));)this.items.pop()}trimWhitespace(){for(;EIi(CRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(CRi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},SIi=e=>0===e||6===e,EIi=e=>0===e||6===e||3===e;function wIi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function xIi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var TIi="top-level",AIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(TIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&CRi(this.indentTypes)===TIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==TIi)break}}},NIi=class extends CIi{constructor(e){super(new AIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new RIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new RIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},RIi=class extends Error{},IIi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),XRi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):XRi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return XRi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),XRi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){wRi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return wRi(e.text)||wRi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(CRi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new NIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof RIi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){XRi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?XRi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return xIi(e.tokenType)?wIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return xIi(e.tokenType)?wIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},DIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new ZRi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new cIi(n=>[...QRi(e.tokenize(n,t)),kTi(n.length)]),i=new _Ii(bIi.fromCompiled(vIi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new IIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new CIi(new AIi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},kIi=class extends Error{};function OIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new kIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new kIi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new kIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var LIi={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",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},MIi=Object.keys(LIi),PIi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},FIi=(e,t={})=>{if("string"==typeof t.language&&!MIi.includes(t.language))throw new kIi(`Unsupported SQL dialect: ${t.language}`);const n=LIi[t.language||"sql"];return BIi(e,vTi(yTi({},t),{dialect:_Ti[n]}))},BIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)gTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&pTi)for(var i of pTi(e))t.indexOf(i)<0&&mTi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=OIi(yTi(yTi({},PIi),r));return new DIi((e=>{let t=qRi.get(e);return t||(t=YRi(e),qRi.set(e,t)),t})(i),s).format(e)};const VIi=console.error;function UIi(e){return AG_GRID_LICENSE&&goi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Dne.jsx(jsi,{theme:"legacy",...e,modules:[Vri,t_i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=VIi)}})}class GIi{uuid=ho()}const HIi=(e,t,n)=>{const i=new YE(sS(t)),r=OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof CSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof SSi){const t=OSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},zIi=(e,t,n,i,r=!1)=>{let s,o;if(lS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new ESi(e,i),o=t}else if(lS(t.functionName,Nct.EXISTS)){const i=js(t.parametersValues[1],QE),a=js(i.values[0],ZE),l=js(a.expressionSequence[0],YE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new ESi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${sS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof KE?s.setRightConditionValue(new SSi(s,new LCi(e.queryBuilderState,t))):s.setRightConditionValue(new CSi(s,sdt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new CSi(s,i.getDefaultFilterConditionValue(s))),s}};class WIi extends GIi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_EQUAL])}}class jIi extends WIi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_EQUAL])}}class $Ii extends GIi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof CSi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=Yct(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new VE(nS.ONE,yS.create(new ES(t)))}buildFilterConditionExpression(e,t){return HIi(e,Nct.IN,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.IN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_IN])}}class qIi extends $Ii{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_IN])}}class YIi extends GIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!Qct(e.propertyExpressionState.propertyExpression)&&(t instanceof RS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return HIi(e,Nct.IS_EMPTY,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.IS_EMPTY,this,!0)}get hashCode(){return bg([odt.FILTER_OPERATOR_IS_EMPTY])}}class KIi extends YIi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const XIi=e=>{try{return FIi(e,{language:"mysql"})}catch{try{return FIi(e)}catch{return e}}},ZIi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},QIi=new WIi,JIi=new jIi,eDi=new $Ii,tDi=new qIi,nDi=new YIi,iDi=new KIi,rDi=new yEi,sDi=new pEi,oDi=new mEi,aDi=new fEi,lDi=new vEi,cDi=new gEi,dDi=(e,t,n)=>{t.value&&zct(e,e instanceof BE?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},uDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?nDi:QIi:null===t.value?iDi:JIi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(RSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[nDi,iDi]:t?[QIi,eDi]:[JIi,tDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===nDi||i===iDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?nDi:iDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof CSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);dDi(i,n,s),o.changeOperator(t?eDi:tDi),Wct(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?QIi:JIi).getDefaultFilterConditionValue(o);dDi(e,n,s),Wct(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new ESi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),dDi(e,n,i.queryBuilderState),i.addNodeFromNode(new RSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},hDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?oDi:rDi:null===t.value?aDi:lDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(oEi)).filter(e=>e.condition.leftConditionValue instanceof BCi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[oDi,aDi]:t?[rDi,sDi]:[lDi,cDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===oDi||i===aDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?oDi:aDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof cEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);dDi(i,n,s.queryBuilderState),o.changeOperator(t?sDi:cDi),Wct(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?rDi:lDi).getDefaultFilterConditionValue(o);dDi(e,n,s.queryBuilderState),Wct(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new uEi(i.postFilterState,e,t),r instanceof GCi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),dDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new oEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},pDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?oSi(r,n.columnName):void 0;s instanceof GCi||s instanceof zCi||s instanceof VCi&&_Si(s.propertyExpressionState.propertyExpression)?await hDi(e,t,n,i,s,r):s instanceof VCi?uDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},gDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await pDi(e,n,r,t,i)},mDi=Sse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Aat(),a=n?.columnName?oSi(i,n.columnName):void 0;return Dne.jsxs(OOe,{ref:t,children:[Dne.jsx(LOe,{disabled:!a,onClick:()=>{gDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Dne.jsx(LOe,{disabled:!a,onClick:()=>{gDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Dne.jsx(MOe,{}),Dne.jsx(LOe,{onClick:r,children:"Copy Cell Value"}),Dne.jsx(LOe,{onClick:s,children:"Copy Row Value"})]})})),fDi=Sse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"query-builder__sql__container",children:[Dne.jsx(QOe,{}),Dne.jsxs("div",{children:[Dne.jsx("div",{className:"query-builder__sql__container__item__label",children:Dne.jsxs(XOe,{children:["SQL",Dne.jsx("div",{children:Dne.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:Dne.jsx($ie,{})})})]})}),Dne.jsx("div",{className:"query-builder__sql__container__code-editor",children:Dne.jsx(tTi,{inputValue:XIi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:WTn.SQL})}),Dne.jsx(QOe,{})]},t)]}),n.length>0&&Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__sql__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Label"}),Dne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Dne.jsx("tbody",{children:n.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Dne.jsx("td",{className:"table__cell--left",children:oY(e.dataType)})]},e.label))})]})]})})]})}),yDi=Sse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Dne.jsx(fDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Dne.jsxs(KOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(fDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),vDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Dne.jsxs("div",{className:n,children:[Dne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Dne.jsx("div",{className:`${n}__tag`,children:t.value.path}),Dne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},_Di=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof nw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),h=c?bwi(c):Dne.jsx($Ee,{}),p=()=>r?.(t);return Dne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Dne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Dne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Dne.jsx(Are,{})})})]})},bDi=Sse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Dne.jsx(Xye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Dne.jsx(TOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Dne.jsx(NOe,{className:"query-builder-graph-fetch-config__content",children:Dne.jsx(WOe,{children:Dne.jsxs(ZOe,{children:[Dne.jsx(tLe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),Dne.jsx(tLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Dne.jsx(nLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Dne.jsx(nLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Dne.jsx(nLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Dne.jsx(nLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Dne.jsx(nLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Dne.jsx(nLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Dne.jsxs(ROe,{children:[!s&&Dne.jsx(DOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Dne.jsx(DOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),CDi=Sse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>ywi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Dne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Dne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Dne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Dne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Dne.jsx(Die,{})}),Dne.jsx(COe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:vDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Dne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Dne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Dne.jsx(rre,{})}),Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Lxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),SDi=Sse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(gX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(xS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Dw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Dne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Dne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(Fxi).map(e=>{return Dne.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case Fxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new zxi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case Fxi.PURE:default:t.setSerializationState(new Hxi(t))}})},{label:"Cancel",type:clt.PROCEED,default:!0}]})}),className:Tse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Cp(e)},e);var r})}),Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof Hxi&&Dne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Dne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof Hxi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Dne.jsx(gie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Dne.jsxs("div",{className:Tse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Dne.jsx("button",{className:Tse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Dne.jsx(Uie,{}):Dne.jsx(xre,{})}),Dne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Dne.jsx(cre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof Hxi&&n.configModal&&Dne.jsx(bDi,{pureSerializationState:n,graphFetchState:t,config:n.config??Uxi.createDefault()}),Dne.jsxs(wFe,{orientation:"horizontal",children:[Dne.jsx(xFe,{children:Dne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{Lxi(i,e),0===i.nodes.size&&t.setSerializationState(new Hxi(t)),n instanceof zxi&&n.treeData?.nodes.get(e.id)&&(Lxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Dne.jsx(TFe,{}),n instanceof zxi&&n.treeData&&Dne.jsx(xFe,{children:Dne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Dne.jsx(CDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),EDi=Sse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof zxi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=ePe(()=>({accept:[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Cct.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Dne.jsxs(wPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Dxi(r))&&Dne.jsx(oLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Dxi(r)&&Dne.jsx(SDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),wDi=Sse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof Hxi||n instanceof zxi?Dne.jsx(EDi,{graphFetchTreeState:t,serializationState:n}):Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_GRAPH_FETCH,children:Dne.jsx(rLe,{children:Dne.jsxs("div",{className:"unsupported-element-editor__main",children:[Dne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Dne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(Yxi.TEXT),children:"Edit in text mode"})]})})})}),xDi=Sse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tw?i=Ixi(js(t.graphFetchTree,tw),!0):t.graphFetchTree instanceof nw&&(i=(e=>{const t=[],n=new Map,i=Nxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tw(XC.create(new wS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Dne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Checked"}),Dne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Store"}),Dne.jsx("td",{className:"table__cell--left",children:t.store})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Dne.jsx(QOe,{}),i&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),Dne.jsx(QOe,{})]}),t.xStorePropertyFetchDetails&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" subTree "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof A2&&Dne.jsx(Qxi,{resultType:t.resultType}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})})}),TDi=Sse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Dne.jsxs(KOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Name"}),Dne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Dne.jsx("tbody",{children:t.map(e=>{return Dne.jsx(n.Fragment,{children:Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.name}),Dne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===nS.ZERO?"[0]":t===nS.ONE?"[1]":t===nS.ZERO_ONE?"[0..1]":t===nS.ZERO_MANY||t===nS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),ADi=Sse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return Dne.jsxs(KOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Dne.jsx("div",{className:"query-builder__constant__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx("pre",{children:Dne.jsx("div",{className:"query-builder__constant__container__item",children:Dne.jsxs("div",{children:["value: ",r]})})})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__constant__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),NDi=Sse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Dne.jsxs(KOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx("div",{className:"query-builder__allocation__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__allocation__container__item",children:Dne.jsx("table",{className:"query-builder__allocation__container__table",children:Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{children:"varName"}),Dne.jsx("td",{children:`: ${i}`})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{children:"realizeInMemory"}),Dne.jsx("td",{children:`: ${s}`})]})]})})})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:r}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof I1&&Dne.jsx(ADi,{cnode:t.executionNodes[0],executionPlanState:n}),Dne.jsx(QOe,{})]})}),RDi=Sse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Dne.jsx("div",{}):o?Dne.jsx(Pre,{}):Dne.jsx(Bre,{});return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__sequence__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Dne.jsx(QOe,{}),t.executionNodes.map((e,t)=>Dne.jsx("div",{className:"query-builder__sequence__container__item",children:Dne.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof KDi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof XDi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${GDi(e)}`,children:[!r&&l,`${t+1}: ${GDi(e)}`]})},e._UUID))]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:s}),!1===r&&o&&Dne.jsx(jDi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),IDi=Sse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Dne.jsx(RDi,{node:t,executionPlanState:n,viewJson:i}):Dne.jsxs(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(RDi,{node:t,executionPlanState:n,viewJson:i}),Dne.jsx("div",{className:"query-builder__execution__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),DDi=Sse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Dne.jsxs(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),kDi=Sse(e=>{const{node:t,executionPlanState:n}=e;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof r2&&t.implementation.executionClassFullName&&Dne.jsx("div",{className:"query-builder__implementation__container__item",children:Dne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,h5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(eki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof r2&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var ODi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(ODi||(ODi={}));const LDi=Sse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof B2?i=ODi.RESULT_SET:t instanceof z2&&(i=ODi.TEMP_FILE),t instanceof G2&&(i=ODi.SUB_QUERY),Dne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Dne.jsxs(XOe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${GDi(t.createTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${GDi(t.loadTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${GDi(t.dropTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{})]})});var MDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(MDi||(MDi={}));const PDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(MDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(MDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===MDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Dne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Checked"}),Dne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===MDi.TEMP_TABLE&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var FDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(FDi||(FDi={}));const BDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(FDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(FDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===FDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===FDi.TEMP_TABLE&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var VDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(VDi||(VDi={}));const UDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(VDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(VDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===VDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===VDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===VDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),GDi=e=>e instanceof Yq?"SQL Execution Node":e instanceof Zq?"Relational TDS Instantiation Execution Node":e instanceof T1?"Function Parameters Validation Node":e instanceof R1?`Allocation Execution Node (${e.varName})`:e instanceof I1?"Constant Execution Node":e instanceof D1?"Sequence Execution Node":e instanceof d2?"Store Mapping Global Graph Fetch Execution Node":e instanceof b2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof j2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof m2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof S2?"Pure Expression Platform Execution Node":"Other",HDi=Sse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof r2&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(eki).map(e=>Dne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:Cp(e)},e))})}),t.globalImplementationSupportState.selectedTab===eki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof r2&&Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{minSize:30,size:400,children:Dne.jsx(KOe,{darkMode:r,className:"query-builder__java__container__panel",children:Dne.jsx("div",{className:"query-builder__java__container",children:Dne.jsxs("div",{children:[n.classes.map(e=>Dne.jsx("div",{className:Tse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Dne.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),Dne.jsx(QOe,{})]})})})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:"var(--color-dark-grey-200)"})}),Dne.jsx(xFe,{children:t.globalImplementationSupportState.selectedJavaClass&&Dne.jsx(tTi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:WTn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===eki.GENERAL&&i.length>0&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Dne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Dne.jsx("div",{className:"query-builder__template--function--editor__code",children:Dne.jsx(tTi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:WTn.XML,hideMinimap:!0,hideActionBar:!0})}),Dne.jsx("div",{className:"query-builder__template--function--editor__json",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(JDi.JSON),text:"View JSON"})})]})]})})}),zDi=Sse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{});let o="",a="";return t instanceof XDi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof d2?o="Cross":t.executionNode instanceof h2&&(o="Local")),a=(e=>{if(e instanceof d2||e instanceof h2){if(e.graphFetchTree instanceof tw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Dne.jsxs("div",{className:Tse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[Dne.jsx("div",{className:"tree-view__node__icon",children:Dne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Dne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Dne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Dne.jsx("div",{className:"execution-plan-viewer__node__type",children:Dne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Dne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),WDi=Sse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof KDi){const n=e.executionPlan.rootExecutionNode,i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof XDi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof d2){const n=e.executionNode.localGraphFetchExecutionNode,i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof p2&&e.executionNode.children.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Dne.jsx(KRe,{components:{TreeNodeContainer:zDi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(Vs);return n},onNodeSelect:e=>{e instanceof KDi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof XDi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),jDi=Sse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof Yq?Dne.jsx(yDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Zq?Dne.jsx(DDi,{node:t,executionPlanState:n}):t instanceof T1?Dne.jsx(TDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof R1?Dne.jsx(NDi,{node:t,executionPlanState:n}):t instanceof I1?Dne.jsx(ADi,{cnode:t,executionPlanState:n}):t instanceof D1?Dne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof d2?Dne.jsx(xDi,{storeMappingNode:t,executionPlanState:n}):t instanceof j2?Dne.jsx(UDi,{node:t,executionPlanState:n}):t instanceof b2?Dne.jsx(PDi,{node:t,executionPlanState:n}):t instanceof m2?Dne.jsx(BDi,{node:t,executionPlanState:n}):Dne.jsx(rLe,{children:Dne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Dne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Dne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),children:"View JSON"})]})})}),$Di=Sse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof KDi?r=i.selectedNode.executionPlan:i.selectedNode instanceof XDi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof KDi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(JDi);return Dne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Dne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Dne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Dne.jsx(VOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Dne.jsx(OOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Dne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Dne.jsx(LOe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Dne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===JDi.JSON&&Boolean(t)&&Dne.jsx(tTi,{inputValue:t,isReadOnly:!0,language:WTn.JSON,hideMinimap:!0}),i.viewMode===JDi.FORM&&Dne.jsxs(Dne.Fragment,{children:[r instanceof qq&&Dne.jsx(jDi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof h5&&Dne.jsx(HDi,{executionPlanState:i})]})]})]})})}),qDi=Sse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Dne.jsx("div",{className:"execution-plan-viewer__content",children:i?Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{size:300,minSize:300,children:Dne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Dne.jsx($Oe,{darkMode:r,title:"execution plan explorer"}),Dne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Dne.jsx(WDi,{executionPlanState:t,executionPlan:i})})]})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Dne.jsx(xFe,{children:Dne.jsx($Di,{displayData:t.displayData,executionPlanState:t})})]}):Dne.jsx(tTi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:WTn.JSON})})}),YDi=Sse(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(eki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Dne.jsx(Xye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{className:"editor-modal",darkMode:r,children:[Dne.jsx(TOe,{title:"Execution Plan"}),Dne.jsx(NOe,{children:t.debugText?Dne.jsxs(wFe,{orientation:"horizontal",children:[Dne.jsx(xFe,{minSize:100,children:Dne.jsx(qDi,{executionPlanState:t,rawPlan:i})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Dne.jsx(xFe,{size:200,minSize:28,children:Dne.jsxs(WOe,{className:"panel execution-plan-viewer__debug-panel",children:[Dne.jsx(jOe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Dne.jsx(KOe,{children:Dne.jsx(tTi,{inputValue:t.debugText,isReadOnly:!0,language:WTn.TEXT})})]})})]}):Dne.jsx(qDi,{executionPlanState:t,rawPlan:i})}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class KDi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){c_(this,{isSelected:xy,isOpen:xy,setIsSelected:Ov,setIsOpen:Ov}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class XDi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){c_(this,{isSelected:xy,isOpen:xy,setIsSelected:Ov,setIsOpen:Ov}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const ZDi=(e,t,n)=>{const i=new XDi(e._UUID,t,e,n instanceof XDi?GDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)}),e instanceof d2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)})),e instanceof p2&&e.children.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},QDi=e=>{const t=[],n=new Map,i=(e=>{const t=new KDi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var JDi,eki;!function(e){e.FORM="Form",e.JSON="JSON"}(JDi||(JDi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(eki||(eki={}));class tki{selectedTab=eki.GENERAL;selectedJavaClass=void 0;constructor(){c_(this,{selectedTab:xy,selectedJavaClass:xy,setSelectedTab:Ov,setSelectedJavaClass:Ov})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class nki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=JDi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new tki;constructor(e,t){c_(this,{displayData:xy,displayDataJson:xy,viewMode:xy,rawPlan:xy,plan:xy,debugText:xy,treeData:xy,setExecutionPlanDisplayData:Ov,setExecutionPlanDisplayDataJson:Ov,transformMetadataToProtocolJson:Ov,setSelectedNode:Ov,setRawPlan:Ov,setPlan:Ov,setViewMode:Ov,setDebugText:Ov,setTreeNode:Ov,setTreeData:Ov,refreshTreeData:Ov,nonNullableTreeData:Ry,initialize:Ov,globalImplementationSupportState:xy}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return Gs(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(QDi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof h5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof qq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const iki=e=>Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Dne.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:Dne.jsx(die,{})}),Dne.jsx("div",{children:e.displayName})]}),rki=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>4}return!1}));switch(t){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:iki}}:{};default:return{}}}return{}},ski=Sse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&Pc(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof NZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof NZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>DZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>DZ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Dne.jsx(BOe,{content:(()=>{if(i instanceof awi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof NZ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return Dne.jsx(mDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof awi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Dne.jsx("div",{className:Tse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:l?Dne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Dne.jsx("span",{children:Zs(s)?Intl.NumberFormat(iwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),oki=Sse(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...rki(t,e),cellRenderer:ski,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Dne.jsx("div",{className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Dne.jsx(UIi,{rowData:ZIi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var aki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(aki||(aki={}));const lki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case TC.DECIMAL:case TC.NUMBER:case TC.INTEGER:case TC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},cki=Sse(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Pc(n)?n:void 0;return Dne.jsx("div",{className:Tse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?Dne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Dne.jsx("span",{children:Zs(n)?Intl.NumberFormat(iwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),dki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter"};case TC.DECIMAL:case TC.INTEGER:case TC.NUMBER:case TC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},uki=Sse(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Aat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:cki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...lki(e,n),...rki(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:cki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...dki(e,n),...rki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof awi&&(t=[{name:"Filter By",action:()=>{gDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{gDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),aki.WAVG)},[d.wavgAggregationState,l]),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Dne.jsxs("div",{className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Dne.jsx(UIi,{rowData:ZIi(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new gki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):Dne.jsx(UIi,{rowData:ZIi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&Dne.jsx(Xye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Dne.jsx(TOe,{title:"Applying Weighted Average"}),Dne.jsxs(NOe,{children:[Dne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Dne.jsx(COe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var hki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(hki||(hki={}));class pki{applicationStore;selectedTab=hki.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){c_(this,{selectedTab:xy,lineageData:xy,isLineageViewerOpen:xy,selectedPropertyOwnerNode:xy,selectedProperty:xy,selectedSourcePropertiesMap:xy,setSelectedTab:Ov,setLineageData:Ov,setIsLineageViewerOpen:Ov,setSelectedPropertyOwnerNode:Ov,setSelectedProperty:Ov,setSelectedSourcePropertiesMap:Ov,clearPropertySelections:Ov}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class gki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){c_(this,{isApplyingWavg:xy,weightedColumnIdPairs:xy,setIsApplyingWavg:Ov,addWeightedColumnIdPair:Ov,removeWeightedColumnIdPair:Ov}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class mki{queryBuilderState;executionPlanState;exportState=hb.create();previewLimit=1e3;pressedRunQuery=hb.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){c_(this,{executionResult:xy,executionTraceId:xy,previewLimit:xy,executionDuration:xy,latestRunHashCode:xy,queryRunPromise:xy,isGeneratingPlan:xy,selectedCells:xy,mousedOverCell:xy,isRunningQuery:xy,isSelectingCells:xy,isQueryUsageViewerOpened:xy,isExecutionResultOverflowing:xy,gridConfig:xy,wavgAggregationState:xy,executionError:xy,setGridConfig:Ov,setWavgAggregationState:Ov,setIsSelectingCells:Ov,setIsRunningQuery:Ov,setExecutionResult:Ov,setExecutionTraceId:Ov,setExecutionDuration:Ov,setPreviewLimit:Ov,addSelectedCell:Ov,setSelectedCells:Ov,setMouseOverCell:Ov,setQueryRunPromise:Ov,setIsQueryUsageViewerOpened:Ov,setIsExecutionResultOverflowing:Ov,handlePreConfiguredGridConfig:Ov,updatePreviewLimitInConfig:Ov,setExecutionError:Ov,exportData:Xv,runQuery:Xv,cancelQuery:Xv,generatePlan:Xv,generateLineage:Xv}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new nki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new pki(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof awi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof NZ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===aki.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new gki,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=XSi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=Q3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return GSi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});Cct.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:USi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(WQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=Z5(this.queryBuilderState.graphManagerState.graph);cct(s,`result.${Tc(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Cct.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=USi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Cct.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new pb,s=Z5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[zQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());Cct.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof gQ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new pb,r=Z5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Cct.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Cct.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(pct.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Cct.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Cct.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class fki{queryBuilderState;rawLambda;lambdaError;constructor(e){c_(this,{rawLambda:xy,lambdaError:xy,setRawLambda:Ov,setLambdaError:Ov,hashCode:Ry}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return bg([odt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const yki="QUERY_BUILDER_FUNCTION",vki=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,_ki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&vki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),bki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Cki=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=vki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof xS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>_ki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>bki(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},Ski=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=vki(t,n);if(n===xC.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof xS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=_ki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},Eki=(e,t,n,i=xC.MAIN)=>(Cki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(SOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),wki=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat(wki(e.package))):[];class xki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){c_(this,{functionAnalysisInfo:xy}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Tki{initState=hb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){c_(this,{functionExplorerStates:xy.ref,setFunctionExplorerStates:Ov,dependencyFunctionExplorerStates:xy.ref,setDependencyFunctionExplorerStates:Ov,treeData:xy.ref,dependencyTreeData:xy.ref,_functionGraph:xy,functionInfoMap:xy,dependencyFunctionInfoMap:xy,packagePathToFunctionInfoMap:xy,setFunctionInfoMap:Ov,setDependencyFunctionInfoMap:Ov,setTreeData:Ov,setPackagePathToFunctionInfoMap:Ov,setDependencyTreeData:Ov,refreshTree:Ov,onTreeNodeSelect:Ov,initializeTreeData:Ov}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=xC.MAIN){return e===xC.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>wki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>wki(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=xC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,Cki(e,t,n,i)),i===xC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(sx(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;sx(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(Ski([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new xki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Ski([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new xki(this,e)):[])}),this.initState.pass())}}class Aki extends WSi{queryBuilderState;selectedParameter;constructor(e){super(),c_(this,{parameterValuesEditorState:xy,parameterStates:xy,addParameter:Ov,removeParameter:Ov,setParameters:Ov,selectedParameter:xy,setSelectedParameter:Ov,hashCode:Gf}),this.queryBuilderState=e}get hashCode(){return bg([odt.PARAMETERS_STATE,bg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Nki extends GIi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_GREATER_THAN])}}class Rki extends GIi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.STARTS_WITH,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.STARTS_WITH,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_START_WITH])}}class Iki extends Rki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_START_WITH])}}class Dki extends GIi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class kki extends GIi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class Oki extends GIi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_LESS_THAN])}}class Lki extends GIi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.ENDS_WITH,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.ENDS_WITH,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_END_WITH])}}class Mki extends Lki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_END_WITH])}}class Pki extends GIi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.CONTAINS,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.CONTAINS,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_CONTAIN])}}class Fki extends Pki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_CONTAIN])}}var Bki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Bki||(Bki={}));class Vki{changeDetectionState;initialQuery;currentQuery;mode=Bki.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){c_(this,{mode:xy,initialQueryGrammarText:xy,currentQueryGrammarText:xy,setMode:Ov,generateGrammarDiff:Xv}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){Kr(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class Uki{querybuilderState;initState=hb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){c_(this,{diffViewState:xy,querySnapshot:xy,hashCodeSnapshot:xy,hasChanged:Ry,initialize:Ov,showDiffViewPanel:Ov,hideDiffViewPanel:Ov}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new Vki(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:clt.PROCEED,default:!0}]}):e()}}const Gki=e=>e instanceof ME?`${bC}${e.name}`:e instanceof FE&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof FE&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",Hki=(e,t)=>{const n=tx(e,t.graphManagerState.graph);return Dne.jsx("div",{className:Tse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Dne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},zki=Sse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Aat(),o=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:Hki(e,t)})),l=t.class?{value:t.class,label:Hki(t.class,t)}:null;return Dne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Dne.jsx(COe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:_wi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),Wki=e=>({value:e,label:e instanceof Xj?e.packageableRuntime.value.name:"custom"}),jki=e=>function(t){if(t.value instanceof Xj){const n=t.value;return _wi(e)(ywi(n.packageableRuntime.value))}return t.value instanceof Xj?t.value.packageableRuntime.value.name:Dne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Dne.jsx(Wie,{}),Dne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},$ki=Sse(e=>{const{queryBuilderState:t}=e,n=Aat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(ywi).sort(SOe),s=t.executionContextState.mapping?ywi(t.executionContextState.mapping):null,o=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Xj(XC.create(e))).map(Wki).sort(SOe),l=t.executionContextState.runtimeValue?Wki(t.executionContextState.runtimeValue):null,c=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Xj?e.data.value.packageableRuntime.value.path:"custom"});return Dne.jsxs("div",{className:"query-builder__setup__config-group",children:[Dne.jsx(jOe,{title:"properties"}),Dne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Dne.jsx(COe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:_wi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Dne.jsx(COe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.class||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:jki({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Dne.jsx("div",{className:"query-builder__setup__config-group__item",children:Dne.jsx(zki,{queryBuilderState:t,classes:i})})]})]})}),qki=Sse(e=>{const{queryBuilderState:t,children:n}=e,i=Aat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Dne.jsx(Dne.Fragment,{});return Dne.jsxs("div",{className:Tse("query-builder__side-bar",t.sideBarClassName),children:[Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Dne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Dne.jsx($ki,{queryBuilderState:t})})}),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Dne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class Yki{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class Kki extends Yki{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Gki(this.getMilestoningDate(0))}, Business Date: ${Gki(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC)].filter(Vs)}processGetAllParamaters(e){Ks(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===kC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(n,KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[1])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(s.propertyExpression.parametersValues[0],KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[2])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class Xki extends Yki{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Gki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new JE(()=>Gs(n.parametersValues[1])):new JE(()=>Gs(n.parametersValues[2]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class Zki extends Yki{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Gki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new JE(()=>Gs(n.parametersValues[1]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class Qki{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){c_(this,{processingDate:xy,businessDate:xy,startDate:xy,endDate:xy,showMilestoningEditor:xy,setProcessingDate:Ov,setBusinessDate:Ov,setStartDate:Ov,setEndDate:Ov,setShowMilestoningEditor:Ov,clearMilestoningDates:Ov,setAllVersions:Ov,setAllVersionsInRange:Ov,initializeAllVersionsInRangeParameters:Ov,clearAllVersionsInRangeParameters:Ov,clearGetAllParameters:Ov,isAllVersionsEnabled:Ry,isAllVersionsInRangeEnabled:Ry,isMilestonedQuery:Ry,hashCode:Ry}),this.queryBuilderState=e,this.milestoningImplementations.push(new Xki(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new Zki(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new Kki(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof awi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof VCi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof zCi&&e.projectionColumnState instanceof VCi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof RSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof ASi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Uw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Act.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?lte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?lte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?lte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?lte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof FE&&this.setBusinessDate(void 0),this.processingDate instanceof FE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new HSi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new HSi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&rdt(e,this.businessDate),n=!!this.processingDate&&rdt(e,this.processingDate),i=!!this.startDate&&rdt(e,this.startDate),r=!!this.endDate&&rdt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof ME&&(t=e.name===js(this.businessDate,ME).name),this.processingDate instanceof ME&&(t=t||e.name===js(this.processingDate,ME).name),this.startDate instanceof ME&&(t=t||e.name===js(this.startDate,ME).name),this.endDate instanceof ME&&(t=t||e.name===js(this.endDate,ME).name),t}get hashCode(){return bg([odt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var Jki;!function(e){e.COMPILE="query-builder.compile"}(Jki||(Jki={}));const eOi={[Jki.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class tOi{queryBuilderState;value;constructor(e){c_(this,{value:xy,setValue:Ov,hashCode:Ry}),this.queryBuilderState=e}getDefaultValue(){return new FE(yS.create(new ES(gS.STRING)))}setValue(e){this.value=e?lte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&rdt(e,this.value)}get hashCode(){return bg([odt.WATERMARK_STATE,this.value??""])}}class nOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return bg([odt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[this.variable.name];const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class iOi extends nOi{value;constructor(e,t,n){super(e,t),c_(this,{variable:xy,value:xy,setValueSpec:Ov,changeValSpecType:Ov}),this.value=lte(n,this.queryBuilderState.observerContext),lte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=xCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=lte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Pct(this.variable,yS.create(new ES(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return bg([odt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class rOi extends PCi{queryBuilderState;calculatedState;convertingLambdaToStringState=hb.create();constructor(e){super("",""),c_(this,{calculatedState:xy,convertingLambdaToStringState:xy,buildEmptyValueSpec:xy}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(TCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Bee([fct.QUERY_BUILDER,fct.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}}}class sOi extends nOi{value;lambdaState;constructor(e,t,n){super(e,t),c_(this,{variable:xy,lambdaState:xy,value:xy,setLambdaState:Ov,setValue:Ov}),this.value=n,this.lambdaState=new rOi(this),lte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new LE(this.value)}}class oOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,c_(this,{constants:xy,showConstantPanel:xy,selectedConstant:xy,addConstant:Ov,removeConstant:Ov,setShowConstantPanel:Ov,setSelectedConstant:Ov,convertToCalculated:Ov})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){Eo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof ME&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new sOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return bg([odt.CONSTANT_STATE,bg(this.constants)])}}var aOi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(aOi||(aOi={}));class lOi{uuid=ho();specification;entitlementReport;constructor(e){c_(this,{entitlementReport:xy,setEntitlementReport:Ov}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class cOi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=hb.create();checkEntitlementsState=hb.create();datasets=[];constructor(e,t,n){c_(this,{datasets:xy,entitlementCheckInfo:Ry,fetchDatasetSpecifications:Xv,fetchDatasetEntitlementReports:Xv}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new lOi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof XJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof JJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof e0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new lOi(e)})}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new lOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class dOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){c_(this,{showCheckEntitlementsViewer:xy,dataAccessState:xy,setShowCheckEntitlementsViewer:Ov,hashCode:Ry}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Xj&&(this.dataAccessState=new cOi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=FSi(n.graph,t),r=Q3(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return bg([odt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class uOi{queryBuilderState;initState=hb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){c_(this,{currentQuery:xy,pointer:xy,querySnapshotBuffer:xy,initialize:Ov,undo:Ov,redo:Ov,setCurrentQuery:Ov,cacheNewQuery:Ov,canRedo:Ry,canUndo:Ry}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(pct.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class hOi{static INSTANCE=new hOi}class pOi{actionConfig=hOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class gOi extends pOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new gOi}class mOi extends pOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new mOi}class fOi extends Dut{mapping;runtime}class yOi extends mpt{logService=new _b;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof fOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new fOi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return OI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(LI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(vC)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(LI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new pb,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=js(r.executionResult,NZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=Z5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Cct.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof vZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof fOi){return Boolean(e.mapping??e.runtime)?Gut(exports.DataCubeFunction.FROM,[e.mapping?Wut(e.mapping):void 0,e.runtime?Wut(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(JI(LI(e,[])),_T);return new DE(t.parameters,t.body)}getSourceFunctionExpression(){let e=OI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof oA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Iut;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class vOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var _Oi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(_Oi||(_Oi={}));class bOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=hb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new WIi,new jIi,new Oki,new kki,new Nki,new Dki,new Rki,new Iki,new Pki,new Fki,new Lki,new Mki,new $Ii,new qIi,new YIi,new KIi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=_Oi.STANDARD;class;getAllFunction=Act.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){c_(this,{explorerState:xy,parametersState:xy,constantState:xy,functionsExplorerState:xy,fetchStructureState:xy,filterState:xy,watermarkState:xy,milestoningState:xy,checkEntitlementsState:xy,resultState:xy,textEditorState:xy,unsupportedQueryState:xy,showFunctionsExplorerPanel:xy,showParametersPanel:xy,isEditingWatermark:xy,isCheckingEntitlments:xy,isCalendarEnabled:xy,changeDetectionState:xy,changeHistoryState:xy,executionContextState:xy,class:xy,queryChatState:xy,isQueryChatOpened:xy,isLocalModeEnabled:xy,dataCubeViewerState:xy,getAllFunction:xy,lambdaWriteMode:xy,INTERNAL__enableInitializingDefaultSimpleExpressionValue:xy,sideBarClassName:Ry,isQuerySupported:Ry,allValidationIssues:Ry,canBuildQuery:Ry,setShowFunctionsExplorerPanel:Ov,setShowParametersPanel:Ov,setIsEditingWatermark:Ov,setIsCalendarEnabled:Ov,setDataCubeViewerState:Ov,openDataCubeEngine:Ov,setIsCheckingEntitlments:Ov,setClass:Ov,setIsQueryChatOpened:Ov,setIsLocalModeEnabled:Ov,setGetAllFunction:Ov,setLambdaWriteMode:Ov,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Ov,TEMPORARY_initializeExecContext:Ov,resetQueryResult:Ov,resetQueryContent:Ov,changeClass:Ov,changeMapping:Ov,setExecutionContextState:Ov,setQueryChatState:Ov,rebuildWithQuery:Ov,compileQuery:Xv,hashCode:Ry}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new Qki(this),this.explorerState=new oxi(this),this.parametersState=new Aki(this),this.constantState=new oOi(this),this.functionsExplorerState=new Tki(this),this.fetchStructureState=new $xi(this),this.filterState=new DSi(this,this.filterOperators),this.watermarkState=new tOi(this),this.checkEntitlementsState=new dOi(this),this.resultState=new mki(this),this.textEditorState=new Kxi(this),this.unsupportedQueryState=new fki(this),this.observerContext=new j3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Uki(this),this.changeHistoryState=new uOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(ewi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new $Si(this);return this.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),e}return new qSi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===_Oi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new XZ,t=js(this.executionContextState.runtimeValue,Xj,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=XC.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Xj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(ewi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}setClass(e){this.class=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{Cct.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Xj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE);const r=USi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new yOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new vOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:Jki.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[Jki.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new mki(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new Kxi(this),this.unsupportedQueryState=new fki(this),this.milestoningState=new Qki(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new oxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new oOi(this),this.functionsExplorerState=new Tki(this),this.parametersState=new Aki(this),this.filterState=new DSi(this,this.filterOperators),this.watermarkState=new tOi(this),this.checkEntitlementsState=new dOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new $xi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Act.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Act.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new DE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return Q3(XSi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,Xj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new PE(nS.ONE,void 0);s.values=[XC.create(t)];const o=new PE(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(XSi(this),e,n.value);return Q3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof awi){return this.lambdaWriteMode===_Oi.STANDARD?this.graphManagerState.graph.getClass(xct.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(xct.RELATION)}return gS.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!gj(e)){const t=lte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,QE,"Can't build query state: query builder only support lambda");OOi(Gs(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){Kr(s),this.applicationStore.logService.error(vb.create(pct.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>lte(e,this.observerContext)).filter(zs(ME));kOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===Yxi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(Kr(e),e instanceof hQ){this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Fee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){Kr(e),this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e);let t=!0;e instanceof hQ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(Yxi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new n3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new COi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return bg([odt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class COi extends bOi{}class SOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const EOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],YE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[Nct.GRAPH_FETCH,Nct.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof Wxi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(Ixi(r));const s=e.parametersValues[2];if(s){const e=js(s,YE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(lS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,Hxi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],PE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],KC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,wS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===xct.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${xct.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],VE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new Uxi;r.values.forEach((e,t)=>{const n=js(e,GE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,FE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===TC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=qw(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${xct.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,FE,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case TC.STRING:to(c);break;case TC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},wOi=(e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER,Nct.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),DOi.process(i,n,t)},xOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),wOi(e,t,n);const i=e.parametersValues[1];i instanceof VE?i.values.map(i=>DOi.processChild(i,e,n,t)):(Ws(i,YE,"Can't process project() expression: project() expects argument #1 to be a function expression"),DOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),wOi(e,t,n);const i=e.parametersValues[1];Ws(i,VE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>DOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof VE?(Ws(r,VE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(idt).filter(Vs)):(Ws(r,FE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof awi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},TOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof awi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof KE;){const e=r;for(ndt(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof US&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,ME,"Can't process property expression: expects expression root to be a variable");const s=new VCi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},AOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof awi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(JI(e.content),_T));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new GCi(r,new DE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},NOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof FE&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},ROi=(e,t,n)=>{const i=e.parametersValues.length;Ks(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=js(e.parametersValues[0],YE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),DOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,awi);Ws(s,VE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,FE,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return oSi(d,t)});let h,p;if(r){const e=js(o,YE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,Nct.TDS_ASC))return Ict.ASC;if(lS(e,Nct.TDS_DESC))return Ict.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],FE,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=oSi(d,n);h=new kEi(i,t)}if(a instanceof YE){Ks(lS(a.functionName,[Nct.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],FE,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=oSi(d,t),i=js(js(e[1],QE).values[0],ZE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],YE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new MEi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,QE).values[0],ZE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],YE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new LEi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,FE,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new PEi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},IOi=e=>!(e instanceof YE)||!lS(e.functionName,Nct.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,Nct.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>IOi(e)).includes(!1);class DOi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new DOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new DOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_AGG,...Object.values(Tct)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);AOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(lS(t,Act.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(lS(t,Act.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Uw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Act.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,Act.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==kC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Act.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(lS(t,Nct.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,wS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],PE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],KC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,gX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],ME),l=new SOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[Nct.FILTER,Nct.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],YE,"Can't process filter() expression: only support filter() immediately following an expression");if(DOi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,Nct.FILTER),`Can't process filter() expression: only supports ${Nct.FILTER}() immediately following getAll() (got '${t}')`),void xxi(e,this.queryBuilderState);if(lS(n.functionName,[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.OLAP_GROUPBY]))return Ks(lS(t,Nct.TDS_FILTER),`Can't process post-filter expression: only supports ${Nct.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,QE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,awi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],qE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],ME,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),pSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[Nct.WATERMARK]))return void xxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(lS(t,Nct.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),DOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT]))(n=e).functionName===Nct.RELATION_PROJECT||lS(n.functionName,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jE?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],YE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER,Nct.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jE,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),DOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):xOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],QE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],FE,"Can't process col() func expression: the #2 argument of col() should be a string");TOi(js(n.values[0]?.expressionSequence[0],KE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof awi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[Nct.TDS_TAKE,Nct.RELATION_LIMIT]))NOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],YE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>DOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],FE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=ro(js(e.parametersValues[2],FE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.TDS_ASC,Nct.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,r=idt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new tSi(s);e.sortType=lS(i,Nct.TDS_ASC)?Ict.ASC:Ict.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[Nct.RELATION_ASC,Nct.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new tSi(o);e.sortType=lS(i,Nct.RELATION_ASC)?Ict.ASC:Ict.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY]))(e=>e.functionName===Nct.RELATION_GROUP_BY||lS(e.functionName,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jE)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[Nct.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),DOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,awi),s=js(e.parametersValues[1],jE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];Ws(o,jE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),DOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>DOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,VE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>DOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,VE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(idt).filter(Vs);t.fetchStructureState.implementation instanceof awi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),DOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,QE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,QE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof YE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],ME,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof IEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.OLAP_GROUPBY))ROi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.SERIALIZE))EOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[Nct.GRAPH_FETCH,Nct.GRAPH_FETCH_CHECKED,Nct.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof Wxi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(Ixi(s));const o=js(e.parametersValues[1],PE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],KC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,gX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new zxi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(Ixi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.GRAPH_FETCH_CHECKED,Nct.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],YE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[Nct.FILTER,Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),DOi.process(r,n,t),t.fetchStructureState.implementation instanceof Wxi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,Nct.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],FE,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof LE?new sOi(t,s,o.content):IOi(o)?new iOi(t,s,o):new sOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],PE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],KC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,dw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],PE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],KC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,pw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new $Si(t);o.setMapping(i),o.setRuntimeValue(new Xj(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void DOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(Tct)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void DOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,Nct.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,KE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),DOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_AGG,Nct.WAVG_ROW_MAPPER,...Object.values(Tct)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);TOi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new DOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),lS(this.parentExpression.functionName,[Nct.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,QE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof KE?TOi(i,e.name,this.queryBuilderState):i instanceof LE&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),AOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[Nct.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&lS(t.functionName,Nct.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,QE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,QE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof awi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],YE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],ME,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof IEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?yS.create(new ES(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const kOi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof ME&&Oct(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Zw(i,t)&&(r=n.value)}});const s=new HSi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},OOi=(e,t,n)=>{e.functionType.parameters.length&&kOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>DOi.process(n,e,t))},LOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Dne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:TC.STRICTDATE}),s(new uCi(e.target.value,sCi.ABSOLUTE_DATE))}})})},MOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Dne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:TC.DATETIME}),s(new uCi(e.target.value,sCi.ABSOLUTE_TIME))}})})},POi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??oCi.DAYS),[u,h]=n.useState(t.direction??cCi.BEFORE),[p,g]=n.useState(t.referenceMoment??dCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new hCi(sCi.CUSTOM_DATE,sCi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=mCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?Xr(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,u,p)}})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(oCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(cCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(dCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},FOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t instanceof pCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(aCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(dCi).filter(t=>t.toString().includes(e)),n=t.length>0?new pCi(Gs(t[0]?.toString()),e):new pCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},BOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t instanceof gCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(lCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new gCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},VOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Aat(),u=o.match?Object.values([sCi.ABSOLUTE_TIME,sCi.NOW]):Object.values(sCi),[h,p]=n.useState(bCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(bCi(t,d))},[d,t]),Dne.jsxs(Dne.Fragment,{children:[a?Dne.jsx("span",{className:Tse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:Dne.jsx(Dne.Fragment,{children:"        "})}):Dne.jsx("button",{className:Tse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),Dne.jsxs(cCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(bCi(t,d))}}},anchorEl:g,onClose:()=>{p(bCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Dne.jsx(zOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new uCi(e.target.value,e.target.value);if(sCi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![sCi.ABSOLUTE_DATE,sCi.ABSOLUTE_TIME,sCi.CUSTOM_DATE,sCi.FIRST_DAY_OF,sCi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=mCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case sCi.ABSOLUTE_DATE:return Dne.jsx(LOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sCi.ABSOLUTE_TIME:return Dne.jsx(MOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sCi.CUSTOM_DATE:return Dne.jsx(POi,{customDateOptionValue:_Ci(t,d),updateValueSpecification:r,setDatePickerOption:p});case sCi.FIRST_DAY_OF:return Dne.jsx(FOi,{customDateAdjustOptionValue:bCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case sCi.PREVIOUS_DAY_OF_WEEK:return Dne.jsx(BOi,{customDateAdjustOptionValue:bCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},UOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Dne.jsx(Kbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Qw(t.multiplicity)})]})]}),children:n})},GOi="VARIABLE",HOi=Sse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(RPe,{labelGetter:e=>e.variable.name,types:[GOi]}),Dne.jsxs("div",{className:Tse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Dne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Dne.jsx("div",{className:"icon",children:"C"}):Dne.jsx(Kie,{})}),Dne.jsxs("div",{className:"value-spec-editor__variable__label",children:[Dne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Dne.jsx(UOi,{variable:t,children:Dne.jsx("div",{className:"value-spec-editor__variable__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Dne.jsx(eie,{})})]})]})]})}),zOi=Sse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Aat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?Dne.jsx(COe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):Dne.jsx(qwe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:E,disabled:p}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Dne.jsx(eie,{})})]})})),WOi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Dne.jsxs("div",{className:Tse("value-spec-editor",s),children:[Dne.jsx("button",{role:"checkbox",className:Tse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Dne.jsx(Uie,{}):Dne.jsx(xre,{})}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Dne.jsx(eie,{})})]})}),jOi=Sse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(QQn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[Dne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Dne.jsx("input",{ref:m,className:Tse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),Dne.jsx("div",{className:"value-spec-editor__number__actions",children:Dne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:Dne.jsx(lie,{})})})]}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Dne.jsx(eie,{})})]})})),$Oi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Dne.jsx(COe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Dne.jsx(eie,{})})]})}),qOi=e=>0===e.length?"":((e,t)=>yp.unparse(e,t))([e.map(e=>e instanceof FE?e.values[0]:e instanceof BE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),YOi=e=>{if(e instanceof gS)switch(e.path){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof HT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:case TC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},KOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Aat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===gS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Dne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Dne.jsx(COe,{className:Tse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Sp(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:YOi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Dne.jsx($ie,{})}),Dne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Dne.jsx(Sre,{})})]})}),XOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Dne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[Dne.jsx(COe,{className:Tse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Sp(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:Dne.jsx($ie,{})}),Dne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:Dne.jsx(Sre,{})})]})}),ZOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?Dne.jsx(Dne.Fragment,{children:Dne.jsx("div",{className:Tse("value-spec-editor",l),children:void 0!==h?Dne.jsx(XOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Dne.jsx(KOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Dne.jsxs("div",{className:Tse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Dne.jsx("div",{className:Tse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),Dne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Dne.jsx(Kne,{})})]})}),QOi=()=>Dne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),JOi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Dne.jsxs("div",{className:Tse("value-spec-editor",l),children:[Dne.jsx(VOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof FE&&!Kct(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Dne.jsx(eie,{})})]})}),eLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Aat(),y=e=>!Kct(e),v=e=>e instanceof YE?"":e.values[0],_=(e,t,n)=>{t instanceof hCi?a(((e,t,n)=>{const i=new YE(Nct.ADJUST);if(Uct(i,yCi(new uCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===cCi.BEFORE){const r=new YE(Nct.MINUS);Uct(r,SCi(t,TC.INTEGER,e.duration,n),n),Uct(i,r,n)}else Uct(i,SCi(t,TC.INTEGER,e.duration,n),n);const r=new BE(yS.create(new ES(t.getType(xct.DURATION_UNIT))));return Wct(r,[...r.values,BS.create(Gs(vCi(Gs(e.unit),t)))],n),Uct(i,r,n),Pct(i,yS.create(new ES(gS.DATE))),i})(t,r,s)):t instanceof pCi||t instanceof gCi||t instanceof uCi?a(yCi(t,r,s)):e instanceof YE?a(SCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof PE?(zct(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&Pct(e,yS.create(new ES((e=>{switch(e){case TC.STRING:return gS.STRING;case TC.BOOLEAN:return gS.BOOLEAN;case TC.BINARY:return gS.BINARY;case TC.NUMBER:return gS.NUMBER;case TC.INTEGER:return gS.INTEGER;case TC.FLOAT:return gS.FLOAT;case TC.DECIMAL:return gS.DECIMAL;case TC.DATE:return gS.DATE;case TC.STRICTDATE:return gS.STRICTDATE;case TC.DATETIME:return gS.DATETIME;case TC.STRICTTIME:return gS.STRICTTIME;case TC.LATESTDATE:return gS.LATESTDATE;case TC.BYTE:return gS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===TC.LATESTDATE&&a(SCi(r,TC.LATESTDATE,t,s))};if(i instanceof FE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{zct(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Dne.jsx(zOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Dne.jsx(WOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return Dne.jsx(jOi,{valueSpecification:i,valueSelector:r,isInteger:e.path===TC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Dne.jsx(JOi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof FE&&y(e),readOnly:m});default:return Dne.jsx(QOi,{})}}else{if(i instanceof BE){const e=js(i.genericType?.value.rawType,RS),t=e.values.map(e=>({label:e.name,value:e.name}));return Dne.jsx($Oi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);zct(t,BS.create(i),0,s),a(t)},errorChecker:e=>!Kct(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof VE&&i.genericType){const e=(e,t)=>{Wct(e,t,s),a(e)},t=(e,t)=>{if(e instanceof RS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new BE(yS.create(new ES(e)));return Wct(t,[BS.create(n)],s),lte(t,s)}}else{const n=RCi(js(e,iS),t,s);if(n)return lte(n,s)}return null},r=o.expectedType instanceof RS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Dne.jsx(ZOi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>qOi(e.values),errorChecker:y,convertValueSpecificationToText:e=>NCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof ME)return Dne.jsx(HOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof JE)return Dne.jsx(eLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof YE){if(Xw(o.expectedType,gS.DATE))return IOi(i)?Dne.jsx(JOi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Dne.jsx(QOi,{});if(Xw(o.expectedType,gS.NUMBER)&&lS(i.functionName,Nct.MINUS)){const e=sdt(i,s);if(e instanceof FE&&Xw(e.genericType.value.rawType,gS.NUMBER))return Dne.jsx(jOi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{zct(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Dne.jsx(QOi,{})}),tLi=Sse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Aat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof FE&&!Xw(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof BE,v=g||!y,_=NCi(t,p,{omitEnumOwnerName:!0});return v?Dne.jsx(eLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):Dne.jsx("div",{className:"value-spec-editor__editable__display",children:Dne.jsx("span",{className:Tse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof PE&&!Kct(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),nLi=(e,t)=>{if(e instanceof YE){const n=bCi(e,t.applicationStore).label;if(n)return n}return NCi(e,t.applicationStore)},iLi=Sse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Dne.jsxs(OOe,{ref:t,children:[i?.map(e=>Dne.jsx(LOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Dne.jsx(LOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Dne.jsx(LOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),rLi=Sse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?nLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?nLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=KMe(()=>({type:GOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),NPe(E),Dne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:Dne.jsxs(BOe,{content:Dne.jsx(iLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Tse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[Dne.jsx(RPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[GOi]}),Dne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Dne.jsx("div",{className:"query-builder__variables__variable__icon",children:Dne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Dne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Dne.jsx(Kie,{})})}),Dne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Dne.jsxs("div",{className:Tse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Dne.jsx(Oie,{title:"Calculated Constant"})]}):Dne.jsxs("div",{className:"query-builder__variables__variable__type",children:[Dne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Dne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&Dne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Dne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Dne.jsx(Kne,{})}),Dne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:Dne.jsx(Are,{})}),Dne.jsx(UOi,{variable:t,children:Dne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Dne.jsx(cre,{})})})]})]})})}),sLi=Sse(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs(iLe,{title:"Available parameters",children:[0===i.length&&Dne.jsx(Dne.Fragment,{children:" No available parameters "}),i.map(e=>Dne.jsx(rLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Dne.jsx(iLe,{title:"Available constants",children:r.map(e=>Dne.jsx(rLi,{variable:e.variable,value:{val:e instanceof iOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),oLi=Sse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{Vct(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=ePe(()=>({accept:[GOi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Zw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof KE&&kct(e,d)&&e.func.value.genericType.value.rawType instanceof wS&&d.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:clt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Uw(js(e.func.value.genericType.value.rawType,wS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof JE&&!Lct(t,i,n.getValue(),d.milestoningState)){const n=new JE(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Vct(js(e,KE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Dne.jsxs("div",{className:"panel__content__form__section",children:[Dne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Dne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Dne.jsx("div",{className:"query-builder__variable-editor",children:Dne.jsx(wPe,{isDragOver:l,dropTargetConnector:c,children:Dne.jsx(eLi,{valueSpecification:h,setValueSpecification:e=>{Vct(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{Vct(t.propertyExpression,Mct(t,r)??kCi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),Dne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),aLi=Sse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Dne.jsxs("div",{className:"query-builder-property-editor__section",children:[Dne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Dne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Dne.jsx(oLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),lLi=Sse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Dne.jsx(Xye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Dne.jsx(TOe,{title:"Derived Property"}),Dne.jsxs(NOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Dne.jsx(aLi,{derivedPropertyExpressionState:e},e.path)),Dne.jsx(NOe,{className:"query-builder__variables__modal__body",children:Dne.jsx(sLi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(Zw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{text:"Done",onClick:i})})]})})}),cLi=Sse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Dne.jsx("div",{className:"query-builder__property__name__display",title:n,children:Dne.jsx("span",{className:Tse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),dLi=Sse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?Dne.jsx("div",{className:"query-builder__property__name__editor",children:Dne.jsx(qwe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Dne.jsx(cLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),uLi=Sse(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return Dne.jsx("div",{className:"query-builder-property-expression-badge",children:Dne.jsxs("div",{className:Tse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof wS,"query-builder-property-expression-badge__content--enumeration":s instanceof RS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Dne.jsx(dLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:ICi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Dne.jsxs("button",{className:Tse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&Dne.jsx(cre,{})," (...)"]}),Dne.jsx(lLi,{propertyExpressionState:n})]})})}),hLi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return Dne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Dne.jsx(Tre,{className:"query-builder-panel-issue-count-badge__icon"}),Dne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},pLi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Dne.jsx(Xne,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Dne.jsx(Nre,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Dne.jsx(lre,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Dne.jsx(zie,{className:"query-builder-column-badge__icon"})}else if(e instanceof RS)return Dne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},gLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof zCi||e instanceof PEi)return nS.ONE;if(e instanceof VCi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Dne.jsx(Kbe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:Qw(s)})]})]}),children:i})},mLi=(e,t)=>{switch(t){case FCi:return e.columnState.getColumnType();case $wi.ENUM_PROPERTY:case $wi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case GOi:return e.variable.genericType?.value.rawType;case DEi:return e.columnState.getColumnType();default:return}},fLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi],yLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],vLi=[vSi.CONDITION,$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi],_Li=[vSi.CONDITION,$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],bLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi,GOi],CLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof KE||r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);){let e;r instanceof YE?e=new YE(sS(Nct.SUBTYPE)):(e=new KE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,ME)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof KE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new ME(o[l],nS.ONE)),l++)}if(n)if(n instanceof ASi){const e=a.findIndex(e=>e instanceof KE&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof ASi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof ASi){const i=a.findIndex(t=>t instanceof KE&&e instanceof ASi&&t.func.value===js(e,ASi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof RSi?t.newGroupConditionFromNode(n):n instanceof TSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof RSi?t.newGroupConditionFromNode(n):n instanceof TSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new ASi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new ESi(t,a[a.length-1]),d=new RSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof ISi&&t.removeNodeAndPruneBranch(n)},SLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof ASi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new KE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS(Nct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}return js(OSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),KE)},ELi=(e,t,n)=>{if(_Si(e)){const i=ICi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:llt.CAUTION,actions:[{label:"Cancel",type:clt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:clt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>CLi(e,t,n))}]})}else{const i=new ESi(t,e),r=new RSi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof ASi&&(s=o);if(o instanceof ASi&&(s=o),n instanceof TSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof ISi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof ASi)t.newGroupConditionFromNode(s,r);else if(n instanceof RSi){const e=t.getParentNode(n);if(s&&e instanceof ASi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,lSi.AND);else if(s&&e instanceof TSi){const i=SLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);CLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},wLi=Sse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===lSi.AND?"AND":"OR";return Dne.jsx("div",{className:"dnd__entry__container",children:Dne.jsx(APe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Dne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===lSi.AND?lSi.OR:lSi.AND)},children:Dne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),xLi=Sse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Dne.jsx("div",{className:"dnd__entry__container",children:Dne.jsx(APe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Dne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Dne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:ICi(t.propertyExpressionState.propertyExpression,n)}),Dne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Dne.jsxs("button",{className:Tse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&Dne.jsx(cre,{})," (...)"]}),Dne.jsx(lLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),TLi=Sse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Dne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Dne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Dne.jsx("div",{className:Tse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof wS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof RS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:pLi(i)}),Dne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Dne.jsx(uLi,{propertyExpressionState:t.propertyExpressionState})}),Dne.jsx(gwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Dne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Dne.jsx(eie,{})})]})})}),ALi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof $Ii)&&!(n instanceof qIi)&&Jct(e,i)},NLi=Sse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Aat(),l=NSi(t),c=n.useCallback((e,n)=>{const i=mLi(e,n);if(void 0!==i&&ALi(i,t.condition))try{if((n===FCi||n===$wi.ENUM_PROPERTY||n===$wi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===FCi){const n=e.columnState;if(!(n instanceof VCi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(_Si(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new LCi(s,wCi(e,s.observerContext)))}}else if(n===$wi.ENUM_PROPERTY||n===$wi.PRIMITIVE_PROPERTY){const n=e.node,i=new LCi(s,Jwi(n,t.condition.filterState.queryBuilderState.explorerState));if(_Si(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===GOi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=ePe(()=>({accept:bLi,canDrop:(e,n)=>ALi(mLi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);u(h);const{isFilterValueDroppable:p}=XMe(e=>({isFilterValueDroppable:e.isDragging()&&bLi.includes(e.getItemType()?.toString()??"")&&ALi(mLi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>gi(e=>{const n=RCi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Dne.jsx("div",{className:"dnd__entry__container","data-testid":fwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Dne.jsx(APe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Dne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Dne.jsx(uLi,{propertyExpressionState:t.condition.propertyExpressionState})}),Dne.jsxs(VOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Dne.jsx(OOe,{children:t.condition.operators.map(e=>{return Dne.jsx(LOe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Dne.jsx(Mie,{})})]}),o instanceof CSi&&o.value?Dne.jsx("div",{ref:h,"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Dne.jsx(APe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Dne.jsx(tLi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof SSi?Dne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Dne.jsx(APe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Dne.jsx(TLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),RLi=Sse(e=>{const{isDragOver:t,isDroppable:n}=e;return Dne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Dne.jsx(APe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Dne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ILi=Sse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Dne.jsxs(OOe,{ref:t,children:[i instanceof TSi&&Dne.jsx(LOe,{onClick:()=>{r.addNodeFromNode(new ISi(void 0),i)},children:"Add New Condition"}),i instanceof TSi&&Dne.jsx(LOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof RSi&&Dne.jsx(LOe,{onClick:()=>{Cct.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Dne.jsx(LOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),DLi=Sse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Aat(),d=s.filterState,u=n.useCallback((e,n)=>{if(vSi.CONDITION===n){const n=e.node,i=new RSi(void 0,d.nodes.get(n.id).condition);t instanceof ISi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof RSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof TSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===FCi){if(!(e.columnState instanceof VCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=wCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=Jwi(e.node,d.queryBuilderState.explorerState);i=new ESi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof xSi||t instanceof RSi||t instanceof ISi)&&ELi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=ePe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?vLi:_Li,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=KMe(()=>({type:t instanceof TSi?vSi.GROUP_CONDITION:t instanceof RSi?vSi.CONDITION:vSi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof RSi||t instanceof ISi}),[t,d]);m(g(o)),NPe(f);const{isDroppable:y}=XMe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?vLi:_Li).includes(e.getItemType()?.toString()??"")})),v=t instanceof ASi&&0===t.childrenIds.length,_=t instanceof RSi||t instanceof ISi||v;return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Tse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof TSi,"query-builder-filter-tree__node__container--condition":t instanceof RSi||t instanceof ISi,"query-builder-filter-tree__node__container--exists":t instanceof ASi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Dne.jsxs(BOe,{content:Dne.jsx(ILi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof RSi||t instanceof ISi?()=>i?.(t):void 0,children:[t instanceof TSi&&Dne.jsx(wLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof ASi&&Dne.jsx(xLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof RSi&&Dne.jsx(NLi,{node:t,isDragOver:p}),t instanceof ISi&&Dne.jsx(RLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&Dne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Dne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Dne.jsx(Are,{})})})]})})}),kLi=Sse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Tse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof TSi,"query-builder-filter-tree__node__block--exists":t instanceof ASi}),children:[Dne.jsx(DLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Dne.jsx(kLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),OLi=Sse(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof xSi?e.childrenIds.map(e=>n.getNode(e)):[];return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Dne.jsx(kLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),LLi=Sse(e=>{const{queryBuilderState:t}=e,i=Aat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof TSi),{isDroppable:a}=XMe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?fLi:yLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===FCi){if(!(e.columnState instanceof VCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=wCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=Jwi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),ELi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=ePe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?fLi:yLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Dne.jsxs("div",{className:"panel__header",children:[Dne.jsxs("div",{className:"panel__header__title",children:[Dne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Dne.jsx(hLi,{issues:r.allValidationIssues})]}),Dne.jsx("div",{className:"panel__header__actions",children:Dne.jsx(VOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Dne.jsxs(OOe,{children:[Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new ISi(void 0),r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(vre,{})}),Dne.jsx(FOe,{children:"Create Condition"})]}),Dne.jsxs(LOe,{disabled:!(r.selectedNode instanceof RSi),onClick:()=>{Cct.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof RSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(Gre,{})}),Dne.jsx(FOe,{children:"Create Group From Condition"})]}),Dne.jsxs(LOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Cct.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(mre,{})}),Dne.jsx(FOe,{children:"Create Logical Group"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Rre,{})}),Dne.jsx(FOe,{children:"Cleanup Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Gie,{})}),Dne.jsx(FOe,{children:"Simplify Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Dne.jsx(POe,{children:Dne.jsx(jie,{})}),Dne.jsx(FOe,{children:"Collapse Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Jie,{})}),Dne.jsx(FOe,{children:"Expand Tree"})]})]}),children:Dne.jsx(Zne,{className:"query-builder__icon__more-options"})})})]}),Dne.jsx(KOe,{children:Dne.jsxs(wPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Dne.jsx(oLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(RPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(vSi)}),Dne.jsx(OLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Dne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Dne.jsx(APe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Dne.jsx(Dne.Fragment,{})})})]})})]})}),MLi=Sse(e=>{const{resultState:t}=e,i=Aat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Dne.jsx(Xye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Dne.jsxs(wOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(TOe,{title:"Query Usage"}),Dne.jsx(NOe,{className:"query-builder__usage-viewer__body",children:Dne.jsxs(Dne.Fragment,{children:[0===r.length?Dne.jsx(rLe,{children:"Query usage is not available"}):Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Dne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Dne.jsxs("button",{className:Tse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&Dne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Dne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Dne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Dne.jsx(QOe,{})]})}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var PLi;function FLi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=FLi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(PLi||(PLi={}));var BLi,VLi={exports:{}},ULi={};var GLi,HLi,zLi={};
901
+ `})}),$bi=Sse(e=>{const{view:t}=e,n=t.grid.scrollHintText,i=document.querySelector(".data-cube-grid .ag-side-bar"),r=document.querySelector(".data-cube-grid .ag-body-vertical-scroll");return Dne.jsxs("div",{className:"absolute -top-10 flex items-center rounded-sm border border-neutral-300 bg-neutral-100 p-1 pr-2 text-neutral-500 shadow-sm",style:{right:(null!==i?i.getBoundingClientRect().width+6:10)+(null!==r?r.getBoundingClientRect().width:0)},children:[Dne.jsx(Pwe,{className:"text-lg"}),Dne.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),qbi=Sse(e=>{const{view:t}=e,n=mbi(),i=t.grid;return Dne.jsxs("div",{className:"relative flex h-5 w-full select-none justify-between border-b border-neutral-200 bg-neutral-100",children:[Boolean(i.scrollHintText)&&Dne.jsx($bi,{view:t}),Dne.jsx("div",{}),Dne.jsxs("div",{className:"flex h-full items-center",children:[Dne.jsx("div",{className:"flex h-full items-center px-2 font-mono text-sm text-neutral-500",children:i.clientDataSource.rowCount?`Rows: ${i.clientDataSource.rowCount}`:""}),void 0!==i.rowLimit&&i.configuration.showWarningForTruncatedResult&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Dne.jsx(Hwe,{className:"stroke-[3px]"}),Dne.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Dne.jsx(nCe,{checked:i.isPaginationEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:BEe("w-2 h-2",{"bg-sky-600":i.isPaginationEnabled,"bg-neutral-500":!i.isPaginationEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:BEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isPaginationEnabled,"!bg-neutral-100 border-neutral-500":!i.isPaginationEnabled})},disableRipple:!0,disableFocusRipple:!0}),Dne.jsx("div",{className:BEe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Dne.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Dne.jsx(nCe,{checked:i.isCachingEnabled,classes:{root:"p-0 w-6 h-5 flex items-center",input:"w-2",checked:"!translate-x-2 ease-in-out duration-100 transition",thumb:BEe("w-2 h-2",{"bg-sky-600":i.isCachingEnabled,"bg-neutral-500":!i.isCachingEnabled}),switchBase:"p-0.5 mt-1 translate-x-0 ease-in-out duration-100 transition",track:BEe("h-3 w-5 border",{"!bg-sky-100 border-sky-600":i.isCachingEnabled,"!bg-neutral-100 border-neutral-500":!i.isCachingEnabled})},disableRipple:!0,disableFocusRipple:!0,disabled:t.processCacheState.isInProgress,title:t.processCacheState.isInProgress?"Processing cache...":""}),Dne.jsxs("div",{className:BEe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Dne.jsx(fbi,{})]})]})]})]})]})}),Ybi=Sse(e=>{const{view:t}=e,n=t.grid;return"production"===process.env.NODE_ENV||n.isClientConfigured||(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Dne.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Dne.jsx(jsi,{theme:"legacy",className:"data-cube-grid ag-theme-quartz",rowModelType:"serverSide",serverSideDatasource:n.clientDataSource,context:{view:t},onGridReady:e=>{n.configureClient(e.api).catch(e=>t.alertService.alertUnhandledError(e)),"production"!==process.env.NODE_ENV&&(console.error=Hbi)},modules:[Vri,t_i],...yJn(t)})})}),Kbi=Sse(e=>{const{view:t}=e,n=t.grid.configuration;return Dne.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Dne.jsx(jbi,{configuration:n}),Dne.jsx(Ybi,{view:t}),Dne.jsx(qbi,{view:t})]})}),Xbi=Sse(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case wdt.MULTIDIMENSIONAL:return Dne.jsx(Gbi,{view:t});case wdt.STANDARD:return Dne.jsx(Kbi,{view:t});default:return Dne.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),Zbi=Sse(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Dne.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Dne.jsxs("div",{className:"flex",children:[Dne.jsxs("button",{className:"flex items-center px-2 text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.editor.display.open(),t?.dataCube.telemetryService.sendTelemetry(ldt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Adt.STATUS_BAR})},disabled:!t,children:[Dne.jsx(Twe,{className:"text-xl"}),Dne.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Dne.jsx("div",{className:"flex",children:Dne.jsxs("button",{className:"flex items-center text-sky-600 hover:text-sky-700 disabled:text-neutral-400",onClick:()=>{t?.filter.display.open(),t?.dataCube.telemetryService.sendTelemetry(ldt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:Adt.STATUS_BAR})},disabled:!t||nut(t.info.configuration.gridMode),children:[Dne.jsx(Dwe,{className:"text-lg"}),Dne.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Dne.jsx("div",{className:"flex items-center px-2",children:Dne.jsx("div",{className:"flex h-3.5 w-48 border-[0.5px] border-neutral-300",title:void 0!==i&&i.length>0?i.length>1?i.map((e,t)=>`Task ${t+1}/${i.length}: ${e.description}`).join("\n"):vo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Dne.jsx(n_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),Qbi=Sse(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=UOe(),[c,d]=n.useState([...r??[]]);return Dne.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Dne.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Dne.jsx(lwe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Dne.jsx("div",{className:"truncate",children:i})]}),Dne.jsxs("div",{className:"flex w-full flex-auto",children:[t,Dne.jsx("button",{className:"flex aspect-square h-full flex-shrink-0 items-center justify-center text-lg disabled:text-neutral-400",onClick:e=>{const t=s?.()??[];t.length&&t.unshift(Bbi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Dne.jsx(Swe,{})}),Dne.jsx(GOe,{...l,menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},classes:{paper:"rounded-none mt-[1px]",list:"w-40 p-0 rounded-none border border-neutral-400 bg-white overflow-y-auto py-0.5"}},children:c.map((e,t)=>Js(e)?Dne.jsx(HOe,{className:"flex h-[22px] w-full items-center px-2.5 text-base hover:bg-neutral-100 focus:bg-neutral-100",onClick:()=>{e.action(),a()},disabled:Boolean(e.disabled),children:e.label},t):e===Bbi.SEPARATOR?Dne.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),Jbi=e=>{const{message:t,prompt:n}=e;return Dne.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Dne.jsx("div",{className:"mr-3",children:Dne.jsx(qEe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Dne.jsxs("div",{children:[Dne.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Dne.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},eCi=Sse(e=>{const{children:t,taskManager:n}=e;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Dne.jsx(Zbi,{taskManager:n})]})}),tCi=Sse(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Dne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":adt.PLACEHOLDER,children:[Dne.jsx(Qbi,{title:n,menuItems:i,children:r??null}),Dne.jsx(eCi,{taskManager:o,children:t}),s?Dne.jsx(Fbi,{layout:s}):null,Dne.jsx(rAn,{})]})}),nCi=Sse(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Dne.jsx(eCi,{children:Dne.jsx(Jbi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(Xbi,{view:t}),Dne.jsx(Zbi,{view:t})]})}),iCi=Sse(()=>{const e=mbi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(ldt.SELECT_ITEM_TITLE_BAR,{...t.engine.getDataFromSource(t.getInitialSource()),menuName:e})};return n.useEffect(()=>{e.view.initialize(e.specification).catch(t=>e.logService.logUnhandledError(t))},[e]),Dne.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Dne.jsx(Qbi,{title:t.info.name,menuItems:[{label:Tdt.UNDO,action:()=>{e.view.snapshotService.undo(),i(Tdt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:Tdt.REDO,action:()=>{e.view.snapshotService.redo(),i(Tdt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:Tdt.SETTINGS,action:()=>{e.settingService.display.open(),i(Tdt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Dne.jsx(nCi,{view:t}),Dne.jsx(Fbi,{layout:e.layoutService.manager}),Dne.jsx(rAn,{})]})}),rCi=Sse(e=>{const{specification:t,engine:i,options:r}=e,s=wse(()=>new hbi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Dne.jsx(gbi,{value:s,children:Dne.jsx(iCi,{},s.uuid)}):Dne.jsx(tCi,{title:Ddt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Dne.jsx(Jbi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var sCi,oCi,aCi,lCi,cCi,dCi;!function(e){e.ABSOLUTE_DATE="Absolute Date",e.ABSOLUTE_TIME="Absolute Time",e.TODAY="Today",e.NOW="Now",e.YESTERDAY="Yesterday",e.ONE_YEAR_AGO="One Year Ago",e.ONE_MONTH_AGO="One Month Ago",e.ONE_WEEK_AGO="One Week Ago",e.CUSTOM_DATE="Custom Date",e.PREVIOUS_DAY_OF_WEEK="Previous ... of Week",e.FIRST_DAY_OF="First day of...",e.LATEST_DATE="Latest Date"}(sCi||(sCi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(oCi||(oCi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(aCi||(aCi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(lCi||(lCi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(cCi||(cCi={})),function(e){e.TODAY="Today",e.NOW="Now",e.FIRST_DAY_OF_THIS_YEAR="Start of Year",e.FIRST_DAY_OF_QUARTER="Start of Quarter",e.FIRST_DAY_OF_MONTH="Start of Month",e.FIRST_DAY_OF_WEEK="Start of Week",e.PERVIOUS_DAY_OF_WEEK="Previous Day of Week"}(dCi||(dCi={}));class uCi{label;value;constructor(e,t){this.label=e,this.value=t}}class hCi extends uCi{duration;unit;direction;referenceMoment;constructor(e,t,n,i,r,s){super(e,t),this.duration=n,this.unit=i,this.direction=r,this.referenceMoment=s}generateDisplayLabel(){return[this.duration,this.unit,this.direction,this.referenceMoment].join(" ")}updateLabel(){this.label=this.generateDisplayLabel()}}class pCi extends uCi{unit;constructor(e,t){super(e,sCi.FIRST_DAY_OF),this.unit=t}}class gCi extends uCi{day;constructor(e,t){super(e,sCi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const mCi=[new hCi("Yesterday",sCi.YESTERDAY,1,oCi.DAYS,cCi.BEFORE,dCi.TODAY),new hCi("One Week Ago",sCi.ONE_WEEK_AGO,1,oCi.WEEKS,cCi.BEFORE,dCi.TODAY),new hCi("One Month Ago",sCi.ONE_MONTH_AGO,1,oCi.MONTHS,cCi.BEFORE,dCi.TODAY),new hCi("One Year Ago",sCi.ONE_YEAR_AGO,1,oCi.YEARS,cCi.BEFORE,dCi.TODAY)],fCi=e=>Object.values(Nct).find(t=>lS(e,t)),yCi=(e,t,n)=>{if(e instanceof gCi){const i=new YE(Nct.PREVIOUS_DAY_OF_WEEK);Pct(i,yS.create(new ES(gS.DATE)));const r=new BE(yS.create(new ES(t.getType(xct.DAY_OF_WEEK))));return Wct(r,[...r.values,BS.create(Gs(t.getEnumeration(xct.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Uct(i,r,n),i}if(e instanceof pCi)switch(e.unit){case aCi.YEAR:{const e=new YE(Nct.FIRST_DAY_OF_THIS_YEAR);return Pct(e,yS.create(new ES(gS.DATE))),e}case aCi.QUARTER:{const e=new YE(Nct.FIRST_DAY_OF_QUARTER);return Pct(e,yS.create(new ES(gS.STRICTDATE))),e}case aCi.MONTH:{const e=new YE(Nct.FIRST_DAY_OF_THIS_MONTH);return Pct(e,yS.create(new ES(gS.DATE))),e}case aCi.WEEK:{const e=new YE(Nct.FIRST_DAY_OF_WEEK);return Pct(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for 'First Day Of ...' date picker option for unit '${e.unit}'`)}else switch(e.value){case sCi.TODAY:return CCi(Nct.TODAY,gS.STRICTDATE);case sCi.NOW:return CCi(Nct.NOW,gS.DATETIME);case dCi.FIRST_DAY_OF_THIS_YEAR:{const e=new YE(Nct.FIRST_DAY_OF_THIS_YEAR);return Pct(e,yS.create(new ES(gS.DATE))),e}case dCi.FIRST_DAY_OF_QUARTER:{const e=new YE(Nct.FIRST_DAY_OF_QUARTER);return Pct(e,yS.create(new ES(gS.STRICTDATE))),e}case dCi.FIRST_DAY_OF_MONTH:{const e=new YE(Nct.FIRST_DAY_OF_THIS_MONTH);return Pct(e,yS.create(new ES(gS.DATE))),e}case dCi.FIRST_DAY_OF_WEEK:{const e=new YE(Nct.FIRST_DAY_OF_WEEK);return Pct(e,yS.create(new ES(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},vCi=(e,t)=>{const n=t.getEnumeration(xct.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(oCi).filter(t=>oCi[t]===e)[0])[0];return i??Gs(n.values[0])},_Ci=(e,t)=>{if(e instanceof YE&&lS(e.functionName,Nct.ADJUST)||e instanceof uA&&lS(e.function,Nct.ADJUST))try{const t=new hCi("",sCi.CUSTOM_DATE,(e=>{if(e instanceof YE){const t=e.parametersValues[1];return t instanceof FE?t.values[0]:t instanceof YE&&lS(t.functionName,Nct.MINUS)&&t.parametersValues[0]instanceof FE?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof mA?t.value:t instanceof uA&&lS(t.function,Nct.MINUS)&&t.parameters[0]instanceof mA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof YE?Object.keys(oCi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>oCi[e])[0]:Object.values(oCi).filter(t=>t===js(e.parameters[2],WA).property)[0]))(e),(n=e)instanceof YE?n.parametersValues[1]instanceof YE&&lS(n.parametersValues[1].functionName,Nct.MINUS)?cCi.BEFORE:cCi.AFTER:n.parameters[1]instanceof uA&&lS(n.parameters[1].function,Nct.MINUS)?cCi.BEFORE:cCi.AFTER,(e=>{const t=e instanceof YE?e.parametersValues[0].functionName:e.parameters[0].function;switch(fCi(t)){case Nct.TODAY:return dCi.TODAY;case Nct.NOW:return dCi.NOW;case Nct.FIRST_DAY_OF_THIS_YEAR:return dCi.FIRST_DAY_OF_THIS_YEAR;case Nct.FIRST_DAY_OF_QUARTER:return dCi.FIRST_DAY_OF_QUARTER;case Nct.FIRST_DAY_OF_THIS_MONTH:return dCi.FIRST_DAY_OF_MONTH;case Nct.FIRST_DAY_OF_WEEK:return dCi.FIRST_DAY_OF_WEEK;case Nct.PREVIOUS_DAY_OF_WEEK:return dCi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=mCi.filter(e=>e.generateDisplayLabel()===t.generateDisplayLabel());return i.length>0?(t.label=Gs(i[0]?.label),t.value=Gs(i[0]?.value),t):(t.updateLabel(),t)}catch(e){Kr(e),t.notificationService.notifyError(e)}var n;return new hCi("","",0,void 0,void 0,void 0)},bCi=(e,t)=>{if(!(e instanceof YE||e instanceof uA)){if(e instanceof FE)return e.genericType.value.rawType.path===TC.LATESTDATE?new uCi(sCi.LATEST_DATE,sCi.LATEST_DATE):new uCi(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?sCi.ABSOLUTE_TIME:sCi.ABSOLUTE_DATE);if(e instanceof SA)return new uCi(sCi.LATEST_DATE,sCi.LATEST_DATE);if(e instanceof bA)return new uCi(e.value,sCi.ABSOLUTE_DATE);if(e instanceof _A)return new uCi(e.value,sCi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof YE?e.functionName:e.function;switch(fCi(n)){case Nct.TODAY:return new uCi(sCi.TODAY,sCi.TODAY);case Nct.NOW:return new uCi(sCi.NOW,sCi.NOW);case Nct.FIRST_DAY_OF_THIS_YEAR:return new pCi(dCi.FIRST_DAY_OF_THIS_YEAR,aCi.YEAR);case Nct.FIRST_DAY_OF_QUARTER:return new pCi(dCi.FIRST_DAY_OF_QUARTER,aCi.QUARTER);case Nct.FIRST_DAY_OF_THIS_MONTH:return new pCi(dCi.FIRST_DAY_OF_MONTH,aCi.MONTH);case Nct.FIRST_DAY_OF_WEEK:return new pCi(dCi.FIRST_DAY_OF_WEEK,aCi.WEEK);case Nct.PREVIOUS_DAY_OF_WEEK:const n=e instanceof YE?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],WA).property;return new gCi(`Previous ${n}`,n);case Nct.ADJUST:return _Ci(e,t);default:return new uCi("","")}}},CCi=(e,t)=>{const n=new YE(e);return Pct(n,yS.create(new ES(t))),n},SCi=(e,t,n,i)=>{const r=new FE(yS.create(new ES(e.getPrimitiveType(t))));return Wct(r,[n],i),r},ECi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},wCi=(e,t)=>{const n=new KE(e.functionName);return Gct(n,zS.create(Gs(e.func.value))),Bct(n,e.parametersValues.map(e=>ECi(e)),t),n},xCi=(e,t,n,i)=>{const r=t.path;switch(r){case TC.STRING:case TC.STRICTDATE:case TC.DATETIME:case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return SCi(e,r,i?edt(r):null,n);case TC.BOOLEAN:return SCi(e,r,edt(r),n);case TC.DATE:return SCi(e,TC.STRICTDATE,i?edt(r):null,n);default:if(t instanceof RS){const e=new BE(yS.create(new ES(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);Wct(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},TCi=(e,t)=>Q3(((e,t)=>{const n=new ZE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=xCi(e,gS.STRING,t,!0),n})(e.graph,t),e),ACi=(e,t,n,i)=>{const r=e.genericType?.value.rawType,s=e.multiplicity;if((!s.upperBound||s.upperBound>1)&&r&&r!==gS.BYTE)return new VE(s,yS.create(new ES(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?CCi(Nct.NOW,gS.DATETIME):i===TC.STRICTDATE?CCi(Nct.TODAY,gS.STRICTDATE):i===TC.DATE?SCi(t,TC.STRICTDATE,edt(i),n):SCi(t,i,edt(i),n)})(r,t,n);if(r instanceof RS){const e=new BE(yS.create(new ES(r))),t=(o=r,(new Bm).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Wct(e,[BS.create(Gw(r,t))],n),e}var o},NCi=(e,t,n)=>{if(e instanceof FE)return Xw(e.genericType.value.rawType,gS.DATE)?bCi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof BE){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof ME?e.name:e instanceof JE?NCi(e.getValue(),t,n):e instanceof YE?void 0!==e.genericType?.value.rawType&&Xw(e.genericType.value.rawType,gS.DATE)?bCi(e,t).label:e.functionName:e instanceof VE?e.values.map(e=>NCi(e,t,n)).join(","):void 0},RCi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new FE(yS.create(new ES(e))),Wct(i,[t.toString()],n);break;case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.INTEGER:{if(isNaN(Number(t)))return null;const r=e.path===TC.INTEGER?Number.parseInt(Number(t).toString(),10):Number(t);i=new FE(yS.create(new ES(e))),Wct(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new FE(yS.create(new ES(e))),Wct(i,[t],n);break;case TC.DATETIME:if(isNaN(Date.parse(t))||!new Date(t).getTime()||t.includes("%")&&(isNaN(Date.parse(t.slice(1)))||!new Date(t.slice(1)).getTime()))return null;i=new FE(yS.create(new ES(e))),Wct(i,[t],n);break;default:return null}return i},ICi=(e,t)=>{const n=t?Cp:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof KE;){for(r=r.parametersValues[0];r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof KE&&i.unshift(n(r.func.value.name))}const s=[];for(const e of i)if(s.length){const t=Gs(s[s.length-1]);t.startsWith(CC)?s[s.length-1]=`${t}${e}`:s.push(e)}else s.push(e);return s.join(t?"/":".")},DCi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof KE;)n=n.parametersValues[0],n instanceof KE&&t.unshift(n.func.value.name);return t.join(".")},kCi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof RS)return r===gS.LATESTDATE?new FE(yS.create(new ES(r))):xCi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new VE(nS.ZERO,yS.create(new ES(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class OCi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=DCi(t),this.title=ICi(t,!0),this.propertyExpression=zee(t,e.observerContext),this.queryBuilderState=e,this.derivedProperty=js(t.func.value,US),this.propertyExpressionState=n,Array.isArray(this.derivedProperty.parameters)&&(this.parameters=this.derivedProperty.parameters.map(e=>js(this.queryBuilderState.graphManagerState.graphManager.buildValueSpecification(e,this.queryBuilderState.graphManagerState.graph),ME))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Mct(e,i)??Gs(t[i]):t.push(Mct(e,i)??kCi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Bct(e.propertyExpression,[Gs(e.propertyExpression.parametersValues[0]),...t],e.queryBuilderState.observerContext)})(this)}get property(){return this.propertyExpression.func.value}get parameterValues(){return this.propertyExpression.parametersValues.slice(1)}get isValid(){return this.parameterValues.every(e=>!(e instanceof PE)||Kct(e))}}class LCi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){c_(this,{isEditingDerivedPropertyExpression:xy,derivedPropertyExpressionStates:xy,setIsEditingDerivedProperty:Ov,initDerivedPropertyExpressionStates:Ov,isValid:Ry,hashCode:Ry}),this.queryBuilderState=e,this.propertyExpression=zee(t,e.observerContext),this.path=DCi(t),this.title=ICi(t,!0),this.initDerivedPropertyExpressionStates()}get isValid(){return this.derivedPropertyExpressionStates.every(e=>e.isValid)}setIsEditingDerivedProperty(e){this.isEditingDerivedPropertyExpression=e}initDerivedPropertyExpressionStates(){let e=!1;const t=[];let n=this.propertyExpression;for(;n instanceof KE;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof wS&&0!==n.func.value._OWNER._generatedMilestonedProperties.length){const e=n.func.value.name,t=n.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===e);t&&Gct(n,zS.create(t))}if(n.func.value instanceof US){const e=new OCi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return bg([odt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class MCi{uuid=ho()}class PCi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){c_(this,{lambdaString:xy,parserError:xy,compilationError:xy,typeAheadEnabled:xy,lambdaId:Ry,fullLambdaString:Ry,setLambdaString:Ov,setTypeAhead:Ov,clearErrors:Ov,setCompilationError:Ov,setParserError:Ov,convertLambdaGrammarStringToObject:Xv,convertLambdaObjectToGrammarString:Xv}),this.lambdaString=e,this.lambdaPrefix=t,this.typeAheadEnabled=n?.typeAheadEnabled??!1}get fullLambdaString(){return`${this.lambdaPrefix}${this.lambdaString}`}setLambdaString(e){this.lambdaString=e}setTypeAhead(e){this.typeAheadEnabled=e}clearErrors(e){this.setParserError(void 0),e?.preserveCompilationError&&this.compilationError?this.compilationError.sourceInformation=void 0:this.setCompilationError(void 0)}setCompilationError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.compilationError=e}setParserError(e){e?.sourceInformation&&(e.sourceInformation=this.processSourceInformation(e.sourceInformation)),this.parserError=e}processSourceInformation(e){const{sourceId:t,startLine:n,startColumn:i,endLine:r,endColumn:s}=e,o=this.lambdaPrefix.length;return new pQ(t,n+0,i-(1===n?o:0),r+0,s-(1===r?o:0))}extractLambdaString(e){return e.substring(e.indexOf(this.lambdaPrefix)+this.lambdaPrefix.length,e.length)}async getCodeComplete(e){return Promise.resolve(new K0)}}const FCi="PROJECTION_COLUMN";class BCi extends MCi{tdsState;columnName;wavgWeight;constructor(e,t){super(),c_(this,{uuid:!1,tdsState:!1,columnName:xy,wavgWeight:xy,setColumnName:Ov,setWavgWeight:Ov,hashCode:Ry}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class VCi extends BCi{lambdaParameterName=Sct;propertyExpressionState;constructor(e,t,n){super(e,""),c_(this,{lambdaParameterName:xy,propertyExpressionState:xy,setLambdaParameterName:Ov,changeProperty:Ov}),this.propertyExpressionState=new LCi(e.queryBuilderState,t),this.columnName=ICi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>rdt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new LCi(this.tdsState.queryBuilderState,Jwi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=ICi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return bg([odt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class UCi extends PCi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Bee([fct.QUERY_BUILDER,fct.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=pj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId);this.setParserError(void 0),this.derivationProjectionColumnState.setLambda(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.derivationProjectionColumnState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.derivationProjectionColumnState.lambda.body)try{const t=new Map;t.set(this.lambdaId,new DE(this.derivationProjectionColumnState.lambda.parameters,this.derivationProjectionColumnState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e?.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class GCi extends BCi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=hb.create();constructor(e,t){super(e,"(derivation)"),c_(this,{lambda:xy,returnType:xy,fetchingLambdaReturnTypeState:xy,setLambda:Ov,fetchDerivationLambdaReturnType:Xv,setLambdaReturnType:Ov}),this.derivationLambdaEditorState=new UCi(e.queryBuilderState,this),this.lambda=t}setLambda(e){this.lambda=e}setReturnType(e){this.returnType=e}*fetchDerivationLambdaReturnType(e){if(e?.forceRefresh||void 0===this.returnType)try{Ks(!this.fetchingLambdaReturnTypeState.isInProgress,"Fetching lambda return type already in progress"),this.fetchingLambdaReturnTypeState.inProgress(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(this),e?.forceConversionStringToLambda&&(yield this.derivationLambdaEditorState.convertLambdaGrammarStringToObject().catch(this.tdsState.queryBuilderState.applicationStore.alertUnhandledError)),Ks(Array.isArray(this.lambda.parameters));const t=this.tdsState.queryBuilderState.graphManagerState.graph,n=this.getIsolatedRawLambda(),i=yield this.tdsState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(n,t);this.setLambdaReturnType(i)}catch(e){Kr(e),this.tdsState.queryBuilderState.applicationStore.logService.info(vb.create(sw.COMPILATION_FAILURE),e)}finally{this.fetchingLambdaReturnTypeState.complete(),e?.isBeingDropped&&this.tdsState.postFilterState.setDerivedColumnBeingDropped(void 0)}}getIsolatedRawLambda(){Ks(Array.isArray(this.lambda.parameters));const e=this.lambda.parameters;Ks(1===e.length);const t=e[0];qs(t.name);const n=this.tdsState.queryBuilderState,i=new kE(t.name,nS.ONE,XC.create(Gs(n.class))),r=n.graphManagerState.graphManager.serializeRawValueSpecification(i),s=n.parametersState.parameterStates.map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e.parameter)),o=n.constantState.constants.map(e=>e.buildLetExpression()).map(e=>n.graphManagerState.graphManager.serializeValueSpecification(e));let a=this.lambda.body;o.length&&(a=Array.isArray(this.lambda.body)?[...o,...this.lambda.body]:[...o,this.lambda.body]);return new DE([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof RS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return bg([odt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class HCi{uuid=ho();constructor(){c_(this,{getOperator:Ry,allValidationIssues:Ry,hashCode:Ry})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof VCi?e.projectionColumnState.propertyExpressionState.propertyExpression:void 0,e.lambdaParameterName,e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)}getReturnType(e){return e.projectionColumnState.getColumnType()}get getOperator(){return this}get allValidationIssues(){return[]}}class zCi extends MCi{aggregationState;projectionColumnState;lambdaParameterName=Sct;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),c_(this,{projectionColumnState:xy,lambdaParameterName:xy,calendarFunction:xy,hideCalendarColumnState:xy,operator:xy,setHideCalendarColumnState:Ov,setColumnState:Ov,setLambdaParameterName:Ov,setOperator:Ov,setCalendarFunction:Ov,handleUsedPostFilterType:Ov,hashCode:Ry}),this.aggregationState=e,this.projectionColumnState=t,this.operator=n}setColumnState(e){this.projectionColumnState=e}setLambdaParameterName(e){this.lambdaParameterName=e}setHideCalendarColumnState(e){this.hideCalendarColumnState=e}setCalendarFunction(e){this.calendarFunction=e}setOperator(e){this.operator=e}getColumnType(){return this.operator.getReturnType(this)}handleUsedPostFilterType(e){void 0===this.getColumnType()&&this.projectionColumnState instanceof GCi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return bg([odt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class WCi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){c_(this,{columns:xy,removeColumn:Ov,addColumn:Ov,changeColumnAggregateOperator:Ov,disableCalendar:Ov,allValidationIssues:Ry,hashCode:Ry}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){Eo(this.columns,e)}addColumn(e){Co(this.columns,e)}changeColumnAggregateOperator(e,t,n){const i=this.columns.find(e=>e.projectionColumnState===t),r=this.operators.filter(e=>e.isCompatibleWithColumn(t));if(e){if(!r.includes(e))return;if(i){if(!n){const n=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(`${n} (${e.getLabel(t)})`)}i.setOperator(e.getOperator)}else{n||t.setColumnName(`${t.columnName} (${e.getLabel(t)})`);const i=new zCi(this,t,e.getOperator);i.setOperator(e.getOperator),this.addColumn(i),this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),this.tdsState.projectionColumns.length-1)}}else if(i){if(!n){const e=i.projectionColumnState.columnName.split(`(${i.operator.getLabel(i.projectionColumnState)})`)[0]??"";i.projectionColumnState.setColumnName(e)}this.tdsState.moveColumn(this.tdsState.projectionColumns.indexOf(t),0),this.removeColumn(i)}}disableCalendar(){this.tdsState.queryBuilderState.setIsCalendarEnabled(!1),this.columns.forEach(e=>{e.setCalendarFunction(void 0),e.setHideCalendarColumnState(!0)})}get allValidationIssues(){return this.columns.map(e=>e.operator.allValidationIssues).flat()}get hashCode(){return bg([odt.AGGREGATION_STATE,bg(this.columns)])}}const jCi=(e,t,n)=>{const i=new YE(sS(e));return i.parametersValues.push(new ME(t,nS.ONE)),i},$Ci=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new zCi(e.tdsState.aggregationState,e,r);s.setLambdaParameterName(t.name),Ks(1===n.parametersValues.length,`Can't process ${sS(i)}() expression: ${sS(i)}() expects no argument`);const o=js(n.parametersValues[0],ME,`Can't process ${sS(i)}() expression: only support ${sS(i)}() immediately following a variable expression`);return Ks(s.lambdaParameterName===o.name,`Can't process ${sS(i)}() expression: expects variable used in lambda body '${o.name}' to match lambda parameter '${s.lambdaParameterName}'`),Ks(r.isCompatibleWithColumn(s.projectionColumnState),`Can't process ${sS(i)}() expression: property is not compatible with operator`),s.setOperator(r),s}};class qCi extends HCi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.AVERAGE,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_AVERAGE])}}class YCi extends HCi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.COUNT,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_COUNT])}}class KCi extends HCi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){const i=new YE(sS(Nct.DISTINCT));i.parametersValues.push(new ME(t,nS.ONE));const r=new YE(sS(Nct.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.COUNT)){const i=new zCi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(1===e.parametersValues.length,"Can't process count() expression: count() expects no argument");const r=js(e.parametersValues[0],YE,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,Nct.DISTINCT),`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following distinct() expression`),Ks(1===r.parametersValues.length,"Can't process distinct() expression: distinct() expects no argument");const s=js(r.parametersValues[0],ME,"Can't process distinct() expression: only support distinct() immediately following a variable expression");return Ks(i.lambdaParameterName===s.name,`Can't process distinct() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process disc expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.INTEGER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class XCi extends HCi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?Nct.DATE_MAX:Nct.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof VCi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,Nct.MAX))return;return $Ci(n,t,e,Nct.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,Nct.DATE_MAX))return;return $Ci(n,t,e,Nct.DATE_MAX,this);default:return}}return lS(e.functionName,Nct.MAX)?$Ci(n,t,e,Nct.MAX,this):lS(e.functionName,Nct.DATE_MAX)?$Ci(n,t,e,Nct.DATE_MAX,this):void 0}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_MAX])}}class ZCi extends HCi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?Nct.DATE_MIN:Nct.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof VCi){switch(n.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:if(!lS(e.functionName,Nct.MIN))return;return $Ci(n,t,e,Nct.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,Nct.DATE_MIN))return;return $Ci(n,t,e,Nct.DATE_MIN,this);default:return}}return lS(e.functionName,Nct.MIN)?$Ci(n,t,e,Nct.MIN,this):lS(e.functionName,Nct.DATE_MIN)?$Ci(n,t,e,Nct.DATE_MIN,this):void 0}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_MIN])}}class QCi extends HCi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class JCi extends HCi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class eSi extends HCi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.SUM,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.SUM,this)}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_SUM])}}class tSi{columnState;sortType=Ict.ASC;constructor(e){c_(this,{columnState:xy,sortType:xy,setColumnState:Ov,setSortType:Ov,hashCode:Ry}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return bg([odt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class nSi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){c_(this,{showModal:xy,limit:xy,distinct:xy,sortColumns:xy,slice:xy.ref,setShowModal:Ov,setLimit:Ov,setDistinct:Ov,setSortColumns:Ov,addSortColumn:Ov,updateSortColumns:Ov,setSlice:Ov,reset:Ov,hashCode:Ry}),this.tdsState=e}setShowModal(e){this.showModal=e}setLimit(e){this.limit=void 0===e||e<=0?void 0:e}setDistinct(e){this.distinct=e}setSortColumns(e){this.sortColumns=e}addSortColumn(e){Co(this.sortColumns,e)}updateSortColumns(){this.sortColumns=this.sortColumns.filter(e=>this.tdsState.tdsColumns.includes(e.columnState))}setSlice(e){this.slice=e}reset(){this.sortColumns=[],this.distinct=!1,this.limit=void 0}get hashCode(){return bg([odt.RESULT_SET_MODIFIER_STATE,bg(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var iSi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(iSi||(iSi={}));class rSi{queryBuilderState;fetchStructureState;constructor(e,t){c_(this,{usedExplorerTreePropertyNodeIDs:Ry,fetchStructureValidationIssues:Ry,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class sSi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const oSi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),aSi=e=>{if(e instanceof RS)return Rct.GET_ENUM;switch(e.path){case TC.STRING:return Rct.GET_STRING;case TC.NUMBER:return Rct.GET_NUMBER;case TC.INTEGER:return Rct.GET_INTEGER;case TC.FLOAT:return Rct.GET_FLOAT;case TC.DECIMAL:return Rct.GET_DECIMAL;case TC.DATE:return Rct.GET_DATE;case TC.DATETIME:return Rct.GET_DATETIME;case TC.STRICTDATE:return Rct.GET_STRICTDATE;case TC.BOOLEAN:return Rct.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var lSi;!function(e){e.AND="and",e.OR="or"}(lSi||(lSi={}));const cSi=e=>{switch(e){case lSi.AND:return Nct.AND;case lSi.OR:return Nct.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},dSi=e=>{if(lS(e,Nct.AND))return lSi.AND;if(lS(e,Nct.OR))return lSi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},uSi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(Rct).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(Rct).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,FE,"Can`t process TDS column expression: Column should be a primitive instance value").values[0],"Can`t process TDS column expression: Column should be a string primitive instance value"),a=oSi(n,o);if(r!==Rct.IS_NULL&&r!==Rct.IS_NOT_NULL){if(a instanceof GCi){const e=iEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof zCi&&a.projectionColumnState instanceof GCi){const e=iEi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(aSi(e)===r,`Can't process TDS column expression: expected column type ${aSi(e)} (got ${r})`)}return a},hSi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof KE&&t.func.value.name===s){const n=uSi(t,e);return r=new uEi(e,n,i),r}if(n&&lS(t.functionName,n)){Ks(2===t.parametersValues.length,`Can't process ${sS(n)}() expression: ${sS(n)}() expects '1 argument'`);const s=t.parametersValues[0];let o;if(s instanceof KE)o=uSi(s,e);else{if(!(s instanceof qE))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=oSi(e.tdsState,t)}}const a=t.parametersValues[1];r=new uEi(e,o,i),((e,t)=>{if(e instanceof KE){const n=Xr(()=>uSi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new dEi(t,n))}const n=e?sdt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new cEi(t,n))})(a,r),Ks(i.isCompatibleWithPostFilterColumn(r),`Can't process ${sS(n)}() expression: property is not compatible with post-filter operator`),Ks(i.isCompatibleWithConditionValue(r),`Operator '${i.getLabel()}' not compatible with value specification ${a?.toString()}`)}return r},pSi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[Nct.AND,Nct.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new oEi(void 0,r),i)}throw new Yr("Can't process post-filter expression: no compatible post-filter operator processer available from plugins")}{const r=new sEi(n,dSi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>pSi(js(e,qE,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},gSi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?RK(r.expressionSequence[0]):void 0,o=new ME(e.postFilterState.lambdaParameterName,nS.ONE);if(s){const e=Gs(s.columns.find(e=>t.columnName===e.name),`Can't find property ${t.columnName} in relation`),n=new qE(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new KE("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=aSi(e)}e.func=zS.create(Gs($w(n.getClass(xct.TDS_ROW)).find(e=>e.name===r)));const a=new FE(yS.create(new ES(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},mSi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=gSi(e,e.leftConditionValue,r,t,i);if(n){const t=new YE(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class fSi extends sSi{getLabel(){return"starts with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.STARTS_WITH,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_START_WITH])}}class ySi extends fSi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var vSi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_FILTER_DND_TYPE.BLANK_CONDITION"}(vSi||(vSi={}));const _Si=e=>{let t=e;for(;t instanceof KE;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof YE&&lS(t.functionName,Nct.SUBTYPE);)t=t.parametersValues[0]}return!1};class bSi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return bg([odt.FILTER_CONDITION_RIGHT_VALUE])}}class CSi extends bSi{value;constructor(e,t){super(e),c_(this,{value:xy,setValue:Ov}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?Yct(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qct(this.value):void 0}setValue(e){return this.value=e?lte(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof VE}get hashCode(){return bg([odt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class SSi extends bSi{propertyExpressionState;constructor(e,t){super(e),c_(this,{propertyExpressionState:xy,changePropertyExpressionState:Ov}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return _Si(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class ESi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){c_(this,{propertyExpressionState:xy,operator:xy,rightConditionValue:xy,existsLambdaParamNames:xy,typeaheadSearchResults:xy,changeOperator:Ov,setOperator:Ov,setRightConditionValue:Ov,addExistsLambdaParamNames:Ov,buildRightConditionValueFromValueSpec:Ov,buildRightConditionValueFromPropertyExpressionState:Ov,handleTypeaheadSearch:Xv,operators:Ry,hashCode:Ry}),this.filterState=e,this.propertyExpressionState=new LCi(e.queryBuilderState,t),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for property '${this.propertyExpressionState.path}': no operators registered`),this.operator=this.operators[0]),this.buildRightConditionValueFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}get operators(){return this.filterState.operators.filter(e=>e.isCompatibleWithFilterConditionProperty(this))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=js(this.rightConditionValue,CSi),n=e??t.value;if(tEi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(JSi(this.filterState.queryBuilderState,this.propertyExpressionState.propertyExpression,n),Gs(this.filterState.queryBuilderState.executionContextState.mapping),Gs(this.filterState.queryBuilderState.executionContextState.runtimeValue),this.filterState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.filterState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=eEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchResults=[],this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){if(this.setOperator(e),!this.operator.isCompatibleWithFilterConditionValue(this)){let e=this.operator.getDefaultFilterConditionValue(this);e instanceof VE&&this.rightConditionValue instanceof CSi&&this.rightConditionValue.value instanceof PE&&Kct(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Wct(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof PE&&this.rightConditionValue instanceof CSi&&this.rightConditionValue.value instanceof VE&&this.rightConditionValue.value.values.length&&(e=this.rightConditionValue.value.values[0]),this.buildRightConditionValueFromValueSpec(e)}}setOperator(e){this.operator=e}setRightConditionValue(e){this.rightConditionValue=e}addExistsLambdaParamNames(e){this.existsLambdaParamNames.push(e)}buildRightConditionValueFromValueSpec(e){this.rightConditionValue instanceof CSi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new CSi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof SSi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new SSi(this,e))}get hashCode(){return bg([odt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class wSi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,c_(this,{isOpen:xy,parentId:xy,setIsOpen:Ov,setParentId:Ov,hashCode:Ry})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class xSi extends wSi{childrenIds=[];lambdaParameterName;constructor(e){super(e),c_(this,{childrenIds:xy,addChildNode:Ov,removeChildNode:Ov,dragPreviewLabel:Ry}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}}class TSi extends xSi{groupOperation;constructor(e,t){super(e),c_(this,{groupOperation:xy,setGroupOperation:Ov}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return bg([odt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class ASi extends xSi{filterState;propertyExpressionState;constructor(e,t){super(t),c_(this,{propertyExpressionState:xy,setPropertyExpression:Ov}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new LCi(this.filterState.queryBuilderState,e)}get hashCode(){return bg([odt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const NSi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof ASi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class RSi extends wSi{condition;isNewlyAdded;constructor(e,t){super(e),c_(this,{condition:xy,isNewlyAdded:xy,setIsNewlyAdded:Ov,dragPreviewLabel:Ry}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return bg([odt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class ISi extends wSi{constructor(e){super(e),c_(this,{dragPreviewLabel:Ry})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return bg([odt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class DSi{queryBuilderState;lambdaParameterName=Sct;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){c_(this,{rootIds:xy,nodes:xy,selectedNode:xy,isRearrangingConditions:xy,lambdaParameterName:xy,showPanel:xy,setLambdaParameterName:Ov,setRearrangingConditions:Ov,setSelectedNode:Ov,addNodeFromNode:Ov,replaceBlankNodeWithNode:Ov,addGroupConditionNodeFromNode:Ov,newGroupConditionFromNode:Ov,newGroupWithConditionFromNode:Ov,removeNodeAndPruneBranch:Ov,pruneTree:Ov,simplifyTree:Ov,collapseTree:Ov,setShowPanel:Ov,expandTree:Ov,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.queryBuilderState=e,this.operators=t}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}setLambdaParameterName(e){this.lambdaParameterName=e}setShowPanel(e){this.showPanel=e}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder filter tree node with ID '${e}'`)}getRootNode(){Ks(this.rootIds.length<2,"Query builder filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),xSi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof TSi)t.addChildNode(e);else if(t instanceof RSi||t instanceof ISi||t instanceof ASi){const n=new TSi(void 0,lSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}addNodeFromNode(e,t){if(t instanceof TSi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof ASi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new TSi(void 0,lSi.AND);n.addChildNode(Gs(this.nodes.get(Gs(t.childrenIds[0])))),n.addChildNode(e),n.lambdaParameterName=t.lambdaParameterName,this.nodes.set(n.id,n),t.childrenIds=[],t.addChildNode(n)}else this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof RSi||t instanceof ISi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}addGroupConditionNodeFromNode(e){const t=new TSi(void 0,lSi.AND),n=new ISi(void 0),i=new ISi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupConditionFromNode(e,t,n){const i=this.getParentNode(e),r=new TSi(void 0,n??lSi.AND);return this.nodes.set(r.id,r),i?.removeChildNode(e),r.addChildNode(e),t&&(this.nodes.set(t.id,t),r.addChildNode(t)),r.lambdaParameterName=i?.lambdaParameterName??this.lambdaParameterName,i?i.addChildNode(r):(Eo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new ISi(void 0);if(t instanceof RSi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new TSi(void 0,lSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),r.lambdaParameterName=e.lambdaParameterName,e.addChildNodeAt(r,i)}else this.addRootNode(n)}}removeNode(e){this.nodes.delete(e.id),e instanceof xSi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(this.rootIds,e.id)}}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&n instanceof TSi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof ISi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof ISi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof RSi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(TSi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof TSi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),TSi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}isValidMove(e,t){const n=e===t;let i=!1,r=this.getParentNode(t);for(;r;){if(r===e){i=!0;break}r=this.getParentNode(r)}return!n&&!i}moveNode(e,t){}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(RSi)).map(e=>e.condition.rightConditionValue instanceof CSi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>rdt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof RSi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof RSi&&e.condition.rightConditionValue instanceof CSi&&e.condition.rightConditionValue.value instanceof PE&&!Kct(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof RSi&&e.condition.rightConditionValue instanceof SSi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof RSi&&(this.isInvalidValueSpecFilterValue(t)&&e.push(`Filter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),this.isInvalidFilterPropertyExpressionState(t)&&e.push(`Derived property parameter value for ${t.condition.propertyExpressionState.title} is missing or invalid`),t.condition.rightConditionValue instanceof SSi&&this.isInvalidPropertyExpressionStateFilterValue(t)&&e.push(`Derived property parameter value for ${t.condition.rightConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>this.isInvalidValueSpecFilterValue(e))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>this.isInvalidFilterPropertyExpressionState(e)||this.isInvalidPropertyExpressionStateFilterValue(e))}get hashCode(){return bg([odt.FILTER_STATE,bg(this.rootIds),bg(Array.from(this.nodes.values()))])}}const kSi=e=>e.getValue()instanceof JE?kSi(js(e.getValue(),JE)):e.getValue(),OSi=(e,t,n,i,r)=>{const s=new KE("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof KE;){if(o=a.parametersValues[0],o instanceof KE){const e=new KE("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Vct(a,e,0,t.observerContext)}if(a instanceof KE&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof wS&&0!==a.func.value._OWNER._generatedMilestonedProperties.length){const e=a.func.value.name,n=a.func.value._OWNER._generatedMilestonedProperties.find(t=>t.name===`${e}${OC.ALL_VERSIONS}`);n&&(Gct(a,zS.create(n)),Bct(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof JE&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof JE&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=kSi(t):e.parametersValues=[Gs(js(a,KE).parametersValues[0])]:e.parametersValues[n+1]=kSi(t))})}for(a=o;a instanceof YE&&lS(a.functionName,Nct.SUBTYPE);)a=a.parametersValues[0]}return a instanceof ME&&Hct(a,n),s},LSi=(e,t)=>{if(t instanceof RSi){const n=t.parentId?js(e.nodes.get(t.parentId),xSi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof TSi){const n=new YE(sS(cSi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>LSi(e,t)).filter(Vs);if(i.length>2){const e=i[0];let r=i[i.length-1];for(let e=i.length-2;e>0;--e){const n=i[e],s=r,o=new YE(sS(cSi(t.groupOperation)));o.parametersValues=[n,s],r=o}n.parametersValues=[e,r]}else n.parametersValues=i;return n.parametersValues.length?n:void 0}if(t instanceof ASi){const n=new YE(sS(Nct.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),xSi):void 0;for(;i&&!(i instanceof TSi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),xSi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),xSi).lambdaParameterName:void 0,s=Gs(OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>LSi(e,t)).filter(Vs);let a;if(o.length>2){const e=o[0];let t=o[o.length-1];for(let e=o.length-2;e>0;--e){const n=o[e],r=t,s=new YE(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=tdt(t.lambdaParameterName??Sct,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new YE(sS(cSi(Gs(i).groupOperation)));l.parametersValues=a;const c=tdt(t.lambdaParameterName??Sct,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var MSi,PSi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(MSi||(MSi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(PSi||(PSi={}));const FSi=(e,t)=>{const n=new ZE(new XE(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new FE(yS.create(new ES(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},BSi=e=>e.value instanceof YE&&[nS.ONE,nS.ZERO_ONE].some(t=>ex(t,e.parameter.multiplicity)),VSi=e=>e.filter(BSi),USi=(e,t)=>e.filter(e=>!BSi(e)).map(e=>{const n=new ZY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),GSi=(e,t,n)=>{const i=((e,t)=>{const n=VSi(e);if(n.length>0){const i=FSi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),Q3(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class HSi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){c_(this,{value:xy,setValue:Ov,mockParameterValue:Ov,hashCode:Ry}),this.observerContext=t,this.parameter=Uee(e),this.graph=n}get hashCode(){return bg([PSi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(ACi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=e?lte(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Pct(this.parameter,yS.create(new ES(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;ex(n,t)||(Fct(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class zSi{showModal=!1;submitAction;constructor(){c_(this,{showModal:xy,submitAction:xy,setShowModal:Ov,open:Ov,setSubmitAction:Ov})}setShowModal(e){this.showModal=e}setSubmitAction(e){this.submitAction=e}open(e,t){this.setSubmitAction({handler:e,label:t}),this.setShowModal(!0)}close(){this.setSubmitAction(void 0),this.setShowModal(!1)}}class WSi{parameterStates=[];parameterValuesEditorState=new zSi;constructor(){c_(this,{hashCode:Ry})}get hashCode(){return bg([PSi.LAMBDA_PARAMETERS_STATE,bg(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){Eo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class jSi{queryBuilderState;mapping;runtimeValue;constructor(e){this.queryBuilderState=e}setMapping(e){this.mapping=e}setRuntimeValue(e){this.runtimeValue=e}get specifiedInQuery(){return!1}get explicitMappingValue(){return this.mapping}get explicitRuntimeValue(){return this.runtimeValue}}class $Si extends jSi{constructor(e){super(e),c_(this,{mapping:xy,runtimeValue:xy,setMapping:Ov,setRuntimeValue:Ov})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class qSi extends jSi{constructor(e){super(e),c_(this,{mapping:xy,runtimeValue:xy,setMapping:Ov,setRuntimeValue:Ov})}}const YSi=(e,t)=>{const n=new YE(sS(Act.GET_ALL)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},KSi=(e,t)=>{const n=new YE(sS(Act.GET_ALL_VERSIONS)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},XSi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new ZE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=Uw(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=KSi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case Act.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=KSi(n,nS.ONE);i.expressionSequence[0]=e}break;case Act.GET_ALL_VERSIONS_IN_RANGE:if(!r)throw new Yr("Unable to build query lamdba: getAllVersionsInRange() expects source class to be milestoned");{const t=((e,t)=>{const n=new YE(sS(Act.GET_ALL_VERSIONS_IN_RANGE)),i=new PE(t,yS.create(new ES(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n})(n,nS.ONE);e.milestoningState.getMilestoningImplementation(r).buildGetAllVersionsInRangeParameters(t),i.expressionSequence[0]=t}break;case Act.GET_ALL:{const t=YSi(n,nS.ONE);r&&e.milestoningState.getMilestoningImplementation(r).buildGetAllParameters(t),i.expressionSequence[0]=t;break}default:throw new Yr(`Unable to build query lambda: unknown ${e.getAllFunction} function`)}if(((e,t)=>{if(!e.value)return;const n=Gs(t.expressionSequence[0]),i=new YE(sS(Nct.WATERMARK));i.parametersValues.push(n),i.parametersValues.push(e.value),t.expressionSequence[0]=i})(e.watermarkState,i),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(t=>LSi(e,t)).filter(Vs);if(!n.length)return;const i=new YE(sS(Nct.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push(tdt(e.lambdaParameterName,n,e.queryBuilderState.graphManagerState.graph)),t.expressionSequence[0]=i})(e.filterState,i),((e,t,n)=>{e.implementation.appendFetchStructure(t,n)})(e.fetchStructureState,i,t),((e,t)=>{if(e instanceof $Si){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new PE(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof Xj&&(a=new PE(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}})(e.executionContextState,i),e.constantState.constants.length){const t=e.constantState.constants.map(e=>e.buildLetExpression());i.expressionSequence=[...t,...i.expressionSequence]}return e.parametersState.parameterStates.length&&!t?.useAllVersionsForMilestoning&&(t?.isBuildingExecutionQuery?((e,t,n)=>{const i=VSi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=FSi(n.graph,i);e.expressionSequence=[...r.expressionSequence,...e.expressionSequence]}else e.functionType.parameters=t.map(e=>e.parameter)})(i,e.parametersState.parameterStates,e.graphManagerState):i.functionType.parameters=e.parametersState.parameterStates.map(e=>e.parameter)),i},ZSi=(e,t,n)=>{const i=new KE("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof KE;){if(r=s.parametersValues[0],r instanceof KE){const e=new KE("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof KE&&s.func.value.genericType.value.rawType instanceof wS&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=CCi(Nct.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Bct(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof YE&&lS(s.functionName,Nct.SUBTYPE);)s=s.parametersValues[0]}return s instanceof ME&&Hct(s,t),i},QSi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new ZE(new XE(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=YSi(Gs(e.class),nS.ONE),d=Uw(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?ICi(t,!1):s;if(n){const r=new YE(sS(Nct.TDS_GROUP_BY)),s=new VE(nS.ZERO),o=new VE(nS.ONE),l=new VE(nS.ONE),c=new FE(yS.create(new ES(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?tdt(Sct,[t],e.graphManagerState.graph):i,h=new YE(sS(Nct.TDS_AGG)),p=tdt(Sct,[n.buildAggregateExpression(t,Sct,e.graphManagerState.graph)],e.graphManagerState.graph);h.parametersValues=[Gs(d),p],o.values.push(h),r.parametersValues=[a.expressionSequence[0],s,o,l],a.expressionSequence[0]=r}else{const n=new YE(sS(Nct.TDS_PROJECT)),r=new VE(nS.ONE),s=new VE(nS.ONE),o=new FE(yS.create(new ES(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?tdt(Sct,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new fSi,p=new KE("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=aSi(Gs(e))}p.func=zS.create(Gs($w(e.graphManagerState.graph.getClass(xct.TDS_ROW)).find(e=>e.name===g)));const f=new ME(Ect,nS.ONE),y=new FE(yS.create(new ES(gS.STRING)));y.values=[u],p.parametersValues=[f,y];const v=new YE(sS(Nct.STARTS_WITH));v.parametersValues.push(p),o&&v.parametersValues.push(o);const _=tdt(Ect,[v],e.graphManagerState.graph),b=new YE(sS(Nct.TDS_FILTER)),C=Gs(a.expressionSequence[0]);b.parametersValues=[C,_],a.expressionSequence[0]=b;let S=a.expressionSequence[0];const E=new YE(sS(Nct.TDS_DISTINCT));E.parametersValues[0]=S,S=E;const w=new FE(yS.create(new ES(gS.INTEGER)));w.values=[10];const x=new YE(sS(Nct.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=w,S=x,a.expressionSequence[0]=S,Q3(a,e.graphManagerState)},JSi=(e,t,n)=>{const i=ZSi(t,Sct,e.observerContext);return QSi(e,i,void 0,void 0,void 0,void 0,n)},eEi=e=>{const t=js(e,NZ,"Typeahead search is only supported for TDS result sets"),n=[];return t.result.rows.map(e=>e.values[0]).filter(Vs).forEach(e=>{Xs(e)&&n.push(e)}),n},tEi=e=>{if(e instanceof FE){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var nEi;!function(e){e.GROUP_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.GROUP_CONDITION",e.CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.CONDITION",e.BLANK_CONDITION="QUERY_BUILDER_POST_FILTER_DND_TYPE.BLANK_CONDITION"}(nEi||(nEi={}));const iEi=(e,t)=>{switch(e){case Rct.GET_STRING:return gS.STRING;case Rct.GET_NUMBER:return gS.NUMBER;case Rct.GET_INTEGER:return gS.INTEGER;case Rct.GET_FLOAT:return gS.FLOAT;case Rct.GET_DECIMAL:return gS.DECIMAL;case Rct.GET_DATE:return gS.DATE;case Rct.GET_DATETIME:return gS.DATETIME;case Rct.GET_STRICTDATE:return gS.STRICTDATE;case Rct.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class rEi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,c_(this,{isOpen:xy,parentId:xy,setIsOpen:Ov,setParentId:Ov,hashCode:Ry})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class sEi extends rEi{groupOperation;childrenIds=[];constructor(e,t){super(e),c_(this,{groupOperation:xy,setGroupOperation:Ov,childrenIds:xy,addChildNode:Ov,removeChildNode:Ov,dragPreviewLabel:Ry}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){Eo(this.childrenIds,e.id),e.setParentId(void 0)}addChildNodeAt(e,t){this.childrenIds.find(t=>t===e.id)||(t=Math.max(0,Math.min(t,this.childrenIds.length-1)),this.childrenIds.splice(t,0,e.id),e.setParentId(this.id))}get hashCode(){return bg([odt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",bg(this.childrenIds),this.groupOperation])}}class oEi extends rEi{condition;isNewlyAdded;constructor(e,t,n){super(e),c_(this,{condition:xy,isNewlyAdded:xy,setIsNewlyAdded:Ov,dragPreviewLabel:Ry}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return bg([odt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class aEi extends rEi{constructor(e){super(e),c_(this,{dragPreviewLabel:Ry})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return bg([odt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class lEi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return bg([odt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class cEi extends lEi{value;constructor(e,t){super(e),c_(this,{value:xy,setValue:Ov}),this.value=this.setValue(t)}get type(){return this.value instanceof VE?Yct(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?qct(this.value):void 0}setValue(e){return this.value=e?lte(e,this.conditionState.postFilterState.tdsState.queryBuilderState.observerContext):void 0,this.value}appendConditionValue(e,t){this.value&&e.parametersValues.push(this.value)}get isCollection(){return this.value instanceof VE}get hashCode(){return bg([odt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class dEi extends lEi{tdsColumn;constructor(e,t){super(e),c_(this,{tdsColumn:xy,changeCol:Ov}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=gSi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class uEi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=hb.create();constructor(e,t,n){c_(this,{postFilterState:xy,rightConditionValue:xy,operator:xy,leftConditionValue:xy,typeaheadSearchResults:xy,changeOperator:Ov,setColumnState:Ov,setRightConditionVal:Ov,buildFromValueSpec:Ov,setOperator:Ov,changeColumn:Xv,handleTypeaheadSearch:Xv,columnName:Ry,hashCode:Ry}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new cEi(this,void 0),n?this.operator=n:(Ks(0!==this.operators.length,`Can't find an operator for column '${this.leftConditionValue.columnName}`),this.operator=Gs(this.operators[0]))}get columnName(){return this.leftConditionValue.columnName}get operators(){return this.postFilterState.operators.filter(e=>e.isCompatibleWithPostFilterColumn(this))}setRightConditionVal(e){this.rightConditionValue=e}buildFromValueSpec(e){this.rightConditionValue instanceof cEi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new cEi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof BCi||this.leftConditionValue instanceof zCi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,cEi),r=e??i.value;if(tEi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof BCi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof GCi?(s=new LE(QI(Pq(l.lambda,new BX([]).build()))),o=l.columnName,a=l.returnType):i=ZSi(js(l,VCi).propertyExpressionState.propertyExpression,Sct,e.observerContext),QSi(e,i,r,s,a,o,n)})(this.postFilterState.tdsState.queryBuilderState,n,r),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.mapping),Gs(this.postFilterState.tdsState.queryBuilderState.executionContextState.runtimeValue),this.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.postFilterState.tdsState.queryBuilderState.forceFromExpressionForExec})).executionResult;this.typeaheadSearchResults=eEi(e)}this.typeaheadSearchState.pass()}catch(e){Kr(e),this.typeaheadSearchState.fail()}finally{this.typeaheadSearchState.complete()}}changeOperator(e){this.setOperator(e),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}setColumnState(e){this.leftConditionValue=e}setOperator(e){this.operator=e}*changeColumn(e){try{const t=this.postFilterState.tdsState.aggregationState.columns.find(t=>t.projectionColumnState===e),n=t??e;n instanceof GCi&&(yield n.fetchDerivationLambdaReturnType()),this.setColumnState(n),this.operator.isCompatibleWithPostFilterColumn(this)||this.setOperator(Gs(this.operators[0])),this.operator.isCompatibleWithConditionValue(this)||this.buildFromValueSpec(this.operator.getDefaultFilterConditionValue(this))}catch(t){Kr(t),this.postFilterState.tdsState.queryBuilderState.applicationStore.notificationService.notifyError(`Can't drag column '${e.columnName}' due to: ${t.message}`)}}get hashCode(){return bg([odt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class hEi{tdsState;lambdaParameterName=Ect;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){c_(this,{tdsState:!1,selectedNode:xy,isRearrangingConditions:xy,rootIds:xy,nodes:xy,lambdaParameterName:xy,derivedColumnBeingDropped:xy,setLambdaParameterName:Ov,setSelectedNode:Ov,addNodeFromNode:Ov,addGroupConditionNodeFromNode:Ov,newGroupWithConditionFromNode:Ov,removeNodeAndPruneBranch:Ov,pruneTree:Ov,simplifyTree:Ov,collapseTree:Ov,expandTree:Ov,replaceBlankNodeWithNode:Ov,setRearrangingConditions:Ov,setDerivedColumnBeingDropped:Ov,allValidationIssues:Ry,hasInvalidFilterValues:Ry,hasInvalidDerivedPropertyParameters:Ry,hashCode:Ry}),this.tdsState=e,this.operators=t}setRearrangingConditions(e){this.isRearrangingConditions=e}setSelectedNode(e){this.selectedNode=e}getNode(e){return Gs(this.nodes.get(e),`Can't find query builder post-filter tree node with ID '${e}'`)}setDerivedColumnBeingDropped(e){this.derivedColumnBeingDropped=e}get isEmpty(){return!this.nodes.size&&!this.rootIds.length}getParentNode(e){return e.parentId?js(this.nodes.get(e.parentId),sEi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(oEi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof dEi?[e.condition.rightConditionValue.tdsColumn]:[]]).flat())}getRootNode(){Ks(this.rootIds.length<2,"Query builder post-filter tree cannot have more than 1 root");const e=this.rootIds[0];return e?this.getNode(e):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof sEi)t.addChildNode(e);else if(t instanceof oEi||t instanceof aEi){const n=new sEi(void 0,lSi.AND);n.addChildNode(t),n.addChildNode(e),this.rootIds=[n.id],this.nodes.set(n.id,n)}else t||(this.rootIds=[e.id])}replaceBlankNodeWithNode(e,t){this.nodes.set(e.id,e);const n=this.getParentNode(t);if(n){const i=n.childrenIds.findIndex(e=>e===t.id);n.addChildNodeAt(e,i),n.removeChildNode(t)}else this.addRootNode(e);this.removeNode(t)}setLambdaParameterName(e){this.lambdaParameterName=e}addGroupConditionNodeFromNode(e){const t=new sEi(void 0,lSi.AND),n=new aEi(void 0),i=new aEi(void 0);this.nodes.set(n.id,n),this.nodes.set(i.id,i),t.addChildNode(n),t.addChildNode(i),this.addNodeFromNode(t,e)}newGroupWithConditionFromNode(e,t){const n=e??new aEi(void 0);if(t instanceof oEi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new sEi(void 0,lSi.AND);this.nodes.set(n.id,n),this.nodes.set(r.id,r),r.addChildNode(t),r.addChildNode(n),e.addChildNodeAt(r,i)}else this.addRootNode(n)}}addNodeFromNode(e,t){if(t instanceof sEi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof oEi||t instanceof aEi){this.nodes.set(e.id,e);const n=this.getParentNode(t);n?n.addChildNode(e):this.addRootNode(e)}else this.selectedNode||this.addRootNode(e)}removeNode(e){this.nodes.delete(e.id),e instanceof sEi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):Eo(this.rootIds,e.id)}removeNodeAndPruneBranch(e){const t=this.getParentNode(e);if(this.removeNode(e),t){t.removeChildNode(e);let n=t;for(;n&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else Eo(this.rootIds,e.id);this.pruneOrphanNodes(),this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}simplifyTree(){this.setSelectedNode(void 0);const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),sEi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),sEi);[...e.childrenIds].forEach(e=>{const n=this.getNode(e);t.addChildNode(n)}),t.removeChildNode(e),this.nodes.delete(e.id)}),t=e()}pruneOrphanNodes(){const e=()=>Array.from(this.nodes.values()).filter(e=>!e.parentId&&!this.rootIds.includes(e.id));let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>!e.childrenIds.length);let t=e();for(;t.length;)t.forEach(e=>this.removeNode(e)),t=e()}pruneTree(){this.setSelectedNode(void 0),Array.from(this.nodes.values()).filter(e=>e instanceof aEi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(sEi)).filter(e=>e.childrenIds.length<2).filter(e=>{if(!e.childrenIds.length)throw new qr("Query builder post-filter tree found unexpected childless group nodes");const t=e.childrenIds[0];if(this.getNode(t)instanceof aEi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof oEi});let t=e();for(;t.length;)t.forEach(e=>this.squashGroupNode(e)),t=e();this.selectedNode&&!this.nodes.get(this.selectedNode.id)&&this.setSelectedNode(void 0)}squashGroupNode(e){if(e.childrenIds.length<2){const t=this.getParentNode(e);[...e.childrenIds].forEach(n=>{const i=this.getNode(n);e.removeChildNode(i),t?t.addChildNode(i):Co(this.rootIds,n)}),this.nodes.delete(e.id),t?t.removeChildNode(e):Eo(this.rootIds,e.id)}}collapseTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!1))}expandTree(){Array.from(this.nodes.values()).forEach(e=>e.setIsOpen(!0))}isVariableUsed(e){return Boolean(Array.from(this.nodes.values()).filter(zs(oEi)).map(e=>e.condition.rightConditionValue).filter(zs(cEi)).map(e=>e.value).filter(Vs).find(t=>rdt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof oEi&&(t.condition.rightConditionValue instanceof cEi&&t.condition.rightConditionValue.value instanceof PE&&!Kct(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof VCi&&!t.condition.leftConditionValue.propertyExpressionState.isValid&&e.push(`Derived property parameter value for ${t.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`))}),e}get hasInvalidFilterValues(){return Array.from(this.nodes.values()).some(e=>e instanceof oEi&&e.condition.rightConditionValue instanceof cEi&&e.condition.rightConditionValue.value instanceof PE&&!Kct(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof oEi&&e.condition.leftConditionValue instanceof VCi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return bg([odt.POST_FILTER_STATE,bg(this.rootIds),bg(Array.from(this.nodes.values()))])}}class pEi extends sSi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof RS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof cEi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=Yct(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new VE(nS.ONE,yS.create(new ES(t)))}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.IN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.IN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IN])}}class gEi extends pEi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_IN])}}class mEi extends sSi{getLabel(){return"is empty"}getTDSColumnGetter(){return Rct.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof RS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof cEi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof VCi)||Qct(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return mSi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return hSi(e,t,void 0,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IS_EMPTY])}}class fEi extends mEi{getLabel(){return"is not empty"}getTDSColumnGetter(){return Rct.IS_NOT_NULL}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class yEi extends sSi{getLabel(){return"is"}isCompatibleWithType(e){return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)||e instanceof RS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&Jct(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_EQUAL])}}class vEi extends yEi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class _Ei extends sSi{getLabel(){return"<"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return Jct(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_LESS_THAN])}}class bEi extends _Ei{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class CEi extends sSi{getLabel(){return">"}isCompatibleWithType(e){return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}isCompatibleWithConditionValue(e){return Jct(e.rightConditionValue.isCollection?void 0:e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();switch(t?.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_GREATER_THAN])}}class SEi extends CEi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return mSi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return hSi(e,t,t.parametersValues[0]instanceof KE&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class EEi extends sSi{getLabel(){return"contains"}isCompatibleWithType(e){return e===gS.STRING}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());if(t.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.CONTAINS,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.CONTAINS,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_CONTAIN])}}class wEi extends EEi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class xEi extends sSi{getLabel(){return"ends with"}isCompatibleWithType(e){return gS.STRING===e}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&gS.STRING===e.rightConditionValue.type}getDefaultFilterConditionValue(e){const t=e.leftConditionValue.getColumnType();if(t?.path===TC.STRING)return xCi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${t?.path}'`)}buildPostFilterConditionExpression(e,t){return mSi(e,this,Nct.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return hSi(e,t,Nct.ENDS_WITH,this)}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_END_WITH])}}class TEi extends xEi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Zct(n):void 0}buildPostFilterConditionState(e,t){const n=Xct(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class AEi extends HCi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}return!0}buildAggregateExpression(e,t,n){return jCi(Nct.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return $Ci(n,t,e,Nct.UNIQUE_VALUE_ONLY,this)}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_DISTINCT])}}class NEi extends HCi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof VCi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new YE(sS(Nct.JOIN_STRINGS)),r=new FE(yS.create(new ES(gS.STRING)));return r.values=[";"],i.parametersValues.push(new ME(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.JOIN_STRINGS)){const i=new zCi(n.tdsState.aggregationState,n,this);i.setLambdaParameterName(t.name),Ks(2===e.parametersValues.length,"Can't process joinStrings() expression: joinStrings() expects 1 argument");const r=js(e.parametersValues[0],ME,"Can't process joinStrings() expression: only support joinStrings() immediately following a variable expression");Ks(i.lambdaParameterName===r.name,`Can't process joinStrings() expression: expects variable used in lambda body '${r.name}' to match lambda parameter '${i.lambdaParameterName}'`);const s=js(e.parametersValues[1],FE,"Can't process joinStrings() expression: joinStrings() expects arugment #1 to be a primitive instance value");return Ks(1===s.values.length&&";"===s.values[0],"Can't process joinStrings() expression: only support ';' as delimiter"),Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process joinStrings() expression: property is not compatible with operator"),i.setOperator(this),i}}getReturnType(e){return gS.STRING}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_JOIN_STRING])}}class REi extends HCi{percentile;acending;continuous;constructor(){super(),c_(this,{percentile:xy,acending:xy,continuous:xy,setPercentile:Ov,setAcending:Ov,setContinuous:Ov})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildAggregateExpression(e,t,n){const i=this.percentile?Number((this.percentile/100).toFixed(10)):0,r=new YE(sS(Nct.PERCENTILE)),s=new FE(yS.create(new ES(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new ME(t,nS.ONE),s);else{const e=new FE(yS.create(new ES(gS.BOOLEAN)));e.values=[this.acending];const n=new FE(yS.create(new ES(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new ME(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.PERCENTILE)){const i=new zCi(n.tdsState.aggregationState,n,new REi),r=js(i.operator,REi);i.setLambdaParameterName(t.name),Ks([2,4].includes(e.parametersValues.length),"Can't process percentile() expression: percentile() expects 2 or 4 argument");const s=js(e.parametersValues[0],ME,"Can't process percentile() expression: only support percentile() immediately following a variable expression");Ks(i.lambdaParameterName===s.name,`Can't process percentile() expression: expects variable used in lambda body '${s.name}' to match lambda parameter '${i.lambdaParameterName}'`);const o=js(e.parametersValues[1],FE,"Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value");if(r.percentile=parseFloat((100*o.values[0]).toFixed(10)),4===e.parametersValues.length){const t=js(e.parametersValues[2],FE,"Can't process percentile() expression: percentile() expects arugment #3 to be a primitive instance value");r.acending=t.values[0];const n=js(e.parametersValues[3],FE,"Can't process percentile() expression: percentile() expects arugment #4 to be a primitive instance value");r.continuous=n.values[0]}return Ks(this.isCompatibleWithColumn(i.projectionColumnState),"Can't process percentile() expression: property is not compatible with operator"),i.setOperator(r),i}}get getOperator(){return new REi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_PERCENTILE])}}class IEi extends HCi{weight;constructor(){super(),c_(this,{weight:xy,setWeight:Ov})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!1}buildAggregateExpression(e,t,n){return jCi(Nct.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,Nct.WAVG)){const e=new zCi(n.tdsState.aggregationState,n,new IEi),i=js(e.operator,IEi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new IEi}get hashCode(){return bg([odt.AGGREGATE_OPERATOR_WAVG])}}const DEi="WINDOW_COLUMN";class kEi{columnState;sortType;constructor(e,t){c_(this,{columnState:xy,sortType:xy,setColumnState:Ov,setSortType:Ov}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return bg([odt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class OEi{windowState;lambdaParameterName=Sct;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class LEi extends OEi{constructor(e,t){super(e,t),c_(this,{setLambdaParameterName:Ov})}}class MEi extends OEi{columnState;constructor(e,t,n){super(e,t),c_(this,{columnState:xy,setColumnState:Ov,setLambdaParameterName:Ov}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class PEi extends MCi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),c_(this,{windowColumns:xy,sortByState:xy,operatorState:xy,columnName:xy,setOperatorState:xy,setColumnName:Ov,setSortBy:Ov,changeWindow:Ov,deleteWindow:Ov,addWindow:Ov,setWindows:Ov,changeOperator:Ov,changeSortBy:Ov}),this.windowState=e,this.windowColumns=t,this.sortByState=n,this.operatorState=i,this.columnName=r}get columnWindowGroupIdx(){return this.windowState.windowColumns.findIndex(e=>e===this)}get possibleReferencedColumns(){const e=this.windowState.tdsState.tdsColumns.findIndex(e=>e===this);return-1===e?this.windowState.tdsState.tdsColumns:this.windowState.tdsState.tdsColumns.slice(0,e)}get referencedTDSColumns(){const e=this.operatorState instanceof MEi?[this.operatorState.columnState]:[],t=this.sortByState?[this.sortByState.columnState]:[];return[...this.windowColumns,...t,...e]}getColumnType(){return this.operatorState.operator.getOperatorReturnType(this.windowState.tdsState.queryBuilderState.graphManagerState.graph)}setColumnName(e){this.columnName=e}setOperatorState(e){this.operatorState=e}setSortBy(e){this.sortByState=e}changeWindow(e,t){this.windowColumns[t]=e}addWindow(e){Co(this.windowColumns,e)}setWindows(e){this.windowColumns=e}deleteWindow(e){Eo(this.windowColumns,e)}possibleAggregatedColumns(e){return e.isColumnAggregator()?this.possibleReferencedColumns.filter(t=>e.isCompatibleWithColumn(t)):[]}getChangeOperatorStateAndColumnName(e,t,n){if(e!==n){if(!n.isColumnAggregator())return{operatorState:new LEi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new MEi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof MEi?this.operatorState.columnState:void 0,e);t&&(this.setOperatorState(t.operatorState),this.setColumnName(t.columnName))}changeSortBy(e){const t=this.sortByState;if(t?.sortType!==e)if(e){const n=t??new kEi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return bg([odt.TDS_WINDOW_COLUMN_STATE,bg(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class FEi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){c_(this,{windowColumns:xy,editColumn:xy,invalidWindowColumnNames:Ry,windowValidationIssues:Ry,addWindowColumn:Ov,removeColumn:Ov,moveColumn:Ov,setEditColumn:Ov}),this.tdsState=e,this.operators=t}get isEmpty(){return!this.windowColumns.length}get invalidWindowColumnNames(){const e=[];return this.windowColumns.forEach((t,n)=>{if(t.operatorState instanceof MEi&&t.operatorState.columnState instanceof PEi){const i=t.operatorState.columnState.columnName;t.windowState.isColumnOrderValid(i,n)||e.push({invalidColumnName:t.columnName,missingColumnName:i})}}),e}get windowValidationIssues(){const e=this.invalidWindowColumnNames,t=[];e.forEach(e=>{t.push(`Column '${e.invalidColumnName}' cannot exist before column name '${e.missingColumnName}'`)});const n=this.windowColumns.some(e=>this.windowColumns.filter(t=>t.columnName===e.columnName).length>1);n&&t.push("Query has duplicated window columns");const i=this.windowColumns.some(e=>this.tdsState.projectionColumns.filter(t=>t.columnName===e.columnName).length>0);return i&&t.push("Query has duplicated projection/window columns"),t}get referencedTDSColumns(){return Pr(this.windowColumns.map(e=>e.referencedTDSColumns).flat())}setEditColumn(e){this.editColumn=e}findOperator(e){return this.operators.find(t=>lS(e,t.pureFunc))}addWindowColumn(e){Co(this.windowColumns,e)}removeColumn(e){Eo(this.windowColumns,e)}moveColumn(e,t){const n=this.windowColumns[e],i=this.windowColumns[t];n&&i&&(this.windowColumns[e]=i,this.windowColumns[t]=n)}isColumnOrderValid(e,t){return this.windowColumns.slice(0,t).some(t=>t.columnName===e)}get hashCode(){return bg([odt.TDS_WINDOW_GROUPBY_STATE,bg(this.windowColumns)])}}const BEi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e.columnName],t}),r=new VE(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new YE((e=>{switch(e){case Ict.ASC:return sS(Nct.TDS_ASC);case Ict.DESC:return sS(Nct.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new FE(yS.create(new ES(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new YE(a);l.parametersValues=[new ME(o.lambdaParameterName,nS.ONE)];const c=tdt(o.lambdaParameterName,[l],n);let d;if(o instanceof MEi){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[o.columnState.columnName],d=new YE(sS(Nct.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new FE(yS.create(new ES(gS.STRING)));h.values=[e.columnName];const p=new YE(sS(Nct.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},VEi=(e,t,n)=>{if(t instanceof oEi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof sEi){const i=new YE(sS(cSi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>VEi(e,t,n)).filter(Vs);if(r.length>2){const e=r[0];let n=r[r.length-1];for(let e=r.length-2;e>0;--e){const i=r[e],s=n,o=new YE(sS(cSi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class UEi{_currentResultModifierFunc;graphManagerState;options;distinct=!1;sortColumns;limit;slice;constructor(e){this.graphManagerState=e}get currentExpression(){return Gs(this._currentResultModifierFunc,"Current expression needs to be defined to build result modifier")}get supportedResultModifiersFunctions(){return[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Ict.ASC?this.ascFunctionname:this.descFunctionName}setCurrentResultModifierFunction(e){this._currentResultModifierFunc=e}withOptions(e){return this.options=e,this}withDistinct(e){return this.distinct=e,this}withSortColumns(e){return e?.length&&(this.sortColumns=e),this}withLimit(e){return this.limit=e,this}withSlice(e){return this.slice=e,this}buildDistinctFunction(){const e=new YE(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new YE(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new VE(n,void 0);i.values=e.map(e=>this.buildSortExpression(e)),t.parametersValues[0]=this.currentExpression,t.parametersValues[1]=i,this.setCurrentResultModifierFunction(t)}buildSortExpression(e){const t=new YE(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new FE(yS.create(new ES(gS.INTEGER)));t.values=[Math.min(e?this.options?.withDataOverflowCheck?e+1:e:Number.MAX_SAFE_INTEGER,this.options?.overridingLimit?this.options.withDataOverflowCheck?this.options.overridingLimit+1:this.options.overridingLimit:Number.MAX_SAFE_INTEGER)];const n=new YE(sS(this.limitFunctionName));n.parametersValues[0]=this.currentExpression,n.parametersValues[1]=t,this.setCurrentResultModifierFunction(n)}buildSliceFunction(e){const t=e[0],n=e[1],i=new FE(yS.create(new ES(gS.INTEGER))),r=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t],r.values=[n];const s=new YE(sS(this.sliceFunctionName));s.parametersValues=[this.currentExpression,i,r],this.setCurrentResultModifierFunction(s)}build(e){if(1===e.expressionSequence.length){const t=e.expressionSequence[0];if(t instanceof YE&&lS(t.functionName,this.supportedResultModifiersFunctions))return this._currentResultModifierFunc=t,this.distinct&&this.buildDistinctFunction(),this.sortColumns&&this.buildSortFunction(this.sortColumns),(this.limit||this.options?.overridingLimit)&&this.buildLimitFunction(this.limit),this.slice&&this.buildSliceFunction(this.slice),e.expressionSequence[0]=this.currentExpression,e}return e}}class GEi extends UEi{get limitFunctionName(){return Nct.TDS_TAKE}get sliceFunctionName(){return Nct.SLICE}get sortFunctionName(){return Nct.TDS_SORT}get distinctFunctionName(){return Nct.TDS_DISTINCT}get ascFunctionname(){return Nct.TDS_ASC}get descFunctionName(){return Nct.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new FE(yS.create(new ES(gS.STRING)));return t.values=[e],t})(e)}}class HEi extends UEi{get limitFunctionName(){return Nct.RELATION_LIMIT}get sliceFunctionName(){return Nct.RELATION_SLICE}get ascFunctionname(){return Nct.RELATION_ASC}get descFunctionName(){return Nct.RELATION_DESC}get sortFunctionName(){return Nct.RELATION_SORT}get distinctFunctionName(){return Nct.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zE(nS.ONE,void 0),n=new HE;return n.name=e,t.values=[n],t}}const zEi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build projection expression: preceding expression is not defined");if(e.aggregationState.columns.length&&!e.queryBuilderState.isFetchStructureTyped){const s=new YE(sS(Nct.TDS_GROUP_BY)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new VE(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new FE(yS.create(new ES(gS.STRING)));r.values.push(t.columnName),l.values.push(r);const s=e.aggregationState.columns.find(e=>e.projectionColumnState===t);let c;if(t instanceof VCi)c=tdt(t.lambdaParameterName,[OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new LE(QI(Pq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof IEi&&s.setLambdaParameterName("y");const e=new YE(sS(Nct.TDS_AGG)),t=tdt(s.lambdaParameterName,[s.operator.buildAggregateExpressionFromState(s)],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);let n;const r=s.calendarFunction?.buildCalendarFunctionExpressionFromState(s,c);if(i.isCalendarEnabled&&r instanceof YE&&(n=tdt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof IEi&&s.operator.weight&&s.projectionColumnState instanceof VCi&&c instanceof QE){const e=new YE(Nct.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof QE?vo(n.values,0).expressionSequence[0]=e:c instanceof QE&&(vo(c.values,0).expressionSequence[0]=e)}e.parametersValues=[n??c,t],a.values.push(e)}else o.values.push(c)}),s.parametersValues=[r,o,a,l],t.expressionSequence[0]=s}else if(e.projectionColumns.length)if(e.queryBuilderState.isFetchStructureTyped){const i=((e,t,n)=>{const i=new YE(sS(Nct.RELATION_PROJECT)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new HE;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof VCi)i=tdt(e.lambdaParameterName,[OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof GCi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new LE(QI(Pq(e.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.function1=i;const s=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}`);a.columns.push(new CS(e.columnName,yS.create(new ES(s))))}),i.parametersValues=[e,s];const l=new ES(NK.INSTANCE),c=new ES(a);return l.typeArguments=[yS.create(c)],i.genericType=yS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,YE);if(n.functionName!==sS(Nct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new YE(sS(Nct.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jE(nS.ONE,void 0),o=new WE;s.values=[o];const a=new jE(nS.ONE,void 0),l=new WE;a.values=[l];const c=new SS(SS.ID);t.projectionColumns.filter(e=>!t.aggregationState.columns.some(t=>t.projectionColumnState===e)).forEach(e=>{const t=new HE;t.name=e.columnName,o.colSpecs.push(t);const n=Gs(e.getColumnType(),`Can't create value spec for projection column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(n))))}),t.aggregationState.columns.forEach(e=>{const t=new HE;t.name=e.columnName,l.colSpecs.push(t);const i=Gs(Gs(n.parametersValues[1].values[0],"Could not find ColSpec array in project() function first parameter").colSpecs.find(t=>t.name===e.columnName),`Could not find projected column matching aggregation column '${e.columnName}'`),s=js(js(i.function1,QE).values[0]?.expressionSequence[0],KE),o=js(s.func.value,AS),a=new KE("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new ME(Idt,nS.ONE)];const d=tdt(Idt,[a],r.graphManagerState.graph);t.function1=d;const u=tdt(e.lambdaParameterName,[e.operator.buildAggregateExpressionFromState(e)],e.aggregationState.tdsState.queryBuilderState.graphManagerState.graph);t.function2=u;const h=Gs(e.getColumnType(),`Can't create value spec for aggregation column ${e.columnName}. Missing type.`);c.columns.push(new CS(e.columnName,yS.create(new ES(h))))}),i.parametersValues=[e,s,a];const d=new ES(NK.INSTANCE),u=new ES(c);return d.typeArguments=[yS.create(u)],i.genericType=yS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new YE(sS(Nct.TDS_PROJECT));if(e.useColFunc){const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new YE(sS(Nct.TDS_COL));let r;if(t instanceof VCi)r=tdt(t.lambdaParameterName,[OSi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new LE(QI(Pq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new FE(yS.create(new ES(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new VE(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new FE(yS.create(new ES(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof VCi)s=tdt(e.lambdaParameterName,[OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof GCi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new LE(QI(Pq(e.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}t.values.push(s)}),s.parametersValues=[r,t,o]}t.expressionSequence[0]=s}var s,o;s=e.windowState,o=t,s.windowColumns.forEach(e=>BEi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>VEi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=tdt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new YE(sS(Nct.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new HEi(e.tdsState.queryBuilderState.graphManagerState):new GEi(e.tdsState.queryBuilderState.graphManagerState)).withOptions(i).withDistinct(e.distinct).withSortColumns(e.sortColumns).withLimit(e.limit).withSlice(e.slice).build(t)})(e.resultSetModifierState,t,e.queryBuilderState.isFetchStructureTyped,{overridingLimit:n?.isBuildingExecutionQuery&&!n.isExportingResult?i.resultState.previewLimit:void 0,withDataOverflowCheck:n?.isBuildingExecutionQuery&&!n.isExportingResult?n.withDataOverflowCheck:void 0})};class WEi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class jEi extends WEi{getLabel(){return"average rank"}get pureFunc(){return Nct.OLAP_AVERAGE_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class $Ei extends WEi{getLabel(){return"dense rank"}get pureFunc(){return Nct.OLAP_DENSE_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_DENSE_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class qEi extends WEi{getLabel(){return"rank"}get pureFunc(){return Nct.OLAP_RANK}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_RANK])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class YEi extends WEi{getLabel(){return"row number"}get pureFunc(){return Nct.OLAP_ROW_NUMBER}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_ROW_NUMBER])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class KEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return Nct.SUM}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_SUM])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class XEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return Nct.COUNT}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_COUNT])}isCompatibleWithType(e){return!e||[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class ZEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return Nct.MAX}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_MAX])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class QEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return Nct.MIN}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_MIN])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}class JEi extends WEi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return Nct.AVERAGE}get hashCode(){return bg([odt.TDS_WINDOW_OPERATOR_AVERAGE])}isCompatibleWithType(e){return!e||[TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e.path)}}var ewi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(ewi||(ewi={}));const twi={[ewi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[ewi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var nwi;!function(e){e.NY="NY",e.LDN="LDN"}(nwi||(nwi={}));const iwi="en-US";class rwi{dateColumn;calendarType;endDate;lambdaParameterName=Sct;func;label;hash;constructor(e,t,n){c_(this,{dateColumn:xy,lambdaParameterName:xy,calendarType:xy,endDate:xy,setDateColumn:Ov,setCalendarType:Ov,setLambdaParameterName:Ov,setEndDate:Ov,hashCode:Ry}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof VCi){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(t.path)}return!0}buildCalendarFunctionExpression(e){return((e,t,n,i,r)=>{const s=new YE(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new FE(yS.create(new ES(gS.STRING)));return o.values=[n],s.parametersValues.push(o),s.parametersValues.push(i),s.parametersValues.push(r),s})(this.func,this.dateColumn,this.calendarType,this.endDate,e)}updateAggregateColumnState(e,t){((e,t,n,i)=>{if(lS(e.functionName,t)){Ks(4===e.parametersValues.length,`Can't process ${sS(t)}() expression: ${sS(t)}() expects four arguments`);const r=js(e.parametersValues[0],KE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression`);Ks(r.func.value.genericType.value.rawType.name===TC.STRICTDATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with first parameter as property expression of type StrictDate`);let s=r;for(;s instanceof KE;){const e=s;for(s=Gs(s.parametersValues[0]),e.func.value instanceof US&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);s instanceof YE&&lS(s.functionName,Nct.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,ME).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],FE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(nwi).find(e=>e===a.values[0]),`Can't process ${sS(t)}() expression: only support ${sS(t)}() calendar types NY and LDN`);const l=js(e.parametersValues[2],OE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter as ValueSpecification`);Ks(l.genericType?.value.rawType.name===TC.STRICTDATE||l.genericType?.value.rawType.name===TC.DATE||r.func.value.genericType.value.rawType.name===TC.DATE,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with third parameter of type Date`),n.calendarType=a.values[0],n.endDate=l,n.dateColumn=r,Ks(n.isCompatibleWithColumn(i.projectionColumnState),`Can't process ${sS(t)}() expression: property is not compatible with calendar function`),i.setHideCalendarColumnState(!1),i.setCalendarFunction(n)}})(e,this.func,this,t)}buildCalendarFunctionExpressionFromState(e,t){let n;if(e.projectionColumnState instanceof VCi&&t instanceof QE?n=js(t.values[0]?.expressionSequence[0],KE):e.projectionColumnState instanceof GCi&&(n=js(t,LE)),!n)throw new Yr("Can't build calendar aggregation column: target column should be defined");return this.buildCalendarFunctionExpression(n)}setDateColumn(e){this.dateColumn=e}setLambdaParameterName(e){this.lambdaParameterName=e}setCalendarType(e){this.calendarType=e}setEndDate(e){this.endDate=e}get hashCode(){return bg([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function swi(e,t,n){return new rwi(e,t,n)}var owi;!function(e){e.CSV="CSV"}(owi||(owi={}));class awi extends rSi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new yEi,new vEi,new _Ei,new bEi,new CEi,new SEi,new fSi,new ySi,new EEi,new wEi,new xEi,new TEi,new pEi,new gEi,new mEi,new fEi])();aggregationOperators=(()=>[new YCi,new KCi,new AEi,new eSi,new qCi,new ZCi,new XCi,new REi,new QCi,new JCi,new NEi,new IEi])();aggregationCalendarFunctions=(()=>[swi(Tct.CALENDAR_ANNUALIZED,"Annualized",odt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),swi(Tct.CALENDAR_YTD,"Year to Date",odt.AGGREGATE_CALENDAR_FUNCTION_YTD),swi(Tct.CALENDAR_CME,"Current Month Estimate",odt.AGGREGATE_CALENDAR_FUNCTION_CME),swi(Tct.CALENDAR_CW,"Current Week",odt.AGGREGATE_CALENDAR_FUNCTION_CW),swi(Tct.CALENDAR_CME,"Current Month Estimate",odt.AGGREGATE_CALENDAR_FUNCTION_CME),swi(Tct.CALENDAR_CY_MINUS2,"Current year minus 2",odt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),swi(Tct.CALENDAR_CY_MINUS3,"Current year minus 3",odt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),swi(Tct.CALENDAR_MTD,"Month to date",odt.AGGREGATE_CALENDAR_FUNCTION_MTD),swi(Tct.CALENDAR_P12WA,"Previous 12 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P12WA),swi(Tct.CALENDAR_P12WTD,"Previous 12 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),swi(Tct.CALENDAR_P4WA,"Previous 4 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P4WA),swi(Tct.CALENDAR_P4WTD,"Previous 4 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),swi(Tct.CALENDAR_P52WA,"Previous 52 Weeks Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_P52WA),swi(Tct.CALENDAR_P52WTD,"Previous 52 Weeks To Date",odt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),swi(Tct.CALENDAR_PMA,"Previous Months Averaged",odt.AGGREGATE_CALENDAR_FUNCTION_PMA),swi(Tct.CALENDAR_PMTD,"Previous Month To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PMTD),swi(Tct.CALENDAR_PQTD,"Previous Quarter To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PQTD),swi(Tct.CALENDAR_PRIOR_DAY,"Prior Day",odt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),swi(Tct.CALENDAR_PRIOR_YEAR,"Prior Year",odt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),swi(Tct.CALENDAR_PW,"Previous week",odt.AGGREGATE_CALENDAR_FUNCTION_PW),swi(Tct.CALENDAR_PW_FM,"Previous week, Franchise Manager",odt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),swi(Tct.CALENDAR_PWA,"Past Weeks' Average",odt.AGGREGATE_CALENDAR_FUNCTION_PWA),swi(Tct.CALENDAR_PWTD,"Previous Week To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PWTD),swi(Tct.CALENDAR_PYMTD,"Previous Year's Month To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),swi(Tct.CALENDAR_PYQTD,"Previous Year's Quarter To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),swi(Tct.CALENDAR_PYTD,"Previous Year To Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYTD),swi(Tct.CALENDAR_PYWA,"Previous Year's Weekly Average",odt.AGGREGATE_CALENDAR_FUNCTION_PYWA),swi(Tct.CALENDAR_PYWTD,"Previous Year's Week to Date",odt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),swi(Tct.CALENDAR_QTD,"Quarter to Date",odt.AGGREGATE_CALENDAR_FUNCTION_QTD),swi(Tct.CALENDAR_REPORT_END_DAY,"Report End Day",odt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),swi(Tct.CALENDAR_WTD,"Week to Date",odt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new KEi,new XEi,new ZEi,new QEi,new JEi,new jEi,new $Ei,new qEi,new YEi])();constructor(e,t){super(e,t),c_(this,{aggregationState:xy,projectionColumns:xy,isConvertDerivationProjectionObjects:xy,showPostFilterPanel:xy,showWindowFuncPanel:xy,useColFunc:xy,TEMPORARY__showPostFetchStructurePanel:Ry,derivations:Ry,hasParserError:Ry,isQueryOptionsSet:Ry,addColumn:Ov,moveColumn:Ov,removeAllColumns:Ov,removeColumn:Ov,replaceColumn:Ov,initialize:Ov,initializeWithQuery:Ov,setShowPostFilterPanel:Ov,setShowWindowFuncPanel:Ov,setUseColFunc:Ov,checkBeforeChangingImplementation:Ov,convertDerivationProjectionObjects:Xv,fetchDerivedReturnTypes:Xv}),this.resultSetModifierState=new nSi(this),this.postFilterState=new hEi(this,this.postFilterOperators),this.aggregationState=new WCi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new FEi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(ewi.SHOW_POST_FILTER_PANEL)??!1}get type(){return iSi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(GCi))}get hasParserError(){return this.derivations.some(e=>e.derivationLambdaEditorState.parserError)}get fetchLabel(){return"Columns"}get canBeExportedToCube(){return!0}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel||this.showWindowFuncPanel||this.showPostFilterPanel}get usedExplorerTreePropertyNodeIDs(){let e=[];return this.projectionColumns.forEach(t=>{if(t instanceof VCi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof KE;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof YE;){if(!(lS(i.functionName,Nct.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof wS))return;n[n.length-1]instanceof wS||n.push(i.parametersValues[1]?.genericType?.value.rawType),i=Gs(i.parametersValues[0])}n=n.reverse();const r=[],s=[];for(let e=0;e<n.length;e++){const t=Gs(n[e]),i=e>0?Gs(r[e-1]):"";if(t instanceof wS)zw(t).concat(t).forEach(e=>s.push(Ywi(i,e.path))),r.push(Ywi(i,t.path));else{const e=qwi(i,t);r.push(e),s.push(e)}}e=e.concat(s)}}),Array.from(new Set(e).values())}get fetchStructureValidationIssues(){const e=[],t=this.projectionColumns.some(e=>0===e.columnName.length);t&&e.push("Query has projection column with no name");const n=this.aggregationState.columns.some(e=>e.calendarFunction&&void 0===e.calendarFunction.dateColumn);n&&e.push("Query has calendar function with no date column specified");const i=this.projectionColumns.some(e=>this.projectionColumns.filter(t=>t.columnName===e.columnName).length>1);i&&e.push("Query has duplicated projection columns");const r=this.projectionColumns.some(e=>this.windowState.windowColumns.filter(t=>t.columnName===e.columnName).length>0);r&&e.push("Query has duplicated projection/window columns");return 0===this.projectionColumns.length&&this.queryBuilderState.changeHistoryState.canUndo&&e.push("Query has no projection columns"),this.projectionColumns.forEach(t=>{t instanceof VCi&&t.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid)&&e.push(`Derived property parameter value for ${t.propertyExpressionState.title} is missing`)}),this.aggregationState.allValidationIssues.forEach(t=>e.push(t)),e}get allValidationIssues(){return[...this.fetchStructureValidationIssues,...this.windowState.windowValidationIssues,...this.postFilterState.allValidationIssues]}get isQueryOptionsSet(){return void 0!==this.resultSetModifierState.limit||this.queryBuilderState.milestoningState.isMilestonedQuery||void 0!==this.resultSetModifierState.slice||this.resultSetModifierState.sortColumns.length>0||this.resultSetModifierState.distinct}get tdsColumns(){const e=this.aggregationState.columns.map(e=>e.projectionColumnState),t=this.projectionColumns.filter(t=>!e.includes(t));return[...this.aggregationState.columns,...t,...this.windowState.windowColumns]}get exportDataFormatOptions(){return[owi.CSV]}getExportDataInfo(e){if(e===owi.CSV)return{contentType:exports.ContentType.TEXT_CSV,serializationFormat:exports.EXECUTION_SERIALIZATION_FORMAT.CSV};throw new Yr(`Unsupported TDS export type ${e}`)}isDuplicateColumn(e){return this.tdsColumns.filter(t=>t.columnName===e.columnName).length>1}initialize(){this.queryBuilderState.filterState.setShowPanel(!0),this.setShowPostFilterPanel(!1),this.setShowWindowFuncPanel(!1)}initializeWithQuery(){this.fetchDerivedReturnTypes().catch(this.queryBuilderState.applicationStore.alertUnhandledError)}isColumnInUse(e){return Boolean([...this.postFilterState.referencedTDSColumns,...this.windowState.referencedTDSColumns].find(t=>t instanceof zCi?e instanceof zCi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){zEi(this,e,t)}setShowPostFilterPanel(e){this.showPostFilterPanel=e}setShowWindowFuncPanel(e){this.showWindowFuncPanel=e}setUseColFunc(e){this.useColFunc=e}*convertDerivationProjectionObjects(){const e=new Map,t=new Map;if(this.derivations.forEach(n=>{gj(n.lambda)||(e.set(n.derivationLambdaEditorState.lambdaId,n.lambda),t.set(n.derivationLambdaEditorState.lambdaId,n))}),e.size){this.isConvertDerivationProjectionObjects=!0;try{(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(e)).forEach((e,n)=>{const i=t.get(n);i?.derivationLambdaEditorState.setLambdaString(i.derivationLambdaEditorState.extractLambdaString(e))})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=tdt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new GCi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),DE));n.setColumnName(e.columnName),this.replaceColumn(e,n),n.derivationLambdaEditorState.convertLambdaObjectToGrammarString({pretty:!1}).catch(this.queryBuilderState.applicationStore.alertUnhandledError)}replaceColumn(e,t){const n=this.aggregationState.columns.find(t=>t.projectionColumnState===e);n&&n.setColumnState(t);const i=this.resultSetModifierState.sortColumns.find(t=>t.columnState===e);i&&i.setColumnState(t),So(this.projectionColumns,e,t)}removeAllColumns(){this.projectionColumns=[],this.aggregationState.columns=[]}removeColumn(e){Eo(this.projectionColumns,e);const t=this.aggregationState.columns.find(t=>t.projectionColumnState===e);t&&this.aggregationState.removeColumn(t),this.resultSetModifierState.updateSortColumns()}addColumn(e,t){Co(this.projectionColumns,e),t?.skipSorting||(this.projectionColumns=this.projectionColumns.toSorted((e,t)=>(this.aggregationState.columns.find(t=>t.projectionColumnState===e)?1:0)-(this.aggregationState.columns.find(e=>e.projectionColumnState===t)?1:0)))}moveColumn(e,t){if(e<0||e>=this.projectionColumns.length||t<0||t>=this.projectionColumns.length)return;const n=Gs(this.projectionColumns[e]),i=Ui(this.projectionColumns,e=>!this.aggregationState.columns.find(t=>t.projectionColumnState===e)),r=i?this.projectionColumns.lastIndexOf(i):0;t=this.aggregationState.columns.find(e=>e.projectionColumnState===n)?Math.max(t,Math.min(r+1,this.projectionColumns.length-1)):Math.min(t,r),this.projectionColumns.splice(e,1),this.projectionColumns.splice(t,0,n)}addNewBlankDerivation(){const e=new GCi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${Sct}${vC}''`)}revealCompilationError(e){const t=Fee(e.sourceInformation);if(t&&3===t.length&&t[0]===fct.QUERY_BUILDER&&t[1]===fct.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof GCi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new VCi(this,Jwi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new VCi(this,Jwi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))})}checkBeforeClearingColumns(e){this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"You will be clearing all projection columns. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]})}checkBeforeChangingImplementation(e){this.projectionColumns.length>0?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:this.showPostFilterPanel&&this.postFilterState.nodes.size>0?"With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?":"Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(GCi)).length)return!1;const n=t.filter(zs(VCi)).find(t=>t.isVariableUsed(e)),i=this.postFilterState.isVariableUsed(e);return Boolean(n??i)}get hasInvalidFilterValues(){return this.postFilterState.hasInvalidFilterValues||this.postFilterState.hasInvalidDerivedPropertyParameters}get hasInvalidDerivedPropertyParameters(){return this.projectionColumns.some(e=>e instanceof VCi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return bg([odt.PROJECTION_STATE,bg(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(GCi));n.forEach(t=>e.set(t.columnName,t.getIsolatedRawLambda()));const i=yield this.queryBuilderState.graphManagerState.graphManager.getLambdasReturnType(e,t);Array.from(i.results.entries()).forEach(e=>{const t=n.find(t=>t.columnName===e[0]);t&&t.setLambdaReturnType(e[1])})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.info(vb.create("Unable to fetch derived return types"),e)}}}var lwi;!function(e){e.COUNT="Count",e.DISTINCT_COUNT="Distinct Count",e.SUM="Sum",e.MIN="Min",e.MAX="Max",e.AVERAGE="Average",e.STD_DEV_POPULATION="Std Dev (Population)",e.STD_DEV_SAMPLE="Std Dev (Sample)"}(lwi||(lwi={}));const cwi=[[lwi.COUNT,YCi],[lwi.DISTINCT_COUNT,KCi],[lwi.SUM,eSi],[lwi.MIN,ZCi],[lwi.MAX,XCi],[lwi.AVERAGE,qCi],[lwi.STD_DEV_POPULATION,QCi],[lwi.STD_DEV_SAMPLE,JCi]],dwi=(e,t,n)=>{const i=new VCi(e,t,!1);return i.setColumnName(n),i};class uwi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),c_(this,{includeSubTypes:xy,includeDocumentation:xy,setIncludeSubTypes:Ov,setIncludeDocumentation:Ov})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const hwi=e=>{const{taggedValues:t}=e,[i,r]=n.useState(!1),s=e=>{e.stopPropagation(),r(!i)},o=e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC,a=t.filter(e=>o(e)).map(e=>e.value),l=t.filter(e=>!o(e)),c=e=>Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Dne.jsx("div",{children:l.length>0?Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Dne.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Dne.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Dne.jsx("button",{className:"btn btn--dark query-builder__tooltip__taggedValues__show-btn",onClick:s,title:"Toggle button to show more/less",children:i?"Show Less":"Show More"})]},`${e.tag.ownerReference.value.name}.${e.value}`)),t.slice(1,3).map(e=>c(e)),i&&t.slice(3).map(e=>c(e))]})]}):Dne.jsx(Dne.Fragment,{children:Boolean(a.length)&&Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},pwi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Dne.jsx(xye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Dne.jsx("div",{children:Dne.jsx(Kbe,{arrow:!0,...void 0!==r?{placement:r}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:a,onClose:()=>l(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Dne.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},gwi=e=>{const{title:t,property:n,path:i,isMapped:r,children:s,placement:o,type:a,explorerState:l}=e,c=[{label:"Type",value:a?.path??n.genericType.value.rawType.path},{label:"Path",value:i,actionButton:l?Dne.jsx("div",{className:"query-builder__tooltip__item__action",children:Dne.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Dne.jsx(Wre,{})})}):void 0},{label:"Multiplicity",value:Qw(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Dne.jsx(pwi,{title:t,data:c,placement:o,footerElement:Dne.jsx(hwi,{taggedValues:n.taggedValues}),children:s})},mwi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Dne.jsx(pwi,{title:t,data:s,placement:i,children:n})};var fwi;!function(e){e.LAMBDA_EDITOR__EDITOR_INPUT="lambda-editor__editor__input",e.QUERY_BUILDER="query__builder",e.QUERY_BUILDER_ACTIONS="query__builder__actions",e.QUERY_BUILDER_SETUP="query__builder__setup",e.QUERY_BUILDER_FETCH_STRUCTURE="query__builder__fetch__structure",e.QUERY_BUILDER_TDS_PROJECTION="query__builder__tds__projection",e.QUERY_BUILDER_TDS="query__builder__tds",e.QUERY_BUILDER_TDS_PROJECTION_COLUMN="QUERY_BUILDER_TDS_PROJECTION_COLUMN",e.QUERY_BUILDER_GRAPH_FETCH="query__builder__graph__fetch",e.QUERY_BUILDER_FILTER_PANEL="query__builder__filter__panel",e.QUERY_BUILDER_FILTER_TREE="query__builder__filter__tree",e.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK="query__builder__filter__tree__node-block",e.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN="query__builder__filter__tree__node-children",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER="query__builder__filter__tree__node-container",e.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT="query__builder__filter__tree__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT="query__builder__filter__tree__condition__node-content",e.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE="query-builder-filter-tree__condition-node__value",e.QUERY_BUILDER_POST_FILTER_PANEL="query__builder__post__filter-panel",e.QUERY_BUILDER_POST_FILTER_TREE="query__builder__post__filter__tree",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_BLOCK="query__builder__post__filter__tree__node-block",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CHILDREN="query__builder__post__filter__tree__node-children",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTAINER="query__builder__post__filter__tree__node-container",e.QUERY_BUILDER_POST_FILTER_TREE_NODE_CONTENT="query__builder__post__filter__tree__node-content",e.QUERY_BUILDER_WINDOW_GROUPBY="query__builder__window",e.QUERY_BUILDER_EXPLORER="query__builder__explorer",e.QUERY_BUILDER_PROPERTY_SEARCH_PANEL="query__builder__property__search__panel",e.QUERY_BUILDER_PERCENTILE_PANEL="query__builder__percentile__panel",e.QUERY_BUILDER_WAVG_DROPZONE="query__builder__wavg__dropzone",e.QUERY_BUILDER_PREVIEW_DATA_MODAL="query__builder__preview-data__modal",e.QUERY_BUILDER_PARAMETERS="query-builder__parameters",e.QUERY_BUILDER_CONSTANTS="query-builder__constants",e.QUERY_BUILDER_FUNCTIONS="query-builder__functions",e.QUERY_BUILDER_TOOLTIP_ICON="query-builder__tooltip__icon",e.QUERY_BUILDER_RESULT_VALUES="QUERY_BUILDER_RESULT_VALUES",e.QUERY_BUILDER_RESULT_VALUES_TDS="QUERY_BUILDER_RESULT_VALUES_TDS",e.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT="query-builder__tds__result-modifier-prompt",e.QUERY_BUILDER_RESULT_PANEL="query__builder__result__panel",e.QUERY_BUILDER_RESULT_ANALYTICS="query__builder__result__analytics",e.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER="query__builder__result__grid__custom-header",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL="query__builder__result__modifier__panel",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL_SORT_REMOVE_BTN="query__builder__projection__options__sort__remove-btn",e.QUERY_BUILDER_RESULT_MODIFIER_PANEL__WATERMAKR="query__builder__result__modifier__panel__watermark",e.QUERY_BUILDER_TEMPLATE_QUERY_PANE="query__builder__template__query__panel"}(fwi||(fwi={}));const ywi=e=>({label:e.name,value:e}),vwi=e=>Vw(e)?"system element":Bw(e)?"generated element":Fw(e)?"dependency element":void 0,_wi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>Vw(e)?"system":Bw(e)?"generated":Fw(e)?"dependency":"")(t.value);return Dne.jsxs("div",{className:i,children:[Dne.jsx("div",{title:vwi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Dne.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Dne.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},bwi=e=>e instanceof gS?Dne.jsx(UEe,{}):e instanceof wS?Dne.jsx(GEe,{}):e instanceof RS?Dne.jsx(HEe,{}):e instanceof PS?Dne.jsx(zEe,{}):e instanceof MS?Dne.jsx(WEe,{}):Dne.jsx($Ee,{}),Cwi=e=>{const{_class:t,children:n,placement:i}=e;return Dne.jsx(Kbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Dne.jsx(hwi,{taggedValues:t.taggedValues})]}),children:n})},Swi=(e,t,n)=>{if(e.type instanceof wS&&tx(e.type,t))return!0;if(e instanceof Zwi&&tx(e.property,t))return!0;if(e instanceof Qwi){const i=n.nodes.get(e.parentId);if(i?.type instanceof wS&&tx(i.type,t))return!0}return!1},Ewi=(e,t)=>{if(e instanceof Xwi&&t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.length>0)return!0;const n=e.id.replaceAll(/(?:@[^.]+)+/g,e=>{const t=e.split(CC);return`${CC}${t[t.length-1]}`});return t.fetchStructureState.implementation.usedExplorerTreePropertyNodeIDs.includes(n)},wwi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Dne.jsx(xye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Dne.jsx("div",{children:Dne.jsx(Kbe,{arrow:!0,...void 0!==o?{placement:o}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},open:l,onClose:()=>c(!1),slotProps:{transition:{timeout:0}},disableFocusListener:!0,disableHoverListener:!0,disableTouchListener:!0,title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:Qw(a)})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Dne.jsx(hwi,{taggedValues:t.taggedValues})]}),children:Dne.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},xwi=Sse(e=>{const{queryBuilderState:t}=e,n=t.applicationStore,i=t.explorerState.previewDataState,r=()=>{i.previewDataAbortController&&(i.previewDataAbortController.abort(),i.setPreviewDataAbortController(void 0)),i.setIsGeneratingPreviewData(!1),i.setPreviewData(void 0)};return Dne.jsx(Xye,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Dne.jsxs(wOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Dne.jsx(TOe,{title:Cp(i.propertyName)}),Dne.jsx(aLe,{isLoading:i.isGeneratingPreviewData}),Dne.jsxs(NOe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Dne.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Dne.jsxs("table",{className:"table",children:[Dne.jsx("thead",{children:Dne.jsx("tr",{children:i.previewData.columns.map((e,t)=>Dne.jsx("th",{className:"table__cell--left",children:e},t))})}),Dne.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Dne.jsx("tr",{children:e.values.map((e,t)=>Dne.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),Twi=Sse(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Dne.jsxs(OOe,{ref:t,children:[r instanceof Zwi&&!(r.type instanceof wS)&&Dne.jsx(LOe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof wS&&Dne.jsx(LOe,{onClick:()=>{if(i(),r.type instanceof wS){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(Zwi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped).filter(e=>{const t=Jwi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof awi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof VCi)return n.propertyExpressionState.path===e.id&&n.columnName===ICi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),Awi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Dne.jsx(Xne,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Dne.jsx(Nre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__boolean"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Dne.jsx(lre,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__number"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Dne.jsx(zie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return bwi(e)},Nwi=Sse(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=Aat(),u=a.explorerState,[,h,p]=KMe(()=>({type:t instanceof Zwi?t.type instanceof RS?$wi.ENUM_PROPERTY:t.type instanceof wS?$wi.CLASS_PROPERTY:$wi.PRIMITIVE_PROPERTY:$wi.ROOT,item:()=>t instanceof Zwi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),NPe(p);const m=Boolean(t.childrenIds.length),f=t instanceof Zwi&&t.property instanceof US,y=t instanceof Zwi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof Qwi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),v=t.mappingData.mapped&&t instanceof Zwi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,_=m?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),b=u.humanizePropertyName?t instanceof Qwi?CC+Cp(t.label):Cp(t.label):t instanceof Qwi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof Xwi||u.showUnmappedProperties?Dne.jsx(BOe,{content:Dne.jsx(Twi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof Zwi||t instanceof Xwi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Dne.jsxs("div",{className:Tse("tree-view__node__container query-builder-explorer-tree__node__container",{"query-builder-explorer-tree__node__container--selected-from-context-menu":l,"query-builder-explorer-tree__node__container--unmapped":!t.mappingData.mapped,"query-builder-explorer-tree__node__container--selected":t.isSelected,"query-builder-explorer-tree__node__container--highlighted":u.highlightUsedProperties&&Ewi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof Xwi?"Root class is not mapped":"Property is not mapped",onClick:()=>s?.(t),ref:t.mappingData.mapped&&!m?g:void 0,style:{paddingLeft:(i-1)*(r??1)+.5+"rem",display:"flex"},children:[t instanceof Xwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Dne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Dne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Dne.jsx(GEe,{})})]}),Dne.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Dne.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Dne.jsx(Cwi,{_class:Gs(a.class),children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})})})]}),(t instanceof Zwi||t instanceof Qwi)&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Dne.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:_}),Dne.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Awi(t.type)})]}),Dne.jsxs("div",{className:Tse("tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",{"query-builder-explorer-tree__node__label--with-preview":v},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Dne.jsx("div",{className:Tse("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":Swi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:b}),f&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),y&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Dne.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[v&&Dne.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof Zwi&&u.previewData(t).catch(d.alertUnhandledError)},children:Dne.jsx(ere,{})}),t instanceof Zwi&&Dne.jsx(gwi,{title:b,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})}),t instanceof Qwi&&Dne.jsx(wwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Dne.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":fwi.QUERY_BUILDER_TOOLTIP_ICON,children:Dne.jsx(cre,{})})})]})]})]})}):null}),Rwi=Sse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof Xwi||a.explorerState.showUnmappedProperties?Dne.jsxs("div",{className:"tree-view__node__block",children:[Dne.jsx(Nwi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Dne.jsx(Rwi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),Iwi=e=>e instanceof Qwi?0:e.type instanceof wS?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof RS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,Dwi=Sse(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Dne.jsx(KRe,{components:{TreeNodeContainer:Nwi,TreeNodeView:Rwi},className:"query-builder-explorer-tree__root",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.setIsOpen(!e.isOpen),n.generateOpenNodeChildren(e))},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(e=>e instanceof Qwi||e instanceof Zwi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>Iwi(t)-Iwi(e)),innerProps:{queryBuilderState:t}})}),kwi="query-builder-explorer-search-input",Owi=Sse(n.forwardRef(function(e,t){const{propertySearchState:i}=e;n.useEffect(()=>{i.initializationState.hasSucceeded||i.initializationState.isInProgress||!Vs(i.queryBuilderState.explorerState.treeData)||i.initialize().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},[i,i.initializationState,i.queryBuilderState.explorerState.treeData]);const r=n.useMemo(()=>gi(()=>i.search(),100),[i]),s=()=>{i.resetSearch()};return Dne.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Dne.jsx("input",{ref:t,name:kwi,className:Tse("query-builder__explorer__property-search__input input--dark",{"query-builder__explorer__property-search__input--searching":i.searchText}),spellCheck:!1,onChange:e=>{(async()=>{i.setSearchText(e.target.value),e.target.value.length>=2?(i.queryBuilderState.explorerState.treeData&&!i.isSearchPanelOpen&&(i.setIsSearchPanelOpen(!0),i.initializationState.hasSucceeded||i.initializationState.isInProgress||await i.initialize()),await r()):i.setIsSearchPanelOpen(!1)})().catch(i.queryBuilderState.applicationStore.alertUnhandledError)},onKeyDown:e=>{"Escape"===e.key&&(s(),i.setIsSearchPanelOpen(!1))},value:i.searchText,placeholder:"One or more terms, ESC to clear"}),i.searchText.length>=2&&Dne.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Dne.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Dne.jsx(Are,{})}):Dne.jsx(Dne.Fragment,{children:Dne.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Dne.jsx(Ere,{})})})]})})),Lwi=Sse(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=Aat();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_EXPLORER,className:Tse("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Dne.jsxs(jOe,{title:"explorer",children:[Dne.jsx(Owi,{propertySearchState:s,ref:i}),Dne.jsxs(qOe,{children:[Dne.jsx(YOe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Dne.jsx(jie,{})}),Dne.jsx(VOe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{Cct.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Dne.jsxs(OOe,{children:[Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Dne.jsx(POe,{children:r.showUnmappedProperties?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Show Unmapped Properties"})]}),Dne.jsxs(LOe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Dne.jsx(POe,{children:r.humanizePropertyName?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Humanize Property Name"})]}),Dne.jsxs(LOe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Dne.jsx(POe,{children:r.highlightUsedProperties?Dne.jsx(Vie,{}):null}),Dne.jsx(FOe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Dne.jsx(Zne,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Dne.jsx(Wwi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Dne.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Dne.jsx(aLe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Dne.jsx(RPe,{labelGetter:e=>r.humanizePropertyName?Cp(e.node.label):e.node.label,types:Object.values($wi)}),r.mappingModelCoverageAnalysisState.isInProgress?Dne.jsx(rLe,{children:r.mappingModelCoverageAnalysisState.message}):Dne.jsxs(Dne.Fragment,{children:[!r.treeData&&Dne.jsx(rLe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Dne.jsx(Dwi,{queryBuilderState:t})]}),Dne.jsx(xwi,{queryBuilderState:t})]})]})}),Mwi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=Aat(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Mat(s))?Dne.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Tse("documentation-link",n,{"documentation-link--inline":i}),children:Dne.jsx(_re,{})}):null},Pwi=e=>{const{parent:t,canUndo:i,undo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"z"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Dne.jsx("div",{className:"undo-redo",children:Dne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Dne.jsx(Ire,{}),Dne.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},Fwi=e=>{const{parent:t,canRedo:i,redo:r}=e;return n.useEffect(()=>{const e=e=>{const n=e.target;e.ctrlKey&&"y"===e.key&&null!==n&&null!==t.current&&(t.current.contains(n)||n.contains(t.current))&&(e.preventDefault(),r())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t,r]),Dne.jsx("div",{className:"undo-redo",children:Dne.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Dne.jsx(Cre,{}),Dne.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},Bwi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(Cp).join(t?" / ":"/")).join(CC),Vwi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${yC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>Cp(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>Cp(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},Uwi=(e,t,n,i)=>{const r=[];t.split(/\/| /).filter(e=>e.trim().length>0).forEach(t=>{const n=new RegExp(t,"gi");let i;for(;i=n.exec(e);)r.push([i.index,i.index+t.length])});const s=[];if(r.sort((e,t)=>e[0]-t[0]),r.forEach(e=>{if(s.length){const t=s[s.length-1];void 0!==t&&e[0]<=t[1]?t[1]=Math.max(t[1],e[1]):s.push(e)}else s.push(e)}),!s.length)return Dne.jsx("span",{children:e});const o=[],a=vo(s,0)[0];a>0&&o.push(Dne.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Dne.jsx("span",{className:`${n}--highlight`,children:e.substring(t[0],t[1])},`${i}-${2*r}-${e.substring(t[0],t[1])}`)),r<s.length-1&&t[1]<e.length){const n=vo(s,r+1)[0];o.push(Dne.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=vo(s,s.length-1)[1];return l<e.length&&o.push(Dne.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},Gwi=Sse(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=KMe(()=>({type:t instanceof Zwi?t.type instanceof RS?$wi.ENUM_PROPERTY:t.type instanceof wS?$wi.CLASS_PROPERTY:$wi.PRIMITIVE_PROPERTY:$wi.ROOT,item:()=>t instanceof Zwi?{node:t}:{},canDrag:()=>!(t.type instanceof wS),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),NPe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof Zwi&&t.parentId===e.id),g=p?.type instanceof wS&&s>1?Cp(t.label):p instanceof Qwi?Vwi(t.id,!0):Bwi(t.id,!0),m=a?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),f=t instanceof Zwi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,y=null!==f?Uwi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,v=l.isNodeMultiple(t);return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"tree-view__node__container query-builder-property-search-panel__node__container",ref:u,style:{paddingLeft:(s-1)*o+.5+"rem",display:"flex"},onClick:()=>t.setIsOpen(!t.isOpen),onDrag:()=>l.setIsSearchPanelHidden(!0),onDragEnd:()=>l.setIsSearchPanelHidden(!1),children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Dne.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Dne.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:Awi(t.type)})]}),Dne.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Dne.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[Uwi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),v&&Dne.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Dne.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:y})]}),Dne.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof Zwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(gwi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Dne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Dne.jsx(Wre,{})})]}),t instanceof Qwi&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(wwi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Dne.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Dne.jsx(Wre,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof Zwi||t instanceof Qwi)&&t.type instanceof wS&&(t instanceof Qwi?Yw(t.type):jw(t.type)).forEach(n=>{const r=txi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof wS||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Dne.jsx(Gwi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),Hwi=Sse(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Dne.jsxs("button",{className:Tse("query-builder-property-search-panel__form__section__toggler__btn",{"query-builder-property-search-panel__form__section__toggler__btn--toggled":i}),onClick:r,tabIndex:-1,children:[i?Dne.jsx(Uie,{}):Dne.jsx(xre,{}),Dne.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Dne.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),zwi=Sse(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Dne.jsx(Kbe,{slotProps:{transition:{timeout:0}},title:Dne.jsx("div",{children:n}),children:Dne.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Dne.jsx(cre,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Dne.jsx(Hwi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),Wwi=Sse(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===kwi||(i(),r.setIsSearchPanelOpen(!1))};return Dne.jsx(cCe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Tse("query-builder-property-search-panel__container",{"query-builder-property-search-panel__container--hidden":r.isSearchPanelHidden}),anchorEl:n,onClose:s,hideBackdrop:!0,disableAutoFocus:!0,disableEnforceFocus:!0,anchorOrigin:{vertical:40,horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"center"},children:Dne.jsx(xye,{onClickAway:s,children:Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Dne.jsx("div",{className:"query-builder-property-search-panel__content",children:Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{size:175,children:Dne.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Dne.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Dne.jsx(Mwi,{documentationKey:blt.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Dne.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Dne.jsx(zOe,{className:"query-builder-property-search-panel__search-mode__options",value:r.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;r.searchConfigurationState.setCurrentMode(t)},row:!1,options:[hC.STANDARD,hC.INCLUDE,hC.EXACT,hC.INVERSE],size:1})})]}),Dne.jsx(zwi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Dne.jsx(zwi,{header:"Documentation",headerTooltipText:'Include "doc" type tagged values in search results',buttons:[{label:"Include",enabled:r.searchConfigurationState.includeDocumentation,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeDocumentation(!r.searchConfigurationState.includeDocumentation),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Dne.jsx(zwi,{header:"Sub-types",buttons:[{label:"Include",enabled:r.searchConfigurationState.includeSubTypes,onClick:()=>{(async()=>{r.searchConfigurationState.setIncludeSubTypes(!r.searchConfigurationState.includeSubTypes),await r.initialize(),await r.search()})().catch(r.queryBuilderState.applicationStore.alertUnhandledError)}}]}),Dne.jsx(zwi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(wct.CLASS),onClick:()=>{r.toggleFilterForType(wct.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(wct.ENUMERATION),onClick:()=>{r.toggleFilterForType(wct.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(wct.STRING),onClick:()=>{r.toggleFilterForType(wct.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(wct.BOOLEAN),onClick:()=>{r.toggleFilterForType(wct.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(wct.NUMBER),onClick:()=>{r.toggleFilterForType(wct.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(wct.DATE),onClick:()=>{r.toggleFilterForType(wct.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(wct.DATE)}}]})]})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:"var(--color-dark-grey-200)"})}),Dne.jsxs(xFe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Dne.jsx(aLe,{isLoading:!0}),Dne.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Dne.jsxs(Dne.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Dne.jsx(Gwi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Dne.jsxs(rLe,{children:[Dne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Dne.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__tips",children:"Tips: Navigate deeper into the explorer tree to improve the scope and accuracy of the search"})]})]}),r.initializationState.isInProgress&&Dne.jsx(rLe,{children:"Initializing..."}),r.searchState.isInProgress&&Dne.jsx(rLe,{children:"Searching..."})]})]})]})})})})})});class jwi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=hb.create();searchState=hb.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[wct.CLASS,wct.ENUMERATION,wct.STRING,wct.BOOLEAN,wct.NUMBER,wct.DATE];constructor(e){c_(this,{indexedExplorerTreeNodeMap:xy,searchText:xy,searchResults:xy,isOverSearchLimit:xy,isSearchPanelOpen:xy,isSearchPanelHidden:xy,showSearchConfigurationMenu:xy,includeOneMany:xy,typeFilters:xy,indexedExplorerTreeNodes:Ry,filteredSearchResults:Ry,search:Ov,resetSearch:Ov,setSearchResults:Ov,setIsOverSearchLimit:Ov,setSearchText:Ov,setShowSearchConfigurationMenu:Ov,setIsSearchPanelOpen:Ov,setIsSearchPanelHidden:Ov,setIncludeOneMany:Ov,setFilterOnlyType:Ov,toggleFilterForType:Ov,initialize:Ov}),this.queryBuilderState=e,this.searchConfigurationState=new uwi(async()=>this.search(),this.queryBuilderState.applicationStore.alertUnhandledError),this.searchEngine=new uC(this.indexedExplorerTreeNodes)}setIsSearchPanelOpen(e){this.isSearchPanelOpen=e}setIsSearchPanelHidden(e){this.isSearchPanelHidden=e}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}setSearchResults(e){this.searchResults=e}setIsOverSearchLimit(e){this.isOverSearchLimit=e}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.indexedExplorerTreeNodes.forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?Eo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof Qwi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof Zwi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof Zwi||t instanceof Qwi?this.indexedExplorerTreeNodeMap.get(t.parentId):void 0}return!1}async search(){return this.searchText||this.setSearchResults([]),this.searchState.inProgress(),this.indexedExplorerTreeNodes.forEach(e=>{e instanceof Xwi||e.setIsOpen(!1)}),new Promise(e=>setTimeout(()=>{const t=new Map,n=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText.toLowerCase()),{limit:101}).values()).map(e=>e.item).map(e=>(e.type instanceof wS&&t.set(e.id,e),e)).filter(e=>!(e instanceof Zwi||e instanceof Qwi)||!t.has(e.parentId));n.length>100?(this.setIsOverSearchLimit(!0),this.setSearchResults(n.slice(0,100))):(this.setIsOverSearchLimit(!1),this.setSearchResults(n)),this.searchState.complete(),e()},0))}async initialize(){return this.initializationState.inProgress(),new Promise(e=>setTimeout(()=>{const t=this.queryBuilderState.explorerState.nonNullableTreeData,n=new Map(t.rootIds.map(e=>t.nodes.get(e)).filter(Vs).map(e=>[e.id,e]));this.indexedExplorerTreeNodeMap=new Map;let i=[],r=[];Array.from(t.rootIds.map(e=>t.nodes.get(e)?.childrenIds.map(e=>t.nodes.get(e))).flat().filter(Vs).filter(e=>!(!e.mappingData.mapped||!this.searchConfigurationState.includeSubTypes)||e instanceof Zwi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=rxi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>Mv(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=rxi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof Zwi||e instanceof Qwi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof Zwi||t instanceof Qwi?this.indexedExplorerTreeNodeMap.get(t.parentId)??n.get(t.parentId):void 0}}return!1};let l=1;for(;i.length&&l<=10;){const e=i.shift();e?.mappingData.mapped&&e.childrenIds.length&&(e instanceof Zwi||this.searchConfigurationState.includeSubTypes&&e instanceof Qwi)&&e.type instanceof wS&&((e instanceof Qwi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=txi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n&&n.mappingData.mapped&&!n.isPartOfDerivedPropertyBranch&&!a(n)&&(r.push(n),o(n))}),this.searchConfigurationState.includeSubTypes&&e.type._subclasses.forEach(t=>{const n=nxi(t,e,Gs(this.queryBuilderState.explorerState.mappingModelCoverageAnalysisResult));n.mappingData.mapped&&!a(n)&&(r.push(n),o(n))})),!i.length&&this.indexedExplorerTreeNodeMap.size<s&&(i=r,r=[],l++)}this.searchEngine=new uC(this.indexedExplorerTreeNodes,{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"label",weight:4},{name:"path",weight:2,getFn:e=>{const t=e instanceof Zwi||e instanceof Qwi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof Qwi?Vwi(e.id):Bwi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof Zwi?e.property.taggedValues.filter(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC).map(e=>e.value).join("\n"):""}]:[]],sortFn:(e,t)=>{if(Math.abs(e.score-t.score)<=.1){const n=e.item[0]&&Object.hasOwn(e.item[0],"v")?e.item[0].v.split("/").length:void 0,i=t.item[0]&&Object.hasOwn(t.item[0],"v")?t.item[0].v.split("/").length:void 0;if(void 0!==n&&void 0!==i)return n-i}return e.score-t.score},useExtendedSearch:!0}),this.initializationState.complete(),e()},0))}get indexedExplorerTreeNodes(){return Array.from(this.indexedExplorerTreeNodeMap.values())}isNodeIncludedInFilter(e){return!(!this.includeOneMany&&this.isNodeMultiple(e))&&(!!(this.typeFilters.includes(wct.CLASS)&&e.type instanceof wS)||(!!(this.typeFilters.includes(wct.ENUMERATION)&&e.type instanceof RS)||(!(!this.typeFilters.includes(wct.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(wct.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(wct.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(wct.DATE)&&e.type instanceof gS&&[TC.DATE,TC.DATETIME,TC.STRICTDATE,TC.STRICTTIME,TC.LATESTDATE].includes(e.type.name)))))))}get filteredSearchResults(){return this.searchResults.filter(e=>this.isNodeIncludedInFilter(e))}}var $wi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}($wi||($wi={}));const qwi=(e,t)=>`${e?`${e}.`:""}${t}`,Ywi=(e,t)=>`${e||""}${CC}${t}`;class Kwi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){c_(this,{isHighlighting:xy,isOpen:xy,isSelected:xy,setIsHighlighting:Ov,setIsOpen:Ov,setIsSelected:Ov}),this.id=e,this.label=t,this.dndText=i,this.isPartOfDerivedPropertyBranch=r,this.type=s,this.mappingData=o,a&&(this.childrenIds=a),this.elementRef=n.createRef()}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}setIsHighlighting(e){this.isHighlighting=e}}class Xwi extends Kwi{}class Zwi extends Kwi{property;parentId;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,a??i.genericType.value.rawType,o,l),this.property=i,this.parentId=r}}class Qwi extends Kwi{subclass;parentId;multiplicity;constructor(e,t,n,i,r,s,o,a,l){super(e,t,n,s,i,o,l),this.subclass=i,this.parentId=r,this.multiplicity=a}}const Jwi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new ME(n??Sct,nS.ONE),o=new KE("");Gct(o,zS.create(Gs(e.property)));let a=o,l=i.nodes.get(e.parentId)??r.find(t=>t.id===e.parentId),c=e;for(;c&&(l instanceof Zwi||l instanceof Qwi);){if(l instanceof Qwi&&c instanceof Qwi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof Qwi?e=new YE(sS(Nct.SUBTYPE)):l instanceof Zwi&&l.mappingData.entityMappedProperty?.subType?(e=new YE(sS(Nct.SUBTYPE)),a.parametersValues.push(e),a=e,e=new KE(""),Gct(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new KE(""),Gct(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof YE&&lS(a.functionName,Nct.SUBTYPE)){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof Zwi||l instanceof Qwi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof Zwi||c instanceof Qwi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof YE){const e=new PE(nS.ONE,yS.create(new ES(c.type)));a.parametersValues.push(e)}return o},exi=e=>{const t=e.type,n=(e instanceof Qwi?Yw(t):jw(t).concat($w(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},txi=(e,t,n)=>{const i=((e,t,n)=>{if(t.mappedEntity){const i=t.mappedEntity.__PROPERTIES_INDEX.get(e.name);return(e.genericType.value.rawType instanceof wS||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof vJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof vJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof Zwi&&t.property instanceof US;if(e instanceof AS&&t instanceof Zwi&&t.property instanceof AS&&e._OWNER instanceof NS&&t.property._OWNER instanceof NS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof wS?Ww(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new Zwi(o?Ywi(qwi(t instanceof Xwi?"":t.id,e.name),o.path):qwi(t instanceof Xwi?"":t.id,e.name),e.name,`${t instanceof Xwi?`${bC}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=qwi(t instanceof Xwi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof wS&&(a.childrenIds=exi(a)),a},nxi=(e,t,n)=>{const i=new Qwi(Ywi(t instanceof Xwi?"":t.id,e.path),e.name,""+(t instanceof Xwi?`${bC}${Sct}->${sS(Nct.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS(Nct.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=Ww(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof vJ&&e.subType&&i.includes(e.subType)));if(e)return{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(e.entityPath)};if(i.includes(t.mappedEntity.path)||r&&i.includes(r))return{mapped:!0,mappedEntity:t.mappedEntity}}return{mapped:!1}})(e,t.mappingData,n),t instanceof Zwi?t.property.multiplicity:t instanceof Qwi?t.multiplicity:nS.ONE);return i.childrenIds=exi(i),i},ixi=(e,t)=>{const n=[],i=new Map,r=((e,t)=>{const n=t.__ENTITIES_INDEX.get(e.path);return{mapped:Boolean(n),mappedEntity:n}})(e,t),s=new Xwi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),jw(e).concat($w(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof wS?2:t instanceof RS?1:0)-(e instanceof wS?2:e instanceof RS?1:0)).forEach(e=>{const n=txi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=nxi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},rxi=e=>{if(e instanceof Xwi)return new Xwi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof Zwi)return new Zwi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof Qwi)return new Qwi(e.id,e.label,e.dndText,e.subclass,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.multiplicity,e.childrenIds);throw new Yr(`Unable to clone node of type ${e.constructor.name}`)};class sxi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){c_(this,{previewData:xy.ref,isGeneratingPreviewData:xy,propertyName:xy,previewDataAbortController:xy,setPropertyName:Ov,setIsGeneratingPreviewData:Ov,setPreviewData:Ov,setPreviewDataAbortController:Ov})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class oxi{queryBuilderState;previewDataState=new sxi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=hb.create();mappingModelCoverageAnalysisResult;constructor(e){c_(this,{treeData:xy.ref,humanizePropertyName:xy,showUnmappedProperties:xy,highlightUsedProperties:xy,mappingModelCoverageAnalysisResult:xy,setTreeData:Ov,refreshTree:Ov,refreshTreeData:Ov,setHumanizePropertyName:Ov,setShowUnmappedProperties:Ov,setHighlightUsedProperties:Ov,highlightTreeNode:Ov,analyzeMappingModelCoverage:Xv,previewData:Xv}),this.queryBuilderState=e,this.propertySearchState=new jwi(this.queryBuilderState)}get nonNullableTreeData(){return Gs(this.treeData,"Query builder explorer tree data has not been initialized")}setTreeData(e){this.treeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData})}setHumanizePropertyName(e){this.humanizePropertyName=e}setShowUnmappedProperties(e){this.showUnmappedProperties=e}setHighlightUsedProperties(e){this.highlightUsedProperties=e}refreshTreeData(){const e=this.queryBuilderState.class,t=this.queryBuilderState.executionContextState.mapping;this.setTreeData(e&&t&&this.mappingModelCoverageAnalysisResult?ixi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof Zwi||e instanceof Qwi)&&e.type instanceof wS&&((e instanceof Qwi?Yw(e.type):jw(e.type).concat($w(e.type))).forEach(t=>{const n=txi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=nxi(t,e,Gs(this.mappingModelCoverageAnalysisResult));this.nonNullableTreeData.nodes.set(n.id,n)}),this.refreshTree())}highlightTreeNode(e){if(void 0===this.nonNullableTreeData.nodes.get(e)){const t=e.split("@").map(e=>e.split("."));t.length>0&&void 0!==t[t.length-1]&&vo(t,t.length-1).pop();let n="";t.forEach(e=>{e.forEach((e,t)=>{n+=`${t>0?".":""}${e}`;const i=this.nonNullableTreeData.nodes.get(n);i&&(i.setIsOpen(!0),this.generateOpenNodeChildren(i))}),n+="@"})}const t=this.nonNullableTreeData.nodes.get(e);if(t instanceof Zwi||t instanceof Qwi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof Zwi||e instanceof Qwi?this.nonNullableTreeData.nodes.get(e.parentId)??null:null;t.setIsHighlighting(!0),setTimeout(()=>{t.elementRef.current?.scrollIntoView()},0)}}*analyzeMappingModelCoverage(){if(this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.mapping.path!==this.mappingModelCoverageAnalysisResult?.mapping.path){this.mappingModelCoverageAnalysisState.inProgress(),Cct.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new pb,t=Z5(this.queryBuilderState.graphManagerState.graph);this.mappingModelCoverageAnalysisState.setMessage("Analyzing Mapping...");try{this.mappingModelCoverageAnalysisResult=yield this.queryBuilderState.graphManagerState.graphManager.analyzeMappingModelCoverage(this.queryBuilderState.executionContextState.mapping,this.queryBuilderState.graphManagerState.graph),this.refreshTreeData(),t.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t.timings);const n=Object.assign({},t,this.queryBuilderState.getStateInfo());Cct.logEvent_QueryMappingModelCoverageAnalysisSucceeded(this.queryBuilderState.applicationStore.telemetryService,n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}finally{this.mappingModelCoverageAnalysisState.complete()}}}*previewData(e){const t=this.queryBuilderState.executionContextState.runtimeValue;if(!t)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': runtime is not specified`);if(!e.mappingData.mapped||!this.queryBuilderState.class||!this.queryBuilderState.executionContextState.mapping)return;if(this.previewDataState.isGeneratingPreviewData)return void this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}': another preview request is being executed`);this.previewDataState.setPropertyName(e.property.name),this.previewDataState.setIsGeneratingPreviewData(!0);const n=Jwi(e,this),i=e.property.genericType.value.rawType;this.previewDataState.setPreviewDataAbortController(new AbortController);try{switch(i.path){case TC.NUMBER:case TC.INTEGER:case TC.DECIMAL:case TC.FLOAT:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,awi),r=i.aggregationState;return cwi.forEach(e=>{const n=dwi(i,t,e[0]);i.projectionColumns.push(n);const s=Gs(r.operators.find(t=>t instanceof e[1]));r.changeColumnAggregateOperator(s,n,!0)}),n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,NZ,"Unexpected preview data format");const i=e.result,r={columns:["Aggregation","Value"],rows:i.columns.map((e,t)=>({values:[e,Gs(i.rows[0]).values[t]]}))};this.previewDataState.setPreviewData(r);break}case TC.BOOLEAN:case TC.STRING:case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:{const e=(yield this.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t)=>{const n=e.INTERNAL__toBasicQueryBuilderState(),i=js(n.fetchStructureState.implementation,awi),r=dwi(i,t,"Value"),s=dwi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof YCi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new tSi(s);return a.sortType=Ict.DESC,i.resultSetModifierState.sortColumns=[a,new tSi(r)],n.resultState.buildExecutionRawLambda({useAllVersionsForMilestoning:!0})})(this.queryBuilderState,n),this.queryBuilderState.executionContextState.mapping,t,this.queryBuilderState.graphManagerState.graph,{abortController:this.previewDataState.previewDataAbortController,forceFromExpression:this.queryBuilderState.forceFromExpressionForExec})).executionResult;Ws(e,NZ,"Unexpected preview data format"),this.previewDataState.setPreviewData(e.result);break}default:throw new Yr(`No preview support for property of type '${i.path}'`)}}catch(t){if(Kr(t),"AbortError"===t.name)return;this.queryBuilderState.applicationStore.notificationService.notifyWarning(`Can't preview data for property '${e.property.name}'. Error: ${t.message}`),this.previewDataState.setPreviewData(void 0)}finally{this.previewDataState.setIsGeneratingPreviewData(!1),this.previewDataState.setPreviewDataAbortController(void 0)}}}var axi="4.17.67",lxi={applicationPlugin:"@finos/legend-application-plugin-query-builder",graphManagerPreset:"@finos/legend-graph-manager-preset-query-builder",pureProtocolProcessorPlugin:"@finos/legend-pure-protocol-processor-plugin-query-builder",pureGraphManagerPlugin:"@finos/legend-pure-graph-manager-plugin-query-builder"};const cxi=(e,t,n,i)=>{Ws(e,oA,"Can't build projection column: only support lambda"),Ks(1===e.parameters.length,"Can't build projection column: only support lambda with 1 parameter");const r=js(e.parameters[0],nA,"Can't build projection column: only support lambda with 1 parameter");Ks(1===e.body.length,"Can't build projection column: only support lambda body with 1 expression");let s=e.body[0];if(s instanceof uA&&2===s.parameters.length&&lS(s.function,Nct.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new DK(n,i,t));for(Ws(s,WA,"Can't build projection column: only support lambda body as property expression");s instanceof WA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof uA&&lS(s.function,Nct.SUBTYPE);)s=s.parameters[0];return Ws(s,nA,"Can't build projection column: only support lambda body as property expression"),Ks(r.name===s.name,`Can't build column lambda: expects variable used in lambda body '${s.name}' to match lambda parameter '${r.name}'`),e.accept_ValueSpecificationVisitor(new DK(n,i,t))},dxi=(e,t,n,i)=>{Ws(e,uA,"Can't build aggregation: only support function"),Ks(lS(e.function,Nct.TDS_AGG),"Can't build aggregation: only support agg()"),Ks(2===e.parameters.length,"Can't build agg() expression: agg() expects 2 arguments");const r=js(e.parameters[0],oA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof uA&&lS(r.body[0].function,Object.values(Tct))?Xr(()=>((e,t,n,i)=>{Ws(e,oA,"Can't build calendar aggregation column: only support lambda"),Ks(1===e.parameters.length,"Can't build calendar aggregation column: only support lambda with 1 parameter"),Ks(1===e.body.length,"Can't build calendar aggregation column: only support lambda body with 1 expression");const r=js(e.parameters[0],nA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],uA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(Tct)),"Can't build calendar aggregation columnn: unsupported calenddar function"),Ks(4===s.parameters.length,"Can't build calendar aggregation column: only support calendar function with four parameters"),Ws(s.parameters[0],WA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],fA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(nwi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],UT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new DK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new DK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new DK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new DK(n,i,t)))??new LE(LI(d,n.extensions.plugins)),h=LK([a,l,c,u],s.function,n),p=new QE,g=new XE(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new ME(r.name,nS.ONE));const m=new ZE(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new LE(LI(r,n.extensions.plugins)):Xr(()=>cxi(r,t,n,i))??new LE(LI(r,n.extensions.plugins));const o=js(e.parameters[1],oA).accept_ValueSpecificationVisitor(new DK(n,i,t));return LK([s,o],sS(Nct.TDS_AGG),n)},uxi=(e,t,n,i,r)=>{Ks(2===t.length,"Can't build relation project() expression: project() expects 2 arguments");let s=[];const o=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,DR,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation project() expression: project() expects argument #1 to hold spec array instances value");s=l.colSpecs.map(e=>e.function1).filter(Vs).filter(zs(oA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jE(nS.ONE),u=new WE;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new HE;let s;const o=js(e.function1,UT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=cxi(o,n,i,r)}catch{s=new LE(LI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof QE){const t=e.values[0]?.expressionSequence[0];return t instanceof KE?t.genericType?.value.rawType??t.func.value.genericType.value.rawType:t?.genericType?.value.rawType}})(s);if(!a)throw new Yr("Unable to get return type for current lambda");return h.columns.push(new CS(e.name,yS.create(new ES(a)))),t});const p=LK([o,d],e,i),g=new ES(NK.INSTANCE),m=new ES(h);return g.typeArguments=[yS.create(m)],p.genericType=yS.create(g),p},hxi=(e,t,n,i,r)=>{const s=js(e,uA,"Can't build tds col func: only support applied function");Ks(lS(s.function,Nct.TDS_COL),`Can't build tds col func: unsupported func name ${s.function}`),Ks(2===s.parameters.length,"Can't build tds col func: only support col function with 2 parameters");const o=js(s.parameters[0],oA,"Can't build tds col func: only support first parameter of col function as Lambda");let a;try{o.parameters.forEach(e=>{if(e.name&&!e.genericType){const n=new ME(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=cxi(o,n,i,r)}catch{a=new LE(LI(o,i.extensions.plugins))}js(s.parameters[1],fA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new DK(i,r,n));return LK([a,l],s.function,i)},pxi=(e,t,n,i,r)=>{if(2===t.length)try{return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build tds project() expression: project() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build tds project() expression: preceding expression return type is missing");const o=Gs(t[1],"Can't build tds project() expression: second parameter is missing");let a;if(o instanceof hA){const e=new VE(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>hxi(e,s,n,i,r)),a=e}else Ws(o,uA,"Can't build project() expression: project() expects argument #2 to be a function"),a=hxi(o,s,n,i,r);const l=LK([s,a],e,i);return l.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return uxi(e,t,n,i,r)}const s=t.length;Ks(3===s||2===s,"Can't build project() expression: project() expects 2 arguments");let o=[];const a=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof oA?o=l.parameters:(Ws(l,hA,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(oA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof oA?[l]:l.values,d.values=u.map(e=>{try{return cxi(e,n,i,r)}catch{return new LE(LI(e,i.extensions.plugins))}});const h=LK([a,d,t[2].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),h},gxi=(e,t,n,i,r)=>e===Nct.RELATION_GROUP_BY||3===t.length?((e,t,n,i,r)=>{Ks(3===t.length,"Can't build relation groupBy() expression: groupBy() expects 2 arguments");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,YE);if(o.functionName!==sS(Nct.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,DR,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,DR,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,BA,"Can't build relation groupBy() expression: groupBy() expects argument #2 to hold col spec array instance value"),u=d.colSpecs.map(e=>[e.function1,e.function2]).flat().filter(Vs).map(e=>e.parameters).flat();u.forEach(e=>{if(!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const h=js(o.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't build relation groupBy() expression: project() function does not return a relation"),p=new jE(nS.ONE),g=new WE;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new HE;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jE(nS.ONE),y=new WE;f.values=[y],y.colSpecs=d.colSpecs.map(e=>{const t=new HE;t.name=e.name;const s=js(e.function1,oA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=cxi(s,n,i,r);t.function1=o;const a=js(e.function2,oA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new DK(i,r,n)),QE,"Can't build relation col spec() expression: expected aggregation function to be a lambda");t.function2=l;const c=h.columns.find(t=>t.name===e.name)?.genericType;if(!c)throw new Yr(`Unable to find projected column with name ${e.name}`);return m.columns.push(new CS(e.name,c)),t});const v=LK([s,p,f],e,i),_=new ES(NK.INSTANCE),b=new ES(m);return _.typeArguments=[yS.create(b)],v.genericType=yS.create(_),v})(e,t,n,i,r):((e,t,n,i,r)=>{let s=[];Ks(4===t.length,"Can't build groupBy() expression: groupBy() expects 3 arguments");const o=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,hA,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(oA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,hA,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof uA&&lS(e.function,Nct.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(oA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new ME(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new VE(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return cxi(e,n,i,r)}catch{return new LE(LI(e,i.extensions.plugins))}});const u=new VE(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>dxi(e,n,i,r));const h=LK([o,d,u,t[3].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return h.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),h})(e,t,n,i,r);class mxi extends Iee{constructor(){super(lxi.pureProtocolProcessorPlugin,axi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,Act.GET_ALL))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAll() expression: only support getAll() immediately following a class"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,Act.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersionsInRange() expression: only support getAllVersionsInRange() immediately following a class"),Ks(3===s.parametersValues.length,"Can't build getAllVersionsInRange() expression: only support getAllVersionsRange() with start and end date"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,Act.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=MK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,PE,"Can't build getAllVersions() expression: only support getAllVersions() immediately following a class"),Ks(1===s.parametersValues.length,"Can't build getAllVersions() expression: only support getAllVersions() with no paremters"),s.genericType=o.genericType,s.multiplicity=o.multiplicity,s})(e,t,n,i,r);if(lS(e,[Nct.FILTER,Nct.TDS_FILTER]))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build filter() expression: filter() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));if(s.genericType){const e=t[1];e instanceof oA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=LK([s,t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,Nct.EXISTS))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build exists() expression: exists() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));s.genericType=js(s,KE).func.value.genericType;const o=t[1];return o instanceof oA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),LK([s,t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,Nct.WATERMARK))return((e,t,n,i,r)=>{Ks(2===t.length,"Can't build forWatermark() expression: forWatermark() expects 1 argument");const s=t[0].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof oA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new ME(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new DK(i,r,n))),l=a.genericType?.value.rawType;Ks(gS.STRING===l,"Can't build forWatermark() expression: parameter is expected to be a string");const c=LK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT]))return pxi(e,t,n,i,r);if(lS(e,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY]))return gxi(e,t,n,i,r);if(lS(e,Nct.OLAP_GROUPBY))return((e,t,n,i,r)=>{const s=[];Ks(5===t.length||4===t.length,"Can't build olapGroupBy() expression: olapGroupBy() expects 4 or 5 arguments");let o=0;const a=5===t.length,l=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));Us(l.genericType,"Can't build olapGroupBy() expression: preceding expression return type is missing"),s.push(l),o++;const c=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof uA?js(d.parameters[1],oA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,oA,`Can't build olapGroupBy() expression: olapGroupBy() expects argument ${o+1} to be a lambda`);const h=u.parameters,p=new Set;h.forEach(e=>{if(!p.has(e.name)&&!e.genericType){const t=new ME(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new DK(i,r,n));s.push(m),o++;const f=LK(s,e,i);return f.genericType=yS.create(new ES(i.resolveType(xct.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[Nct.TODAY,Nct.FIRST_DAY_OF_QUARTER])){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.STRICTDATE)),s}if(lS(e,Nct.NOW)){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATETIME)),s}if(lS(e,[Nct.FIRST_DAY_OF_THIS_YEAR,Nct.FIRST_DAY_OF_YEAR,Nct.FIRST_DAY_OF_THIS_MONTH,Nct.FIRST_DAY_OF_MONTH,Nct.FIRST_DAY_OF_WEEK,Nct.PREVIOUS_DAY_OF_WEEK,Nct.ADJUST])){const s=MK(e,t,n,i,r);return s.genericType=yS.create(new ES(gS.DATE)),s}return lS(e,Object.values(Nct))||lS(e,Object.values(Tct))?MK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof YE&&lS(e.functionName,sS(Nct.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof PE)[0]?.genericType?.value.rawType)(e)}]}}class fxi{mapping;runtimes=[]}class yxi{service;executionKeys}class vxi extends aT{}class _xi extends vxi{constructor(e){super(e),this.graphManager=js(e,W3)}getSupportedProtocolVersion(){return WH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===eG||e.content._type===_R),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(PD))).flat(),o=new HK(e,e,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();s.forEach(e=>{const t=r.find(t=>t.path===e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new k$(t,o.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))});const a=[...e.ownRuntimes,...e.dependencyManager.runtimes],l=i.map(e=>e.data.elements.filter(zs(jA))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new qj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof qH?e:new qH(e)}}async surveyMappingRuntimeCompatibility(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1}),r=await this.graphManager.indexLightGraph(i,e,t,e=>[exports.CORE_PURE_PATH.MAPPING,exports.CORE_PURE_PATH.RUNTIME].includes(e.classifierPath),e=>(e.classifierPath===exports.CORE_PURE_PATH.MAPPING?e.content={_type:e.content._type,name:e.content.name,package:e.content.package,includes:e.content.includes}:e.classifierPath===exports.CORE_PURE_PATH.RUNTIME&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,runtimeValue:{mappings:e.content.runtimeValue?.mappings}}),e)),s=new HK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(PD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof oB)return new k$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(jA))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new qj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new fxi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...AY(e.value)]).flat().includes(e)),n.push(t)}),n}async surveyServiceExecution(e,t){const n=[],i=await this.graphManager.createBasicGraph({initializeSystem:!1});return(await this.graphManager.indexLightGraph(i,e,t,e=>e.classifierPath===exports.CORE_PURE_PATH.SERVICE,e=>(e.classifierPath===exports.CORE_PURE_PATH.SERVICE&&(e.content={_type:e.content._type,name:e.content.name,package:e.content.package,execution:e.content.execution}),e))).map(e=>e.data.elements.filter(zs(OO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new yxi;i.service=t,e.execution instanceof kO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const bxi=e=>new _xi(e);class Cxi extends xee{constructor(){super(lxi.pureGraphManagerPlugin,axi)}getExtraPureGraphManagerExtensionBuilders(){return[bxi]}getExtraExposedSystemElementPath(){return[xct.TDS_TABULAR_DATASET,xct.TDS_ROW,xct.TDS_COLUMN]}}class Sxi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;static serialization=new Qg(Lg(Sxi,{TEMPORARY__disableQueryBuilderChat:Kg(Mg()),TEMPORARY__enableExportToCube:Kg(Mg()),TEMPORARY__enableGridEnterpriseMode:Kg(Mg()),legendAIServiceURL:Kg(Mg()),legendMCPServiceURL:Kg(Mg()),zipkinTraceBaseURL:Kg(Mg()),enableTypedTDS:Kg(Mg())}))}const Exi=e=>{let t=e;for(;t instanceof KE;)for(t=Gs(t.parametersValues[0]);t instanceof YE&&lS(t.functionName,Nct.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,ME)},wxi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[Nct.AND,Nct.OR])){const r=new TSi(n,dSi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,xSi).lambdaParameterName),e.parametersValues.forEach(e=>wxi(js(e,YE,"Can't process filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}else{if(!lS(e.functionName,[Nct.EXISTS])){const n=e.parametersValues[0];if(n instanceof KE){const e=n.parametersValues[0];e instanceof KE&&ndt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=Exi(r.propertyExpressionState.propertyExpression).name,n=i instanceof xSi&&i.lambdaParameterName?i.lambdaParameterName:t.lambdaParameterName;return Ks(n===e,`Can't process ${sS(r.operator.getLabel())}() expression: expects variable used in lambda body '${e}' to match lambda parameter '${n}'`),void t.addNodeFromNode(new RSi(void 0,r),i)}}throw new Yr("Can't process filter() expression: no compatible filter operator processer available from plugins")}{const r=js(e.parametersValues[0],KE);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new ASi(t,n),o=js(e.parametersValues[1],QE,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],ZE),l=js(a.expressionSequence[0],YE);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),wxi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,Nct.EXISTS);){const e=Gs(js(s.parametersValues[1],QE).values[0],"Can't process exists() expression: exists() lambda is missing");if(Ks(1===e.expressionSequence.length,"Can't process exists() expression: exists() lambda body should hold an expression"),s=js(e.expressionSequence[0],YE,"Can't process exists() expression: exists() lambda body should hold an expression"),Ks(1===e.functionType.parameters.length,"Can't process exists() expression: exists() lambda should have 1 parameter"),i.push(js(e.functionType.parameters[0],ME,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof KE)||void 0===s.parametersValues[0].func.value.multiplicity.upperBound||s.parametersValues[0].func.value.multiplicity.upperBound>1)break;r.push(s.parametersValues[0])}const o=js(e.parametersValues[0],KE);let a=new KE("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS(Nct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(a),a=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof YE&&e.parametersValues[0]instanceof KE)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof KE)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof ME)return a;return e}),wxi(s,t,n)}}}},xxi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,QE,"Can't process filter() expression: filter() expects argument #1 to be a lambda function");const r=Gs(i.values[0],"Can't process filter() lambda: filter() lambda function is missing");Ks(1===r.expressionSequence.length,"Can't process filter() lambda: only support filter() lambda body with 1 expression");const s=js(r.expressionSequence[0],YE,"Can't process filter() lambda: only support filter() lambda body with 1 expression");Ks(1===r.functionType.parameters.length,"Can't process filter() lambda: only support filter() lambda with 1 parameter"),n.setLambdaParameterName(js(r.functionType.parameters[0],ME,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),wxi(s,n,void 0),n.simplifyTree()};class Txi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){c_(this,{hashCode:Ry}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nw)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tw)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return bg([odt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",bg(this.childrenIds)])}}const Axi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,Nxi=(e,t,n)=>{Ws(e,nw,"Graph fetch sub-tree must be a property graph fetch tree");const i=e.property.value,r=e.subType?.value,s=t?.id,o=new Txi(Axi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=Nxi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},Rxi=(e,t,n)=>{const i=t?.id,r=new Txi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=Nxi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},Ixi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=Rxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=Nxi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},Dxi=e=>0===e.tree.subTrees.length,kxi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nw&&t.type instanceof wS&&0===t.childrenIds.length||t.tree instanceof nw&&!(t.type instanceof wS)&&t.parentId&&!e.nodes.has(t.parentId)),Oxi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(Eo(n.childrenIds,t.id),$ct(n.tree,t.tree)):(Eo(e.rootIds,t.id),$ct(e.tree,t.tree)),e.nodes.delete(t.id)},Lxi=(e,t)=>{Oxi(e,t),(e=>{let t=kxi(e);for(;t.length;)t.forEach(t=>{Oxi(e,t)}),t=kxi(e)})(e)},Mxi=(e,t,n,i)=>{const r=[new nw(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof Zwi||l instanceof Qwi;){let e,n=!1;for(;l instanceof Qwi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof Zwi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof wS&&(e=XC.create(l.type)),!(l instanceof Zwi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nw(zS.create(l.property),e);n.subTrees.push(r[0]),r.unshift(n),l=t.nodes.get(l.parentId)}}for(const t of r){s=Axi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=Nxi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),jct(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),jct(e.tree,t.tree,i.observerContext))}},Pxi=(e,t,n)=>{const i=e.queryBuilderState,r=Gs(t.expressionSequence[0],"Can't build graph-fetch tree expression: preceding expression is not defined"),s=e.serializationState;if(s instanceof Hxi){if(e.treeData&&!Dxi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(xct.SERIALIZE_CONFIG),i=new YE(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new PE(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new FE(yS.create(new ES(gS.STRING)));s.values=[""];const o=new VE(nS.ONE,void 0);return n.properties.forEach(t=>{const n=Object.getOwnPropertyNames(e).find(e=>e===t.name);if(n&&void 0!==e[n]){const i=new GE,r=new FE(yS.create(new ES(gS.STRING)));r.values=[n];const s=new FE(yS.create(new ES(t.genericType.value.rawType)));s.values=[e[n]];const a=new UE(r,s,!1);i.values=[a],o.values.push(i)}}),o.multiplicity=new nS(o.values.length,o.values.length),i.parametersValues=[r,s,o],i})(s.config,e.queryBuilderState.graphManagerState.graph):void 0,i=((e,t,n,i)=>{const r=new rw;r.values=[e];const s=new YE(sS(Nct.SERIALIZE)),o=new YE(sS(t?Nct.GRAPH_FETCH_CHECKED:Nct.GRAPH_FETCH));return o.parametersValues=[n,r],s.parametersValues=[o,r],i&&s.parametersValues.push(i),s})(e.treeData.tree,e.isChecked,r,n);t.expressionSequence[0]=i}}else{if(!(s instanceof zxi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new YE(sS(Nct.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!Dxi(i)&&!Dxi(o)){const a=new rw;a.values=[i.tree];const l=new YE(e.isChecked?sS(Nct.GRAPH_FETCH_CHECKED):sS(Nct.GRAPH_FETCH));l.parametersValues=[r,a];const c=new PE(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rw;d.values=[o.tree],n.parametersValues=[l,c,d],t.expressionSequence[0]=n}}}n?.isBuildingExecutionQuery&&((e,t)=>{if(!t)return e;if(1===e.expressionSequence.length){const n=e.expressionSequence[0];if(n instanceof YE&&lS(n.functionName,Nct.SERIALIZE)){const i=new FE(yS.create(new ES(gS.INTEGER)));i.values=[t];const r=new YE(sS(Nct.TAKE)),s=js(n.parametersValues[0],YE),o=s.parametersValues[0];return r.parametersValues[0]=o,r.parametersValues[1]=i,s.parametersValues=[r,s.parametersValues[1]],e}}})(t,i.resultState.previewLimit)};var Fxi,Bxi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(Fxi||(Fxi={})),function(e){e.RESULT="RESULT"}(Bxi||(Bxi={}));const Vxi="@type";class Uxi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=Vxi,c_(this,{typeKeyName:xy,includeType:xy,includeEnumType:xy,dateTimeFormat:xy,removePropertiesWithNullValues:xy,removePropertiesWithEmptySets:xy,fullyQualifiedTypePath:xy,includeObjectReference:xy,setTypeName:Ov,setIncludeObjectReference:Ov,setDateTimeFormat:Ov,setIncludeType:Ov,setFullyQualifiedTypePath:Ov,setRemovePropertiesWithEmptySets:Ov,setInclueEnumType:Ov,setRemovePropertiesWithNullValues:Ov})}static createDefault(){const e=new Uxi;return e.typeKeyName=Vxi,e.includeType=!0,e.includeEnumType=!0,e.removePropertiesWithNullValues=!0,e.removePropertiesWithEmptySets=!1,e.fullyQualifiedTypePath=!0,e}setDateTimeFormat(e){this.dateTimeFormat=e}setTypeName(e){this.typeKeyName=e}setIncludeType(e){this.includeType=e}setInclueEnumType(e){this.includeEnumType=e}setRemovePropertiesWithNullValues(e){this.removePropertiesWithNullValues=e}setRemovePropertiesWithEmptySets(e){this.removePropertiesWithEmptySets=e}setFullyQualifiedTypePath(e){this.fullyQualifiedTypePath=e}setIncludeObjectReference(e){this.includeObjectReference=e}}class Gxi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class Hxi extends Gxi{config;configModal=!1;constructor(e){super(e),c_(this,{config:xy,configModal:xy,setConfigModal:Ov})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return Fxi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class zxi extends Gxi{targetBinding;treeData;constructor(e,t,n){super(e),c_(this,{targetBinding:xy,treeData:xy.ref,serializationContentType:Ry,setGraphFetchTree:Ov}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(Mxi(this.treeData,this.queryBuilderGraphFetchTreeState.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderGraphFetchTreeState.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderGraphFetchTreeState.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}getLabel(){return Fxi.EXTERNAL_FORMAT}get serializationContentType(){const e=this.targetBinding.contentType;return Object.values(exports.ContentType).includes(e)?e:"application/x.flatdata"===e?exports.ContentType.TEXT_CSV:exports.ContentType.TEXT_PLAIN}}class Wxi extends rSi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),c_(this,{treeData:xy.ref,isChecked:xy,serializationState:xy,TEMPORARY__showPostFetchStructurePanel:Ry,setGraphFetchTree:Ov,setSerializationState:Ov,setChecked:Ov,initialize:Ov,checkBeforeChangingImplementation:Ov}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new Hxi(this)}get type(){return iSi.GRAPH_FETCH}get fetchLabel(){return"Class Properties"}get canBeExportedToCube(){return!1}get usedExplorerTreePropertyNodeIDs(){if(!this.treeData)return[];const e=new Map,t=[],n=this.treeData.rootIds.slice();for(;n.length;){const i=Gs(n[0]),r=this.treeData.nodes.get(i);if(!r)continue;let s;const o=r.parentId?Gs(e.get(r.parentId)):"";let a="";r.tree instanceof tw?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nw&&(a=r.tree.property.value.name);const l=qwi(o,a);t.push(l),r.tree instanceof nw&&r.tree.subType?(s=Ywi(l,r.tree.subType.value.path),zw(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(Ywi(l,e.path)))):s=l,e.set(r.id,s),n.shift(),r.childrenIds.forEach(e=>n.push(e))}return Array.from(new Set(t).values())}get fetchStructureValidationIssues(){return[]}get allValidationIssues(){return[]}initialize(){this.queryBuilderState.filterState.setShowPanel(!0)}setSerializationState(e){this.serializationState=e}setGraphFetchTree(e){this.treeData=e}setChecked(e){this.isChecked=e}updateTreeData(e){this.setGraphFetchTree(e?Ixi(new tw(XC.create(e))):void 0)}get exportDataFormatOptions(){return[Bxi.RESULT]}getExportDataInfo(e){if(e===Bxi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){Pxi(this,e,t)}addProperty(e,t){this.treeData?(Mxi(this.treeData,this.queryBuilderState.explorerState.nonNullableTreeData,e,this.queryBuilderState),t?.refreshTreeData&&this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}revealCompilationError(e){return!1}clearCompilationError(){}fetchProperty(e){this.addProperty(e,{refreshTreeData:!0}),this.serializationState instanceof zxi&&this.serializationState.addProperty(On(e),{refreshTreeData:!0})}fetchProperties(e){this.treeData?(e.forEach(e=>this.addProperty(e)),this.setGraphFetchTree({...this.treeData})):this.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't add property: graph-fetch tree has not been properly initialized")}checkBeforeChangingImplementation(e){this.treeData?.rootIds.length?this.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:clt.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nw)return t.tree.parameters.find(t=>rdt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return bg([odt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const jxi=(e,t)=>()=>{t.implementation.type!==e&&(Cct.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class $xi{queryBuilderState;implementation;constructor(e){c_(this,{implementation:xy,changeImplementation:Ov,initializeWithQuery:Ov}),this.queryBuilderState=e,this.implementation=new awi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case iSi.TABULAR_DATA_STRUCTURE:this.implementation=new awi(this.queryBuilderState,this);break;case iSi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new Wxi(this.queryBuilderState,this);break;default:throw new Yr(`Can't change fetch-structure implementation to unsupported type: '${e}'`)}this.implementation.initialize()}initializeWithQuery(){this.implementation.initializeWithQuery()}fetchProperty(e){e instanceof Zwi&&!(e.type instanceof wS)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof wS&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(Zwi)).filter(e=>!(e.type instanceof wS)&&e.mappingData.mapped))}}class qxi{lambda;constructor(e){this.lambda=e,c_(this,{lambda:xy,setLambda:Ov})}setLambda(e){this.lambda=e}}var Yxi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(Yxi||(Yxi={}));class Kxi extends PCi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=hb.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),c_(this,{rawLambdaState:xy,isConvertingLambdaToString:xy,mode:xy,isReadOnly:xy,setQueryRawLambdaState:Ov,setIsReadOnly:Ov,setMode:Ov,openModal:Ov,closeModal:Xv}),this.queryBuilderState=e,this.rawLambdaState=new qxi(pj())}get lambdaId(){return Bee(["query-builder"])}get text(){return this.mode===Yxi.TEXT?this.fullLambdaString:this.mode===Yxi.JSON?this.readOnlylambdaJson:void 0}setQueryRawLambdaState(e){this.rawLambdaState=e}setIsReadOnly(e){this.isReadOnly=e}setMode(e){this.mode=e}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=pj();if(this.lambdaString)try{const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(this.fullLambdaString,this.lambdaId,{pruneSourceInformation:!1});this.setParserError(void 0),this.rawLambdaState.setLambda(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}else this.clearErrors(),this.rawLambdaState.setLambda(e)}*convertLambdaObjectToGrammarString(e){if(this.rawLambdaState.lambda.body){this.isConvertingLambdaToString=!0;try{const t=new Map;t.set(this.lambdaId,new DE(this.rawLambdaState.lambda.parameters,this.rawLambdaState.lambda.body));const n=(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(t,e.pretty)).get(this.lambdaId);this.setLambdaString(void 0!==n?this.extractLambdaString(n):""),this.clearErrors(),this.isConvertingLambdaToString=!1}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===Yxi.TEXT&&this.setQueryRawLambdaState(new qxi(n)),e===Yxi.JSON&&this.setLambdaJson(JSON.stringify(pS(this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(n)),null,2)),this.setMode(e),this.setIsReadOnly(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}*closeModal(){if(this.closingQueryState.inProgress(),this.mode===Yxi.TEXT&&!this.isReadOnly)return yield this.convertLambdaGrammarStringToObject(),void(this.parserError?this.queryBuilderState.applicationStore.notificationService.notifyError(`Can't parse query. Please fix error before closing: ${this.parserError.message}`):(this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda,{preserveParameterValues:!0,preserveResult:!0}),this.setMode(void 0)));this.setIsReadOnly(void 0),this.closingQueryState.complete(),this.setMode(void 0)}}const Xxi=Sse(e=>{const{resultType:t}=e;let n="";return t.type instanceof ZC&&(n=t.type.input??""),""===n?Dne.jsx(Dne.Fragment,{}):Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsx(XOe,{className:"query-builder__result__container__item__data-type",children:Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Dne.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Dne.jsx(QOe,{})]})}),Zxi=Sse(e=>{const{resultType:t}=e;return Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsx(XOe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__result__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Label"}),Dne.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Dne.jsx("tbody",{children:t.tdsColumns.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.name}),Dne.jsx("td",{className:"table__cell--left",children:e.type instanceof ZC&&(e.type.input??"")})]},e.name))})]}),Dne.jsx(QOe,{})]})}),Qxi=Sse(e=>{const{resultType:t}=e;return Dne.jsxs("div",{className:"query-builder__result__container",children:[Dne.jsxs(XOe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Dne.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.property}),Dne.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Dne.jsx(QOe,{})]})}),Jxi=Sse(e=>{const{resultType:t}=e;return t instanceof q1?Dne.jsx(Xxi,{resultType:t}):t instanceof Y1?Dne.jsx(Zxi,{resultType:t}):t instanceof A2?Dne.jsx(Qxi,{resultType:t}):null}),eTi=e=>{e.dispose(),e.getModel()?.dispose()},tTi=e=>{const{inputValue:t,updateInput:i,lightTheme:r,language:s,isReadOnly:o,hideMinimap:a,hideGutter:l,hidePadding:c,hideActionBar:d,lineToScroll:u,extraEditorOptions:h,error:p}=e,g=Aat(),[m,f]=n.useState(),[y,v]=n.useState(!1),_=n.useRef(void 0),b=HTn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Wrn.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:g.layoutService.TEMPORARY__isLightColorThemeEnabled?r??NTn.BUILT_IN__VSCODE_LIGHT:NTn.DEFAULT_DARK,glyphMargin:!c,padding:c?{top:0,bottom:0}:{top:20,bottom:20},formatOnType:!0,formatOnPaste:!0});f(t)}},[g,r,c,m]),n.useEffect(()=>{if(m){zTn(m);const e=m.getModel();e&&Wrn.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){_.current?.dispose(),_.current=m.onDidChangeModelContent(()=>{const e=BTn(m);e!==b&&i?.(e)});BTn(m)!==b&&m.setValue(b),m.updateOptions({readOnly:Boolean(o),minimap:{enabled:!a},...l?{glyphMargin:!c,folding:!1,lineNumbers:"off",lineDecorationsWidth:0}:{},...h??{}});const e=m.getModel();e?.updateOptions({tabSize:2}),e&&(p?.sourceInformation?UTn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):GTn())}return n.useEffect(()=>()=>{m&&(eTi(m),_.current?.dispose())},[m]),Dne.jsxs("div",{className:"code-editor",children:[!d&&Dne.jsx("div",{className:"code-editor__header",children:Dne.jsx("button",{tabIndex:-1,className:Tse("code-editor__header__action",{"code-editor__header__action--active":y}),onClick:()=>{const e=!y;v(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${y?"on":"off"}] Toggle word wrap`,children:Dne.jsx(uie,{})})}),Dne.jsx("div",{className:Tse("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Dne.jsx("div",{className:"code-editor__body",ref:C})})]})},nTi=Sse(e=>{const{from:t,to:i,language:r}=e,s=Aat(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Wrn.createDiffEditor(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:s.layoutService.TEMPORARY__isLightColorThemeEnabled?NTn.BUILT_IN__VSCODE_LIGHT:NTn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Wrn.createModel(c,r),t=Wrn.createModel(d,r);o.setModel({original:e,modified:t})}return n.useEffect(()=>()=>{o&&(e=>{e.dispose(),e.getOriginalEditor().getModel()?.dispose(),e.getModifiedEditor().getModel()?.dispose()})(o)},[o]),Dne.jsx("div",{className:"code-editor__container",children:Dne.jsx("div",{className:"code-editor__body",ref:l})})}),iTi=(e,t)=>e?Xs(e)?t?wp(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Ep(e,void 0,2):JSON.stringify(e,void 0,2):"",rTi=Sse(e=>{const{from:t,to:n,lossless:i}=e;return Dne.jsx(nTi,{language:WTn.JSON,from:iTi(t,Boolean(i)),to:iTi(n,Boolean(i))})});var sTi,oTi={exports:{}},aTi=oTi.exports;var lTi=(sTi||(sTi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(aTi,function(){function e(t,n,i){return this.id=++e.highestId,this.name=t,this.symbols=n,this.postprocess=i,this}function t(e,t,n,i){this.rule=e,this.dot=t,this.reference=n,this.data=[],this.wantedBy=i,this.isComplete=this.dot===e.symbols.length}function n(e,t){this.grammar=e,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}function i(e,t){this.rules=e,this.start=t||this.rules[0].name;var n=this.byName={};this.rules.forEach(function(e){n.hasOwnProperty(e.name)||(n[e.name]=[]),n[e.name].push(e)})}function r(){this.reset("")}function s(e,t,s){if(e instanceof i){var o=e;s=t}else o=i.fromCompiled(e,t);for(var a in this.grammar=o,this.options={keepHistory:!1,lexer:o.lexer||new r},s||{})this.options[a]=s[a];this.lexer=this.options.lexer,this.lexerState=void 0;var l=new n(o,0);this.table=[l],l.wants[o.start]=[],l.predict(o.start),l.process(),this.current=0}function o(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return e.toString();if(e.type)return"%"+e.type;if(e.test)return"<"+String(e.test)+">";throw new Error("Unknown symbol type: "+e)}}return e.highestId=0,e.prototype.toString=function(e){var t=void 0===e?this.symbols.map(o).join(" "):this.symbols.slice(0,e).map(o).join(" ")+" ● "+this.symbols.slice(e).map(o).join(" ");return this.name+" → "+t},t.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},t.prototype.nextState=function(e){var n=new t(this.rule,this.dot+1,this.reference,this.wantedBy);return n.left=this,n.right=e,n.isComplete&&(n.data=n.build(),n.right=void 0),n},t.prototype.build=function(){var e=[],t=this;do{e.push(t.right.data),t=t.left}while(t.left);return e.reverse(),e},t.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,s.fail))},n.prototype.process=function(e){for(var t=this.states,n=this.wants,i=this.completed,r=0;r<t.length;r++){var o=t[r];if(o.isComplete){if(o.finish(),o.data!==s.fail){for(var a=o.wantedBy,l=a.length;l--;){var c=a[l];this.complete(c,o)}if(o.reference===this.index){var d=o.rule.name;(this.completed[d]=this.completed[d]||[]).push(o)}}}else{if("string"!=typeof(d=o.rule.symbols[o.dot])){this.scannable.push(o);continue}if(n[d]){if(n[d].push(o),i.hasOwnProperty(d)){var u=i[d];for(l=0;l<u.length;l++){var h=u[l];this.complete(o,h)}}}else n[d]=[o],this.predict(d)}}},n.prototype.predict=function(e){for(var n=this.grammar.byName[e]||[],i=0;i<n.length;i++){var r=n[i],s=this.wants[e],o=new t(r,0,this.index,s);this.states.push(o)}},n.prototype.complete=function(e,t){var n=e.nextState(t);this.states.push(n)},i.fromCompiled=function(t,n){var r=t.Lexer;t.ParserStart&&(n=t.ParserStart,t=t.ParserRules),t=t.map(function(t){return new e(t.name,t.symbols,t.postprocess)});var s=new i(t,n);return s.lexer=r,s},r.prototype.reset=function(e,t){this.buffer=e,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var e=this.buffer[this.index++];return"\n"===e&&(this.line+=1,this.lastLineBreak=this.index),{value:e}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(e,t){var n=this.buffer;if("string"==typeof n){var i=n.split("\n").slice(Math.max(0,this.line-5),this.line),r=n.indexOf("\n",this.index);-1===r&&(r=n.length);var s=this.index-this.lastLineBreak,o=String(this.line).length;return t+=" at line "+this.line+" col "+s+":\n\n",t+=i.map(function(e,t){return a(this.line-i.length+t+1,o)+" "+e},this).join("\n"),t+="\n"+a("",o+s)+"^\n"}return t+" at index "+(this.index-1);function a(e,t){var n=String(e);return Array(t-n.length+1).join(" ")+n}},s.fail={},s.prototype.feed=function(e){var t,i=this.lexer;for(i.reset(e,this.lexerState);;){try{if(!(t=i.next()))break}catch(e){var s=new n(this.grammar,this.current+1);throw this.table.push(s),(l=new Error(this.reportLexerError(e))).offset=this.current,l.token=e.token,l}var o=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var a=this.current+1;s=new n(this.grammar,a),this.table.push(s);for(var l,c=void 0!==t.text?t.text:t.value,d=i.constructor===r?t.value:t,u=o.scannable,h=u.length;h--;){var p=u[h],g=p.rule.symbols[p.dot];if(g.test?g.test(d):g.type?g.type===t.type:g.literal===c){var m=p.nextState({data:d,token:t,isToken:!0,reference:a-1});s.states.push(m)}}if(s.process(),0===s.states.length)throw(l=new Error(this.reportError(t))).offset=this.current,l.token=t,l;this.options.keepHistory&&(o.lexerState=i.save()),this.current++}return o&&(this.lexerState=i.save()),this.results=this.finish(),this},s.prototype.reportLexerError=function(e){var t,n,i=e.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",n=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",n=e.message),this.reportErrorCommon(n,t)},s.prototype.reportError=function(e){var t=(e.type?e.type+" token: ":"")+JSON.stringify(void 0!==e.value?e.value:e),n=this.lexer.formatError(e,"Syntax error");return this.reportErrorCommon(n,t)},s.prototype.reportErrorCommon=function(e,t){var n=[];n.push(e);var i=this.table.length-2,r=this.table[i],s=r.states.filter(function(e){var t=e.rule.symbols[e.dot];return t&&"string"!=typeof t});if(0===s.length)n.push("Unexpected "+t+". I did not expect any more input. Here is the state of my parse table:\n"),this.displayStateStack(r.states,n);else{n.push("Unexpected "+t+". Instead, I was expecting to see one of the following:\n");var o=s.map(function(e){return this.buildFirstStateStack(e,[])||[e]},this);o.forEach(function(e){var t=e[0],i=t.rule.symbols[t.dot],r=this.getSymbolDisplay(i);n.push("A "+r+" based on:"),this.displayStateStack(e,n)},this)}return n.push(""),n.join("\n")},s.prototype.displayStateStack=function(e,t){for(var n,i=0,r=0;r<e.length;r++){var s=e[r],o=s.rule.toString(s.dot);o===n?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+o)),n=o}},s.prototype.getSymbolDisplay=function(e){return function(e){var t=typeof e;if("string"===t)return e;if("object"===t){if(e.literal)return JSON.stringify(e.literal);if(e instanceof RegExp)return"character matching "+e;if(e.type)return e.type+" token";if(e.test)return"token matching "+String(e.test);throw new Error("Unknown symbol type: "+e)}}(e)},s.prototype.buildFirstStateStack=function(e,t){if(-1!==t.indexOf(e))return null;if(0===e.wantedBy.length)return[e];var n=e.wantedBy[0],i=[e].concat(t),r=this.buildFirstStateStack(n,i);return null===r?null:[e].concat(r)},s.prototype.save=function(){var e=this.table[this.current];return e.lexerState=this.lexerState,e},s.prototype.restore=function(e){var t=e.index;this.current=t,this.table[t]=e,this.table.splice(t+1),this.lexerState=e.lexerState,this.results=this.finish()},s.prototype.rewind=function(e){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[e])},s.prototype.finish=function(){var e=[],t=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(n){n.rule.name===t&&n.dot===n.rule.symbols.length&&0===n.reference&&n.data!==s.fail&&e.push(n)}),e.map(function(e){return e.data})},{Parser:s,Grammar:i,Rule:e}})}(oTi)),oTi.exports),cTi=Qr(lTi),dTi=Object.defineProperty,uTi=Object.defineProperties,hTi=Object.getOwnPropertyDescriptors,pTi=Object.getOwnPropertySymbols,gTi=Object.prototype.hasOwnProperty,mTi=Object.prototype.propertyIsEnumerable,fTi=(e,t,n)=>t in e?dTi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,yTi=(e,t)=>{for(var n in t||(t={}))gTi.call(t,n)&&fTi(e,n,t[n]);if(pTi)for(var n of pTi(t))mTi.call(t,n)&&fTi(e,n,t[n]);return e},vTi=(e,t)=>uTi(e,hTi(t)),_Ti={};((e,t)=>{for(var n in t)dTi(e,n,{get:t[n],enumerable:!0})})(_Ti,{bigquery:()=>WTi,db2:()=>eAi,db2i:()=>lAi,hive:()=>fAi,mariadb:()=>xAi,mysql:()=>OAi,n1ql:()=>YAi,plsql:()=>nNi,postgresql:()=>dNi,redshift:()=>vNi,singlestoredb:()=>hRi,snowflake:()=>bRi,spark:()=>TNi,sql:()=>HNi,sqlite:()=>LNi,tidb:()=>GAi,transactsql:()=>rRi,trino:()=>XNi});var bTi=e=>e.flatMap(CTi),CTi=e=>RTi(ETi(e)).map(STi),STi=e=>e.replace(/ +/g," ").trim(),ETi=e=>({type:"mandatory_block",items:wTi(e,0)[0]}),wTi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=xTi(e,t);if(i.push(r),"|"!==e[t=s]){if("}"===e[t]||"]"===e[t]){if(n!==e[t])throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,++t]}if(t===e.length){if(n)throw new Error(`Unbalanced parenthesis in: ${e}`);return[i,t]}throw new Error(`Unexpected "${e[t]}"`)}t++}return[i,t]},xTi=(e,t)=>{const n=[];for(;;){const[i,r]=TTi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},TTi=(e,t)=>{if("{"===e[t])return ATi(e,t+1);if("["===e[t])return NTi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},ATi=(e,t)=>{const[n,i]=wTi(e,t,"}");return[{type:"mandatory_block",items:n},i]},NTi=(e,t)=>{const[n,i]=wTi(e,t,"]");return[{type:"optional_block",items:n},i]},RTi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(RTi).reduce(ITi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(RTi);if("optional_block"===e.type)return["",...e.items.flatMap(RTi)];throw new Error(`Unknown node type: ${e}`)},ITi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},DTi=(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.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",e.OPEN_PAREN="OPEN_PAREN",e.CLOSE_PAREN="CLOSE_PAREN",e.LINE_COMMENT="LINE_COMMENT",e.BLOCK_COMMENT="BLOCK_COMMENT",e.DISABLE_COMMENT="DISABLE_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))(DTi||{}),kTi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),OTi=kTi(1/0),LTi=e=>t=>t.type===e.type&&t.text===e.text,MTi={ARRAY:LTi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:LTi({text:"BY",type:"RESERVED_KEYWORD"}),SET:LTi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:LTi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:LTi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:LTi({text:"VALUES",type:"RESERVED_CLAUSE"})},PTi=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"===e,FTi=bTi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),BTi=bTi(["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"]),VTi=bTi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),UTi=bTi(["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"]),GTi=bTi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),HTi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),zTi=bTi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),WTi={name:"bigquery",tokenizerOptions:{reservedSelect:FTi,reservedClauses:[...BTi,...UTi,...VTi],reservedSetOperations:GTi,reservedJoins:HTi,reservedPhrases:zTi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BOOL","BYTES","DATE","DATETIME","GEOGRAPHY","INTERVAL","INT64","INT","SMALLINT","INTEGER","BIGINT","TINYINT","BYTEINT","NUMERIC","DECIMAL","BIGNUMERIC","BIGDECIMAL","FLOAT64","STRING","STRUCT","TIME","TIMEZONE"],reservedFunctionNames:["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"],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:function(e){return function(e){let t=OTi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,vTi(yTi({},e),{type:"RESERVED_FUNCTION_NAME"})):(t=e,e))}(function(e){var t;const n=[];for(let i=0;i<e.length;i++){const r=e[i];if((MTi.ARRAY(r)||MTi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=$Ti(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(jTi("raw")).join(""),text:s.map(jTi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[...VTi,...UTi],tabularOnelineClauses:UTi}};var jTi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function $Ti(e,t){let n=0;for(let i=t;i<e.length;i++){const t=e[i];if("<"===t.text?n++:">"===t.text?n--:">>"===t.text&&(n-=2),0===n)return i}return e.length-1}var qTi=bTi(["SELECT [ALL | DISTINCT]"]),YTi=bTi(["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"]),KTi=bTi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),XTi=bTi(["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"]),ZTi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),QTi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),JTi=bTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),eAi={name:"db2",tokenizerOptions:{reservedSelect:qTi,reservedClauses:[...YTi,...KTi,...XTi],reservedSetOperations:ZTi,reservedJoins:QTi,reservedPhrases:JTi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[...KTi,...XTi],tabularOnelineClauses:XTi}},tAi=bTi(["SELECT [ALL | DISTINCT]"]),nAi=bTi(["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"]),iAi=bTi(["CREATE [OR REPLACE] TABLE"]),rAi=bTi(["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}"]),sAi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),oAi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),aAi=bTi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),lAi={name:"db2i",tokenizerOptions:{reservedSelect:tAi,reservedClauses:[...nAi,...iAi,...rAi],reservedSetOperations:sAi,reservedJoins:oAi,reservedPhrases:aAi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[...iAi,...rAi],tabularOnelineClauses:rAi}},cAi=bTi(["SELECT [ALL | DISTINCT]"]),dAi=bTi(["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"]),uAi=bTi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),hAi=bTi(["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"]),pAi=bTi(["UNION [ALL | DISTINCT]"]),gAi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),mAi=bTi(["{ROWS | RANGE} BETWEEN"]),fAi={name:"hive",tokenizerOptions:{reservedSelect:cAi,reservedClauses:[...dAi,...uAi,...hAi],reservedSetOperations:pAi,reservedJoins:gAi,reservedPhrases:mAi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BOOLEAN","CHAR","DATE","DECIMAL","DOUBLE","FLOAT","INT","INTEGER","INTERVAL","MAP","NUMERIC","PRECISION","SMALLINT","STRUCT","TIMESTAMP","VARCHAR"],reservedFunctionNames:["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"],extraParens:["[]"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],variableTypes:[{quote:"{}",prefixes:["$"],requirePrefix:!0}],operators:["%","~","^","|","&","<=>","==","!","||"]},formatOptions:{onelineClauses:[...uAi,...hAi],tabularOnelineClauses:hAi}};function yAi(e){return e.map((t,n)=>{const i=e[n+1]||OTi;if(MTi.SET(t)&&"("===i.text)return vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||OTi;return MTi.VALUES(t)&&"="===r.text?vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var vAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),_Ai=bTi(["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"]),bAi=bTi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),CAi=bTi(["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"]),SAi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),EAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),wAi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),xAi={name:"mariadb",tokenizerOptions:{reservedSelect:vAi,reservedClauses:[..._Ai,...bAi,...CAi],reservedSetOperations:SAi,reservedJoins:EAi,reservedPhrases:wAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{onelineClauses:[...bAi,...CAi],tabularOnelineClauses:CAi}},TAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),AAi=bTi(["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"]),NAi=bTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),RAi=bTi(["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"]),IAi=bTi(["UNION [ALL | DISTINCT]"]),DAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),kAi=bTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),OAi={name:"mysql",tokenizerOptions:{reservedSelect:TAi,reservedClauses:[...AAi,...NAi,...RAi],reservedSetOperations:IAi,reservedJoins:DAi,reservedPhrases:kAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{onelineClauses:[...NAi,...RAi],tabularOnelineClauses:RAi}},LAi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),MAi=bTi(["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"]),PAi=bTi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),FAi=bTi(["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 INSTANCE","ALTER RESOURCE GROUP","ALTER SEQUENCE","ALTER USER","ALTER VIEW","ANALYZE TABLE","CHECK TABLE","CHECKSUM TABLE","COMMIT","CREATE DATABASE","CREATE INDEX","CREATE RESOURCE GROUP","CREATE ROLE","CREATE SEQUENCE","CREATE USER","DEALLOCATE PREPARE","DESCRIBE","DROP DATABASE","DROP INDEX","DROP RESOURCE GROUP","DROP ROLE","DROP TABLESPACE","DROP USER","DROP VIEW","EXPLAIN","FLUSH","GRANT","IMPORT TABLE","INSTALL COMPONENT","INSTALL PLUGIN","KILL","LOAD DATA","LOCK INSTANCE FOR BACKUP","LOCK TABLES","OPTIMIZE TABLE","PREPARE","RELEASE SAVEPOINT","RENAME TABLE","RENAME USER","REPAIR TABLE","RESET","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 TABLE","SHOW CREATE USER","SHOW CREATE VIEW","SHOW DATABASES","SHOW ENGINE","SHOW ENGINES","SHOW ERRORS","SHOW EVENTS","SHOW GRANTS","SHOW INDEX","SHOW MASTER STATUS","SHOW OPEN TABLES","SHOW PLUGINS","SHOW PRIVILEGES","SHOW PROCESSLIST","SHOW PROFILE","SHOW PROFILES","SHOW STATUS","SHOW TABLE STATUS","SHOW TABLES","SHOW TRIGGERS","SHOW VARIABLES","SHOW WARNINGS","TABLE","UNINSTALL COMPONENT","UNINSTALL PLUGIN","UNLOCK INSTANCE","UNLOCK TABLES","USE"]),BAi=bTi(["UNION [ALL | DISTINCT]"]),VAi=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),UAi=bTi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),GAi={name:"tidb",tokenizerOptions:{reservedSelect:LAi,reservedClauses:[...MAi,...PAi,...FAi],reservedSetOperations:BAi,reservedJoins:VAi,reservedPhrases:UAi,supportsXor:!0,reservedKeywords:["ADD","ALL","ALTER","ANALYZE","AND","ARRAY","AS","ASC","BETWEEN","BOTH","BY","CALL","CASCADE","CASE","CHANGE","CHECK","COLLATE","COLUMN","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","DEFAULT","DELAYED","DELETE","DESC","DESCRIBE","DISTINCT","DISTINCTROW","DIV","DOUBLE","DROP","DUAL","ELSE","ELSEIF","ENCLOSED","ESCAPED","EXCEPT","EXISTS","EXIT","EXPLAIN","FALSE","FETCH","FOR","FORCE","FOREIGN","FROM","FULLTEXT","GENERATED","GRANT","GROUP","GROUPS","HAVING","HIGH_PRIORITY","HOUR_MICROSECOND","HOUR_MINUTE","HOUR_SECOND","IF","IGNORE","ILIKE","IN","INDEX","INFILE","INNER","INOUT","INSERT","INTERSECT","INTERVAL","INTO","IS","ITERATE","JOIN","KEY","KEYS","KILL","LEADING","LEAVE","LEFT","LIKE","LIMIT","LINEAR","LINES","LOAD","LOCALTIME","LOCALTIMESTAMP","LOCK","LONG","LOW_PRIORITY","MATCH","MAXVALUE","MINUTE_MICROSECOND","MINUTE_SECOND","MOD","NATURAL","NOT","NO_WRITE_TO_BINLOG","NULL","OF","ON","OPTIMIZE","OPTION","OPTIONALLY","OR","ORDER","OUT","OUTER","OUTFILE","OVER","PARTITION","PRIMARY","PROCEDURE","RANGE","READ","RECURSIVE","REFERENCES","REGEXP","RELEASE","RENAME","REPEAT","REPLACE","REQUIRE","RESTRICT","REVOKE","RIGHT","RLIKE","ROW","ROWS","SECOND_MICROSECOND","SELECT","SET","SHOW","SPATIAL","SQL","SQLEXCEPTION","SQLSTATE","SQLWARNING","SQL_BIG_RESULT","SQL_CALC_FOUND_ROWS","SQL_SMALL_RESULT","SSL","STARTING","STATS_EXTENDED","STORED","STRAIGHT_JOIN","TABLE","TABLESAMPLE","TERMINATED","THEN","TO","TRAILING","TRIGGER","TRUE","TiDB_CURRENT_TSO","UNION","UNIQUE","UNLOCK","UNSIGNED","UNTIL","UPDATE","USAGE","USE","USING","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","VALUES","VIRTUAL","WHEN","WHERE","WHILE","WINDOW","WITH","WRITE","XOR","YEAR_MONTH","ZEROFILL"],reservedDataTypes:["BIGINT","BINARY","BIT","BLOB","BOOL","BOOLEAN","CHAR","CHARACTER","DATE","DATETIME","DEC","DECIMAL","DOUBLE PRECISION","DOUBLE","ENUM","FIXED","INT","INT1","INT2","INT3","INT4","INT8","INTEGER","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MIDDLEINT","NATIONAL CHAR","NATIONAL VARCHAR","NUMERIC","PRECISION","SMALLINT","TEXT","TIME","TIMESTAMP","TINYBLOB","TINYINT","TINYTEXT","VARBINARY","VARCHAR","VARCHARACTER","VARYING","YEAR"],reservedFunctionNames:["ABS","ACOS","ADDDATE","ADDTIME","AES_DECRYPT","AES_ENCRYPT","ANY_VALUE","ASCII","ASIN","ATAN","ATAN2","AVG","BENCHMARK","BIN","BIN_TO_UUID","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_XOR","BITAND","BITNEG","BITOR","BITXOR","CASE","CAST","CEIL","CEILING","CHAR_FUNC","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_RESOURCE_GROUP","CURRENT_ROLE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURTIME","DATABASE","DATE","DATE_ADD","DATE_FORMAT","DATE_SUB","DATEDIFF","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECODE","DEFAULT_FUNC","DEGREES","DENSE_RANK","DES_DECRYPT","DES_ENCRYPT","DIV","ELT","ENCODE","ENCRYPT","EQ","EXP","EXPORT_SET","EXTRACT","FIELD","FIND_IN_SET","FIRST_VALUE","FLOOR","FORMAT","FORMAT_BYTES","FORMAT_NANO_TIME","FOUND_ROWS","FROM_BASE64","FROM_DAYS","FROM_UNIXTIME","GE","GET_FORMAT","GET_LOCK","GETPARAM","GREATEST","GROUP_CONCAT","GROUPING","GT","HEX","HOUR","IF","IFNULL","ILIKE","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","INSERT_FUNC","INSTR","INTDIV","INTERVAL","IS_FREE_LOCK","IS_IPV4","IS_IPV4_COMPAT","IS_IPV4_MAPPED","IS_IPV6","IS_USED_LOCK","IS_UUID","ISFALSE","ISNULL","ISTRUE","JSON_ARRAY","JSON_ARRAYAGG","JSON_ARRAY_APPEND","JSON_ARRAY_INSERT","JSON_CONTAINS","JSON_CONTAINS_PATH","JSON_DEPTH","JSON_EXTRACT","JSON_INSERT","JSON_KEYS","JSON_LENGTH","JSON_MEMBEROF","JSON_MERGE","JSON_MERGE_PATCH","JSON_MERGE_PRESERVE","JSON_OBJECT","JSON_OBJECTAGG","JSON_OVERLAPS","JSON_PRETTY","JSON_QUOTE","JSON_REMOVE","JSON_REPLACE","JSON_SEARCH","JSON_SET","JSON_STORAGE_FREE","JSON_STORAGE_SIZE","JSON_TYPE","JSON_UNQUOTE","JSON_VALID","LAG","LAST_DAY","LAST_INSERT_ID","LAST_VALUE","LASTVAL","LCASE","LE","LEAD","LEAST","LEFT","LEFTSHIFT","LENGTH","LIKE","LN","LOAD_FILE","LOCALTIME","LOCALTIMESTAMP","LOCATE","LOG","LOG10","LOG2","LOWER","LPAD","LT","LTRIM","MAKE_SET","MAKEDATE","MAKETIME","MASTER_POS_WAIT","MAX","MD5","MICROSECOND","MID","MIN","MINUS","MINUTE","MOD","MONTH","MONTHNAME","MUL","NAME_CONST","NE","NEXTVAL","NOT","NOW","NTH_VALUE","NTILE","NULLEQ","OCT","OCTET_LENGTH","OLD_PASSWORD","ORD","PASSWORD_FUNC","PERCENT_RANK","PERIOD_ADD","PERIOD_DIFF","PI","PLUS","POSITION","POW","POWER","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","RIGHTSHIFT","ROUND","ROW_COUNT","ROW_NUMBER","RPAD","RTRIM","SCHEMA","SEC_TO_TIME","SECOND","SESSION_USER","SETVAL","SETVAR","SHA","SHA1","SHA2","SIGN","SIN","SLEEP","SM3","SPACE","SQRT","STD","STDDEV","STDDEV_POP","STDDEV_SAMP","STR_TO_DATE","STRCMP","SUBDATE","SUBSTR","SUBSTRING","SUBSTRING_INDEX","SUBTIME","SUM","SYSDATE","SYSTEM_USER","TAN","TIDB_BOUNDED_STALENESS","TIDB_CURRENT_TSO","TIDB_DECODE_BINARY_PLAN","TIDB_DECODE_KEY","TIDB_DECODE_PLAN","TIDB_DECODE_SQL_DIGESTS","TIDB_ENCODE_SQL_DIGEST","TIDB_IS_DDL_OWNER","TIDB_PARSE_TSO","TIDB_PARSE_TSO_LOGICAL","TIDB_ROW_CHECKSUM","TIDB_SHARD","TIDB_VERSION","TIME","TIME_FORMAT","TIME_TO_SEC","TIMEDIFF","TIMESTAMP","TIMESTAMPADD","TIMESTAMPDIFF","TO_BASE64","TO_DAYS","TO_SECONDS","TRANSLATE","TRIM","TRUNCATE","UCASE","UNARYMINUS","UNCOMPRESS","UNCOMPRESSED_LENGTH","UNHEX","UNIX_TIMESTAMP","UPPER","UTC_DATE","UTC_TIME","UTC_TIMESTAMP","UUID","UUID_SHORT","UUID_TO_BIN","VALIDATE_PASSWORD_STRENGTH","VAR_POP","VAR_SAMP","VARIANCE","VERSION","VITESS_HASH","WEEK","WEEKDAY","WEEKOFYEAR","WEIGHT_STRING","YEAR","YEARWEEK"],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:yAi},formatOptions:{onelineClauses:[...PAi,...FAi],tabularOnelineClauses:FAi}},HAi=bTi(["SELECT [ALL | DISTINCT]"]),zAi=bTi(["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"]),WAi=bTi(["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"]),jAi=bTi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),$Ai=bTi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),qAi=bTi(["{ROWS | RANGE | GROUPS} BETWEEN"]),YAi={name:"n1ql",tokenizerOptions:{reservedSelect:HAi,reservedClauses:[...zAi,...WAi],reservedSetOperations:jAi,reservedJoins:$Ai,reservedPhrases:qAi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:[],reservedFunctionNames:["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"],stringTypes:['""-bs',"''-bs"],identTypes:["``"],extraParens:["[]","{}"],paramTypes:{positional:!0,numbered:["$"],named:["$"]},lineCommentTypes:["#","--"],operators:["%","==",":","||"]},formatOptions:{onelineClauses:WAi}},KAi=bTi(["SELECT [ALL | DISTINCT | UNIQUE]"]),XAi=bTi(["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"]),ZAi=bTi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),QAi=bTi(["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"]),JAi=bTi(["UNION [ALL]","MINUS","INTERSECT"]),eNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),tNi=bTi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),nNi={name:"plsql",tokenizerOptions:{reservedSelect:KAi,reservedClauses:[...XAi,...ZAi,...QAi],reservedSetOperations:JAi,reservedJoins:eNi,reservedPhrases:tNi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:[":"]},operators:["**",":=","%","~=","^=",">>","<<","=>","@","||"],postProcess:function(e){let t=OTi;return e.map(e=>MTi.SET(e)&&MTi.BY(t)?vTi(yTi({},e),{type:"RESERVED_KEYWORD"}):(PTi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...ZAi,...QAi],tabularOnelineClauses:QAi}};var iNi=bTi(["SELECT [ALL | DISTINCT]"]),rNi=bTi(["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","DEFAULT VALUES","SET","RETURNING"]),sNi=bTi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),oNi=bTi(["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 [OR REPLACE] 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 IDENTITY","DROP INDEX","DROP LANGUAGE","DROP MATERIALIZED VIEW [IF EXISTS]","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","OVERRIDING SYSTEM VALUE","PREPARE","PREPARE TRANSACTION","REASSIGN OWNED","REFRESH MATERIALIZED VIEW","REINDEX","RELEASE SAVEPOINT","RESET [ALL|ROLE|SESSION AUTHORIZATION]","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"]),aNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),lNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),cNi=bTi(["PRIMARY KEY","GENERATED {ALWAYS | BY DEFAULT} AS IDENTITY","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","DO {NOTHING | UPDATE}","AS MATERIALIZED","{ROWS | RANGE | GROUPS} BETWEEN","[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE","IS [NOT] DISTINCT FROM","NULLS {FIRST | LAST}","WITH ORDINALITY"]),dNi={name:"postgresql",tokenizerOptions:{reservedSelect:iNi,reservedClauses:[...rNi,...sNi,...oNi],reservedSetOperations:aNi,reservedJoins:lNi,reservedPhrases:cNi,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BETWEEN","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","COLUMN","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DAY","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","EXISTS","FALSE","FETCH","FILTER","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","HOUR","ILIKE","IN","INITIALLY","INNER","INOUT","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","MINUTE","MONTH","NATURAL","NOT","NOTNULL","NULL","NULLIF","OFFSET","ON","ONLY","OR","ORDER","OUT","OUTER","OVER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","ROW","SECOND","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VALUES","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","WITHIN","WITHOUT","YEAR"],reservedDataTypes:["ARRAY","BIGINT","BIT","BIT VARYING","BOOL","BOOLEAN","CHAR","CHARACTER","CHARACTER VARYING","DECIMAL","DEC","DOUBLE","ENUM","FLOAT","INT","INTEGER","INTERVAL","NCHAR","NUMERIC","JSON","JSONB","PRECISION","REAL","SMALLINT","TEXT","TIME","TIMESTAMP","TIMESTAMPTZ","VARCHAR","XML","ZONE"],reservedFunctionNames:["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","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"],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:["%","^","|/","||/","@",":=","&","|","#","~","<<",">>","~>~","~<~","~>=~","~<=~","@-@","@@","##","<->","&&","&<","&>","<<|","&<|","|>>","|&>","<^","^>","?#","?-","?|","?-|","?||","@>","<@","~=","?","@?","?&","->","->>","#>","#>>","#-","=>",">>=","<<=","~~","~~*","!~~","!~~*","~","~*","!~","!~*","-|-","||","@@@","!!","^@","<%","%>","<<%","%>>","<<->","<->>","<<<->","<->>>","::",":","<#>","<=>","<+>","<~>","<%>"],operatorKeyword:!0},formatOptions:{alwaysDenseOperators:["::",":"],onelineClauses:[...sNi,...oNi],tabularOnelineClauses:oNi}},uNi=bTi(["SELECT [ALL | DISTINCT]"]),hNi=bTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),pNi=bTi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),gNi=bTi(["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"]),mNi=bTi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),fNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),yNi=bTi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),vNi={name:"redshift",tokenizerOptions:{reservedSelect:uNi,reservedClauses:[...hNi,...pNi,...gNi],reservedSetOperations:mNi,reservedJoins:fNi,reservedPhrases:yNi,reservedKeywords:["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"],reservedDataTypes:["ARRAY","BIGINT","BPCHAR","CHAR","CHARACTER VARYING","CHARACTER","DECIMAL","INT","INT2","INT4","INT8","INTEGER","NCHAR","NUMERIC","NVARCHAR","SMALLINT","TEXT","VARBYTE","VARCHAR"],reservedFunctionNames:["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"],stringTypes:["''-qq"],identTypes:['""-qq'],identChars:{first:"#"},paramTypes:{numbered:["$"]},operators:["^","%","@","|/","||/","&","|","~","<<",">>","||","::"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...pNi,...gNi],tabularOnelineClauses:gNi}},_Ni=bTi(["SELECT [ALL | DISTINCT]"]),bNi=bTi(["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"]),CNi=bTi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),SNi=bTi(["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"]),ENi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),wNi=bTi(["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"]),xNi=bTi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),TNi={name:"spark",tokenizerOptions:{reservedSelect:_Ni,reservedClauses:[...bNi,...CNi,...SNi],reservedSetOperations:ENi,reservedJoins:wNi,reservedPhrases:xNi,supportsXor:!0,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:function(e){return e.map((t,n)=>{const i=e[n-1]||OTi,r=e[n+1]||OTi;return MTi.WINDOW(t)&&"OPEN_PAREN"===r.type?vTi(yTi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:vTi(yTi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...CNi,...SNi],tabularOnelineClauses:SNi}};var ANi=bTi(["SELECT [ALL | DISTINCT]"]),NNi=bTi(["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"]),RNi=bTi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),INi=bTi(["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"]),DNi=bTi(["UNION [ALL]","EXCEPT","INTERSECT"]),kNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),ONi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),LNi={name:"sqlite",tokenizerOptions:{reservedSelect:ANi,reservedClauses:[...NNi,...RNi,...INi],reservedSetOperations:DNi,reservedJoins:kNi,reservedPhrases:ONi,reservedKeywords:["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","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"],reservedDataTypes:["ANY","ARRAY","BLOB","CHARACTER","DECIMAL","INT","INTEGER","NATIVE CHARACTER","NCHAR","NUMERIC","NVARCHAR","REAL","TEXT","VARCHAR","VARYING CHARACTER"],reservedFunctionNames:["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"],stringTypes:["''-qq",{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``","[]"],paramTypes:{positional:!0,numbered:["?"],named:[":","@","$"]},operators:["%","~","&","|","<<",">>","==","->","->>","||"]},formatOptions:{onelineClauses:[...RNi,...INi],tabularOnelineClauses:INi}},MNi=bTi(["SELECT [ALL | DISTINCT]"]),PNi=bTi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),FNi=bTi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),BNi=bTi(["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"]),VNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),UNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),GNi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),HNi={name:"sql",tokenizerOptions:{reservedSelect:MNi,reservedClauses:[...PNi,...FNi,...BNi],reservedSetOperations:VNi,reservedJoins:UNi,reservedPhrases:GNi,reservedKeywords:["ALL","ALLOCATE","ALTER","ANY","ARE","AS","ASC","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","DESC","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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],stringTypes:[{quote:"''-qq-bs",prefixes:["N","U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq',"``"],paramTypes:{positional:!0},operators:["||"]},formatOptions:{onelineClauses:[...FNi,...BNi],tabularOnelineClauses:BNi}},zNi=bTi(["SELECT [ALL | DISTINCT]"]),WNi=bTi(["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"]),jNi=bTi(["CREATE TABLE [IF NOT EXISTS]"]),$Ni=bTi(["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"]),qNi=bTi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),YNi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),KNi=bTi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),XNi={name:"trino",tokenizerOptions:{reservedSelect:zNi,reservedClauses:[...WNi,...jNi,...$Ni],reservedSetOperations:qNi,reservedJoins:YNi,reservedPhrases:KNi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],extraParens:["[]","{}"],stringTypes:[{quote:"''-qq",prefixes:["U&"]},{quote:"''-raw",prefixes:["X"],requirePrefix:!0}],identTypes:['""-qq'],paramTypes:{positional:!0},operators:["%","->","=>",":","||","|","^","$"]},formatOptions:{onelineClauses:[...jNi,...$Ni],tabularOnelineClauses:$Ni}},ZNi=bTi(["SELECT [ALL | DISTINCT]"]),QNi=bTi(["WITH","INTO","FROM","WHERE","GROUP BY","HAVING","WINDOW","PARTITION BY","ORDER BY","OFFSET","FETCH {FIRST | NEXT}","FOR {BROWSE | XML | JSON}","OPTION","INSERT [INTO]","VALUES","SET","MERGE [INTO]","WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]","UPDATE SET","CREATE [OR ALTER] {PROC | PROCEDURE}"]),JNi=bTi(["CREATE TABLE"]),eRi=bTi(["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","CREATE [UNIQUE] [CLUSTERED] INDEX","GO","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"]),tRi=bTi(["UNION [ALL]","EXCEPT","INTERSECT"]),nRi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),iRi=bTi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),rRi={name:"transactsql",tokenizerOptions:{reservedSelect:ZNi,reservedClauses:[...QNi,...JNi,...eRi],reservedSetOperations:tRi,reservedJoins:nRi,reservedPhrases:iRi,reservedKeywords:["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","$ACTION"],reservedDataTypes:["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"],reservedFunctionNames:["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","CHARINDEX","CONCAT","CONCAT_WS","DIFFERENCE","FORMAT","LEFT","LEN","LOWER","LTRIM","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"],nestedBlockComments:!0,stringTypes:[{quote:"''-qq",prefixes:["N"]}],identTypes:['""-qq',"[]"],identChars:{first:"#@",rest:"#@$"},paramTypes:{named:["@"],quoted:["@"]},operators:["%","&","|","^","~","!<","!>","+=","-=","*=","/=","%=","|=","&=","^=","::",":"],propertyAccessOperators:[".."]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...JNi,...eRi],tabularOnelineClauses:eRi}},sRi=bTi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),oRi=bTi(["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"]),aRi=bTi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),lRi=bTi(["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"]),cRi=bTi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),dRi=bTi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),uRi=bTi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),hRi={name:"singlestoredb",tokenizerOptions:{reservedSelect:sRi,reservedClauses:[...oRi,...aRi,...lRi],reservedSetOperations:cRi,reservedJoins:dRi,reservedPhrases:uRi,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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"],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:yAi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...aRi,...lRi],tabularOnelineClauses:lRi}},pRi=bTi(["SELECT [ALL | DISTINCT]"]),gRi=bTi(["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"]),mRi=bTi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),fRi=bTi(["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"]),yRi=bTi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),vRi=bTi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),_Ri=bTi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),bRi={name:"snowflake",tokenizerOptions:{reservedSelect:pRi,reservedClauses:[...gRi,...mRi,...fRi],reservedSetOperations:yRi,reservedJoins:vRi,reservedPhrases:_Ri,reservedKeywords:["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"],reservedDataTypes:["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"],reservedFunctionNames:["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","FILTER","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","GREATEST_IGNORE_NULLS","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"],stringTypes:["$$","''-qq-bs"],identTypes:['""-qq'],variableTypes:[{regex:"[$][1-9]\\d*"},{regex:"[$][_a-zA-Z][_a-zA-Z0-9$]*"}],extraParens:["[]"],identChars:{rest:"$"},lineCommentTypes:["--","//"],operators:["%","::","||","=>",":=","->"],propertyAccessOperators:[":"]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...mRi,...fRi],tabularOnelineClauses:fRi}},CRi=e=>e[e.length-1],SRi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),ERi=e=>e.replace(/\s+/gu," "),wRi=e=>/\n/.test(e),xRi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),TRi=/\s+/uy,ARi=e=>new RegExp(`(?:${e})`,"uy"),NRi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),RRi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return ARi(i.map(xRi).join("|"))},IRi=e=>ARi(`${SRi(e).map(xRi).join("|")}`),DRi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=SRi(e).map(xRi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},kRi=(e,t)=>{if(!e.length)return;const n=e.map(xRi).join("|");return ARi(`(?:${n})(?:${t})`)},ORi={"``":"(?:`[^`]*`)+","[]":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`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const e={"<":">","[":"]","(":")","{":"}"},t=Object.entries(e).map(([e,t])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,xRi(e)).replace(/{right}/g,xRi(t))),n=xRi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},LRi=e=>"string"==typeof e?ORi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(NRi).join("|")}${t?"":"|"})`)(e)+ORi[e.quote],MRi=e=>e.map(LRi).join("|"),PRi=e=>ARi(MRi(e)),FRi=(e={})=>ARi(BRi(e)),BRi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=xRi(null!=e?e:""),a=xRi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function VRi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var URi=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 n;for(;this.index<this.input.length;){const e=this.getWhitespace();if(this.index<this.input.length){if(n=this.getNextToken(),!n)throw this.createParseError();t.push(vTi(yTi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=VRi(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`)}dialectInfo(){return"sql"===this.dialectName?'This likely happens because you\'re using the default "sql" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc).':`SQL dialect used: "${this.dialectName}".`}getWhitespace(){TRi.lastIndex=this.index;const e=TRi.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const n=t[0],i={type:e.type,raw:n,text:e.text?e.text(n):n,start:this.index};return e.key&&(i.key=e.key(n)),this.index+=n.length,i}}},GRi=/\/\*/uy,HRi=/[\s\S]/uy,zRi=/\*\//uy,WRi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(GRi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(GRi,e))n+=t,i++;else if(t=this.matchSection(zRi,e))n+=t,i--;else{if(!(t=this.matchSection(HRi,e)))return null;n+=t}return[n]}matchSection(e,t){e.lastIndex=this.lastIndex;const n=e.exec(t);return n&&(this.lastIndex+=n[0].length),n?n[0]:null}},jRi=class{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const n=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],i=new URi(n,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(i):i}buildRulesBeforeParams(e){var t,n,i;return this.validRules([{type:"BLOCK_COMMENT",regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:"BLOCK_COMMENT",regex:e.nestedBlockComments?new WRi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(xRi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:PRi(e.identTypes)},{type:"NUMBER",regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:"RESERVED_PHRASE",regex:DRi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:$Ri},{type:"CASE",regex:/CASE\b/iuy,text:$Ri},{type:"END",regex:/END\b/iuy,text:$Ri},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:$Ri},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:$Ri},{type:"RESERVED_CLAUSE",regex:DRi(e.reservedClauses,e.identChars),text:$Ri},{type:"RESERVED_SELECT",regex:DRi(e.reservedSelect,e.identChars),text:$Ri},{type:"RESERVED_SET_OPERATION",regex:DRi(e.reservedSetOperations,e.identChars),text:$Ri},{type:"WHEN",regex:/WHEN\b/iuy,text:$Ri},{type:"ELSE",regex:/ELSE\b/iuy,text:$Ri},{type:"THEN",regex:/THEN\b/iuy,text:$Ri},{type:"RESERVED_JOIN",regex:DRi(e.reservedJoins,e.identChars),text:$Ri},{type:"AND",regex:/AND\b/iuy,text:$Ri},{type:"OR",regex:/OR\b/iuy,text:$Ri},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:$Ri},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:DRi(e.reservedFunctionNames,e.identChars),text:$Ri},{type:"RESERVED_DATA_TYPE",regex:DRi(e.reservedDataTypes,e.identChars),text:$Ri},{type:"RESERVED_KEYWORD",regex:DRi(e.reservedKeywords,e.identChars),text:$Ri}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,ARi(i.map(e=>"regex"in e?e.regex:LRi(e)).join("|"))):void 0},{type:"STRING",regex:PRi(e.stringTypes)},{type:"IDENTIFIER",regex:FRi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:RRi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:RRi("close",e.extraParens)},{type:"OPERATOR",regex:IRi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:IRi([".",...null!=(n=e.propertyAccessOperators)?n:[]])}])}buildParamRules(e,t){var n,i,r,s,o;const a={named:(null==t?void 0:t.named)||(null==(n=e.paramTypes)?void 0:n.named)||[],quoted:(null==t?void 0:t.quoted)||(null==(i=e.paramTypes)?void 0:i.quoted)||[],numbered:(null==t?void 0:t.numbered)||(null==(r=e.paramTypes)?void 0:r.numbered)||[],positional:"boolean"==typeof(null==t?void 0:t.positional)?t.positional:null==(s=e.paramTypes)?void 0:s.positional,custom:(null==t?void 0:t.custom)||(null==(o=e.paramTypes)?void 0:o.custom)||[]};return this.validRules([{type:"NAMED_PARAMETER",regex:kRi(a.named,BRi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:kRi(a.quoted,MRi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(xRi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:kRi(a.numbered,"[0-9]+"),key:e=>e.slice(1)},{type:"POSITIONAL_PARAMETER",regex:a.positional?/[?]/y:void 0},...a.custom.map(e=>{var t;return{type:"CUSTOM_PARAMETER",regex:ARi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},$Ri=e=>ERi(e.toUpperCase()),qRi=new Map,YRi=e=>({tokenizer:new jRi(e.tokenizerOptions,e.name),formatOptions:KRi(e.formatOptions)}),KRi=e=>{var t;return{alwaysDenseOperators:e.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(e.onelineClauses.map(e=>[e,!0])),tabularOnelineClauses:Object.fromEntries((null!=(t=e.tabularOnelineClauses)?t:e.onelineClauses).map(e=>[e,!0]))}};function XRi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var ZRi=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 QRi(e){return e.map(JRi).map(eIi).map(tIi).map(nIi).map(iIi)}var JRi=(e,t,n)=>{if(PTi(e.type)){const i=rIi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw});const r=sIi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},eIi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=sIi(n,t);if(!i||!oIi(i))return vTi(yTi({},e),{type:"IDENTIFIER",text:e.raw})}return e},tIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=sIi(n,t);if(i&&oIi(i))return vTi(yTi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},nIi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=sIi(n,t);if(i&&aIi(i))return vTi(yTi({},e),{type:"ARRAY_IDENTIFIER"})}return e},iIi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=sIi(n,t);if(i&&aIi(i))return vTi(yTi({},e),{type:"ARRAY_KEYWORD"})}return e},rIi=(e,t)=>sIi(e,t,-1),sIi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&lIi(e[t+i*n]);)i++;return e[t+i*n]},oIi=e=>"OPEN_PAREN"===e.type&&"("===e.text,aIi=e=>"OPEN_PAREN"===e.type&&"["===e.text,lIi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,cIi=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:n}=VRi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in DTi}};function dIi(e){return e[0]}var uIi=new cIi(e=>[]),hIi=([[e]])=>e,pIi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),gIi=e=>({type:"data_type",text:e.text,raw:e.raw}),mIi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=vTi(yTi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=vTi(yTi({},e),{trailingComments:n})),e),fIi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[mIi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,mIi(i,{trailing:n})]}return e},yIi={Lexer:uIi,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:[uIi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[uIi.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:"statement",children:e,hasSemicolon:"DELIMITER"===t.type})},{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:hIi},{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:[uIi.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:dIi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[uIi.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,n,i])=>{if(i){const[r,s]=i;return{type:"limit_clause",limitKw:mIi(pIi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:mIi(pIi(e),{trailing:t}),count:n}}},{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:[uIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:pIi(e),children:[t,...n]})},{name:"select_clause",symbols:[uIi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:pIi(e),children:[]})},{name:"all_columns_asterisk",symbols:[uIi.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:[uIi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:pIi(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:[uIi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:pIi(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:dIi},{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])=>mIi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>mIi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>mIi(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:hIi},{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:hIi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:hIi},{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:hIi},{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:hIi},{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:hIi},{name:"array_subscript",symbols:[uIi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:mIi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[uIi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:mIi(pIi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[uIi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:mIi(pIi(e),{trailing:t}),parenthesis:n})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,n])=>({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,n])=>({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,n])=>({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","_",uIi.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,n,i,[r]])=>({type:"property_access",object:mIi(e,{trailing:t}),operator:n.text,property:mIi(r,{leading:i})})},{name:"between_predicate",symbols:[uIi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",uIi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:pIi(e),expr1:fIi(n,{leading:t,trailing:i}),andKw:pIi(r),expr2:[mIi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:dIi},{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:[uIi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",uIi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:mIi(pIi(e),{trailing:t}),endKw:pIi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[uIi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",uIi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:mIi(pIi(e),{trailing:t}),thenKw:mIi(pIi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[uIi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:mIi(pIi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[uIi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[uIi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[uIi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[uIi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[uIi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[uIi.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:"identifier",quoted:"IDENTIFIER"!==e.type,text:e.text})},{name:"parameter$subexpression$1",symbols:[uIi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[uIi.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:[uIi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[uIi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[uIi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>pIi(e)},{name:"data_type$subexpression$1",symbols:[uIi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>gIi(e)},{name:"data_type",symbols:[uIi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:mIi(gIi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[uIi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[uIi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[uIi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>pIi(e)},{name:"other_keyword$subexpression$1",symbols:[uIi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[uIi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>pIi(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:[uIi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[uIi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[uIi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},vIi=yIi,{Parser:_Ii,Grammar:bIi}=cTi;var CIi=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(;SIi(CRi(this.items));)this.items.pop()}trimWhitespace(){for(;EIi(CRi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(CRi(this.items)){case 3:this.items.pop(),this.items.push(e);break;case 4:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(6)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case 0:return" ";case 3:case 4:return"\n";case 6:return this.indentation.getSingleIndent();default:return e}}},SIi=e=>0===e||6===e,EIi=e=>0===e||6===e||3===e;function wIi(e,t){if("standard"===t)return e;let n=[];return e.length>=10&&e.includes(" ")&&([e,...n]=e.split(" ")),(e="tabularLeft"===t?e.padEnd(9," "):e.padStart(9," "))+["",...n].join(" ")}function xIi(e){return(e=>"AND"===e||"OR"===e||"XOR"===e)(e)||"RESERVED_CLAUSE"===e||"RESERVED_SELECT"===e||"RESERVED_SET_OPERATION"===e||"RESERVED_JOIN"===e||"LIMIT"===e}var TIi="top-level",AIi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(TIi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&CRi(this.indentTypes)===TIi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==TIi)break}}},NIi=class extends CIi{constructor(e){super(new AIi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new RIi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new RIi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},RIi=class extends Error{},IIi=class e{constructor({cfg:e,dialectCfg:t,params:n,layout:i,inline:r=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=r,this.params=n,this.layout=i}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case"function_call":return this.formatFunctionCall(e);case"parameterized_data_type":return this.formatParameterizedDataType(e);case"array_subscript":return this.formatArraySubscript(e);case"property_access":return this.formatPropertyAccess(e);case"parenthesis":return this.formatParenthesis(e);case"between_predicate":return this.formatBetweenPredicate(e);case"case_expression":return this.formatCaseExpression(e);case"case_when":return this.formatCaseWhen(e);case"case_else":return this.formatCaseElse(e);case"clause":return this.formatClause(e);case"set_operation":return this.formatSetOperation(e);case"limit_clause":return this.formatLimitClause(e);case"all_columns_asterisk":return this.formatAllColumnsAsterisk(e);case"literal":return this.formatLiteral(e);case"identifier":return this.formatIdentifier(e);case"parameter":return this.formatParameter(e);case"operator":return this.formatOperator(e);case"comma":return this.formatComma(e);case"line_comment":return this.formatLineComment(e);case"block_comment":case"disable_comment":return this.formatBlockComment(e);case"data_type":return this.formatDataType(e);case"keyword":return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case"data_type":t=this.showDataType(e.array);break;case"keyword":t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(1,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(1,e.closeParen,0)):(this.layout.add(e.openParen,3),XRi(this.cfg)?(this.layout.add(5),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(3,5,e.closeParen,0))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),0),this.layout=this.formatSubExpression(e.expr1),this.layout.add(1,0,this.showNonTabularKw(e.andKw),0),this.layout=this.formatSubExpression(e.expr2),this.layout.add(0)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(3,5),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(3,5),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(3,5),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):XRi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return XRi(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.indentation.increaseTopLevel(),this.layout.add(5),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(3,5,this.showKw(e.nameKw),0),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(3,5,this.showKw(e.nameKw),3),this.layout.add(5),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(3,5,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),XRi(this.cfg)?this.layout.add(0):this.layout.add(3,5),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(1,",",0),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",0)}formatLiteral(e){this.layout.add(e.text,0)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),0)}formatParameter(e){this.layout.add(this.params.get(e),0)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(1,e):":"===e?this.layout.add(1,e,0):this.layout.add(e,0)}formatComma(e){this.inline?this.layout.add(1,",",0):this.layout.add(1,",",3,5)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(e=>{"line_comment"===e.type?this.formatLineComment(e):this.formatBlockComment(e)})}formatLineComment(e){wRi(e.precedingWhitespace||"")?this.layout.add(3,5,e.text,4,5):this.layout.getLayoutItems().length>0?this.layout.add(2,0,e.text,4,5):this.layout.add(e.text,4,5)}formatBlockComment(e){"block_comment"===e.type&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(e=>{this.layout.add(3,5,e)}),this.layout.add(3,5)):this.layout.add(e.text,0)}isMultilineBlockComment(e){return wRi(e.text)||wRi(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(e=>/^\s*\*/.test(e))&&/^\s*\*\/$/.test(CRi(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(e=>/^\s*\*/.test(e)?" "+e.replace(/^\s*/,""):e):e.split(/\n/).map(e=>e.replace(/^\s*/,""))}formatSubExpression(t){return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(t)}formatInlineExpression(t){const n=this.params.getPositionalParameterIndex();try{return new e({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new NIi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof RIi)return void this.params.setPositionalParameterIndex(n);throw e}}formatKeywordNode(e){switch(e.tokenType){case"RESERVED_JOIN":return this.formatJoin(e);case"AND":case"OR":case"XOR":return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){XRi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0)}formatKeyword(e){this.layout.add(this.showKw(e),0)}formatLogicalOperator(e){"before"===this.cfg.logicalOperatorNewline?XRi(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(3,5,this.showKw(e),0),this.layout.indentation.increaseTopLevel()):this.layout.add(3,5,this.showKw(e),0):this.layout.add(this.showKw(e),3,5)}formatDataType(e){this.layout.add(this.showDataType(e),0)}showKw(e){return xIi(e.tokenType)?wIi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return xIi(e.tokenType)?wIi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return ERi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},DIi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new ZRi(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(e){let t={};const n=new cIi(n=>[...QRi(e.tokenize(n,t)),kTi(n.length)]),i=new _Ii(bIi.fromCompiled(vIi),{lexer:n});return{parse:(e,n)=>{t=n;const{results:r}=i.feed(e);if(1===r.length)return r[0];throw 0===r.length?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar\n${JSON.stringify(r,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(e=>this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new IIi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new CIi(new AIi((n=this.cfg,"tabularLeft"===n.indentStyle||"tabularRight"===n.indentStyle?" ".repeat(10):n.useTabs?"\t":" ".repeat(n.tabWidth))))}).format(e.children);var n;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(3,";"):t.add(2,";")),t.toString()}},kIi=class extends Error{};function OIi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new kIi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new kIi(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);var n;if(e.params&&!((n=e.params)instanceof Array?n:Object.values(n)).every(e=>"string"==typeof e)&&console.warn('WARNING: All "params" option values should be strings.'),e.paramTypes&&!function(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every(e=>""!==e.regex);return!0}(e.paramTypes))throw new kIi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var LIi={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",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},MIi=Object.keys(LIi),PIi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},FIi=(e,t={})=>{if("string"==typeof t.language&&!MIi.includes(t.language))throw new kIi(`Unsupported SQL dialect: ${t.language}`);const n=LIi[t.language||"sql"];return BIi(e,vTi(yTi({},t),{dialect:_Ti[n]}))},BIi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)gTi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&pTi)for(var i of pTi(e))t.indexOf(i)<0&&mTi.call(e,i)&&(n[i]=e[i]);return n})(n,["dialect"]);if("string"!=typeof e)throw new Error("Invalid query argument. Expected string, instead got "+typeof e);const s=OIi(yTi(yTi({},PIi),r));return new DIi((e=>{let t=qRi.get(e);return t||(t=YRi(e),qRi.set(e,t)),t})(i),s).format(e)};const VIi=console.error;function UIi(e){return AG_GRID_LICENSE&&goi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Dne.jsx(jsi,{theme:"legacy",...e,modules:[Vri,t_i],onGridReady:()=>{"production"!==process.env.NODE_ENV&&(console.error=VIi)}})}class GIi{uuid=ho()}const HIi=(e,t,n)=>{const i=new YE(sS(t)),r=OSi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof CSi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof SSi){const t=OSi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},zIi=(e,t,n,i,r=!1)=>{let s,o;if(lS(t.functionName,n)){Ks(t.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const i=js(t.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new ESi(e,i),o=t}else if(lS(t.functionName,Nct.EXISTS)){const i=js(t.parametersValues[1],QE),a=js(i.values[0],ZE),l=js(a.expressionSequence[0],YE);Ks(l.parametersValues.length===(r?1:2),`Can't process ${sS(n)}() expression: ${sS(n)}() expects ${r?"no argument":"1 argument"}`);const c=js(l.parametersValues[0],KE,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new ESi(e,c),o=l}if(s&&o){Ks(i.isCompatibleWithFilterConditionProperty(s),`Can't process ${sS(n)}() expression: property is not compatible with operator`),s.setOperator(i);const t=o.parametersValues[1];return r||!t?s.setRightConditionValue(void 0):t instanceof KE?s.setRightConditionValue(new SSi(s,new LCi(e.queryBuilderState,t))):s.setRightConditionValue(new CSi(s,sdt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new CSi(s,i.getDefaultFilterConditionValue(s))),s}};class WIi extends GIi{getLabel(){return"is"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.BOOLEAN,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_DAY:Nct.EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_EQUAL])}}class jIi extends WIi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_EQUAL])}}class $Ii extends GIi{getLabel(){return"is in list of"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)||t instanceof RS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof CSi){const i=n.value;if(i instanceof VE){if(0===i.values.length)return!0;const n=Yct(e.filterState.queryBuilderState.graphManagerState.graph,i.values);return!!n&&([TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)?[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(n.path):n===t)}if(i instanceof ME)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return new VE(nS.ONE,yS.create(new ES(t)))}buildFilterConditionExpression(e,t){return HIi(e,Nct.IN,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.IN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_IN])}}class qIi extends $Ii{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_IN])}}class YIi extends GIi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!Qct(e.propertyExpressionState.propertyExpression)&&(t instanceof RS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return HIi(e,Nct.IS_EMPTY,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.IS_EMPTY,this,!0)}get hashCode(){return bg([odt.FILTER_OPERATOR_IS_EMPTY])}}class KIi extends YIi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const XIi=e=>{try{return FIi(e,{language:"mysql"})}catch{try{return FIi(e)}catch{return e}}},ZIi=e=>{const t=e.result.rows.map((t,n)=>{const i={},r=e.result.columns;return t.values.forEach((e,t)=>{i[r[t]]=e}),i.rowNumber=n,i});return t},QIi=new WIi,JIi=new jIi,eDi=new $Ii,tDi=new qIi,nDi=new YIi,iDi=new KIi,rDi=new yEi,sDi=new pEi,oDi=new mEi,aDi=new fEi,lDi=new vEi,cDi=new gEi,dDi=(e,t,n)=>{t.value&&zct(e,e instanceof BE?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},uDi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?nDi:QIi:null===t.value?iDi:JIi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(RSi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[nDi,iDi]:t?[QIi,eDi]:[JIi,tDi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===nDi||i===iDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?nDi:iDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof CSi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);dDi(i,n,s),o.changeOperator(t?eDi:tDi),Wct(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?QIi:JIi).getDefaultFilterConditionValue(o);dDi(e,n,s),Wct(a.value,[...a.value.values,e],s.observerContext)}}})(a,t,n,o,i,s);else try{((e,t,n,i,r)=>{let s;try{if(r){s=new ESi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),dDi(e,n,i.queryBuilderState),i.addNodeFromNode(new RSi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s.filterState,r.propertyExpression)}catch(t){Kr(t),e.alertUnhandledError(t)}},hDi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?oDi:rDi:null===t.value?aDi:lDi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(oEi)).filter(e=>e.condition.leftConditionValue instanceof BCi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[oDi,aDi]:t?[rDi,sDi]:[lDi,cDi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===oDi||i===aDi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?oDi:aDi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof cEi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof PE&&(a.value instanceof BE?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);dDi(i,n,s.queryBuilderState),o.changeOperator(t?sDi:cDi),Wct(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof PE&&a.value.values.filter(e=>e instanceof PE).map(e=>e instanceof BE?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?rDi:lDi).getDefaultFilterConditionValue(o);dDi(e,n,s.queryBuilderState),Wct(a.value,[...a.value.values,e],s.queryBuilderState.observerContext)}}})(a,t,n,o,i,s);else try{await(async(e,t,n,i,r)=>{let s;try{const e=n.columnName?i.projectionColumns.filter(e=>e.columnName===n.columnName).concat(i.aggregationState.columns.filter(e=>e.columnName===n.columnName).map(e=>e.projectionColumnState))[0]:r;if(e){s=new uEi(i.postFilterState,e,t),r instanceof GCi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),dDi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new oEi(void 0,s),void 0)}}catch(t){return Kr(t),void e.notificationService.notifyWarning(t.message)}})(e,o,n,s,r)}catch(t){Kr(t),e.alertUnhandledError(t)}},pDi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?oSi(r,n.columnName):void 0;s instanceof GCi||s instanceof zCi||s instanceof VCi&&_Si(s.propertyExpressionState.propertyExpression)?await hDi(e,t,n,i,s,r):s instanceof VCi?uDi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},gDi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await pDi(e,n,r,t,i)},mDi=Sse(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=Aat(),a=n?.columnName?oSi(i,n.columnName):void 0;return Dne.jsxs(OOe,{ref:t,children:[Dne.jsx(LOe,{disabled:!a,onClick:()=>{gDi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Dne.jsx(LOe,{disabled:!a,onClick:()=>{gDi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Dne.jsx(MOe,{}),Dne.jsx(LOe,{onClick:r,children:"Copy Cell Value"}),Dne.jsx(LOe,{onClick:s,children:"Copy Row Value"})]})})),fDi=Sse(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"query-builder__sql__container",children:[Dne.jsx(QOe,{}),Dne.jsxs("div",{children:[Dne.jsx("div",{className:"query-builder__sql__container__item__label",children:Dne.jsxs(XOe,{children:["SQL",Dne.jsx("div",{children:Dne.jsx("button",{onClick:()=>{(e=>{r.clipboardService.copyTextToClipboard(e).then(()=>r.notificationService.notifySuccess("SQL Query copied",void 0,2500)).catch(r.alertUnhandledError)})(t)},title:"Copy SQL Expression",className:"query-builder__sql__container__icon",children:Dne.jsx($ie,{})})})]})}),Dne.jsx("div",{className:"query-builder__sql__container__code-editor",children:Dne.jsx(tTi,{inputValue:XIi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:WTn.SQL})}),Dne.jsx(QOe,{})]},t)]}),n.length>0&&Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__sql__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Label"}),Dne.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Dne.jsx("tbody",{children:n.map(e=>Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Dne.jsx("td",{className:"table__cell--left",children:oY(e.dataType)})]},e.label))})]})]})})]})}),yDi=Sse(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Dne.jsx(fDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Dne.jsxs(KOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(fDi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),vDi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Dne.jsxs("div",{className:n,children:[Dne.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Dne.jsx("div",{className:`${n}__tag`,children:t.value.path}),Dne.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},_Di=e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r,innerProps:s}=e,{isReadOnly:o,removeNode:a}=s;let l,c,d;t.tree instanceof nw?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tw&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{}),h=c?bwi(c):Dne.jsx($Ee,{}),p=()=>r?.(t);return Dne.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Dne.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Dne.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Dne.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Dne.jsx(Are,{})})})]})},bDi=Sse(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Dne.jsx(Xye,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Dne.jsx(TOe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Dne.jsx(NOe,{className:"query-builder-graph-fetch-config__content",children:Dne.jsx(WOe,{children:Dne.jsxs(ZOe,{children:[Dne.jsx(tLe,{name:"Type Key Name",value:i.typeKeyName,isReadOnly:!1,update:e=>i.setTypeName(e??""),errorMessage:""===i.typeKeyName?"Type key name can't be empty":void 0}),Dne.jsx(tLe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Dne.jsx(nLe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Dne.jsx(nLe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Dne.jsx(nLe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Dne.jsx(nLe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Dne.jsx(nLe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Dne.jsx(nLe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Dne.jsxs(ROe,{children:[!s&&Dne.jsx(DOe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Dne.jsx(DOe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),CDi=Sse(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>ywi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Dne.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Dne.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Dne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Dne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Dne.jsx(Die,{})}),Dne.jsx(COe,{className:"panel__content__form__section__dropdown service-execution-editor__configuration__item__dropdown",disabled:s,options:o,onChange:e=>{null!==e&&(n.setBinding(e.value),n.setGraphFetchTree(i))},value:a,formatOptionLabel:vDi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Dne.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Dne.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Dne.jsx(rre,{})}),Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen)},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{1===i.nodes.size?t.queryBuilderState.applicationStore.notificationService.notifyWarning("externalize serialization tree can not be empty"):(Lxi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),SDi=Sse(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(gX)).filter(e=>{const n=e.modelUnit.packageableElementIncludes.map(e=>e.value);return n.filter(zs(xS)).map(e=>{return Array.from((n=e,i=t.queryBuilderState.graphManagerState.graph,new Set(i.getPackages(n.path).map(e=>[...Dw(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Dne.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Dne.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(Fxi).map(e=>{return Dne.jsx("button",{onClick:(r=e,()=>{r!==n.getLabel()&&t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:"Current graph-fetch will be lost when switching to a different serialization mode. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case Fxi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new zxi(t,o[0],void 0);t.setGraphFetchTree(i),e.setGraphFetchTree(On(i)),t.setSerializationState(e)}else t.queryBuilderState.applicationStore.notificationService.notifyWarning("Can't switch to external format serialization: No compatible bindings found");break;case Fxi.PURE:default:t.setSerializationState(new Hxi(t))}})},{label:"Cancel",type:clt.PROCEED,default:!0}]})}),className:Tse("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:Cp(e)},e);var r})}),Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof Hxi&&Dne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Dne.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof Hxi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Dne.jsx(gie,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Dne.jsxs("div",{className:Tse("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Dne.jsx("button",{className:Tse("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Dne.jsx(Uie,{}):Dne.jsx(xre,{})}),Dne.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Dne.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Dne.jsx(cre,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Dne.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof Hxi&&n.configModal&&Dne.jsx(bDi,{pureSerializationState:n,graphFetchState:t,config:n.config??Uxi.createDefault()}),Dne.jsxs(wFe,{orientation:"horizontal",children:[Dne.jsx(xFe,{children:Dne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,onNodeSelect:e=>{e.childrenIds.length&&(e.isOpen=!e.isOpen),r({...i})},getChildNodes:e=>e.childrenIds.map(e=>i.nodes.get(e)).filter(Vs),innerProps:{isReadOnly:s,removeNode:e=>{Lxi(i,e),0===i.nodes.size&&t.setSerializationState(new Hxi(t)),n instanceof zxi&&n.treeData?.nodes.get(e.id)&&(Lxi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Dne.jsx(TFe,{}),n instanceof zxi&&n.treeData&&Dne.jsx(xFe,{children:Dne.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Dne.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Dne.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Dne.jsx(CDi,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),EDi=Sse(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof zxi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=ePe(()=>({accept:[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{Cct.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Dne.jsxs(wPe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||Dxi(r))&&Dne.jsx(oLe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!Dxi(r)&&Dne.jsx(SDi,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),wDi=Sse(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof Hxi||n instanceof zxi?Dne.jsx(EDi,{graphFetchTreeState:t,serializationState:n}):Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_GRAPH_FETCH,children:Dne.jsx(rLe,{children:Dne.jsxs("div",{className:"unsupported-element-editor__main",children:[Dne.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Dne.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(Yxi.TEXT),children:"Edit in text mode"})]})})})}),xDi=Sse(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tw?i=Ixi(js(t.graphFetchTree,tw),!0):t.graphFetchTree instanceof nw&&(i=(e=>{const t=[],n=new Map,i=Nxi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tw(XC.create(new wS("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Dne.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Checked"}),Dne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Store"}),Dne.jsx("td",{className:"table__cell--left",children:t.store})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Dne.jsx(QOe,{}),i&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Dne.jsx(KRe,{components:{TreeNodeContainer:_Di},className:"query-builder-graph-fetch-tree__container__tree",treeData:i,getChildNodes:e=>e.childrenIds.map(e=>i?i.nodes.get(e):null).filter(Vs),innerProps:{isReadOnly:!0}})})}),Dne.jsx(QOe,{})]}),t.xStorePropertyFetchDetails&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" subTree "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Dne.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Dne.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof A2&&Dne.jsx(Qxi,{resultType:t.resultType}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})})}),TDi=Sse(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Dne.jsxs(KOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Name"}),Dne.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Dne.jsx("tbody",{children:t.map(e=>{return Dne.jsx(n.Fragment,{children:Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:e.name}),Dne.jsx("td",{className:"table__cell--left",children:`${e.genericType?.value.rawType.name} ${t=e.multiplicity,t===nS.ZERO?"[0]":t===nS.ONE?"[1]":t===nS.ZERO_ONE?"[0..1]":t===nS.ZERO_MANY||t===nS.ONE_MANY?"[*]":void 0===t.upperBound?`[${t.lowerBound.toString()}.. *]`:`[${t.lowerBound.toString()}..${t.upperBound.toString()}]`}`})]})},e.name);var t})})]})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),ADi=Sse(e=>{const{cnode:t,executionPlanState:n}=e,i=t.resultType;let r="";const s=n.applicationStore;try{r=eo(t.values)?t.values.value:""}catch{}return Dne.jsxs(KOe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Dne.jsx("div",{className:"query-builder__constant__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx("pre",{children:Dne.jsx("div",{className:"query-builder__constant__container__item",children:Dne.jsxs("div",{children:["value: ",r]})})})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__constant__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),NDi=Sse(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Dne.jsxs(KOe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx("div",{className:"query-builder__allocation__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__allocation__container__item",children:Dne.jsx("table",{className:"query-builder__allocation__container__table",children:Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{children:"varName"}),Dne.jsx("td",{children:`: ${i}`})]}),Dne.jsxs("tr",{children:[Dne.jsx("td",{children:"realizeInMemory"}),Dne.jsx("td",{children:`: ${s}`})]})]})})})]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:r}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof I1&&Dne.jsx(ADi,{cnode:t.executionNodes[0],executionPlanState:n}),Dne.jsx(QOe,{})]})}),RDi=Sse(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Dne.jsx("div",{}):o?Dne.jsx(Pre,{}):Dne.jsx(Bre,{});return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__sequence__container",children:Dne.jsxs("div",{children:[Dne.jsx(XOe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Dne.jsx(QOe,{}),t.executionNodes.map((e,t)=>Dne.jsx("div",{className:"query-builder__sequence__container__item",children:Dne.jsxs("button",{className:"query-builder__sequence__container__item__btn",onClick:()=>(e=>{const t=i.treeData?.nodes.get(e._UUID);!1===r?a(o?void 0:e):(t instanceof KDi?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof XDi&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${GDi(e)}`,children:[!r&&l,`${t+1}: ${GDi(e)}`]})},e._UUID))]})}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:s}),!1===r&&o&&Dne.jsx(jDi,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),IDi=Sse(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Dne.jsx(RDi,{node:t,executionPlanState:n,viewJson:i}):Dne.jsxs(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(RDi,{node:t,executionPlanState:n,viewJson:i}),Dne.jsx("div",{className:"query-builder__execution__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),DDi=Sse(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Dne.jsxs(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Dne.jsx(QOe,{}),Dne.jsx(Jxi,{resultType:i}),Dne.jsx("div",{className:"query-builder__sql__container",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),text:"View JSON"})}),Dne.jsx(QOe,{})]})}),kDi=Sse(e=>{const{node:t,executionPlanState:n}=e;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof r2&&t.implementation.executionClassFullName&&Dne.jsx("div",{className:"query-builder__implementation__container__item",children:Dne.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,h5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(eki.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof r2&&n.globalImplementationSupportState.setSelectedJavaClass(t.implementation.executionClassFullName)},title:`Go to Java class: ${t.implementation.executionClassFullName}`,className:"query-builder__implementation__container__item__java-btn",children:t.implementation.executionClassFullName})})]})});var ODi;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(ODi||(ODi={}));const LDi=Sse(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof B2?i=ODi.RESULT_SET:t instanceof z2&&(i=ODi.TEMP_FILE),t instanceof G2&&(i=ODi.SUB_QUERY),Dne.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Dne.jsxs(XOe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${GDi(t.createTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${GDi(t.loadTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{}),Dne.jsx(XOe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${GDi(t.dropTempTableNode)})`}),Dne.jsx(jDi,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Dne.jsx(QOe,{})]})});var MDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(MDi||(MDi={}));const PDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(MDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(MDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===MDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Dne.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"Checked"}),Dne.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===MDi.TEMP_TABLE&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var FDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(FDi||(FDi={}));const BDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(FDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(FDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===FDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===FDi.TEMP_TABLE&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var VDi;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(VDi||(VDi={}));const UDi=Sse(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(VDi.GENERAL);return Dne.jsx(KOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(VDi).map(e=>Dne.jsx("div",{onClick:()=>o(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:Cp(e)},e))})}),s===VDi.GENERAL&&Dne.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Dne.jsx("thead",{children:Dne.jsxs("tr",{children:[Dne.jsx("th",{className:"table__cell--left",children:"Property"}),Dne.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Dne.jsxs("tbody",{children:[Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Dne.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Dne.jsxs("tr",{children:[Dne.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Dne.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Dne.jsx(kDi,{node:t,executionPlanState:i})}),Dne.jsx(QOe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof Yq&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(XOe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Dne.jsx(QOe,{}),Dne.jsx(fDi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(Jxi,{resultType:t.resultType})}),Dne.jsx(QOe,{}),Dne.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(JDi.JSON),text:"View JSON"})})]}),s===VDi.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===VDi.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Dne.jsx(LDi,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),GDi=e=>e instanceof Yq?"SQL Execution Node":e instanceof Zq?"Relational TDS Instantiation Execution Node":e instanceof T1?"Function Parameters Validation Node":e instanceof R1?`Allocation Execution Node (${e.varName})`:e instanceof I1?"Constant Execution Node":e instanceof D1?"Sequence Execution Node":e instanceof d2?"Store Mapping Global Graph Fetch Execution Node":e instanceof b2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof j2?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof m2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof S2?"Pure Expression Platform Execution Node":"Other",HDi=Sse(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof r2&&(n.classes.sort((e,t)=>(e.package+e.name).toLowerCase()>(t.package+t.name).toLowerCase()?1:-1),n.classes.length>0&&n.classes[0]&&void 0===t.globalImplementationSupportState.selectedJavaClass&&t.globalImplementationSupportState.setSelectedJavaClass(`${n.classes[0]?.package}.${n.classes[0]?.name}`)),Dne.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Dne.jsxs("div",{className:"panel",children:[Dne.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Dne.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(eki).map(e=>Dne.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Tse("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:Cp(e)},e))})}),t.globalImplementationSupportState.selectedTab===eki.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof r2&&Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{minSize:30,size:400,children:Dne.jsx(KOe,{darkMode:r,className:"query-builder__java__container__panel",children:Dne.jsx("div",{className:"query-builder__java__container",children:Dne.jsxs("div",{children:[n.classes.map(e=>Dne.jsx("div",{className:Tse("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Dne.jsx("button",{className:"query-builder__java__container__item__btn",onClick:()=>t.globalImplementationSupportState.setSelectedJavaClass(`${e.package}.${e.name}`),tabIndex:-1,title:`Go to ${e.package}.${e.name}`,children:`${e.package}.${e.name}`})},e.package+e.name)),Dne.jsx(QOe,{})]})})})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:"var(--color-dark-grey-200)"})}),Dne.jsx(xFe,{children:t.globalImplementationSupportState.selectedJavaClass&&Dne.jsx(tTi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:WTn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===eki.GENERAL&&i.length>0&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Dne.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Dne.jsx("div",{className:"query-builder__template--function--editor__code",children:Dne.jsx(tTi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:WTn.XML,hideMinimap:!0,hideActionBar:!0})}),Dne.jsx("div",{className:"query-builder__template--function--editor__json",children:Dne.jsx(lCe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(JDi.JSON),text:"View JSON"})})]})]})})}),zDi=Sse(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Dne.jsx(Pre,{}):Dne.jsx(Bre,{}):Dne.jsx("div",{});let o="",a="";return t instanceof XDi&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof d2?o="Cross":t.executionNode instanceof h2&&(o="Local")),a=(e=>{if(e instanceof d2||e instanceof h2){if(e.graphFetchTree instanceof tw)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nw)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Dne.jsxs("div",{className:Tse("tree-view__node__container execution-plan-viewer__explorer-tree__node__container",{"menu__trigger--on-menu-open":!t.isSelected},{"execution-plan-viewer__explorer-tree__node__container--selected":t.isSelected}),style:{paddingLeft:(n-1)*(i??1)+"rem"},onClick:()=>r?.(t),children:[Dne.jsx("div",{className:"tree-view__node__icon",children:Dne.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Dne.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Dne.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Dne.jsx("div",{className:"execution-plan-viewer__node__type",children:Dne.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Dne.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),WDi=Sse(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof KDi){const n=e.executionPlan.rootExecutionNode,i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)}else if(e instanceof XDi){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof d2){const n=e.executionNode.localGraphFetchExecutionNode,i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof p2&&e.executionNode.children.forEach(n=>{const i=ZDi(n,GDi(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Dne.jsx(KRe,{components:{TreeNodeContainer:zDi},treeData:t.nonNullableTreeData,getChildNodes:e=>{if(!e.childrenIds||0===e.childrenIds.length)return[];const n=e.childrenIds.map(e=>t.nonNullableTreeData.nodes.get(e)).filter(Vs);return n},onNodeSelect:e=>{e instanceof KDi?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof XDi&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),jDi=Sse(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof Yq?Dne.jsx(yDi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Zq?Dne.jsx(DDi,{node:t,executionPlanState:n}):t instanceof T1?Dne.jsx(TDi,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof R1?Dne.jsx(NDi,{node:t,executionPlanState:n}):t instanceof I1?Dne.jsx(ADi,{cnode:t,executionPlanState:n}):t instanceof D1?Dne.jsx(IDi,{node:t,executionPlanState:n,viewJson:i}):t instanceof d2?Dne.jsx(xDi,{storeMappingNode:t,executionPlanState:n}):t instanceof j2?Dne.jsx(UDi,{node:t,executionPlanState:n}):t instanceof b2?Dne.jsx(PDi,{node:t,executionPlanState:n}):t instanceof m2?Dne.jsx(BDi,{node:t,executionPlanState:n}):Dne.jsx(rLe,{children:Dne.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Dne.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Dne.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(JDi.JSON),children:"View JSON"})]})})}),$Di=Sse(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof KDi?r=i.selectedNode.executionPlan:i.selectedNode instanceof XDi&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof KDi&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(JDi);return Dne.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Dne.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Dne.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Dne.jsx(VOe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Dne.jsx(OOe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Dne.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Dne.jsx(LOe,{className:"execution-plan-viewer__panel__view-mode__option",onClick:()=>i.setViewMode(e),children:e},e))})]})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:Dne.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Dne.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===JDi.JSON&&Boolean(t)&&Dne.jsx(tTi,{inputValue:t,isReadOnly:!0,language:WTn.JSON,hideMinimap:!0}),i.viewMode===JDi.FORM&&Dne.jsxs(Dne.Fragment,{children:[r instanceof qq&&Dne.jsx(jDi,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof h5&&Dne.jsx(HDi,{executionPlanState:i})]})]})]})})}),qDi=Sse(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Dne.jsx("div",{className:"execution-plan-viewer__content",children:i?Dne.jsxs(wFe,{orientation:"vertical",children:[Dne.jsx(xFe,{size:300,minSize:300,children:Dne.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Dne.jsx($Oe,{darkMode:r,title:"execution plan explorer"}),Dne.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Dne.jsx(WDi,{executionPlanState:t,executionPlan:i})})]})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Dne.jsx(xFe,{children:Dne.jsx($Di,{displayData:t.displayData,executionPlanState:t})})]}):Dne.jsx(tTi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:WTn.JSON})})}),YDi=Sse(e=>{const{executionPlanState:t}=e,n=()=>{t.setRawPlan(void 0),t.initialize(void 0),t.setExecutionPlanDisplayData(""),t.setSelectedNode(void 0),t.setDebugText(void 0),t.globalImplementationSupportState.setSelectedTab(eki.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Dne.jsx(Xye,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{className:"editor-modal",darkMode:r,children:[Dne.jsx(TOe,{title:"Execution Plan"}),Dne.jsx(NOe,{children:t.debugText?Dne.jsxs(wFe,{orientation:"horizontal",children:[Dne.jsx(xFe,{minSize:100,children:Dne.jsx(qDi,{executionPlanState:t,rawPlan:i})}),Dne.jsx(TFe,{children:Dne.jsx(AFe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Dne.jsx(xFe,{size:200,minSize:28,children:Dne.jsxs(WOe,{className:"panel execution-plan-viewer__debug-panel",children:[Dne.jsx(jOe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Dne.jsx(KOe,{children:Dne.jsx(tTi,{inputValue:t.debugText,isReadOnly:!0,language:WTn.TEXT})})]})})]}):Dne.jsx(qDi,{executionPlanState:t,rawPlan:i})}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class KDi{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){c_(this,{isSelected:xy,isOpen:xy,setIsSelected:Ov,setIsOpen:Ov}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class XDi{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){c_(this,{isSelected:xy,isOpen:xy,setIsSelected:Ov,setIsOpen:Ov}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const ZDi=(e,t,n)=>{const i=new XDi(e._UUID,t,e,n instanceof XDi?GDi(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)}),e instanceof d2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)})),e instanceof p2&&e.children.slice().filter(zs(qq)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},QDi=e=>{const t=[],n=new Map,i=(e=>{const t=new KDi("Execution Plan","Execution Plan",e),n=[],i=e.rootExecutionNode._UUID;return Co(n,i),t.childrenIds=n,t})(e);return Co(t,i.id),n.set(i.id,i),{rootIds:t,nodes:n}};var JDi,eki;!function(e){e.FORM="Form",e.JSON="JSON"}(JDi||(JDi={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(eki||(eki={}));class tki{selectedTab=eki.GENERAL;selectedJavaClass=void 0;constructor(){c_(this,{selectedTab:xy,selectedJavaClass:xy,setSelectedTab:Ov,setSelectedJavaClass:Ov})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class nki{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=JDi.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new tki;constructor(e,t){c_(this,{displayData:xy,displayDataJson:xy,viewMode:xy,rawPlan:xy,plan:xy,debugText:xy,treeData:xy,setExecutionPlanDisplayData:Ov,setExecutionPlanDisplayDataJson:Ov,transformMetadataToProtocolJson:Ov,setSelectedNode:Ov,setRawPlan:Ov,setPlan:Ov,setViewMode:Ov,setDebugText:Ov,setTreeNode:Ov,setTreeData:Ov,refreshTreeData:Ov,nonNullableTreeData:Ry,initialize:Ov,globalImplementationSupportState:xy}),this.applicationStore=e,this.graphManagerState=t}setViewMode(e){this.viewMode=e}setTreeNode(e,t){this.treeData?.nodes.set(e,t)}setTreeData(e){this.treeData=e}refreshTreeData(){this.treeData&&this.setTreeData({...this.treeData})}get nonNullableTreeData(){return Gs(this.treeData,"Execution plan viewer tree data has not been initialized")}setRawPlan=e=>{this.rawPlan=e};setPlan=e=>{this.plan=e};initialize=e=>{this.setPlan(e),void 0!==e?this.setTreeData(QDi(e)):this.setTreeData(void 0)};setDebugText(e){this.debugText=e}setSelectedNode(e){this.selectedNode&&this.selectedNode.setIsSelected(!1),e&&e.setIsSelected(!0),this.selectedNode=e}setExecutionPlanDisplayData(e){this.displayData=e}setExecutionPlanDisplayDataJson(e){this.displayDataJson=e,this.setExecutionPlanDisplayData(JSON.stringify(this.displayDataJson,void 0,2))}transformMetadataToProtocolJson(e){if(e instanceof h5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof qq){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const iki=e=>Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Dne.jsx("div",{className:"query-builder__result__values__table__custom-header__icon",title:"some values have been rounded using en-us format in this preview grid (defaults to max 4 decimal places)",children:Dne.jsx(die,{})}),Dne.jsx("div",{children:e.displayName})]}),rki=(e,t)=>{const n=e.builder.columns.findIndex(e=>e.name===t);if(n>=0){const t=e.builder.columns[n]?.type,i=e.result.rows.map(e=>e.values[n]),r=e=>Boolean(e.some(e=>{if(e){const t=e.toString().split(".")[1];return t&&t.length>4}return!1}));switch(t){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:return r(i)?{headerComponentParams:{innerHeaderComponent:iki}}:{};default:return{}}}return{}},ski=Sse(e=>{const t=e.resultState,n=e.tdsExecutionResult,i=t.queryBuilderState.fetchStructureState.implementation,r=t.queryBuilderState.applicationStore,s=e.value,o=Gs(e.node.rowIndex),a=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,l=Xs(s)&&Pc(s)?s:void 0,c=e.column?.getColId()??"",d=(e,t)=>({rowIndex:t,colIndex:n.result.columns.findIndex(t=>t===e)}),u=d(c,o),h=t.selectedCells.some(e=>e.coordinates.colIndex===u.colIndex&&e.coordinates.rowIndex===u.rowIndex),p=e=>{if(t.executionResult&&t.executionResult instanceof NZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof NZ)return"asc"===e.api.getColumnState()[r]?.sort?t.executionResult.result.rows.sort((e,t)=>DZ(e,t,r)):"desc"===e.api.getColumnState()[r]?.sort&&t.executionResult.result.rows.sort((e,t)=>DZ(t,e,r)),t.executionResult.result.rows[i]?.values[r]},m=e=>{if(e.preventDefault(),e.shiftKey){const e=d(c,o),n=g([e.rowIndex,e.colIndex]);return void t.addSelectedCell({value:n,columnName:c,coordinates:e})}if(0===e.button){t.setIsSelectingCells(!0),t.setSelectedCells([]);const e=d(c,o),n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}if(2===e.button){const e=d(c,o);if(!(n=e,t.selectedCells.some(e=>e.coordinates.rowIndex===n.rowIndex&&e.coordinates.colIndex===n.colIndex))){const n=g([e.rowIndex,e.colIndex]);t.setSelectedCells([{value:n,columnName:c,coordinates:e}]),t.setMouseOverCell(t.selectedCells[0]??null)}}var n};return Dne.jsx(BOe,{content:(()=>{if(i instanceof awi){const n=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(i.queryBuilderState.resultState.selectedCells.map(e=>e.value).join(","))),s=t=>{if(!(i.queryBuilderState.resultState.executionResult&&i.queryBuilderState.resultState.executionResult instanceof NZ))return"";const n=[];return Object.entries(e.api.getRenderedNodes().find(e=>e.rowIndex===t)?.data).forEach(e=>{"rowNumber"!==e[0]&&n.push(e[1])}),n.join(",")},o=r.guardUnhandledError(()=>r.clipboardService.copyTextToClipboard(s(i.queryBuilderState.resultState.selectedCells[0]?.coordinates.rowIndex??0)));return Dne.jsx(mDi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof awi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Dne.jsx("div",{className:Tse("query-builder__result__values__table__cell",{"query-builder__result__values__table__cell--active":h}),onMouseDown:e=>m(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>(()=>{if(t.isSelectingCells){if(t.selectedCells.length<1)return;const e=t.selectedCells[0];if(!e)return;const n=e.coordinates,i=d(c,o);t.setSelectedCells([e]);const r=Math.min(n.rowIndex,i.rowIndex),s=Math.min(n.colIndex,i.colIndex),a=Math.max(n.rowIndex,i.rowIndex),l=Math.max(n.colIndex,i.colIndex);for(let e=r;e<=a;e++)for(let n=s;n<=l;n++){const i={value:g([e,n]),columnName:p(n),coordinates:{rowIndex:e,colIndex:n}};t.selectedCells.find(t=>t.coordinates.colIndex===n&&t.coordinates.rowIndex===e)||t.addSelectedCell(i)}}t.setMouseOverCell(t.selectedCells[0]??null)})(),children:l?Dne.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Dne.jsx("span",{children:Zs(s)?Intl.NumberFormat(iwi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),oki=Sse(e=>{const{executionResult:t,queryBuilderState:n}=e,i=n.resultState,r=!n.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,s=t.result.columns.map(e=>({minWidth:50,sortable:!0,resizable:!0,field:e,flex:1,headerName:e,...rki(t,e),cellRenderer:ski,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Dne.jsx("div",{className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Dne.jsx(UIi,{rowData:ZIi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1}},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:s})})})});var aki;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(aki||(aki={}));const lki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.STRING:return{filter:"agTextColumnFilter",allowedAggFuncs:["count"]};case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter",allowedAggFuncs:["count"]};case TC.DECIMAL:case TC.NUMBER:case TC.INTEGER:case TC.FLOAT:return{filter:"agNumberColumnFilter",allowedAggFuncs:["count","sum","max","min","avg","wavg"]};default:return{allowedAggFuncs:["count"]}}},cki=Sse(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&Pc(n)?n:void 0;return Dne.jsx("div",{className:Tse("query-builder__result__values__table__cell"),onMouseDown:e=>(e=>{e.preventDefault(),0!==e.button&&2!==e.button||t.setMouseOverCell(t.selectedCells[0]??null)})(e),onMouseUp:e=>{t.setIsSelectingCells(!1)},onMouseOver:e=>{t.setMouseOverCell(t.selectedCells[0]??null)},children:i?Dne.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Dne.jsx("span",{children:Zs(n)?Intl.NumberFormat(iwi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),dki=(e,t)=>{const n=e.builder.columns.find(e=>e.name===t)?.type;switch(n){case TC.DATE:case TC.DATETIME:case TC.STRICTDATE:return{filter:"agDateColumnFilter"};case TC.DECIMAL:case TC.INTEGER:case TC.NUMBER:case TC.FLOAT:return{filter:"agNumberColumnFilter"};default:return{filter:!0}}},uki=Sse(e=>{const{executionResult:t,queryBuilderState:i}=e,r=Aat(),s=!r.layoutService.TEMPORARY__isLightColorThemeEnabled,[o,a]=n.useState(void 0),[l,c]=n.useState(void 0),d=i.resultState,u=i.isLocalModeEnabled,h=u?((e,t)=>e.result.columns.map(n=>{const i={minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,enablePivot:!0,enableRowGroup:!0,enableValue:!0,cellRenderer:cki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...lki(e,n),...rki(e,n)},r=t.gridConfig?.columns.find(e=>e.colId===n);return r&&(r.width&&(i.width=r.width),i.pinned=r.pinned??null,i.rowGroup=r.rowGroup??!1,i.rowGroupIndex=r.rowGroupIndex??null,i.aggFunc=r.aggFunc??null,i.pivot=r.pivot??!1,i.hide=r.hide??!1),i}))(t,d):((e,t)=>e.result.columns.map(n=>({minWidth:50,sortable:!0,resizable:!0,field:n,flex:1,cellRenderer:cki,cellRendererParams:{resultState:t,tdsExecutionResult:e},...dki(e,n),...rki(e,n)})))(t,d),p=()=>{o&&d.setGridConfig({columns:o.getColumnState(),isPivotModeEnabled:o.isPivotMode(),isLocalModeEnabled:!0,previewLimit:d.previewLimit,...d.wavgAggregationState?.weightedColumnIdPairs&&{weightedColumnPairs:d.wavgAggregationState.weightedColumnIdPairs}})},g=n.useCallback(e=>{let t=[];const n=d.queryBuilderState.fetchStructureState.implementation;return n instanceof awi&&(t=[{name:"Filter By",action:()=>{gDi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{gDi(r,d.mousedOverCell,!1,n).catch(i.applicationStore.alertUnhandledError)}},"copy","copyWithHeaders",{name:"Copy Row Value",action:()=>{e.api.copySelectedRowsToClipboard()}}]),t},[r,d.mousedOverCell,d.queryBuilderState.fetchStructureState.implementation,i.applicationStore.alertUnhandledError]),m=o?.getColumns()?.filter(e=>"number"===e.getColDef().cellDataType).map(e=>({label:e.getColId(),value:e.getColId()})),f=l?.colDef.field&&d.wavgAggregationState?.weightedColumnIdPairs.get(l.colDef.field)?{label:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field)),value:Gs(d.wavgAggregationState.weightedColumnIdPairs.get(l.colDef.field))}:null;return n.useEffect(()=>{l&&l.api.setColumnAggFunc(Gs(l.colDef.field),aki.WAVG)},[d.wavgAggregationState,l]),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Dne.jsxs("div",{className:Tse("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Dne.jsx(UIi,{rowData:ZIi(t),onGridReady:e=>{a(e.api),e.api.updateGridOptions({pivotMode:Boolean(d.gridConfig?.isPivotModeEnabled)})},gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},pivotPanelShow:"always",rowGroupPanelShow:"always",cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},suppressFieldDotNotation:!0,suppressContextMenu:!1,columnDefs:h,aggFuncs:{wavg:e=>{e.colDef.field?(d.wavgAggregationState||d.setWavgAggregationState(new gki),d.wavgAggregationState?.addWeightedColumnIdPair(e.colDef.field,e.colDef.field),d.wavgAggregationState?.setIsApplyingWavg(!0),c(e)):r.notificationService.notifyError("The id of this column can`t be retrieved to perform weighted average")},WAVG:e=>{try{const t=e.colDef.field;if(t){const n=d.wavgAggregationState?.weightedColumnIdPairs.get(t);if(n){const i=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]).reduce((e,t)=>e+t),s=(e.rowNode.allLeafChildren??[]).map(e=>e.data[n]*e.data[t]).reduce((e,t)=>e+t);if(0!==i)return p(),s/i;r.notificationService.notifyError("The weighted column sum is 0")}else r.notificationService.notifyError("The weighted column Id is not defined")}}catch(e){Kr(e),r.notificationService.notifyError(e)}return-1}},sideBar:["columns","filters"],onColumnVisible:p,onColumnPinned:p,onColumnResized:p,onColumnRowGroupChanged:p,onColumnValueChanged:p,onColumnPivotChanged:p,onColumnPivotModeChanged:p}):Dne.jsx(UIi,{rowData:ZIi(t),gridOptions:{suppressScrollOnNewData:!0,getRowId:e=>`${e.data.rowNumber}`,rowSelection:{mode:"multiRow",checkboxes:!1,headerCheckbox:!1},cellSelection:!0},onRowDataUpdated:e=>{e.api.refreshCells({force:!0})},onCellSelectionChanged:e=>{const t=(e=>{const t=e.getCellRanges(),n=[];e.forEachNode(e=>n.push(e));const i=e.getColumnDefs(),r=[];if(t)for(const e of t){const t=e.startRow?.rowIndex??0,s=e.endRow?.rowIndex??0,o=t<s?t:s,a=t<s?s:t,l=e.columns.map(e=>e.getColId());for(let e=o;e<=a;e++){const t=n.find(t=>t.rowIndex===e)?.data;if(t)for(const n of l){const s={value:Object.entries(t).find(e=>e[0]===n)?.at(1),columnName:n,coordinates:{rowIndex:e,colIndex:i.findIndex(e=>e.colId===n)}};r.push(s)}}}return r})(e.api);d.setSelectedCells([]),t.forEach(e=>d.addSelectedCell(e))},suppressFieldDotNotation:!0,suppressClipboardPaste:!1,suppressContextMenu:!1,columnDefs:h,getContextMenuItems:e=>g(e)}),d.wavgAggregationState?.isApplyingWavg&&Dne.jsx(Xye,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Dne.jsx(TOe,{title:"Applying Weighted Average"}),Dne.jsxs(NOe,{children:[Dne.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Dne.jsx(COe,{options:m,onChange:e=>{l?.colDef.field&&e?.value&&d.wavgAggregationState?.addWeightedColumnIdPair(l.colDef.field,e.value)},value:f,placeholder:"Choose a weighted column",darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var hki;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(hki||(hki={}));class pki{applicationStore;selectedTab=hki.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){c_(this,{selectedTab:xy,lineageData:xy,isLineageViewerOpen:xy,selectedPropertyOwnerNode:xy,selectedProperty:xy,selectedSourcePropertiesMap:xy,setSelectedTab:Ov,setLineageData:Ov,setIsLineageViewerOpen:Ov,setSelectedPropertyOwnerNode:Ov,setSelectedProperty:Ov,setSelectedSourcePropertiesMap:Ov,clearPropertySelections:Ov}),this.applicationStore=e}setSelectedTab(e){this.selectedTab=e}setLineageData(e){this.lineageData=e}setIsLineageViewerOpen(e){this.isLineageViewerOpen=e}setSelectedPropertyOwnerNode(e){this.selectedPropertyOwnerNode=e}setSelectedProperty(e){this.selectedProperty=e}setSelectedSourcePropertiesMap(e){this.selectedSourcePropertiesMap=e}clearPropertySelections(){this.selectedProperty=void 0,this.selectedPropertyOwnerNode=void 0,this.selectedSourcePropertiesMap=void 0}}class gki{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){c_(this,{isApplyingWavg:xy,weightedColumnIdPairs:xy,setIsApplyingWavg:Ov,addWeightedColumnIdPair:Ov,removeWeightedColumnIdPair:Ov}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class mki{queryBuilderState;executionPlanState;exportState=hb.create();previewLimit=1e3;pressedRunQuery=hb.create();isRunningQuery=!1;isGeneratingPlan=!1;executionResult;isExecutionResultOverflowing=!1;executionDuration;executionTraceId;latestRunHashCode;queryRunPromise=void 0;isQueryUsageViewerOpened=!1;executionError;selectedCells;mousedOverCell=null;isSelectingCells;gridConfig;wavgAggregationState;lineageState;isGeneratingLineage=!1;constructor(e){c_(this,{executionResult:xy,executionTraceId:xy,previewLimit:xy,executionDuration:xy,latestRunHashCode:xy,queryRunPromise:xy,isGeneratingPlan:xy,selectedCells:xy,mousedOverCell:xy,isRunningQuery:xy,isSelectingCells:xy,isQueryUsageViewerOpened:xy,isExecutionResultOverflowing:xy,gridConfig:xy,wavgAggregationState:xy,executionError:xy,setGridConfig:Ov,setWavgAggregationState:Ov,setIsSelectingCells:Ov,setIsRunningQuery:Ov,setExecutionResult:Ov,setExecutionTraceId:Ov,setExecutionDuration:Ov,setPreviewLimit:Ov,addSelectedCell:Ov,setSelectedCells:Ov,setMouseOverCell:Ov,setQueryRunPromise:Ov,setIsQueryUsageViewerOpened:Ov,setIsExecutionResultOverflowing:Ov,handlePreConfiguredGridConfig:Ov,updatePreviewLimitInConfig:Ov,setExecutionError:Ov,exportData:Xv,runQuery:Xv,cancelQuery:Xv,generatePlan:Xv,generateLineage:Xv}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new nki(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new pki(this.queryBuilderState.applicationStore)}setGridConfig(e){this.gridConfig=e}setWavgAggregationState(e){this.wavgAggregationState=e}setIsSelectingCells(e){this.isSelectingCells=e}setIsRunningQuery(e){this.isRunningQuery=e}setExecutionResult(e){this.executionResult=e}setExecutionTraceId(e){this.executionTraceId=e}setExecutionDuration(e){this.executionDuration=e}setPreviewLimit(e){this.previewLimit=Math.max(1,e)}addSelectedCell(e){this.selectedCells.push(e)}setSelectedCells(e){this.selectedCells=e}setMouseOverCell(e){this.mousedOverCell=e}setQueryRunPromise(e){this.queryRunPromise=e}setIsQueryUsageViewerOpened(e){this.isQueryUsageViewerOpened=e}setExecutionError(e){this.executionError=e}setIsExecutionResultOverflowing(e){this.isExecutionResultOverflowing=e}updatePreviewLimitInConfig(){this.gridConfig&&(this.gridConfig.previewLimit=this.previewLimit)}getExecutionResultLimit=()=>Math.min(this.queryBuilderState.fetchStructureState.implementation instanceof awi&&this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit?this.queryBuilderState.fetchStructureState.implementation.resultSetModifierState.limit:Number.MAX_SAFE_INTEGER,this.previewLimit);processExecutionResult=e=>{if(this.setIsExecutionResultOverflowing(!1),e instanceof NZ&&this.queryBuilderState.isQuerySupported){const t=this.getExecutionResultLimit();e.result.rows.length>t&&(this.setIsExecutionResultOverflowing(!0),e.result.rows=e.result.rows.slice(0,t))}this.setExecutionResult(e)};processWeightedColumnPairsMap(e){if(e.weightedColumnPairs){const t=e.columns.filter(e=>e.aggFunc===aki.WAVG).map(e=>e.colId),n=new Map;e.weightedColumnPairs.forEach(e=>{e[0]&&e[1]&&n.set(e[0],e[1])});for(const e of n.keys())t.includes(e)||n.delete(e);return n}}handlePreConfiguredGridConfig(e){let t;const n=this.processWeightedColumnPairsMap(e);n?(this.wavgAggregationState=new gki,this.wavgAggregationState.weightedColumnIdPairs=n,t={...e,weightedColumnPairs:n,columns:e.columns}):t={...e,columns:e.columns},e.previewLimit&&this.setPreviewLimit(e.previewLimit),this.setGridConfig(t)}getQueryGridConfig(){if(this.gridConfig)return{...this.gridConfig,columns:this.gridConfig.columns}}get checkForStaleResults(){return this.latestRunHashCode!==this.queryBuilderState.hashCode}buildExecutionRawLambda(e){let t;if(this.queryBuilderState.isQuerySupported){const n=XSi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=Q3(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return GSi(t,this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);return t}*exportData(e){try{this.exportState.inProgress(),this.queryBuilderState.applicationStore.notificationService.notifySuccess(`Export ${e} will run in background`);const t=this.queryBuilderState.fetchStructureState.implementation.getExportDataInfo(e),n=t.contentType,i=t.serializationFormat,r=this.buildExecutionRawLambda({isExportingResult:!0});Cct.logEvent_ExportQueryDataLaunched(this.queryBuilderState.applicationStore.telemetryService);const s=yield this.queryBuilderState.graphManagerState.graphManager.exportData(r,this.queryBuilderState.executionContextState.explicitMappingValue,this.queryBuilderState.executionContextState.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{serializationFormat:i,parameterValues:USi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState)},void 0,n);if("true"===s.headers.get(WQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=Z5(this.queryBuilderState.graphManagerState.graph);cct(s,`result.${Tc(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());Cct.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e),this.exportState.complete()}}*runQuery(){let e;try{this.setIsRunningQuery(!0);const t=this.queryBuilderState.hashCode;Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const n=this.buildExecutionRawLambda({withDataOverflowCheck:!0}),i=USi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);Cct.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new pb,s=Z5(this.queryBuilderState.graphManagerState.graph),o=this.queryBuilderState.executionContextState;e=this.queryBuilderState.graphManagerState.graphManager.runQuery(n,o.explicitMappingValue,o.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{parameterValues:i,convertUnsafeNumbersToString:!0,preservedResponseHeadersList:[zQ],tracingtags:{...this.queryBuilderState.sourceInfo},forceFromExpression:this.queryBuilderState.forceFromExpressionForExec}),this.setQueryRunPromise(e);const a=yield e;if(this.queryRunPromise===e){this.processExecutionResult(a.executionResult),a.executionTraceId&&this.setExecutionTraceId(a.executionTraceId),this.latestRunHashCode=t,this.setExecutionDuration(r.elapsed),s.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(r,s.timings);const e=Object.assign({},s,this.queryBuilderState.getStateInfo());Cct.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof gQ&&t.executionTraceId&&this.setExecutionTraceId(t.executionTraceId))}finally{this.setIsRunningQuery(!1),this.pressedRunQuery.complete()}}*cancelQuery(){this.pressedRunQuery.complete(),this.setIsRunningQuery(!1),this.setQueryRunPromise(void 0);try{yield this.queryBuilderState.graphManagerState.graphManager.cancelUserExecutions(!0)}catch(e){this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e)}}*generatePlan(e){try{this.isGeneratingPlan=!0,Gs(this.queryBuilderState.executionContextState.mapping,"Mapping is required to execute query"),Gs(this.queryBuilderState.executionContextState.runtimeValue,"Runtime is required to execute query");const t=this.queryBuilderState.buildQuery();let n;const i=new pb,r=Z5(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){Cct.logEvent_ExecutionPlanDebugLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=yield this.queryBuilderState.graphManagerState.graphManager.debugExecutionPlanGeneration(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);n=e.plan,this.executionPlanState.setDebugText(e.debug)}else Cct.logEvent_ExecutionPlanGenerationLaunched(this.queryBuilderState.applicationStore.telemetryService),n=yield this.queryBuilderState.graphManagerState.graphManager.generateExecutionPlan(t,s.explicitMappingValue,s.explicitRuntimeValue,this.queryBuilderState.graphManagerState.graph,{forceFromExpression:this.queryBuilderState.forceFromExpressionForExec},r);i.record();try{this.executionPlanState.setRawPlan(n);const e=this.queryBuilderState.graphManagerState.graphManager.buildExecutionPlan(n,this.queryBuilderState.graphManagerState.graph);this.executionPlanState.initialize(e)}catch{}i.record(pct.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?Cct.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):Cct.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.EXECUTION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingPlan=!1}}*generateLineage(){if(!this.isGeneratingLineage)try{this.isGeneratingLineage=!0;const e=this.buildExecutionRawLambda(),t=yield this.queryBuilderState.graphManagerState.graphManager.generateLineage(e,this.queryBuilderState.executionContextState.explicitMappingValue,void 0,this.queryBuilderState.graphManagerState.graph,void 0),n=this.queryBuilderState.graphManagerState.graphManager.buildLineage(t);this.lineageState.setLineageData(n)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class fki{queryBuilderState;rawLambda;lambdaError;constructor(e){c_(this,{rawLambda:xy,lambdaError:xy,setRawLambda:Ov,setLambdaError:Ov,hashCode:Ry}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return bg([odt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const yki="QUERY_BUILDER_FUNCTION",vki=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,_ki=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&vki(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),bki=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),Cki=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=vki(e,i),o=e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.id)?.map(e=>e.functionPath),a=t.package.children.filter(e=>e instanceof xS&&s.has(e)).map(e=>e);t.childrenIds=a.map(e=>e.path).concat(o??[]);const l=a.map(t=>_ki(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>bki(e));l.concat(c??[]).forEach(e=>{const t=n.nodes.get(e.id);t?(t.childrenIds=e.childrenIds,t.label=e.label):n.nodes.set(e.id,e)})},Ski=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=vki(t,n);if(n===xC.PROJECT_DEPENDENCY_ROOT){if(!t.functionsExplorerState.dependencyFunctionInfoMap||0===Array.from(t.functionsExplorerState.dependencyFunctionInfoMap).length)return{rootIds:i,nodes:r}}else if(!t.functionsExplorerState.functionInfoMap||0===Array.from(t.functionsExplorerState.functionInfoMap).length)return{rootIds:i,nodes:r};return e.forEach(e=>{e.children.slice().filter(e=>e instanceof xS&&s.has(e)).map(e=>e).sort((e,t)=>e.name.localeCompare(t.name)).forEach(e=>{const s=_ki(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},Eki=(e,t,n,i=xC.MAIN)=>(Cki(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(SOe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),wki=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat(wki(e.package))):[];class xki{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){c_(this,{functionAnalysisInfo:xy}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class Tki{initState=hb.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){c_(this,{functionExplorerStates:xy.ref,setFunctionExplorerStates:Ov,dependencyFunctionExplorerStates:xy.ref,setDependencyFunctionExplorerStates:Ov,treeData:xy.ref,dependencyTreeData:xy.ref,_functionGraph:xy,functionInfoMap:xy,dependencyFunctionInfoMap:xy,packagePathToFunctionInfoMap:xy,setFunctionInfoMap:Ov,setDependencyFunctionInfoMap:Ov,setTreeData:Ov,setPackagePathToFunctionInfoMap:Ov,setDependencyTreeData:Ov,refreshTree:Ov,onTreeNodeSelect:Ov,initializeTreeData:Ov}),this.queryBuilderState=e,this._functionGraph=this.queryBuilderState.graphManagerState.createNewGraph()}getTreeData(e=xC.MAIN){return e===xC.PROJECT_DEPENDENCY_ROOT?this.dependencyTreeData:this.treeData}setFunctionExplorerStates(e){this.functionExplorerStates=e}setDependencyFunctionExplorerStates(e){this.dependencyFunctionExplorerStates=e}setFunctionInfoMap(e){this.functionInfoMap=e}setDependencyFunctionInfoMap(e){this.dependencyFunctionInfoMap=e}setPackagePathToFunctionInfoMap(e){this.packagePathToFunctionInfoMap=e}async initializeDisplayablePackagesSet(){this.functionInfoMap&&Array.from(this.functionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>wki(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>Mw(this._functionGraph,e.packagePath,void 0)).map(e=>wki(e)).flat().forEach(e=>this.dependencyDisplayablePackagesSet.add(e))}setTreeData(e){this.treeData=e}setDependencyTreeData(e){this.dependencyTreeData=e}refreshTree(){this.treeData&&(this.treeData={...this.treeData}),this.dependencyTreeData&&(this.dependencyTreeData={...this.dependencyTreeData})}get nonNullableTreeData(){return Gs(this.treeData,"Query builder functions explorer tree data has not been initialized")}onTreeNodeSelect=(e,t,n,i=xC.MAIN)=>{if(t.package)if(t.childrenIds.length&&(t.isOpen=!t.isOpen,Cki(e,t,n,i)),i===xC.PROJECT_DEPENDENCY_ROOT)this.setDependencyTreeData({...n});else this.setTreeData({...n})};initializeFunctionInfoMap(){const e=new Map,t=new Map;if(sx(this.queryBuilderState.graphManagerState.graph.ownFunctions,this._functionGraph).forEach(t=>e.set(t.functionPath,t)),this.queryBuilderState.graphManagerState.graph.dependencyManager.hasDependencies){const e=this.queryBuilderState.graphManagerState.graph.dependencyManager.functions;sx(e,this._functionGraph).forEach(e=>t.set(e.functionPath,e))}const n=this.queryBuilderState.buildFunctionAnalysisInfo();n&&(Array.from(n.functionInfoMap.entries()).forEach(([t,n])=>e.set(t,n)),Array.from(n.dependencyFunctionInfoMap.entries()).forEach(([e,n])=>{t.set(e,n)}));const i=new Map;Array.from(e.values()).concat(Array.from(t.values())).forEach(e=>{const t=i.get(e.packagePath);t?i.set(e.packagePath,[...t,e]):i.set(e.packagePath,[e])}),this.setPackagePathToFunctionInfoMap(i),this.setFunctionInfoMap(e),this.setDependencyFunctionInfoMap(t)}initializeTreeData(){this.initState.isInInitialState&&(this.initState.inProgress(),this.initializeFunctionInfoMap(),this.initializeDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setTreeData(Ski([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new xki(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(Ski([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new xki(this,e)):[])}),this.initState.pass())}}class Aki extends WSi{queryBuilderState;selectedParameter;constructor(e){super(),c_(this,{parameterValuesEditorState:xy,parameterStates:xy,addParameter:Ov,removeParameter:Ov,setParameters:Ov,selectedParameter:xy,setSelectedParameter:Ov,hashCode:Gf}),this.queryBuilderState=e}get hashCode(){return bg([odt.PARAMETERS_STATE,bg(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class Nki extends GIi{getLabel(){return">"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_AFTER_DAY:Nct.GREATER_THAN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_GREATER_THAN])}}class Rki extends GIi{getLabel(){return"starts with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.STARTS_WITH,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.STARTS_WITH,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_START_WITH])}}class Iki extends Rki{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_START_WITH])}}class Dki extends GIi{getLabel(){return">="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_AFTER_DAY:Nct.GREATER_THAN_EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class kki extends GIi{getLabel(){return"<="}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_ON_OR_BEFORE_DAY:Nct.LESS_THAN_EQUAL,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class Oki extends GIi{getLabel(){return"<"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return[TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT,TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(t.path)}isCompatibleWithFilterConditionValue(e){return Jct(e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType)}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;switch(t.path){case TC.NUMBER:case TC.DECIMAL:case TC.FLOAT:case TC.INTEGER:case TC.STRICTDATE:case TC.DATETIME:case TC.DATE:return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);default:throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}}buildFilterConditionExpression(e,t){return HIi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,t)}buildFilterConditionState(e,t){return zIi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?Nct.IS_BEFORE_DAY:Nct.LESS_THAN,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_LESS_THAN])}}class Lki extends GIi{getLabel(){return"ends with"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.ENDS_WITH,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.ENDS_WITH,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_END_WITH])}}class Mki extends Lki{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_END_WITH])}}class Pki extends GIi{getLabel(){return"contains"}isCompatibleWithFilterConditionProperty(e){return gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}isCompatibleWithFilterConditionValue(e){const t=e.rightConditionValue&&!e.rightConditionValue.isCollection?e.rightConditionValue.type:void 0;return gS.STRING===t}getDefaultFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;if(t.path===TC.STRING)return xCi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);throw new Yr(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${t.path}'`)}buildFilterConditionExpression(e,t){return HIi(e,Nct.CONTAINS,t)}buildFilterConditionState(e,t){return zIi(e,t,Nct.CONTAINS,this)}get hashCode(){return bg([odt.FILTER_OPERATOR_CONTAIN])}}class Fki extends Pki{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Zct(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Xct(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return bg([odt.FILTER_OPERATOR_NOT_CONTAIN])}}var Bki;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(Bki||(Bki={}));class Vki{changeDetectionState;initialQuery;currentQuery;mode=Bki.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){c_(this,{mode:xy,initialQueryGrammarText:xy,currentQueryGrammarText:xy,setMode:Ov,generateGrammarDiff:Xv}),this.changeDetectionState=e,this.initialQuery=t,this.currentQuery=n}setMode(e){this.mode=e}*generateGrammarDiff(){try{this.initialQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.initialQuery,!0)}catch(e){Kr(e),this.initialQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}try{this.currentQueryGrammarText=yield this.changeDetectionState.querybuilderState.graphManagerState.graphManager.lambdaToPureCode(this.currentQuery,!0)}catch(e){Kr(e),this.currentQueryGrammarText="/* Failed to transform grammar text, see JSON diff instead */"}}}class Uki{querybuilderState;initState=hb.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){c_(this,{diffViewState:xy,querySnapshot:xy,hashCodeSnapshot:xy,hasChanged:Ry,initialize:Ov,showDiffViewPanel:Ov,hideDiffViewPanel:Ov}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new Vki(this,this.querySnapshot,this.querybuilderState.buildQuery())}hideDiffViewPanel(){this.diffViewState=void 0}get hasChanged(){return!!this.initState.hasCompleted&&this.querybuilderState.hashCode!==this.hashCodeSnapshot}initialize(e){this.initState.inProgress(),this.hashCodeSnapshot=this.querybuilderState.hashCode,this.querySnapshot=e,this.initState.complete()}alertUnsavedChanges(e){this.hasChanged?this.querybuilderState.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:clt.PROCEED,default:!0}]}):e()}}const Gki=e=>e instanceof ME?`${bC}${e.name}`:e instanceof FE&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof FE&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",Hki=(e,t)=>{const n=tx(e,t.graphManagerState.graph);return Dne.jsx("div",{className:Tse("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Dne.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},zki=Sse(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=Aat(),o=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=n.toSorted((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e,label:Hki(e,t)})),l=t.class?{value:t.class,label:Hki(t.class,t)}:null;return Dne.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Dne.jsx(COe,{inputId:"query-builder__setup__class-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector query-builder__setup__config-group__item__selector__milestoned",placeholder:a.length?"Choose an entity...":r??"No entity found",disabled:a.length<1||1===a.length&&Boolean(l),noMatchMessage:r,options:a,onChange:e=>{e.value!==t.class&&(t.changeClass(e.value),i?.(e.value))},value:l,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:_wi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),Wki=e=>({value:e,label:e instanceof Xj?e.packageableRuntime.value.name:"custom"}),jki=e=>function(t){if(t.value instanceof Xj){const n=t.value;return _wi(e)(ywi(n.packageableRuntime.value))}return t.value instanceof Xj?t.value.packageableRuntime.value.name:Dne.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Dne.jsx(Wie,{}),Dne.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},$ki=Sse(e=>{const{queryBuilderState:t}=e,n=Aat(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(ywi).sort(SOe),s=t.executionContextState.mapping?ywi(t.executionContextState.mapping):null,o=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new Xj(XC.create(e))).map(Wki).sort(SOe),l=t.executionContextState.runtimeValue?Wki(t.executionContextState.runtimeValue):null,c=Ske({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof Xj?e.data.value.packageableRuntime.value.path:"custom"});return Dne.jsxs("div",{className:"query-builder__setup__config-group",children:[Dne.jsx(jOe,{title:"properties"}),Dne.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Dne.jsx(COe,{inputId:"query-builder__setup__mapping-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:r.length?"Choose a mapping...":"No mapping found",disabled:t.isMappingReadOnly||!t.class,options:r,onChange:e=>{t.class&&e.value!==t.executionContextState.mapping&&!t.isMappingReadOnly&&t.changeMapping(e.value)},value:s,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:o,formatOptionLabel:_wi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Dne.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Dne.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Dne.jsx(COe,{inputId:"query-builder__setup__runtime-selector",className:"panel__content__form__section__dropdown query-builder__setup__config-group__item__selector",placeholder:a.length?"Choose a runtime...":"No runtime found",disabled:t.isRuntimeReadOnly||!t.class||!t.executionContextState.mapping,options:a,onChange:e=>{e.value===t.executionContextState.runtimeValue||t.isRuntimeReadOnly||t.changeRuntime(e.value)},value:l,darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,filterOption:c,formatOptionLabel:jki({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Dne.jsx("div",{className:"query-builder__setup__config-group__item",children:Dne.jsx(zki,{queryBuilderState:t,classes:i})})]})]})}),qki=Sse(e=>{const{queryBuilderState:t,children:n}=e,i=Aat().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Dne.jsx(Dne.Fragment,{});return Dne.jsxs("div",{className:Tse("query-builder__side-bar",t.sideBarClassName),children:[Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Dne.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Dne.jsx($ki,{queryBuilderState:t})})}),Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Dne.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class Yki{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class Kki extends Yki{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${Gki(this.getMilestoningDate(0))}, Business Date: ${Gki(this.getMilestoningDate(1))}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC)),this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){return[this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC)].filter(Vs)}processGetAllParamaters(e){Ks(3===e.length,"Can't process getAll() expression: when used with a bitemporal milestoned class getAll() expects two parameters"),this.milestoningState.setProcessingDate(e[1]),this.milestoningState.setBusinessDate(e[2])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(0),"Milestoning class should have a parameter of type 'Date'")),e.parametersValues.push(Gs(this.getMilestoningDate(1),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t),e.parametersValues.push(t)}buildGetAllVersionsInRangeParameters(e){throw new Yr("Can't build getAllVersionsInRange() function: expects root class to be business temporal or processing temporal milestoned")}generateMilestoningDate(e,t,n,i,r,s){if(this.initializeMilestoningParameters(),0===r){if(i===kC.PROCESSING_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(n,KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[1])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new JE(()=>Gs(js(s.propertyExpression.parametersValues[0],KE).parametersValues[1]));let o;return e&&n&&!t?o=new JE(()=>Gs(n.parametersValues[2])):(o=new JE(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class Xki extends Yki{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${Gki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.businessDate&&!e||this.milestoningState.setBusinessDate(this.milestoningState.buildMilestoningParameter(FC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.businessDate&&this.milestoningState.businessDate instanceof ME?this.milestoningState.businessDate.name:FC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setBusinessDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new JE(()=>Gs(n.parametersValues[1])):new JE(()=>Gs(n.parametersValues[2]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class Zki extends Yki{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${Gki(this.getMilestoningDate())}`}initializeMilestoningParameters(e){this.milestoningState.processingDate&&!e||this.milestoningState.setProcessingDate(this.milestoningState.buildMilestoningParameter(PC))}buildParameterStatesFromMilestoningParameters(){const e=this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof ME?this.milestoningState.processingDate.name:PC);return e?[e]:[]}processGetAllParamaters(e){Ks(2===e.length,"Can't process getAll() expression: when used with a milestoned class getAll() expects a parameter"),this.milestoningState.setProcessingDate(e[1])}buildGetAllParameters(e){e.parametersValues.push(Gs(this.getMilestoningDate(),"Milestoning class should have a parameter of type 'Date'"))}buildGetAllVersionsInRangeParameters(e){if(!this.milestoningState.startDate||!this.milestoningState.endDate)throw new Yr("Can't build getAllVersionsInRange() function: expected both startDate and endDate");e.parametersValues.push(this.milestoningState.startDate),e.parametersValues.push(this.milestoningState.endDate)}buildGetAllWithDefaultParameters(e){const t=CCi(Nct.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new JE(()=>Gs(n.parametersValues[1]));{const n=new JE(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class Qki{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){c_(this,{processingDate:xy,businessDate:xy,startDate:xy,endDate:xy,showMilestoningEditor:xy,setProcessingDate:Ov,setBusinessDate:Ov,setStartDate:Ov,setEndDate:Ov,setShowMilestoningEditor:Ov,clearMilestoningDates:Ov,setAllVersions:Ov,setAllVersionsInRange:Ov,initializeAllVersionsInRangeParameters:Ov,clearAllVersionsInRangeParameters:Ov,clearGetAllParameters:Ov,isAllVersionsEnabled:Ry,isAllVersionsInRangeEnabled:Ry,isMilestonedQuery:Ry,hashCode:Ry}),this.queryBuilderState=e,this.milestoningImplementations.push(new Xki(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new Zki(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new Kki(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof awi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof VCi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof zCi&&e.projectionColumnState instanceof VCi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof RSi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)}):e instanceof ASi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof JE&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==Uw(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===Act.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(Act.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(Act.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?lte(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?lte(e,this.queryBuilderState.observerContext):e}setShowMilestoningEditor(e){this.showMilestoningEditor=e}getMilestoningImplementation(e){return Gs(this.milestoningImplementations.find(t=>t.stereotype===e))}initializeQueryMilestoningParameters(e){this.getMilestoningImplementation(e).initializeMilestoningParameters(!0)}setProcessingDate(e){this.processingDate=e?lte(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?lte(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,ME).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof FE&&this.setBusinessDate(void 0),this.processingDate instanceof FE&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.startDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.startDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}if(this.endDate instanceof ME&&!this.queryBuilderState.isVariableUsed(this.endDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter===this.endDate);e&&this.queryBuilderState.parametersState.removeParameter(e)}this.setStartDate(void 0),this.setEndDate(void 0)}clearMilestoningDates(){this.setBusinessDate(void 0),this.setProcessingDate(void 0)}updateMilestoningConfiguration(){const e=this.queryBuilderState.class;if(void 0!==e){const t=Uw(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE))),n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e);if(n)return n;if(!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new HSi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new ME(e,nS.ONE,yS.create(new ES(gS.DATE)));if(!this.queryBuilderState.parametersState.parameterStates.find(t=>t.variableName===e)&&!this.queryBuilderState.constantState.constants.find(t=>t.variable.name===e)){const e=new HSi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);n&&n.setValue(t)}}getMilestoningParameterValue(e){let t=e;if(e instanceof ME){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&rdt(e,this.businessDate),n=!!this.processingDate&&rdt(e,this.processingDate),i=!!this.startDate&&rdt(e,this.startDate),r=!!this.endDate&&rdt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof ME&&(t=e.name===js(this.businessDate,ME).name),this.processingDate instanceof ME&&(t=t||e.name===js(this.processingDate,ME).name),this.startDate instanceof ME&&(t=t||e.name===js(this.startDate,ME).name),this.endDate instanceof ME&&(t=t||e.name===js(this.endDate,ME).name),t}get hashCode(){return bg([odt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var Jki;!function(e){e.COMPILE="query-builder.compile"}(Jki||(Jki={}));const eOi={[Jki.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class tOi{queryBuilderState;value;constructor(e){c_(this,{value:xy,setValue:Ov,hashCode:Ry}),this.queryBuilderState=e}getDefaultValue(){return new FE(yS.create(new ES(gS.STRING)))}setValue(e){this.value=e?lte(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&rdt(e,this.value)}get hashCode(){return bg([odt.WATERMARK_STATE,this.value??""])}}class nOi{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return bg([odt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new FE(yS.create(new ES(gS.STRING)));e.values=[this.variable.name];const t=new YE(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class iOi extends nOi{value;constructor(e,t,n){super(e,t),c_(this,{variable:xy,value:xy,setValueSpec:Ov,changeValSpecType:Ov}),this.value=lte(n,this.queryBuilderState.observerContext),lte(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=xCi(this.queryBuilderState.graphManagerState.graph,e,this.queryBuilderState.observerContext,this.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue);this.setValueSpec(t)}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e.message)}}setValueSpec(e){if(e instanceof ME)throw new qr("Can not assign a parameter to another parameter");this.value=lte(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Pct(this.variable,yS.create(new ES(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return bg([odt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class rOi extends PCi{queryBuilderState;calculatedState;convertingLambdaToStringState=hb.create();constructor(e){super("",""),c_(this,{calculatedState:xy,convertingLambdaToStringState:xy,buildEmptyValueSpec:xy}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(TCi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Bee([fct.QUERY_BUILDER,fct.CONSTANT,this.calculatedState.uuid])}*convertLambdaGrammarStringToObject(){if(this.lambdaString)try{this.convertingLambdaToStringState.inProgress();const e=yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToValueSpecification(this.fullLambdaString);this.setParserError(void 0),this.calculatedState.setValue(e)}catch(e){Kr(e),e instanceof uQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}finally{this.convertingLambdaToStringState.complete()}else this.clearErrors(),this.calculatedState.setValue(this.buildEmptyValueSpec()),this.convertingLambdaToStringState.complete()}*convertLambdaObjectToGrammarString(e){try{const t=this.calculatedState.value,n=yield this.queryBuilderState.graphManagerState.graphManager.valueSpecificationToPureCode(t,e?.pretty);this.setLambdaString(n),this.clearErrors({preserveCompilationError:e?.preserveCompilationError})}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(sw.PARSING_FAILURE),e)}}}class sOi extends nOi{value;lambdaState;constructor(e,t,n){super(e,t),c_(this,{variable:xy,lambdaState:xy,value:xy,setLambdaState:Ov,setValue:Ov}),this.value=n,this.lambdaState=new rOi(this),lte(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new LE(this.value)}}class oOi{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,c_(this,{constants:xy,showConstantPanel:xy,selectedConstant:xy,addConstant:Ov,removeConstant:Ov,setShowConstantPanel:Ov,setSelectedConstant:Ov,convertToCalculated:Ov})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){Eo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof ME&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new sOi(this.queryBuilderState,e.variable,t);Ks(So(this.constants,e,n),"Unable to convert to calculated constant")}catch(e){Kr(e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}}get hashCode(){return bg([odt.CONSTANT_STATE,bg(this.constants)])}}var aOi;!function(e){e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED="data-access-overview.chart.access-granted",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED="data-access-overview.chart.access-approved",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED="data-access-overview.chart.access-requested",e.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED="data-access-overview.chart.access-not-granted",e.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS="data-access-overview.chart.unsupported-access"}(aOi||(aOi={}));class lOi{uuid=ho();specification;entitlementReport;constructor(e){c_(this,{entitlementReport:xy,setEntitlementReport:Ov}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class cOi{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=hb.create();checkEntitlementsState=hb.create();datasets=[];constructor(e,t,n){c_(this,{datasets:xy,entitlementCheckInfo:Ry,fetchDatasetSpecifications:Xv,fetchDatasetEntitlementReports:Xv}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new lOi(e)),this.mapping=n.mapping,this.runtime=n.runtime,this.graphData=n.graphData,this.getQuery=n.getQuery}get entitlementCheckInfo(){const e=this.datasets.length;if(!e)return{total:e,data:[{label:"Access Granted",count:1,percentage:100,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof XJ).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof JJ).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof QJ).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof ZJ).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof e0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});const h=e-n-r-o-l-d,p=Math.round(h/e*100);t.data.push({label:"Unknown",count:h,percentage:p,color:this.applicationStore.layoutService.getColor(aOi.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=vo(t.data,e);if(g+n.percentage>=100){n.percentage=100-g,t.data=t.data.slice(0,e+1);break}g+=n.percentage}return t}*fetchDatasetSpecifications(){this.surveyDatasetsState.inProgress();try{const e=yield this.graphManagerState.graphManager.surveyDatasets(this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets=e.map(e=>{const t=this.datasets.find(t=>t.specification.hashCode===e.hashCode);return t||new lOi(e)})}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.surveyDatasetsState.complete()}}*fetchDatasetEntitlementReports(){this.checkEntitlementsState.inProgress();try{const e=yield this.graphManagerState.graphManager.checkDatasetEntitlements(this.datasets.map(e=>e.specification),this.mapping,this.runtime,yield this.getQuery(),this.graphData);this.datasets.forEach(t=>{const n=e.find(e=>e.dataset.hashCode===t.specification.hashCode);n?t.setEntitlementReport(n):t.setEntitlementReport(void 0)});const t=[];e.forEach(e=>{if(!this.datasets.find(t=>t.specification.hashCode===e.dataset.hashCode)){const n=new lOi(e.dataset);n.setEntitlementReport(e),t.push(n)}}),this.datasets=this.datasets.concat(t)}catch(e){Kr(e),this.applicationStore.notificationService.notifyError(e)}finally{this.checkEntitlementsState.complete()}}async intialize(){this.initialDatasets||await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}async refresh(){await this.fetchDatasetSpecifications(),await this.fetchDatasetEntitlementReports()}}class dOi{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){c_(this,{showCheckEntitlementsViewer:xy,dataAccessState:xy,setShowCheckEntitlementsViewer:Ov,hashCode:Ry}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof Xj&&(this.dataAccessState=new cOi(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState,{mapping:this.queryBuilderState.executionContextState.mapping.path,runtime:this.queryBuilderState.executionContextState.runtimeValue.packageableRuntime.value.path,getQuery:async()=>this.createExecutableQuery(this.queryBuilderState.buildQuery(),this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),graphData:this.queryBuilderState.getGraphData()}))}createExecutableQuery(e,t,n){if(t.length>0){const i=FSi(n.graph,t),r=Q3(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return bg([odt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class uOi{queryBuilderState;initState=hb.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){c_(this,{currentQuery:xy,pointer:xy,querySnapshotBuffer:xy,initialize:Ov,undo:Ov,redo:Ov,setCurrentQuery:Ov,cacheNewQuery:Ov,canRedo:Ry,canUndo:Ry}),this.queryBuilderState=e}get canRedo(){return this.pointer<this.querySnapshotBuffer.length-1}get canUndo(){return this.pointer>0}redo(){if(this.canRedo){this.pointer=this.pointer+1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}undo(){if(this.canUndo){this.pointer=this.pointer-1;const e=this.querySnapshotBuffer[this.pointer];this.setCurrentQuery(e),this.queryBuilderState.rebuildWithQuery(Gs(e),{preserveParameterValues:!0,preserveResult:!0})}}setCurrentQuery(e){this.currentQuery=e}initialize(e){this.queryBuilderState.isQuerySupported&&(this.initState.inProgress(),this.currentQuery=e,this.querySnapshotBuffer.push(e),this.pointer=this.pointer+1,this.initState.complete())}cacheNewQuery(e){try{this.queryBuilderState.isQuerySupported&&e.hashCode!==this.currentQuery?.hashCode&&(this.querySnapshotBuffer.length===this.bufferSize&&this.pointer===this.querySnapshotBuffer.length-1?this.querySnapshotBuffer=this.querySnapshotBuffer.slice(1):this.querySnapshotBuffer=this.querySnapshotBuffer.slice(0,this.pointer+1),this.querySnapshotBuffer.push(e),this.pointer=this.querySnapshotBuffer.length-1,this.setCurrentQuery(e))}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(vb.create(pct.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class hOi{static INSTANCE=new hOi}class pOi{actionConfig=hOi.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class gOi extends pOi{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new gOi}class mOi extends pOi{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new mOi}class fOi extends Dut{mapping;runtime}class yOi extends mpt{logService=new _b;graphState;queryBuilderState;selectInitialQuery;mappingPath;parameterValues;runtimePath;parameters;letFuncsRawLambda;constructor(e,t,n,i,r,s,o){super(),this.graphState=r,this.queryBuilderState=s,this.selectInitialQuery=e,this.mappingPath=n,this.runtimePath=i,this.parameterValues=t,this.parameters=e.parameters,this.letFuncsRawLambda=o}finalizeTimingRecord(e,t){if(this.queryBuilderState)return this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(e,t)}getDataFromSource(e){return e instanceof fOi?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new fOi;return n.columns=(await this.getRelationType(this.selectInitialQuery)).columns,n.mapping=this.mappingPath,n.runtime=this.runtimePath,n.query=t,n}async parseValueSpecification(e,t){return OI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(LI(e,[]),t)}async getQueryTypeahead(e,t,n){const i=this.buildRawLambdaFromValueSpec(t),r=await this.graphState.graphManager.lambdaToPureCode(i),s=r.length,o=r+e,a=o.substring(o.indexOf(vC)+1,o.length);return(await this.graphState.graphManager.getCodeComplete(a,this.graphState.graph,s)).completions}async getQueryRelationReturnType(e,t){return this.getRelationType(this.buildRawLambdaFromValueSpec(e))}async getQueryCodeRelationReturnType(e,t,n){const i=await this.graphState.graphManager.valueSpecificationToPureCode(LI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new pb,i=this.buildRawLambdaFromValueSpec(e);this.letFuncsRawLambda&&Array.isArray(i.body)&&Array.isArray(this.letFuncsRawLambda.body)&&(i.body=[...this.letFuncsRawLambda.body,...i.body]),i.parameters=this.letFuncsRawLambda?this.letFuncsRawLambda.parameters:this.parameters;const[r,s]=await Promise.all([this.graphState.graphManager.runQuery(i,void 0,void 0,this.graphState.graph,{parameterValues:this.parameterValues??[]}),this.graphState.graphManager.lambdaToPureCode(i)]),o=n.elapsed,a=js(r.executionResult,NZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=Z5(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());Cct.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof vZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof fOi){return Boolean(e.mapping??e.runtime)?Gut(exports.DataCubeFunction.FROM,[e.mapping?Wut(e.mapping):void 0,e.runtime?Wut(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(JI(LI(e,[])),_T);return new DE(t.parameters,t.body)}getSourceFunctionExpression(){let e=OI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof oA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Iut;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class vOi{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var _Oi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(_Oi||(_Oi={}));class bOi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=hb.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new WIi,new jIi,new Oki,new kki,new Nki,new Dki,new Rki,new Iki,new Pki,new Fki,new Lki,new Mki,new $Ii,new qIi,new YIi,new KIi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=_Oi.STANDARD;class;getAllFunction=Act.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){c_(this,{explorerState:xy,parametersState:xy,constantState:xy,functionsExplorerState:xy,fetchStructureState:xy,filterState:xy,watermarkState:xy,milestoningState:xy,checkEntitlementsState:xy,resultState:xy,textEditorState:xy,unsupportedQueryState:xy,showFunctionsExplorerPanel:xy,showParametersPanel:xy,isEditingWatermark:xy,isCheckingEntitlments:xy,isCalendarEnabled:xy,changeDetectionState:xy,changeHistoryState:xy,executionContextState:xy,class:xy,queryChatState:xy,isQueryChatOpened:xy,isLocalModeEnabled:xy,dataCubeViewerState:xy,getAllFunction:xy,lambdaWriteMode:xy,INTERNAL__enableInitializingDefaultSimpleExpressionValue:xy,sideBarClassName:Ry,isQuerySupported:Ry,allValidationIssues:Ry,canBuildQuery:Ry,setShowFunctionsExplorerPanel:Ov,setShowParametersPanel:Ov,setIsEditingWatermark:Ov,setIsCalendarEnabled:Ov,setDataCubeViewerState:Ov,openDataCubeEngine:Ov,setIsCheckingEntitlments:Ov,setClass:Ov,setIsQueryChatOpened:Ov,setIsLocalModeEnabled:Ov,setGetAllFunction:Ov,setLambdaWriteMode:Ov,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:Ov,TEMPORARY_initializeExecContext:Ov,resetQueryResult:Ov,resetQueryContent:Ov,changeClass:Ov,changeMapping:Ov,setExecutionContextState:Ov,setQueryChatState:Ov,rebuildWithQuery:Ov,compileQuery:Xv,hashCode:Ry}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new Qki(this),this.explorerState=new oxi(this),this.parametersState=new Aki(this),this.constantState=new oOi(this),this.functionsExplorerState=new Tki(this),this.fetchStructureState=new $xi(this),this.filterState=new DSi(this,this.filterOperators),this.watermarkState=new tOi(this),this.checkEntitlementsState=new dOi(this),this.resultState=new mki(this),this.textEditorState=new Kxi(this),this.unsupportedQueryState=new fki(this),this.observerContext=new j3(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new Uki(this),this.changeHistoryState=new uOi(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(ewi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new $Si(this);return this.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),e}return new qSi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get TEMPORARY__isDnDFetchStructureToFilterSupported(){return!0}get allVariables(){return[...this.parametersState.parameterStates.map(e=>e.parameter),...this.constantState.constants.map(e=>e.variable)]}get allVariableNames(){return this.allVariables.map(e=>e.name)}get isFetchStructureTyped(){return this.lambdaWriteMode===_Oi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new XZ,t=js(this.executionContextState.runtimeValue,Xj,"Query runtime must be of type runtime pointer");return Us(this.executionContextState.mapping,"Query required mapping to update"),e.mapping=XC.create(this.executionContextState.mapping),e.runtime=t.packageableRuntime,e}async propagateExecutionContextChange(e){const t=this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryBuilderPropagateExecutionContextChangeHelper?.()??[]);for(const n of t){const t=n(this,e);if(t)return void await t()}}getStateInfo(){if(this.sourceInfo){const e=this.class?.path,t=this.executionContextState.mapping?.path,n=this.executionContextState.runtimeValue instanceof Xj?this.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(e&&t&&n){const i={class:e,mapping:t,runtime:n};return Object.assign({},this.sourceInfo,i)}}}setIsQueryChatOpened(e){this.isQueryChatOpened=e,this.applicationStore.settingService.persistValue(ewi.SHOW_QUERY_CHAT_PANEL,e)}setIsLocalModeEnabled(e){this.isLocalModeEnabled=e}setDataCubeViewerState(e){this.dataCubeViewerState=e}setInternalize(e){this.internalizeState=e}setQueryChatState(e){this.queryChatState=e}setShowFunctionsExplorerPanel(e){this.showFunctionsExplorerPanel=e}setShowParametersPanel(e){this.showParametersPanel=e}setIsEditingWatermark(e){this.isEditingWatermark=e}setIsCheckingEntitlments(e){this.isCheckingEntitlments=e}setIsCalendarEnabled(e){this.isCalendarEnabled=e}setClass(e){this.class=e}setExecutionContextState(e){this.executionContextState=e}setGetAllFunction(e){this.getAllFunction=e}setINTERNAL__enableInitializingDefaultSimpleExpressionValue(e){this.INTERNAL__enableInitializingDefaultSimpleExpressionValue=e}get isQuerySupported(){return!this.unsupportedQueryState.rawLambda}async openDataCubeEngine(){try{Cct.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof Xj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE);const r=USi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new yOi(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new vOi(a,o)})(this))}catch(e){Kr(e),this.applicationStore.notificationService.notifyError("Unable to open data cube in query builder")}}registerCommands(){this.applicationStore.commandService.registerCommand({key:Jki.COMPILE,action:()=>{this.compileQuery().catch(this.applicationStore.alertUnhandledError)}})}isVariableUsed(e,t){const n=this.filterState.isVariableUsed(e)||this.watermarkState.isVariableUsed(e)||this.fetchStructureState.implementation.isVariableUsed(e);return t?.exculdeMilestoningState?n:this.milestoningState.isVariableUsed(e)||n}deregisterCommands(){[Jki.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new mki(this);t.setPreviewLimit(this.resultState.previewLimit),e?.preserveResult&&(t.setExecutionResult(this.resultState.executionResult),t.setExecutionDuration(this.resultState.executionDuration),t.latestRunHashCode=this.resultState.latestRunHashCode),e?.gridConfig&&(this.isLocalModeEnabled=!0,t.handlePreConfiguredGridConfig(e.gridConfig)),this.resultState=t}resetQueryContent(){this.textEditorState=new Kxi(this),this.unsupportedQueryState=new fki(this),this.milestoningState=new Qki(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new oxi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new oOi(this),this.functionsExplorerState=new Tki(this),this.parametersState=new Aki(this),this.filterState=new DSi(this,this.filterOperators),this.watermarkState=new tOi(this),this.checkEntitlementsState=new dOi(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new $xi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(Act.GET_ALL),this.setClass(e),this.explorerState.refreshTreeData(),this.fetchStructureState.implementation.onClassChange(e),this.milestoningState.updateMilestoningConfiguration(),this.changeHistoryState.cacheNewQuery(this.buildQuery())}changeMapping(e,t){this.resetQueryResult(),t?.keepQueryContent||(this.resetQueryContent(),this.setGetAllFunction(Act.GET_ALL),this.milestoningState.updateMilestoningConfiguration()),this.executionContextState.setMapping(e)}changeRuntime(e){this.resetQueryResult(),this.executionContextState.setRuntimeValue(e)}getCurrentParameterValues(){if(this.parametersState.parameterStates.length){const e=new Map;return this.parametersState.parameterStates.forEach(t=>{const n=t.value;n&&e.set(t.variableName,n)}),e}}getGridConfig(){if(this.isLocalModeEnabled&&this.resultState.gridConfig)return this.resultState.getQueryGridConfig()}buildQuery(e){if(!this.isQuerySupported){const e=this.parametersState.parameterStates.map(e=>this.graphManagerState.graphManager.serializeValueSpecification(e.parameter));return this.unsupportedQueryState.setRawLambda(new DE(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return Q3(XSi(this,{keepSourceInformation:Boolean(e?.keepSourceInformation),useTypedRelationFunctions:this.isFetchStructureTyped}),this.graphManagerState)}buildFromQuery(){Ks(this.isQuerySupported,"Query must be supported to build from function");const e=Gs(this.executionContextState.mapping,"Mapping required to build from() function"),t=Gs(this.executionContextState.runtimeValue,"Runtime required to build from query"),n=js(t,Xj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new YE(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new PE(nS.ONE,void 0);s.values=[XC.create(t)];const o=new PE(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(XSi(this),e,n.value);return Q3(i,this.graphManagerState)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof awi){return this.lambdaWriteMode===_Oi.STANDARD?this.graphManagerState.graph.getClass(xct.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(xct.RELATION)}return gS.STRING}initializeWithQuery(e,t,n){this.rebuildWithQuery(e,{defaultParameterValues:t}),this.resetQueryResult({gridConfig:n}),this.changeDetectionState.initialize(e),this.changeHistoryState.initialize(e)}rebuildWithQuery(e,t){let n;try{const i=new Map;if(t?.preserveParameterValues?(this.parametersState.parameterStates.forEach(e=>{i.set(e.parameter.name,{variable:e.parameter,value:e.value})}),n=i):t?.defaultParameterValues?.size&&(Array.from(t.defaultParameterValues.entries()).forEach(([e,t])=>{i.set(e,{variable:e,value:t})}),n=i),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),!gj(e)){const t=lte(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,QE,"Can't build query state: query builder only support lambda");OOi(Gs(i.values[0]),this,{parameterValues:n})}this.parametersState.parameterStates.filter(e=>!this.milestoningState.isMilestoningParameter(e.parameter)).length>0&&this.setShowParametersPanel(!0),this.fetchStructureState.initializeWithQuery()}catch(s){Kr(s),this.applicationStore.logService.error(vb.create(pct.UNSUPPORTED_QUERY_LAUNCH),s),this.resetQueryResult({preserveResult:t?.preserveResult}),this.resetQueryContent(),this.unsupportedQueryState.setLambdaError(s),this.unsupportedQueryState.setRawLambda(e),this.setClass(void 0);const o=(i=e,r=this.graphManagerState,(i.parameters??[]).map(e=>r.graphManager.buildValueSpecification(e,r.graph))).map(e=>lte(e,this.observerContext)).filter(zs(ME));kOi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===Yxi.TEXT){this.queryCompileState.inProgress();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.textEditorState.rawLambdaState.lambda,this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){if(Kr(e),e instanceof hQ){this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Fee(e.sourceInformation)&&this.textEditorState.setCompilationError(e)}}finally{this.queryCompileState.complete()}}}else{this.queryCompileState.inProgress(),this.fetchStructureState.implementation.clearCompilationError();try{this.textEditorState.setCompilationError(void 0),yield this.graphManagerState.graphManager.getLambdaReturnType(this.buildQuery({keepSourceInformation:!0}),this.graphManagerState.graph,{keepSourceInformation:!0}),this.applicationStore.notificationService.notifySuccess("Compiled successfully")}catch(e){Kr(e),this.applicationStore.logService.error(vb.create(sw.COMPILATION_FAILURE),e);let t=!0;e instanceof hQ&&e.sourceInformation&&(t=!this.fetchStructureState.implementation.revealCompilationError(e)),t?(this.applicationStore.notificationService.notifyWarning("Compilation failed and error cannot be located in form mode. Redirected to text mode for debugging."),this.textEditorState.openModal(Yxi.TEXT)):this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`)}finally{this.queryCompileState.complete()}}}get allValidationIssues(){return this.fetchStructureState.implementation.allValidationIssues.concat(this.filterState.allValidationIssues)}get canBuildQuery(){return!(this.filterState.hasInvalidFilterValues||this.filterState.hasInvalidDerivedPropertyParameters||this.fetchStructureState.implementation.hasInvalidFilterValues||this.fetchStructureState.implementation.hasInvalidDerivedPropertyParameters)}buildFunctionAnalysisInfo(){}getGraphData(){return new n3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new COi(this.applicationStore,this.graphManagerState,this.workflowState,void 0);return e.class=this.class,e.executionContextState.mapping=this.executionContextState.mapping,e.executionContextState.runtimeValue=this.executionContextState.runtimeValue,e}get hashCode(){return bg([odt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class COi extends bOi{}class SOi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const EOi=(e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH),Ks(2===e.parametersValues.length||3===e.parametersValues.length,"Can't process serialize() expression: serialize() expects 1 or 2 argument");const i=js(e.parametersValues[0],YE,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[Nct.GRAPH_FETCH,Nct.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof Wxi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rw,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tw,"Can't process serialize() expression: serialize() graph-fetch tree root is missing");Ks(0===r.subTypeTrees.length,"Can't process serialize() expression: subTypeTree is not supported."),n.setGraphFetchTree(Ixi(r));const s=e.parametersValues[2];if(s){const e=js(s,YE,"Can't process serialize() expression: serialize() function expects a function to configure custom serialization");Ks(lS(e.functionName,[exports.SUPPORTED_FUNCTIONS.NEW]),"Can't process serialize() expression: config expects 'new' function instaniate new config class");const t=js(n.serializationState,Hxi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],PE,"Can't process serialize() expression: serialization config expects first param to be an instance value").values[0],KC,"Can't process serialize() expression: serialization config expects first param to be a packageable element").value,wS,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===xct.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${xct.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],VE,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new Uxi;r.values.forEach((e,t)=>{const n=js(e,GE,`Can't process serialize() expression: collection instance value expects value ${t+1} to be key expression instance `);((e,t,n,i)=>{const r=js(e.key,FE,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive value`);Ks(r.genericType.value.rawType.path===TC.STRING,`Can't process serialize() expression: serialization config key expression ${i} key expected to be a primitive string value`);const s=io(r.values[0],`Can't process serialize() expression: serialization config key expression ${i} expected to be a non-nullable primitive string value`),o=Object.getOwnPropertyNames(t);Gs(o.find(e=>e===s),`Property name '${s}' not defined in serialization config, accepted properties are ${o.join(",")}`);const a=qw(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${xct.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,FE,"Can't process serialize() expression: config key expression's value expected to be a primitive instance value").values[0],"Can't process serialize() expression: config key expression's value expected to be a non nullable primitive value");switch(l.path){case TC.STRING:to(c);break;case TC.BOOLEAN:no(c);break;default:return}t[s]=c})(Gs(n.values[0],`Can't process serialize() expression: serialization config key expression ${t} expected to non null`),o,i,t)}),t.setConfig(o)}}},wOi=(e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER,Nct.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),DOi.process(i,n,t)},xOi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),wOi(e,t,n);const i=e.parametersValues[1];i instanceof VE?i.values.map(i=>DOi.processChild(i,e,n,t)):(Ws(i,YE,"Can't process project() expression: project() expects argument #1 to be a function expression"),DOi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),wOi(e,t,n);const i=e.parametersValues[1];Ws(i,VE,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>DOi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof VE?(Ws(r,VE,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(idt).filter(Vs)):(Ws(r,FE,"Can't process project() expression: project() expects argument #2 to be a collection or string"),s=[r.values[0]]),Ks(i.values.length===s.length,"Can't process project() expression: number of aliases does not match the number of columns"),t.fetchStructureState.implementation instanceof awi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},TOi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof awi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof KE;){const e=r;for(ndt(r,n.graphManagerState.graph,n),r=Gs(r.parametersValues[0]),e.func.value instanceof US&&Ks((Array.isArray(e.func.value.parameters)?e.func.value.parameters.length:0)===e.parametersValues.length-1,`Can't process property expression: derived property '${e.func.value.name}' expects number of provided arguments to match number of parameters`);r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,ME,"Can't process property expression: expects expression root to be a variable");const s=new VCi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},AOi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof awi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(JI(e.content),_T));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new GCi(r,new DE(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},NOi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof FE&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},ROi=(e,t,n)=>{const i=e.parametersValues.length;Ks(4===i||5===i,"Can't process sort() expression: olapGroupBy() expects 3 or 4 argument");const r=5===i,s=e.parametersValues[1],o=r?e.parametersValues[2]:void 0,a=r?e.parametersValues[3]:e.parametersValues[2],l=r?e.parametersValues[4]:e.parametersValues[3],c=js(e.parametersValues[0],YE,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),DOi.process(c,n,t);const d=js(t.fetchStructureState.implementation,awi);Ws(s,VE,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,FE,"Can`t process OLAP window column expression: Column should be a primitive instance value").values[0],"Can`t process OLAP window column expression: Column should be a string primitive instance value");return oSi(d,t)});let h,p;if(r){const e=js(o,YE,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,Nct.TDS_ASC))return Ict.ASC;if(lS(e,Nct.TDS_DESC))return Ict.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],FE,"Can`t process OLAP sort column : OLAP sort column should be a primitive instance value").values[0],"Can`t process OLAP sort column: OLAP sort column should be a string primitive instance value"),i=oSi(d,n);h=new kEi(i,t)}if(a instanceof YE){Ks(lS(a.functionName,[Nct.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],FE,"Can`t process OLAP opperation expression: Function `func` first parameter should be a primitive instance value").values[0],"Can`t process OLAP opperation expression: Function `func` first parameter should be a string primitive instance value"),n=oSi(d,t),i=js(js(e[1],QE).values[0],ZE);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],YE),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new MEi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,QE).values[0],ZE);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],YE),n=Gs(d.windowState.findOperator(t.functionName),`olapGroupBy() operator '${t.functionName}' not supported`);Ks(!n.isColumnAggregator(),`Operator '${n.getLabel()}' expects a TDS column to aggregate against`),p=new LEi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],ME,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,FE,"Can`t process OLAP column: OLAP column should be a primitive instance value").values[0],"Can`t process OLAP column: OLAP column should be a string primitive instance value"),m=new PEi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},IOi=e=>!(e instanceof YE)||!lS(e.functionName,Nct.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,Nct.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>IOi(e)).includes(!1);class DOi{queryBuilderState;parentExpression;parentLambda;constructor(e,t,n){this.queryBuilderState=e,this.parentExpression=n,this.parentLambda=t}static process(e,t,n){e.accept_ValueSpecificationVisitor(new DOi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new DOi(i,n,t))}visit_INTERNAL__UnknownValueSpecification(e){if(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_AGG,...Object.values(Tct)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);AOi(e,void 0,this.parentExpression,this.queryBuilderState)}visit_INTERNAL__PropagatedValue(e){throw new Yr}visit_FunctionExpression(e){throw new Yr}visit_SimpleFunctionExpression(e){const t=e.functionName;if(lS(t,Act.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);i?t.milestoningState.getMilestoningImplementation(i).processGetAllParamaters(e.parametersValues):Ks(1===e.parametersValues.length,"Can't process getAll() expression: getAll() expects no arguments")})(e,this.queryBuilderState);else if(lS(t,Act.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(Uw(n,t.graphManagerState.graph),"Can't process getAllVersions() expression: getAllVersions() expects source class to be milestoned"),Ks(1===e.parametersValues.length,"Can't process getAllVersions() expression: getAllVersions() expects no arguments"),t.setGetAllFunction(Act.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,Act.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,wS,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=Uw(n,t.graphManagerState.graph);Ks(void 0!==i&&i!==kC.BITEMPORAL,"Can't process getAllVersionsInRange() expression: getAllVersionInRange() expects source class to be processing temporal or business temporal milestoned"),Ks(3===e.parametersValues.length,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start and end date"),t.setGetAllFunction(Act.GET_ALL_VERSIONS_IN_RANGE),t.milestoningState.setStartDate(Gs(e.parametersValues[1],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects start date to be defined")),t.milestoningState.setEndDate(Gs(e.parametersValues[2],"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() expects end date to be defined"))})(e,this.queryBuilderState);else if(lS(t,Nct.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH);const n=e.functionName;Ks(3===e.parametersValues.length,`Can't process ${n}() expression: ${n}() expects 2 argument`);const i=e.parametersValues[0],r=i?.genericType?.value.rawType;Ws(r,wS,"Can't process internalize() expression: internalize() return type is missing"),t.setClass(r),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const s=js(e.parametersValues[1],PE,"Can't process internalize() expression: only support internalize() with 1st parameter as instance value"),o=js(js(s.values[0],KC,"Can't process internalize() expression: only support internalize() with 1st parameter as packagableElement value").value,gX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],ME),l=new SOi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[Nct.FILTER,Nct.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],YE,"Can't process filter() expression: only support filter() immediately following an expression");if(DOi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,Nct.FILTER),`Can't process filter() expression: only supports ${Nct.FILTER}() immediately following getAll() (got '${t}')`),void xxi(e,this.queryBuilderState);if(lS(n.functionName,[Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.OLAP_GROUPBY]))return Ks(lS(t,Nct.TDS_FILTER),`Can't process post-filter expression: only supports ${Nct.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,QE,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,awi,"Can't process post-filter lambda: post-filter lambda must use projection fetch structure"),Ks(Boolean(n.projectionColumns.length),"Can't process post-filter lambda: post-filter lambda must have at least one projection column ");const o=Gs(s.values[0],"Can't process post-filter lambda: post-filter lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process post-filter lambda: only support post-filter lambda body with 1 expression");const a=js(o.expressionSequence[0],qE,"Can't process post-filter lambda: only support post-filter lambda body of type 'FunctionExpression'");Ks(1===o.functionType.parameters.length,"Can't process post-filter lambda: only support post-filter lambda with 1 parameter"),i.setLambdaParameterName(js(o.functionType.parameters[0],ME,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),pSi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[Nct.WATERMARK]))return void xxi(e,this.queryBuilderState);throw new Yr("Can't process filter() expression: only support filter() immediately following getAll() or project()/forWatermark()/groupBy()/olapGroupBy()")}if(lS(t,Nct.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],YE,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),DOi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT]))(n=e).functionName===Nct.RELATION_PROJECT||lS(n.functionName,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jE?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],YE,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER,Nct.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jE,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),DOi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):xOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_COL))((e,t)=>{Ks(2===e.parametersValues.length,"Can't process col() func expression: col() expects 2 argument");const n=js(e.parametersValues[0],QE,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],FE,"Can't process col() func expression: the #2 argument of col() should be a string");TOi(js(n.values[0]?.expressionSequence[0],KE,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof awi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[Nct.TDS_TAKE,Nct.RELATION_LIMIT]))NOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_DISTINCT))((e,t,n)=>{Ks(1===e.parametersValues.length,"Can't process disctinct() expression: distinct() expects no parameter");const i=js(e.parametersValues[0],YE,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_SORT))((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process sort() expression: sort() expects 1 argument");const i=js(e.parametersValues[0],YE,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>DOi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[Nct.TDS_TAKE,Nct.TDS_DISTINCT,Nct.TDS_SORT,Nct.TDS_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_FILTER,Nct.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof awi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],FE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value"),r=ro(js(e.parametersValues[2],FE,"Can`t process slice() function: first param should be a primitive instance value").values[0],"Can`t process slice() function: first param should be a number primitive instance value");n.resultSetModifierState.setSlice([i,r])}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.TDS_ASC,Nct.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,r=idt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new tSi(s);e.sortType=lS(i,Nct.TDS_ASC)?Ict.ASC:Ict.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[Nct.RELATION_ASC,Nct.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_SORT)),`Can't process ${i}() expression: only support ${i}() used within a sort() expression`),Ks(1===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects one argument`),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zE);Ks(1===r.values.length,`Can't process ${i}() expression: Col Spec Instance Value expects one value`);const s=Gs(r.values[0],"Col Spec value expected in Col Spec Instance Value").name,o=t.tdsColumns.find(e=>e.columnName===s);if(o){const e=new tSi(o);e.sortType=lS(i,Nct.RELATION_ASC)?Ict.ASC:Ict.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY]))(e=>e.functionName===Nct.RELATION_GROUP_BY||lS(e.functionName,[Nct.TDS_GROUP_BY,Nct.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jE)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[Nct.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),DOi.process(i,n,t);const r=js(t.fetchStructureState.implementation,awi),s=js(e.parametersValues[1],jE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance");Ks(1===s.values.length,"Can't process groupBy() expression: groupBy() expects argument #1 to be a ColSpecArrayInstance with 1 element"),t.setLambdaWriteMode(_Oi.TYPED_FETCH_STRUCTURE),s.values[0]?.colSpecs.forEach(e=>{Ks(1===r.projectionColumns.filter(t=>t.columnName===e.name).length,`Can't process groupBy() expression: column '${e.name}' not found in project() expression`)});const o=e.parametersValues[2];Ws(o,jE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),DOi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],YE,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE,Nct.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),DOi.process(i,n,t);const r=e.parametersValues[1];Ws(r,VE,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>DOi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,VE,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>DOi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,VE,"Can't process groupBy() expression: groupBy() expects argument #3 to be a collection"),Ks(o.values.length===r.values.length+s.values.length,"Can't process groupBy() expression: number of aliases does not match the number of columns");const a=o.values.map(idt).filter(Vs);t.fetchStructureState.implementation instanceof awi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_GROUP_BY)),"Can't process agg() expression: only support agg() used within a groupBy() expression"),Ks(2===e.parametersValues.length,"Can't process agg() expression: agg() expects 2 arguments"),DOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,QE,"Can't process agg() expression: agg() expects argument #1 to be a lambda function");const o=Gs(s.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===o.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression");const a=js(o.expressionSequence[0],YE,"Can't process agg() lambda: only support agg() lambda body with 1 expression");let l;if(n.isCalendarEnabled){const t=e.parametersValues[0];Ws(t,QE,"Can't process agg() expression: agg() expects argument #0 to be a lambda function");const n=Gs(t.values[0],"Can't process agg() lambda: agg() lambda function is missing");Ks(1===n.expressionSequence.length,"Can't process agg() lambda: only support agg() lambda body with 1 expression"),l=n.expressionSequence[0]instanceof YE?n.expressionSequence[0]:void 0}Ks(1===o.functionType.parameters.length,"Can't process agg() lambda: only support agg() lambda with 1 parameter");const c=js(o.functionType.parameters[0],ME,"Can't process agg() lambda: only support agg() lambda with 1 parameter");for(const e of i.operators){const t=Xr(()=>e.buildAggregateColumnState(a,c,r));if(r.wavgWeight&&t&&t.operator instanceof IEi&&t.operator.setWeight(r.wavgWeight),t){if(i.addColumn(t),n.isCalendarEnabled&&void 0!==l)for(const e of i.calendarFunctions)Xr(()=>e.updateAggregateColumnState(Gs(l),t));return void(t.calendarFunction||t.setHideCalendarColumnState(!0))}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.OLAP_GROUPBY))ROi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.SERIALIZE))EOi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,Nct.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(iSi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],YE,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[Nct.GRAPH_FETCH,Nct.GRAPH_FETCH_CHECKED,Nct.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),DOi.process(i,n,t),t.fetchStructureState.implementation instanceof Wxi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rw,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tw,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(Ixi(s));const o=js(e.parametersValues[1],PE,"Can't process externalize() expression: only support externalize() with 1st parameter as instance value"),a=js(js(o.values[0],KC,"Can't process externalize() expression: only support externalize() with 1st parameter as packagableElement value").value,gX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new zxi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rw,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tw,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(Ixi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[Nct.GRAPH_FETCH_CHECKED,Nct.GRAPH_FETCH]))((e,t,n)=>{const i=e.functionName;Ks(2===e.parametersValues.length,`Can't process ${i}() expression: ${i}() expects 1 argument`);const r=js(e.parametersValues[0],YE,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[Nct.FILTER,Act.GET_ALL,Act.GET_ALL_VERSIONS,Act.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),DOi.process(r,n,t),t.fetchStructureState.implementation instanceof Wxi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,Nct.GRAPH_FETCH_CHECKED))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[exports.SUPPORTED_FUNCTIONS.LET]))((e,t,n)=>{const i=e.parametersValues;Ks(2===e.parametersValues.length,"Let function expected to have two parameters (left and right side value)");const r=io(js(i[0],FE,"Can`t process let function: left side should be a primitive instance value").values[0],"Can`t process let function: left side should be a string primitive instance value"),s=Gs(n.openVariables.get(r),`Unable to find variable ${r} in lambda function`),o=Gs(i[1]);let a;a=o instanceof LE?new sOi(t,s,o.content):IOi(o)?new iOi(t,s,o):new sOi(t,s,t.graphManagerState.graphManager.serializeValueSpecification(o)),t.constantState.setShowConstantPanel(!0),t.constantState.addConstant(a)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[exports.SUPPORTED_FUNCTIONS.FROM])){const t=e.parametersValues;return Ks(3===t.length,"From function expects 2 parameters (mapping and runtime)"),((e,t)=>{const n=js(e.parametersValues[1],PE,"Can't process from() expression: only support from() with 1st parameter as instance value"),i=js(js(n.values[0],KC,"Can't process from() expression: only support from() with 1st parameter as packagableElement value").value,dw,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],PE,"Can't process from() expression: only support from() with 2nd parameter as instance value"),s=js(js(r.values[0],KC,"Can't process from() expression: only support from() with 2nd parameter as packagableElement value").value,pw,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new $Si(t);o.setMapping(i),o.setRuntimeValue(new Xj(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void DOi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(Tct)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void DOi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,Nct.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,Nct.TDS_AGG)),"Can't process wavgRowMapper() expression: only support wavgRowMapper() used within an agg() expression"),Ks(2===e.parametersValues.length,"Can't process wavgRowMapper() expression: wavgRowMapper() expects 2 arguments"),e.parametersValues.map(e=>Ws(e,KE,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),DOi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof awi){const t=n.fetchStructureState.implementation;Gs(t.projectionColumns[t.projectionColumns.length-1]).setWavgWeight(e.parametersValues[1])}})(e,this.parentExpression,this.queryBuilderState,this.parentLambda)}}}visit_VariableExpression(e){throw new Yr}visit_AbstractPropertyExpression(e){if(Us(this.parentExpression,"Can't process property expression: parent expression cannot be retrieved"),!lS(this.parentExpression.functionName,[Nct.TDS_PROJECT,Nct.RELATION_PROJECT,Nct.TDS_GROUP_BY,Nct.TDS_AGG,Nct.WAVG_ROW_MAPPER,...Object.values(Tct)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);TOi(e,void 0,this.queryBuilderState)}visit_InstanceValue(e){throw new Yr}visit_KeyExpressionInstanceValue(e){throw new Yr}visit_CollectionInstanceValue(e){throw new Yr}visit_EnumValueInstanceValue(e){throw new Yr}visit_PrimitiveInstanceValue(e){throw new Yr}visit_LambdaFunctionInstanceValue(e){e.values.forEach(e=>e.expressionSequence.forEach(e=>e.accept_ValueSpecificationVisitor(new DOi(this.queryBuilderState,this.parentLambda,this.parentExpression))))}visit_GraphFetchTreeInstanceValue(e){throw new Yr}visit_ColSpecArrayInstance(e){if(Us(this.parentExpression,"Can't process col spec aray instance: parent expression cannot be retrieved"),lS(this.parentExpression.functionName,[Nct.RELATION_PROJECT])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{const t=js(e.function1,QE,"Can't process col spec: function1 not a lambda function instance value");Ks(1===t.values.length);const n=Gs(t.values[0]);Ks(1===n.expressionSequence.length);const i=Gs(n.expressionSequence[0]);i instanceof KE?TOi(i,e.name,this.queryBuilderState):i instanceof LE&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),AOi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[Nct.RELATION_GROUP_BY])){const t=e.values;return Ks(1===t.length,"Can't process col spec array instance: value expected to be of size 1"),void Gs(t[0]).colSpecs.forEach(e=>{((e,t,n)=>{Ks(Boolean(t&&lS(t.functionName,Nct.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,QE,"Can't process colSpec: function1 is not a lambda function instance value");Ks(1===i.values.length,"Can't process typed aggregation ColSpec. function1 should only have 1 lambda value."),Ks(1===Gs(i.values[0]).expressionSequence.length,"Can't process typed aggregation ColSpec. function1 lambda should only have 1 expression.");const r=js(e.function2,QE,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof awi){const i=n.fetchStructureState.implementation,s=i.aggregationState,o=Gs(i.projectionColumns.find(t=>t.columnName===e.name),`Projection column with name ${e.name} not found`),a=Gs(r.values[0],"Can't process colSpec: function2 lambda function is missing");Ks(1===a.expressionSequence.length,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),Ks(1===a.functionType.parameters.length,"Can't process colSpec function2 lambda: only support lambda with 1 parameter");const l=js(a.expressionSequence[0],YE,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],ME,"Can't process colSpec function2 lambda: parameter is missing");for(const n of s.operators){const i=Xr(()=>n.buildAggregateColumnState(l,c,o));if(o.wavgWeight&&i&&i.operator instanceof IEi&&i.operator.setWeight(o.wavgWeight),i){s.addColumn(i);const n=js(t?.genericType?.value.typeArguments?.[0]?.value.rawType,SS,"Can't process colSpec: parent groupBy() expression's return type is not a relation"),r=Gs(n.columns.find(t=>t.name===e.name),`Can't process colSpec: Can't find column '${e.name}' in parent groupBy() expression's relation return type`),o=i.getColumnType();return void(r.genericType=o?yS.create(new ES(o)):r.genericType)}}}throw new Yr("Can't process aggregate expression function: no compatible aggregate operator processer available from plugins")})(e,this.parentExpression,this.queryBuilderState)})}throw new Yr(`Can't process col spec array expression with parent expression of function ${this.parentExpression.functionName}()`)}visit_ColSpecInstance(e){throw new Error("Method not implemented.")}}const kOi=(e,t,n)=>{const i=t.parametersState;e.forEach(e=>{let r;n?.parameterValues&&Array.from(n.parameterValues.entries()).forEach(([t,n])=>{const i=n.variable;if(i instanceof ME&&Oct(i,e))r=n.value;else if(Xs(i)&&i===e.name){const t=n.value?.genericType?.value.rawType,i=e.genericType?.value.rawType;t&&i&&Zw(i,t)&&(r=n.value)}});const s=new HSi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},OOi=(e,t,n)=>{e.functionType.parameters.length&&kOi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>DOi.process(n,e,t))},LOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Dne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"date",spellCheck:!1,value:a??"",onChange:e=>{r(t,e.target.value,{primitiveTypeEnum:TC.STRICTDATE}),s(new uCi(e.target.value,sCi.ABSOLUTE_DATE))}})})},MOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Dne.jsx("input",{ref:o,className:"panel__content__form__section__input value-spec-editor__date-picker__absolute-date__input input--dark",type:"datetime-local",step:"1",spellCheck:!1,value:a??"",onChange:e=>{const n=new Date(e.target.value).getUTCSeconds()?e.target.value:`${e.target.value}:00`;r(t,n,{primitiveTypeEnum:TC.DATETIME}),s(new uCi(e.target.value,sCi.ABSOLUTE_TIME))}})})},POi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??oCi.DAYS),[u,h]=n.useState(t.direction??cCi.BEFORE),[p,g]=n.useState(t.referenceMoment??dCi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new hCi(sCi.CUSTOM_DATE,sCi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=mCi.filter(e=>e.generateDisplayLabel()===o.generateDisplayLabel());a.length>0?(o.label=Gs(a[0]?.label),o.value=Gs(a[0]?.value)):o.updateLabel(),r(o)}};return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx("input",{ref:o,className:"value-spec-editor__date-picker__custom-date__input-text-editor input--dark",spellCheck:!1,value:a,type:"number",onChange:e=>{const t=""!==e.target.value?Xr(()=>(e=>{const t=Number(e);if(isNaN(t))throw new Error(`Can't parse number '${e}'`);return t})(e.target.value))??0:0;l(t),m(t,c,u,p)}})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(oCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{d(e.value),m(a,e.value,u,p)},value:{value:c,label:c},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(cCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{h(e.value),m(a,c,e.value,p)},value:{value:u,label:u},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})}),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(dCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{g(e.value),m(a,c,u,e.value)},value:{value:p,label:p},darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})},FOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t instanceof pCi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{inputRef:o,placeholder:"Choose a unit...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(aCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(dCi).filter(t=>t.toString().includes(e)),n=t.length>0?new pCi(Gs(t[0]?.toString()),e):new pCi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},BOi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=Aat(),o=n.useRef(null),[a,l]=n.useState(t instanceof gCi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Dne.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Dne.jsx(COe,{inputRef:o,placeholder:"Choose a day...",className:"value-spec-editor__date-picker__custom-date__input-dropdown value-spec-editor__date-picker__custom-date__input-dropdown--full",options:Object.values(lCi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new gCi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},VOi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=Aat(),u=o.match?Object.values([sCi.ABSOLUTE_TIME,sCi.NOW]):Object.values(sCi),[h,p]=n.useState(bCi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(bCi(t,d))},[d,t]),Dne.jsxs(Dne.Fragment,{children:[a?Dne.jsx("span",{className:Tse("value-spec-editor__date-picker__editable__display--content editable-value",{"value-spec-editor__date-picker__editable__display--content--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:c?()=>{}:f,style:{cursor:c?"not-allowed":""},children:h.label?`"${h.label}"`:Dne.jsx(Dne.Fragment,{children:"        "})}):Dne.jsx("button",{className:Tse("value-spec-editor__date-picker__trigger",{"value-spec-editor__date-picker__trigger--error":s}),title:c?"":"Click to edit and pick from more date options",onClick:f,disabled:c,children:h.label||"Select value"}),Dne.jsxs(cCe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(bCi(t,d))}}},anchorEl:g,onClose:()=>{p(bCi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Dne.jsx(zOe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new uCi(e.target.value,e.target.value);if(sCi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![sCi.ABSOLUTE_DATE,sCi.ABSOLUTE_TIME,sCi.CUSTOM_DATE,sCi.FIRST_DAY_OF,sCi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=mCi.filter(e=>e.value===t.value);e.length>0?r(void 0,Gs(e[0])):r(void 0,t)}p(t)},row:!0,options:u,size:2}),(()=>{switch(h.value){case sCi.ABSOLUTE_DATE:return Dne.jsx(LOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sCi.ABSOLUTE_TIME:return Dne.jsx(MOi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case sCi.CUSTOM_DATE:return Dne.jsx(POi,{customDateOptionValue:_Ci(t,d),updateValueSpecification:r,setDatePickerOption:p});case sCi.FIRST_DAY_OF:return Dne.jsx(FOi,{customDateAdjustOptionValue:bCi(t,d),updateValueSpecification:r,setDatePickerOption:p});case sCi.PREVIOUS_DAY_OF_WEEK:return Dne.jsx(BOi,{customDateAdjustOptionValue:bCi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},UOi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Dne.jsx(Kbe,{arrow:!0,...void 0!==i?{placement:i}:{},classes:{tooltip:"value-spec-paramater__tooltip",arrow:"value-spec-paramater__tooltip__arrow",tooltipPlacementRight:"value-spec-paramater__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Dne.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Qw(t.multiplicity)})]})]}),children:n})},GOi="VARIABLE",HOi=Sse(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(RPe,{labelGetter:e=>e.variable.name,types:[GOi]}),Dne.jsxs("div",{className:Tse("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Dne.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Dne.jsx("div",{className:"icon",children:"C"}):Dne.jsx(Kie,{})}),Dne.jsxs("div",{className:"value-spec-editor__variable__label",children:[Dne.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Dne.jsx(UOi,{variable:t,children:Dne.jsx("div",{className:"value-spec-editor__variable__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Dne.jsx(eie,{})})]})]})]})}),zOi=Sse(n.forwardRef((e,t)=>{const{valueSpecification:n,valueSelector:i,updateValueSpecification:r,errorChecker:s,resetValue:o,handleBlur:a,handleKeyDown:l,className:c,selectorSearchConfig:d,selectorConfig:u,lightMode:h,readOnly:p}=e,g=Boolean(d),m=Aat(),f=i(n),y=f?{value:f,label:f}:null,v=d?.reloadValues,_=d?.isLoading,b=d?.values?.length?d.values.map(e=>({value:e,label:e.toString()})):void 0,C=void 0===d?.values?()=>null:void 0,S=`reset-${i(n)}`,E=`input-${i(n)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==E&&a?.()},children:[g?Dne.jsx(COe,{className:"value-spec-editor__enum-selector",options:b,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:y,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),v?.cancel();const t=v?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(v?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:_,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:E,optionCustomization:u?.optionCustomization,disabled:p}):Dne.jsx(qwe,{className:"panel__content__form__section__input value-spec-editor__input",spellCheck:!1,value:f??"",placeholder:""===f?"(empty)":void 0,onChange:e=>{r(n,e.target.value)},ref:t,error:s?.(n)?"Invalid String value":void 0,onKeyDown:l,name:E,disabled:p}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Dne.jsx(eie,{})})]})})),WOi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Dne.jsxs("div",{className:Tse("value-spec-editor",s),children:[Dne.jsx("button",{role:"checkbox",className:Tse("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Dne.jsx(Uie,{}):Dne.jsx(xre,{})}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Dne.jsx(eie,{})})]})}),jOi=Sse(n.forwardRef((e,t)=>{const{valueSpecification:i,valueSelector:r,updateValueSpecification:s,errorChecker:o,resetValue:a,handleBlur:l,handleKeyDown:c,className:d,isInteger:u,readOnly:h}=e,[p,g]=n.useState(r(i)?.toString()??""),m=n.useRef(null);n.useImperativeHandle(t,()=>m.current,[]);const f=p?u?Number.parseInt(Number(p).toString(),10):Number(p):null,y=e=>{if(e){const t=u?Number.parseInt(Number(e).toString(),10):Number(e);isNaN(t)||t===r(i)||s(i,t)}else a()},v=()=>{if(null!==f&&isNaN(f))try{const e=ro(QQn(p));y(e.toString()),g(e.toString())}catch{const e=r(i)?.toString()??"";y(e),g(e)}else null!==f?(y(f.toString()),g(f.toString())):a()};n.useEffect(()=>{if(null!==f&&!isNaN(f)&&f!==r(i)){const e=null!==r(i)?r(i).toString():"";g(e)}},[f,i,r]);const _=`reset-${r(i)}`,b=`input-${r(i)}`,C=`calculate-${r(i)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&e.relatedTarget?.name!==C&&l?.()},children:[Dne.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Dne.jsx("input",{ref:m,className:Tse("panel__content__form__section__input","value-spec-editor__input","value-spec-editor__number__input",{"value-spec-editor__number__input--error":o?.(i)}),spellCheck:!1,type:"text",inputMode:"numeric",value:p,onChange:e=>{g(e.target.value),y(e.target.value)},onBlur:v,onKeyDown:e=>{(e=>{"Enter"===e.code?(v(),m.current?.focus()):"Escape"===e.code&&m.current?.select()})(e),c?.(e)},name:b,disabled:h}),Dne.jsx("div",{className:"value-spec-editor__number__actions",children:Dne.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:C,onClick:v,disabled:h,children:Dne.jsx(lie,{})})})]}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Dne.jsx(eie,{})})]})})),$Oi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,errorChecker:r,resetValue:s,handleBlur:o,options:a,className:l,selectorConfig:c,lightMode:d,readOnly:u}=e,h=n(t),p=`reset-${n(t)}`,g=`input-${n(t)}`;return Dne.jsxs("div",{className:Tse("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Dne.jsx(COe,{className:"value-spec-editor__enum-selector",options:a,onChange:e=>{i(t,e.value),o?.()},value:h?{value:h,label:h}:null,darkMode:!d,hasError:r?.(t),placeholder:"Select value",autoFocus:!0,inputName:g,optionCustomization:c?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Dne.jsx(eie,{})})]})}),qOi=e=>0===e.length?"":((e,t)=>yp.unparse(e,t))([e.map(e=>e instanceof FE?e.values[0]:e instanceof BE?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),YOi=e=>{if(e instanceof gS)switch(e.path){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}else{if(!(e instanceof HT))throw new Error(`Cannot get placeholder for type ${e}`);switch(e.fullPath){case TC.DATE:case TC.STRICTDATE:return"yyyy-mm-dd";case TC.DATETIME:case TC.STRICTTIME:return"yyyy-mm-ddThh:mm:ss";default:return"Add"}}},KOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=Aat(),p=n.useRef(null),[g,m]=n.useState(""),[f,y]=n.useState(!1),[v,_]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),b=c===gS.STRING&&Boolean(a),C=b?a?.reloadValues:void 0,S=b?a?.cleanUpReloadValues:void 0,E=b?a?.isLoading:void 0,w=b&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=b&&E?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,N=e=>{const t=Gs(r(e));return{label:t,value:t}},R=e=>v.map(e=>e.value).includes(e),I=()=>{const e=g.trim();if(e.length){const t=i(c,e);return null===t||void 0===r(t)||R(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...v,N(e)]:v).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Dne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Dne.jsx(COe,{className:Tse("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:w,inputValue:g,isMulti:!0,menuIsOpen:b&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{_(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&y(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),y(!1),C?.cancel();const t=C?.(e);t&&t.catch(h.alertUnhandledError)}"input-blur"===t.action&&(C?.cancel(),S?.())},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||((()=>{const e=I();null!==e?(_([...v,N(e)]),m(""),C?.cancel()):g.trim().length&&y(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Sp(t);if(!n)return;const s=Pr(Pr(n).map(e=>{const t=i(c,e);return t?r(t):null}).filter(Vs)).filter(e=>!R(e));_([...v,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:v,darkMode:!d,isLoading:E,noMatchMessage:x,placeholder:YOi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(v.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Dne.jsx($ie,{})}),Dne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Dne.jsx(Sre,{})})]})}),XOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,expectedType:a,enumOptions:l,selectorConfig:c,lightMode:d,readOnly:u}=e;Gs(l,"Must pass enum options to EnumCollectionInstanceValueEditor");const[h,p]=n.useState(""),[g,m]=n.useState(!1),[f,y]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),v=l?.filter(e=>!f.some(t=>t.value===e.value)),_=`copy-${t.values[0]?r(t.values[0]):""}`,b=`input-${t.values[0]?r(t.values[0]):""}`,C=e=>f.map(e=>e.value).includes(e),S=()=>{const e=(()=>{const e=h.trim();return e.length&&!C(e)&&l?.some(t=>t.value===e)?e:null})();null!==e?(y([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},E=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Dne.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==b&&E()},children:[Dne.jsx(COe,{className:Tse("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:v,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{y(e),"select-option"===t.action?p(""):"remove-value"===t.action&&t.removedValue.value===h&&m(!1)},onInputChange:(e,t)=>{"input-change"===t.action&&(p(e),m(!1))},onKeyDown:e=>{"Enter"!==e.key&&","!==e.key||e.shiftKey||(S(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Sp(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));y([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:b,optionCustomization:c?.optionCustomization,disabled:u}),Dne.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:_,title:"Copy values to clipboard",children:Dne.jsx($ie,{})}),Dne.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:E,disabled:u,children:Dne.jsx(Sre,{})})]})}),ZOi=Sse(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,stringifyCollectionValueSpecification:o,errorChecker:a,className:l,selectorSearchConfig:c,selectorConfig:d,expectedType:u,enumOptions:h,lightMode:p,readOnly:g}=e,[m,f]=n.useState(!1),y=o(t),v=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${y.length>50?`${y.substring(0,50)}...`:y}`}`,_=()=>{m&&f(!1)};return m?Dne.jsx(Dne.Fragment,{children:Dne.jsx("div",{className:Tse("value-spec-editor",l),children:void 0!==h?Dne.jsx(XOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Dne.jsx(KOi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:_,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Dne.jsxs("div",{className:Tse("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Dne.jsx("div",{className:Tse("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:v}),Dne.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Dne.jsx(Kne,{})})]})}),QOi=()=>Dne.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),JOi=Sse(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Dne.jsxs("div",{className:Tse("value-spec-editor",l),children:[Dne.jsx(VOi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof FE&&!Kct(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Dne.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Dne.jsx(eie,{})})]})}),eLi=n.forwardRef(function(e,t){const{className:n,valueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,selectorSearchConfig:c,selectorConfig:d,isConstant:u,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,readOnly:m}=e,f=Aat(),y=e=>!Kct(e),v=e=>e instanceof YE?"":e.values[0],_=(e,t,n)=>{t instanceof hCi?a(((e,t,n)=>{const i=new YE(Nct.ADJUST);if(Uct(i,yCi(new uCi(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===cCi.BEFORE){const r=new YE(Nct.MINUS);Uct(r,SCi(t,TC.INTEGER,e.duration,n),n),Uct(i,r,n)}else Uct(i,SCi(t,TC.INTEGER,e.duration,n),n);const r=new BE(yS.create(new ES(t.getType(xct.DURATION_UNIT))));return Wct(r,[...r.values,BS.create(Gs(vCi(Gs(e.unit),t)))],n),Uct(i,r,n),Pct(i,yS.create(new ES(gS.DATE))),i})(t,r,s)):t instanceof pCi||t instanceof gCi||t instanceof uCi?a(yCi(t,r,s)):e instanceof YE?a(SCi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof PE?(zct(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&Pct(e,yS.create(new ES((e=>{switch(e){case TC.STRING:return gS.STRING;case TC.BOOLEAN:return gS.BOOLEAN;case TC.BINARY:return gS.BINARY;case TC.NUMBER:return gS.NUMBER;case TC.INTEGER:return gS.INTEGER;case TC.FLOAT:return gS.FLOAT;case TC.DECIMAL:return gS.DECIMAL;case TC.DATE:return gS.DATE;case TC.STRICTDATE:return gS.STRICTDATE;case TC.DATETIME:return gS.DATETIME;case TC.STRICTTIME:return gS.STRICTTIME;case TC.LATESTDATE:return gS.LATESTDATE;case TC.BYTE:return gS.BYTE;default:throw new Error(`Unable to get PrimitiveType class for type ${e}`)}})(Gs(n?.primitiveTypeEnum))))),a(e)):n?.primitiveTypeEnum===TC.LATESTDATE&&a(SCi(r,TC.LATESTDATE,t,s))};if(i instanceof FE){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{zct(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Dne.jsx(zOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Dne.jsx(WOi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,className:n,resetValue:l,readOnly:m});case TC.NUMBER:case TC.FLOAT:case TC.DECIMAL:case TC.BINARY:case TC.BYTE:case TC.INTEGER:return Dne.jsx(jOi,{valueSpecification:i,valueSelector:r,isInteger:e.path===TC.INTEGER,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Dne.jsx(JOi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof FE&&y(e),readOnly:m});default:return Dne.jsx(QOi,{})}}else{if(i instanceof BE){const e=js(i.genericType?.value.rawType,RS),t=e.values.map(e=>({label:e.name,value:e.name}));return Dne.jsx($Oi,{valueSpecification:i,valueSelector:e=>void 0===e.values[0]?null:e.values[0].value.name,options:t,className:n,resetValue:l,updateValueSpecification:(t,n)=>{const i=Gs(e.values.find(e=>e.name===n),`Unable to find enum value ${n} in enumeration ${e.name}`);zct(t,BS.create(i),0,s),a(t)},errorChecker:e=>!Kct(e),handleBlur:h,selectorConfig:d,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof VE&&i.genericType){const e=(e,t)=>{Wct(e,t,s),a(e)},t=(e,t)=>{if(e instanceof RS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new BE(yS.create(new ES(e)));return Wct(t,[BS.create(n)],s),lte(t,s)}}else{const n=RCi(js(e,iS),t,s);if(n)return lte(n,s)}return null},r=o.expectedType instanceof RS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Dne.jsx(ZOi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>qOi(e.values),errorChecker:y,convertValueSpecificationToText:e=>NCi(e,f,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:f.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof ME)return Dne.jsx(HOi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof JE)return Dne.jsx(eLi,{valueSpecification:i.getValue(),graph:r,observerContext:s,typeCheckOption:o,setValueSpecification:a,resetValue:l,handleBlur:h,handleKeyDown:p,displayDateEditorAsEditableValue:g,selectorSearchConfig:c,selectorConfig:d,readOnly:m});if(i instanceof YE){if(Xw(o.expectedType,gS.DATE))return IOi(i)?Dne.jsx(JOi,{valueSpecification:i,valueSelector:v,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Dne.jsx(QOi,{});if(Xw(o.expectedType,gS.NUMBER)&&lS(i.functionName,Nct.MINUS)){const e=sdt(i,s);if(e instanceof FE&&Xw(e.genericType.value.rawType,gS.NUMBER))return Dne.jsx(jOi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{zct(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Dne.jsx(QOi,{})}),tLi=Sse(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h}=e,p=Aat(),[g,m]=n.useState(u??!1),f=n.useRef(null);n.useEffect(()=>{g&&f.current?.focus()},[g,f]);const y=t instanceof FE&&!Xw(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof BE,v=g||!y,_=NCi(t,p,{omitEnumOwnerName:!0});return v?Dne.jsx(eLi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:f,handleBlur:()=>m(!1),handleKeyDown:e=>{"Enter"===e.key&&m(!1)},displayDateEditorAsEditableValue:!0,readOnly:h}):Dne.jsx("div",{className:"value-spec-editor__editable__display",children:Dne.jsx("span",{className:Tse("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof PE&&!Kct(t)}),onClick:h?()=>{}:()=>{m(!0)},style:{cursor:h?"not-allowed":""},children:`"${void 0!==_?_:""}"`})})}),nLi=(e,t)=>{if(e instanceof YE){const n=bCi(e,t.applicationStore).label;if(n)return n}return NCi(e,t.applicationStore)},iLi=Sse(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Dne.jsxs(OOe,{ref:t,children:[i?.map(e=>Dne.jsx(LOe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Dne.jsx(LOe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Dne.jsx(LOe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),rLi=Sse(e=>{const{variable:t,value:i,actions:r,isReadOnly:s,queryBuilderState:o,extraContextMenuActions:a,option:l}=e,c=o.isVariableUsed(t),[d,u]=n.useState(!1),h=Boolean(i),p=i?.val?nLi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),y=o.milestoningState.getMilestoningParameterValue(t),v=f&&y?nLi(y,o):void 0,_=s||c,b=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,E]=KMe(()=>({type:GOi,item:{variable:t}}),[t]),w=n.useRef(null);return S(w),NPe(E),Dne.jsx("div",{className:"query-builder__variables__variable",ref:w,children:Dne.jsxs(BOe,{content:Dne.jsx(iLi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Tse("query-builder__variables__variable__context-menu",{"query-builder__variables__variable--selected-from-context-menu":d}),menuProps:{elevation:7},onOpen:()=>u(!0),onClose:()=>u(!1),children:[Dne.jsx(RPe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[GOi]}),Dne.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Dne.jsx("div",{className:"query-builder__variables__variable__icon",children:Dne.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Dne.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Dne.jsx(Kie,{})})}),Dne.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Dne.jsxs("div",{className:Tse("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Dne.jsx(Oie,{title:"Calculated Constant"})]}):Dne.jsxs("div",{className:"query-builder__variables__variable__type",children:[Dne.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Dne.jsx("div",{className:"query-builder__constants__value",children:v})]})]})]})]}),r&&Dne.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Dne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Dne.jsx(Kne,{})}),Dne.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:_,title:b,children:Dne.jsx(Are,{})}),Dne.jsx(UOi,{variable:t,children:Dne.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Dne.jsx(cre,{})})})]})]})})}),sLi=Sse(e=>{const{queryBuilderState:t,filterBy:n}=e,i=t.parametersState.parameterStates.filter(e=>!n||n(e.parameter)),r=t.constantState.constants.filter(e=>!n||n(e.variable));return Dne.jsxs(Dne.Fragment,{children:[Dne.jsxs(iLe,{title:"Available parameters",children:[0===i.length&&Dne.jsx(Dne.Fragment,{children:" No available parameters "}),i.map(e=>Dne.jsx(rLi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Dne.jsx(iLe,{title:"Available constants",children:r.map(e=>Dne.jsx(rLi,{variable:e.variable,value:{val:e instanceof iOi?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),oLi=Sse(e=>{const{derivedPropertyExpressionState:t,variable:i,idx:r}=e,s=t.queryBuilderState.graphManagerState.graph,o=Gs(t.parameters[r]?.genericType).value.rawType,a=n.useCallback(e=>{Vct(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=ePe(()=>({accept:[GOi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Zw(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof KE&&kct(e,d)&&e.func.value.genericType.value.rawType instanceof wS&&d.applicationStore.alertService.setActionAlertInfo({message:"You have just changed a milestoning date in the property expression chain, this date will be propagated down the rest of the chain. Do you want to proceed? Otherwise, you can choose to propagate the default milestoning dates instead.",type:llt.CAUTION,actions:[{label:"Proceed",type:clt.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:clt.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=Uw(js(e.func.value.genericType.value.rawType,wS),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof JE&&!Lct(t,i,n.getValue(),d.milestoningState)){const n=new JE(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Vct(js(e,KE),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Dne.jsxs("div",{className:"panel__content__form__section",children:[Dne.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Dne.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Dne.jsx("div",{className:"query-builder__variable-editor",children:Dne.jsx(wPe,{isDragOver:l,dropTargetConnector:c,children:Dne.jsx(eLi,{valueSpecification:h,setValueSpecification:e=>{Vct(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{Vct(t.propertyExpression,Mct(t,r)??kCi(i,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,t.queryBuilderState.observerContext),r+1,t.queryBuilderState.observerContext);const e=t.propertyExpressionState.derivedPropertyExpressionStates,n=e.indexOf(t);u(n+1<e.length?e[n+1]?.propertyExpression:void 0)},isConstant:d.constantState.isValueSpecConstant(h)})})}),Dne.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),aLi=Sse(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Dne.jsxs("div",{className:"query-builder-property-editor__section",children:[Dne.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Dne.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Dne.jsx(oLi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),lLi=Sse(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Dne.jsx(Xye,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Dne.jsxs(wOe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Dne.jsx(TOe,{title:"Derived Property"}),Dne.jsxs(NOe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Dne.jsx(aLi,{derivedPropertyExpressionState:e},e.path)),Dne.jsx(NOe,{className:"query-builder__variables__modal__body",children:Dne.jsx(sLi,{queryBuilderState:t.queryBuilderState,filterBy:e=>((e,t)=>Boolean(t.find(t=>{const n=e.genericType?.value.rawType;return!!n&&t.parameters.some(e=>e.genericType&&(Zw(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{text:"Done",onClick:i})})]})})}),cLi=Sse(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Dne.jsx("div",{className:"query-builder__property__name__display",title:n,children:Dne.jsx("span",{className:Tse("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),dLi=Sse(e=>{const{columnName:t,setColumnName:i,error:r,title:s,defaultColumnName:o}=e,[a,l]=n.useState(!1),[c,d]=n.useState(t),u=n.useRef(null);n.useEffect(()=>{a&&u.current?.focus()},[a,u]);const h=()=>{const e=c.trim();e.length>0?(i?.(e),d(e)):(i?.(o),d(o)),l(!1)};return a?Dne.jsx("div",{className:"query-builder__property__name__editor",children:Dne.jsx(qwe,{className:"query-builder__property__name__editor__input input-group__input",spellCheck:!1,value:c,onChange:e=>d(e.target.value),onKeyDown:e=>{"Enter"===e.key&&h()},onBlur:h,ref:u,draggable:!0,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}})}):Dne.jsx(cLi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),uLi=Sse(e=>{const{columnName:t,propertyExpressionState:n,setColumnName:i,error:r}=e,s=n.propertyExpression.func.value.genericType.value.rawType,o=Boolean(n.derivedPropertyExpressionStates.length),a=n.isValid;return Dne.jsx("div",{className:"query-builder-property-expression-badge",children:Dne.jsxs("div",{className:Tse("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof wS,"query-builder-property-expression-badge__content--enumeration":s instanceof RS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Dne.jsx(dLi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:ICi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Dne.jsxs("button",{className:Tse("query-builder-property-expression-badge__action",{"query-builder-property-expression-badge__action--error":!a}),tabIndex:-1,onClick:()=>{o&&n.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!a&&Dne.jsx(cre,{})," (...)"]}),Dne.jsx(lLi,{propertyExpressionState:n})]})})}),hLi=e=>{const{issues:t}=e;if(!t)return null;const n=(i="issue",((e,t)=>e<=0?`no ${t}s`:e>1?`${e} ${t}s`:`1 ${t}`)(t.length,i));var i;return Dne.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Dne.jsx(Tre,{className:"query-builder-panel-issue-count-badge__icon"}),Dne.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},pLi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Dne.jsx(Xne,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Dne.jsx(Nre,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Dne.jsx(lre,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Dne.jsx(zie,{className:"query-builder-column-badge__icon"})}else if(e instanceof RS)return Dne.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},gLi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof zCi||e instanceof PEi)return nS.ONE;if(e instanceof VCi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Dne.jsx(Kbe,{arrow:!0,...void 0!==n?{placement:n}:{},classes:{tooltip:"query-builder__tooltip",arrow:"query-builder__tooltip__arrow",tooltipPlacementRight:"query-builder__tooltip--right"},slotProps:{transition:{timeout:0}},title:Dne.jsxs("div",{className:"query-builder__tooltip__content",children:[Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Dne.jsxs("div",{className:"query-builder__tooltip__item",children:[Dne.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Dne.jsx("div",{className:"query-builder__tooltip__item__value",children:Qw(s)})]})]}),children:i})},mLi=(e,t)=>{switch(t){case FCi:return e.columnState.getColumnType();case $wi.ENUM_PROPERTY:case $wi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case GOi:return e.variable.genericType?.value.rawType;case DEi:return e.columnState.getColumnType();default:return}},fLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi],yLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],vLi=[vSi.CONDITION,$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi],_Li=[vSi.CONDITION,$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY],bLi=[$wi.ENUM_PROPERTY,$wi.PRIMITIVE_PROPERTY,FCi,GOi],CLi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof KE||r instanceof YE&&lS(r.functionName,Nct.SUBTYPE);){let e;r instanceof YE?e=new YE(sS(Nct.SUBTYPE)):(e=new KE(""),e.func=r.func),e.parametersValues=r.parametersValues.length>1?r.parametersValues.slice(1):[],i.push(e),r=Gs(r.parametersValues[0])}let s,o=[],a=[js(r,ME)],l=0;for(let e=i.length-1;e>=0;--e){const n=i[e];n.parametersValues.unshift(a[a.length-1]),a[a.length-1]=n,n instanceof KE&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(yo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new ME(o[l],nS.ONE)),l++)}if(n)if(n instanceof ASi){const e=a.findIndex(e=>e instanceof KE&&e.func.value===n.propertyExpressionState.propertyExpression.func.value&&e.func.ownerReference.value.path===n.propertyExpressionState.propertyExpression.func.ownerReference.value.path);e>=0&&(s=n,a=a.slice(e+1),o=o.slice(e+1))}else{let e=n,i=n.parentId;for(;i&&!(e instanceof ASi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof ASi){const i=a.findIndex(t=>t instanceof KE&&e instanceof ASi&&t.func.value===js(e,ASi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof RSi?t.newGroupConditionFromNode(n):n instanceof TSi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof RSi?t.newGroupConditionFromNode(n):n instanceof TSi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new ASi(t,s?.id);n.setPropertyExpression(a[e]),n.lambdaParameterName=o[e],t.nodes.set(n.id,n),t.addNodeFromNode(n,s),s=n}const c=new ESi(t,a[a.length-1]),d=new RSi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof ISi&&t.removeNodeAndPruneBranch(n)},SLi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof ASi&&r.push(i.propertyExpressionState.propertyExpression),i=e.getParentNode(i);i?.id===t.id&&r.push(t.propertyExpressionState.propertyExpression),r=r.reverse();const s=Gs(r[0]);r=r.slice(1);let o=new KE("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof KE||n instanceof YE&&lS(n.functionName,Nct.SUBTYPE);){if(n instanceof YE){const e=new YE(sS(Nct.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof KE){const e=new KE("");e.func=n.func,e.parametersValues=n.parametersValues.length>1?n.parametersValues.slice(1):[],t.push(e)}n=Gs(n.parametersValues[0])}Ks(t.length>0,"Can't process exists() expression: exists() usage with non-chain property expression is not supported");for(let e=0;e<t.length-1;++e)t[e].parametersValues.unshift(t[e+1]);t[t.length-1].parametersValues.unshift(o),o=js(t[0],KE,"Can't process exists() expression: can't flatten to a property expression")}return js(OSi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),KE)},ELi=(e,t,n)=>{if(_Si(e)){const i=ICi(e,t.queryBuilderState.explorerState.humanizePropertyName);t.queryBuilderState.applicationStore.alertService.setActionAlertInfo({message:`The property '${i}' is a collection. As you are trying to filter on a collection, the filter created will be an exist filter. e.g. There exists at least one '${i}' where 'Type' is the value specified.\n If you are looking to create the filter where all values in this collection equal the value specified, rather than at least one value, consider creating post filter instead.`,type:llt.CAUTION,actions:[{label:"Cancel",type:clt.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:clt.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>CLi(e,t,n))}]})}else{const i=new ESi(t,e),r=new RSi(void 0,i);r.setIsNewlyAdded(!0);let s,o=n,a=n?.parentId;for(;a;)o=t.nodes.get(a),a=o?.parentId,o instanceof ASi&&(s=o);if(o instanceof ASi&&(s=o),n instanceof TSi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof ISi)s?t.queryBuilderState.applicationStore.notificationService.notifyError("Can't drag and drop here: property expression of target and source doesn't match"):t.replaceBlankNodeWithNode(r,n);else if(s&&n instanceof ASi)t.newGroupConditionFromNode(s,r);else if(n instanceof RSi){const e=t.getParentNode(n);if(s&&e instanceof ASi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,lSi.AND);else if(s&&e instanceof TSi){const i=SLi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);CLi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},wLi=Sse(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===lSi.AND?"AND":"OR";return Dne.jsx("div",{className:"dnd__entry__container",children:Dne.jsx(APe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Dne.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===lSi.AND?lSi.OR:lSi.AND)},children:Dne.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),xLi=Sse(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Dne.jsx("div",{className:"dnd__entry__container",children:Dne.jsx(APe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Dne.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Dne.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:ICi(t.propertyExpressionState.propertyExpression,n)}),Dne.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Dne.jsxs("button",{className:Tse("query-builder-filter-tree__exists-node__exists--label__action",{"query-builder-filter-tree__exists-node__exists--label__action--error":!o}),tabIndex:-1,onClick:()=>{s&&t.propertyExpressionState.setIsEditingDerivedProperty(!0)},title:"Set Derived Property Argument(s)...",children:[!o&&Dne.jsx(cre,{})," (...)"]}),Dne.jsx(lLi,{propertyExpressionState:t.propertyExpressionState})]})})})}),TLi=Sse(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Dne.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Dne.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Dne.jsx("div",{className:Tse("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof wS,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof RS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:pLi(i)}),Dne.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Dne.jsx(uLi,{propertyExpressionState:t.propertyExpressionState})}),Dne.jsx(gwi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Dne.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Dne.jsx(cre,{})})}),Dne.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Dne.jsx(eie,{})})]})})}),ALi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof $Ii)&&!(n instanceof qIi)&&Jct(e,i)},NLi=Sse(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=Aat(),l=NSi(t),c=n.useCallback((e,n)=>{const i=mLi(e,n);if(void 0!==i&&ALi(i,t.condition))try{if((n===FCi||n===$wi.ENUM_PROPERTY||n===$wi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===FCi){const n=e.columnState;if(!(n instanceof VCi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(_Si(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new LCi(s,wCi(e,s.observerContext)))}}else if(n===$wi.ENUM_PROPERTY||n===$wi.PRIMITIVE_PROPERTY){const n=e.node,i=new LCi(s,Jwi(n,t.condition.filterState.queryBuilderState.explorerState));if(_Si(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===GOi){const n=e.variable;t.condition.buildRightConditionValueFromValueSpec(n)}else a.notificationService.notifyWarning(`Dragging and Dropping ${n} to filter panel is not supported.`)}catch(e){return Kr(e),void a.notificationService.notifyWarning(e.message)}else{const e=t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;a.notificationService.notifyWarning(`Incompatible parameter type ${i?.name}. ${i?.name} is not compatible with type ${e.name}.`)}},[a,s,l,t.condition]),[{isFilterValueDragOver:d},u]=ePe(()=>({accept:bLi,canDrop:(e,n)=>ALi(mLi(e,n.getItemType()),t.condition),drop:(e,t)=>{t.didDrop()||c(e,t.getItemType())},collect:e=>({isFilterValueDragOver:e.isOver({shallow:!0})&&e.canDrop()})}),[c]),h=n.useRef(null);u(h);const{isFilterValueDroppable:p}=XMe(e=>({isFilterValueDroppable:e.isDragging()&&bLi.includes(e.getItemType()?.toString()??"")&&ALi(mLi(e.getItem(),e.getItemType()),t.condition)})),g=()=>{t.condition.buildRightConditionValueFromValueSpec(t.condition.operator.getDefaultFilterConditionValue(t.condition))},m=e=>{t.condition.buildRightConditionValueFromValueSpec(e)},f=n.useMemo(()=>gi(e=>{const n=RCi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),y={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Dne.jsx("div",{className:"dnd__entry__container","data-testid":fwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Dne.jsx(APe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Dne.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Dne.jsx(uLi,{propertyExpressionState:t.condition.propertyExpressionState})}),Dne.jsxs(VOe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Dne.jsx(OOe,{children:t.condition.operators.map(e=>{return Dne.jsx(LOe,{className:"query-builder-filter-tree__condition-node__operator__dropdown__option",onClick:(n=e,()=>t.condition.changeOperator(n)),children:e.getLabel()},e.uuid);var n})}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:[Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Dne.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Dne.jsx(Mie,{})})]}),o instanceof CSi&&o.value?Dne.jsx("div",{ref:h,"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Dne.jsx(APe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Dne.jsx(tLi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:y,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof SSi?Dne.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Dne.jsx(APe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Dne.jsx(TLi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),RLi=Sse(e=>{const{isDragOver:t,isDroppable:n}=e;return Dne.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Dne.jsx(APe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Dne.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),ILi=Sse(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Dne.jsxs(OOe,{ref:t,children:[i instanceof TSi&&Dne.jsx(LOe,{onClick:()=>{r.addNodeFromNode(new ISi(void 0),i)},children:"Add New Condition"}),i instanceof TSi&&Dne.jsx(LOe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof RSi&&Dne.jsx(LOe,{onClick:()=>{Cct.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Dne.jsx(LOe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),DLi=Sse(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=Aat(),d=s.filterState,u=n.useCallback((e,n)=>{if(vSi.CONDITION===n){const n=e.node,i=new RSi(void 0,d.nodes.get(n.id).condition);t instanceof ISi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof RSi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof TSi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===FCi){if(!(e.columnState instanceof VCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=wCi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=Jwi(e.node,d.queryBuilderState.explorerState);i=new ESi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof xSi||t instanceof RSi||t instanceof ISi)&&ELi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=ePe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?vLi:_Li,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=KMe(()=>({type:t instanceof TSi?vSi.GROUP_CONDITION:t instanceof RSi?vSi.CONDITION:vSi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof RSi||t instanceof ISi}),[t,d]);m(g(o)),NPe(f);const{isDroppable:y}=XMe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?vLi:_Li).includes(e.getItemType()?.toString()??"")})),v=t instanceof ASi&&0===t.childrenIds.length,_=t instanceof RSi||t instanceof ISi||v;return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Tse("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof TSi,"query-builder-filter-tree__node__container--condition":t instanceof RSi||t instanceof ISi,"query-builder-filter-tree__node__container--exists":t instanceof ASi,"query-builder-filter-tree__node__container--exists--empty":v,"query-builder-filter-tree__node__container--no-hover":d.isRearrangingConditions,"query-builder-filter-tree__node__container--selected":t===d.selectedNode,"query-builder-filter-tree__node__container--selected-from-context-menu":a}),children:Dne.jsxs(BOe,{content:Dne.jsx(ILi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof RSi||t instanceof ISi?()=>i?.(t):void 0,children:[t instanceof TSi&&Dne.jsx(wLi,{node:t,isDroppable:y,isDragOver:h}),t instanceof ASi&&Dne.jsx(xLi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:y,isDragOver:h}),t instanceof RSi&&Dne.jsx(NLi,{node:t,isDragOver:p}),t instanceof ISi&&Dne.jsx(RLi,{node:t,isDragOver:h,isDroppable:y})]}),_&&Dne.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Dne.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Dne.jsx(Are,{})})})]})})}),kLi=Sse(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Tse("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof TSi,"query-builder-filter-tree__node__block--exists":t instanceof ASi}),children:[Dne.jsx(DLi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Dne.jsx(kLi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),OLi=Sse(e=>{const{queryBuilderState:t}=e,n=t.filterState,i=n.rootIds.map(e=>n.getNode(e)),r=e=>{n.setSelectedNode(n.selectedNode!==e?e:void 0)},s=e=>e instanceof xSi?e.childrenIds.map(e=>n.getNode(e)):[];return Dne.jsx("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Dne.jsx(kLi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),LLi=Sse(e=>{const{queryBuilderState:t}=e,i=Aat(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof TSi),{isDroppable:a}=XMe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?fLi:yLi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===FCi){if(!(e.columnState instanceof VCi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=wCi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=Jwi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),ELi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=ePe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?fLi:yLi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Dne.jsxs("div",{"data-testid":fwi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Dne.jsxs("div",{className:"panel__header",children:[Dne.jsxs("div",{className:"panel__header__title",children:[Dne.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Dne.jsx(hLi,{issues:r.allValidationIssues})]}),Dne.jsx("div",{className:"panel__header__actions",children:Dne.jsx(VOe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Dne.jsxs(OOe,{children:[Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new ISi(void 0),r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(vre,{})}),Dne.jsx(FOe,{children:"Create Condition"})]}),Dne.jsxs(LOe,{disabled:!(r.selectedNode instanceof RSi),onClick:()=>{Cct.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof RSi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(Gre,{})}),Dne.jsx(FOe,{children:"Create Group From Condition"})]}),Dne.jsxs(LOe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{Cct.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Dne.jsx(POe,{children:Dne.jsx(mre,{})}),Dne.jsx(FOe,{children:"Create Logical Group"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Rre,{})}),Dne.jsx(FOe,{children:"Cleanup Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Gie,{})}),Dne.jsx(FOe,{children:"Simplify Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Dne.jsx(POe,{children:Dne.jsx(jie,{})}),Dne.jsx(FOe,{children:"Collapse Tree"})]}),Dne.jsxs(LOe,{onClick:()=>{Cct.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Dne.jsx(POe,{children:Dne.jsx(Jie,{})}),Dne.jsx(FOe,{children:"Expand Tree"})]})]}),children:Dne.jsx(Zne,{className:"query-builder__icon__more-options"})})})]}),Dne.jsx(KOe,{children:Dne.jsxs(wPe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Dne.jsx(oLe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Dne.jsxs(Dne.Fragment,{children:[Dne.jsx(RPe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(vSi)}),Dne.jsx(OLi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Dne.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Dne.jsx(APe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Dne.jsx(Dne.Fragment,{})})})]})})]})}),MLi=Sse(e=>{const{resultState:t}=e,i=Aat(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Dne.jsx(Xye,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Dne.jsxs(wOe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Dne.jsx(TOe,{title:"Query Usage"}),Dne.jsx(NOe,{className:"query-builder__usage-viewer__body",children:Dne.jsxs(Dne.Fragment,{children:[0===r.length?Dne.jsx(rLe,{children:"Query usage is not available"}):Dne.jsxs(Dne.Fragment,{children:[Dne.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Dne.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Dne.jsxs("button",{className:Tse("query-builder__usage-viewer__tab",{"query-builder__usage-viewer__tab--active":s===e.key}),tabIndex:-1,onClick:()=>o(e.key),children:[void 0!==e.icon&&Dne.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Dne.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Dne.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Dne.jsx(QOe,{})]})}),Dne.jsx(ROe,{children:Dne.jsx(DOe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var PLi;function FLi(e){if("string"==typeof e||"number"==typeof e)return""+e;let t="";if(Array.isArray(e))for(let n,i=0;i<e.length;i++)""!==(n=FLi(e[i]))&&(t+=(t&&" ")+n);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}!function(e){e.QUESTION_HOW_TO_ADD_PARAMETERS_TO_QUERY="question.how-to-add-parameters-to-query",e.QUESTION_HOW_TO_ADD_CONSTANTS_TO_QUERY="question.how-to-add-constants-to-query",e.QUESTION_HOW_TO_USE_LOCAL_GRID_MODE="question.how-to-use-local-grid-mode",e.TUTORIAL_QUERY_BUILDER="tutorial.query.builder",e.FREQUENTLY_ASKED_QUESTIONS="frequently.asked.questions",e.SUPPORT_TICKETS_LINK="support.tickets.link"}(PLi||(PLi={}));var BLi,VLi={exports:{}},ULi={};var GLi,HLi,zLi={};
902
902
  /**
903
903
  * @license React
904
904
  * use-sync-external-store-shim/with-selector.development.js