@finos/legend-vscode-extension-dependencies 4.0.249 → 4.0.250
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 Ocn=Object.defineProperty,Lcn=Object.getOwnPropertyDescriptor,Mcn=Object.get
|
|
|
898
898
|
.${JKn.BLUR}:hover {
|
|
899
899
|
filter: none;
|
|
900
900
|
}
|
|
901
|
-
`})}),ALi=xoe(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 Lie.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:[Lie.jsx(fTe,{className:"text-lg"}),Lie.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),RLi=xoe(e=>{const{view:t}=e,n=XOi(),i=t.grid;return Lie.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)&&Lie.jsx(ALi,{view:t}),Lie.jsx("div",{}),Lie.jsxs("div",{className:"flex h-full items-center",children:[Lie.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&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Lie.jsx(STe,{className:"stroke-[3px]"}),Lie.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Lie.jsx(dSe,{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:yxe("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:yxe("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}),Lie.jsx("div",{className:yxe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Lie.jsx(dSe,{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:yxe("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:yxe("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...":""}),Lie.jsxs("div",{className:yxe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Lie.jsx(ZOi,{})]})]})]})]})]})}),NLi=xoe(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")}),Lie.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Lie.jsx(emi,{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=wLi)},modules:[Gpi,Lki],...d4n(t)})})}),ILi=xoe(e=>{const{view:t}=e,n=t.grid.configuration;return Lie.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Lie.jsx(TLi,{configuration:n}),Lie.jsx(NLi,{view:t}),Lie.jsx(RLi,{view:t})]})}),DLi=xoe(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case mgt.MULTIDIMENSIONAL:return Lie.jsx(SLi,{view:t});case mgt.STANDARD:return Lie.jsx(ILi,{view:t});default:return Lie.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),kLi=xoe(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Lie.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Lie.jsxs("div",{className:"flex",children:[Lie.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(Jpt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:ygt.STATUS_BAR})},disabled:!t,children:[Lie.jsx(oTe,{className:"text-xl"}),Lie.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Lie.jsx("div",{className:"flex",children:Lie.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(Jpt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:ygt.STATUS_BAR})},disabled:!t||qgt(t.info.configuration.gridMode),children:[Lie.jsx(uTe,{className:"text-lg"}),Lie.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Lie.jsx("div",{className:"flex items-center px-2",children:Lie.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"):yo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Lie.jsx(d_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),OLi=xoe(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=RFe(),[c,d]=n.useState([...r??[]]);return Lie.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Lie.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Lie.jsx(Hxe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Lie.jsx("div",{className:"truncate",children:i})]}),Lie.jsxs("div",{className:"flex w-full flex-auto",children:[t,Lie.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(bLi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Lie.jsx(nTe,{})}),Lie.jsx(NFe,{...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)?Lie.jsx(IFe,{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===bLi.SEPARATOR?Lie.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),LLi=e=>{const{message:t,prompt:n}=e;return Lie.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Lie.jsx("div",{className:"mr-3",children:Lie.jsx(Axe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Lie.jsxs("div",{children:[Lie.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Lie.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},MLi=xoe(e=>{const{children:t,taskManager:n}=e;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Lie.jsx(kLi,{taskManager:n})]})}),PLi=xoe(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Lie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":Qpt.PLACEHOLDER,children:[Lie.jsx(OLi,{title:n,menuItems:i,children:r??null}),Lie.jsx(MLi,{taskManager:o,children:t}),s?Lie.jsx(yLi,{layout:s}):null,Lie.jsx(ZIn,{})]})}),FLi=xoe(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Lie.jsx(MLi,{children:Lie.jsx(LLi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(DLi,{view:t}),Lie.jsx(kLi,{view:t})]})}),BLi=xoe(()=>{const e=XOi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(Jpt.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]),Lie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Lie.jsx(OLi,{title:t.info.name,menuItems:[{label:vgt.UNDO,action:()=>{e.view.snapshotService.undo(),i(vgt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:vgt.REDO,action:()=>{e.view.snapshotService.redo(),i(vgt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:vgt.SETTINGS,action:()=>{e.settingService.display.open(),i(vgt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Lie.jsx(FLi,{view:t}),Lie.jsx(yLi,{layout:e.layoutService.manager}),Lie.jsx(ZIn,{})]})}),VLi=xoe(e=>{const{specification:t,engine:i,options:r}=e,s=Aoe(()=>new qOi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Lie.jsx(KOi,{value:s,children:Lie.jsx(BLi,{},s.uuid)}):Lie.jsx(PLi,{title:Sgt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Lie.jsx(LLi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ULi,GLi,HLi,zLi,WLi,jLi;!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"}(ULi||(ULi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(GLi||(GLi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(HLi||(HLi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(zLi||(zLi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(WLi||(WLi={})),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"}(jLi||(jLi={}));class $Li{label;value;constructor(e,t){this.label=e,this.value=t}}class qLi extends $Li{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 YLi extends $Li{unit;constructor(e,t){super(e,ULi.FIRST_DAY_OF),this.unit=t}}class KLi extends $Li{day;constructor(e,t){super(e,ULi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const XLi=[new qLi("Yesterday",ULi.YESTERDAY,1,GLi.DAYS,WLi.BEFORE,jLi.TODAY),new qLi("One Week Ago",ULi.ONE_WEEK_AGO,1,GLi.WEEKS,WLi.BEFORE,jLi.TODAY),new qLi("One Month Ago",ULi.ONE_MONTH_AGO,1,GLi.MONTHS,WLi.BEFORE,jLi.TODAY),new qLi("One Year Ago",ULi.ONE_YEAR_AGO,1,GLi.YEARS,WLi.BEFORE,jLi.TODAY)],ZLi=e=>Object.values(bpt).find(t=>lS(e,t)),QLi=(e,t,n)=>{if(e instanceof KLi){const i=new Yw(bpt.PREVIOUS_DAY_OF_WEEK);Apt(i,vS.create(new wS(gS.DATE)));const r=new Bw(vS.create(new wS(t.getType(fpt.DAY_OF_WEEK))));return Mpt(r,[...r.values,BS.create(Gs(t.getEnumeration(fpt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Dpt(i,r,n),i}if(e instanceof YLi)switch(e.unit){case HLi.YEAR:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_YEAR);return Apt(e,vS.create(new wS(gS.DATE))),e}case HLi.QUARTER:{const e=new Yw(bpt.FIRST_DAY_OF_QUARTER);return Apt(e,vS.create(new wS(gS.STRICTDATE))),e}case HLi.MONTH:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_MONTH);return Apt(e,vS.create(new wS(gS.DATE))),e}case HLi.WEEK:{const e=new Yw(bpt.FIRST_DAY_OF_WEEK);return Apt(e,vS.create(new wS(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 ULi.TODAY:return nMi(bpt.TODAY,gS.STRICTDATE);case ULi.NOW:return nMi(bpt.NOW,gS.DATETIME);case jLi.FIRST_DAY_OF_THIS_YEAR:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_YEAR);return Apt(e,vS.create(new wS(gS.DATE))),e}case jLi.FIRST_DAY_OF_QUARTER:{const e=new Yw(bpt.FIRST_DAY_OF_QUARTER);return Apt(e,vS.create(new wS(gS.STRICTDATE))),e}case jLi.FIRST_DAY_OF_MONTH:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_MONTH);return Apt(e,vS.create(new wS(gS.DATE))),e}case jLi.FIRST_DAY_OF_WEEK:{const e=new Yw(bpt.FIRST_DAY_OF_WEEK);return Apt(e,vS.create(new wS(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},JLi=(e,t)=>{const n=t.getEnumeration(fpt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(GLi).filter(t=>GLi[t]===e)[0])[0];return i??Gs(n.values[0])},eMi=(e,t)=>{if(e instanceof Yw&&lS(e.functionName,bpt.ADJUST)||e instanceof bA&&lS(e.function,bpt.ADJUST))try{const t=new qLi("",ULi.CUSTOM_DATE,(e=>{if(e instanceof Yw){const t=e.parametersValues[1];return t instanceof Fw?t.values[0]:t instanceof Yw&&lS(t.functionName,bpt.MINUS)&&t.parametersValues[0]instanceof Fw?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof wA?t.value:t instanceof bA&&lS(t.function,bpt.MINUS)&&t.parameters[0]instanceof wA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof Yw?Object.keys(GLi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>GLi[e])[0]:Object.values(GLi).filter(t=>t===js(e.parameters[2],JA).property)[0]))(e),(n=e)instanceof Yw?n.parametersValues[1]instanceof Yw&&lS(n.parametersValues[1].functionName,bpt.MINUS)?WLi.BEFORE:WLi.AFTER:n.parameters[1]instanceof bA&&lS(n.parameters[1].function,bpt.MINUS)?WLi.BEFORE:WLi.AFTER,(e=>{const t=e instanceof Yw?e.parametersValues[0].functionName:e.parameters[0].function;switch(ZLi(t)){case bpt.TODAY:return jLi.TODAY;case bpt.NOW:return jLi.NOW;case bpt.FIRST_DAY_OF_THIS_YEAR:return jLi.FIRST_DAY_OF_THIS_YEAR;case bpt.FIRST_DAY_OF_QUARTER:return jLi.FIRST_DAY_OF_QUARTER;case bpt.FIRST_DAY_OF_THIS_MONTH:return jLi.FIRST_DAY_OF_MONTH;case bpt.FIRST_DAY_OF_WEEK:return jLi.FIRST_DAY_OF_WEEK;case bpt.PREVIOUS_DAY_OF_WEEK:return jLi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=XLi.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 qLi("","",0,void 0,void 0,void 0)},tMi=(e,t)=>{if(!(e instanceof Yw||e instanceof bA)){if(e instanceof Fw)return e.genericType.value.rawType.path===TC.LATESTDATE?new $Li(ULi.LATEST_DATE,ULi.LATEST_DATE):new $Li(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?ULi.ABSOLUTE_TIME:ULi.ABSOLUTE_DATE);if(e instanceof IA)return new $Li(ULi.LATEST_DATE,ULi.LATEST_DATE);if(e instanceof RA)return new $Li(e.value,ULi.ABSOLUTE_DATE);if(e instanceof AA)return new $Li(e.value,ULi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof Yw?e.functionName:e.function;switch(ZLi(n)){case bpt.TODAY:return new $Li(ULi.TODAY,ULi.TODAY);case bpt.NOW:return new $Li(ULi.NOW,ULi.NOW);case bpt.FIRST_DAY_OF_THIS_YEAR:return new YLi(jLi.FIRST_DAY_OF_THIS_YEAR,HLi.YEAR);case bpt.FIRST_DAY_OF_QUARTER:return new YLi(jLi.FIRST_DAY_OF_QUARTER,HLi.QUARTER);case bpt.FIRST_DAY_OF_THIS_MONTH:return new YLi(jLi.FIRST_DAY_OF_MONTH,HLi.MONTH);case bpt.FIRST_DAY_OF_WEEK:return new YLi(jLi.FIRST_DAY_OF_WEEK,HLi.WEEK);case bpt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof Yw?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],JA).property;return new KLi(`Previous ${n}`,n);case bpt.ADJUST:return eMi(e,t);default:return new $Li("","")}}},nMi=(e,t)=>{const n=new Yw(e);return Apt(n,vS.create(new wS(t))),n},iMi=(e,t,n,i)=>{const r=new Fw(vS.create(new wS(e.getPrimitiveType(t))));return Mpt(r,[n],i),r},rMi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},sMi=(e,t)=>{const n=new Kw(e.functionName);return kpt(n,zS.create(Gs(e.func.value))),Npt(n,e.parametersValues.map(e=>rMi(e)),t),n},oMi=(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 iMi(e,r,i?jpt(r):null,n);case TC.BOOLEAN:return iMi(e,r,jpt(r),n);case TC.DATE:return iMi(e,TC.STRICTDATE,i?jpt(r):null,n);default:if(t instanceof NS){const e=new Bw(vS.create(new wS(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);Mpt(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},aMi=(e,t)=>t8(((e,t)=>{const n=new Zw(new Xw(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=oMi(e,gS.STRING,t,!0),n})(e.graph,t),e),lMi=(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 Vw(s,vS.create(new wS(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?nMi(bpt.NOW,gS.DATETIME):i===TC.STRICTDATE?nMi(bpt.TODAY,gS.STRICTDATE):i===TC.DATE?iMi(t,TC.STRICTDATE,jpt(i),n):iMi(t,i,jpt(i),n)})(r,t,n);if(r instanceof NS){const e=new Bw(vS.create(new wS(r))),t=(o=r,(new u_).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Mpt(e,[BS.create(vx(r,t))],n),e}var o},cMi=(e,t,n)=>{if(e instanceof Fw)return Tx(e.genericType.value.rawType,gS.DATE)?tMi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof Bw){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof Mw?e.name:e instanceof Jw?cMi(e.getValue(),t,n):e instanceof Yw?void 0!==e.genericType?.value.rawType&&Tx(e.genericType.value.rawType,gS.DATE)?tMi(e,t).label:e.functionName:e instanceof Vw?e.values.map(e=>cMi(e,t,n)).join(","):void 0},dMi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new Fw(vS.create(new wS(e))),Mpt(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 Fw(vS.create(new wS(e))),Mpt(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new Fw(vS.create(new wS(e))),Mpt(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 Fw(vS.create(new wS(e))),Mpt(i,[t],n);break;default:return null}return i},uMi=(e,t)=>{const n=t?qv:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof Kw;){for(r=r.parametersValues[0];r instanceof Yw&&lS(r.functionName,bpt.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof Pw)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof Kw&&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?"/":".")},hMi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof Kw;)n=n.parametersValues[0],n instanceof Kw&&t.unshift(n.func.value.name);return t.join(".")},pMi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof NS)return r===gS.LATESTDATE?new Fw(vS.create(new wS(r))):oMi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new Vw(nS.ZERO,vS.create(new wS(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class gMi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=hMi(t),this.title=uMi(t,!0),this.propertyExpression=$te(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),Mw))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Tpt(e,i)??Gs(t[i]):t.push(Tpt(e,i)??pMi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Npt(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 Pw)||Upt(e))}}class mMi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){Hh(this,{isEditingDerivedPropertyExpression:ru,derivedPropertyExpressionStates:ru,setIsEditingDerivedProperty:hh,initDerivedPropertyExpressionStates:hh,isValid:lu,hashCode:lu}),this.queryBuilderState=e,this.propertyExpression=$te(t,e.observerContext),this.path=hMi(t),this.title=uMi(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 Kw;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof ES&&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&&kpt(n,zS.create(t))}if(n.func.value instanceof US){const e=new gMi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return $y([Zpt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class fMi{uuid=ho()}class vMi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){Hh(this,{lambdaString:ru,parserError:ru,compilationError:ru,typeAheadEnabled:ru,lambdaId:lu,fullLambdaString:lu,setLambdaString:hh,setTypeAhead:hh,clearErrors:hh,setCompilationError:hh,setParserError:hh,convertLambdaGrammarStringToObject:Nh,convertLambdaObjectToGrammarString:Nh}),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 CQ(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 s1)}}const yMi="PROJECTION_COLUMN";class bMi extends fMi{tdsState;columnName;wavgWeight;constructor(e,t){super(),Hh(this,{uuid:!1,tdsState:!1,columnName:ru,wavgWeight:ru,setColumnName:hh,setWavgWeight:hh,hashCode:lu}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class _Mi extends bMi{lambdaParameterName=ppt;propertyExpressionState;constructor(e,t,n){super(e,""),Hh(this,{lambdaParameterName:ru,propertyExpressionState:ru,setLambdaParameterName:hh,changeProperty:hh}),this.propertyExpressionState=new mMi(e.queryBuilderState,t),this.columnName=uMi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Kpt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new mMi(this.tdsState.queryBuilderState,LBi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=uMi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return $y([Zpt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class CMi extends vMi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Gte([apt.QUERY_BUILDER,apt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=dj();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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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 Dw(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(y_.create(sE.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class SMi extends bMi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=h_.create();constructor(e,t){super(e,"(derivation)"),Hh(this,{lambda:ru,returnType:ru,fetchingLambdaReturnTypeState:ru,setLambda:hh,fetchDerivationLambdaReturnType:Nh,setLambdaReturnType:hh}),this.derivationLambdaEditorState=new CMi(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(y_.create(sE.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 kw(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 Dw([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof NS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return $y([Zpt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class wMi{uuid=ho();constructor(){Hh(this,{getOperator:lu,allValidationIssues:lu,hashCode:lu})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof _Mi?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 EMi extends fMi{aggregationState;projectionColumnState;lambdaParameterName=ppt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),Hh(this,{projectionColumnState:ru,lambdaParameterName:ru,calendarFunction:ru,hideCalendarColumnState:ru,operator:ru,setHideCalendarColumnState:hh,setColumnState:hh,setLambdaParameterName:hh,setOperator:hh,setCalendarFunction:hh,handleUsedPostFilterType:hh,hashCode:lu}),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 SMi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return $y([Zpt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class xMi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){Hh(this,{columns:ru,removeColumn:hh,addColumn:hh,changeColumnAggregateOperator:hh,disableCalendar:hh,allValidationIssues:lu,hashCode:lu}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){wo(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 EMi(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 $y([Zpt.AGGREGATION_STATE,$y(this.columns)])}}const TMi=(e,t,n)=>{const i=new Yw(sS(e));return i.parametersValues.push(new Mw(t,nS.ONE)),i},AMi=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new EMi(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],Mw,`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 RMi extends wMi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_AVERAGE])}}class NMi extends wMi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){return TMi(bpt.COUNT,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_COUNT])}}class IMi extends wMi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){const i=new Yw(sS(bpt.DISTINCT));i.parametersValues.push(new Mw(t,nS.ONE));const r=new Yw(sS(bpt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.COUNT)){const i=new EMi(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],Yw,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,bpt.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],Mw,"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 $y([Zpt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class DMi extends wMi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?bpt.DATE_MAX:bpt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof _Mi){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,bpt.MAX))return;return AMi(n,t,e,bpt.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,bpt.DATE_MAX))return;return AMi(n,t,e,bpt.DATE_MAX,this);default:return}}return lS(e.functionName,bpt.MAX)?AMi(n,t,e,bpt.MAX,this):lS(e.functionName,bpt.DATE_MAX)?AMi(n,t,e,bpt.DATE_MAX,this):void 0}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_MAX])}}class kMi extends wMi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?bpt.DATE_MIN:bpt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof _Mi){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,bpt.MIN))return;return AMi(n,t,e,bpt.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,bpt.DATE_MIN))return;return AMi(n,t,e,bpt.DATE_MIN,this);default:return}}return lS(e.functionName,bpt.MIN)?AMi(n,t,e,bpt.MIN,this):lS(e.functionName,bpt.DATE_MIN)?AMi(n,t,e,bpt.DATE_MIN,this):void 0}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_MIN])}}class OMi extends wMi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class LMi extends wMi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class MMi extends wMi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.SUM,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.SUM,this)}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_SUM])}}class PMi{columnState;sortType=Cpt.ASC;constructor(e){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh,hashCode:lu}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $y([Zpt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class FMi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){Hh(this,{showModal:ru,limit:ru,distinct:ru,sortColumns:ru,slice:ru.ref,setShowModal:hh,setLimit:hh,setDistinct:hh,setSortColumns:hh,addSortColumn:hh,updateSortColumns:hh,setSlice:hh,reset:hh,hashCode:lu}),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 $y([Zpt.RESULT_SET_MODIFIER_STATE,$y(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var BMi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(BMi||(BMi={}));class VMi{queryBuilderState;fetchStructureState;constructor(e,t){Hh(this,{usedExplorerTreePropertyNodeIDs:lu,fetchStructureValidationIssues:lu,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class UMi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const GMi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),HMi=e=>{if(e instanceof NS)return _pt.GET_ENUM;switch(e.path){case TC.STRING:return _pt.GET_STRING;case TC.NUMBER:return _pt.GET_NUMBER;case TC.INTEGER:return _pt.GET_INTEGER;case TC.FLOAT:return _pt.GET_FLOAT;case TC.DECIMAL:return _pt.GET_DECIMAL;case TC.DATE:return _pt.GET_DATE;case TC.DATETIME:return _pt.GET_DATETIME;case TC.STRICTDATE:return _pt.GET_STRICTDATE;case TC.BOOLEAN:return _pt.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var zMi;!function(e){e.AND="and",e.OR="or"}(zMi||(zMi={}));const WMi=e=>{switch(e){case zMi.AND:return bpt.AND;case zMi.OR:return bpt.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},jMi=e=>{if(lS(e,bpt.AND))return zMi.AND;if(lS(e,bpt.OR))return zMi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},$Mi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(_pt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(_pt).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,Fw,"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=GMi(n,o);if(r!==_pt.IS_NULL&&r!==_pt.IS_NOT_NULL){if(a instanceof SMi){const e=BPi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof EMi&&a.projectionColumnState instanceof SMi){const e=BPi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(HMi(e)===r,`Can't process TDS column expression: expected column type ${HMi(e)} (got ${r})`)}return a},qMi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof Kw&&t.func.value.name===s){const n=$Mi(t,e);return r=new $Pi(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 Kw)o=$Mi(s,e);else{if(!(s instanceof qw))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=GMi(e.tdsState,t)}}const a=t.parametersValues[1];r=new $Pi(e,o,i),((e,t)=>{if(e instanceof Kw){const n=Xr(()=>$Mi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new jPi(t,n))}const n=e?Xpt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new WPi(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},YMi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[bpt.AND,bpt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new GPi(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 UPi(n,jMi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>YMi(js(e,qw,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},KMi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?RK(r.expressionSequence[0]):void 0,o=new Mw(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 qw(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new Kw("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=HMi(e)}e.func=zS.create(Gs(Sx(n.getClass(fpt.TDS_ROW)).find(e=>e.name===r)));const a=new Fw(vS.create(new wS(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},XMi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=KMi(e,e.leftConditionValue,r,t,i);if(n){const t=new Yw(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class ZMi extends UMi{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 oMi(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 XMi(e,this,bpt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.STARTS_WITH,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_START_WITH])}}class QMi extends ZMi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var JMi;!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"}(JMi||(JMi={}));const ePi=e=>{let t=e;for(;t instanceof Kw;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof Yw&&lS(t.functionName,bpt.SUBTYPE);)t=t.parametersValues[0]}return!1};class tPi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $y([Zpt.FILTER_CONDITION_RIGHT_VALUE])}}class nPi extends tPi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof Vw?Vpt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?Bpt(this.value):void 0}setValue(e){return this.value=e?une(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof Vw}get hashCode(){return $y([Zpt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class iPi extends tPi{propertyExpressionState;constructor(e,t){super(e),Hh(this,{propertyExpressionState:ru,changePropertyExpressionState:hh}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return ePi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class rPi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=h_.create();constructor(e,t,n){Hh(this,{propertyExpressionState:ru,operator:ru,rightConditionValue:ru,existsLambdaParamNames:ru,typeaheadSearchResults:ru,changeOperator:hh,setOperator:hh,setRightConditionValue:hh,addExistsLambdaParamNames:hh,buildRightConditionValueFromValueSpec:hh,buildRightConditionValueFromPropertyExpressionState:hh,handleTypeaheadSearch:Nh,operators:lu,hashCode:lu}),this.filterState=e,this.propertyExpressionState=new mMi(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,nPi),n=e??t.value;if(PPi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(LPi(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=MPi(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 Vw&&this.rightConditionValue instanceof nPi&&this.rightConditionValue.value instanceof Pw&&Upt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Mpt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof Pw&&this.rightConditionValue instanceof nPi&&this.rightConditionValue.value instanceof Vw&&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 nPi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new nPi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof iPi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new iPi(this,e))}get hashCode(){return $y([Zpt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class sPi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class oPi extends sPi{childrenIds=[];lambdaParameterName;constructor(e){super(e),Hh(this,{childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(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 aPi extends oPi{groupOperation;constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return $y([Zpt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class lPi extends oPi{filterState;propertyExpressionState;constructor(e,t){super(t),Hh(this,{propertyExpressionState:ru,setPropertyExpression:hh}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new mMi(this.filterState.queryBuilderState,e)}get hashCode(){return $y([Zpt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const cPi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof lPi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class dPi extends sPi{condition;isNewlyAdded;constructor(e,t){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return $y([Zpt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class uPi extends sPi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $y([Zpt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class hPi{queryBuilderState;lambdaParameterName=ppt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){Hh(this,{rootIds:ru,nodes:ru,selectedNode:ru,isRearrangingConditions:ru,lambdaParameterName:ru,showPanel:ru,setLambdaParameterName:hh,setRearrangingConditions:hh,setSelectedNode:hh,addNodeFromNode:hh,replaceBlankNodeWithNode:hh,addGroupConditionNodeFromNode:hh,newGroupConditionFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,setShowPanel:hh,expandTree:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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),oPi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof aPi)t.addChildNode(e);else if(t instanceof dPi||t instanceof uPi||t instanceof lPi){const n=new aPi(void 0,zMi.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 aPi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof lPi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new aPi(void 0,zMi.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 dPi||t instanceof uPi){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 aPi(void 0,zMi.AND),n=new uPi(void 0),i=new uPi(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 aPi(void 0,n??zMi.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):(wo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new uPi(void 0);if(t instanceof dPi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new aPi(void 0,zMi.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 oPi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(aPi)).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):wo(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 aPi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(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 uPi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(aPi)).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 uPi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof dPi});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(aPi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof aPi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),aPi);[...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(dPi)).map(e=>e.condition.rightConditionValue instanceof nPi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>Kpt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof dPi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof dPi&&e.condition.rightConditionValue instanceof nPi&&e.condition.rightConditionValue.value instanceof Pw&&!Upt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof dPi&&e.condition.rightConditionValue instanceof iPi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof dPi&&(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 iPi&&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 $y([Zpt.FILTER_STATE,$y(this.rootIds),$y(Array.from(this.nodes.values()))])}}const pPi=e=>e.getValue()instanceof Jw?pPi(js(e.getValue(),Jw)):e.getValue(),gPi=(e,t,n,i,r)=>{const s=new Kw("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof Kw;){if(o=a.parametersValues[0],o instanceof Kw){const e=new Kw("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Ipt(a,e,0,t.observerContext)}if(a instanceof Kw&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof ES&&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&&(kpt(a,zS.create(n)),Npt(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof Jw&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof Jw&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=pPi(t):e.parametersValues=[Gs(js(a,Kw).parametersValues[0])]:e.parametersValues[n+1]=pPi(t))})}for(a=o;a instanceof Yw&&lS(a.functionName,bpt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof Mw&&Opt(a,n),s},mPi=(e,t)=>{if(t instanceof dPi){const n=t.parentId?js(e.nodes.get(t.parentId),oPi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof aPi){const n=new Yw(sS(WMi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>mPi(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 Yw(sS(WMi(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 lPi){const n=new Yw(sS(bpt.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),oPi):void 0;for(;i&&!(i instanceof aPi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),oPi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),oPi).lambdaParameterName:void 0,s=Gs(gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>mPi(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 Yw(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=$pt(t.lambdaParameterName??ppt,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new Yw(sS(WMi(Gs(i).groupOperation)));l.parametersValues=a;const c=$pt(t.lambdaParameterName??ppt,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var fPi,vPi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(fPi||(fPi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(vPi||(vPi={}));const yPi=(e,t)=>{const n=new Zw(new Xw(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new Yw(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new Fw(vS.create(new wS(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},bPi=e=>e.value instanceof Yw&&[nS.ONE,nS.ZERO_ONE].some(t=>Ix(t,e.parameter.multiplicity)),_Pi=e=>e.filter(bPi),CPi=(e,t)=>e.filter(e=>!bPi(e)).map(e=>{const n=new XY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),SPi=(e,t,n)=>{const i=((e,t)=>{const n=_Pi(e);if(n.length>0){const i=yPi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),t8(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class wPi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){Hh(this,{value:ru,setValue:hh,mockParameterValue:hh,hashCode:lu}),this.observerContext=t,this.parameter=zte(e),this.graph=n}get hashCode(){return $y([vPi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(lMi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof Mw)throw new qr("Can not assign a parameter to another parameter");this.value=e?une(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Apt(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;Ix(n,t)||(Rpt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class EPi{showModal=!1;submitAction;constructor(){Hh(this,{showModal:ru,submitAction:ru,setShowModal:hh,open:hh,setSubmitAction:hh})}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 xPi{parameterStates=[];parameterValuesEditorState=new EPi;constructor(){Hh(this,{hashCode:lu})}get hashCode(){return $y([vPi.LAMBDA_PARAMETERS_STATE,$y(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class TPi{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 APi extends TPi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class RPi extends TPi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}}const NPi=(e,t)=>{const n=new Yw(sS(ypt.GET_ALL)),i=new Pw(t,vS.create(new wS(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},IPi=(e,t)=>{const n=new Yw(sS(ypt.GET_ALL_VERSIONS)),i=new Pw(t,vS.create(new wS(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},DPi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new Zw(new Xw(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=fx(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=IPi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case ypt.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=IPi(n,nS.ONE);i.expressionSequence[0]=e}break;case ypt.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 Yw(sS(ypt.GET_ALL_VERSIONS_IN_RANGE)),i=new Pw(t,vS.create(new wS(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 ypt.GET_ALL:{const t=NPi(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 Yw(sS(bpt.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=>mPi(e,t)).filter(Vs);if(!n.length)return;const i=new Yw(sS(bpt.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push($pt(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.buildExecutionContextExpression(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=_Pi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=yPi(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},kPi=(e,t,n)=>{const i=new Kw("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof Kw;){if(r=s.parametersValues[0],r instanceof Kw){const e=new Kw("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof Kw&&s.func.value.genericType.value.rawType instanceof ES&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=nMi(bpt.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Npt(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof Yw&&lS(s.functionName,bpt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof Mw&&Opt(s,t),i},OPi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new Zw(new Xw(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=NPi(Gs(e.class),nS.ONE),d=fx(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?uMi(t,!1):s;if(n){const r=new Yw(sS(bpt.TDS_GROUP_BY)),s=new Vw(nS.ZERO),o=new Vw(nS.ONE),l=new Vw(nS.ONE),c=new Fw(vS.create(new wS(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?$pt(ppt,[t],e.graphManagerState.graph):i,h=new Yw(sS(bpt.TDS_AGG)),p=$pt(ppt,[n.buildAggregateExpression(t,ppt,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 Yw(sS(bpt.TDS_PROJECT)),r=new Vw(nS.ONE),s=new Vw(nS.ONE),o=new Fw(vS.create(new wS(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?$pt(ppt,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new ZMi,p=new Kw("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=HMi(Gs(e))}p.func=zS.create(Gs(Sx(e.graphManagerState.graph.getClass(fpt.TDS_ROW)).find(e=>e.name===g)));const f=new Mw(gpt,nS.ONE),v=new Fw(vS.create(new wS(gS.STRING)));v.values=[u],p.parametersValues=[f,v];const y=new Yw(sS(bpt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=$pt(gpt,[y],e.graphManagerState.graph),_=new Yw(sS(bpt.TDS_FILTER)),C=Gs(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new Yw(sS(bpt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new Fw(vS.create(new wS(gS.INTEGER)));E.values=[10];const x=new Yw(sS(bpt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,t8(a,e.graphManagerState)},LPi=(e,t,n)=>{const i=kPi(t,ppt,e.observerContext);return OPi(e,i,void 0,void 0,void 0,void 0,n)},MPi=e=>{const t=js(e,RZ,"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},PPi=e=>{if(e instanceof Fw){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var FPi;!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"}(FPi||(FPi={}));const BPi=(e,t)=>{switch(e){case _pt.GET_STRING:return gS.STRING;case _pt.GET_NUMBER:return gS.NUMBER;case _pt.GET_INTEGER:return gS.INTEGER;case _pt.GET_FLOAT:return gS.FLOAT;case _pt.GET_DECIMAL:return gS.DECIMAL;case _pt.GET_DATE:return gS.DATE;case _pt.GET_DATETIME:return gS.DATETIME;case _pt.GET_STRICTDATE:return gS.STRICTDATE;case _pt.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class VPi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class UPi extends VPi{groupOperation;childrenIds=[];constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh,childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),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){wo(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 $y([Zpt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.groupOperation])}}class GPi extends VPi{condition;isNewlyAdded;constructor(e,t,n){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return $y([Zpt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class HPi extends VPi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $y([Zpt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class zPi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $y([Zpt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class WPi extends zPi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof Vw?Vpt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?Bpt(this.value):void 0}setValue(e){return this.value=e?une(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 Vw}get hashCode(){return $y([Zpt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class jPi extends zPi{tdsColumn;constructor(e,t){super(e),Hh(this,{tdsColumn:ru,changeCol:hh}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=KMi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class $Pi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=h_.create();constructor(e,t,n){Hh(this,{postFilterState:ru,rightConditionValue:ru,operator:ru,leftConditionValue:ru,typeaheadSearchResults:ru,changeOperator:hh,setColumnState:hh,setRightConditionVal:hh,buildFromValueSpec:hh,setOperator:hh,changeColumn:Nh,handleTypeaheadSearch:Nh,columnName:lu,hashCode:lu}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new WPi(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 WPi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new WPi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof bMi||this.leftConditionValue instanceof EMi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,WPi),r=e??i.value;if(PPi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof bMi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof SMi?(s=new Lw(cD(Mq(l.lambda,new BX([]).build()))),o=l.columnName,a=l.returnType):i=kPi(js(l,_Mi).propertyExpressionState.propertyExpression,ppt,e.observerContext),OPi(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=MPi(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 SMi&&(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 $y([Zpt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class qPi{tdsState;lambdaParameterName=gpt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){Hh(this,{tdsState:!1,selectedNode:ru,isRearrangingConditions:ru,rootIds:ru,nodes:ru,lambdaParameterName:ru,derivedColumnBeingDropped:ru,setLambdaParameterName:hh,setSelectedNode:hh,addNodeFromNode:hh,addGroupConditionNodeFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,expandTree:hh,replaceBlankNodeWithNode:hh,setRearrangingConditions:hh,setDerivedColumnBeingDropped:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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),UPi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(GPi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof jPi?[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 UPi)t.addChildNode(e);else if(t instanceof GPi||t instanceof HPi){const n=new UPi(void 0,zMi.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 UPi(void 0,zMi.AND),n=new HPi(void 0),i=new HPi(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 HPi(void 0);if(t instanceof GPi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new UPi(void 0,zMi.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 UPi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof GPi||t instanceof HPi){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 UPi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(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 wo(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(UPi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),UPi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),UPi);[...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(UPi)).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 HPi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(UPi)).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 HPi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof GPi});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):wo(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(GPi)).map(e=>e.condition.rightConditionValue).filter(zs(WPi)).map(e=>e.value).filter(Vs).find(t=>Kpt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof GPi&&(t.condition.rightConditionValue instanceof WPi&&t.condition.rightConditionValue.value instanceof Pw&&!Upt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof _Mi&&!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 GPi&&e.condition.rightConditionValue instanceof WPi&&e.condition.rightConditionValue.value instanceof Pw&&!Upt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof GPi&&e.condition.leftConditionValue instanceof _Mi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return $y([Zpt.POST_FILTER_STATE,$y(this.rootIds),$y(Array.from(this.nodes.values()))])}}class YPi extends UMi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof NS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof WPi){const i=n.value;if(i instanceof Vw){if(0===i.values.length)return!0;const n=Vpt(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 Mw)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new Vw(nS.ONE,vS.create(new wS(t)))}buildPostFilterConditionExpression(e,t){return XMi(e,this,bpt.IN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.IN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IN])}}class KPi extends YPi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_IN])}}class XPi extends UMi{getLabel(){return"is empty"}getTDSColumnGetter(){return _pt.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof NS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof WPi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof _Mi)||zpt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return XMi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return qMi(e,t,void 0,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IS_EMPTY])}}class ZPi extends XPi{getLabel(){return"is not empty"}getTDSColumnGetter(){return _pt.IS_NOT_NULL}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class QPi extends UMi{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 NS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&Wpt(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return oMi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_EQUAL])}}class JPi extends QPi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class eFi extends UMi{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 Wpt(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 oMi(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 XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_LESS_THAN])}}class tFi extends eFi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class nFi extends UMi{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 Wpt(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 oMi(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 XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_GREATER_THAN])}}class iFi extends nFi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class rFi extends UMi{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 oMi(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 XMi(e,this,bpt.CONTAINS,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.CONTAINS,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_CONTAIN])}}class sFi extends rFi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class oFi extends UMi{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 oMi(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 XMi(e,this,bpt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.ENDS_WITH,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_END_WITH])}}class aFi extends oFi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class lFi extends wMi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){return TMi(bpt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_DISTINCT])}}class cFi extends wMi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof _Mi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new Yw(sS(bpt.JOIN_STRINGS)),r=new Fw(vS.create(new wS(gS.STRING)));return r.values=[";"],i.parametersValues.push(new Mw(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.JOIN_STRINGS)){const i=new EMi(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],Mw,"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],Fw,"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 $y([Zpt.AGGREGATE_OPERATOR_JOIN_STRING])}}class dFi extends wMi{percentile;acending;continuous;constructor(){super(),Hh(this,{percentile:ru,acending:ru,continuous:ru,setPercentile:hh,setAcending:hh,setContinuous:hh})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 Yw(sS(bpt.PERCENTILE)),s=new Fw(vS.create(new wS(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new Mw(t,nS.ONE),s);else{const e=new Fw(vS.create(new wS(gS.BOOLEAN)));e.values=[this.acending];const n=new Fw(vS.create(new wS(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new Mw(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.PERCENTILE)){const i=new EMi(n.tdsState.aggregationState,n,new dFi),r=js(i.operator,dFi);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],Mw,"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],Fw,"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],Fw,"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],Fw,"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 dFi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_PERCENTILE])}}class uFi extends wMi{weight;constructor(){super(),Hh(this,{weight:ru,setWeight:hh})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.WAVG)){const e=new EMi(n.tdsState.aggregationState,n,new uFi),i=js(e.operator,uFi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new uFi}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_WAVG])}}const hFi="WINDOW_COLUMN";class pFi{columnState;sortType;constructor(e,t){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $y([Zpt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class gFi{windowState;lambdaParameterName=ppt;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return $y([Zpt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class mFi extends gFi{constructor(e,t){super(e,t),Hh(this,{setLambdaParameterName:hh})}}class fFi extends gFi{columnState;constructor(e,t,n){super(e,t),Hh(this,{columnState:ru,setColumnState:hh,setLambdaParameterName:hh}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return $y([Zpt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class vFi extends fMi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),Hh(this,{windowColumns:ru,sortByState:ru,operatorState:ru,columnName:ru,setOperatorState:ru,setColumnName:hh,setSortBy:hh,changeWindow:hh,deleteWindow:hh,addWindow:hh,setWindows:hh,changeOperator:hh,changeSortBy:hh}),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 fFi?[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){wo(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 mFi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new fFi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof fFi?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 pFi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return $y([Zpt.TDS_WINDOW_COLUMN_STATE,$y(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class yFi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){Hh(this,{windowColumns:ru,editColumn:ru,invalidWindowColumnNames:lu,windowValidationIssues:lu,addWindowColumn:hh,removeColumn:hh,moveColumn:hh,setEditColumn:hh}),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 fFi&&t.operatorState.columnState instanceof vFi){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){wo(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 $y([Zpt.TDS_WINDOW_GROUPBY_STATE,$y(this.windowColumns)])}}const bFi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new Fw(vS.create(new wS(gS.STRING)));return t.values=[e.columnName],t}),r=new Vw(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new Yw((e=>{switch(e){case Cpt.ASC:return sS(bpt.TDS_ASC);case Cpt.DESC:return sS(bpt.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new Fw(vS.create(new wS(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new Yw(a);l.parametersValues=[new Mw(o.lambdaParameterName,nS.ONE)];const c=$pt(o.lambdaParameterName,[l],n);let d;if(o instanceof fFi){const e=new Fw(vS.create(new wS(gS.STRING)));e.values=[o.columnState.columnName],d=new Yw(sS(bpt.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new Fw(vS.create(new wS(gS.STRING)));h.values=[e.columnName];const p=new Yw(sS(bpt.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},_Fi=(e,t,n)=>{if(t instanceof GPi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof UPi){const i=new Yw(sS(WMi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>_Fi(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 Yw(sS(WMi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class CFi{_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[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Cpt.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 Yw(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new Yw(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new Vw(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 Yw(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new Fw(vS.create(new wS(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 Yw(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 Fw(vS.create(new wS(gS.INTEGER))),r=new Fw(vS.create(new wS(gS.INTEGER)));i.values=[t],r.values=[n];const s=new Yw(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 Yw&&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 SFi extends CFi{get limitFunctionName(){return bpt.TDS_TAKE}get sliceFunctionName(){return bpt.SLICE}get sortFunctionName(){return bpt.TDS_SORT}get distinctFunctionName(){return bpt.TDS_DISTINCT}get ascFunctionname(){return bpt.TDS_ASC}get descFunctionName(){return bpt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new Fw(vS.create(new wS(gS.STRING)));return t.values=[e],t})(e)}}class wFi extends CFi{get limitFunctionName(){return bpt.RELATION_LIMIT}get sliceFunctionName(){return bpt.RELATION_SLICE}get ascFunctionname(){return bpt.RELATION_ASC}get descFunctionName(){return bpt.RELATION_DESC}get sortFunctionName(){return bpt.RELATION_SORT}get distinctFunctionName(){return bpt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zw(nS.ONE,void 0),n=new Hw;return n.name=e,t.values=[n],t}}const EFi=(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 Yw(sS(bpt.TDS_GROUP_BY)),o=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new Vw(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new Fw(vS.create(new wS(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 _Mi)c=$pt(t.lambdaParameterName,[gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new Lw(cD(Mq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof uFi&&s.setLambdaParameterName("y");const e=new Yw(sS(bpt.TDS_AGG)),t=$pt(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 Yw&&(n=$pt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof uFi&&s.operator.weight&&s.projectionColumnState instanceof _Mi&&c instanceof Qw){const e=new Yw(bpt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof Qw?yo(n.values,0).expressionSequence[0]=e:c instanceof Qw&&(yo(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 Yw(sS(bpt.RELATION_PROJECT)),r=t.queryBuilderState,s=new jw(nS.ONE,void 0),o=new Ww;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new Hw;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof _Mi)i=$pt(e.lambdaParameterName,[gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof SMi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new Lw(cD(Mq(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,vS.create(new wS(s))))}),i.parametersValues=[e,s];const l=new wS(AK.INSTANCE),c=new wS(a);return l.typeArguments=[vS.create(c)],i.genericType=vS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,Yw);if(n.functionName!==sS(bpt.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new Yw(sS(bpt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jw(nS.ONE,void 0),o=new Ww;s.values=[o];const a=new jw(nS.ONE,void 0),l=new Ww;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 Hw;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,vS.create(new wS(n))))}),t.aggregationState.columns.forEach(e=>{const t=new Hw;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,Qw).values[0]?.expressionSequence[0],Kw),o=js(s.func.value,AS),a=new Kw("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new Mw(Cgt,nS.ONE)];const d=$pt(Cgt,[a],r.graphManagerState.graph);t.function1=d;const u=$pt(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,vS.create(new wS(h))))}),i.parametersValues=[e,s,a];const d=new wS(AK.INSTANCE),u=new wS(c);return d.typeArguments=[vS.create(u)],i.genericType=vS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new Yw(sS(bpt.TDS_PROJECT));if(e.useColFunc){const t=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new Yw(sS(bpt.TDS_COL));let r;if(t instanceof _Mi)r=$pt(t.lambdaParameterName,[gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new Lw(cD(Mq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new Fw(vS.create(new wS(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new Fw(vS.create(new wS(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof _Mi)s=$pt(e.lambdaParameterName,[gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new Lw(cD(Mq(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=>bFi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>_Fi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=$pt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new Yw(sS(bpt.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new wFi(e.tdsState.queryBuilderState.graphManagerState):new SFi(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 xFi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class TFi extends xFi{getLabel(){return"average rank"}get pureFunc(){return bpt.OLAP_AVERAGE_RANK}get hashCode(){return $y([Zpt.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 AFi extends xFi{getLabel(){return"dense rank"}get pureFunc(){return bpt.OLAP_DENSE_RANK}get hashCode(){return $y([Zpt.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 RFi extends xFi{getLabel(){return"rank"}get pureFunc(){return bpt.OLAP_RANK}get hashCode(){return $y([Zpt.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 NFi extends xFi{getLabel(){return"row number"}get pureFunc(){return bpt.OLAP_ROW_NUMBER}get hashCode(){return $y([Zpt.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 IFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return bpt.SUM}get hashCode(){return $y([Zpt.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 DFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return bpt.COUNT}get hashCode(){return $y([Zpt.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 kFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return bpt.MAX}get hashCode(){return $y([Zpt.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 OFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return bpt.MIN}get hashCode(){return $y([Zpt.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 LFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return bpt.AVERAGE}get hashCode(){return $y([Zpt.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 MFi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(MFi||(MFi={}));const PFi={[MFi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[MFi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var FFi;!function(e){e.NY="NY",e.LDN="LDN"}(FFi||(FFi={}));const BFi="en-US";class VFi{dateColumn;calendarType;endDate;lambdaParameterName=ppt;func;label;hash;constructor(e,t,n){Hh(this,{dateColumn:ru,lambdaParameterName:ru,calendarType:ru,endDate:ru,setDateColumn:hh,setCalendarType:hh,setLambdaParameterName:hh,setEndDate:hh,hashCode:lu}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof _Mi){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 Yw(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new Fw(vS.create(new wS(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],Kw,`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 Kw;){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 Yw&&lS(s.functionName,bpt.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,Mw).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],Fw,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(FFi).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],Ow,`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 _Mi&&t instanceof Qw?n=js(t.values[0]?.expressionSequence[0],Kw):e.projectionColumnState instanceof SMi&&(n=js(t,Lw)),!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 $y([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function UFi(e,t,n){return new VFi(e,t,n)}var GFi;!function(e){e.CSV="CSV"}(GFi||(GFi={}));class HFi extends VMi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new QPi,new JPi,new eFi,new tFi,new nFi,new iFi,new ZMi,new QMi,new rFi,new sFi,new oFi,new aFi,new YPi,new KPi,new XPi,new ZPi])();aggregationOperators=(()=>[new NMi,new IMi,new lFi,new MMi,new RMi,new kMi,new DMi,new dFi,new OMi,new LMi,new cFi,new uFi])();aggregationCalendarFunctions=(()=>[UFi(vpt.CALENDAR_ANNUALIZED,"Annualized",Zpt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),UFi(vpt.CALENDAR_YTD,"Year to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_YTD),UFi(vpt.CALENDAR_CME,"Current Month Estimate",Zpt.AGGREGATE_CALENDAR_FUNCTION_CME),UFi(vpt.CALENDAR_CW,"Current Week",Zpt.AGGREGATE_CALENDAR_FUNCTION_CW),UFi(vpt.CALENDAR_CME,"Current Month Estimate",Zpt.AGGREGATE_CALENDAR_FUNCTION_CME),UFi(vpt.CALENDAR_CY_MINUS2,"Current year minus 2",Zpt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),UFi(vpt.CALENDAR_CY_MINUS3,"Current year minus 3",Zpt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),UFi(vpt.CALENDAR_MTD,"Month to date",Zpt.AGGREGATE_CALENDAR_FUNCTION_MTD),UFi(vpt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P12WA),UFi(vpt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),UFi(vpt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P4WA),UFi(vpt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),UFi(vpt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P52WA),UFi(vpt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),UFi(vpt.CALENDAR_PMA,"Previous Months Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_PMA),UFi(vpt.CALENDAR_PMTD,"Previous Month To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PMTD),UFi(vpt.CALENDAR_PQTD,"Previous Quarter To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PQTD),UFi(vpt.CALENDAR_PRIOR_DAY,"Prior Day",Zpt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),UFi(vpt.CALENDAR_PRIOR_YEAR,"Prior Year",Zpt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),UFi(vpt.CALENDAR_PW,"Previous week",Zpt.AGGREGATE_CALENDAR_FUNCTION_PW),UFi(vpt.CALENDAR_PW_FM,"Previous week, Franchise Manager",Zpt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),UFi(vpt.CALENDAR_PWA,"Past Weeks' Average",Zpt.AGGREGATE_CALENDAR_FUNCTION_PWA),UFi(vpt.CALENDAR_PWTD,"Previous Week To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PWTD),UFi(vpt.CALENDAR_PYMTD,"Previous Year's Month To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),UFi(vpt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),UFi(vpt.CALENDAR_PYTD,"Previous Year To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYTD),UFi(vpt.CALENDAR_PYWA,"Previous Year's Weekly Average",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYWA),UFi(vpt.CALENDAR_PYWTD,"Previous Year's Week to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),UFi(vpt.CALENDAR_QTD,"Quarter to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_QTD),UFi(vpt.CALENDAR_REPORT_END_DAY,"Report End Day",Zpt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),UFi(vpt.CALENDAR_WTD,"Week to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new IFi,new DFi,new kFi,new OFi,new LFi,new TFi,new AFi,new RFi,new NFi])();constructor(e,t){super(e,t),Hh(this,{aggregationState:ru,projectionColumns:ru,isConvertDerivationProjectionObjects:ru,showPostFilterPanel:ru,showWindowFuncPanel:ru,useColFunc:ru,TEMPORARY__showPostFetchStructurePanel:lu,derivations:lu,hasParserError:lu,isQueryOptionsSet:lu,addColumn:hh,moveColumn:hh,removeAllColumns:hh,removeColumn:hh,replaceColumn:hh,initialize:hh,initializeWithQuery:hh,setShowPostFilterPanel:hh,setShowWindowFuncPanel:hh,setUseColFunc:hh,checkBeforeChangingImplementation:hh,convertDerivationProjectionObjects:Nh,fetchDerivedReturnTypes:Nh}),this.resultSetModifierState=new FMi(this),this.postFilterState=new qPi(this,this.postFilterOperators),this.aggregationState=new xMi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new yFi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(MFi.SHOW_POST_FILTER_PANEL)??!1}get type(){return BMi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(SMi))}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 _Mi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof Kw;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof Yw;){if(!(lS(i.functionName,bpt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof ES))return;n[n.length-1]instanceof ES||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 ES)bx(t).concat(t).forEach(e=>s.push(NBi(i,e.path))),r.push(NBi(i,t.path));else{const e=RBi(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 _Mi&&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[GFi.CSV]}getExportDataInfo(e){if(e===GFi.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 EMi?e instanceof EMi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){EFi(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=>{uj(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(y_.create(sE.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=$pt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new SMi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),Dw));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){wo(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 SMi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${ppt}${yC}''`)}revealCompilationError(e){const t=Ute(e.sourceInformation);if(t&&3===t.length&&t[0]===apt.QUERY_BUILDER&&t[1]===apt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof SMi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new _Mi(this,LBi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new _Mi(this,LBi(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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(SMi)).length)return!1;const n=t.filter(zs(_Mi)).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 _Mi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return $y([Zpt.PROJECTION_STATE,$y(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(SMi));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(y_.create("Unable to fetch derived return types"),e)}}}var zFi;!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)"}(zFi||(zFi={}));const WFi=[[zFi.COUNT,NMi],[zFi.DISTINCT_COUNT,IMi],[zFi.SUM,MMi],[zFi.MIN,kMi],[zFi.MAX,DMi],[zFi.AVERAGE,RMi],[zFi.STD_DEV_POPULATION,OMi],[zFi.STD_DEV_SAMPLE,LMi]],jFi=(e,t,n)=>{const i=new _Mi(e,t,!1);return i.setColumnName(n),i};class $Fi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),Hh(this,{includeSubTypes:ru,includeDocumentation:ru,setIncludeSubTypes:hh,setIncludeDocumentation:hh})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const qFi=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=>Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Lie.jsx("div",{children:l.length>0?Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Lie.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Lie.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Lie.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))]})]}):Lie.jsx(Lie.Fragment,{children:Boolean(a.length)&&Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},YFi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Lie.jsx(Nye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Lie.jsx("div",{children:Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Lie.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},KFi=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?Lie.jsx("div",{className:"query-builder__tooltip__item__action",children:Lie.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Lie.jsx(qse,{})})}):void 0},{label:"Multiplicity",value:Rx(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Lie.jsx(YFi,{title:t,data:c,placement:o,footerElement:Lie.jsx(qFi,{taggedValues:n.taggedValues}),children:s})},XFi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Lie.jsx(YFi,{title:t,data:s,placement:i,children:n})};var ZFi;!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"}(ZFi||(ZFi={}));const QFi=e=>({label:e.name,value:e}),JFi=e=>mx(e)?"system element":gx(e)?"generated element":px(e)?"dependency element":void 0,eBi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>mx(e)?"system":gx(e)?"generated":px(e)?"dependency":"")(t.value);return Lie.jsxs("div",{className:i,children:[Lie.jsx("div",{title:JFi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Lie.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Lie.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},tBi=e=>e instanceof gS?Lie.jsx(_xe,{}):e instanceof ES?Lie.jsx(Cxe,{}):e instanceof NS?Lie.jsx(Sxe,{}):e instanceof PS?Lie.jsx(wxe,{}):e instanceof MS?Lie.jsx(Exe,{}):Lie.jsx(Txe,{}),nBi=e=>{const{_class:t,children:n,placement:i}=e;return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Lie.jsx(qFi,{taggedValues:t.taggedValues})]}),children:n})},iBi=(e,t,n)=>{if(e.type instanceof ES&&Dx(e.type,t))return!0;if(e instanceof kBi&&Dx(e.property,t))return!0;if(e instanceof OBi){const i=n.nodes.get(e.parentId);if(i?.type instanceof ES&&Dx(i.type,t))return!0}return!1},rBi=(e,t)=>{if(e instanceof DBi&&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)},sBi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Lie.jsx(Nye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Lie.jsx("div",{children:Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:Rx(a)})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Lie.jsx(qFi,{taggedValues:t.taggedValues})]}),children:Lie.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},oBi=xoe(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 Lie.jsx(ebe,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Lie.jsxs(hFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Lie.jsx(gFe,{title:qv(i.propertyName)}),Lie.jsx(XFe,{isLoading:i.isGeneratingPreviewData}),Lie.jsxs(fFe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Lie.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Lie.jsxs("table",{className:"table",children:[Lie.jsx("thead",{children:Lie.jsx("tr",{children:i.previewData.columns.map((e,t)=>Lie.jsx("th",{className:"table__cell--left",children:e},t))})}),Lie.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Lie.jsx("tr",{children:e.values.map((e,t)=>Lie.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),aBi=xoe(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Lie.jsxs(CFe,{ref:t,children:[r instanceof kBi&&!(r.type instanceof ES)&&Lie.jsx(SFe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof ES&&Lie.jsx(SFe,{onClick:()=>{if(i(),r.type instanceof ES){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(kBi)).filter(e=>!(e.type instanceof ES)&&e.mappingData.mapped).filter(e=>{const t=LBi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof HFi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof _Mi)return n.propertyExpressionState.path===e.id&&n.columnName===uMi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),lBi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Lie.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Lie.jsx(Dse,{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 Lie.jsx(use,{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 Lie.jsx($re,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return tBi(e)},cBi=xoe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=fut(),u=a.explorerState,[,h,p]=BVe(()=>({type:t instanceof kBi?t.type instanceof NS?ABi.ENUM_PROPERTY:t.type instanceof ES?ABi.CLASS_PROPERTY:ABi.PRIMITIVE_PROPERTY:ABi.ROOT,item:()=>t instanceof kBi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),vUe(p);const m=Boolean(t.childrenIds.length),f=t instanceof kBi&&t.property instanceof US,v=t instanceof kBi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof OBi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof kBi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,b=m?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),_=u.humanizePropertyName?t instanceof OBi?CC+qv(t.label):qv(t.label):t instanceof OBi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof DBi||u.showUnmappedProperties?Lie.jsx(TFe,{content:Lie.jsx(aBi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof kBi||t instanceof DBi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Lie.jsxs("div",{className:Noe("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&&rBi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof DBi?"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 DBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Lie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Lie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Lie.jsx(Cxe,{})})]}),Lie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Lie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Lie.jsx(nBi,{_class:Gs(a.class),children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})})})]}),(t instanceof kBi||t instanceof OBi)&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Lie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Lie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:lBi(t.type)})]}),Lie.jsxs("div",{className:Noe("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":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Lie.jsx("div",{className:Noe("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":iBi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:_}),f&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Lie.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&Lie.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof kBi&&u.previewData(t).catch(d.alertUnhandledError)},children:Lie.jsx(ise,{})}),t instanceof kBi&&Lie.jsx(KFi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})}),t instanceof OBi&&Lie.jsx(sBi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})})]})]})]})}):null}),dBi=xoe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof DBi||a.explorerState.showUnmappedProperties?Lie.jsxs("div",{className:"tree-view__node__block",children:[Lie.jsx(cBi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Lie.jsx(dBi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),uBi=e=>e instanceof OBi?0:e.type instanceof ES?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof NS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,hBi=xoe(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Lie.jsx(FOe,{components:{TreeNodeContainer:cBi,TreeNodeView:dBi},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 OBi||e instanceof kBi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>uBi(t)-uBi(e)),innerProps:{queryBuilderState:t}})}),pBi="query-builder-explorer-search-input",gBi=xoe(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 Lie.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Lie.jsx("input",{ref:t,name:pBi,className:Noe("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&&Lie.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Lie.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Lie.jsx(Ise,{})}):Lie.jsx(Lie.Fragment,{children:Lie.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Lie.jsx(Tse,{})})})]})})),mBi=xoe(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=fut();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_EXPLORER,className:Noe("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Lie.jsxs(OFe,{title:"explorer",children:[Lie.jsx(gBi,{propertySearchState:s,ref:i}),Lie.jsxs(MFe,{children:[Lie.jsx(PFe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof DBi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Lie.jsx(Yre,{})}),Lie.jsx(AFe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{hpt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Lie.jsxs(CFe,{children:[Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Lie.jsx(EFe,{children:r.showUnmappedProperties?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Show Unmapped Properties"})]}),Lie.jsxs(SFe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Lie.jsx(EFe,{children:r.humanizePropertyName?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Humanize Property Name"})]}),Lie.jsxs(SFe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Lie.jsx(EFe,{children:r.highlightUsedProperties?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Lie.jsx(ere,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Lie.jsx(xBi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Lie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Lie.jsx(XFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Lie.jsx(yUe,{labelGetter:e=>r.humanizePropertyName?qv(e.node.label):e.node.label,types:Object.values(ABi)}),r.mappingModelCoverageAnalysisState.isInProgress?Lie.jsx(qFe,{children:r.mappingModelCoverageAnalysisState.message}):Lie.jsxs(Lie.Fragment,{children:[!r.treeData&&Lie.jsx(qFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Lie.jsx(hBi,{queryBuilderState:t})]}),Lie.jsx(oBi,{queryBuilderState:t})]})]})}),fBi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=fut(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Eut(s))?Lie.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Noe("documentation-link",n,{"documentation-link--inline":i}),children:Lie.jsx(Sse,{})}):null},vBi=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]),Lie.jsx("div",{className:"undo-redo",children:Lie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Lie.jsx(Ose,{}),Lie.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},yBi=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]),Lie.jsx("div",{className:"undo-redo",children:Lie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Lie.jsx(Ese,{}),Lie.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},bBi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(qv).join(t?" / ":"/")).join(CC),_Bi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>qv(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>qv(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},CBi=(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 Lie.jsx("span",{children:e});const o=[],a=yo(s,0)[0];a>0&&o.push(Lie.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Lie.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=yo(s,r+1)[0];o.push(Lie.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=yo(s,s.length-1)[1];return l<e.length&&o.push(Lie.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},SBi=xoe(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=BVe(()=>({type:t instanceof kBi?t.type instanceof NS?ABi.ENUM_PROPERTY:t.type instanceof ES?ABi.CLASS_PROPERTY:ABi.PRIMITIVE_PROPERTY:ABi.ROOT,item:()=>t instanceof kBi?{node:t}:{},canDrag:()=>!(t.type instanceof ES),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),vUe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof kBi&&t.parentId===e.id),g=p?.type instanceof ES&&s>1?qv(t.label):p instanceof OBi?_Bi(t.id,!0):bBi(t.id,!0),m=a?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),f=t instanceof kBi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,v=null!==f?CBi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return Lie.jsxs(Lie.Fragment,{children:[Lie.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:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Lie.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Lie.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:lBi(t.type)})]}),Lie.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Lie.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[CBi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Lie.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),Lie.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof kBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(KFi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Lie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Lie.jsx(qse,{})})]}),t instanceof OBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(sBi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Lie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Lie.jsx(qse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof kBi||t instanceof OBi)&&t.type instanceof ES&&(t instanceof OBi?Ex(t.type):Cx(t.type)).forEach(n=>{const r=PBi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof ES||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Lie.jsx(SBi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),wBi=xoe(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Lie.jsxs("button",{className:Noe("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?Lie.jsx(zre,{}):Lie.jsx(Rse,{}),Lie.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Lie.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),EBi=xoe(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Lie.jsx(iSe,{slotProps:{transition:{timeout:0}},title:Lie.jsx("div",{children:n}),children:Lie.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Lie.jsx(hse,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Lie.jsx(wBi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),xBi=xoe(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===pBi||(i(),r.setIsSearchPanelOpen(!1))};return Lie.jsx(zSe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Noe("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:Lie.jsx(Nye,{onClickAway:s,children:Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Lie.jsx("div",{className:"query-builder-property-search-panel__content",children:Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{size:175,children:Lie.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Lie.jsx(fBi,{documentationKey:cht.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Lie.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Lie.jsx(DFe,{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})})]}),Lie.jsx(EBi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Lie.jsx(EBi,{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)}}]}),Lie.jsx(EBi,{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)}}]}),Lie.jsx(EBi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(mpt.CLASS),onClick:()=>{r.toggleFilterForType(mpt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(mpt.ENUMERATION),onClick:()=>{r.toggleFilterForType(mpt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(mpt.STRING),onClick:()=>{r.toggleFilterForType(mpt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(mpt.BOOLEAN),onClick:()=>{r.toggleFilterForType(mpt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(mpt.NUMBER),onClick:()=>{r.toggleFilterForType(mpt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(mpt.DATE),onClick:()=>{r.toggleFilterForType(mpt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.DATE)}}]})]})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:"var(--color-dark-grey-200)"})}),Lie.jsxs(gGe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Lie.jsx(XFe,{isLoading:!0}),Lie.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Lie.jsxs(Lie.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Lie.jsx(SBi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Lie.jsxs(qFe,{children:[Lie.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Lie.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&&Lie.jsx(qFe,{children:"Initializing..."}),r.searchState.isInProgress&&Lie.jsx(qFe,{children:"Searching..."})]})]})]})})})})})});class TBi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=h_.create();searchState=h_.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[mpt.CLASS,mpt.ENUMERATION,mpt.STRING,mpt.BOOLEAN,mpt.NUMBER,mpt.DATE];constructor(e){Hh(this,{indexedExplorerTreeNodeMap:ru,searchText:ru,searchResults:ru,isOverSearchLimit:ru,isSearchPanelOpen:ru,isSearchPanelHidden:ru,showSearchConfigurationMenu:ru,includeOneMany:ru,typeFilters:ru,indexedExplorerTreeNodes:lu,filteredSearchResults:lu,search:hh,resetSearch:hh,setSearchResults:hh,setIsOverSearchLimit:hh,setSearchText:hh,setShowSearchConfigurationMenu:hh,setIsSearchPanelOpen:hh,setIsSearchPanelHidden:hh,setIncludeOneMany:hh,setFilterOnlyType:hh,toggleFilterForType:hh,initialize:hh}),this.queryBuilderState=e,this.searchConfigurationState=new $Fi(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 DBi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?wo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof OBi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof kBi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof kBi||t instanceof OBi?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 DBi||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 ES&&t.set(e.id,e),e)).filter(e=>!(e instanceof kBi||e instanceof OBi)||!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 kBi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=VBi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>gh(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=VBi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof kBi||e instanceof OBi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof kBi||t instanceof OBi?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 kBi||this.searchConfigurationState.includeSubTypes&&e instanceof OBi)&&e.type instanceof ES&&((e instanceof OBi?Ex(e.type):Cx(e.type).concat(Sx(e.type))).forEach(t=>{const n=PBi(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=FBi(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 kBi||e instanceof OBi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof OBi?_Bi(e.id):bBi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof kBi?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(mpt.CLASS)&&e.type instanceof ES)||(!!(this.typeFilters.includes(mpt.ENUMERATION)&&e.type instanceof NS)||(!(!this.typeFilters.includes(mpt.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(mpt.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(mpt.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(mpt.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 ABi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(ABi||(ABi={}));const RBi=(e,t)=>`${e?`${e}.`:""}${t}`,NBi=(e,t)=>`${e||""}${CC}${t}`;class IBi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){Hh(this,{isHighlighting:ru,isOpen:ru,isSelected:ru,setIsHighlighting:hh,setIsOpen:hh,setIsSelected:hh}),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 DBi extends IBi{}class kBi extends IBi{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 OBi extends IBi{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 LBi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new Mw(n??ppt,nS.ONE),o=new Kw("");kpt(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 kBi||l instanceof OBi);){if(l instanceof OBi&&c instanceof OBi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof OBi?e=new Yw(sS(bpt.SUBTYPE)):l instanceof kBi&&l.mappingData.entityMappedProperty?.subType?(e=new Yw(sS(bpt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new Kw(""),kpt(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new Kw(""),kpt(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof Yw&&lS(a.functionName,bpt.SUBTYPE)){const e=new Pw(nS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof kBi||l instanceof OBi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof kBi||c instanceof OBi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof Yw){const e=new Pw(nS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}return o},MBi=e=>{const t=e.type,n=(e instanceof OBi?Ex(t):Cx(t).concat(Sx(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},PBi=(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 ES||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof TJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof TJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof kBi&&t.property instanceof US;if(e instanceof AS&&t instanceof kBi&&t.property instanceof AS&&e._OWNER instanceof RS&&t.property._OWNER instanceof RS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof ES?_x(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new kBi(o?NBi(RBi(t instanceof DBi?"":t.id,e.name),o.path):RBi(t instanceof DBi?"":t.id,e.name),e.name,`${t instanceof DBi?`${_C}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=RBi(t instanceof DBi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof ES&&(a.childrenIds=MBi(a)),a},FBi=(e,t,n)=>{const i=new OBi(NBi(t instanceof DBi?"":t.id,e.path),e.name,""+(t instanceof DBi?`${_C}${ppt}->${sS(bpt.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS(bpt.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=_x(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof TJ&&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 kBi?t.property.multiplicity:t instanceof OBi?t.multiplicity:nS.ONE);return i.childrenIds=MBi(i),i},BBi=(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 DBi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),Cx(e).concat(Sx(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof ES?2:t instanceof NS?1:0)-(e instanceof ES?2:e instanceof NS?1:0)).forEach(e=>{const n=PBi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=FBi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},VBi=e=>{if(e instanceof DBi)return new DBi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof kBi)return new kBi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof OBi)return new OBi(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 UBi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){Hh(this,{previewData:ru.ref,isGeneratingPreviewData:ru,propertyName:ru,previewDataAbortController:ru,setPropertyName:hh,setIsGeneratingPreviewData:hh,setPreviewData:hh,setPreviewDataAbortController:hh})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class GBi{queryBuilderState;previewDataState=new UBi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=h_.create();mappingModelCoverageAnalysisResult;constructor(e){Hh(this,{treeData:ru.ref,humanizePropertyName:ru,showUnmappedProperties:ru,highlightUsedProperties:ru,mappingModelCoverageAnalysisResult:ru,setTreeData:hh,refreshTree:hh,refreshTreeData:hh,setHumanizePropertyName:hh,setShowUnmappedProperties:hh,setHighlightUsedProperties:hh,highlightTreeNode:hh,analyzeMappingModelCoverage:Nh,previewData:Nh}),this.queryBuilderState=e,this.propertySearchState=new TBi(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?BBi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof kBi||e instanceof OBi)&&e.type instanceof ES&&((e instanceof OBi?Ex(e.type):Cx(e.type).concat(Sx(e.type))).forEach(t=>{const n=PBi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=FBi(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]&&yo(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 kBi||t instanceof OBi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof kBi||e instanceof OBi?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(),hpt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new p_,t=a3(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());hpt.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=LBi(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,HFi),r=i.aggregationState;return WFi.forEach(e=>{const n=jFi(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,RZ,"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,HFi),r=jFi(i,t,"Value"),s=jFi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof NMi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new PMi(s);return a.sortType=Cpt.DESC,i.resultSetModifierState.sortColumns=[a,new PMi(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,RZ,"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 HBi="4.17.95",zBi={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 WBi=(e,t,n,i)=>{Ws(e,gA,"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],dA,"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 bA&&2===s.parameters.length&&lS(s.function,bpt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new IK(n,i,t));for(Ws(s,JA,"Can't build projection column: only support lambda body as property expression");s instanceof JA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof bA&&lS(s.function,bpt.SUBTYPE);)s=s.parameters[0];return Ws(s,dA,"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 IK(n,i,t))},jBi=(e,t,n,i)=>{Ws(e,bA,"Can't build aggregation: only support function"),Ks(lS(e.function,bpt.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],gA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof bA&&lS(r.body[0].function,Object.values(vpt))?Xr(()=>((e,t,n,i)=>{Ws(e,gA,"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],dA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],bA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(vpt)),"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],JA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],EA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(FFi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],YT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new IK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new IK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new IK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new IK(n,i,t)))??new Lw(WI(d,n.extensions.plugins)),h=OK([a,l,c,u],s.function,n),p=new Qw,g=new Xw(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new Mw(r.name,nS.ONE));const m=new Zw(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new Lw(WI(r,n.extensions.plugins)):Xr(()=>WBi(r,t,n,i))??new Lw(WI(r,n.extensions.plugins));const o=js(e.parameters[1],gA).accept_ValueSpecificationVisitor(new IK(n,i,t));return OK([s,o],sS(bpt.TDS_AGG),n)},$Bi=(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 IK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,GN,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,$A,"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(gA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jw(nS.ONE),u=new Ww;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new Hw;let s;const o=js(e.function1,YT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=WBi(o,n,i,r)}catch{s=new Lw(WI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof Qw){const t=e.values[0]?.expressionSequence[0];return t instanceof Kw?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,vS.create(new wS(a)))),t});const p=OK([o,d],e,i),g=new wS(AK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},qBi=(e,t,n,i,r)=>{const s=js(e,bA,"Can't build tds col func: only support applied function");Ks(lS(s.function,bpt.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],gA,"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 Mw(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=WBi(o,n,i,r)}catch{a=new Lw(WI(o,i.extensions.plugins))}js(s.parameters[1],EA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new IK(i,r,n));return OK([a,l],s.function,i)},YBi=(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 IK(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 _A){const e=new Vw(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>qBi(e,s,n,i,r)),a=e}else Ws(o,bA,"Can't build project() expression: project() expects argument #2 to be a function"),a=qBi(o,s,n,i,r);const l=OK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return $Bi(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 IK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof gA?o=l.parameters:(Ws(l,_A,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(gA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new Vw(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof gA?[l]:l.values,d.values=u.map(e=>{try{return WBi(e,n,i,r)}catch{return new Lw(WI(e,i.extensions.plugins))}});const h=OK([a,d,t[2].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),h},KBi=(e,t,n,i,r)=>e===bpt.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 IK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,Yw);if(o.functionName!==sS(bpt.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,GN,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,$A,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,GN,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,$A,"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 Mw(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 jw(nS.ONE),g=new Ww;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new Hw;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jw(nS.ONE),v=new Ww;f.values=[v],v.colSpecs=d.colSpecs.map(e=>{const t=new Hw;t.name=e.name;const s=js(e.function1,gA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=WBi(s,n,i,r);t.function1=o;const a=js(e.function2,gA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new IK(i,r,n)),Qw,"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 y=OK([s,p,f],e,i),b=new wS(AK.INSTANCE),_=new wS(m);return b.typeArguments=[vS.create(_)],y.genericType=vS.create(b),y})(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 IK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,_A,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(gA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,_A,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof bA&&lS(e.function,bpt.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(gA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new Vw(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return WBi(e,n,i,r)}catch{return new Lw(WI(e,i.extensions.plugins))}});const u=new Vw(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>jBi(e,n,i,r));const h=OK([o,d,u,t[3].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),h})(e,t,n,i,r);class XBi extends Ote{constructor(){super(zBi.pureProtocolProcessorPlugin,HBi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,ypt.GET_ALL))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,ypt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,ypt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,[bpt.FILTER,bpt.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 IK(i,r,n));if(s.genericType){const e=t[1];e instanceof gA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=OK([s,t[1].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,bpt.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 IK(i,r,n));s.genericType=js(s,Kw).func.value.genericType;const o=t[1];return o instanceof gA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),OK([s,t[1].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,bpt.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 IK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof gA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new IK(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=OK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT]))return YBi(e,t,n,i,r);if(lS(e,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY]))return KBi(e,t,n,i,r);if(lS(e,bpt.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 IK(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 IK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof bA?js(d.parameters[1],gA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,gA,`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 Mw(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(m),o++;const f=OK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[bpt.TODAY,bpt.FIRST_DAY_OF_QUARTER])){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.STRICTDATE)),s}if(lS(e,bpt.NOW)){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.DATETIME)),s}if(lS(e,[bpt.FIRST_DAY_OF_THIS_YEAR,bpt.FIRST_DAY_OF_YEAR,bpt.FIRST_DAY_OF_THIS_MONTH,bpt.FIRST_DAY_OF_MONTH,bpt.FIRST_DAY_OF_WEEK,bpt.PREVIOUS_DAY_OF_WEEK,bpt.ADJUST])){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.DATE)),s}return lS(e,Object.values(bpt))||lS(e,Object.values(vpt))?LK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof Yw&&lS(e.functionName,sS(bpt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof Pw)[0]?.genericType?.value.rawType)(e)}]}}class ZBi{mapping;runtimes=[]}class QBi{service;executionKeys}class JBi extends pT{}class eVi extends JBi{constructor(e){super(e),this.graphManager=js(e,q6)}getSupportedProtocolVersion(){return BH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===bG||e.content._type===NN),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(qD))).flat(),o=new GK(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 vB)return new N$(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(eR))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Wj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof GH?e:new GH(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 GK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(qD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof vB)return new N$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(eR))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Wj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new ZBi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...TY(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(WO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new QBi;i.service=t,e.execution instanceof zO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const tVi=e=>new eVi(e);class nVi extends Rte{constructor(){super(zBi.pureGraphManagerPlugin,HBi)}getExtraPureGraphManagerExtensionBuilders(){return[tVi]}getExtraExposedSystemElementPath(){return[fpt.TDS_TABULAR_DATASET,fpt.TDS_ROW,fpt.TDS_COLUMN]}}class iVi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Eb(ob(iVi,{TEMPORARY__disableQueryBuilderChat:Cb(ab()),TEMPORARY__enableExportToCube:Cb(ab()),TEMPORARY__enableGridEnterpriseMode:Cb(ab()),legendAIServiceURL:Cb(ab()),legendMCPServiceURL:Cb(ab()),zipkinTraceBaseURL:Cb(ab()),enableTypedTDS:Cb(ab()),NonProductionFeatureFlag:Cb(ab())}))}const rVi=e=>{let t=e;for(;t instanceof Kw;)for(t=Gs(t.parametersValues[0]);t instanceof Yw&&lS(t.functionName,bpt.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,Mw)},sVi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[bpt.AND,bpt.OR])){const r=new aPi(n,jMi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,oPi).lambdaParameterName),e.parametersValues.forEach(e=>sVi(js(e,Yw,"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,[bpt.EXISTS])){const n=e.parametersValues[0];if(n instanceof Kw){const e=n.parametersValues[0];e instanceof Kw&&qpt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=rVi(r.propertyExpressionState.propertyExpression).name,n=i instanceof oPi&&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 dPi(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],Kw);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new lPi(t,n),o=js(e.parametersValues[1],Qw,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],Zw),l=js(a.expressionSequence[0],Yw);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),sVi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,bpt.EXISTS);){const e=Gs(js(s.parametersValues[1],Qw).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],Yw,"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],Mw,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof Kw)||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],Kw);let a=new Kw("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof Kw||n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);){if(n instanceof Yw){const e=new Yw(sS(bpt.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof Kw){const e=new Kw("");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],Kw,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof Yw&&e.parametersValues[0]instanceof Kw)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof Kw)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof Mw)return a;return e}),sVi(s,t,n)}}}},oVi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,Qw,"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],Yw,"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],Mw,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),sVi(s,n,void 0),n.simplifyTree()};class aVi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){Hh(this,{hashCode:lu}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nE)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tE)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return $y([Zpt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",$y(this.childrenIds)])}}const lVi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,cVi=(e,t,n)=>{Ws(e,nE,"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 aVi(lVi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=cVi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},dVi=(e,t,n)=>{const i=t?.id,r=new aVi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=cVi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},uVi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=dVi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=cVi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},hVi=e=>0===e.tree.subTrees.length,pVi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nE&&t.type instanceof ES&&0===t.childrenIds.length||t.tree instanceof nE&&!(t.type instanceof ES)&&t.parentId&&!e.nodes.has(t.parentId)),gVi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),Fpt(n.tree,t.tree)):(wo(e.rootIds,t.id),Fpt(e.tree,t.tree)),e.nodes.delete(t.id)},mVi=(e,t)=>{gVi(e,t),(e=>{let t=pVi(e);for(;t.length;)t.forEach(t=>{gVi(e,t)}),t=pVi(e)})(e)},fVi=(e,t,n,i)=>{const r=[new nE(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof kBi||l instanceof OBi;){let e,n=!1;for(;l instanceof OBi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof kBi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof ES&&(e=XC.create(l.type)),!(l instanceof kBi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nE(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=lVi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=cVi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),Ppt(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),Ppt(e.tree,t.tree,i.observerContext))}},vVi=(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 wVi){if(e.treeData&&!hVi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(fpt.SERIALIZE_CONFIG),i=new Yw(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new Pw(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new Fw(vS.create(new wS(gS.STRING)));s.values=[""];const o=new Vw(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 Gw,r=new Fw(vS.create(new wS(gS.STRING)));r.values=[n];const s=new Fw(vS.create(new wS(t.genericType.value.rawType)));s.values=[e[n]];const a=new Uw(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 rE;r.values=[e];const s=new Yw(sS(bpt.SERIALIZE)),o=new Yw(sS(t?bpt.GRAPH_FETCH_CHECKED:bpt.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 EVi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new Yw(sS(bpt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!hVi(i)&&!hVi(o)){const a=new rE;a.values=[i.tree];const l=new Yw(e.isChecked?sS(bpt.GRAPH_FETCH_CHECKED):sS(bpt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new Pw(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rE;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 Yw&&lS(n.functionName,bpt.SERIALIZE)){const i=new Fw(vS.create(new wS(gS.INTEGER)));i.values=[t];const r=new Yw(sS(bpt.TAKE)),s=js(n.parametersValues[0],Yw),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 yVi,bVi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(yVi||(yVi={})),function(e){e.RESULT="RESULT"}(bVi||(bVi={}));const _Vi="@type";class CVi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=_Vi,Hh(this,{typeKeyName:ru,includeType:ru,includeEnumType:ru,dateTimeFormat:ru,removePropertiesWithNullValues:ru,removePropertiesWithEmptySets:ru,fullyQualifiedTypePath:ru,includeObjectReference:ru,setTypeName:hh,setIncludeObjectReference:hh,setDateTimeFormat:hh,setIncludeType:hh,setFullyQualifiedTypePath:hh,setRemovePropertiesWithEmptySets:hh,setInclueEnumType:hh,setRemovePropertiesWithNullValues:hh})}static createDefault(){const e=new CVi;return e.typeKeyName=_Vi,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 SVi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class wVi extends SVi{config;configModal=!1;constructor(e){super(e),Hh(this,{config:ru,configModal:ru,setConfigModal:hh})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return yVi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class EVi extends SVi{targetBinding;treeData;constructor(e,t,n){super(e),Hh(this,{targetBinding:ru,treeData:ru.ref,serializationContentType:lu,setGraphFetchTree:hh}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(fVi(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 yVi.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 xVi extends VMi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),Hh(this,{treeData:ru.ref,isChecked:ru,serializationState:ru,TEMPORARY__showPostFetchStructurePanel:lu,setGraphFetchTree:hh,setSerializationState:hh,setChecked:hh,initialize:hh,checkBeforeChangingImplementation:hh}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new wVi(this)}get type(){return BMi.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 tE?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nE&&(a=r.tree.property.value.name);const l=RBi(o,a);t.push(l),r.tree instanceof nE&&r.tree.subType?(s=NBi(l,r.tree.subType.value.path),bx(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(NBi(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?uVi(new tE(XC.create(e))):void 0)}get exportDataFormatOptions(){return[bVi.RESULT]}getExportDataInfo(e){if(e===bVi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){vVi(this,e,t)}addProperty(e,t){this.treeData?(fVi(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 EVi&&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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nE)return t.tree.parameters.find(t=>Kpt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return $y([Zpt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const TVi=(e,t)=>()=>{t.implementation.type!==e&&(hpt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class AVi{queryBuilderState;implementation;constructor(e){Hh(this,{implementation:ru,changeImplementation:hh,initializeWithQuery:hh}),this.queryBuilderState=e,this.implementation=new HFi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case BMi.TABULAR_DATA_STRUCTURE:this.implementation=new HFi(this.queryBuilderState,this);break;case BMi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new xVi(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 kBi&&!(e.type instanceof ES)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof ES&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(kBi)).filter(e=>!(e.type instanceof ES)&&e.mappingData.mapped))}}class RVi{lambda;constructor(e){this.lambda=e,Hh(this,{lambda:ru,setLambda:hh})}setLambda(e){this.lambda=e}}var NVi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(NVi||(NVi={}));class IVi extends vMi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=h_.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),Hh(this,{rawLambdaState:ru,isConvertingLambdaToString:ru,mode:ru,isReadOnly:ru,setQueryRawLambdaState:hh,setIsReadOnly:hh,setMode:hh,openModal:hh,closeModal:Nh}),this.queryBuilderState=e,this.rawLambdaState=new RVi(dj())}get lambdaId(){return Gte(["query-builder"])}get text(){return this.mode===NVi.TEXT?this.fullLambdaString:this.mode===NVi.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=dj();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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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 Dw(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(y_.create(sE.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===NVi.TEXT&&this.setQueryRawLambdaState(new RVi(n)),e===NVi.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===NVi.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 DVi=xoe(e=>{const{resultType:t}=e;let n="";return t.type instanceof ZC&&(n=t.type.input??""),""===n?Lie.jsx(Lie.Fragment,{}):Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsx(BFe,{className:"query-builder__result__container__item__data-type",children:Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Lie.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Lie.jsx(UFe,{})]})}),kVi=xoe(e=>{const{resultType:t}=e;return Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsx(BFe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__result__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Label"}),Lie.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Lie.jsx("tbody",{children:t.tdsColumns.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.name}),Lie.jsx("td",{className:"table__cell--left",children:e.type instanceof ZC&&(e.type.input??"")})]},e.name))})]}),Lie.jsx(UFe,{})]})}),OVi=xoe(e=>{const{resultType:t}=e;return Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsxs(BFe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Lie.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.property}),Lie.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Lie.jsx(UFe,{})]})}),LVi=xoe(e=>{const{resultType:t}=e;return t instanceof i2?Lie.jsx(DVi,{resultType:t}):t instanceof r2?Lie.jsx(kVi,{resultType:t}):t instanceof F2?Lie.jsx(OVi,{resultType:t}):null}),MVi=e=>{e.dispose(),e.getModel()?.dispose()},PVi=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=fut(),[m,f]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=MIn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Fln.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??CIn.BUILT_IN__VSCODE_LIGHT:CIn.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){PIn(m);const e=m.getModel();e&&Fln.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){b.current?.dispose(),b.current=m.onDidChangeModelContent(()=>{const e=DIn(m);e!==_&&i?.(e)});DIn(m)!==_&&m.setValue(_),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?OIn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):LIn())}return n.useEffect(()=>()=>{m&&(MVi(m),b.current?.dispose())},[m]),Lie.jsxs("div",{className:"code-editor",children:[!d&&Lie.jsx("div",{className:"code-editor__header",children:Lie.jsx("button",{tabIndex:-1,className:Noe("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:Lie.jsx(gre,{})})}),Lie.jsx("div",{className:Noe("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Lie.jsx("div",{className:"code-editor__body",ref:C})})]})},FVi=xoe(e=>{const{from:t,to:i,language:r}=e,s=fut(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Fln.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?CIn.BUILT_IN__VSCODE_LIGHT:CIn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Fln.createModel(c,r),t=Fln.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]),Lie.jsx("div",{className:"code-editor__container",children:Lie.jsx("div",{className:"code-editor__body",ref:l})})}),BVi=(e,t)=>e?Xs(e)?t?Xv(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Kv(e,void 0,2):JSON.stringify(e,void 0,2):"",VVi=xoe(e=>{const{from:t,to:n,lossless:i}=e;return Lie.jsx(FVi,{language:FIn.JSON,from:BVi(t,Boolean(i)),to:BVi(n,Boolean(i))})});var UVi,GVi={exports:{}},HVi=GVi.exports;var zVi=(UVi||(UVi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(HVi,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}})}(GVi)),GVi.exports),WVi=Qr(zVi),jVi=Object.defineProperty,$Vi=Object.defineProperties,qVi=Object.getOwnPropertyDescriptors,YVi=Object.getOwnPropertySymbols,KVi=Object.prototype.hasOwnProperty,XVi=Object.prototype.propertyIsEnumerable,ZVi=(e,t,n)=>t in e?jVi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QVi=(e,t)=>{for(var n in t||(t={}))KVi.call(t,n)&&ZVi(e,n,t[n]);if(YVi)for(var n of YVi(t))XVi.call(t,n)&&ZVi(e,n,t[n]);return e},JVi=(e,t)=>$Vi(e,qVi(t)),eUi={};((e,t)=>{for(var n in t)jVi(e,n,{get:t[n],enumerable:!0})})(eUi,{bigquery:()=>xUi,db2:()=>MUi,db2i:()=>zUi,hive:()=>ZUi,mariadb:()=>oGi,mysql:()=>gGi,n1ql:()=>NGi,plsql:()=>FGi,postgresql:()=>jGi,redshift:()=>JGi,singlestoredb:()=>qHi,snowflake:()=>tzi,spark:()=>aHi,sql:()=>wHi,sqlite:()=>mHi,tidb:()=>SGi,transactsql:()=>VHi,trino:()=>DHi});var tUi=e=>e.flatMap(nUi),nUi=e=>dUi(rUi(e)).map(iUi),iUi=e=>e.replace(/ +/g," ").trim(),rUi=e=>({type:"mandatory_block",items:sUi(e,0)[0]}),sUi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=oUi(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]},oUi=(e,t)=>{const n=[];for(;;){const[i,r]=aUi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},aUi=(e,t)=>{if("{"===e[t])return lUi(e,t+1);if("["===e[t])return cUi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},lUi=(e,t)=>{const[n,i]=sUi(e,t,"}");return[{type:"mandatory_block",items:n},i]},cUi=(e,t)=>{const[n,i]=sUi(e,t,"]");return[{type:"optional_block",items:n},i]},dUi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(dUi).reduce(uUi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(dUi);if("optional_block"===e.type)return["",...e.items.flatMap(dUi)];throw new Error(`Unknown node type: ${e}`)},uUi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},hUi=(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))(hUi||{}),pUi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),gUi=pUi(1/0),mUi=e=>t=>t.type===e.type&&t.text===e.text,fUi={ARRAY:mUi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:mUi({text:"BY",type:"RESERVED_KEYWORD"}),SET:mUi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:mUi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:mUi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:mUi({text:"VALUES",type:"RESERVED_CLAUSE"})},vUi=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,yUi=tUi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),bUi=tUi(["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"]),_Ui=tUi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),CUi=tUi(["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"]),SUi=tUi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),wUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),EUi=tUi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),xUi={name:"bigquery",tokenizerOptions:{reservedSelect:yUi,reservedClauses:[...bUi,...CUi,..._Ui],reservedSetOperations:SUi,reservedJoins:wUi,reservedPhrases:EUi,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=gUi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,JVi(QVi({},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((fUi.ARRAY(r)||fUi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=AUi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(TUi("raw")).join(""),text:s.map(TUi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[..._Ui,...CUi],tabularOnelineClauses:CUi}};var TUi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function AUi(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 RUi=tUi(["SELECT [ALL | DISTINCT]"]),NUi=tUi(["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"]),IUi=tUi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),DUi=tUi(["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"]),kUi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),OUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),LUi=tUi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),MUi={name:"db2",tokenizerOptions:{reservedSelect:RUi,reservedClauses:[...NUi,...IUi,...DUi],reservedSetOperations:kUi,reservedJoins:OUi,reservedPhrases:LUi,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:[...IUi,...DUi],tabularOnelineClauses:DUi}},PUi=tUi(["SELECT [ALL | DISTINCT]"]),FUi=tUi(["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"]),BUi=tUi(["CREATE [OR REPLACE] TABLE"]),VUi=tUi(["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}"]),UUi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),GUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),HUi=tUi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),zUi={name:"db2i",tokenizerOptions:{reservedSelect:PUi,reservedClauses:[...FUi,...BUi,...VUi],reservedSetOperations:UUi,reservedJoins:GUi,reservedPhrases:HUi,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:[...BUi,...VUi],tabularOnelineClauses:VUi}},WUi=tUi(["SELECT [ALL | DISTINCT]"]),jUi=tUi(["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"]),$Ui=tUi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),qUi=tUi(["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"]),YUi=tUi(["UNION [ALL | DISTINCT]"]),KUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),XUi=tUi(["{ROWS | RANGE} BETWEEN"]),ZUi={name:"hive",tokenizerOptions:{reservedSelect:WUi,reservedClauses:[...jUi,...$Ui,...qUi],reservedSetOperations:YUi,reservedJoins:KUi,reservedPhrases:XUi,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:[...$Ui,...qUi],tabularOnelineClauses:qUi}};function QUi(e){return e.map((t,n)=>{const i=e[n+1]||gUi;if(fUi.SET(t)&&"("===i.text)return JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||gUi;return fUi.VALUES(t)&&"="===r.text?JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var JUi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),eGi=tUi(["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"]),tGi=tUi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),nGi=tUi(["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"]),iGi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),rGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),sGi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),oGi={name:"mariadb",tokenizerOptions:{reservedSelect:JUi,reservedClauses:[...eGi,...tGi,...nGi],reservedSetOperations:iGi,reservedJoins:rGi,reservedPhrases:sGi,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:QUi},formatOptions:{onelineClauses:[...tGi,...nGi],tabularOnelineClauses:nGi}},aGi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),lGi=tUi(["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"]),cGi=tUi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),dGi=tUi(["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"]),uGi=tUi(["UNION [ALL | DISTINCT]"]),hGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),pGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),gGi={name:"mysql",tokenizerOptions:{reservedSelect:aGi,reservedClauses:[...lGi,...cGi,...dGi],reservedSetOperations:uGi,reservedJoins:hGi,reservedPhrases:pGi,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:QUi},formatOptions:{onelineClauses:[...cGi,...dGi],tabularOnelineClauses:dGi}},mGi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),fGi=tUi(["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"]),vGi=tUi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),yGi=tUi(["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"]),bGi=tUi(["UNION [ALL | DISTINCT]"]),_Gi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),CGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),SGi={name:"tidb",tokenizerOptions:{reservedSelect:mGi,reservedClauses:[...fGi,...vGi,...yGi],reservedSetOperations:bGi,reservedJoins:_Gi,reservedPhrases:CGi,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:QUi},formatOptions:{onelineClauses:[...vGi,...yGi],tabularOnelineClauses:yGi}},wGi=tUi(["SELECT [ALL | DISTINCT]"]),EGi=tUi(["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"]),xGi=tUi(["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"]),TGi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),AGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),RGi=tUi(["{ROWS | RANGE | GROUPS} BETWEEN"]),NGi={name:"n1ql",tokenizerOptions:{reservedSelect:wGi,reservedClauses:[...EGi,...xGi],reservedSetOperations:TGi,reservedJoins:AGi,reservedPhrases:RGi,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:xGi}},IGi=tUi(["SELECT [ALL | DISTINCT | UNIQUE]"]),DGi=tUi(["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"]),kGi=tUi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),OGi=tUi(["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"]),LGi=tUi(["UNION [ALL]","MINUS","INTERSECT"]),MGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),PGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),FGi={name:"plsql",tokenizerOptions:{reservedSelect:IGi,reservedClauses:[...DGi,...kGi,...OGi],reservedSetOperations:LGi,reservedJoins:MGi,reservedPhrases:PGi,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=gUi;return e.map(e=>fUi.SET(e)&&fUi.BY(t)?JVi(QVi({},e),{type:"RESERVED_KEYWORD"}):(vUi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...kGi,...OGi],tabularOnelineClauses:OGi}};var BGi=tUi(["SELECT [ALL | DISTINCT]"]),VGi=tUi(["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"]),UGi=tUi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),GGi=tUi(["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"]),HGi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),zGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),WGi=tUi(["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"]),jGi={name:"postgresql",tokenizerOptions:{reservedSelect:BGi,reservedClauses:[...VGi,...UGi,...GGi],reservedSetOperations:HGi,reservedJoins:zGi,reservedPhrases:WGi,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:[...UGi,...GGi],tabularOnelineClauses:GGi}},$Gi=tUi(["SELECT [ALL | DISTINCT]"]),qGi=tUi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),YGi=tUi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),KGi=tUi(["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"]),XGi=tUi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),ZGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),QGi=tUi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),JGi={name:"redshift",tokenizerOptions:{reservedSelect:$Gi,reservedClauses:[...qGi,...YGi,...KGi],reservedSetOperations:XGi,reservedJoins:ZGi,reservedPhrases:QGi,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:[...YGi,...KGi],tabularOnelineClauses:KGi}},eHi=tUi(["SELECT [ALL | DISTINCT]"]),tHi=tUi(["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"]),nHi=tUi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),iHi=tUi(["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"]),rHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),sHi=tUi(["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"]),oHi=tUi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),aHi={name:"spark",tokenizerOptions:{reservedSelect:eHi,reservedClauses:[...tHi,...nHi,...iHi],reservedSetOperations:rHi,reservedJoins:sHi,reservedPhrases:oHi,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]||gUi,r=e[n+1]||gUi;return fUi.WINDOW(t)&&"OPEN_PAREN"===r.type?JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:JVi(QVi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...nHi,...iHi],tabularOnelineClauses:iHi}};var lHi=tUi(["SELECT [ALL | DISTINCT]"]),cHi=tUi(["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"]),dHi=tUi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),uHi=tUi(["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"]),hHi=tUi(["UNION [ALL]","EXCEPT","INTERSECT"]),pHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),gHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),mHi={name:"sqlite",tokenizerOptions:{reservedSelect:lHi,reservedClauses:[...cHi,...dHi,...uHi],reservedSetOperations:hHi,reservedJoins:pHi,reservedPhrases:gHi,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:[...dHi,...uHi],tabularOnelineClauses:uHi}},fHi=tUi(["SELECT [ALL | DISTINCT]"]),vHi=tUi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),yHi=tUi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),bHi=tUi(["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"]),_Hi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),CHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),SHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),wHi={name:"sql",tokenizerOptions:{reservedSelect:fHi,reservedClauses:[...vHi,...yHi,...bHi],reservedSetOperations:_Hi,reservedJoins:CHi,reservedPhrases:SHi,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:[...yHi,...bHi],tabularOnelineClauses:bHi}},EHi=tUi(["SELECT [ALL | DISTINCT]"]),xHi=tUi(["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"]),THi=tUi(["CREATE TABLE [IF NOT EXISTS]"]),AHi=tUi(["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"]),RHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),NHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),IHi=tUi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),DHi={name:"trino",tokenizerOptions:{reservedSelect:EHi,reservedClauses:[...xHi,...THi,...AHi],reservedSetOperations:RHi,reservedJoins:NHi,reservedPhrases:IHi,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:[...THi,...AHi],tabularOnelineClauses:AHi}},kHi=tUi(["SELECT [ALL | DISTINCT]"]),OHi=tUi(["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}"]),LHi=tUi(["CREATE TABLE"]),MHi=tUi(["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"]),PHi=tUi(["UNION [ALL]","EXCEPT","INTERSECT"]),FHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),BHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),VHi={name:"transactsql",tokenizerOptions:{reservedSelect:kHi,reservedClauses:[...OHi,...LHi,...MHi],reservedSetOperations:PHi,reservedJoins:FHi,reservedPhrases:BHi,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:[...LHi,...MHi],tabularOnelineClauses:MHi}},UHi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),GHi=tUi(["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"]),HHi=tUi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),zHi=tUi(["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"]),WHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),jHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),$Hi=tUi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),qHi={name:"singlestoredb",tokenizerOptions:{reservedSelect:UHi,reservedClauses:[...GHi,...HHi,...zHi],reservedSetOperations:WHi,reservedJoins:jHi,reservedPhrases:$Hi,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:QUi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...HHi,...zHi],tabularOnelineClauses:zHi}},YHi=tUi(["SELECT [ALL | DISTINCT]"]),KHi=tUi(["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"]),XHi=tUi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),ZHi=tUi(["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"]),QHi=tUi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),JHi=tUi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),ezi=tUi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),tzi={name:"snowflake",tokenizerOptions:{reservedSelect:YHi,reservedClauses:[...KHi,...XHi,...ZHi],reservedSetOperations:QHi,reservedJoins:JHi,reservedPhrases:ezi,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:[...XHi,...ZHi],tabularOnelineClauses:ZHi}},nzi=e=>e[e.length-1],izi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),rzi=e=>e.replace(/\s+/gu," "),szi=e=>/\n/.test(e),ozi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),azi=/\s+/uy,lzi=e=>new RegExp(`(?:${e})`,"uy"),czi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),dzi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return lzi(i.map(ozi).join("|"))},uzi=e=>lzi(`${izi(e).map(ozi).join("|")}`),hzi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=izi(e).map(ozi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},pzi=(e,t)=>{if(!e.length)return;const n=e.map(ozi).join("|");return lzi(`(?:${n})(?:${t})`)},gzi={"``":"(?:`[^`]*`)+","[]":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,ozi(e)).replace(/{right}/g,ozi(t))),n=ozi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},mzi=e=>"string"==typeof e?gzi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(czi).join("|")}${t?"":"|"})`)(e)+gzi[e.quote],fzi=e=>e.map(mzi).join("|"),vzi=e=>lzi(fzi(e)),yzi=(e={})=>lzi(bzi(e)),bzi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=ozi(null!=e?e:""),a=ozi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function _zi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var Czi=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(JVi(QVi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=_zi(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(){azi.lastIndex=this.index;const e=azi.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}}},Szi=/\/\*/uy,wzi=/[\s\S]/uy,Ezi=/\*\//uy,xzi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(Szi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(Szi,e))n+=t,i++;else if(t=this.matchSection(Ezi,e))n+=t,i--;else{if(!(t=this.matchSection(wzi,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}},Tzi=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 Czi(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 xzi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(ozi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:vzi(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:hzi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:Azi},{type:"CASE",regex:/CASE\b/iuy,text:Azi},{type:"END",regex:/END\b/iuy,text:Azi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:Azi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:Azi},{type:"RESERVED_CLAUSE",regex:hzi(e.reservedClauses,e.identChars),text:Azi},{type:"RESERVED_SELECT",regex:hzi(e.reservedSelect,e.identChars),text:Azi},{type:"RESERVED_SET_OPERATION",regex:hzi(e.reservedSetOperations,e.identChars),text:Azi},{type:"WHEN",regex:/WHEN\b/iuy,text:Azi},{type:"ELSE",regex:/ELSE\b/iuy,text:Azi},{type:"THEN",regex:/THEN\b/iuy,text:Azi},{type:"RESERVED_JOIN",regex:hzi(e.reservedJoins,e.identChars),text:Azi},{type:"AND",regex:/AND\b/iuy,text:Azi},{type:"OR",regex:/OR\b/iuy,text:Azi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:Azi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:hzi(e.reservedFunctionNames,e.identChars),text:Azi},{type:"RESERVED_DATA_TYPE",regex:hzi(e.reservedDataTypes,e.identChars),text:Azi},{type:"RESERVED_KEYWORD",regex:hzi(e.reservedKeywords,e.identChars),text:Azi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,lzi(i.map(e=>"regex"in e?e.regex:mzi(e)).join("|"))):void 0},{type:"STRING",regex:vzi(e.stringTypes)},{type:"IDENTIFIER",regex:yzi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:dzi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:dzi("close",e.extraParens)},{type:"OPERATOR",regex:uzi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:uzi([".",...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:pzi(a.named,bzi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:pzi(a.quoted,fzi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(ozi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:pzi(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:lzi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},Azi=e=>rzi(e.toUpperCase()),Rzi=new Map,Nzi=e=>({tokenizer:new Tzi(e.tokenizerOptions,e.name),formatOptions:Izi(e.formatOptions)}),Izi=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 Dzi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var kzi=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 Ozi(e){return e.map(Lzi).map(Mzi).map(Pzi).map(Fzi).map(Bzi)}var Lzi=(e,t,n)=>{if(vUi(e.type)){const i=Vzi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw});const r=Uzi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw})}return e},Mzi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=Uzi(n,t);if(!i||!Gzi(i))return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw})}return e},Pzi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=Uzi(n,t);if(i&&Gzi(i))return JVi(QVi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},Fzi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=Uzi(n,t);if(i&&Hzi(i))return JVi(QVi({},e),{type:"ARRAY_IDENTIFIER"})}return e},Bzi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=Uzi(n,t);if(i&&Hzi(i))return JVi(QVi({},e),{type:"ARRAY_KEYWORD"})}return e},Vzi=(e,t)=>Uzi(e,t,-1),Uzi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&zzi(e[t+i*n]);)i++;return e[t+i*n]},Gzi=e=>"OPEN_PAREN"===e.type&&"("===e.text,Hzi=e=>"OPEN_PAREN"===e.type&&"["===e.text,zzi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,Wzi=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}=_zi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in hUi}};function jzi(e){return e[0]}var $zi=new Wzi(e=>[]),qzi=([[e]])=>e,Yzi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),Kzi=e=>({type:"data_type",text:e.text,raw:e.raw}),Xzi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=JVi(QVi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=JVi(QVi({},e),{trailingComments:n})),e),Zzi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[Xzi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,Xzi(i,{trailing:n})]}return e},Qzi={Lexer:$zi,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:[$zi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[$zi.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:qzi},{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:[$zi.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:jzi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[$zi.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:Xzi(Yzi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:Xzi(Yzi(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:[$zi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:Yzi(e),children:[t,...n]})},{name:"select_clause",symbols:[$zi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:Yzi(e),children:[]})},{name:"all_columns_asterisk",symbols:[$zi.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:[$zi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:Yzi(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:[$zi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:Yzi(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:jzi},{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])=>Xzi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>Xzi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>Xzi(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:qzi},{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:qzi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:qzi},{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:qzi},{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:qzi},{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:qzi},{name:"array_subscript",symbols:[$zi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:Xzi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[$zi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:Xzi(Yzi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[$zi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:Xzi(Yzi(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","_",$zi.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:Xzi(e,{trailing:t}),operator:n.text,property:Xzi(r,{leading:i})})},{name:"between_predicate",symbols:[$zi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",$zi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:Yzi(e),expr1:Zzi(n,{leading:t,trailing:i}),andKw:Yzi(r),expr2:[Xzi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:jzi},{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:[$zi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",$zi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:Xzi(Yzi(e),{trailing:t}),endKw:Yzi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[$zi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",$zi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:Xzi(Yzi(e),{trailing:t}),thenKw:Xzi(Yzi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[$zi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:Xzi(Yzi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[$zi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[$zi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[$zi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[$zi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[$zi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[$zi.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:[$zi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.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:[$zi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[$zi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>Yzi(e)},{name:"data_type$subexpression$1",symbols:[$zi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>Kzi(e)},{name:"data_type",symbols:[$zi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:Xzi(Kzi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[$zi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[$zi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[$zi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>Yzi(e)},{name:"other_keyword$subexpression$1",symbols:[$zi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>Yzi(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:[$zi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[$zi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[$zi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},Jzi=Qzi,{Parser:eWi,Grammar:tWi}=WVi;var nWi=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(;iWi(nzi(this.items));)this.items.pop()}trimWhitespace(){for(;rWi(nzi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(nzi(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}}},iWi=e=>0===e||6===e,rWi=e=>0===e||6===e||3===e;function sWi(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 oWi(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 aWi="top-level",lWi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(aWi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&nzi(this.indentTypes)===aWi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==aWi)break}}},cWi=class extends nWi{constructor(e){super(new lWi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new dWi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new dWi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},dWi=class extends Error{},uWi=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),Dzi(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):Dzi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return Dzi(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(),Dzi(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){szi(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 szi(e.text)||szi(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(nzi(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 cWi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof dWi)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){Dzi(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?Dzi(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 oWi(e.tokenType)?sWi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return rzi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return oWi(e.tokenType)?sWi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return rzi(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 rzi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},hWi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new kzi(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 Wzi(n=>[...Ozi(e.tokenize(n,t)),pUi(n.length)]),i=new eWi(tWi.fromCompiled(Jzi),{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 uWi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new nWi(new lWi((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()}},pWi=class extends Error{};function gWi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new pWi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new pWi(`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 pWi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var mWi={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"},fWi=Object.keys(mWi),vWi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},yWi=(e,t={})=>{if("string"==typeof t.language&&!fWi.includes(t.language))throw new pWi(`Unsupported SQL dialect: ${t.language}`);const n=mWi[t.language||"sql"];return bWi(e,JVi(QVi({},t),{dialect:eUi[n]}))},bWi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)KVi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&YVi)for(var i of YVi(e))t.indexOf(i)<0&&XVi.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=gWi(QVi(QVi({},vWi),r));return new hWi((e=>{let t=Rzi.get(e);return t||(t=Nzi(e),Rzi.set(e,t)),t})(i),s).format(e)};const _Wi=console.error;function CWi(e){return AG_GRID_LICENSE&&Emi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Lie.jsx(emi,{theme:"legacy",...e,modules:[Gpi,Lki],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=_Wi)}})}class SWi{uuid=ho()}const wWi=(e,t,n)=>{const i=new Yw(sS(t)),r=gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof nPi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof iPi){const t=gPi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},EWi=(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],Kw,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new rPi(e,i),o=t}else if(lS(t.functionName,bpt.EXISTS)){const i=js(t.parametersValues[1],Qw),a=js(i.values[0],Zw),l=js(a.expressionSequence[0],Yw);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],Kw,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new rPi(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 Kw?s.setRightConditionValue(new iPi(s,new mMi(e.queryBuilderState,t))):s.setRightConditionValue(new nPi(s,Xpt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new nPi(s,i.getDefaultFilterConditionValue(s))),s}};class xWi extends SWi{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 NS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return Wpt(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 oMi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_EQUAL])}}class TWi extends xWi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_EQUAL])}}class AWi extends SWi{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 NS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof nPi){const i=n.value;if(i instanceof Vw){if(0===i.values.length)return!0;const n=Vpt(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 Mw)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 Vw(nS.ONE,vS.create(new wS(t)))}buildFilterConditionExpression(e,t){return wWi(e,bpt.IN,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.IN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IN])}}class RWi extends AWi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_IN])}}class NWi extends SWi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!zpt(e.propertyExpressionState.propertyExpression)&&(t instanceof NS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return wWi(e,bpt.IS_EMPTY,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.IS_EMPTY,this,!0)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IS_EMPTY])}}class IWi extends NWi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const DWi=e=>{try{return yWi(e,{language:"mysql"})}catch{try{return yWi(e)}catch{return e}}},kWi=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},OWi=new xWi,LWi=new TWi,MWi=new AWi,PWi=new RWi,FWi=new NWi,BWi=new IWi,VWi=new QPi,UWi=new YPi,GWi=new XPi,HWi=new ZPi,zWi=new JPi,WWi=new KPi,jWi=(e,t,n)=>{t.value&&Lpt(e,e instanceof Bw?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},$Wi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?FWi:OWi:null===t.value?BWi:LWi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(dPi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[FWi,BWi]:t?[OWi,MWi]:[LWi,PWi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===FWi||i===BWi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?FWi:BWi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof nPi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof Pw&&(a.value instanceof Bw?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);jWi(i,n,s),o.changeOperator(t?MWi:PWi),Mpt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof Pw&&a.value.values.filter(e=>e instanceof Pw).map(e=>e instanceof Bw?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?OWi:LWi).getDefaultFilterConditionValue(o);jWi(e,n,s),Mpt(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 rPi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),jWi(e,n,i.queryBuilderState),i.addNodeFromNode(new dPi(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)}},qWi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?GWi:VWi:null===t.value?HWi:zWi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(GPi)).filter(e=>e.condition.leftConditionValue instanceof bMi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[GWi,HWi]:t?[VWi,UWi]:[zWi,WWi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===GWi||i===HWi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?GWi:HWi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof WPi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof Pw&&(a.value instanceof Bw?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);jWi(i,n,s.queryBuilderState),o.changeOperator(t?UWi:WWi),Mpt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof Pw&&a.value.values.filter(e=>e instanceof Pw).map(e=>e instanceof Bw?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?VWi:zWi).getDefaultFilterConditionValue(o);jWi(e,n,s.queryBuilderState),Mpt(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 $Pi(i.postFilterState,e,t),r instanceof SMi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),jWi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new GPi(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)}},YWi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?GMi(r,n.columnName):void 0;s instanceof SMi||s instanceof EMi||s instanceof _Mi&&ePi(s.propertyExpressionState.propertyExpression)?await qWi(e,t,n,i,s,r):s instanceof _Mi?$Wi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},KWi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await YWi(e,n,r,t,i)},XWi=xoe(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=fut(),a=n?.columnName?GMi(i,n.columnName):void 0;return Lie.jsxs(CFe,{ref:t,children:[Lie.jsx(SFe,{disabled:!a,onClick:()=>{KWi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Lie.jsx(SFe,{disabled:!a,onClick:()=>{KWi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Lie.jsx(wFe,{}),Lie.jsx(SFe,{onClick:r,children:"Copy Cell Value"}),Lie.jsx(SFe,{onClick:s,children:"Copy Row Value"})]})})),ZWi=xoe(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"query-builder__sql__container",children:[Lie.jsx(UFe,{}),Lie.jsxs("div",{children:[Lie.jsx("div",{className:"query-builder__sql__container__item__label",children:Lie.jsxs(BFe,{children:["SQL",Lie.jsx("div",{children:Lie.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:Lie.jsx(Kre,{})})})]})}),Lie.jsx("div",{className:"query-builder__sql__container__code-editor",children:Lie.jsx(PVi,{inputValue:DWi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:FIn.SQL})}),Lie.jsx(UFe,{})]},t)]}),n.length>0&&Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__sql__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Label"}),Lie.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Lie.jsx("tbody",{children:n.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Lie.jsx("td",{className:"table__cell--left",children:sY(e.dataType)})]},e.label))})]})]})})]})}),QWi=xoe(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Lie.jsx(ZWi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Lie.jsxs(FFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(ZWi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),JWi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Lie.jsxs("div",{className:n,children:[Lie.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Lie.jsx("div",{className:`${n}__tag`,children:t.value.path}),Lie.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},eji=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 nE?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tE&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),h=c?tBi(c):Lie.jsx(Txe,{}),p=()=>r?.(t);return Lie.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Lie.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Lie.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Lie.jsx(Ise,{})})})]})},tji=xoe(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Lie.jsx(ebe,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Lie.jsx(gFe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Lie.jsx(fFe,{className:"query-builder-graph-fetch-config__content",children:Lie.jsx(kFe,{children:Lie.jsxs(VFe,{children:[Lie.jsx(zFe,{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}),Lie.jsx(zFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Lie.jsx(jFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Lie.jsx(jFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Lie.jsx(jFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Lie.jsx(jFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Lie.jsx(jFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Lie.jsx(jFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Lie.jsxs(vFe,{children:[!s&&Lie.jsx(bFe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Lie.jsx(bFe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),nji=xoe(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>QFi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Lie.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Lie.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Lie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Lie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Lie.jsx(Lre,{})}),Lie.jsx(cFe,{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:JWi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Lie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Lie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Lie.jsx(ase,{})}),Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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"):(mVi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),iji=xoe(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(pX)).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=>[...ax(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Lie.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Lie.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(yVi).map(e=>{return Lie.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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case yVi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new EVi(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 yVi.PURE:default:t.setSerializationState(new wVi(t))}})},{label:"Cancel",type:Qut.PROCEED,default:!0}]})}),className:Noe("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:qv(e)},e);var r})}),Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof wVi&&Lie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Lie.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof wVi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Lie.jsx(vre,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Lie.jsxs("div",{className:Noe("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Lie.jsx("button",{className:Noe("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Lie.jsx(zre,{}):Lie.jsx(Rse,{})}),Lie.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Lie.jsx(hse,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof wVi&&n.configModal&&Lie.jsx(tji,{pureSerializationState:n,graphFetchState:t,config:n.config??CVi.createDefault()}),Lie.jsxs(pGe,{orientation:"horizontal",children:[Lie.jsx(gGe,{children:Lie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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=>{mVi(i,e),0===i.nodes.size&&t.setSerializationState(new wVi(t)),n instanceof EVi&&n.treeData?.nodes.get(e.id)&&(mVi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Lie.jsx(mGe,{}),n instanceof EVi&&n.treeData&&Lie.jsx(gGe,{children:Lie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Lie.jsx(nji,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),rji=xoe(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof EVi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=zVe(()=>({accept:[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{hpt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Lie.jsxs(pUe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||hVi(r))&&Lie.jsx(KFe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!hVi(r)&&Lie.jsx(iji,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),sji=xoe(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof wVi||n instanceof EVi?Lie.jsx(rji,{graphFetchTreeState:t,serializationState:n}):Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_GRAPH_FETCH,children:Lie.jsx(qFe,{children:Lie.jsxs("div",{className:"unsupported-element-editor__main",children:[Lie.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Lie.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(NVi.TEXT),children:"Edit in text mode"})]})})})}),oji=xoe(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tE?i=uVi(js(t.graphFetchTree,tE),!0):t.graphFetchTree instanceof nE&&(i=(e=>{const t=[],n=new Map,i=cVi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tE(XC.create(new ES("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Lie.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Checked"}),Lie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Store"}),Lie.jsx("td",{className:"table__cell--left",children:t.store})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Lie.jsx(UFe,{}),i&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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}})})}),Lie.jsx(UFe,{})]}),t.xStorePropertyFetchDetails&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" subTree "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof F2&&Lie.jsx(OVi,{resultType:t.resultType}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})})}),aji=xoe(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Lie.jsxs(FFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Name"}),Lie.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Lie.jsx("tbody",{children:t.map(e=>{return Lie.jsx(n.Fragment,{children:Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.name}),Lie.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})})]})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),lji=xoe(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 Lie.jsxs(FFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Lie.jsx("div",{className:"query-builder__constant__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx("pre",{children:Lie.jsx("div",{className:"query-builder__constant__container__item",children:Lie.jsxs("div",{children:["value: ",r]})})})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__constant__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),cji=xoe(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Lie.jsxs(FFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx("div",{className:"query-builder__allocation__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__allocation__container__item",children:Lie.jsx("table",{className:"query-builder__allocation__container__table",children:Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{children:"varName"}),Lie.jsx("td",{children:`: ${i}`})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{children:"realizeInMemory"}),Lie.jsx("td",{children:`: ${s}`})]})]})})})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:r}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof U1&&Lie.jsx(lji,{cnode:t.executionNodes[0],executionPlanState:n}),Lie.jsx(UFe,{})]})}),dji=xoe(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Lie.jsx("div",{}):o?Lie.jsx(Vse,{}):Lie.jsx(Gse,{});return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__sequence__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Lie.jsx(UFe,{}),t.executionNodes.map((e,t)=>Lie.jsx("div",{className:"query-builder__sequence__container__item",children:Lie.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 Iji?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof Dji&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${Sji(e)}`,children:[!r&&l,`${t+1}: ${Sji(e)}`]})},e._UUID))]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:s}),!1===r&&o&&Lie.jsx(Tji,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),uji=xoe(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Lie.jsx(dji,{node:t,executionPlanState:n,viewJson:i}):Lie.jsxs(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(dji,{node:t,executionPlanState:n,viewJson:i}),Lie.jsx("div",{className:"query-builder__execution__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),hji=xoe(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Lie.jsxs(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),pji=xoe(e=>{const{node:t,executionPlanState:n}=e;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof g2&&t.implementation.executionClassFullName&&Lie.jsx("div",{className:"query-builder__implementation__container__item",children:Lie.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,S5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Mji.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof g2&&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 gji;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(gji||(gji={}));const mji=xoe(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof Y2?i=gji.RESULT_SET:t instanceof J2&&(i=gji.TEMP_FILE),t instanceof Z2&&(i=gji.SUB_QUERY),Lie.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Lie.jsxs(BFe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${Sji(t.createTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${Sji(t.loadTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${Sji(t.dropTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{})]})});var fji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(fji||(fji={}));const vji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(fji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(fji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===fji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Lie.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Checked"}),Lie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===fji.TEMP_TABLE&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var yji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(yji||(yji={}));const bji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(yji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(yji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===yji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===yji.TEMP_TABLE&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var _ji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(_ji||(_ji={}));const Cji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(_ji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(_ji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===_ji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===_ji.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===_ji.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),Sji=e=>e instanceof qq?"SQL Execution Node":e instanceof Xq?"Relational TDS Instantiation Execution Node":e instanceof P1?"Function Parameters Validation Node":e instanceof V1?`Allocation Execution Node (${e.varName})`:e instanceof U1?"Constant Execution Node":e instanceof G1?"Sequence Execution Node":e instanceof _2?"Store Mapping Global Graph Fetch Execution Node":e instanceof I2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof t4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof x2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof k2?"Pure Expression Platform Execution Node":"Other",wji=xoe(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof g2&&(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}`)),Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Mji).map(e=>Lie.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:qv(e)},e))})}),t.globalImplementationSupportState.selectedTab===Mji.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof g2&&Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{minSize:30,size:400,children:Lie.jsx(FFe,{darkMode:r,className:"query-builder__java__container__panel",children:Lie.jsx("div",{className:"query-builder__java__container",children:Lie.jsxs("div",{children:[n.classes.map(e=>Lie.jsx("div",{className:Noe("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Lie.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)),Lie.jsx(UFe,{})]})})})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:"var(--color-dark-grey-200)"})}),Lie.jsx(gGe,{children:t.globalImplementationSupportState.selectedJavaClass&&Lie.jsx(PVi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:FIn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Mji.GENERAL&&i.length>0&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Lie.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Lie.jsx("div",{className:"query-builder__template--function--editor__code",children:Lie.jsx(PVi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:FIn.XML,hideMinimap:!0,hideActionBar:!0})}),Lie.jsx("div",{className:"query-builder__template--function--editor__json",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Lji.JSON),text:"View JSON"})})]})]})})}),Eji=xoe(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{});let o="",a="";return t instanceof Dji&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof _2?o="Cross":t.executionNode instanceof S2&&(o="Local")),a=(e=>{if(e instanceof _2||e instanceof S2){if(e.graphFetchTree instanceof tE)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nE)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Lie.jsxs("div",{className:Noe("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:[Lie.jsx("div",{className:"tree-view__node__icon",children:Lie.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Lie.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Lie.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Lie.jsx("div",{className:"execution-plan-viewer__node__type",children:Lie.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Lie.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),xji=xoe(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof Iji){const n=e.executionPlan.rootExecutionNode,i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)}else if(e instanceof Dji){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof _2){const n=e.executionNode.localGraphFetchExecutionNode,i=kji(n,Sji(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof w2&&e.executionNode.children.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Lie.jsx(FOe,{components:{TreeNodeContainer:Eji},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 Iji?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof Dji&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),Tji=xoe(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof qq?Lie.jsx(QWi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Xq?Lie.jsx(hji,{node:t,executionPlanState:n}):t instanceof P1?Lie.jsx(aji,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof V1?Lie.jsx(cji,{node:t,executionPlanState:n}):t instanceof U1?Lie.jsx(lji,{cnode:t,executionPlanState:n}):t instanceof G1?Lie.jsx(uji,{node:t,executionPlanState:n,viewJson:i}):t instanceof _2?Lie.jsx(oji,{storeMappingNode:t,executionPlanState:n}):t instanceof t4?Lie.jsx(Cji,{node:t,executionPlanState:n}):t instanceof I2?Lie.jsx(vji,{node:t,executionPlanState:n}):t instanceof x2?Lie.jsx(bji,{node:t,executionPlanState:n}):Lie.jsx(qFe,{children:Lie.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Lie.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Lie.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),children:"View JSON"})]})})}),Aji=xoe(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof Iji?r=i.selectedNode.executionPlan:i.selectedNode instanceof Dji&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof Iji&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Lji);return Lie.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Lie.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Lie.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Lie.jsx(AFe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Lie.jsx(CFe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Lie.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Lie.jsx(SFe,{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:Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Lie.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Lji.JSON&&Boolean(t)&&Lie.jsx(PVi,{inputValue:t,isReadOnly:!0,language:FIn.JSON,hideMinimap:!0}),i.viewMode===Lji.FORM&&Lie.jsxs(Lie.Fragment,{children:[r instanceof $q&&Lie.jsx(Tji,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof S5&&Lie.jsx(wji,{executionPlanState:i})]})]})]})})}),Rji=xoe(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Lie.jsx("div",{className:"execution-plan-viewer__content",children:i?Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{size:300,minSize:300,children:Lie.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Lie.jsx(LFe,{darkMode:r,title:"execution plan explorer"}),Lie.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Lie.jsx(xji,{executionPlanState:t,executionPlan:i})})]})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Lie.jsx(gGe,{children:Lie.jsx(Aji,{displayData:t.displayData,executionPlanState:t})})]}):Lie.jsx(PVi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:FIn.JSON})})}),Nji=xoe(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(Mji.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Lie.jsx(ebe,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{className:"editor-modal",darkMode:r,children:[Lie.jsx(gFe,{title:"Execution Plan"}),Lie.jsx(fFe,{children:t.debugText?Lie.jsxs(pGe,{orientation:"horizontal",children:[Lie.jsx(gGe,{minSize:100,children:Lie.jsx(Rji,{executionPlanState:t,rawPlan:i})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Lie.jsx(gGe,{size:200,minSize:28,children:Lie.jsxs(kFe,{className:"panel execution-plan-viewer__debug-panel",children:[Lie.jsx(OFe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Lie.jsx(FFe,{children:Lie.jsx(PVi,{inputValue:t.debugText,isReadOnly:!0,language:FIn.TEXT})})]})})]}):Lie.jsx(Rji,{executionPlanState:t,rawPlan:i})}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class Iji{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class Dji{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const kji=(e,t,n)=>{const i=new Dji(e._UUID,t,e,n instanceof Dji?Sji(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)}),e instanceof _2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)})),e instanceof w2&&e.children.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},Oji=e=>{const t=[],n=new Map,i=(e=>{const t=new Iji("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 Lji,Mji;!function(e){e.FORM="Form",e.JSON="JSON"}(Lji||(Lji={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Mji||(Mji={}));class Pji{selectedTab=Mji.GENERAL;selectedJavaClass=void 0;constructor(){Hh(this,{selectedTab:ru,selectedJavaClass:ru,setSelectedTab:hh,setSelectedJavaClass:hh})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class Fji{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Lji.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Pji;constructor(e,t){Hh(this,{displayData:ru,displayDataJson:ru,viewMode:ru,rawPlan:ru,plan:ru,debugText:ru,treeData:ru,setExecutionPlanDisplayData:hh,setExecutionPlanDisplayDataJson:hh,transformMetadataToProtocolJson:hh,setSelectedNode:hh,setRawPlan:hh,setPlan:hh,setViewMode:hh,setDebugText:hh,setTreeNode:hh,setTreeData:hh,refreshTreeData:hh,nonNullableTreeData:lu,initialize:hh,globalImplementationSupportState:ru}),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(Oji(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 S5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof $q){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const Bji=e=>Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Lie.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:Lie.jsx(pre,{})}),Lie.jsx("div",{children:e.displayName})]}),Vji=(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:Bji}}:{};default:return{}}}return{}},Uji=xoe(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)&&ag(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 RZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof RZ)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 Lie.jsx(TFe,{content:(()=>{if(i instanceof HFi){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 RZ))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 Lie.jsx(XWi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof HFi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Lie.jsx("div",{className:Noe("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?Lie.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Lie.jsx("span",{children:Zs(s)?Intl.NumberFormat(BFi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),Gji=xoe(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,...Vji(t,e),cellRenderer:Uji,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Lie.jsx("div",{className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Lie.jsx(CWi,{rowData:kWi(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 Hji;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(Hji||(Hji={}));const zji=(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"]}}},Wji=xoe(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&ag(n)?n:void 0;return Lie.jsx("div",{className:Noe("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?Lie.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Lie.jsx("span",{children:Zs(n)?Intl.NumberFormat(BFi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),jji=(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}}},$ji=xoe(e=>{const{executionResult:t,queryBuilderState:i}=e,r=fut(),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:Wji,cellRendererParams:{resultState:t,tdsExecutionResult:e},...zji(e,n),...Vji(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:Wji,cellRendererParams:{resultState:t,tdsExecutionResult:e},...jji(e,n),...Vji(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 HFi&&(t=[{name:"Filter By",action:()=>{KWi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{KWi(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),Hji.WAVG)},[d.wavgAggregationState,l]),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Lie.jsxs("div",{className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Lie.jsx(CWi,{rowData:kWi(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 Kji),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}):Lie.jsx(CWi,{rowData:kWi(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&&Lie.jsx(ebe,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Lie.jsx(gFe,{title:"Applying Weighted Average"}),Lie.jsxs(fFe,{children:[Lie.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Lie.jsx(cFe,{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})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var qji;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(qji||(qji={}));class Yji{applicationStore;selectedTab=qji.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){Hh(this,{selectedTab:ru,lineageData:ru,isLineageViewerOpen:ru,selectedPropertyOwnerNode:ru,selectedProperty:ru,selectedSourcePropertiesMap:ru,setSelectedTab:hh,setLineageData:hh,setIsLineageViewerOpen:hh,setSelectedPropertyOwnerNode:hh,setSelectedProperty:hh,setSelectedSourcePropertiesMap:hh,clearPropertySelections:hh}),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 Kji{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){Hh(this,{isApplyingWavg:ru,weightedColumnIdPairs:ru,setIsApplyingWavg:hh,addWeightedColumnIdPair:hh,removeWeightedColumnIdPair:hh}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class Xji{queryBuilderState;executionPlanState;exportState=h_.create();previewLimit=1e3;pressedRunQuery=h_.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){Hh(this,{executionResult:ru,executionTraceId:ru,previewLimit:ru,executionDuration:ru,latestRunHashCode:ru,queryRunPromise:ru,isGeneratingPlan:ru,selectedCells:ru,mousedOverCell:ru,isRunningQuery:ru,isSelectingCells:ru,isQueryUsageViewerOpened:ru,isExecutionResultOverflowing:ru,gridConfig:ru,wavgAggregationState:ru,executionError:ru,setGridConfig:hh,setWavgAggregationState:hh,setIsSelectingCells:hh,setIsRunningQuery:hh,setExecutionResult:hh,setExecutionTraceId:hh,setExecutionDuration:hh,setPreviewLimit:hh,addSelectedCell:hh,setSelectedCells:hh,setMouseOverCell:hh,setQueryRunPromise:hh,setIsQueryUsageViewerOpened:hh,setIsExecutionResultOverflowing:hh,handlePreConfiguredGridConfig:hh,updatePreviewLimitInConfig:hh,setExecutionError:hh,exportData:Nh,runQuery:Nh,cancelQuery:Nh,generatePlan:Nh,generateLineage:Nh}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new Fji(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Yji(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 HFi&&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 RZ&&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===Hji.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 Kji,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=DPi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=t8(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return SPi(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});hpt.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:CPi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(QQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=a3(this.queryBuilderState.graphManagerState.graph);ept(s,`result.${Zp(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());hpt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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=CPi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);hpt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new p_,s=a3(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,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),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());hpt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof SQ&&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(y_.create(sE.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 p_,r=a3(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){hpt.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 hpt.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(rpt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?hpt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):hpt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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(y_.create(sE.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Zji{queryBuilderState;rawLambda;lambdaError;constructor(e){Hh(this,{rawLambda:ru,lambdaError:ru,setRawLambda:hh,setLambdaError:hh,hashCode:lu}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return $y([Zpt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Qji="QUERY_BUILDER_FUNCTION",Jji=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,e$i=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&Jji(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),t$i=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),n$i=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Jji(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=>e$i(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>t$i(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)})},i$i=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=Jji(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=e$i(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},r$i=(e,t,n,i=xC.MAIN)=>(n$i(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(dFe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),s$i=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat(s$i(e.package))):[];class o$i{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){Hh(this,{functionAnalysisInfo:ru}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class a$i{initState=h_.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){Hh(this,{functionExplorerStates:ru.ref,setFunctionExplorerStates:hh,dependencyFunctionExplorerStates:ru.ref,setDependencyFunctionExplorerStates:hh,treeData:ru.ref,dependencyTreeData:ru.ref,_functionGraph:ru,functionInfoMap:ru,dependencyFunctionInfoMap:ru,packagePathToFunctionInfoMap:ru,setFunctionInfoMap:hh,setDependencyFunctionInfoMap:hh,setTreeData:hh,setPackagePathToFunctionInfoMap:hh,setDependencyTreeData:hh,refreshTree:hh,onTreeNodeSelect:hh,initializeTreeData:hh}),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=>ux(this._functionGraph,e.packagePath,void 0)).map(e=>s$i(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>ux(this._functionGraph,e.packagePath,void 0)).map(e=>s$i(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,n$i(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(Mx(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;Mx(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(i$i([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new o$i(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(i$i([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new o$i(this,e)):[])}),this.initState.pass())}}class l$i extends xPi{queryBuilderState;selectedParameter;constructor(e){super(),Hh(this,{parameterValuesEditorState:ru,parameterStates:ru,addParameter:hh,removeParameter:hh,setParameters:hh,selectedParameter:ru,setSelectedParameter:hh,hashCode:_d}),this.queryBuilderState=e}get hashCode(){return $y([Zpt.PARAMETERS_STATE,$y(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class c$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_GREATER_THAN])}}class d$i extends SWi{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 oMi(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 wWi(e,bpt.STARTS_WITH,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.STARTS_WITH,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_START_WITH])}}class u$i extends d$i{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_START_WITH])}}class h$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class p$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class g$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_LESS_THAN])}}class m$i extends SWi{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 oMi(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 wWi(e,bpt.ENDS_WITH,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.ENDS_WITH,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_END_WITH])}}class f$i extends m$i{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_END_WITH])}}class v$i extends SWi{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 oMi(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 wWi(e,bpt.CONTAINS,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.CONTAINS,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_CONTAIN])}}class y$i extends v$i{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_CONTAIN])}}var b$i;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(b$i||(b$i={}));class _$i{changeDetectionState;initialQuery;currentQuery;mode=b$i.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){Hh(this,{mode:ru,initialQueryGrammarText:ru,currentQueryGrammarText:ru,setMode:hh,generateGrammarDiff:Nh}),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 C$i{querybuilderState;initState=h_.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){Hh(this,{diffViewState:ru,querySnapshot:ru,hashCodeSnapshot:ru,hasChanged:lu,initialize:hh,showDiffViewPanel:hh,hideDiffViewPanel:hh}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new _$i(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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Qut.PROCEED,default:!0}]}):e()}}const S$i=e=>e instanceof Mw?`${_C}${e.name}`:e instanceof Fw&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof Fw&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",w$i=(e,t)=>{const n=Dx(e,t.graphManagerState.graph);return Lie.jsx("div",{className:Noe("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Lie.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},E$i=xoe(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=fut(),o=dPe({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:w$i(e,t)})),l=t.class?{value:t.class,label:w$i(t.class,t)}:null;return Lie.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Lie.jsx(cFe,{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:eBi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),x$i=e=>({value:e,label:e instanceof qj?e.packageableRuntime.value.name:"custom"}),T$i=e=>function(t){if(t.value instanceof qj){const n=t.value;return eBi(e)(QFi(n.packageableRuntime.value))}return t.value instanceof qj?t.value.packageableRuntime.value.name:Lie.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Lie.jsx(qre,{}),Lie.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},A$i=xoe(e=>{const{queryBuilderState:t}=e,n=fut(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(QFi).sort(dFe),s=t.executionContextState.mapping?QFi(t.executionContextState.mapping):null,o=dPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new qj(XC.create(e))).map(x$i).sort(dFe),l=t.executionContextState.runtimeValue?x$i(t.executionContextState.runtimeValue):null,c=dPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof qj?e.data.value.packageableRuntime.value.path:"custom"});return Lie.jsxs("div",{className:"query-builder__setup__config-group",children:[Lie.jsx(OFe,{title:"properties"}),Lie.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Lie.jsx(cFe,{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:eBi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Lie.jsx(cFe,{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:T$i({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Lie.jsx("div",{className:"query-builder__setup__config-group__item",children:Lie.jsx(E$i,{queryBuilderState:t,classes:i})})]})]})}),R$i=xoe(e=>{const{queryBuilderState:t,children:n}=e,i=fut().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Lie.jsx(Lie.Fragment,{});return Lie.jsxs("div",{className:Noe("query-builder__side-bar",t.sideBarClassName),children:[Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Lie.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Lie.jsx(A$i,{queryBuilderState:t})})}),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Lie.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class N$i{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class I$i extends N$i{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${S$i(this.getMilestoningDate(0))}, Business Date: ${S$i(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 Mw?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof Mw?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=nMi(bpt.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 Jw(()=>Gs(js(n,Kw).parametersValues[1]));let o;return e&&n&&!t?o=new Jw(()=>Gs(n.parametersValues[1])):(o=new Jw(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new Jw(()=>Gs(js(s.propertyExpression.parametersValues[0],Kw).parametersValues[1]));let o;return e&&n&&!t?o=new Jw(()=>Gs(n.parametersValues[2])):(o=new Jw(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class D$i extends N$i{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${S$i(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 Mw?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=nMi(bpt.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new Jw(()=>Gs(n.parametersValues[1])):new Jw(()=>Gs(n.parametersValues[2]));{const n=new Jw(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class k$i extends N$i{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${S$i(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 Mw?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=nMi(bpt.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new Jw(()=>Gs(n.parametersValues[1]));{const n=new Jw(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class O$i{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){Hh(this,{processingDate:ru,businessDate:ru,startDate:ru,endDate:ru,showMilestoningEditor:ru,setProcessingDate:hh,setBusinessDate:hh,setStartDate:hh,setEndDate:hh,setShowMilestoningEditor:hh,clearMilestoningDates:hh,setAllVersions:hh,setAllVersionsInRange:hh,initializeAllVersionsInRangeParameters:hh,clearAllVersionsInRangeParameters:hh,clearGetAllParameters:hh,isAllVersionsEnabled:lu,isAllVersionsInRangeEnabled:lu,isMilestonedQuery:lu,hashCode:lu}),this.queryBuilderState=e,this.milestoningImplementations.push(new D$i(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new k$i(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new I$i(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof HFi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof _Mi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)}):e instanceof EMi&&e.projectionColumnState instanceof _Mi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof dPi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)}):e instanceof lPi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==fx(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=fx(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?une(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?une(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?une(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?une(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof Mw&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,Mw).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof Mw&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,Mw).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof Fw&&this.setBusinessDate(void 0),this.processingDate instanceof Fw&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof Mw&&!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 Mw&&!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=fx(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new Mw(e,nS.ONE,vS.create(new wS(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 wPi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new Mw(e,nS.ONE,vS.create(new wS(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 wPi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof Mw){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 Mw){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Kpt(e,this.businessDate),n=!!this.processingDate&&Kpt(e,this.processingDate),i=!!this.startDate&&Kpt(e,this.startDate),r=!!this.endDate&&Kpt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof Mw&&(t=e.name===js(this.businessDate,Mw).name),this.processingDate instanceof Mw&&(t=t||e.name===js(this.processingDate,Mw).name),this.startDate instanceof Mw&&(t=t||e.name===js(this.startDate,Mw).name),this.endDate instanceof Mw&&(t=t||e.name===js(this.endDate,Mw).name),t}get hashCode(){return $y([Zpt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var L$i;!function(e){e.COMPILE="query-builder.compile"}(L$i||(L$i={}));const M$i={[L$i.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class P$i{queryBuilderState;value;constructor(e){Hh(this,{value:ru,setValue:hh,hashCode:lu}),this.queryBuilderState=e}getDefaultValue(){return new Fw(vS.create(new wS(gS.STRING)))}setValue(e){this.value=e?une(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Kpt(e,this.value)}get hashCode(){return $y([Zpt.WATERMARK_STATE,this.value??""])}}class F$i{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return $y([Zpt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new Fw(vS.create(new wS(gS.STRING)));e.values=[this.variable.name];const t=new Yw(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class B$i extends F$i{value;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,value:ru,setValueSpec:hh,changeValSpecType:hh}),this.value=une(n,this.queryBuilderState.observerContext),une(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=oMi(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 Mw)throw new qr("Can not assign a parameter to another parameter");this.value=une(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Apt(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return $y([Zpt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class V$i extends vMi{queryBuilderState;calculatedState;convertingLambdaToStringState=h_.create();constructor(e){super("",""),Hh(this,{calculatedState:ru,convertingLambdaToStringState:ru,buildEmptyValueSpec:ru}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(aMi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Gte([apt.QUERY_BUILDER,apt.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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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(y_.create(sE.PARSING_FAILURE),e)}}}class U$i extends F$i{value;lambdaState;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,lambdaState:ru,value:ru,setLambdaState:hh,setValue:hh}),this.value=n,this.lambdaState=new V$i(this),une(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new Lw(this.value)}}class G$i{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,Hh(this,{constants:ru,showConstantPanel:ru,selectedConstant:ru,addConstant:hh,removeConstant:hh,setShowConstantPanel:hh,setSelectedConstant:hh,convertToCalculated:hh})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){wo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof Mw&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new U$i(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 $y([Zpt.CONSTANT_STATE,$y(this.constants)])}}var H$i;!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"}(H$i||(H$i={}));class z$i{uuid=ho();specification;entitlementReport;constructor(e){Hh(this,{entitlementReport:ru,setEntitlementReport:hh}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class W$i{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=h_.create();checkEntitlementsState=h_.create();datasets=[];constructor(e,t,n){Hh(this,{datasets:ru,entitlementCheckInfo:lu,fetchDatasetSpecifications:Nh,fetchDatasetEntitlementReports:Nh}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new z$i(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(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof o0).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof c0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof l0).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof a0).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof d0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(H$i.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(H$i.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=yo(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 z$i(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 z$i(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 j$i{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){Hh(this,{showCheckEntitlementsViewer:ru,dataAccessState:ru,setShowCheckEntitlementsViewer:hh,hashCode:lu}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof qj&&(this.dataAccessState=new W$i(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=yPi(n.graph,t),r=t8(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return $y([Zpt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class $$i{queryBuilderState;initState=h_.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){Hh(this,{currentQuery:ru,pointer:ru,querySnapshotBuffer:ru,initialize:hh,undo:hh,redo:hh,setCurrentQuery:hh,cacheNewQuery:hh,canRedo:lu,canUndo:lu}),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(y_.create(rpt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class q$i{static INSTANCE=new q$i}class Y$i{actionConfig=q$i.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class K$i extends Y$i{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new K$i}class X$i extends Y$i{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new X$i}class Z$i extends Smt{mapping;runtime}class Q$i extends lvt{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 Z$i?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new Z$i;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 zI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(WI(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(yC)+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(WI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new p_,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,RZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=a3(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());hpt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof yZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof Z$i){return Boolean(e.mapping??e.runtime)?kmt(exports.DataCubeFunction.FROM,[e.mapping?Mmt(e.mapping):void 0,e.runtime?Mmt(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(dD(WI(e,[])),xT);return new Dw(t.parameters,t.body)}getSourceFunctionExpression(){let e=zI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof gA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Cmt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class J$i{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var eqi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(eqi||(eqi={}));class tqi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=h_.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new xWi,new TWi,new g$i,new p$i,new c$i,new h$i,new d$i,new u$i,new v$i,new y$i,new m$i,new f$i,new AWi,new RWi,new NWi,new IWi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=eqi.STANDARD;class;getAllFunction=ypt.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){Hh(this,{explorerState:ru,parametersState:ru,constantState:ru,functionsExplorerState:ru,fetchStructureState:ru,filterState:ru,watermarkState:ru,milestoningState:ru,checkEntitlementsState:ru,resultState:ru,textEditorState:ru,unsupportedQueryState:ru,showFunctionsExplorerPanel:ru,showParametersPanel:ru,isEditingWatermark:ru,isCheckingEntitlments:ru,isCalendarEnabled:ru,changeDetectionState:ru,changeHistoryState:ru,executionContextState:ru,class:ru,queryChatState:ru,isQueryChatOpened:ru,isLocalModeEnabled:ru,dataCubeViewerState:ru,getAllFunction:ru,lambdaWriteMode:ru,INTERNAL__enableInitializingDefaultSimpleExpressionValue:ru,sideBarClassName:lu,isQuerySupported:lu,allValidationIssues:lu,canBuildQuery:lu,setShowFunctionsExplorerPanel:hh,setShowParametersPanel:hh,setIsEditingWatermark:hh,setIsCalendarEnabled:hh,setDataCubeViewerState:hh,openDataCubeEngine:hh,setIsCheckingEntitlments:hh,setClass:hh,setIsQueryChatOpened:hh,setIsLocalModeEnabled:hh,setGetAllFunction:hh,setLambdaWriteMode:hh,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:hh,TEMPORARY_initializeExecContext:hh,resetQueryResult:hh,resetQueryContent:hh,changeClass:hh,changeMapping:hh,changeRuntime:hh,setExecutionContextState:hh,setQueryChatState:hh,rebuildWithQuery:hh,compileQuery:Nh,hashCode:lu}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new O$i(this),this.explorerState=new GBi(this),this.parametersState=new l$i(this),this.constantState=new G$i(this),this.functionsExplorerState=new a$i(this),this.fetchStructureState=new AVi(this),this.filterState=new hPi(this,this.filterOperators),this.watermarkState=new P$i(this),this.checkEntitlementsState=new j$i(this),this.resultState=new Xji(this),this.textEditorState=new IVi(this),this.unsupportedQueryState=new Zji(this),this.observerContext=new Y6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new C$i(this),this.changeHistoryState=new $$i(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(MFi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new APi(this);return this.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE),e}return new RPi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}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===eqi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new XZ,t=js(this.executionContextState.runtimeValue,qj,"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 qj?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(MFi.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{hpt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof qj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE);const r=CPi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new Q$i(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new J$i(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:L$i.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(){[L$i.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new Xji(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 IVi(this),this.unsupportedQueryState=new Zji(this),this.milestoningState=new O$i(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new GBi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new G$i(this),this.functionsExplorerState=new a$i(this),this.parametersState=new l$i(this),this.filterState=new hPi(this,this.filterOperators),this.watermarkState=new P$i(this),this.checkEntitlementsState=new j$i(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new AVi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(ypt.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(ypt.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 Dw(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return t8(DPi(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,qj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new Yw(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new Pw(nS.ONE,void 0);s.values=[XC.create(t)];const o=new Pw(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(DPi(this),e,n.value);return t8(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof APi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new Yw(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new Pw(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof qj&&(a=new Pw(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof HFi){return this.lambdaWriteMode===eqi.STANDARD?this.graphManagerState.graph.getClass(fpt.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(fpt.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(),!uj(e)){const t=une(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,Qw,"Can't build query state: query builder only support lambda");gqi(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(y_.create(rpt.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=>une(e,this.observerContext)).filter(zs(Mw));pqi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===NVi.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 _Q){this.applicationStore.logService.error(y_.create(sE.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Ute(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(y_.create(sE.COMPILATION_FAILURE),e);let t=!0;e instanceof _Q&&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(NVi.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 h3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new nqi(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 $y([Zpt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class nqi extends tqi{}class iqi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const rqi=(e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.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],Yw,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[bpt.GRAPH_FETCH,bpt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof xVi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rE,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tE,"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(uVi(r));const s=e.parametersValues[2];if(s){const e=js(s,Yw,"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,wVi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],Pw,"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,ES,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===fpt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${fpt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],Vw,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new CVi;r.values.forEach((e,t)=>{const n=js(e,Gw,`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,Fw,`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=wx(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${fpt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,Fw,"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)}}},sqi=(e,t,n)=>{const i=js(e.parametersValues[0],Yw,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER,bpt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),hqi.process(i,n,t)},oqi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),sqi(e,t,n);const i=e.parametersValues[1];i instanceof Vw?i.values.map(i=>hqi.processChild(i,e,n,t)):(Ws(i,Yw,"Can't process project() expression: project() expects argument #1 to be a function expression"),hqi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),sqi(e,t,n);const i=e.parametersValues[1];Ws(i,Vw,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>hqi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof Vw?(Ws(r,Vw,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Ypt).filter(Vs)):(Ws(r,Fw,"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 HFi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},aqi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof HFi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof Kw;){const e=r;for(qpt(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 Yw&&lS(r.functionName,bpt.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,Mw,"Can't process property expression: expects expression root to be a variable");const s=new _Mi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},lqi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof HFi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(dD(e.content),xT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new SMi(r,new Dw(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},cqi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],Yw,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof Fw&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},dqi=(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],Yw,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),hqi.process(c,n,t);const d=js(t.fetchStructureState.implementation,HFi);Ws(s,Vw,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,Fw,"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 GMi(d,t)});let h,p;if(r){const e=js(o,Yw,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,bpt.TDS_ASC))return Cpt.ASC;if(lS(e,bpt.TDS_DESC))return Cpt.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],Fw,"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=GMi(d,n);h=new pFi(i,t)}if(a instanceof Yw){Ks(lS(a.functionName,[bpt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],Fw,"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=GMi(d,t),i=js(js(e[1],Qw).values[0],Zw);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],Yw),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new fFi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],Mw,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,Qw).values[0],Zw);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],Yw),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 mFi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],Mw,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,Fw,"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 vFi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},uqi=e=>!(e instanceof Yw)||!lS(e.functionName,bpt.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,bpt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>uqi(e)).includes(!1);class hqi{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 hqi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new hqi(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,[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_AGG,...Object.values(vpt)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);lqi(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,ypt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=fx(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,ypt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(fx(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(ypt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,ypt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=fx(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(ypt.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,bpt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(BMi.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,ES,"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],Pw,"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,pX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],Mw),l=new iqi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[bpt.FILTER,bpt.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],Yw,"Can't process filter() expression: only support filter() immediately following an expression");if(hqi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,bpt.FILTER),`Can't process filter() expression: only supports ${bpt.FILTER}() immediately following getAll() (got '${t}')`),void oVi(e,this.queryBuilderState);if(lS(n.functionName,[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.OLAP_GROUPBY]))return Ks(lS(t,bpt.TDS_FILTER),`Can't process post-filter expression: only supports ${bpt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,Qw,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,HFi,"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],qw,"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],Mw,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),YMi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[bpt.WATERMARK]))return void oVi(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,bpt.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],Yw,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),hqi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT]))(n=e).functionName===bpt.RELATION_PROJECT||lS(n.functionName,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jw?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],Yw,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER,bpt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jw,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE),hqi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):oqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Qw,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],Fw,"Can't process col() func expression: the #2 argument of col() should be a string");aqi(js(n.values[0]?.expressionSequence[0],Kw,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof HFi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[bpt.TDS_TAKE,bpt.RELATION_LIMIT]))cqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Yw,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Yw,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,Vw,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>hqi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],Yw,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],Fw,"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],Fw,"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,[bpt.TDS_ASC,bpt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,bpt.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 HFi){const t=n.fetchStructureState.implementation,r=Ypt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new PMi(s);e.sortType=lS(i,bpt.TDS_ASC)?Cpt.ASC:Cpt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[bpt.RELATION_ASC,bpt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,bpt.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 HFi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zw);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 PMi(o);e.sortType=lS(i,bpt.RELATION_ASC)?Cpt.ASC:Cpt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY]))(e=>e.functionName===bpt.RELATION_GROUP_BY||lS(e.functionName,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jw)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],Yw,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[bpt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),hqi.process(i,n,t);const r=js(t.fetchStructureState.implementation,HFi),s=js(e.parametersValues[1],jw,"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(eqi.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,jw,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),hqi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],Yw,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,Vw,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>hqi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,Vw,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>hqi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,Vw,"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(Ypt).filter(Vs);t.fetchStructureState.implementation instanceof HFi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,bpt.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"),hqi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof HFi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,Qw,"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],Yw,"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,Qw,"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 Yw?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],Mw,"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 uFi&&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,bpt.OLAP_GROUPBY))dqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.SERIALIZE))rqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],Yw,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[bpt.GRAPH_FETCH,bpt.GRAPH_FETCH_CHECKED,bpt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof xVi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rE,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tE,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(uVi(s));const o=js(e.parametersValues[1],Pw,"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,pX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new EVi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rE,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tE,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(uVi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[bpt.GRAPH_FETCH_CHECKED,bpt.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],Yw,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[bpt.FILTER,ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),hqi.process(r,n,t),t.fetchStructureState.implementation instanceof xVi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,bpt.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],Fw,"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 Lw?new U$i(t,s,o.content):uqi(o)?new B$i(t,s,o):new U$i(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],Pw,"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,dE,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],Pw,"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,pE,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new APi(t);o.setMapping(i),o.setRuntimeValue(new qj(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void hqi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(vpt)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void hqi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,bpt.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,bpt.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,Kw,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),hqi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof HFi){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,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_AGG,bpt.WAVG_ROW_MAPPER,...Object.values(vpt)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);aqi(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 hqi(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,[bpt.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,Qw,"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 Kw?aqi(i,e.name,this.queryBuilderState):i instanceof Lw&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),lqi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[bpt.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,bpt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,Qw,"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,Qw,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof HFi){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],Yw,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],Mw,"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 uFi&&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?vS.create(new wS(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 pqi=(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 Mw&&Ept(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&&Ax(i,t)&&(r=n.value)}});const s=new wPi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},gqi=(e,t,n)=>{e.functionType.parameters.length&&pqi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>hqi.process(n,e,t))},mqi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Lie.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 $Li(e.target.value,ULi.ABSOLUTE_DATE))}})})},fqi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Lie.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 $Li(e.target.value,ULi.ABSOLUTE_TIME))}})})},vqi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??GLi.DAYS),[u,h]=n.useState(t.direction??WLi.BEFORE),[p,g]=n.useState(t.referenceMoment??jLi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new qLi(ULi.CUSTOM_DATE,ULi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=XLi.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()},[]),Lie.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.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)}})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(GLi).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})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(WLi).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})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(jLi).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})})]})},yqi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t instanceof YLi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{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(HLi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(jLi).filter(t=>t.toString().includes(e)),n=t.length>0?new YLi(Gs(t[0]?.toString()),e):new YLi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},bqi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t instanceof KLi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{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(zLi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new KLi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},_qi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=fut(),u=o.match?Object.values([ULi.ABSOLUTE_TIME,ULi.NOW]):Object.values(ULi),[h,p]=n.useState(tMi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(tMi(t,d))},[d,t]),Lie.jsxs(Lie.Fragment,{children:[a?Lie.jsx("span",{className:Noe("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}"`:Lie.jsx(Lie.Fragment,{children:" "})}):Lie.jsx("button",{className:Noe("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"}),Lie.jsxs(zSe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(tMi(t,d))}}},anchorEl:g,onClose:()=>{p(tMi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Lie.jsx(DFe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new $Li(e.target.value,e.target.value);if(ULi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![ULi.ABSOLUTE_DATE,ULi.ABSOLUTE_TIME,ULi.CUSTOM_DATE,ULi.FIRST_DAY_OF,ULi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=XLi.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 ULi.ABSOLUTE_DATE:return Lie.jsx(mqi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ULi.ABSOLUTE_TIME:return Lie.jsx(fqi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ULi.CUSTOM_DATE:return Lie.jsx(vqi,{customDateOptionValue:eMi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ULi.FIRST_DAY_OF:return Lie.jsx(yqi,{customDateAdjustOptionValue:tMi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ULi.PREVIOUS_DAY_OF_WEEK:return Lie.jsx(bqi,{customDateAdjustOptionValue:tMi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},Cqi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Rx(t.multiplicity)})]})]}),children:n})},Sqi="VARIABLE",wqi=xoe(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(yUe,{labelGetter:e=>e.variable.name,types:[Sqi]}),Lie.jsxs("div",{className:Noe("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Lie.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Lie.jsx("div",{className:"icon",children:"C"}):Lie.jsx(Qre,{})}),Lie.jsxs("div",{className:"value-spec-editor__variable__label",children:[Lie.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Lie.jsx(Cqi,{variable:t,children:Lie.jsx("div",{className:"value-spec-editor__variable__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Lie.jsx(ire,{})})]})]})]})}),Eqi=xoe(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=fut(),f=i(n),v=f?{value:f,label:f}:null,y=d?.reloadValues,b=d?.isLoading,_=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)}`,w=`input-${i(n)}`;return Lie.jsxs("div",{className:Noe("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?Lie.jsx(cFe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:u?.optionCustomization,disabled:p}):Lie.jsx(ATe,{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:w,disabled:p}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Lie.jsx(ire,{})})]})})),xqi=xoe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Lie.jsxs("div",{className:Noe("value-spec-editor",s),children:[Lie.jsx("button",{role:"checkbox",className:Noe("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Lie.jsx(zre,{}):Lie.jsx(Rse,{})}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Lie.jsx(ire,{})})]})}),Tqi=xoe(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,enableExpressionCalculation:p=!0}=e,[g,m]=n.useState(r(i)?.toString()??""),f=n.useRef(null);n.useImperativeHandle(t,()=>f.current,[]);const v=g?u?Number.parseInt(Number(g).toString(),10):Number(g):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()},b=()=>{if(null!==v&&isNaN(v))try{const e=ro(j2n(g));y(e.toString()),m(e.toString())}catch{const e=r(i)?.toString()??"";y(e),m(e)}else null!==v?(y(v.toString()),m(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";m(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return Lie.jsxs("div",{className:Noe("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[Lie.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Lie.jsx("input",{ref:f,className:Noe("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:g,onChange:e=>{m(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),f.current?.focus()):"Escape"===e.code&&f.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&Lie.jsx("div",{className:"value-spec-editor__number__actions",children:Lie.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:Lie.jsx(ure,{})})})]}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Lie.jsx(ire,{})})]})})),Aqi=xoe(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 Lie.jsxs("div",{className:Noe("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Lie.jsx(cFe,{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}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Lie.jsx(ire,{})})]})}),Rqi=e=>0===e.length?"":((e,t)=>zv.unparse(e,t))([e.map(e=>e instanceof Fw?e.values[0]:e instanceof Bw?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),Nqi=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 XT))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"}}},Iqi=xoe(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=fut(),p=n.useRef(null),[g,m]=n.useState(""),[f,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),_=c===gS.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=Gs(r(e));return{label:t,value:t}},N=e=>y.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)||N(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Lie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Lie.jsx(cFe,{className:Noe("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),v(!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?(b([...y,R(e)]),m(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Yv(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=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!d,isLoading:w,noMatchMessage:x,placeholder:Nqi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Lie.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Lie.jsx(Kre,{})}),Lie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Lie.jsx(xse,{})})]})}),Dqi=xoe(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,v]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),y=l?.filter(e=>!f.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`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?(v([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},w=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Lie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[Lie.jsx(cFe,{className:Noe("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(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=Yv(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:u}),Lie.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:Lie.jsx(Kre,{})}),Lie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:u,children:Lie.jsx(xse,{})})]})}),kqi=xoe(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),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{m&&f(!1)};return m?Lie.jsx(Lie.Fragment,{children:Lie.jsx("div",{className:Noe("value-spec-editor",l),children:void 0!==h?Lie.jsx(Dqi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:b,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Lie.jsx(Iqi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:b,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Lie.jsxs("div",{className:Noe("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Lie.jsx("div",{className:Noe("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),Lie.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Lie.jsx(Qie,{})})]})}),Oqi=()=>Lie.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),Lqi=xoe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Lie.jsxs("div",{className:Noe("value-spec-editor",l),children:[Lie.jsx(_qi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof Fw&&!Upt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Lie.jsx(ire,{})})]})}),Mqi=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,enableExpressionCalculation:f}=e,v=fut(),y=e=>!Upt(e),b=e=>e instanceof Yw?"":e.values[0],_=(e,t,n)=>{t instanceof qLi?a(((e,t,n)=>{const i=new Yw(bpt.ADJUST);if(Dpt(i,QLi(new $Li(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===WLi.BEFORE){const r=new Yw(bpt.MINUS);Dpt(r,iMi(t,TC.INTEGER,e.duration,n),n),Dpt(i,r,n)}else Dpt(i,iMi(t,TC.INTEGER,e.duration,n),n);const r=new Bw(vS.create(new wS(t.getType(fpt.DURATION_UNIT))));return Mpt(r,[...r.values,BS.create(Gs(JLi(Gs(e.unit),t)))],n),Dpt(i,r,n),Apt(i,vS.create(new wS(gS.DATE))),i})(t,r,s)):t instanceof YLi||t instanceof KLi||t instanceof $Li?a(QLi(t,r,s)):e instanceof Yw?a(iMi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof Pw?(Lpt(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&Apt(e,vS.create(new wS((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(iMi(r,TC.LATESTDATE,t,s))};if(i instanceof Fw){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{Lpt(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Lie.jsx(Eqi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Lie.jsx(xqi,{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 Lie.jsx(Tqi,{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,enableExpressionCalculation:f});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Lie.jsx(Lqi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof Fw&&y(e),readOnly:m});default:return Lie.jsx(Oqi,{})}}else{if(i instanceof Bw){const e=js(i.genericType?.value.rawType,NS),t=e.values.map(e=>({label:e.name,value:e.name}));return Lie.jsx(Aqi,{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}`);Lpt(t,BS.create(i),0,s),a(t)},errorChecker:e=>!Upt(e),handleBlur:h,selectorConfig:d,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof Vw&&i.genericType){const e=(e,t)=>{Mpt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof NS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new Bw(vS.create(new wS(e)));return Mpt(t,[BS.create(n)],s),une(t,s)}}else{const n=dMi(js(e,iS),t,s);if(n)return une(n,s)}return null},r=o.expectedType instanceof NS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Lie.jsx(kqi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>Rqi(e.values),errorChecker:y,convertValueSpecificationToText:e=>cMi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof Mw)return Lie.jsx(wqi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof Jw)return Lie.jsx(Mqi,{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 Yw){if(Tx(o.expectedType,gS.DATE))return uqi(i)?Lie.jsx(Lqi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Lie.jsx(Oqi,{});if(Tx(o.expectedType,gS.NUMBER)&&lS(i.functionName,bpt.MINUS)){const e=Xpt(i,s);if(e instanceof Fw&&Tx(e.genericType.value.rawType,gS.NUMBER))return Lie.jsx(Tqi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{Lpt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Lie.jsx(Oqi,{})}),Pqi=xoe(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,m=fut(),[f,v]=n.useState(u??!1),y=n.useRef(null);n.useEffect(()=>{f&&y.current?.focus()},[f,y]);const b=t instanceof Fw&&!Tx(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof Bw,_=f||!b,C=cMi(t,m,{omitEnumOwnerName:!0});return _?Lie.jsx(Mqi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):Lie.jsx("div",{className:"value-spec-editor__editable__display",children:Lie.jsx("span",{className:Noe("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof Pw&&!Upt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),Fqi=(e,t)=>{if(e instanceof Yw){const n=tMi(e,t.applicationStore).label;if(n)return n}return cMi(e,t.applicationStore)},Bqi=xoe(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Lie.jsxs(CFe,{ref:t,children:[i?.map(e=>Lie.jsx(SFe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Lie.jsx(SFe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Lie.jsx(SFe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),Vqi=xoe(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?Fqi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=f&&v?Fqi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=BVe(()=>({type:Sqi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),vUe(w),Lie.jsx("div",{className:"query-builder__variables__variable",ref:E,children:Lie.jsxs(TFe,{content:Lie.jsx(Bqi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Noe("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:[Lie.jsx(yUe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[Sqi]}),Lie.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Lie.jsx("div",{className:"query-builder__variables__variable__icon",children:Lie.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Lie.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Lie.jsx(Qre,{})})}),Lie.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Lie.jsxs("div",{className:Noe("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Lie.jsx(Pre,{title:"Calculated Constant"})]}):Lie.jsxs("div",{className:"query-builder__variables__variable__type",children:[Lie.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Lie.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&Lie.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Lie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Lie.jsx(Qie,{})}),Lie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:Lie.jsx(Ise,{})}),Lie.jsx(Cqi,{variable:t,children:Lie.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Lie.jsx(hse,{})})})]})]})})}),Uqi=xoe(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 Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs($Fe,{title:"Available parameters",children:[0===i.length&&Lie.jsx(Lie.Fragment,{children:" No available parameters "}),i.map(e=>Lie.jsx(Vqi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Lie.jsx($Fe,{title:"Available constants",children:r.map(e=>Lie.jsx(Vqi,{variable:e.variable,value:{val:e instanceof B$i?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),Gqi=xoe(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=>{Ipt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=zVe(()=>({accept:[Sqi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Ax(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof Kw&&wpt(e,d)&&e.func.value.genericType.value.rawType instanceof ES&&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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Qut.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=fx(js(e.func.value.genericType.value.rawType,ES),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof Jw&&!xpt(t,i,n.getValue(),d.milestoningState)){const n=new Jw(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Ipt(js(e,Kw),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Lie.jsxs("div",{className:"panel__content__form__section",children:[Lie.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Lie.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Lie.jsx("div",{className:"query-builder__variable-editor",children:Lie.jsx(pUe,{isDragOver:l,dropTargetConnector:c,children:Lie.jsx(Mqi,{valueSpecification:h,setValueSpecification:e=>{Ipt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{Ipt(t.propertyExpression,Tpt(t,r)??pMi(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)})})}),Lie.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),Hqi=xoe(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Lie.jsxs("div",{className:"query-builder-property-editor__section",children:[Lie.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Lie.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Lie.jsx(Gqi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),zqi=xoe(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Lie.jsx(ebe,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Lie.jsx(gFe,{title:"Derived Property"}),Lie.jsxs(fFe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Lie.jsx(Hqi,{derivedPropertyExpressionState:e},e.path)),Lie.jsx(fFe,{className:"query-builder__variables__modal__body",children:Lie.jsx(Uqi,{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&&(Ax(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{text:"Done",onClick:i})})]})})}),Wqi=xoe(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Lie.jsx("div",{className:"query-builder__property__name__display",title:n,children:Lie.jsx("span",{className:Noe("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),jqi=xoe(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?Lie.jsx("div",{className:"query-builder__property__name__editor",children:Lie.jsx(ATe,{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()}})}):Lie.jsx(Wqi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),$qi=xoe(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 Lie.jsx("div",{className:"query-builder-property-expression-badge",children:Lie.jsxs("div",{className:Noe("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof ES,"query-builder-property-expression-badge__content--enumeration":s instanceof NS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Lie.jsx(jqi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:uMi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Lie.jsxs("button",{className:Noe("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&&Lie.jsx(hse,{})," (...)"]}),Lie.jsx(zqi,{propertyExpressionState:n})]})})}),qqi=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 Lie.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Lie.jsx(Nse,{className:"query-builder-panel-issue-count-badge__icon"}),Lie.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},Yqi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Lie.jsx(Jie,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Lie.jsx(Dse,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Lie.jsx(use,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Lie.jsx($re,{className:"query-builder-column-badge__icon"})}else if(e instanceof NS)return Lie.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},Kqi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof EMi||e instanceof vFi)return nS.ONE;if(e instanceof _Mi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:Rx(s)})]})]}),children:i})},Xqi=(e,t)=>{switch(t){case yMi:return e.columnState.getColumnType();case ABi.ENUM_PROPERTY:case ABi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case Sqi:return e.variable.genericType?.value.rawType;case hFi:return e.columnState.getColumnType();default:return}},Zqi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi],Qqi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],Jqi=[JMi.CONDITION,ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi],eYi=[JMi.CONDITION,ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],tYi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi,Sqi],nYi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof Kw||r instanceof Yw&&lS(r.functionName,bpt.SUBTYPE);){let e;r instanceof Yw?e=new Yw(sS(bpt.SUBTYPE)):(e=new Kw(""),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,Mw)],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 Kw&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(vo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new Mw(o[l],nS.ONE)),l++)}if(n)if(n instanceof lPi){const e=a.findIndex(e=>e instanceof Kw&&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 lPi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof lPi){const i=a.findIndex(t=>t instanceof Kw&&e instanceof lPi&&t.func.value===js(e,lPi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof dPi?t.newGroupConditionFromNode(n):n instanceof aPi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof dPi?t.newGroupConditionFromNode(n):n instanceof aPi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new lPi(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 rPi(t,a[a.length-1]),d=new dPi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof uPi&&t.removeNodeAndPruneBranch(n)},iYi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof lPi&&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 Kw("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof Kw||n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);){if(n instanceof Yw){const e=new Yw(sS(bpt.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof Kw){const e=new Kw("");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],Kw,"Can't process exists() expression: can't flatten to a property expression")}return js(gPi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),Kw)},rYi=(e,t,n)=>{if(ePi(e)){const i=uMi(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:Zut.CAUTION,actions:[{label:"Cancel",type:Qut.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Qut.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>nYi(e,t,n))}]})}else{const i=new rPi(t,e),r=new dPi(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 lPi&&(s=o);if(o instanceof lPi&&(s=o),n instanceof aPi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof uPi)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 lPi)t.newGroupConditionFromNode(s,r);else if(n instanceof dPi){const e=t.getParentNode(n);if(s&&e instanceof lPi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,zMi.AND);else if(s&&e instanceof aPi){const i=iYi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);nYi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},sYi=xoe(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===zMi.AND?"AND":"OR";return Lie.jsx("div",{className:"dnd__entry__container",children:Lie.jsx(fUe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Lie.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===zMi.AND?zMi.OR:zMi.AND)},children:Lie.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),oYi=xoe(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Lie.jsx("div",{className:"dnd__entry__container",children:Lie.jsx(fUe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Lie.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Lie.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:uMi(t.propertyExpressionState.propertyExpression,n)}),Lie.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Lie.jsxs("button",{className:Noe("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&&Lie.jsx(hse,{})," (...)"]}),Lie.jsx(zqi,{propertyExpressionState:t.propertyExpressionState})]})})})}),aYi=xoe(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Lie.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Lie.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Lie.jsx("div",{className:Noe("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof ES,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof NS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:Yqi(i)}),Lie.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Lie.jsx($qi,{propertyExpressionState:t.propertyExpressionState})}),Lie.jsx(KFi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Lie.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Lie.jsx(ire,{})})]})})}),lYi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof AWi)&&!(n instanceof RWi)&&Wpt(e,i)},cYi=xoe(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=fut(),l=cPi(t),c=n.useCallback((e,n)=>{const i=Xqi(e,n);if(void 0!==i&&lYi(i,t.condition))try{if((n===yMi||n===ABi.ENUM_PROPERTY||n===ABi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===yMi){const n=e.columnState;if(!(n instanceof _Mi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(ePi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new mMi(s,sMi(e,s.observerContext)))}}else if(n===ABi.ENUM_PROPERTY||n===ABi.PRIMITIVE_PROPERTY){const n=e.node,i=new mMi(s,LBi(n,t.condition.filterState.queryBuilderState.explorerState));if(ePi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===Sqi){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]=zVe(()=>({accept:tYi,canDrop:(e,n)=>lYi(Xqi(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}=VVe(e=>({isFilterValueDroppable:e.isDragging()&&tYi.includes(e.getItemType()?.toString()??"")&&lYi(Xqi(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=dMi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Lie.jsx("div",{className:"dnd__entry__container","data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Lie.jsx(fUe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Lie.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Lie.jsx($qi,{propertyExpressionState:t.condition.propertyExpressionState})}),Lie.jsxs(AFe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Lie.jsx(CFe,{children:t.condition.operators.map(e=>{return Lie.jsx(SFe,{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:[Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Lie.jsx(Bre,{})})]}),o instanceof nPi&&o.value?Lie.jsx("div",{ref:h,"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Lie.jsx(fUe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Lie.jsx(Pqi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof iPi?Lie.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Lie.jsx(fUe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Lie.jsx(aYi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),dYi=xoe(e=>{const{isDragOver:t,isDroppable:n}=e;return Lie.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Lie.jsx(fUe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Lie.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),uYi=xoe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Lie.jsxs(CFe,{ref:t,children:[i instanceof aPi&&Lie.jsx(SFe,{onClick:()=>{r.addNodeFromNode(new uPi(void 0),i)},children:"Add New Condition"}),i instanceof aPi&&Lie.jsx(SFe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof dPi&&Lie.jsx(SFe,{onClick:()=>{hpt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Lie.jsx(SFe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),hYi=xoe(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=fut(),d=s.filterState,u=n.useCallback((e,n)=>{if(JMi.CONDITION===n){const n=e.node,i=new dPi(void 0,d.nodes.get(n.id).condition);t instanceof uPi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof dPi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof aPi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===yMi){if(!(e.columnState instanceof _Mi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=sMi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=LBi(e.node,d.queryBuilderState.explorerState);i=new rPi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof oPi||t instanceof dPi||t instanceof uPi)&&rYi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=zVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?Jqi:eYi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=BVe(()=>({type:t instanceof aPi?JMi.GROUP_CONDITION:t instanceof dPi?JMi.CONDITION:JMi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof dPi||t instanceof uPi}),[t,d]);m(g(o)),vUe(f);const{isDroppable:v}=VVe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?Jqi:eYi).includes(e.getItemType()?.toString()??"")})),y=t instanceof lPi&&0===t.childrenIds.length,b=t instanceof dPi||t instanceof uPi||y;return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Noe("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof aPi,"query-builder-filter-tree__node__container--condition":t instanceof dPi||t instanceof uPi,"query-builder-filter-tree__node__container--exists":t instanceof lPi,"query-builder-filter-tree__node__container--exists--empty":y,"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:Lie.jsxs(TFe,{content:Lie.jsx(uYi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof dPi||t instanceof uPi?()=>i?.(t):void 0,children:[t instanceof aPi&&Lie.jsx(sYi,{node:t,isDroppable:v,isDragOver:h}),t instanceof lPi&&Lie.jsx(oYi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof dPi&&Lie.jsx(cYi,{node:t,isDragOver:p}),t instanceof uPi&&Lie.jsx(dYi,{node:t,isDragOver:h,isDroppable:v})]}),b&&Lie.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Lie.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Lie.jsx(Ise,{})})})]})})}),pYi=xoe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Noe("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof aPi,"query-builder-filter-tree__node__block--exists":t instanceof lPi}),children:[Lie.jsx(hYi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Lie.jsx(pYi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),gYi=xoe(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 oPi?e.childrenIds.map(e=>n.getNode(e)):[];return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Lie.jsx(pYi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),mYi=xoe(e=>{const{queryBuilderState:t}=e,i=fut(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof aPi),{isDroppable:a}=VVe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?Zqi:Qqi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===yMi){if(!(e.columnState instanceof _Mi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=sMi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=LBi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),rYi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=zVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?Zqi:Qqi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Lie.jsxs("div",{className:"panel__header",children:[Lie.jsxs("div",{className:"panel__header__title",children:[Lie.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Lie.jsx(qqi,{issues:r.allValidationIssues})]}),Lie.jsx("div",{className:"panel__header__actions",children:Lie.jsx(AFe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Lie.jsxs(CFe,{children:[Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new uPi(void 0),r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(Cse,{})}),Lie.jsx(xFe,{children:"Create Condition"})]}),Lie.jsxs(SFe,{disabled:!(r.selectedNode instanceof dPi),onClick:()=>{hpt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof dPi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(Wse,{})}),Lie.jsx(xFe,{children:"Create Group From Condition"})]}),Lie.jsxs(SFe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{hpt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(yse,{})}),Lie.jsx(xFe,{children:"Create Logical Group"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(kse,{})}),Lie.jsx(xFe,{children:"Cleanup Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(Wre,{})}),Lie.jsx(xFe,{children:"Simplify Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(Yre,{})}),Lie.jsx(xFe,{children:"Collapse Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(nse,{})}),Lie.jsx(xFe,{children:"Expand Tree"})]})]}),children:Lie.jsx(ere,{className:"query-builder__icon__more-options"})})})]}),Lie.jsx(FFe,{children:Lie.jsxs(pUe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Lie.jsx(KFe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(yUe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(JMi)}),Lie.jsx(gYi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Lie.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Lie.jsx(fUe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Lie.jsx(Lie.Fragment,{})})})]})})]})}),fYi=xoe(e=>{const{resultState:t}=e,i=fut(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Lie.jsx(ebe,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Lie.jsxs(hFe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(gFe,{title:"Query Usage"}),Lie.jsx(fFe,{className:"query-builder__usage-viewer__body",children:Lie.jsxs(Lie.Fragment,{children:[0===r.length?Lie.jsx(qFe,{children:"Query usage is not available"}):Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Lie.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Lie.jsxs("button",{className:Noe("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&&Lie.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Lie.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Lie.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Lie.jsx(UFe,{})]})}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var vYi;function yYi(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=yYi(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"}(vYi||(vYi={}));var bYi,_Yi={exports:{}},CYi={};var SYi,wYi,EYi={};
|
|
901
|
+
`})}),ALi=xoe(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 Lie.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:[Lie.jsx(fTe,{className:"text-lg"}),Lie.jsx("div",{className:"ml-1 font-mono text-sm",children:n??""})]})}),RLi=xoe(e=>{const{view:t}=e,n=XOi(),i=t.grid;return Lie.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)&&Lie.jsx(ALi,{view:t}),Lie.jsx("div",{}),Lie.jsxs("div",{className:"flex h-full items-center",children:[Lie.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&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("div",{className:"flex h-full items-center px-2 text-orange-500",children:[Lie.jsx(STe,{className:"stroke-[3px]"}),Lie.jsx("div",{className:"ml-1 text-sm font-semibold",children:`Results truncated to fit within row limit (${i.rowLimit})`})]})]}),Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setPaginationEnabled(!i.isPaginationEnabled)},children:[Lie.jsx(dSe,{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:yxe("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:yxe("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}),Lie.jsx("div",{className:yxe("text-sm",{"text-sky-600":i.isPaginationEnabled,"text-neutral-500":!i.isPaginationEnabled}),children:"Pagination"})]}),t.dataCube.options?.enableCache&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-3 w-[1px] bg-neutral-200"}),Lie.jsxs("button",{className:"flex h-full items-center p-2",onClick:()=>{i.setCachingEnabled(!i.isCachingEnabled).catch(e=>n.alertService.alertUnhandledError(e))},children:[Lie.jsx(dSe,{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:yxe("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:yxe("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...":""}),Lie.jsxs("div",{className:yxe("flex items-center text-sm",{"text-sky-600":i.isCachingEnabled,"text-neutral-500":!i.isCachingEnabled}),children:["Cache ",Lie.jsx(ZOi,{})]})]})]})]})]})}),NLi=xoe(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")}),Lie.jsx("div",{className:"relative h-[calc(100%_-_20px)] w-full",children:Lie.jsx(emi,{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=wLi)},modules:[Gpi,Lki],...d4n(t)})})}),ILi=xoe(e=>{const{view:t}=e,n=t.grid.configuration;return Lie.jsxs("div",{className:"h-[calc(100%_-_48px)] w-full",children:[Lie.jsx(TLi,{configuration:n}),Lie.jsx(NLi,{view:t}),Lie.jsx(RLi,{view:t})]})}),DLi=xoe(e=>{const{view:t}=e;switch(t.info.configuration.gridMode){case mgt.MULTIDIMENSIONAL:return Lie.jsx(SLi,{view:t});case mgt.STANDARD:return Lie.jsx(ILi,{view:t});default:return Lie.jsx("div",{className:"border-t-1 border-b-1 h-[calc(100%_-_48px)] w-full border border-neutral-200 bg-neutral-50"})}}),kLi=xoe(e=>{const{view:t,taskManager:n}=e,i=t?.taskService.tasks??n?.tasks;return Lie.jsxs("div",{className:"flex h-5 w-full justify-between bg-neutral-100",children:[Lie.jsxs("div",{className:"flex",children:[Lie.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(Jpt.OPEN_EDITOR_PROPERTIES,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:ygt.STATUS_BAR})},disabled:!t,children:[Lie.jsx(oTe,{className:"text-xl"}),Lie.jsx("div",{className:"pl-0.5 underline",children:"Properties"})]}),Lie.jsx("div",{className:"flex",children:Lie.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(Jpt.OPEN_EDITOR_FILTER,{...t.engine.getDataFromSource(t.getInitialSource()),openedFrom:ygt.STATUS_BAR})},disabled:!t||qgt(t.info.configuration.gridMode),children:[Lie.jsx(uTe,{className:"text-lg"}),Lie.jsx("div",{className:"pl-0.5 underline",children:"Filter"})]})})]}),Lie.jsx("div",{className:"flex items-center px-2",children:Lie.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"):yo(i,0).description:void 0,children:void 0!==i&&i.length>0&&Lie.jsx(d_e,{classes:{root:"h-3.5 w-full bg-transparent",bar1Indeterminate:"bg-green-500",bar2Indeterminate:"bg-green-500"},variant:"indeterminate"})})})]})}),OLi=xoe(e=>{const{children:t,title:i,menuItems:r,getMenuItems:s}=e,[o,a,l]=RFe(),[c,d]=n.useState([...r??[]]);return Lie.jsxs("div",{className:"flex h-7 w-full bg-neutral-100",children:[Lie.jsxs("div",{className:"flex w-fit max-w-80 items-center pl-1 pr-2 text-lg font-medium",children:[Lie.jsx(Hxe,{className:"mr-1 h-4 w-4 flex-shrink-0"}),Lie.jsx("div",{className:"truncate",children:i})]}),Lie.jsxs("div",{className:"flex w-full flex-auto",children:[t,Lie.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(bLi.SEPARATOR),d([...r??[],...t]),o(e)},disabled:!r?.length,children:Lie.jsx(nTe,{})}),Lie.jsx(NFe,{...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)?Lie.jsx(IFe,{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===bLi.SEPARATOR?Lie.jsx("div",{className:"my-1 h-[1px] w-full bg-neutral-200"},t):null)})]})]})}),LLi=e=>{const{message:t,prompt:n}=e;return Lie.jsxs("div",{className:"flex h-full w-full overflow-auto p-5",children:[Lie.jsx("div",{className:"mr-3",children:Lie.jsx(Axe,{className:"flex-shrink-0 stroke-[0.5px] text-[40px] text-red-500"})}),Lie.jsxs("div",{children:[Lie.jsx("div",{className:"whitespace-break-spaces text-lg",children:t}),Lie.jsx("div",{className:"mt-1 whitespace-break-spaces text-neutral-500",children:n})]})]})},MLi=xoe(e=>{const{children:t,taskManager:n}=e;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"h-[calc(100%_-_48px)] w-full border border-x-0 border-neutral-200 bg-neutral-50",children:t??null}),Lie.jsx(kLi,{taskManager:n})]})}),PLi=xoe(e=>{const{children:t,title:n,menuItems:i,headerContent:r,layoutManager:s,taskManager:o}=e;return Lie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white","data-testid":Qpt.PLACEHOLDER,children:[Lie.jsx(OLi,{title:n,menuItems:i,children:r??null}),Lie.jsx(MLi,{taskManager:o,children:t}),s?Lie.jsx(yLi,{layout:s}):null,Lie.jsx(ZIn,{})]})}),FLi=xoe(e=>{const{view:t}=e;return n.useEffect(()=>()=>t.dispose(),[t]),t.initializeState.hasFailed?Lie.jsx(MLi,{children:Lie.jsx(LLi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})}):Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(DLi,{view:t}),Lie.jsx(kLi,{view:t})]})}),BLi=xoe(()=>{const e=XOi(),t=e.view,i=e=>{t.dataCube.telemetryService.sendTelemetry(Jpt.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]),Lie.jsxs("div",{className:"data-cube relative flex h-full w-full flex-col bg-white",children:[Lie.jsx(OLi,{title:t.info.name,menuItems:[{label:vgt.UNDO,action:()=>{e.view.snapshotService.undo(),i(vgt.UNDO)},disabled:!e.view.snapshotService.canUndo},{label:vgt.REDO,action:()=>{e.view.snapshotService.redo(),i(vgt.REDO)},disabled:!e.view.snapshotService.canRedo},{label:vgt.SETTINGS,action:()=>{e.settingService.display.open(),i(vgt.SETTINGS)}}],getMenuItems:e.options?.getHeaderMenuItems,children:e.options?.innerHeaderRenderer?.({api:e.api})??null}),Lie.jsx(FLi,{view:t}),Lie.jsx(yLi,{layout:e.layoutService.manager}),Lie.jsx(ZIn,{})]})}),VLi=xoe(e=>{const{specification:t,engine:i,options:r}=e,s=Aoe(()=>new qOi(t,i,r));return n.useEffect(()=>(s.initialize().catch(e=>s.logService.logUnhandledError(e)),()=>s.dispose()),[s]),s.initializeState.hasSucceeded?Lie.jsx(KOi,{value:s,children:Lie.jsx(BLi,{},s.uuid)}):Lie.jsx(PLi,{title:Sgt,headerContent:s.options?.innerHeaderRenderer?.({api:s.api})??null,layoutManager:s.layoutService.manager,taskManager:s.taskService.manager,children:s.initializeState.hasFailed&&Lie.jsx(LLi,{message:"Initialization Failure",prompt:"Resolve the issue and reload."})})});var ULi,GLi,HLi,zLi,WLi,jLi;!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"}(ULi||(ULi={})),function(e){e.DAYS="Day(s)",e.WEEKS="Week(s)",e.MONTHS="Month(s)",e.YEARS="Year(s)"}(GLi||(GLi={})),function(e){e.WEEK="Week",e.MONTH="Month",e.QUARTER="Quarter",e.YEAR="Year"}(HLi||(HLi={})),function(e){e.MONDAY="Monday",e.TUESDAY="Tuesday",e.WENDNESDAY="Wednesday",e.THURSDAY="Thursday",e.FRIDAY="Friday",e.SATURDAY="Saturday",e.SUNDAY="Sunday"}(zLi||(zLi={})),function(e){e.BEFORE="Before",e.AFTER="After"}(WLi||(WLi={})),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"}(jLi||(jLi={}));class $Li{label;value;constructor(e,t){this.label=e,this.value=t}}class qLi extends $Li{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 YLi extends $Li{unit;constructor(e,t){super(e,ULi.FIRST_DAY_OF),this.unit=t}}class KLi extends $Li{day;constructor(e,t){super(e,ULi.PREVIOUS_DAY_OF_WEEK),this.day=t}}const XLi=[new qLi("Yesterday",ULi.YESTERDAY,1,GLi.DAYS,WLi.BEFORE,jLi.TODAY),new qLi("One Week Ago",ULi.ONE_WEEK_AGO,1,GLi.WEEKS,WLi.BEFORE,jLi.TODAY),new qLi("One Month Ago",ULi.ONE_MONTH_AGO,1,GLi.MONTHS,WLi.BEFORE,jLi.TODAY),new qLi("One Year Ago",ULi.ONE_YEAR_AGO,1,GLi.YEARS,WLi.BEFORE,jLi.TODAY)],ZLi=e=>Object.values(bpt).find(t=>lS(e,t)),QLi=(e,t,n)=>{if(e instanceof KLi){const i=new Yw(bpt.PREVIOUS_DAY_OF_WEEK);Apt(i,vS.create(new wS(gS.DATE)));const r=new Bw(vS.create(new wS(t.getType(fpt.DAY_OF_WEEK))));return Mpt(r,[...r.values,BS.create(Gs(t.getEnumeration(fpt.DAY_OF_WEEK).values.filter(t=>t.name===e.day)[0]))],n),Dpt(i,r,n),i}if(e instanceof YLi)switch(e.unit){case HLi.YEAR:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_YEAR);return Apt(e,vS.create(new wS(gS.DATE))),e}case HLi.QUARTER:{const e=new Yw(bpt.FIRST_DAY_OF_QUARTER);return Apt(e,vS.create(new wS(gS.STRICTDATE))),e}case HLi.MONTH:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_MONTH);return Apt(e,vS.create(new wS(gS.DATE))),e}case HLi.WEEK:{const e=new Yw(bpt.FIRST_DAY_OF_WEEK);return Apt(e,vS.create(new wS(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 ULi.TODAY:return nMi(bpt.TODAY,gS.STRICTDATE);case ULi.NOW:return nMi(bpt.NOW,gS.DATETIME);case jLi.FIRST_DAY_OF_THIS_YEAR:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_YEAR);return Apt(e,vS.create(new wS(gS.DATE))),e}case jLi.FIRST_DAY_OF_QUARTER:{const e=new Yw(bpt.FIRST_DAY_OF_QUARTER);return Apt(e,vS.create(new wS(gS.STRICTDATE))),e}case jLi.FIRST_DAY_OF_MONTH:{const e=new Yw(bpt.FIRST_DAY_OF_THIS_MONTH);return Apt(e,vS.create(new wS(gS.DATE))),e}case jLi.FIRST_DAY_OF_WEEK:{const e=new Yw(bpt.FIRST_DAY_OF_WEEK);return Apt(e,vS.create(new wS(gS.DATE))),e}default:throw new Yr(`Can't build expression for date picker option '${e.value}'`)}},JLi=(e,t)=>{const n=t.getEnumeration(fpt.DURATION_UNIT),i=n.values.filter(t=>t.name===Object.keys(GLi).filter(t=>GLi[t]===e)[0])[0];return i??Gs(n.values[0])},eMi=(e,t)=>{if(e instanceof Yw&&lS(e.functionName,bpt.ADJUST)||e instanceof bA&&lS(e.function,bpt.ADJUST))try{const t=new qLi("",ULi.CUSTOM_DATE,(e=>{if(e instanceof Yw){const t=e.parametersValues[1];return t instanceof Fw?t.values[0]:t instanceof Yw&&lS(t.functionName,bpt.MINUS)&&t.parametersValues[0]instanceof Fw?t.parametersValues[0].values[0]:0}{const t=e.parameters[1];return t instanceof wA?t.value:t instanceof bA&&lS(t.function,bpt.MINUS)&&t.parameters[0]instanceof wA?t.parameters[0].value:0}})(e),(e=>Gs(e instanceof Yw?Object.keys(GLi).filter(t=>t===e.parametersValues[2].values[0]?.value.name).map(e=>GLi[e])[0]:Object.values(GLi).filter(t=>t===js(e.parameters[2],JA).property)[0]))(e),(n=e)instanceof Yw?n.parametersValues[1]instanceof Yw&&lS(n.parametersValues[1].functionName,bpt.MINUS)?WLi.BEFORE:WLi.AFTER:n.parameters[1]instanceof bA&&lS(n.parameters[1].function,bpt.MINUS)?WLi.BEFORE:WLi.AFTER,(e=>{const t=e instanceof Yw?e.parametersValues[0].functionName:e.parameters[0].function;switch(ZLi(t)){case bpt.TODAY:return jLi.TODAY;case bpt.NOW:return jLi.NOW;case bpt.FIRST_DAY_OF_THIS_YEAR:return jLi.FIRST_DAY_OF_THIS_YEAR;case bpt.FIRST_DAY_OF_QUARTER:return jLi.FIRST_DAY_OF_QUARTER;case bpt.FIRST_DAY_OF_THIS_MONTH:return jLi.FIRST_DAY_OF_MONTH;case bpt.FIRST_DAY_OF_WEEK:return jLi.FIRST_DAY_OF_WEEK;case bpt.PREVIOUS_DAY_OF_WEEK:return jLi.PERVIOUS_DAY_OF_WEEK;default:throw new Yr(`Can't build custom date option reference moment '${t}'`)}})(e)),i=XLi.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 qLi("","",0,void 0,void 0,void 0)},tMi=(e,t)=>{if(!(e instanceof Yw||e instanceof bA)){if(e instanceof Fw)return e.genericType.value.rawType.path===TC.LATESTDATE?new $Li(ULi.LATEST_DATE,ULi.LATEST_DATE):new $Li(e.values[0]??"",null===e.values[0]?"":e.genericType.value.rawType.path===TC.DATETIME?ULi.ABSOLUTE_TIME:ULi.ABSOLUTE_DATE);if(e instanceof IA)return new $Li(ULi.LATEST_DATE,ULi.LATEST_DATE);if(e instanceof RA)return new $Li(e.value,ULi.ABSOLUTE_DATE);if(e instanceof AA)return new $Li(e.value,ULi.ABSOLUTE_TIME);throw new Error(`Unexpected date V1_ValueSpecification: ${e}`)}{const n=e instanceof Yw?e.functionName:e.function;switch(ZLi(n)){case bpt.TODAY:return new $Li(ULi.TODAY,ULi.TODAY);case bpt.NOW:return new $Li(ULi.NOW,ULi.NOW);case bpt.FIRST_DAY_OF_THIS_YEAR:return new YLi(jLi.FIRST_DAY_OF_THIS_YEAR,HLi.YEAR);case bpt.FIRST_DAY_OF_QUARTER:return new YLi(jLi.FIRST_DAY_OF_QUARTER,HLi.QUARTER);case bpt.FIRST_DAY_OF_THIS_MONTH:return new YLi(jLi.FIRST_DAY_OF_MONTH,HLi.MONTH);case bpt.FIRST_DAY_OF_WEEK:return new YLi(jLi.FIRST_DAY_OF_WEEK,HLi.WEEK);case bpt.PREVIOUS_DAY_OF_WEEK:const n=e instanceof Yw?e.parametersValues[0].values[0]?.value.name:js(e.parameters[0],JA).property;return new KLi(`Previous ${n}`,n);case bpt.ADJUST:return eMi(e,t);default:return new $Li("","")}}},nMi=(e,t)=>{const n=new Yw(e);return Apt(n,vS.create(new wS(t))),n},iMi=(e,t,n,i)=>{const r=new Fw(vS.create(new wS(e.getPrimitiveType(t))));return Mpt(r,[n],i),r},rMi=(e,t)=>{const n=On(e);return n.genericType=e.genericType,n.multiplicity=e.multiplicity,n},sMi=(e,t)=>{const n=new Kw(e.functionName);return kpt(n,zS.create(Gs(e.func.value))),Npt(n,e.parametersValues.map(e=>rMi(e)),t),n},oMi=(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 iMi(e,r,i?jpt(r):null,n);case TC.BOOLEAN:return iMi(e,r,jpt(r),n);case TC.DATE:return iMi(e,TC.STRICTDATE,i?jpt(r):null,n);default:if(t instanceof NS){const e=new Bw(vS.create(new wS(t)));if(i){if(!(t.values.length>0))throw new Yr(`Can't get default value for enumeration since enumeration '${r}' has no value`);Mpt(e,[BS.create(t.values[0])],n)}return e}throw new Yr(`Can't get default value for type '${r}'`)}},aMi=(e,t)=>t8(((e,t)=>{const n=new Zw(new Xw(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence[0]=oMi(e,gS.STRING,t,!0),n})(e.graph,t),e),lMi=(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 Vw(s,vS.create(new wS(r)));if(r instanceof gS)return((e,t,n)=>{const i=e.name;return i===TC.DATE||i===TC.DATETIME?nMi(bpt.NOW,gS.DATETIME):i===TC.STRICTDATE?nMi(bpt.TODAY,gS.STRICTDATE):i===TC.DATE?iMi(t,TC.STRICTDATE,jpt(i),n):iMi(t,i,jpt(i),n)})(r,t,n);if(r instanceof NS){const e=new Bw(vS.create(new wS(r))),t=(o=r,(new u_).getRandomItemInCollection(o.values)?.name??"");return""!==t&&Mpt(e,[BS.create(vx(r,t))],n),e}var o},cMi=(e,t,n)=>{if(e instanceof Fw)return Tx(e.genericType.value.rawType,gS.DATE)?tMi(e,t).label:e.genericType.value.rawType===gS.STRING&&n?.wrapStringInDoubleQuotes?`"${e.values[0]?.toString()}"`:e.values[0]?.toString();if(e instanceof Bw){const t=e.values[0];return n?.omitEnumOwnerName?t?.value.name:`${t?.ownerReference.value.name}.${t?.value.name}`}return e instanceof Mw?e.name:e instanceof Jw?cMi(e.getValue(),t,n):e instanceof Yw?void 0!==e.genericType?.value.rawType&&Tx(e.genericType.value.rawType,gS.DATE)?tMi(e,t).label:e.functionName:e instanceof Vw?e.values.map(e=>cMi(e,t,n)).join(","):void 0},dMi=(e,t,n)=>{let i=null;if(e instanceof gS)switch(e.path){case TC.STRING:i=new Fw(vS.create(new wS(e))),Mpt(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 Fw(vS.create(new wS(e))),Mpt(i,[r],n);break}case TC.DATE:case TC.STRICTDATE:if(isNaN(Date.parse(t)))return null;i=new Fw(vS.create(new wS(e))),Mpt(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 Fw(vS.create(new wS(e))),Mpt(i,[t],n);break;default:return null}return i},uMi=(e,t)=>{const n=t?qv:e=>e,i=[n(e.func.value.name)];let r=e;for(;r instanceof Kw;){for(r=r.parametersValues[0];r instanceof Yw&&lS(r.functionName,bpt.SUBTYPE);){const e=`${CC}(${n(r.parametersValues.filter(e=>e instanceof Pw)[0]?.genericType?.value.rawType.name??"")})`;i.unshift(e),r=r.parametersValues[0]}r instanceof Kw&&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?"/":".")},hMi=e=>{const t=[e.func.value.name];let n=e;for(;n instanceof Kw;)n=n.parametersValues[0],n instanceof Kw&&t.unshift(n.func.value.name);return t.join(".")},pMi=(e,t,n,i)=>{if(e.genericType){const r=e.genericType.value.rawType;if(r instanceof gS||r instanceof NS)return r===gS.LATESTDATE?new Fw(vS.create(new wS(r))):oMi(t,r,i,n||0===e.multiplicity.lowerBound)}return(e=>new Vw(nS.ZERO,vS.create(new wS(e.getType(exports.CORE_PURE_PATH.ANY)))))(t)};class gMi{queryBuilderState;path;title;propertyExpression;derivedProperty;parameters=[];propertyExpressionState;constructor(e,t,n){this.path=hMi(t),this.title=uMi(t,!0),this.propertyExpression=$te(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),Mw))),(e=>{const t=e.parameterValues;e.parameters.forEach((n,i)=>{i<e.parameterValues.length?t[i]=Tpt(e,i)??Gs(t[i]):t.push(Tpt(e,i)??pMi(n,e.queryBuilderState.graphManagerState.graph,e.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue,e.queryBuilderState.observerContext))}),Npt(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 Pw)||Upt(e))}}class mMi{queryBuilderState;propertyExpression;path;title;isEditingDerivedPropertyExpression=!1;derivedPropertyExpressionStates=[];requiresExistsHandling=!1;constructor(e,t){Hh(this,{isEditingDerivedPropertyExpression:ru,derivedPropertyExpressionStates:ru,setIsEditingDerivedProperty:hh,initDerivedPropertyExpressionStates:hh,isValid:lu,hashCode:lu}),this.queryBuilderState=e,this.propertyExpression=$te(t,e.observerContext),this.path=hMi(t),this.title=uMi(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 Kw;){if((void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(e=!0),n.func.value.genericType.value.rawType instanceof ES&&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&&kpt(n,zS.create(t))}if(n.func.value instanceof US){const e=new gMi(this.queryBuilderState,n,this);t.push(e)}for(n=n.parametersValues[0];n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);)n=n.parametersValues[0]}this.requiresExistsHandling=e,this.derivedPropertyExpressionStates=t.slice().reverse()}get hashCode(){return $y([Zpt.PROPERTY_EXPRESSION_STATE,this.propertyExpression])}}class fMi{uuid=ho()}class vMi{uuid=ho();lambdaPrefix;lambdaString;parserError;compilationError;typeAheadEnabled=!1;constructor(e,t,n){Hh(this,{lambdaString:ru,parserError:ru,compilationError:ru,typeAheadEnabled:ru,lambdaId:lu,fullLambdaString:lu,setLambdaString:hh,setTypeAhead:hh,clearErrors:hh,setCompilationError:hh,setParserError:hh,convertLambdaGrammarStringToObject:Nh,convertLambdaObjectToGrammarString:Nh}),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 CQ(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 s1)}}const yMi="PROJECTION_COLUMN";class bMi extends fMi{tdsState;columnName;wavgWeight;constructor(e,t){super(),Hh(this,{uuid:!1,tdsState:!1,columnName:ru,wavgWeight:ru,setColumnName:hh,setWavgWeight:hh,hashCode:lu}),this.tdsState=e,this.columnName=t}setColumnName(e){this.columnName=e}setWavgWeight(e){this.wavgWeight=e}}class _Mi extends bMi{lambdaParameterName=ppt;propertyExpressionState;constructor(e,t,n){super(e,""),Hh(this,{lambdaParameterName:ru,propertyExpressionState:ru,setLambdaParameterName:hh,changeProperty:hh}),this.propertyExpressionState=new mMi(e.queryBuilderState,t),this.columnName=uMi(this.propertyExpressionState.propertyExpression,n)}setLambdaParameterName(e){this.lambdaParameterName=e}isVariableUsed(e){return Boolean(this.propertyExpressionState.derivedPropertyExpressionStates.find(t=>t.parameterValues.find(t=>Kpt(e,t))))}changeProperty(e,t){this.propertyExpressionState=new mMi(this.tdsState.queryBuilderState,LBi(e,this.tdsState.queryBuilderState.explorerState)),this.columnName=uMi(this.propertyExpressionState.propertyExpression,t)}getColumnType(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get hashCode(){return $y([Zpt.SIMPLE_PROJECTION_COLUMN_STATE,this.propertyExpressionState,this.columnName])}}class CMi extends vMi{queryBuilderState;derivationProjectionColumnState;readOnlylambdaJson="";constructor(e,t){super("",""),this.queryBuilderState=e,this.derivationProjectionColumnState=t}get lambdaId(){return Gte([apt.QUERY_BUILDER,apt.PROJECTION,this.derivationProjectionColumnState.uuid])}setLambdaJson(e){this.readOnlylambdaJson=e}*convertLambdaGrammarStringToObject(){const e=dj();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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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 Dw(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(y_.create(sE.PARSING_FAILURE),e)}else this.clearErrors(),this.setLambdaString("")}}class SMi extends bMi{derivationLambdaEditorState;lambda;returnType;fetchingLambdaReturnTypeState=h_.create();constructor(e,t){super(e,"(derivation)"),Hh(this,{lambda:ru,returnType:ru,fetchingLambdaReturnTypeState:ru,setLambda:hh,fetchDerivationLambdaReturnType:Nh,setLambdaReturnType:hh}),this.derivationLambdaEditorState=new CMi(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(y_.create(sE.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 kw(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 Dw([r,...s],a)}setLambdaReturnType(e){const t=this.tdsState.queryBuilderState.graphManagerState.graph.getType(e);Ks(t instanceof gS||t instanceof NS,"Projection column must have return type of either primitve type or enumeration"),this.setReturnType(t)}getColumnType(){return this.returnType}get hashCode(){return $y([Zpt.DERIVATION_PROJECTION_COLUMN_STATE,this.returnType??"",this.lambda,this.columnName])}}class wMi{uuid=ho();constructor(){Hh(this,{getOperator:lu,allValidationIssues:lu,hashCode:lu})}buildAggregateExpressionFromState(e){return this.buildAggregateExpression(e.projectionColumnState instanceof _Mi?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 EMi extends fMi{aggregationState;projectionColumnState;lambdaParameterName=ppt;operator;calendarFunction;hideCalendarColumnState=!0;constructor(e,t,n){super(),Hh(this,{projectionColumnState:ru,lambdaParameterName:ru,calendarFunction:ru,hideCalendarColumnState:ru,operator:ru,setHideCalendarColumnState:hh,setColumnState:hh,setLambdaParameterName:hh,setOperator:hh,setCalendarFunction:hh,handleUsedPostFilterType:hh,hashCode:lu}),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 SMi&&this.projectionColumnState.setReturnType(e)}get hashCode(){return $y([Zpt.AGGREGATE_COLUMN_STATE,this.operator,this.calendarFunction??""])}get columnName(){return this.projectionColumnState.columnName}}class xMi{tdsState;operators=[];calendarFunctions;columns=[];constructor(e,t,n){Hh(this,{columns:ru,removeColumn:hh,addColumn:hh,changeColumnAggregateOperator:hh,disableCalendar:hh,allValidationIssues:lu,hashCode:lu}),this.tdsState=e,this.operators=t,this.calendarFunctions=n}removeColumn(e){wo(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 EMi(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 $y([Zpt.AGGREGATION_STATE,$y(this.columns)])}}const TMi=(e,t,n)=>{const i=new Yw(sS(e));return i.parametersValues.push(new Mw(t,nS.ONE)),i},AMi=(e,t,n,i,r)=>{if(lS(n.functionName,i)){const s=new EMi(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],Mw,`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 RMi extends wMi{getLabel(e){return"average"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.AVERAGE,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.AVERAGE,this)}getReturnType(e){return gS.FLOAT}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_AVERAGE])}}class NMi extends wMi{getLabel(e){return"count"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){return TMi(bpt.COUNT,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.COUNT,this)}getReturnType(e){return gS.INTEGER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_COUNT])}}class IMi extends wMi{getLabel(e){return"distinct count"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){const i=new Yw(sS(bpt.DISTINCT));i.parametersValues.push(new Mw(t,nS.ONE));const r=new Yw(sS(bpt.COUNT));return r.parametersValues.push(i),r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.COUNT)){const i=new EMi(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],Yw,`Can't process '${this.getLabel(n)}' aggregate lambda: only support count() immediately following an expression`);Ks(lS(r.functionName,bpt.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],Mw,"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 $y([Zpt.AGGREGATE_OPERATOR_DISTINCT_COUNT])}}class DMi extends wMi{getLabel(e){return"max"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?bpt.DATE_MAX:bpt.MAX,t)}buildAggregateColumnState(e,t,n){if(n instanceof _Mi){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,bpt.MAX))return;return AMi(n,t,e,bpt.MAX,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,bpt.DATE_MAX))return;return AMi(n,t,e,bpt.DATE_MAX,this);default:return}}return lS(e.functionName,bpt.MAX)?AMi(n,t,e,bpt.MAX,this):lS(e.functionName,bpt.DATE_MAX)?AMi(n,t,e,bpt.DATE_MAX,this):void 0}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_MAX])}}class kMi extends wMi{getLabel(e){return"min"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi([TC.DATE,TC.STRICTDATE,TC.DATETIME].includes(e?.func.value.genericType.value.rawType.path??TC.NUMBER)?bpt.DATE_MIN:bpt.MIN,t)}buildAggregateColumnState(e,t,n){if(n instanceof _Mi){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,bpt.MIN))return;return AMi(n,t,e,bpt.MIN,this);case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:if(!lS(e.functionName,bpt.DATE_MIN))return;return AMi(n,t,e,bpt.DATE_MIN,this);default:return}}return lS(e.functionName,bpt.MIN)?AMi(n,t,e,bpt.MIN,this):lS(e.functionName,bpt.DATE_MIN)?AMi(n,t,e,bpt.DATE_MIN,this):void 0}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_MIN])}}class OMi extends wMi{getLabel(e){return"std dev (population)"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.STD_DEV_POPULATION,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.STD_DEV_POPULATION,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_STD_DEV_POPULATION])}}class LMi extends wMi{getLabel(e){return"std dev (sample)"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.STD_DEV_SAMPLE,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.STD_DEV_SAMPLE,this)}getReturnType(e){return gS.NUMBER}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_STD_DEV_SAMPLE])}}class MMi extends wMi{getLabel(e){return"sum"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.SUM,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.SUM,this)}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_SUM])}}class PMi{columnState;sortType=Cpt.ASC;constructor(e){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh,hashCode:lu}),this.columnState=e}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $y([Zpt.SORT_COLUMN_STATE,this.sortType.toString(),this.columnState])}}class FMi{tdsState;showModal=!1;limit;distinct=!1;sortColumns=[];slice;constructor(e){Hh(this,{showModal:ru,limit:ru,distinct:ru,sortColumns:ru,slice:ru.ref,setShowModal:hh,setLimit:hh,setDistinct:hh,setSortColumns:hh,addSortColumn:hh,updateSortColumns:hh,setSlice:hh,reset:hh,hashCode:lu}),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 $y([Zpt.RESULT_SET_MODIFIER_STATE,$y(this.sortColumns),this.limit?.toString()??"",this.distinct.toString()])}}var BMi;!function(e){e.TABULAR_DATA_STRUCTURE="TABULAR_DATA_STRUCTURE",e.GRAPH_FETCH="GRAPH_FETCH"}(BMi||(BMi={}));class VMi{queryBuilderState;fetchStructureState;constructor(e,t){Hh(this,{usedExplorerTreePropertyNodeIDs:lu,fetchStructureValidationIssues:lu,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),this.queryBuilderState=e,this.fetchStructureState=t}get TEMPORARY__showPostFetchStructurePanel(){return this.queryBuilderState.filterState.showPanel}}class UMi{uuid=ho();getTDSColumnGetter(){}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!!t&&this.isCompatibleWithType(t)}}const GMi=(e,t)=>Gs(((e,t)=>e.tdsColumns.find(e=>e.columnName===t))(e,t),`Column ${t} not found in TDS`),HMi=e=>{if(e instanceof NS)return _pt.GET_ENUM;switch(e.path){case TC.STRING:return _pt.GET_STRING;case TC.NUMBER:return _pt.GET_NUMBER;case TC.INTEGER:return _pt.GET_INTEGER;case TC.FLOAT:return _pt.GET_FLOAT;case TC.DECIMAL:return _pt.GET_DECIMAL;case TC.DATE:return _pt.GET_DATE;case TC.DATETIME:return _pt.GET_DATETIME;case TC.STRICTDATE:return _pt.GET_STRICTDATE;case TC.BOOLEAN:return _pt.GET_BOOLEAN;default:throw new Yr(`Can't find TDS column derived property name for type: '${e.path}'`)}};var zMi;!function(e){e.AND="and",e.OR="or"}(zMi||(zMi={}));const WMi=e=>{switch(e){case zMi.AND:return bpt.AND;case zMi.OR:return bpt.OR;default:throw new Yr(`Can't derive function name from group operation '${e}'`)}},jMi=e=>{if(lS(e,bpt.AND))return zMi.AND;if(lS(e,bpt.OR))return zMi.OR;throw new Yr(`Can't derive group operation from function name '${e}'`)},$Mi=(e,t)=>{const n=t.tdsState,i=e.func.value.name;Ks(Object.values(_pt).includes(i),`Can't process TDS column expression: TDS column property '${i}' not supported. Supported types are ${Object.values(_pt).join(",")}`);const r=i,s=e.parametersValues[1],o=io(js(s,Fw,"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=GMi(n,o);if(r!==_pt.IS_NULL&&r!==_pt.IS_NOT_NULL){if(a instanceof SMi){const e=BPi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.setReturnType(e),a}if(a instanceof EMi&&a.projectionColumnState instanceof SMi){const e=BPi(r,t.tdsState.queryBuilderState.graphManagerState.graph);return e&&a.handleUsedPostFilterType(e),a}const e=Gs(a.getColumnType());Ks(HMi(e)===r,`Can't process TDS column expression: expected column type ${HMi(e)} (got ${r})`)}return a},qMi=(e,t,n,i)=>{let r;const s=i.getTDSColumnGetter();if(s&&t instanceof Kw&&t.func.value.name===s){const n=$Mi(t,e);return r=new $Pi(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 Kw)o=$Mi(s,e);else{if(!(s instanceof qw))throw new Yr(`Can't process ${sS(n)}() expression: expects property expression in lambda body`);{const t=s.functionName;o=GMi(e.tdsState,t)}}const a=t.parametersValues[1];r=new $Pi(e,o,i),((e,t)=>{if(e instanceof Kw){const n=Xr(()=>$Mi(e,t.postFilterState));if(n)return void t.setRightConditionVal(new jPi(t,n))}const n=e?Xpt(e,t.postFilterState.tdsState.queryBuilderState.observerContext):void 0;t.setRightConditionVal(new WPi(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},YMi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(!lS(e.functionName,[bpt.AND,bpt.OR])){for(const n of t.operators){const r=n.buildPostFilterConditionState(t,e);if(r)return void t.addNodeFromNode(new GPi(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 UPi(n,jMi(e.functionName));t.nodes.set(r.id,r),e.parametersValues.forEach(e=>YMi(js(e,qw,"Can't process post-filter group expression: each child expression must be a function expression"),t,r.id)),t.addNodeFromNode(r,i)}},KMi=(e,t,n,i,r)=>{const s=r?.expressionSequence[0]?RK(r.expressionSequence[0]):void 0,o=new Mw(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 qw(e.name);return n.func=e,n.parametersValues=[o],n}{const e=new Kw("");let r;const s=i?i.getTDSColumnGetter():void 0;if(s)r=s;else{const e=Gs(t.getColumnType());r=HMi(e)}e.func=zS.create(Gs(Sx(n.getClass(fpt.TDS_ROW)).find(e=>e.name===r)));const a=new Fw(vS.create(new wS(gS.STRING)));return a.values=[t.columnName],e.parametersValues=[o,a],e}},XMi=(e,t,n,i)=>{const r=e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,s=KMi(e,e.leftConditionValue,r,t,i);if(n){const t=new Yw(sS(n));return t.parametersValues.push(s),e.rightConditionValue.appendConditionValue(t,i),t}return s};class ZMi extends UMi{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 oMi(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 XMi(e,this,bpt.STARTS_WITH,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.STARTS_WITH,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_START_WITH])}}class QMi extends ZMi{getLabel(){return"doesn't start with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_START_WITH])}}var JMi;!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"}(JMi||(JMi={}));const ePi=e=>{let t=e;for(;t instanceof Kw;){if(void 0===t.func.value.multiplicity.upperBound||t.func.value.multiplicity.upperBound>1)return!0;for(t=t.parametersValues[0];t instanceof Yw&&lS(t.functionName,bpt.SUBTYPE);)t=t.parametersValues[0]}return!1};class tPi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $y([Zpt.FILTER_CONDITION_RIGHT_VALUE])}}class nPi extends tPi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof Vw?Vpt(this.conditionState.filterState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?Bpt(this.value):void 0}setValue(e){return this.value=e?une(e,this.conditionState.filterState.queryBuilderState.observerContext):void 0,this.value}get isCollection(){return this.value instanceof Vw}get hashCode(){return $y([Zpt.FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class iPi extends tPi{propertyExpressionState;constructor(e,t){super(e),Hh(this,{propertyExpressionState:ru,changePropertyExpressionState:hh}),this.propertyExpressionState=t}get type(){return this.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}get isCollection(){return ePi(this.propertyExpressionState.propertyExpression)}changePropertyExpressionState(e){this.propertyExpressionState=e}}class rPi{filterState;propertyExpressionState;operator;rightConditionValue;existsLambdaParamNames=[];typeaheadSearchResults;typeaheadSearchState=h_.create();constructor(e,t,n){Hh(this,{propertyExpressionState:ru,operator:ru,rightConditionValue:ru,existsLambdaParamNames:ru,typeaheadSearchResults:ru,changeOperator:hh,setOperator:hh,setRightConditionValue:hh,addExistsLambdaParamNames:hh,buildRightConditionValueFromValueSpec:hh,buildRightConditionValueFromPropertyExpressionState:hh,handleTypeaheadSearch:Nh,operators:lu,hashCode:lu}),this.filterState=e,this.propertyExpressionState=new mMi(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,nPi),n=e??t.value;if(PPi(n)){const e=(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(LPi(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=MPi(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 Vw&&this.rightConditionValue instanceof nPi&&this.rightConditionValue.value instanceof Pw&&Upt(this.rightConditionValue.value)&&""!==this.rightConditionValue.value.values[0]?Mpt(e,[this.rightConditionValue.value],this.filterState.queryBuilderState.observerContext):e instanceof Pw&&this.rightConditionValue instanceof nPi&&this.rightConditionValue.value instanceof Vw&&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 nPi?this.rightConditionValue.setValue(e):this.setRightConditionValue(new nPi(this,e))}buildRightConditionValueFromPropertyExpressionState(e){this.rightConditionValue instanceof iPi?this.rightConditionValue.changePropertyExpressionState(e):this.setRightConditionValue(new iPi(this,e))}get hashCode(){return $y([Zpt.FILTER_CONDITION_STATE,this.propertyExpressionState,this.rightConditionValue??"",this.operator])}}class sPi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class oPi extends sPi{childrenIds=[];lambdaParameterName;constructor(e){super(e),Hh(this,{childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),this.isOpen=!0}addChildNode(e){Co(this.childrenIds,e.id),e.setParentId(this.id)}removeChildNode(e){wo(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 aPi extends oPi{groupOperation;constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh}),this.groupOperation=t,this.isOpen=!0}get dragPreviewLabel(){return`${this.groupOperation.toUpperCase()} group`}setGroupOperation(e){this.groupOperation=e}get hashCode(){return $y([Zpt.FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.groupOperation,this.lambdaParameterName??""])}}class lPi extends oPi{filterState;propertyExpressionState;constructor(e,t){super(t),Hh(this,{propertyExpressionState:ru,setPropertyExpression:hh}),this.filterState=e,this.isOpen=!0}get dragPreviewLabel(){return"exists"}setPropertyExpression(e){this.propertyExpressionState=new mMi(this.filterState.queryBuilderState,e)}get hashCode(){return $y([Zpt.FILTER_TREE_EXISTS_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.propertyExpressionState.propertyExpression,this.lambdaParameterName??""])}}const cPi=e=>{let t=e.condition.filterState.getParentNode(e);for(;void 0!==t;){if(t instanceof lPi)return!0;t=e.condition.filterState.getParentNode(t)}return!1};class dPi extends sPi{condition;isNewlyAdded;constructor(e,t){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.isNewlyAdded=!1,this.condition=t}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.propertyExpressionState.title}get hashCode(){return $y([Zpt.FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class uPi extends sPi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $y([Zpt.FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class hPi{queryBuilderState;lambdaParameterName=ppt;rootIds=[];nodes=new Map;selectedNode;isRearrangingConditions=!1;operators=[];showPanel=!0;constructor(e,t){Hh(this,{rootIds:ru,nodes:ru,selectedNode:ru,isRearrangingConditions:ru,lambdaParameterName:ru,showPanel:ru,setLambdaParameterName:hh,setRearrangingConditions:hh,setSelectedNode:hh,addNodeFromNode:hh,replaceBlankNodeWithNode:hh,addGroupConditionNodeFromNode:hh,newGroupConditionFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,setShowPanel:hh,expandTree:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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),oPi):void 0}addRootNode(e){const t=this.getRootNode();if(this.nodes.set(e.id,e),t instanceof aPi)t.addChildNode(e);else if(t instanceof dPi||t instanceof uPi||t instanceof lPi){const n=new aPi(void 0,zMi.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 aPi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof lPi)if(t.childrenIds.length){this.nodes.set(e.id,e);const n=new aPi(void 0,zMi.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 dPi||t instanceof uPi){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 aPi(void 0,zMi.AND),n=new uPi(void 0),i=new uPi(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 aPi(void 0,n??zMi.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):(wo(this.rootIds,e.id),this.addRootNode(r)),r}newGroupWithConditionFromNode(e,t){const n=e??new uPi(void 0);if(t instanceof dPi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new aPi(void 0,zMi.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 oPi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(this.rootIds,e.id)}pruneChildlessGroupNodes(){const e=()=>Array.from(this.nodes.values()).filter(zs(aPi)).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):wo(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 aPi&&!(n.childrenIds.length>=2);)this.squashGroupNode(n),n=this.getParentNode(n)}else wo(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 uPi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(aPi)).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 uPi)throw new qr("Query builder filter tree found unexpected blank nodes");return this.getNode(t)instanceof dPi});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(aPi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;const t=this.nodes.get(e.parentId);return t instanceof aPi&&t.groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),aPi);[...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(dPi)).map(e=>e.condition.rightConditionValue instanceof nPi?e.condition.rightConditionValue.value:void 0).filter(Vs).find(t=>Kpt(e,t)))}isInvalidFilterPropertyExpressionState(e){return e instanceof dPi&&!e.condition.propertyExpressionState.isValid}isInvalidValueSpecFilterValue(e){return e instanceof dPi&&e.condition.rightConditionValue instanceof nPi&&e.condition.rightConditionValue.value instanceof Pw&&!Upt(e.condition.rightConditionValue.value)}isInvalidPropertyExpressionStateFilterValue(e){return e instanceof dPi&&e.condition.rightConditionValue instanceof iPi&&!e.condition.rightConditionValue.propertyExpressionState.isValid}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof dPi&&(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 iPi&&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 $y([Zpt.FILTER_STATE,$y(this.rootIds),$y(Array.from(this.nodes.values()))])}}const pPi=e=>e.getValue()instanceof Jw?pPi(js(e.getValue(),Jw)):e.getValue(),gPi=(e,t,n,i,r)=>{const s=new Kw("");let o;s.func=e.func,s.parametersValues=[...e.parametersValues];let a=s;for(;a instanceof Kw;){if(o=a.parametersValues[0],o instanceof Kw){const e=new Kw("");e.func=o.func,e.parametersValues=[...o.parametersValues],o=e,Ipt(a,e,0,t.observerContext)}if(a instanceof Kw&&a.func.value instanceof US)if(i?.useAllVersionsForMilestoning&&a.func.value.genericType.value.rawType instanceof ES&&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&&(kpt(a,zS.create(n)),Npt(a,[Gs(a.parametersValues[0])],t.observerContext))}else{const e=a;a.parametersValues.slice(1).forEach((t,n)=>{t instanceof Jw&&(!r&&t.isPropagatedValue?1===n&&3===e.parametersValues.length||0===n&&3===e.parametersValues.length&&!(e.parametersValues[2]instanceof Jw&&!0===e.parametersValues[2].isPropagatedValue)?e.parametersValues[n+1]=pPi(t):e.parametersValues=[Gs(js(a,Kw).parametersValues[0])]:e.parametersValues[n+1]=pPi(t))})}for(a=o;a instanceof Yw&&lS(a.functionName,bpt.SUBTYPE);)a=a.parametersValues[0]}return a instanceof Mw&&Opt(a,n),s},mPi=(e,t)=>{if(t instanceof dPi){const n=t.parentId?js(e.nodes.get(t.parentId),oPi):void 0;return t.condition.operator.buildFilterConditionExpression(t.condition,n?.lambdaParameterName)}if(t instanceof aPi){const n=new Yw(sS(WMi(t.groupOperation))),i=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>mPi(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 Yw(sS(WMi(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 lPi){const n=new Yw(sS(bpt.EXISTS));let i=t.parentId?js(e.nodes.get(Gs(t.parentId)),oPi):void 0;for(;i&&!(i instanceof aPi);)i=i.parentId?js(e.nodes.get(Gs(i.parentId)),oPi):void 0;const r=t.parentId?js(e.nodes.get(Gs(t.parentId)),oPi).lambdaParameterName:void 0,s=Gs(gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,r??e.lambdaParameterName)),o=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>mPi(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 Yw(Gs(i).groupOperation);s.parametersValues=[n,r],t=s}a=[e,t]}else{if(1===o.length){const i=$pt(t.lambdaParameterName??ppt,o,e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,i],n}a=o}if(!a.length)return;const l=new Yw(sS(WMi(Gs(i).groupOperation)));l.parametersValues=a;const c=$pt(t.lambdaParameterName??ppt,[l],e.queryBuilderState.graphManagerState.graph);return n.parametersValues=[s,c],n}};var fPi,vPi;!function(e){e.RUN="RUN",e.EXPORT="EXPORT",e.DATA_CUBE="DATA_CUBE"}(fPi||(fPi={})),function(e){e.LAMBDA_PARAMETER_STATE="LAMBDA_PARAMETER_STATE",e.LAMBDA_PARAMETERS_STATE="LAMBDA_PARAMETERS_STATE"}(vPi||(vPi={}));const yPi=(e,t)=>{const n=new Zw(new Xw(XC.create(e.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE));return n.expressionSequence=t.map(e=>{if(e.value){const t=new Yw(sS(exports.SUPPORTED_FUNCTIONS.LET)),n=new Fw(vS.create(new wS(gS.STRING)));return n.values=[e.variableName],t.parametersValues.push(n),t.parametersValues.push(e.value),t}}).filter(Vs),n},bPi=e=>e.value instanceof Yw&&[nS.ONE,nS.ZERO_ONE].some(t=>Ix(t,e.parameter.multiplicity)),_Pi=e=>e.filter(bPi),CPi=(e,t)=>e.filter(e=>!bPi(e)).map(e=>{const n=new XY;return n.name=e.parameter.name,n.value=t.graphManager.serializeValueSpecification(Gs(e.value)),n}),SPi=(e,t,n)=>{const i=((e,t)=>{const n=_Pi(e);if(n.length>0){const i=yPi(t.graph,n);return i.functionType.parameters=e.filter(e=>!n.includes(e)).map(e=>e.parameter),t8(i,t)}})(t,n);return i&&Array.isArray(e.body)&&Array.isArray(i.body)?(i.body=[...i.body,...e.body],i):e};class wPi{uuid=ho();parameter;graph;observerContext;value;constructor(e,t,n){Hh(this,{value:ru,setValue:hh,mockParameterValue:hh,hashCode:lu}),this.observerContext=t,this.parameter=zte(e),this.graph=n}get hashCode(){return $y([vPi.LAMBDA_PARAMETER_STATE,this.parameter])}mockParameterValue(){this.setValue(lMi(this.parameter,this.graph,this.observerContext))}setValue(e){if(e instanceof Mw)throw new qr("Can not assign a parameter to another parameter");this.value=e?une(e,this.observerContext):void 0}changeVariableType(e){e!==this.variableType&&(Apt(this.parameter,vS.create(new wS(e))),this.mockParameterValue())}changeMultiplicity(e,t){const n=this.parameter.multiplicity;Ix(n,t)||(Rpt(e,t),this.mockParameterValue())}get variableName(){return this.parameter.name}get variableType(){return this.parameter.genericType?.value.rawType}}class EPi{showModal=!1;submitAction;constructor(){Hh(this,{showModal:ru,submitAction:ru,setShowModal:hh,open:hh,setSubmitAction:hh})}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 xPi{parameterStates=[];parameterValuesEditorState=new EPi;constructor(){Hh(this,{hashCode:lu})}get hashCode(){return $y([vPi.LAMBDA_PARAMETERS_STATE,$y(this.parameterStates)])}addParameter(e){Co(this.parameterStates,e)}removeParameter(e){wo(this.parameterStates,e)}setParameters(e){this.parameterStates=e}}class TPi{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 APi extends TPi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}get specifiedInQuery(){return!0}get explicitMappingValue(){}get explicitRuntimeValue(){}}class RPi extends TPi{constructor(e){super(e),Hh(this,{mapping:ru,runtimeValue:ru,setMapping:hh,setRuntimeValue:hh})}}const NPi=(e,t)=>{const n=new Yw(sS(ypt.GET_ALL)),i=new Pw(t,vS.create(new wS(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},IPi=(e,t)=>{const n=new Yw(sS(ypt.GET_ALL_VERSIONS)),i=new Pw(t,vS.create(new wS(e)));return i.values[0]=XC.create(e),n.parametersValues.push(i),n},DPi=(e,t)=>{const n=Gs(e.class,"Class is required to build query"),i=new Zw(new Xw(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),r=fx(n,e.graphManagerState.graph);if(r&&t?.useAllVersionsForMilestoning){const e=IPi(n,nS.ONE);i.expressionSequence[0]=e}else switch(e.getAllFunction){case ypt.GET_ALL_VERSIONS:if(!r)throw new Yr("Unable to build query lamdba: getAllVersions() expects source class to be milestoned");{const e=IPi(n,nS.ONE);i.expressionSequence[0]=e}break;case ypt.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 Yw(sS(ypt.GET_ALL_VERSIONS_IN_RANGE)),i=new Pw(t,vS.create(new wS(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 ypt.GET_ALL:{const t=NPi(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 Yw(sS(bpt.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=>mPi(e,t)).filter(Vs);if(!n.length)return;const i=new Yw(sS(bpt.FILTER)),r=Gs(t.expressionSequence[0]);i.parametersValues.push(r),i.parametersValues.push($pt(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.buildExecutionContextExpression(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=_Pi(t);if(i.length){e.functionType.parameters=t.filter(e=>!i.includes(e)).map(e=>e.parameter);const r=yPi(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},kPi=(e,t,n)=>{const i=new Kw("");let r;i.func=e.func,i.parametersValues=[...e.parametersValues];let s=i;for(;s instanceof Kw;){if(r=s.parametersValues[0],r instanceof Kw){const e=new Kw("");e.func=r.func,e.parametersValues=[...r.parametersValues],r=e,s.parametersValues[0]=e}if(s instanceof Kw&&s.func.value.genericType.value.rawType instanceof ES&&0!==s.func.value._OWNER._generatedMilestonedProperties.length&&s.func.value instanceof US&&!s.func.value._OWNER.derivedProperties.includes(s.func.value)){const e=nMi(bpt.NOW,gS.DATETIME),t=2===s.parametersValues.length?[e]:[e,e];Npt(s,[Gs(s.parametersValues[0]),...t],n)}for(s=r;s instanceof Yw&&lS(s.functionName,bpt.SUBTYPE);)s=s.parametersValues[0]}return s instanceof Mw&&Opt(s,t),i},OPi=(e,t,n,i,r,s,o)=>{if(!(t||i&&r&&s))throw new Yr("Can't build typeahead query");const a=new Zw(new Xw(XC.create(e.graphManagerState.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE)),l=Gs(e.class),c=NPi(Gs(e.class),nS.ONE),d=fx(l,e.graphManagerState.graph);d&&e.milestoningState.getMilestoningImplementation(d).buildGetAllWithDefaultParameters(c),a.expressionSequence[0]=c;const u=t?uMi(t,!1):s;if(n){const r=new Yw(sS(bpt.TDS_GROUP_BY)),s=new Vw(nS.ZERO),o=new Vw(nS.ONE),l=new Vw(nS.ONE),c=new Fw(vS.create(new wS(gS.STRING)));c.values.push(u),l.values.push(c);const d=t?$pt(ppt,[t],e.graphManagerState.graph):i,h=new Yw(sS(bpt.TDS_AGG)),p=$pt(ppt,[n.buildAggregateExpression(t,ppt,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 Yw(sS(bpt.TDS_PROJECT)),r=new Vw(nS.ONE),s=new Vw(nS.ONE),o=new Fw(vS.create(new wS(gS.STRING)));o.values.push(u),s.values.push(o);const l=t?$pt(ppt,[t],e.graphManagerState.graph):i;r.values.push(Gs(l)),n.parametersValues=[a.expressionSequence[0],r,s],a.expressionSequence[0]=n}const h=new ZMi,p=new Kw("");let g;const m=h.getTDSColumnGetter();if(m)g=m;else{const e=t?.func.value.genericType.value.rawType??r;g=HMi(Gs(e))}p.func=zS.create(Gs(Sx(e.graphManagerState.graph.getClass(fpt.TDS_ROW)).find(e=>e.name===g)));const f=new Mw(gpt,nS.ONE),v=new Fw(vS.create(new wS(gS.STRING)));v.values=[u],p.parametersValues=[f,v];const y=new Yw(sS(bpt.STARTS_WITH));y.parametersValues.push(p),o&&y.parametersValues.push(o);const b=$pt(gpt,[y],e.graphManagerState.graph),_=new Yw(sS(bpt.TDS_FILTER)),C=Gs(a.expressionSequence[0]);_.parametersValues=[C,b],a.expressionSequence[0]=_;let S=a.expressionSequence[0];const w=new Yw(sS(bpt.TDS_DISTINCT));w.parametersValues[0]=S,S=w;const E=new Fw(vS.create(new wS(gS.INTEGER)));E.values=[10];const x=new Yw(sS(bpt.TDS_TAKE));return x.parametersValues[0]=S,x.parametersValues[1]=E,S=x,a.expressionSequence[0]=S,t8(a,e.graphManagerState)},LPi=(e,t,n)=>{const i=kPi(t,ppt,e.observerContext);return OPi(e,i,void 0,void 0,void 0,void 0,n)},MPi=e=>{const t=js(e,RZ,"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},PPi=e=>{if(e instanceof Fw){if(e.genericType.value.rawType.path===TC.STRING){return e.values[0].length>=2}return!1}return!1};var FPi;!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"}(FPi||(FPi={}));const BPi=(e,t)=>{switch(e){case _pt.GET_STRING:return gS.STRING;case _pt.GET_NUMBER:return gS.NUMBER;case _pt.GET_INTEGER:return gS.INTEGER;case _pt.GET_FLOAT:return gS.FLOAT;case _pt.GET_DECIMAL:return gS.DECIMAL;case _pt.GET_DATE:return gS.DATE;case _pt.GET_DATETIME:return gS.DATETIME;case _pt.GET_STRICTDATE:return gS.STRICTDATE;case _pt.GET_BOOLEAN:return gS.BOOLEAN;default:return}};class VPi{id=ho();label="";isOpen;parentId;constructor(e){this.parentId=e,Hh(this,{isOpen:ru,parentId:ru,setIsOpen:hh,setParentId:hh,hashCode:lu})}setIsOpen(e){this.isOpen=e}setParentId(e){this.parentId=e}}class UPi extends VPi{groupOperation;childrenIds=[];constructor(e,t){super(e),Hh(this,{groupOperation:ru,setGroupOperation:hh,childrenIds:ru,addChildNode:hh,removeChildNode:hh,dragPreviewLabel:lu}),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){wo(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 $y([Zpt.POST_FILTER_TREE_GROUP_NODE_DATA,this.parentId??"",$y(this.childrenIds),this.groupOperation])}}class GPi extends VPi{condition;isNewlyAdded;constructor(e,t,n){super(e),Hh(this,{condition:ru,isNewlyAdded:ru,setIsNewlyAdded:hh,dragPreviewLabel:lu}),this.condition=t,this.isNewlyAdded=n??!1}setIsNewlyAdded(e){this.isNewlyAdded=e}get dragPreviewLabel(){return this.condition.columnName}get hashCode(){return $y([Zpt.POST_FILTER_TREE_CONDIITION_NODE_DATA,this.parentId??"",this.condition])}}class HPi extends VPi{constructor(e){super(e),Hh(this,{dragPreviewLabel:lu})}get dragPreviewLabel(){return"<blank>"}get hashCode(){return $y([Zpt.POST_FILTER_TREE_BLANK_CONDITION_NODE_DATA,this.parentId??""])}}class zPi{conditionState;constructor(e){this.conditionState=e}get type(){}get isCollection(){return!1}get hashCode(){return $y([Zpt.POST_FILTER_CONDITION_RIGHT_VALUE])}}class WPi extends zPi{value;constructor(e,t){super(e),Hh(this,{value:ru,setValue:hh}),this.value=this.setValue(t)}get type(){return this.value instanceof Vw?Vpt(this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,this.value.values):this.value?Bpt(this.value):void 0}setValue(e){return this.value=e?une(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 Vw}get hashCode(){return $y([Zpt.POST_FILTER_CONDITION_RIGHT_VALUE_SPEC,this.value])}}class jPi extends zPi{tdsColumn;constructor(e,t){super(e),Hh(this,{tdsColumn:ru,changeCol:hh}),this.tdsColumn=t}get type(){return this.tdsColumn.getColumnType()}get isCollection(){return!1}appendConditionValue(e,t){const n=KMi(this.conditionState,this.tdsColumn,this.conditionState.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,void 0,t);e.parametersValues.push(n)}changeCol(e){this.tdsColumn=e}}class $Pi{postFilterState;leftConditionValue;rightConditionValue;operator;typeaheadSearchResults;typeaheadSearchState=h_.create();constructor(e,t,n){Hh(this,{postFilterState:ru,rightConditionValue:ru,operator:ru,leftConditionValue:ru,typeaheadSearchResults:ru,changeOperator:hh,setColumnState:hh,setRightConditionVal:hh,buildFromValueSpec:hh,setOperator:hh,changeColumn:Nh,handleTypeaheadSearch:Nh,columnName:lu,hashCode:lu}),this.postFilterState=e,this.leftConditionValue=t,this.rightConditionValue=new WPi(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 WPi?this.rightConditionValue.setValue(e):this.setRightConditionVal(new WPi(this,e))}*handleTypeaheadSearch(e){try{this.typeaheadSearchState.inProgress(),this.typeaheadSearchResults=void 0;const t=this.leftConditionValue instanceof bMi||this.leftConditionValue instanceof EMi?this.leftConditionValue:void 0,n=Gs(t),i=js(this.rightConditionValue,WPi),r=e??i.value;if(PPi(r)){const e=(yield this.postFilterState.tdsState.queryBuilderState.graphManagerState.graphManager.runQuery(((e,t,n)=>{let i,r,s,o,a,l;return t instanceof bMi?l=t:(l=t.projectionColumnState,r=t.operator),l instanceof SMi?(s=new Lw(cD(Mq(l.lambda,new BX([]).build()))),o=l.columnName,a=l.returnType):i=kPi(js(l,_Mi).propertyExpressionState.propertyExpression,ppt,e.observerContext),OPi(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=MPi(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 SMi&&(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 $y([Zpt.POST_FILTER_CONDITION_STATE,this.leftConditionValue,this.rightConditionValue,this.operator])}}class qPi{tdsState;lambdaParameterName=gpt;selectedNode;isRearrangingConditions=!1;operators=[];rootIds=[];nodes=new Map;derivedColumnBeingDropped;constructor(e,t){Hh(this,{tdsState:!1,selectedNode:ru,isRearrangingConditions:ru,rootIds:ru,nodes:ru,lambdaParameterName:ru,derivedColumnBeingDropped:ru,setLambdaParameterName:hh,setSelectedNode:hh,addNodeFromNode:hh,addGroupConditionNodeFromNode:hh,newGroupWithConditionFromNode:hh,removeNodeAndPruneBranch:hh,pruneTree:hh,simplifyTree:hh,collapseTree:hh,expandTree:hh,replaceBlankNodeWithNode:hh,setRearrangingConditions:hh,setDerivedColumnBeingDropped:hh,allValidationIssues:lu,hasInvalidFilterValues:lu,hasInvalidDerivedPropertyParameters:lu,hashCode:lu}),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),UPi):void 0}get referencedTDSColumns(){return Pr(Array.from(this.nodes.values()).filter(zs(GPi)).map(e=>[e.condition.leftConditionValue,...e.condition.rightConditionValue instanceof jPi?[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 UPi)t.addChildNode(e);else if(t instanceof GPi||t instanceof HPi){const n=new UPi(void 0,zMi.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 UPi(void 0,zMi.AND),n=new HPi(void 0),i=new HPi(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 HPi(void 0);if(t instanceof GPi){const e=this.getParentNode(t);if(e){const i=e.childrenIds.findIndex(e=>e===t.id);e.removeChildNode(t);const r=new UPi(void 0,zMi.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 UPi)this.nodes.set(e.id,e),t.addChildNode(e);else if(t instanceof GPi||t instanceof HPi){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 UPi&&[...e.childrenIds].forEach(t=>e.removeChildNode(this.getNode(t)));const t=this.getParentNode(e);t?t.removeChildNode(e):wo(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 wo(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(UPi)).filter(e=>{if(!e.parentId||!this.nodes.has(e.parentId))return!1;return js(this.nodes.get(e.parentId),UPi).groupOperation===e.groupOperation});let t=e();for(;t.length;)t.forEach(e=>{const t=js(this.nodes.get(Gs(e.parentId)),UPi);[...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(UPi)).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 HPi).forEach(e=>this.removeNode(e)),this.pruneOrphanNodes(),this.pruneChildlessGroupNodes();const e=()=>Array.from(this.nodes.values()).filter(zs(UPi)).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 HPi)throw new qr("Query builder post-filter tree found unexpected blank nodes");return this.getNode(t)instanceof GPi});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):wo(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(GPi)).map(e=>e.condition.rightConditionValue).filter(zs(WPi)).map(e=>e.value).filter(Vs).find(t=>Kpt(e,t)))}get allValidationIssues(){const e=[];return Array.from(this.nodes.values()).forEach(t=>{t instanceof GPi&&(t.condition.rightConditionValue instanceof WPi&&t.condition.rightConditionValue.value instanceof Pw&&!Upt(t.condition.rightConditionValue.value)&&e.push(`Filter value for ${t.condition.leftConditionValue.columnName} is missing or invalid`),t.condition.leftConditionValue instanceof _Mi&&!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 GPi&&e.condition.rightConditionValue instanceof WPi&&e.condition.rightConditionValue.value instanceof Pw&&!Upt(e.condition.rightConditionValue.value))}get hasInvalidDerivedPropertyParameters(){return Array.from(this.nodes.values()).some(e=>e instanceof GPi&&e.condition.leftConditionValue instanceof _Mi&&!e.condition.leftConditionValue.propertyExpressionState.isValid)}get hashCode(){return $y([Zpt.POST_FILTER_STATE,$y(this.rootIds),$y(Array.from(this.nodes.values()))])}}class YPi extends UMi{getLabel(){return"is in list of"}isCompatibleWithType(e){return[TC.STRING,TC.NUMBER,TC.INTEGER,TC.DECIMAL,TC.FLOAT].includes(e.path)||e instanceof NS}isCompatibleWithConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType()),n=e.rightConditionValue;if(n instanceof WPi){const i=n.value;if(i instanceof Vw){if(0===i.values.length)return!0;const n=Vpt(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 Mw)return 1!==i.multiplicity.upperBound&&t===i.genericType?.value.rawType}return!1}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return new Vw(nS.ONE,vS.create(new wS(t)))}buildPostFilterConditionExpression(e,t){return XMi(e,this,bpt.IN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.IN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IN])}}class KPi extends YPi{getLabel(){return"is not in list of"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_IN])}}class XPi extends UMi{getLabel(){return"is empty"}getTDSColumnGetter(){return _pt.IS_NULL}isCompatibleWithType(e){return e instanceof gS||e instanceof NS}isCompatibleWithConditionValue(e){return e.rightConditionValue instanceof WPi&&void 0===e.rightConditionValue.value}isCompatibleWithPostFilterColumn(e){const t=e.leftConditionValue.getColumnType();return!(!t||!this.isCompatibleWithType(t))&&(!(e.leftConditionValue instanceof _Mi)||zpt(e.leftConditionValue.propertyExpressionState.propertyExpression))}getDefaultFilterConditionValue(e){}buildPostFilterConditionExpression(e,t){return XMi(e,this,void 0,t)}buildPostFilterConditionState(e,t){return qMi(e,t,void 0,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IS_EMPTY])}}class ZPi extends XPi{getLabel(){return"is not empty"}getTDSColumnGetter(){return _pt.IS_NOT_NULL}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_IS_NOT_EMPTY])}}class QPi extends UMi{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 NS&&e.values.length>0}isCompatibleWithConditionValue(e){return!e.rightConditionValue.isCollection&&Wpt(e.rightConditionValue.type,Gs(e.leftConditionValue.getColumnType()))}getDefaultFilterConditionValue(e){const t=Gs(e.leftConditionValue.getColumnType());return oMi(e.postFilterState.tdsState.queryBuilderState.graphManagerState.graph,t,e.postFilterState.tdsState.queryBuilderState.observerContext,e.postFilterState.tdsState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_EQUAL])}}class JPi extends QPi{getLabel(){return"is not"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_EQUAL])}}class eFi extends UMi{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 Wpt(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 oMi(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 XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_LESS_THAN])}}class tFi extends eFi{getLabel(){return"<="}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_LESS_THAN_EQUAL])}}class nFi extends UMi{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 Wpt(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 oMi(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 XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_GREATER_THAN])}}class iFi extends nFi{getLabel(){return">="}buildPostFilterConditionExpression(e,t){return XMi(e,this,e.leftConditionValue.getColumnType()===gS.DATETIME&&e.rightConditionValue.type!==gS.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,t)}buildPostFilterConditionState(e,t){return qMi(e,t,t.parametersValues[0]instanceof Kw&&t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class rFi extends UMi{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 oMi(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 XMi(e,this,bpt.CONTAINS,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.CONTAINS,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_CONTAIN])}}class sFi extends rFi{getLabel(){return"doesn't contain"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_CONTAIN])}}class oFi extends UMi{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 oMi(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 XMi(e,this,bpt.ENDS_WITH,t)}buildPostFilterConditionState(e,t){return qMi(e,t,bpt.ENDS_WITH,this)}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_END_WITH])}}class aFi extends oFi{getLabel(){return"doesn't end with"}buildPostFilterConditionExpression(e,t){const n=super.buildPostFilterConditionExpression(e,t);return n?Hpt(n):void 0}buildPostFilterConditionState(e,t){const n=Gpt(t);return n?super.buildPostFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.POST_FILTER_OPERATOR_NOT_END_WITH])}}class lFi extends wMi{getLabel(e){return"distinct"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 NS}return!0}buildAggregateExpression(e,t,n){return TMi(bpt.UNIQUE_VALUE_ONLY,t)}buildAggregateColumnState(e,t,n){return AMi(n,t,e,bpt.UNIQUE_VALUE_ONLY,this)}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_DISTINCT])}}class cFi extends wMi{getLabel(e){return"join"}isCompatibleWithColumn(e){return!(e instanceof _Mi)||gS.STRING===e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType}buildAggregateExpression(e,t,n){const i=new Yw(sS(bpt.JOIN_STRINGS)),r=new Fw(vS.create(new wS(gS.STRING)));return r.values=[";"],i.parametersValues.push(new Mw(t,nS.ONE),r),i}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.JOIN_STRINGS)){const i=new EMi(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],Mw,"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],Fw,"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 $y([Zpt.AGGREGATE_OPERATOR_JOIN_STRING])}}class dFi extends wMi{percentile;acending;continuous;constructor(){super(),Hh(this,{percentile:ru,acending:ru,continuous:ru,setPercentile:hh,setAcending:hh,setContinuous:hh})}setPercentile(e){this.percentile=e}setAcending(e){this.acending=e}setContinuous(e){this.continuous=e}getLabel(e){return"percentile"}isCompatibleWithColumn(e){if(e instanceof _Mi){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 Yw(sS(bpt.PERCENTILE)),s=new Fw(vS.create(new wS(gS.NUMBER)));if(s.values=[i],void 0===this.acending||void 0===this.continuous||this.acending&&this.continuous)r.parametersValues.push(new Mw(t,nS.ONE),s);else{const e=new Fw(vS.create(new wS(gS.BOOLEAN)));e.values=[this.acending];const n=new Fw(vS.create(new wS(gS.BOOLEAN)));n.values=[this.continuous],r.parametersValues.push(new Mw(t,nS.ONE),s,e,n)}return r}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.PERCENTILE)){const i=new EMi(n.tdsState.aggregationState,n,new dFi),r=js(i.operator,dFi);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],Mw,"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],Fw,"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],Fw,"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],Fw,"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 dFi}get allValidationIssues(){const e=[];return(void 0===this.percentile||this.percentile>100)&&e.push("Invalid Aggregation Argument for Percentile"),e}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_PERCENTILE])}}class uFi extends wMi{weight;constructor(){super(),Hh(this,{weight:ru,setWeight:hh})}setWeight(e){this.weight=e}getLabel(e){return"wavg"}getName(e){return e.columnName}isCompatibleWithColumn(e){if(e instanceof _Mi){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 TMi(bpt.WAVG,t)}buildAggregateColumnState(e,t,n){if(lS(e.functionName,bpt.WAVG)){const e=new EMi(n.tdsState.aggregationState,n,new uFi),i=js(e.operator,uFi);return e.setLambdaParameterName(t.name),e.setOperator(i),e}}get getOperator(){return new uFi}get hashCode(){return $y([Zpt.AGGREGATE_OPERATOR_WAVG])}}const hFi="WINDOW_COLUMN";class pFi{columnState;sortType;constructor(e,t){Hh(this,{columnState:ru,sortType:ru,setColumnState:hh,setSortType:hh}),this.columnState=e,this.sortType=t}setColumnState(e){this.columnState=e}setSortType(e){this.sortType=e}get hashCode(){return $y([Zpt.TDS_WINDOW_COLUMN_SORTBY_STATE,this.sortType,this.columnState.columnName])}}class gFi{windowState;lambdaParameterName=ppt;operator;constructor(e,t){this.windowState=e,this.operator=t}setLambdaParameterName(e){this.lambdaParameterName=e}setOperator(e){this.operator=e}get hashCode(){return $y([Zpt.TDS_WINDOW_GROUPBY_OPERATION_STATE,this.lambdaParameterName,this.operator])}}class mFi extends gFi{constructor(e,t){super(e,t),Hh(this,{setLambdaParameterName:hh})}}class fFi extends gFi{columnState;constructor(e,t,n){super(e,t),Hh(this,{columnState:ru,setColumnState:hh,setLambdaParameterName:hh}),this.columnState=n}setColumnState(e){this.columnState=e}get hashCode(){return $y([Zpt.TDS_WINDOW_GROUPBY_AGG_OPERATOR_STATE,this.lambdaParameterName,this.operator,this.columnState.columnName])}}class vFi extends fMi{windowState;windowColumns=[];sortByState;operatorState;columnName;constructor(e,t,n,i,r){super(),Hh(this,{windowColumns:ru,sortByState:ru,operatorState:ru,columnName:ru,setOperatorState:ru,setColumnName:hh,setSortBy:hh,changeWindow:hh,deleteWindow:hh,addWindow:hh,setWindows:hh,changeOperator:hh,changeSortBy:hh}),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 fFi?[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){wo(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 mFi(this.windowState,n),columnName:`${n.getLabel()}`};{const e=t&&n.isCompatibleWithColumn(t)?t:this.possibleAggregatedColumns(n)[0];if(e)return{operatorState:new fFi(this.windowState,n,e),columnName:`${n.getLabel()} of ${e.columnName}`}}}}changeOperator(e){const t=this.getChangeOperatorStateAndColumnName(this.operatorState.operator,this.operatorState instanceof fFi?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 pFi(Gs(this.possibleReferencedColumns[0]),e);n.setSortType(e),this.setSortBy(n)}else this.setSortBy(void 0)}get hashCode(){return $y([Zpt.TDS_WINDOW_COLUMN_STATE,$y(this.windowColumns),this.sortByState??"",this.operatorState,this.columnName])}}class yFi{tdsState;windowColumns=[];operators;editColumn;constructor(e,t){Hh(this,{windowColumns:ru,editColumn:ru,invalidWindowColumnNames:lu,windowValidationIssues:lu,addWindowColumn:hh,removeColumn:hh,moveColumn:hh,setEditColumn:hh}),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 fFi&&t.operatorState.columnState instanceof vFi){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){wo(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 $y([Zpt.TDS_WINDOW_GROUPBY_STATE,$y(this.windowColumns)])}}const bFi=(e,t)=>{const n=e.windowState.tdsState.queryBuilderState.graphManagerState.graph,i=e.windowColumns.map(e=>{const t=new Fw(vS.create(new wS(gS.STRING)));return t.values=[e.columnName],t}),r=new Vw(n.getMultiplicity(i.length,i.length));let s;if(r.values=i,e.sortByState){const t=e.sortByState;s=new Yw((e=>{switch(e){case Cpt.ASC:return sS(bpt.TDS_ASC);case Cpt.DESC:return sS(bpt.TDS_DESC);default:throw new Yr(`Unsupported column sort type ${e}`)}})(t.sortType));const n=new Fw(vS.create(new wS(gS.STRING)));n.values=[t.columnState.columnName],s.parametersValues[0]=n}const o=e.operatorState,a=sS(o.operator.pureFunc),l=new Yw(a);l.parametersValues=[new Mw(o.lambdaParameterName,nS.ONE)];const c=$pt(o.lambdaParameterName,[l],n);let d;if(o instanceof fFi){const e=new Fw(vS.create(new wS(gS.STRING)));e.values=[o.columnState.columnName],d=new Yw(sS(bpt.TDS_FUNC)),d.parametersValues=[e,c]}const u=d??c,h=new Fw(vS.create(new wS(gS.STRING)));h.values=[e.columnName];const p=new Yw(sS(bpt.OLAP_GROUPBY)),g=Gs(t.expressionSequence[0]);return p.parametersValues=[g,r,...s?[s]:[],u,h],t.expressionSequence[0]=p,t},_Fi=(e,t,n)=>{if(t instanceof GPi)return t.condition.operator.buildPostFilterConditionExpression(t.condition,n);if(t instanceof UPi){const i=new Yw(sS(WMi(t.groupOperation))),r=t.childrenIds.map(t=>e.nodes.get(t)).filter(Vs).map(t=>_Fi(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 Yw(sS(WMi(t.groupOperation)));o.parametersValues=[i,s],n=o}i.parametersValues=[e,n]}else i.parametersValues=r;return i.parametersValues.length?i:void 0}};class CFi{_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[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]}getSortTypeFunctionName(e){return e===Cpt.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 Yw(sS(this.distinctFunctionName));e.parametersValues[0]=this.currentExpression,this.setCurrentResultModifierFunction(e)}buildSortFunction(e){const t=new Yw(sS(this.sortFunctionName)),n=this.graphManagerState.graph.getMultiplicity(e.length,e.length),i=new Vw(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 Yw(sS(this.getSortTypeFunctionName(e.sortType)));return t.parametersValues[0]=this.buildColumnValueSpec(e.columnState.columnName),t}buildLimitFunction(e){const t=new Fw(vS.create(new wS(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 Yw(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 Fw(vS.create(new wS(gS.INTEGER))),r=new Fw(vS.create(new wS(gS.INTEGER)));i.values=[t],r.values=[n];const s=new Yw(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 Yw&&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 SFi extends CFi{get limitFunctionName(){return bpt.TDS_TAKE}get sliceFunctionName(){return bpt.SLICE}get sortFunctionName(){return bpt.TDS_SORT}get distinctFunctionName(){return bpt.TDS_DISTINCT}get ascFunctionname(){return bpt.TDS_ASC}get descFunctionName(){return bpt.TDS_DESC}buildColumnValueSpec(e){return(e=>{const t=new Fw(vS.create(new wS(gS.STRING)));return t.values=[e],t})(e)}}class wFi extends CFi{get limitFunctionName(){return bpt.RELATION_LIMIT}get sliceFunctionName(){return bpt.RELATION_SLICE}get ascFunctionname(){return bpt.RELATION_ASC}get descFunctionName(){return bpt.RELATION_DESC}get sortFunctionName(){return bpt.RELATION_SORT}get distinctFunctionName(){return bpt.RELATION_DISTINCT}buildColumnValueSpec(e){const t=new zw(nS.ONE,void 0),n=new Hw;return n.name=e,t.values=[n],t}}const EFi=(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 Yw(sS(bpt.TDS_GROUP_BY)),o=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length-e.aggregationState.columns.length,e.projectionColumns.length-e.aggregationState.columns.length)),a=new Vw(i.graphManagerState.graph.getMultiplicity(e.aggregationState.columns.length,e.aggregationState.columns.length)),l=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(t=>{const r=new Fw(vS.create(new wS(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 _Mi)c=$pt(t.lambdaParameterName,[gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n,!0)],i.graphManagerState.graph);else{if(!(t instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);c=new Lw(cD(Mq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}if(s){s.operator instanceof uFi&&s.setLambdaParameterName("y");const e=new Yw(sS(bpt.TDS_AGG)),t=$pt(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 Yw&&(n=$pt(Gs(s.calendarFunction).lambdaParameterName,[r],s.aggregationState.tdsState.queryBuilderState.graphManagerState.graph)),s.operator instanceof uFi&&s.operator.weight&&s.projectionColumnState instanceof _Mi&&c instanceof Qw){const e=new Yw(bpt.WAVG_ROW_MAPPER),t=s.projectionColumnState.propertyExpressionState.propertyExpression,i=s.operator.weight;e.parametersValues=[t,i],n&&n instanceof Qw?yo(n.values,0).expressionSequence[0]=e:c instanceof Qw&&(yo(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 Yw(sS(bpt.RELATION_PROJECT)),r=t.queryBuilderState,s=new jw(nS.ONE,void 0),o=new Ww;s.values=[o];const a=new SS(SS.ID);t.projectionColumns.forEach(e=>{const t=new Hw;let i;if(o.colSpecs.push(t),t.name=e.columnName,e instanceof _Mi)i=$pt(e.lambdaParameterName,[gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],r.graphManagerState.graph);else{if(!(e instanceof SMi))throw new Yr("Can't build relation project() column expression: unsupported projection column state",e);i=new Lw(cD(Mq(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,vS.create(new wS(s))))}),i.parametersValues=[e,s];const l=new wS(AK.INSTANCE),c=new wS(a);return l.typeArguments=[vS.create(c)],i.genericType=vS.create(l),i})(r,e,n),s=e.aggregationState.columns.length?((e,t)=>{const n=js(e,Yw);if(n.functionName!==sS(bpt.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: previous expression must be project() column expression");const i=new Yw(sS(bpt.RELATION_GROUP_BY)),r=t.queryBuilderState,s=new jw(nS.ONE,void 0),o=new Ww;s.values=[o];const a=new jw(nS.ONE,void 0),l=new Ww;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 Hw;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,vS.create(new wS(n))))}),t.aggregationState.columns.forEach(e=>{const t=new Hw;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,Qw).values[0]?.expressionSequence[0],Kw),o=js(s.func.value,AS),a=new Kw("");a.func=zS.create(new AS(i.name,o.multiplicity,o.genericType,o._OWNER)),a.parametersValues=[new Mw(Cgt,nS.ONE)];const d=$pt(Cgt,[a],r.graphManagerState.graph);t.function1=d;const u=$pt(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,vS.create(new wS(h))))}),i.parametersValues=[e,s,a];const d=new wS(AK.INSTANCE),u=new wS(c);return d.typeArguments=[vS.create(u)],i.genericType=vS.create(d),i})(i,e):null;t.expressionSequence[0]=s??i}else{const s=new Yw(sS(bpt.TDS_PROJECT));if(e.useColFunc){const t=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(i=>{t.values.push(((e,t,n)=>{const i=new Yw(sS(bpt.TDS_COL));let r;if(t instanceof _Mi)r=$pt(t.lambdaParameterName,[gPi(t.propertyExpressionState.propertyExpression,t.propertyExpressionState.queryBuilderState,t.lambdaParameterName,n)],e.queryBuilderState.graphManagerState.graph);else{if(!(t instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",t);r=new Lw(cD(Mq(t.lambda,new BX([]).withKeepSourceInformationFlag(Boolean(n?.keepSourceInformation)).build())))}const s=new Fw(vS.create(new wS(gS.STRING)));return s.values.push(t.columnName),i.parametersValues=[r,s],i})(e,i,n))}),s.parametersValues=[r,t]}else{const t=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length)),o=new Vw(i.graphManagerState.graph.getMultiplicity(e.projectionColumns.length,e.projectionColumns.length));e.projectionColumns.forEach(e=>{const r=new Fw(vS.create(new wS(gS.STRING)));let s;if(r.values.push(e.columnName),o.values.push(r),e instanceof _Mi)s=$pt(e.lambdaParameterName,[gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,e.lambdaParameterName,n)],i.graphManagerState.graph);else{if(!(e instanceof SMi))throw new Yr("Can't build project() column expression: unsupported projection column state",e);s=new Lw(cD(Mq(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=>bFi(e,o)),((e,t)=>{const n=e.rootIds.map(t=>Gs(e.nodes.get(t))).map(n=>_Fi(e,n,t)).filter(Vs);if(!n.length||1!==t.expressionSequence.length)return t;const i=$pt(e.lambdaParameterName,n,e.tdsState.queryBuilderState.graphManagerState.graph),r=new Yw(sS(bpt.TDS_FILTER)),s=Gs(t.expressionSequence[0]);r.parametersValues=[s,i],t.expressionSequence[0]=r})(e.postFilterState,t),((e,t,n,i)=>{(n?new wFi(e.tdsState.queryBuilderState.graphManagerState):new SFi(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 xFi{uuid=ho();isColumnAggregator(){return!1}getOperatorReturnType(e){return gS.NUMBER}isCompatibleWithColumn(e){return this.isCompatibleWithType(e.getColumnType())}}class TFi extends xFi{getLabel(){return"average rank"}get pureFunc(){return bpt.OLAP_AVERAGE_RANK}get hashCode(){return $y([Zpt.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 AFi extends xFi{getLabel(){return"dense rank"}get pureFunc(){return bpt.OLAP_DENSE_RANK}get hashCode(){return $y([Zpt.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 RFi extends xFi{getLabel(){return"rank"}get pureFunc(){return bpt.OLAP_RANK}get hashCode(){return $y([Zpt.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 NFi extends xFi{getLabel(){return"row number"}get pureFunc(){return bpt.OLAP_ROW_NUMBER}get hashCode(){return $y([Zpt.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 IFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"sum"}get pureFunc(){return bpt.SUM}get hashCode(){return $y([Zpt.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 DFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"count"}get pureFunc(){return bpt.COUNT}get hashCode(){return $y([Zpt.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 kFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"max"}get pureFunc(){return bpt.MAX}get hashCode(){return $y([Zpt.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 OFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"min"}get pureFunc(){return bpt.MIN}get hashCode(){return $y([Zpt.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 LFi extends xFi{isColumnAggregator(){return!0}getLabel(){return"avg"}get pureFunc(){return bpt.AVERAGE}get hashCode(){return $y([Zpt.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 MFi;!function(e){e.SHOW_POST_FILTER_PANEL="query-builder.showPostFilterPanel",e.SHOW_QUERY_CHAT_PANEL="query-builder.showQueryChatPanel"}(MFi||(MFi={}));const PFi={[MFi.SHOW_POST_FILTER_PANEL]:{defaultValue:!1},[MFi.SHOW_QUERY_CHAT_PANEL]:{defaultValue:!1}};var FFi;!function(e){e.NY="NY",e.LDN="LDN"}(FFi||(FFi={}));const BFi="en-US";class VFi{dateColumn;calendarType;endDate;lambdaParameterName=ppt;func;label;hash;constructor(e,t,n){Hh(this,{dateColumn:ru,lambdaParameterName:ru,calendarType:ru,endDate:ru,setDateColumn:hh,setCalendarType:hh,setLambdaParameterName:hh,setEndDate:hh,hashCode:lu}),this.func=e,this.label=t,this.hash=n}getLabel(){return this.label}isCompatibleWithColumn(e){if(e instanceof _Mi){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 Yw(sS(e));if(!t)throw new Yr("Please specify date column for calendar function for column");s.parametersValues.push(t);const o=new Fw(vS.create(new wS(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],Kw,`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 Kw;){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 Yw&&lS(s.functionName,bpt.SUBTYPE);)s=Gs(s.parametersValues[0])}const o=js(s,Mw).name;n.setLambdaParameterName(o);const a=js(e.parametersValues[1],Fw,`Can't process ${sS(t)}() expression: only support ${sS(t)}() with second parameter as PrimitiveInstancevalue`);Ks(void 0!==Object.values(FFi).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],Ow,`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 _Mi&&t instanceof Qw?n=js(t.values[0]?.expressionSequence[0],Kw):e.projectionColumnState instanceof SMi&&(n=js(t,Lw)),!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 $y([this.hash,this.dateColumn??"",this.calendarType,this.endDate])}}function UFi(e,t,n){return new VFi(e,t,n)}var GFi;!function(e){e.CSV="CSV"}(GFi||(GFi={}));class HFi extends VMi{aggregationState;postFilterState;windowState;resultSetModifierState;projectionColumns=[];isConvertDerivationProjectionObjects=!1;showPostFilterPanel;showWindowFuncPanel=!1;useColFunc=!1;postFilterOperators=(()=>[new QPi,new JPi,new eFi,new tFi,new nFi,new iFi,new ZMi,new QMi,new rFi,new sFi,new oFi,new aFi,new YPi,new KPi,new XPi,new ZPi])();aggregationOperators=(()=>[new NMi,new IMi,new lFi,new MMi,new RMi,new kMi,new DMi,new dFi,new OMi,new LMi,new cFi,new uFi])();aggregationCalendarFunctions=(()=>[UFi(vpt.CALENDAR_ANNUALIZED,"Annualized",Zpt.AGGREGATE_CALENDAR_FUNCTION_ANNUALIZED),UFi(vpt.CALENDAR_YTD,"Year to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_YTD),UFi(vpt.CALENDAR_CME,"Current Month Estimate",Zpt.AGGREGATE_CALENDAR_FUNCTION_CME),UFi(vpt.CALENDAR_CW,"Current Week",Zpt.AGGREGATE_CALENDAR_FUNCTION_CW),UFi(vpt.CALENDAR_CME,"Current Month Estimate",Zpt.AGGREGATE_CALENDAR_FUNCTION_CME),UFi(vpt.CALENDAR_CY_MINUS2,"Current year minus 2",Zpt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS2),UFi(vpt.CALENDAR_CY_MINUS3,"Current year minus 3",Zpt.AGGREGATE_CALENDAR_FUNCTION_CY_MINUS3),UFi(vpt.CALENDAR_MTD,"Month to date",Zpt.AGGREGATE_CALENDAR_FUNCTION_MTD),UFi(vpt.CALENDAR_P12WA,"Previous 12 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P12WA),UFi(vpt.CALENDAR_P12WTD,"Previous 12 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P12WTD),UFi(vpt.CALENDAR_P4WA,"Previous 4 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P4WA),UFi(vpt.CALENDAR_P4WTD,"Previous 4 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P4WTD),UFi(vpt.CALENDAR_P52WA,"Previous 52 Weeks Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_P52WA),UFi(vpt.CALENDAR_P52WTD,"Previous 52 Weeks To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_P52WTD),UFi(vpt.CALENDAR_PMA,"Previous Months Averaged",Zpt.AGGREGATE_CALENDAR_FUNCTION_PMA),UFi(vpt.CALENDAR_PMTD,"Previous Month To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PMTD),UFi(vpt.CALENDAR_PQTD,"Previous Quarter To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PQTD),UFi(vpt.CALENDAR_PRIOR_DAY,"Prior Day",Zpt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_DAY),UFi(vpt.CALENDAR_PRIOR_YEAR,"Prior Year",Zpt.AGGREGATE_CALENDAR_FUNCTION_PRIOR_YEAR),UFi(vpt.CALENDAR_PW,"Previous week",Zpt.AGGREGATE_CALENDAR_FUNCTION_PW),UFi(vpt.CALENDAR_PW_FM,"Previous week, Franchise Manager",Zpt.AGGREGATE_CALENDAR_FUNCTION_PW_FM),UFi(vpt.CALENDAR_PWA,"Past Weeks' Average",Zpt.AGGREGATE_CALENDAR_FUNCTION_PWA),UFi(vpt.CALENDAR_PWTD,"Previous Week To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PWTD),UFi(vpt.CALENDAR_PYMTD,"Previous Year's Month To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYMTD),UFi(vpt.CALENDAR_PYQTD,"Previous Year's Quarter To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYQTD),UFi(vpt.CALENDAR_PYTD,"Previous Year To Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYTD),UFi(vpt.CALENDAR_PYWA,"Previous Year's Weekly Average",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYWA),UFi(vpt.CALENDAR_PYWTD,"Previous Year's Week to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_PYWTD),UFi(vpt.CALENDAR_QTD,"Quarter to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_QTD),UFi(vpt.CALENDAR_REPORT_END_DAY,"Report End Day",Zpt.AGGREGATE_CALENDAR_FUNCTION_REPORT_END_DAY),UFi(vpt.CALENDAR_WTD,"Week to Date",Zpt.AGGREGATE_CALENDAR_FUNCTION_WTD)])();windowFuncOperators=(()=>[new IFi,new DFi,new kFi,new OFi,new LFi,new TFi,new AFi,new RFi,new NFi])();constructor(e,t){super(e,t),Hh(this,{aggregationState:ru,projectionColumns:ru,isConvertDerivationProjectionObjects:ru,showPostFilterPanel:ru,showWindowFuncPanel:ru,useColFunc:ru,TEMPORARY__showPostFetchStructurePanel:lu,derivations:lu,hasParserError:lu,isQueryOptionsSet:lu,addColumn:hh,moveColumn:hh,removeAllColumns:hh,removeColumn:hh,replaceColumn:hh,initialize:hh,initializeWithQuery:hh,setShowPostFilterPanel:hh,setShowWindowFuncPanel:hh,setUseColFunc:hh,checkBeforeChangingImplementation:hh,convertDerivationProjectionObjects:Nh,fetchDerivedReturnTypes:Nh}),this.resultSetModifierState=new FMi(this),this.postFilterState=new qPi(this,this.postFilterOperators),this.aggregationState=new xMi(this,this.aggregationOperators,this.aggregationCalendarFunctions),this.windowState=new yFi(this,this.windowFuncOperators),this.showPostFilterPanel=this.queryBuilderState.applicationStore.settingService.getBooleanValue(MFi.SHOW_POST_FILTER_PANEL)??!1}get type(){return BMi.TABULAR_DATA_STRUCTURE}get derivations(){return this.projectionColumns.filter(zs(SMi))}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 _Mi){let n=[],i=t.propertyExpressionState.propertyExpression;for(;i instanceof Kw;)for(n.push(i.func.value.name),i=Gs(i.parametersValues[0]);i instanceof Yw;){if(!(lS(i.functionName,bpt.SUBTYPE)&&i.parametersValues.length>=1&&i.parametersValues[1]?.genericType?.value.rawType instanceof ES))return;n[n.length-1]instanceof ES||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 ES)bx(t).concat(t).forEach(e=>s.push(NBi(i,e.path))),r.push(NBi(i,t.path));else{const e=RBi(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 _Mi&&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[GFi.CSV]}getExportDataInfo(e){if(e===GFi.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 EMi?e instanceof EMi?e===t:t.projectionColumnState===e:t===e))}onClassChange(e){}appendFetchStructure(e,t){EFi(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=>{uj(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(y_.create(sE.PARSING_FAILURE),e)}finally{this.isConvertDerivationProjectionObjects=!1}}}transformSimpleProjectionToDerivation(e){const t=$pt(e.lambdaParameterName,[e.propertyExpressionState.propertyExpression],this.queryBuilderState.graphManagerState.graph),n=new SMi(this,js(this.queryBuilderState.graphManagerState.graphManager.transformValueSpecToRawValueSpec(t,this.queryBuilderState.graphManagerState.graph),Dw));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){wo(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 SMi(this,this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda({addDummyParameter:!0}));this.addColumn(e),e.derivationLambdaEditorState.setLambdaString(`${ppt}${yC}''`)}revealCompilationError(e){const t=Ute(e.sourceInformation);if(t&&3===t.length&&t[0]===apt.QUERY_BUILDER&&t[1]===apt.PROJECTION){const n=this.projectionColumns.find(e=>e.uuid===t[2]);if(n instanceof SMi)return n.derivationLambdaEditorState.setCompilationError(e),!0}return!1}clearCompilationError(){this.derivations.forEach(e=>e.derivationLambdaEditorState.setCompilationError(void 0))}fetchProperty(e){this.addColumn(new _Mi(this,LBi(e,this.queryBuilderState.explorerState),this.queryBuilderState.explorerState.humanizePropertyName))}fetchProperties(e){e.forEach(e=>{this.addColumn(new _Mi(this,LBi(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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.PROCEED,default:!0}]}):e()}isVariableUsed(e){const t=this.projectionColumns;if(t.filter(zs(SMi)).length)return!1;const n=t.filter(zs(_Mi)).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 _Mi&&e.propertyExpressionState.derivedPropertyExpressionStates.some(e=>!e.isValid))}get hashCode(){return $y([Zpt.PROJECTION_STATE,$y(this.projectionColumns),this.aggregationState,this.postFilterState,this.resultSetModifierState])}*fetchDerivedReturnTypes(){try{const e=new Map,t=this.queryBuilderState.graphManagerState.graph,n=this.projectionColumns.filter(zs(SMi));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(y_.create("Unable to fetch derived return types"),e)}}}var zFi;!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)"}(zFi||(zFi={}));const WFi=[[zFi.COUNT,NMi],[zFi.DISTINCT_COUNT,IMi],[zFi.SUM,MMi],[zFi.MIN,kMi],[zFi.MAX,DMi],[zFi.AVERAGE,RMi],[zFi.STD_DEV_POPULATION,OMi],[zFi.STD_DEV_SAMPLE,LMi]],jFi=(e,t,n)=>{const i=new _Mi(e,t,!1);return i.setColumnName(n),i};class $Fi extends pC{includeSubTypes=!0;includeDocumentation=!1;constructor(e,t){super(()=>{e().catch(t)}),Hh(this,{includeSubTypes:ru,includeDocumentation:ru,setIncludeSubTypes:hh,setIncludeDocumentation:hh})}setIncludeSubTypes(e){this.includeSubTypes=e}setIncludeDocumentation(e){this.includeDocumentation=e}}const qFi=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=>Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:`${e.tag.ownerReference.value.name}.${e.tag.value.value}`}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value})]},`${e.tag.ownerReference.value.name}.${e.value}`);return Lie.jsx("div",{children:l.length>0?Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Tagged Values"}),Lie.jsxs("div",{className:"query-builder__tooltip__taggedValues",children:[t.slice(0,1).map(e=>Lie.jsxs("div",{className:"query-builder__tooltip__combo",children:[c(e),t.length>3&&Lie.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))]})]}):Lie.jsx(Lie.Fragment,{children:Boolean(a.length)&&Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Documentation"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:a.join("\n\n")})]})})})},YFi=e=>{const{title:t,data:i,placement:r,children:s,footerElement:o}=e,[a,l]=n.useState(!1);return Lie.jsx(Nye,{onClickAway:()=>l(!1),mouseEvent:"onMouseDown",children:Lie.jsx("div",{children:Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsx("div",{className:"query-builder__tooltip__header",children:t}),i.map(e=>Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:e.label}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:e.value}),e.actionButton]},e.label)),o]}),children:Lie.jsx("div",{onClick:e=>{l(!a),e.stopPropagation()},children:s})})})})},KFi=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?Lie.jsx("div",{className:"query-builder__tooltip__item__action",children:Lie.jsx("button",{onClick:()=>l.highlightTreeNode(i),title:"Show in tree",children:Lie.jsx(qse,{})})}):void 0},{label:"Multiplicity",value:Rx(n.multiplicity)},{label:"Derived Property",value:n instanceof US?"Yes":"No"},{label:"Mapped",value:r?"Yes":"No"}];return Lie.jsx(YFi,{title:t,data:c,placement:o,footerElement:Lie.jsx(qFi,{taggedValues:n.taggedValues}),children:s})},XFi=e=>{const{title:t,children:n,placement:i,type:r}=e,s=[{label:"Type",value:r?.path??"undefined"}];return Lie.jsx(YFi,{title:t,data:s,placement:i,children:n})};var ZFi;!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"}(ZFi||(ZFi={}));const QFi=e=>({label:e.name,value:e}),JFi=e=>mx(e)?"system element":gx(e)?"generated element":px(e)?"dependency element":void 0,eBi=e=>function(t){const{darkMode:n}=e,i=n?"packageable-element-option-label--dark":"packageable-element-option-label",r=(e=>mx(e)?"system":gx(e)?"generated":px(e)?"dependency":"")(t.value);return Lie.jsxs("div",{className:i,children:[Lie.jsx("div",{title:JFi(t.value),className:`packageable-element-option-label__type ${r?`packageable-element-option-label__type--${r}`:""} `}),Lie.jsx("div",{className:`${i}__name`,children:t.label}),t.value.package&&Lie.jsx("div",{className:`${i}__tag`,children:t.value.path})]})},tBi=e=>e instanceof gS?Lie.jsx(_xe,{}):e instanceof ES?Lie.jsx(Cxe,{}):e instanceof NS?Lie.jsx(Sxe,{}):e instanceof PS?Lie.jsx(wxe,{}):e instanceof MS?Lie.jsx(Exe,{}):Lie.jsx(Txe,{}),nBi=e=>{const{_class:t,children:n,placement:i}=e;return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:"Unknown"})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Lie.jsx(qFi,{taggedValues:t.taggedValues})]}),children:n})},iBi=(e,t,n)=>{if(e.type instanceof ES&&Dx(e.type,t))return!0;if(e instanceof kBi&&Dx(e.property,t))return!0;if(e instanceof OBi){const i=n.nodes.get(e.parentId);if(i?.type instanceof ES&&Dx(i.type,t))return!0}return!1},rBi=(e,t)=>{if(e instanceof DBi&&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)},sBi=e=>{const{subclass:t,path:i,isMapped:r,children:s,placement:o,multiplicity:a}=e,[l,c]=n.useState(!1);return Lie.jsx(Nye,{onClickAway:()=>c(!1),mouseEvent:"onMouseDown",children:Lie.jsx("div",{children:Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.path})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Path"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:i})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:Rx(a)})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Mapped"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?"Yes":"No"})]}),Lie.jsx(qFi,{taggedValues:t.taggedValues})]}),children:Lie.jsx("div",{onClick:e=>{c(!l),e.stopPropagation()},children:s})})})})},oBi=xoe(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 Lie.jsx(ebe,{open:Boolean(i.previewData)||i.isGeneratingPreviewData,onClose:r,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_PREVIEW_DATA_MODAL,children:Lie.jsxs(hFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder__explorer__preview-data-modal",children:[Lie.jsx(gFe,{title:qv(i.propertyName)}),Lie.jsx(XFe,{isLoading:i.isGeneratingPreviewData}),Lie.jsxs(fFe,{className:"query-builder__explorer__preview-data-modal__body",children:[i.isGeneratingPreviewData&&Lie.jsx("div",{className:"query-builder__explorer__preview-data-modal__placeholder",children:"Loading preview data..."}),i.previewData&&Lie.jsxs("table",{className:"table",children:[Lie.jsx("thead",{children:Lie.jsx("tr",{children:i.previewData.columns.map((e,t)=>Lie.jsx("th",{className:"table__cell--left",children:e},t))})}),Lie.jsx("tbody",{children:i.previewData.rows.map((e,t)=>Lie.jsx("tr",{children:e.values.map((e,t)=>Lie.jsx("td",{className:"table__cell--left",children:e},t))},t))})]})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{text:"Close",onClick:r,type:"secondary"})})]})})})}),aBi=xoe(n.forwardRef(function(e,t){const{queryBuilderState:n,openNode:i,node:r}=e;return Lie.jsxs(CFe,{ref:t,children:[r instanceof kBi&&!(r.type instanceof ES)&&Lie.jsx(SFe,{onClick:()=>n.fetchStructureState.fetchProperty(r),children:"Add Property to Fetch Structure"}),r.type instanceof ES&&Lie.jsx(SFe,{onClick:()=>{if(i(),r.type instanceof ES){r.childrenIds.map(e=>n.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(kBi)).filter(e=>!(e.type instanceof ES)&&e.mappingData.mapped).filter(e=>{const t=LBi(e,n.explorerState);if(n.fetchStructureState.implementation instanceof HFi){return void 0===n.fetchStructureState.implementation.projectionColumns.find(n=>{if(n instanceof _Mi)return n.propertyExpressionState.path===e.id&&n.columnName===uMi(t,!0)})}return!0}).forEach(e=>n.fetchStructureState.fetchProperty(e))}},children:"Add Properties to Fetch Structure"})]})})),lBi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Lie.jsx(Jie,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__string"});if(e.name===TC.BOOLEAN)return Lie.jsx(Dse,{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 Lie.jsx(use,{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 Lie.jsx($re,{className:"query-builder-explorer-tree__icon query-builder-explorer-tree__icon__time"})}return tBi(e)},cBi=xoe(e=>{const{node:t,level:i,stepPaddingInRem:r,onNodeSelect:s,innerProps:o}=e,{queryBuilderState:a}=o,[l,c]=n.useState(!1),d=fut(),u=a.explorerState,[,h,p]=BVe(()=>({type:t instanceof kBi?t.type instanceof NS?ABi.ENUM_PROPERTY:t.type instanceof ES?ABi.CLASS_PROPERTY:ABi.PRIMITIVE_PROPERTY:ABi.ROOT,item:()=>t instanceof kBi?{node:t}:{}}),[t]),g=n.useRef(null);h(g),vUe(p);const m=Boolean(t.childrenIds.length),f=t instanceof kBi&&t.property instanceof US,v=t instanceof kBi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1)||t instanceof OBi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1),y=t.mappingData.mapped&&t instanceof kBi&&t.type instanceof gS&&!t.isPartOfDerivedPropertyBranch,b=m?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),_=u.humanizePropertyName?t instanceof OBi?CC+qv(t.label):qv(t.label):t instanceof OBi?CC+t.label:t.label;return t.mappingData.mapped||t instanceof DBi||u.showUnmappedProperties?Lie.jsx(TFe,{content:Lie.jsx(aBi,{queryBuilderState:a,openNode:()=>{t.isOpen||s?.(t)},node:t}),disabled:!(t instanceof kBi||t instanceof DBi)||d.layoutService.showBackdrop,menuProps:{elevation:7},onOpen:()=>c(!0),onClose:()=>c(!1),children:Lie.jsxs("div",{className:Noe("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&&rBi(t,a)}),title:t.mappingData.mapped?void 0:t instanceof DBi?"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 DBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",children:[Lie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Lie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:Lie.jsx(Cxe,{})})]}),Lie.jsx("div",{className:"tree-view__node__label query-builder-explorer-tree__node__label query-builder-explorer-tree__node__label--with-action",children:t.label}),Lie.jsx("div",{className:"query-builder-explorer-tree__node__actions",children:Lie.jsx(nBi,{_class:Gs(a.class),children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})})})]}),(t instanceof kBi||t instanceof OBi)&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-explorer-tree__node__icon",ref:t.elementRef,children:[Lie.jsx("div",{className:"query-builder-explorer-tree__expand-icon",children:b}),Lie.jsx("div",{className:"query-builder-explorer-tree__type-icon",children:lBi(t.type)})]}),Lie.jsxs("div",{className:Noe("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":y},{"query-builder-explorer-tree__node__label--highlight":t.isHighlighting}),onAnimationEnd:()=>t.setIsHighlighting(!1),children:[Lie.jsx("div",{className:Noe("query-builder-explorer-tree__node__label--property__name",{"query-builder-explorer-tree__node__label--deprecated":iBi(t,u.queryBuilderState.graphManagerState.graph,u.nonNullableTreeData)}),children:_}),f&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__derived-property",title:"Property is derived and may require user to specify parameter values",children:"(...)"}),v&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Lie.jsxs("div",{className:"query-builder-explorer-tree__node__actions",children:[y&&Lie.jsx("button",{className:"query-builder-explorer-tree__node__action",disabled:u.previewDataState.isGeneratingPreviewData,tabIndex:-1,title:"Preview Data",onClick:()=>{t instanceof kBi&&u.previewData(t).catch(d.alertUnhandledError)},children:Lie.jsx(ise,{})}),t instanceof kBi&&Lie.jsx(KFi,{title:_,property:t.property,path:t.id,isMapped:t.mappingData.mapped,type:t.type,children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})}),t instanceof OBi&&Lie.jsx(sBi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Lie.jsx("div",{className:"query-builder-explorer-tree__node__action query-builder-explorer-tree__node__info","data-testid":ZFi.QUERY_BUILDER_TOOLTIP_ICON,children:Lie.jsx(hse,{})})})]})]})]})}):null}),dBi=xoe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e,{queryBuilderState:a}=o;return t.mappingData.mapped||t instanceof DBi||a.explorerState.showUnmappedProperties?Lie.jsxs("div",{className:"tree-view__node__block",children:[Lie.jsx(cBi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).map(e=>Lie.jsx(dBi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))]}):null}),uBi=e=>e instanceof OBi?0:e.type instanceof ES?e.isPartOfDerivedPropertyBranch?1:2:e.type instanceof NS?e.isPartOfDerivedPropertyBranch?3:4:e.isPartOfDerivedPropertyBranch?5:6,hBi=xoe(e=>{const{queryBuilderState:t}=e,n=t.explorerState,i=n.nonNullableTreeData;return Lie.jsx(FOe,{components:{TreeNodeContainer:cBi,TreeNodeView:dBi},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 OBi||e instanceof kBi).sort((e,t)=>e.label.localeCompare(t.label)).sort((e,t)=>uBi(t)-uBi(e)),innerProps:{queryBuilderState:t}})}),pBi="query-builder-explorer-search-input",gBi=xoe(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 Lie.jsxs("div",{className:"query-builder__explorer__property-search__input__container",children:[Lie.jsx("input",{ref:t,name:pBi,className:Noe("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&&Lie.jsx("div",{className:"query-builder__explorer__property-search__input__search__count",children:i.filteredSearchResults.length+(i.isOverSearchLimit&&0!==i.filteredSearchResults.length?"+":"")}),i.searchText?Lie.jsx("button",{className:"query-builder__explorer__property-search__input__clear-btn",tabIndex:-1,onClick:s,title:"Clear",children:Lie.jsx(Ise,{})}):Lie.jsx(Lie.Fragment,{children:Lie.jsx("div",{className:"query-builder__explorer__property-search__input__search__icon",children:Lie.jsx(Tse,{})})})]})})),mBi=xoe(e=>{const{queryBuilderState:t}=e,i=n.useRef(null),r=t.explorerState,s=r.propertySearchState,o=fut();return n.useEffect(()=>{r.analyzeMappingModelCoverage().catch(o.alertUnhandledError)},[o,r,t.executionContextState.mapping]),Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_EXPLORER,className:Noe("panel query-builder__explorer",{backdrop__element:o.layoutService.showBackdrop}),children:[Lie.jsxs(OFe,{title:"explorer",children:[Lie.jsx(gBi,{propertySearchState:s,ref:i}),Lie.jsxs(MFe,{children:[Lie.jsx(PFe,{onClick:()=>{r.treeData&&Array.from(r.treeData.nodes.values()).forEach(e=>{e instanceof DBi||e.setIsOpen(!1)})},title:"Collapse Tree",children:Lie.jsx(Yre,{})}),Lie.jsx(AFe,{className:"panel__header__action",title:"Show Options Menu...",onOpen:()=>{hpt.logEvent_ShowPropertyExplorerOptions(o.telemetryService)},content:Lie.jsxs(CFe,{children:[Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_ShowUnmappedPropertyInExplorerTreeLaunched(o.telemetryService),r.setShowUnmappedProperties(!r.showUnmappedProperties)},children:[Lie.jsx(EFe,{children:r.showUnmappedProperties?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Show Unmapped Properties"})]}),Lie.jsxs(SFe,{onClick:()=>r.setHumanizePropertyName(!r.humanizePropertyName),children:[Lie.jsx(EFe,{children:r.humanizePropertyName?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Humanize Property Name"})]}),Lie.jsxs(SFe,{onClick:()=>r.setHighlightUsedProperties(!r.highlightUsedProperties),children:[Lie.jsx(EFe,{children:r.highlightUsedProperties?Lie.jsx(Hre,{}):null}),Lie.jsx(xFe,{children:"Highlight already used properties"})]})]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},elevation:7},children:Lie.jsx(ere,{className:"query-builder__icon__more-options"})})]}),s.isSearchPanelOpen&&Lie.jsx(xBi,{queryBuilderState:t,triggerElement:i.current,clearSearch:()=>s.resetSearch()})]}),Lie.jsxs("div",{className:"panel__content query-builder-explorer-tree__content",children:[Lie.jsx(XFe,{isLoading:r.mappingModelCoverageAnalysisState.isInProgress}),Lie.jsx(yUe,{labelGetter:e=>r.humanizePropertyName?qv(e.node.label):e.node.label,types:Object.values(ABi)}),r.mappingModelCoverageAnalysisState.isInProgress?Lie.jsx(qFe,{children:r.mappingModelCoverageAnalysisState.message}):Lie.jsxs(Lie.Fragment,{children:[!r.treeData&&Lie.jsx(qFe,{children:"Specify the class, mapping, and runtime to start building query"}),r.treeData&&Lie.jsx(hBi,{queryBuilderState:t})]}),Lie.jsx(oBi,{queryBuilderState:t})]})]})}),fBi=({documentationKey:e,title:t,className:n,inline:i=!0})=>{const r=fut(),s=r.documentationService.getDocEntry(e);return s&&(s.url||Eut(s))?Lie.jsx("div",{onClick:t=>{t.preventDefault(),t.stopPropagation(),r.assistantService.openDocumentationEntryLink(e)},title:t??"Click to see documentation",className:Noe("documentation-link",n,{"documentation-link--inline":i}),children:Lie.jsx(Sse,{})}):null},vBi=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]),Lie.jsx("div",{className:"undo-redo",children:Lie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Undo(ctrl + z)",disabled:!i,children:[Lie.jsx(Ose,{}),Lie.jsx("div",{className:"undo-redo__button__label",children:"Undo"})]})})},yBi=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]),Lie.jsx("div",{className:"undo-redo",children:Lie.jsxs("button",{className:"undo-redo__button",onClick:r,tabIndex:-1,title:"Redo(ctrl + y)",disabled:!i,children:[Lie.jsx(Ese,{}),Lie.jsx("div",{className:"undo-redo__button__label",children:"Redo"})]})})},bBi=(e,t)=>e.split(CC).map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e).map(e=>e.split(".").map(qv).join(t?" / ":"/")).join(CC),_Bi=(e,t)=>{let n=e.split(CC);n=n.map(e=>e.replace(new RegExp(String.raw`.*${vC}`),"")).filter(e=>""!==e);let i=n.slice(0,-1).map(e=>`(${CC}${e.split(".").map(e=>qv(e)).join(t?" / ":"/")})`).join(t?" / ":"/");return i+=t?" / ":"/",n=Gs(n[n.length-1]).split("."),n=n.map(e=>qv(e)),i=`${i}(${CC}${n[0]})${t?" / ":"/"}`,n.slice(1).forEach(e=>{i=`${i+e}${t?" / ":"/"}`}),i=i.slice(0,t?-3:-1),i},CBi=(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 Lie.jsx("span",{children:e});const o=[],a=yo(s,0)[0];a>0&&o.push(Lie.jsx("span",{children:e.substring(0,a)},`${i}-0-${e.substring(0,a)}`)),s.forEach((t,r)=>{if(o.push(Lie.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=yo(s,r+1)[0];o.push(Lie.jsx("span",{children:e.substring(t[1],n)},`${i}-${2*r+1}--${e.substring(t[1],n)}`))}});const l=yo(s,s.length-1)[1];return l<e.length&&o.push(Lie.jsx("span",{children:e.substring(l)},`${i}-${2*s.length+2}-${e.substring(l)}`)),o},SBi=xoe(e=>{const{node:t,queryBuilderState:i,explorerState:r,level:s,stepPaddingInRem:o}=e,a=Boolean(t.childrenIds.length),l=r.propertySearchState,[,c,d]=BVe(()=>({type:t instanceof kBi?t.type instanceof NS?ABi.ENUM_PROPERTY:t.type instanceof ES?ABi.CLASS_PROPERTY:ABi.PRIMITIVE_PROPERTY:ABi.ROOT,item:()=>t instanceof kBi?{node:t}:{},canDrag:()=>!(t.type instanceof ES),collect:e=>({isDragging:e.isDragging()})}),[t]),u=n.useRef(null);c(u),vUe(d);const h=()=>{r.propertySearchState.setIsSearchPanelOpen(!1),r.propertySearchState.resetSearch(),r.highlightTreeNode(t.id)},p=l.indexedExplorerTreeNodes.find(e=>t instanceof kBi&&t.parentId===e.id),g=p?.type instanceof ES&&s>1?qv(t.label):p instanceof OBi?_Bi(t.id,!0):bBi(t.id,!0),m=a?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),f=t instanceof kBi?t.property.taggedValues.find(e=>e.tag.ownerReference.value.path===exports.CORE_PURE_PATH.PROFILE_DOC&&e.tag.value.value===DC)?.value??null:null,v=null!==f?CBi(f,l.searchText,"query-builder-property-search-panel__node__doc",`${t.id}_doc`):null,y=l.isNodeMultiple(t);return Lie.jsxs(Lie.Fragment,{children:[Lie.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:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-property-search-panel__node__icon",children:[Lie.jsx("div",{className:"query-builder-property-search-panel__expand-icon",children:m}),Lie.jsx("div",{className:"query-builder-property-search-panel__type-icon",children:lBi(t.type)})]}),Lie.jsxs("div",{className:"query-builder-property-search-panel__node__content",children:[Lie.jsxs("div",{className:"tree-view__node__label query-builder-property-search-panel__node__label",children:[CBi(g,l.searchText,"query-builder-property-search-panel__node__label",t.id),y&&Lie.jsx("div",{className:"query-builder-explorer-tree__node__label__multiple",title:"Multiple values of this property can cause row explosion",children:"*"})]}),Lie.jsx("div",{className:"tree-view__node__label query-builder-property-search-panel__node__doc",children:v})]}),Lie.jsxs("div",{className:"query-builder-property-search-panel__node__actions",children:[t instanceof kBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(KFi,{title:g,property:t.property,path:t.id,isMapped:t.mappingData.mapped,children:Lie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Lie.jsx(qse,{})})]}),t instanceof OBi&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(sBi,{subclass:t.subclass,path:t.id,isMapped:t.mappingData.mapped,multiplicity:t.multiplicity,children:Lie.jsx("div",{title:"Property info",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{onClick:h,title:"Show in tree",className:"query-builder-property-search-panel__node__action query-builder-property-search-panel__node__highlight",children:Lie.jsx(qse,{})})]})]})]}),t.isOpen&&(()=>{const e=[];return t.childrenIds.length&&(t instanceof kBi||t instanceof OBi)&&t.type instanceof ES&&(t instanceof OBi?Ex(t.type):Cx(t.type)).forEach(n=>{const r=PBi(n,t,Gs(i.explorerState.mappingModelCoverageAnalysisResult));!r||r.type instanceof ES||!r.mappingData.mapped||e.push(r)}),e})().filter(e=>l.isNodeIncludedInFilter(e)).sort((e,t)=>e.label.localeCompare(t.label)).map(e=>Lie.jsx(SBi,{node:e,queryBuilderState:i,level:s+1,stepPaddingInRem:2,explorerState:i.explorerState},`${t.id}>${e.id}`))]})}),wBi=xoe(e=>{const{label:t,enabled:i,onClick:r,showOnlyButton:s,onOnlyButtonClick:o}=e,[a,l]=n.useState(!1);return Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__toggler__btn__container",onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[Lie.jsxs("button",{className:Noe("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?Lie.jsx(zre,{}):Lie.jsx(Rse,{}),Lie.jsx("div",{className:"query-builder-property-search-panel__form__section__toggler__prompt",children:t})]}),s&&a&&Lie.jsx("button",{className:"query-builder-property-search-panel__form__section__toggler__only-btn",onClick:o,children:"only"})]})}),EBi=xoe(e=>{const{header:t,headerTooltipText:n,buttons:i}=e;return Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:[t,n&&Lie.jsx(iSe,{slotProps:{transition:{timeout:0}},title:Lie.jsx("div",{children:n}),children:Lie.jsx("div",{className:"query-builder-property-search-panel__tagged-values__tooltip",children:Lie.jsx(hse,{})})})]}),i.map(({label:e,enabled:t,onClick:n,onOnlyButtonClick:r})=>Lie.jsx(wBi,{label:e,enabled:t,onClick:n,showOnlyButton:i.length>1,onOnlyButtonClick:r},e))]})}),xBi=xoe(e=>{const{queryBuilderState:t,triggerElement:n,clearSearch:i}=e,r=t.explorerState.propertySearchState,s=e=>{e.target instanceof HTMLInputElement&&e.target.name===pBi||(i(),r.setIsSearchPanelOpen(!1))};return Lie.jsx(zSe,{open:r.isSearchPanelOpen,slotProps:{paper:{classes:{root:"query-builder-property-search-panel__container__root"}}},className:Noe("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:Lie.jsx(Nye,{onClickAway:s,children:Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_PROPERTY_SEARCH_PANEL,className:"query-builder-property-search-panel",children:Lie.jsx("div",{className:"query-builder-property-search-panel__content",children:Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{size:175,children:Lie.jsxs("div",{className:"query-builder-property-search-panel__config",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section",children:[Lie.jsxs("div",{className:"query-builder-property-search-panel__form__section__header__label",children:["Search Mode",Lie.jsx(fBi,{documentationKey:cht.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX})]}),Lie.jsx("div",{className:"query-builder-property-search-panel__filter__element",children:Lie.jsx(DFe,{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})})]}),Lie.jsx(EBi,{header:"One-Many rows",buttons:[{label:"Include",enabled:r.includeOneMany,onClick:()=>r.setIncludeOneMany(!r.includeOneMany)}]}),Lie.jsx(EBi,{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)}}]}),Lie.jsx(EBi,{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)}}]}),Lie.jsx(EBi,{header:"By type",buttons:[{label:"Class",enabled:r.typeFilters.includes(mpt.CLASS),onClick:()=>{r.toggleFilterForType(mpt.CLASS)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.CLASS)}},{label:"Enumeration",enabled:r.typeFilters.includes(mpt.ENUMERATION),onClick:()=>{r.toggleFilterForType(mpt.ENUMERATION)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.ENUMERATION)}},{label:"String",enabled:r.typeFilters.includes(mpt.STRING),onClick:()=>{r.toggleFilterForType(mpt.STRING)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.STRING)}},{label:"Boolean",enabled:r.typeFilters.includes(mpt.BOOLEAN),onClick:()=>{r.toggleFilterForType(mpt.BOOLEAN)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.BOOLEAN)}},{label:"Number",enabled:r.typeFilters.includes(mpt.NUMBER),onClick:()=>{r.toggleFilterForType(mpt.NUMBER)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.NUMBER)}},{label:"Date",enabled:r.typeFilters.includes(mpt.DATE),onClick:()=>{r.toggleFilterForType(mpt.DATE)},onOnlyButtonClick:()=>{r.setFilterOnlyType(mpt.DATE)}}]})]})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:"var(--color-dark-grey-200)"})}),Lie.jsxs(gGe,{children:[(r.initializationState.isInProgress||r.searchState.isInProgress)&&Lie.jsx(XFe,{isLoading:!0}),Lie.jsxs("div",{className:"query-builder-property-search-panel__results",children:[!r.initializationState.isInProgress&&!r.searchState.isInProgress&&Lie.jsxs(Lie.Fragment,{children:[Boolean(r.filteredSearchResults.length)&&r.filteredSearchResults.map(e=>Lie.jsx(SBi,{node:e,queryBuilderState:t,level:1,stepPaddingInRem:0,explorerState:t.explorerState},e.id)),!r.filteredSearchResults.length&&r.searchText&&Lie.jsxs(qFe,{children:[Lie.jsx("div",{className:"query-builder-property-search-panel__result-placeholder__text",children:"No result"}),Lie.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&&Lie.jsx(qFe,{children:"Initializing..."}),r.searchState.isInProgress&&Lie.jsx(qFe,{children:"Searching..."})]})]})]})})})})})});class TBi{queryBuilderState;indexedExplorerTreeNodeMap=new Map;searchEngine;searchConfigurationState;initializationState=h_.create();searchState=h_.create();searchText="";searchResults=[];isOverSearchLimit=!1;isSearchPanelOpen=!1;isSearchPanelHidden=!1;showSearchConfigurationMenu=!1;includeOneMany=!1;typeFilters=[mpt.CLASS,mpt.ENUMERATION,mpt.STRING,mpt.BOOLEAN,mpt.NUMBER,mpt.DATE];constructor(e){Hh(this,{indexedExplorerTreeNodeMap:ru,searchText:ru,searchResults:ru,isOverSearchLimit:ru,isSearchPanelOpen:ru,isSearchPanelHidden:ru,showSearchConfigurationMenu:ru,includeOneMany:ru,typeFilters:ru,indexedExplorerTreeNodes:lu,filteredSearchResults:lu,search:hh,resetSearch:hh,setSearchResults:hh,setIsOverSearchLimit:hh,setSearchText:hh,setShowSearchConfigurationMenu:hh,setIsSearchPanelOpen:hh,setIsSearchPanelHidden:hh,setIncludeOneMany:hh,setFilterOnlyType:hh,toggleFilterForType:hh,initialize:hh}),this.queryBuilderState=e,this.searchConfigurationState=new $Fi(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 DBi||e.setIsOpen(!1)}),this.searchState.complete()}setIncludeOneMany(e){this.includeOneMany=e}setFilterOnlyType(e){this.typeFilters=[e]}toggleFilterForType(e){this.typeFilters.includes(e)?wo(this.typeFilters,e):Co(this.typeFilters,e)}isNodeMultiple(e){let t=e;for(;t;){if(t instanceof OBi&&(void 0===t.multiplicity.upperBound||t.multiplicity.upperBound>1)||t instanceof kBi&&(void 0===t.property.multiplicity.upperBound||t.property.multiplicity.upperBound>1))return!0;t=t instanceof kBi||t instanceof OBi?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 DBi||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 ES&&t.set(e.id,e),e)).filter(e=>!(e instanceof kBi||e instanceof OBi)||!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 kBi)).forEach(e=>{if(e.mappingData.mapped&&!e.isPartOfDerivedPropertyBranch){const t=VBi(e);i.push(t),this.indexedExplorerTreeNodeMap.set(t.id,t)}});const s=this.indexedExplorerTreeNodeMap.size+1e4,o=e=>gh(()=>{if(this.indexedExplorerTreeNodeMap.size>s)return;const t=VBi(e);this.indexedExplorerTreeNodeMap.set(t.id,t)}),a=e=>{if(e instanceof kBi||e instanceof OBi){let t=this.indexedExplorerTreeNodeMap.get(e.parentId)??n.get(e.parentId);for(;t;){if(e.type===t.type)return!0;t=t instanceof kBi||t instanceof OBi?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 kBi||this.searchConfigurationState.includeSubTypes&&e instanceof OBi)&&e.type instanceof ES&&((e instanceof OBi?Ex(e.type):Cx(e.type).concat(Sx(e.type))).forEach(t=>{const n=PBi(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=FBi(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 kBi||e instanceof OBi?this.indexedExplorerTreeNodeMap.get(e.parentId):void 0;return t?t instanceof OBi?_Bi(e.id):bBi(e.id):""}},...this.searchConfigurationState.includeDocumentation?[{name:"taggedValues",weight:2,getFn:e=>e instanceof kBi?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(mpt.CLASS)&&e.type instanceof ES)||(!!(this.typeFilters.includes(mpt.ENUMERATION)&&e.type instanceof NS)||(!(!this.typeFilters.includes(mpt.STRING)||e.type!==gS.STRING)||(!!(this.typeFilters.includes(mpt.NUMBER)&&e.type instanceof gS&&[TC.NUMBER,TC.DECIMAL,TC.INTEGER,TC.FLOAT].includes(e.type.name))||(!(!this.typeFilters.includes(mpt.BOOLEAN)||e.type!==gS.BOOLEAN)||!!(this.typeFilters.includes(mpt.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 ABi;!function(e){e.ROOT="ROOT",e.CLASS_PROPERTY="CLASS_PROPERTY",e.ENUM_PROPERTY="ENUM_PROPERTY",e.PRIMITIVE_PROPERTY="PRIMITIVE_PROPERTY"}(ABi||(ABi={}));const RBi=(e,t)=>`${e?`${e}.`:""}${t}`,NBi=(e,t)=>`${e||""}${CC}${t}`;class IBi{isSelected;isOpen;isHighlighting;id;label;dndText;childrenIds=[];isPartOfDerivedPropertyBranch;type;mappingData;elementRef;constructor(e,t,i,r,s,o,a){Hh(this,{isHighlighting:ru,isOpen:ru,isSelected:ru,setIsHighlighting:hh,setIsOpen:hh,setIsSelected:hh}),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 DBi extends IBi{}class kBi extends IBi{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 OBi extends IBi{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 LBi=(e,t,n)=>{const i=t.nonNullableTreeData,r=t.propertySearchState.indexedExplorerTreeNodes,s=new Mw(n??ppt,nS.ONE),o=new Kw("");kpt(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 kBi||l instanceof OBi);){if(l instanceof OBi&&c instanceof OBi){l=i.nodes.get(l.parentId);continue}let e,t=!1;if(l instanceof OBi?e=new Yw(sS(bpt.SUBTYPE)):l instanceof kBi&&l.mappingData.entityMappedProperty?.subType?(e=new Yw(sS(bpt.SUBTYPE)),a.parametersValues.push(e),a=e,e=new Kw(""),kpt(e,zS.create(Gs(l.property))),t=!0,c=l,l=i.nodes.get(l.parentId)):(e=new Kw(""),kpt(e,zS.create(Gs(l.property)))),a.parametersValues.push(e),a instanceof Yw&&lS(a.functionName,bpt.SUBTYPE)){const e=new Pw(nS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}if(a=e,t||(c=l,l=l instanceof kBi||l instanceof OBi?i.nodes.get(l.parentId):void 0),!l&&(c instanceof kBi||c instanceof OBi))for(const e of r)if(e.id===c.parentId){l=e;break}}if(a.parametersValues.push(s),c&&a instanceof Yw){const e=new Pw(nS.ONE,vS.create(new wS(c.type)));a.parametersValues.push(e)}return o},MBi=e=>{const t=e.type,n=(e instanceof OBi?Ex(t):Cx(t).concat(Sx(t))).map(t=>`${e.id}.${t.name}`),i=t._subclasses.map(t=>`${e.id}${CC}${t.path}`);return n.concat(i)},PBi=(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 ES||e.genericType.value.rawType instanceof IS)&&i?{mapped:!0,mappedEntity:n.__ENTITIES_INDEX.get(i instanceof TJ?i.entityPath:i.enumPath),entityMappedProperty:i instanceof TJ?i:void 0}:{mapped:void 0!==i}}return{mapped:!1}})(e,t.mappingData,n),r=e instanceof US||t.isPartOfDerivedPropertyBranch||t instanceof kBi&&t.property instanceof US;if(e instanceof AS&&t instanceof kBi&&t.property instanceof AS&&e._OWNER instanceof RS&&t.property._OWNER instanceof RS&&t.property._OWNER===e._OWNER)return;const s=e.genericType.value.rawType instanceof ES?_x(e.genericType.value.rawType):[],o=i.entityMappedProperty?.subType?s.find(e=>e.path===i.entityMappedProperty?.subType):void 0,a=new kBi(o?NBi(RBi(t instanceof DBi?"":t.id,e.name),o.path):RBi(t instanceof DBi?"":t.id,e.name),e.name,`${t instanceof DBi?`${_C}x`:t.dndText}.${e.name}`,e,t.id,r,i,o);if(o){const n=RBi(t instanceof DBi?"":t.id,e.name);t.childrenIds.includes(n)&&(t.childrenIds=[...t.childrenIds.filter(e=>e!==n),a.id])}return a.type instanceof ES&&(a.childrenIds=MBi(a)),a},FBi=(e,t,n)=>{const i=new OBi(NBi(t instanceof DBi?"":t.id,e.path),e.name,""+(t instanceof DBi?`${_C}${ppt}->${sS(bpt.SUBTYPE)}(${CC}${e.path})`:`${t.dndText}->${sS(bpt.SUBTYPE)}(${CC}${e.path})`),e,t.id,!1,((e,t,n)=>{const i=_x(e).concat(e).map(e=>e.path),r=t.entityMappedProperty?.subType;if(t.mappedEntity){const e=t.mappedEntity.properties.find(e=>Boolean(e instanceof TJ&&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 kBi?t.property.multiplicity:t instanceof OBi?t.multiplicity:nS.ONE);return i.childrenIds=MBi(i),i},BBi=(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 DBi("@dummy_rootNode",e.name,e.path,!1,e,r);return s.isOpen=!0,i.set(s.id,s),n.push(s.id),Cx(e).concat(Sx(e)).sort((e,t)=>e.name.localeCompare(t.name)).sort((e,t)=>(t instanceof ES?2:t instanceof NS?1:0)-(e instanceof ES?2:e instanceof NS?1:0)).forEach(e=>{const n=PBi(e,s,t);n&&(Co(s.childrenIds,n.id),i.set(n.id,n))}),e._subclasses.forEach(e=>{const n=FBi(e,s,t);Co(s.childrenIds,n.id),i.set(n.id,n)}),{rootIds:n,nodes:i}},VBi=e=>{if(e instanceof DBi)return new DBi(e.id,e.label,e.dndText,e.isPartOfDerivedPropertyBranch,e.type,e.mappingData,e.childrenIds);if(e instanceof kBi)return new kBi(e.id,e.label,e.dndText,e.property,e.parentId,e.isPartOfDerivedPropertyBranch,e.mappingData,e.type,e.childrenIds);if(e instanceof OBi)return new OBi(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 UBi{isGeneratingPreviewData=!1;propertyName="(unknown)";previewData;previewDataAbortController;constructor(){Hh(this,{previewData:ru.ref,isGeneratingPreviewData:ru,propertyName:ru,previewDataAbortController:ru,setPropertyName:hh,setIsGeneratingPreviewData:hh,setPreviewData:hh,setPreviewDataAbortController:hh})}setPropertyName(e){this.propertyName=e}setIsGeneratingPreviewData(e){this.isGeneratingPreviewData=e}setPreviewData(e){this.previewData=e}setPreviewDataAbortController(e){this.previewDataAbortController=e}}class GBi{queryBuilderState;previewDataState=new UBi;propertySearchState;treeData;humanizePropertyName=!0;showUnmappedProperties=!1;highlightUsedProperties=!0;mappingModelCoverageAnalysisState=h_.create();mappingModelCoverageAnalysisResult;constructor(e){Hh(this,{treeData:ru.ref,humanizePropertyName:ru,showUnmappedProperties:ru,highlightUsedProperties:ru,mappingModelCoverageAnalysisResult:ru,setTreeData:hh,refreshTree:hh,refreshTreeData:hh,setHumanizePropertyName:hh,setShowUnmappedProperties:hh,setHighlightUsedProperties:hh,highlightTreeNode:hh,analyzeMappingModelCoverage:Nh,previewData:Nh}),this.queryBuilderState=e,this.propertySearchState=new TBi(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?BBi(e,this.mappingModelCoverageAnalysisResult):void 0)}generateOpenNodeChildren(e){e.isOpen&&(e instanceof kBi||e instanceof OBi)&&e.type instanceof ES&&((e instanceof OBi?Ex(e.type):Cx(e.type).concat(Sx(e.type))).forEach(t=>{const n=PBi(t,e,Gs(this.mappingModelCoverageAnalysisResult));n&&this.nonNullableTreeData.nodes.set(n.id,n)}),e.type._subclasses.forEach(t=>{const n=FBi(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]&&yo(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 kBi||t instanceof OBi){let e=this.nonNullableTreeData.nodes.get(t.parentId)??null;for(;null!==e;)e.isOpen||e.setIsOpen(!0),e=e instanceof kBi||e instanceof OBi?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(),hpt.logEvent_QueryMappingModelCoverageAnalysisLaunched(this.queryBuilderState.applicationStore.telemetryService);const e=new p_,t=a3(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());hpt.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=LBi(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,HFi),r=i.aggregationState;return WFi.forEach(e=>{const n=jFi(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,RZ,"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,HFi),r=jFi(i,t,"Value"),s=jFi(i,t,"Count");i.projectionColumns=[r,s];const o=Gs(i.aggregationState.operators.find(e=>e instanceof NMi));i.aggregationState.changeColumnAggregateOperator(o,s,!0),i.resultSetModifierState.limit=10;const a=new PMi(s);return a.sortType=Cpt.DESC,i.resultSetModifierState.sortColumns=[a,new PMi(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,RZ,"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 HBi="4.17.96",zBi={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 WBi=(e,t,n,i)=>{Ws(e,gA,"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],dA,"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 bA&&2===s.parameters.length&&lS(s.function,bpt.WAVG_ROW_MAPPER))return e.accept_ValueSpecificationVisitor(new IK(n,i,t));for(Ws(s,JA,"Can't build projection column: only support lambda body as property expression");s instanceof JA;)for(Ks(s.parameters.length>=1,"Can't build projection column: only support lambda body as property expression"),s=s.parameters[0];s instanceof bA&&lS(s.function,bpt.SUBTYPE);)s=s.parameters[0];return Ws(s,dA,"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 IK(n,i,t))},jBi=(e,t,n,i)=>{Ws(e,bA,"Can't build aggregation: only support function"),Ks(lS(e.function,bpt.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],gA,"Can't build agg() expression: agg() expects argument #1 as a lambda");let s;s=r.body[0]instanceof bA&&lS(r.body[0].function,Object.values(vpt))?Xr(()=>((e,t,n,i)=>{Ws(e,gA,"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],dA,"Can't build calendar aggregation column: only support lambda with 1 parameter"),s=js(e.body[0],bA,"Can't build calendar aggregation column: only support applied function");Ks(lS(s.function,Object.values(vpt)),"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],JA,"Can't build calendar aggregation column: only support first parameter of calendar function as property expression");const o=js(s.parameters[1],EA,"Can't build calendar aggregation column: only support second parameter of calendar function as String");Ks(void 0!==Object.values(FFi).find(e=>e===o.value),`Can't build calendar aggregation column: ${o.value} is not a supported calendar type`),js(s.parameters[2],YT,"Can't build calendar aggregation column: only support third parameter of calendar function as Date");const a=s.parameters[0].accept_ValueSpecificationVisitor(new IK(n,i,t)),l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new IK(n,i,t)),c=Gs(s.parameters[2]).accept_ValueSpecificationVisitor(new IK(n,i,t)),d=Gs(s.parameters[3]),u=Xr(()=>d.accept_ValueSpecificationVisitor(new IK(n,i,t)))??new Lw(WI(d,n.extensions.plugins)),h=OK([a,l,c,u],s.function,n),p=new Qw,g=new Xw(XC.create(n.graph.getType(exports.CORE_PURE_PATH.ANY)),nS.ONE);g.parameters.push(new Mw(r.name,nS.ONE));const m=new Zw(g);return m.expressionSequence=[h],p.values.push(m),p})(r,t,n,i))??new Lw(WI(r,n.extensions.plugins)):Xr(()=>WBi(r,t,n,i))??new Lw(WI(r,n.extensions.plugins));const o=js(e.parameters[1],gA).accept_ValueSpecificationVisitor(new IK(n,i,t));return OK([s,o],sS(bpt.TDS_AGG),n)},$Bi=(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 IK(i,r,n));Us(o.genericType,"Can't build relation project() expression: preceding expression return type is missing");const a=t[1];Ws(a,GN,"Can't build relation project() expression: project() expects argument #1 to be a ClassInstance");const l=js(a.value,$A,"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(gA)).map(e=>e.parameters).flat();const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new jw(nS.ONE),u=new Ww;d.values=[u];const h=new SS(SS.ID);u.colSpecs=l.colSpecs.map(e=>{const t=new Hw;let s;const o=js(e.function1,YT,"Can't build relation col spec() expression: expects function1 to be a lambda");try{s=WBi(o,n,i,r)}catch{s=new Lw(WI(o,i.extensions.plugins))}t.function1=s,t.name=e.name;const a=(e=>{if(e instanceof Qw){const t=e.values[0]?.expressionSequence[0];return t instanceof Kw?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,vS.create(new wS(a)))),t});const p=OK([o,d],e,i),g=new wS(AK.INSTANCE),m=new wS(h);return g.typeArguments=[vS.create(m)],p.genericType=vS.create(g),p},qBi=(e,t,n,i,r)=>{const s=js(e,bA,"Can't build tds col func: only support applied function");Ks(lS(s.function,bpt.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],gA,"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 Mw(e.name,nS.ONE);n.genericType=t.genericType,r.addInferredVariables(e.name,n)}}),a=WBi(o,n,i,r)}catch{a=new Lw(WI(o,i.extensions.plugins))}js(s.parameters[1],EA,"Can't build tds col func: only support second parameter of col function as String");const l=Gs(s.parameters[1]).accept_ValueSpecificationVisitor(new IK(i,r,n));return OK([a,l],s.function,i)},YBi=(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 IK(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 _A){const e=new Vw(i.graph.getMultiplicity(o.multiplicity.lowerBound,o.multiplicity.upperBound));e.values=o.values.map(e=>qBi(e,s,n,i,r)),a=e}else Ws(o,bA,"Can't build project() expression: project() expects argument #2 to be a function"),a=qBi(o,s,n,i,r);const l=OK([s,a],e,i);return l.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),l})(e,t,n,i,r)}catch{return $Bi(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 IK(i,r,n));Us(a.genericType,"Can't build project() expression: preceding expression return type is missing");const l=t[1];l instanceof gA?o=l.parameters:(Ws(l,_A,"Can't build project() expression: project() expects argument #1 to be a collection"),o=l.values.filter(zs(gA)).map(e=>e.parameters).flat());const c=new Set;o.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,a.multiplicity);t.genericType=a.genericType,r.addInferredVariables(e.name,t)}});const d=new Vw(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));let u=[];u=l instanceof gA?[l]:l.values,d.values=u.map(e=>{try{return WBi(e,n,i,r)}catch{return new Lw(WI(e,i.extensions.plugins))}});const h=OK([a,d,t[2].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),h},KBi=(e,t,n,i,r)=>e===bpt.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 IK(i,r,n));Us(s.genericType,"Can't build relation groupBy() expression: preceding expression return type is missing");const o=js(s,Yw);if(o.functionName!==sS(bpt.RELATION_PROJECT))throw new Yr("Can't build relation groupBy() expression: preceding expression must be project() column expression");const a=t[1];Ws(a,GN,"Can't build relation groupBy() expression: groupBy() expects argument #1 to be a ClassInstance");const l=js(a.value,$A,"Can't build relation groupBy() expression: groupBy() expects argument #1 to hold col spec array instance value"),c=t[2];Ws(c,GN,"Can't build groupBy() expression: groupBy() expects argument #2 to be a ClassInstance");const d=js(c.value,$A,"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 Mw(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 jw(nS.ONE),g=new Ww;p.values=[g];const m=new SS(SS.ID);g.colSpecs=l.colSpecs.map(e=>{const t=new Hw;t.name=e.name;const n=h.columns.find(t=>t.name===e.name);return n&&m.columns.push(n),t});const f=new jw(nS.ONE),v=new Ww;f.values=[v],v.colSpecs=d.colSpecs.map(e=>{const t=new Hw;t.name=e.name;const s=js(e.function1,gA,"Can't build relation col spec() expression: expects function1 to be a lambda"),o=WBi(s,n,i,r);t.function1=o;const a=js(e.function2,gA,"Can't build relation col spec() expression: expects function2 to be a lambda"),l=js(a.accept_ValueSpecificationVisitor(new IK(i,r,n)),Qw,"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 y=OK([s,p,f],e,i),b=new wS(AK.INSTANCE),_=new wS(m);return b.typeArguments=[vS.create(_)],y.genericType=vS.create(b),y})(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 IK(i,r,n));Us(o.genericType,"Can't build groupBy() expression: preceding expression return type is missing");const a=t[1];Ws(a,_A,"Can't build groupBy() expression: groupBy() expects argument #1 to be a collection"),s=a.values.filter(zs(gA)).map(e=>e.parameters).flat();const l=t[2];Ws(l,_A,"Can't build groupBy() expression: groupBy() expects argument #2 to be a collection"),s=s.concat(l.values.filter(e=>e instanceof bA&&lS(e.function,bpt.TDS_AGG)).map(e=>e.parameters).flat().filter(zs(gA)).map(e=>e.parameters).flat());const c=new Set;s.forEach(e=>{if(!c.has(e.name)&&!e.genericType){const t=new Mw(e.name,o.multiplicity);t.genericType=o.genericType,r.addInferredVariables(e.name,t)}});const d=new Vw(i.graph.getMultiplicity(a.multiplicity.lowerBound,a.multiplicity.upperBound));d.values=a.values.map(e=>{try{return WBi(e,n,i,r)}catch{return new Lw(WI(e,i.extensions.plugins))}});const u=new Vw(i.graph.getMultiplicity(l.multiplicity.lowerBound,l.multiplicity.upperBound));u.values=l.values.map(e=>jBi(e,n,i,r));const h=OK([o,d,u,t[3].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return h.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),h})(e,t,n,i,r);class XBi extends Ote{constructor(){super(zBi.pureProtocolProcessorPlugin,HBi)}V1_getExtraFunctionExpressionBuilders(){return[(e,t,n,i,r)=>{if(lS(e,ypt.GET_ALL))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,ypt.GET_ALL_VERSIONS_IN_RANGE))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,ypt.GET_ALL_VERSIONS))return((e,t,n,i,r)=>{const s=LK(e,t,n,i,r),o=s.parametersValues[0];return Ws(o,Pw,"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,[bpt.FILTER,bpt.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 IK(i,r,n));if(s.genericType){const e=t[1];e instanceof gA&&e.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}})}const o=OK([s,t[1].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i);return o.genericType=s.genericType,o.multiplicity=s.multiplicity,o})(e,t,n,i,r);if(lS(e,bpt.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 IK(i,r,n));s.genericType=js(s,Kw).func.value.genericType;const o=t[1];return o instanceof gA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,nS.ONE);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}}),OK([s,t[1].accept_ValueSpecificationVisitor(new IK(i,r,n))],e,i)})(e,t,n,i,r);if(lS(e,bpt.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 IK(i,r,n));Us(s.genericType,"Can't build forWatermark() expression: preceding expression return type is missing");const o=t[1];o instanceof gA&&o.parameters.forEach(e=>{if(e.name&&!e.genericType){const t=new Mw(e.name,s.multiplicity);t.genericType=s.genericType,r.addInferredVariables(e.name,t)}});const a=Gs(t[1].accept_ValueSpecificationVisitor(new IK(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=OK([s,a],e,i);return c.genericType=s.genericType,c.multiplicity=s.multiplicity,c})(e,t,n,i,r);if(lS(e,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT]))return YBi(e,t,n,i,r);if(lS(e,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY]))return KBi(e,t,n,i,r);if(lS(e,bpt.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 IK(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 IK(i,r,n));if(s.push(c),o++,a){const e=t[o].accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(e),o++}const d=t[o];let u;u=d instanceof bA?js(d.parameters[1],gA,`Can't build olapGroupBy() expression: olap operation function expects argument ${o+1} to be a lambda`):js(d,gA,`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 Mw(e.name,l.multiplicity);t.genericType=l.genericType,r.addInferredVariables(e.name,t)}});const g=d.accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(g),o++;const m=t[o].accept_ValueSpecificationVisitor(new IK(i,r,n));s.push(m),o++;const f=OK(s,e,i);return f.genericType=vS.create(new wS(i.resolveType(fpt.TDS_ROW).value)),f})(e,t,n,i,r);if(lS(e,[bpt.TODAY,bpt.FIRST_DAY_OF_QUARTER])){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.STRICTDATE)),s}if(lS(e,bpt.NOW)){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.DATETIME)),s}if(lS(e,[bpt.FIRST_DAY_OF_THIS_YEAR,bpt.FIRST_DAY_OF_YEAR,bpt.FIRST_DAY_OF_THIS_MONTH,bpt.FIRST_DAY_OF_MONTH,bpt.FIRST_DAY_OF_WEEK,bpt.PREVIOUS_DAY_OF_WEEK,bpt.ADJUST])){const s=LK(e,t,n,i,r);return s.genericType=vS.create(new wS(gS.DATE)),s}return lS(e,Object.values(bpt))||lS(e,Object.values(vpt))?LK(e,t,n,i,r):void 0}]}V1_getExtraPropertyExpressionTypeInferrers(){return[e=>{if(e instanceof Yw&&lS(e.functionName,sS(bpt.SUBTYPE)))return(e=>e.parametersValues.filter(e=>e instanceof Pw)[0]?.genericType?.value.rawType)(e)}]}}class ZBi{mapping;runtimes=[]}class QBi{service;executionKeys}class JBi extends pT{}class eVi extends JBi{constructor(e){super(e),this.graphManager=js(e,q6)}getSupportedProtocolVersion(){return BH.V1_0_0}async buildGraphForCreateQuerySetup(e,t,n){try{const i=await this.graphManager.indexLightGraph(e,t,n,e=>e.content._type===bG||e.content._type===NN),r=[...e.ownMappings,...e.dependencyManager.mappings],s=i.map(e=>e.data.elements.filter(zs(qD))).flat(),o=new GK(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 vB)return new N$(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(eR))).flat();l.forEach(e=>{const t=a.find(t=>t.path===e.path);if(t){const n=new Wj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>o.resolveMapping(e.path))}})}catch(e){throw Kr(e),e instanceof GH?e:new GH(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 GK(i,i,this.graphManager.graphBuilderExtensions,this.graphManager.logService).build();return r.map(e=>e.data.elements.filter(zs(qD))).flat().forEach(e=>{const t=i.getNullableMapping(e.path);t&&(t.includes=e.includedMappings.map(e=>{if(e instanceof vB)return new N$(t,s.resolveMapping(Ys(e.includedMapping,"Mapping include path is missing or empty")))}).filter(Vs))}),r.map(e=>e.data.elements.filter(zs(eR))).flat().forEach(e=>{const t=i.getNullableRuntime(e.path);if(t){const n=new Wj;t.runtimeValue=n,n.mappings=e.runtimeValue.mappings.map(e=>s.resolveMapping(e.path))}}),i.mappings.forEach(e=>{const t=new ZBi;t.mapping=e,t.runtimes=i.runtimes.filter(t=>t.runtimeValue.mappings.map(e=>[e.value,...TY(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(WO))).flat().forEach(e=>{const t=i.getNullableService(e.path);if(t){const i=new QBi;i.service=t,e.execution instanceof zO&&(i.executionKeys=e.execution.executionParameters?.map(e=>e.key)),n.push(i)}}),n}}const tVi=e=>new eVi(e);class nVi extends Rte{constructor(){super(zBi.pureGraphManagerPlugin,HBi)}getExtraPureGraphManagerExtensionBuilders(){return[tVi]}getExtraExposedSystemElementPath(){return[fpt.TDS_TABULAR_DATASET,fpt.TDS_ROW,fpt.TDS_COLUMN]}}class iVi{TEMPORARY__enableExportToCube=!1;TEMPORARY__disableQueryBuilderChat=!1;TEMPORARY__enableGridEnterpriseMode=!1;legendAIServiceURL="";legendMCPServiceURL="";zipkinTraceBaseURL="";enableTypedTDS=!1;NonProductionFeatureFlag=!1;static serialization=new Eb(ob(iVi,{TEMPORARY__disableQueryBuilderChat:Cb(ab()),TEMPORARY__enableExportToCube:Cb(ab()),TEMPORARY__enableGridEnterpriseMode:Cb(ab()),legendAIServiceURL:Cb(ab()),legendMCPServiceURL:Cb(ab()),zipkinTraceBaseURL:Cb(ab()),enableTypedTDS:Cb(ab()),NonProductionFeatureFlag:Cb(ab())}))}const rVi=e=>{let t=e;for(;t instanceof Kw;)for(t=Gs(t.parametersValues[0]);t instanceof Yw&&lS(t.functionName,bpt.SUBTYPE);)t=Gs(t.parametersValues[0]);return js(t,Mw)},sVi=(e,t,n)=>{const i=n?t.getNode(n):void 0;if(lS(e.functionName,[bpt.AND,bpt.OR])){const r=new aPi(n,jMi(e.functionName));t.nodes.set(r.id,r),i&&(r.lambdaParameterName=js(i,oPi).lambdaParameterName),e.parametersValues.forEach(e=>sVi(js(e,Yw,"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,[bpt.EXISTS])){const n=e.parametersValues[0];if(n instanceof Kw){const e=n.parametersValues[0];e instanceof Kw&&qpt(e,t.queryBuilderState.graphManagerState.graph,t.queryBuilderState)}for(const n of t.operators){const r=Xr(()=>n.buildFilterConditionState(t,e));if(r){const e=rVi(r.propertyExpressionState.propertyExpression).name,n=i instanceof oPi&&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 dPi(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],Kw);if(void 0===r.func.value.multiplicity.upperBound||r.func.value.multiplicity.upperBound>1){const s=new lPi(t,n),o=js(e.parametersValues[1],Qw,"Can't process filter expression: only supports exists with second paramter as LambdaFunctionInstanceValue"),a=js(o.values[0],Zw),l=js(a.expressionSequence[0],Yw);s.setPropertyExpression(r),s.lambdaParameterName=a.functionType.parameters[0]?.name,t.nodes.set(s.id,s),sVi(l,t,s.id),t.addNodeFromNode(s,i)}else{const i=[],r=[];let s=e;for(;lS(s.functionName,bpt.EXISTS);){const e=Gs(js(s.parametersValues[1],Qw).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],Yw,"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],Mw,"Can't process exists() expression: exists() lambda should have 1 parameter").name),!(s.parametersValues[0]instanceof Kw)||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],Kw);let a=new Kw("");a.func=o.func,a.parametersValues=[...o.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof Kw||n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);){if(n instanceof Yw){const e=new Yw(sS(bpt.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof Kw){const e=new Kw("");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],Kw,"Can't process exists() expression: can't flatten to a property expression")}s.parametersValues=s.parametersValues.map(e=>{if(e instanceof Yw&&e.parametersValues[0]instanceof Kw)e.parametersValues[0].parametersValues[0]=a;else if(e instanceof Kw)e.parametersValues[0]=Gs(a.parametersValues[0]);else if(e instanceof Mw)return a;return e}),sVi(s,t,n)}}}},oVi=(e,t)=>{const n=t.filterState,i=e.parametersValues[1];Ws(i,Qw,"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],Yw,"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],Mw,"Can't process filter() lambda: only support filter() lambda with 1 parameter").name),sVi(s,n,void 0),n.simplifyTree()};class aVi{id;label;tree;parentId;isSelected;isOpen;childrenIds=[];constructor(e,t,n,i){Hh(this,{hashCode:lu}),this.id=e,this.label=t,this.parentId=n,this.tree=i,this.isOpen=!0}get type(){if(this.tree instanceof nE)return this.tree.property.value.genericType.value.rawType;if(this.tree instanceof tE)return this.tree.class.value;throw new Yr("Can't get type of Graph Fetch Tree",this.tree)}get hashCode(){return $y([Zpt.GRAPH_FETCH_TREE_NODE_DATA,this.id,this.label,this.tree,this.parentId??"",$y(this.childrenIds)])}}const lVi=(e,t,n)=>`${t?`${t}.`:""}${e.name}${n?`${CC}${n.path}`:""}`,cVi=(e,t,n)=>{Ws(e,nE,"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 aVi(lVi(i,s,r),i.name,s,e);return e.subTrees.forEach(e=>{const t=cVi(e,o,n);Co(o.childrenIds,t.id),n.set(t.id,t)}),o},dVi=(e,t,n)=>{const i=t?.id,r=new aVi((s=e.class.valueForSerialization??"")?`${CC}${s}`:"",e.class.value.name,i,e);var s;return e.subTrees.forEach(e=>{const t=cVi(e,r,n);Co(r.childrenIds,t.id),n.set(t.id,t)}),r},uVi=(e,t=!1)=>{const n=[],i=new Map;if(t){const t=dVi(e,void 0,i);Co(n,t.id),i.set(t.id,t)}else e.subTrees.forEach(e=>{const t=cVi(e,void 0,i);Co(n,t.id),i.set(t.id,t)});return{rootIds:n,nodes:i,tree:e}},hVi=e=>0===e.tree.subTrees.length,pVi=e=>Array.from(e.nodes.values()).filter(t=>t.tree instanceof nE&&t.type instanceof ES&&0===t.childrenIds.length||t.tree instanceof nE&&!(t.type instanceof ES)&&t.parentId&&!e.nodes.has(t.parentId)),gVi=(e,t)=>{const n=t.parentId?e.nodes.get(t.parentId):void 0;n?(wo(n.childrenIds,t.id),Fpt(n.tree,t.tree)):(wo(e.rootIds,t.id),Fpt(e.tree,t.tree)),e.nodes.delete(t.id)},mVi=(e,t)=>{gVi(e,t),(e=>{let t=pVi(e);for(;t.length;)t.forEach(t=>{gVi(e,t)}),t=pVi(e)})(e)},fVi=(e,t,n,i)=>{const r=[new nE(zS.create(n.property),void 0)];let s,o,a,l=t.nodes.get(n.parentId);for(;l instanceof kBi||l instanceof OBi;){let e,n=!1;for(;l instanceof OBi;)n||(e=XC.create(l.subclass),n=!0),l=t.nodes.get(l.parentId);if(l instanceof kBi&&l.mappingData.entityMappedProperty?.subType&&l.type instanceof ES&&(e=XC.create(l.type)),!(l instanceof kBi))return void i.applicationStore.notificationService.notifyError("Can't cast the root class of graph fetch structure to its subtype");{const n=new nE(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=lVi(t.property.value,s,t.subType?.value);const n=e.nodes.get(s);if(!n){a=t;break}o=n}if(a){const t=cVi(a,o,e.nodes);e.nodes.set(t.id,t),o?(Co(o.childrenIds,t.id),Ppt(o.tree,t.tree,i.observerContext)):(Co(e.rootIds,t.id),Ppt(e.tree,t.tree,i.observerContext))}},vVi=(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 wVi){if(e.treeData&&!hVi(e.treeData)){const n=s.config?((e,t)=>{const n=t.getClass(fpt.SERIALIZE_CONFIG),i=new Yw(sS(exports.SUPPORTED_FUNCTIONS.NEW)),r=new Pw(nS.ONE,void 0);r.values[0]=XC.create(n);const s=new Fw(vS.create(new wS(gS.STRING)));s.values=[""];const o=new Vw(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 Gw,r=new Fw(vS.create(new wS(gS.STRING)));r.values=[n];const s=new Fw(vS.create(new wS(t.genericType.value.rawType)));s.values=[e[n]];const a=new Uw(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 rE;r.values=[e];const s=new Yw(sS(bpt.SERIALIZE)),o=new Yw(sS(t?bpt.GRAPH_FETCH_CHECKED:bpt.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 EVi))throw new Yr(`Unsupported serialization state ${s.getLabel()}`);{const n=new Yw(sS(bpt.EXTERNALIZE)),i=e.treeData,o=s.treeData;if(i&&o&&!hVi(i)&&!hVi(o)){const a=new rE;a.values=[i.tree];const l=new Yw(e.isChecked?sS(bpt.GRAPH_FETCH_CHECKED):sS(bpt.GRAPH_FETCH));l.parametersValues=[r,a];const c=new Pw(nS.ONE,void 0);c.values=[XC.create(s.targetBinding)];const d=new rE;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 Yw&&lS(n.functionName,bpt.SERIALIZE)){const i=new Fw(vS.create(new wS(gS.INTEGER)));i.values=[t];const r=new Yw(sS(bpt.TAKE)),s=js(n.parametersValues[0],Yw),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 yVi,bVi;!function(e){e.PURE="PURE",e.EXTERNAL_FORMAT="EXTERNAL_FORMAT"}(yVi||(yVi={})),function(e){e.RESULT="RESULT"}(bVi||(bVi={}));const _Vi="@type";class CVi{typeKeyName;dateTimeFormat;includeType;includeEnumType;removePropertiesWithNullValues;removePropertiesWithEmptySets;fullyQualifiedTypePath;includeObjectReference;constructor(){this.typeKeyName=_Vi,Hh(this,{typeKeyName:ru,includeType:ru,includeEnumType:ru,dateTimeFormat:ru,removePropertiesWithNullValues:ru,removePropertiesWithEmptySets:ru,fullyQualifiedTypePath:ru,includeObjectReference:ru,setTypeName:hh,setIncludeObjectReference:hh,setDateTimeFormat:hh,setIncludeType:hh,setFullyQualifiedTypePath:hh,setRemovePropertiesWithEmptySets:hh,setInclueEnumType:hh,setRemovePropertiesWithNullValues:hh})}static createDefault(){const e=new CVi;return e.typeKeyName=_Vi,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 SVi{queryBuilderGraphFetchTreeState;constructor(e){this.queryBuilderGraphFetchTreeState=e}}class wVi extends SVi{config;configModal=!1;constructor(e){super(e),Hh(this,{config:ru,configModal:ru,setConfigModal:hh})}setConfig(e){this.config=e}setConfigModal(e){this.configModal=e}getLabel(){return yVi.PURE}get serializationContentType(){return exports.ContentType.APPLICATION_JSON}}class EVi extends SVi{targetBinding;treeData;constructor(e,t,n){super(e),Hh(this,{targetBinding:ru,treeData:ru.ref,serializationContentType:lu,setGraphFetchTree:hh}),this.targetBinding=t,this.treeData=n}setBinding(e){this.targetBinding=e}setGraphFetchTree(e){this.treeData=e}addProperty(e,t){this.treeData?(fVi(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 yVi.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 xVi extends VMi{treeData;isChecked=!1;serializationState;constructor(e,t){super(e,t),Hh(this,{treeData:ru.ref,isChecked:ru,serializationState:ru,TEMPORARY__showPostFetchStructurePanel:lu,setGraphFetchTree:hh,setSerializationState:hh,setChecked:hh,initialize:hh,checkBeforeChangingImplementation:hh}),this.updateTreeData(this.queryBuilderState.class),this.serializationState=new wVi(this)}get type(){return BMi.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 tE?a=`root.${r.tree.class.valueForSerialization??""}`:r.tree instanceof nE&&(a=r.tree.property.value.name);const l=RBi(o,a);t.push(l),r.tree instanceof nE&&r.tree.subType?(s=NBi(l,r.tree.subType.value.path),bx(r.tree.subType.value).concat(r.tree.subType.value).forEach(e=>t.push(NBi(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?uVi(new tE(XC.create(e))):void 0)}get exportDataFormatOptions(){return[bVi.RESULT]}getExportDataInfo(e){if(e===bVi.RESULT)return{contentType:this.serializationState.serializationContentType};throw new Yr(`Unsupported Graph Fetch export type ${e}`)}initializeWithQuery(){}onClassChange(e){this.updateTreeData(e)}appendFetchStructure(e,t){vVi(this,e,t)}addProperty(e,t){this.treeData?(fVi(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 EVi&&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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.queryBuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Cancel",type:Qut.PROCEED,default:!0}]}):e()}isVariableUsed(e){return Boolean(Array.from(this.treeData?.nodes.values()??[]).find(t=>{if(t.tree instanceof nE)return t.tree.parameters.find(t=>Kpt(e,t))}))}get hasInvalidFilterValues(){return!1}get hasInvalidDerivedPropertyParameters(){return!1}get hashCode(){return $y([Zpt.GRAPH_FETCH_STATE,this.isChecked.toString(),this.treeData?.tree??""])}}const TVi=(e,t)=>()=>{t.implementation.type!==e&&(hpt.logEvent_ToggleFetchStructure(t.queryBuilderState.applicationStore.telemetryService),t.implementation.checkBeforeChangingImplementation(()=>{t.changeImplementation(e)}))};class AVi{queryBuilderState;implementation;constructor(e){Hh(this,{implementation:ru,changeImplementation:hh,initializeWithQuery:hh}),this.queryBuilderState=e,this.implementation=new HFi(this.queryBuilderState,this)}changeImplementation(e){switch(e){case BMi.TABULAR_DATA_STRUCTURE:this.implementation=new HFi(this.queryBuilderState,this);break;case BMi.GRAPH_FETCH:this.queryBuilderState.setIsCalendarEnabled(!1),this.implementation=new xVi(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 kBi&&!(e.type instanceof ES)&&this.implementation.fetchProperty(e)}fetchNodeChildrenProperties(e){e.type instanceof ES&&this.implementation.fetchProperties(e.childrenIds.map(e=>this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(e)).filter(zs(kBi)).filter(e=>!(e.type instanceof ES)&&e.mappingData.mapped))}}class RVi{lambda;constructor(e){this.lambda=e,Hh(this,{lambda:ru,setLambda:hh})}setLambda(e){this.lambda=e}}var NVi;!function(e){e.TEXT="TEXT",e.JSON="JSON"}(NVi||(NVi={}));class IVi extends vMi{queryBuilderState;rawLambdaState;isConvertingLambdaToString=!1;mode;closingQueryState=h_.create();readOnlylambdaJson="";isReadOnly;constructor(e){super("",""),Hh(this,{rawLambdaState:ru,isConvertingLambdaToString:ru,mode:ru,isReadOnly:ru,setQueryRawLambdaState:hh,setIsReadOnly:hh,setMode:hh,openModal:hh,closeModal:Nh}),this.queryBuilderState=e,this.rawLambdaState=new RVi(dj())}get lambdaId(){return Gte(["query-builder"])}get text(){return this.mode===NVi.TEXT?this.fullLambdaString:this.mode===NVi.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=dj();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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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 Dw(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(y_.create(sE.PARSING_FAILURE),e),this.isConvertingLambdaToString=!1}}else this.clearErrors(),this.setLambdaString("")}openModal(e,t){try{const n=this.queryBuilderState.buildQuery();e===NVi.TEXT&&this.setQueryRawLambdaState(new RVi(n)),e===NVi.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===NVi.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 DVi=xoe(e=>{const{resultType:t}=e;let n="";return t.type instanceof ZC&&(n=t.type.input??""),""===n?Lie.jsx(Lie.Fragment,{}):Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsx(BFe,{className:"query-builder__result__container__item__data-type",children:Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__result__container__item__data-type__type",children:"Result type:"}),Lie.jsx("div",{className:"query-builder__result__container__item__data-type__value",children:n})]})}),Lie.jsx(UFe,{})]})}),kVi=xoe(e=>{const{resultType:t}=e;return Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsx(BFe,{className:"query-builder__result__container__item__tds",children:"Result type: TDS"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__result__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Label"}),Lie.jsx("th",{className:"table__cell--left",children:"Result DataType"})]})}),Lie.jsx("tbody",{children:t.tdsColumns.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.name}),Lie.jsx("td",{className:"table__cell--left",children:e.type instanceof ZC&&(e.type.input??"")})]},e.name))})]}),Lie.jsx(UFe,{})]})}),OVi=xoe(e=>{const{resultType:t}=e;return Lie.jsxs("div",{className:"query-builder__result__container",children:[Lie.jsxs(BFe,{className:"query-builder__result__container__item__partial-class",children:["Result type: PartialClass[",t.type.valueForSerialization??"","]"]}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__result__container__table--partial-class table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Parameters"})]})}),Lie.jsx("tbody",{children:t.propertiesWithParameters.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.property}),Lie.jsx("td",{className:"table__cell--left",children:e.parameters.toString()})]},e.property))})]}),Lie.jsx(UFe,{})]})}),LVi=xoe(e=>{const{resultType:t}=e;return t instanceof i2?Lie.jsx(DVi,{resultType:t}):t instanceof r2?Lie.jsx(kVi,{resultType:t}):t instanceof F2?Lie.jsx(OVi,{resultType:t}):null}),MVi=e=>{e.dispose(),e.getModel()?.dispose()},PVi=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=fut(),[m,f]=n.useState(),[v,y]=n.useState(!1),b=n.useRef(void 0),_=MIn(t),C=n.useRef(null);if(n.useEffect(()=>{if(!m&&C.current){const e=C.current,t=Fln.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??CIn.BUILT_IN__VSCODE_LIGHT:CIn.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){PIn(m);const e=m.getModel();e&&Fln.setModelLanguage(e,s)}},[m,s]),n.useEffect(()=>{m&&void 0!==u&&m.revealLineInCenter(u)},[m,u]),m){b.current?.dispose(),b.current=m.onDidChangeModelContent(()=>{const e=DIn(m);e!==_&&i?.(e)});DIn(m)!==_&&m.setValue(_),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?OIn(e,[{message:p.message,startLineNumber:p.sourceInformation.startLine,startColumn:p.sourceInformation.startColumn,endLineNumber:p.sourceInformation.endLine,endColumn:p.sourceInformation.endColumn}]):LIn())}return n.useEffect(()=>()=>{m&&(MVi(m),b.current?.dispose())},[m]),Lie.jsxs("div",{className:"code-editor",children:[!d&&Lie.jsx("div",{className:"code-editor__header",children:Lie.jsx("button",{tabIndex:-1,className:Noe("code-editor__header__action",{"code-editor__header__action--active":v}),onClick:()=>{const e=!v;y(e),m?.updateOptions({wordWrap:e?"on":"off"})},title:`[${v?"on":"off"}] Toggle word wrap`,children:Lie.jsx(gre,{})})}),Lie.jsx("div",{className:Noe("code-editor__content",{"code-editor__content--padding":!c,"code-editor__content--with__header":!d}),children:Lie.jsx("div",{className:"code-editor__body",ref:C})})]})},FVi=xoe(e=>{const{from:t,to:i,language:r}=e,s=fut(),[o,a]=n.useState(),l=n.useRef(null),c=t??"",d=i??"";if(n.useEffect(()=>{if(!o&&l.current){const e=l.current,t=Fln.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?CIn.BUILT_IN__VSCODE_LIGHT:CIn.DEFAULT_DARK,readOnly:!0});a(t)}},[s,o]),o){const e=Fln.createModel(c,r),t=Fln.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]),Lie.jsx("div",{className:"code-editor__container",children:Lie.jsx("div",{className:"code-editor__body",ref:l})})}),BVi=(e,t)=>e?Xs(e)?t?Xv(e):((e,t=2)=>{try{return JSON.stringify(JSON.parse(e),void 0,t)}catch{return e}})(e):t?Kv(e,void 0,2):JSON.stringify(e,void 0,2):"",VVi=xoe(e=>{const{from:t,to:n,lossless:i}=e;return Lie.jsx(FVi,{language:FIn.JSON,from:BVi(t,Boolean(i)),to:BVi(n,Boolean(i))})});var UVi,GVi={exports:{}},HVi=GVi.exports;var zVi=(UVi||(UVi=1,function(e){!function(t,n){e.exports?e.exports=n():t.nearley=n()}(HVi,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}})}(GVi)),GVi.exports),WVi=Qr(zVi),jVi=Object.defineProperty,$Vi=Object.defineProperties,qVi=Object.getOwnPropertyDescriptors,YVi=Object.getOwnPropertySymbols,KVi=Object.prototype.hasOwnProperty,XVi=Object.prototype.propertyIsEnumerable,ZVi=(e,t,n)=>t in e?jVi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,QVi=(e,t)=>{for(var n in t||(t={}))KVi.call(t,n)&&ZVi(e,n,t[n]);if(YVi)for(var n of YVi(t))XVi.call(t,n)&&ZVi(e,n,t[n]);return e},JVi=(e,t)=>$Vi(e,qVi(t)),eUi={};((e,t)=>{for(var n in t)jVi(e,n,{get:t[n],enumerable:!0})})(eUi,{bigquery:()=>xUi,db2:()=>MUi,db2i:()=>zUi,hive:()=>ZUi,mariadb:()=>oGi,mysql:()=>gGi,n1ql:()=>NGi,plsql:()=>FGi,postgresql:()=>jGi,redshift:()=>JGi,singlestoredb:()=>qHi,snowflake:()=>tzi,spark:()=>aHi,sql:()=>wHi,sqlite:()=>mHi,tidb:()=>SGi,transactsql:()=>VHi,trino:()=>DHi});var tUi=e=>e.flatMap(nUi),nUi=e=>dUi(rUi(e)).map(iUi),iUi=e=>e.replace(/ +/g," ").trim(),rUi=e=>({type:"mandatory_block",items:sUi(e,0)[0]}),sUi=(e,t,n)=>{const i=[];for(;e[t];){const[r,s]=oUi(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]},oUi=(e,t)=>{const n=[];for(;;){const[i,r]=aUi(e,t);if(!i)break;n.push(i),t=r}return 1===n.length?[n[0],t]:[{type:"concatenation",items:n},t]},aUi=(e,t)=>{if("{"===e[t])return lUi(e,t+1);if("["===e[t])return cUi(e,t+1);{let n="";for(;e[t]&&/[A-Za-z0-9_ ]/.test(e[t]);)n+=e[t],t++;return[n,t]}},lUi=(e,t)=>{const[n,i]=sUi(e,t,"}");return[{type:"mandatory_block",items:n},i]},cUi=(e,t)=>{const[n,i]=sUi(e,t,"]");return[{type:"optional_block",items:n},i]},dUi=e=>{if("string"==typeof e)return[e];if("concatenation"===e.type)return e.items.map(dUi).reduce(uUi,[""]);if("mandatory_block"===e.type)return e.items.flatMap(dUi);if("optional_block"===e.type)return["",...e.items.flatMap(dUi)];throw new Error(`Unknown node type: ${e}`)},uUi=(e,t)=>{const n=[];for(const i of e)for(const e of t)n.push(i+e);return n},hUi=(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))(hUi||{}),pUi=e=>({type:"EOF",raw:"«EOF»",text:"«EOF»",start:e}),gUi=pUi(1/0),mUi=e=>t=>t.type===e.type&&t.text===e.text,fUi={ARRAY:mUi({text:"ARRAY",type:"RESERVED_DATA_TYPE"}),BY:mUi({text:"BY",type:"RESERVED_KEYWORD"}),SET:mUi({text:"SET",type:"RESERVED_CLAUSE"}),STRUCT:mUi({text:"STRUCT",type:"RESERVED_DATA_TYPE"}),WINDOW:mUi({text:"WINDOW",type:"RESERVED_CLAUSE"}),VALUES:mUi({text:"VALUES",type:"RESERVED_CLAUSE"})},vUi=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,yUi=tUi(["SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]"]),bUi=tUi(["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"]),_Ui=tUi(["CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]"]),CUi=tUi(["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"]),SUi=tUi(["UNION {ALL | DISTINCT}","EXCEPT DISTINCT","INTERSECT DISTINCT"]),wUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),EUi=tUi(["TABLESAMPLE SYSTEM","ANY TYPE","ALL COLUMNS","NOT DETERMINISTIC","{ROWS | RANGE} BETWEEN","IS [NOT] DISTINCT FROM"]),xUi={name:"bigquery",tokenizerOptions:{reservedSelect:yUi,reservedClauses:[...bUi,...CUi,..._Ui],reservedSetOperations:SUi,reservedJoins:wUi,reservedPhrases:EUi,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=gUi;return e.map(e=>"OFFSET"===e.text&&"["===t.text?(t=e,JVi(QVi({},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((fUi.ARRAY(r)||fUi.STRUCT(r))&&"<"===(null==(t=e[i+1])?void 0:t.text)){const t=AUi(e,i+1),s=e.slice(i,t+1);n.push({type:"IDENTIFIER",raw:s.map(TUi("raw")).join(""),text:s.map(TUi("text")).join(""),start:r.start}),i=t}else n.push(r)}return n}(e))}},formatOptions:{onelineClauses:[..._Ui,...CUi],tabularOnelineClauses:CUi}};var TUi=e=>t=>"IDENTIFIER"===t.type||"COMMA"===t.type?t[e]+" ":t[e];function AUi(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 RUi=tUi(["SELECT [ALL | DISTINCT]"]),NUi=tUi(["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"]),IUi=tUi(["CREATE [GLOBAL TEMPORARY | EXTERNAL] TABLE [IF NOT EXISTS]"]),DUi=tUi(["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"]),kUi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),OUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN"]),LUi=tUi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),MUi={name:"db2",tokenizerOptions:{reservedSelect:RUi,reservedClauses:[...NUi,...IUi,...DUi],reservedSetOperations:kUi,reservedJoins:OUi,reservedPhrases:LUi,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:[...IUi,...DUi],tabularOnelineClauses:DUi}},PUi=tUi(["SELECT [ALL | DISTINCT]"]),FUi=tUi(["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"]),BUi=tUi(["CREATE [OR REPLACE] TABLE"]),VUi=tUi(["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}"]),UUi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),GUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","[LEFT | RIGHT] EXCEPTION JOIN","{INNER | CROSS} JOIN"]),HUi=tUi(["ON DELETE","ON UPDATE","SET NULL","{ROWS | RANGE} BETWEEN"]),zUi={name:"db2i",tokenizerOptions:{reservedSelect:PUi,reservedClauses:[...FUi,...BUi,...VUi],reservedSetOperations:UUi,reservedJoins:GUi,reservedPhrases:HUi,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:[...BUi,...VUi],tabularOnelineClauses:VUi}},WUi=tUi(["SELECT [ALL | DISTINCT]"]),jUi=tUi(["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"]),$Ui=tUi(["CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]"]),qUi=tUi(["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"]),YUi=tUi(["UNION [ALL | DISTINCT]"]),KUi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","LEFT SEMI JOIN"]),XUi=tUi(["{ROWS | RANGE} BETWEEN"]),ZUi={name:"hive",tokenizerOptions:{reservedSelect:WUi,reservedClauses:[...jUi,...$Ui,...qUi],reservedSetOperations:YUi,reservedJoins:KUi,reservedPhrases:XUi,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:[...$Ui,...qUi],tabularOnelineClauses:qUi}};function QUi(e){return e.map((t,n)=>{const i=e[n+1]||gUi;if(fUi.SET(t)&&"("===i.text)return JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"});const r=e[n-1]||gUi;return fUi.VALUES(t)&&"="===r.text?JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"}):t})}var JUi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),eGi=tUi(["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"]),tGi=tUi(["CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]"]),nGi=tUi(["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"]),iGi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]","MINUS [ALL | DISTINCT]"]),rGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),sGi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),oGi={name:"mariadb",tokenizerOptions:{reservedSelect:JUi,reservedClauses:[...eGi,...tGi,...nGi],reservedSetOperations:iGi,reservedJoins:rGi,reservedPhrases:sGi,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:QUi},formatOptions:{onelineClauses:[...tGi,...nGi],tabularOnelineClauses:nGi}},aGi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),lGi=tUi(["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"]),cGi=tUi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),dGi=tUi(["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"]),uGi=tUi(["UNION [ALL | DISTINCT]"]),hGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),pGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),gGi={name:"mysql",tokenizerOptions:{reservedSelect:aGi,reservedClauses:[...lGi,...cGi,...dGi],reservedSetOperations:uGi,reservedJoins:hGi,reservedPhrases:pGi,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:QUi},formatOptions:{onelineClauses:[...cGi,...dGi],tabularOnelineClauses:dGi}},mGi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),fGi=tUi(["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"]),vGi=tUi(["CREATE [TEMPORARY] TABLE [IF NOT EXISTS]"]),yGi=tUi(["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"]),bGi=tUi(["UNION [ALL | DISTINCT]"]),_Gi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),CGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),SGi={name:"tidb",tokenizerOptions:{reservedSelect:mGi,reservedClauses:[...fGi,...vGi,...yGi],reservedSetOperations:bGi,reservedJoins:_Gi,reservedPhrases:CGi,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:QUi},formatOptions:{onelineClauses:[...vGi,...yGi],tabularOnelineClauses:yGi}},wGi=tUi(["SELECT [ALL | DISTINCT]"]),EGi=tUi(["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"]),xGi=tUi(["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"]),TGi=tUi(["UNION [ALL]","EXCEPT [ALL]","INTERSECT [ALL]"]),AGi=tUi(["JOIN","{LEFT | RIGHT} [OUTER] JOIN","INNER JOIN"]),RGi=tUi(["{ROWS | RANGE | GROUPS} BETWEEN"]),NGi={name:"n1ql",tokenizerOptions:{reservedSelect:wGi,reservedClauses:[...EGi,...xGi],reservedSetOperations:TGi,reservedJoins:AGi,reservedPhrases:RGi,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:xGi}},IGi=tUi(["SELECT [ALL | DISTINCT | UNIQUE]"]),DGi=tUi(["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"]),kGi=tUi(["CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE"]),OGi=tUi(["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"]),LGi=tUi(["UNION [ALL]","MINUS","INTERSECT"]),MGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | OUTER} APPLY"]),PGi=tUi(["ON {UPDATE | DELETE} [SET NULL]","ON COMMIT","{ROWS | RANGE} BETWEEN"]),FGi={name:"plsql",tokenizerOptions:{reservedSelect:IGi,reservedClauses:[...DGi,...kGi,...OGi],reservedSetOperations:LGi,reservedJoins:MGi,reservedPhrases:PGi,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=gUi;return e.map(e=>fUi.SET(e)&&fUi.BY(t)?JVi(QVi({},e),{type:"RESERVED_KEYWORD"}):(vUi(e.type)&&(t=e),e))}},formatOptions:{alwaysDenseOperators:["@"],onelineClauses:[...kGi,...OGi],tabularOnelineClauses:OGi}};var BGi=tUi(["SELECT [ALL | DISTINCT]"]),VGi=tUi(["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"]),UGi=tUi(["CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]"]),GGi=tUi(["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"]),HGi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),zGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),WGi=tUi(["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"]),jGi={name:"postgresql",tokenizerOptions:{reservedSelect:BGi,reservedClauses:[...VGi,...UGi,...GGi],reservedSetOperations:HGi,reservedJoins:zGi,reservedPhrases:WGi,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:[...UGi,...GGi],tabularOnelineClauses:GGi}},$Gi=tUi(["SELECT [ALL | DISTINCT]"]),qGi=tUi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY","HAVING","PARTITION BY","ORDER BY","LIMIT","OFFSET","INSERT INTO","VALUES","SET"]),YGi=tUi(["CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]"]),KGi=tUi(["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"]),XGi=tUi(["UNION [ALL]","EXCEPT","INTERSECT","MINUS"]),ZGi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),QGi=tUi(["NULL AS","DATA CATALOG","HIVE METASTORE","{ROWS | RANGE} BETWEEN"]),JGi={name:"redshift",tokenizerOptions:{reservedSelect:$Gi,reservedClauses:[...qGi,...YGi,...KGi],reservedSetOperations:XGi,reservedJoins:ZGi,reservedPhrases:QGi,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:[...YGi,...KGi],tabularOnelineClauses:KGi}},eHi=tUi(["SELECT [ALL | DISTINCT]"]),tHi=tUi(["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"]),nHi=tUi(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]),iHi=tUi(["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"]),rHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),sHi=tUi(["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"]),oHi=tUi(["ON DELETE","ON UPDATE","CURRENT ROW","{ROWS | RANGE} BETWEEN"]),aHi={name:"spark",tokenizerOptions:{reservedSelect:eHi,reservedClauses:[...tHi,...nHi,...iHi],reservedSetOperations:rHi,reservedJoins:sHi,reservedPhrases:oHi,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]||gUi,r=e[n+1]||gUi;return fUi.WINDOW(t)&&"OPEN_PAREN"===r.type?JVi(QVi({},t),{type:"RESERVED_FUNCTION_NAME"}):"ITEMS"!==t.text||"RESERVED_KEYWORD"!==t.type||"COLLECTION"===i.text&&"TERMINATED"===r.text?t:JVi(QVi({},t),{type:"IDENTIFIER",text:t.raw})})}},formatOptions:{onelineClauses:[...nHi,...iHi],tabularOnelineClauses:iHi}};var lHi=tUi(["SELECT [ALL | DISTINCT]"]),cHi=tUi(["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"]),dHi=tUi(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),uHi=tUi(["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"]),hHi=tUi(["UNION [ALL]","EXCEPT","INTERSECT"]),pHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),gHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE | GROUPS} BETWEEN","DO UPDATE"]),mHi={name:"sqlite",tokenizerOptions:{reservedSelect:lHi,reservedClauses:[...cHi,...dHi,...uHi],reservedSetOperations:hHi,reservedJoins:pHi,reservedPhrases:gHi,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:[...dHi,...uHi],tabularOnelineClauses:uHi}},fHi=tUi(["SELECT [ALL | DISTINCT]"]),vHi=tUi(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL | DISTINCT]","HAVING","WINDOW","PARTITION BY","ORDER BY","LIMIT","OFFSET","FETCH {FIRST | NEXT}","INSERT INTO","VALUES","SET"]),yHi=tUi(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]),bHi=tUi(["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"]),_Hi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),CHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),SHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),wHi={name:"sql",tokenizerOptions:{reservedSelect:fHi,reservedClauses:[...vHi,...yHi,...bHi],reservedSetOperations:_Hi,reservedJoins:CHi,reservedPhrases:SHi,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:[...yHi,...bHi],tabularOnelineClauses:bHi}},EHi=tUi(["SELECT [ALL | DISTINCT]"]),xHi=tUi(["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"]),THi=tUi(["CREATE TABLE [IF NOT EXISTS]"]),AHi=tUi(["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"]),RHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT [ALL | DISTINCT]","INTERSECT [ALL | DISTINCT]"]),NHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL [INNER] JOIN","NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"]),IHi=tUi(["{ROWS | RANGE | GROUPS} BETWEEN","IS [NOT] DISTINCT FROM"]),DHi={name:"trino",tokenizerOptions:{reservedSelect:EHi,reservedClauses:[...xHi,...THi,...AHi],reservedSetOperations:RHi,reservedJoins:NHi,reservedPhrases:IHi,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:[...THi,...AHi],tabularOnelineClauses:AHi}},kHi=tUi(["SELECT [ALL | DISTINCT]"]),OHi=tUi(["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}"]),LHi=tUi(["CREATE TABLE"]),MHi=tUi(["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"]),PHi=tUi(["UNION [ALL]","EXCEPT","INTERSECT"]),FHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{CROSS | OUTER} APPLY"]),BHi=tUi(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]","{ROWS | RANGE} BETWEEN"]),VHi={name:"transactsql",tokenizerOptions:{reservedSelect:kHi,reservedClauses:[...OHi,...LHi,...MHi],reservedSetOperations:PHi,reservedJoins:FHi,reservedPhrases:BHi,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:[...LHi,...MHi],tabularOnelineClauses:MHi}},UHi=tUi(["SELECT [ALL | DISTINCT | DISTINCTROW]"]),GHi=tUi(["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"]),HHi=tUi(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]),zHi=tUi(["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"]),WHi=tUi(["UNION [ALL | DISTINCT]","EXCEPT","INTERSECT","MINUS"]),jHi=tUi(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","NATURAL {LEFT | RIGHT} [OUTER] JOIN","STRAIGHT_JOIN"]),$Hi=tUi(["ON DELETE","ON UPDATE","CHARACTER SET","{ROWS | RANGE} BETWEEN","IDENTIFIED BY"]),qHi={name:"singlestoredb",tokenizerOptions:{reservedSelect:UHi,reservedClauses:[...GHi,...HHi,...zHi],reservedSetOperations:WHi,reservedJoins:jHi,reservedPhrases:$Hi,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:QUi},formatOptions:{alwaysDenseOperators:["::","::$","::%"],onelineClauses:[...HHi,...zHi],tabularOnelineClauses:zHi}},YHi=tUi(["SELECT [ALL | DISTINCT]"]),KHi=tUi(["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"]),XHi=tUi(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]","CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]),ZHi=tUi(["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"]),QHi=tUi(["UNION [ALL]","MINUS","EXCEPT","INTERSECT"]),JHi=tUi(["[INNER] JOIN","[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN","{CROSS | NATURAL} JOIN"]),ezi=tUi(["{ROWS | RANGE} BETWEEN","ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]),tzi={name:"snowflake",tokenizerOptions:{reservedSelect:YHi,reservedClauses:[...KHi,...XHi,...ZHi],reservedSetOperations:QHi,reservedJoins:JHi,reservedPhrases:ezi,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:[...XHi,...ZHi],tabularOnelineClauses:ZHi}},nzi=e=>e[e.length-1],izi=e=>e.sort((e,t)=>t.length-e.length||e.localeCompare(t)),rzi=e=>e.replace(/\s+/gu," "),szi=e=>/\n/.test(e),ozi=e=>e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),azi=/\s+/uy,lzi=e=>new RegExp(`(?:${e})`,"uy"),czi=e=>e.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),dzi=(e,t=[])=>{const n="open"===e?0:1,i=["()",...t].map(e=>e[n]);return lzi(i.map(ozi).join("|"))},uzi=e=>lzi(`${izi(e).map(ozi).join("|")}`),hzi=(e,t={})=>{if(0===e.length)return/^\b$/u;const n=(({rest:e,dashes:t})=>e||t?`(?![${e||""}${t?"-":""}])`:"")(t),i=izi(e).map(ozi).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${i})${n}\\b`,"iuy")},pzi=(e,t)=>{if(!e.length)return;const n=e.map(ozi).join("|");return lzi(`(?:${n})(?:${t})`)},gzi={"``":"(?:`[^`]*`)+","[]":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,ozi(e)).replace(/{right}/g,ozi(t))),n=ozi(Object.keys(e).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`})()},mzi=e=>"string"==typeof e?gzi[e]:"regex"in e?e.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(czi).join("|")}${t?"":"|"})`)(e)+gzi[e.quote],fzi=e=>e.map(mzi).join("|"),vzi=e=>lzi(fzi(e)),yzi=(e={})=>lzi(bzi(e)),bzi=({first:e,rest:t,dashes:n,allowFirstCharNumber:i}={})=>{const r="\\p{Alphabetic}\\p{Mark}_",s="\\p{Decimal_Number}",o=ozi(null!=e?e:""),a=ozi(null!=t?t:""),l=i?`[${r}${s}${o}][${r}${s}${a}]*`:`[${r}${o}][${r}${s}${a}]*`;return n?(e=>e+"(?:-"+e+")*")(l):l};function _zi(e,t){const n=e.slice(0,t).split(/\n/);return{line:n.length,col:n[n.length-1].length+1}}var Czi=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(JVi(QVi({},n),{precedingWhitespace:e}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:n}=_zi(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(){azi.lastIndex=this.index;const e=azi.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}}},Szi=/\/\*/uy,wzi=/[\s\S]/uy,Ezi=/\*\//uy,xzi=class{constructor(){this.lastIndex=0}exec(e){let t,n="",i=0;if(!(t=this.matchSection(Szi,e)))return null;for(n+=t,i++;i>0;)if(t=this.matchSection(Szi,e))n+=t,i++;else if(t=this.matchSection(Ezi,e))n+=t,i--;else{if(!(t=this.matchSection(wzi,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}},Tzi=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 Czi(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 xzi:/(\/\*[^]*?\*\/)/uy},{type:"LINE_COMMENT",regex:(i=null!=(t=e.lineCommentTypes)?t:["--"],new RegExp(`(?:${i.map(ozi).join("|")}).*?(?=\r\n|\r|\n|$)`,"uy"))},{type:"QUOTED_IDENTIFIER",regex:vzi(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:hzi(null!=(n=e.reservedPhrases)?n:[],e.identChars),text:Azi},{type:"CASE",regex:/CASE\b/iuy,text:Azi},{type:"END",regex:/END\b/iuy,text:Azi},{type:"BETWEEN",regex:/BETWEEN\b/iuy,text:Azi},{type:"LIMIT",regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:Azi},{type:"RESERVED_CLAUSE",regex:hzi(e.reservedClauses,e.identChars),text:Azi},{type:"RESERVED_SELECT",regex:hzi(e.reservedSelect,e.identChars),text:Azi},{type:"RESERVED_SET_OPERATION",regex:hzi(e.reservedSetOperations,e.identChars),text:Azi},{type:"WHEN",regex:/WHEN\b/iuy,text:Azi},{type:"ELSE",regex:/ELSE\b/iuy,text:Azi},{type:"THEN",regex:/THEN\b/iuy,text:Azi},{type:"RESERVED_JOIN",regex:hzi(e.reservedJoins,e.identChars),text:Azi},{type:"AND",regex:/AND\b/iuy,text:Azi},{type:"OR",regex:/OR\b/iuy,text:Azi},{type:"XOR",regex:e.supportsXor?/XOR\b/iuy:void 0,text:Azi},...e.operatorKeyword?[{type:"OPERATOR",regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:"RESERVED_FUNCTION_NAME",regex:hzi(e.reservedFunctionNames,e.identChars),text:Azi},{type:"RESERVED_DATA_TYPE",regex:hzi(e.reservedDataTypes,e.identChars),text:Azi},{type:"RESERVED_KEYWORD",regex:hzi(e.reservedKeywords,e.identChars),text:Azi}])}buildRulesAfterParams(e){var t,n,i;return this.validRules([{type:"VARIABLE",regex:e.variableTypes?(i=e.variableTypes,lzi(i.map(e=>"regex"in e?e.regex:mzi(e)).join("|"))):void 0},{type:"STRING",regex:vzi(e.stringTypes)},{type:"IDENTIFIER",regex:yzi(e.identChars)},{type:"DELIMITER",regex:/[;]/uy},{type:"COMMA",regex:/[,]/y},{type:"OPEN_PAREN",regex:dzi("open",e.extraParens)},{type:"CLOSE_PAREN",regex:dzi("close",e.extraParens)},{type:"OPERATOR",regex:uzi(["+","-","/",">","<","=","<>","<=",">=","!=",...null!=(t=e.operators)?t:[]])},{type:"ASTERISK",regex:/[*]/uy},{type:"PROPERTY_ACCESS_OPERATOR",regex:uzi([".",...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:pzi(a.named,bzi(e.paramChars||e.identChars)),key:e=>e.slice(1)},{type:"QUOTED_PARAMETER",regex:pzi(a.quoted,fzi(e.identTypes)),key:e=>(({tokenKey:e,quoteChar:t})=>e.replace(new RegExp(ozi("\\"+t),"gu"),t))({tokenKey:e.slice(2,-1),quoteChar:e.slice(-1)})},{type:"NUMBERED_PARAMETER",regex:pzi(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:lzi(e.regex),key:null!=(t=e.key)?t:e=>e}})])}validRules(e){return e.filter(e=>Boolean(e.regex))}},Azi=e=>rzi(e.toUpperCase()),Rzi=new Map,Nzi=e=>({tokenizer:new Tzi(e.tokenizerOptions,e.name),formatOptions:Izi(e.formatOptions)}),Izi=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 Dzi(e){return"tabularLeft"===e.indentStyle||"tabularRight"===e.indentStyle}var kzi=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 Ozi(e){return e.map(Lzi).map(Mzi).map(Pzi).map(Fzi).map(Bzi)}var Lzi=(e,t,n)=>{if(vUi(e.type)){const i=Vzi(n,t);if(i&&"PROPERTY_ACCESS_OPERATOR"===i.type)return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw});const r=Uzi(n,t);if(r&&"PROPERTY_ACCESS_OPERATOR"===r.type)return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw})}return e},Mzi=(e,t,n)=>{if("RESERVED_FUNCTION_NAME"===e.type){const i=Uzi(n,t);if(!i||!Gzi(i))return JVi(QVi({},e),{type:"IDENTIFIER",text:e.raw})}return e},Pzi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=Uzi(n,t);if(i&&Gzi(i))return JVi(QVi({},e),{type:"RESERVED_PARAMETERIZED_DATA_TYPE"})}return e},Fzi=(e,t,n)=>{if("IDENTIFIER"===e.type){const i=Uzi(n,t);if(i&&Hzi(i))return JVi(QVi({},e),{type:"ARRAY_IDENTIFIER"})}return e},Bzi=(e,t,n)=>{if("RESERVED_DATA_TYPE"===e.type){const i=Uzi(n,t);if(i&&Hzi(i))return JVi(QVi({},e),{type:"ARRAY_KEYWORD"})}return e},Vzi=(e,t)=>Uzi(e,t,-1),Uzi=(e,t,n=1)=>{let i=1;for(;e[t+i*n]&&zzi(e[t+i*n]);)i++;return e[t+i*n]},Gzi=e=>"OPEN_PAREN"===e.type&&"("===e.text,Hzi=e=>"OPEN_PAREN"===e.type&&"["===e.text,zzi=e=>"BLOCK_COMMENT"===e.type||"LINE_COMMENT"===e.type,Wzi=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}=_zi(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${n}`}has(e){return e in hUi}};function jzi(e){return e[0]}var $zi=new Wzi(e=>[]),qzi=([[e]])=>e,Yzi=e=>({type:"keyword",tokenType:e.type,text:e.text,raw:e.raw}),Kzi=e=>({type:"data_type",text:e.text,raw:e.raw}),Xzi=(e,{leading:t,trailing:n})=>((null==t?void 0:t.length)&&(e=JVi(QVi({},e),{leadingComments:t})),(null==n?void 0:n.length)&&(e=JVi(QVi({},e),{trailingComments:n})),e),Zzi=(e,{leading:t,trailing:n})=>{if(null==t?void 0:t.length){const[n,...i]=e;e=[Xzi(n,{leading:t}),...i]}if(null==n?void 0:n.length){const t=e.slice(0,-1),i=e[e.length-1];e=[...t,Xzi(i,{trailing:n})]}return e},Qzi={Lexer:$zi,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:[$zi.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[$zi.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:qzi},{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:[$zi.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:jzi},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[$zi.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:Xzi(Yzi(e),{trailing:t}),offset:n,count:s}}return{type:"limit_clause",limitKw:Xzi(Yzi(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:[$zi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,n]])=>({type:"clause",nameKw:Yzi(e),children:[t,...n]})},{name:"select_clause",symbols:[$zi.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:"clause",nameKw:Yzi(e),children:[]})},{name:"all_columns_asterisk",symbols:[$zi.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:[$zi.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:"clause",nameKw:Yzi(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:[$zi.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:"set_operation",nameKw:Yzi(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:jzi},{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])=>Xzi(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>Xzi(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>Xzi(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:qzi},{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:qzi},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:qzi},{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:qzi},{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:qzi},{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:qzi},{name:"array_subscript",symbols:[$zi.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:Xzi({type:"identifier",quoted:!1,text:e.text},{trailing:t}),parenthesis:n})},{name:"array_subscript",symbols:[$zi.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,n])=>({type:"array_subscript",array:Xzi(Yzi(e),{trailing:t}),parenthesis:n})},{name:"function_call",symbols:[$zi.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,n])=>({type:"function_call",nameKw:Xzi(Yzi(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","_",$zi.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:Xzi(e,{trailing:t}),operator:n.text,property:Xzi(r,{leading:i})})},{name:"between_predicate",symbols:[$zi.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",$zi.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,n,i,r,s,o])=>({type:"between_predicate",betweenKw:Yzi(e),expr1:Zzi(n,{leading:t,trailing:i}),andKw:Yzi(r),expr2:[Xzi(o,{leading:s})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:jzi},{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:[$zi.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",$zi.has("END")?{type:"END"}:END],postprocess:([e,t,n,i,r])=>({type:"case_expression",caseKw:Xzi(Yzi(e),{trailing:t}),endKw:Yzi(r),expr:n||[],clauses:i})},{name:"case_clause",symbols:[$zi.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",$zi.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,n,i,r,s])=>({type:"case_when",whenKw:Xzi(Yzi(e),{trailing:t}),thenKw:Xzi(Yzi(i),{trailing:r}),condition:n,result:s})},{name:"case_clause",symbols:[$zi.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,n])=>({type:"case_else",elseKw:Xzi(Yzi(e),{trailing:t}),result:n})},{name:"comma$subexpression$1",symbols:[$zi.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:"comma"})},{name:"asterisk$subexpression$1",symbols:[$zi.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"operator$subexpression$1",symbols:[$zi.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:"operator",text:e.text})},{name:"identifier$subexpression$1",symbols:[$zi.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[$zi.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[$zi.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:[$zi.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[$zi.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:[$zi.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[$zi.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:"literal",text:e.text})},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[$zi.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>Yzi(e)},{name:"data_type$subexpression$1",symbols:[$zi.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>Kzi(e)},{name:"data_type",symbols:[$zi.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,n])=>({type:"parameterized_data_type",dataType:Xzi(Kzi(e),{trailing:t}),parenthesis:n})},{name:"logic_operator$subexpression$1",symbols:[$zi.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[$zi.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[$zi.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>Yzi(e)},{name:"other_keyword$subexpression$1",symbols:[$zi.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[$zi.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>Yzi(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:[$zi.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:"line_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[$zi.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:"block_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[$zi.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:"disable_comment",text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},Jzi=Qzi,{Parser:eWi,Grammar:tWi}=WVi;var nWi=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(;iWi(nzi(this.items));)this.items.pop()}trimWhitespace(){for(;rWi(nzi(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(nzi(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}}},iWi=e=>0===e||6===e,rWi=e=>0===e||6===e||3===e;function sWi(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 oWi(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 aWi="top-level",lWi=class{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(aWi)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&nzi(this.indentTypes)===aWi&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0;){if(this.indentTypes.pop()!==aWi)break}}},cWi=class extends nWi{constructor(e){super(new lWi("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(e=>this.addToLength(e)),this.length>this.expressionWidth)throw new dWi;super.add(...e)}addToLength(e){if("string"==typeof e)this.length+=e.length,this.trailingSpace=!1;else{if(4===e||3===e)throw new dWi;5===e||6===e||0===e?this.trailingSpace||(this.length++,this.trailingSpace=!0):2!==e&&1!==e||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}},dWi=class extends Error{},uWi=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),Dzi(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):Dzi(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return Dzi(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(),Dzi(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){szi(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 szi(e.text)||szi(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(nzi(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 cWi(this.cfg.expressionWidth),inline:!0}).format(t)}catch(e){if(e instanceof dWi)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){Dzi(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?Dzi(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 oWi(e.tokenType)?sWi(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return rzi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return oWi(e.tokenType)?sWi(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return rzi(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 rzi(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}},hWi=class{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new kzi(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 Wzi(n=>[...Ozi(e.tokenize(n,t)),pUi(n.length)]),i=new eWi(tWi.fromCompiled(Jzi),{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 uWi({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new nWi(new lWi((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()}},pWi=class extends Error{};function gWi(e){const t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const n of t)if(n in e)throw new pWi(`${n} config is no more supported.`);if(e.expressionWidth<=0)throw new pWi(`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 pWi("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}var mWi={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"},fWi=Object.keys(mWi),vWi={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},yWi=(e,t={})=>{if("string"==typeof t.language&&!fWi.includes(t.language))throw new pWi(`Unsupported SQL dialect: ${t.language}`);const n=mWi[t.language||"sql"];return bWi(e,JVi(QVi({},t),{dialect:eUi[n]}))},bWi=(e,t)=>{var n=t,{dialect:i}=n,r=((e,t)=>{var n={};for(var i in e)KVi.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(null!=e&&YVi)for(var i of YVi(e))t.indexOf(i)<0&&XVi.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=gWi(QVi(QVi({},vWi),r));return new hWi((e=>{let t=Rzi.get(e);return t||(t=Nzi(e),Rzi.set(e,t)),t})(i),s).format(e)};const _Wi=console.error;function CWi(e){return AG_GRID_LICENSE&&Emi.setLicenseKey(AG_GRID_LICENSE),"production"!==process.env.NODE_ENV&&(console.error=(e,...t)=>{console.debug(`%c ${e}`,"color: silver")}),Lie.jsx(emi,{theme:"legacy",...e,modules:[Gpi,Lki],onGridReady:t=>{e.onGridReady?.(t),"production"!==process.env.NODE_ENV&&(console.error=_Wi)}})}class SWi{uuid=ho()}const wWi=(e,t,n)=>{const i=new Yw(sS(t)),r=gPi(e.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);if(i.parametersValues.push(Gs(r)),e.rightConditionValue&&e.rightConditionValue instanceof nPi&&void 0!==e.rightConditionValue.value)i.parametersValues.push(e.rightConditionValue.value);else if(e.rightConditionValue&&e.rightConditionValue instanceof iPi){const t=gPi(e.rightConditionValue.propertyExpressionState.propertyExpression,e.propertyExpressionState.queryBuilderState,n??e.filterState.lambdaParameterName);i.parametersValues.push(t)}return i},EWi=(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],Kw,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new rPi(e,i),o=t}else if(lS(t.functionName,bpt.EXISTS)){const i=js(t.parametersValues[1],Qw),a=js(i.values[0],Zw),l=js(a.expressionSequence[0],Yw);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],Kw,`Can't process ${sS(n)}() expression: expects property expression in lambda body`);s=new rPi(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 Kw?s.setRightConditionValue(new iPi(s,new mMi(e.queryBuilderState,t))):s.setRightConditionValue(new nPi(s,Xpt(t,s.filterState.queryBuilderState.observerContext))),i.isCompatibleWithFilterConditionValue(s)||s.setRightConditionValue(new nPi(s,i.getDefaultFilterConditionValue(s))),s}};class xWi extends SWi{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 NS&&t.values.length>0}isCompatibleWithFilterConditionValue(e){return Wpt(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 oMi(e.filterState.queryBuilderState.graphManagerState.graph,t,e.filterState.queryBuilderState.observerContext,e.filterState.queryBuilderState.INTERNAL__enableInitializingDefaultSimpleExpressionValue)}buildFilterConditionExpression(e,t){return wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_DAY:bpt.EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_EQUAL])}}class TWi extends xWi{getLabel(){return"is not"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_EQUAL])}}class AWi extends SWi{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 NS}isCompatibleWithFilterConditionValue(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType,n=e.rightConditionValue;if(n instanceof nPi){const i=n.value;if(i instanceof Vw){if(0===i.values.length)return!0;const n=Vpt(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 Mw)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 Vw(nS.ONE,vS.create(new wS(t)))}buildFilterConditionExpression(e,t){return wWi(e,bpt.IN,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.IN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IN])}}class RWi extends AWi{getLabel(){return"is not in list of"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_IN])}}class NWi extends SWi{getLabel(){return"is empty"}isCompatibleWithFilterConditionProperty(e){const t=e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!!zpt(e.propertyExpressionState.propertyExpression)&&(t instanceof NS||t instanceof gS)}isCompatibleWithFilterConditionValue(e){return void 0===e.rightConditionValue}getDefaultFilterConditionValue(e){}buildFilterConditionExpression(e,t){return wWi(e,bpt.IS_EMPTY,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.IS_EMPTY,this,!0)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IS_EMPTY])}}class IWi extends NWi{getLabel(){return"is not empty"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_IS_NOT_EMPTY])}}const DWi=e=>{try{return yWi(e,{language:"mysql"})}catch{try{return yWi(e)}catch{return e}}},kWi=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},OWi=new xWi,LWi=new TWi,MWi=new AWi,PWi=new RWi,FWi=new NWi,BWi=new IWi,VWi=new QPi,UWi=new YPi,GWi=new XPi,HWi=new ZPi,zWi=new JPi,WWi=new KPi,jWi=(e,t,n)=>{t.value&&Lpt(e,e instanceof Bw?BS.create(Gs((e.genericType?.ownerReference.value).values.filter(e=>e.name===t.value)[0])):t.value,0,n.observerContext)},$Wi=(e,t,n,i,r,s)=>{s.filterState.setShowPanel(!0);const o=((e,t)=>e?null===t.value?FWi:OWi:null===t.value?BWi:LWi)(t,n),a=((e,t,n)=>Array.from(n.nodes.values()).filter(zs(dPi)).filter(n=>n.condition.propertyExpressionState.path===t?.path&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[FWi,BWi]:t?[OWi,MWi]:[LWi,PWi],r,s.filterState);if(a)((e,t,n,i,r,s)=>{if(i===FWi||i===BWi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?FWi:BWi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof nPi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof Pw&&(a.value instanceof Bw?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);jWi(i,n,s),o.changeOperator(t?MWi:PWi),Mpt(a.value,[e,i],s.observerContext)}}else{const e=a.value instanceof Pw&&a.value.values.filter(e=>e instanceof Pw).map(e=>e instanceof Bw?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?OWi:LWi).getDefaultFilterConditionValue(o);jWi(e,n,s),Mpt(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 rPi(i,r,t);const e=s.operator.getDefaultFilterConditionValue(s);s.buildRightConditionValueFromValueSpec(e),jWi(e,n,i.queryBuilderState),i.addNodeFromNode(new dPi(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)}},qWi=async(e,t,n,i,r,s)=>{s.setShowPostFilterPanel(!0);const o=((e,t)=>e?null===t.value?GWi:VWi:null===t.value?HWi:zWi)(t,n),a=((e,t,n,i)=>Array.from(n.nodes.values()).filter(zs(GPi)).filter(e=>e.condition.leftConditionValue instanceof bMi).filter(n=>n.condition.leftConditionValue.columnName===(t??i?.columnName)&&e.map(e=>e.getLabel()).includes(n.condition.operator.getLabel()))[0])(null===n.value?[GWi,HWi]:t?[VWi,UWi]:[zWi,WWi],n.columnName,s.postFilterState,r);if(a)((e,t,n,i,r,s)=>{if(i===GWi||i===HWi){const n=e.condition;return void(n.operator.getLabel()!==i.getLabel()&&n.changeOperator(t?GWi:HWi))}const o=e.condition,a=o.rightConditionValue;if(a instanceof WPi)if(o.operator.getLabel()===i.getLabel()){if(!(a.value instanceof Pw&&(a.value instanceof Bw?a.value.values.map(e=>e.value.name):a.value.values).includes(n.value))){const e=a.value,i=o.operator.getDefaultFilterConditionValue(o);jWi(i,n,s.queryBuilderState),o.changeOperator(t?UWi:WWi),Mpt(a.value,[e,i],s.queryBuilderState.observerContext)}}else{const e=a.value instanceof Pw&&a.value.values.filter(e=>e instanceof Pw).map(e=>e instanceof Bw?e.values.map(e=>e.value.name):e.values).flat().includes(n.value??r?.value);if(!e){const e=(t?VWi:zWi).getDefaultFilterConditionValue(o);jWi(e,n,s.queryBuilderState),Mpt(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 $Pi(i.postFilterState,e,t),r instanceof SMi&&await r.fetchDerivationLambdaReturnType();const o=s.operator.getDefaultFilterConditionValue(s);s.buildFromValueSpec(o),jWi(o,n,i.queryBuilderState),i.postFilterState.addNodeFromNode(new GPi(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)}},YWi=async(e,t,n,i,r)=>{const s=i?.columnName||n.columnName?GMi(r,n.columnName):void 0;s instanceof SMi||s instanceof EMi||s instanceof _Mi&&ePi(s.propertyExpressionState.propertyExpression)?await qWi(e,t,n,i,s,r):s instanceof _Mi?$Wi(e,t,n,i,s.propertyExpressionState,r.queryBuilderState):e.notificationService.notifyError(`Can't filter column '${i?.columnName?i.columnName:n.columnName}'`)},KWi=async(e,t,n,i)=>{for(const r of i.queryBuilderState.resultState.selectedCells)await YWi(e,n,r,t,i)},XWi=xoe(n.forwardRef(function(e,t){const{data:n,tdsState:i,copyCellValueFunc:r,copyCellRowValueFunc:s}=e,o=fut(),a=n?.columnName?GMi(i,n.columnName):void 0;return Lie.jsxs(CFe,{ref:t,children:[Lie.jsx(SFe,{disabled:!a,onClick:()=>{KWi(o,n,!0,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter By"}),Lie.jsx(SFe,{disabled:!a,onClick:()=>{KWi(o,n,!1,i).catch(i.queryBuilderState.applicationStore.alertUnhandledError)},children:"Filter Out"}),Lie.jsx(wFe,{}),Lie.jsx(SFe,{onClick:r,children:"Copy Cell Value"}),Lie.jsx(SFe,{onClick:s,children:"Copy Row Value"})]})})),ZWi=xoe(e=>{const{query:t,resultColumns:n,executionPlanState:i}=e,r=i.applicationStore;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"query-builder__sql__container",children:[Lie.jsx(UFe,{}),Lie.jsxs("div",{children:[Lie.jsx("div",{className:"query-builder__sql__container__item__label",children:Lie.jsxs(BFe,{children:["SQL",Lie.jsx("div",{children:Lie.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:Lie.jsx(Kre,{})})})]})}),Lie.jsx("div",{className:"query-builder__sql__container__code-editor",children:Lie.jsx(PVi,{inputValue:DWi(t.replaceAll("$","changeDollar").replaceAll("?","changeQuestion").replaceAll("{","changeOpenCurlyBracket").replaceAll("}","changeCloseCurlyBracket").replaceAll("'","changeSingleQuote")).replaceAll("changeDollar","$").replaceAll("changeQuestion","?").replaceAll("changeOpenCurlyBracket","{").replaceAll("changeCloseCurlyBracket","}").replaceAll("changeSingleQuote","'"),language:FIn.SQL})}),Lie.jsx(UFe,{})]},t)]}),n.length>0&&Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__sql__container__item__label",children:"Result Columns"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__sql__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Label"}),Lie.jsx("th",{className:"table__cell--left",children:"Data Type"})]})}),Lie.jsx("tbody",{children:n.map(e=>Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.label.replaceAll('"',"")}),e.dataType&&Lie.jsx("td",{className:"table__cell--left",children:sY(e.dataType)})]},e.label))})]})]})})]})}),QWi=xoe(e=>{const{query:t,resultColumns:n,resultType:i,executionPlanState:r,viewJson:s}=e,o=r.applicationStore;return!1===s?Lie.jsx(ZWi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}):Lie.jsxs(FFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(ZWi,{query:t,resultColumns:n,resultType:i,executionPlanState:r}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),JWi=e=>function(t){const n=e.darkMode?"packageable-element-option-label--dark":"packageable-element-option-label";return Lie.jsxs("div",{className:n,children:[Lie.jsx("div",{className:`${n}__name`,children:t.label}),t.value.package&&Lie.jsx("div",{className:`${n}__tag`,children:t.value.path}),Lie.jsx("div",{className:`${n}__tag`,children:t.value.contentType})]})},eji=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 nE?(l=t.tree.property.value,c=l.genericType.value.rawType,d=t.tree.subType?.value):t.tree instanceof tE&&(c=t.tree.class.value);const u=Boolean(t.childrenIds.length)?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{}),h=c?tBi(c):Lie.jsx(Txe,{}),p=()=>r?.(t);return Lie.jsxs("div",{className:"tree-view__node__container query-builder-graph-fetch-tree__node__container",style:{paddingLeft:(n-1)*(i??2)+"rem",display:"flex"},children:[Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__node__content",children:[Lie.jsxs("div",{className:"tree-view__node__icon query-builder-graph-fetch-tree__node__icon",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-tree__expand-icon",onClick:p,children:u}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__type-icon",onClick:p,children:h})]}),Lie.jsxs("div",{className:"tree-view__node__label query-builder-graph-fetch-tree__node__label",onClick:p,children:[t.label,d&&Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type",children:Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__sub-type__label",children:d.name})}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type",children:Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__type__label",children:c?.name})})]})]}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__node__actions",children:Lie.jsx("button",{className:"query-builder-graph-fetch-tree__node__action",title:"Remove",tabIndex:-1,onClick:()=>a?.(t),disabled:o,children:Lie.jsx(Ise,{})})})]})},tji=xoe(e=>{const{pureSerializationState:t,graphFetchState:n,config:i}=e,r=n.queryBuilderState.applicationStore,s=!t.config;return Lie.jsx(ebe,{open:t.configModal,onClose:()=>t.setConfigModal(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-builder-graph-fetch-config",children:[Lie.jsx(gFe,{title:""+(s?"Add Serialization Config":"Edit Serialization Config")}),Lie.jsx(fFe,{className:"query-builder-graph-fetch-config__content",children:Lie.jsx(kFe,{children:Lie.jsxs(VFe,{children:[Lie.jsx(zFe,{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}),Lie.jsx(zFe,{name:"Date Time Format",value:i.dateTimeFormat,isReadOnly:!1,update:e=>i.setDateTimeFormat(""===e?void 0:e)}),Lie.jsx(jFe,{name:"Include Type",value:i.includeType,isReadOnly:!1,update:e=>i.setIncludeType(Boolean(e))}),Lie.jsx(jFe,{name:"Include Enum Type",value:i.includeEnumType,isReadOnly:!1,update:e=>i.setInclueEnumType(Boolean(e))}),Lie.jsx(jFe,{name:"Remove Properties With Null Values",value:i.removePropertiesWithNullValues,isReadOnly:!1,update:e=>i.setRemovePropertiesWithNullValues(Boolean(e))}),Lie.jsx(jFe,{name:"Remove properties with empty sets",value:i.removePropertiesWithEmptySets,isReadOnly:!1,update:e=>i.setRemovePropertiesWithEmptySets(Boolean(e))}),Lie.jsx(jFe,{name:"Use Fully Qualified Type Path",value:i.fullyQualifiedTypePath,isReadOnly:!1,update:e=>i.setFullyQualifiedTypePath(Boolean(e))}),Lie.jsx(jFe,{name:"Include Object Reference",value:i.includeObjectReference,isReadOnly:!1,update:e=>i.setIncludeObjectReference(Boolean(e))})]})})}),Lie.jsxs(vFe,{children:[!s&&Lie.jsx(bFe,{className:"btn--caution",text:"Remove Config",onClick:()=>{t.setConfig(void 0),t.setConfigModal(!1),n.queryBuilderState.applicationStore.notificationService.notifySuccess("Serialization config removed")}}),Lie.jsx(bFe,{className:"modal__footer__close-btn",onClick:()=>{s&&t.setConfig(i),t.setConfigModal(!1)},type:s?"primary":"secondary",children:s?"Add Config":"Close"})]})]})})}),nji=xoe(e=>{const{graphFetchState:t,serializationState:n,serializationTreeData:i,bindings:r,isReadOnly:s}=e,o=r.map(e=>QFi(e)),a={value:n.targetBinding,label:n.targetBinding.name},l=t.queryBuilderState.applicationStore;return Lie.jsx("div",{className:"query-builder-graph-fetch-external-format",children:Lie.jsxs("div",{className:"service-execution-editor__configuration__items",children:[Lie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Lie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Lie.jsx(Lre,{})}),Lie.jsx(cFe,{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:JWi({darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled}),darkMode:!l.layoutService.TEMPORARY__isLightColorThemeEnabled})]}),Lie.jsxs("div",{className:"service-execution-editor__configuration__item",children:[Lie.jsx("div",{className:"btn--sm service-execution-editor__configuration__item__label",children:Lie.jsx(ase,{})}),Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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"):(mVi(i,e),n.setGraphFetchTree({...i}))}}})]})]})})}),iji=xoe(e=>{const{graphFetchState:t,serializationState:n,treeData:i,updateTreeData:r,isReadOnly:s}=e,o=t.queryBuilderState.graphManagerState.usableStores.filter(zs(pX)).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=>[...ax(e)]).flat())));var n,i}).flat().concat(n.filter(e=>!(e instanceof xS))).includes(i.tree.class.value)});return Lie.jsxs("div",{className:"query-builder-graph-fetch-tree",children:[Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__toolbar",children:[Lie.jsx("div",{className:"query-builder__fetch__structure__modes",children:Object.values(yVi).map(e=>{return Lie.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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>{switch(r){case yVi.EXTERNAL_FORMAT:if(o.length>0&&o[0]){const e=new EVi(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 yVi.PURE:default:t.setSerializationState(new wVi(t))}})},{label:"Cancel",type:Qut.PROCEED,default:!0}]})}),className:Noe("query-builder__fetch__structure__mode",{"query-builder__fetch__structure__mode--selected":e===n.getLabel()}),children:qv(e)},e);var r})}),Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__actions",children:[n instanceof wVi&&Lie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action",children:Lie.jsxs("button",{className:"query-builder-graph-fetch-tree__actions__action-btn__label",onClick:()=>{n instanceof wVi&&n.setConfigModal(!0)},title:""+(n.config?"Edit pure serialization config":"Add pure serialization config"),tabIndex:-1,children:[Lie.jsx(vre,{className:"query-builder-graph-fetch-tree__actions__action-btn__label__icon"}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__actions__action-btn__label__title",children:n.config?"Edit Config":"Add Config"})]})}),Lie.jsxs("div",{className:Noe("panel__content__form__section__toggler"),onClick:()=>t.setChecked(!t.isChecked),children:[Lie.jsx("button",{className:Noe("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t.isChecked}),children:t.isChecked?Lie.jsx(zre,{}):Lie.jsx(Rse,{})}),Lie.jsx("div",{className:"panel__content__form__section__toggler__prompt",children:"Check graph fetch"}),Lie.jsx("div",{className:"query-builder-graph-fetch-tree__toolbar__hint-icon",children:Lie.jsx(hse,{title:"With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure"})})]})]})]}),Lie.jsxs("div",{className:"query-builder-graph-fetch-tree__container",children:[n instanceof wVi&&n.configModal&&Lie.jsx(tji,{pureSerializationState:n,graphFetchState:t,config:n.config??CVi.createDefault()}),Lie.jsxs(pGe,{orientation:"horizontal",children:[Lie.jsx(gGe,{children:Lie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Graph Fetch Tree"})}),Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__item",children:Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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=>{mVi(i,e),0===i.nodes.size&&t.setSerializationState(new wVi(t)),n instanceof EVi&&n.treeData?.nodes.get(e.id)&&(mVi(n.treeData,Gs(n.treeData.nodes.get(e.id))),r({...n.treeData})),r({...i})}}})})})]})}),Lie.jsx(mGe,{}),n instanceof EVi&&n.treeData&&Lie.jsx(gGe,{children:Lie.jsxs("div",{className:"query-builder-graph-fetch-external-format__config-group",children:[Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__header__title",children:"Externalize"})}),Lie.jsx("div",{className:"query-builder-graph-fetch-external-format__config-group__content",children:Lie.jsx("div",{className:"query-builder-graph-fetch-external-format_config-group__item",children:Lie.jsx(nji,{graphFetchState:t,serializationState:n,serializationTreeData:n.treeData,bindings:o,isReadOnly:!1})})})]})})]})]})]})}),rji=xoe(e=>{const{graphFetchTreeState:t,serializationState:i}=e,r=t.treeData,s=n.useCallback(e=>{t.addProperty(e.node,{refreshTreeData:!0}),i instanceof EVi&&i.addProperty(On(e.node),{refreshTreeData:!0})},[t,i]),[{isDragOver:o},a]=zVe(()=>({accept:[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],drop:(e,t)=>{t.didDrop()||s(e)},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[s]);return n.useEffect(()=>{hpt.logEvent_RenderGraphFetchPanel(t.queryBuilderState.applicationStore.telemetryService,{serializationType:i.getLabel()})},[t.queryBuilderState.applicationStore,i]),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_GRAPH_FETCH,className:"panel__content",children:Lie.jsxs(pUe,{isDragOver:o,dropTargetConnector:a,contentClassName:"query-builder-graph-fetch-panel",children:[(!r||hVi(r))&&Lie.jsx(KFe,{text:"Add a graph fetch property",tooltipText:"Drag and drop properties here"}),r&&!hVi(r)&&Lie.jsx(iji,{graphFetchState:t,serializationState:i,treeData:r,isReadOnly:!1,updateTreeData:e=>{t.setGraphFetchTree(e)}})]})})}),sji=xoe(e=>{const{graphFetchTreeState:t}=e,n=t.serializationState;return n instanceof wVi||n instanceof EVi?Lie.jsx(rji,{graphFetchTreeState:t,serializationState:n}):Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_GRAPH_FETCH,children:Lie.jsx(qFe,{children:Lie.jsxs("div",{className:"unsupported-element-editor__main",children:[Lie.jsx("div",{className:"unsupported-element-editor__summary",children:"Unsupported Graph Fetch Serialization Type"}),Lie.jsx("button",{className:"btn--dark unsupported-element-editor__to-text-mode__btn",onClick:()=>t.queryBuilderState.textEditorState.openModal(NVi.TEXT),children:"Edit in text mode"})]})})})}),oji=xoe(e=>{const{storeMappingNode:t,executionPlanState:n}=e;let i;try{t.graphFetchTree instanceof tE?i=uVi(js(t.graphFetchTree,tE),!0):t.graphFetchTree instanceof nE&&(i=(e=>{const t=[],n=new Map,i=cVi(e,void 0,n);Co(t,i.id),n.set(i.id,i);const r=new tE(XC.create(new ES("root")));return r.subTrees.push(e),{rootIds:t,nodes:n,tree:r}})(t.graphFetchTree))}catch{}const r=n.applicationStore;return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Store Mapping Global Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.enableConstraints&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"EnableConstraints"}),Lie.jsx("td",{className:"table__cell--left",children:t.enableConstraints.toString()})]}),void 0!==t.checked&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Checked"}),Lie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.store&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Store"}),Lie.jsx("td",{className:"table__cell--left",children:t.store})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"LocalTreeIndices"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.localTreeIndices.toString()}]`})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"DependencyIndices"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.dependencyIndices.toString()}]`})]})]})]}),Lie.jsx(UFe,{}),i&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Graph Fetch Tree"}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__content",children:Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__config-group__item",children:Lie.jsx(FOe,{components:{TreeNodeContainer:eji},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}})})}),Lie.jsx(UFe,{})]}),t.xStorePropertyFetchDetails&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__xstore",children:"xStorePropertyFetchDetails"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" propertyPath "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.propertyPath})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" sourceMappingId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceMappingId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" sourceSetId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.sourceSetId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" subTree "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.subTree})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" supportsCaching "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.supportsCaching.toString()})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" targetMappingId "}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetMappingId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" targetSetId"}),Lie.jsx("td",{className:"table__cell--left",children:t.xStorePropertyFetchDetails.targetSetId})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"targetPropertiesOrdered"}),Lie.jsx("td",{className:"table__cell--left",children:`[${t.xStorePropertyFetchDetails.targetPropertiesOrdered.toString()}]`})]})]})]})]}),t.resultType instanceof F2&&Lie.jsx(OVi,{resultType:t.resultType}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__btn",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})})}),aji=xoe(e=>{const{functionParameters:t,resultType:i,executionPlanState:r}=e,s=r.applicationStore;return Lie.jsxs(FFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__function-parameters-validation__container__item__label",children:"Variables Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__function-parameters-validation__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Name"}),Lie.jsx("th",{className:"table__cell--left",children:"Type"})]})}),Lie.jsx("tbody",{children:t.map(e=>{return Lie.jsx(n.Fragment,{children:Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:e.name}),Lie.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})})]})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__function-parameters-validation__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>r.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),lji=xoe(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 Lie.jsxs(FFe,{darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[""!==r&&Lie.jsx("div",{className:"query-builder__constant__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__constant__container__item__label",children:"Constant Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx("pre",{children:Lie.jsx("div",{className:"query-builder__constant__container__item",children:Lie.jsxs("div",{children:["value: ",r]})})})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__constant__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),cji=xoe(e=>{const{node:t,executionPlanState:n}=e,i=t.varName,r=t.resultType,s=t.realizeInMemory?.toString(),o=n.applicationStore;return Lie.jsxs(FFe,{darkMode:!o.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx("div",{className:"query-builder__allocation__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__allocation__container__item__label",children:"Allocation Node Details"}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__allocation__container__item",children:Lie.jsx("table",{className:"query-builder__allocation__container__table",children:Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{children:"varName"}),Lie.jsx("td",{children:`: ${i}`})]}),Lie.jsxs("tr",{children:[Lie.jsx("td",{children:"realizeInMemory"}),Lie.jsx("td",{children:`: ${s}`})]})]})})})]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:r}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof U1&&Lie.jsx(lji,{cnode:t.executionNodes[0],executionPlanState:n}),Lie.jsx(UFe,{})]})}),dji=xoe(e=>{const{node:t,executionPlanState:i,viewJson:r}=e,s=t.resultType,[o,a]=n.useState(void 0),l=r?Lie.jsx("div",{}):o?Lie.jsx(Vse,{}):Lie.jsx(Gse,{});return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__sequence__container",children:Lie.jsxs("div",{children:[Lie.jsx(BFe,{className:"query-builder__sequence__container__item__label",children:"Execution Nodes"}),Lie.jsx(UFe,{}),t.executionNodes.map((e,t)=>Lie.jsx("div",{className:"query-builder__sequence__container__item",children:Lie.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 Iji?i.transformMetadataToProtocolJson(t.executionPlan):t instanceof Dji&&i.transformMetadataToProtocolJson(t.executionNode),t&&i.setSelectedNode(t))})(e),tabIndex:-1,title:`Go to ${Sji(e)}`,children:[!r&&l,`${t+1}: ${Sji(e)}`]})},e._UUID))]})}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:s}),!1===r&&o&&Lie.jsx(Tji,{executionNode:o,executionPlanState:i,viewJson:!1})]})}),uji=xoe(e=>{const{node:t,executionPlanState:n,viewJson:i}=e,r=n.applicationStore;return!1===i?Lie.jsx(dji,{node:t,executionPlanState:n,viewJson:i}):Lie.jsxs(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(dji,{node:t,executionPlanState:n,viewJson:i}),Lie.jsx("div",{className:"query-builder__execution__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),hji=xoe(e=>{const{node:t,executionPlanState:n}=e,i=t.resultType,r=n.applicationStore;return Lie.jsxs(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[t.executionNodes.length>0&&void 0!==t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:n}),Lie.jsx(UFe,{}),Lie.jsx(LVi,{resultType:i}),Lie.jsx("div",{className:"query-builder__sql__container",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),text:"View JSON"})}),Lie.jsx(UFe,{})]})}),pji=xoe(e=>{const{node:t,executionPlanState:n}=e;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__implementation__container__header",children:"Implementation"}),t.implementation instanceof g2&&t.implementation.executionClassFullName&&Lie.jsx("div",{className:"query-builder__implementation__container__item",children:Lie.jsx("button",{onClick:()=>{n.setSelectedNode(n.treeData?.nodes.get("Execution Plan")),n.transformMetadataToProtocolJson(js(n.plan,S5,"Execution plan is undefined")),n.globalImplementationSupportState.setSelectedTab(Mji.GLOBAL_IMPLEMENTATION_SUPPORT),t.implementation instanceof g2&&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 gji;!function(e){e.RESULT_SET="resultSet",e.TEMP_FILE="tempFile",e.SUB_QUERY="subQuery"}(gji||(gji={}));const mji=xoe(e=>{const{tempTableStrategy:t,executionPlanState:n}=e;let i="";return t instanceof Y2?i=gji.RESULT_SET:t instanceof J2&&(i=gji.TEMP_FILE),t instanceof Z2&&(i=gji.SUB_QUERY),Lie.jsxs("div",{className:"query-builder__temp-table-strategy__container",children:[i&&Lie.jsxs(BFe,{className:"query-builder__temp-table-strategy__container__item",children:["Type: ",i]}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Create Temp Table (${Sji(t.createTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.createTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Load Temp Table (${Sji(t.loadTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.loadTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{}),Lie.jsx(BFe,{className:"query-builder__temp-table-strategy__container__header",children:`Drop Temp Table (${Sji(t.dropTempTableNode)})`}),Lie.jsx(Tji,{executionNode:t.dropTempTableNode,executionPlanState:n,viewJson:!1}),Lie.jsx(UFe,{})]})});var fji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(fji||(fji={}));const vji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(fji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(fji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===fji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Root Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.batchSize&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Batch Size"}),Lie.jsx("td",{className:"table__cell--left",children:t.batchSize})]}),t.checked&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"Checked"}),Lie.jsx("td",{className:"table__cell--left",children:t.checked.toString()})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===fji.TEMP_TABLE&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var yji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE="TEMP_TABLE_STRATEGY"}(yji||(yji={}));const bji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(yji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(yji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===yji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Class Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===yji.TEMP_TABLE&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i})]})})})});var _ji;!function(e){e.GENERAL="GENERAL",e.TEMP_TABLE_STRATEGY="TEMP_TABLE_STRATEGY",e.PARENT_TEMP_TABLE_STRATEGY="PARENT_TEMP_TABLE_STRATEGY"}(_ji||(_ji={}));const Cji=xoe(e=>{const{node:t,executionPlanState:i}=e,r=i.applicationStore,[s,o]=n.useState(_ji.GENERAL);return Lie.jsx(FFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,children:Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(_ji).map(e=>Lie.jsx("div",{onClick:()=>o(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===s}),children:qv(e)},e))})}),s===_ji.GENERAL&&Lie.jsxs("div",{className:"query-builder__store-mapping-global-graph-fetch__container",children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label",children:"Relational Cross Root Query Temp Table Graph Fetch Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsxs("table",{className:"query-builder__store-mapping-global-graph-fetch__container__table table",children:[Lie.jsx("thead",{children:Lie.jsxs("tr",{children:[Lie.jsx("th",{className:"table__cell--left",children:"Property"}),Lie.jsx("th",{className:"table__cell--left",children:"Details"})]})}),Lie.jsxs("tbody",{children:[Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:" NodeIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.nodeIndex})]}),void 0!==t.parentIndex&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"ParentIndex"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentIndex})]}),void 0!==t.authDependent&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"AuthDependent"}),Lie.jsx("td",{className:"table__cell--left",children:t.authDependent.toString()})]}),void 0!==t.processedTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedTempTableName})]}),t.tempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"tempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.tempTableName})]}),void 0!==t.processedParentTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"processedParentTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.processedParentTempTableName})]}),t.parentTempTableName&&Lie.jsxs("tr",{children:[Lie.jsx("td",{className:"table__cell--left",children:"parentTempTableName"}),Lie.jsx("td",{className:"table__cell--left",children:t.parentTempTableName})]})]})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__implementation",children:Lie.jsx(pji,{node:t,executionPlanState:i})}),Lie.jsx(UFe,{}),t.executionNodes.length>0&&t.executionNodes[0]&&t.executionNodes[0]instanceof qq&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(BFe,{className:"query-builder__store-mapping-global-graph-fetch__container__label2",children:"Execution Node Details"}),Lie.jsx(UFe,{}),Lie.jsx(ZWi,{query:t.executionNodes[0].sqlQuery,resultColumns:t.executionNodes[0].resultColumns,resultType:t.executionNodes[0].resultType,executionPlanState:i})]}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(LVi,{resultType:t.resultType})}),Lie.jsx(UFe,{}),Lie.jsx("div",{className:"query-builder__store-mapping-global-graph-fetch__container__result",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>i.setViewMode(Lji.JSON),text:"View JSON"})})]}),s===_ji.TEMP_TABLE_STRATEGY&&t.tempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.tempTableStrategy,executionPlanState:i}),s===_ji.PARENT_TEMP_TABLE_STRATEGY&&t.parentTempTableStrategy&&Lie.jsx(mji,{tempTableStrategy:t.parentTempTableStrategy,executionPlanState:i})]})})})}),Sji=e=>e instanceof qq?"SQL Execution Node":e instanceof Xq?"Relational TDS Instantiation Execution Node":e instanceof P1?"Function Parameters Validation Node":e instanceof V1?`Allocation Execution Node (${e.varName})`:e instanceof U1?"Constant Execution Node":e instanceof G1?"Sequence Execution Node":e instanceof _2?"Store Mapping Global Graph Fetch Execution Node":e instanceof I2?"Relational Root Query TempTable Graph Fetch Execution Node":e instanceof t4?"Relational Cross Root Query TempTable Graph Fetch Execution Node":e instanceof x2?"Relational Class Query TempTable Graph Fetch Execution Node":e instanceof k2?"Pure Expression Platform Execution Node":"Other",wji=xoe(e=>{const{executionPlanState:t}=e,n=t.plan?.globalImplementationSupport,i=t.plan?.processingTemplateFunctions??[],r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return n&&n instanceof g2&&(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}`)),Lie.jsx("div",{className:"query-builder__execution-plan-form--editor",children:Lie.jsxs("div",{className:"panel",children:[Lie.jsx("div",{className:"panel__header query-builder__execution-plan-form--editor__header--with-tabs",children:Lie.jsx("div",{className:"uml-element-editor__tabs",children:Object.values(Mji).map(e=>Lie.jsx("div",{onClick:()=>t.globalImplementationSupportState.setSelectedTab(e),className:Noe("query-builder__execution-plan-form--editor__tab",{"query-builder__execution-plan-form--editor__tab--active":e===t.globalImplementationSupportState.selectedTab}),children:qv(e)},e))})}),t.globalImplementationSupportState.selectedTab===Mji.GLOBAL_IMPLEMENTATION_SUPPORT&&n&&n instanceof g2&&Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{minSize:30,size:400,children:Lie.jsx(FFe,{darkMode:r,className:"query-builder__java__container__panel",children:Lie.jsx("div",{className:"query-builder__java__container",children:Lie.jsxs("div",{children:[n.classes.map(e=>Lie.jsx("div",{className:Noe("query-builder__java__container__item",{"query-builder__java__container__item--active":`${e.package}.${e.name}`===t.globalImplementationSupportState.selectedJavaClass}),children:Lie.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)),Lie.jsx(UFe,{})]})})})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:"var(--color-dark-grey-200)"})}),Lie.jsx(gGe,{children:t.globalImplementationSupportState.selectedJavaClass&&Lie.jsx(PVi,{inputValue:n.classes.reduce((e,n)=>t.globalImplementationSupportState.selectedJavaClass===`${n.package}.${n.name}`?n.source:e,""),isReadOnly:!0,language:FIn.JAVA,hideMinimap:!0})})]}),t.globalImplementationSupportState.selectedTab===Mji.GENERAL&&i.length>0&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__template--function--editor__header",children:`AuthDependent: ${t.plan?.authDependent.toString()}`}),Lie.jsx("div",{className:"query-builder__template--function--editor__title",children:"Template Functions"}),Lie.jsx("div",{className:"query-builder__template--function--editor__code",children:Lie.jsx(PVi,{inputValue:i.reduce((e,t)=>`${e}${t}\n`,""),isReadOnly:!0,language:FIn.XML,hideMinimap:!0,hideActionBar:!0})}),Lie.jsx("div",{className:"query-builder__template--function--editor__json",children:Lie.jsx(HSe,{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>t.setViewMode(Lji.JSON),text:"View JSON"})})]})]})})}),Eji=xoe(e=>{const{node:t,level:n,stepPaddingInRem:i,onNodeSelect:r}=e,s=Boolean(t.childrenIds?.length)?t.isOpen?Lie.jsx(Vse,{}):Lie.jsx(Gse,{}):Lie.jsx("div",{});let o="",a="";return t instanceof Dji&&("Store Mapping Global Graph Fetch Execution Node"===t.parentNodeId&&(t.executionNode instanceof _2?o="Cross":t.executionNode instanceof S2&&(o="Local")),a=(e=>{if(e instanceof _2||e instanceof S2){if(e.graphFetchTree instanceof tE)return e.graphFetchTree.class.value.name;if(e.graphFetchTree instanceof nE)return e.graphFetchTree.property.value.name}return""})(t.executionNode)),Lie.jsxs("div",{className:Noe("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:[Lie.jsx("div",{className:"tree-view__node__icon",children:Lie.jsx("div",{className:"tree-view__node__expand-icon",children:s})}),""!==o&&Lie.jsx("div",{className:"execution-plan-viewer__node__sub-type",children:Lie.jsx("div",{className:"execution-plan-viewer__node__sub-type__label",children:o})}),""!==a&&Lie.jsx("div",{className:"execution-plan-viewer__node__type",children:Lie.jsx("div",{className:"execution-plan-viewer__node__type__label",children:a})}),Lie.jsx("button",{className:"tree-view__node__label execution-plan-viewer__explorer-tree__node__label",tabIndex:-1,title:t.id,children:t.label})]})}),xji=xoe(e=>{const{executionPlanState:t}=e,n=e=>{if(e.childrenIds?.length)if(e.setIsOpen(!e.isOpen),e instanceof Iji){const n=e.executionPlan.rootExecutionNode,i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)}else if(e instanceof Dji){if(e.executionNode.executionNodes.length>0&&e.executionNode.executionNodes.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)}),e.executionNode instanceof _2){const n=e.executionNode.localGraphFetchExecutionNode,i=kji(n,Sji(n),e);t.setTreeNode(i.id,i),e.executionNode.children.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)})}e.executionNode instanceof w2&&e.executionNode.children.forEach(n=>{const i=kji(n,Sji(n),e);t.setTreeNode(i.id,i)})}t.refreshTreeData()};return Lie.jsx(FOe,{components:{TreeNodeContainer:Eji},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 Iji?t.transformMetadataToProtocolJson(e.executionPlan):e instanceof Dji&&t.transformMetadataToProtocolJson(e.executionNode),!0===e.isOpen&&!1===e.isSelected||n(e),t.setSelectedNode(e)},innerProps:{onNodeExpand:n}})}),Tji=xoe(e=>{const{executionNode:t,executionPlanState:n,viewJson:i}=e;return t instanceof qq?Lie.jsx(QWi,{query:t.sqlQuery,resultColumns:t.resultColumns,resultType:t.resultType,executionPlanState:n,viewJson:i}):t instanceof Xq?Lie.jsx(hji,{node:t,executionPlanState:n}):t instanceof P1?Lie.jsx(aji,{functionParameters:t.functionParameters,parameterValidationContext:t.parameterValidationContext,executionPlanState:n,resultType:t.resultType}):t instanceof V1?Lie.jsx(cji,{node:t,executionPlanState:n}):t instanceof U1?Lie.jsx(lji,{cnode:t,executionPlanState:n}):t instanceof G1?Lie.jsx(uji,{node:t,executionPlanState:n,viewJson:i}):t instanceof _2?Lie.jsx(oji,{storeMappingNode:t,executionPlanState:n}):t instanceof t4?Lie.jsx(Cji,{node:t,executionPlanState:n}):t instanceof I2?Lie.jsx(vji,{node:t,executionPlanState:n}):t instanceof x2?Lie.jsx(bji,{node:t,executionPlanState:n}):Lie.jsx(qFe,{children:Lie.jsxs("div",{className:"execution-node-viewer__unsupported-view",children:[Lie.jsx("div",{className:"execution-node-viewer__unsupported-view__summary",children:"Can't display execution node"}),Lie.jsx("button",{className:"btn--dark execution-node-viewer__unsupported-view__to-text-mode__btn",onClick:()=>n.setViewMode(Lji.JSON),children:"View JSON"})]})})}),Aji=xoe(e=>{const{displayData:t,executionPlanState:i}=e;let r;void 0!==i.selectedNode&&(i.selectedNode instanceof Iji?r=i.selectedNode.executionPlan:i.selectedNode instanceof Dji&&(r=i.selectedNode.executionNode)),n.useEffect(()=>{if(void 0===i.selectedNode){const e=i.treeData?.nodes.get("Execution Plan");e instanceof Iji&&(i.transformMetadataToProtocolJson(e.executionPlan),i.setSelectedNode(e))}},[i]);const s=Object.values(Lji);return Lie.jsx("div",{className:"execution-plan-viewer__panel",children:void 0!==i.selectedNode&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs("div",{className:"panel__header execution-plan-viewer__panel__header",children:[Lie.jsx("div",{className:"execution-plan-viewer__panel__header__tabs",children:Lie.jsx("button",{className:"execution-plan-viewer__panel__header__tab execution-plan-viewer__panel__header__tab--active",children:i.selectedNode.label})}),Lie.jsx(AFe,{className:"execution-plan-viewer__panel__view-mode__type",title:"View as...",content:Lie.jsx(CFe,{className:"execution-plan-viewer__panel__view-mode__options execution-plan-viewer__panel__view-mode__options--with-group",children:Lie.jsxs("div",{className:"execution-plan-viewer__panel__view-mode__option__group execution-plan-viewer__panel__view-mode__option__group--native",children:[Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__name",children:"native"}),Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__option__group__options",children:s.map(e=>Lie.jsx(SFe,{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:Lie.jsx("div",{className:"execution-plan-viewer__panel__view-mode__type__label",children:i.viewMode})})]}),Lie.jsxs("div",{className:"panel__content execution-plan-viewer__panel__content",children:[i.viewMode===Lji.JSON&&Boolean(t)&&Lie.jsx(PVi,{inputValue:t,isReadOnly:!0,language:FIn.JSON,hideMinimap:!0}),i.viewMode===Lji.FORM&&Lie.jsxs(Lie.Fragment,{children:[r instanceof $q&&Lie.jsx(Tji,{executionNode:r,executionPlanState:i,viewJson:!0}),r instanceof S5&&Lie.jsx(wji,{executionPlanState:i})]})]})]})})}),Rji=xoe(e=>{const{executionPlanState:t,rawPlan:n}=e,i=t.plan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return Lie.jsx("div",{className:"execution-plan-viewer__content",children:i?Lie.jsxs(pGe,{orientation:"vertical",children:[Lie.jsx(gGe,{size:300,minSize:300,children:Lie.jsxs("div",{className:"panel execution-plan-viewer__explorer",children:[Lie.jsx(LFe,{darkMode:r,title:"execution plan explorer"}),Lie.jsx("div",{className:"panel__content execution-plan-viewer__explorer__content__container",children:Lie.jsx(xji,{executionPlanState:t,executionPlan:i})})]})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Lie.jsx(gGe,{children:Lie.jsx(Aji,{displayData:t.displayData,executionPlanState:t})})]}):Lie.jsx(PVi,{inputValue:JSON.stringify(n,void 0,2),isReadOnly:!0,language:FIn.JSON})})}),Nji=xoe(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(Mji.GENERAL),t.globalImplementationSupportState.setSelectedJavaClass(void 0)},i=t.rawPlan,r=!t.applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;return i?Lie.jsx(ebe,{open:Boolean(t.rawPlan),onClose:n,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{className:"editor-modal",darkMode:r,children:[Lie.jsx(gFe,{title:"Execution Plan"}),Lie.jsx(fFe,{children:t.debugText?Lie.jsxs(pGe,{orientation:"horizontal",children:[Lie.jsx(gGe,{minSize:100,children:Lie.jsx(Rji,{executionPlanState:t,rawPlan:i})}),Lie.jsx(mGe,{children:Lie.jsx(fGe,{color:r?"var(--color-dark-grey-200)":"var(--color-legacylight-light-grey-300)"})}),Lie.jsx(gGe,{size:200,minSize:28,children:Lie.jsxs(kFe,{className:"panel execution-plan-viewer__debug-panel",children:[Lie.jsx(OFe,{title:"DEBUG LOG",keepTitleFormat:!0,darkMode:r}),Lie.jsx(FFe,{children:Lie.jsx(PVi,{inputValue:t.debugText,isReadOnly:!0,language:FIn.TEXT})})]})})]}):Lie.jsx(Rji,{executionPlanState:t,rawPlan:i})}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:n,text:"Close",type:"secondary"})})]})}):null});class Iji{id;label;isSelected;isOpen;childrenIds;executionPlan;constructor(e,t,n){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionPlan=n}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}class Dji{id;label;isSelected;isOpen;childrenIds;executionNode;parentNodeId;constructor(e,t,n,i){Hh(this,{isSelected:ru,isOpen:ru,setIsSelected:hh,setIsOpen:hh}),this.id=e,this.label=t,this.executionNode=n,this.parentNodeId=i}setIsSelected(e){this.isSelected=e}setIsOpen(e){this.isOpen=e}}const kji=(e,t,n)=>{const i=new Dji(e._UUID,t,e,n instanceof Dji?Sji(n.executionNode):void 0),r=[];return e.executionNodes.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)}),e instanceof _2&&(Co(r,e.localGraphFetchExecutionNode._UUID),e.children.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)})),e instanceof w2&&e.children.slice().filter(zs($q)).forEach(e=>{Co(r,e._UUID)}),i.childrenIds=r,i},Oji=e=>{const t=[],n=new Map,i=(e=>{const t=new Iji("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 Lji,Mji;!function(e){e.FORM="Form",e.JSON="JSON"}(Lji||(Lji={})),function(e){e.GENERAL="GENERAL",e.GLOBAL_IMPLEMENTATION_SUPPORT="GLOBAL_IMPLEMENTATION_SUPPORT"}(Mji||(Mji={}));class Pji{selectedTab=Mji.GENERAL;selectedJavaClass=void 0;constructor(){Hh(this,{selectedTab:ru,selectedJavaClass:ru,setSelectedTab:hh,setSelectedJavaClass:hh})}setSelectedTab(e){this.selectedTab=e}setSelectedJavaClass(e){this.selectedJavaClass=e}}class Fji{applicationStore;graphManagerState;displayDataJson={};displayData="";selectedNode=void 0;viewMode=Lji.FORM;treeData;rawPlan;plan;debugText;globalImplementationSupportState=new Pji;constructor(e,t){Hh(this,{displayData:ru,displayDataJson:ru,viewMode:ru,rawPlan:ru,plan:ru,debugText:ru,treeData:ru,setExecutionPlanDisplayData:hh,setExecutionPlanDisplayDataJson:hh,transformMetadataToProtocolJson:hh,setSelectedNode:hh,setRawPlan:hh,setPlan:hh,setViewMode:hh,setDebugText:hh,setTreeNode:hh,setTreeData:hh,refreshTreeData:hh,nonNullableTreeData:lu,initialize:hh,globalImplementationSupportState:ru}),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(Oji(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 S5){const t=this.graphManagerState.graphManager.serializeExecutionPlan(e);this.setExecutionPlanDisplayDataJson(t)}else if(e instanceof $q){const t=this.graphManagerState.graphManager.serializeExecutionNode(e);this.setExecutionPlanDisplayDataJson(t)}}}const Bji=e=>Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_GRID_CUSTOM_HEADER,className:"query-builder__result__values__table__custom-header",children:[Lie.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:Lie.jsx(pre,{})}),Lie.jsx("div",{children:e.displayName})]}),Vji=(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:Bji}}:{};default:return{}}}return{}},Uji=xoe(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)&&ag(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 RZ)return t.executionResult.result.columns[e]},g=n=>{const i=n[0],r=n[1];if(t.executionResult&&t.executionResult instanceof RZ)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 Lie.jsx(TFe,{content:(()=>{if(i instanceof HFi){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 RZ))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 Lie.jsx(XWi,{data:t.mousedOverCell,tdsState:i,copyCellValueFunc:n,copyCellRowValueFunc:o})}return null})(),disabled:!(t.queryBuilderState.fetchStructureState.implementation instanceof HFi&&t.queryBuilderState.isQuerySupported&&t.mousedOverCell),menuProps:{elevation:7},className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!a,"ag-theme-balham-dark":a}),children:Lie.jsx("div",{className:Noe("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?Lie.jsx("a",{href:l,target:"_blank",rel:"noreferrer",children:l}):Lie.jsx("span",{children:Zs(s)?Intl.NumberFormat(BFi,{maximumFractionDigits:4}).format(Number(s)):Qs(s)?String(s):s})})})}),Gji=xoe(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,...Vji(t,e),cellRenderer:Uji,cellRendererParams:{resultState:i,tdsExecutionResult:t}}));return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Lie.jsx("div",{className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!r,"ag-theme-balham-dark":r}),children:Lie.jsx(CWi,{rowData:kWi(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 Hji;!function(e){e.wavg="wavg",e.WAVG="WAVG"}(Hji||(Hji={}));const zji=(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"]}}},Wji=xoe(e=>{const t=e.resultState,n=e.value,i=Xs(n)&&ag(n)?n:void 0;return Lie.jsx("div",{className:Noe("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?Lie.jsx("a",{href:i,target:"_blank",rel:"noreferrer",children:i}):Lie.jsx("span",{children:Zs(n)?Intl.NumberFormat(BFi,{maximumFractionDigits:4}).format(Number(n)):Qs(n)?String(n):n})})}),jji=(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}}},$ji=xoe(e=>{const{executionResult:t,queryBuilderState:i}=e,r=fut(),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:Wji,cellRendererParams:{resultState:t,tdsExecutionResult:e},...zji(e,n),...Vji(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:Wji,cellRendererParams:{resultState:t,tdsExecutionResult:e},...jji(e,n),...Vji(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 HFi&&(t=[{name:"Filter By",action:()=>{KWi(r,d.mousedOverCell,!0,n).catch(i.applicationStore.alertUnhandledError)}},{name:"Filter Out",action:()=>{KWi(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),Hji.WAVG)},[d.wavgAggregationState,l]),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_RESULT_VALUES_TDS,className:"query-builder__result__values__table",children:Lie.jsxs("div",{className:Noe("query-builder__result__tds-grid",{"ag-theme-balham":!s,"ag-theme-balham-dark":s}),children:[u?Lie.jsx(CWi,{rowData:kWi(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 Kji),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}):Lie.jsx(CWi,{rowData:kWi(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&&Lie.jsx(ebe,{open:d.wavgAggregationState.isApplyingWavg,onClose:()=>d.wavgAggregationState?.setIsApplyingWavg(!1),classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!r.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"query-editor__blocking-alert",children:[Lie.jsx(gFe,{title:"Applying Weighted Average"}),Lie.jsxs(fFe,{children:[Lie.jsx("div",{className:"query-builder__result__tds-grid__text",children:"choose a weighted column from dropdown"}),Lie.jsx(cFe,{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})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:()=>{d.wavgAggregationState?.setIsApplyingWavg(!1)},text:"Apply"})})]})})]})})});var qji;!function(e){e.CLASS_LINEAGE="CLASS_LINEAGE",e.DATABASE_LINEAGE="DATABASE_LINEAGE",e.REPORT_LINEAGE="REPORT_LINEAGE",e.PROPERTY_LINEAGE="PROPERTY_LINEAGE"}(qji||(qji={}));class Yji{applicationStore;selectedTab=qji.DATABASE_LINEAGE;lineageData=void 0;isLineageViewerOpen=!1;selectedPropertyOwnerNode=void 0;selectedProperty=void 0;selectedSourcePropertiesMap=void 0;constructor(e){Hh(this,{selectedTab:ru,lineageData:ru,isLineageViewerOpen:ru,selectedPropertyOwnerNode:ru,selectedProperty:ru,selectedSourcePropertiesMap:ru,setSelectedTab:hh,setLineageData:hh,setIsLineageViewerOpen:hh,setSelectedPropertyOwnerNode:hh,setSelectedProperty:hh,setSelectedSourcePropertiesMap:hh,clearPropertySelections:hh}),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 Kji{isApplyingWavg=!1;weightedColumnIdPairs;constructor(){Hh(this,{isApplyingWavg:ru,weightedColumnIdPairs:ru,setIsApplyingWavg:hh,addWeightedColumnIdPair:hh,removeWeightedColumnIdPair:hh}),this.weightedColumnIdPairs=new Map}setIsApplyingWavg(e){this.isApplyingWavg=e}addWeightedColumnIdPair(e,t){this.weightedColumnIdPairs.set(e,t)}removeWeightedColumnIdPair(e){this.weightedColumnIdPairs.delete(e)}}class Xji{queryBuilderState;executionPlanState;exportState=h_.create();previewLimit=1e3;pressedRunQuery=h_.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){Hh(this,{executionResult:ru,executionTraceId:ru,previewLimit:ru,executionDuration:ru,latestRunHashCode:ru,queryRunPromise:ru,isGeneratingPlan:ru,selectedCells:ru,mousedOverCell:ru,isRunningQuery:ru,isSelectingCells:ru,isQueryUsageViewerOpened:ru,isExecutionResultOverflowing:ru,gridConfig:ru,wavgAggregationState:ru,executionError:ru,setGridConfig:hh,setWavgAggregationState:hh,setIsSelectingCells:hh,setIsRunningQuery:hh,setExecutionResult:hh,setExecutionTraceId:hh,setExecutionDuration:hh,setPreviewLimit:hh,addSelectedCell:hh,setSelectedCells:hh,setMouseOverCell:hh,setQueryRunPromise:hh,setIsQueryUsageViewerOpened:hh,setIsExecutionResultOverflowing:hh,handlePreConfiguredGridConfig:hh,updatePreviewLimitInConfig:hh,setExecutionError:hh,exportData:Nh,runQuery:Nh,cancelQuery:Nh,generatePlan:Nh,generateLineage:Nh}),this.isSelectingCells=!1,this.selectedCells=[],this.gridConfig=void 0,this.queryBuilderState=e,this.executionPlanState=new Fji(this.queryBuilderState.applicationStore,this.queryBuilderState.graphManagerState),this.lineageState=new Yji(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 HFi&&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 RZ&&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===Hji.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 Kji,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=DPi(this.queryBuilderState,{isBuildingExecutionQuery:!0,useTypedRelationFunctions:this.queryBuilderState.isFetchStructureTyped,...e});t=t8(n,this.queryBuilderState.graphManagerState)}else if(t=Gs(this.queryBuilderState.unsupportedQueryState.rawLambda,"Lambda is required to execute query"),!this.queryBuilderState.isParameterSupportDisabled)return SPi(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});hpt.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:CPi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState),floatingExecutionElements:this.queryBuilderState.floatingExecutionElements},void 0,n);if("true"===s.headers.get(QQ))return void(200===s.status?this.exportState.pass():this.exportState.fail());const o=a3(this.queryBuilderState.graphManagerState.graph);ept(s,`result.${Zp(n)}`,t.contentType).then(()=>{const e=Object.assign({},o,this.queryBuilderState.getStateInfo());hpt.logEvent_ExportQueryDataSucceeded(this.queryBuilderState.applicationStore.telemetryService,e),this.exportState.pass()}).catch(e=>{Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.EXECUTION_FAILURE),e)})}catch(e){this.exportState.fail(),Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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=CPi(this.queryBuilderState.parametersState.parameterStates,this.queryBuilderState.graphManagerState);hpt.logEvent_QueryRunLaunched(this.queryBuilderState.applicationStore.telemetryService);const r=new p_,s=a3(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,floatingExecutionElements:this.queryBuilderState.floatingExecutionElements}),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());hpt.logEvent_QueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,e)}}catch(t){this.queryRunPromise===e&&(Kr(t),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.EXECUTION_FAILURE),t),this.setExecutionError(t),t instanceof SQ&&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(y_.create(sE.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 p_,r=a3(this.queryBuilderState.graphManagerState.graph),s=this.queryBuilderState.executionContextState;if(e){hpt.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 hpt.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(rpt.BUILD_EXECUTION_PLAN__SUCCESS),r.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(i,r.timings);const o=Object.assign({},r,this.queryBuilderState.getStateInfo());e?hpt.logEvent_ExecutionPlanDebugSucceeded(this.queryBuilderState.applicationStore.telemetryService,o):hpt.logEvent_ExecutionPlanGenerationSucceeded(this.queryBuilderState.applicationStore.telemetryService,o)}catch(e){Kr(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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(y_.create(sE.LINEAGE_GENERATION_FAILURE),e),this.queryBuilderState.applicationStore.notificationService.notifyError(e)}finally{this.isGeneratingLineage=!1}}}class Zji{queryBuilderState;rawLambda;lambdaError;constructor(e){Hh(this,{rawLambda:ru,lambdaError:ru,setRawLambda:hh,setLambdaError:hh,hashCode:lu}),this.queryBuilderState=e}setRawLambda(e){this.rawLambda=e}setLambdaError(e){this.lambdaError=e}get hashCode(){return $y([Zpt.UNSUPPORTED_QUERY_STATE,this.rawLambda??""])}}const Qji="QUERY_BUILDER_FUNCTION",Jji=(e,t)=>t===xC.PROJECT_DEPENDENCY_ROOT?e.functionsExplorerState.dependencyDisplayablePackagesSet:e.functionsExplorerState.displayablePackagesSet,e$i=(e,t,n)=>({id:t.path,label:t.name,childrenIds:t.children.filter(e=>!(e instanceof MS)).filter(t=>t instanceof xS&&Jji(e,n).has(t)).map(e=>e.path).concat(e.functionsExplorerState.packagePathToFunctionInfoMap?.get(t.path)?.map(e=>e.functionPath)??[]),package:t}),t$i=e=>({id:e.functionPath,label:e.name,childrenIds:[],functionAnalysisInfo:e}),n$i=(e,t,n,i=xC.MAIN)=>{const r=i===xC.MAIN?e.functionsExplorerState.functionInfoMap:e.functionsExplorerState.dependencyFunctionInfoMap,s=Jji(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=>e$i(e,t,i)),c=o?.map(e=>r?.get(e)).filter(Vs).map(e=>t$i(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)})},i$i=(e,t,n=xC.MAIN)=>{const i=[],r=new Map,s=Jji(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=e$i(t,e,n);Co(i,s.id),r.set(s.id,s)})}),{rootIds:i,nodes:r}},r$i=(e,t,n,i=xC.MAIN)=>(n$i(e,t,n,i),t.childrenIds.map(e=>n.nodes.get(e)).filter(Vs).sort(dFe).sort((e,t)=>(t.package?1:0)-(e.package?1:0))),s$i=e=>e.package?(e instanceof xS?[e]:[]).concat([e.package].concat(s$i(e.package))):[];class o$i{uuid=ho();queryFunctionsState;functionAnalysisInfo;constructor(e,t){Hh(this,{functionAnalysisInfo:ru}),this.queryFunctionsState=e,this.functionAnalysisInfo=t}}class a$i{initState=h_.create();queryBuilderState;treeData;dependencyTreeData;_functionGraph;functionExplorerStates=[];dependencyFunctionExplorerStates=[];displayablePackagesSet=new Set;dependencyDisplayablePackagesSet=new Set;functionInfoMap;dependencyFunctionInfoMap;packagePathToFunctionInfoMap;constructor(e){Hh(this,{functionExplorerStates:ru.ref,setFunctionExplorerStates:hh,dependencyFunctionExplorerStates:ru.ref,setDependencyFunctionExplorerStates:hh,treeData:ru.ref,dependencyTreeData:ru.ref,_functionGraph:ru,functionInfoMap:ru,dependencyFunctionInfoMap:ru,packagePathToFunctionInfoMap:ru,setFunctionInfoMap:hh,setDependencyFunctionInfoMap:hh,setTreeData:hh,setPackagePathToFunctionInfoMap:hh,setDependencyTreeData:hh,refreshTree:hh,onTreeNodeSelect:hh,initializeTreeData:hh}),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=>ux(this._functionGraph,e.packagePath,void 0)).map(e=>s$i(e)).flat().forEach(e=>this.displayablePackagesSet.add(e))}async initializeDependencyDisplayablePackagesSet(){this.dependencyFunctionInfoMap&&Array.from(this.dependencyFunctionInfoMap.values()).map(e=>ux(this._functionGraph,e.packagePath,void 0)).map(e=>s$i(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,n$i(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(Mx(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;Mx(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(i$i([this._functionGraph.root],this.queryBuilderState,xC.MAIN)),this.setFunctionExplorerStates(this.functionInfoMap?Array.from(this.functionInfoMap.values()).map(e=>new o$i(this,e)):[])}),this.dependencyFunctionInfoMap&&this.initializeDependencyDisplayablePackagesSet().catch(()=>{}).finally(()=>{this.setDependencyTreeData(i$i([this._functionGraph.root],this.queryBuilderState,xC.PROJECT_DEPENDENCY_ROOT)),this.setDependencyFunctionExplorerStates(this.dependencyFunctionInfoMap?Array.from(this.dependencyFunctionInfoMap.values()).map(e=>new o$i(this,e)):[])}),this.initState.pass())}}class l$i extends xPi{queryBuilderState;selectedParameter;constructor(e){super(),Hh(this,{parameterValuesEditorState:ru,parameterStates:ru,addParameter:hh,removeParameter:hh,setParameters:hh,selectedParameter:ru,setSelectedParameter:hh,hashCode:_d}),this.queryBuilderState=e}get hashCode(){return $y([Zpt.PARAMETERS_STATE,$y(this.parameterStates)])}setSelectedParameter(e){this.selectedParameter=e}}class c$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_AFTER_DAY:bpt.GREATER_THAN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_GREATER_THAN])}}class d$i extends SWi{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 oMi(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 wWi(e,bpt.STARTS_WITH,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.STARTS_WITH,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_START_WITH])}}class u$i extends d$i{getLabel(){return"doesn't start with"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_START_WITH])}}class h$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_AFTER_DAY:bpt.GREATER_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_GREATER_THAN_EQUAL])}}class p$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_ON_OR_BEFORE_DAY:bpt.LESS_THAN_EQUAL,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_LESS_THAN_EQUAL])}}class g$i extends SWi{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 Wpt(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 oMi(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 wWi(e,e.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType.path===TC.DATETIME&&e.rightConditionValue?.type?.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,t)}buildFilterConditionState(e,t){return EWi(e,t,t.parametersValues[0].func.value.genericType.value.rawType.path===TC.DATETIME&&t.parametersValues[1]?.genericType?.value.rawType.path!==TC.DATETIME?bpt.IS_BEFORE_DAY:bpt.LESS_THAN,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_LESS_THAN])}}class m$i extends SWi{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 oMi(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 wWi(e,bpt.ENDS_WITH,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.ENDS_WITH,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_END_WITH])}}class f$i extends m$i{getLabel(){return"doesn't end with"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_END_WITH])}}class v$i extends SWi{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 oMi(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 wWi(e,bpt.CONTAINS,t)}buildFilterConditionState(e,t){return EWi(e,t,bpt.CONTAINS,this)}get hashCode(){return $y([Zpt.FILTER_OPERATOR_CONTAIN])}}class y$i extends v$i{getLabel(){return"doesn't contain"}buildFilterConditionExpression(e,t){return Hpt(super.buildFilterConditionExpression(e,t))}buildFilterConditionState(e,t){const n=Gpt(t);return n?super.buildFilterConditionState(e,n):void 0}get hashCode(){return $y([Zpt.FILTER_OPERATOR_NOT_CONTAIN])}}var b$i;!function(e){e.JSON="JSON",e.GRAMMAR="Grammar"}(b$i||(b$i={}));class _$i{changeDetectionState;initialQuery;currentQuery;mode=b$i.GRAMMAR;initialQueryGrammarText;currentQueryGrammarText;constructor(e,t,n){Hh(this,{mode:ru,initialQueryGrammarText:ru,currentQueryGrammarText:ru,setMode:hh,generateGrammarDiff:Nh}),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 C$i{querybuilderState;initState=h_.create();querySnapshot;hashCodeSnapshot;diffViewState;constructor(e){Hh(this,{diffViewState:ru,querySnapshot:ru,hashCodeSnapshot:ru,hasChanged:lu,initialize:hh,showDiffViewPanel:hh,hideDiffViewPanel:hh}),this.querybuilderState=e}showDiffViewPanel(){this.diffViewState=this.buildQueryBuilderDiffViewState()}buildQueryBuilderDiffViewState(){return Us(this.querySnapshot,"Can't show changes: change detection is not properly initialized"),new _$i(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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,handler:this.querybuilderState.applicationStore.guardUnhandledError(async()=>e())},{label:"Abort",type:Qut.PROCEED,default:!0}]}):e()}}const S$i=e=>e instanceof Mw?`${_C}${e.name}`:e instanceof Fw&&e.genericType.value.rawType===gS.STRICTDATE?e.values[0]:e instanceof Fw&&e.genericType.value.rawType===gS.LATESTDATE?"%latest":"(unknown)",w$i=(e,t)=>{const n=Dx(e,t.graphManagerState.graph);return Lie.jsx("div",{className:Noe("query-builder__setup__class-option-label",{"query-builder__setup__class-option-label--deprecated":n}),children:Lie.jsx("div",{className:"query-builder__setup__class-option-label__name",children:e.name})})},E$i=xoe(e=>{const{queryBuilderState:t,classes:n,onClassChange:i,noMatchMessage:r}=e,s=fut(),o=dPe({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:w$i(e,t)})),l=t.class?{value:t.class,label:w$i(t.class,t)}:null;return Lie.jsx("div",{className:"query-builder__setup__config-group query-builder__setup__config-group--class",children:Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"entity",htmlFor:"query-builder__setup__class-selector",children:"Entity"}),Lie.jsx(cFe,{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:eBi({darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),x$i=e=>({value:e,label:e instanceof qj?e.packageableRuntime.value.name:"custom"}),T$i=e=>function(t){if(t.value instanceof qj){const n=t.value;return eBi(e)(QFi(n.packageableRuntime.value))}return t.value instanceof qj?t.value.packageableRuntime.value.name:Lie.jsxs("div",{className:"query-builder__setup__runtime-option--custom",children:[Lie.jsx(qre,{}),Lie.jsx("div",{className:"query-builder__setup__runtime-option--custom__label",children:"custom"})]})},A$i=xoe(e=>{const{queryBuilderState:t}=e,n=fut(),i=t.graphManagerState.usableClasses,r=t.graphManagerState.usableMappings.map(QFi).sort(dFe),s=t.executionContextState.mapping?QFi(t.executionContextState.mapping):null,o=dPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value.path}),a=t.graphManagerState.usableRuntimes.map(e=>new qj(XC.create(e))).map(x$i).sort(dFe),l=t.executionContextState.runtimeValue?x$i(t.executionContextState.runtimeValue):null,c=dPe({ignoreCase:!0,ignoreAccents:!1,stringify:e=>e.data.value instanceof qj?e.data.value.packageableRuntime.value.path:"custom"});return Lie.jsxs("div",{className:"query-builder__setup__config-group",children:[Lie.jsx(OFe,{title:"properties"}),Lie.jsxs("div",{className:"query-builder__setup__config-group__content",children:[Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"mapping",htmlFor:"query-builder__setup__mapping-selector",children:"Mapping"}),Lie.jsx(cFe,{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:eBi({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Lie.jsxs("div",{className:"query-builder__setup__config-group__item",children:[Lie.jsx("label",{className:"btn--sm query-builder__setup__config-group__item__label",title:"runtime",htmlFor:"query-builder__setup__runtime-selector",children:"Runtime"}),Lie.jsx(cFe,{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:T$i({darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled})})]}),Lie.jsx("div",{className:"query-builder__setup__config-group__item",children:Lie.jsx(E$i,{queryBuilderState:t,classes:i})})]})]})}),R$i=xoe(e=>{const{queryBuilderState:t,children:n}=e,i=fut().pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraTemplateQueryPanelContentRenderer?.()??[]),r=i[0]?i[0](t):Lie.jsx(Lie.Fragment,{});return Lie.jsxs("div",{className:Noe("query-builder__side-bar",t.sideBarClassName),children:[Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_SETUP,className:"panel query-builder__setup",children:Lie.jsx("div",{className:"panel__content query-builder__setup__content",children:t.TEMPORARY__setupPanelContentRenderer?.()??Lie.jsx(A$i,{queryBuilderState:t})})}),Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_TEMPLATE_QUERY_PANE,className:"query-builder__template-query",children:r}),Lie.jsx("div",{className:"query-builder__side-bar__content",children:n})]})});class N$i{milestoningState;stereotype;constructor(e,t){this.milestoningState=e,this.stereotype=t}}class I$i extends N$i{getMilestoningDate(e){return 0===e?this.milestoningState.processingDate:this.milestoningState.businessDate}getMilestoningToolTipText(){return`Processing Date: ${S$i(this.getMilestoningDate(0))}, Business Date: ${S$i(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 Mw?this.milestoningState.businessDate.name:FC),this.milestoningState.buildParameterStateFromMilestoningParameter(this.milestoningState.processingDate&&this.milestoningState.processingDate instanceof Mw?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=nMi(bpt.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 Jw(()=>Gs(js(n,Kw).parametersValues[1]));let o;return e&&n&&!t?o=new Jw(()=>Gs(n.parametersValues[1])):(o=new Jw(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}{if(i===kC.BUSINESS_TEMPORAL&&1===s?.parameterValues.length)return new Jw(()=>Gs(js(s.propertyExpression.parametersValues[0],Kw).parametersValues[1]));let o;return e&&n&&!t?o=new Jw(()=>Gs(n.parametersValues[2])):(o=new Jw(()=>Gs(this.getMilestoningDate(r))),o.isPropagatedValue=!t&&e),o}}}class D$i extends N$i{getMilestoningDate(){return this.milestoningState.businessDate}getMilestoningToolTipText(){return`Business Date: ${S$i(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 Mw?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=nMi(bpt.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n,i){if(this.initializeMilestoningParameters(),e&&n&&!t)return i===kC.BUSINESS_TEMPORAL?new Jw(()=>Gs(n.parametersValues[1])):new Jw(()=>Gs(n.parametersValues[2]));{const n=new Jw(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class k$i extends N$i{getMilestoningDate(){return this.milestoningState.processingDate}getMilestoningToolTipText(){return`Processing Date: ${S$i(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 Mw?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=nMi(bpt.NOW,gS.DATETIME);e.parametersValues.push(t)}generateMilestoningDate(e,t,n){if(this.initializeMilestoningParameters(),e&&n&&!t)return new Jw(()=>Gs(n.parametersValues[1]));{const n=new Jw(()=>Gs(this.getMilestoningDate()));return n.isPropagatedValue=!t&&e,n}}}class O$i{milestoningImplementations=[];queryBuilderState;showMilestoningEditor=!1;businessDate;processingDate;startDate;endDate;constructor(e){Hh(this,{processingDate:ru,businessDate:ru,startDate:ru,endDate:ru,showMilestoningEditor:ru,setProcessingDate:hh,setBusinessDate:hh,setStartDate:hh,setEndDate:hh,setShowMilestoningEditor:hh,clearMilestoningDates:hh,setAllVersions:hh,setAllVersionsInRange:hh,initializeAllVersionsInRangeParameters:hh,clearAllVersionsInRangeParameters:hh,clearGetAllParameters:hh,isAllVersionsEnabled:lu,isAllVersionsInRangeEnabled:lu,isMilestonedQuery:lu,hashCode:lu}),this.queryBuilderState=e,this.milestoningImplementations.push(new D$i(this,kC.BUSINESS_TEMPORAL)),this.milestoningImplementations.push(new k$i(this,kC.PROCESSING_TEMPORAL)),this.milestoningImplementations.push(new I$i(this,kC.BITEMPORAL))}updateQueryBuilderState(){this.isAllVersionsEnabled&&(this.queryBuilderState.fetchStructureState.implementation instanceof HFi&&this.queryBuilderState.fetchStructureState.implementation.tdsColumns.forEach(e=>{e instanceof _Mi?e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)}):e instanceof EMi&&e.projectionColumnState instanceof _Mi&&e.projectionColumnState.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)})}),this.queryBuilderState.filterState.nodes.forEach(e=>{e instanceof dPi?e.condition.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)}):e instanceof lPi&&e.propertyExpressionState.derivedPropertyExpressionStates[0]&&this.queryBuilderState.class?._generatedMilestonedProperties.includes(e.propertyExpressionState.derivedPropertyExpressionStates[0].derivedProperty)&&e.propertyExpressionState.derivedPropertyExpressionStates[0]?.parameterValues.forEach(e=>{e instanceof Jw&&(e.isPropagatedValue=!1)})}))}get isMilestonedQuery(){return Boolean(this.businessDate??this.processingDate)||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isCurrentClassMilestoned(){const e=this.queryBuilderState.class;if(void 0!==e){return void 0!==fx(e,this.queryBuilderState.graphManagerState.graph)}return!1}get isCurrentClassSupportsVersionsInRange(){const e=this.queryBuilderState.class;if(void 0!==e){const t=fx(e,this.queryBuilderState.graphManagerState.graph);return void 0!==t&&t!==kC.BITEMPORAL}return!1}get isAllVersionsEnabled(){return this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS||this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isAllVersionsInRangeEnabled(){return this.queryBuilderState.getAllFunction===ypt.GET_ALL_VERSIONS_IN_RANGE}get isInvalidAllVersionsInRange(){return!!(this.startDate&&!this.endDate||!this.startDate&&this.endDate)}setAllVersionsInRange(e){e?(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS_IN_RANGE),this.initializeAllVersionsInRangeParameters()):(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS),this.clearAllVersionsInRangeParameters())}setAllVersions(e){e?(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL_VERSIONS),this.clearGetAllParameters()):(this.queryBuilderState.setGetAllFunction(ypt.GET_ALL),this.clearAllVersionsInRangeParameters(),this.updateMilestoningConfiguration()),this.updateQueryBuilderState()}setStartDate(e){this.startDate=e?une(e,this.queryBuilderState.observerContext):e}setEndDate(e){this.endDate=e?une(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?une(e,this.queryBuilderState.observerContext):e}setBusinessDate(e){this.businessDate=e?une(e,this.queryBuilderState.observerContext):e}initializeAllVersionsInRangeParameters(){this.setStartDate(this.buildMilestoningParameter(LC)),this.setEndDate(this.buildMilestoningParameter(MC))}clearGetAllParameters(){if(this.businessDate instanceof Mw&&!this.queryBuilderState.isVariableUsed(this.businessDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.businessDate,Mw).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setBusinessDate(void 0)}if(this.processingDate instanceof Mw&&!this.queryBuilderState.isVariableUsed(this.processingDate,{exculdeMilestoningState:!0})){const e=this.queryBuilderState.parametersState.parameterStates.find(e=>e.parameter.name===js(this.processingDate,Mw).name);e&&this.queryBuilderState.parametersState.removeParameter(e),this.setProcessingDate(void 0)}this.businessDate instanceof Fw&&this.setBusinessDate(void 0),this.processingDate instanceof Fw&&this.setProcessingDate(void 0)}clearAllVersionsInRangeParameters(){if(this.startDate instanceof Mw&&!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 Mw&&!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=fx(e,this.queryBuilderState.graphManagerState.graph);this.setBusinessDate(void 0),this.setProcessingDate(void 0),t&&this.initializeQueryMilestoningParameters(t)}}buildParameterStateFromMilestoningParameter(e){const t=new Mw(e,nS.ONE,vS.create(new wS(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 wPi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);return e.mockParameterValue(),e}}buildMilestoningParameter(e){const t=new Mw(e,nS.ONE,vS.create(new wS(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 wPi(t,this.queryBuilderState.observerContext,this.queryBuilderState.graphManagerState.graph);e.mockParameterValue(),this.queryBuilderState.parametersState.addParameter(e)}return t}updateMilestoningParameterValue(e,t){if(e instanceof Mw){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 Mw){const n=this.queryBuilderState.parametersState.parameterStates.find(t=>t.parameter.name===e.name);t=n?.value}return t}isVariableUsed(e){const t=!!this.businessDate&&Kpt(e,this.businessDate),n=!!this.processingDate&&Kpt(e,this.processingDate),i=!!this.startDate&&Kpt(e,this.startDate),r=!!this.endDate&&Kpt(e,this.endDate);return t||n||i||r}isMilestoningParameter(e){let t=!1;return this.businessDate instanceof Mw&&(t=e.name===js(this.businessDate,Mw).name),this.processingDate instanceof Mw&&(t=t||e.name===js(this.processingDate,Mw).name),this.startDate instanceof Mw&&(t=t||e.name===js(this.startDate,Mw).name),this.endDate instanceof Mw&&(t=t||e.name===js(this.endDate,Mw).name),t}get hashCode(){return $y([Zpt.MILESTONING_STATE,this.businessDate??"",this.processingDate??""])}}var L$i;!function(e){e.COMPILE="query-builder.compile"}(L$i||(L$i={}));const M$i={[L$i.COMPILE]:{title:"Query Builder: Compile query",defaultKeyboardShortcut:"F9"}};class P$i{queryBuilderState;value;constructor(e){Hh(this,{value:ru,setValue:hh,hashCode:lu}),this.queryBuilderState=e}getDefaultValue(){return new Fw(vS.create(new wS(gS.STRING)))}setValue(e){this.value=e?une(e,this.queryBuilderState.observerContext):void 0}isVariableUsed(e){return!!this.value&&Kpt(e,this.value)}get hashCode(){return $y([Zpt.WATERMARK_STATE,this.value??""])}}class F$i{queryBuilderState;uuid=ho();variable;constructor(e,t){this.queryBuilderState=e,this.variable=t}get hashCode(){return $y([Zpt.CONSTANT_EXPRESSION_STATE,this.variable.name])}buildLetExpression(){const e=new Fw(vS.create(new wS(gS.STRING)));e.values=[this.variable.name];const t=new Yw(sS(exports.SUPPORTED_FUNCTIONS.LET));return t.parametersValues=[e,this.buildLetAssignmentValue()],t}}class B$i extends F$i{value;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,value:ru,setValueSpec:hh,changeValSpecType:hh}),this.value=une(n,this.queryBuilderState.observerContext),une(t,this.queryBuilderState.observerContext)}changeValSpecType(e){const t=this.value.genericType?.value.rawType;if(t!==e)try{const t=oMi(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 Mw)throw new qr("Can not assign a parameter to another parameter");this.value=une(e,this.queryBuilderState.observerContext);const t=e.genericType?.value.rawType;t&&t!==this.variable.genericType?.value.rawType&&Apt(this.variable,vS.create(new wS(t)))}buildLetAssignmentValue(){return this.value}get hashCode(){return $y([Zpt.CONSTANT_EXPRESSION_STATE,this.variable.name,this.value])}}class V$i extends vMi{queryBuilderState;calculatedState;convertingLambdaToStringState=h_.create();constructor(e){super("",""),Hh(this,{calculatedState:ru,convertingLambdaToStringState:ru,buildEmptyValueSpec:ru}),this.calculatedState=e,this.queryBuilderState=e.queryBuilderState}buildEmptyValueSpec(){return this.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(aMi(this.queryBuilderState.graphManagerState,this.queryBuilderState.observerContext))}get lambdaId(){return Gte([apt.QUERY_BUILDER,apt.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 bQ&&this.setParserError(e),this.queryBuilderState.applicationStore.logService.error(y_.create(sE.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(y_.create(sE.PARSING_FAILURE),e)}}}class U$i extends F$i{value;lambdaState;constructor(e,t,n){super(e,t),Hh(this,{variable:ru,lambdaState:ru,value:ru,setLambdaState:hh,setValue:hh}),this.value=n,this.lambdaState=new V$i(this),une(t,this.queryBuilderState.observerContext)}setLambdaState(e){this.lambdaState=e}setValue(e){this.value=e}buildLetAssignmentValue(){return new Lw(this.value)}}class G$i{queryBuilderState;showConstantPanel=!1;constants=[];selectedConstant;constructor(e){this.queryBuilderState=e,Hh(this,{constants:ru,showConstantPanel:ru,selectedConstant:ru,addConstant:hh,removeConstant:hh,setShowConstantPanel:hh,setSelectedConstant:hh,convertToCalculated:hh})}get isEmpty(){return!this.constants.length}setShowConstantPanel(e){this.showConstantPanel=e}addConstant(e){Co(this.constants,e)}removeConstant(e){wo(this.constants,e)}setSelectedConstant(e){this.selectedConstant=e}isValueSpecConstant(e){return e instanceof Mw&&Boolean(this.constants.find(t=>t.variable.name===e.name))}convertToCalculated(e){try{const t=this.queryBuilderState.graphManagerState.graphManager.serializeValueSpecification(e.value),n=new U$i(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 $y([Zpt.CONSTANT_STATE,$y(this.constants)])}}var H$i;!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"}(H$i||(H$i={}));class z$i{uuid=ho();specification;entitlementReport;constructor(e){Hh(this,{entitlementReport:ru,setEntitlementReport:hh}),this.specification=e}setEntitlementReport(e){this.entitlementReport=e}}class W$i{applicationStore;graphManagerState;initialDatasets;mapping;runtime;graphData;getQuery;surveyDatasetsState=h_.create();checkEntitlementsState=h_.create();datasets=[];constructor(e,t,n){Hh(this,{datasets:ru,entitlementCheckInfo:lu,fetchDatasetSpecifications:Nh,fetchDatasetEntitlementReports:Nh}),this.applicationStore=e,this.graphManagerState=t,this.initialDatasets=n.initialDatasets,this.datasets=(n.initialDatasets??[]).map(e=>new z$i(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(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)}]};const t={total:e,data:[]},n=this.datasets.filter(e=>e.entitlementReport instanceof o0).length,i=Math.round(n/e*100);t.data.push({label:"Access Granted",count:n,percentage:i,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_GRANTED)});const r=this.datasets.filter(e=>e.entitlementReport instanceof c0).length,s=Math.round(r/e*100);t.data.push({label:"Access Approved",count:r,percentage:s,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_APPROVED)});const o=this.datasets.filter(e=>e.entitlementReport instanceof l0).length,a=Math.round(o/e*100);t.data.push({label:"Access Requested",count:o,percentage:a,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_REQUESTED)});const l=this.datasets.filter(e=>e.entitlementReport instanceof a0).length,c=Math.round(l/e*100);t.data.push({label:"Access Not Granted",count:l,percentage:c,color:this.applicationStore.layoutService.getColor(H$i.DATA_ACCESS_OVERVIEW__CHART__ACCESS_NOT_GRANTED)});const d=this.datasets.filter(e=>e.entitlementReport instanceof d0).length,u=Math.round(d/e*100);t.data.push({label:"Unsupported",count:d,percentage:u,color:this.applicationStore.layoutService.getColor(H$i.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(H$i.DATA_ACCESS_OVERVIEW__CHART__UNSUPPORTED_ACCESS)});let g=0;for(let e=0;e<t.data.length;++e){const n=yo(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 z$i(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 z$i(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 j$i{queryBuilderState;dataAccessState;showCheckEntitlementsViewer=!1;constructor(e){Hh(this,{showCheckEntitlementsViewer:ru,dataAccessState:ru,setShowCheckEntitlementsViewer:hh,hashCode:lu}),this.queryBuilderState=e}setShowCheckEntitlementsViewer(e){this.showCheckEntitlementsViewer=e,this.dataAccessState=void 0,this.queryBuilderState.executionContextState.mapping&&this.queryBuilderState.executionContextState.runtimeValue instanceof qj&&(this.dataAccessState=new W$i(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=yPi(n.graph,t),r=t8(i,n);if(Array.isArray(e.body)&&Array.isArray(r.body))return r.body=[...r.body,...e.body],r}return e}get hashCode(){return $y([Zpt.CHECK_ENTITLEMENTS_STATE,this.showCheckEntitlementsViewer])}}class $$i{queryBuilderState;initState=h_.create();querySnapshotBuffer=[];currentQuery;pointer=-1;bufferSize=10;constructor(e){Hh(this,{currentQuery:ru,pointer:ru,querySnapshotBuffer:ru,initialize:hh,undo:hh,redo:hh,setCurrentQuery:hh,cacheNewQuery:hh,canRedo:lu,canUndo:lu}),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(y_.create(rpt.CHANGE_HISTORY_ERROR),`Can't cache query in query builder change history buffer: ${e.message}`)}}}class q$i{static INSTANCE=new q$i}class Y$i{actionConfig=q$i.INSTANCE;updateActionConfig(e){this.actionConfig=e}}class K$i extends Y$i{get showStatusBar(){return!0}getFetchStructureLayoutConfig(e){return{label:"fetch structure",showInFetchPanel:!0}}static INSTANCE=new K$i}class X$i extends Y$i{get showStatusBar(){return!1}getFetchStructureLayoutConfig(e){return{label:e.fetchStructureState.implementation.fetchLabel,showInFetchPanel:!1}}static INSTANCE=new X$i}class Z$i extends Smt{mapping;runtime}class Q$i extends lvt{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 Z$i?{query:{mapping:e.mapping,runtime:e.runtime},sourceType:"queryBuilder"}:{}}async processSource(e){const t=this.getSourceFunctionExpression(),n=new Z$i;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 zI(await this.graphState.graphManager.pureCodeToValueSpecification(e,t),[])}async getValueSpecificationCode(e,t){return this.graphState.graphManager.valueSpecificationToPureCode(WI(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(yC)+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(WI(t,[]))+e;return this.getRelationType(await this.graphState.graphManager.pureCodeToLambda(i))}async executeQuery(e,t){const n=new p_,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,RZ,"Query returned expected to be of tabular data set");if(this.queryBuilderState){const e=a3(this.graphState.graph);e.timings=this.queryBuilderState.applicationStore.timeService.finalizeTimingsRecord(n,e.timings);const t=Object.assign({},e,this.queryBuilderState.getStateInfo());hpt.logEvent_EmbeddedDataCubeQueryRunSucceeded(this.queryBuilderState.applicationStore.telemetryService,t)}return{result:a,executedQuery:s,executedSQL:a.activities?.at(-1)instanceof yZ?a.activities.at(-1).sql:void 0,executionTime:o}}buildExecutionContext(e){if(e instanceof Z$i){return Boolean(e.mapping??e.runtime)?kmt(exports.DataCubeFunction.FROM,[e.mapping?Mmt(e.mapping):void 0,e.runtime?Mmt(e.runtime):void 0].filter(Vs)):void 0}}sendTelemetry(e,t){this.queryBuilderState?.applicationStore.telemetryService.logEvent(e,t)}buildRawLambdaFromValueSpec(e){const t=js(dD(WI(e,[])),xT);return new Dw(t.parameters,t.body)}getSourceFunctionExpression(){let e=zI(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery),[]);return e instanceof gA&&1===e.body.length&&e.body[0]&&(e=e.body[0]),e}async generateInitialSpecification(){const e=(await this.getRelationType(this.selectInitialQuery)).columns,t=new Cmt;return t.query=`~[${e.map(e=>`'${e.name}'`)}]->select()`,t}async getRelationType(e){return await this.graphState.graphManager.getLambdaRelationType(e,this.graphState.graph)}}class J$i{specification;engine;constructor(e,t){this.specification=e,this.engine=t}}var eqi;!function(e){e.STANDARD="STANDARD",e.TYPED_FETCH_STRUCTURE="TYPED_FETCH_STRUCTURE"}(eqi||(eqi={}));class tqi{applicationStore;graphManagerState;changeDetectionState;queryCompileState=h_.create();observerContext;config;workflowState;explorerState;functionsExplorerState;parametersState;constantState;milestoningState;fetchStructureState;filterState;watermarkState;checkEntitlementsState;filterOperators=(()=>[new xWi,new TWi,new g$i,new p$i,new c$i,new h$i,new d$i,new u$i,new v$i,new y$i,new m$i,new f$i,new AWi,new RWi,new NWi,new IWi])();resultState;textEditorState;unsupportedQueryState;changeHistoryState;isQueryChatOpened;showFunctionsExplorerPanel=!1;showParametersPanel=!1;isEditingWatermark=!1;isCheckingEntitlments=!1;isCalendarEnabled=!1;isLocalModeEnabled=!1;dataCubeViewerState;INTERNAL__enableInitializingDefaultSimpleExpressionValue=!1;lambdaWriteMode=eqi.STANDARD;class;getAllFunction=ypt.GET_ALL;executionContextState;internalizeState;queryChatState;sourceInfo;TEMPORARY__setupPanelContentRenderer;constructor(e,t,n,i,r){Hh(this,{explorerState:ru,parametersState:ru,constantState:ru,functionsExplorerState:ru,fetchStructureState:ru,filterState:ru,watermarkState:ru,milestoningState:ru,checkEntitlementsState:ru,resultState:ru,textEditorState:ru,unsupportedQueryState:ru,showFunctionsExplorerPanel:ru,showParametersPanel:ru,isEditingWatermark:ru,isCheckingEntitlments:ru,isCalendarEnabled:ru,changeDetectionState:ru,changeHistoryState:ru,executionContextState:ru,class:ru,queryChatState:ru,isQueryChatOpened:ru,isLocalModeEnabled:ru,dataCubeViewerState:ru,getAllFunction:ru,lambdaWriteMode:ru,INTERNAL__enableInitializingDefaultSimpleExpressionValue:ru,sideBarClassName:lu,isQuerySupported:lu,allValidationIssues:lu,canBuildQuery:lu,setShowFunctionsExplorerPanel:hh,setShowParametersPanel:hh,setIsEditingWatermark:hh,setIsCalendarEnabled:hh,setDataCubeViewerState:hh,openDataCubeEngine:hh,setIsCheckingEntitlments:hh,setClass:hh,setIsQueryChatOpened:hh,setIsLocalModeEnabled:hh,setGetAllFunction:hh,setLambdaWriteMode:hh,setINTERNAL__enableInitializingDefaultSimpleExpressionValue:hh,TEMPORARY_initializeExecContext:hh,resetQueryResult:hh,resetQueryContent:hh,changeClass:hh,changeMapping:hh,changeRuntime:hh,setExecutionContextState:hh,setQueryChatState:hh,rebuildWithQuery:hh,compileQuery:Nh,hashCode:lu}),this.applicationStore=e,this.graphManagerState=t,this.executionContextState=this.TEMPORARY_initializeExecContext(Boolean(i?.enableTypedTDS)),this.milestoningState=new O$i(this),this.explorerState=new GBi(this),this.parametersState=new l$i(this),this.constantState=new G$i(this),this.functionsExplorerState=new a$i(this),this.fetchStructureState=new AVi(this),this.filterState=new hPi(this,this.filterOperators),this.watermarkState=new P$i(this),this.checkEntitlementsState=new j$i(this),this.resultState=new Xji(this),this.textEditorState=new IVi(this),this.unsupportedQueryState=new Zji(this),this.observerContext=new Y6(this.graphManagerState.pluginManager.getPureGraphManagerPlugins()),this.changeDetectionState=new C$i(this),this.changeHistoryState=new $$i(this),this.config=i,this.workflowState=n,this.sourceInfo=r,this.isQueryChatOpened=(!this.config?.TEMPORARY__disableQueryBuilderChat&&this.applicationStore.settingService.getBooleanValue(MFi.SHOW_QUERY_CHAT_PANEL))??!1}TEMPORARY_initializeExecContext(e){if(e){const e=new APi(this);return this.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE),e}return new RPi(this)}get isMappingReadOnly(){return!1}get isRuntimeReadOnly(){return!1}get sideBarClassName(){}get isParameterSupportDisabled(){return!1}get isResultPanelHidden(){return!1}get floatingExecutionElements(){}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===eqi.TYPED_FETCH_STRUCTURE}get forceFromExpressionForExec(){return this.isFetchStructureTyped}setLambdaWriteMode(e){this.lambdaWriteMode=e}getQueryExecutionContext(){const e=new XZ,t=js(this.executionContextState.runtimeValue,qj,"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 qj?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(MFi.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{hpt.logEvent_EmbeddedDataCubeLaunched(this.applicationStore.telemetryService),this.setDataCubeViewerState(await(async e=>{const t=e.executionContextState.runtimeValue instanceof qj?e.executionContextState.runtimeValue.packageableRuntime.value.path:void 0;if(!t)return;const n=e.executionContextState.mapping?.path,i=e.lambdaWriteMode;e.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE);const r=CPi(e.parametersState.parameterStates,e.graphManagerState),s=e.buildQuery(),o=new Q$i(s,r,n,t,e.graphManagerState,e);e.setLambdaWriteMode(i);const a=await o.generateInitialSpecification();return new J$i(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:L$i.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(){[L$i.COMPILE].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}resetQueryResult(e){const t=new Xji(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 IVi(this),this.unsupportedQueryState=new Zji(this),this.milestoningState=new O$i(this);const e=this.explorerState.mappingModelCoverageAnalysisResult;this.explorerState=new GBi(this),e&&(this.explorerState.mappingModelCoverageAnalysisResult=e),this.explorerState.refreshTreeData(),this.constantState=new G$i(this),this.functionsExplorerState=new a$i(this),this.parametersState=new l$i(this),this.filterState=new hPi(this,this.filterOperators),this.watermarkState=new P$i(this),this.checkEntitlementsState=new j$i(this),this.isCalendarEnabled=!1;const t=this.fetchStructureState.implementation.type;this.fetchStructureState=new AVi(this),t!==this.fetchStructureState.implementation.type&&this.fetchStructureState.changeImplementation(t)}changeClass(e){this.resetQueryResult(),this.resetQueryContent(),this.setGetAllFunction(ypt.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(ypt.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 Dw(e,this.unsupportedQueryState.rawLambda?.body)),Gs(this.unsupportedQueryState.rawLambda)}return t8(DPi(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,qj).packageableRuntime,i=((e,t,n)=>{const i=Gs(e.expressionSequence[0]),r=new Yw(sS(exports.SUPPORTED_FUNCTIONS.FROM)),s=new Pw(nS.ONE,void 0);s.values=[XC.create(t)];const o=new Pw(nS.ONE,void 0);return o.values=[XC.create(n)],r.parametersValues=[i,s,o],e.expressionSequence=[r],e})(DPi(this),e,n.value);return t8(i,this.graphManagerState)}buildExecutionContextExpression(e){return((e,t)=>{if(e instanceof APi){const n=Gs(t.expressionSequence[0],"Can't build from() expression: preceding expression is not defined"),i=new Yw(sS(exports.SUPPORTED_FUNCTIONS.FROM)),r=e.mapping;let s;r&&(s=new Pw(nS.ONE,void 0),s.values=[XC.create(r)]);const o=e.runtimeValue;let a;o instanceof qj&&(a=new Pw(nS.ONE,void 0),a.values=[o.packageableRuntime]),i.parametersValues=[n,s,a].filter(Vs),t.expressionSequence[0]=i}return t})(this.executionContextState,e)}getQueryReturnType(){if(this.fetchStructureState.implementation instanceof HFi){return this.lambdaWriteMode===eqi.STANDARD?this.graphManagerState.graph.getClass(fpt.TDS_TABULAR_DATASET):this.graphManagerState.graph.getType(fpt.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(),!uj(e)){const t=une(this.graphManagerState.graphManager.buildValueSpecification(this.graphManagerState.graphManager.serializeRawValueSpecification(e),this.graphManagerState.graph),this.observerContext),i=js(t,Qw,"Can't build query state: query builder only support lambda");gqi(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(y_.create(rpt.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=>une(e,this.observerContext)).filter(zs(Mw));pqi(o,this,{parameterValues:n})}var i,r}*compileQuery(){if(this.textEditorState.mode){if(this.textEditorState.mode===NVi.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 _Q){this.applicationStore.logService.error(y_.create(sE.COMPILATION_FAILURE),e),this.applicationStore.notificationService.notifyWarning(`Compilation failed: ${e.message}`,e.trace);Ute(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(y_.create(sE.COMPILATION_FAILURE),e);let t=!0;e instanceof _Q&&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(NVi.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 h3(this.graphManagerState.graph)}INTERNAL__toBasicQueryBuilderState(){const e=new nqi(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 $y([Zpt.QUERY_BUILDER_STATE,this.unsupportedQueryState,this.milestoningState,this.parametersState,this.filterState,this.watermarkState,this.checkEntitlementsState,this.fetchStructureState.implementation])}}class nqi extends tqi{}class iqi{queryBuilderState;binding;inputData;constructor(e,t,n){this.queryBuilderState=n,this.binding=e,this.inputData=t}}const rqi=(e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.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],Yw,"Can't process serialize() expression: only support serialize() immediately following an expression");if(Ks(lS(i.functionName,[bpt.GRAPH_FETCH,bpt.GRAPH_FETCH_CHECKED]),"Can't process serialize() expression: only support serialize() in graph-fetch expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof xVi){const n=t.fetchStructureState.implementation,i=js(e.parametersValues[1],rE,"Can't process serialize() expression: serialize() graph-fetch is missing"),r=js(i.values[0],tE,"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(uVi(r));const s=e.parametersValues[2];if(s){const e=js(s,Yw,"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,wVi,"Can't process serialize() expression: serialization state expected to be of type pure with serialize()"),i=js(js(js(e.parametersValues[0],Pw,"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,ES,"Can't process serialize() expression: serialization config expects first param to be a class");Ks(i.path===fpt.SERIALIZE_CONFIG,`Can't process serialize() expression: serialiaztion config class expected to be '${fpt.SERIALIZE_CONFIG}', got : ${i.path}`);const r=js(e.parametersValues[2],Vw,"Can't process serialize() expression: serialization config expects third param to be a collection instance of key expressions"),o=new CVi;r.values.forEach((e,t)=>{const n=js(e,Gw,`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,Fw,`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=wx(n,s),l=js(a.genericType.value.rawType,gS,`Only primitive types suppported for config. Property ${s} for class '${fpt.SERIALIZE_CONFIG}' is of type '${a.genericType.value.rawType.path}'`),c=Gs(js(e.expression,Fw,"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)}}},sqi=(e,t,n)=>{const i=js(e.parametersValues[0],Yw,"Can't process project() expression: only support project() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER,bpt.WATERMARK]),"Can't process project() expression: only support project() immediately following either getAll(), filter(), or forWatermark()"),hqi.process(i,n,t)},oqi=(e,t,n)=>{if(2===e.parametersValues.length)((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(2===e.parametersValues.length,"Can't process project() expression: project() expects 2 arguments"),sqi(e,t,n);const i=e.parametersValues[1];i instanceof Vw?i.values.map(i=>hqi.processChild(i,e,n,t)):(Ws(i,Yw,"Can't process project() expression: project() expects argument #1 to be a function expression"),hqi.processChild(i,e,n,t))})(e,t,n);else{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(3===e.parametersValues.length,"Can't process project() expression: project() expects 3 arguments"),sqi(e,t,n);const i=e.parametersValues[1];Ws(i,Vw,"Can't process project() expression: project() expects argument #1 to be a collection"),i.values.map(i=>hqi.processChild(i,e,n,t));const r=e.parametersValues[2];let s=[];if(r instanceof Vw?(Ws(r,Vw,"Can't process project() expression: project() expects argument #2 to be a collection or a string"),s=r.values.map(Ypt).filter(Vs)):(Ws(r,Fw,"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 HFi){t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(s[t]))}}},aqi=(e,t,n)=>{if(n.fetchStructureState.implementation instanceof HFi){const i=n.fetchStructureState.implementation;let r=e;for(;r instanceof Kw;){const e=r;for(qpt(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 Yw&&lS(r.functionName,bpt.SUBTYPE);)r=Gs(r.parametersValues[0])}Ws(r,Mw,"Can't process property expression: expects expression root to be a variable");const s=new _Mi(i,e,!1);i.addColumn(s,{skipSorting:!0}),t&&s.setColumnName(t),s.setLambdaParameterName(r.name)}},lqi=(e,t,n,i)=>{if(i.fetchStructureState.implementation instanceof HFi){const r=i.fetchStructureState.implementation,s=Xr(()=>js(dD(e.content),xT));Us(s,`Can't process unknown value: only support ${n.functionName}() column expression as a lambda`);const o=new SMi(r,new Dw(s.parameters,s.body));r.addColumn(o,{skipSorting:!0}),t&&o.setColumnName(t)}},cqi=(e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process take() expression: take() expects 1 argument");const i=js(e.parametersValues[0],Yw,"Can't process take() expression: only support take() immediately following an expression");if(Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process take() expression: only support take() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=(e=>{if(e instanceof Fw&&Zs(e.values[0]))return e.values[0]})(Gs(e.parametersValues[1]));n.resultSetModifierState.setLimit(i)}},dqi=(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],Yw,"Can't process olapGroupBy() expression: only support olapGroupBy() immediately following an expression");Ks(lS(c.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process olapGroupBy() expression: only support olapGroupBy() in TDS expression"),hqi.process(c,n,t);const d=js(t.fetchStructureState.implementation,HFi);Ws(s,Vw,"Can't process olapGroupBy() expression: olapGroupBy() expects argument #1 to be a collection");const u=s.values.map(e=>{const t=io(js(e,Fw,"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 GMi(d,t)});let h,p;if(r){const e=js(o,Yw,"Can't process olapGroupBy sortBy expression: only support function expression of 'asc' or 'desc'"),t=(e=>{if(lS(e,bpt.TDS_ASC))return Cpt.ASC;if(lS(e,bpt.TDS_DESC))return Cpt.DESC;throw new Yr(`Unsupported TDS sort function: ${e}`)})(e.functionName),n=io(js(e.parametersValues[0],Fw,"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=GMi(d,n);h=new pFi(i,t)}if(a instanceof Yw){Ks(lS(a.functionName,[bpt.TDS_FUNC]),"Can't process olapGroupBy() operation expression: olapGroupBy() aggregation should contain function 'func'");const e=a.parametersValues,t=io(js(e[0],Fw,"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=GMi(d,t),i=js(js(e[1],Qw).values[0],Zw);Ks(1===i.expressionSequence.length);const r=js(i.expressionSequence[0],Yw),s=Gs(d.windowState.findOperator(r.functionName),`olapGroupBy() operator '${r.functionName}' not supported`);p=new fFi(d.windowState,s,n),p.setLambdaParameterName(js(i.functionType.parameters[0],Mw,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}else{const e=js(js(a,Qw).values[0],Zw);Ks(1===e.expressionSequence.length);const t=js(e.expressionSequence[0],Yw),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 mFi(d.windowState,n),p.setLambdaParameterName(js(e.functionType.parameters[0],Mw,"Can't process olapGroupBy() operation lambda: only support olapGroupBy() operation lambda with 1 parameter of type 'VariableExpression'").name)}const g=io(js(l,Fw,"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 vFi(d.windowState,u,h,p,g);d.windowState.addWindowColumn(m),d.setShowWindowFuncPanel(!0)},uqi=e=>!(e instanceof Yw)||!lS(e.functionName,bpt.FIRST_DAY_OF_YEAR)&&!lS(e.functionName,bpt.FIRST_DAY_OF_MONTH)&&!e.parametersValues.map(e=>uqi(e)).includes(!1);class hqi{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 hqi(n,t,void 0))}static processChild(e,t,n,i){e.accept_ValueSpecificationVisitor(new hqi(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,[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_AGG,...Object.values(vpt)]))throw new Yr(`Can't process unknown value with parent expression of function ${this.parentExpression.functionName}()`);lqi(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,ypt.GET_ALL))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAll() expression: getAll() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=fx(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,ypt.GET_ALL_VERSIONS))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAllVersions() expression: getAllVersions() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData(),Us(fx(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(ypt.GET_ALL_VERSIONS)})(e,this.queryBuilderState);else if(lS(t,ypt.GET_ALL_VERSIONS_IN_RANGE))((e,t)=>{const n=e.genericType?.value.rawType;Ws(n,ES,"Can't process getAllVersionsInRange() expression: getAllVersionsInRange() return type is missing"),t.setClass(n),t.milestoningState.clearMilestoningDates(),t.explorerState.refreshTreeData();const i=fx(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(ypt.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,bpt.INTERNALIZE))((e,t)=>{t.fetchStructureState.changeImplementation(BMi.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,ES,"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],Pw,"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,pX,"Can't process internalize() expression: only support internalize() with 1st parameter as binding value"),a=js(e.parametersValues[2],Mw),l=new iqi(o,a,t);t.setInternalize(l)})(e,this.queryBuilderState,this.parentLambda);else{if(lS(t,[bpt.FILTER,bpt.TDS_FILTER])){Ks(2===e.parametersValues.length,"Can't process filter() expression: filter() expects 1 argument");const n=js(e.parametersValues[0],Yw,"Can't process filter() expression: only support filter() immediately following an expression");if(hqi.process(n,this.parentLambda,this.queryBuilderState),lS(n.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]))return Ks(lS(t,bpt.FILTER),`Can't process filter() expression: only supports ${bpt.FILTER}() immediately following getAll() (got '${t}')`),void oVi(e,this.queryBuilderState);if(lS(n.functionName,[bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.OLAP_GROUPBY]))return Ks(lS(t,bpt.TDS_FILTER),`Can't process post-filter expression: only supports ${bpt.TDS_FILTER}() immediately following project()/groupBy() (got '${t}')`),void((e,t)=>{if(t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=n.postFilterState,r=n.fetchStructureState,s=e.parametersValues[1];Ws(s,Qw,"Can't process post-filter expression: expects argument #1 to be a lambda function"),Ws(r.implementation,HFi,"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],qw,"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],Mw,"Can't process post-filter lambda: only support filter() lambda with 1 parameter of type 'VariableExpression'").name),YMi(a,i,void 0),n.setShowPostFilterPanel(!0),i.simplifyTree()}})(e,this.queryBuilderState);if(lS(n.functionName,[bpt.WATERMARK]))return void oVi(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,bpt.WATERMARK))((e,t,n)=>{const i=js(e.parametersValues[0],Yw,"Can't process forWatermark() expression: only support forWatermark() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]),"Can't process forWatermark() expression: only support forWatermark() immediately following getAll()"),hqi.process(i,n,t);const r=e.parametersValues[1];t.watermarkState.setValue(r)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT]))(n=e).functionName===bpt.RELATION_PROJECT||lS(n.functionName,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT])&&2===n.parametersValues.length&&n.parametersValues[1]instanceof jw?((e,t,n)=>{Ks(2===e.parametersValues.length,"Can't process typed project() expression: typed project() expects 2 arguments"),t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE);const i=js(e.parametersValues[0],Yw,"Can't process typed project() expression: only support typed project() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER,bpt.WATERMARK]),"Can't process typed project() expression: only support typed project() immediately following either getAll(), filter(), or forWatermark()"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,jw,"Can't process typed project() expression: typed project() expects argument #1 to be a ColSpec Array Instance"),t.setLambdaWriteMode(eqi.TYPED_FETCH_STRUCTURE),hqi.processChild(r,e,n,t)})(e,this.queryBuilderState,this.parentLambda):oqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Qw,"Can't process col() func expressionn: only support col() immediately following an lambda function"),i=js(e.parametersValues[1],Fw,"Can't process col() func expression: the #2 argument of col() should be a string");aqi(js(n.values[0]?.expressionSequence[0],Kw,"Can't process col() func expression: lambda function of col() should contain AbstractPropertyExpression"),i.values[0],t),t.fetchStructureState.implementation instanceof HFi&&t.fetchStructureState.implementation.setUseColFunc(!0)})(e,this.queryBuilderState);else if(lS(t,[bpt.TDS_TAKE,bpt.RELATION_LIMIT]))cqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Yw,"Can't process distinct() expression: only support distinct() immediately following an expression");Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process distinct() expression: only support distinct() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi&&(t.fetchStructureState.implementation.resultSetModifierState.distinct=!0)})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.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],Yw,"Can't process sort() expression: only support sort() immediately following an expression");Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process sort() expression: only support sort() in TDS expression"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,Vw,"Can't process sort() expression: sort() argument should be a collection"),r.values.map(i=>hqi.processChild(i,e,n,t))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.SLICE))((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process slice() expression: slice() expects 2 argument");const i=js(e.parametersValues[0],Yw,"Can't process slice() expression: only support slice() immediately following an expression");if(Ks(lS(i.functionName,[bpt.TDS_TAKE,bpt.TDS_DISTINCT,bpt.TDS_SORT,bpt.TDS_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_FILTER,bpt.OLAP_GROUPBY]),"Can't process slice() expression: only support slice() in TDS expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof HFi){const n=t.fetchStructureState.implementation,i=ro(js(e.parametersValues[1],Fw,"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],Fw,"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,[bpt.TDS_ASC,bpt.TDS_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,bpt.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 HFi){const t=n.fetchStructureState.implementation,r=Ypt(Gs(e.parametersValues[0])),s=t.tdsColumns.find(e=>e.columnName===r);if(s){const e=new PMi(s);e.sortType=lS(i,bpt.TDS_ASC)?Cpt.ASC:Cpt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[bpt.RELATION_ASC,bpt.RELATION_DESC]))((e,t,n)=>{const i=e.functionName;if(Ks(Boolean(t&&lS(t.functionName,bpt.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 HFi){const t=n.fetchStructureState.implementation,r=js(e.parametersValues[0],zw);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 PMi(o);e.sortType=lS(i,bpt.RELATION_ASC)?Cpt.ASC:Cpt.DESC,t.resultSetModifierState.addSortColumn(e)}}})(e,this.parentExpression,this.queryBuilderState);else if(lS(t,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY]))(e=>e.functionName===bpt.RELATION_GROUP_BY||lS(e.functionName,[bpt.TDS_GROUP_BY,bpt.RELATION_GROUP_BY])&&3===e.parametersValues.length&&e.parametersValues[1]instanceof jw)(e)?((e,t,n)=>{Ks(3===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 2 arguments");const i=js(e.parametersValues[0],Yw,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[bpt.RELATION_PROJECT]),"Can't process groupBy() expression: only support groupBy() immediately following relation project()"),hqi.process(i,n,t);const r=js(t.fetchStructureState.implementation,HFi),s=js(e.parametersValues[1],jw,"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(eqi.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,jw,"Can't process groupBy() expression: groupBy() expects argument #2 to be a ColSpecArrayInstance"),hqi.processChild(o,e,n,t)})(e,this.queryBuilderState,this.parentLambda):((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.TABULAR_DATA_STRUCTURE),Ks(4===e.parametersValues.length,"Can't process groupBy() expression: groupBy() expects 3 arguments");const i=js(e.parametersValues[0],Yw,"Can't process groupBy() expression: only support groupBy() immediately following an expression");Ks(lS(i.functionName,[ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE,bpt.FILTER]),"Can't process groupBy() expression: only support groupBy() immediately following either getAll() or filter()"),hqi.process(i,n,t);const r=e.parametersValues[1];Ws(r,Vw,"Can't process groupBy() expression: groupBy() expects argument #1 to be a collection"),r.values.map(i=>hqi.processChild(i,e,n,t));const s=e.parametersValues[2];Ws(s,Vw,"Can't process groupBy() expression: groupBy() expects argument #2 to be a collection"),s.values.map(i=>hqi.processChild(i,e,n,t));const o=e.parametersValues[3];Ws(o,Vw,"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(Ypt).filter(Vs);t.fetchStructureState.implementation instanceof HFi&&t.fetchStructureState.implementation.projectionColumns.forEach((e,t)=>e.setColumnName(a[t]))})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.TDS_AGG))((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,bpt.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"),hqi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof HFi){const t=n.fetchStructureState.implementation,i=t.aggregationState,r=Gs(t.projectionColumns[t.projectionColumns.length-1]),s=e.parametersValues[1];Ws(s,Qw,"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],Yw,"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,Qw,"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 Yw?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],Mw,"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 uFi&&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,bpt.OLAP_GROUPBY))dqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.SERIALIZE))rqi(e,this.queryBuilderState,this.parentLambda);else if(lS(t,bpt.EXTERNALIZE))((e,t,n)=>{t.fetchStructureState.changeImplementation(BMi.GRAPH_FETCH),Ks(3===e.parametersValues.length,"Can't process externalize() expression: externalize() expects 2 argument");const i=js(e.parametersValues[0],Yw,"Can't process externalize() expression: only support externalize() immediately following an expression");if(Ks(lS(i.functionName,[bpt.GRAPH_FETCH,bpt.GRAPH_FETCH_CHECKED,bpt.INTERNALIZE]),"Can't process externalize() expression: only support externalize() in graph-fetch expression"),hqi.process(i,n,t),t.fetchStructureState.implementation instanceof xVi){const n=t.fetchStructureState.implementation,r=js(i.parametersValues[1],rE,"Can't process graphfetch() expression: externalize() graph-fetch is missing"),s=js(r.values[0],tE,"Can't process graphfetch() expression: graph-fetch tree root is missing");n.setGraphFetchTree(uVi(s));const o=js(e.parametersValues[1],Pw,"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,pX,"Can't process externalize() expression: only support externalize() with 1st parameter as binding value"),l=new EVi(n,a,void 0);n.setSerializationState(l);const c=js(e.parametersValues[2],rE,"Can't process externalize() expression: externalize() graph-fetch is missing"),d=js(c.values[0],tE,"Can't process externalize() expression: externalize() graph-fetch tree root is missing");l.setGraphFetchTree(uVi(d))}})(e,this.queryBuilderState,this.parentLambda);else if(lS(t,[bpt.GRAPH_FETCH_CHECKED,bpt.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],Yw,`Can't process ${i}() expression: only support ${i}() immediately following an expression`);Ks(lS(r.functionName,[bpt.FILTER,ypt.GET_ALL,ypt.GET_ALL_VERSIONS,ypt.GET_ALL_VERSIONS_IN_RANGE]),`Can't process ${i}(): only support ${i}() immediately following either getAll() or filter()`),hqi.process(r,n,t),t.fetchStructureState.implementation instanceof xVi&&t.fetchStructureState.implementation.setChecked(lS(e.functionName,bpt.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],Fw,"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 Lw?new U$i(t,s,o.content):uqi(o)?new B$i(t,s,o):new U$i(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],Pw,"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,dE,"Can't process from() expression: only support from() with 1st parameter as mapping value"),r=js(e.parametersValues[2],Pw,"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,pE,"Can't process from() expression: only support from() with 2nd parameter as runtime value"),o=new APi(t);o.setMapping(i),o.setRuntimeValue(new qj(XC.create(s))),t.setExecutionContextState(o)})(e,this.queryBuilderState),void hqi.processChild(Gs(t[0]),e,this.parentLambda,this.queryBuilderState)}if(lS(t,Object.values(vpt)))return this.queryBuilderState.isCalendarEnabled=!0,Ks(4===e.parametersValues.length,"Calendar function expected to have four parameters"),void hqi.processChild(Gs(e.parametersValues[3]),e,this.parentLambda,this.queryBuilderState);var n;if(!lS(t,bpt.WAVG_ROW_MAPPER))throw new Yr(`Can't process expression of function ${t}()`);((e,t,n,i)=>{if(Ks(Boolean(t&&lS(t.functionName,bpt.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,Kw,"Can't process wavgRowMapper() expression: wavgRowMapper() expects arguments to be Property Expressions")),hqi.processChild(Gs(e.parametersValues[0]),e,i,n),n.fetchStructureState.implementation instanceof HFi){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,[bpt.TDS_PROJECT,bpt.RELATION_PROJECT,bpt.TDS_GROUP_BY,bpt.TDS_AGG,bpt.WAVG_ROW_MAPPER,...Object.values(vpt)]))throw new Yr(`Can't process property expression with parent expression of function ${this.parentExpression.functionName}()`);aqi(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 hqi(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,[bpt.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,Qw,"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 Kw?aqi(i,e.name,this.queryBuilderState):i instanceof Lw&&(Us(this.parentExpression,"Can't process unknown value: parent expression cannot be retrieved"),lqi(i,e.name,this.parentExpression,this.queryBuilderState))})}if(lS(this.parentExpression.functionName,[bpt.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,bpt.RELATION_GROUP_BY)),"Can't process typed aggregation ColSpec: only supported when used within a groupBy() expression");const i=js(e.function1,Qw,"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,Qw,"Can't process colSpec: function2 is not a lambda function instance value");if(n.fetchStructureState.implementation instanceof HFi){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],Yw,"Can't process colSpec: only support colSpec function2 lambda body with 1 expression"),c=js(a.functionType.parameters[0],Mw,"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 uFi&&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?vS.create(new wS(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 pqi=(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 Mw&&Ept(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&&Ax(i,t)&&(r=n.value)}});const s=new wPi(e,t.observerContext,t.graphManagerState.graph);r?s.setValue(r):s.mockParameterValue(),i.addParameter(s)}),t.parametersState=i},gqi=(e,t,n)=>{e.functionType.parameters.length&&pqi(e.functionType.parameters,t,n),e.expressionSequence.map(n=>hqi.process(n,e,t))},mqi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Lie.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 $Li(e.target.value,ULi.ABSOLUTE_DATE))}})})},fqi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:s}=e,o=n.useRef(null),a=i(t);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__absolute-date",children:Lie.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 $Li(e.target.value,ULi.ABSOLUTE_TIME))}})})},vqi=e=>{const{customDateOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t.duration),[c,d]=n.useState(t.unit??GLi.DAYS),[u,h]=n.useState(t.direction??WLi.BEFORE),[p,g]=n.useState(t.referenceMoment??jLi.TODAY),m=(e,t,n,s)=>{if(0!==e&&""!==t&&""!==n&&""!==s){const o=new qLi(ULi.CUSTOM_DATE,ULi.CUSTOM_DATE,e,t,n,s);i(void 0,o);const a=XLi.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()},[]),Lie.jsxs("div",{className:"value-spec-editor__date-picker__custom-date",children:[Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.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)}})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{placeholder:"Unit",className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(GLi).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})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(WLi).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})}),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{className:"value-spec-editor__date-picker__custom-date__input-dropdown",options:Object.values(jLi).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})})]})},yqi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t instanceof YLi?t.unit:null);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{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(HLi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=Object.values(jLi).filter(t=>t.toString().includes(e)),n=t.length>0?new YLi(Gs(t[0]?.toString()),e):new YLi("",void 0);i(void 0,n),r(n)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},bqi=e=>{const{customDateAdjustOptionValue:t,updateValueSpecification:i,setDatePickerOption:r}=e,s=fut(),o=n.useRef(null),[a,l]=n.useState(t instanceof KLi?t.day:null);return n.useEffect(()=>{o.current?.focus()},[]),Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date",children:Lie.jsx("div",{className:"value-spec-editor__date-picker__custom-date__input",children:Lie.jsx(cFe,{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(zLi).map(e=>({value:e.toString(),label:e.toString()})),onChange:e=>{e&&(l(e.value),(e=>{if(""!==e){const t=new KLi(`Previous ${e}`,e);i(void 0,t),r(t)}})(e.value))},value:a?{value:a,label:a}:null,darkMode:!s.layoutService.TEMPORARY__isLightColorThemeEnabled})})})},_qi=e=>{const{valueSpecification:t,valueSelector:i,updateValueSpecification:r,hasError:s,typeCheckOption:o,displayAsEditableValue:a,handleBlur:l,readOnly:c}=e,d=fut(),u=o.match?Object.values([ULi.ABSOLUTE_TIME,ULi.NOW]):Object.values(ULi),[h,p]=n.useState(tMi(t,d)),[g,m]=n.useState(null),f=e=>{m(e.currentTarget)};return n.useEffect(()=>{p(tMi(t,d))},[d,t]),Lie.jsxs(Lie.Fragment,{children:[a?Lie.jsx("span",{className:Noe("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}"`:Lie.jsx(Lie.Fragment,{children:" "})}):Lie.jsx("button",{className:Noe("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"}),Lie.jsxs(zSe,{open:Boolean(g),slotProps:{transition:{onEnter:()=>{p(tMi(t,d))}}},anchorEl:g,onClose:()=>{p(tMi(t,d)),m(null),l?.()},anchorOrigin:{vertical:a?20:"bottom",horizontal:a?50:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[Lie.jsx(DFe,{className:"value-spec-editor__date-picker__options",value:h.value,onChange:e=>{const t=new $Li(e.target.value,e.target.value);if(ULi.LATEST_DATE===t.value)r(void 0,e.target.value,{primitiveTypeEnum:TC.LATESTDATE});else if(![ULi.ABSOLUTE_DATE,ULi.ABSOLUTE_TIME,ULi.CUSTOM_DATE,ULi.FIRST_DAY_OF,ULi.PREVIOUS_DAY_OF_WEEK].includes(t.value)){const e=XLi.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 ULi.ABSOLUTE_DATE:return Lie.jsx(mqi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ULi.ABSOLUTE_TIME:return Lie.jsx(fqi,{valueSpecification:t,valueSelector:i,updateValueSpecification:r,setDatePickerOption:p});case ULi.CUSTOM_DATE:return Lie.jsx(vqi,{customDateOptionValue:eMi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ULi.FIRST_DAY_OF:return Lie.jsx(yqi,{customDateAdjustOptionValue:tMi(t,d),updateValueSpecification:r,setDatePickerOption:p});case ULi.PREVIOUS_DAY_OF_WEEK:return Lie.jsx(bqi,{customDateAdjustOptionValue:tMi(t,d),updateValueSpecification:r,setDatePickerOption:p});default:return null}})()]})]})},Cqi=e=>{const{variable:t,children:n,placement:i}=e,r=t.genericType?.value.rawType;return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"value-spec-paramater__tooltip__content",children:[Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:r?.name??"(unknown)"})]}),Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Var Name"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:t.name})]}),Lie.jsxs("div",{className:"value-spec-paramater__tooltip__item",children:[Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"value-spec-paramater__tooltip__item__value",children:Rx(t.multiplicity)})]})]}),children:n})},Sqi="VARIABLE",wqi=xoe(e=>{const{valueSpecification:t,resetValue:n,isConstant:i,className:r}=e,s=t.name;return Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(yUe,{labelGetter:e=>e.variable.name,types:[Sqi]}),Lie.jsxs("div",{className:Noe("value-spec-editor__variable",r,{"value-spec-editor__variable__constant":i}),children:[Lie.jsx("div",{className:"value-spec-editor__variable__icon",children:i?Lie.jsx("div",{className:"icon",children:"C"}):Lie.jsx(Qre,{})}),Lie.jsxs("div",{className:"value-spec-editor__variable__label",children:[Lie.jsx("div",{className:"value-spec-editor__variable__text",children:s}),Lie.jsx(Cqi,{variable:t,children:Lie.jsx("div",{className:"value-spec-editor__variable__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{className:"value-spec-editor__variable__reset-btn",name:"Reset",title:"Reset",onClick:n,children:Lie.jsx(ire,{})})]})]})]})}),Eqi=xoe(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=fut(),f=i(n),v=f?{value:f,label:f}:null,y=d?.reloadValues,b=d?.isLoading,_=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)}`,w=`input-${i(n)}`;return Lie.jsxs("div",{className:Noe("value-spec-editor",c),onBlur:e=>{e.relatedTarget?.name!==S&&e.relatedTarget?.name!==w&&a?.()},children:[g?Lie.jsx(cFe,{className:"value-spec-editor__enum-selector",options:_,onChange:e=>{const t=null===e?"":e.value.toString();r(n,t)},value:v,inputValue:f??"",onInputChange:(e,t)=>{if("input-change"===t.action){r(n,e),y?.cancel();const t=y?.(e);t&&t.catch(m.alertUnhandledError)}"input-blur"===t.action&&(y?.cancel(),d?.cleanUpReloadValues?.())},darkMode:!h,isLoading:b,allowCreateWhileLoading:!0,noOptionsMessage:C,components:{DropdownIndicator:null},hasError:s?.(n),placeholder:""===f?"(empty)":void 0,inputRef:t,onKeyDown:l,inputName:w,optionCustomization:u?.optionCustomization,disabled:p}):Lie.jsx(ATe,{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:w,disabled:p}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:S,title:"Reset",onClick:o,disabled:p,children:Lie.jsx(ire,{})})]})})),xqi=xoe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,className:s,readOnly:o}=e,a=n(t);return Lie.jsxs("div",{className:Noe("value-spec-editor",s),children:[Lie.jsx("button",{role:"checkbox",className:Noe("value-spec-editor__toggler__btn",{"value-spec-editor__toggler__btn--toggled":a}),onClick:()=>{i(t,!a)},disabled:o,children:a?Lie.jsx(zre,{}):Lie.jsx(Rse,{})}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:o,children:Lie.jsx(ire,{})})]})}),Tqi=xoe(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,enableExpressionCalculation:p=!0}=e,[g,m]=n.useState(r(i)?.toString()??""),f=n.useRef(null);n.useImperativeHandle(t,()=>f.current,[]);const v=g?u?Number.parseInt(Number(g).toString(),10):Number(g):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()},b=()=>{if(null!==v&&isNaN(v))try{const e=ro(j2n(g));y(e.toString()),m(e.toString())}catch{const e=r(i)?.toString()??"";y(e),m(e)}else null!==v?(y(v.toString()),m(v.toString())):a()};n.useEffect(()=>{if(null!==v&&!isNaN(v)&&v!==r(i)){const e=null!==r(i)?r(i).toString():"";m(e)}},[v,i,r]);const _=`reset-${r(i)}`,C=`input-${r(i)}`,S=`calculate-${r(i)}`;return Lie.jsxs("div",{className:Noe("value-spec-editor",d),onBlur:e=>{e.relatedTarget?.name!==_&&e.relatedTarget?.name!==C&&e.relatedTarget?.name!==S&&l?.()},children:[Lie.jsxs("div",{className:"value-spec-editor__number__input-container",children:[Lie.jsx("input",{ref:f,className:Noe("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:g,onChange:e=>{m(e.target.value),y(e.target.value)},onBlur:b,onKeyDown:e=>{(e=>{"Enter"===e.code?(b(),f.current?.focus()):"Escape"===e.code&&f.current?.select()})(e),c?.(e)},name:C,disabled:h}),p&&Lie.jsx("div",{className:"value-spec-editor__number__actions",children:Lie.jsx("button",{className:"value-spec-editor__number__action",title:"Evaluate Expression (Enter)",name:S,onClick:b,disabled:h,children:Lie.jsx(ure,{})})})]}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:_,title:"Reset",onClick:a,disabled:h,children:Lie.jsx(ire,{})})]})})),Aqi=xoe(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 Lie.jsxs("div",{className:Noe("value-spec-editor",l),onBlur:e=>{e.relatedTarget?.name!==p&&e.relatedTarget?.name!==g&&o?.()},children:[Lie.jsx(cFe,{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}),Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:p,title:"Reset",onClick:s,disabled:u,children:Lie.jsx(ire,{})})]})}),Rqi=e=>0===e.length?"":((e,t)=>zv.unparse(e,t))([e.map(e=>e instanceof Fw?e.values[0]:e instanceof Bw?Gs(e.values[0]).value.name:void 0).filter(Vs)]).trim(),Nqi=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 XT))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"}}},Iqi=xoe(e=>{const{valueSpecification:t,convertTextToValueSpecification:i,convertValueSpecificationToText:r,updateValueSpecification:s,saveEdit:o,selectorSearchConfig:a,selectorConfig:l,expectedType:c,lightMode:d,readOnly:u}=e,h=fut(),p=n.useRef(null),[g,m]=n.useState(""),[f,v]=n.useState(!1),[y,b]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),_=c===gS.STRING&&Boolean(a),C=_?a?.reloadValues:void 0,S=_?a?.cleanUpReloadValues:void 0,w=_?a?.isLoading:void 0,E=_&&a?.values?.length?a.values.map(e=>({value:e,label:e.toString()})):void 0,x=_&&w?"Loading...":void 0,T=`copy-${t.values[0]?r(t.values[0]):""}`,A=`input-${t.values[0]?r(t.values[0]):""}`,R=e=>{const t=Gs(r(e));return{label:t,value:t}},N=e=>y.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)||N(Gs(r(t)))?null:t}return null},D=()=>{const e=I(),n=(null!==e?[...y,R(e)]:y).map(e=>e.value).map(e=>i(c,e)).filter(Vs);s(t,n),o()};return Lie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==T&&e.relatedTarget?.name!==A&&D()},children:[Lie.jsx(cFe,{className:Noe("value-spec-editor__primitive-collection-selector",{"value-spec-editor__primitive-collection-selector--error":f}),options:E,inputValue:g,isMulti:!0,menuIsOpen:_&&g.length>=2,autoFocus:!0,inputRef:p,onChange:(e,t)=>{b(e),"select-option"===t.action?m(""):"remove-value"===t.action&&t.removedValue.value===g&&v(!1)},onInputChange:(e,t)=>{if("input-change"===t.action){m(e),v(!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?(b([...y,R(e)]),m(""),C?.cancel()):g.trim().length&&v(!0)})(),e.preventDefault())},onPaste:e=>{const t=e.clipboardData.getData("text"),n=Yv(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=>!N(e));b([...y,...s.map(e=>({label:e,value:e}))]),e.preventDefault()},value:y,darkMode:!d,isLoading:w,noMatchMessage:x,placeholder:Nqi(c),components:{DropdownIndicator:null},inputName:A,optionCustomization:l?.optionCustomization,disabled:u}),Lie.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(y.map(e=>e.value).join(","))})()},name:T,title:"Copy values to clipboard",children:Lie.jsx(Kre,{})}),Lie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:D,disabled:u,children:Lie.jsx(xse,{})})]})}),Dqi=xoe(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,v]=n.useState(t.values.filter(e=>Gs(e)).map(r).filter($s).map(e=>({label:e,value:e}))),y=l?.filter(e=>!f.some(t=>t.value===e.value)),b=`copy-${t.values[0]?r(t.values[0]):""}`,_=`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?(v([...f,{label:e,value:e}]),p("")):h.trim().length&&m(!0)},w=()=>{const e=f.map(e=>e.value).map(e=>i(a,e)).filter(Vs);s(t,e),o()};return Lie.jsxs("div",{className:"value-spec-editor",onBlur:e=>{e.relatedTarget?.name!==b&&e.relatedTarget?.name!==_&&w()},children:[Lie.jsx(cFe,{className:Noe("value-spec-editor__enum-collection-selector",{"value-spec-editor__enum-collection-selector--error":g}),options:y,inputValue:h,isMulti:!0,autoFocus:!0,onChange:(e,t)=>{v(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=Yv(t);if(!n)return;const i=Pr(Pr(n).filter(e=>l?.some(t=>t.value===e))).filter(e=>!C(e));v([...f,...i.map(e=>({label:e,value:e}))]),e.preventDefault()},value:f,darkMode:!d,placeholder:"Add",menuIsOpen:!0,inputName:_,optionCustomization:c?.optionCustomization,disabled:u}),Lie.jsx("button",{className:"value-spec-editor__list-editor__copy-button",onClick:()=>{(async()=>{navigator.clipboard.writeText(f.map(e=>e.value).join(","))})()},name:b,title:"Copy values to clipboard",children:Lie.jsx(Kre,{})}),Lie.jsx("button",{className:"value-spec-editor__list-editor__save-button btn--dark",name:"Save",title:"Save",onClick:w,disabled:u,children:Lie.jsx(xse,{})})]})}),kqi=xoe(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),v=o(t),y=`List(${0===t.values.length?"empty":t.values.length})${0===t.values.length?"":`: ${v.length>50?`${v.substring(0,50)}...`:v}`}`,b=()=>{m&&f(!1)};return m?Lie.jsx(Lie.Fragment,{children:Lie.jsx("div",{className:Noe("value-spec-editor",l),children:void 0!==h?Lie.jsx(Dqi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:b,enumOptions:h,selectorConfig:d,lightMode:p,readOnly:g}):Lie.jsx(Iqi,{valueSpecification:t,updateValueSpecification:s,convertTextToValueSpecification:i,convertValueSpecificationToText:r,expectedType:u,saveEdit:b,selectorSearchConfig:c,selectorConfig:d,lightMode:p,readOnly:g})})}):Lie.jsxs("div",{className:Noe("value-spec-editor",l),onClick:g?()=>{}:()=>f(!0),title:g?"":"Click to edit",style:{cursor:g?"not-allowed":""},children:[Lie.jsx("div",{className:Noe("value-spec-editor__list-editor__preview",{"value-spec-editor__list-editor__preview--error":a?.(t)}),children:y}),Lie.jsx("button",{className:"value-spec-editor__list-editor__edit-icon",children:Lie.jsx(Qie,{})})]})}),Oqi=()=>Lie.jsx("div",{className:"value-spec-editor--unsupported",children:"unsupported"}),Lqi=xoe(e=>{const{valueSpecification:t,valueSelector:n,updateValueSpecification:i,resetValue:r,handleBlur:s,typeCheckOption:o,displayAsEditableValue:a,className:l,readOnly:c}=e;return Lie.jsxs("div",{className:Noe("value-spec-editor",l),children:[Lie.jsx(_qi,{valueSpecification:t,valueSelector:n,typeCheckOption:o,updateValueSpecification:i,hasError:t instanceof Fw&&!Upt(t),handleBlur:s,displayAsEditableValue:a,readOnly:c}),!a&&Lie.jsx("button",{className:"value-spec-editor__reset-btn",name:"Reset",title:"Reset",onClick:r,disabled:c,children:Lie.jsx(ire,{})})]})}),Mqi=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,enableExpressionCalculation:f}=e,v=fut(),y=e=>!Upt(e),b=e=>e instanceof Yw?"":e.values[0],_=(e,t,n)=>{t instanceof qLi?a(((e,t,n)=>{const i=new Yw(bpt.ADJUST);if(Dpt(i,QLi(new $Li(Gs(e.referenceMoment),Gs(e.referenceMoment)),t,n),n),e.direction===WLi.BEFORE){const r=new Yw(bpt.MINUS);Dpt(r,iMi(t,TC.INTEGER,e.duration,n),n),Dpt(i,r,n)}else Dpt(i,iMi(t,TC.INTEGER,e.duration,n),n);const r=new Bw(vS.create(new wS(t.getType(fpt.DURATION_UNIT))));return Mpt(r,[...r.values,BS.create(Gs(JLi(Gs(e.unit),t)))],n),Dpt(i,r,n),Apt(i,vS.create(new wS(gS.DATE))),i})(t,r,s)):t instanceof YLi||t instanceof KLi||t instanceof $Li?a(QLi(t,r,s)):e instanceof Yw?a(iMi(r,Gs(n?.primitiveTypeEnum),t,s)):e instanceof Pw?(Lpt(e,t,0,s),e.genericType.value.rawType.path!==Gs(n?.primitiveTypeEnum)&&Apt(e,vS.create(new wS((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(iMi(r,TC.LATESTDATE,t,s))};if(i instanceof Fw){const e=i.genericType.value.rawType,r=e=>e.values[0],u=(e,t)=>{Lpt(e,t,0,s),a(e)};switch(e.path){case TC.STRING:return Lie.jsx(Eqi,{valueSpecification:i,valueSelector:r,updateValueSpecification:u,errorChecker:y,className:n,resetValue:l,selectorSearchConfig:c,selectorConfig:d,ref:t,handleBlur:h,handleKeyDown:p,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m});case TC.BOOLEAN:return Lie.jsx(xqi,{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 Lie.jsx(Tqi,{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,enableExpressionCalculation:f});case TC.DATE:case TC.STRICTDATE:case TC.DATETIME:case TC.LATESTDATE:return Lie.jsx(Lqi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,errorChecker:e=>e instanceof Fw&&y(e),readOnly:m});default:return Lie.jsx(Oqi,{})}}else{if(i instanceof Bw){const e=js(i.genericType?.value.rawType,NS),t=e.values.map(e=>({label:e.name,value:e.name}));return Lie.jsx(Aqi,{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}`);Lpt(t,BS.create(i),0,s),a(t)},errorChecker:e=>!Upt(e),handleBlur:h,selectorConfig:d,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof Vw&&i.genericType){const e=(e,t)=>{Mpt(e,t,s),a(e)},t=(e,t)=>{if(e instanceof NS){const n=((e,t)=>t.values.find(t=>t.name===e))(t,e);if(n){const t=new Bw(vS.create(new wS(e)));return Mpt(t,[BS.create(n)],s),une(t,s)}}else{const n=dMi(js(e,iS),t,s);if(n)return une(n,s)}return null},r=o.expectedType instanceof NS?o.expectedType.values.map(e=>({label:e.name,value:e.name})):void 0;return Lie.jsx(kqi,{valueSpecification:i,updateValueSpecification:e,expectedType:o.expectedType,className:n,selectorSearchConfig:c,selectorConfig:d,stringifyCollectionValueSpecification:e=>Rqi(e.values),errorChecker:y,convertValueSpecificationToText:e=>cMi(e,v,{omitEnumOwnerName:!0}),convertTextToValueSpecification:t,enumOptions:r,lightMode:v.layoutService.TEMPORARY__isLightColorThemeEnabled,readOnly:m})}if(i instanceof Mw)return Lie.jsx(wqi,{valueSpecification:i,className:n,resetValue:l,isConstant:Boolean(u)});if(i instanceof Jw)return Lie.jsx(Mqi,{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 Yw){if(Tx(o.expectedType,gS.DATE))return uqi(i)?Lie.jsx(Lqi,{valueSpecification:i,valueSelector:b,typeCheckOption:o,className:n,updateValueSpecification:_,resetValue:l,handleBlur:h,displayAsEditableValue:g,readOnly:m}):Lie.jsx(Oqi,{});if(Tx(o.expectedType,gS.NUMBER)&&lS(i.functionName,bpt.MINUS)){const e=Xpt(i,s);if(e instanceof Fw&&Tx(e.genericType.value.rawType,gS.NUMBER))return Lie.jsx(Tqi,{valueSpecification:e,valueSelector:e=>e.values[0],isInteger:e.genericType.value.rawType===gS.INTEGER,updateValueSpecification:(e,t)=>{Lpt(e,t,0,s),a(e)},className:n,resetValue:l,ref:t,handleBlur:h,handleKeyDown:p,readOnly:m})}}}return Lie.jsx(Oqi,{})}),Pqi=xoe(e=>{const{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,initializeAsEditable:u,readOnly:h,enableExpressionCalculation:p=!0,displayAsString:g=!0}=e,m=fut(),[f,v]=n.useState(u??!1),y=n.useRef(null);n.useEffect(()=>{f&&y.current?.focus()},[f,y]);const b=t instanceof Fw&&!Tx(t.genericType.value.rawType,gS.DATE)&&t.genericType.value.rawType!==gS.BOOLEAN||t instanceof Bw,_=f||!b,C=cMi(t,m,{omitEnumOwnerName:!0});return _?Lie.jsx(Mqi,{valueSpecification:t,setValueSpecification:i,graph:r,observerContext:s,typeCheckOption:o,resetValue:a,selectorSearchConfig:l,selectorConfig:c,isConstant:d,ref:y,handleBlur:()=>v(!1),handleKeyDown:e=>{"Enter"===e.key&&v(!1)},displayDateEditorAsEditableValue:!0,readOnly:h,enableExpressionCalculation:p}):Lie.jsx("div",{className:"value-spec-editor__editable__display",children:Lie.jsx("span",{className:Noe("value-spec-editor__editable__display--content editable-value",{"value-spec-editor__editable__display--content--error":t instanceof Pw&&!Upt(t)}),onClick:h?()=>{}:()=>{v(!0)},style:{cursor:h?"not-allowed":""},children:g?`"${void 0!==C?C:""}"`:C})})}),Fqi=(e,t)=>{if(e instanceof Yw){const n=tMi(e,t.applicationStore).label;if(n)return n}return cMi(e,t.applicationStore)},Bqi=xoe(n.forwardRef(function(e,t){const{actions:n,extraContextMenuActions:i,variableInUse:r}=e;return Lie.jsxs(CFe,{ref:t,children:[i?.map(e=>Lie.jsx(SFe,{onClick:e.handler,children:e.label},e.key)),n?.editVariable&&Lie.jsx(SFe,{onClick:n.editVariable,children:"Edit"}),n?.deleteVariable&&Lie.jsx(SFe,{disabled:r,onClick:n.deleteVariable,children:"Remove"})]})})),Vqi=xoe(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?Fqi(i.val,o):void 0,g=t.name,m=t.genericType?.value.rawType.name??(h?"(calculated)":void 0),f=o.milestoningState.isMilestoningParameter(t),v=o.milestoningState.getMilestoningParameterValue(t),y=f&&v?Fqi(v,o):void 0,b=s||c,_=c?"Used in query":"Remove",C=()=>{r?.editVariable()},[,S,w]=BVe(()=>({type:Sqi,item:{variable:t}}),[t]),E=n.useRef(null);return S(E),vUe(w),Lie.jsx("div",{className:"query-builder__variables__variable",ref:E,children:Lie.jsxs(TFe,{content:Lie.jsx(Bqi,{variable:t,variableInUse:c,actions:r,extraContextMenuActions:a}),disabled:s||!r,className:Noe("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:[Lie.jsx(yUe,{labelGetter:e=>""===e.variable.name?"(unknown)":e.variable.name,types:[Sqi]}),Lie.jsxs("div",{onClick:C,className:"query-builder__variables__variable__content",children:[Lie.jsx("div",{className:"query-builder__variables__variable__icon",children:Lie.jsx("div",{className:"query-builder__variables__variable-icon",children:h?Lie.jsx("div",{className:"icon query-builder__variables__variable-icon",children:"C"}):Lie.jsx(Qre,{})})}),Lie.jsxs("div",{className:"query-builder__variables__variable__label",children:[g,h?Lie.jsxs("div",{className:Noe("query-builder__constants__value",{"query-builder__constants__value--icon":!p}),children:[p,!p&&Lie.jsx(Pre,{title:"Calculated Constant"})]}):Lie.jsxs("div",{className:"query-builder__variables__variable__type",children:[Lie.jsx("div",{className:"query-builder__variables__variable__type__label",children:m??"unknown"}),f&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning",children:"milestoning"}),!l?.hideMilestoningParameterValueString&&Lie.jsx("div",{className:"query-builder__constants__value",children:y})]})]})]})]}),r&&Lie.jsxs("div",{className:"query-builder__variables__variable__actions",children:[Lie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,disabled:s,onClick:C,title:"Edit",children:Lie.jsx(Qie,{})}),Lie.jsx("button",{className:"query-builder__variables__variable__action",tabIndex:-1,onClick:()=>{r?.deleteVariable()},disabled:b,title:_,children:Lie.jsx(Ise,{})}),Lie.jsx(Cqi,{variable:t,children:Lie.jsx("div",{className:"query-builder__variables__variable__action value-spec-editor__variable__info",children:Lie.jsx(hse,{})})})]})]})})}),Uqi=xoe(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 Lie.jsxs(Lie.Fragment,{children:[Lie.jsxs($Fe,{title:"Available parameters",children:[0===i.length&&Lie.jsx(Lie.Fragment,{children:" No available parameters "}),i.map(e=>Lie.jsx(Vqi,{variable:e.parameter,isReadOnly:!0,queryBuilderState:t},e.uuid))]}),Boolean(r.length)&&Lie.jsx($Fe,{title:"Available constants",children:r.map(e=>Lie.jsx(Vqi,{variable:e.variable,value:{val:e instanceof B$i?e.value:void 0},queryBuilderState:t,isReadOnly:!0},e.uuid))})]})}),Gqi=xoe(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=>{Ipt(t.propertyExpression,e.variable,r+1,t.queryBuilderState.observerContext)},[t,r]),[{isParameterValueDragOver:l},c]=zVe(()=>({accept:[Sqi],drop:(e,t)=>{const n=e.variable.genericType?.value.rawType;t.didDrop()||!n||!Ax(o,n)&&o.name!==n.name||a(e)},collect:e=>({isParameterValueDragOver:e.isOver({shallow:!0})})}),[a]),d=t.queryBuilderState,u=e=>{e instanceof Kw&&wpt(e,d)&&e.func.value.genericType.value.rawType instanceof ES&&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:Zut.CAUTION,actions:[{label:"Proceed",type:Qut.PROCEED_WITH_CAUTION,default:!0},{label:"Propagate default milestoning date(s)",type:Qut.PROCEED,handler:d.applicationStore.guardUnhandledError(async()=>(e=>{const t=fx(js(e.func.value.genericType.value.rawType,ES),d.graphManagerState.graph);e.parametersValues.slice(1).forEach((n,i)=>{if(t&&n instanceof Jw&&!xpt(t,i,n.getValue(),d.milestoningState)){const n=new Jw(()=>Gs(d.milestoningState.getMilestoningImplementation(t).getMilestoningDate(i)));n.isPropagatedValue=!1,Ipt(js(e,Kw),Gs(n),i+1,d.observerContext)}})})(e))}]})},h=Gs(t.parameterValues[r]);return Lie.jsxs("div",{className:"panel__content__form__section",children:[Lie.jsx("div",{className:"panel__content__form__section__header__label",children:i.name}),Lie.jsx("div",{className:"panel__content__form__section__header__prompt",children:""+(0===i.multiplicity.lowerBound?"optional":"")}),Lie.jsx("div",{className:"query-builder__variable-editor",children:Lie.jsx(pUe,{isDragOver:l,dropTargetConnector:c,children:Lie.jsx(Mqi,{valueSpecification:h,setValueSpecification:e=>{Ipt(t.propertyExpression,e,r+1,t.queryBuilderState.observerContext)},graph:s,observerContext:t.queryBuilderState.observerContext,typeCheckOption:{expectedType:o,match:o===gS.DATETIME},resetValue:()=>{Ipt(t.propertyExpression,Tpt(t,r)??pMi(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)})})}),Lie.jsx("div",{className:"panel__content__form__section__list"})]},i.name)}),Hqi=xoe(e=>{const{derivedPropertyExpressionState:t}=e,n=t.parameterValues,i=t.parameters;return Lie.jsxs("div",{className:"query-builder-property-editor__section",children:[Lie.jsx("div",{className:"panel__content__form__section__header__label",children:t.title}),!n.length&&Lie.jsx("div",{className:"query-builder-property-editor__section__content--empty",children:"No parameter"}),i.map((e,n)=>Lie.jsx(Gqi,{derivedPropertyExpressionState:t,variable:e,idx:n},e.name))]})}),zqi=xoe(e=>{const{propertyExpressionState:t}=e,n=t.queryBuilderState.applicationStore,i=()=>t.setIsEditingDerivedProperty(!1);return Lie.jsx(ebe,{open:Boolean(t.isEditingDerivedPropertyExpression),onClose:i,classes:{root:"editor-modal__root-container",container:"editor-modal__container",paper:"editor-modal__content"},children:Lie.jsxs(hFe,{darkMode:!n.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"editor-modal query-builder-property-editor",children:[Lie.jsx(gFe,{title:"Derived Property"}),Lie.jsxs(fFe,{className:"query-builder-property-editor__content",children:[t.derivedPropertyExpressionStates.map(e=>Lie.jsx(Hqi,{derivedPropertyExpressionState:e},e.path)),Lie.jsx(fFe,{className:"query-builder__variables__modal__body",children:Lie.jsx(Uqi,{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&&(Ax(n,e.genericType.value.rawType)||e.genericType.value.rawType.name===n.name))})))(e,t.derivedPropertyExpressionStates)})})]}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{text:"Done",onClick:i})})]})})}),Wqi=xoe(e=>{const{columnName:t,title:n,error:i,setIsEditingColumnName:r}=e;return Lie.jsx("div",{className:"query-builder__property__name__display",title:n,children:Lie.jsx("span",{className:Noe("query-builder__property__name__display__content",{"query-builder__property__name__display__content--error":i,"editable-value":r}),onClick:()=>{r?.(!0)},children:t})})}),jqi=xoe(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?Lie.jsx("div",{className:"query-builder__property__name__editor",children:Lie.jsx(ATe,{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()}})}):Lie.jsx(Wqi,{columnName:t,title:s,error:Boolean(r),setIsEditingColumnName:i?l:void 0})}),$qi=xoe(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 Lie.jsx("div",{className:"query-builder-property-expression-badge",children:Lie.jsxs("div",{className:Noe("query-builder-property-expression-badge__content",{"query-builder-property-expression-badge__content--class":s instanceof ES,"query-builder-property-expression-badge__content--enumeration":s instanceof NS,"query-builder-property-expression-badge__content--primitive":s instanceof gS}),children:[Lie.jsx(jqi,{columnName:t??n.title,setColumnName:i,error:r,title:`${n.title} - ${n.path}`,defaultColumnName:uMi(n.propertyExpression,n.queryBuilderState.explorerState.humanizePropertyName)}),o&&Lie.jsxs("button",{className:Noe("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&&Lie.jsx(hse,{})," (...)"]}),Lie.jsx(zqi,{propertyExpressionState:n})]})})}),qqi=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 Lie.jsxs("div",{className:"query-builder-panel-issue-count-badge",title:`Found ${n}:\n${t.map(e=>`• ${e}`).join("\n")}`,children:[Lie.jsx(Nse,{className:"query-builder-panel-issue-count-badge__icon"}),Lie.jsx("div",{className:"query-builder-panel-issue-count-badge__text",children:n})]})},Yqi=e=>{if(e instanceof gS){if(e.name===TC.STRING)return Lie.jsx(Jie,{className:"query-builder-column-badge__icon"});if(e.name===TC.BOOLEAN)return Lie.jsx(Dse,{className:"query-builder-column-badge__icon"});if(e.name===TC.NUMBER||e.name===TC.INTEGER||e.name===TC.FLOAT||e.name===TC.DECIMAL)return Lie.jsx(use,{className:"query-builder-column-badge__icon"});if(e.name===TC.DATE||e.name===TC.DATETIME||e.name===TC.STRICTDATE)return Lie.jsx($re,{className:"query-builder-column-badge__icon"})}else if(e instanceof NS)return Lie.jsx("div",{className:"icon query-builder-column-badge__icon",children:"E"});return null},Kqi=e=>{const{columnState:t,placement:n,children:i}=e,r=t.getColumnType(),s=Xr(()=>(e=>{if(e instanceof EMi||e instanceof vFi)return nS.ONE;if(e instanceof _Mi)return e.propertyExpressionState.propertyExpression.func.value.multiplicity;throw new Yr("Can't get multiplicity for column",e)})(t));return Lie.jsx(iSe,{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:Lie.jsxs("div",{className:"query-builder__tooltip__content",children:[Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Name"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:t.columnName})]}),Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Type"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:r?.path})]}),s&&Lie.jsxs("div",{className:"query-builder__tooltip__item",children:[Lie.jsx("div",{className:"query-builder__tooltip__item__label",children:"Multiplicity"}),Lie.jsx("div",{className:"query-builder__tooltip__item__value",children:Rx(s)})]})]}),children:i})},Xqi=(e,t)=>{switch(t){case yMi:return e.columnState.getColumnType();case ABi.ENUM_PROPERTY:case ABi.PRIMITIVE_PROPERTY:return e.node.property.genericType.value.rawType;case Sqi:return e.variable.genericType?.value.rawType;case hFi:return e.columnState.getColumnType();default:return}},Zqi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi],Qqi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],Jqi=[JMi.CONDITION,ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi],eYi=[JMi.CONDITION,ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY],tYi=[ABi.ENUM_PROPERTY,ABi.PRIMITIVE_PROPERTY,yMi,Sqi],nYi=(e,t,n)=>{const i=[];let r=e;for(;r instanceof Kw||r instanceof Yw&&lS(r.functionName,bpt.SUBTYPE);){let e;r instanceof Yw?e=new Yw(sS(bpt.SUBTYPE)):(e=new Kw(""),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,Mw)],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 Kw&&(void 0===n.func.value.multiplicity.upperBound||n.func.value.multiplicity.upperBound>1)&&(l>o.length-1&&(o.push(vo(o,t.lambdaParameterName)),Ks(l===o.length-1)),a.push(new Mw(o[l],nS.ONE)),l++)}if(n)if(n instanceof lPi){const e=a.findIndex(e=>e instanceof Kw&&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 lPi);)e=t.nodes.get(i),i=e?.parentId;if(e instanceof lPi){const i=a.findIndex(t=>t instanceof Kw&&e instanceof lPi&&t.func.value===js(e,lPi).propertyExpressionState.propertyExpression.func.value&&t.func.ownerReference.value.path===e.propertyExpressionState.propertyExpression.func.ownerReference.value.path);i>=0&&(s=n instanceof dPi?t.newGroupConditionFromNode(n):n instanceof aPi?n:t.getParentNode(n),a=a.slice(i+1),o=o.slice(i+1))}else i||(s=n instanceof dPi?t.newGroupConditionFromNode(n):n instanceof aPi?n:t.getParentNode(n))}for(let e=0;e<a.length-1;++e){const n=new lPi(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 rPi(t,a[a.length-1]),d=new dPi(void 0,c);d.setIsNewlyAdded(!0),t.addNodeFromNode(d,s),n instanceof uPi&&t.removeNodeAndPruneBranch(n)},iYi=(e,t,n)=>{let i=e.getParentNode(n),r=[];for(r.push(n.condition.propertyExpressionState.propertyExpression);i&&i.id!==t.id;)i instanceof lPi&&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 Kw("");o.func=s.func,o.parametersValues=[...s.parametersValues];for(const e of r){const t=[];let n=e;for(;n instanceof Kw||n instanceof Yw&&lS(n.functionName,bpt.SUBTYPE);){if(n instanceof Yw){const e=new Yw(sS(bpt.SUBTYPE));e.parametersValues.unshift(Gs(n.parametersValues[1])),t.push(e)}else if(n instanceof Kw){const e=new Kw("");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],Kw,"Can't process exists() expression: can't flatten to a property expression")}return js(gPi(o,e.queryBuilderState,t.lambdaParameterName??e.lambdaParameterName),Kw)},rYi=(e,t,n)=>{if(ePi(e)){const i=uMi(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:Zut.CAUTION,actions:[{label:"Cancel",type:Qut.PROCEED_WITH_CAUTION,default:!0},{label:"Proceed",type:Qut.PROCEED,handler:t.queryBuilderState.applicationStore.guardUnhandledError(async()=>nYi(e,t,n))}]})}else{const i=new rPi(t,e),r=new dPi(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 lPi&&(s=o);if(o instanceof lPi&&(s=o),n instanceof aPi)s?t.newGroupConditionFromNode(s,r,n.groupOperation):t.addNodeFromNode(r,n);else if(n instanceof uPi)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 lPi)t.newGroupConditionFromNode(s,r);else if(n instanceof dPi){const e=t.getParentNode(n);if(s&&e instanceof lPi&&1===e.childrenIds.length)t.newGroupConditionFromNode(s,r,zMi.AND);else if(s&&e instanceof aPi){const i=iYi(t,s,n);t.removeNodeAndPruneBranch(n),t.newGroupConditionFromNode(s,r,e.groupOperation);const o=t.getParentNode(r);nYi(i,t,o)}else t.newGroupWithConditionFromNode(r,n)}else t.addNodeFromNode(r,void 0)}},sYi=xoe(e=>{const{node:t,isDragOver:n,isDroppable:i}=e,r=t.groupOperation===zMi.AND?"AND":"OR";return Lie.jsx("div",{className:"dnd__entry__container",children:Lie.jsx(fUe,{isDragOver:n,isDroppable:i,label:r,className:"query-builder-filter-tree__group-node__drop-zone",children:Lie.jsx("div",{className:"query-builder-filter-tree__group-node",title:"Switch Operation",onClick:e=>{e.stopPropagation(),t.setGroupOperation(t.groupOperation===zMi.AND?zMi.OR:zMi.AND)},children:Lie.jsx("div",{className:"query-builder-filter-tree__group-node__label editable-value",children:t.groupOperation})})})})}),oYi=xoe(e=>{const{node:t,humanizePropertyName:n,isDragOver:i,isDroppable:r}=e,s=Boolean(t.propertyExpressionState.derivedPropertyExpressionStates.length),o=t.propertyExpressionState.isValid;return Lie.jsx("div",{className:"dnd__entry__container",children:Lie.jsx(fUe,{isDragOver:i,isDroppable:r,label:"Add to Exists Group",className:"query-builder-filter-tree__exists-node__drop-zone",children:Lie.jsxs("div",{className:"query-builder-filter-tree__exists-node",title:"This is an exists filter on the collection property",children:[Lie.jsx("div",{className:"query-builder-filter-tree__exists-node__label",children:uMi(t.propertyExpressionState.propertyExpression,n)}),Lie.jsx("div",{className:"query-builder-filter-tree__exists-node__exists--label",children:"exists"}),s&&Lie.jsxs("button",{className:Noe("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&&Lie.jsx(hse,{})," (...)"]}),Lie.jsx(zqi,{propertyExpressionState:t.propertyExpressionState})]})})})}),aYi=xoe(e=>{const{rightConditionValue:t,resetNode:n}=e,i=t.type;return Lie.jsx("div",{className:"query-builder-filter-property-expression-badge",children:Lie.jsxs("div",{className:"query-builder-filter-property-expression-badge__content",children:[Lie.jsx("div",{className:Noe("query-builder-filter-property-expression-badge__type",{"query-builder-filter-property-expression-badge__type--class":i instanceof ES,"query-builder-filter-property-expression-badge__type--enumeration":i instanceof NS,"query-builder-filter-property-expression-badge__type--primitive":i instanceof gS}),children:Yqi(i)}),Lie.jsx("div",{className:"query-builder-filter-property-expression-badge__property",title:t.propertyExpressionState.propertyExpression.func.value.name,children:Lie.jsx($qi,{propertyExpressionState:t.propertyExpressionState})}),Lie.jsx(KFi,{title:t.propertyExpressionState.propertyExpression.func.value.name,property:t.propertyExpressionState.propertyExpression.func.value,path:t.propertyExpressionState.path,isMapped:!0,placement:"bottom-end",children:Lie.jsx("div",{className:"query-builder-filter-property-expression-badge__property__info",children:Lie.jsx(hse,{})})}),Lie.jsx("button",{className:"query-builder-filter-property-expression-badge__action",name:"Reset",title:"Reset",onClick:n,children:Lie.jsx(ire,{})})]})})}),lYi=(e,t)=>{const n=t.operator,i=t.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType;return!(n instanceof AWi)&&!(n instanceof RWi)&&Wpt(e,i)},cYi=xoe(e=>{const{node:t,isDragOver:i}=e,r=t.condition.filterState.queryBuilderState.graphManagerState.graph,s=t.condition.filterState.queryBuilderState,o=t.condition.rightConditionValue,a=fut(),l=cPi(t),c=n.useCallback((e,n)=>{const i=Xqi(e,n);if(void 0!==i&&lYi(i,t.condition))try{if((n===yMi||n===ABi.ENUM_PROPERTY||n===ABi.PRIMITIVE_PROPERTY)&&l)throw new Yr("Collection filter does not support property for filter condition value.");if(n===yMi){const n=e.columnState;if(!(n instanceof _Mi))throw new Yr("Derivation projection columns are not supported for filter condition values.");{const e=n.propertyExpressionState.propertyExpression;if(ePi(e))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(new mMi(s,sMi(e,s.observerContext)))}}else if(n===ABi.ENUM_PROPERTY||n===ABi.PRIMITIVE_PROPERTY){const n=e.node,i=new mMi(s,LBi(n,t.condition.filterState.queryBuilderState.explorerState));if(ePi(i.propertyExpression))throw new Yr("Collection types are not supported for filter condition values.");t.condition.buildRightConditionValueFromPropertyExpressionState(i)}else if(n===Sqi){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]=zVe(()=>({accept:tYi,canDrop:(e,n)=>lYi(Xqi(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}=VVe(e=>({isFilterValueDroppable:e.isDragging()&&tYi.includes(e.getItemType()?.toString()??"")&&lYi(Xqi(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=dMi(gS.STRING,e,s.observerContext);return t.condition.handleTypeaheadSearch(n??void 0)},1e3),[t,s.observerContext]),v={values:t.condition.typeaheadSearchResults,isLoading:t.condition.typeaheadSearchState.isInProgress,reloadValues:f,cleanUpReloadValues:()=>{t.condition.typeaheadSearchState.complete()}};return n.useEffect(()=>{t.setIsNewlyAdded(!1)},[t]),Lie.jsx("div",{className:"dnd__entry__container","data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_CONTENT,children:Lie.jsx(fUe,{isDragOver:i&&!d,alwaysShowChildren:!0,children:Lie.jsxs("div",{className:"query-builder-filter-tree__condition-node",children:[Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__property",children:Lie.jsx($qi,{propertyExpressionState:t.condition.propertyExpressionState})}),Lie.jsxs(AFe,{className:"query-builder-filter-tree__condition-node__operator",title:"Choose Operator...",content:Lie.jsx(CFe,{children:t.condition.operators.map(e=>{return Lie.jsx(SFe,{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:[Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__label",children:t.condition.operator.getLabel()}),Lie.jsx("div",{className:"query-builder-filter-tree__condition-node__operator__dropdown__trigger",children:Lie.jsx(Bre,{})})]}),o instanceof nPi&&o.value?Lie.jsx("div",{ref:h,"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_CONDITION_NODE_VALUE,className:"query-builder-filter-tree__condition-node__value",children:Lie.jsx(fUe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Lie.jsx(Pqi,{valueSpecification:o.value,setValueSpecification:m,graph:r,observerContext:s.observerContext,typeCheckOption:{expectedType:t.condition.propertyExpressionState.propertyExpression.func.value.genericType.value.rawType},resetValue:g,selectorSearchConfig:v,isConstant:s.constantState.isValueSpecConstant(o.value),initializeAsEditable:t.isNewlyAdded})})}):o instanceof iPi?Lie.jsx("div",{ref:h,className:"query-builder-filter-tree__condition-node__value",children:Lie.jsx(fUe,{isDragOver:d,isDroppable:p,label:"Change Filter Value",children:Lie.jsx(aYi,{rightConditionValue:o,resetNode:g})})}):null]})})})}),dYi=xoe(e=>{const{isDragOver:t,isDroppable:n}=e;return Lie.jsx("div",{className:"query-builder-filter-tree__node__label__content",children:Lie.jsx(fUe,{isDragOver:t,isDroppable:n,label:"Create Condition",children:Lie.jsx("div",{className:"query-builder-filter-tree__blank-node",children:"blank"})})})}),uYi=xoe(n.forwardRef(function(e,t){const{queryBuilderState:n,node:i}=e,r=n.filterState;return Lie.jsxs(CFe,{ref:t,children:[i instanceof aPi&&Lie.jsx(SFe,{onClick:()=>{r.addNodeFromNode(new uPi(void 0),i)},children:"Add New Condition"}),i instanceof aPi&&Lie.jsx(SFe,{onClick:()=>{r.addGroupConditionNodeFromNode(i)},children:"Add New Logical Group"}),i instanceof dPi&&Lie.jsx(SFe,{onClick:()=>{hpt.logEvent_FilterCreateGroupFromConditionLaunched(n.applicationStore.telemetryService),r.newGroupWithConditionFromNode(void 0,i)},children:"Form a New Logical Group"}),Lie.jsx(SFe,{onClick:()=>r.removeNodeAndPruneBranch(i),children:"Remove"})]})})),hYi=xoe(e=>{const{node:t,onNodeSelect:i,innerProps:r}=e,{queryBuilderState:s}=r,o=n.useRef(null),[a,l]=n.useState(!1),c=fut(),d=s.filterState,u=n.useCallback((e,n)=>{if(JMi.CONDITION===n){const n=e.node,i=new dPi(void 0,d.nodes.get(n.id).condition);t instanceof uPi?(d.replaceBlankNodeWithNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof dPi?(d.newGroupWithConditionFromNode(i,t),d.removeNodeAndPruneBranch(n)):t instanceof aPi&&(d.addNodeFromNode(i,t),d.removeNodeAndPruneBranch(n))}else{let i;try{let t;if(n===yMi){if(!(e.columnState instanceof _Mi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");t=sMi(e.columnState.propertyExpressionState.propertyExpression,s.observerContext)}else t=LBi(e.node,d.queryBuilderState.explorerState);i=new rPi(d,t)}catch(e){return Kr(e),void c.notificationService.notifyWarning(e.message)}(t instanceof oPi||t instanceof dPi||t instanceof uPi)&&rYi(i.propertyExpressionState.propertyExpression,d,t)}},[c,d,t,s.observerContext]),[{isDragOver:h,deepIsDragOver:p},g]=zVe(()=>({accept:s.TEMPORARY__isDnDFetchStructureToFilterSupported?Jqi:eYi,drop:(e,t)=>{t.didDrop()||u(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0}),deepIsDragOver:e.isOver({shallow:!1})})}),[u]),[,m,f]=BVe(()=>({type:t instanceof aPi?JMi.GROUP_CONDITION:t instanceof dPi?JMi.CONDITION:JMi.BLANK_CONDITION,item:()=>({node:t}),end:()=>d.setRearrangingConditions(!1),canDrag:()=>t instanceof dPi||t instanceof uPi}),[t,d]);m(g(o)),vUe(f);const{isDroppable:v}=VVe(e=>({isDroppable:e.isDragging()&&(s.TEMPORARY__isDnDFetchStructureToFilterSupported?Jqi:eYi).includes(e.getItemType()?.toString()??"")})),y=t instanceof lPi&&0===t.childrenIds.length,b=t instanceof dPi||t instanceof uPi||y;return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CONTAINER,className:Noe("query-builder-filter-tree__node__container",{"query-builder-filter-tree__node__container--group":t instanceof aPi,"query-builder-filter-tree__node__container--condition":t instanceof dPi||t instanceof uPi,"query-builder-filter-tree__node__container--exists":t instanceof lPi,"query-builder-filter-tree__node__container--exists--empty":y,"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:Lie.jsxs(TFe,{content:Lie.jsx(uYi,{queryBuilderState:s,node:t}),menuProps:{elevation:7},onOpen:()=>l(!0),onClose:()=>l(!1),className:"query-builder-filter-tree__node__context-menu",children:[Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CONTENT,className:"query-builder-filter-tree__node__content",ref:o,onClick:t instanceof dPi||t instanceof uPi?()=>i?.(t):void 0,children:[t instanceof aPi&&Lie.jsx(sYi,{node:t,isDroppable:v,isDragOver:h}),t instanceof lPi&&Lie.jsx(oYi,{node:t,humanizePropertyName:d.queryBuilderState.explorerState.humanizePropertyName,isDroppable:v,isDragOver:h}),t instanceof dPi&&Lie.jsx(cYi,{node:t,isDragOver:p}),t instanceof uPi&&Lie.jsx(dYi,{node:t,isDragOver:h,isDroppable:v})]}),b&&Lie.jsx("div",{className:"query-builder-filter-tree__node__actions",children:Lie.jsx("button",{className:"query-builder-filter-tree__node__action",tabIndex:-1,title:"Remove",onClick:()=>d.removeNodeAndPruneBranch(t),children:Lie.jsx(Ise,{})})})]})})}),pYi=xoe(e=>{const{node:t,level:n,onNodeSelect:i,getChildNodes:r,stepPaddingInRem:s,innerProps:o}=e;return Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_BLOCK,className:Noe("query-builder-filter-tree__node__block",{"query-builder-filter-tree__node__block--group":t instanceof aPi,"query-builder-filter-tree__node__block--exists":t instanceof lPi}),children:[Lie.jsx(hYi,{node:t,level:n+1,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}),t.isOpen&&r(t).length>0&&Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE_NODE_CHILDREN,className:"query-builder-filter-tree__node__children",children:r(t).map(e=>Lie.jsx(pYi,{node:e,level:n+1,onNodeSelect:i,getChildNodes:r,innerProps:o},e.id))})]})}),gYi=xoe(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 oPi?e.childrenIds.map(e=>n.getNode(e)):[];return Lie.jsx("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_TREE,className:"tree-view__node__root query-builder-filter-tree__root",children:i.map(e=>Lie.jsx(pYi,{level:0,node:e,getChildNodes:s,onNodeSelect:r,innerProps:{queryBuilderState:t}},e.id))})}),mYi=xoe(e=>{const{queryBuilderState:t}=e,i=fut(),r=t.filterState,s=r.getRootNode(),o=r.isEmpty||r.selectedNode&&(r.selectedNode!==s||s instanceof aPi),{isDroppable:a}=VVe(e=>({isDroppable:e.isDragging()&&(t.TEMPORARY__isDnDFetchStructureToFilterSupported?Zqi:Qqi).includes(e.getItemType()?.toString()??"")})),l=n.useCallback((e,n)=>{try{let i;if(n===yMi){if(!(e.columnState instanceof _Mi))throw new Yr("Dragging and Dropping derivation projection column is not supported.");i=sMi(e.columnState.propertyExpressionState.propertyExpression,t.observerContext)}else i=LBi(e.node,r.queryBuilderState.explorerState);r.setSelectedNode(void 0),rYi(i,r)}catch(e){return Kr(e),void i.notificationService.notifyWarning(e.message)}},[i,r,t.observerContext]),[{isDragOver:c},d]=zVe(()=>({accept:t.TEMPORARY__isDnDFetchStructureToFilterSupported?Zqi:Qqi,drop:(e,t)=>{t.didDrop()||l(e,t.getItemType())},collect:e=>({isDragOver:e.isOver({shallow:!0})})}),[l]),u=n.useRef(null);return d(u),Lie.jsxs("div",{"data-testid":ZFi.QUERY_BUILDER_FILTER_PANEL,className:"panel",children:[Lie.jsxs("div",{className:"panel__header",children:[Lie.jsxs("div",{className:"panel__header__title",children:[Lie.jsx("div",{className:"panel__header__title__label",children:"filter"}),0!==r.allValidationIssues.length&&Lie.jsx(qqi,{issues:r.allValidationIssues})]}),Lie.jsx("div",{className:"panel__header__actions",children:Lie.jsx(AFe,{className:"panel__header__action",title:"Show Filter Options Menu...",content:Lie.jsxs(CFe,{children:[Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCreateConditionLaunched(t.applicationStore.telemetryService),r.addNodeFromNode(new uPi(void 0),r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(Cse,{})}),Lie.jsx(xFe,{children:"Create Condition"})]}),Lie.jsxs(SFe,{disabled:!(r.selectedNode instanceof dPi),onClick:()=>{hpt.logEvent_FilterCreateLogicalGroupLaunched(i.telemetryService),r.selectedNode instanceof dPi&&r.newGroupWithConditionFromNode(void 0,r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(Wse,{})}),Lie.jsx(xFe,{children:"Create Group From Condition"})]}),Lie.jsxs(SFe,{disabled:!o,title:o?"":"Please select a filter node first to create logical group",onClick:()=>{hpt.logEvent_FilterCreateLogicalGroupLaunched(t.applicationStore.telemetryService),o&&r.addGroupConditionNodeFromNode(r.selectedNode)},children:[Lie.jsx(EFe,{children:Lie.jsx(yse,{})}),Lie.jsx(xFe,{children:"Create Logical Group"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCleanupTreeLaunched(t.applicationStore.telemetryService),r.pruneTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(kse,{})}),Lie.jsx(xFe,{children:"Cleanup Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterSimplifyTreeLaunched(t.applicationStore.telemetryService),r.simplifyTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(Wre,{})}),Lie.jsx(xFe,{children:"Simplify Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterCollapseTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.collapseTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(Yre,{})}),Lie.jsx(xFe,{children:"Collapse Tree"})]}),Lie.jsxs(SFe,{onClick:()=>{hpt.logEvent_FilterExpandTreeLaunched(t.applicationStore.telemetryService),r.setSelectedNode(void 0),r.expandTree()},children:[Lie.jsx(EFe,{children:Lie.jsx(nse,{})}),Lie.jsx(xFe,{children:"Expand Tree"})]})]}),children:Lie.jsx(ere,{className:"query-builder__icon__more-options"})})})]}),Lie.jsx(FFe,{children:Lie.jsxs(pUe,{isDragOver:c&&r.isEmpty,isDroppable:a&&r.isEmpty,dropTargetConnector:d,children:[r.isEmpty&&Lie.jsx(KFe,{text:"Add a filter condition",tooltipText:"Drag and drop properties here"}),!r.isEmpty&&Lie.jsxs(Lie.Fragment,{children:[Lie.jsx(yUe,{labelGetter:e=>e.node.dragPreviewLabel,types:Object.values(JMi)}),Lie.jsx(gYi,{queryBuilderState:t})]}),a&&!r.isEmpty&&Lie.jsx("div",{ref:u,className:"query-builder-filter-tree__free-drop-zone__container",children:Lie.jsx(fUe,{isDragOver:c,isDroppable:a,className:"query-builder-filter-tree__free-drop-zone",label:"Add filter to main group",children:Lie.jsx(Lie.Fragment,{})})})]})})]})}),fYi=xoe(e=>{const{resultState:t}=e,i=fut(),r=i.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraQueryUsageConfigurations?.()??[]),[s,o]=n.useState(r[0]?.title),a=r.find(e=>e.title===s);return Lie.jsx(ebe,{open:t.isQueryUsageViewerOpened,onClose:()=>t.setIsQueryUsageViewerOpened(!1),children:Lie.jsxs(hFe,{className:"query-builder__usage-viewer__modal",darkMode:!i.layoutService.TEMPORARY__isLightColorThemeEnabled,children:[Lie.jsx(gFe,{title:"Query Usage"}),Lie.jsx(fFe,{className:"query-builder__usage-viewer__body",children:Lie.jsxs(Lie.Fragment,{children:[0===r.length?Lie.jsx(qFe,{children:"Query usage is not available"}):Lie.jsxs(Lie.Fragment,{children:[Lie.jsx("div",{className:"query-builder__usage-viewer__tab__header",children:Lie.jsx("div",{className:"query-builder__usage-viewer__tabs",children:r.map(e=>Lie.jsxs("button",{className:Noe("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&&Lie.jsx("div",{className:"query-builder__usage-viewer__tab__icon",children:e.icon}),Lie.jsx("div",{className:"query-builder__usage-viewer__tab__label",children:e.title})]},e.key))})}),Lie.jsx("div",{className:"query-builder__usage-viewer__content",children:a?.renderer()})]}),Lie.jsx(UFe,{})]})}),Lie.jsx(vFe,{children:Lie.jsx(bFe,{onClick:()=>t.setIsQueryUsageViewerOpened(!1),text:"Close",type:"secondary"})})]})})});var vYi;function yYi(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=yYi(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"}(vYi||(vYi={}));var bYi,_Yi={exports:{}},CYi={};var SYi,wYi,EYi={};
|
|
902
902
|
/**
|
|
903
903
|
* @license React
|
|
904
904
|
* use-sync-external-store-shim/with-selector.development.js
|