@digitalsee-ai/rcs 2.0.0-pre1 → 2.0.0-pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rcs.umd.js CHANGED
@@ -6,7 +6,7 @@
6
6
  `);s=a===-1?"":i.slice(a+1)}if(!r.stack)r.stack=s;else if(s){const a=s.indexOf(`
7
7
  `),l=a===-1?-1:s.indexOf(`
8
8
  `,a+1),c=l===-1?"":s.slice(l+1);String(r.stack).endsWith(c)||(r.stack+=`
9
- `+s)}}catch{}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Yo(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&ec.assertOptions(r,{silentJSONParsing:nn.transitional(nn.boolean),forcedJSONParsing:nn.transitional(nn.boolean),clarifyTimeoutError:nn.transitional(nn.boolean),legacyInterceptorReqResOrdering:nn.transitional(nn.boolean),advertiseZstdAcceptEncoding:nn.transitional(nn.boolean),validateStatusUndefinedResolves:nn.transitional(nn.boolean)},!1),o!=null&&(Q.isFunction(o)?n.paramsSerializer={serialize:o}:ec.assertOptions(o,{encode:nn.function,serialize:nn.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ec.assertOptions(n,{baseUrl:nn.spelling("baseURL"),withXsrfToken:nn.spelling("withXSRFToken")},!0),n.method=(Q.getSafeProp(n,"method")||Q.getSafeProp(this.defaults,"method")||"get").toLowerCase();let s=i&&Q.merge(i.common,i[n.method]);i&&Q.forEach(qv.concat("common"),m=>{delete i[m]}),n.headers=tn.concat(s,i);const a=[];let l=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;l=l&&v.synchronous;const b=n.transitional||$f;b&&b.legacyInterceptorReqResOrdering?a.unshift(v.fulfilled,v.rejected):a.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let u,d=0,f;if(!l){const m=[Gf.bind(this),void 0];for(m.unshift(...a),m.push(...c),f=m.length,u=Promise.resolve(n);d<f;)u=u.then(m[d++],m[d++]);return u}f=a.length;let p=n;for(;d<f;){const m=a[d++],v=a[d++];try{p=m?m(p):p}catch(b){if(!v){u=Promise.reject(b);break}try{const w=v.call(this,b);Q.isThenable(w)&&(u=Promise.resolve(w).then(()=>Gf.call(this,p)))}catch(w){u=Promise.reject(w)}break}}if(!u)try{u=Gf.call(this,p)}catch(m){u=Promise.reject(m)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(e){e=Yo(this.defaults,e);const n=Qv(e.baseURL,e.url,e.allowAbsoluteUrls,e);return $v(n,e.params,e.paramsSerializer)}};Q.forEach(["delete","get","head","options"],function(e){Xo.prototype[e]=function(n,r){return this.request(Yo(r||{},{method:e,url:n,data:r&&Q.hasOwnProp(r,"data")?r.data:void 0}))}}),Q.forEach(["post","put","patch","query"],function(e){function n(r){return function(i,s,a){return this.request(Yo(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}Xo.prototype[e]=n(),e!=="query"&&(Xo.prototype[e+"Form"]=n(!0))});let cI=class WB{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new Zs(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new WB(function(o){e=o}),cancel:e}}};function uI(t){return function(n){return t.apply(null,n)}}function dI(t){return Q.isObject(t)&&t.isAxiosError===!0}const tc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(tc).forEach(([t,e])=>{tc[e]===void 0&&(tc[e]=t)});function fy(t){const e=new Xo(t),n=bv(Xo.prototype.request,e);return Q.extend(n,Xo.prototype,e,{allOwnKeys:!0}),Q.extend(n,e,null,{allOwnKeys:!0}),n.create=function(o){return fy(Yo(t,o))},n}const xt=fy(Qs);xt.Axios=Xo,xt.CanceledError=Zs,xt.CancelToken=cI,xt.isCancel=Gv,xt.VERSION=Wf,xt.toFormData=Xl,xt.AxiosError=Ae,xt.Cancel=xt.CanceledError,xt.all=function(e){return Promise.all(e)},xt.spread=uI,xt.isAxiosError=dI,xt.mergeConfig=Yo,xt.AxiosHeaders=tn,xt.formToJSON=t=>Uv(Q.isHTMLForm(t)?new FormData(t):t),xt.getAdapter=uy.getAdapter,xt.HttpStatusCode=tc,xt.default=xt;const{Axios:une,AxiosError:dne,CanceledError:fne,isCancel:hne,CancelToken:pne,VERSION:mne,all:gne,Cancel:wne,isAxiosError:bne,spread:vne,toFormData:yne,AxiosHeaders:Cne,HttpStatusCode:kne,formToJSON:Sne,getAdapter:Ene,mergeConfig:xne,create:Dne}=xt,fI={nodeCategory:"/acm/links/domain/v2",nodesList:"/acm/links/v2",searchLinks:"/acm/links/search",connectableNodePackageCategories:"/acm/node-package/categories/connectable",connectableNodePackagePlugins:"/acm/node-package/plugins/connectable",actions:"/acm/actions/v2",actionNodeSchema:"/acm/actions/:nodeKey/:version",createNode:"/acm/flows/nodes/v2",updateNode:"/acm/flows/nodes/v2/:id",updateEdges:"/acm/flows/edge/v2/:flowId",copyFlow:"/acm/flows/copy/:id",proxyGroup:"/iam/api/proxyGroup",createFlow:"/acm/flows/v2",flowDetail:"/acm/flows/v2/:flowId",testRunNode:"/acm/flows/nodes/run/v2/:id",listenWebhook:"/acm/flows/:flowId/webhook/listen",connectors:"/acm/allLinks",connectorDetail:"/acm/links/:connectorId",nodeDetail:"/acm/flows/nodes/:id",cancelDebug:"/acm/flows/nodes/cancelDebug/v2/:id",deleteNode:"/acm/flows/nodes/v2/:id",checkFlow:"/acm/flows/check/:id",templateFlow:"/acm/flows/templates/:id",flowOutput:"/acm/flows/output/:id",flowOutputTree:"/acm/flows/outputTree/v2/:flowId",globalVariables:"/acm/api/globalVariables/list",accountModel:"/acm/accounts/:account_key",accountInstanceCollection:"/acm/accountInstance",accountInstanceDetail:"/acm/accountInstance/:id",accountInstanceTest:"/acm/accountInstance/test",moveNode:"/acm/flows/nodes/move/:nodeId",copyNode:"/acm/flows/nodes/copy/v2/:nodeId",updateNodeNote:"/acm/flows/nodes/updateNote",nodeStatus:"/acm/flows/nodes/close/:nodeId",exportNode:"/acm/export/flowNode",importNode:"/acm/import/flowNode",stopFlow:"/acm/flows/stop/v2/:id",runFlow:"/acm/flows/run/v2/:id",removeEdges:"/acm/flows/remove/edge/:flowId",selectOptions:"/acm/actions/select/item",flowOpStatus:"/acm/flows/op/v2/:paramsId/:opStatus",onlineFlow:"/acm/flows/online/v2/:id",templateSettingsFlowDetail:"/acm/flows/:flowId",templateCategoryList:"/acm/flows/templates/category",templateCategoryDetail:"/acm/flows/templates/category/:id",templateCategoryRelation:"/acm/flows/templates/:templateId/category/:categoryId",templateTagList:"/acm/flows/templates/tag",templateTagDetail:"/acm/flows/templates/tag/:id",templateTagRelation:"/acm/flows/templates/:templateId/tag/:tagId",getAppList:"/iam/api/apps/v2",subFlowList:"/acm/flow/sub-flow/list",flowVersionStatus:"/acm/flows/v2/:flowId/versions/status"},hI=async(t,e={})=>{const{params:n,data:r,headers:o,method:i="GET",transformResponse:s=void 0}=e,a={};o&&Object.assign(a,o);const l={url:t,method:i,params:n,data:r,headers:Object.keys(a).length?a:void 0,transformResponse:s},u=(await xt(l)).data;return(u==null?void 0:u.data)!==void 0?u.data:u};let Li={endpoints:{...fI},httpClient:hI};const nc=t=>{t.httpClient&&(Li.httpClient=t.httpClient),t.endpoints&&(Li.endpoints={...Li.endpoints,...t.endpoints})},pI=/:([A-Za-z0-9_]+)/g,hy=(t,e)=>{const n=Li.endpoints[t];if(!n)throw new Error(`Workflow endpoint "${t}" is not configured.`);return n.replace(pI,(r,o)=>{if(!e||e[o]===void 0||e[o]===null)throw new Error(`Missing path parameter "${o}" for endpoint "${t}".`);return encodeURIComponent(String(e[o]))})},Ke=async(t,e,n)=>{const r=hy(t,n);return Li.httpClient(r,e)},mI=new Set(["data","success","code","message","msg","error","errorCode","requestId","traceId"]),gI=t=>!t||typeof t!="object"||Array.isArray(t)||!Object.hasOwn(t,"data")?!1:Object.keys(t).every(e=>mI.has(e));function Rf(t,e){let n=t;for(;gI(n);)n=n.data;return n}async function wI(t){return Ke("connectableNodePackageCategories",{method:"POST",data:mv(t)})}async function bI(t){return Ke("connectableNodePackagePlugins",{method:"POST",data:mv(t)})}const py=async t=>Ke("actions",{params:t}),my=async(t,e)=>{const n=await Ke("actionNodeSchema",void 0,{nodeKey:t,version:e});return vI(n,t,e)};function gy(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}function vI(t,e,n){const r=gy(t),o=gy((r==null?void 0:r.node_schema)??(r==null?void 0:r.nodeSchema)??r);return{...o,key:(o==null?void 0:o.key)??(r==null?void 0:r.action_key)??(r==null?void 0:r.node_key)??(r==null?void 0:r.nodeKey)??e,version:(o==null?void 0:o.version)??(r==null?void 0:r.action_ver)??(r==null?void 0:r.node_ver)??(r==null?void 0:r.nodeVersion)??n,name:(o==null?void 0:o.name)??(r==null?void 0:r.name)??(r==null?void 0:r.action_name)??e,description:(o==null?void 0:o.description)??(r==null?void 0:r.description),input_fields:Array.isArray(o==null?void 0:o.input_fields)?o.input_fields:[],output_fields:Array.isArray(o==null?void 0:o.output_fields)?o.output_fields:[],credentials:(o==null?void 0:o.credentials)??[]}}async function wy(t){return Ke("createNode",{method:"POST",headers:{"Content-Type":"text/plain"},data:Fi(t)})}async function rc(t,e){return Ke("updateNode",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(e)},{id:t})}async function Kf(){return Ke("proxyGroup")}async function Yf(t){try{return await Ke("flowDetail",void 0,{flowId:t})}catch(e){throw console.error("Failed to fetch workflow data",e),e}}async function oc(t,e){return Ke("flowDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(e)},{flowId:t})}async function by(t){return Ke("templateSettingsFlowDetail",void 0,{flowId:t})}async function vy(t,e){return Ke("templateSettingsFlowDetail",{method:"PUT",data:e},{flowId:t})}async function yy(){return Ke("templateCategoryList")}async function Cy(t){return Ke("templateCategoryList",{method:"POST",data:t})}async function ky(t,e){return Ke("templateCategoryDetail",{method:"PATCH",data:e},{id:t})}async function Sy(t){return Ke("templateCategoryDetail",{method:"DELETE"},{id:t})}async function Ey(t,e){return Ke("templateCategoryRelation",{method:"POST"},{templateId:t,categoryId:e})}async function xy(t,e){return Ke("templateCategoryRelation",{method:"DELETE"},{templateId:t,categoryId:e})}async function Dy(){return Ke("templateTagList")}async function _y(t){return Ke("templateTagList",{method:"POST",data:t})}async function Ay(t,e){return Ke("templateTagDetail",{method:"PATCH",data:e},{id:t})}async function Oy(t){return Ke("templateTagDetail",{method:"DELETE"},{id:t})}async function Ty(t,e){return Ke("templateTagRelation",{method:"POST"},{templateId:t,tagId:e})}async function Ny(t,e){return Ke("templateTagRelation",{method:"DELETE"},{templateId:t,tagId:e})}async function By(t){return Ke("testRunNode",{method:"POST",data:{},transformResponse:e=>({data:JSON.parse(e)})},{id:t})}async function Fy(t,e){return Ke("listenWebhook",{method:"GET",params:e},{flowId:t})}async function My(t,e,n,r,o,i,s){return Ke("cancelDebug",{method:"PATCH",data:{connector_id:e,action_id:n,account_id:r,output:i,properties:o}},{id:t})}async function Xf(t){return Ke("deleteNode",{method:"DELETE"},{id:t})}async function Iy(t,e){return Ke("flowOutputTree",{method:"POST",data:{...e,node_id:e.nodeId}},{flowId:t})}async function Py(){return Ke("globalVariables",{method:"GET",params:{page:1,size:1e3}})}async function Jf(t,e){const n=hy("accountModel",{account_key:t}),r=e==null?"":`/${encodeURIComponent(String(e))}`,o=await Li.httpClient(`${n}${r}`);return Rf(o)}async function Ly(t){const e=await Ke("accountInstanceDetail",void 0,{id:t});return Rf(e)}function Qf(t,e){return e&&(e.account_key&&(t.account_key=e.account_key),e.account_ver!==void 0&&e.account_ver!==null&&(t.account_ver=e.account_ver)),t}async function $y(t,e,n,r,o,i,s){const a=Qf({connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o},s);return i&&(a.proxy_id=i),Ke("accountInstanceCollection",{method:"POST",headers:{"Content-Type":"text/plain"},data:Fi(a)})}async function Zf(t,e,n,r,o,i,s,a){const l=Qf({connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o,id:i},a);return s&&(l.proxy_id=s),Ke("accountInstanceTest",{method:"POST",data:l})}async function zy(t,e,n,r,o,i,s,a){const l=Qf({connector_id:e,account_schema_id:n,auth_type:r,name:o,config:i},a);return s&&(l.proxy_id=s),Ke("accountInstanceDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(l)},{id:t})}async function Hy(t,e){return Ke("accountInstanceDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi({connector_id:null,account_schema_id:null,auth_type:null,name:e,config:null})},{id:t})}async function eh(t){return Ke("copyNode",void 0,{nodeId:t})}async function Vy(t,e){return Ke("updateNodeNote",{method:"POST",data:{id:t,note:e}})}async function jy(t,e){return Ke("nodeStatus",{params:{closed:e==="on"?0:1}},{nodeId:t})}async function Wy(t,e){return Ke("removeEdges",{method:"POST",data:e},{flowId:t})}async function Uy(t){return Ke("selectOptions",{method:"GET",params:{type:t}})}async function qy(t){return Ke("flowVersionStatus",void 0,{flowId:t})}const Gy=async(t,e)=>{const n={account_schema_id:e??null};t&&(n.linkId=t);const r=await Ke("accountInstanceCollection",{params:n});return Rf(r)},Ry=async(t,e={})=>{var n;return Ke("getAppList",{params:{size:t.pageSize,page:t.current,filter:(n=e.filter)==null?void 0:n.trim()}})},Ky=async(t,e={})=>Ke("subFlowList",{params:{name:t}}),Yy=Object.freeze(Object.defineProperty({__proto__:null,apiAddTemplateCategoryRelation:Ey,apiAddTemplateTagRelation:Ty,apiCancelDebug:My,apiCopyNode:eh,apiCreateAccountInstance:$y,apiCreateNode:wy,apiCreateTemplateCategory:Cy,apiCreateTemplateTag:_y,apiDeleteNode:Xf,apiDeleteTemplateCategory:Sy,apiDeleteTemplateTag:Oy,apiGetAccountInstanceDetail:Ly,apiGetAccountInstanceV2:Gy,apiGetAccountModel:Jf,apiGetActionNodeSchema:my,apiGetActions:py,apiGetFlow:Yf,apiGetFlowOutputTree:Iy,apiGetFlowVersionStatus:qy,apiGetGlobalVariables:Py,apiGetProxyGroup:Kf,apiGetSelectOptions:Uy,apiGetTemplateCategories:yy,apiGetTemplateSettings:by,apiGetTemplateTags:Dy,apiListenWebhook:Fy,apiQueryConnectableNodePackageCategories:wI,apiQueryConnectableNodePackagePlugins:bI,apiRemoveEdges:Wy,apiRemoveTemplateCategoryRelation:xy,apiRemoveTemplateTagRelation:Ny,apiSaveTemplateSettings:vy,apiTestAccountInstanceValid:Zf,apiTestRunNode:By,apiUpdateAccountInstance:zy,apiUpdateAccountInstanceName:Hy,apiUpdateFlow:oc,apiUpdateNode:rc,apiUpdateNodeNote:Vy,apiUpdateNodeStatus:jy,apiUpdateTemplateCategory:ky,apiUpdateTemplateTag:Ay,configureWorkflowApi:nc,fetchSubFlowList:Ky,getAppList:Ry},Symbol.toStringTag,{value:"Module"}));function yI(t){return typeof t=="number"?Number.isFinite(t)&&t>0:typeof t=="string"&&/^[1-9]\d*$/.test(t.trim())}function CI(t,e){const n=e.connector_id??e.connectorId;return n!=null?{connector_id:n}:yI(t)?{}:{connector_id:null}}var pe=(t=>(t.TRIGGER="StartEventNode",t.ACTION="ActionNode",t.CONDITION="ConditionNode",t.LOOP="LoopNode",t.SELF_LOOP="SelfLoopNode",t.MCPServer="MCPServerNode",t.MCP_TRIGGER_NODE="MCP_TRIGGER_NODE",t.BuiltinMCP="BuiltinMCPNode",t.VECTOR_STORE="VectorStoreNode",t.AGENT="AgentNode",t.BROWSER="BrowserNode",t.AI_SUB_NODE="AISubNode",t.MCP_TOOL="MCPToolNode",t.MCP_TOOLS_NODE="MCP_TOOLS_NODE",t.SWITCH="SwitchNode",t.STICKY="StickyNoteNode",t.CUSTOM="custom",t.DYNAMIC="dynamic",t))(pe||{}),me=(t=>(t.INVALID="INVALID",t.IDLE="IDLE",t.RUNNING="RUNNING",t.FAILED="FAILED",t.SUCCESS="SUCCESS",t.RUNNABLE="RUNNABLE",t.ACTIVE="ACTIVE",t.DEACTIVATED="DEACTIVATED",t.WARNING="WARNING",t))(me||{}),$e=(t=>(t.AI_LANGUAGE_MODEL="AI_LANGUAGE_MODEL",t.AI_VECTOR_STORE="AI_VECTORSTORE",t.AI_MEMORY="AI_MEMORY",t.AI_DOCUMENT="AI_DOCUMENT",t.AI_TEXT_SPLITTER="AI_TEXTSPLITTER",t.AI_EMBEDDING="AI_EMBEDDING",t.AI_TOOL="AI_TOOL",t.MCP="MCP",t.BUILTIN_MCP="BUILTIN_MCP",t.MCP_SERVER="MCP_SERVER",t))($e||{}),xe=(t=>(t.HIDDEN="HIDDEN",t.LABEL="LABEL",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.DATE="DATE",t.TIME="TIME",t.DATETIME="DATETIME",t.SELECT="SELECT",t.API_SELECT="API_SELECT",t.FIXED_OBJ="FIXED_OBJ",t.JSON="JSON",t.EXTEND_OBJ="EXTEND_OBJ",t.PASSWORD="PASSWORD",t.MultiRowAIExtractConfig="MULTI_ROW_EXTRACT",t.MULTI_SELECT_LIST="MULTI_SELECT_LIST",t.SYNC_HOUR_MINUTE="SYNC_HOUR_MINUTE",t.AUTH_TOKEN="AUTH_TOKEN",t.SECRET_KEY="SECRET_KEY",t.SELECT_CLIENT="SELECT_CLIENT",t))(xe||{}),Lt=(t=>(t.REQUIRED="required",t.TYPE="type",t.ENUM="enum",t.RANGE="range",t))(Lt||{}),ic=(t=>(t.ERROR="Error",t.WARNING="Warning",t))(ic||{}),$i=(t=>(t.STRING="string",t.NUMBER="number",t.BOOLEAN="boolean",t.OBJECT="object",t.ARRAY="array",t))($i||{});const sc={token:{colorPrimary:"#2d5bff",colorInfo:"#2d5bff",colorSuccess:"#16a34a",colorWarning:"#d97706",colorError:"#dc2626",colorText:"#0f172a",colorTextSecondary:"#64748b",colorBorder:"#e2e8f0",colorBorderSecondary:"#eef1f5",colorBgContainer:"#ffffff",colorBgLayout:"#eef0f4",colorFillSecondary:"#f1f5f9",borderRadius:8,borderRadiusSM:6,borderRadiusLG:14,controlHeight:34,fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif",boxShadow:"0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04)",boxShadowSecondary:"0 18px 48px -16px rgba(15, 23, 42, 0.3)"},components:{Button:{borderRadius:8,controlHeight:34,defaultShadow:"none",primaryShadow:"none"},Card:{borderRadiusLG:12},Drawer:{paddingLG:20},Form:{itemMarginBottom:18,labelColor:"#334155",labelFontSize:13},Input:{activeBorderColor:"#2d5bff",hoverBorderColor:"#9db0ff"},Modal:{borderRadiusLG:14,titleColor:"#0f172a"},Select:{activeBorderColor:"#2d5bff",hoverBorderColor:"#9db0ff",optionSelectedBg:"#eff3ff"},Tabs:{inkBarColor:"#2d5bff",itemActiveColor:"#2d5bff",itemSelectedColor:"#2d5bff"},Tree:{nodeHoverBg:"#f1f5f9",nodeSelectedBg:"#eff3ff"}}},dn={default:"#007FFF",selected:"#3395ff",hovered:"#66b2ff",disabled:"#c7ccd1",[me.IDLE]:"#aab2c2",[me.INVALID]:"#fa8c16",[me.RUNNING]:"#1890ff",[me.FAILED]:"rgb(220, 38, 38)",[me.SUCCESS]:"#52c41a",[me.RUNNABLE]:"#52c41a",aiProtocol:"#007FFF"},Jo={[me.IDLE]:"#007FFF",[me.INVALID]:"#F7CD8F",[me.RUNNING]:"#007FFF",[me.FAILED]:"#F3B096",[me.SUCCESS]:"#98D7A9",[me.RUNNABLE]:"#00B042",[me.ACTIVE]:"#00B042",[me.DEACTIVATED]:"#c7ccd1",[me.WARNING]:"#FF9200"},ea={default:{stroke:dn[me.IDLE],strokeWidth:1,fill:"none"},hovered:{stroke:dn.hovered,fill:"none"},selected:{stroke:dn.selected,fill:"none"},vertical:{stroke:dn.aiProtocol,strokeWidth:1,fill:"none",strokeDasharray:"5,5"},loop:{stroke:dn.default,strokeWidth:1,strokeDasharray:"5,5",fill:"none"}},Qo={default:{color:dn.default},main:{color:dn.default},connected:{color:dn.default},connecting:{color:dn.selected},error:{color:Jo[me.FAILED]},full:{opacity:.5,cursor:"not-allowed"},nodeStatus:{[me.IDLE]:{color:Jo[me.IDLE]},[me.INVALID]:{color:Jo[me.INVALID]},[me.RUNNING]:{color:Jo[me.RUNNING]},[me.FAILED]:{color:Jo[me.FAILED]},[me.SUCCESS]:{color:Jo[me.SUCCESS]},[me.RUNNABLE]:{color:Jo[me.RUNNABLE]}}},rr={line:{backgroundColor:dn[me.IDLE],height:"1px"},horizontal:{width:"64px",height:"1px"},vertical:{width:"1px",height:"36px",left:0},button:{fontSize:"20px",borderRadius:"4px",cursor:"pointer",color:dn.default}},Xy={default:{fontSize:"12px",fontWeight:"normal",color:dn.default},edge:{background:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",pointerEvents:"none"},loop:{background:"rgba(0, 127, 255, 0.08)",color:dn.default,border:`1px solid ${dn.default}`,padding:"2px 6px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",pointerEvents:"none"}},ta={default:{border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#fff",fontSize:"16px"},add:{},delete:{}},th={EDGE_PADDING_BOTTOM:130,EDGE_BORDER_RADIUS:16,HANDLE_SIZE:20,SELF_LOOP_EXIT_OFFSET:40,SELF_LOOP_DEPTH:130,SELF_LOOP_TIP_OFFSET:40},Jy={undeletableEdgeTargetTypes:[],unAddableTargetTypes:[]},Qy=y.createContext(null),$t=()=>{const t=y.useContext(Qy);if(!t)throw new Error("useCanvasConfig must be used inside Provider");return t},kI=Qy.Provider,{SELF_LOOP_EXIT_OFFSET:Zy,SELF_LOOP_DEPTH:e0,SELF_LOOP_TIP_OFFSET:SI}=th;function EI(t){return t===ne.Position.Top||t===ne.Position.Bottom}function xI(t){return t.isVerticalEdge?ea.vertical:t.isLoopEdge?ea.loop:t.isHovered?ea.hovered:ea.default}function DI(t){return t.sourcePosition===ne.Position.Bottom&&t.targetPosition===ne.Position.Top?t.sourceAboveTarget:t.sourcePosition===ne.Position.Right&&t.targetPosition===ne.Position.Left?t.sourceLeftOfTarget:!1}function _I(t){const{sourceX:e,sourceY:n,targetX:r,targetY:o,borderRadius:i}=t,s=t.sourcePosition??ne.Position.Right,a=t.targetPosition??ne.Position.Left,l=AI(e,n,s,r,o,a),[c,u]=n0(l);return{edgePath:t0(l,i),labelX:c,labelY:u}}function AI(t,e,n,r,o,i){const s=Zy,a=e0,l=SI,c=Math.max(e,o)+a,u=Math.min(e,o)-a,d=Math.max(t,r)+a,f=Math.min(t,r)-a;switch(n){case ne.Position.Right:return i===ne.Position.Left?[[t,e],[t+s,e],[t+s,c],[r-l,c],[r-l,o],[r,o]]:i===ne.Position.Right?[[t,e],[t+s,e],[t+s,c],[r+s,c],[r+s,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t+s,e],[t+s,u],[r,u],[r,o-l],[r,o]]:[[t,e],[t+s,e],[t+s,c],[r+l,c],[r+l,o+l],[r,o+l],[r,o]];case ne.Position.Left:return i===ne.Position.Right?[[t,e],[t-s,e],[t-s,c],[r-l,c],[r-l,o+l],[r,o+l],[r,o]]:i===ne.Position.Left?[[t,e],[t-s,e],[t-s,c],[r-s,c],[r-s,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t-s,e],[t-s,u],[r,u],[r,o-l],[r,o]]:[[t,e],[t-s,e],[t-s,c],[r-l,c],[r-l,o+l],[r,o+l],[r,o]];case ne.Position.Top:return i===ne.Position.Bottom?[[t,e],[t,e-s],[d,e-s],[d,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t,e-s],[d,e-s],[d,o-l],[r,o-l],[r,o]]:i===ne.Position.Right?[[t,e],[t,e-s],[d,e-s],[d,o+l],[r,o+l],[r,o]]:[[t,e],[t,e-s],[f,e-s],[f,o+l],[r-l,o+l],[r-l,o],[r,o]];default:return i===ne.Position.Top?[[t,e],[t,e+s],[d,e+s],[d,o-l],[r,o-l],[r,o]]:i===ne.Position.Bottom?[[t,e],[t,e+s],[d,e+s],[d,o+l],[r,o+l],[r,o]]:i===ne.Position.Right?[[t,e],[t,e+s],[d,e+s],[d,o+l],[r,o+l],[r,o]]:[[t,e],[t,e+s],[f,e+s],[f,o+l],[r-l,o+l],[r-l,o],[r,o]]}}function t0(t,e){const n=t.length;if(n===0)return"";if(n===1)return`M ${t[0][0]} ${t[0][1]}`;let r=`M ${t[0][0]} ${t[0][1]}`;for(let s=1;s<n-1;s++){const[a,l]=t[s],[c,u]=t[s-1],[d,f]=t[s+1],p=Math.abs(a-c)+Math.abs(l-u),m=Math.abs(d-a)+Math.abs(f-l),v=Math.min(e,p/2,m/2),b=Math.sign(a-c),w=Math.sign(l-u),g=Math.sign(d-a),C=Math.sign(f-l);r+=` L ${a-b*v} ${l-w*v} Q ${a} ${l} ${a+g*v} ${l+C*v}`}const[o,i]=t[n-1];return r+=` L ${o} ${i}`,r}function n0(t){let e=-1,n=[t[0][0],t[0][1]];for(let r=0;r<t.length-1;r++){const[o,i]=t[r],[s,a]=t[r+1],l=Math.abs(s-o)+Math.abs(a-i);l>e&&(e=l,n=[(o+s)/2,(i+a)/2])}return n}function OI(t){const{sourceX:e,sourceY:n,targetX:r,targetY:o,borderRadius:i}=t,s=t.sourcePosition??ne.Position.Right,a=t.targetPosition??ne.Position.Left,l=Zy,c=e0,u=Math.max(n,o)+c,d=[];d.push([e,n]),s===ne.Position.Right?d.push([e+l,n]):s===ne.Position.Left?d.push([e-l,n]):s===ne.Position.Bottom?d.push([e,n+l]):d.push([e,n-l]),d.push([d[1][0],u]);const f=a===ne.Position.Left?r-l:a===ne.Position.Right?r+l:r;d.push([f,u]),(a===ne.Position.Left||a===ne.Position.Right)&&d.push([f,o]),d.push([r,o]);const[p,m]=n0(d);return{edgePath:t0(d,i),labelX:p,labelY:m}}const na=()=>$t().canvas.mode??"edit";function Zo(){return Zo=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Zo.apply(null,arguments)}var zi;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(zi||(zi={}));var r0=function(t){return t},o0="beforeunload",TI="popstate";function NI(t){t===void 0&&(t={});var e=t,n=e.window,r=n===void 0?document.defaultView:n,o=r.history;function i(){var E=r.location,x=E.pathname,O=E.search,A=E.hash,T=o.state||{};return[T.idx,r0({pathname:x,search:O,hash:A,state:T.usr||null,key:T.key||"default"})]}var s=null;function a(){if(s)p.call(s),s=null;else{var E=zi.Pop,x=i(),O=x[0],A=x[1];if(p.length){if(O!=null){var T=u-O;T&&(s={action:E,location:A,retry:function(){_(T*-1)}},_(T))}}else g(E)}}r.addEventListener(TI,a);var l=zi.Pop,c=i(),u=c[0],d=c[1],f=s0(),p=s0();u==null&&(u=0,o.replaceState(Zo({},o.state,{idx:u}),""));function m(E){return typeof E=="string"?E:FI(E)}function v(E,x){return x===void 0&&(x=null),r0(Zo({pathname:d.pathname,hash:"",search:""},typeof E=="string"?MI(E):E,{state:x,key:BI()}))}function b(E,x){return[{usr:E.state,key:E.key,idx:x},m(E)]}function w(E,x,O){return!p.length||(p.call({action:E,location:x,retry:O}),!1)}function g(E){l=E;var x=i();u=x[0],d=x[1],f.call({action:l,location:d})}function C(E,x){var O=zi.Push,A=v(E,x);function T(){C(E,x)}if(w(O,A,T)){var B=b(A,u+1),I=B[0],F=B[1];try{o.pushState(I,"",F)}catch{r.location.assign(F)}g(O)}}function k(E,x){var O=zi.Replace,A=v(E,x);function T(){k(E,x)}if(w(O,A,T)){var B=b(A,u),I=B[0],F=B[1];o.replaceState(I,"",F),g(O)}}function _(E){o.go(E)}var S={get action(){return l},get location(){return d},createHref:m,push:C,replace:k,go:_,back:function(){_(-1)},forward:function(){_(1)},listen:function(x){return f.push(x)},block:function(x){var O=p.push(x);return p.length===1&&r.addEventListener(o0,i0),function(){O(),p.length||r.removeEventListener(o0,i0)}}};return S}function i0(t){t.preventDefault(),t.returnValue=""}function s0(){var t=[];return{get length(){return t.length},push:function(n){return t.push(n),function(){t=t.filter(function(r){return r!==n})}},call:function(n){t.forEach(function(r){return r&&r(n)})}}}function BI(){return Math.random().toString(36).substr(2,8)}function FI(t){var e=t.pathname,n=e===void 0?"/":e,r=t.search,o=r===void 0?"":r,i=t.hash,s=i===void 0?"":i;return o&&o!=="?"&&(n+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function MI(t){var e={};if(t){var n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));var r=t.indexOf("?");r>=0&&(e.search=t.substr(r),t=t.substr(0,r)),t&&(e.pathname=t)}return e}const ac=NI(),a0=t=>[new URLSearchParams(location.href)],II={nodeSelectorVisible:!1,nodeAddInfo:null,nodeAddCallback:null},l0=_f.createSlice({name:"panel",initialState:II,reducers:{openNodeSelector:(t,e)=>{t.nodeSelectorVisible=!0,t.nodeAddInfo=e.payload},closeNodeSelector:t=>{t.nodeSelectorVisible=!1},setNodeAddCallback:(t,e)=>{t.nodeAddCallback=e.payload},executeNodeAddCallback:(t,e)=>{t.nodeAddCallback&&t.nodeAddInfo}}}),{openNodeSelector:PI,closeNodeSelector:c0,setNodeAddCallback:LI,executeNodeAddCallback:_ne}=l0.actions,$I=l0.reducer,u0=y.createContext(null),zI=({value:t,children:e})=>h.jsx(u0.Provider,{value:t,children:e}),lc=()=>y.useContext(u0)??{hasTriggerNode:!1,isMcpServerCanvas:!1};var fn=(t=>(t.SOURCE="source",t.TARGET="target",t))(fn||{}),He=(t=>(t.INPUT="input",t.OUTPUT="output",t.CHAT_MODEL="chat_model",t.DONE="done",t.LOOP="loop",t.FALSE="false",t.TRUE="true",t.MEMORY="memory",t.TOOLS="tools",t.AI_MODEL="ai_model",t.AI_MEMORY="ai_memory",t.AI_TOOL="ai_tool",t.BUILTIN_MCP="builtin_mcp",t))(He||{}),nh=(t=>(t.INPUT="input",t.OUTPUT="output",t))(nh||{});const HI="main",VI="main",jI={left:ne.Position.Left,top:ne.Position.Top,right:ne.Position.Right,bottom:ne.Position.Bottom};function WI(t){return t?jI[t]:void 0}function UI(t,e){return{id:t.name,position:WI(t.position)??(e==="input"?ne.Position.Left:ne.Position.Right),type:t.handleType??(e==="input"?fn.TARGET:fn.SOURCE),protocol:t.protocol??VI,maxConnections:typeof t.maxConnections=="number"?t.maxConnections:void 0,label:t.displayName,isMain:t.isMain??t.name===HI,shape:t.shape,category:t.category,style:t.style}}function d0(t,e){return(t??[]).map(r=>UI(r,e))}var ge=(t=>(t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.NUMBER="NUMBER",t.PASSWORD="PASSWORD",t.SELECT="SELECT",t.MULTI_SELECT="MULTI_SELECT",t.RADIO="RADIO",t.CHECKBOX="CHECKBOX",t.CHECKBOX_GROUP="CHECKBOX_GROUP",t.SWITCH="SWITCH",t.CASCADER="CASCADER",t.TREE_SELECT="TREE_SELECT",t.DATE="DATE",t.DATE_RANGE="DATE_RANGE",t.TIME="TIME",t.TIME_RANGE="TIME_RANGE",t.DATETIME="DATETIME",t.UPLOAD="UPLOAD",t.RATE="RATE",t.SLIDER="SLIDER",t.COLOR_PICKER="COLOR_PICKER",t.MENTIONS="MENTIONS",t.AUTO_COMPLETE="AUTO_COMPLETE",t.LABEL="LABEL",t.HIDDEN="HIDDEN",t.JSON="JSON",t.CODE="CODE",t.PROXY="PROXY",t.DIVIDER="DIVIDER",t.INFO_CARD="INFO_CARD",t.ARRAY="ARRAY",t.OBJECT="OBJECT",t.KEY_VALUE="KEY_VALUE",t.ARRAY_OBJECT="ARRAY_OBJECT",t))(ge||{});const qI="dip.core.flow.switch",cc="default-branch";function uc(t){return t===qI}function rh(t){const e=[t.config_schema,t.properties,t.params];for(const n of e){const r=YI(n);if(Array.isArray(r==null?void 0:r.branches))return r}return{}}function GI(t){const e=Array.isArray(t)?t:[],n=new Set;let r=!Array.isArray(t);return{branches:e.map((i,s)=>{const a=Hi(i)?i:{};a!==i&&(r=!0);const l=typeof a.id=="string"?a.id.trim():"",u=l.startsWith("branch")&&l!==cc&&!n.has(l)?l:XI(s,n);n.add(u);const d=typeof a.name=="string"?a.name:"",f=d.trim()?d:`分支 ${s+1}`;return(u!==a.id||f!==a.name)&&(r=!0),{...a,id:u,name:f}}),changed:r}}function ra(t){const e=Hi(t)?t:{},n=GI(e.branches);return{...n,properties:n.changed?{...e,branches:n.branches}:e}}function oh(t,e){if(!e.length)return{inputs:t.inputs,outputs:t.outputs};const n=t.outputs??[],r=n.find(i=>i.name!==cc)??{name:"branch-1",protocol:"main"},o=n.find(i=>i.name===cc)??{name:cc,displayName:"Default",protocol:"main"};return{inputs:t.inputs,outputs:[...e.map(i=>({...r,name:i.id,displayName:i.name,display_name:i.name})),o]}}function RI(t,e){if(!uc(t.key))return t;const n=rh(e),r=ra(n);return{...t,...oh(t,r.branches)}}function KI(t,e){if(!uc(e))return t;let n=!1;const r=t.fields.map(o=>!f0(o)||o.name!=="branches"?o:(n=!0,{...o,createItem:({index:i,items:s})=>({...ih(o.columns),id:JI(s),name:`分支 ${i+1}`})}));return n?{...t,fields:r}:t}function YI(t){if(Hi(t))return Array.isArray(t.branches)?t:Hi(t.properties)?t.properties:Hi(t.params)?t.params:t}function XI(t,e){let n=t+1,r=`branch-migrated-${n}`;for(;e.has(r);)n+=1,r=`branch-migrated-${n}`;return r}function JI(t){const e=new Set(t.map(r=>typeof r.id=="string"?r.id:"").filter(r=>!!r));let n="";do n=`branch_${Date.now()}_${Math.random().toString(36).slice(2,11)}`;while(e.has(n));return n}function ih(t){const e={};for(const n of t){const r=QI(n);r!==void 0&&(e[n.name]=r)}return e}function QI(t){if(t.defaultValue!==void 0)return sh(t.defaultValue);if(ZI(t))return ih(Object.values(t.properties));if(f0(t)){const e=Math.max(0,t.minItems??0);return Array.from({length:e},()=>ih(t.columns))}}function sh(t){return Array.isArray(t)?t.map(sh):Hi(t)?Object.fromEntries(Object.entries(t).map(([e,n])=>[e,sh(n)])):t}function Hi(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function f0(t){return t.type===ge.ARRAY_OBJECT&&"columns"in t}function ZI(t){return t.type===ge.OBJECT&&"properties"in t}const eP=({icon:t,label:e})=>{const n=t?h.jsx("img",{src:t,alt:e,style:{width:24,height:24}}):h.jsx(se.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}});return h.jsx(D.Badge,{offset:[-22,2],count:h.jsx(se.ReloadOutlined,{style:{fontSize:12,color:"#007fff"}}),children:n})},or=h.jsx(se.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),tP=h.jsx(se.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}}),h0=h.jsx(se.FilterOutlined,{style:{fontSize:24,color:"#007fff"}}),nP=h.jsx(GB.PiCursorFill,{style:{color:"#007fff",fontSize:24}}),rP=h.jsx(se.ApiOutlined,{style:{color:"#2d5bff",fontSize:22}}),oP=h.jsx(eP,{icon:void 0,label:void 0}),ir=[],p0=[{name:He.INPUT,position:"left",maxConnections:1}],m0=[{name:He.OUTPUT,position:"right",maxConnections:1}],iP=[{name:He.OUTPUT,position:"right",displayName:"",maxConnections:1}],sP=[{name:He.INPUT,position:"left",maxConnections:1}],aP=[{name:He.TRUE,position:"right",maxConnections:1,displayName:"true",style:{top:"33%"}},{name:He.FALSE,position:"right",maxConnections:1,displayName:"false",style:{top:"67%"}}],g0=[{name:He.INPUT,position:"left",maxConnections:1}],w0=[{name:He.DONE,position:"right",maxConnections:1,displayName:"done",style:{top:"33%"}},{name:He.LOOP,position:"right",maxConnections:1,displayName:"loop",style:{top:"67%"}}],b0=[{source:He.LOOP,target:He.INPUT}],lP=[{name:He.INPUT,position:"left",maxConnections:1}],cP=[{name:"default-branch",position:"right",maxConnections:1,displayName:"default"}],v0=[{name:He.OUTPUT,position:"right",maxConnections:1}],uP=[{name:He.INPUT,position:"left"},{name:He.AI_MODEL,position:"bottom",category:"slave",maxConnections:1,displayName:"Chat Model",protocol:$e.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"35%"}},{name:He.AI_MEMORY,position:"bottom",category:"slave",maxConnections:1,displayName:"Memory",protocol:$e.AI_MEMORY,shape:"rhombus",style:{left:"50%"}},{name:He.AI_TOOL,position:"bottom",category:"slave",displayName:"Tools",protocol:$e.AI_TOOL,shape:"rhombus",style:{left:"65%"},maxConnections:1}],dP=[{name:He.INPUT,position:"left"},{name:He.AI_MODEL,position:"bottom",category:"slave",maxConnections:1,displayName:"Chat Model",protocol:$e.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"50%"}}],fP=[{name:He.INPUT,position:"left",maxConnections:1}],hP=[{name:He.OUTPUT,position:"right",maxConnections:1}],oa=t=>({name:He.AI_MODEL,position:"top",protocol:t,maxConnections:1}),y0=[{name:He.INPUT,position:"top",protocol:$e.MCP_SERVER,isMain:!0}],C0=[{name:He.BUILTIN_MCP,position:"bottom",protocol:$e.BUILTIN_MCP,isMain:!0,maxConnections:1/0}],pP=[{name:He.INPUT,position:"top",isMain:!0}],mP=[{name:He.BUILTIN_MCP,position:"bottom",protocol:$e.BUILTIN_MCP,isMain:!0,shape:"rhombus",style:{left:"50%"},maxConnections:1}],k0=[{name:He.INPUT,position:"top",protocol:$e.BUILTIN_MCP,isMain:!0}],S0=[{name:He.OUTPUT,position:"bottom",isMain:!0,maxConnections:1}],Vi={[pe.ACTION]:{type:pe.ACTION,className:"action-node",fallbackIcon:or,inputs:p0,outputs:m0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0},[pe.TRIGGER]:{type:pe.TRIGGER,className:"workflow-trigger-node",fallbackIcon:nP,inputs:ir,outputs:iP,useNodePackagePorts:!0},[pe.CONDITION]:{type:pe.CONDITION,className:"condition-node",fallbackIcon:h0,inputs:sP,outputs:aP,useNodePackagePorts:!0},[pe.LOOP]:{type:pe.LOOP,className:"loop-node",fallbackIcon:tP,inputs:g0,outputs:w0,autoConnect:b0,useNodePackagePorts:!0},[pe.SELF_LOOP]:{type:pe.SELF_LOOP,className:"loop-node",fallbackIcon:oP,inputs:g0,outputs:w0,autoConnect:b0,useNodePackagePorts:!0},[pe.SWITCH]:{type:pe.SWITCH,className:"switch-node",fallbackIcon:h0,inputs:lP,outputs:cP,useNodePackagePorts:!0},[pe.AGENT]:{type:pe.AGENT,className:"agent-node",fallbackIcon:or,inputs:uP,outputs:v0,useNodePackagePorts:!0},[pe.BROWSER]:{type:pe.BROWSER,className:"agent-node",fallbackIcon:or,inputs:dP,outputs:v0,useNodePackagePorts:!0},[pe.CUSTOM]:{type:pe.CUSTOM,className:"workflow-custom-node",fallbackIcon:rP,inputs:fP,outputs:hP,useNodePackagePorts:!0},[pe.AI_SUB_NODE]:{type:pe.AI_SUB_NODE,className:"workflow-aisub-node",fallbackIcon:or,inputs:ir,outputs:[oa($e.AI_LANGUAGE_MODEL)],byProtocol:{[$e.AI_MEMORY]:{outputs:[oa($e.AI_MEMORY)]},[$e.AI_TOOL]:{outputs:[oa($e.AI_TOOL)]}},useNodePackagePorts:!0},[pe.VECTOR_STORE]:{type:pe.VECTOR_STORE,className:"workflow-aisub-node",fallbackIcon:or,inputs:ir,outputs:[oa($e.AI_LANGUAGE_MODEL)],byProtocol:{[$e.AI_VECTOR_STORE]:{outputs:[oa($e.AI_VECTOR_STORE)]}},useNodePackagePorts:!0},[pe.STICKY]:{type:pe.STICKY,className:"workflow-sticky-note",fallbackIcon:null,inputs:ir,outputs:ir,useNodePackagePorts:!1},[pe.DYNAMIC]:{type:pe.ACTION,className:"action-node",fallbackIcon:or,inputs:p0,outputs:m0,useNodePackagePorts:!0},[pe.MCPServer]:{type:pe.MCPServer,className:"workflow-aisub-node",fallbackIcon:or,inputs:y0,outputs:C0,useNodePackagePorts:!0},[pe.MCP_TRIGGER_NODE]:{type:pe.MCP_TRIGGER_NODE,className:"workflow-aisub-node",fallbackIcon:or,inputs:y0,outputs:C0,useNodePackagePorts:!0},[pe.BuiltinMCP]:{type:pe.BuiltinMCP,className:"workflow-aisub-node",fallbackIcon:or,inputs:pP,outputs:mP,useNodePackagePorts:!0},[pe.MCP_TOOL]:{type:pe.MCP_TOOL,className:"workflow-mcp-tool-node",fallbackIcon:or,inputs:k0,outputs:S0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0},[pe.MCP_TOOLS_NODE]:{type:pe.MCP_TOOLS_NODE,className:"workflow-mcp-tool-node",fallbackIcon:or,inputs:k0,outputs:S0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0}},ah=new Map,lh=new Set;let ch=null;function gP(){ch||(ch=setTimeout(()=>{ch=null,lh.forEach(t=>t())},0))}function ia(t,e){return t?e==null?`${t}@`:Number.isFinite(e)?`${t}@${e}`:`${t}@`:null}function wP(t){const e=ia(t.nodeKey,t.nodeVersion);if(!e)return console.warn("[workflow:node-types] register skipped, missing nodeKey",{baseNodeType:t.baseNodeType,nodeKey:t.nodeKey,nodeVersion:t.nodeVersion}),null;if(ah.has(e))return e;const n=Vi[t.baseNodeType]??Vi[pe.CUSTOM],r={...n,type:e,nodeKey:t.nodeKey,nodeVersion:t.nodeVersion,descriptorId:e,className:`${n.className} ${t.nodeKey.replaceAll(".","-")}`};return ah.set(e,r),gP(),e}function E0(){return Array.from(ah.keys())}function bP(t){return lh.add(t),()=>{lh.delete(t)}}function uh(t){return Vi[t]??Vi[pe.CUSTOM]}function x0(t){const e=t==null?void 0:t.protocol;return typeof e=="string"&&e?e:void 0}function vP(t,e){var o;const n=Vi[t]??Vi[pe.CUSTOM],r=(o=n.byProtocol)==null?void 0:o[x0(e)??""];return{inputs:(r==null?void 0:r.inputs)??n.inputs,outputs:(r==null?void 0:r.outputs)??n.outputs}}const D0=new Map;function ji(t,e){const n=`${t}|${x0(e)??""}`,r=D0.get(n);if(r)return r;const o=vP(t,e),i={inputs:d0(o.inputs,"input"),outputs:d0(o.outputs,"output")};return D0.set(n,i),i}function _0(t,e){const n=ji(t.type,t.data),r=new Map([...n.inputs,...n.outputs].map(o=>[o.id,o]));if(r.has(e)){const o=r.get(e);return{name:o.id,type:o.type,protocol:o.protocol??"main"}}return null}function yP(t,e,n,r){const o=ji(t.type,t.data),s=(n?o.inputs:o.outputs).filter(c=>(c.protocol??"main")===e),l=(r?s.find(c=>c.id===r):void 0)??s[0];return l?{name:l.id,type:l.type,protocol:l.protocol??"main",position:l.position}:null}function CP(t){const e=rh(t??{}),n=ra(e);return kP(n.branches)}function A0(t){const e=rh(t??{});return ra(e).branches}function kP(t){const e=t.map((r,o)=>({id:r.id,position:ne.Position.Right,type:fn.SOURCE,maxConnections:1,label:r.name,style:{top:`${(o+1)/(t.length+2)*100}%`},isMain:!1})),n={id:"default-branch",position:ne.Position.Right,type:fn.SOURCE,maxConnections:1,label:"default",style:{top:`${(t.length+1)/(t.length+2)*100}%`},isMain:!1};return[...e,n]}function dh(t,e,n){if(!t||!e)return!1;if(t===e)return!0;const r=new Map;for(const s of n){const a=r.get(s.target);a?a.push(s.source):r.set(s.target,[s.source])}const o=new Set,i=[t];for(;i.length>0;){const s=i.pop();if(s===e)return!0;if(o.has(s))continue;o.add(s);const a=r.get(s);a&&i.push(...a)}return!1}const SP=(t,e,n,r)=>t.filter(o=>r==="output"?o.source===e&&o.sourceHandle===n:!(o.target!==e||o.targetHandle!==n||o.source===o.target||dh(o.source,e,t)));function EP(){const t=ne.useStore(r=>r.edges),e=y.useCallback((r,o,i)=>t?SP(t,r,o,i):[],[t]),n=y.useCallback((r,o)=>t&&t.some(s=>s.source===r&&s.sourceHandle===o||s.target===r&&s.targetHandle===o)?"connected":"default",[t]);return{getHandleConnections:e,handleStatus:n}}function dc(){const t=Ms(),{nodeSelectorVisible:e,nodeAddInfo:n,nodeAddCallback:r}=Is(c=>c.panel),o=y.useCallback(c=>{t(PI(c))},[t]),i=y.useCallback(()=>{t(c0())},[t]),s=y.useCallback(c=>{r&&n&&r(n,c),t(c0())},[t,n,r]),a=y.useCallback((c,u)=>{r&&c&&r(c,u)},[t,n,r]),l=y.useCallback(c=>{t(LI(c))},[t]);return{nodeSelectorVisible:e,nodeAddInfo:n,openNodeSelector:o,closeNodeSelector:i,handleNodeSelect:s,handleManualAdd:a,setNodeAddCallback:l}}He.AI_MODEL,He.AI_MEMORY,He.AI_TOOL,He.CHAT_MODEL+"",He.AI_MODEL,He.MEMORY+"",He.AI_MEMORY,He.TOOLS+"",He.AI_TOOL,He.AI_MODEL+"",He.AI_MODEL,He.AI_MEMORY+"",He.AI_MEMORY,He.AI_TOOL+"",He.AI_TOOL,He.AI_MODEL+"",$e.AI_LANGUAGE_MODEL,He.AI_MEMORY+"",$e.AI_MEMORY,He.AI_TOOL+"",$e.AI_TOOL;function fh(t){return t===He.AI_MODEL||t===He.AI_MEMORY||t===He.AI_TOOL}var fo=(t=>(t.MAIN="main",t))(fo||{});const sr=new Map,fc=new Map;function hc(t,e){if(!t)throw new Error("nodePackageSchemaCache: nodeKey is required");return e==null?`${t}@latest`:typeof e!="number"||!Number.isFinite(e)||e<0?`${t}@latest`:`${t}@${e}`}function xP(t){return t!=null&&typeof t=="number"&&Number.isFinite(t)&&t>=0}function O0(t,e,n){if(!t||!n)return;const r=hc(t,e);sr.set(r,n)}function Wi(t,e){return t?sr.get(hc(t,e))??null:null}function T0(t){return t?sr.get(t)??null:null}function N0(t,e){if(!t)return null;const n=sr.get(t)??null;if(n){const r=new Map;if(n.inputs.forEach(o=>{const i={...o,protocol:o.protocol??"main",type:o.type??"target"};r.set(i.name,i)}),n.outputs.forEach(o=>{const i={...o,protocol:o.protocol??"main",type:o.type??"source"};r.set(i.name,i)}),r.has(e))return r.get(e)}return null}function DP(t,e,n,r){if(!t)return null;const o=sr.get(t)??null;if(o){const i=new Map;(n?o.inputs:o.outputs).forEach(a=>{const l={...a,protocol:a.protocol??"main"},c=l.protocol??"main",u=i.get(c);u?u.push(l):i.set(c,[l])});const s=i.get(e);if(s)return(r?s.find(l=>l.name===r):void 0)??s[0]}return null}async function pc(t,e){if(!t)return null;const n=hc(t,e);if(sr.has(n))return sr.get(n);if(fc.has(n))return fc.get(n);if(!xP(e))return sr.get(n)??null;const r=my(t,e).then(o=>(sr.set(n,o),o)).catch(()=>null).finally(()=>{fc.delete(n)});return fc.set(n,r),r}function _P(t,e){if(!t)return null;const n=hc(t,e);return sr.has(n)?sr.get(n):null}const Ui=t=>typeof t=="string"&&t.includes("@"),B0=(t,e)=>{if(Ui(t.type)){const n=N0(t.type,e);if(n)return n.type}else{const n=_0(t,e);if(n)return n.protocol}return null},sa=(t,e)=>{var n;if(!t)return null;if(Ui(t.type)){if(((n=t.data)==null?void 0:n.node_type)==="SwitchNode")return{name:e,type:"main",protocol:"main"};const r=N0(t.type,e);if(r)return r}else{const r=_0(t,e);if(r)return r}return null},hh=(t,e,n,r)=>{if(Ui(t.type)){const o=DP(t.type,e,n,r);if(o)return o}else{const o=yP(t,e,n,r);if(o)return o}return null};function F0(t){if(/@/.test(t.type??"")){const e=T0(t.type);return(e==null?void 0:e.auto_connections)??[]}return uh(t.type).autoConnect??[]}function M0(t,e,n){return!e||!n?!1:F0(t).some(r=>r.source===e&&r.target===n)}function AP(t){const e=F0(t),n=[];for(const r of e){const o=sa(t,r.source),i=sa(t,r.target);if(!o||!i){console.warn("[workflow:auto-connect] 端口不存在,跳过自动连线",{nodeId:t.id,nodeType:t.type,rule:r});continue}if(o.protocol!==i.protocol){console.warn("[workflow:auto-connect] 自连线两端协议不一致,跳过",{nodeId:t.id,nodeType:t.type,rule:r,sourceProtocol:o.protocol,targetProtocol:i.protocol});continue}n.push($o.createEdge(fo.MAIN,`${t.id}-self-${r.source}-${r.target}`,t.id,t.id,{sourceHandle:r.source,targetHandle:r.target,data:{renderType:r.source,connectionType:r.source}}))}return n}function OP(t){const e=t.type==="target"&&fh(t.handleId);return(t.type==="source"||e)&&!t.isFull&&!t.connectionInProgress&&t.canEdit}function TP(t,e){return{isConnectableStart:e&&t==="source",isConnectableEnd:e&&t==="target"}}function NP(t,e){const{connection:n,nodeId:r,handleId:o}=t;if(!n.inProgress)return!1;const{fromHandle:i,fromNode:s,toHandle:a}=n;return!(i!=null&&i.id)||!s||i.type!=="source"?!1:!!(i.nodeId===r&&M0(s,i.id,o)||a!=null&&a.nodeId&&dh(i.nodeId,a.nodeId,e))}function BP(t){const e={position:t.position,refresh:t.refresh};return t.type==="target"?{...e,targetNodeId:t.nodeId,targetHandle:t.handleId,...t.anchorNode?{targetNode:t.anchorNode}:{}}:{...e,sourceNodeId:t.nodeId,sourceHandle:t.handleId,protocol:t.protocol,...t.anchorNode?{sourceNode:t.anchorNode}:{}}}const aa=()=>{const t=ne.useReactFlow(),e=ne.useStoreApi(),n=y.useCallback(a=>{t.addEdges(a)},[t]),r=y.useCallback(a=>{t.addNodes(a)},[t]),o=y.useCallback(a=>{const{nodes:l,edges:c}=e.getState(),u=c.filter(f=>a.includes(f.target)||a.includes(f.source)),d=l.filter(f=>a.includes(f.id));t.deleteElements({edges:u,nodes:d})},[t,e]),i=y.useCallback(a=>{const{edges:l}=e.getState(),c=l.filter(u=>a.includes(u.id));t.deleteElements({edges:c})},[e,t]);return{getNodes:y.useCallback(()=>{const{nodes:a}=e.getState();return a},[e]),removeNodes:o,removeEdges:i,addEdges:n,addNodes:r}};function mc(t,e){const n=e.source?t.find(s=>s.id===e.source):void 0;if(!n)return{valid:!1,code:"SOURCE_NODE_NOT_FOUND",message:"源节点不存在"};const r=e.target?t.find(s=>s.id===e.target):void 0;if(!r)return{valid:!1,code:"TARGET_NODE_NOT_FOUND",message:"目标节点不存在"};const o=B0(n,e.sourceHandle)??"main",i=B0(r,e.targetHandle)??"main";return o.toLowerCase()!==i.toLowerCase()?{valid:!1,code:"PROTOCOL_MISMATCH",message:`连接双方协议不相符:${o} -> ${i}`}:n.id===r.id&&!M0(n,e.sourceHandle,e.targetHandle)?{valid:!1,code:"SELF_CONNECTION_NOT_ALLOWED",message:"节点不能连接到自身(端口对未在 auto_connect 规则中声明)"}:{valid:!0,code:"VALID",message:""}}var gc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Un(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ph={exports:{}};/*!
9
+ `+s)}}catch{}throw r}}_request(e,n){typeof e=="string"?(n=n||{},n.url=e):n=e||{},n=Yo(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&ec.assertOptions(r,{silentJSONParsing:nn.transitional(nn.boolean),forcedJSONParsing:nn.transitional(nn.boolean),clarifyTimeoutError:nn.transitional(nn.boolean),legacyInterceptorReqResOrdering:nn.transitional(nn.boolean),advertiseZstdAcceptEncoding:nn.transitional(nn.boolean),validateStatusUndefinedResolves:nn.transitional(nn.boolean)},!1),o!=null&&(Q.isFunction(o)?n.paramsSerializer={serialize:o}:ec.assertOptions(o,{encode:nn.function,serialize:nn.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),ec.assertOptions(n,{baseUrl:nn.spelling("baseURL"),withXsrfToken:nn.spelling("withXSRFToken")},!0),n.method=(Q.getSafeProp(n,"method")||Q.getSafeProp(this.defaults,"method")||"get").toLowerCase();let s=i&&Q.merge(i.common,i[n.method]);i&&Q.forEach(qv.concat("common"),m=>{delete i[m]}),n.headers=tn.concat(s,i);const a=[];let l=!0;this.interceptors.request.forEach(function(v){if(typeof v.runWhen=="function"&&v.runWhen(n)===!1)return;l=l&&v.synchronous;const b=n.transitional||$f;b&&b.legacyInterceptorReqResOrdering?a.unshift(v.fulfilled,v.rejected):a.push(v.fulfilled,v.rejected)});const c=[];this.interceptors.response.forEach(function(v){c.push(v.fulfilled,v.rejected)});let u,d=0,f;if(!l){const m=[Gf.bind(this),void 0];for(m.unshift(...a),m.push(...c),f=m.length,u=Promise.resolve(n);d<f;)u=u.then(m[d++],m[d++]);return u}f=a.length;let p=n;for(;d<f;){const m=a[d++],v=a[d++];try{p=m?m(p):p}catch(b){if(!v){u=Promise.reject(b);break}try{const w=v.call(this,b);Q.isThenable(w)&&(u=Promise.resolve(w).then(()=>Gf.call(this,p)))}catch(w){u=Promise.reject(w)}break}}if(!u)try{u=Gf.call(this,p)}catch(m){u=Promise.reject(m)}for(d=0,f=c.length;d<f;)u=u.then(c[d++],c[d++]);return u}getUri(e){e=Yo(this.defaults,e);const n=Qv(e.baseURL,e.url,e.allowAbsoluteUrls,e);return $v(n,e.params,e.paramsSerializer)}};Q.forEach(["delete","get","head","options"],function(e){Xo.prototype[e]=function(n,r){return this.request(Yo(r||{},{method:e,url:n,data:r&&Q.hasOwnProp(r,"data")?r.data:void 0}))}}),Q.forEach(["post","put","patch","query"],function(e){function n(r){return function(i,s,a){return this.request(Yo(a||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:s}))}}Xo.prototype[e]=n(),e!=="query"&&(Xo.prototype[e+"Form"]=n(!0))});let cI=class WB{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let n;this.promise=new Promise(function(i){n=i});const r=this;this.promise.then(o=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},e(function(i,s,a){r.reason||(r.reason=new Zs(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const n=this._listeners.indexOf(e);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const e=new AbortController,n=r=>{e.abort(r)};return this.subscribe(n),e.signal.unsubscribe=()=>this.unsubscribe(n),e.signal}static source(){let e;return{token:new WB(function(o){e=o}),cancel:e}}};function uI(t){return function(n){return t.apply(null,n)}}function dI(t){return Q.isObject(t)&&t.isAxiosError===!0}const tc={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,ContentTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,UnprocessableContent:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerReturnsAnUnknownError:520,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(tc).forEach(([t,e])=>{tc[e]===void 0&&(tc[e]=t)});function fy(t){const e=new Xo(t),n=bv(Xo.prototype.request,e);return Q.extend(n,Xo.prototype,e,{allOwnKeys:!0}),Q.extend(n,e,null,{allOwnKeys:!0}),n.create=function(o){return fy(Yo(t,o))},n}const xt=fy(Qs);xt.Axios=Xo,xt.CanceledError=Zs,xt.CancelToken=cI,xt.isCancel=Gv,xt.VERSION=Wf,xt.toFormData=Xl,xt.AxiosError=Ae,xt.Cancel=xt.CanceledError,xt.all=function(e){return Promise.all(e)},xt.spread=uI,xt.isAxiosError=dI,xt.mergeConfig=Yo,xt.AxiosHeaders=tn,xt.formToJSON=t=>Uv(Q.isHTMLForm(t)?new FormData(t):t),xt.getAdapter=uy.getAdapter,xt.HttpStatusCode=tc,xt.default=xt;const{Axios:une,AxiosError:dne,CanceledError:fne,isCancel:hne,CancelToken:pne,VERSION:mne,all:gne,Cancel:wne,isAxiosError:bne,spread:vne,toFormData:yne,AxiosHeaders:Cne,HttpStatusCode:kne,formToJSON:Sne,getAdapter:Ene,mergeConfig:xne,create:Dne}=xt,fI={nodeCategory:"/acm/links/domain/v2",nodesList:"/acm/links/v2",searchLinks:"/acm/links/search",connectableNodePackageCategories:"/acm/node-package/categories/connectable",connectableNodePackagePlugins:"/acm/node-package/plugins/connectable",actions:"/acm/actions/v2",actionNodeSchema:"/acm/actions/:nodeKey/:version",createNode:"/acm/flows/nodes/v2",updateNode:"/acm/flows/nodes/v2/:id",updateEdges:"/acm/flows/edge/v2/:flowId",copyFlow:"/acm/flows/copy/:id",proxyGroup:"/iam/api/proxyGroup",createFlow:"/acm/flows/v2",flowDetail:"/acm/flows/v2/:flowId",testRunNode:"/acm/flows/nodes/run/v2/:id",listenWebhook:"/acm/flows/:flowId/webhook/listen",connectors:"/acm/allLinks",connectorDetail:"/acm/links/:connectorId",nodeDetail:"/acm/flows/nodes/:id",cancelDebug:"/acm/flows/nodes/cancelDebug/v2/:id",deleteNode:"/acm/flows/nodes/v2/:id",checkFlow:"/acm/flows/check/:id",templateFlow:"/acm/flows/templates/:id",flowOutput:"/acm/flows/output/:id",flowOutputTree:"/acm/flows/outputTree/v2/:flowId",globalVariables:"/acm/api/globalVariables/list",accountModel:"/acm/accounts/:account_key",accountInstanceCollection:"/acm/accountInstance",accountInstanceDetail:"/acm/accountInstance/:id",accountInstanceTest:"/acm/accountInstance/test",moveNode:"/acm/flows/nodes/move/:nodeId",copyNode:"/acm/flows/nodes/copy/v2/:nodeId",updateNodeNote:"/acm/flows/nodes/updateNote",nodeStatus:"/acm/flows/nodes/close/:nodeId",exportNode:"/acm/export/flowNode",importNode:"/acm/import/flowNode",stopFlow:"/acm/flows/stop/v2/:id",runFlow:"/acm/flows/run/v2/:id",removeEdges:"/acm/flows/remove/edge/:flowId",selectOptions:"/acm/actions/select/item",flowOpStatus:"/acm/flows/op/v2/:paramsId/:opStatus",onlineFlow:"/acm/flows/online/v2/:id",templateSettingsFlowDetail:"/acm/flows/:flowId",templateCategoryList:"/acm/flows/templates/category",templateCategoryDetail:"/acm/flows/templates/category/:id",templateCategoryRelation:"/acm/flows/templates/:templateId/category/:categoryId",templateTagList:"/acm/flows/templates/tag",templateTagDetail:"/acm/flows/templates/tag/:id",templateTagRelation:"/acm/flows/templates/:templateId/tag/:tagId",getAppList:"/iam/api/apps/v2",subFlowList:"/acm/flow/sub-flow/list",flowVersionStatus:"/acm/flows/v2/:flowId/versions/status"},hI=async(t,e={})=>{const{params:n,data:r,headers:o,method:i="GET",transformResponse:s=void 0}=e,a={};o&&Object.assign(a,o);const l={url:t,method:i,params:n,data:r,headers:Object.keys(a).length?a:void 0,transformResponse:s},u=(await xt(l)).data;return(u==null?void 0:u.data)!==void 0?u.data:u};let Li={endpoints:{...fI},httpClient:hI};const nc=t=>{t.httpClient&&(Li.httpClient=t.httpClient),t.endpoints&&(Li.endpoints={...Li.endpoints,...t.endpoints})},pI=/:([A-Za-z0-9_]+)/g,hy=(t,e)=>{const n=Li.endpoints[t];if(!n)throw new Error(`Workflow endpoint "${t}" is not configured.`);return n.replace(pI,(r,o)=>{if(!e||e[o]===void 0||e[o]===null)throw new Error(`Missing path parameter "${o}" for endpoint "${t}".`);return encodeURIComponent(String(e[o]))})},Ke=async(t,e,n)=>{const r=hy(t,n);return Li.httpClient(r,e)},mI=new Set(["data","success","code","message","msg","error","errorCode","requestId","traceId"]),gI=t=>!t||typeof t!="object"||Array.isArray(t)||!Object.hasOwn(t,"data")?!1:Object.keys(t).every(e=>mI.has(e));function Rf(t,e){let n=t;for(;gI(n);)n=n.data;return n}async function wI(t){return Ke("connectableNodePackageCategories",{method:"POST",data:mv(t)})}async function bI(t){return Ke("connectableNodePackagePlugins",{method:"POST",data:mv(t)})}const py=async t=>Ke("actions",{params:t}),my=async(t,e)=>{const n=await Ke("actionNodeSchema",void 0,{nodeKey:t,version:e});return vI(n,t,e)};function gy(t){if(typeof t!="string")return t;try{return JSON.parse(t)}catch{return t}}function vI(t,e,n){const r=gy(t),o=gy((r==null?void 0:r.node_schema)??(r==null?void 0:r.nodeSchema)??r);return{...o,key:(o==null?void 0:o.key)??(r==null?void 0:r.action_key)??(r==null?void 0:r.node_key)??(r==null?void 0:r.nodeKey)??e,version:(o==null?void 0:o.version)??(r==null?void 0:r.action_ver)??(r==null?void 0:r.node_ver)??(r==null?void 0:r.nodeVersion)??n,name:(o==null?void 0:o.name)??(r==null?void 0:r.name)??(r==null?void 0:r.action_name)??e,description:(o==null?void 0:o.description)??(r==null?void 0:r.description),input_fields:Array.isArray(o==null?void 0:o.input_fields)?o.input_fields:[],output_fields:Array.isArray(o==null?void 0:o.output_fields)?o.output_fields:[],credentials:(o==null?void 0:o.credentials)??[]}}async function wy(t){return Ke("createNode",{method:"POST",headers:{"Content-Type":"text/plain"},data:Fi(t)})}async function rc(t,e){return Ke("updateNode",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(e)},{id:t})}async function Kf(){return Ke("proxyGroup")}async function Yf(t){try{return await Ke("flowDetail",void 0,{flowId:t})}catch(e){throw console.error("Failed to fetch workflow data",e),e}}async function oc(t,e){return Ke("flowDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(e)},{flowId:t})}async function by(t){return Ke("templateSettingsFlowDetail",void 0,{flowId:t})}async function vy(t,e){return Ke("templateSettingsFlowDetail",{method:"PUT",data:e},{flowId:t})}async function yy(){return Ke("templateCategoryList")}async function Cy(t){return Ke("templateCategoryList",{method:"POST",data:t})}async function ky(t,e){return Ke("templateCategoryDetail",{method:"PATCH",data:e},{id:t})}async function Sy(t){return Ke("templateCategoryDetail",{method:"DELETE"},{id:t})}async function Ey(t,e){return Ke("templateCategoryRelation",{method:"POST"},{templateId:t,categoryId:e})}async function xy(t,e){return Ke("templateCategoryRelation",{method:"DELETE"},{templateId:t,categoryId:e})}async function Dy(){return Ke("templateTagList")}async function _y(t){return Ke("templateTagList",{method:"POST",data:t})}async function Ay(t,e){return Ke("templateTagDetail",{method:"PATCH",data:e},{id:t})}async function Oy(t){return Ke("templateTagDetail",{method:"DELETE"},{id:t})}async function Ty(t,e){return Ke("templateTagRelation",{method:"POST"},{templateId:t,tagId:e})}async function Ny(t,e){return Ke("templateTagRelation",{method:"DELETE"},{templateId:t,tagId:e})}async function By(t){return Ke("testRunNode",{method:"POST",data:{},transformResponse:e=>({data:JSON.parse(e)})},{id:t})}async function Fy(t,e){return Ke("listenWebhook",{method:"GET",params:e},{flowId:t})}async function My(t,e,n,r,o,i,s){return Ke("cancelDebug",{method:"PATCH",data:{connector_id:e,action_id:n,account_id:r,output:i,properties:o}},{id:t})}async function Xf(t){return Ke("deleteNode",{method:"DELETE"},{id:t})}async function Iy(t,e){return Ke("flowOutputTree",{method:"POST",data:{...e,node_id:e.nodeId}},{flowId:t})}async function Py(){return Ke("globalVariables",{method:"GET",params:{page:1,size:1e3}})}async function Jf(t,e){const n=hy("accountModel",{account_key:t}),r=e==null?"":`/${encodeURIComponent(String(e))}`,o=await Li.httpClient(`${n}${r}`);return Rf(o)}async function Ly(t){const e=await Ke("accountInstanceDetail",void 0,{id:t});return Rf(e)}function Qf(t,e){return e&&(e.account_key&&(t.account_key=e.account_key),e.account_ver!==void 0&&e.account_ver!==null&&(t.account_ver=e.account_ver)),t}async function $y(t,e,n,r,o,i,s){const a=Qf({connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o},s);return i&&(a.proxy_id=i),Ke("accountInstanceCollection",{method:"POST",headers:{"Content-Type":"text/plain"},data:Fi(a)})}async function Zf(t,e,n,r,o,i,s,a){const l=Qf({connector_id:t,account_schema_id:e,auth_type:n,name:r,config:o,id:i},a);return s&&(l.proxy_id=s),Ke("accountInstanceTest",{method:"POST",data:l})}async function zy(t,e,n,r,o,i,s,a){const l=Qf({connector_id:e,account_schema_id:n,auth_type:r,name:o,config:i},a);return s&&(l.proxy_id=s),Ke("accountInstanceDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi(l)},{id:t})}async function Hy(t,e){return Ke("accountInstanceDetail",{method:"PATCH",headers:{"Content-Type":"text/plain"},data:Fi({connector_id:null,account_schema_id:null,auth_type:null,name:e,config:null})},{id:t})}async function eh(t){return Ke("copyNode",void 0,{nodeId:t})}async function Vy(t,e){return Ke("updateNodeNote",{method:"POST",data:{id:t,note:e}})}async function jy(t,e){return Ke("nodeStatus",{params:{closed:e==="on"?0:1}},{nodeId:t})}async function Wy(t,e){return Ke("removeEdges",{method:"POST",data:e},{flowId:t})}async function Uy(t){return Ke("selectOptions",{method:"GET",params:{type:t}})}async function qy(t){return Ke("flowVersionStatus",void 0,{flowId:t})}const Gy=async(t,e)=>{const n={account_schema_id:e??null};t&&(n.linkId=t);const r=await Ke("accountInstanceCollection",{params:n});return Rf(r)},Ry=async(t,e={})=>{var n;return Ke("getAppList",{params:{size:t.pageSize,page:t.current,filter:(n=e.filter)==null?void 0:n.trim()}})},Ky=async(t,e={})=>Ke("subFlowList",{params:{name:t}}),Yy=Object.freeze(Object.defineProperty({__proto__:null,apiAddTemplateCategoryRelation:Ey,apiAddTemplateTagRelation:Ty,apiCancelDebug:My,apiCopyNode:eh,apiCreateAccountInstance:$y,apiCreateNode:wy,apiCreateTemplateCategory:Cy,apiCreateTemplateTag:_y,apiDeleteNode:Xf,apiDeleteTemplateCategory:Sy,apiDeleteTemplateTag:Oy,apiGetAccountInstanceDetail:Ly,apiGetAccountInstanceV2:Gy,apiGetAccountModel:Jf,apiGetActionNodeSchema:my,apiGetActions:py,apiGetFlow:Yf,apiGetFlowOutputTree:Iy,apiGetFlowVersionStatus:qy,apiGetGlobalVariables:Py,apiGetProxyGroup:Kf,apiGetSelectOptions:Uy,apiGetTemplateCategories:yy,apiGetTemplateSettings:by,apiGetTemplateTags:Dy,apiListenWebhook:Fy,apiQueryConnectableNodePackageCategories:wI,apiQueryConnectableNodePackagePlugins:bI,apiRemoveEdges:Wy,apiRemoveTemplateCategoryRelation:xy,apiRemoveTemplateTagRelation:Ny,apiSaveTemplateSettings:vy,apiTestAccountInstanceValid:Zf,apiTestRunNode:By,apiUpdateAccountInstance:zy,apiUpdateAccountInstanceName:Hy,apiUpdateFlow:oc,apiUpdateNode:rc,apiUpdateNodeNote:Vy,apiUpdateNodeStatus:jy,apiUpdateTemplateCategory:ky,apiUpdateTemplateTag:Ay,configureWorkflowApi:nc,fetchSubFlowList:Ky,getAppList:Ry},Symbol.toStringTag,{value:"Module"}));function yI(t){return typeof t=="number"?Number.isFinite(t)&&t>0:typeof t=="string"&&/^[1-9]\d*$/.test(t.trim())}function CI(t,e){const n=e.connector_id??e.connectorId;return n!=null?{connector_id:n}:yI(t)?{}:{connector_id:null}}var pe=(t=>(t.TRIGGER="StartEventNode",t.ACTION="ActionNode",t.CONDITION="ConditionNode",t.LOOP="LoopNode",t.SELF_LOOP="SelfLoopNode",t.MCPServer="MCPServerNode",t.MCP_TRIGGER_NODE="MCP_TRIGGER_NODE",t.BuiltinMCP="BuiltinMCPNode",t.VECTOR_STORE="VectorStoreNode",t.AGENT="AgentNode",t.BROWSER="BrowserNode",t.AI_SUB_NODE="AISubNode",t.MCP_TOOL="MCPToolNode",t.MCP_TOOLS_NODE="MCP_TOOLS_NODE",t.SWITCH="SwitchNode",t.STICKY="StickyNoteNode",t.CUSTOM="custom",t.DYNAMIC="dynamic",t))(pe||{}),me=(t=>(t.INVALID="INVALID",t.IDLE="IDLE",t.RUNNING="RUNNING",t.FAILED="FAILED",t.SUCCESS="SUCCESS",t.RUNNABLE="RUNNABLE",t.ACTIVE="ACTIVE",t.DEACTIVATED="DEACTIVATED",t.WARNING="WARNING",t))(me||{}),$e=(t=>(t.AI_LANGUAGE_MODEL="AI_LANGUAGE_MODEL",t.AI_VECTOR_STORE="AI_VECTORSTORE",t.AI_MEMORY="AI_MEMORY",t.AI_DOCUMENT="AI_DOCUMENT",t.AI_TEXT_SPLITTER="AI_TEXTSPLITTER",t.AI_EMBEDDING="AI_EMBEDDING",t.AI_TOOL="AI_TOOL",t.MCP="MCP",t.BUILTIN_MCP="BUILTIN_MCP",t.MCP_SERVER="MCP_SERVER",t))($e||{}),xe=(t=>(t.HIDDEN="HIDDEN",t.LABEL="LABEL",t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.DATE="DATE",t.TIME="TIME",t.DATETIME="DATETIME",t.SELECT="SELECT",t.API_SELECT="API_SELECT",t.FIXED_OBJ="FIXED_OBJ",t.JSON="JSON",t.EXTEND_OBJ="EXTEND_OBJ",t.PASSWORD="PASSWORD",t.MultiRowAIExtractConfig="MULTI_ROW_EXTRACT",t.MULTI_SELECT_LIST="MULTI_SELECT_LIST",t.SYNC_HOUR_MINUTE="SYNC_HOUR_MINUTE",t.AUTH_TOKEN="AUTH_TOKEN",t.SECRET_KEY="SECRET_KEY",t.SELECT_CLIENT="SELECT_CLIENT",t))(xe||{}),Lt=(t=>(t.REQUIRED="required",t.TYPE="type",t.ENUM="enum",t.RANGE="range",t))(Lt||{}),ic=(t=>(t.ERROR="Error",t.WARNING="Warning",t))(ic||{}),$i=(t=>(t.STRING="string",t.NUMBER="number",t.BOOLEAN="boolean",t.OBJECT="object",t.ARRAY="array",t))($i||{});const sc={token:{colorPrimary:"#2d5bff",colorInfo:"#2d5bff",colorSuccess:"#16a34a",colorWarning:"#d97706",colorError:"#dc2626",colorText:"#0f172a",colorTextSecondary:"#64748b",colorBorder:"#e2e8f0",colorBorderSecondary:"#eef1f5",colorBgContainer:"#ffffff",colorBgLayout:"#eef0f4",colorFillSecondary:"#f1f5f9",borderRadius:8,borderRadiusSM:6,borderRadiusLG:14,controlHeight:34,fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif",boxShadow:"0 1px 3px rgba(15, 23, 42, 0.06), 0 1px 2px rgba(15, 23, 42, 0.04)",boxShadowSecondary:"0 18px 48px -16px rgba(15, 23, 42, 0.3)"},components:{Button:{borderRadius:8,controlHeight:34,defaultShadow:"none",primaryShadow:"none"},Card:{borderRadiusLG:12},Drawer:{paddingLG:20},Form:{itemMarginBottom:18,labelColor:"#334155",labelFontSize:13},Input:{activeBorderColor:"#2d5bff",hoverBorderColor:"#9db0ff"},Modal:{borderRadiusLG:14,titleColor:"#0f172a"},Select:{activeBorderColor:"#2d5bff",hoverBorderColor:"#9db0ff",optionSelectedBg:"#eff3ff"},Tabs:{inkBarColor:"#2d5bff",itemActiveColor:"#2d5bff",itemSelectedColor:"#2d5bff"},Tree:{nodeHoverBg:"#f1f5f9",nodeSelectedBg:"#eff3ff"}}},dn={default:"#007FFF",selected:"#3395ff",hovered:"#66b2ff",disabled:"#c7ccd1",[me.IDLE]:"#aab2c2",[me.INVALID]:"#fa8c16",[me.RUNNING]:"#1890ff",[me.FAILED]:"rgb(220, 38, 38)",[me.SUCCESS]:"#52c41a",[me.RUNNABLE]:"#52c41a",aiProtocol:"#007FFF"},Jo={[me.IDLE]:"#007FFF",[me.INVALID]:"#F7CD8F",[me.RUNNING]:"#007FFF",[me.FAILED]:"#F3B096",[me.SUCCESS]:"#98D7A9",[me.RUNNABLE]:"#00B042",[me.ACTIVE]:"#00B042",[me.DEACTIVATED]:"#c7ccd1",[me.WARNING]:"#FF9200"},ea={default:{stroke:dn[me.IDLE],strokeWidth:1,fill:"none"},hovered:{stroke:dn.hovered,fill:"none"},selected:{stroke:dn.selected,fill:"none"},vertical:{stroke:dn.aiProtocol,strokeWidth:1,fill:"none",strokeDasharray:"5,5"},loop:{stroke:dn.default,strokeWidth:1,strokeDasharray:"5,5",fill:"none"}},Qo={default:{color:dn.default},main:{color:dn.default},connected:{color:dn.default},connecting:{color:dn.selected},error:{color:Jo[me.FAILED]},full:{opacity:.5,cursor:"not-allowed"},nodeStatus:{[me.IDLE]:{color:Jo[me.IDLE]},[me.INVALID]:{color:Jo[me.INVALID]},[me.RUNNING]:{color:Jo[me.RUNNING]},[me.FAILED]:{color:Jo[me.FAILED]},[me.SUCCESS]:{color:Jo[me.SUCCESS]},[me.RUNNABLE]:{color:Jo[me.RUNNABLE]}}},rr={line:{backgroundColor:dn[me.IDLE],height:"1px"},horizontal:{width:"64px",height:"1px"},vertical:{width:"1px",height:"36px",left:0},button:{fontSize:"20px",borderRadius:"4px",cursor:"pointer",color:dn.default}},Xy={default:{fontSize:"12px",fontWeight:"normal",color:dn.default},edge:{background:"#fff",padding:"4px 8px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",pointerEvents:"none"},loop:{background:"rgba(0, 127, 255, 0.08)",color:dn.default,border:`1px solid ${dn.default}`,padding:"2px 6px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",pointerEvents:"none"}},ta={default:{border:"none",cursor:"pointer",padding:"4px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#fff",fontSize:"16px"},add:{},delete:{}},th={EDGE_PADDING_BOTTOM:130,EDGE_BORDER_RADIUS:16,HANDLE_SIZE:20,SELF_LOOP_EXIT_OFFSET:40,SELF_LOOP_DEPTH:130,SELF_LOOP_TIP_OFFSET:40},Jy={undeletableEdgeTargetTypes:[],unAddableTargetTypes:[]},Qy=y.createContext(null),$t=()=>{const t=y.useContext(Qy);if(!t)throw new Error("useCanvasConfig must be used inside Provider");return t},kI=Qy.Provider,{SELF_LOOP_EXIT_OFFSET:Zy,SELF_LOOP_DEPTH:e0,SELF_LOOP_TIP_OFFSET:SI}=th;function EI(t){return t===ne.Position.Top||t===ne.Position.Bottom}function xI(t){return t.isVerticalEdge?ea.vertical:t.isLoopEdge?ea.loop:t.isHovered?ea.hovered:ea.default}function DI(t){return t.sourcePosition===ne.Position.Bottom&&t.targetPosition===ne.Position.Top?t.sourceAboveTarget:t.sourcePosition===ne.Position.Right&&t.targetPosition===ne.Position.Left?t.sourceLeftOfTarget:!1}function _I(t){const{sourceX:e,sourceY:n,targetX:r,targetY:o,borderRadius:i}=t,s=t.sourcePosition??ne.Position.Right,a=t.targetPosition??ne.Position.Left,l=AI(e,n,s,r,o,a),[c,u]=n0(l);return{edgePath:t0(l,i),labelX:c,labelY:u}}function AI(t,e,n,r,o,i){const s=Zy,a=e0,l=SI,c=Math.max(e,o)+a,u=Math.min(e,o)-a,d=Math.max(t,r)+a,f=Math.min(t,r)-a;switch(n){case ne.Position.Right:return i===ne.Position.Left?[[t,e],[t+s,e],[t+s,c],[r-l,c],[r-l,o],[r,o]]:i===ne.Position.Right?[[t,e],[t+s,e],[t+s,c],[r+s,c],[r+s,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t+s,e],[t+s,u],[r,u],[r,o-l],[r,o]]:[[t,e],[t+s,e],[t+s,c],[r+l,c],[r+l,o+l],[r,o+l],[r,o]];case ne.Position.Left:return i===ne.Position.Right?[[t,e],[t-s,e],[t-s,c],[r-l,c],[r-l,o+l],[r,o+l],[r,o]]:i===ne.Position.Left?[[t,e],[t-s,e],[t-s,c],[r-s,c],[r-s,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t-s,e],[t-s,u],[r,u],[r,o-l],[r,o]]:[[t,e],[t-s,e],[t-s,c],[r-l,c],[r-l,o+l],[r,o+l],[r,o]];case ne.Position.Top:return i===ne.Position.Bottom?[[t,e],[t,e-s],[d,e-s],[d,o+l],[r,o+l],[r,o]]:i===ne.Position.Top?[[t,e],[t,e-s],[d,e-s],[d,o-l],[r,o-l],[r,o]]:i===ne.Position.Right?[[t,e],[t,e-s],[d,e-s],[d,o+l],[r,o+l],[r,o]]:[[t,e],[t,e-s],[f,e-s],[f,o+l],[r-l,o+l],[r-l,o],[r,o]];default:return i===ne.Position.Top?[[t,e],[t,e+s],[d,e+s],[d,o-l],[r,o-l],[r,o]]:i===ne.Position.Bottom?[[t,e],[t,e+s],[d,e+s],[d,o+l],[r,o+l],[r,o]]:i===ne.Position.Right?[[t,e],[t,e+s],[d,e+s],[d,o+l],[r,o+l],[r,o]]:[[t,e],[t,e+s],[f,e+s],[f,o+l],[r-l,o+l],[r-l,o],[r,o]]}}function t0(t,e){const n=t.length;if(n===0)return"";if(n===1)return`M ${t[0][0]} ${t[0][1]}`;let r=`M ${t[0][0]} ${t[0][1]}`;for(let s=1;s<n-1;s++){const[a,l]=t[s],[c,u]=t[s-1],[d,f]=t[s+1],p=Math.abs(a-c)+Math.abs(l-u),m=Math.abs(d-a)+Math.abs(f-l),v=Math.min(e,p/2,m/2),b=Math.sign(a-c),w=Math.sign(l-u),g=Math.sign(d-a),C=Math.sign(f-l);r+=` L ${a-b*v} ${l-w*v} Q ${a} ${l} ${a+g*v} ${l+C*v}`}const[o,i]=t[n-1];return r+=` L ${o} ${i}`,r}function n0(t){let e=-1,n=[t[0][0],t[0][1]];for(let r=0;r<t.length-1;r++){const[o,i]=t[r],[s,a]=t[r+1],l=Math.abs(s-o)+Math.abs(a-i);l>e&&(e=l,n=[(o+s)/2,(i+a)/2])}return n}function OI(t){const{sourceX:e,sourceY:n,targetX:r,targetY:o,borderRadius:i}=t,s=t.sourcePosition??ne.Position.Right,a=t.targetPosition??ne.Position.Left,l=Zy,c=e0,u=Math.max(n,o)+c,d=[];d.push([e,n]),s===ne.Position.Right?d.push([e+l,n]):s===ne.Position.Left?d.push([e-l,n]):s===ne.Position.Bottom?d.push([e,n+l]):d.push([e,n-l]),d.push([d[1][0],u]);const f=a===ne.Position.Left?r-l:a===ne.Position.Right?r+l:r;d.push([f,u]),(a===ne.Position.Left||a===ne.Position.Right)&&d.push([f,o]),d.push([r,o]);const[p,m]=n0(d);return{edgePath:t0(d,i),labelX:p,labelY:m}}const na=()=>$t().canvas.mode??"edit";function Zo(){return Zo=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Zo.apply(null,arguments)}var zi;(function(t){t.Pop="POP",t.Push="PUSH",t.Replace="REPLACE"})(zi||(zi={}));var r0=function(t){return t},o0="beforeunload",TI="popstate";function NI(t){t===void 0&&(t={});var e=t,n=e.window,r=n===void 0?document.defaultView:n,o=r.history;function i(){var E=r.location,x=E.pathname,O=E.search,A=E.hash,T=o.state||{};return[T.idx,r0({pathname:x,search:O,hash:A,state:T.usr||null,key:T.key||"default"})]}var s=null;function a(){if(s)p.call(s),s=null;else{var E=zi.Pop,x=i(),O=x[0],A=x[1];if(p.length){if(O!=null){var T=u-O;T&&(s={action:E,location:A,retry:function(){_(T*-1)}},_(T))}}else g(E)}}r.addEventListener(TI,a);var l=zi.Pop,c=i(),u=c[0],d=c[1],f=s0(),p=s0();u==null&&(u=0,o.replaceState(Zo({},o.state,{idx:u}),""));function m(E){return typeof E=="string"?E:FI(E)}function v(E,x){return x===void 0&&(x=null),r0(Zo({pathname:d.pathname,hash:"",search:""},typeof E=="string"?MI(E):E,{state:x,key:BI()}))}function b(E,x){return[{usr:E.state,key:E.key,idx:x},m(E)]}function w(E,x,O){return!p.length||(p.call({action:E,location:x,retry:O}),!1)}function g(E){l=E;var x=i();u=x[0],d=x[1],f.call({action:l,location:d})}function C(E,x){var O=zi.Push,A=v(E,x);function T(){C(E,x)}if(w(O,A,T)){var B=b(A,u+1),I=B[0],F=B[1];try{o.pushState(I,"",F)}catch{r.location.assign(F)}g(O)}}function k(E,x){var O=zi.Replace,A=v(E,x);function T(){k(E,x)}if(w(O,A,T)){var B=b(A,u),I=B[0],F=B[1];o.replaceState(I,"",F),g(O)}}function _(E){o.go(E)}var S={get action(){return l},get location(){return d},createHref:m,push:C,replace:k,go:_,back:function(){_(-1)},forward:function(){_(1)},listen:function(x){return f.push(x)},block:function(x){var O=p.push(x);return p.length===1&&r.addEventListener(o0,i0),function(){O(),p.length||r.removeEventListener(o0,i0)}}};return S}function i0(t){t.preventDefault(),t.returnValue=""}function s0(){var t=[];return{get length(){return t.length},push:function(n){return t.push(n),function(){t=t.filter(function(r){return r!==n})}},call:function(n){t.forEach(function(r){return r&&r(n)})}}}function BI(){return Math.random().toString(36).substr(2,8)}function FI(t){var e=t.pathname,n=e===void 0?"/":e,r=t.search,o=r===void 0?"":r,i=t.hash,s=i===void 0?"":i;return o&&o!=="?"&&(n+=o.charAt(0)==="?"?o:"?"+o),s&&s!=="#"&&(n+=s.charAt(0)==="#"?s:"#"+s),n}function MI(t){var e={};if(t){var n=t.indexOf("#");n>=0&&(e.hash=t.substr(n),t=t.substr(0,n));var r=t.indexOf("?");r>=0&&(e.search=t.substr(r),t=t.substr(0,r)),t&&(e.pathname=t)}return e}const ac=NI(),a0=t=>[new URLSearchParams(location.href)],II={nodeSelectorVisible:!1,nodeAddInfo:null,nodeAddCallback:null},l0=_f.createSlice({name:"panel",initialState:II,reducers:{openNodeSelector:(t,e)=>{t.nodeSelectorVisible=!0,t.nodeAddInfo=e.payload},closeNodeSelector:t=>{t.nodeSelectorVisible=!1},setNodeAddCallback:(t,e)=>{t.nodeAddCallback=e.payload},executeNodeAddCallback:(t,e)=>{t.nodeAddCallback&&t.nodeAddInfo}}}),{openNodeSelector:PI,closeNodeSelector:c0,setNodeAddCallback:LI,executeNodeAddCallback:_ne}=l0.actions,$I=l0.reducer,u0=y.createContext(null),zI=({value:t,children:e})=>h.jsx(u0.Provider,{value:t,children:e}),lc=()=>y.useContext(u0)??{hasTriggerNode:!1,isMcpServerCanvas:!1};var fn=(t=>(t.SOURCE="source",t.TARGET="target",t))(fn||{}),He=(t=>(t.INPUT="input",t.OUTPUT="output",t.CHAT_MODEL="chat_model",t.DONE="done",t.LOOP="loop",t.FALSE="false",t.TRUE="true",t.MEMORY="memory",t.TOOLS="tools",t.AI_MODEL="ai_model",t.AI_MEMORY="ai_memory",t.AI_TOOL="ai_tool",t.BUILTIN_MCP="builtin_mcp",t))(He||{}),nh=(t=>(t.INPUT="input",t.OUTPUT="output",t))(nh||{});const HI="main",VI="main",jI={left:ne.Position.Left,top:ne.Position.Top,right:ne.Position.Right,bottom:ne.Position.Bottom};function WI(t){return t?jI[t]:void 0}function UI(t,e){return{id:t.name,position:WI(t.position)??(e==="input"?ne.Position.Left:ne.Position.Right),type:t.handleType??(e==="input"?fn.TARGET:fn.SOURCE),protocol:t.protocol??VI,maxConnections:typeof t.maxConnections=="number"?t.maxConnections:void 0,label:t.displayName,isMain:t.isMain??t.name===HI,shape:t.shape,category:t.category,style:t.style}}function d0(t,e){return(t??[]).map(r=>UI(r,e))}var ge=(t=>(t.TEXT="TEXT",t.TEXTAREA="TEXTAREA",t.NUMBER="NUMBER",t.PASSWORD="PASSWORD",t.SELECT="SELECT",t.MULTI_SELECT="MULTI_SELECT",t.RADIO="RADIO",t.CHECKBOX="CHECKBOX",t.CHECKBOX_GROUP="CHECKBOX_GROUP",t.SWITCH="SWITCH",t.CASCADER="CASCADER",t.TREE_SELECT="TREE_SELECT",t.DATE="DATE",t.DATE_RANGE="DATE_RANGE",t.TIME="TIME",t.TIME_RANGE="TIME_RANGE",t.DATETIME="DATETIME",t.UPLOAD="UPLOAD",t.RATE="RATE",t.SLIDER="SLIDER",t.COLOR_PICKER="COLOR_PICKER",t.MENTIONS="MENTIONS",t.AUTO_COMPLETE="AUTO_COMPLETE",t.LABEL="LABEL",t.HIDDEN="HIDDEN",t.JSON="JSON",t.CODE="CODE",t.PROXY="PROXY",t.DIVIDER="DIVIDER",t.INFO_CARD="INFO_CARD",t.ARRAY="ARRAY",t.OBJECT="OBJECT",t.KEY_VALUE="KEY_VALUE",t.ARRAY_OBJECT="ARRAY_OBJECT",t))(ge||{});const qI="dip.core.flow.switch",cc="default-branch";function uc(t){return t===qI}function rh(t){const e=[t.config_schema,t.properties,t.params];for(const n of e){const r=YI(n);if(Array.isArray(r==null?void 0:r.branches))return r}return{}}function GI(t){const e=Array.isArray(t)?t:[],n=new Set;let r=!Array.isArray(t);return{branches:e.map((i,s)=>{const a=Hi(i)?i:{};a!==i&&(r=!0);const l=typeof a.id=="string"?a.id.trim():"",u=l.startsWith("branch")&&l!==cc&&!n.has(l)?l:XI(s,n);n.add(u);const d=typeof a.name=="string"?a.name:"",f=d.trim()?d:`分支 ${s+1}`;return(u!==a.id||f!==a.name)&&(r=!0),{...a,id:u,name:f}}),changed:r}}function ra(t){const e=Hi(t)?t:{},n=GI(e.branches);return{...n,properties:n.changed?{...e,branches:n.branches}:e}}function oh(t,e){if(!e.length)return{inputs:t.inputs,outputs:t.outputs};const n=t.outputs??[],r=n.find(i=>i.name!==cc)??{name:"branch-1",protocol:"main"},o=n.find(i=>i.name===cc)??{name:cc,displayName:"Default",protocol:"main"};return{inputs:t.inputs,outputs:[...e.map(i=>({...r,name:i.id,displayName:i.name,display_name:i.name})),o]}}function RI(t,e){if(!uc(t.key))return t;const n=rh(e),r=ra(n);return{...t,...oh(t,r.branches)}}function KI(t,e){if(!uc(e))return t;let n=!1;const r=t.fields.map(o=>!f0(o)||o.name!=="branches"?o:(n=!0,{...o,createItem:({index:i,items:s})=>({...ih(o.columns),id:JI(s),name:`分支 ${i+1}`})}));return n?{...t,fields:r}:t}function YI(t){if(Hi(t))return Array.isArray(t.branches)?t:Hi(t.properties)?t.properties:Hi(t.params)?t.params:t}function XI(t,e){let n=t+1,r=`branch-migrated-${n}`;for(;e.has(r);)n+=1,r=`branch-migrated-${n}`;return r}function JI(t){const e=new Set(t.map(r=>typeof r.id=="string"?r.id:"").filter(r=>!!r));let n="";do n=`branch_${Date.now()}_${Math.random().toString(36).slice(2,11)}`;while(e.has(n));return n}function ih(t){const e={};for(const n of t){const r=QI(n);r!==void 0&&(e[n.name]=r)}return e}function QI(t){if(t.defaultValue!==void 0)return sh(t.defaultValue);if(ZI(t))return ih(Object.values(t.properties));if(f0(t)){const e=Math.max(0,t.minItems??0);return Array.from({length:e},()=>ih(t.columns))}}function sh(t){return Array.isArray(t)?t.map(sh):Hi(t)?Object.fromEntries(Object.entries(t).map(([e,n])=>[e,sh(n)])):t}function Hi(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function f0(t){return t.type===ge.ARRAY_OBJECT&&"columns"in t}function ZI(t){return t.type===ge.OBJECT&&"properties"in t}const eP=({icon:t,label:e})=>{const n=t?h.jsx("img",{src:t,alt:e,style:{width:24,height:24}}):h.jsx(se.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}});return h.jsx(D.Badge,{offset:[-22,2],count:h.jsx(se.ReloadOutlined,{style:{fontSize:12,color:"#007fff"}}),children:n})},or=h.jsx(se.PlayCircleOutlined,{style:{fontSize:24,color:"#007fff"}}),tP=h.jsx(se.ReloadOutlined,{style:{fontSize:24,color:"#007fff"}}),h0=h.jsx(se.FilterOutlined,{style:{fontSize:24,color:"#007fff"}}),nP=h.jsx(GB.PiCursorFill,{style:{color:"#007fff",fontSize:24}}),rP=h.jsx(se.ApiOutlined,{style:{color:"#2d5bff",fontSize:22}}),oP=h.jsx(eP,{icon:void 0,label:void 0}),ir=[],p0=[{name:He.INPUT,position:"left",maxConnections:1}],m0=[{name:He.OUTPUT,position:"right",maxConnections:1}],iP=[{name:He.OUTPUT,position:"right",displayName:"",maxConnections:1}],sP=[{name:He.INPUT,position:"left",maxConnections:1}],aP=[{name:He.TRUE,position:"right",maxConnections:1,displayName:"true",style:{top:"33%"}},{name:He.FALSE,position:"right",maxConnections:1,displayName:"false",style:{top:"67%"}}],g0=[{name:He.INPUT,position:"left",maxConnections:1}],w0=[{name:He.DONE,position:"right",maxConnections:1,displayName:"done",style:{top:"33%"}},{name:He.LOOP,position:"right",maxConnections:1,displayName:"loop",style:{top:"67%"}}],b0=[{source:He.LOOP,target:He.INPUT}],lP=[{name:He.INPUT,position:"left",maxConnections:1}],cP=[{name:"default-branch",position:"right",maxConnections:1,displayName:"default"}],v0=[{name:He.OUTPUT,position:"right",maxConnections:1}],uP=[{name:He.INPUT,position:"left"},{name:He.AI_MODEL,position:"bottom",category:"slave",maxConnections:1,displayName:"Chat Model",protocol:$e.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"35%"}},{name:He.AI_MEMORY,position:"bottom",category:"slave",maxConnections:1,displayName:"Memory",protocol:$e.AI_MEMORY,shape:"rhombus",style:{left:"50%"}},{name:He.AI_TOOL,position:"bottom",category:"slave",displayName:"Tools",protocol:$e.AI_TOOL,shape:"rhombus",style:{left:"65%"},maxConnections:1}],dP=[{name:He.INPUT,position:"left"},{name:He.AI_MODEL,position:"bottom",category:"slave",maxConnections:1,displayName:"Chat Model",protocol:$e.AI_LANGUAGE_MODEL,shape:"rhombus",style:{left:"50%"}}],fP=[{name:He.INPUT,position:"left",maxConnections:1}],hP=[{name:He.OUTPUT,position:"right",maxConnections:1}],oa=t=>({name:He.AI_MODEL,position:"top",protocol:t,maxConnections:1}),y0=[{name:He.INPUT,position:"top",protocol:$e.MCP_SERVER,isMain:!0}],C0=[{name:He.BUILTIN_MCP,position:"bottom",protocol:$e.BUILTIN_MCP,isMain:!0,maxConnections:1/0}],pP=[{name:He.INPUT,position:"top",isMain:!0}],mP=[{name:He.BUILTIN_MCP,position:"bottom",protocol:$e.BUILTIN_MCP,isMain:!0,shape:"rhombus",style:{left:"50%"},maxConnections:1}],k0=[{name:He.INPUT,position:"top",protocol:$e.BUILTIN_MCP,isMain:!0}],S0=[{name:He.OUTPUT,position:"bottom",isMain:!0,maxConnections:1}],Vi={[pe.ACTION]:{type:pe.ACTION,className:"action-node",fallbackIcon:or,inputs:p0,outputs:m0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0},[pe.TRIGGER]:{type:pe.TRIGGER,className:"workflow-trigger-node",fallbackIcon:nP,inputs:ir,outputs:iP,useNodePackagePorts:!0},[pe.CONDITION]:{type:pe.CONDITION,className:"condition-node",fallbackIcon:h0,inputs:sP,outputs:aP,useNodePackagePorts:!0},[pe.LOOP]:{type:pe.LOOP,className:"loop-node",fallbackIcon:tP,inputs:g0,outputs:w0,autoConnect:b0,useNodePackagePorts:!0},[pe.SELF_LOOP]:{type:pe.SELF_LOOP,className:"loop-node",fallbackIcon:oP,inputs:g0,outputs:w0,autoConnect:b0,useNodePackagePorts:!0},[pe.SWITCH]:{type:pe.SWITCH,className:"switch-node",fallbackIcon:h0,inputs:lP,outputs:cP,useNodePackagePorts:!0},[pe.AGENT]:{type:pe.AGENT,className:"agent-node",fallbackIcon:or,inputs:uP,outputs:v0,useNodePackagePorts:!0},[pe.BROWSER]:{type:pe.BROWSER,className:"agent-node",fallbackIcon:or,inputs:dP,outputs:v0,useNodePackagePorts:!0},[pe.CUSTOM]:{type:pe.CUSTOM,className:"workflow-custom-node",fallbackIcon:rP,inputs:fP,outputs:hP,useNodePackagePorts:!0},[pe.AI_SUB_NODE]:{type:pe.AI_SUB_NODE,className:"workflow-aisub-node",fallbackIcon:or,inputs:ir,outputs:[oa($e.AI_LANGUAGE_MODEL)],byProtocol:{[$e.AI_MEMORY]:{outputs:[oa($e.AI_MEMORY)]},[$e.AI_TOOL]:{outputs:[oa($e.AI_TOOL)]}},useNodePackagePorts:!0},[pe.VECTOR_STORE]:{type:pe.VECTOR_STORE,className:"workflow-aisub-node",fallbackIcon:or,inputs:ir,outputs:[oa($e.AI_LANGUAGE_MODEL)],byProtocol:{[$e.AI_VECTOR_STORE]:{outputs:[oa($e.AI_VECTOR_STORE)]}},useNodePackagePorts:!0},[pe.STICKY]:{type:pe.STICKY,className:"workflow-sticky-note",fallbackIcon:null,inputs:ir,outputs:ir,useNodePackagePorts:!1},[pe.DYNAMIC]:{type:pe.ACTION,className:"action-node",fallbackIcon:or,inputs:p0,outputs:m0,useNodePackagePorts:!0},[pe.MCPServer]:{type:pe.MCPServer,className:"workflow-aisub-node",fallbackIcon:or,inputs:y0,outputs:C0,useNodePackagePorts:!0},[pe.MCP_TRIGGER_NODE]:{type:pe.MCP_TRIGGER_NODE,className:"workflow-aisub-node",fallbackIcon:or,inputs:y0,outputs:C0,useNodePackagePorts:!0},[pe.BuiltinMCP]:{type:pe.BuiltinMCP,className:"workflow-aisub-node",fallbackIcon:or,inputs:pP,outputs:mP,useNodePackagePorts:!0},[pe.MCP_TOOL]:{type:pe.MCP_TOOL,className:"workflow-mcp-tool-node",fallbackIcon:or,inputs:k0,outputs:S0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0},[pe.MCP_TOOLS_NODE]:{type:pe.MCP_TOOLS_NODE,className:"workflow-mcp-tool-node",fallbackIcon:or,inputs:k0,outputs:S0,byProtocol:{[$e.BUILTIN_MCP]:{outputs:ir},[$e.MCP_SERVER]:{outputs:ir}},useNodePackagePorts:!0}},ah=new Map,lh=new Set;let ch=null;function gP(){ch||(ch=setTimeout(()=>{ch=null,lh.forEach(t=>t())},0))}function ia(t,e){return t?e==null?`${t}@`:Number.isFinite(e)?`${t}@${e}`:`${t}@`:null}function wP(t){const e=ia(t.nodeKey,t.nodeVersion);if(!e)return console.warn("[workflow:node-types] register skipped, missing nodeKey",{baseNodeType:t.baseNodeType,nodeKey:t.nodeKey,nodeVersion:t.nodeVersion}),null;if(ah.has(e))return e;const n=Vi[t.baseNodeType]??Vi[pe.CUSTOM],r={...n,type:e,nodeKey:t.nodeKey,nodeVersion:t.nodeVersion,descriptorId:e,className:`${n.className} ${t.nodeKey.replaceAll(".","-")}`};return ah.set(e,r),gP(),e}function E0(){return Array.from(ah.keys())}function bP(t){return lh.add(t),()=>{lh.delete(t)}}function uh(t){return Vi[t]??Vi[pe.CUSTOM]}function x0(t){const e=t==null?void 0:t.protocol;return typeof e=="string"&&e?e:void 0}function vP(t,e){var o;const n=Vi[t]??Vi[pe.CUSTOM],r=(o=n.byProtocol)==null?void 0:o[x0(e)??""];return{inputs:(r==null?void 0:r.inputs)??n.inputs,outputs:(r==null?void 0:r.outputs)??n.outputs}}const D0=new Map;function ji(t,e){const n=`${t}|${x0(e)??""}`,r=D0.get(n);if(r)return r;const o=vP(t,e),i={inputs:d0(o.inputs,"input"),outputs:d0(o.outputs,"output")};return D0.set(n,i),i}function _0(t,e){const n=ji(t.type,t.data),r=new Map([...n.inputs,...n.outputs].map(o=>[o.id,o]));if(r.has(e)){const o=r.get(e);return{name:o.id,type:o.type,protocol:o.protocol??"main"}}return null}function yP(t,e,n,r){const o=ji(t.type,t.data),s=(n?o.inputs:o.outputs).filter(c=>(c.protocol??"main")===e),l=(r?s.find(c=>c.id===r):void 0)??s[0];return l?{name:l.id,type:l.type,protocol:l.protocol??"main",position:l.position}:null}function CP(t){const e=rh(t??{}),n=ra(e);return kP(n.branches)}function A0(t){const e=rh(t??{});return ra(e).branches}function kP(t){const e=t.map((r,o)=>({id:r.id,position:ne.Position.Right,type:fn.SOURCE,maxConnections:1,label:r.name,style:{top:`${(o+1)/(t.length+2)*100}%`},isMain:!1})),n={id:"default-branch",position:ne.Position.Right,type:fn.SOURCE,maxConnections:1,label:"default",style:{top:`${(t.length+1)/(t.length+2)*100}%`},isMain:!1};return[...e,n]}function dh(t,e,n){if(!t||!e)return!1;if(t===e)return!0;const r=new Map;for(const s of n){const a=r.get(s.target);a?a.push(s.source):r.set(s.target,[s.source])}const o=new Set,i=[t];for(;i.length>0;){const s=i.pop();if(s===e)return!0;if(o.has(s))continue;o.add(s);const a=r.get(s);a&&i.push(...a)}return!1}const SP=(t,e,n,r)=>t.filter(o=>r==="output"?o.source===e&&o.sourceHandle===n:!(o.target!==e||o.targetHandle!==n||o.source===o.target||dh(o.source,e,t)));function EP(){const t=ne.useStore(r=>r.edges),e=y.useCallback((r,o,i)=>t?SP(t,r,o,i):[],[t]),n=y.useCallback((r,o)=>t&&t.some(s=>s.source===r&&s.sourceHandle===o||s.target===r&&s.targetHandle===o)?"connected":"default",[t]);return{getHandleConnections:e,handleStatus:n}}function dc(){const t=Ms(),{nodeSelectorVisible:e,nodeAddInfo:n,nodeAddCallback:r}=Is(c=>c.panel),o=y.useCallback(c=>{t(PI(c))},[t]),i=y.useCallback(()=>{t(c0())},[t]),s=y.useCallback(c=>{r&&n&&r(n,c),t(c0())},[t,n,r]),a=y.useCallback((c,u)=>{r&&c&&r(c,u)},[t,n,r]),l=y.useCallback(c=>{t(LI(c))},[t]);return{nodeSelectorVisible:e,nodeAddInfo:n,openNodeSelector:o,closeNodeSelector:i,handleNodeSelect:s,handleManualAdd:a,setNodeAddCallback:l}}He.AI_MODEL,He.AI_MEMORY,He.AI_TOOL,He.CHAT_MODEL+"",He.AI_MODEL,He.MEMORY+"",He.AI_MEMORY,He.TOOLS+"",He.AI_TOOL,He.AI_MODEL+"",He.AI_MODEL,He.AI_MEMORY+"",He.AI_MEMORY,He.AI_TOOL+"",He.AI_TOOL,He.AI_MODEL+"",$e.AI_LANGUAGE_MODEL,He.AI_MEMORY+"",$e.AI_MEMORY,He.AI_TOOL+"",$e.AI_TOOL;function fh(t){return t===He.AI_MODEL||t===He.AI_MEMORY||t===He.AI_TOOL}var fo=(t=>(t.MAIN="main",t))(fo||{});const sr=new Map,fc=new Map;function hc(t,e){if(!t)throw new Error("nodePackageSchemaCache: nodeKey is required");return e==null?`${t}@latest`:typeof e!="number"||!Number.isFinite(e)||e<0?`${t}@latest`:`${t}@${e}`}function xP(t){return t!=null&&typeof t=="number"&&Number.isFinite(t)&&t>=0}function O0(t,e,n){if(!t||!n)return;const r=hc(t,e);sr.set(r,n)}function Wi(t,e){return t?sr.get(hc(t,e))??null:null}function T0(t){return t?sr.get(t)??null:null}function N0(t,e){if(!t)return null;const n=sr.get(t)??null;if(n){const r=new Map;if(n.inputs.forEach(o=>{const i={...o,protocol:o.protocol??"main",type:o.type??"target"};r.set(i.name,i)}),n.outputs.forEach(o=>{const i={...o,protocol:o.protocol??"main",type:o.type??"source"};r.set(i.name,i)}),r.has(e))return r.get(e)}return null}function DP(t,e,n,r){if(!t)return null;const o=sr.get(t)??null;if(o){const i=new Map;(n?o.inputs:o.outputs).forEach(a=>{const l={...a,protocol:a.protocol??"main"},c=l.protocol??"main",u=i.get(c);u?u.push(l):i.set(c,[l])});const s=i.get(e);if(s)return(r?s.find(l=>l.name===r):void 0)??s[0]}return null}async function pc(t,e){if(!t)return null;const n=hc(t,e);if(sr.has(n))return sr.get(n);if(fc.has(n))return fc.get(n);if(!xP(e))return sr.get(n)??null;const r=my(t,e).then(o=>(sr.set(n,o),o)).catch(()=>null).finally(()=>{fc.delete(n)});return fc.set(n,r),r}function _P(t,e){if(!t)return null;const n=hc(t,e);return sr.has(n)?sr.get(n):null}const Ui=t=>typeof t=="string"&&t.includes("@"),B0=(t,e)=>{if(Ui(t.type)){const n=N0(t.type,e);if(n)return n.type}else{const n=_0(t,e);if(n)return n.protocol}return null},sa=(t,e)=>{var n;if(!t)return null;if(Ui(t.type)){if(((n=t.data)==null?void 0:n.node_type)==="SwitchNode")return{name:e,type:"main",protocol:"main"};const r=N0(t.type,e);if(r)return r}else{const r=_0(t,e);if(r)return r}return null},hh=(t,e,n,r)=>{if(Ui(t.type)){const o=DP(t.type,e,n,r);if(o)return o}else{const o=yP(t,e,n,r);if(o)return o}return null};function F0(t){var e;if(/@/.test(t.type??"")){const n=T0(t.type);return n!=null&&n.auto_connections?n.auto_connections:(e=t.data)!=null&&e.saveType&&["SelfLoopNode","LoopNode"].includes(t.data.saveType)?[{source:"loop",target:"input"}]:[]}return uh(t.type).autoConnect??[]}function M0(t,e,n){return!e||!n?!1:F0(t).some(r=>r.source===e&&r.target===n)}function AP(t){const e=F0(t),n=[];for(const r of e){const o=sa(t,r.source),i=sa(t,r.target);if(!o||!i){console.warn("[workflow:auto-connect] 端口不存在,跳过自动连线",{nodeId:t.id,nodeType:t.type,rule:r});continue}if(o.protocol!==i.protocol){console.warn("[workflow:auto-connect] 自连线两端协议不一致,跳过",{nodeId:t.id,nodeType:t.type,rule:r,sourceProtocol:o.protocol,targetProtocol:i.protocol});continue}n.push($o.createEdge(fo.MAIN,`${t.id}-self-${r.source}-${r.target}`,t.id,t.id,{sourceHandle:r.source,targetHandle:r.target,data:{renderType:r.source,connectionType:r.source}}))}return n}function OP(t){const e=t.type==="target"&&fh(t.handleId);return(t.type==="source"||e)&&!t.isFull&&!t.connectionInProgress&&t.canEdit}function TP(t,e){return{isConnectableStart:e&&t==="source",isConnectableEnd:e&&t==="target"}}function NP(t,e){const{connection:n,nodeId:r,handleId:o}=t;if(!n.inProgress)return!1;const{fromHandle:i,fromNode:s,toHandle:a}=n;return!(i!=null&&i.id)||!s||i.type!=="source"?!1:!!(i.nodeId===r&&M0(s,i.id,o)||a!=null&&a.nodeId&&dh(i.nodeId,a.nodeId,e))}function BP(t){const e={position:t.position,refresh:t.refresh};return t.type==="target"?{...e,targetNodeId:t.nodeId,targetHandle:t.handleId,...t.anchorNode?{targetNode:t.anchorNode}:{}}:{...e,sourceNodeId:t.nodeId,sourceHandle:t.handleId,protocol:t.protocol,...t.anchorNode?{sourceNode:t.anchorNode}:{}}}const aa=()=>{const t=ne.useReactFlow(),e=ne.useStoreApi(),n=y.useCallback(a=>{t.addEdges(a)},[t]),r=y.useCallback(a=>{t.addNodes(a)},[t]),o=y.useCallback(a=>{const{nodes:l,edges:c}=e.getState(),u=c.filter(f=>a.includes(f.target)||a.includes(f.source)),d=l.filter(f=>a.includes(f.id));t.deleteElements({edges:u,nodes:d})},[t,e]),i=y.useCallback(a=>{const{edges:l}=e.getState(),c=l.filter(u=>a.includes(u.id));t.deleteElements({edges:c})},[e,t]);return{getNodes:y.useCallback(()=>{const{nodes:a}=e.getState();return a},[e]),removeNodes:o,removeEdges:i,addEdges:n,addNodes:r}};function mc(t,e){const n=e.source?t.find(s=>s.id===e.source):void 0;if(!n)return{valid:!1,code:"SOURCE_NODE_NOT_FOUND",message:"源节点不存在"};const r=e.target?t.find(s=>s.id===e.target):void 0;if(!r)return{valid:!1,code:"TARGET_NODE_NOT_FOUND",message:"目标节点不存在"};const o=B0(n,e.sourceHandle)??"main",i=B0(r,e.targetHandle)??"main";return o.toLowerCase()!==i.toLowerCase()?{valid:!1,code:"PROTOCOL_MISMATCH",message:`连接双方协议不相符:${o} -> ${i}`}:n.id===r.id&&!M0(n,e.sourceHandle,e.targetHandle)?{valid:!1,code:"SELF_CONNECTION_NOT_ALLOWED",message:"节点不能连接到自身(端口对未在 auto_connect 规则中声明)"}:{valid:!0,code:"VALID",message:""}}var gc=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Un(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ph={exports:{}};/*!
10
10
  Copyright (c) 2018 Jed Watson.
11
11
  Licensed under the MIT License (MIT), see
12
12
  http://jedwatson.github.io/classnames
@@ -20,8 +20,8 @@
20
20
  `,o=t.state.doc.line(o.number+(n?1:-1)),i=t.bidiSpans(o),c=t.visualLineSide(o,!n)}if(l){if(!l(u))return a}else{if(!r)return c;l=r(u)}a=c}}function ZL(t,e,n){let r=t.state.charCategorizer(e),o=r(n);return i=>{let s=r(i);return o==pt.Space&&(o=s),o==s}}function e4(t,e,n,r){let o=e.head,i=n?1:-1;if(o==(n?t.state.doc.length:0))return ae.cursor(o,e.assoc);let s=e.goalColumn,a,l=t.contentDOM.getBoundingClientRect(),c=t.coordsAtPos(o,e.assoc||-1),u=t.documentTop;if(c)s==null&&(s=c.left-l.left),a=i<0?c.top:c.bottom;else{let m=t.viewState.lineBlockAt(o);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(o-m.from))),a=(i<0?m.top:m.bottom)+u}let d=l.left+s,f=r??t.viewState.heightOracle.textHeight>>1,p=jp(t,{x:d,y:a+f*i},!1,i);return ae.cursor(p.pos,p.assoc,void 0,s)}function Pa(t,e,n){for(;;){let r=0;for(let o of t)o.between(e-1,e+1,(i,s,a)=>{if(e>i&&e<s){let l=r||n||(e-i<s-e?-1:1);e=l<0?i:s,r=l}});if(!r)return e}}function Gk(t,e){let n=null;for(let r=0;r<e.ranges.length;r++){let o=e.ranges[r],i=null;if(o.empty){let s=Pa(t,o.from,0);s!=o.from&&(i=ae.cursor(s,-1))}else{let s=Pa(t,o.from,-1),a=Pa(t,o.to,1);(s!=o.from||a!=o.to)&&(i=ae.range(o.from==o.anchor?s:a,o.from==o.head?s:a))}i&&(n||(n=e.ranges.slice()),n[r]=i)}return n?ae.create(n,e.mainIndex):e}function Vp(t,e,n){let r=Pa(t.state.facet(Ma).map(o=>o(t)),n.from,e.head>n.from?-1:1);return r==n.from?n:ae.cursor(r,r<n.from?1:-1)}class Fr{constructor(e,n){this.pos=e,this.assoc=n}}function jp(t,e,n,r){let o=t.contentDOM.getBoundingClientRect(),i=o.top+t.viewState.paddingTop,{x:s,y:a}=e,l=a-i,c;for(;;){if(l<0)return new Fr(0,1);if(l>t.viewState.docHeight)return new Fr(t.state.doc.length,-1);if(c=t.elementAtHeight(l),r==null)break;if(c.type==Jt.Text){let f=t.docView.coordsAt(r<0?c.from:c.to,r);if(f&&(r<0?f.top<=l+i:f.bottom>=l+i))break}let d=t.viewState.heightOracle.textHeight/2;l=r>0?c.bottom+d:c.top-d}if(t.viewport.from>=c.to||t.viewport.to<=c.from){if(n)return null;if(c.type==Jt.Text){let d=JL(t,o,c,s,a);return new Fr(d,d==c.from?1:-1)}}if(c.type!=Jt.Text)return l<(c.top+c.bottom)/2?new Fr(c.from,1):new Fr(c.to,-1);let u=t.docView.lineAt(c.from,2);return(!u||u.length!=c.length)&&(u=t.docView.lineAt(c.from,-2)),Rk(t,u,c.from,s,a)}function Rk(t,e,n,r,o){let i=-1,s=null,a=1e9,l=1e9,c=o,u=o,d=(f,p)=>{for(let m=0;m<f.length;m++){let v=f[m];if(v.top==v.bottom)continue;let b=v.left>r?v.left-r:v.right<r?r-v.right:0,w=v.top>o?v.top-o:v.bottom<o?o-v.bottom:0;v.top<=u&&v.bottom>=c&&(c=Math.min(v.top,c),u=Math.max(v.bottom,u),w=0),(i<0||(w-l||b-a)<0)&&(i>=0&&l&&a<b&&s.top<=u-2&&s.bottom>=c+2?l=0:(i=p,a=b,l=w,s=v))}};if(e.isText()){for(let p=0;p<e.length;){let m=zt(e.text,p);if(d(Fa(e.dom,p,m).getClientRects(),p),!a&&!l)break;p=m}return r>(s.left+s.right)/2==(Kk(t,i+n)==ct.LTR)?new Fr(n+zt(e.text,i),-1):new Fr(n+i,1)}else{if(!e.length)return new Fr(n,1);for(let v=0;v<e.children.length;v++){let b=e.children[v];if(b.flags&48)continue;let w=(b.dom.nodeType==1?b.dom:Fa(b.dom,0,b.length)).getClientRects();if(d(w,v),!a&&!l)break}let f=e.children[i],p=e.posBefore(f,n);return f.isComposite()||f.isText()?Rk(t,f,p,Math.max(s.left,Math.min(s.right,r)),o):r>(s.left+s.right)/2==(Kk(t,i+n)==ct.LTR)?new Fr(p+f.length,-1):new Fr(p,1)}}function Kk(t,e){let n=t.state.doc.lineAt(e);return t.bidiSpans(n)[Yr.find(t.bidiSpans(n),e-n.from,-1,1)].dir}const La="￿";class t4{constructor(e,n){this.points=e,this.view=n,this.text="",this.lineSeparator=n.state.facet(tt.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=La}readRange(e,n){if(!e)return this;let r=e.parentNode;for(let o=e;;){this.findPointBefore(r,o);let i=this.text.length;this.readNode(o);let s=Bt.get(o),a=o.nextSibling;if(a==n){s!=null&&s.breakAfter&&!a&&r!=this.view.contentDOM&&this.lineBreak();break}let l=Bt.get(a);(s&&l?s.breakAfter:(s?s.breakAfter:eu(o))||eu(a)&&(o.nodeName!="BR"||s!=null&&s.isWidget())&&this.text.length>i)&&!r4(a,n)&&this.lineBreak(),o=a}return this.findPointBefore(r,n),this}readTextNode(e){let n=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,n.length));for(let r=0,o=this.lineSeparator?null:/\r\n?|\n/g;;){let i=-1,s=1,a;if(this.lineSeparator?(i=n.indexOf(this.lineSeparator,r),s=this.lineSeparator.length):(a=o.exec(n))&&(i=a.index,s=a[0].length),this.append(n.slice(r,i<0?n.length:i)),i<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);r=i+s}}readNode(e){let n=Bt.get(e),r=n&&n.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let o=r.iter();!o.next().done;)o.lineBreak?this.lineBreak():this.append(o.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,n){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==n&&(r.pos=this.text.length)}findPointInside(e,n){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(n4(e,r.node,r.offset)?n:0))}}function n4(t,e,n){for(;;){if(!e||n<Kr(e))return!1;if(e==t)return!0;n=Eo(e)+1,e=e.parentNode}}function r4(t,e){let n;for(;!(t==e||!t);t=t.nextSibling){let r=Bt.get(t);if(!(r!=null&&r.isWidget()))return!1;r&&(n||(n=[])).push(r)}if(n)for(let r of n){let o=r.overrideDOMText;if(o!=null&&o.length)return!1}return!0}class Yk{constructor(e,n){this.node=e,this.offset=n,this.pos=-1}}class o4{constructor(e,n,r,o){this.typeOver=o,this.bounds=null,this.text="",this.domChanged=n>-1;let{impreciseHead:i,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&n>-1)this.newSel=null;else if(n>-1&&(this.bounds=Xk(e.docView.tile,n,r,0))){let a=i||s?[]:s4(e),l=new t4(a,e);l.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=l.text,this.newSel=a4(a,this.bounds.from)}else{let a=e.observer.selectionRange,l=i&&i.node==a.focusNode&&i.offset==a.focusOffset||!Ep(e.contentDOM,a.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=s&&s.node==a.anchorNode&&s.offset==a.anchorOffset||!Ep(e.contentDOM,a.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((Be.ios||Be.chrome)&&e.state.selection.main.empty&&l!=c&&(u.from>0||u.to<e.state.doc.length)){let d=Math.min(l,c),f=Math.max(l,c),p=u.from-d,m=u.to-f;(p==0||p==1||d==0)&&(m==0||m==-1||f==e.state.doc.length)&&(l=0,c=e.state.doc.length)}e.inputState.composing>-1&&e.state.selection.ranges.length>1?this.newSel=e.state.selection.replaceRange(ae.range(c,l)):this.newSel=ae.single(c,l)}}}function Xk(t,e,n,r){if(t.isComposite()){let o=-1,i=-1,s=-1,a=-1;for(let l=0,c=r,u=r;l<t.children.length;l++){let d=t.children[l],f=c+d.length;if(c<e&&f>n)return Xk(d,e,n,c);if(f>=e&&o==-1&&(o=l,i=c),c>n&&d.dom.parentNode==t.dom){s=l,a=u;break}u=f,c=f+d.breakAfter}return{from:i,to:a<0?r+t.length:a,startDOM:(o?t.children[o-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Jk(t,e){let n,{newSel:r}=e,o=t.state.selection.main,i=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:s,to:a}=e.bounds,l=o.from,c=null;(i===8||Be.android&&e.text.length<a-s)&&(l=o.to,c="end");let u=Qk(t.state.doc.sliceString(s,a,La),e.text,l-s,c);u&&(Be.chrome&&i==13&&u.toB==u.from+2&&e.text.slice(u.from,u.toB)==La+La&&u.toB--,n={from:s+u.from,to:s+u.toA,insert:st.of(e.text.slice(u.from,u.toB).split(La))})}else r&&(!t.hasFocus&&t.state.facet(Xr)||lu(r,o))&&(r=null);if(!n&&!r)return!1;if(!n&&e.typeOver&&!o.empty&&r&&r.main.empty?n={from:o.from,to:o.to,insert:t.state.doc.slice(o.from,o.to)}:(Be.mac||Be.android)&&n&&n.from==n.to&&n.from==o.head-1&&/^\. ?$/.test(n.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&n.insert.length==2&&(r=ae.single(r.main.anchor-1,r.main.head-1)),n={from:n.from,to:n.to,insert:st.of([n.insert.toString().replace("."," ")])}):n&&n.from>=o.from&&n.to<=o.to&&(n.from!=o.from||n.to!=o.to)&&o.to-o.from-(n.to-n.from)<=4?n={from:o.from,to:o.to,insert:t.state.doc.slice(o.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,o.to))}:t.state.doc.lineAt(o.from).to<o.to&&t.docView.lineHasWidget(o.to)&&t.inputState.insertingTextAt>Date.now()-50?n={from:o.from,to:o.to,insert:t.state.toText(t.inputState.insertingText)}:Be.chrome&&n&&n.from==n.to&&n.from==o.head&&n.insert.toString()==`
21
21
  `&&t.lineWrapping&&(r&&(r=ae.single(r.main.anchor-1,r.main.head-1)),n={from:o.from,to:o.to,insert:st.of([" "])}),n)return Wp(t,n,r,i);if(r&&!lu(r,o)){let s=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(s=!0),a=t.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Gk(t.state.facet(Ma).map(l=>l(t)),r))),t.dispatch({selection:r,scrollIntoView:s,userEvent:a}),!0}else return!1}function Wp(t,e,n,r=-1){if(Be.ios&&t.inputState.flushIOSKey(e))return!0;let o=t.state.selection.main;if(Be.android&&(e.to==o.to&&(e.from==o.from||e.from==o.from-1&&t.state.sliceDoc(e.from,o.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Zi(t.contentDOM,"Enter",13)||(e.from==o.from-1&&e.to==o.to&&e.insert.length==0||r==8&&e.insert.length<e.to-e.from&&e.to>o.head)&&Zi(t.contentDOM,"Backspace",8)||e.from==o.from&&e.to==o.to+1&&e.insert.length==0&&Zi(t.contentDOM,"Delete",46)))return!0;let i=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,a=()=>s||(s=i4(t,e,n));return t.state.facet(Ok).some(l=>l(t,e.from,e.to,i,a))||t.dispatch(a()),!0}function i4(t,e,n){let r,o=t.state,i=o.selection.main,s=-1;if(e.from==e.to&&e.from<i.from||e.from>i.to){let l=e.from<i.from?-1:1,c=l<0?i.from:i.to,u=Pa(o.facet(Ma).map(d=>d(t)),c,l);e.from==u&&(s=u)}if(s>-1)r={changes:e,selection:ae.cursor(e.from+e.insert.length,-1)};else if(e.from>=i.from&&e.to<=i.to&&e.to-e.from>=(i.to-i.from)/3&&(!n||n.main.empty&&n.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=i.from<e.from?o.sliceDoc(i.from,e.from):"",c=i.to>e.to?o.sliceDoc(e.to,i.to):"";r=o.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+c))}else{let l=o.changes(e),c=n&&n.main.to<=l.newLength?n.main:void 0;if(o.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=i.to+10&&e.to>=i.to-10){let u=t.state.sliceDoc(e.from,e.to),d,f=n&&Uk(t,n.main.head);if(f){let m=e.insert.length-(e.to-e.from);d={from:f.from,to:f.to-m}}else d=t.state.doc.lineAt(i.head);let p=i.to-e.to;r=o.changeByRange(m=>{if(m.from==i.from&&m.to==i.to)return{changes:l,range:c||m.map(l)};let v=m.to-p,b=v-u.length;if(t.state.sliceDoc(b,v)!=u||v>=d.from&&b<=d.to)return{range:m};let w=o.changes({from:b,to:v,insert:e.insert}),g=m.to-i.to;return{changes:w,range:c?ae.range(Math.max(0,c.anchor+g),Math.max(0,c.head+g)):m.map(w)}})}else r={changes:l,selection:c&&o.selection.replaceRange(c)}}let a="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),o.update(r,{userEvent:a,scrollIntoView:!0})}function Qk(t,e,n,r){let o=Math.min(t.length,e.length),i=0;for(;i<o&&t.charCodeAt(i)==e.charCodeAt(i);)i++;if(i==o&&t.length==e.length)return null;let s=t.length,a=e.length;for(;s>0&&a>0&&t.charCodeAt(s-1)==e.charCodeAt(a-1);)s--,a--;if(r=="end"){let l=Math.max(0,i-Math.min(s,a));n-=s+l-i}if(s<i&&t.length<e.length){let l=n<=i&&n>=s?i-n:0;i-=l,a=i+(a-s),s=i}else if(a<i){let l=n<=i&&n>=a?i-n:0;i-=l,s=i+(s-a),a=i}return{from:i,toA:s,toB:a}}function s4(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:i}=t.observer.selectionRange;return n&&(e.push(new Yk(n,r)),(o!=n||i!=r)&&e.push(new Yk(o,i))),e}function a4(t,e){if(t.length==0)return null;let n=t[0].pos,r=t.length==2?t[1].pos:n;return n>-1&&r>-1?ae.single(n+e,r+e):null}function lu(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class l4{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Be.safari&&e.contentDOM.addEventListener("input",()=>null),Be.gecko&&S4(e.contentDOM.ownerDocument)}handleEvent(e){!g4(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,n){let r=this.handlers[e];if(r){for(let o of r.observers)o(this.view,n);for(let o of r.handlers){if(n.defaultPrevented)break;if(o(this.view,n)){n.preventDefault();break}}}}ensureHandlers(e){let n=c4(e),r=this.handlers,o=this.view.contentDOM;for(let i in n)if(i!="scroll"){let s=!n[i].handlers.length,a=r[i];a&&s!=!a.handlers.length&&(o.removeEventListener(i,this.handleEvent),a=null),a||o.addEventListener(i,this.handleEvent,{passive:s})}for(let i in r)i!="scroll"&&!n[i]&&o.removeEventListener(i,this.handleEvent);this.handlers=n}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&t1.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Be.android&&Be.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let n;return Be.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&((n=e1.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||u4.indexOf(e.key)>-1&&e.ctrlKey&&!e.shiftKey)?(this.pendingIOSKey=n||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let n=this.pendingIOSKey;return!n||n.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Zi(this.view.contentDOM,n.key,n.keyCode,n instanceof KeyboardEvent?n:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Be.safari&&!Be.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}function Zk(t,e){return(n,r)=>{try{return e.call(t,r,n)}catch(o){Sn(n.state,o)}}}function c4(t){let e=Object.create(null);function n(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let o=r.spec,i=o&&o.plugin.domEventHandlers,s=o&&o.plugin.domEventObservers;if(i)for(let a in i){let l=i[a];l&&n(a).handlers.push(Zk(r.value,l))}if(s)for(let a in s){let l=s[a];l&&n(a).observers.push(Zk(r.value,l))}}for(let r in ur)n(r).handlers.push(ur[r]);for(let r in Yn)n(r).observers.push(Yn[r]);return e}const e1=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],u4="dthko",t1=[16,17,18,20,91,92,224,225],cu=6;function uu(t){return Math.max(0,t)*.7+8}function d4(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class f4{constructor(e,n,r,o){this.view=e,this.startEvent=n,this.style=r,this.mustSelect=o,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=n,this.scrollParents=mL(e.contentDOM),this.atoms=e.state.facet(Ma).map(s=>s(e));let i=e.contentDOM.ownerDocument;i.addEventListener("mousemove",this.move=this.move.bind(this)),i.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=n.shiftKey,this.multiple=e.state.facet(tt.allowMultipleSelections)&&h4(e,n),this.dragging=m4(e,n)&&l1(n)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&d4(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let n=0,r=0,o=0,i=0,s=this.view.win.innerWidth,a=this.view.win.innerHeight;this.scrollParents.x&&({left:o,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:i,bottom:a}=this.scrollParents.y.getBoundingClientRect());let l=Ip(this.view);e.clientX-l.left<=o+cu?n=-uu(o-e.clientX):e.clientX+l.right>=s-cu&&(n=uu(e.clientX-s)),e.clientY-l.top<=i+cu?r=-uu(i-e.clientY):e.clientY+l.bottom>=a-cu&&(r=uu(e.clientY-a)),this.setScrollSpeed(n,r)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,n){this.scrollSpeed={x:e,y:n},e||n?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:n}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),n&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=n,n=0),(e||n)&&this.view.win.scrollBy(e,n),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:n}=this,r=Gk(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(n.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(n=>n.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function h4(t,e){let n=t.state.facet(xk);return n.length?n[0](e):Be.mac?e.metaKey:e.ctrlKey}function p4(t,e){let n=t.state.facet(Dk);return n.length?n[0](e):Be.mac?!e.altKey:!e.ctrlKey}function m4(t,e){let{main:n}=t.state.selection;if(n.empty)return!1;let r=Qi(t.root);if(!r||r.rangeCount==0)return!0;let o=r.getRangeAt(0).getClientRects();for(let i=0;i<o.length;i++){let s=o[i];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function g4(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let n=e.target,r;n!=t.contentDOM;n=n.parentNode)if(!n||n.nodeType==11||(r=Bt.get(n))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const ur=Object.create(null),Yn=Object.create(null),n1=Be.ie&&Be.ie_version<15||Be.ios&&Be.webkit_version<604;function w4(t){let e=t.dom.parentNode;if(!e)return;let n=e.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{t.focus(),n.remove(),r1(t,n.value)},50)}function du(t,e,n){for(let r of t.facet(e))n=r(n,t);return n}function r1(t,e){e=du(t.state,Tp,e);let{state:n}=t,r,o=1,i=n.toText(e),s=i.lines==n.selection.ranges.length;if(Up!=null&&n.selection.ranges.every(l=>l.empty)&&Up==i.toString()){let l=-1;r=n.changeByRange(c=>{let u=n.doc.lineAt(c.from);if(u.from==l)return{range:c};l=u.from;let d=n.toText((s?i.line(o++).text:e)+n.lineBreak);return{changes:{from:u.from,insert:d},range:ae.cursor(c.from+d.length)}})}else s?r=n.changeByRange(l=>{let c=i.line(o++);return{changes:{from:l.from,to:l.to,insert:c.text},range:ae.cursor(l.from+c.length)}}):r=n.replaceSelection(i);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Yn.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft},ur.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1),Yn.touchstart=(t,e)=>{t.inputState.lastTouchTime=Date.now(),t.inputState.setSelectionOrigin("select.pointer")},Yn.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")},ur.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let n=null;for(let r of t.state.facet(_k))if(n=r(t,e),n)break;if(!n&&e.button==0&&(n=v4(t,e)),n){let r=!t.hasFocus;t.inputState.startMouseSelection(new f4(t,e,n,r)),r&&t.observer.ignore(()=>{mk(t.contentDOM);let i=t.root.activeElement;i&&!i.contains(t.contentDOM)&&i.blur()});let o=t.inputState.mouseSelection;if(o)return o.start(e),o.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function o1(t,e,n,r){if(r==1)return ae.cursor(e,n);if(r==2)return XL(t.state,e,n);{let o=t.docView.lineAt(e,n),i=t.state.doc.lineAt(o?o.posAtEnd:e),s=o?o.posAtStart:i.from,a=o?o.posAtEnd:i.to;return a<t.state.doc.length&&a==i.to&&a++,ae.range(s,a)}}const b4=Be.ie&&Be.ie_version<=11;let i1=null,s1=0,a1=0;function l1(t){if(!b4)return t.detail;let e=i1,n=a1;return i1=t,a1=Date.now(),s1=!e||n>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(s1+1)%3:1}function v4(t,e){let n=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=l1(e),o=t.state.selection;return{update(i){i.docChanged&&(n.pos=i.changes.mapPos(n.pos),o=o.map(i.changes))},get(i,s,a){let l=t.posAndSideAtCoords({x:i.clientX,y:i.clientY},!1),c,u=o1(t,l.pos,l.assoc,r);if(n.pos!=l.pos&&!s){let d=o1(t,n.pos,n.assoc,r),f=Math.min(d.from,u.from),p=Math.max(d.to,u.to);u=f<u.from?ae.range(f,p):ae.range(p,f)}return s?o.replaceRange(o.main.extend(u.from,u.to)):a&&r==1&&o.ranges.length>1&&(c=y4(o,l.pos))?c:a?o.addRange(u):ae.create([u])}}}function y4(t,e){for(let n=0;n<t.ranges.length;n++){let{from:r,to:o}=t.ranges[n];if(r<=e&&o>=e)return ae.create(t.ranges.slice(0,n).concat(t.ranges.slice(n+1)),t.mainIndex==n?0:t.mainIndex-(t.mainIndex>n?1:0))}return null}ur.dragstart=(t,e)=>{let{selection:{main:n}}=t.state;if(e.target.draggable){let o=t.docView.tile.nearest(e.target);if(o&&o.isWidget()){let i=o.posAtStart,s=i+o.length;(i>=n.to||s<=n.from)&&(n=ae.range(i,s))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=n,e.dataTransfer&&(e.dataTransfer.setData("Text",du(t.state,Np,t.state.sliceDoc(n.from,n.to))),e.dataTransfer.effectAllowed="copyMove"),!1},ur.dragend=t=>(t.inputState.draggedContent=null,!1);function c1(t,e,n,r){if(n=du(t.state,Tp,n),!n)return;let o=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:i}=t.inputState,s=r&&i&&p4(t,e)?{from:i.from,to:i.to}:null,a={from:o,insert:n},l=t.state.changes(s?[s,a]:a);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(o,-1),head:l.mapPos(o,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ur.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let n=e.dataTransfer.files;if(n&&n.length){let r=Array(n.length),o=0,i=()=>{++o==n.length&&c1(t,e,r.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<n.length;s++){let a=new FileReader;a.onerror=i,a.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(a.result)||(r[s]=a.result),i()},a.readAsText(n[s])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return c1(t,e,r,!0),!0}return!1},ur.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let n=n1?null:e.clipboardData;return n?(r1(t,n.getData("text/plain")||n.getData("text/uri-list")),!0):(w4(t),!1)};function C4(t,e){let n=t.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function k4(t){let e=[],n=[],r=!1;for(let o of t.selection.ranges)o.empty||(e.push(t.sliceDoc(o.from,o.to)),n.push(o));if(!e.length){let o=-1;for(let{from:i}of t.selection.ranges){let s=t.doc.lineAt(i);s.number>o&&(e.push(s.text),n.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),o=s.number}r=!0}return{text:du(t,Np,e.join(t.lineBreak)),ranges:n,linewise:r}}let Up=null;ur.copy=ur.cut=(t,e)=>{let n=Qi(t.root);if(n&&!Oa(t.contentDOM,n))return!1;let{text:r,ranges:o,linewise:i}=k4(t.state);if(!r&&!i)return!1;Up=i?r:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let s=n1?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",r),!0):(C4(t,r),!1)};const u1=Tr.define();function d1(t,e){let n=[];for(let r of t.facet(Tk)){let o=r(t,e);o&&n.push(o)}return n.length?t.update({effects:n,annotations:u1.of(!0)}):null}function f1(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let n=d1(t.state,e);n?t.dispatch(n):t.update([])}},10)}Yn.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),f1(t)},Yn.blur=t=>{t.observer.clearSelectionRange(),f1(t)},Yn.compositionstart=Yn.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))},Yn.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Be.chrome&&Be.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))},Yn.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()},ur.beforeinput=(t,e)=>{var n,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let i=(n=e.dataTransfer)===null||n===void 0?void 0:n.getData("text/plain"),s=e.getTargetRanges();if(i&&s.length){let a=s[0],l=t.posAtDOM(a.startContainer,a.startOffset),c=t.posAtDOM(a.endContainer,a.endOffset);return Wp(t,{from:l,to:c,insert:t.state.toText(i)},null),!0}}let o;if(Be.chrome&&Be.android&&(o=e1.find(i=>i.inputType==e.inputType))&&(t.observer.delayAndroidKey(o.key,o.keyCode),o.key=="Backspace"||o.key=="Delete")){let i=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>i+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Be.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Be.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Yn.compositionend(t,e),20),!1};const h1=new Set;function S4(t){h1.has(t)||(h1.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const p1=["pre-wrap","normal","pre-line","break-spaces"];let os=!1;function m1(){os=!1}class E4{constructor(e){this.lineWrapping=e,this.doc=st.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,n){let r=this.doc.lineAt(n).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((n-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return p1.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let n=!1;for(let r=0;r<e.length;r++){let o=e[r];o<0?r++:this.heightSamples[Math.floor(o*10)]||(n=!0,this.heightSamples[Math.floor(o*10)]=!0)}return n}refresh(e,n,r,o,i,s){let a=p1.indexOf(e)>-1,l=Math.abs(n-this.lineHeight)>.3||this.lineWrapping!=a||Math.abs(r-this.charWidth)>.1;if(this.lineWrapping=a,this.lineHeight=n,this.charWidth=r,this.textHeight=o,this.lineLength=i,l){this.heightSamples={};for(let c=0;c<s.length;c++){let u=s[c];u<0?c++:this.heightSamples[Math.floor(u*10)]=!0}}return l}}class x4{constructor(e,n){this.from=e,this.heights=n,this.index=0}get more(){return this.index<this.heights.length}}class dr{constructor(e,n,r,o,i){this.from=e,this.length=n,this.top=r,this.height=o,this._content=i}get type(){return typeof this._content=="number"?Jt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof si?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let n=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new dr(this.from,this.length+e.length,this.top,this.height+e.height,n)}}var ft=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(ft||(ft={}));const fu=.001;class mn{constructor(e,n,r=2){this.length=e,this.height=n,this.flags=r}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>fu&&(os=!0),this.height=e)}replace(e,n,r){return mn.of(r)}decomposeLeft(e,n){n.push(this)}decomposeRight(e,n){n.push(this)}applyChanges(e,n,r,o){let i=this,s=r.doc;for(let a=o.length-1;a>=0;a--){let{fromA:l,toA:c,fromB:u,toB:d}=o[a],f=i.lineAt(l,ft.ByPosNoHeight,r.setDoc(n),0,0),p=f.to>=c?f:i.lineAt(c,ft.ByPosNoHeight,r,0,0);for(d+=p.to-c,c=p.to;a>0&&f.from<=o[a-1].toA;)l=o[a-1].fromA,u=o[a-1].fromB,a--,l<f.from&&(f=i.lineAt(l,ft.ByPosNoHeight,r,0,0));u+=f.from-l,l=f.from;let m=qp.build(r.setDoc(s),e,u,d);i=hu(i,i.replace(l,c,m))}return i.updateHeight(r,0)}static empty(){return new Bn(0,0,0)}static of(e){if(e.length==1)return e[0];let n=0,r=e.length,o=0,i=0;for(;;)if(n==r)if(o>i*2){let a=e[n-1];a.break?e.splice(--n,1,a.left,null,a.right):e.splice(--n,1,a.left,a.right),r+=1+a.break,o-=a.size}else if(i>o*2){let a=e[r];a.break?e.splice(r,1,a.left,null,a.right):e.splice(r,1,a.left,a.right),r+=2+a.break,i-=a.size}else break;else if(o<i){let a=e[n++];a&&(o+=a.size)}else{let a=e[--r];a&&(i+=a.size)}let s=0;return e[n-1]==null?(s=1,n--):e[n]==null&&(s=1,r++),new _4(mn.of(e.slice(0,n)),s,mn.of(e.slice(r)))}}function hu(t,e){return t==e?t:(t.constructor!=e.constructor&&(os=!0),e)}mn.prototype.size=1;const D4=Ie.replace({});class g1 extends mn{constructor(e,n,r){super(e,n),this.deco=r,this.spaceAbove=0}mainBlock(e,n){return new dr(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,n,r,o){return this.spaceAbove&&e<r+this.spaceAbove?new dr(o,0,r,this.spaceAbove,D4):this.mainBlock(r,o)}lineAt(e,n,r,o,i){let s=this.mainBlock(o,i);return this.spaceAbove?this.blockAt(0,r,o,i).join(s):s}forEachLine(e,n,r,o,i,s){e<=i+this.length&&n>=i&&s(this.lineAt(0,ft.ByPos,r,o,i))}setMeasuredHeight(e){let n=e.heights[e.index++];n<0?(this.spaceAbove=-n,n=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(n)}updateHeight(e,n=0,r=!1,o){return o&&o.from<=n&&o.more&&this.setMeasuredHeight(o),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Bn extends g1{constructor(e,n,r){super(e,n,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,n){return new dr(n,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,n,r){let o=r[0];return r.length==1&&(o instanceof Bn||o instanceof Qt&&o.flags&4)&&Math.abs(this.length-o.length)<10?(o instanceof Qt?o=new Bn(o.length,this.height,this.spaceAbove):o.height=this.height,this.outdated||(o.outdated=!1),o):mn.of(r)}updateHeight(e,n=0,r=!1,o){return o&&o.from<=n&&o.more?this.setMeasuredHeight(o):(r||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Qt extends mn{constructor(e){super(e,0)}heightMetrics(e,n){let r=e.doc.lineAt(n).number,o=e.doc.lineAt(n+this.length).number,i=o-r+1,s,a=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*i);s=l/i,this.length>i+1&&(a=(this.height-l)/(this.length-i-1))}else s=this.height/i;return{firstLine:r,lastLine:o,perLine:s,perChar:a}}blockAt(e,n,r,o){let{firstLine:i,lastLine:s,perLine:a,perChar:l}=this.heightMetrics(n,o);if(n.lineWrapping){let c=o+(e<n.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-r)/this.height))*this.length)),u=n.doc.lineAt(c),d=a+u.length*l,f=Math.max(r,e-d/2);return new dr(u.from,u.length,f,d,0)}else{let c=Math.max(0,Math.min(s-i,Math.floor((e-r)/a))),{from:u,length:d}=n.doc.line(i+c);return new dr(u,d,r+a*c,a,0)}}lineAt(e,n,r,o,i){if(n==ft.ByHeight)return this.blockAt(e,r,o,i);if(n==ft.ByPosNoHeight){let{from:p,to:m}=r.doc.lineAt(e);return new dr(p,m-p,0,0,0)}let{firstLine:s,perLine:a,perChar:l}=this.heightMetrics(r,i),c=r.doc.lineAt(e),u=a+c.length*l,d=c.number-s,f=o+a*d+l*(c.from-i-d);return new dr(c.from,c.length,Math.max(o,Math.min(f,o+this.height-u)),u,0)}forEachLine(e,n,r,o,i,s){e=Math.max(e,i),n=Math.min(n,i+this.length);let{firstLine:a,perLine:l,perChar:c}=this.heightMetrics(r,i);for(let u=e,d=o;u<=n;){let f=r.doc.lineAt(u);if(u==e){let m=f.number-a;d+=l*m+c*(e-i-m)}let p=l+c*f.length;s(new dr(f.from,f.length,d,p,0)),d+=p,u=f.to+1}}replace(e,n,r){let o=this.length-n;if(o>0){let i=r[r.length-1];i instanceof Qt?r[r.length-1]=new Qt(i.length+o):r.push(null,new Qt(o-1))}if(e>0){let i=r[0];i instanceof Qt?r[0]=new Qt(e+i.length):r.unshift(new Qt(e-1),null)}return mn.of(r)}decomposeLeft(e,n){n.push(new Qt(e-1),null)}decomposeRight(e,n){n.push(null,new Qt(this.length-e-1))}updateHeight(e,n=0,r=!1,o){let i=n+this.length;if(o&&o.from<=n+this.length&&o.more){let s=[],a=Math.max(n,o.from),l=-1;for(o.from>n&&s.push(new Qt(o.from-n-1).updateHeight(e,n));a<=i&&o.more;){let u=e.doc.lineAt(a).length;s.length&&s.push(null);let d=o.heights[o.index++],f=0;d<0&&(f=-d,d=o.heights[o.index++]),l==-1?l=d:Math.abs(d-l)>=fu&&(l=-2);let p=new Bn(u,d,f);p.outdated=!1,s.push(p),a+=u+1}a<=i&&s.push(null,new Qt(i-a).updateHeight(e,a));let c=mn.of(s);return(l<0||Math.abs(c.height-this.height)>=fu||Math.abs(l-this.heightMetrics(e,n).perLine)>=fu)&&(os=!0),hu(this,c)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(n,n+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class _4 extends mn{constructor(e,n,r){super(e.length+n+r.length,e.height+r.height,n|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,n,r,o){let i=r+this.left.height;return e<i?this.left.blockAt(e,n,r,o):this.right.blockAt(e,n,i,o+this.left.length+this.break)}lineAt(e,n,r,o,i){let s=o+this.left.height,a=i+this.left.length+this.break,l=n==ft.ByHeight?e<s:e<a,c=l?this.left.lineAt(e,n,r,o,i):this.right.lineAt(e,n,r,s,a);if(this.break||(l?c.to<a:c.from>a))return c;let u=n==ft.ByPosNoHeight?ft.ByPosNoHeight:ft.ByPos;return l?c.join(this.right.lineAt(a,u,r,s,a)):this.left.lineAt(a,u,r,o,i).join(c)}forEachLine(e,n,r,o,i,s){let a=o+this.left.height,l=i+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,n,r,o,i,s),n>=l&&this.right.forEachLine(e,n,r,a,l,s);else{let c=this.lineAt(l,ft.ByPos,r,o,i);e<c.from&&this.left.forEachLine(e,c.from-1,r,o,i,s),c.to>=e&&c.from<=n&&s(c),n>c.to&&this.right.forEachLine(c.to+1,n,r,a,l,s)}}replace(e,n,r){let o=this.left.length+this.break;if(n<o)return this.balanced(this.left.replace(e,n,r),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-o,n-o,r));let i=[];e>0&&this.decomposeLeft(e,i);let s=i.length;for(let a of r)i.push(a);if(e>0&&w1(i,s-1),n<this.length){let a=i.length;this.decomposeRight(n,i),w1(i,a)}return mn.of(i)}decomposeLeft(e,n){let r=this.left.length;if(e<=r)return this.left.decomposeLeft(e,n);n.push(this.left),this.break&&(r++,e>=r&&n.push(null)),e>r&&this.right.decomposeLeft(e-r,n)}decomposeRight(e,n){let r=this.left.length,o=r+this.break;if(e>=o)return this.right.decomposeRight(e-o,n);e<r&&this.left.decomposeRight(e,n),this.break&&e<o&&n.push(null),n.push(this.right)}balanced(e,n){return e.size>2*n.size||n.size>2*e.size?mn.of(this.break?[e,null,n]:[e,n]):(this.left=hu(this.left,e),this.right=hu(this.right,n),this.setHeight(e.height+n.height),this.outdated=e.outdated||n.outdated,this.size=e.size+n.size,this.length=e.length+this.break+n.length,this)}updateHeight(e,n=0,r=!1,o){let{left:i,right:s}=this,a=n+i.length+this.break,l=null;return o&&o.from<=n+i.length&&o.more?l=i=i.updateHeight(e,n,r,o):i.updateHeight(e,n,r),o&&o.from<=a+s.length&&o.more?l=s=s.updateHeight(e,a,r,o):s.updateHeight(e,a,r),l?this.balanced(i,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function w1(t,e){let n,r;t[e]==null&&(n=t[e-1])instanceof Qt&&(r=t[e+1])instanceof Qt&&t.splice(e-1,3,new Qt(n.length+1+r.length))}const A4=5;class qp{constructor(e,n){this.pos=e,this.oracle=n,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,n){if(this.lineStart>-1){let r=Math.min(n,this.lineEnd),o=this.nodes[this.nodes.length-1];o instanceof Bn?o.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Bn(r-this.pos,-1,0)),this.writtenTo=r,n>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=n}point(e,n,r){if(e<n||r.heightRelevant){let o=r.widget?r.widget.estimatedHeight:0,i=r.widget?r.widget.lineBreaks:0;o<0&&(o=this.oracle.lineHeight);let s=n-e;r.block?this.addBlock(new g1(s,o,r)):(s||i||o>=A4)&&this.addLineDeco(o,i,s)}else n>e&&this.span(e,n);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:n}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=n,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Bn(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,n){let r=new Qt(n-e);return this.oracle.doc.lineAt(e).to==n&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Bn)return e;let n=new Bn(0,-1,0);return this.nodes.push(n),n}addBlock(e){this.enterLine();let n=e.deco;n&&n.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,n&&n.endSide>0&&(this.covering=e)}addLineDeco(e,n,r){let o=this.ensureLine();o.length+=r,o.collapsed+=r,o.widgetHeight=Math.max(o.widgetHeight,e),o.breaks+=n,this.writtenTo=this.pos=this.pos+r}finish(e){let n=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(n instanceof Bn)&&!this.isCovered?this.nodes.push(new Bn(0,-1,0)):(this.writtenTo<this.pos||n==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let r=e;for(let o of this.nodes)o instanceof Bn&&o.updateHeight(this.oracle,r),r+=o?o.length:1;return this.nodes}static build(e,n,r,o){let i=new qp(r,e);return Qe.spans(n,r,o,i,0),i.finish(r)}}function O4(t,e,n){let r=new T4;return Qe.compare(t,e,n,r,0),r.changes}class T4{constructor(){this.changes=[]}compareRange(){}comparePoint(e,n,r,o){(e<n||r&&r.heightRelevant||o&&o.heightRelevant)&&Ji(e,n,this.changes,5)}}function N4(t,e){let n=t.getBoundingClientRect(),r=t.ownerDocument,o=r.defaultView||window,i=Math.max(0,n.left),s=Math.min(o.innerWidth,n.right),a=Math.max(0,n.top),l=Math.min(o.innerHeight,n.bottom);for(let c=t.parentNode;c&&c!=r.body;)if(c.nodeType==1){let u=c,d=window.getComputedStyle(u);if((u.scrollHeight>u.clientHeight||u.scrollWidth>u.clientWidth)&&d.overflow!="visible"){let f=u.getBoundingClientRect();i=Math.max(i,f.left),s=Math.min(s,f.right),a=Math.max(a,f.top),l=Math.min(c==t.parentNode?o.innerHeight:l,f.bottom)}c=d.position=="absolute"||d.position=="fixed"?u.offsetParent:u.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:i-n.left,right:Math.max(i,s)-n.left,top:a-(n.top+e),bottom:Math.max(a,l)-(n.top+e)}}function B4(t){let e=t.getBoundingClientRect(),n=t.ownerDocument.defaultView||window;return e.left<n.innerWidth&&e.right>0&&e.top<n.innerHeight&&e.bottom>0}function F4(t,e){let n=t.getBoundingClientRect();return{left:0,right:n.right-n.left,top:e,bottom:n.bottom-(n.top+e)}}class Gp{constructor(e,n,r,o){this.from=e,this.to=n,this.size=r,this.displaySize=o}static same(e,n){if(e.length!=n.length)return!1;for(let r=0;r<e.length;r++){let o=e[r],i=n[r];if(o.from!=i.from||o.to!=i.to||o.size!=i.size)return!1}return!0}draw(e,n){return Ie.replace({widget:new M4(this.displaySize*(n?e.scaleY:e.scaleX),n)}).range(this.from,this.to)}}class M4 extends Nn{constructor(e,n){super(),this.size=e,this.vertical=n}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class b1{constructor(e){this.state=e,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!1,this.scaleX=1,this.scaleY=1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=v1,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ct.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=e.facet(Fp).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new E4(n),this.stateDeco=y1(e),this.heightMap=mn.empty().applyChanges(this.stateDeco,st.empty,this.heightOracle.setDoc(e.doc),[new Kn(0,0,0,e.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Ie.set(this.lineGaps.map(r=>r.draw(this,!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:n}=this.state.selection;for(let r=0;r<=1;r++){let o=r?n.head:n.anchor;if(!e.some(({from:i,to:s})=>o>=i&&o<=s)){let{from:i,to:s}=this.lineBlockAt(o);e.push(new pu(i,s))}}return this.viewports=e.sort((r,o)=>r.from-o.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?v1:new Rp(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push($a(e,this.scaler))})}update(e,n=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=y1(this.state);let o=e.changedRanges,i=Kn.extendWithRanges(o,O4(r,this.stateDeco,e?e.changes:Ht.empty(this.state.doc.length))),s=this.heightMap.height,a=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);m1(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),i),(this.heightMap.height!=s||os)&&(e.flags|=2),a?(this.scrollAnchorPos=e.changes.mapPos(a.from,-1),this.scrollAnchorHeight=a.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=i.length?this.mapViewport(this.viewport,e.changes):this.viewport;(n&&(n.range.head<l.from||n.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,n));let c=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),n&&(this.scrollTarget=n),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Bk)&&(this.mustEnforceCursorAssoc=!0)}measure(e){let n=e.contentDOM,r=window.getComputedStyle(n),o=this.heightOracle,i=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?ct.RTL:ct.LTR;let s=this.heightOracle.mustRefreshForWrapping(i)||this.mustMeasureContent,a=n.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let c=0,u=0;if(a.width&&a.height){let{scaleX:k,scaleY:_}=pk(n,a);(k>.005&&Math.abs(this.scaleX-k)>.005||_>.005&&Math.abs(this.scaleY-_)>.005)&&(this.scaleX=k,this.scaleY=_,c|=16,s=l=!0)}let d=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=d||this.paddingBottom!=f)&&(this.paddingTop=d,this.paddingBottom=f,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(o.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let p=e.scrollDOM.scrollTop*this.scaleY;this.scrollTop!=p&&(this.scrollAnchorHeight=-1,this.scrollTop=p),this.scrolledToBottom=wk(e.scrollDOM);let m=(this.printing?F4:N4)(n,this.paddingTop),v=m.top-this.pixelViewport.top,b=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let w=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(w!=this.inView&&(this.inView=w,w&&(l=!0)),!this.inView&&!this.scrollTarget&&!B4(e.dom))return 0;let g=a.width;if((this.contentDOMWidth!=g||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=a.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),l){let k=e.docView.measureVisibleLineHeights(this.viewport);if(o.mustRefreshForHeights(k)&&(s=!0),s||o.lineWrapping&&Math.abs(g-this.contentDOMWidth)>o.charWidth){let{lineHeight:_,charWidth:S,textHeight:E}=e.docView.measureTextSize();s=_>0&&o.refresh(i,_,S,E,Math.max(5,g/S),k),s&&(e.docView.minWidth=0,c|=16)}v>0&&b>0?u=Math.max(v,b):v<0&&b<0&&(u=Math.min(v,b)),m1();for(let _ of this.viewports){let S=_.from==this.viewport.from?k:e.docView.measureVisibleLineHeights(_);this.heightMap=(s?mn.empty().applyChanges(this.stateDeco,st.empty,this.heightOracle,[new Kn(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(o,0,s,new x4(_.from,S))}os&&(c|=2)}let C=!this.viewportIsAppropriate(this.viewport,u)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(u,this.scrollTarget),c|=this.updateForViewport()),(c&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,n){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),o=this.heightMap,i=this.heightOracle,{visibleTop:s,visibleBottom:a}=this,l=new pu(o.lineAt(s-r*1e3,ft.ByHeight,i,0,0).from,o.lineAt(a+(1-r)*1e3,ft.ByHeight,i,0,0).to);if(n){let{head:c}=n.range;if(c<l.from||c>l.to){let u=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),d=o.lineAt(c,ft.ByPos,i,0,0),f;n.y=="center"?f=(d.top+d.bottom)/2-u/2:n.y=="start"||n.y=="nearest"&&c<l.from?f=d.top:f=d.bottom-u,l=new pu(o.lineAt(f-1e3/2,ft.ByHeight,i,0,0).from,o.lineAt(f+u+1e3/2,ft.ByHeight,i,0,0).to)}}return l}mapViewport(e,n){let r=n.mapPos(e.from,-1),o=n.mapPos(e.to,1);return new pu(this.heightMap.lineAt(r,ft.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(o,ft.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:n},r=0){if(!this.inView)return!0;let{top:o}=this.heightMap.lineAt(e,ft.ByPos,this.heightOracle,0,0),{bottom:i}=this.heightMap.lineAt(n,ft.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:a}=this;return(e==0||o<=s-Math.max(10,Math.min(-r,250)))&&(n==this.state.doc.length||i>=a+Math.max(10,Math.min(r,250)))&&o>s-2*1e3&&i<a+2*1e3}mapLineGaps(e,n){if(!e.length||n.empty)return e;let r=[];for(let o of e)n.touchesRange(o.from,o.to)||r.push(new Gp(n.mapPos(o.from),n.mapPos(o.to),o.size,o.displaySize));return r}ensureLineGaps(e,n){let r=this.heightOracle.lineWrapping,o=r?1e4:2e3,i=o>>1,s=o<<1;if(this.defaultTextDirection!=ct.LTR&&!r)return[];let a=[],l=(u,d,f,p)=>{if(d-u<i)return;let m=this.state.selection.main,v=[m.from];m.empty||v.push(m.to);for(let w of v)if(w>u&&w<d){l(u,w-10,f,p),l(w+10,d,f,p);return}let b=P4(e,w=>w.from>=f.from&&w.to<=f.to&&Math.abs(w.from-u)<i&&Math.abs(w.to-d)<i&&!v.some(g=>w.from<g&&w.to>g));if(!b){if(d<f.to&&n&&r&&n.visibleRanges.some(C=>C.from<=d&&C.to>=d)){let C=n.moveToLineBoundary(ae.cursor(d),!1,!0).head;C>u&&(d=C)}let w=this.gapSize(f,u,d,p),g=r||w<2e6?w:2e6;b=new Gp(u,d,w,g)}a.push(b)},c=u=>{if(u.length<s||u.type!=Jt.Text)return;let d=I4(u.from,u.to,this.stateDeco);if(d.total<s)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,p,m;if(r){let v=o/this.heightOracle.lineLength*this.heightOracle.lineHeight,b,w;if(f!=null){let g=gu(d,f),C=((this.visibleBottom-this.visibleTop)/2+v)/u.height;b=g-C,w=g+C}else b=(this.visibleTop-u.top-v)/u.height,w=(this.visibleBottom-u.top+v)/u.height;p=mu(d,b),m=mu(d,w)}else{let v=d.total*this.heightOracle.charWidth,b=o*this.heightOracle.charWidth,w=0;if(v>2e6)for(let S of e)S.from>=u.from&&S.from<u.to&&S.size!=S.displaySize&&S.from*this.heightOracle.charWidth+w<this.pixelViewport.left&&(w=S.size-S.displaySize);let g=this.pixelViewport.left+w,C=this.pixelViewport.right+w,k,_;if(f!=null){let S=gu(d,f),E=((C-g)/2+b)/v;k=S-E,_=S+E}else k=(g-b)/v,_=(C+b)/v;p=mu(d,k),m=mu(d,_)}p>u.from&&l(u.from,p,u,d),m<u.to&&l(m,u.to,u,d)};for(let u of this.viewportLines)Array.isArray(u.type)?u.type.forEach(c):c(u);return a}gapSize(e,n,r,o){let i=gu(o,r)-gu(o,n);return this.heightOracle.lineWrapping?e.height*i:o.total*this.heightOracle.charWidth*i}updateLineGaps(e){Gp.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Ie.set(e.map(n=>n.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let n=this.stateDeco;this.lineGaps.length&&(n=n.concat(this.lineGapDeco));let r=[];Qe.spans(n,this.viewport.from,this.viewport.to,{span(i,s){r.push({from:i,to:s})},point(){}},20);let o=0;if(r.length!=this.visibleRanges.length)o=12;else for(let i=0;i<r.length&&!(o&8);i++){let s=this.visibleRanges[i],a=r[i];(s.from!=a.from||s.to!=a.to)&&(o|=4,e&&e.mapPos(s.from,-1)==a.from&&e.mapPos(s.to,1)==a.to||(o|=8))}return this.visibleRanges=r,o}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(n=>n.from<=e&&n.to>=e)||$a(this.heightMap.lineAt(e,ft.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(n=>n.top<=e&&n.bottom>=e)||$a(this.heightMap.lineAt(this.scaler.fromDOM(e),ft.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let n=this.lineBlockAtHeight(e+8);return n.from>=this.viewport.from||this.viewportLines[0].top-e>200?n:this.viewportLines[0]}elementAtHeight(e){return $a(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class pu{constructor(e,n){this.from=e,this.to=n}}function I4(t,e,n){let r=[],o=t,i=0;return Qe.spans(n,t,e,{span(){},point(s,a){s>o&&(r.push({from:o,to:s}),i+=s-o),o=a}},20),o<e&&(r.push({from:o,to:e}),i+=e-o),{total:i,ranges:r}}function mu({total:t,ranges:e},n){if(n<=0)return e[0].from;if(n>=1)return e[e.length-1].to;let r=Math.floor(t*n);for(let o=0;;o++){let{from:i,to:s}=e[o],a=s-i;if(r<=a)return i+r;r-=a}}function gu(t,e){let n=0;for(let{from:r,to:o}of t.ranges){if(e<=o){n+=e-r;break}n+=o-r}return n/t.total}function P4(t,e){for(let n of t)if(e(n))return n}const v1={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function y1(t){let e=t.facet(nu).filter(r=>typeof r!="function"),n=t.facet(Mp).filter(r=>typeof r!="function");return n.length&&e.push(Qe.join(n)),e}class Rp{constructor(e,n,r){let o=0,i=0,s=0;this.viewports=r.map(({from:a,to:l})=>{let c=n.lineAt(a,ft.ByPos,e,0,0).top,u=n.lineAt(l,ft.ByPos,e,0,0).bottom;return o+=u-c,{from:a,to:l,top:c,bottom:u,domTop:0,domBottom:0}}),this.scale=(7e6-o)/(n.height-o);for(let a of this.viewports)a.domTop=s+(a.top-i)*this.scale,s=a.domBottom=a.domTop+(a.bottom-a.top),i=a.bottom}toDOM(e){for(let n=0,r=0,o=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.top)return o+(e-r)*this.scale;if(e<=i.bottom)return i.domTop+(e-i.top);r=i.bottom,o=i.domBottom}}fromDOM(e){for(let n=0,r=0,o=0;;n++){let i=n<this.viewports.length?this.viewports[n]:null;if(!i||e<i.domTop)return r+(e-o)/this.scale;if(e<=i.domBottom)return i.top+(e-i.domTop);r=i.bottom,o=i.domBottom}}eq(e){return e instanceof Rp?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((n,r)=>n.from==e.viewports[r].from&&n.to==e.viewports[r].to):!1}}function $a(t,e){if(e.scale==1)return t;let n=e.toDOM(t.top),r=e.toDOM(t.bottom);return new dr(t.from,t.length,n,r-n,Array.isArray(t._content)?t._content.map(o=>$a(o,e)):t._content)}const wu=Ne.define({combine:t=>t.join(" ")}),Kp=Ne.define({combine:t=>t.indexOf(!0)>-1}),Yp=ko.newName(),C1=ko.newName(),k1=ko.newName(),S1={"&light":"."+C1,"&dark":"."+k1};function Xp(t,e,n){return new ko(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,o=>{if(o=="&")return t;if(!n||!n[o])throw new RangeError(`Unsupported selector: ${o}`);return n[o]}):t+" "+r}})}const L4=Xp("."+Yp,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},S1),$4={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Jp=Be.ie&&Be.ie_version<=11;class z4{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new gL,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(n=>{for(let r of n)this.queue.push(r);(Be.ie&&Be.ie_version<=11||Be.ios&&e.composing)&&n.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Be.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Be.chrome&&Be.chrome_version<126)&&(this.editContext=new V4(e),e.state.facet(Xr)&&(e.contentDOM.editContext=this.editContext.editContext)),Jp&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var n;((n=this.view.docView)===null||n===void 0?void 0:n.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(n=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),n.length>0&&n[n.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(n=>{n.length>0&&n[n.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((n,r)=>n!=e[r]))){this.gapIntersection.disconnect();for(let n of e)this.gapIntersection.observe(n);this.gaps=e}}onSelectionChange(e){let n=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,o=this.selectionRange;if(r.state.facet(Xr)?r.root.activeElement!=this.dom:!Oa(this.dom,o))return;let i=o.anchorNode&&r.docView.tile.nearest(o.anchorNode);if(i&&i.isWidget()&&i.widget.ignoreEvent(e)){n||(this.selectionChanged=!1);return}(Be.ie&&Be.ie_version<=11||Be.android&&Be.chrome)&&!r.state.selection.main.empty&&o.focusNode&&Na(o.focusNode,o.focusOffset,o.anchorNode,o.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,n=Qi(e.root);if(!n)return!1;let r=Be.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&H4(this.view,n)||n;if(!r||this.selectionRange.eq(r))return!1;let o=Oa(this.dom,r);return o&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&bL(this.dom,r)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(r),o&&(this.selectionChanged=!0),!0)}setSelectionRange(e,n){this.selectionRange.set(e.node,e.offset,n.node,n.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,n=null;for(let r=this.dom;r;)if(r.nodeType==1)!n&&e<this.scrollTargets.length&&this.scrollTargets[e]==r?e++:n||(n=this.scrollTargets.slice(0,e)),n&&n.push(r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;if(e<this.scrollTargets.length&&!n&&(n=this.scrollTargets.slice(0,e)),n){for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);for(let r of this.scrollTargets=n)r.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,$4),Jp&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Jp&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,n){var r;if(!this.delayedAndroidKey){let o=()=>{let i=this.delayedAndroidKey;i&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=i.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&i.force&&Zi(this.dom,i.key,i.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(o)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:n,force:this.lastChange<Date.now()-50||!!(!((r=this.delayedAndroidKey)===null||r===void 0)&&r.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let n=-1,r=-1,o=!1;for(let i of e){let s=this.readMutation(i);s&&(s.typeOver&&(o=!0),n==-1?{from:n,to:r}=s:(n=Math.min(s.from,n),r=Math.max(s.to,r)))}return{from:n,to:r,typeOver:o}}readChange(){let{from:e,to:n,typeOver:r}=this.processRecords(),o=this.selectionChanged&&Oa(this.dom,this.selectionRange);if(e<0&&!o)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let i=new o4(this.view,e,n,r);return this.view.docView.domChanged={newSel:i.newSel?i.newSel.main:null},i}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let n=this.readChange();if(!n)return this.view.requestMeasure(),!1;let r=this.view.state,o=Jk(this.view,n);return this.view.state==r&&(n.domChanged||n.newSel&&!lu(this.view.state.selection,n.newSel.main))&&this.view.update([]),o}readMutation(e){let n=this.view.docView.tile.nearest(e.target);if(!n||n.isWidget())return null;if(n.markDirty(e.type=="attributes"),e.type=="childList"){let r=E1(n,e.previousSibling||e.target.previousSibling,-1),o=E1(n,e.nextSibling||e.target.nextSibling,1);return{from:r?n.posAfter(r):n.posAtStart,to:o?n.posBefore(o):n.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(Xr)!=e.state.facet(Xr)&&(e.view.contentDOM.editContext=e.state.facet(Xr)?this.editContext.editContext:null))}destroy(){var e,n,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(n=this.gapIntersection)===null||n===void 0||n.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}}function E1(t,e,n){for(;e;){let r=Bt.get(e);if(r&&r.parent==t)return r;let o=e.parentNode;e=o!=t.dom?o:n>0?e.nextSibling:e.previousSibling}return null}function x1(t,e){let n=e.startContainer,r=e.startOffset,o=e.endContainer,i=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return Na(s.node,s.offset,o,i)&&([n,r,o,i]=[o,i,n,r]),{anchorNode:n,anchorOffset:r,focusNode:o,focusOffset:i}}function H4(t,e){if(e.getComposedRanges){let o=e.getComposedRanges(t.root)[0];if(o)return x1(t,o)}let n=null;function r(o){o.preventDefault(),o.stopImmediatePropagation(),n=o.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),n?x1(t,n):null}class V4{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let n=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=r=>{let o=e.state.selection.main,{anchor:i,head:s}=o,a=this.toEditorPos(r.updateRangeStart),l=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:a,drifted:!1});let c=l-a>r.text.length;a==this.from&&i<this.from?a=i:l==this.to&&i>this.to&&(l=i);let u=Qk(e.state.sliceDoc(a,l),r.text,(c?o.from:o.to)-a,c?"end":null);if(!u){let f=ae.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));lu(f,o)||e.dispatch({selection:f,userEvent:"select"});return}let d={from:u.from+a,to:u.toA+a,insert:st.of(r.text.slice(u.from,u.toB).split(`
22
22
  `))};if((Be.mac||Be.android)&&d.from==s-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(d={from:a,to:l,insert:st.of([r.text.replace("."," ")])}),this.pendingContextChange=d,!e.state.readOnly){let f=this.to-this.from+(d.to-d.from+d.insert.length);Wp(e,d,ae.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),d.from<d.to&&!d.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(n.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(n.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let o=[],i=null;for(let s=this.toEditorPos(r.rangeStart),a=this.toEditorPos(r.rangeEnd);s<a;s++){let l=e.coordsForChar(s);i=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||i||new DOMRect,o.push(i)}n.updateCharacterBounds(r.rangeStart,o)},this.handlers.textformatupdate=r=>{let o=[];for(let i of r.getTextFormats()){let s=i.underlineStyle,a=i.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(a)){let l=this.toEditorPos(i.rangeStart),c=this.toEditorPos(i.rangeEnd);if(l<c){let u=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(a)?1:2}px`;o.push(Ie.mark({attributes:{style:u}}).range(l,c))}}}e.dispatch({effects:Mk.of(Ie.set(o))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)n.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let o=Qi(r.root);o&&o.rangeCount&&this.editContext.updateSelectionBounds(o.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let n=0,r=!1,o=this.pendingContextChange;return e.changes.iterChanges((i,s,a,l,c)=>{if(r)return;let u=c.length-(s-i);if(o&&s>=o.to)if(o.from==i&&o.to==s&&o.insert.eq(c)){o=this.pendingContextChange=null,n+=u,this.to+=u;return}else o=null,this.revertPending(e.state);if(i+=n,s+=n,s<=this.from)this.from+=u,this.to+=u;else if(i<this.to){if(i<this.from||s>this.to||this.to-this.from+c.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(i),this.toContextPos(s),c.toString()),this.to+=u}n+=u}),o&&!r&&this.revertPending(e.state),!r}update(e){let n=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(o=>!o.isUserEvent("input.type")&&o.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||n)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:n}=e.selection.main;this.from=Math.max(0,n-1e4),this.to=Math.min(e.doc.length,n+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let n=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(n.from),this.toContextPos(n.from+n.insert.length),e.doc.sliceString(n.from,n.to))}setSelection(e){let{main:n}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,n.anchor))),o=this.toContextPos(n.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=o)&&this.editContext.updateSelection(r,o)}rangeIsValid(e){let{head:n}=e.selection.main;return!(this.from>0&&n-this.from<500||this.to<e.doc.length&&this.to-n<500||this.to-this.from>1e4*3)}toEditorPos(e,n=this.to-this.from){e=Math.min(e,n);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let n=this.composing;return n&&n.drifted?n.contextBase+(e-n.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class De{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var n;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(o=>o.forEach(i=>r(i,this)))||(o=>this.update(o)),this.dispatch=this.dispatch.bind(this),this._root=e.root||wL(e.parent)||document,this.viewState=new b1(e.state||tt.create(e)),e.scrollTo&&e.scrollTo.is(tu)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(ts).map(o=>new Bp(o));for(let o of this.plugins)o.update(this);this.observer=new z4(this),this.inputState=new l4(this),this.inputState.ensureHandlers(this.plugins),this.docView=new Wk(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((n=document.fonts)===null||n===void 0)&&n.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent=!0,this.requestMeasure()})}dispatch(...e){let n=e.length==1&&e[0]instanceof Nt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(n,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let n=!1,r=!1,o,i=this.state;for(let f of e){if(f.startState!=i)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");i=f.state}if(this.destroyed){this.viewState.state=i;return}let s=this.hasFocus,a=0,l=null;e.some(f=>f.annotation(u1))?(this.inputState.notifiedFocused=s,a=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=d1(i,s),l||(a=1));let c=this.observer.delayedAndroidKey,u=null;if(c?(this.observer.clearDelayedAndroidKey(),u=this.observer.readChange(),(u&&!this.state.doc.eq(i.doc)||!this.state.selection.eq(i.selection))&&(u=null)):this.observer.clear(),i.facet(tt.phrases)!=this.state.facet(tt.phrases))return this.setState(i);o=ru.create(this,i,e),o.flags|=a;let d=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(d&&(d=d.map(f.changes)),f.scrollIntoView){let{main:p}=f.state.selection;d=new es(p.empty?p:ae.cursor(p.head,p.head>p.anchor?-1:1))}for(let p of f.effects)p.is(tu)&&(d=p.value.clip(this.state))}this.viewState.update(o,d),this.bidiCache=bu.update(this.bidiCache,o.changes),o.empty||(this.updatePlugins(o),this.inputState.update(o)),n=this.docView.update(o),this.state.facet(Ia)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(o.startState.facet(wu)!=o.state.facet(wu)&&(this.viewState.mustMeasureContent=!0),(n||r||d||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),n&&this.docViewUpdate(),!o.empty)for(let f of this.state.facet(Op))try{f(o)}catch(p){Sn(this.state,p,"update listener")}(l||u)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),u&&!Jk(this,u)&&c.force&&Zi(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let n=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new b1(e),this.plugins=e.facet(ts).map(r=>new Bp(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new Wk(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}n&&this.focus(),this.requestMeasure()}updatePlugins(e){let n=e.startState.facet(ts),r=e.state.facet(ts);if(n!=r){let o=[];for(let i of r){let s=n.indexOf(i);if(s<0)o.push(new Bp(i));else{let a=this.plugins[s];a.mustUpdate=e,o.push(a)}}for(let i of this.plugins)i.mustUpdate!=e&&i.destroy(this);this.plugins=o,this.pluginMap.clear()}else for(let o of this.plugins)o.mustUpdate=e;for(let o=0;o<this.plugins.length;o++)this.plugins[o].update(this);n!=r&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let n=e.value;if(n&&n.docViewUpdate)try{n.docViewUpdate(this)}catch(r){Sn(this.state,r,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let n=null,r=this.scrollDOM,o=r.scrollTop*this.scaleY,{scrollAnchorPos:i,scrollAnchorHeight:s}=this.viewState;Math.abs(o-this.viewState.scrollTop)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(s<0)if(wk(r))i=-1,s=this.viewState.heightMap.height;else{let p=this.viewState.scrollAnchorAt(o);i=p.from,s=p.top}this.updateState=1;let l=this.viewState.measure(this);if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let c=[];l&4||([this.measureRequests,c]=[c,this.measureRequests]);let u=c.map(p=>{try{return p.read(this)}catch(m){return Sn(this.state,m),D1}}),d=ru.create(this,this.state,[]),f=!1;d.flags|=l,n?n.flags|=l:n=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<c.length;p++)if(u[p]!=D1)try{let m=c[p];m.write&&m.write(u[p],this)}catch(m){Sn(this.state,m)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let m=(i<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(i).top)-s;if(m>1||m<-1){o=o+m,r.scrollTop=o/this.scaleY,s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(n&&!n.empty)for(let a of this.state.facet(Op))a(n)}get themeClasses(){return Yp+" "+(this.state.facet(Kp)?k1:C1)+" "+this.state.facet(wu)}updateAttrs(){let e=_1(this,Ik,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),n={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(Xr)?"true":"false",class:"cm-content",style:`${Be.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(n["aria-readonly"]="true"),_1(this,Fp,n);let r=this.observer.ignore(()=>{let o=dk(this.contentDOM,this.contentAttrs,n),i=dk(this.dom,this.editorAttrs,e);return o||i});return this.editorAttrs=e,this.contentAttrs=n,r}showAnnouncements(e){let n=!0;for(let r of e)for(let o of r.effects)if(o.is(De.announce)){n&&(this.announceDOM.textContent=""),n=!1;let i=this.announceDOM.appendChild(document.createElement("div"));i.textContent=o.value}}mountStyles(){this.styleModules=this.state.facet(Ia);let e=this.state.facet(De.cspNonce);ko.mount(this.root,this.styleModules.concat(L4).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let n=0;n<this.measureRequests.length;n++)if(this.measureRequests[n].key===e.key){this.measureRequests[n]=e;return}}this.measureRequests.push(e)}}plugin(e){let n=this.pluginMap.get(e);return(n===void 0||n&&n.plugin!=e)&&this.pluginMap.set(e,n=this.plugins.find(r=>r.plugin==e)||null),n&&n.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,n,r){return Vp(this,e,qk(this,e,n,r))}moveByGroup(e,n){return Vp(this,e,qk(this,e,n,r=>ZL(this,e.head,r)))}visualLineSide(e,n){let r=this.bidiSpans(e),o=this.textDirectionAt(e.from),i=r[n?r.length-1:0];return ae.cursor(i.side(n,o)+e.from,i.forward(!n,o)?1:-1)}moveToLineBoundary(e,n,r=!0){return QL(this,e,n,r)}moveVertically(e,n,r){return Vp(this,e,e4(this,e,n,r))}domAtPos(e,n=1){return this.docView.domAtPos(e,n)}posAtDOM(e,n=0){return this.docView.posFromDOM(e,n)}posAtCoords(e,n=!0){this.readMeasured();let r=jp(this,e,n);return r&&r.pos}posAndSideAtCoords(e,n=!0){return this.readMeasured(),jp(this,e,n)}coordsAtPos(e,n=1){this.readMeasured();let r=this.docView.coordsAt(e,n);if(!r||r.left==r.right)return r;let o=this.state.doc.lineAt(e),i=this.bidiSpans(o),s=i[Yr.find(i,e-o.from,-1,n)];return Ba(r,s.dir==ct.LTR==n>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Nk)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>j4)return Sk(e.length);let n=this.textDirectionAt(e.from),r;for(let i of this.bidiCache)if(i.from==e.from&&i.dir==n&&(i.fresh||kk(i.isolates,r=$k(this,e))))return i.order;r||(r=$k(this,e));let o=xL(e.text,n,r);return this.bidiCache.push(new bu(e.from,e.to,n,r,!0,o)),o}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Be.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{mk(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,n={}){return tu.of(new es(typeof e=="number"?ae.cursor(e):e,n.y,n.x,n.yMargin,n.xMargin))}scrollSnapshot(){let{scrollTop:e,scrollLeft:n}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return tu.of(new es(ae.cursor(r.from),"start","start",r.top-e,n,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return mt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return mt.define(()=>({}),{eventObservers:e})}static theme(e,n){let r=ko.newName(),o=[wu.of(r),Ia.of(Xp(`.${r}`,e))];return n&&n.dark&&o.push(Kp.of(!0)),o}static baseTheme(e){return yo.lowest(Ia.of(Xp("."+Yp,e,S1)))}static findFromDOM(e){var n;let r=e.querySelector(".cm-content"),o=r&&Bt.get(r)||Bt.get(e);return((n=o==null?void 0:o.root)===null||n===void 0?void 0:n.view)||null}}De.styleModule=Ia,De.inputHandler=Ok,De.clipboardInputFilter=Tp,De.clipboardOutputFilter=Np,De.scrollHandler=Fk,De.focusChangeEffect=Tk,De.perLineTextDirection=Nk,De.exceptionSink=Ak,De.updateListener=Op,De.editable=Xr,De.mouseSelectionStyle=_k,De.dragMovesSelection=Dk,De.clickAddsSelectionRange=xk,De.decorations=nu,De.blockWrappers=Pk,De.outerDecorations=Mp,De.atomicRanges=Ma,De.bidiIsolatedRanges=Lk,De.scrollMargins=zk,De.darkTheme=Kp,De.cspNonce=Ne.define({combine:t=>t.length?t[0]:""}),De.contentAttributes=Fp,De.editorAttributes=Ik,De.lineWrapping=De.contentAttributes.of({class:"cm-lineWrapping"}),De.announce=qe.define();const j4=4096,D1={};class bu{constructor(e,n,r,o,i,s){this.from=e,this.to=n,this.dir=r,this.isolates=o,this.fresh=i,this.order=s}static update(e,n){if(n.empty&&!e.some(i=>i.fresh))return e;let r=[],o=e.length?e[e.length-1].dir:ct.LTR;for(let i=Math.max(0,e.length-10);i<e.length;i++){let s=e[i];s.dir==o&&!n.touchesRange(s.from,s.to)&&r.push(new bu(n.mapPos(s.from,1),n.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return r}}function _1(t,e,n){for(let r=t.state.facet(e),o=r.length-1;o>=0;o--){let i=r[o],s=typeof i=="function"?i(t):i;s&&kp(s,n)}return n}const W4=Be.mac?"mac":Be.windows?"win":Be.linux?"linux":"key";function U4(t,e){const n=t.split(/-(?!$)/);let r=n[n.length-1];r=="Space"&&(r=" ");let o,i,s,a;for(let l=0;l<n.length-1;++l){const c=n[l];if(/^(cmd|meta|m)$/i.test(c))a=!0;else if(/^a(lt)?$/i.test(c))o=!0;else if(/^(c|ctrl|control)$/i.test(c))i=!0;else if(/^s(hift)?$/i.test(c))s=!0;else if(/^mod$/i.test(c))e=="mac"?a=!0:i=!0;else throw new Error("Unrecognized modifier name: "+c)}return o&&(r="Alt-"+r),i&&(r="Ctrl-"+r),a&&(r="Meta-"+r),s&&(r="Shift-"+r),r}function vu(t,e,n){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),n!==!1&&e.shiftKey&&(t="Shift-"+t),t}const q4=yo.default(De.domEventHandlers({keydown(t,e){return T1(O1(e.state),t,e,"editor")}})),za=Ne.define({enables:q4}),A1=new WeakMap;function O1(t){let e=t.facet(za),n=A1.get(e);return n||A1.set(e,n=K4(e.reduce((r,o)=>r.concat(o),[]))),n}function G4(t,e,n){return T1(O1(t.state),e,t,n)}let Do=null;const R4=4e3;function K4(t,e=W4){let n=Object.create(null),r=Object.create(null),o=(s,a)=>{let l=r[s];if(l==null)r[s]=a;else if(l!=a)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},i=(s,a,l,c,u)=>{var d,f;let p=n[s]||(n[s]=Object.create(null)),m=a.split(/ (?!$)/).map(w=>U4(w,e));for(let w=1;w<m.length;w++){let g=m.slice(0,w).join(" ");o(g,!0),p[g]||(p[g]={preventDefault:!0,stopPropagation:!1,run:[C=>{let k=Do={view:C,prefix:g,scope:s};return setTimeout(()=>{Do==k&&(Do=null)},R4),!0}]})}let v=m.join(" ");o(v,!1);let b=p[v]||(p[v]={preventDefault:!1,stopPropagation:!1,run:((f=(d=p._any)===null||d===void 0?void 0:d.run)===null||f===void 0?void 0:f.slice())||[]});l&&b.run.push(l),c&&(b.preventDefault=!0),u&&(b.stopPropagation=!0)};for(let s of t){let a=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let c of a){let u=n[c]||(n[c]=Object.create(null));u._any||(u._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:d}=s;for(let f in u)u[f].run.push(p=>d(p,Qp))}let l=s[e]||s.key;if(l)for(let c of a)i(c,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&i(c,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return n}let Qp=null;function T1(t,e,n,r){Qp=e;let o=lL(e),i=kn(o,0),s=Ar(i)==o.length&&o!=" ",a="",l=!1,c=!1,u=!1;Do&&Do.view==n&&Do.scope==r&&(a=Do.prefix+" ",t1.indexOf(e.keyCode)<0&&(c=!0,Do=null));let d=new Set,f=b=>{if(b){for(let w of b.run)if(!d.has(w)&&(d.add(w),w(n)))return b.stopPropagation&&(u=!0),!0;b.preventDefault&&(b.stopPropagation&&(u=!0),c=!0)}return!1},p=t[r],m,v;return p&&(f(p[a+vu(o,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Be.windows&&e.ctrlKey&&e.altKey)&&!(Be.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(m=So[e.keyCode])&&m!=o?(f(p[a+vu(m,e,!0)])||e.shiftKey&&(v=xa[e.keyCode])!=o&&v!=m&&f(p[a+vu(v,e,!1)]))&&(l=!0):s&&e.shiftKey&&f(p[a+vu(o,e,!0)])&&(l=!0),!l&&f(p._any)&&(l=!0)),c&&(l=!0),l&&u&&e.stopPropagation(),Qp=null,l}class Ha{constructor(e,n,r,o,i){this.className=e,this.left=n,this.top=r,this.width=o,this.height=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,n){return n.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,n,r){if(r.empty){let o=e.coordsAtPos(r.head,r.assoc||1);if(!o)return[];let i=N1(e);return[new Ha(n,o.left-i.left,o.top-i.top,null,o.bottom-o.top)]}else return Y4(e,n,r)}}function N1(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==ct.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function B1(t,e,n,r){let o=t.coordsAtPos(e,n*2);if(!o)return r;let i=t.dom.getBoundingClientRect(),s=(o.top+o.bottom)/2,a=t.posAtCoords({x:i.left+1,y:s}),l=t.posAtCoords({x:i.right-1,y:s});return a==null||l==null?r:{from:Math.max(r.from,Math.min(a,l)),to:Math.min(r.to,Math.max(a,l))}}function Y4(t,e,n){if(n.to<=t.viewport.from||n.from>=t.viewport.to)return[];let r=Math.max(n.from,t.viewport.from),o=Math.min(n.to,t.viewport.to),i=t.textDirection==ct.LTR,s=t.contentDOM,a=s.getBoundingClientRect(),l=N1(t),c=s.querySelector(".cm-line"),u=c&&window.getComputedStyle(c),d=a.left+(u?parseInt(u.paddingLeft)+Math.min(0,parseInt(u.textIndent)):0),f=a.right-(u?parseInt(u.paddingRight):0),p=Hp(t,r,1),m=Hp(t,o,-1),v=p.type==Jt.Text?p:null,b=m.type==Jt.Text?m:null;if(v&&(t.lineWrapping||p.widgetLineBreaks)&&(v=B1(t,r,1,v)),b&&(t.lineWrapping||m.widgetLineBreaks)&&(b=B1(t,o,-1,b)),v&&b&&v.from==b.from&&v.to==b.to)return g(C(n.from,n.to,v));{let _=v?C(n.from,null,v):k(p,!1),S=b?C(null,n.to,b):k(m,!0),E=[];return(v||p).to<(b||m).from-(v&&b?1:0)||p.widgetLineBreaks>1&&_.bottom+t.defaultLineHeight/2<S.top?E.push(w(d,_.bottom,f,S.top)):_.bottom<S.top&&t.elementAtHeight((_.bottom+S.top)/2).type==Jt.Text&&(_.bottom=S.top=(_.bottom+S.top)/2),g(_).concat(E).concat(g(S))}function w(_,S,E,x){return new Ha(e,_-l.left,S-l.top,E-_,x-S)}function g({top:_,bottom:S,horizontal:E}){let x=[];for(let O=0;O<E.length;O+=2)x.push(w(E[O],_,E[O+1],S));return x}function C(_,S,E){let x=1e9,O=-1e9,A=[];function T(F,N,P,M,z){let H=t.coordsAtPos(F,F==E.to?-2:2),R=t.coordsAtPos(P,P==E.from?2:-2);!H||!R||(x=Math.min(H.top,R.top,x),O=Math.max(H.bottom,R.bottom,O),z==ct.LTR?A.push(i&&N?d:H.left,i&&M?f:R.right):A.push(!i&&M?d:R.left,!i&&N?f:H.right))}let B=_??E.from,I=S??E.to;for(let F of t.visibleRanges)if(F.to>B&&F.from<I)for(let N=Math.max(F.from,B),P=Math.min(F.to,I);;){let M=t.state.doc.lineAt(N);for(let z of t.bidiSpans(M)){let H=z.from+M.from,R=z.to+M.from;if(H>=P)break;R>N&&T(Math.max(H,N),_==null&&H<=B,Math.min(R,P),S==null&&R>=I,z.dir)}if(N=M.to+1,N>=P)break}return A.length==0&&T(B,_==null,I,S==null,t.textDirection),{top:x,bottom:O,horizontal:A}}function k(_,S){let E=a.top+(S?_.top:_.bottom);return{top:E,bottom:E,horizontal:[]}}}function X4(t,e){return t.constructor==e.constructor&&t.eq(e)}class J4{constructor(e,n){this.view=e,this.layer=n,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),n.above&&this.dom.classList.add("cm-layer-above"),n.class&&this.dom.classList.add(n.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),n.mount&&n.mount(this.dom,e)}update(e){e.startState.facet(yu)!=e.state.facet(yu)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let n=0,r=e.facet(yu);for(;n<r.length&&r[n]!=this.layer;)n++;this.dom.style.zIndex=String((this.layer.above?150:-1)-n)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:n}=this.view;(e!=this.scaleX||n!=this.scaleY)&&(this.scaleX=e,this.scaleY=n,this.dom.style.transform=`scale(${1/e}, ${1/n})`)}draw(e){if(e.length!=this.drawn.length||e.some((n,r)=>!X4(n,this.drawn[r]))){let n=this.dom.firstChild,r=0;for(let o of e)o.update&&n&&o.constructor&&this.drawn[r].constructor&&o.update(n,this.drawn[r])?(n=n.nextSibling,r++):this.dom.insertBefore(o.draw(),n);for(;n;){let o=n.nextSibling;n.remove(),n=o}this.drawn=e,Be.safari&&Be.safari_version>=26&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const yu=Ne.define();function F1(t){return[mt.define(e=>new J4(e,t)),yu.of(t)]}const Va=Ne.define({combine(t){return Nr(t,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,n)=>Math.min(e,n),drawRangeCursor:(e,n)=>e||n})}});function Q4(t={}){return[Va.of(t),Z4,e3,t3,Bk.of(!0)]}function M1(t){return t.startState.facet(Va)!=t.state.facet(Va)}const Z4=F1({above:!0,markers(t){let{state:e}=t,n=e.facet(Va),r=[];for(let o of e.selection.ranges){let i=o==e.selection.main;if(o.empty||n.drawRangeCursor){let s=i?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",a=o.empty?o:ae.cursor(o.head,o.head>o.anchor?-1:1);for(let l of Ha.forRange(t,s,a))r.push(l)}}return r},update(t,e){t.transactions.some(r=>r.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let n=M1(t);return n&&I1(t.state,e),t.docChanged||t.selectionSet||n},mount(t,e){I1(e.state,t)},class:"cm-cursorLayer"});function I1(t,e){e.style.animationDuration=t.facet(Va).cursorBlinkRate+"ms"}const e3=F1({above:!1,markers(t){return t.state.selection.ranges.map(e=>e.empty?[]:Ha.forRange(t,"cm-selectionBackground",e)).reduce((e,n)=>e.concat(n))},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||M1(t)},class:"cm-selectionLayer"}),t3=yo.highest(De.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),P1=qe.define({map(t,e){return t==null?null:e.mapPos(t)}}),ja=qt.define({create(){return null},update(t,e){return t!=null&&(t=e.changes.mapPos(t)),e.effects.reduce((n,r)=>r.is(P1)?r.value:n,t)}}),n3=mt.fromClass(class{constructor(t){this.view=t,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(t){var e;let n=t.state.field(ja);n==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(t.startState.field(ja)!=n||t.docChanged||t.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:t}=this,e=t.state.field(ja),n=e!=null&&t.coordsAtPos(e);if(!n)return null;let r=t.scrollDOM.getBoundingClientRect();return{left:n.left-r.left+t.scrollDOM.scrollLeft*t.scaleX,top:n.top-r.top+t.scrollDOM.scrollTop*t.scaleY,height:n.bottom-n.top}}drawCursor(t){if(this.cursor){let{scaleX:e,scaleY:n}=this.view;t?(this.cursor.style.left=t.left/e+"px",this.cursor.style.top=t.top/n+"px",this.cursor.style.height=t.height/n+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(t){this.view.state.field(ja)!=t&&this.view.dispatch({effects:P1.of(t)})}},{eventObservers:{dragover(t){this.setDropPos(this.view.posAtCoords({x:t.clientX,y:t.clientY}))},dragleave(t){(t.target==this.view.contentDOM||!this.view.contentDOM.contains(t.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function r3(){return[ja,n3]}function L1(t,e,n,r,o){e.lastIndex=0;for(let i=t.iterRange(n,r),s=n,a;!i.next().done;s+=i.value.length)if(!i.lineBreak)for(;a=e.exec(i.value);)o(s+a.index,a)}function o3(t,e){let n=t.visibleRanges;if(n.length==1&&n[0].from==t.viewport.from&&n[0].to==t.viewport.to)return n;let r=[];for(let{from:o,to:i}of n)o=Math.max(t.state.doc.lineAt(o).from,o-e),i=Math.min(t.state.doc.lineAt(i).to,i+e),r.length&&r[r.length-1].to>=o?r[r.length-1].to=i:r.push({from:o,to:i});return r}class Cu{constructor(e){const{regexp:n,decoration:r,decorate:o,boundary:i,maxLength:s=1e3}=e;if(!n.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=n,o)this.addMatch=(a,l,c,u)=>o(u,c,c+a[0].length,a,l);else if(typeof r=="function")this.addMatch=(a,l,c,u)=>{let d=r(a,l,c);d&&u(c,c+a[0].length,d)};else if(r)this.addMatch=(a,l,c,u)=>u(c,c+a[0].length,r);else throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.boundary=i,this.maxLength=s}createDeco(e){let n=new Rr,r=n.add.bind(n);for(let{from:o,to:i}of o3(e,this.maxLength))L1(e.state.doc,this.regexp,o,i,(s,a)=>this.addMatch(a,e,s,r));return n.finish()}updateDeco(e,n){let r=1e9,o=-1;return e.docChanged&&e.changes.iterChanges((i,s,a,l)=>{l>=e.view.viewport.from&&a<=e.view.viewport.to&&(r=Math.min(a,r),o=Math.max(l,o))}),e.viewportMoved||o-r>1e3?this.createDeco(e.view):o>-1?this.updateRange(e.view,n.map(e.changes),r,o):n}updateRange(e,n,r,o){for(let i of e.visibleRanges){let s=Math.max(i.from,r),a=Math.min(i.to,o);if(a>=s){let l=e.state.doc.lineAt(s),c=l.to<a?e.state.doc.lineAt(a):l,u=Math.max(i.from,l.from),d=Math.min(i.to,c.to);if(this.boundary){for(;s>l.from;s--)if(this.boundary.test(l.text[s-1-l.from])){u=s;break}for(;a<c.to;a++)if(this.boundary.test(c.text[a-c.from])){d=a;break}}let f=[],p,m=(v,b,w)=>f.push(w.range(v,b));if(l==c)for(this.regexp.lastIndex=u-l.from;(p=this.regexp.exec(l.text))&&p.index<d-l.from;)this.addMatch(p,e,p.index+l.from,m);else L1(e.state.doc,this.regexp,u,d,(v,b)=>this.addMatch(b,e,v,m));n=n.update({filterFrom:u,filterTo:d,filter:(v,b)=>v<u||b>d,add:f})}}return n}}const Zp=/x/.unicode!=null?"gu":"g",i3=new RegExp(`[\0-\b
23
- --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Zp),s3={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let em=null;function a3(){var t;if(em==null&&typeof document<"u"&&document.body){let e=document.body.style;em=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return em||!1}const ku=Ne.define({combine(t){let e=Nr(t,{render:null,specialChars:i3,addSpecialChars:null});return(e.replaceTabs=!a3())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Zp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Zp)),e}});function l3(t={}){return[ku.of(t),c3()]}let $1=null;function c3(){return $1||($1=mt.fromClass(class{constructor(t){this.view=t,this.decorations=Ie.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ku)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new Cu({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:o}=n.state,i=kn(e[0],0);if(i==9){let s=o.lineAt(r),a=n.state.tabSize,l=Xi(s.text,a,r-s.from);return Ie.replace({widget:new h3((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=Ie.replace({widget:new f3(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(ku);t.startState.facet(ku)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const u3="•";function d3(t){return t>=32?u3:t==10?"␤":String.fromCharCode(9216+t)}class f3 extends Nn{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=d3(this.code),r=e.state.phrase("Control character")+" "+(s3[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,r,n);if(o)return o;let i=document.createElement("span");return i.textContent=n,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class h3 extends Nn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function p3(){return g3}const m3=Ie.line({class:"cm-activeLine"}),g3=mt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let o=t.lineBlockAt(r.head);o.from>e&&(n.push(m3.range(o.from)),e=o.from)}return Ie.set(n)}},{decorations:t=>t.decorations});class w3 extends Nn{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?Ta(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),o=Ba(n[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return o.bottom-o.top>i*1.5?{left:o.left,right:o.right,top:o.top,bottom:o.top+i}:o}ignoreEvent(){return!1}}function b3(t){let e=mt.fromClass(class{constructor(n){this.view=n,this.placeholder=t?Ie.set([Ie.widget({widget:new w3(t),side:1}).range(0)]):Ie.none}get decorations(){return this.view.state.doc.length?Ie.none:this.placeholder}},{decorations:n=>n.decorations});return typeof t=="string"?[e,De.contentAttributes.of({"aria-placeholder":t})]:e}const tm=2e3;function v3(t,e,n){let r=Math.min(e.line,n.line),o=Math.max(e.line,n.line),i=[];if(e.off>tm||n.off>tm||e.col<0||n.col<0){let s=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let l=r;l<=o;l++){let c=t.doc.line(l);c.length<=a&&i.push(ae.range(c.from+s,c.to+a))}}else{let s=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let l=r;l<=o;l++){let c=t.doc.line(l),u=hp(c.text,s,t.tabSize,!0);if(u<0)i.push(ae.cursor(c.to));else{let d=hp(c.text,a,t.tabSize);i.push(ae.range(c.from+u,c.from+d))}}}return i}function y3(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function z1(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),o=n-r.from,i=o>tm?-1:o==r.length?y3(t,e.clientX):Xi(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:i,off:o}}function C3(t,e){let n=z1(t,e),r=t.state.selection;return n?{update(o){if(o.docChanged){let i=o.changes.mapPos(o.startState.doc.line(n.line).from),s=o.state.doc.lineAt(i);n={line:s.number,col:n.col,off:Math.min(n.off,s.length)},r=r.map(o.changes)}},get(o,i,s){let a=z1(t,o);if(!a)return r;let l=v3(t.state,n,a);return l.length?s?ae.create(l.concat(r.ranges)):ae.create(l):r}}:null}function k3(t){let e=(n=>n.altKey&&n.button==0);return De.mouseSelectionStyle.of((n,r)=>e(r)?C3(n,r):null)}const S3={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},E3={style:"cursor: crosshair"};function x3(t={}){let[e,n]=S3[t.key||"Alt"],r=mt.fromClass(class{constructor(o){this.view=o,this.isDown=!1}set(o){this.isDown!=o&&(this.isDown=o,this.view.update([]))}},{eventObservers:{keydown(o){this.set(o.keyCode==e||n(o))},keyup(o){(o.keyCode==e||!n(o))&&this.set(!1)},mousemove(o){this.set(n(o))}}});return[r,De.contentAttributes.of(o=>{var i;return!((i=o.plugin(r))===null||i===void 0)&&i.isDown?E3:null})]}const Su="-10000px";class H1{constructor(e,n,r,o){this.facet=n,this.createTooltipView=r,this.removeTooltipView=o,this.input=e.state.facet(n),this.tooltips=this.input.filter(s=>s);let i=null;this.tooltipViews=this.tooltips.map(s=>i=r(s,i))}update(e,n){var r;let o=e.state.facet(this.facet),i=o.filter(l=>l);if(o===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],a=n?[]:null;for(let l=0;l<i.length;l++){let c=i[l],u=-1;if(c){for(let d=0;d<this.tooltips.length;d++){let f=this.tooltips[d];f&&f.create==c.create&&(u=d)}if(u<0)s[l]=this.createTooltipView(c,l?s[l-1]:null),a&&(a[l]=!!c.above);else{let d=s[l]=this.tooltipViews[u];a&&(a[l]=n[u]),d.update&&d.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return n&&(a.forEach((l,c)=>n[c]=l),n.length=a.length),this.input=o,this.tooltips=i,this.tooltipViews=s,!0}}function D3(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const nm=Ne.define({combine:t=>{var e,n,r;return{position:Be.ios?"absolute":((e=t.find(o=>o.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(o=>o.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(o=>o.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||D3}}}),V1=new WeakMap,rm=mt.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(nm);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new H1(t,om,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(nm);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let o of this.manager.tooltipViews)o.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let o of this.manager.tooltipViews)this.container.appendChild(o.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let o=document.createElement("div");o.className="cm-tooltip-arrow",n.dom.appendChild(o)}return n.dom.style.position=this.position,n.dom.style.top=Su,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(Be.safari){let s=i.getBoundingClientRect();n=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else n=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(t=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),o=Ip(this.view);return{visible:{left:r.left+o.left,top:r.top+o.top,right:r.right-o.right,bottom:r.bottom-o.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(nm).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:o,scaleY:i}=t,s=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:u}=c,d=t.pos[a],f=t.size[a];if(!d||l.clip!==!1&&(d.bottom<=Math.max(n.top,r.top)||d.top>=Math.min(n.bottom,r.bottom)||d.right<Math.max(n.left,r.left)-.1||d.left>Math.min(n.right,r.right)+.1)){u.style.top=Su;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,v=f.right-f.left,b=(e=V1.get(c))!==null&&e!==void 0?e:f.bottom-f.top,w=c.offset||A3,g=this.view.textDirection==ct.LTR,C=f.width>r.right-r.left?g?r.left:r.right-f.width:g?Math.max(r.left,Math.min(d.left-(p?14:0)+w.x,r.right-v)):Math.min(Math.max(r.left,d.left-v+(p?14:0)-w.x),r.right-v),k=this.above[a];!l.strictSide&&(k?d.top-b-m-w.y<r.top:d.bottom+b+m+w.y>r.bottom)&&k==r.bottom-d.bottom>d.top-r.top&&(k=this.above[a]=!k);let _=(k?d.top-r.top:r.bottom-d.bottom)-m;if(_<b&&c.resize!==!1){if(_<this.view.defaultLineHeight){u.style.top=Su;continue}V1.set(c,b),u.style.height=(b=_)/i+"px"}else u.style.height&&(u.style.height="");let S=k?d.top-b-m-w.y:d.bottom+m+w.y,E=C+v;if(c.overlap!==!0)for(let x of s)x.left<E&&x.right>C&&x.top<S+b&&x.bottom>S&&(S=k?x.top-b-2-m:x.bottom+m+2);if(this.position=="absolute"?(u.style.top=(S-t.parent.top)/i+"px",j1(u,(C-t.parent.left)/o)):(u.style.top=S/i+"px",j1(u,C/o)),p){let x=d.left+(g?w.x:-w.x)-(C+14-7);p.style.left=x/o+"px"}c.overlap!==!0&&s.push({left:C,top:S,right:E,bottom:S+b}),u.classList.toggle("cm-tooltip-above",k),u.classList.toggle("cm-tooltip-below",!k),c.positioned&&c.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Su}},{eventObservers:{scroll(){this.maybeMeasure()}}});function j1(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const _3=De.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),A3={x:0,y:0},om=Ne.define({enables:[rm,_3]}),Eu=Ne.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class xu{static create(e){return new xu(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new H1(e,Eu,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let o=r[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const O3=om.compute([Eu],t=>{let e=t.facet(Eu);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:xu.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class T3{constructor(e,n,r,o,i){this.view=e,this.source=n,this.field=r,this.setHover=o,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.tile.nearest(n.target);if(!r)return;let o,i=1;if(r.isWidget())o=r.posAtStart;else{if(o=e.posAtCoords(n),o==null)return;let a=e.coordsAtPos(o);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(o)).find(u=>u.from<=o&&u.to>=o),c=l&&l.dir==ct.RTL?-1:1;i=n.x<a.left?-c:c}let s=this.source(e,o,i);if(s!=null&&s.then){let a=this.pending={pos:o};s.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Sn(e.state,l,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(rm),n=e?e.manager.tooltips.findIndex(r=>r.create==xu.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:o,tooltip:i}=this;if(o.length&&i&&!N3(i.dom,e)||this.pending){let{pos:s}=o[0]||this.pending,a=(r=(n=o[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!B3(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Du=4;function N3(t,e){let{left:n,right:r,top:o,bottom:i}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();o=Math.min(a.top,o),i=Math.max(a.bottom,i)}return e.clientX>=n-Du&&e.clientX<=r+Du&&e.clientY>=o-Du&&e.clientY<=i+Du}function B3(t,e,n,r,o,i){let s=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>r||s.right<r||s.top>o||Math.min(s.bottom,a)<o)return!1;let l=t.posAtCoords({x:r,y:o},!1);return l>=e&&l<=n}function W1(t,e={}){let n=qe.define(),r=qt.define({create(){return[]},update(o,i){if(o.length&&(e.hideOnChange&&(i.docChanged||i.selection)?o=[]:e.hideOn&&(o=o.filter(s=>!e.hideOn(i,s))),i.docChanged)){let s=[];for(let a of o){let l=i.changes.mapPos(a.pos,-1,Yt.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=i.changes.mapPos(c.end)),s.push(c)}}o=s}for(let s of i.effects)s.is(n)&&(o=s.value),s.is(F3)&&(o=[]);return o},provide:o=>Eu.from(o)});return{active:r,extension:[r,mt.define(o=>new T3(o,t,r,n,e.hoverTime||300)),O3]}}function U1(t,e){let n=t.plugin(rm);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const F3=qe.define(),q1=Ne.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function im(t,e){let n=t.plugin(G1),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const G1=mt.fromClass(class{constructor(t){this.input=t.state.facet(Wa),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(q1);this.top=new _u(t,!0,e.topContainer),this.bottom=new _u(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(q1);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new _u(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new _u(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Wa);if(n!=this.input){let r=n.filter(l=>l),o=[],i=[],s=[],a=[];for(let l of r){let c=this.specs.indexOf(l),u;c<0?(u=l(t.view),a.push(u)):(u=this.panels[c],u.update&&u.update(t)),o.push(u),(u.top?i:s).push(u)}this.specs=r,this.panels=o,this.top.sync(i),this.bottom.sync(s);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>De.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class _u{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=R1(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=R1(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function R1(t){let e=t.nextSibling;return t.remove(),e}const Wa=Ne.define({enables:G1});function M3(t,e){let n,r=new Promise(s=>n=s),o=s=>I3(s,e,n);t.state.field(sm,!1)?t.dispatch({effects:K1.of(o)}):t.dispatch({effects:qe.appendConfig.of(sm.init(()=>[o]))});let i=Y1.of(o);return{close:i,result:r.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(sm).indexOf(o)>-1&&t.dispatch({effects:i})}),s))}}const sm=qt.define({create(){return[]},update(t,e){for(let n of e.effects)n.is(K1)?t=[n.value].concat(t):n.is(Y1)&&(t=t.filter(r=>r!=n.value));return t},provide:t=>Wa.computeN([t],e=>e.field(t))}),K1=qe.define(),Y1=qe.define();function I3(t,e,n){let r=e.content?e.content(t,()=>s(null)):null;if(!r){if(r=at("form"),e.input){let a=at("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(at("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(at("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let o=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a<o.length;a++){let l=o[a];l.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),s(null)):c.keyCode==13&&(c.preventDefault(),s(l))}),l.addEventListener("submit",c=>{c.preventDefault(),s(l)})}let i=at("div",r,at("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(i.className=e.class),i.classList.add("cm-dialog");function s(a){i.contains(i.ownerDocument.activeElement)&&t.focus(),n(a)}return{dom:i,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class Jr extends Co{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Jr.prototype.elementClass="",Jr.prototype.toDOM=void 0,Jr.prototype.mapMode=Yt.TrackBefore,Jr.prototype.startSide=Jr.prototype.endSide=-1,Jr.prototype.point=!0;const Au=Ne.define(),P3=Ne.define(),L3={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Qe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ua=Ne.define();function $3(t){return[J1(),Ua.of({...L3,...t})]}const X1=Ne.define({combine:t=>t.some(e=>e)});function J1(t){return[z3]}const z3=mt.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ua).map(e=>new Z1(t,e)),this.fixed=!t.state.facet(X1);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(X1)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Qe.iter(this.view.state.facet(Au),this.view.viewport.from),r=[],o=this.gutters.map(i=>new H3(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let s=!0;for(let a of i.type)if(a.type==Jt.Text&&s){am(n,r,a.from);for(let l of o)l.line(this.view,a,r);s=!1}else if(a.widget)for(let l of o)l.widget(this.view,a)}else if(i.type==Jt.Text){am(n,r,i.from);for(let s of o)s.line(this.view,i,r)}else if(i.widget)for(let s of o)s.widget(this.view,i);for(let i of o)i.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Ua),n=t.state.facet(Ua),r=t.docChanged||t.heightChanged||t.viewportChanged||!Qe.eq(t.startState.facet(Au),t.state.facet(Au),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let o of this.gutters)o.update(t)&&(r=!0);else{r=!0;let o=[];for(let i of n){let s=e.indexOf(i);s<0?o.push(new Z1(this.view,i)):(this.gutters[s].update(t),o.push(this.gutters[s]))}for(let i of this.gutters)i.dom.remove(),o.indexOf(i)<0&&i.destroy();for(let i of o)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=o}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>De.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,o=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ct.LTR?{left:r,right:o}:{right:r,left:o}})});function Q1(t){return Array.isArray(t)?t:[t]}function am(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class H3{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Qe.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:o}=this,i=(n.top-this.height)/e.scaleY,s=n.height/e.scaleY;if(this.i==o.elements.length){let a=new eS(e,s,i,r);o.elements.push(a),o.dom.appendChild(a.dom)}else o.elements[this.i].update(e,s,i,r);this.height=n.bottom,this.i++}line(e,n,r){let o=[];am(this.cursor,o,n.from),r.length&&(o=o.concat(r));let i=this.gutter.config.lineMarker(e,n,o);i&&o.unshift(i);let s=this.gutter;o.length==0&&!s.config.renderEmptyElements||this.addElement(e,n,o)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),o=r?[r]:null;for(let i of e.state.facet(P3)){let s=i(e,n.widget,n);s&&(o||(o=[])).push(s)}o&&this.addElement(e,n,o)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class Z1{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,o=>{let i=o.target,s;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let l=i.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=o.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);n.domEventHandlers[r](e,a,o)&&o.preventDefault()});this.markers=Q1(n.markers(e)),n.initialSpacer&&(this.spacer=new eS(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=Q1(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let o=this.config.updateSpacer(this.spacer.markers[0],e);o!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[o])}let r=e.view.viewport;return!Qe.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class eS{constructor(e,n,r,o){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,o)}update(e,n,r,o){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),V3(this.markers,o)||this.setMarkers(e,o)}setMarkers(e,n){let r="cm-gutterElement",o=this.dom.firstChild;for(let i=0,s=0;;){let a=s,l=i<n.length?n[i++]:null,c=!1;if(l){let u=l.elementClass;u&&(r+=" "+u);for(let d=s;d<this.markers.length;d++)if(this.markers[d].compare(l)){a=d,c=!0;break}}else a=this.markers.length;for(;s<a;){let u=this.markers[s++];if(u.toDOM){u.destroy(o);let d=o.nextSibling;o.remove(),o=d}}if(!l)break;l.toDOM&&(c?o=o.nextSibling:this.dom.insertBefore(l.toDOM(e),o)),c&&s++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function V3(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const j3=Ne.define(),W3=Ne.define(),is=Ne.define({combine(t){return Nr(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let o in n){let i=r[o],s=n[o];r[o]=i?(a,l,c)=>i(a,l,c)||s(a,l,c):s}return r}})}});class lm extends Jr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function cm(t,e){return t.state.facet(is).formatNumber(e,t.state)}const U3=Ua.compute([is],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(j3)},lineMarker(e,n,r){return r.some(o=>o.toDOM)?null:new lm(cm(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let o of e.state.facet(W3)){let i=o(e,n,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(is)!=e.state.facet(is),initialSpacer(e){return new lm(cm(e,tS(e.state.doc.lines)))},updateSpacer(e,n){let r=cm(n.view,tS(n.view.state.doc.lines));return r==e.number?e:new lm(r)},domEventHandlers:t.facet(is).domEventHandlers,side:"before"}));function q3(t={}){return[is.of(t),J1(),U3]}function tS(t){let e=9;for(;e<t;)e=e*10+9;return e}const G3=new class extends Jr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},R3=Au.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head).from;o>n&&(n=o,e.push(G3.range(o)))}return Qe.of(e)});function K3(){return R3}var um;const ss=new Je;function Y3(t){return Ne.define({combine:t?e=>e.concat(t):void 0})}const X3=new Je;class fr{constructor(e,n,r=[],o=""){this.data=e,this.name=o,tt.prototype.hasOwnProperty("tree")||Object.defineProperty(tt.prototype,"tree",{get(){return on(this)}}),this.parser=n,this.extension=[_o.of(this),tt.languageData.of((i,s,a)=>{let l=nS(i,s,a),c=l.type.prop(ss);if(!c)return[];let u=i.facet(c),d=l.type.prop(X3);if(d){let f=l.resolve(s-l.from,a);for(let p of d)if(p.test(f,i)){let m=i.facet(p.facet);return p.type=="replace"?m:m.concat(u)}}return u})].concat(r)}isActiveAt(e,n,r=-1){return nS(e,n,r).type.prop(ss)==this.data}findRegions(e){let n=e.facet(_o);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],o=(i,s)=>{if(i.prop(ss)==this.data){r.push({from:s,to:s+i.length});return}let a=i.prop(Je.mounted);if(a){if(a.tree.prop(ss)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+s,to:l.to+s});else r.push({from:s,to:s+i.length});return}else if(a.overlay){let l=r.length;if(o(a.tree,a.overlay[0].from+s),r.length>l)return}}for(let l=0;l<i.children.length;l++){let c=i.children[l];c instanceof Dt&&o(c,i.positions[l]+s)}};return o(on(e),0),r}get allowsNesting(){return!0}}fr.setState=qe.define();function nS(t,e,n){let r=t.facet(_o),o=on(t).topNode;if(!r||r.allowsNesting)for(let i=o;i;i=i.enter(e,n,Ct.ExcludeBuffers|Ct.EnterBracketed))i.type.isTop&&(o=i);return o}class Ou extends fr{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=Y3(e.languageData);return new Ou(n,e.parser.configure({props:[ss.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new Ou(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function on(t){let e=t.field(fr.state,!1);return e?e.tree:Dt.empty}class J3{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let qa=null;class Tu{constructor(e,n,r=[],o,i,s,a,l){this.parser=e,this.state=n,this.fragments=r,this.tree=o,this.treeLen=i,this.viewport=s,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new Tu(e,n,[],Dt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new J3(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Dt.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(ni.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(ni.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=qa;qa=this;try{return e()}finally{qa=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=rS(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:o,treeLen:i,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,u,d,f)=>l.push({fromA:c,toA:u,fromB:d,toB:f})),r=ni.applyChanges(r,l),o=Dt.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),d=e.mapPos(c.to,-1);u<d&&a.push({from:u,to:d})}}}return new Tu(this.parser,n,r,o,i,s,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:o,to:i}=this.skipped[r];o<e.to&&i>e.from&&(this.fragments=rS(this.fragments,o,i),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends DC{createParse(n,r,o){let i=o[0].from,s=o[o.length-1].to;return{parsedPos:i,advance(){let l=qa;if(l){for(let c of o)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new Dt(Cn.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return qa}}function rS(t,e,n){return ni.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class as{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new as(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=Tu.create(e.facet(_o).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new as(r)}}fr.state=qt.define({create:as.init,update(t,e){for(let n of e.effects)if(n.is(fr.setState))return n.value;return e.startState.facet(_o)!=e.state.facet(_o)?as.init(e.state):t.apply(e)}});let oS=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(oS=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const dm=typeof navigator<"u"&&(!((um=navigator.scheduling)===null||um===void 0)&&um.isInputPending)?()=>navigator.scheduling.isInputPending():null,Q3=mt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(fr.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(fr.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=oS(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:o}}=this.view,i=r.field(fr.state);if(i.tree==i.context.tree&&i.context.isDone(o+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!dm?Math.max(25,e.timeRemaining()-5):1e9),a=i.context.treeLen<o&&r.doc.length>o+1e3,l=i.context.work(()=>dm&&dm()||Date.now()>s,o+(a?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:fr.setState.of(new as(i.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Sn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),_o=Ne.define({combine(t){return t.length?t[0]:null},enables:t=>[fr.state,Q3,De.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class Z3{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const e8=Ne.define(),Ga=Ne.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Nu(t){let e=t.facet(Ga);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Ra(t,e){let n="",r=t.tabSize,o=t.facet(Ga)[0];if(o==" "){for(;e>=r;)n+=" ",e-=r;o=" "}for(let i=0;i<e;i++)n+=o;return n}function fm(t,e){t instanceof tt&&(t=new Bu(t));for(let r of t.state.facet(e8)){let o=r(t,e);if(o!==void 0)return o}let n=on(t.state);return n.length>=e?t8(t,n,e):null}class Bu{constructor(e,n={}){this.state=e,this.options=n,this.unit=Nu(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:i}=this.options;return o!=null&&o>=r.from&&o<=r.to?i&&o==e?{text:"",from:e}:(n<0?o<e:o<=e)?{text:r.text.slice(o-r.from),from:o}:{text:r.text.slice(0,o-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:o}=this.lineAt(e,n);return r.slice(e-o,Math.min(r.length,e+100-o))}column(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.countColumn(r,e-o),s=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return s>-1&&(i+=s-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,n=e.length){return Xi(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let s=i(o);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const iS=new Je;function t8(t,e,n){let r=e.resolveStack(n),o=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(o!=r.node){let i=[];for(let s=o;s&&!(s.from<r.node.from||s.to>r.node.to||s.from==r.node.from&&s.type==r.node.type);s=s.parent)i.push(s);for(let s=i.length-1;s>=0;s--)r={node:i[s],next:r}}return sS(r,t,n)}function sS(t,e,n){for(let r=t;r;r=r.next){let o=r8(r.node);if(o)return o(hm.create(e,n,r))}return 0}function n8(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function r8(t){let e=t.type.prop(iS);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(Je.closedBy))){let o=t.lastChild,i=o&&r.indexOf(o.name)>-1;return s=>a8(s,!0,1,void 0,i&&!n8(s)?o.from:void 0)}return t.parent==null?o8:null}function o8(){return 0}class hm extends Bu{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new hm(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(i8(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return sS(this.context.next,this.base,this.pos)}}function i8(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function s8(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let o=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),s=o==null||o<=i.from?i.to:Math.min(i.to,o);for(let a=n.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let c=/^ */.exec(i.text.slice(n.to-i.from))[0].length;return{from:n.from,to:n.to+c}}a=l.to}}function a8(t,e,n,r,o){let i=t.textAfter,s=i.match(/^\s*/)[0].length,a=r&&i.slice(s,s+r.length)==r||o==t.pos+s,l=s8(t);return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*n)}function aS({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const l8=200;function c8(){return tt.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,o=n.lineAt(r);if(r>o.from+l8)return t;let i=n.sliceString(o.from,r);if(!e.some(c=>c.test(i)))return t;let{state:s}=t,a=-1,l=[];for(let{head:c}of s.selection.ranges){let u=s.doc.lineAt(c);if(u.from==a)continue;a=u.from;let d=fm(s,u.from);if(d==null)continue;let f=/^\s*/.exec(u.text)[0],p=Ra(s,d);f!=p&&l.push({from:u.from,to:u.from+f.length,insert:p})}return l.length?[t,{changes:l,sequential:!0}]:t})}const u8=Ne.define(),lS=new Je;function d8(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function f8(t,e,n){let r=on(t);if(r.length<n)return null;let o=r.resolveStack(n,1),i=null;for(let s=o;s;s=s.next){let a=s.node;if(a.to<=n||a.from>n)continue;if(i&&a.from<e)break;let l=a.type.prop(lS);if(l&&(a.to<r.length-50||r.length==t.doc.length||!h8(a))){let c=l(a,t);c&&c.from<=n&&c.from>=e&&c.to>n&&(i=c)}}return i}function h8(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function Fu(t,e,n){for(let r of t.facet(u8)){let o=r(t,e,n);if(o)return o}return f8(t,e,n)}function cS(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const Mu=qe.define({map:cS}),Ka=qe.define({map:cS});function uS(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const di=qt.define({create(){return Ie.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,r)=>t=dS(t,n,r)),t=t.map(e.changes);for(let n of e.effects)if(n.is(Mu)&&!p8(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(pS),o=r?Ie.replace({widget:new v8(r(e.state,n.value))}):wS;t=t.update({add:[o.range(n.value.from,n.value.to)]})}else n.is(Ka)&&(t=t.update({filter:(r,o)=>n.value.from!=r||n.value.to!=o,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=dS(t,e.selection.main.head)),t},provide:t=>De.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,o)=>{n.push(r,o)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],o=t[n++];if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid JSON for fold state");e.push(wS.range(r,o))}return Ie.set(e,!0)}});function dS(t,e,n=e){let r=!1;return t.between(e,n,(o,i)=>{o<n&&i>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(o,i)=>o>=n||i<=e}):t}function Iu(t,e,n){var r;let o=null;return(r=t.field(di,!1))===null||r===void 0||r.between(e,n,(i,s)=>{(!o||o.from>i)&&(o={from:i,to:s})}),o}function p8(t,e,n){let r=!1;return t.between(e,e,(o,i)=>{o==e&&i==n&&(r=!0)}),r}function fS(t,e){return t.field(di,!1)?e:e.concat(qe.appendConfig.of(mS()))}const m8=t=>{for(let e of uS(t)){let n=Fu(t.state,e.from,e.to);if(n)return t.dispatch({effects:fS(t.state,[Mu.of(n),hS(t,n)])}),!0}return!1},g8=t=>{if(!t.state.field(di,!1))return!1;let e=[];for(let n of uS(t)){let r=Iu(t.state,n.from,n.to);r&&e.push(Ka.of(r),hS(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function hS(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,o=t.state.doc.lineAt(e.to).number;return De.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${o}.`)}const w8=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:m8},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:g8},{key:"Ctrl-Alt-[",run:t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let o=t.lineBlockAt(r),i=Fu(e,o.from,o.to);i&&n.push(Mu.of(i)),r=(i?t.lineBlockAt(i.to):o).to+1}return n.length&&t.dispatch({effects:fS(t.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:t=>{let e=t.state.field(di,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,o)=>{n.push(Ka.of({from:r,to:o}))}),t.dispatch({effects:n}),!0}}],b8={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},pS=Ne.define({combine(t){return Nr(t,b8)}});function mS(t){return[di,k8]}function gS(t,e){let{state:n}=t,r=n.facet(pS),o=s=>{let a=t.lineBlockAt(t.posAtDOM(s.target)),l=Iu(t.state,a.from,a.to);l&&t.dispatch({effects:Ka.of(l)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,o,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",n.phrase("folded code")),i.title=n.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const wS=Ie.replace({widget:new class extends Nn{toDOM(t){return gS(t,null)}}});class v8 extends Nn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return gS(e,this.value)}}const y8={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class pm extends Jr{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function C8(t={}){let e={...y8,...t},n=new pm(e,!0),r=new pm(e,!1),o=mt.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(_o)!=s.state.facet(_o)||s.startState.field(di,!1)!=s.state.field(di,!1)||on(s.startState)!=on(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Rr;for(let l of s.viewportLineBlocks){let c=Iu(s.state,l.from,l.to)?r:Fu(s.state,l.from,l.to)?n:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:i}=e;return[o,$3({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(o))===null||a===void 0?void 0:a.markers)||Qe.empty},initialSpacer(){return new pm(e,!1)},domEventHandlers:{...i,click:(s,a,l)=>{if(i.click&&i.click(s,a,l))return!0;let c=Iu(s.state,a.from,a.to);if(c)return s.dispatch({effects:Ka.of(c)}),!0;let u=Fu(s.state,a.from,a.to);return u?(s.dispatch({effects:Mu.of(u)}),!0):!1}}}),mS()]}const k8=De.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class ls{constructor(e,n){this.specs=e;let r;function o(a){let l=ko.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const i=typeof n.all=="string"?n.all:n.all?o(n.all):void 0,s=n.scope;this.scope=s instanceof fr?a=>a.prop(ss)==s.data:s?a=>a==s:void 0,this.style=OC(e.map(a=>({tag:a.tag,class:a.class||o(Object.assign({},a,{tag:null}))})),{all:i}).style,this.module=r?new ko(r):null,this.themeType=n.themeType}static define(e,n){return new ls(e,n||{})}}const mm=Ne.define(),bS=Ne.define({combine(t){return t.length?[t[0]]:null}});function gm(t){let e=t.facet(mm);return e.length?e:t.facet(bS)}function wm(t,e){let n=[E8],r;return t instanceof ls&&(t.module&&n.push(De.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?n.push(bS.of(t)):r?n.push(mm.computeN([De.darkTheme],o=>o.facet(De.darkTheme)==(r=="dark")?[t]:[])):n.push(mm.of(t)),n}class S8{constructor(e){this.markCache=Object.create(null),this.tree=on(e.state),this.decorations=this.buildDeco(e,gm(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=on(e.state),r=gm(e.state),o=r!=gm(e.startState),{viewport:i}=e.view,s=e.changes.mapPos(this.decoratedTo,1);n.length<i.to&&!o&&n.type==this.tree.type&&s>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(n!=this.tree||e.viewportChanged||o)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,n){if(!n||!this.tree.length)return Ie.none;let r=new Rr;for(let{from:o,to:i}of e.visibleRanges)L2(this.tree,n,(s,a,l)=>{r.add(s,a,this.markCache[l]||(this.markCache[l]=Ie.mark({class:l})))},o,i);return r.finish()}}const E8=yo.high(mt.fromClass(S8,{decorations:t=>t.decorations})),x8=ls.define([{tag:V.meta,color:"#404740"},{tag:V.link,textDecoration:"underline"},{tag:V.heading,textDecoration:"underline",fontWeight:"bold"},{tag:V.emphasis,fontStyle:"italic"},{tag:V.strong,fontWeight:"bold"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.keyword,color:"#708"},{tag:[V.atom,V.bool,V.url,V.contentSeparator,V.labelName],color:"#219"},{tag:[V.literal,V.inserted],color:"#164"},{tag:[V.string,V.deleted],color:"#a11"},{tag:[V.regexp,V.escape,V.special(V.string)],color:"#e40"},{tag:V.definition(V.variableName),color:"#00f"},{tag:V.local(V.variableName),color:"#30a"},{tag:[V.typeName,V.namespace],color:"#085"},{tag:V.className,color:"#167"},{tag:[V.special(V.variableName),V.macroName],color:"#256"},{tag:V.definition(V.propertyName),color:"#00c"},{tag:V.comment,color:"#940"},{tag:V.invalid,color:"#f00"}]),D8=De.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),vS=1e4,yS="()[]{}",CS=Ne.define({combine(t){return Nr(t,{afterCursor:!0,brackets:yS,maxScanDistance:vS,renderMatch:O8})}}),_8=Ie.mark({class:"cm-matchingBracket"}),A8=Ie.mark({class:"cm-nonmatchingBracket"});function O8(t){let e=[],n=t.matched?_8:A8;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const T8=[qt.define({create(){return Ie.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(CS);for(let o of e.state.selection.ranges){if(!o.empty)continue;let i=Mr(e.state,o.head,-1,r)||o.head>0&&Mr(e.state,o.head-1,1,r)||r.afterCursor&&(Mr(e.state,o.head,1,r)||o.head<e.state.doc.length&&Mr(e.state,o.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,e.state)))}return Ie.set(n,!0)},provide:t=>De.decorations.from(t)}),D8];function N8(t={}){return[CS.of(t),T8]}const B8=new Je;function bm(t,e,n){let r=t.prop(e<0?Je.openedBy:Je.closedBy);if(r)return r;if(t.name.length==1){let o=n.indexOf(t.name);if(o>-1&&o%2==(e<0?1:0))return[n[o+e]]}return null}function vm(t){let e=t.type.prop(B8);return e?e(t.node):t}function Mr(t,e,n,r={}){let o=r.maxScanDistance||vS,i=r.brackets||yS,s=on(t),a=s.resolveInner(e,n);for(let l=a;l;l=l.parent){let c=bm(l.type,n,i);if(c&&l.from<l.to){let u=vm(l);if(u&&(n>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return F8(t,e,n,l,u,c,i)}}return M8(t,e,n,s,a.type,o,i)}function F8(t,e,n,r,o,i,s){let a=r.parent,l={from:o.from,to:o.to},c=0,u=a==null?void 0:a.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do if(n<0?u.to<=r.from:u.from>=r.to){if(c==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let d=vm(u);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(bm(u.type,n,s))c++;else if(bm(u.type,-n,s)){if(c==0){let d=vm(u);return{start:l,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}c--}}while(n<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}function M8(t,e,n,r,o,i,s){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(a);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?e-1:e,to:n>0?e+1:e},u=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let f=0;!u.next().done&&f<=i;){let p=u.value;n<0&&(f+=p.length);let m=e+f*n;for(let v=n>0?0:p.length-1,b=n>0?p.length:-1;v!=b;v+=n){let w=s.indexOf(p[v]);if(!(w<0||r.resolveInner(m+v,1).type!=o))if(w%2==0==n>0)d++;else{if(d==1)return{start:c,end:{from:m+v,to:m+v+1},matched:w>>1==l>>1};d--}}n>0&&(f+=p.length)}return u.done?{start:c,matched:!1}:null}const I8=Object.create(null),kS=[Cn.none],SS=[],ES=Object.create(null),P8=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])P8[t]=L8(I8,e);function ym(t,e){SS.indexOf(t)>-1||(SS.push(t),console.warn(e))}function L8(t,e){let n=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let u=t[c]||V[c];u?typeof u=="function"?l.length?l=l.map(u):ym(c,`Modifier ${c} used at start of tag`):l.length?ym(c,`Tag ${c} used as modifier`):l=Array.isArray(u)?u:[u]:ym(c,`Unknown highlighting tag ${c}`)}for(let c of l)n.push(c)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),o=r+" "+n.map(a=>a.id),i=ES[o];if(i)return i.id;let s=ES[o]=Cn.define({id:kS.length,name:r,props:[_C({[r]:n})]});return kS.push(s),s.id}ct.RTL,ct.LTR;var xS=t=>{var{theme:e,settings:n={},styles:r=[]}=t,o={".cm-gutters":{}},i={};n.background&&(i.backgroundColor=n.background),n.backgroundImage&&(i.backgroundImage=n.backgroundImage),n.foreground&&(i.color=n.foreground),n.fontSize&&(i.fontSize=n.fontSize),(n.background||n.foreground)&&(o["&"]=i),n.fontFamily&&(o["&.cm-editor .cm-scroller"]={fontFamily:n.fontFamily}),n.gutterBackground&&(o[".cm-gutters"].backgroundColor=n.gutterBackground),n.gutterForeground&&(o[".cm-gutters"].color=n.gutterForeground),n.gutterBorder&&(o[".cm-gutters"].borderRightColor=n.gutterBorder),n.caret&&(o[".cm-content"]={caretColor:n.caret},o[".cm-cursor, .cm-dropCursor"]={borderLeftColor:n.caret});var s={};n.gutterActiveForeground&&(s.color=n.gutterActiveForeground),n.lineHighlight&&(o[".cm-activeLine"]={backgroundColor:n.lineHighlight},s.backgroundColor=n.lineHighlight),o[".cm-activeLineGutter"]=s,n.selection&&(o["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:n.selection+" !important"}),n.selectionMatch&&(o["& .cm-selectionMatch"]={backgroundColor:n.selectionMatch});var a=De.theme(o,{dark:e==="dark"}),l=ls.define(r),c=[a,wm(l)];return c},$8={background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#b99d555c",selectionMatch:"#b99d555c",lineHighlight:"#baa1602b",gutterBackground:"#282828",gutterForeground:"#7c6f64"},z8=[{tag:V.keyword,color:"#fb4934"},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:"#8ec07c"},{tag:[V.variableName],color:"#83a598"},{tag:[V.function(V.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[V.labelName],color:"#ebdbb2"},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:"#d3869b"},{tag:[V.definition(V.name),V.separator],color:"#ebdbb2"},{tag:[V.brace],color:"#ebdbb2"},{tag:[V.annotation],color:"#fb4934d"},{tag:[V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:"#d3869b"},{tag:[V.typeName,V.className],color:"#fabd2f"},{tag:[V.operator,V.operatorKeyword],color:"#fb4934"},{tag:[V.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[V.squareBracket],color:"#fe8019"},{tag:[V.angleBracket],color:"#83a598"},{tag:[V.attributeName],color:"#8ec07c"},{tag:[V.regexp],color:"#8ec07c"},{tag:[V.quote],color:"#928374"},{tag:[V.string],color:"#ebdbb2"},{tag:V.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[V.url,V.escape,V.special(V.string)],color:"#d3869b"},{tag:[V.meta],color:"#fabd2f"},{tag:[V.comment],color:"#928374",fontStyle:"italic"},{tag:V.strong,fontWeight:"bold",color:"#fe8019"},{tag:V.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[V.heading1,V.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[V.heading3,V.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[V.heading5,V.heading6],color:"#fabd2f"},{tag:[V.atom,V.bool,V.special(V.variableName)],color:"#d3869b"},{tag:[V.processingInstruction,V.inserted],color:"#83a598"},{tag:[V.contentSeparator],color:"#fb4934"},{tag:V.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"}],H8=t=>{var{theme:e="dark",settings:n={},styles:r=[]}={};return xS({theme:e,settings:Zo({},$8,n),styles:[...z8,...r]})},Cm=H8(),V8={background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#bdae9391",selectionMatch:"#bdae9391",lineHighlight:"#a37f2238",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},j8=t=>{var{theme:e="light",settings:n={},styles:r=[]}={};return xS({theme:e,settings:Zo({},V8,n),styles:[{tag:V.keyword,color:"#9d0006"},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:"#427b58"},{tag:[V.variableName],color:"#076678"},{tag:[V.function(V.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[V.labelName],color:"#3c3836"},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:"#8f3f71"},{tag:[V.definition(V.name),V.separator],color:"#3c3836"},{tag:[V.brace],color:"#3c3836"},{tag:[V.annotation],color:"#9d0006"},{tag:[V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:"#8f3f71"},{tag:[V.typeName,V.className],color:"#b57614"},{tag:[V.operator,V.operatorKeyword],color:"#9d0006"},{tag:[V.tagName],color:"#427b58",fontStyle:"bold"},{tag:[V.squareBracket],color:"#af3a03"},{tag:[V.angleBracket],color:"#076678"},{tag:[V.attributeName],color:"#427b58"},{tag:[V.regexp],color:"#427b58"},{tag:[V.quote],color:"#928374"},{tag:[V.string],color:"#3c3836"},{tag:V.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[V.url,V.escape,V.special(V.string)],color:"#8f3f71"},{tag:[V.meta],color:"#b57614"},{tag:[V.comment],color:"#928374",fontStyle:"italic"},{tag:V.strong,fontWeight:"bold",color:"#af3a03"},{tag:V.emphasis,fontStyle:"italic",color:"#79740e"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.heading,fontWeight:"bold",color:"#79740e"},{tag:[V.heading1,V.heading2],fontWeight:"bold",color:"#79740e"},{tag:[V.heading3,V.heading4],fontWeight:"bold",color:"#b57614"},{tag:[V.heading5,V.heading6],color:"#b57614"},{tag:[V.atom,V.bool,V.special(V.variableName)],color:"#8f3f71"},{tag:[V.processingInstruction,V.inserted],color:"#076678"},{tag:[V.contentSeparator],color:"#9d0006"},{tag:V.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"},...r]})};j8();function W8(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}const U8=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=Sm(t.state,n.from);return r.line?q8(t):r.block?R8(t):!1};function km(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=t(e,n);return o?(r(n.update(o)),!0):!1}}const q8=km(X8,0),G8=km(DS,0),R8=km((t,e)=>DS(t,e,Y8(e)),0);function Sm(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const Ya=50;function K8(t,{open:e,close:n},r,o){let i=t.sliceDoc(r-Ya,r),s=t.sliceDoc(o,o+Ya),a=/\s*$/.exec(i)[0].length,l=/^\s*/.exec(s)[0].length,c=i.length-a;if(i.slice(c-e.length,c)==e&&s.slice(l,l+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+l,margin:l&&1}};let u,d;o-r<=2*Ya?u=d=t.sliceDoc(r,o):(u=t.sliceDoc(r,r+Ya),d=t.sliceDoc(o-Ya,o));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+e.length)==e&&d.slice(m,m+n.length)==n?{open:{pos:r+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:o-p-n.length,margin:/\s/.test(d.charAt(m-1))?1:0}}:null}function Y8(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),o=n.to<=r.to?r:t.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=o.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return e}function DS(t,e,n=e.selection.ranges){let r=n.map(i=>Sm(e,i.from).block);if(!r.every(i=>i))return null;let o=n.map((i,s)=>K8(e,r[s],i.from,i.to));if(t!=2&&!o.every(i=>i))return{changes:e.changes(n.map((i,s)=>o[s]?[]:[{from:i.from,insert:r[s].open+" "},{from:i.to,insert:" "+r[s].close}]))};if(t!=1&&o.some(i=>i)){let i=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let l=r[s],{open:c,close:u}=a;i.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+l.close.length})}return{changes:i}}return null}function X8(t,e,n=e.selection.ranges){let r=[],o=-1;for(let{from:i,to:s}of n){let a=r.length,l=1e9,c=Sm(e,i).line;if(c){for(let u=i;u<=s;){let d=e.doc.lineAt(u);if(d.from>o&&(i==s||s>d.from)){o=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,m=d.text.slice(f,f+c.length)==c?f:-1;f<d.text.length&&f<l&&(l=f),r.push({line:d,comment:m,token:c,indent:f,empty:p,single:!1})}u=d.to+1}if(l<1e9)for(let u=a;u<r.length;u++)r[u].indent<r[u].line.text.length&&(r[u].indent=l);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:a,token:l,indent:c,empty:u,single:d}of r)(d||!u)&&i.push({from:a.from+c,insert:l+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:a,token:l}of r)if(a>=0){let c=s.from+a,u=c+l.length;s.text[u-s.from]==" "&&u++,i.push({from:c,to:u})}return{changes:i}}return null}const Em=Tr.define(),J8=Tr.define(),Q8=Ne.define(),_S=Ne.define({combine(t){return Nr(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,o)=>e(r,o)||n(r,o)})}}),AS=qt.define({create(){return Ir.empty},update(t,e){let n=e.state.facet(_S),r=e.annotation(Em);if(r){let l=xn.fromTransaction(e,r.selection),c=r.side,u=c==0?t.undone:t.done;return l?u=Lu(u,u.length,n.minDepth,l):u=NS(u,e.startState.selection),new Ir(c==0?r.rest:u,c==0?u:r.rest)}let o=e.annotation(J8);if((o=="full"||o=="before")&&(t=t.isolate()),e.annotation(Nt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=xn.fromTransaction(e),s=e.annotation(Nt.time),a=e.annotation(Nt.userEvent);return i?t=t.addChanges(i,s,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,a,n.newGroupDelay)),(o=="full"||o=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Ir(t.done.map(xn.fromJSON),t.undone.map(xn.fromJSON))}});function Z8(t={}){return[AS,_S.of(t),De.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?OS:e.inputType=="historyRedo"?xm:null;return r?(e.preventDefault(),r(n)):!1}})]}function Pu(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let o=n.field(AS,!1);if(!o)return!1;let i=o.pop(t,n,e);return i?(r(i),!0):!1}}const OS=Pu(0,!1),xm=Pu(1,!1),e5=Pu(0,!0),t5=Pu(1,!0);class xn{constructor(e,n,r,o,i){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=i}setSelAfter(e){return new xn(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new xn(e.changes&&Ht.fromJSON(e.changes),[],e.mapped&&Or.fromJSON(e.mapped),e.startSelection&&ae.fromJSON(e.startSelection),e.selectionsAfter.map(ae.fromJSON))}static fromTransaction(e,n){let r=Xn;for(let o of e.startState.facet(Q8)){let i=o(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new xn(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,Xn)}static selection(e){return new xn(void 0,Xn,void 0,void 0,e)}}function Lu(t,e,n,r){let o=e+1>n+20?e-n-1:0,i=t.slice(o,e);return i.push(r),i}function n5(t,e){let n=[],r=!1;return t.iterChangedRanges((o,i)=>n.push(o,i)),e.iterChangedRanges((o,i,s,a)=>{for(let l=0;l<n.length;){let c=n[l++],u=n[l++];a>=c&&s<=u&&(r=!0)}}),r}function r5(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function TS(t,e){return t.length?e.length?t.concat(e):t:e}const Xn=[],o5=200;function NS(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-o5));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),Lu(t,t.length-1,1e9,n.setSelAfter(r)))}else return[xn.selection([e])]}function i5(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function Dm(t,e){if(!t.length)return t;let n=t.length,r=Xn;for(;n;){let o=s5(t[n-1],e,r);if(o.changes&&!o.changes.empty||o.effects.length){let i=t.slice(0,n);return i[n-1]=o,i}else e=o.mapped,n--,r=o.selectionsAfter}return r.length?[xn.selection(r)]:Xn}function s5(t,e,n){let r=TS(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):Xn,n);if(!t.changes)return xn.selection(r);let o=t.changes.map(e),i=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(i):i;return new xn(o,qe.mapEffects(t.effects,e),s,t.startSelection.map(i),r)}const a5=/^(input\.type|delete)($|\.)/;class Ir{constructor(e,n,r=0,o=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new Ir(this.done,this.undone):this}addChanges(e,n,r,o,i){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||a5.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,n5(a.changes,e.changes))||r=="input.type.compose")?s=Lu(s,s.length-1,o.minDepth,new xn(e.changes.compose(a.changes),TS(qe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Xn)):s=Lu(s,s.length,o.minDepth,e),new Ir(s,Xn,n,r)}addSelection(e,n,r,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Xn;return i.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&r5(i[i.length-1],e)?this:new Ir(NS(this.done,e),this.undone,n,r)}addMapping(e){return new Ir(Dm(this.done,e),Dm(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1],s=i.selectionsAfter[0]||n.selection;if(r&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Em.of({side:e,rest:i5(o),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let a=o.length==1?Xn:o.slice(0,o.length-1);return i.mapped&&(a=Dm(a,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Em.of({side:e,rest:a,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Ir.empty=new Ir(Xn,Xn);const l5=[{key:"Mod-z",run:OS,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:xm,preventDefault:!0},{linux:"Ctrl-Shift-z",run:xm,preventDefault:!0},{key:"Mod-u",run:e5,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:t5,preventDefault:!0}];function cs(t,e){return ae.create(t.ranges.map(e),t.mainIndex)}function hr(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function pr({state:t,dispatch:e},n){let r=cs(t.selection,n);return r.eq(t.selection,!0)?!1:(e(hr(t,r)),!0)}function $u(t,e){return ae.cursor(e?t.to:t.from)}function BS(t,e){return pr(t,n=>n.empty?t.moveByChar(n,e):$u(n,e))}function sn(t){return t.textDirectionAt(t.state.selection.main.head)==ct.LTR}const FS=t=>BS(t,!sn(t)),MS=t=>BS(t,sn(t));function IS(t,e){return pr(t,n=>n.empty?t.moveByGroup(n,e):$u(n,e))}const c5=t=>IS(t,!sn(t)),u5=t=>IS(t,sn(t));function d5(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function zu(t,e,n){let r=on(t).resolveInner(e.head),o=n?Je.closedBy:Je.openedBy;for(let l=e.head;;){let c=n?r.childAfter(l):r.childBefore(l);if(!c)break;d5(t,c,o)?r=c:l=n?c.to:c.from}let i=r.type.prop(o),s,a;return i&&(s=n?Mr(t,r.from,1):Mr(t,r.to,-1))&&s.matched?a=n?s.end.to:s.end.from:a=n?r.to:r.from,ae.cursor(a,n?-1:1)}const f5=t=>pr(t,e=>zu(t.state,e,!sn(t))),h5=t=>pr(t,e=>zu(t.state,e,sn(t)));function PS(t,e){return pr(t,n=>{if(!n.empty)return $u(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const LS=t=>PS(t,!1),$S=t=>PS(t,!0);function zS(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,o;if(e){for(let i of t.state.facet(De.scrollMargins)){let s=i(t);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(r=Math.max(s==null?void 0:s.bottom,r))}o=t.scrollDOM.clientHeight-n-r}else o=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,o-5)}}function HS(t,e){let n=zS(t),{state:r}=t,o=cs(r.selection,s=>s.empty?t.moveVertically(s,e,n.height):$u(s,e));if(o.eq(r.selection))return!1;let i;if(n.selfScroll){let s=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+n.marginTop,c=a.bottom-n.marginBottom;s&&s.top>l&&s.bottom<c&&(i=De.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(hr(r,o),{effects:i}),!0}const VS=t=>HS(t,!1),_m=t=>HS(t,!0);function Ao(t,e,n){let r=t.lineBlockAt(e.head),o=t.moveToLineBoundary(e,n);if(o.head==e.head&&o.head!=(n?r.to:r.from)&&(o=t.moveToLineBoundary(e,n,!1)),!n&&o.head==r.from&&r.length){let i=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(o=ae.cursor(r.from+i))}return o}const p5=t=>pr(t,e=>Ao(t,e,!0)),m5=t=>pr(t,e=>Ao(t,e,!1)),g5=t=>pr(t,e=>Ao(t,e,!sn(t))),w5=t=>pr(t,e=>Ao(t,e,sn(t))),b5=t=>pr(t,e=>ae.cursor(t.lineBlockAt(e.head).from,1)),v5=t=>pr(t,e=>ae.cursor(t.lineBlockAt(e.head).to,-1));function y5(t,e,n){let r=!1,o=cs(t.selection,i=>{let s=Mr(t,i.head,-1)||Mr(t,i.head,1)||i.head>0&&Mr(t,i.head-1,1)||i.head<t.doc.length&&Mr(t,i.head+1,-1);if(!s||!s.end)return i;r=!0;let a=s.start.from==i.head?s.end.to:s.end.from;return ae.cursor(a)});return r?(e(hr(t,o)),!0):!1}const C5=({state:t,dispatch:e})=>y5(t,e);function Jn(t,e){let n=cs(t.state.selection,r=>{let o=e(r);return ae.range(r.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(hr(t.state,n)),!0)}function jS(t,e){return Jn(t,n=>t.moveByChar(n,e))}const WS=t=>jS(t,!sn(t)),US=t=>jS(t,sn(t));function qS(t,e){return Jn(t,n=>t.moveByGroup(n,e))}const k5=t=>qS(t,!sn(t)),S5=t=>qS(t,sn(t)),E5=t=>Jn(t,e=>zu(t.state,e,!sn(t))),x5=t=>Jn(t,e=>zu(t.state,e,sn(t)));function GS(t,e){return Jn(t,n=>t.moveVertically(n,e))}const RS=t=>GS(t,!1),KS=t=>GS(t,!0);function YS(t,e){return Jn(t,n=>t.moveVertically(n,e,zS(t).height))}const XS=t=>YS(t,!1),JS=t=>YS(t,!0),D5=t=>Jn(t,e=>Ao(t,e,!0)),_5=t=>Jn(t,e=>Ao(t,e,!1)),A5=t=>Jn(t,e=>Ao(t,e,!sn(t))),O5=t=>Jn(t,e=>Ao(t,e,sn(t))),T5=t=>Jn(t,e=>ae.cursor(t.lineBlockAt(e.head).from)),N5=t=>Jn(t,e=>ae.cursor(t.lineBlockAt(e.head).to)),QS=({state:t,dispatch:e})=>(e(hr(t,{anchor:0})),!0),ZS=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.doc.length})),!0),eE=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.selection.main.anchor,head:0})),!0),tE=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),B5=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),F5=({state:t,dispatch:e})=>{let n=Vu(t).map(({from:r,to:o})=>ae.range(r,Math.min(o+1,t.doc.length)));return e(t.update({selection:ae.create(n),userEvent:"select"})),!0},M5=({state:t,dispatch:e})=>{let n=cs(t.selection,r=>{let o=on(t),i=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=i.node.from&&s.node.to<=i.node.to&&(i=s)}for(let s=i;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return ae.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e(hr(t,n)),!0)};function nE(t,e){let{state:n}=t,r=n.selection,o=n.selection.ranges.slice();for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head);if(e?s.to<t.state.doc.length:s.from>0)for(let a=i;;){let l=t.moveVertically(a,e);if(l.head<s.from||l.head>s.to){o.some(c=>c.head==l.head)||o.push(l);break}else{if(l.head==a.head)break;a=l}}}return o.length==r.ranges.length?!1:(t.dispatch(hr(n,ae.create(o,o.length-1))),!0)}const I5=t=>nE(t,!1),P5=t=>nE(t,!0),L5=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=ae.create([n.main]):n.main.empty||(r=ae.create([ae.cursor(n.main.head)])),r?(e(hr(t,r)),!0):!1};function Xa(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,o=r.changeByRange(i=>{let{from:s,to:a}=i;if(s==a){let l=e(i);l<s?(n="delete.backward",l=Hu(t,l,!1)):l>s&&(n="delete.forward",l=Hu(t,l,!0)),s=Math.min(s,l),a=Math.max(a,l)}else s=Hu(t,s,!1),a=Hu(t,a,!0);return s==a?{range:i}:{changes:{from:s,to:a},range:ae.cursor(s,s<i.head?-1:1)}});return o.changes.empty?!1:(t.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?De.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Hu(t,e,n){if(t instanceof De)for(let r of t.state.facet(De.atomicRanges).map(o=>o(t)))r.between(e,e,(o,i)=>{o<e&&i>e&&(e=n?i:o)});return e}const rE=(t,e,n)=>Xa(t,r=>{let o=r.from,{state:i}=t,s=i.doc.lineAt(o),a,l;if(n&&!e&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]==" ")return o-1;let c=Xi(a,i.tabSize),u=c%Nu(i)||Nu(i);for(let d=0;d<u&&a[a.length-1-d]==" ";d++)o--;l=o}else l=zt(s.text,o-s.from,e,e)+s.from,l==o&&s.number!=(e?i.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,o-s.from))&&(l=zt(s.text,l-s.from,!1,!1)+s.from);return l}),Am=t=>rE(t,!1,!0),oE=t=>rE(t,!0,!1),iE=(t,e)=>Xa(t,n=>{let r=n.head,{state:o}=t,i=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(e?i.to:i.from)){r==n.head&&i.number!=(e?o.doc.lines:1)&&(r+=e?1:-1);break}let l=zt(i.text,r-i.from,e)+i.from,c=i.text.slice(Math.min(r,l)-i.from,Math.max(r,l)-i.from),u=s(c);if(a!=null&&u!=a)break;(c!=" "||r!=n.head)&&(a=u),r=l}return r}),sE=t=>iE(t,!1),$5=t=>iE(t,!0),z5=t=>Xa(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),H5=t=>Xa(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),V5=t=>Xa(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),j5=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:st.of(["",""])},range:ae.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},W5=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let o=r.from,i=t.doc.lineAt(o),s=o==i.from?o-1:zt(i.text,o-i.from,!1)+i.from,a=o==i.to?o+1:zt(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:a,insert:t.doc.slice(o,a).append(t.doc.slice(s,o))},range:ae.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Vu(t){let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.from),i=t.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=t.doc.lineAt(r.to-1)),n>=o.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(r)}else e.push({from:o.from,to:i.to,ranges:[r]});n=i.number+1}return e}function aE(t,e,n){if(t.readOnly)return!1;let r=[],o=[];for(let i of Vu(t)){if(n?i.to==t.doc.length:i.from==0)continue;let s=t.doc.lineAt(n?i.to+1:i.from-1),a=s.length+1;if(n){r.push({from:i.to,to:s.to},{from:i.from,insert:s.text+t.lineBreak});for(let l of i.ranges)o.push(ae.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:s.from,to:i.from},{from:i.to,insert:t.lineBreak+s.text});for(let l of i.ranges)o.push(ae.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:ae.create(o,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const U5=({state:t,dispatch:e})=>aE(t,e,!1),q5=({state:t,dispatch:e})=>aE(t,e,!0);function lE(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of Vu(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});let o=t.changes(r);return e(t.update({changes:o,selection:t.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const G5=({state:t,dispatch:e})=>lE(t,e,!1),R5=({state:t,dispatch:e})=>lE(t,e,!0),K5=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Vu(e).map(({from:o,to:i})=>(o>0?o--:i<e.doc.length&&i++,{from:o,to:i}))),r=cs(e.selection,o=>{let i;if(t.lineWrapping){let s=t.lineBlockAt(o.head),a=t.coordsAtPos(o.head,o.assoc||1);a&&(i=s.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(o,!0,i)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Y5(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=on(t).resolveInner(e),r=n.childBefore(e),o=n.childAfter(e),i;return r&&o&&r.to<=e&&o.from>=e&&(i=r.type.prop(Je.closedBy))&&i.indexOf(o.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(o.from).from&&!/\S/.test(t.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}const cE=uE(!1),X5=uE(!0);function uE(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(o=>{let{from:i,to:s}=o,a=e.doc.lineAt(i),l=!t&&i==s&&Y5(e,i);t&&(i=s=(s<=a.to?a:e.doc.lineAt(s)).to);let c=new Bu(e,{simulateBreak:i,simulateDoubleBreak:!!l}),u=fm(c,i);for(u==null&&(u=Xi(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;l?{from:i,to:s}=l:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let d=["",Ra(e,u)];return l&&d.push(Ra(e,c.lineIndent(a.from,-1))),{changes:{from:i,to:s,insert:st.of(d)},range:ae.cursor(i+1+d[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Om(t,e){let n=-1;return t.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let a=t.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(e(a,o,r),n=a.number),s=a.to+1}let i=t.changes(o);return{changes:o,range:ae.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const J5=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new Bu(t,{overrideIndentation:i=>{let s=n[i];return s??-1}}),o=Om(t,(i,s,a)=>{let l=fm(r,i.from);if(l==null)return;/\S/.test(i.text)||(l=0);let c=/^\s*/.exec(i.text)[0],u=Ra(t,l);(c!=u||a.from<i.from+c.length)&&(n[i.from]=l,s.push({from:i.from,to:i.from+c.length,insert:u}))});return o.changes.empty||e(t.update(o,{userEvent:"indent"})),!0},dE=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Om(t,(n,r)=>{r.push({from:n.from,insert:t.facet(Ga)})}),{userEvent:"input.indent"})),!0),fE=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Om(t,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let i=Xi(o,t.tabSize),s=0,a=Ra(t,Math.max(0,i-Nu(t)));for(;s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),Q5=t=>(t.setTabFocusMode(),!0),Z5=[{key:"Ctrl-b",run:FS,shift:WS,preventDefault:!0},{key:"Ctrl-f",run:MS,shift:US},{key:"Ctrl-p",run:LS,shift:RS},{key:"Ctrl-n",run:$S,shift:KS},{key:"Ctrl-a",run:b5,shift:T5},{key:"Ctrl-e",run:v5,shift:N5},{key:"Ctrl-d",run:oE},{key:"Ctrl-h",run:Am},{key:"Ctrl-k",run:z5},{key:"Ctrl-Alt-h",run:sE},{key:"Ctrl-o",run:j5},{key:"Ctrl-t",run:W5},{key:"Ctrl-v",run:_m}],e$=[{key:"ArrowLeft",run:FS,shift:WS,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:c5,shift:k5,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:g5,shift:A5,preventDefault:!0},{key:"ArrowRight",run:MS,shift:US,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:u5,shift:S5,preventDefault:!0},{mac:"Cmd-ArrowRight",run:w5,shift:O5,preventDefault:!0},{key:"ArrowUp",run:LS,shift:RS,preventDefault:!0},{mac:"Cmd-ArrowUp",run:QS,shift:eE},{mac:"Ctrl-ArrowUp",run:VS,shift:XS},{key:"ArrowDown",run:$S,shift:KS,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ZS,shift:tE},{mac:"Ctrl-ArrowDown",run:_m,shift:JS},{key:"PageUp",run:VS,shift:XS},{key:"PageDown",run:_m,shift:JS},{key:"Home",run:m5,shift:_5,preventDefault:!0},{key:"Mod-Home",run:QS,shift:eE},{key:"End",run:p5,shift:D5,preventDefault:!0},{key:"Mod-End",run:ZS,shift:tE},{key:"Enter",run:cE,shift:cE},{key:"Mod-a",run:B5},{key:"Backspace",run:Am,shift:Am,preventDefault:!0},{key:"Delete",run:oE,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sE,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:$5,preventDefault:!0},{mac:"Mod-Backspace",run:H5,preventDefault:!0},{mac:"Mod-Delete",run:V5,preventDefault:!0}].concat(Z5.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),t$=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:f5,shift:E5},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:h5,shift:x5},{key:"Alt-ArrowUp",run:U5},{key:"Shift-Alt-ArrowUp",run:G5},{key:"Alt-ArrowDown",run:q5},{key:"Shift-Alt-ArrowDown",run:R5},{key:"Mod-Alt-ArrowUp",run:I5},{key:"Mod-Alt-ArrowDown",run:P5},{key:"Escape",run:L5},{key:"Mod-Enter",run:X5},{key:"Alt-l",mac:"Ctrl-l",run:F5},{key:"Mod-i",run:M5,preventDefault:!0},{key:"Mod-[",run:fE},{key:"Mod-]",run:dE},{key:"Mod-Alt-\\",run:J5},{key:"Shift-Mod-k",run:K5},{key:"Shift-Mod-\\",run:C5},{key:"Mod-/",run:U8},{key:"Alt-A",run:G8},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Q5}].concat(e$),n$={key:"Tab",run:dE,shift:fE},hE=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class us{constructor(e,n,r=0,o=e.length,i,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,o),this.bufferStart=r,this.normalize=i?a=>i(hE(a)):hE,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return kn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Xh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ar(e);let o=this.normalize(n);if(o.length)for(let i=0,s=r;;i++){let a=o.charCodeAt(i),l=this.match(a,s,this.bufferPos+this.bufferStart);if(i==o.length-1){if(l)return this.value=l,this;break}s==r&&i<n.length&&n.charCodeAt(i)==a&&s++}}}match(e,n,r){let o=null;for(let i=0;i<this.matches.length;i+=2){let s=this.matches[i],a=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?o={from:this.matches[i+1],to:r}:(this.matches[i]++,a=!0)),a||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:n,to:r}:this.matches.push(1,n)),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null),o}}typeof Symbol<"u"&&(us.prototype[Symbol.iterator]=function(){return this});const pE={from:-1,to:-1,match:/.*/.exec("")},Tm="gm"+(/x/.unicode==null?"":"u");class mE{constructor(e,n,r,o=0,i=e.length){if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=pE,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new gE(e,n,r,o,i);this.re=new RegExp(n,Tm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.iter=e.iter();let s=e.lineAt(o);this.curLineStart=s.from,this.matchPos=ju(e,o),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,o=r+n[0].length;if(this.matchPos=ju(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Nm=new WeakMap;class ds{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let o=Nm.get(e);if(!o||o.from>=r||o.to<=n){let a=new ds(n,e.sliceString(n,r));return Nm.set(e,a),a}if(o.from==n&&o.to==r)return o;let{text:i,from:s}=o;return s>n&&(i=e.sliceString(n,s)+i,s=n),o.to<r&&(i+=e.sliceString(o.to,r)),Nm.set(e,new ds(s,i)),new ds(n,i.slice(n-s,r-s))}}class gE{constructor(e,n,r,o,i){this.text=e,this.to=i,this.done=!1,this.value=pE,this.matchPos=ju(e,o),this.re=new RegExp(n,Tm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.flat=ds.get(e,o,this.chunkEnd(o+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,o=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this.matchPos=ju(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ds.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(mE.prototype[Symbol.iterator]=gE.prototype[Symbol.iterator]=function(){return this});function r$(t){try{return new RegExp(t,Tm),!0}catch{return!1}}function ju(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}const o$=t=>{let{state:e}=t,n=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:o}=M3(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:e.phrase("go")});return o.then(i=>{let s=i&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(i.elements.line.value);if(!s){t.dispatch({effects:r});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,u,d]=s,f=u?+u.slice(1):0,p=c?+c:a.number;if(c&&d){let b=p/100;l&&(b=b*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*b)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),v=ae.cursor(m.from+Math.max(0,Math.min(f,m.length)));t.dispatch({effects:[r,De.scrollIntoView(v.from,{y:"center"})],selection:v})}),!0},i$={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},s$=Ne.define({combine(t){return Nr(t,i$,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function a$(t){return[f$,d$]}const l$=Ie.mark({class:"cm-selectionMatch"}),c$=Ie.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function wE(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=pt.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=pt.Word)}function u$(t,e,n,r){return t(e.sliceDoc(n,n+1))==pt.Word&&t(e.sliceDoc(r-1,r))==pt.Word}const d$=mt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(s$),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Ie.none;let o=r.main,i,s=null;if(o.empty){if(!e.highlightWordAroundCursor)return Ie.none;let l=n.wordAt(o.head);if(!l)return Ie.none;s=n.charCategorizer(o.head),i=n.sliceDoc(l.from,l.to)}else{let l=o.to-o.from;if(l<e.minSelectionLength||l>200)return Ie.none;if(e.wholeWords){if(i=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(wE(s,n,o.from,o.to)&&u$(s,n,o.from,o.to)))return Ie.none}else if(i=n.sliceDoc(o.from,o.to),!i)return Ie.none}let a=[];for(let l of t.visibleRanges){let c=new us(n.doc,i,l.from,l.to);for(;!c.next().done;){let{from:u,to:d}=c.value;if((!s||wE(s,n,u,d))&&(o.empty&&u<=o.from&&d>=o.to?a.push(c$.range(u,d)):(u>=o.to||d<=o.from)&&a.push(l$.range(u,d)),a.length>e.maxMatches))return Ie.none}}return Ie.set(a)}},{decorations:t=>t.decorations}),f$=De.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),h$=({state:t,dispatch:e})=>{let{selection:n}=t,r=ae.create(n.ranges.map(o=>t.wordAt(o.head)||ae.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function p$(t,e){let{main:n,ranges:r}=t.selection,o=t.wordAt(n.head),i=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new us(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new us(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(l=>l.from==a.value.from))continue;if(i){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const m$=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(i=>i.from===i.to))return h$({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(i=>t.sliceDoc(i.from,i.to)!=r))return!1;let o=p$(t,r);return o?(e(t.update({selection:t.selection.addRange(ae.range(o.from,o.to),!1),effects:De.scrollIntoView(o.to)})),!0):!1},fs=Ne.define({combine(t){return Nr(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new O$(e),scrollToMatch:e=>De.scrollIntoView(e)})}});class bE{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||r$(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
24
- `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new C$(this):new b$(this)}getCursor(e,n=0,r){let o=e.doc?e:tt.create({doc:e});return r==null&&(r=o.doc.length),this.regexp?ps(this,o,n,r):hs(this,o,n,r)}}class vE{constructor(e){this.spec=e}}function g$(t,e,n){return(r,o,i,s)=>{if(n&&!n(r,o,i,s))return!1;let a=r>=s&&o<=s+i.length?i.slice(r-s,o-s):e.doc.sliceString(r,o);return t(a,e,r,o)}}function hs(t,e,n,r){let o;return t.wholeWord&&(o=w$(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(o=g$(t.test,e,o)),new us(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:i=>i.toLowerCase(),o)}function w$(t,e){return(n,r,o,i)=>((i>n||i+o.length<r)&&(i=Math.max(0,n-2),o=t.sliceString(i,Math.min(t.length,r+2))),(e(Wu(o,n-i))!=pt.Word||e(Uu(o,n-i))!=pt.Word)&&(e(Uu(o,r-i))!=pt.Word||e(Wu(o,r-i))!=pt.Word))}class b$ extends vE{constructor(e){super(e)}nextMatch(e,n,r){let o=hs(this.spec,e,r,e.doc.length).nextOverlapping();if(o.done){let i=Math.min(e.doc.length,n+this.spec.unquoted.length);o=hs(this.spec,e,0,i).nextOverlapping()}return o.done||o.value.from==n&&o.value.to==r?null:o.value}prevMatchInRange(e,n,r){for(let o=r;;){let i=Math.max(n,o-1e4-this.spec.unquoted.length),s=hs(this.spec,e,i,o),a=null;for(;!s.nextOverlapping().done;)a=s.value;if(a)return a;if(i==n)return null;o-=1e4}}prevMatch(e,n,r){let o=this.prevMatchInRange(e,0,n);return o||(o=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),o&&(o.from!=n||o.to!=r)?o:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=hs(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=hs(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}function v$(t,e,n){return(r,o,i)=>(!n||n(r,o,i))&&t(i[0],e,r,o)}function ps(t,e,n,r){let o;return t.wholeWord&&(o=y$(e.charCategorizer(e.selection.main.head))),t.test&&(o=v$(t.test,e,o)),new mE(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:o},n,r)}function Wu(t,e){return t.slice(zt(t,e,!1),e)}function Uu(t,e){return t.slice(e,zt(t,e))}function y$(t){return(e,n,r)=>!r[0].length||(t(Wu(r.input,r.index))!=pt.Word||t(Uu(r.input,r.index))!=pt.Word)&&(t(Uu(r.input,r.index+r[0].length))!=pt.Word||t(Wu(r.input,r.index+r[0].length))!=pt.Word)}class C$ extends vE{nextMatch(e,n,r){let o=ps(this.spec,e,r,e.doc.length).next();return o.done&&(o=ps(this.spec,e,0,n).next()),o.done?null:o.value}prevMatchInRange(e,n,r){for(let o=1;;o++){let i=Math.max(n,r-o*1e4),s=ps(this.spec,e,i,r),a=null;for(;!s.next().done;)a=s.value;if(a&&(i==n||a.from>i+10))return a;if(i==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let i=+r.slice(0,o);if(i>0&&i<e.match.length)return e.match[i]+r.slice(o)}return n})}matchAll(e,n){let r=ps(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=ps(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}const Ja=qe.define(),Bm=qe.define(),Oo=qt.define({create(t){return new Fm(Im(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Ja)?t=new Fm(n.value.create(),t.panel):n.is(Bm)&&(t=new Fm(t.query,n.value?Mm:null));return t},provide:t=>Wa.from(t,e=>e.panel)});class Fm{constructor(e,n){this.query=e,this.panel=n}}const k$=Ie.mark({class:"cm-searchMatch"}),S$=Ie.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E$=mt.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Oo))}update(t){let e=t.state.field(Oo);(e!=t.startState.field(Oo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Ie.none;let{view:n}=this,r=new Rr;for(let o=0,i=n.visibleRanges,s=i.length;o<s;o++){let{from:a,to:l}=i[o];for(;o<s-1&&l>i[o+1].from-500;)l=i[++o].to;t.highlight(n.state,a,l,(c,u)=>{let d=n.state.selection.ranges.some(f=>f.from==c&&f.to==u);r.add(c,u,d?S$:k$)})}return r.finish()}},{decorations:t=>t.decorations});function Qa(t){return e=>{let n=e.state.field(Oo,!1);return n&&n.query.spec.valid?t(e,n):SE(e)}}const qu=Qa((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let o=ae.single(r.from,r.to),i=t.state.facet(fs);return t.dispatch({selection:o,effects:[Pm(t,r),i.scrollToMatch(o.main,t)],userEvent:"select.search"}),kE(t),!0}),Gu=Qa((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,o=e.prevMatch(n,r,r);if(!o)return!1;let i=ae.single(o.from,o.to),s=t.state.facet(fs);return t.dispatch({selection:i,effects:[Pm(t,o),s.scrollToMatch(i.main,t)],userEvent:"select.search"}),kE(t),!0}),x$=Qa((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:ae.create(n.map(r=>ae.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),D$=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,i=[],s=0;for(let a=new us(t.doc,t.sliceDoc(r,o));!a.next().done;){if(i.length>1e3)return!1;a.value.from==r&&(s=i.length),i.push(ae.range(a.value.from,a.value.to))}return e(t.update({selection:ae.create(i,s),userEvent:"select.search.matches"})),!0},yE=Qa((t,{query:e})=>{let{state:n}=t,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let i=e.nextMatch(n,r,r);if(!i)return!1;let s=i,a=[],l,c,u=[];s.from==r&&s.to==o&&(c=n.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:c}),s=e.nextMatch(n,s.from,s.to),u.push(De.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let d=t.state.changes(a);return s&&(l=ae.single(s.from,s.to).map(d),u.push(Pm(t,s)),u.push(n.facet(fs).scrollToMatch(l.main,t))),t.dispatch({changes:d,selection:l,effects:u,userEvent:"input.replace"}),!0}),_$=Qa((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(o=>{let{from:i,to:s}=o;return{from:i,to:s,insert:e.getReplacement(o)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:De.announce.of(r),userEvent:"input.replace.all"}),!0});function Mm(t){return t.state.facet(fs).createPanel(t)}function Im(t,e){var n,r,o,i,s;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=t.facet(fs);return new bE({search:((n=e==null?void 0:e.literal)!==null&&n!==void 0?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(o=e==null?void 0:e.literal)!==null&&o!==void 0?o:c.literal,regexp:(i=e==null?void 0:e.regexp)!==null&&i!==void 0?i:c.regexp,wholeWord:(s=e==null?void 0:e.wholeWord)!==null&&s!==void 0?s:c.wholeWord})}function CE(t){let e=im(t,Mm);return e&&e.dom.querySelector("[main-field]")}function kE(t){let e=CE(t);e&&e==t.root.activeElement&&e.select()}const SE=t=>{let e=t.state.field(Oo,!1);if(e&&e.panel){let n=CE(t);if(n&&n!=t.root.activeElement){let r=Im(t.state,e.query.spec);r.valid&&t.dispatch({effects:Ja.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[Bm.of(!0),e?Ja.of(Im(t.state,e.query.spec)):qe.appendConfig.of(N$)]});return!0},EE=t=>{let e=t.state.field(Oo,!1);if(!e||!e.panel)return!1;let n=im(t,Mm);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Bm.of(!1)}),!0},A$=[{key:"Mod-f",run:SE,scope:"editor search-panel"},{key:"F3",run:qu,shift:Gu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:qu,shift:Gu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:EE,scope:"editor search-panel"},{key:"Mod-Shift-l",run:D$},{key:"Mod-Alt-g",run:o$},{key:"Mod-d",run:m$,preventDefault:!0}];class O${constructor(e){this.view=e;let n=this.query=e.state.field(Oo).query.spec;this.commit=this.commit.bind(this),this.searchField=at("input",{value:n.search,placeholder:Fn(e,"Find"),"aria-label":Fn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=at("input",{value:n.replace,placeholder:Fn(e,"Replace"),"aria-label":Fn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=at("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=at("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=at("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(o,i,s){return at("button",{class:"cm-button",name:o,onclick:i,type:"button"},s)}this.dom=at("div",{onkeydown:o=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>qu(e),[Fn(e,"next")]),r("prev",()=>Gu(e),[Fn(e,"previous")]),r("select",()=>x$(e),[Fn(e,"all")]),at("label",null,[this.caseField,Fn(e,"match case")]),at("label",null,[this.reField,Fn(e,"regexp")]),at("label",null,[this.wordField,Fn(e,"by word")]),...e.state.readOnly?[]:[at("br"),this.replaceField,r("replace",()=>yE(e),[Fn(e,"replace")]),r("replaceAll",()=>_$(e),[Fn(e,"replace all")])],at("button",{name:"close",onclick:()=>EE(e),"aria-label":Fn(e,"close"),type:"button"},["×"])])}commit(){let e=new bE({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ja.of(e)}))}keydown(e){G4(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Gu:qu)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),yE(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Ja)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(fs).top}}function Fn(t,e){return t.state.phrase(e)}const Ru=30,Ku=/[\s\.,:;?!]/;function Pm(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),o=t.state.doc.lineAt(n).to,i=Math.max(r.from,e-Ru),s=Math.min(o,n+Ru),a=t.state.sliceDoc(i,s);if(i!=r.from){for(let l=0;l<Ru;l++)if(!Ku.test(a[l+1])&&Ku.test(a[l])){a=a.slice(l);break}}if(s!=o){for(let l=a.length-1;l>a.length-Ru;l--)if(!Ku.test(a[l-1])&&Ku.test(a[l])){a=a.slice(0,l);break}}return De.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const T$=De.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),N$=[Oo,yo.low(E$),T$];class xE{constructor(e,n,r,o){this.state=e,this.pos=n,this.explicit=r,this.view=o,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=on(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),o=n.text.slice(r-n.from,this.pos-n.from),i=o.search(AE(e,!1));return i<0?null:{from:r+i,to:this.pos,text:o.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function DE(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function B$(t){let e=Object.create(null),n=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let i=1;i<o.length;i++)n[o[i]]=!0}let r=DE(e)+DE(n)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function F$(t){let e=t.map(o=>typeof o=="string"?{label:o}:o),[n,r]=e.every(o=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:B$(e);return o=>{let i=o.matchBefore(r);return i||o.explicit?{from:i?i.from:o.pos,options:e,validFor:n}:null}}let _E=class{constructor(e,n,r,o){this.completion=e,this.source=n,this.match=r,this.score=o}};function fi(t){return t.selection.main.from}function AE(t,e){var n;let{source:r}=t,o=e&&r[0]!="^",i=r[r.length-1]!="$";return!o&&!i?t:new RegExp(`${o?"^":""}(?:${r})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const Lm=Tr.define();function M$(t,e,n,r){let{main:o}=t.selection,i=n-o.from,s=r-o.from;return{...t.changeByRange(a=>{if(a!=o&&n!=r&&t.sliceDoc(a.from+i,a.from+s)!=t.sliceDoc(n,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+i,to:r==o.from?a.to:a.from+s,insert:l},range:ae.cursor(a.from+i+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const OE=new WeakMap;function I$(t){if(!Array.isArray(t))return t;let e=OE.get(t);return e||OE.set(t,e=F$(t)),e}const Yu=qe.define(),Za=qe.define();class P${constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let r=kn(e,n),o=Ar(r);this.chars.push(r);let i=e.slice(n,n+o),s=i.toUpperCase();this.folded.push(kn(s==i?i.toLowerCase():s,0)),n+=o}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:r,any:o,precise:i,byWord:s}=this;if(n.length==1){let g=kn(e,0),C=Ar(g),k=C==e.length?0:-100;if(g!=n[0])if(g==r[0])k+=-200;else return null;return this.ret(k,[0,C])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=n.length,c=0;if(a<0){for(let g=0,C=Math.min(e.length,200);g<C&&c<l;){let k=kn(e,g);(k==n[c]||k==r[c])&&(o[c++]=g),g+=Ar(k)}if(c<l)return null}let u=0,d=0,f=!1,p=0,m=-1,v=-1,b=/[a-z]/.test(e),w=!0;for(let g=0,C=Math.min(e.length,200),k=0;g<C&&d<l;){let _=kn(e,g);a<0&&(u<l&&_==n[u]&&(i[u++]=g),p<l&&(_==n[p]||_==r[p]?(p==0&&(m=g),v=g+1,p++):p=0));let S,E=_<255?_>=48&&_<=57||_>=97&&_<=122?2:_>=65&&_<=90?1:0:(S=Xh(_))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!g||E==1&&b||k==0&&E!=0)&&(n[d]==_||r[d]==_&&(f=!0)?s[d++]=g:s.length&&(w=!1)),k=E,g+=Ar(_)}return d==l&&s[0]==0&&w?this.result(-100+(f?-200:0),s,e):p==l&&m==0?this.ret(-200-e.length+(v==e.length?0:-100),[0,v]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,v]):d==l?this.result(-100+(f?-200:0)+-700+(w?0:-1100),s,e):n.length==2?null:this.result((o[0]?-700:0)+-200+-1100,o,e)}result(e,n,r){let o=[],i=0;for(let s of n){let a=s+(this.astral?Ar(kn(r,s)):1);i&&o[i-1]==s?o[i-1]=a:(o[i++]=s,o[i++]=a)}return this.ret(e-r.length,o)}}class L${constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),r=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,n.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Gt=Ne.define({combine(t){return Nr(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:$$,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>TE(e(r),n(r)),optionClass:(e,n)=>r=>TE(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function TE(t,e){return t?e?t+" "+e:t:e}function $$(t,e,n,r,o,i){let s=t.textDirection==ct.RTL,a=s,l=!1,c="top",u,d,f=e.left-o.left,p=o.right-e.right,m=r.right-r.left,v=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))u=Math.max(o.top,Math.min(n.top,o.bottom-v))-e.top,d=Math.min(400,a?f:p);else{l=!0,d=Math.min(400,(s?e.right:o.right-e.left)-30);let g=o.bottom-e.bottom;g>=v||g>e.top?u=n.bottom-e.top:(c="bottom",u=e.bottom-n.top)}let b=(e.bottom-e.top)/i.offsetHeight,w=(e.right-e.left)/i.offsetWidth;return{style:`${c}: ${u/b}px; max-width: ${d/w}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":a?"left":"right")}}function z$(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(o=>"cm-completionIcon-"+o)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,o,i){let s=document.createElement("span");s.className="cm-completionLabel";let a=n.displayLabel||n.label,l=0;for(let c=0;c<i.length;){let u=i[c++],d=i[c++];u>l&&s.appendChild(document.createTextNode(a.slice(l,u)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(u,d))),f.className="cm-completionMatchedText",l=d}return l<a.length&&s.appendChild(document.createTextNode(a.slice(l))),s},position:50},{render(n){if(!n.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=n.detail,r},position:80}),e.sort((n,r)=>n.position-r.position).map(n=>n.render)}function $m(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let o=Math.floor(e/n);return{from:o*n,to:(o+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class H${constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let o=e.state.field(n),{options:i,selected:s}=o.open,a=e.state.facet(Gt);this.optionContent=z$(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=$m(i.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(n).open;for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]<c.length){this.applyCompletion(e,c[+d[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Gt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Za.of(null)})}),this.showOptions(i,o.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),o=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=o){let{options:i,selected:s,disabled:a}=r.open;(!o.open||o.open.options!=i)&&(this.range=$m(i.length,s,e.state.facet(Gt).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),a!=((n=o.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=$m(n.options.length,n.selected,this.view.state.facet(Gt).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:o}=n.options[n.selected],{info:i}=o;if(!i)return;let s=typeof i=="string"?document.createTextNode(i):i(o);if(!s)return;"then"in s?s.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,o)}).catch(a=>Sn(this.view.state,a,"completion info")):(this.addInfoPane(s,o),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:o,destroy:i}=e;r.appendChild(o),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,o=this.range.from;r;r=r.nextSibling,o++)r.nodeName!="LI"||!r.id?o--:o==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return n&&j$(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),i=this.space;if(!i){let s=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return o.top>Math.min(i.bottom,n.bottom)-10||o.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(Gt).positionInfo(this.view,n,o,r,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,r){const o=document.createElement("ul");o.id=n,o.setAttribute("role","listbox"),o.setAttribute("aria-expanded","true"),o.setAttribute("aria-label",this.view.state.phrase("Completions")),o.addEventListener("mousedown",s=>{s.target==o&&s.preventDefault()});let i=null;for(let s=r.from;s<r.to;s++){let{completion:a,match:l}=e[s],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=i&&(s>r.from||r.from==0))if(i=f,typeof c!="string"&&c.header)o.appendChild(c.header(c));else{let p=o.appendChild(document.createElement("completion-section"));p.textContent=f}}const u=o.appendChild(document.createElement("li"));u.id=n+"-"+s,u.setAttribute("role","option");let d=this.optionClass(a);d&&(u.className=d);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&u.appendChild(p)}}return r.from&&o.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&o.classList.add("cm-completionListIncompleteBottom"),o}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function V$(t,e){return n=>new H$(n,t,e)}function j$(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=n.height/t.offsetHeight;r.top<n.top?t.scrollTop-=(n.top-r.top)/o:r.bottom>n.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/o)}function NE(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function W$(t,e){let n=[],r=null,o=null,i=u=>{n.push(u);let{section:d}=u.completion;if(d){r||(r=[]);let f=typeof d=="string"?d:d.name;r.some(p=>p.name==f)||r.push(typeof d=="string"?{name:f}:d)}},s=e.facet(Gt);for(let u of t)if(u.hasResult()){let d=u.result.getMatch;if(u.result.filter===!1)for(let f of u.result.options)i(new _E(f,u.source,d?d(f):[],1e9-n.length));else{let f=e.sliceDoc(u.from,u.to),p,m=s.filterStrict?new L$(f):new P$(f);for(let v of u.result.options)if(p=m.match(v.label)){let b=v.displayLabel?d?d(v,p.matched):[]:p.matched,w=p.score+(v.boost||0);if(i(new _E(v,u.source,b,w)),typeof v.section=="object"&&v.section.rank==="dynamic"){let{name:g}=v.section;o||(o=Object.create(null)),o[g]=Math.max(w,o[g]||-1e9)}}}}if(r){let u=Object.create(null),d=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?o[m.name]-o[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))d-=1e5,u[p.name]=d;for(let p of n){let{section:m}=p.completion;m&&(p.score+=u[typeof m=="string"?m:m.name])}}let a=[],l=null,c=s.compareCompletions;for(let u of n.sort((d,f)=>f.score-d.score||c(d.completion,f.completion))){let d=u.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(u):NE(u.completion)>NE(l)&&(a[a.length-1]=u),l=u.completion}return a}class ms{constructor(e,n,r,o,i,s){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=o,this.selected=i,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new ms(this.options,BE(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,o,i,s){if(o&&!s&&e.some(c=>c.isPending))return o.setDisabled();let a=W$(e,n);if(!a.length)return o&&e.some(c=>c.isPending)?o.setDisabled():null;let l=n.facet(Gt).selectOnOpen?0:-1;if(o&&o.selected!=l&&o.selected!=-1){let c=o.options[o.selected].completion;for(let u=0;u<a.length;u++)if(a[u].completion==c){l=u;break}}return new ms(a,BE(r,l),{pos:e.reduce((c,u)=>u.hasResult()?Math.min(c,u.from):c,1e8),create:Y$,above:i.aboveCursor},o?o.timestamp:Date.now(),l,!1)}map(e){return new ms(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new ms(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Xu{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new Xu(R$,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(Gt),i=(r.override||n.languageDataAt("autocomplete",fi(n)).map(I$)).map(l=>(this.active.find(u=>u.source==l)||new Qn(l,this.active.some(u=>u.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((l,c)=>l==this.active[c])&&(i=this.active);let s=this.open,a=e.effects.some(l=>l.is(zm));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!U$(i,this.active)||a?s=ms.build(i,n,this.id,s,r,a):s&&s.disabled&&!i.some(l=>l.isPending)&&(s=null),!s&&i.every(l=>!l.isPending)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new Qn(l.source,0):l));for(let l of e.effects)l.is(ME)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Xu(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?q$:G$}}function U$(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;r<e.length&&!e[r].hasResult();)r++;let o=n==t.length,i=r==e.length;if(o||i)return o==i;if(t[n++].result!=e[r++].result)return!1}}const q$={"aria-autocomplete":"list"},G$={};function BE(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const R$=[];function FE(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(Lm);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class Qn{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=FE(e,n),o=this;(r&8||r&16&&this.touches(e))&&(o=new Qn(o.source,0)),r&4&&o.state==0&&(o=new Qn(this.source,1)),o=o.updateFor(e,r);for(let i of e.effects)if(i.is(Yu))o=new Qn(o.source,1,i.value);else if(i.is(Za))o=new Qn(o.source,0);else if(i.is(zm))for(let s of i.value)s.source==o.source&&(o=s);return o}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(fi(e.state))}}class gs extends Qn{constructor(e,n,r,o,i,s){super(e,3,n),this.limit=r,this.result=o,this.from=i,this.to=s}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let o=this.result;o.map&&!e.changes.empty&&(o=o.map(o,e.changes));let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=fi(e.state);if(a>s||!o||n&2&&(fi(e.startState)==this.from||a<this.limit))return new Qn(this.source,n&4?1:0);let l=e.changes.mapPos(this.limit);return K$(o.validFor,e.state,i,s)?new gs(this.source,this.explicit,l,o,i,s):o.update&&(o=o.update(o,i,s,new xE(e.state,a,!1)))?new gs(this.source,this.explicit,l,o,o.from,(r=o.to)!==null&&r!==void 0?r:fi(e.state)):new Qn(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new gs(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Qn(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function K$(t,e,n,r){if(!t)return!1;let o=e.sliceDoc(n,r);return typeof t=="function"?t(o,n,r,e):AE(t,!0).test(o)}const zm=qe.define({map(t,e){return t.map(n=>n.map(e))}}),ME=qe.define(),Dn=qt.define({create(){return Xu.start()},update(t,e){return t.update(e)},provide:t=>[om.from(t,e=>e.tooltip),De.contentAttributes.from(t,e=>e.attrs)]});function Hm(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(Dn).active.find(o=>o.source==e.source);return r instanceof gs?(typeof n=="string"?t.dispatch({...M$(t.state,n,r.from,r.to),annotations:Lm.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const Y$=V$(Dn,Hm);function Ju(t,e="option"){return n=>{let r=n.state.field(Dn,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(Gt).interactionDelay)return!1;let o=1,i;e=="page"&&(i=U1(n,r.open.tooltip))&&(o=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:s}=r.open.options,a=r.open.selected>-1?r.open.selected+o*(t?1:-1):t?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),n.dispatch({effects:ME.of(a)}),!0}}const X$=t=>{let e=t.state.field(Dn,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(Gt).interactionDelay?!1:Hm(t,e.open.options[e.open.selected])},Vm=t=>t.state.field(Dn,!1)?(t.dispatch({effects:Yu.of(!0)}),!0):!1,J$=t=>{let e=t.state.field(Dn,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Za.of(null)}),!0)};class Q${constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const Z$=50,e6=1e3,t6=mt.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Dn).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Dn),n=t.state.facet(Gt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Dn)==e)return;let r=t.transactions.some(i=>{let s=FE(i,n);return s&8||(i.selection||i.docChanged)&&!(s&3)});for(let i=0;i<this.running.length;i++){let s=this.running[i];if(r||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>Z$&&Date.now()-s.time>e6){for(let a of s.context.abortListeners)try{a()}catch(l){Sn(this.view.state,l)}s.context.abortListeners=null,this.running.splice(i--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(i=>i.effects.some(s=>s.is(Yu)))&&(this.pendingStart=!0);let o=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(s=>s.active.source==i.source))?setTimeout(()=>this.startUpdate(),o):-1,this.composing!=0)for(let i of t.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Dn);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Gt).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=fi(e),r=new xE(e,n,t.explicit,this.view),o=new Q$(t,r);this.running.push(o),Promise.resolve(t.source(r)).then(i=>{o.context.aborted||(o.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:Za.of(null)}),Sn(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Gt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Gt),r=this.view.state.field(Dn);for(let o=0;o<this.running.length;o++){let i=this.running[o];if(i.done===void 0)continue;if(this.running.splice(o--,1),i.done){let a=fi(i.updates.length?i.updates[0].startState:this.view.state),l=Math.min(a,i.done.from+(i.active.explicit?0:1)),c=new gs(i.active.source,i.active.explicit,l,i.done,i.done.from,(t=i.done.to)!==null&&t!==void 0?t:a);for(let u of i.updates)c=c.update(u,n);if(c.hasResult()){e.push(c);continue}}let s=r.active.find(a=>a.source==i.active.source);if(s&&s.isPending)if(i.done==null){let a=new Qn(i.active.source,0);for(let l of i.updates)a=a.update(l,n);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:zm.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Dn,!1);if(e&&e.tooltip&&this.view.state.facet(Gt).closeOnBlur){let n=e.open&&U1(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Za.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Yu.of(!1)}),20),this.composing=0}}}),n6=typeof navigator=="object"&&/Win/.test(navigator.platform),r6=yo.highest(De.domEventHandlers({keydown(t,e){let n=e.state.field(Dn,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(n6&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],o=n.active.find(s=>s.source==r.source),i=r.completion.commitCharacters||o.result.commitCharacters;return i&&i.indexOf(t.key)>-1&&Hm(e,r),!1}})),IE=De.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class o6{constructor(e,n,r,o){this.field=e,this.line=n,this.from=r,this.to=o}}class jm{constructor(e,n,r){this.field=e,this.from=n,this.to=r}map(e){let n=e.mapPos(this.from,-1,Yt.TrackDel),r=e.mapPos(this.to,1,Yt.TrackDel);return n==null||r==null?null:new jm(this.field,n,r)}}class Wm{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let r=[],o=[n],i=e.doc.lineAt(n),s=/^\s*/.exec(i.text)[0];for(let l of this.lines){if(r.length){let c=s,u=/^\t*/.exec(l)[0].length;for(let d=0;d<u;d++)c+=e.facet(Ga);o.push(n+c.length-u),l=c+l.slice(u)}r.push(l),n+=l.length+1}let a=this.fieldPositions.map(l=>new jm(l.field,o[l.line]+l.from,o[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let n=[],r=[],o=[],i;for(let s of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=i[1]?+i[1]:null,l=i[2]||i[3]||"",c=-1,u=l.replace(/\\[{}]/g,d=>d[1]);for(let d=0;d<n.length;d++)(a!=null?n[d].seq==a:u&&n[d].name==u)&&(c=d);if(c<0){let d=0;for(;d<n.length&&(a==null||n[d].seq!=null&&n[d].seq<a);)d++;n.splice(d,0,{seq:a,name:u}),c=d;for(let f of o)f.field>=c&&f.field++}for(let d of o)if(d.line==r.length&&d.from>i.index){let f=i[2]?3+(i[1]||"").length:2;d.from-=f,d.to-=f}o.push(new o6(c,r.length,i.index,i.index+u.length)),s=s.slice(0,i.index)+l+s.slice(i.index+i[0].length)}s=s.replace(/\\([{}])/g,(a,l,c)=>{for(let u of o)u.line==r.length&&u.from>c&&(u.from--,u.to--);return l}),r.push(s)}return new Wm(r,o)}}let i6=Ie.widget({widget:new class extends Nn{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),s6=Ie.mark({class:"cm-snippetField"});class ws{constructor(e,n){this.ranges=e,this.active=n,this.deco=Ie.set(e.map(r=>(r.from==r.to?i6:s6).range(r.from,r.to)),!0)}map(e){let n=[];for(let r of this.ranges){let o=r.map(e);if(!o)return null;n.push(o)}return new ws(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(r=>r.field==this.active&&r.from<=n.from&&r.to>=n.to))}}const el=qe.define({map(t,e){return t&&t.map(e)}}),a6=qe.define(),tl=qt.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(el))return n.value;if(n.is(a6)&&t)return new ws(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>De.decorations.from(t,e=>e?e.deco:Ie.none)});function Um(t,e){return ae.create(t.filter(n=>n.field==e).map(n=>ae.range(n.from,n.to)))}function l6(t){let e=Wm.parse(t);return(n,r,o,i)=>{let{text:s,ranges:a}=e.instantiate(n.state,o),{main:l}=n.state.selection,c={changes:{from:o,to:i==l.from?l.to:i,insert:st.of(s)},scrollIntoView:!0,annotations:r?[Lm.of(r),Nt.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Um(a,0)),a.some(u=>u.field>0)){let u=new ws(a,0),d=c.effects=[el.of(u)];n.state.field(tl,!1)===void 0&&d.push(qe.appendConfig.of([tl,u6,d6,IE]))}n.dispatch(n.state.update(c))}}function PE(t){return({state:e,dispatch:n})=>{let r=e.field(tl,!1);if(!r||t<0&&r.active==0)return!1;let o=r.active+t,i=t>0&&!r.ranges.some(s=>s.field==o+t);return n(e.update({selection:Um(r.ranges,o),effects:el.of(i?null:new ws(r.ranges,o)),scrollIntoView:!0})),!0}}const c6=[{key:"Tab",run:PE(1),shift:PE(-1)},{key:"Escape",run:({state:t,dispatch:e})=>t.field(tl,!1)?(e(t.update({effects:el.of(null)})),!0):!1}],LE=Ne.define({combine(t){return t.length?t[0]:c6}}),u6=yo.highest(za.compute([LE],t=>t.facet(LE)));function Qu(t,e){return{...e,apply:l6(t)}}const d6=De.domEventHandlers({mousedown(t,e){let n=e.state.field(tl,!1),r;if(!n||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=n.ranges.find(i=>i.from<=r&&i.to>=r);return!o||o.field==n.active?!1:(e.dispatch({selection:Um(n.ranges,o.field),effects:el.of(n.ranges.some(i=>i.field>o.field)?new ws(n.ranges,o.field):null),scrollIntoView:!0}),!0)}}),nl={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},hi=qe.define({map(t,e){let n=e.mapPos(t,-1,Yt.TrackAfter);return n??void 0}}),qm=new class extends Co{};qm.startSide=1,qm.endSide=-1;const $E=qt.define({create(){return Qe.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(hi)&&(t=t.update({add:[qm.range(n.value,n.value+1)]}));return t}});function f6(){return[p6,$E]}const Gm="()[]{}<>«»»«[]{}";function zE(t){for(let e=0;e<Gm.length;e+=2)if(Gm.charCodeAt(e)==t)return Gm.charAt(e+1);return Xh(t<128?t:t+1)}function HE(t,e){return t.languageDataAt("closeBrackets",e)[0]||nl}const h6=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),p6=De.inputHandler.of((t,e,n,r)=>{if((h6?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let o=t.state.selection.main;if(r.length>2||r.length==2&&Ar(kn(r,0))==1||e!=o.from||n!=o.to)return!1;let i=g6(t.state,r);return i?(t.dispatch(i),!0):!1}),m6=[{key:"Backspace",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=HE(t,t.selection.main.head).brackets||nl.brackets,o=null,i=t.changeByRange(s=>{if(s.empty){let a=w6(t.doc,s.head);for(let l of r)if(l==a&&Zu(t.doc,s.head)==zE(kn(l,0)))return{changes:{from:s.head-l.length,to:s.head+l.length},range:ae.cursor(s.head-l.length)}}return{range:o=s}});return o||e(t.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!o}}];function g6(t,e){let n=HE(t,t.selection.main.head),r=n.brackets||nl.brackets;for(let o of r){let i=zE(kn(o,0));if(e==o)return i==o?y6(t,o,r.indexOf(o+o+o)>-1,n):b6(t,o,i,n.before||nl.before);if(e==i&&VE(t,t.selection.main.from))return v6(t,o,i)}return null}function VE(t,e){let n=!1;return t.field($E).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function Zu(t,e){let n=t.sliceString(e,e+2);return n.slice(0,Ar(kn(n,0)))}function w6(t,e){let n=t.sliceString(e-2,e);return Ar(kn(n,0))==n.length?n:n.slice(1)}function b6(t,e,n,r){let o=null,i=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:hi.of(s.to+e.length),range:ae.range(s.anchor+e.length,s.head+e.length)};let a=Zu(t.doc,s.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+n,from:s.head},effects:hi.of(s.head+e.length),range:ae.cursor(s.head+e.length)}:{range:o=s}});return o?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function v6(t,e,n){let r=null,o=t.changeByRange(i=>i.empty&&Zu(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:ae.cursor(i.head+n.length)}:r={range:i});return r?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function y6(t,e,n,r){let o=r.stringPrefixes||nl.stringPrefixes,i=null,s=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:hi.of(a.to+e.length),range:ae.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Zu(t.doc,l),u;if(c==e){if(jE(t,l))return{changes:{insert:e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)};if(VE(t,l)){let f=n&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:ae.cursor(l+f.length)}}}else{if(n&&t.sliceDoc(l-2*e.length,l)==e+e&&(u=WE(t,l-2*e.length,o))>-1&&jE(t,u))return{changes:{insert:e+e+e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)};if(t.charCategorizer(l)(c)!=pt.Word&&WE(t,l,o)>-1&&!C6(t,l,e,o))return{changes:{insert:e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)}}return{range:i=a}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function jE(t,e){let n=on(t).resolveInner(e+1);return n.parent&&n.from==e}function C6(t,e,n,r){let o=on(t).resolveInner(e,-1),i=r.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=t.sliceDoc(o.from,Math.min(o.to,o.from+n.length+i)),l=a.indexOf(n);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>n.length+l;){if(t.sliceDoc(u.to-n.length,u.to)==n)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function WE(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=pt.Word)return e;for(let o of n){let i=e-o.length;if(t.sliceDoc(i,e)==o&&r(t.sliceDoc(i-1,i))!=pt.Word)return i}return-1}function UE(t={}){return[r6,Dn,Gt.of(t),t6,k6,IE]}const qE=[{key:"Ctrl-Space",run:Vm},{mac:"Alt-`",run:Vm},{mac:"Alt-i",run:Vm},{key:"Escape",run:J$},{key:"ArrowDown",run:Ju(!0)},{key:"ArrowUp",run:Ju(!1)},{key:"PageDown",run:Ju(!0,"page")},{key:"PageUp",run:Ju(!1,"page")},{key:"Enter",run:X$}],k6=yo.highest(za.computeN([Gt],t=>t.facet(Gt).defaultKeymap?[qE]:[]));class GE{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class pi{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let o=r.facet(rl).markerFilter;o&&(e=o(e,r));let i=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),s=new Rr,a=[],l=0,c=r.doc.iter(),u=0,d=r.doc.length;for(let p=0;;){let m=p==i.length?null:i[p];if(!m&&!a.length)break;let v,b;if(a.length)v=l,b=a.reduce((C,k)=>Math.min(C,k.to),m&&m.from>v?m.from:1e8);else{if(v=m.from,v>d)break;b=m.to,a.push(m),p++}for(;p<i.length;){let C=i[p];if(C.from==v&&(C.to>C.from||C.to==v))a.push(C),p++,b=Math.min(C.to,b);else{b=Math.min(C.from,b);break}}b=Math.min(b,d);let w=!1;if(a.some(C=>C.from==v&&(C.to==b||b==d))&&(w=v==b,!w&&b-v<10)){let C=v-(u+c.value.length);C>0&&(c.next(C),u=v);for(let k=v;;){if(k>=b){w=!0;break}if(!c.lineBreak&&u+c.value.length>k)break;k=u+c.value.length,u+=c.value.length,c.next()}}let g=M6(a);if(w)s.add(v,v,Ie.widget({widget:new T6(g),diagnostics:a.slice()}));else{let C=a.reduce((k,_)=>_.markClass?k+" "+_.markClass:k,"");s.add(v,b,Ie.mark({class:"cm-lintRange cm-lintRange-"+g+C,diagnostics:a.slice(),inclusiveEnd:a.some(k=>k.to>b)}))}if(l=b,l==d)break;for(let C=0;C<a.length;C++)a[C].to<=l&&a.splice(C--,1)}let f=s.finish();return new pi(f,n,bs(f))}}function bs(t,e=null,n=0){let r=null;return t.between(n,1e9,(o,i,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!r)r=new GE(o,i,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new GE(r.from,i,r.diagnostic)}}),r}function S6(t,e){let n=e.pos,r=e.end||n,o=t.state.facet(rl).hideOn(t,n,r);if(o!=null)return o;let i=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(RE))||t.changes.touchesRange(i.from,Math.max(i.to,r)))}function E6(t,e){return t.field(Mn,!1)?e:e.concat(qe.appendConfig.of(I6))}const RE=qe.define(),Rm=qe.define(),KE=qe.define(),Mn=qt.define({create(){return new pi(Ie.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,o=t.panel;if(t.selected){let i=e.changes.mapPos(t.selected.from,1);r=bs(n,t.selected.diagnostic,i)||bs(n,null,i)}!n.size&&o&&e.state.facet(rl).autoPanel&&(o=null),t=new pi(n,o,r)}for(let n of e.effects)if(n.is(RE)){let r=e.state.facet(rl).autoPanel?n.value.length?ol.open:null:t.panel;t=pi.init(n.value,r,e.state)}else n.is(Rm)?t=new pi(t.diagnostics,n.value?ol.open:null,t.selected):n.is(KE)&&(t=new pi(t.diagnostics,t.panel,n.value));return t},provide:t=>[Wa.from(t,e=>e.panel),De.decorations.from(t,e=>e.diagnostics)]}),x6=Ie.mark({class:"cm-lintRange cm-lintRange-active"});function D6(t,e,n){let{diagnostics:r}=t.state.field(Mn),o,i=-1,s=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(l,c,{spec:u})=>{if(e>=l&&e<=c&&(l==c||(e>l||n>0)&&(e<c||n<0)))return o=u.diagnostics,i=l,s=c,!1});let a=t.state.facet(rl).tooltipFilter;return o&&a&&(o=a(o,t.state)),o?{pos:i,end:s,above:t.state.doc.lineAt(i).to<s,create(){return{dom:_6(t,o)}}}:null}function _6(t,e){return at("ul",{class:"cm-tooltip-lint"},e.map(n=>QE(t,n,!1)))}const A6=t=>{let e=t.state.field(Mn,!1);(!e||!e.panel)&&t.dispatch({effects:E6(t.state,[Rm.of(!0)])});let n=im(t,ol.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},YE=t=>{let e=t.state.field(Mn,!1);return!e||!e.panel?!1:(t.dispatch({effects:Rm.of(!1)}),!0)},O6=[{key:"Mod-Shift-m",run:A6,preventDefault:!0},{key:"F8",run:t=>{let e=t.state.field(Mn,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],rl=Ne.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Nr(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:XE,tooltipFilter:XE,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,o,i)=>e(r,o,i)||n(r,o,i):e:n,autoPanel:(e,n)=>e||n})}}});function XE(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function JE(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;r<n.length;r++){let o=n[r];if(/[a-zA-Z]/.test(o)&&!e.some(i=>i.toLowerCase()==o.toLowerCase())){e.push(o);continue e}}e.push("")}return e}function QE(t,e,n){var r;let o=n?JE(e.actions):[];return at("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},at("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,s)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=bs(t.state.field(Mn).diagnostics,e);m&&i.apply(t,m.from,m.to)},{name:c}=i,u=o[s]?c.indexOf(o[s]):-1,d=u<0?c:[c.slice(0,u),at("u",c.slice(u,u+1)),c.slice(u+1)],f=i.markClass?" "+i.markClass:"";return at("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${u<0?"":` (access key "${o[s]})"`}.`},d)}),e.source&&at("div",{class:"cm-diagnosticSource"},e.source))}class T6 extends Nn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return at("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class ZE{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=QE(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ol{constructor(e){this.view=e,this.items=[];let n=o=>{if(o.keyCode==27)YE(this.view),this.view.focus();else if(o.keyCode==38||o.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(o.keyCode==40||o.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(o.keyCode==36)this.moveSelection(0);else if(o.keyCode==35)this.moveSelection(this.items.length-1);else if(o.keyCode==13)this.view.focus();else if(o.keyCode>=65&&o.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],s=JE(i.actions);for(let a=0;a<s.length;a++)if(s[a].toUpperCase().charCodeAt(0)==o.keyCode){let l=bs(this.view.state.field(Mn).diagnostics,i);l&&i.actions[a].apply(e,l.from,l.to)}}else return;o.preventDefault()},r=o=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(o.target)&&this.moveSelection(i)};this.list=at("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=at("div",{class:"cm-panel-lint"},this.list,at("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>YE(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Mn).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(Mn),r=0,o=!1,i=null,s=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let u of c.diagnostics){if(s.has(u))continue;s.add(u);let d=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==u){d=p;break}d<0?(f=new ZE(this.view,u),this.items.splice(r,0,f),o=!0):(f=this.items[d],d>r&&(this.items.splice(r,d-r),o=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),i=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)o=!0,this.items.pop();this.items.length==0&&(this.items.push(new ZE(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),o=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(Mn),r=bs(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:KE.of(r)})}static open(e){return new ol(e)}}function N6(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function ed(t){return N6(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const B6=De.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:ed("#d11")},".cm-lintRange-warning":{backgroundImage:ed("orange")},".cm-lintRange-info":{backgroundImage:ed("#999")},".cm-lintRange-hint":{backgroundImage:ed("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function F6(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function M6(t){let e="hint",n=1;for(let r of t){let o=F6(r.severity);o>n&&(n=o,e=r.severity)}return e}const I6=[Mn,De.decorations.compute([Mn],t=>{let{selected:e,panel:n}=t.field(Mn);return!e||!n||e.from==e.to?Ie.none:Ie.set([x6.range(e.from,e.to)])}),W1(D6,{hideOn:S6}),B6];var ex=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(m6)),e.defaultKeymap!==!1&&(r=r.concat(t$)),e.searchKeymap!==!1&&(r=r.concat(A$)),e.historyKeymap!==!1&&(r=r.concat(l5)),e.foldKeymap!==!1&&(r=r.concat(w8)),e.completionKeymap!==!1&&(r=r.concat(qE)),e.lintKeymap!==!1&&(r=r.concat(O6));var o=[];return e.lineNumbers!==!1&&o.push(q3()),e.highlightActiveLineGutter!==!1&&o.push(K3()),e.highlightSpecialChars!==!1&&o.push(l3()),e.history!==!1&&o.push(Z8()),e.foldGutter!==!1&&o.push(C8()),e.drawSelection!==!1&&o.push(Q4()),e.dropCursor!==!1&&o.push(r3()),e.allowMultipleSelections!==!1&&o.push(tt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&o.push(c8()),e.syntaxHighlighting!==!1&&o.push(wm(x8,{fallback:!0})),e.bracketMatching!==!1&&o.push(N8()),e.closeBrackets!==!1&&o.push(f6()),e.autocompletion!==!1&&o.push(UE()),e.rectangularSelection!==!1&&o.push(k3()),n!==!1&&o.push(x3()),e.highlightActiveLine!==!1&&o.push(p3()),e.highlightSelectionMatches!==!1&&o.push(a$()),e.tabSize&&typeof e.tabSize=="number"&&o.push(Ga.of(" ".repeat(e.tabSize))),o.concat([za.of(r.flat())]).filter(Boolean)};const P6="#e5c07b",tx="#e06c75",L6="#56b6c2",$6="#ffffff",td="#abb2bf",Km="#7d8799",z6="#61afef",H6="#98c379",nx="#d19a66",V6="#c678dd",j6="#21252b",rx="#2c313a",ox="#282c34",Ym="#353a42",W6="#3E4451",ix="#528bff",U6=De.theme({"&":{color:td,backgroundColor:ox},".cm-content":{caretColor:ix},".cm-cursor, .cm-dropCursor":{borderLeftColor:ix},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:W6},".cm-panels":{backgroundColor:j6,color:td},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:ox,color:Km,border:"none"},".cm-activeLineGutter":{backgroundColor:rx},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ym},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ym,borderBottomColor:Ym},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:rx,color:td}}},{dark:!0}),q6=ls.define([{tag:V.keyword,color:V6},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:tx},{tag:[V.function(V.variableName),V.labelName],color:z6},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:nx},{tag:[V.definition(V.name),V.separator],color:td},{tag:[V.typeName,V.className,V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:P6},{tag:[V.operator,V.operatorKeyword,V.url,V.escape,V.regexp,V.link,V.special(V.string)],color:L6},{tag:[V.meta,V.comment],color:Km},{tag:V.strong,fontWeight:"bold"},{tag:V.emphasis,fontStyle:"italic"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.link,color:Km,textDecoration:"underline"},{tag:V.heading,fontWeight:"bold",color:tx},{tag:[V.atom,V.bool,V.special(V.variableName)],color:nx},{tag:[V.processingInstruction,V.string,V.inserted],color:H6},{tag:V.invalid,color:$6}]),G6=[U6,wm(q6)];var R6=De.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),K6=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:o=!1,theme:i="light",placeholder:s="",basicSetup:a=!0}=e,l=[];switch(n&&l.unshift(za.of([n$])),a&&(typeof a=="boolean"?l.unshift(ex()):l.unshift(ex(a))),s&&l.unshift(b3(s)),i){case"light":l.push(R6);break;case"dark":l.push(G6);break;case"none":break;default:l.push(i);break}return r===!1&&l.push(De.editable.of(!1)),o&&l.push(tt.readOnly.of(!0)),[...l]},Y6=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class X6{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}let sx=class{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}};var Xm=null,J6=()=>typeof window>"u"?new sx:(Xm||(Xm=new sx),Xm),ax=Tr.define(),Q6=200,Z6=[];function ez(t){var{value:e,selection:n,onChange:r,onStatistics:o,onCreateEditor:i,onUpdate:s,extensions:a=Z6,autoFocus:l,theme:c="light",height:u=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:v=null,placeholder:b="",editable:w=!0,readOnly:g=!1,indentWithTab:C=!0,basicSetup:k=!0,root:_,initialState:S}=t,[E,x]=y.useState(),[O,A]=y.useState(),[T,B]=y.useState(),I=y.useState(()=>({current:null}))[0],F=y.useState(()=>({current:null}))[0],N=De.theme({"&":{height:u,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:v},"& .cm-scroller":{height:"100% !important"}}),P=De.updateListener.of(H=>{if(H.docChanged&&typeof r=="function"&&!H.transactions.some(te=>te.annotation(ax))){I.current?I.current.reset():(I.current=new X6(()=>{if(F.current){var te=F.current;F.current=null,te()}I.current=null},Q6),J6().add(I.current));var R=H.state.doc,Y=R.toString();r(Y,H)}o&&o(Y6(H))}),M=K6({theme:c,editable:w,readOnly:g,placeholder:b,indentWithTab:C,basicSetup:k}),z=[P,N,...M];return s&&typeof s=="function"&&z.push(De.updateListener.of(s)),z=z.concat(a),y.useLayoutEffect(()=>{if(E&&!T){var H={doc:e,selection:n,extensions:z},R=S?tt.fromJSON(S.json,H,S.fields):tt.create(H);if(B(R),!O){var Y=new De({state:R,parent:E,root:_});A(Y),i&&i(Y,R)}}return()=>{O&&(B(void 0),A(void 0))}},[E,T]),y.useEffect(()=>{t.container&&x(t.container)},[t.container]),y.useEffect(()=>()=>{O&&(O.destroy(),A(void 0)),I.current&&(I.current.cancel(),I.current=null)},[O]),y.useEffect(()=>{l&&O&&O.focus()},[l,O]),y.useEffect(()=>{O&&O.dispatch({effects:qe.reconfigure.of(z)})},[c,a,u,d,f,p,m,v,b,w,g,C,k,r,s]),y.useEffect(()=>{if(e!==void 0){var H=O?O.state.doc.toString():"";if(O&&e!==H){var R=I.current&&!I.current.isDone,Y=()=>{O&&e!==O.state.doc.toString()&&O.dispatch({changes:{from:0,to:O.state.doc.toString().length,insert:e||""},annotations:[ax.of(!0)]})};R?F.current=Y:Y()}}},[e,O]),{state:T,setState:B,view:O,setView:A,container:E,setContainer:x}}var tz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],nd=y.forwardRef((t,e)=>{var{className:n,value:r="",selection:o,extensions:i=[],onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:u,theme:d="light",height:f,minHeight:p,maxHeight:m,width:v,minWidth:b,maxWidth:w,basicSetup:g,placeholder:C,indentWithTab:k,editable:_,readOnly:S,root:E,initialState:x}=t,O=W8(t,tz),A=y.useRef(null),{state:T,view:B,container:I,setContainer:F}=ez({root:E,value:r,autoFocus:u,theme:d,height:f,minHeight:p,maxHeight:m,width:v,minWidth:b,maxWidth:w,basicSetup:g,placeholder:C,indentWithTab:k,editable:_,readOnly:S,selection:o,onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:i,initialState:x});y.useImperativeHandle(e,()=>({editor:A.current,state:T,view:B}),[A,I,T,B]);var N=y.useCallback(M=>{A.current=M,F(M)},[F]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var P=typeof d=="string"?"cm-theme-"+d:"cm-theme";return h.jsx("div",Zo({ref:N,className:""+P+(n?" "+n:"")},O))});nd.displayName="CodeMirror";const nz=De.baseTheme({"&.cm-editor":{fontSize:"15px"},"&.cm-editor.cm-focused":{outline:"none"},"&.cm-editor .cm-gutterElement":{lineHeight:"28px"},"&.cm-editor .cm-line":{lineHeight:"28px"},"&.cm-editor .ͼt .ͼs":{color:"#d73a49"}});function rz(t){return e=>{const n=e.matchBefore(/\w*/);return n.from==n.to&&!e.explicit?null:{from:n.from,options:(t==null?void 0:t.map(r=>Qu(r.template,{label:r.label,detail:r.detail,type:r.type})))||[]}}}const oz=new Set(["sys_tenant_id","response"]),iz=t=>t==="global"?"global":oz.has(t)?"builtin":/^N[^.{}]+$/.test(t)?"node":"unknown",lx=(t,e)=>{const n=t.slice(0,e).split(`
23
+ --Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\uFEFF-]`,Zp),s3={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let em=null;function a3(){var t;if(em==null&&typeof document<"u"&&document.body){let e=document.body.style;em=((t=e.tabSize)!==null&&t!==void 0?t:e.MozTabSize)!=null}return em||!1}const ku=Ne.define({combine(t){let e=Nr(t,{render:null,specialChars:i3,addSpecialChars:null});return(e.replaceTabs=!a3())&&(e.specialChars=new RegExp(" |"+e.specialChars.source,Zp)),e.addSpecialChars&&(e.specialChars=new RegExp(e.specialChars.source+"|"+e.addSpecialChars.source,Zp)),e}});function l3(t={}){return[ku.of(t),c3()]}let $1=null;function c3(){return $1||($1=mt.fromClass(class{constructor(t){this.view=t,this.decorations=Ie.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(t.state.facet(ku)),this.decorations=this.decorator.createDeco(t)}makeDecorator(t){return new Cu({regexp:t.specialChars,decoration:(e,n,r)=>{let{doc:o}=n.state,i=kn(e[0],0);if(i==9){let s=o.lineAt(r),a=n.state.tabSize,l=Xi(s.text,a,r-s.from);return Ie.replace({widget:new h3((a-l%a)*this.view.defaultCharacterWidth/this.view.scaleX)})}return this.decorationCache[i]||(this.decorationCache[i]=Ie.replace({widget:new f3(t,i)}))},boundary:t.replaceTabs?void 0:/[^]/})}update(t){let e=t.state.facet(ku);t.startState.facet(ku)!=e?(this.decorator=this.makeDecorator(e),this.decorations=this.decorator.createDeco(t.view)):this.decorations=this.decorator.updateDeco(t,this.decorations)}},{decorations:t=>t.decorations}))}const u3="•";function d3(t){return t>=32?u3:t==10?"␤":String.fromCharCode(9216+t)}class f3 extends Nn{constructor(e,n){super(),this.options=e,this.code=n}eq(e){return e.code==this.code}toDOM(e){let n=d3(this.code),r=e.state.phrase("Control character")+" "+(s3[this.code]||"0x"+this.code.toString(16)),o=this.options.render&&this.options.render(this.code,r,n);if(o)return o;let i=document.createElement("span");return i.textContent=n,i.title=r,i.setAttribute("aria-label",r),i.className="cm-specialChar",i}ignoreEvent(){return!1}}class h3 extends Nn{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent=" ",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function p3(){return g3}const m3=Ie.line({class:"cm-activeLine"}),g3=mt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,n=[];for(let r of t.state.selection.ranges){let o=t.lineBlockAt(r.head);o.from>e&&(n.push(m3.range(o.from)),e=o.from)}return Ie.set(n)}},{decorations:t=>t.decorations});class w3 extends Nn{constructor(e){super(),this.content=e}toDOM(e){let n=document.createElement("span");return n.className="cm-placeholder",n.style.pointerEvents="none",n.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),n.setAttribute("aria-hidden","true"),n}coordsAt(e){let n=e.firstChild?Ta(e.firstChild):[];if(!n.length)return null;let r=window.getComputedStyle(e.parentNode),o=Ba(n[0],r.direction!="rtl"),i=parseInt(r.lineHeight);return o.bottom-o.top>i*1.5?{left:o.left,right:o.right,top:o.top,bottom:o.top+i}:o}ignoreEvent(){return!1}}function b3(t){let e=mt.fromClass(class{constructor(n){this.view=n,this.placeholder=t?Ie.set([Ie.widget({widget:new w3(t),side:1}).range(0)]):Ie.none}get decorations(){return this.view.state.doc.length?Ie.none:this.placeholder}},{decorations:n=>n.decorations});return typeof t=="string"?[e,De.contentAttributes.of({"aria-placeholder":t})]:e}const tm=2e3;function v3(t,e,n){let r=Math.min(e.line,n.line),o=Math.max(e.line,n.line),i=[];if(e.off>tm||n.off>tm||e.col<0||n.col<0){let s=Math.min(e.off,n.off),a=Math.max(e.off,n.off);for(let l=r;l<=o;l++){let c=t.doc.line(l);c.length<=a&&i.push(ae.range(c.from+s,c.to+a))}}else{let s=Math.min(e.col,n.col),a=Math.max(e.col,n.col);for(let l=r;l<=o;l++){let c=t.doc.line(l),u=hp(c.text,s,t.tabSize,!0);if(u<0)i.push(ae.cursor(c.to));else{let d=hp(c.text,a,t.tabSize);i.push(ae.range(c.from+u,c.from+d))}}}return i}function y3(t,e){let n=t.coordsAtPos(t.viewport.from);return n?Math.round(Math.abs((n.left-e)/t.defaultCharacterWidth)):-1}function z1(t,e){let n=t.posAtCoords({x:e.clientX,y:e.clientY},!1),r=t.state.doc.lineAt(n),o=n-r.from,i=o>tm?-1:o==r.length?y3(t,e.clientX):Xi(r.text,t.state.tabSize,n-r.from);return{line:r.number,col:i,off:o}}function C3(t,e){let n=z1(t,e),r=t.state.selection;return n?{update(o){if(o.docChanged){let i=o.changes.mapPos(o.startState.doc.line(n.line).from),s=o.state.doc.lineAt(i);n={line:s.number,col:n.col,off:Math.min(n.off,s.length)},r=r.map(o.changes)}},get(o,i,s){let a=z1(t,o);if(!a)return r;let l=v3(t.state,n,a);return l.length?s?ae.create(l.concat(r.ranges)):ae.create(l):r}}:null}function k3(t){let e=(n=>n.altKey&&n.button==0);return De.mouseSelectionStyle.of((n,r)=>e(r)?C3(n,r):null)}const S3={Alt:[18,t=>!!t.altKey],Control:[17,t=>!!t.ctrlKey],Shift:[16,t=>!!t.shiftKey],Meta:[91,t=>!!t.metaKey]},E3={style:"cursor: crosshair"};function x3(t={}){let[e,n]=S3[t.key||"Alt"],r=mt.fromClass(class{constructor(o){this.view=o,this.isDown=!1}set(o){this.isDown!=o&&(this.isDown=o,this.view.update([]))}},{eventObservers:{keydown(o){this.set(o.keyCode==e||n(o))},keyup(o){(o.keyCode==e||!n(o))&&this.set(!1)},mousemove(o){this.set(n(o))}}});return[r,De.contentAttributes.of(o=>{var i;return!((i=o.plugin(r))===null||i===void 0)&&i.isDown?E3:null})]}const Su="-10000px";class H1{constructor(e,n,r,o){this.facet=n,this.createTooltipView=r,this.removeTooltipView=o,this.input=e.state.facet(n),this.tooltips=this.input.filter(s=>s);let i=null;this.tooltipViews=this.tooltips.map(s=>i=r(s,i))}update(e,n){var r;let o=e.state.facet(this.facet),i=o.filter(l=>l);if(o===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],a=n?[]:null;for(let l=0;l<i.length;l++){let c=i[l],u=-1;if(c){for(let d=0;d<this.tooltips.length;d++){let f=this.tooltips[d];f&&f.create==c.create&&(u=d)}if(u<0)s[l]=this.createTooltipView(c,l?s[l-1]:null),a&&(a[l]=!!c.above);else{let d=s[l]=this.tooltipViews[u];a&&(a[l]=n[u]),d.update&&d.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(r=l.destroy)===null||r===void 0||r.call(l));return n&&(a.forEach((l,c)=>n[c]=l),n.length=a.length),this.input=o,this.tooltips=i,this.tooltipViews=s,!0}}function D3(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}const nm=Ne.define({combine:t=>{var e,n,r;return{position:Be.ios?"absolute":((e=t.find(o=>o.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((n=t.find(o=>o.parent))===null||n===void 0?void 0:n.parent)||null,tooltipSpace:((r=t.find(o=>o.tooltipSpace))===null||r===void 0?void 0:r.tooltipSpace)||D3}}}),V1=new WeakMap,rm=mt.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(nm);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new H1(t,om,(n,r)=>this.createTooltip(n,r),n=>{this.resizeObserver&&this.resizeObserver.unobserve(n.dom),n.dom.remove()}),this.above=this.manager.tooltips.map(n=>!!n.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(n=>{Date.now()>this.lastTransaction-50&&n.length>0&&n[n.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let n=e||t.geometryChanged,r=t.state.facet(nm);if(r.position!=this.position&&!this.madeAbsolute){this.position=r.position;for(let o of this.manager.tooltipViews)o.dom.style.position=this.position;n=!0}if(r.parent!=this.parent){this.parent&&this.container.remove(),this.parent=r.parent,this.createContainer();for(let o of this.manager.tooltipViews)this.container.appendChild(o.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&this.maybeMeasure()}createTooltip(t,e){let n=t.create(this.view),r=e?e.dom:null;if(n.dom.classList.add("cm-tooltip"),t.arrow&&!n.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let o=document.createElement("div");o.className="cm-tooltip-arrow",n.dom.appendChild(o)}return n.dom.style.position=this.position,n.dom.style.top=Su,n.dom.style.left="0px",this.container.insertBefore(n.dom,r),n.mount&&n.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(n.dom),n}destroy(){var t,e,n;this.view.win.removeEventListener("resize",this.measureSoon);for(let r of this.manager.tooltipViews)r.dom.remove(),(t=r.destroy)===null||t===void 0||t.call(r);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(n=this.intersectionObserver)===null||n===void 0||n.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,n=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:i}=this.manager.tooltipViews[0];if(Be.safari){let s=i.getBoundingClientRect();n=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else n=!!i.offsetParent&&i.offsetParent!=this.container.ownerDocument.body}if(n||this.position=="absolute")if(this.parent){let i=this.parent.getBoundingClientRect();i.width&&i.height&&(t=i.width/this.parent.offsetWidth,e=i.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let r=this.view.scrollDOM.getBoundingClientRect(),o=Ip(this.view);return{visible:{left:r.left+o.left,top:r.top+o.top,right:r.right-o.right,bottom:r.bottom-o.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((i,s)=>{let a=this.manager.tooltipViews[s];return a.getCoords?a.getCoords(i.pos):this.view.coordsAtPos(i.pos)}),size:this.manager.tooltipViews.map(({dom:i})=>i.getBoundingClientRect()),space:this.view.state.facet(nm).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:n}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let a of this.manager.tooltipViews)a.dom.style.position="absolute"}let{visible:n,space:r,scaleX:o,scaleY:i}=t,s=[];for(let a=0;a<this.manager.tooltips.length;a++){let l=this.manager.tooltips[a],c=this.manager.tooltipViews[a],{dom:u}=c,d=t.pos[a],f=t.size[a];if(!d||l.clip!==!1&&(d.bottom<=Math.max(n.top,r.top)||d.top>=Math.min(n.bottom,r.bottom)||d.right<Math.max(n.left,r.left)-.1||d.left>Math.min(n.right,r.right)+.1)){u.style.top=Su;continue}let p=l.arrow?c.dom.querySelector(".cm-tooltip-arrow"):null,m=p?7:0,v=f.right-f.left,b=(e=V1.get(c))!==null&&e!==void 0?e:f.bottom-f.top,w=c.offset||A3,g=this.view.textDirection==ct.LTR,C=f.width>r.right-r.left?g?r.left:r.right-f.width:g?Math.max(r.left,Math.min(d.left-(p?14:0)+w.x,r.right-v)):Math.min(Math.max(r.left,d.left-v+(p?14:0)-w.x),r.right-v),k=this.above[a];!l.strictSide&&(k?d.top-b-m-w.y<r.top:d.bottom+b+m+w.y>r.bottom)&&k==r.bottom-d.bottom>d.top-r.top&&(k=this.above[a]=!k);let _=(k?d.top-r.top:r.bottom-d.bottom)-m;if(_<b&&c.resize!==!1){if(_<this.view.defaultLineHeight){u.style.top=Su;continue}V1.set(c,b),u.style.height=(b=_)/i+"px"}else u.style.height&&(u.style.height="");let S=k?d.top-b-m-w.y:d.bottom+m+w.y,E=C+v;if(c.overlap!==!0)for(let x of s)x.left<E&&x.right>C&&x.top<S+b&&x.bottom>S&&(S=k?x.top-b-2-m:x.bottom+m+2);if(this.position=="absolute"?(u.style.top=(S-t.parent.top)/i+"px",j1(u,(C-t.parent.left)/o)):(u.style.top=S/i+"px",j1(u,C/o)),p){let x=d.left+(g?w.x:-w.x)-(C+14-7);p.style.left=x/o+"px"}c.overlap!==!0&&s.push({left:C,top:S,right:E,bottom:S+b}),u.classList.toggle("cm-tooltip-above",k),u.classList.toggle("cm-tooltip-below",!k),c.positioned&&c.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=Su}},{eventObservers:{scroll(){this.maybeMeasure()}}});function j1(t,e){let n=parseInt(t.style.left,10);(isNaN(n)||Math.abs(e-n)>1)&&(t.style.left=e+"px")}const _3=De.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),A3={x:0,y:0},om=Ne.define({enables:[rm,_3]}),Eu=Ne.define({combine:t=>t.reduce((e,n)=>e.concat(n),[])});class xu{static create(e){return new xu(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new H1(e,Eu,(n,r)=>this.createHostedView(n,r),n=>n.dom.remove())}createHostedView(e,n){let r=e.create(this.view);return r.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(r.dom,n?n.dom.nextSibling:this.dom.firstChild),this.mounted&&r.mount&&r.mount(this.view),r}mount(e){for(let n of this.manager.tooltipViews)n.mount&&n.mount(e);this.mounted=!0}positioned(e){for(let n of this.manager.tooltipViews)n.positioned&&n.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let n of this.manager.tooltipViews)(e=n.destroy)===null||e===void 0||e.call(n)}passProp(e){let n;for(let r of this.manager.tooltipViews){let o=r[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}}const O3=om.compute([Eu],t=>{let e=t.facet(Eu);return e.length===0?null:{pos:Math.min(...e.map(n=>n.pos)),end:Math.max(...e.map(n=>{var r;return(r=n.end)!==null&&r!==void 0?r:n.pos})),create:xu.create,above:e[0].above,arrow:e.some(n=>n.arrow)}});class T3{constructor(e,n,r,o,i){this.view=e,this.source=n,this.field=r,this.setHover=o,this.hoverTime=i,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:n}=this,r=e.docView.tile.nearest(n.target);if(!r)return;let o,i=1;if(r.isWidget())o=r.posAtStart;else{if(o=e.posAtCoords(n),o==null)return;let a=e.coordsAtPos(o);if(!a||n.y<a.top||n.y>a.bottom||n.x<a.left-e.defaultCharacterWidth||n.x>a.right+e.defaultCharacterWidth)return;let l=e.bidiSpans(e.state.doc.lineAt(o)).find(u=>u.from<=o&&u.to>=o),c=l&&l.dir==ct.RTL?-1:1;i=n.x<a.left?-c:c}let s=this.source(e,o,i);if(s!=null&&s.then){let a=this.pending={pos:o};s.then(l=>{this.pending==a&&(this.pending=null,l&&!(Array.isArray(l)&&!l.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(l)?l:[l])}))},l=>Sn(e.state,l,"hover tooltip"))}else s&&!(Array.isArray(s)&&!s.length)&&e.dispatch({effects:this.setHover.of(Array.isArray(s)?s:[s])})}get tooltip(){let e=this.view.plugin(rm),n=e?e.manager.tooltips.findIndex(r=>r.create==xu.create):-1;return n>-1?e.manager.tooltipViews[n]:null}mousemove(e){var n,r;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:o,tooltip:i}=this;if(o.length&&i&&!N3(i.dom,e)||this.pending){let{pos:s}=o[0]||this.pending,a=(r=(n=o[0])===null||n===void 0?void 0:n.end)!==null&&r!==void 0?r:s;(s==a?this.view.posAtCoords(this.lastMove)!=s:!B3(this.view,s,a,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:n}=this;if(n.length){let{tooltip:r}=this;r&&r.dom.contains(e.relatedTarget)?this.watchTooltipLeave(r.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let n=r=>{e.removeEventListener("mouseleave",n),this.active.length&&!this.view.dom.contains(r.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",n)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}const Du=4;function N3(t,e){let{left:n,right:r,top:o,bottom:i}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let a=s.getBoundingClientRect();o=Math.min(a.top,o),i=Math.max(a.bottom,i)}return e.clientX>=n-Du&&e.clientX<=r+Du&&e.clientY>=o-Du&&e.clientY<=i+Du}function B3(t,e,n,r,o,i){let s=t.scrollDOM.getBoundingClientRect(),a=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>r||s.right<r||s.top>o||Math.min(s.bottom,a)<o)return!1;let l=t.posAtCoords({x:r,y:o},!1);return l>=e&&l<=n}function W1(t,e={}){let n=qe.define(),r=qt.define({create(){return[]},update(o,i){if(o.length&&(e.hideOnChange&&(i.docChanged||i.selection)?o=[]:e.hideOn&&(o=o.filter(s=>!e.hideOn(i,s))),i.docChanged)){let s=[];for(let a of o){let l=i.changes.mapPos(a.pos,-1,Yt.TrackDel);if(l!=null){let c=Object.assign(Object.create(null),a);c.pos=l,c.end!=null&&(c.end=i.changes.mapPos(c.end)),s.push(c)}}o=s}for(let s of i.effects)s.is(n)&&(o=s.value),s.is(F3)&&(o=[]);return o},provide:o=>Eu.from(o)});return{active:r,extension:[r,mt.define(o=>new T3(o,t,r,n,e.hoverTime||300)),O3]}}function U1(t,e){let n=t.plugin(rm);if(!n)return null;let r=n.manager.tooltips.indexOf(e);return r<0?null:n.manager.tooltipViews[r]}const F3=qe.define(),q1=Ne.define({combine(t){let e,n;for(let r of t)e=e||r.topContainer,n=n||r.bottomContainer;return{topContainer:e,bottomContainer:n}}});function im(t,e){let n=t.plugin(G1),r=n?n.specs.indexOf(e):-1;return r>-1?n.panels[r]:null}const G1=mt.fromClass(class{constructor(t){this.input=t.state.facet(Wa),this.specs=this.input.filter(n=>n),this.panels=this.specs.map(n=>n(t));let e=t.state.facet(q1);this.top=new _u(t,!0,e.topContainer),this.bottom=new _u(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(n=>n.top)),this.bottom.sync(this.panels.filter(n=>!n.top));for(let n of this.panels)n.dom.classList.add("cm-panel"),n.mount&&n.mount()}update(t){let e=t.state.facet(q1);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new _u(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new _u(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=t.state.facet(Wa);if(n!=this.input){let r=n.filter(l=>l),o=[],i=[],s=[],a=[];for(let l of r){let c=this.specs.indexOf(l),u;c<0?(u=l(t.view),a.push(u)):(u=this.panels[c],u.update&&u.update(t)),o.push(u),(u.top?i:s).push(u)}this.specs=r,this.panels=o,this.top.sync(i),this.bottom.sync(s);for(let l of a)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let r of this.panels)r.update&&r.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>De.scrollMargins.of(e=>{let n=e.plugin(t);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class _u{constructor(e,n,r){this.view=e,this.top=n,this.container=r,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let n of this.panels)n.destroy&&e.indexOf(n)<0&&n.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let n=this.container||this.view.dom;n.insertBefore(this.dom,this.top?n.firstChild:null)}let e=this.dom.firstChild;for(let n of this.panels)if(n.dom.parentNode==this.dom){for(;e!=n.dom;)e=R1(e);e=e.nextSibling}else this.dom.insertBefore(n.dom,e);for(;e;)e=R1(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function R1(t){let e=t.nextSibling;return t.remove(),e}const Wa=Ne.define({enables:G1});function M3(t,e){let n,r=new Promise(s=>n=s),o=s=>I3(s,e,n);t.state.field(sm,!1)?t.dispatch({effects:K1.of(o)}):t.dispatch({effects:qe.appendConfig.of(sm.init(()=>[o]))});let i=Y1.of(o);return{close:i,result:r.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(sm).indexOf(o)>-1&&t.dispatch({effects:i})}),s))}}const sm=qt.define({create(){return[]},update(t,e){for(let n of e.effects)n.is(K1)?t=[n.value].concat(t):n.is(Y1)&&(t=t.filter(r=>r!=n.value));return t},provide:t=>Wa.computeN([t],e=>e.field(t))}),K1=qe.define(),Y1=qe.define();function I3(t,e,n){let r=e.content?e.content(t,()=>s(null)):null;if(!r){if(r=at("form"),e.input){let a=at("input",e.input);/^(text|password|number|email|tel|url)$/.test(a.type)&&a.classList.add("cm-textfield"),a.name||(a.name="input"),r.appendChild(at("label",(e.label||"")+": ",a))}else r.appendChild(document.createTextNode(e.label||""));r.appendChild(document.createTextNode(" ")),r.appendChild(at("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let o=r.nodeName=="FORM"?[r]:r.querySelectorAll("form");for(let a=0;a<o.length;a++){let l=o[a];l.addEventListener("keydown",c=>{c.keyCode==27?(c.preventDefault(),s(null)):c.keyCode==13&&(c.preventDefault(),s(l))}),l.addEventListener("submit",c=>{c.preventDefault(),s(l)})}let i=at("div",r,at("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["×"]));e.class&&(i.className=e.class),i.classList.add("cm-dialog");function s(a){i.contains(i.ownerDocument.activeElement)&&t.focus(),n(a)}return{dom:i,top:e.top,mount:()=>{if(e.focus){let a;typeof e.focus=="string"?a=r.querySelector(e.focus):a=r.querySelector("input")||r.querySelector("button"),a&&"select"in a?a.select():a&&"focus"in a&&a.focus()}}}}class Jr extends Co{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Jr.prototype.elementClass="",Jr.prototype.toDOM=void 0,Jr.prototype.mapMode=Yt.TrackBefore,Jr.prototype.startSide=Jr.prototype.endSide=-1,Jr.prototype.point=!0;const Au=Ne.define(),P3=Ne.define(),L3={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Qe.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ua=Ne.define();function $3(t){return[J1(),Ua.of({...L3,...t})]}const X1=Ne.define({combine:t=>t.some(e=>e)});function J1(t){return[z3]}const z3=mt.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ua).map(e=>new Z1(t,e)),this.fixed=!t.state.facet(X1);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,n=t.view.viewport,r=Math.min(e.to,n.to)-Math.max(e.from,n.from);this.syncGutters(r<(n.to-n.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(X1)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let n=Qe.iter(this.view.state.facet(Au),this.view.viewport.from),r=[],o=this.gutters.map(i=>new H3(i,this.view.viewport,-this.view.documentPadding.top));for(let i of this.view.viewportLineBlocks)if(r.length&&(r=[]),Array.isArray(i.type)){let s=!0;for(let a of i.type)if(a.type==Jt.Text&&s){am(n,r,a.from);for(let l of o)l.line(this.view,a,r);s=!1}else if(a.widget)for(let l of o)l.widget(this.view,a)}else if(i.type==Jt.Text){am(n,r,i.from);for(let s of o)s.line(this.view,i,r)}else if(i.widget)for(let s of o)s.widget(this.view,i);for(let i of o)i.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Ua),n=t.state.facet(Ua),r=t.docChanged||t.heightChanged||t.viewportChanged||!Qe.eq(t.startState.facet(Au),t.state.facet(Au),t.view.viewport.from,t.view.viewport.to);if(e==n)for(let o of this.gutters)o.update(t)&&(r=!0);else{r=!0;let o=[];for(let i of n){let s=e.indexOf(i);s<0?o.push(new Z1(this.view,i)):(this.gutters[s].update(t),o.push(this.gutters[s]))}for(let i of this.gutters)i.dom.remove(),o.indexOf(i)<0&&i.destroy();for(let i of o)i.config.side=="after"?this.getDOMAfter().appendChild(i.dom):this.dom.appendChild(i.dom);this.gutters=o}return r}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>De.scrollMargins.of(e=>{let n=e.plugin(t);if(!n||n.gutters.length==0||!n.fixed)return null;let r=n.dom.offsetWidth*e.scaleX,o=n.domAfter?n.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ct.LTR?{left:r,right:o}:{right:r,left:o}})});function Q1(t){return Array.isArray(t)?t:[t]}function am(t,e,n){for(;t.value&&t.from<=n;)t.from==n&&e.push(t.value),t.next()}class H3{constructor(e,n,r){this.gutter=e,this.height=r,this.i=0,this.cursor=Qe.iter(e.markers,n.from)}addElement(e,n,r){let{gutter:o}=this,i=(n.top-this.height)/e.scaleY,s=n.height/e.scaleY;if(this.i==o.elements.length){let a=new eS(e,s,i,r);o.elements.push(a),o.dom.appendChild(a.dom)}else o.elements[this.i].update(e,s,i,r);this.height=n.bottom,this.i++}line(e,n,r){let o=[];am(this.cursor,o,n.from),r.length&&(o=o.concat(r));let i=this.gutter.config.lineMarker(e,n,o);i&&o.unshift(i);let s=this.gutter;o.length==0&&!s.config.renderEmptyElements||this.addElement(e,n,o)}widget(e,n){let r=this.gutter.config.widgetMarker(e,n.widget,n),o=r?[r]:null;for(let i of e.state.facet(P3)){let s=i(e,n.widget,n);s&&(o||(o=[])).push(s)}o&&this.addElement(e,n,o)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let n=e.elements.pop();e.dom.removeChild(n.dom),n.destroy()}}}class Z1{constructor(e,n){this.view=e,this.config=n,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let r in n.domEventHandlers)this.dom.addEventListener(r,o=>{let i=o.target,s;if(i!=this.dom&&this.dom.contains(i)){for(;i.parentNode!=this.dom;)i=i.parentNode;let l=i.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=o.clientY;let a=e.lineBlockAtHeight(s-e.documentTop);n.domEventHandlers[r](e,a,o)&&o.preventDefault()});this.markers=Q1(n.markers(e)),n.initialSpacer&&(this.spacer=new eS(e,0,0,[n.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let n=this.markers;if(this.markers=Q1(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let o=this.config.updateSpacer(this.spacer.markers[0],e);o!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[o])}let r=e.view.viewport;return!Qe.eq(this.markers,n,r.from,r.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}}class eS{constructor(e,n,r,o){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,n,r,o)}update(e,n,r,o){this.height!=n&&(this.height=n,this.dom.style.height=n+"px"),this.above!=r&&(this.dom.style.marginTop=(this.above=r)?r+"px":""),V3(this.markers,o)||this.setMarkers(e,o)}setMarkers(e,n){let r="cm-gutterElement",o=this.dom.firstChild;for(let i=0,s=0;;){let a=s,l=i<n.length?n[i++]:null,c=!1;if(l){let u=l.elementClass;u&&(r+=" "+u);for(let d=s;d<this.markers.length;d++)if(this.markers[d].compare(l)){a=d,c=!0;break}}else a=this.markers.length;for(;s<a;){let u=this.markers[s++];if(u.toDOM){u.destroy(o);let d=o.nextSibling;o.remove(),o=d}}if(!l)break;l.toDOM&&(c?o=o.nextSibling:this.dom.insertBefore(l.toDOM(e),o)),c&&s++}this.dom.className=r,this.markers=n}destroy(){this.setMarkers(null,[])}}function V3(t,e){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!t[n].compare(e[n]))return!1;return!0}const j3=Ne.define(),W3=Ne.define(),is=Ne.define({combine(t){return Nr(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,n){let r=Object.assign({},e);for(let o in n){let i=r[o],s=n[o];r[o]=i?(a,l,c)=>i(a,l,c)||s(a,l,c):s}return r}})}});class lm extends Jr{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function cm(t,e){return t.state.facet(is).formatNumber(e,t.state)}const U3=Ua.compute([is],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(j3)},lineMarker(e,n,r){return r.some(o=>o.toDOM)?null:new lm(cm(e,e.state.doc.lineAt(n.from).number))},widgetMarker:(e,n,r)=>{for(let o of e.state.facet(W3)){let i=o(e,n,r);if(i)return i}return null},lineMarkerChange:e=>e.startState.facet(is)!=e.state.facet(is),initialSpacer(e){return new lm(cm(e,tS(e.state.doc.lines)))},updateSpacer(e,n){let r=cm(n.view,tS(n.view.state.doc.lines));return r==e.number?e:new lm(r)},domEventHandlers:t.facet(is).domEventHandlers,side:"before"}));function q3(t={}){return[is.of(t),J1(),U3]}function tS(t){let e=9;for(;e<t;)e=e*10+9;return e}const G3=new class extends Jr{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},R3=Au.compute(["selection"],t=>{let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.head).from;o>n&&(n=o,e.push(G3.range(o)))}return Qe.of(e)});function K3(){return R3}var um;const ss=new Je;function Y3(t){return Ne.define({combine:t?e=>e.concat(t):void 0})}const X3=new Je;class fr{constructor(e,n,r=[],o=""){this.data=e,this.name=o,tt.prototype.hasOwnProperty("tree")||Object.defineProperty(tt.prototype,"tree",{get(){return on(this)}}),this.parser=n,this.extension=[_o.of(this),tt.languageData.of((i,s,a)=>{let l=nS(i,s,a),c=l.type.prop(ss);if(!c)return[];let u=i.facet(c),d=l.type.prop(X3);if(d){let f=l.resolve(s-l.from,a);for(let p of d)if(p.test(f,i)){let m=i.facet(p.facet);return p.type=="replace"?m:m.concat(u)}}return u})].concat(r)}isActiveAt(e,n,r=-1){return nS(e,n,r).type.prop(ss)==this.data}findRegions(e){let n=e.facet(_o);if((n==null?void 0:n.data)==this.data)return[{from:0,to:e.doc.length}];if(!n||!n.allowsNesting)return[];let r=[],o=(i,s)=>{if(i.prop(ss)==this.data){r.push({from:s,to:s+i.length});return}let a=i.prop(Je.mounted);if(a){if(a.tree.prop(ss)==this.data){if(a.overlay)for(let l of a.overlay)r.push({from:l.from+s,to:l.to+s});else r.push({from:s,to:s+i.length});return}else if(a.overlay){let l=r.length;if(o(a.tree,a.overlay[0].from+s),r.length>l)return}}for(let l=0;l<i.children.length;l++){let c=i.children[l];c instanceof Dt&&o(c,i.positions[l]+s)}};return o(on(e),0),r}get allowsNesting(){return!0}}fr.setState=qe.define();function nS(t,e,n){let r=t.facet(_o),o=on(t).topNode;if(!r||r.allowsNesting)for(let i=o;i;i=i.enter(e,n,Ct.ExcludeBuffers|Ct.EnterBracketed))i.type.isTop&&(o=i);return o}class Ou extends fr{constructor(e,n,r){super(e,n,[],r),this.parser=n}static define(e){let n=Y3(e.languageData);return new Ou(n,e.parser.configure({props:[ss.add(r=>r.isTop?n:void 0)]}),e.name)}configure(e,n){return new Ou(this.data,this.parser.configure(e),n||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function on(t){let e=t.field(fr.state,!1);return e?e.tree:Dt.empty}class J3{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,n){let r=this.cursorPos-this.string.length;return e<r||n>=this.cursorPos?this.doc.sliceString(e,n):this.string.slice(e-r,n-r)}}let qa=null;class Tu{constructor(e,n,r=[],o,i,s,a,l){this.parser=e,this.state=n,this.fragments=r,this.tree=o,this.treeLen=i,this.viewport=s,this.skipped=a,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,n,r){return new Tu(e,n,[],Dt.empty,0,r,[],null)}startParse(){return this.parser.startParse(new J3(this.state.doc),this.fragments)}work(e,n){return n!=null&&n>=this.state.doc.length&&(n=void 0),this.tree!=Dt.empty&&this.isDone(n??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let o=Date.now()+e;e=()=>Date.now()>o}for(this.parse||(this.parse=this.startParse()),n!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>n)&&n<this.state.doc.length&&this.parse.stopAt(n);;){let o=this.parse.advance();if(o)if(this.fragments=this.withoutTempSkipped(ni.addTree(o,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(r=this.parse.stoppedAt)!==null&&r!==void 0?r:this.state.doc.length,this.tree=o,this.parse=null,this.treeLen<(n??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,n;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(n=this.parse.advance()););}),this.treeLen=e,this.tree=n,this.fragments=this.withoutTempSkipped(ni.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let n=qa;qa=this;try{return e()}finally{qa=n}}withoutTempSkipped(e){for(let n;n=this.tempSkipped.pop();)e=rS(e,n.from,n.to);return e}changes(e,n){let{fragments:r,tree:o,treeLen:i,viewport:s,skipped:a}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((c,u,d,f)=>l.push({fromA:c,toA:u,fromB:d,toB:f})),r=ni.applyChanges(r,l),o=Dt.empty,i=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){a=[];for(let c of this.skipped){let u=e.mapPos(c.from,1),d=e.mapPos(c.to,-1);u<d&&a.push({from:u,to:d})}}}return new Tu(this.parser,n,r,o,i,s,a,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let n=this.skipped.length;for(let r=0;r<this.skipped.length;r++){let{from:o,to:i}=this.skipped[r];o<e.to&&i>e.from&&(this.fragments=rS(this.fragments,o,i),this.skipped.splice(r--,1))}return this.skipped.length>=n?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,n){this.skipped.push({from:e,to:n})}static getSkippingParser(e){return new class extends DC{createParse(n,r,o){let i=o[0].from,s=o[o.length-1].to;return{parsedPos:i,advance(){let l=qa;if(l){for(let c of o)l.tempSkipped.push(c);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new Dt(Cn.none,[],[],s-i)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let n=this.fragments;return this.treeLen>=e&&n.length&&n[0].from==0&&n[0].to>=e}static get(){return qa}}function rS(t,e,n){return ni.applyChanges(t,[{fromA:e,toA:n,fromB:e,toB:n}])}class as{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let n=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),n.viewport.to);return n.work(20,r)||n.takeTree(),new as(n)}static init(e){let n=Math.min(3e3,e.doc.length),r=Tu.create(e.facet(_o).parser,e,{from:0,to:n});return r.work(20,n)||r.takeTree(),new as(r)}}fr.state=qt.define({create:as.init,update(t,e){for(let n of e.effects)if(n.is(fr.setState))return n.value;return e.startState.facet(_o)!=e.state.facet(_o)?as.init(e.state):t.apply(e)}});let oS=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(oS=t=>{let e=-1,n=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(n):cancelIdleCallback(e)});const dm=typeof navigator<"u"&&(!((um=navigator.scheduling)===null||um===void 0)&&um.isInputPending)?()=>navigator.scheduling.isInputPending():null,Q3=mt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let n=this.view.state.field(fr.state).context;(n.updateViewport(e.view.viewport)||this.view.viewport.to>n.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(n)}scheduleWork(){if(this.working)return;let{state:e}=this.view,n=e.field(fr.state);(n.tree!=n.context.tree||!n.context.isDone(e.doc.length))&&(this.working=oS(this.work))}work(e){this.working=null;let n=Date.now();if(this.chunkEnd<n&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=n+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:r,viewport:{to:o}}=this.view,i=r.field(fr.state);if(i.tree==i.context.tree&&i.context.isDone(o+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!dm?Math.max(25,e.timeRemaining()-5):1e9),a=i.context.treeLen<o&&r.doc.length>o+1e3,l=i.context.work(()=>dm&&dm()||Date.now()>s,o+(a?0:1e5));this.chunkBudget-=Date.now()-n,(l||this.chunkBudget<=0)&&(i.context.takeTree(),this.view.dispatch({effects:fr.setState.of(new as(i.context))})),this.chunkBudget>0&&!(l&&!a)&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(n=>Sn(this.view.state,n)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),_o=Ne.define({combine(t){return t.length?t[0]:null},enables:t=>[fr.state,Q3,De.contentAttributes.compute([t],e=>{let n=e.facet(t);return n&&n.name?{"data-language":n.name}:{}})]});class Z3{constructor(e,n=[]){this.language=e,this.support=n,this.extension=[e,n]}}const e8=Ne.define(),Ga=Ne.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(n=>n!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Nu(t){let e=t.facet(Ga);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Ra(t,e){let n="",r=t.tabSize,o=t.facet(Ga)[0];if(o==" "){for(;e>=r;)n+=" ",e-=r;o=" "}for(let i=0;i<e;i++)n+=o;return n}function fm(t,e){t instanceof tt&&(t=new Bu(t));for(let r of t.state.facet(e8)){let o=r(t,e);if(o!==void 0)return o}let n=on(t.state);return n.length>=e?t8(t,n,e):null}class Bu{constructor(e,n={}){this.state=e,this.options=n,this.unit=Nu(e)}lineAt(e,n=1){let r=this.state.doc.lineAt(e),{simulateBreak:o,simulateDoubleBreak:i}=this.options;return o!=null&&o>=r.from&&o<=r.to?i&&o==e?{text:"",from:e}:(n<0?o<e:o<=e)?{text:r.text.slice(o-r.from),from:o}:{text:r.text.slice(0,o-r.from),from:r.from}:r}textAfterPos(e,n=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:r,from:o}=this.lineAt(e,n);return r.slice(e-o,Math.min(r.length,e+100-o))}column(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.countColumn(r,e-o),s=this.options.overrideIndentation?this.options.overrideIndentation(o):-1;return s>-1&&(i+=s-this.countColumn(r,r.search(/\S|$/))),i}countColumn(e,n=e.length){return Xi(e,this.state.tabSize,n)}lineIndent(e,n=1){let{text:r,from:o}=this.lineAt(e,n),i=this.options.overrideIndentation;if(i){let s=i(o);if(s>-1)return s}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const iS=new Je;function t8(t,e,n){let r=e.resolveStack(n),o=e.resolveInner(n,-1).resolve(n,0).enterUnfinishedNodesBefore(n);if(o!=r.node){let i=[];for(let s=o;s&&!(s.from<r.node.from||s.to>r.node.to||s.from==r.node.from&&s.type==r.node.type);s=s.parent)i.push(s);for(let s=i.length-1;s>=0;s--)r={node:i[s],next:r}}return sS(r,t,n)}function sS(t,e,n){for(let r=t;r;r=r.next){let o=r8(r.node);if(o)return o(hm.create(e,n,r))}return 0}function n8(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function r8(t){let e=t.type.prop(iS);if(e)return e;let n=t.firstChild,r;if(n&&(r=n.type.prop(Je.closedBy))){let o=t.lastChild,i=o&&r.indexOf(o.name)>-1;return s=>a8(s,!0,1,void 0,i&&!n8(s)?o.from:void 0)}return t.parent==null?o8:null}function o8(){return 0}class hm extends Bu{constructor(e,n,r){super(e.state,e.options),this.base=e,this.pos=n,this.context=r}get node(){return this.context.node}static create(e,n,r){return new hm(e,n,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let n=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(n.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(i8(r,e))break;n=this.state.doc.lineAt(r.from)}return this.lineIndent(n.from)}continue(){return sS(this.context.next,this.base,this.pos)}}function i8(t,e){for(let n=e;n;n=n.parent)if(t==n)return!0;return!1}function s8(t){let e=t.node,n=e.childAfter(e.from),r=e.lastChild;if(!n)return null;let o=t.options.simulateBreak,i=t.state.doc.lineAt(n.from),s=o==null||o<=i.from?i.to:Math.min(i.to,o);for(let a=n.to;;){let l=e.childAfter(a);if(!l||l==r)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let c=/^ */.exec(i.text.slice(n.to-i.from))[0].length;return{from:n.from,to:n.to+c}}a=l.to}}function a8(t,e,n,r,o){let i=t.textAfter,s=i.match(/^\s*/)[0].length,a=r&&i.slice(s,s+r.length)==r||o==t.pos+s,l=s8(t);return l?a?t.column(l.from):t.column(l.to):t.baseIndent+(a?0:t.unit*n)}function aS({except:t,units:e=1}={}){return n=>{let r=t&&t.test(n.textAfter);return n.baseIndent+(r?0:e*n.unit)}}const l8=200;function c8(){return tt.transactionFilter.of(t=>{if(!t.docChanged||!t.isUserEvent("input.type")&&!t.isUserEvent("input.complete"))return t;let e=t.startState.languageDataAt("indentOnInput",t.startState.selection.main.head);if(!e.length)return t;let n=t.newDoc,{head:r}=t.newSelection.main,o=n.lineAt(r);if(r>o.from+l8)return t;let i=n.sliceString(o.from,r);if(!e.some(c=>c.test(i)))return t;let{state:s}=t,a=-1,l=[];for(let{head:c}of s.selection.ranges){let u=s.doc.lineAt(c);if(u.from==a)continue;a=u.from;let d=fm(s,u.from);if(d==null)continue;let f=/^\s*/.exec(u.text)[0],p=Ra(s,d);f!=p&&l.push({from:u.from,to:u.from+f.length,insert:p})}return l.length?[t,{changes:l,sequential:!0}]:t})}const u8=Ne.define(),lS=new Je;function d8(t){let e=t.firstChild,n=t.lastChild;return e&&e.to<n.from?{from:e.to,to:n.type.isError?t.to:n.from}:null}function f8(t,e,n){let r=on(t);if(r.length<n)return null;let o=r.resolveStack(n,1),i=null;for(let s=o;s;s=s.next){let a=s.node;if(a.to<=n||a.from>n)continue;if(i&&a.from<e)break;let l=a.type.prop(lS);if(l&&(a.to<r.length-50||r.length==t.doc.length||!h8(a))){let c=l(a,t);c&&c.from<=n&&c.from>=e&&c.to>n&&(i=c)}}return i}function h8(t){let e=t.lastChild;return e&&e.to==t.to&&e.type.isError}function Fu(t,e,n){for(let r of t.facet(u8)){let o=r(t,e,n);if(o)return o}return f8(t,e,n)}function cS(t,e){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);return n>=r?void 0:{from:n,to:r}}const Mu=qe.define({map:cS}),Ka=qe.define({map:cS});function uS(t){let e=[];for(let{head:n}of t.state.selection.ranges)e.some(r=>r.from<=n&&r.to>=n)||e.push(t.lineBlockAt(n));return e}const di=qt.define({create(){return Ie.none},update(t,e){e.isUserEvent("delete")&&e.changes.iterChangedRanges((n,r)=>t=dS(t,n,r)),t=t.map(e.changes);for(let n of e.effects)if(n.is(Mu)&&!p8(t,n.value.from,n.value.to)){let{preparePlaceholder:r}=e.state.facet(pS),o=r?Ie.replace({widget:new v8(r(e.state,n.value))}):wS;t=t.update({add:[o.range(n.value.from,n.value.to)]})}else n.is(Ka)&&(t=t.update({filter:(r,o)=>n.value.from!=r||n.value.to!=o,filterFrom:n.value.from,filterTo:n.value.to}));return e.selection&&(t=dS(t,e.selection.main.head)),t},provide:t=>De.decorations.from(t),toJSON(t,e){let n=[];return t.between(0,e.doc.length,(r,o)=>{n.push(r,o)}),n},fromJSON(t){if(!Array.isArray(t)||t.length%2)throw new RangeError("Invalid JSON for fold state");let e=[];for(let n=0;n<t.length;){let r=t[n++],o=t[n++];if(typeof r!="number"||typeof o!="number")throw new RangeError("Invalid JSON for fold state");e.push(wS.range(r,o))}return Ie.set(e,!0)}});function dS(t,e,n=e){let r=!1;return t.between(e,n,(o,i)=>{o<n&&i>e&&(r=!0)}),r?t.update({filterFrom:e,filterTo:n,filter:(o,i)=>o>=n||i<=e}):t}function Iu(t,e,n){var r;let o=null;return(r=t.field(di,!1))===null||r===void 0||r.between(e,n,(i,s)=>{(!o||o.from>i)&&(o={from:i,to:s})}),o}function p8(t,e,n){let r=!1;return t.between(e,e,(o,i)=>{o==e&&i==n&&(r=!0)}),r}function fS(t,e){return t.field(di,!1)?e:e.concat(qe.appendConfig.of(mS()))}const m8=t=>{for(let e of uS(t)){let n=Fu(t.state,e.from,e.to);if(n)return t.dispatch({effects:fS(t.state,[Mu.of(n),hS(t,n)])}),!0}return!1},g8=t=>{if(!t.state.field(di,!1))return!1;let e=[];for(let n of uS(t)){let r=Iu(t.state,n.from,n.to);r&&e.push(Ka.of(r),hS(t,r,!1))}return e.length&&t.dispatch({effects:e}),e.length>0};function hS(t,e,n=!0){let r=t.state.doc.lineAt(e.from).number,o=t.state.doc.lineAt(e.to).number;return De.announce.of(`${t.state.phrase(n?"Folded lines":"Unfolded lines")} ${r} ${t.state.phrase("to")} ${o}.`)}const w8=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:m8},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:g8},{key:"Ctrl-Alt-[",run:t=>{let{state:e}=t,n=[];for(let r=0;r<e.doc.length;){let o=t.lineBlockAt(r),i=Fu(e,o.from,o.to);i&&n.push(Mu.of(i)),r=(i?t.lineBlockAt(i.to):o).to+1}return n.length&&t.dispatch({effects:fS(t.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:t=>{let e=t.state.field(di,!1);if(!e||!e.size)return!1;let n=[];return e.between(0,t.state.doc.length,(r,o)=>{n.push(Ka.of({from:r,to:o}))}),t.dispatch({effects:n}),!0}}],b8={placeholderDOM:null,preparePlaceholder:null,placeholderText:"…"},pS=Ne.define({combine(t){return Nr(t,b8)}});function mS(t){return[di,k8]}function gS(t,e){let{state:n}=t,r=n.facet(pS),o=s=>{let a=t.lineBlockAt(t.posAtDOM(s.target)),l=Iu(t.state,a.from,a.to);l&&t.dispatch({effects:Ka.of(l)}),s.preventDefault()};if(r.placeholderDOM)return r.placeholderDOM(t,o,e);let i=document.createElement("span");return i.textContent=r.placeholderText,i.setAttribute("aria-label",n.phrase("folded code")),i.title=n.phrase("unfold"),i.className="cm-foldPlaceholder",i.onclick=o,i}const wS=Ie.replace({widget:new class extends Nn{toDOM(t){return gS(t,null)}}});class v8 extends Nn{constructor(e){super(),this.value=e}eq(e){return this.value==e.value}toDOM(e){return gS(e,this.value)}}const y8={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class pm extends Jr{constructor(e,n){super(),this.config=e,this.open=n}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let n=document.createElement("span");return n.textContent=this.open?this.config.openText:this.config.closedText,n.title=e.state.phrase(this.open?"Fold line":"Unfold line"),n}}function C8(t={}){let e={...y8,...t},n=new pm(e,!0),r=new pm(e,!1),o=mt.fromClass(class{constructor(s){this.from=s.viewport.from,this.markers=this.buildMarkers(s)}update(s){(s.docChanged||s.viewportChanged||s.startState.facet(_o)!=s.state.facet(_o)||s.startState.field(di,!1)!=s.state.field(di,!1)||on(s.startState)!=on(s.state)||e.foldingChanged(s))&&(this.markers=this.buildMarkers(s.view))}buildMarkers(s){let a=new Rr;for(let l of s.viewportLineBlocks){let c=Iu(s.state,l.from,l.to)?r:Fu(s.state,l.from,l.to)?n:null;c&&a.add(l.from,l.from,c)}return a.finish()}}),{domEventHandlers:i}=e;return[o,$3({class:"cm-foldGutter",markers(s){var a;return((a=s.plugin(o))===null||a===void 0?void 0:a.markers)||Qe.empty},initialSpacer(){return new pm(e,!1)},domEventHandlers:{...i,click:(s,a,l)=>{if(i.click&&i.click(s,a,l))return!0;let c=Iu(s.state,a.from,a.to);if(c)return s.dispatch({effects:Ka.of(c)}),!0;let u=Fu(s.state,a.from,a.to);return u?(s.dispatch({effects:Mu.of(u)}),!0):!1}}}),mS()]}const k8=De.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class ls{constructor(e,n){this.specs=e;let r;function o(a){let l=ko.newName();return(r||(r=Object.create(null)))["."+l]=a,l}const i=typeof n.all=="string"?n.all:n.all?o(n.all):void 0,s=n.scope;this.scope=s instanceof fr?a=>a.prop(ss)==s.data:s?a=>a==s:void 0,this.style=OC(e.map(a=>({tag:a.tag,class:a.class||o(Object.assign({},a,{tag:null}))})),{all:i}).style,this.module=r?new ko(r):null,this.themeType=n.themeType}static define(e,n){return new ls(e,n||{})}}const mm=Ne.define(),bS=Ne.define({combine(t){return t.length?[t[0]]:null}});function gm(t){let e=t.facet(mm);return e.length?e:t.facet(bS)}function wm(t,e){let n=[E8],r;return t instanceof ls&&(t.module&&n.push(De.styleModule.of(t.module)),r=t.themeType),e!=null&&e.fallback?n.push(bS.of(t)):r?n.push(mm.computeN([De.darkTheme],o=>o.facet(De.darkTheme)==(r=="dark")?[t]:[])):n.push(mm.of(t)),n}class S8{constructor(e){this.markCache=Object.create(null),this.tree=on(e.state),this.decorations=this.buildDeco(e,gm(e.state)),this.decoratedTo=e.viewport.to}update(e){let n=on(e.state),r=gm(e.state),o=r!=gm(e.startState),{viewport:i}=e.view,s=e.changes.mapPos(this.decoratedTo,1);n.length<i.to&&!o&&n.type==this.tree.type&&s>=i.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(n!=this.tree||e.viewportChanged||o)&&(this.tree=n,this.decorations=this.buildDeco(e.view,r),this.decoratedTo=i.to)}buildDeco(e,n){if(!n||!this.tree.length)return Ie.none;let r=new Rr;for(let{from:o,to:i}of e.visibleRanges)L2(this.tree,n,(s,a,l)=>{r.add(s,a,this.markCache[l]||(this.markCache[l]=Ie.mark({class:l})))},o,i);return r.finish()}}const E8=yo.high(mt.fromClass(S8,{decorations:t=>t.decorations})),x8=ls.define([{tag:V.meta,color:"#404740"},{tag:V.link,textDecoration:"underline"},{tag:V.heading,textDecoration:"underline",fontWeight:"bold"},{tag:V.emphasis,fontStyle:"italic"},{tag:V.strong,fontWeight:"bold"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.keyword,color:"#708"},{tag:[V.atom,V.bool,V.url,V.contentSeparator,V.labelName],color:"#219"},{tag:[V.literal,V.inserted],color:"#164"},{tag:[V.string,V.deleted],color:"#a11"},{tag:[V.regexp,V.escape,V.special(V.string)],color:"#e40"},{tag:V.definition(V.variableName),color:"#00f"},{tag:V.local(V.variableName),color:"#30a"},{tag:[V.typeName,V.namespace],color:"#085"},{tag:V.className,color:"#167"},{tag:[V.special(V.variableName),V.macroName],color:"#256"},{tag:V.definition(V.propertyName),color:"#00c"},{tag:V.comment,color:"#940"},{tag:V.invalid,color:"#f00"}]),D8=De.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),vS=1e4,yS="()[]{}",CS=Ne.define({combine(t){return Nr(t,{afterCursor:!0,brackets:yS,maxScanDistance:vS,renderMatch:O8})}}),_8=Ie.mark({class:"cm-matchingBracket"}),A8=Ie.mark({class:"cm-nonmatchingBracket"});function O8(t){let e=[],n=t.matched?_8:A8;return e.push(n.range(t.start.from,t.start.to)),t.end&&e.push(n.range(t.end.from,t.end.to)),e}const T8=[qt.define({create(){return Ie.none},update(t,e){if(!e.docChanged&&!e.selection)return t;let n=[],r=e.state.facet(CS);for(let o of e.state.selection.ranges){if(!o.empty)continue;let i=Mr(e.state,o.head,-1,r)||o.head>0&&Mr(e.state,o.head-1,1,r)||r.afterCursor&&(Mr(e.state,o.head,1,r)||o.head<e.state.doc.length&&Mr(e.state,o.head+1,-1,r));i&&(n=n.concat(r.renderMatch(i,e.state)))}return Ie.set(n,!0)},provide:t=>De.decorations.from(t)}),D8];function N8(t={}){return[CS.of(t),T8]}const B8=new Je;function bm(t,e,n){let r=t.prop(e<0?Je.openedBy:Je.closedBy);if(r)return r;if(t.name.length==1){let o=n.indexOf(t.name);if(o>-1&&o%2==(e<0?1:0))return[n[o+e]]}return null}function vm(t){let e=t.type.prop(B8);return e?e(t.node):t}function Mr(t,e,n,r={}){let o=r.maxScanDistance||vS,i=r.brackets||yS,s=on(t),a=s.resolveInner(e,n);for(let l=a;l;l=l.parent){let c=bm(l.type,n,i);if(c&&l.from<l.to){let u=vm(l);if(u&&(n>0?e>=u.from&&e<u.to:e>u.from&&e<=u.to))return F8(t,e,n,l,u,c,i)}}return M8(t,e,n,s,a.type,o,i)}function F8(t,e,n,r,o,i,s){let a=r.parent,l={from:o.from,to:o.to},c=0,u=a==null?void 0:a.cursor();if(u&&(n<0?u.childBefore(r.from):u.childAfter(r.to)))do if(n<0?u.to<=r.from:u.from>=r.to){if(c==0&&i.indexOf(u.type.name)>-1&&u.from<u.to){let d=vm(u);return{start:l,end:d?{from:d.from,to:d.to}:void 0,matched:!0}}else if(bm(u.type,n,s))c++;else if(bm(u.type,-n,s)){if(c==0){let d=vm(u);return{start:l,end:d&&d.from<d.to?{from:d.from,to:d.to}:void 0,matched:!1}}c--}}while(n<0?u.prevSibling():u.nextSibling());return{start:l,matched:!1}}function M8(t,e,n,r,o,i,s){let a=n<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(a);if(l<0||l%2==0!=n>0)return null;let c={from:n<0?e-1:e,to:n>0?e+1:e},u=t.doc.iterRange(e,n>0?t.doc.length:0),d=0;for(let f=0;!u.next().done&&f<=i;){let p=u.value;n<0&&(f+=p.length);let m=e+f*n;for(let v=n>0?0:p.length-1,b=n>0?p.length:-1;v!=b;v+=n){let w=s.indexOf(p[v]);if(!(w<0||r.resolveInner(m+v,1).type!=o))if(w%2==0==n>0)d++;else{if(d==1)return{start:c,end:{from:m+v,to:m+v+1},matched:w>>1==l>>1};d--}}n>0&&(f+=p.length)}return u.done?{start:c,matched:!1}:null}const I8=Object.create(null),kS=[Cn.none],SS=[],ES=Object.create(null),P8=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])P8[t]=L8(I8,e);function ym(t,e){SS.indexOf(t)>-1||(SS.push(t),console.warn(e))}function L8(t,e){let n=[];for(let a of e.split(" ")){let l=[];for(let c of a.split(".")){let u=t[c]||V[c];u?typeof u=="function"?l.length?l=l.map(u):ym(c,`Modifier ${c} used at start of tag`):l.length?ym(c,`Tag ${c} used as modifier`):l=Array.isArray(u)?u:[u]:ym(c,`Unknown highlighting tag ${c}`)}for(let c of l)n.push(c)}if(!n.length)return 0;let r=e.replace(/ /g,"_"),o=r+" "+n.map(a=>a.id),i=ES[o];if(i)return i.id;let s=ES[o]=Cn.define({id:kS.length,name:r,props:[_C({[r]:n})]});return kS.push(s),s.id}ct.RTL,ct.LTR;var xS=t=>{var{theme:e,settings:n={},styles:r=[]}=t,o={".cm-gutters":{}},i={};n.background&&(i.backgroundColor=n.background),n.backgroundImage&&(i.backgroundImage=n.backgroundImage),n.foreground&&(i.color=n.foreground),n.fontSize&&(i.fontSize=n.fontSize),(n.background||n.foreground)&&(o["&"]=i),n.fontFamily&&(o["&.cm-editor .cm-scroller"]={fontFamily:n.fontFamily}),n.gutterBackground&&(o[".cm-gutters"].backgroundColor=n.gutterBackground),n.gutterForeground&&(o[".cm-gutters"].color=n.gutterForeground),n.gutterBorder&&(o[".cm-gutters"].borderRightColor=n.gutterBorder),n.caret&&(o[".cm-content"]={caretColor:n.caret},o[".cm-cursor, .cm-dropCursor"]={borderLeftColor:n.caret});var s={};n.gutterActiveForeground&&(s.color=n.gutterActiveForeground),n.lineHighlight&&(o[".cm-activeLine"]={backgroundColor:n.lineHighlight},s.backgroundColor=n.lineHighlight),o[".cm-activeLineGutter"]=s,n.selection&&(o["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:n.selection+" !important"}),n.selectionMatch&&(o["& .cm-selectionMatch"]={backgroundColor:n.selectionMatch});var a=De.theme(o,{dark:e==="dark"}),l=ls.define(r),c=[a,wm(l)];return c},$8={background:"#282828",foreground:"#ebdbb2",caret:"#ebdbb2",selection:"#b99d555c",selectionMatch:"#b99d555c",lineHighlight:"#baa1602b",gutterBackground:"#282828",gutterForeground:"#7c6f64"},z8=[{tag:V.keyword,color:"#fb4934"},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:"#8ec07c"},{tag:[V.variableName],color:"#83a598"},{tag:[V.function(V.variableName)],color:"#b8bb26",fontStyle:"bold"},{tag:[V.labelName],color:"#ebdbb2"},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:"#d3869b"},{tag:[V.definition(V.name),V.separator],color:"#ebdbb2"},{tag:[V.brace],color:"#ebdbb2"},{tag:[V.annotation],color:"#fb4934d"},{tag:[V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:"#d3869b"},{tag:[V.typeName,V.className],color:"#fabd2f"},{tag:[V.operator,V.operatorKeyword],color:"#fb4934"},{tag:[V.tagName],color:"#8ec07c",fontStyle:"bold"},{tag:[V.squareBracket],color:"#fe8019"},{tag:[V.angleBracket],color:"#83a598"},{tag:[V.attributeName],color:"#8ec07c"},{tag:[V.regexp],color:"#8ec07c"},{tag:[V.quote],color:"#928374"},{tag:[V.string],color:"#ebdbb2"},{tag:V.link,color:"#a89984",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[V.url,V.escape,V.special(V.string)],color:"#d3869b"},{tag:[V.meta],color:"#fabd2f"},{tag:[V.comment],color:"#928374",fontStyle:"italic"},{tag:V.strong,fontWeight:"bold",color:"#fe8019"},{tag:V.emphasis,fontStyle:"italic",color:"#b8bb26"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.heading,fontWeight:"bold",color:"#b8bb26"},{tag:[V.heading1,V.heading2],fontWeight:"bold",color:"#b8bb26"},{tag:[V.heading3,V.heading4],fontWeight:"bold",color:"#fabd2f"},{tag:[V.heading5,V.heading6],color:"#fabd2f"},{tag:[V.atom,V.bool,V.special(V.variableName)],color:"#d3869b"},{tag:[V.processingInstruction,V.inserted],color:"#83a598"},{tag:[V.contentSeparator],color:"#fb4934"},{tag:V.invalid,color:"#fe8019",borderBottom:"1px dotted #fb4934d"}],H8=t=>{var{theme:e="dark",settings:n={},styles:r=[]}={};return xS({theme:e,settings:Zo({},$8,n),styles:[...z8,...r]})},Cm=H8(),V8={background:"#fbf1c7",foreground:"#3c3836",caret:"#af3a03",selection:"#bdae9391",selectionMatch:"#bdae9391",lineHighlight:"#a37f2238",gutterBackground:"#ebdbb2",gutterForeground:"#665c54",gutterBorder:"transparent"},j8=t=>{var{theme:e="light",settings:n={},styles:r=[]}={};return xS({theme:e,settings:Zo({},V8,n),styles:[{tag:V.keyword,color:"#9d0006"},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:"#427b58"},{tag:[V.variableName],color:"#076678"},{tag:[V.function(V.variableName)],color:"#79740e",fontStyle:"bold"},{tag:[V.labelName],color:"#3c3836"},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:"#8f3f71"},{tag:[V.definition(V.name),V.separator],color:"#3c3836"},{tag:[V.brace],color:"#3c3836"},{tag:[V.annotation],color:"#9d0006"},{tag:[V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:"#8f3f71"},{tag:[V.typeName,V.className],color:"#b57614"},{tag:[V.operator,V.operatorKeyword],color:"#9d0006"},{tag:[V.tagName],color:"#427b58",fontStyle:"bold"},{tag:[V.squareBracket],color:"#af3a03"},{tag:[V.angleBracket],color:"#076678"},{tag:[V.attributeName],color:"#427b58"},{tag:[V.regexp],color:"#427b58"},{tag:[V.quote],color:"#928374"},{tag:[V.string],color:"#3c3836"},{tag:V.link,color:"#7c6f64",textDecoration:"underline",textUnderlinePosition:"under"},{tag:[V.url,V.escape,V.special(V.string)],color:"#8f3f71"},{tag:[V.meta],color:"#b57614"},{tag:[V.comment],color:"#928374",fontStyle:"italic"},{tag:V.strong,fontWeight:"bold",color:"#af3a03"},{tag:V.emphasis,fontStyle:"italic",color:"#79740e"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.heading,fontWeight:"bold",color:"#79740e"},{tag:[V.heading1,V.heading2],fontWeight:"bold",color:"#79740e"},{tag:[V.heading3,V.heading4],fontWeight:"bold",color:"#b57614"},{tag:[V.heading5,V.heading6],color:"#b57614"},{tag:[V.atom,V.bool,V.special(V.variableName)],color:"#8f3f71"},{tag:[V.processingInstruction,V.inserted],color:"#076678"},{tag:[V.contentSeparator],color:"#9d0006"},{tag:V.invalid,color:"#af3a03",borderBottom:"1px dotted #9d0006"},...r]})};j8();function W8(t,e){if(t==null)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.indexOf(r)!==-1)continue;n[r]=t[r]}return n}const U8=t=>{let{state:e}=t,n=e.doc.lineAt(e.selection.main.from),r=Sm(t.state,n.from);return r.line?q8(t):r.block?R8(t):!1};function km(t,e){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let o=t(e,n);return o?(r(n.update(o)),!0):!1}}const q8=km(X8,0),G8=km(DS,0),R8=km((t,e)=>DS(t,e,Y8(e)),0);function Sm(t,e){let n=t.languageDataAt("commentTokens",e,1);return n.length?n[0]:{}}const Ya=50;function K8(t,{open:e,close:n},r,o){let i=t.sliceDoc(r-Ya,r),s=t.sliceDoc(o,o+Ya),a=/\s*$/.exec(i)[0].length,l=/^\s*/.exec(s)[0].length,c=i.length-a;if(i.slice(c-e.length,c)==e&&s.slice(l,l+n.length)==n)return{open:{pos:r-a,margin:a&&1},close:{pos:o+l,margin:l&&1}};let u,d;o-r<=2*Ya?u=d=t.sliceDoc(r,o):(u=t.sliceDoc(r,r+Ya),d=t.sliceDoc(o-Ya,o));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,m=d.length-p-n.length;return u.slice(f,f+e.length)==e&&d.slice(m,m+n.length)==n?{open:{pos:r+f+e.length,margin:/\s/.test(u.charAt(f+e.length))?1:0},close:{pos:o-p-n.length,margin:/\s/.test(d.charAt(m-1))?1:0}}:null}function Y8(t){let e=[];for(let n of t.selection.ranges){let r=t.doc.lineAt(n.from),o=n.to<=r.to?r:t.doc.lineAt(n.to);o.from>r.from&&o.from==n.to&&(o=n.to==r.to+1?r:t.doc.lineAt(n.to-1));let i=e.length-1;i>=0&&e[i].to>r.from?e[i].to=o.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:o.to})}return e}function DS(t,e,n=e.selection.ranges){let r=n.map(i=>Sm(e,i.from).block);if(!r.every(i=>i))return null;let o=n.map((i,s)=>K8(e,r[s],i.from,i.to));if(t!=2&&!o.every(i=>i))return{changes:e.changes(n.map((i,s)=>o[s]?[]:[{from:i.from,insert:r[s].open+" "},{from:i.to,insert:" "+r[s].close}]))};if(t!=1&&o.some(i=>i)){let i=[];for(let s=0,a;s<o.length;s++)if(a=o[s]){let l=r[s],{open:c,close:u}=a;i.push({from:c.pos-l.open.length,to:c.pos+c.margin},{from:u.pos-u.margin,to:u.pos+l.close.length})}return{changes:i}}return null}function X8(t,e,n=e.selection.ranges){let r=[],o=-1;for(let{from:i,to:s}of n){let a=r.length,l=1e9,c=Sm(e,i).line;if(c){for(let u=i;u<=s;){let d=e.doc.lineAt(u);if(d.from>o&&(i==s||s>d.from)){o=d.from;let f=/^\s*/.exec(d.text)[0].length,p=f==d.length,m=d.text.slice(f,f+c.length)==c?f:-1;f<d.text.length&&f<l&&(l=f),r.push({line:d,comment:m,token:c,indent:f,empty:p,single:!1})}u=d.to+1}if(l<1e9)for(let u=a;u<r.length;u++)r[u].indent<r[u].line.text.length&&(r[u].indent=l);r.length==a+1&&(r[a].single=!0)}}if(t!=2&&r.some(i=>i.comment<0&&(!i.empty||i.single))){let i=[];for(let{line:a,token:l,indent:c,empty:u,single:d}of r)(d||!u)&&i.push({from:a.from+c,insert:l+" "});let s=e.changes(i);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&r.some(i=>i.comment>=0)){let i=[];for(let{line:s,comment:a,token:l}of r)if(a>=0){let c=s.from+a,u=c+l.length;s.text[u-s.from]==" "&&u++,i.push({from:c,to:u})}return{changes:i}}return null}const Em=Tr.define(),J8=Tr.define(),Q8=Ne.define(),_S=Ne.define({combine(t){return Nr(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,n)=>(r,o)=>e(r,o)||n(r,o)})}}),AS=qt.define({create(){return Ir.empty},update(t,e){let n=e.state.facet(_S),r=e.annotation(Em);if(r){let l=xn.fromTransaction(e,r.selection),c=r.side,u=c==0?t.undone:t.done;return l?u=Lu(u,u.length,n.minDepth,l):u=NS(u,e.startState.selection),new Ir(c==0?r.rest:u,c==0?u:r.rest)}let o=e.annotation(J8);if((o=="full"||o=="before")&&(t=t.isolate()),e.annotation(Nt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let i=xn.fromTransaction(e),s=e.annotation(Nt.time),a=e.annotation(Nt.userEvent);return i?t=t.addChanges(i,s,a,n,e):e.selection&&(t=t.addSelection(e.startState.selection,s,a,n.newGroupDelay)),(o=="full"||o=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Ir(t.done.map(xn.fromJSON),t.undone.map(xn.fromJSON))}});function Z8(t={}){return[AS,_S.of(t),De.domEventHandlers({beforeinput(e,n){let r=e.inputType=="historyUndo"?OS:e.inputType=="historyRedo"?xm:null;return r?(e.preventDefault(),r(n)):!1}})]}function Pu(t,e){return function({state:n,dispatch:r}){if(!e&&n.readOnly)return!1;let o=n.field(AS,!1);if(!o)return!1;let i=o.pop(t,n,e);return i?(r(i),!0):!1}}const OS=Pu(0,!1),xm=Pu(1,!1),e$=Pu(0,!0),t$=Pu(1,!0);class xn{constructor(e,n,r,o,i){this.changes=e,this.effects=n,this.mapped=r,this.startSelection=o,this.selectionsAfter=i}setSelAfter(e){return new xn(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,n,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(o=>o.toJSON())}}static fromJSON(e){return new xn(e.changes&&Ht.fromJSON(e.changes),[],e.mapped&&Or.fromJSON(e.mapped),e.startSelection&&ae.fromJSON(e.startSelection),e.selectionsAfter.map(ae.fromJSON))}static fromTransaction(e,n){let r=Xn;for(let o of e.startState.facet(Q8)){let i=o(e);i.length&&(r=r.concat(i))}return!r.length&&e.changes.empty?null:new xn(e.changes.invert(e.startState.doc),r,void 0,n||e.startState.selection,Xn)}static selection(e){return new xn(void 0,Xn,void 0,void 0,e)}}function Lu(t,e,n,r){let o=e+1>n+20?e-n-1:0,i=t.slice(o,e);return i.push(r),i}function n$(t,e){let n=[],r=!1;return t.iterChangedRanges((o,i)=>n.push(o,i)),e.iterChangedRanges((o,i,s,a)=>{for(let l=0;l<n.length;){let c=n[l++],u=n[l++];a>=c&&s<=u&&(r=!0)}}),r}function r$(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((n,r)=>n.empty!=e.ranges[r].empty).length===0}function TS(t,e){return t.length?e.length?t.concat(e):t:e}const Xn=[],o$=200;function NS(t,e){if(t.length){let n=t[t.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-o$));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),Lu(t,t.length-1,1e9,n.setSelAfter(r)))}else return[xn.selection([e])]}function i$(t){let e=t[t.length-1],n=t.slice();return n[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),n}function Dm(t,e){if(!t.length)return t;let n=t.length,r=Xn;for(;n;){let o=s$(t[n-1],e,r);if(o.changes&&!o.changes.empty||o.effects.length){let i=t.slice(0,n);return i[n-1]=o,i}else e=o.mapped,n--,r=o.selectionsAfter}return r.length?[xn.selection(r)]:Xn}function s$(t,e,n){let r=TS(t.selectionsAfter.length?t.selectionsAfter.map(a=>a.map(e)):Xn,n);if(!t.changes)return xn.selection(r);let o=t.changes.map(e),i=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(i):i;return new xn(o,qe.mapEffects(t.effects,e),s,t.startSelection.map(i),r)}const a$=/^(input\.type|delete)($|\.)/;class Ir{constructor(e,n,r=0,o=void 0){this.done=e,this.undone=n,this.prevTime=r,this.prevUserEvent=o}isolate(){return this.prevTime?new Ir(this.done,this.undone):this}addChanges(e,n,r,o,i){let s=this.done,a=s[s.length-1];return a&&a.changes&&!a.changes.empty&&e.changes&&(!r||a$.test(r))&&(!a.selectionsAfter.length&&n-this.prevTime<o.newGroupDelay&&o.joinToEvent(i,n$(a.changes,e.changes))||r=="input.type.compose")?s=Lu(s,s.length-1,o.minDepth,new xn(e.changes.compose(a.changes),TS(qe.mapEffects(e.effects,a.changes),a.effects),a.mapped,a.startSelection,Xn)):s=Lu(s,s.length,o.minDepth,e),new Ir(s,Xn,n,r)}addSelection(e,n,r,o){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Xn;return i.length>0&&n-this.prevTime<o&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&r$(i[i.length-1],e)?this:new Ir(NS(this.done,e),this.undone,n,r)}addMapping(e){return new Ir(Dm(this.done,e),Dm(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,n,r){let o=e==0?this.done:this.undone;if(o.length==0)return null;let i=o[o.length-1],s=i.selectionsAfter[0]||n.selection;if(r&&i.selectionsAfter.length)return n.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Em.of({side:e,rest:i$(o),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(i.changes){let a=o.length==1?Xn:o.slice(0,o.length-1);return i.mapped&&(a=Dm(a,i.mapped)),n.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Em.of({side:e,rest:a,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}}Ir.empty=new Ir(Xn,Xn);const l$=[{key:"Mod-z",run:OS,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:xm,preventDefault:!0},{linux:"Ctrl-Shift-z",run:xm,preventDefault:!0},{key:"Mod-u",run:e$,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:t$,preventDefault:!0}];function cs(t,e){return ae.create(t.ranges.map(e),t.mainIndex)}function hr(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function pr({state:t,dispatch:e},n){let r=cs(t.selection,n);return r.eq(t.selection,!0)?!1:(e(hr(t,r)),!0)}function $u(t,e){return ae.cursor(e?t.to:t.from)}function BS(t,e){return pr(t,n=>n.empty?t.moveByChar(n,e):$u(n,e))}function sn(t){return t.textDirectionAt(t.state.selection.main.head)==ct.LTR}const FS=t=>BS(t,!sn(t)),MS=t=>BS(t,sn(t));function IS(t,e){return pr(t,n=>n.empty?t.moveByGroup(n,e):$u(n,e))}const c$=t=>IS(t,!sn(t)),u$=t=>IS(t,sn(t));function d$(t,e,n){if(e.type.prop(n))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function zu(t,e,n){let r=on(t).resolveInner(e.head),o=n?Je.closedBy:Je.openedBy;for(let l=e.head;;){let c=n?r.childAfter(l):r.childBefore(l);if(!c)break;d$(t,c,o)?r=c:l=n?c.to:c.from}let i=r.type.prop(o),s,a;return i&&(s=n?Mr(t,r.from,1):Mr(t,r.to,-1))&&s.matched?a=n?s.end.to:s.end.from:a=n?r.to:r.from,ae.cursor(a,n?-1:1)}const f$=t=>pr(t,e=>zu(t.state,e,!sn(t))),h$=t=>pr(t,e=>zu(t.state,e,sn(t)));function PS(t,e){return pr(t,n=>{if(!n.empty)return $u(n,e);let r=t.moveVertically(n,e);return r.head!=n.head?r:t.moveToLineBoundary(n,e)})}const LS=t=>PS(t,!1),$S=t=>PS(t,!0);function zS(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,n=0,r=0,o;if(e){for(let i of t.state.facet(De.scrollMargins)){let s=i(t);s!=null&&s.top&&(n=Math.max(s==null?void 0:s.top,n)),s!=null&&s.bottom&&(r=Math.max(s==null?void 0:s.bottom,r))}o=t.scrollDOM.clientHeight-n-r}else o=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:e,height:Math.max(t.defaultLineHeight,o-5)}}function HS(t,e){let n=zS(t),{state:r}=t,o=cs(r.selection,s=>s.empty?t.moveVertically(s,e,n.height):$u(s,e));if(o.eq(r.selection))return!1;let i;if(n.selfScroll){let s=t.coordsAtPos(r.selection.main.head),a=t.scrollDOM.getBoundingClientRect(),l=a.top+n.marginTop,c=a.bottom-n.marginBottom;s&&s.top>l&&s.bottom<c&&(i=De.scrollIntoView(o.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(hr(r,o),{effects:i}),!0}const VS=t=>HS(t,!1),_m=t=>HS(t,!0);function Ao(t,e,n){let r=t.lineBlockAt(e.head),o=t.moveToLineBoundary(e,n);if(o.head==e.head&&o.head!=(n?r.to:r.from)&&(o=t.moveToLineBoundary(e,n,!1)),!n&&o.head==r.from&&r.length){let i=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;i&&e.head!=r.from+i&&(o=ae.cursor(r.from+i))}return o}const p$=t=>pr(t,e=>Ao(t,e,!0)),m$=t=>pr(t,e=>Ao(t,e,!1)),g$=t=>pr(t,e=>Ao(t,e,!sn(t))),w$=t=>pr(t,e=>Ao(t,e,sn(t))),b$=t=>pr(t,e=>ae.cursor(t.lineBlockAt(e.head).from,1)),v$=t=>pr(t,e=>ae.cursor(t.lineBlockAt(e.head).to,-1));function y$(t,e,n){let r=!1,o=cs(t.selection,i=>{let s=Mr(t,i.head,-1)||Mr(t,i.head,1)||i.head>0&&Mr(t,i.head-1,1)||i.head<t.doc.length&&Mr(t,i.head+1,-1);if(!s||!s.end)return i;r=!0;let a=s.start.from==i.head?s.end.to:s.end.from;return ae.cursor(a)});return r?(e(hr(t,o)),!0):!1}const C$=({state:t,dispatch:e})=>y$(t,e);function Jn(t,e){let n=cs(t.state.selection,r=>{let o=e(r);return ae.range(r.anchor,o.head,o.goalColumn,o.bidiLevel||void 0)});return n.eq(t.state.selection)?!1:(t.dispatch(hr(t.state,n)),!0)}function jS(t,e){return Jn(t,n=>t.moveByChar(n,e))}const WS=t=>jS(t,!sn(t)),US=t=>jS(t,sn(t));function qS(t,e){return Jn(t,n=>t.moveByGroup(n,e))}const k$=t=>qS(t,!sn(t)),S$=t=>qS(t,sn(t)),E$=t=>Jn(t,e=>zu(t.state,e,!sn(t))),x$=t=>Jn(t,e=>zu(t.state,e,sn(t)));function GS(t,e){return Jn(t,n=>t.moveVertically(n,e))}const RS=t=>GS(t,!1),KS=t=>GS(t,!0);function YS(t,e){return Jn(t,n=>t.moveVertically(n,e,zS(t).height))}const XS=t=>YS(t,!1),JS=t=>YS(t,!0),D$=t=>Jn(t,e=>Ao(t,e,!0)),_$=t=>Jn(t,e=>Ao(t,e,!1)),A$=t=>Jn(t,e=>Ao(t,e,!sn(t))),O$=t=>Jn(t,e=>Ao(t,e,sn(t))),T$=t=>Jn(t,e=>ae.cursor(t.lineBlockAt(e.head).from)),N$=t=>Jn(t,e=>ae.cursor(t.lineBlockAt(e.head).to)),QS=({state:t,dispatch:e})=>(e(hr(t,{anchor:0})),!0),ZS=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.doc.length})),!0),eE=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.selection.main.anchor,head:0})),!0),tE=({state:t,dispatch:e})=>(e(hr(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),B$=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),F$=({state:t,dispatch:e})=>{let n=Vu(t).map(({from:r,to:o})=>ae.range(r,Math.min(o+1,t.doc.length)));return e(t.update({selection:ae.create(n),userEvent:"select"})),!0},M$=({state:t,dispatch:e})=>{let n=cs(t.selection,r=>{let o=on(t),i=o.resolveStack(r.from,1);if(r.empty){let s=o.resolveStack(r.from,-1);s.node.from>=i.node.from&&s.node.to<=i.node.to&&(i=s)}for(let s=i;s;s=s.next){let{node:a}=s;if((a.from<r.from&&a.to>=r.to||a.to>r.to&&a.from<=r.from)&&s.next)return ae.range(a.to,a.from)}return r});return n.eq(t.selection)?!1:(e(hr(t,n)),!0)};function nE(t,e){let{state:n}=t,r=n.selection,o=n.selection.ranges.slice();for(let i of n.selection.ranges){let s=n.doc.lineAt(i.head);if(e?s.to<t.state.doc.length:s.from>0)for(let a=i;;){let l=t.moveVertically(a,e);if(l.head<s.from||l.head>s.to){o.some(c=>c.head==l.head)||o.push(l);break}else{if(l.head==a.head)break;a=l}}}return o.length==r.ranges.length?!1:(t.dispatch(hr(n,ae.create(o,o.length-1))),!0)}const I$=t=>nE(t,!1),P$=t=>nE(t,!0),L$=({state:t,dispatch:e})=>{let n=t.selection,r=null;return n.ranges.length>1?r=ae.create([n.main]):n.main.empty||(r=ae.create([ae.cursor(n.main.head)])),r?(e(hr(t,r)),!0):!1};function Xa(t,e){if(t.state.readOnly)return!1;let n="delete.selection",{state:r}=t,o=r.changeByRange(i=>{let{from:s,to:a}=i;if(s==a){let l=e(i);l<s?(n="delete.backward",l=Hu(t,l,!1)):l>s&&(n="delete.forward",l=Hu(t,l,!0)),s=Math.min(s,l),a=Math.max(a,l)}else s=Hu(t,s,!1),a=Hu(t,a,!0);return s==a?{range:i}:{changes:{from:s,to:a},range:ae.cursor(s,s<i.head?-1:1)}});return o.changes.empty?!1:(t.dispatch(r.update(o,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?De.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function Hu(t,e,n){if(t instanceof De)for(let r of t.state.facet(De.atomicRanges).map(o=>o(t)))r.between(e,e,(o,i)=>{o<e&&i>e&&(e=n?i:o)});return e}const rE=(t,e,n)=>Xa(t,r=>{let o=r.from,{state:i}=t,s=i.doc.lineAt(o),a,l;if(n&&!e&&o>s.from&&o<s.from+200&&!/[^ \t]/.test(a=s.text.slice(0,o-s.from))){if(a[a.length-1]==" ")return o-1;let c=Xi(a,i.tabSize),u=c%Nu(i)||Nu(i);for(let d=0;d<u&&a[a.length-1-d]==" ";d++)o--;l=o}else l=zt(s.text,o-s.from,e,e)+s.from,l==o&&s.number!=(e?i.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,o-s.from))&&(l=zt(s.text,l-s.from,!1,!1)+s.from);return l}),Am=t=>rE(t,!1,!0),oE=t=>rE(t,!0,!1),iE=(t,e)=>Xa(t,n=>{let r=n.head,{state:o}=t,i=o.doc.lineAt(r),s=o.charCategorizer(r);for(let a=null;;){if(r==(e?i.to:i.from)){r==n.head&&i.number!=(e?o.doc.lines:1)&&(r+=e?1:-1);break}let l=zt(i.text,r-i.from,e)+i.from,c=i.text.slice(Math.min(r,l)-i.from,Math.max(r,l)-i.from),u=s(c);if(a!=null&&u!=a)break;(c!=" "||r!=n.head)&&(a=u),r=l}return r}),sE=t=>iE(t,!1),$$=t=>iE(t,!0),z$=t=>Xa(t,e=>{let n=t.lineBlockAt(e.head).to;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),H$=t=>Xa(t,e=>{let n=t.moveToLineBoundary(e,!1).head;return e.head>n?n:Math.max(0,e.head-1)}),V$=t=>Xa(t,e=>{let n=t.moveToLineBoundary(e,!0).head;return e.head<n?n:Math.min(t.state.doc.length,e.head+1)}),j$=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:st.of(["",""])},range:ae.cursor(r.from)}));return e(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},W$=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let o=r.from,i=t.doc.lineAt(o),s=o==i.from?o-1:zt(i.text,o-i.from,!1)+i.from,a=o==i.to?o+1:zt(i.text,o-i.from,!0)+i.from;return{changes:{from:s,to:a,insert:t.doc.slice(o,a).append(t.doc.slice(s,o))},range:ae.cursor(a)}});return n.changes.empty?!1:(e(t.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Vu(t){let e=[],n=-1;for(let r of t.selection.ranges){let o=t.doc.lineAt(r.from),i=t.doc.lineAt(r.to);if(!r.empty&&r.to==i.from&&(i=t.doc.lineAt(r.to-1)),n>=o.number){let s=e[e.length-1];s.to=i.to,s.ranges.push(r)}else e.push({from:o.from,to:i.to,ranges:[r]});n=i.number+1}return e}function aE(t,e,n){if(t.readOnly)return!1;let r=[],o=[];for(let i of Vu(t)){if(n?i.to==t.doc.length:i.from==0)continue;let s=t.doc.lineAt(n?i.to+1:i.from-1),a=s.length+1;if(n){r.push({from:i.to,to:s.to},{from:i.from,insert:s.text+t.lineBreak});for(let l of i.ranges)o.push(ae.range(Math.min(t.doc.length,l.anchor+a),Math.min(t.doc.length,l.head+a)))}else{r.push({from:s.from,to:i.from},{from:i.to,insert:t.lineBreak+s.text});for(let l of i.ranges)o.push(ae.range(l.anchor-a,l.head-a))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:ae.create(o,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const U$=({state:t,dispatch:e})=>aE(t,e,!1),q$=({state:t,dispatch:e})=>aE(t,e,!0);function lE(t,e,n){if(t.readOnly)return!1;let r=[];for(let i of Vu(t))n?r.push({from:i.from,insert:t.doc.slice(i.from,i.to)+t.lineBreak}):r.push({from:i.to,insert:t.lineBreak+t.doc.slice(i.from,i.to)});let o=t.changes(r);return e(t.update({changes:o,selection:t.selection.map(o,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const G$=({state:t,dispatch:e})=>lE(t,e,!1),R$=({state:t,dispatch:e})=>lE(t,e,!0),K$=t=>{if(t.state.readOnly)return!1;let{state:e}=t,n=e.changes(Vu(e).map(({from:o,to:i})=>(o>0?o--:i<e.doc.length&&i++,{from:o,to:i}))),r=cs(e.selection,o=>{let i;if(t.lineWrapping){let s=t.lineBlockAt(o.head),a=t.coordsAtPos(o.head,o.assoc||1);a&&(i=s.bottom+t.documentTop-a.bottom+t.defaultLineHeight/2)}return t.moveVertically(o,!0,i)}).map(n);return t.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Y$(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let n=on(t).resolveInner(e),r=n.childBefore(e),o=n.childAfter(e),i;return r&&o&&r.to<=e&&o.from>=e&&(i=r.type.prop(Je.closedBy))&&i.indexOf(o.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(o.from).from&&!/\S/.test(t.sliceDoc(r.to,o.from))?{from:r.to,to:o.from}:null}const cE=uE(!1),X$=uE(!0);function uE(t){return({state:e,dispatch:n})=>{if(e.readOnly)return!1;let r=e.changeByRange(o=>{let{from:i,to:s}=o,a=e.doc.lineAt(i),l=!t&&i==s&&Y$(e,i);t&&(i=s=(s<=a.to?a:e.doc.lineAt(s)).to);let c=new Bu(e,{simulateBreak:i,simulateDoubleBreak:!!l}),u=fm(c,i);for(u==null&&(u=Xi(/^\s*/.exec(e.doc.lineAt(i).text)[0],e.tabSize));s<a.to&&/\s/.test(a.text[s-a.from]);)s++;l?{from:i,to:s}=l:i>a.from&&i<a.from+100&&!/\S/.test(a.text.slice(0,i))&&(i=a.from);let d=["",Ra(e,u)];return l&&d.push(Ra(e,c.lineIndent(a.from,-1))),{changes:{from:i,to:s,insert:st.of(d)},range:ae.cursor(i+1+d[1].length)}});return n(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function Om(t,e){let n=-1;return t.changeByRange(r=>{let o=[];for(let s=r.from;s<=r.to;){let a=t.doc.lineAt(s);a.number>n&&(r.empty||r.to>a.from)&&(e(a,o,r),n=a.number),s=a.to+1}let i=t.changes(o);return{changes:o,range:ae.range(i.mapPos(r.anchor,1),i.mapPos(r.head,1))}})}const J$=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let n=Object.create(null),r=new Bu(t,{overrideIndentation:i=>{let s=n[i];return s??-1}}),o=Om(t,(i,s,a)=>{let l=fm(r,i.from);if(l==null)return;/\S/.test(i.text)||(l=0);let c=/^\s*/.exec(i.text)[0],u=Ra(t,l);(c!=u||a.from<i.from+c.length)&&(n[i.from]=l,s.push({from:i.from,to:i.from+c.length,insert:u}))});return o.changes.empty||e(t.update(o,{userEvent:"indent"})),!0},dE=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Om(t,(n,r)=>{r.push({from:n.from,insert:t.facet(Ga)})}),{userEvent:"input.indent"})),!0),fE=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Om(t,(n,r)=>{let o=/^\s*/.exec(n.text)[0];if(!o)return;let i=Xi(o,t.tabSize),s=0,a=Ra(t,Math.max(0,i-Nu(t)));for(;s<o.length&&s<a.length&&o.charCodeAt(s)==a.charCodeAt(s);)s++;r.push({from:n.from+s,to:n.from+o.length,insert:a.slice(s)})}),{userEvent:"delete.dedent"})),!0),Q$=t=>(t.setTabFocusMode(),!0),Z$=[{key:"Ctrl-b",run:FS,shift:WS,preventDefault:!0},{key:"Ctrl-f",run:MS,shift:US},{key:"Ctrl-p",run:LS,shift:RS},{key:"Ctrl-n",run:$S,shift:KS},{key:"Ctrl-a",run:b$,shift:T$},{key:"Ctrl-e",run:v$,shift:N$},{key:"Ctrl-d",run:oE},{key:"Ctrl-h",run:Am},{key:"Ctrl-k",run:z$},{key:"Ctrl-Alt-h",run:sE},{key:"Ctrl-o",run:j$},{key:"Ctrl-t",run:W$},{key:"Ctrl-v",run:_m}],e5=[{key:"ArrowLeft",run:FS,shift:WS,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:c$,shift:k$,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:g$,shift:A$,preventDefault:!0},{key:"ArrowRight",run:MS,shift:US,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:u$,shift:S$,preventDefault:!0},{mac:"Cmd-ArrowRight",run:w$,shift:O$,preventDefault:!0},{key:"ArrowUp",run:LS,shift:RS,preventDefault:!0},{mac:"Cmd-ArrowUp",run:QS,shift:eE},{mac:"Ctrl-ArrowUp",run:VS,shift:XS},{key:"ArrowDown",run:$S,shift:KS,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ZS,shift:tE},{mac:"Ctrl-ArrowDown",run:_m,shift:JS},{key:"PageUp",run:VS,shift:XS},{key:"PageDown",run:_m,shift:JS},{key:"Home",run:m$,shift:_$,preventDefault:!0},{key:"Mod-Home",run:QS,shift:eE},{key:"End",run:p$,shift:D$,preventDefault:!0},{key:"Mod-End",run:ZS,shift:tE},{key:"Enter",run:cE,shift:cE},{key:"Mod-a",run:B$},{key:"Backspace",run:Am,shift:Am,preventDefault:!0},{key:"Delete",run:oE,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sE,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:$$,preventDefault:!0},{mac:"Mod-Backspace",run:H$,preventDefault:!0},{mac:"Mod-Delete",run:V$,preventDefault:!0}].concat(Z$.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),t5=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:f$,shift:E$},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:h$,shift:x$},{key:"Alt-ArrowUp",run:U$},{key:"Shift-Alt-ArrowUp",run:G$},{key:"Alt-ArrowDown",run:q$},{key:"Shift-Alt-ArrowDown",run:R$},{key:"Mod-Alt-ArrowUp",run:I$},{key:"Mod-Alt-ArrowDown",run:P$},{key:"Escape",run:L$},{key:"Mod-Enter",run:X$},{key:"Alt-l",mac:"Ctrl-l",run:F$},{key:"Mod-i",run:M$,preventDefault:!0},{key:"Mod-[",run:fE},{key:"Mod-]",run:dE},{key:"Mod-Alt-\\",run:J$},{key:"Shift-Mod-k",run:K$},{key:"Shift-Mod-\\",run:C$},{key:"Mod-/",run:U8},{key:"Alt-A",run:G8},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Q$}].concat(e5),n5={key:"Tab",run:dE,shift:fE},hE=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t;class us{constructor(e,n,r=0,o=e.length,i,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(r,o),this.bufferStart=r,this.normalize=i?a=>i(hE(a)):hE,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return kn(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let n=Xh(e),r=this.bufferStart+this.bufferPos;this.bufferPos+=Ar(e);let o=this.normalize(n);if(o.length)for(let i=0,s=r;;i++){let a=o.charCodeAt(i),l=this.match(a,s,this.bufferPos+this.bufferStart);if(i==o.length-1){if(l)return this.value=l,this;break}s==r&&i<n.length&&n.charCodeAt(i)==a&&s++}}}match(e,n,r){let o=null;for(let i=0;i<this.matches.length;i+=2){let s=this.matches[i],a=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?o={from:this.matches[i+1],to:r}:(this.matches[i]++,a=!0)),a||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(this.query.length==1?o={from:n,to:r}:this.matches.push(1,n)),o&&this.test&&!this.test(o.from,o.to,this.buffer,this.bufferStart)&&(o=null),o}}typeof Symbol<"u"&&(us.prototype[Symbol.iterator]=function(){return this});const pE={from:-1,to:-1,match:/.*/.exec("")},Tm="gm"+(/x/.unicode==null?"":"u");class mE{constructor(e,n,r,o=0,i=e.length){if(this.text=e,this.to=i,this.curLine="",this.done=!1,this.value=pE,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new gE(e,n,r,o,i);this.re=new RegExp(n,Tm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.iter=e.iter();let s=e.lineAt(o);this.curLineStart=s.from,this.matchPos=ju(e,o),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,o=r+n[0].length;if(this.matchPos=ju(this.text,o+(r==o?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<o||r>this.value.to)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}}const Nm=new WeakMap;class ds{constructor(e,n){this.from=e,this.text=n}get to(){return this.from+this.text.length}static get(e,n,r){let o=Nm.get(e);if(!o||o.from>=r||o.to<=n){let a=new ds(n,e.sliceString(n,r));return Nm.set(e,a),a}if(o.from==n&&o.to==r)return o;let{text:i,from:s}=o;return s>n&&(i=e.sliceString(n,s)+i,s=n),o.to<r&&(i+=e.sliceString(o.to,r)),Nm.set(e,new ds(s,i)),new ds(n,i.slice(n-s,r-s))}}class gE{constructor(e,n,r,o,i){this.text=e,this.to=i,this.done=!1,this.value=pE,this.matchPos=ju(e,o),this.re=new RegExp(n,Tm+(r!=null&&r.ignoreCase?"i":"")),this.test=r==null?void 0:r.test,this.flat=ds.get(e,o,this.chunkEnd(o+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==e&&(this.re.lastIndex=e+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,o=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,o,n)))return this.value={from:r,to:o,match:n},this.matchPos=ju(this.text,o+(r==o?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=ds.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(mE.prototype[Symbol.iterator]=gE.prototype[Symbol.iterator]=function(){return this});function r5(t){try{return new RegExp(t,Tm),!0}catch{return!1}}function ju(t,e){if(e>=t.length)return e;let n=t.lineAt(e),r;for(;e<n.to&&(r=n.text.charCodeAt(e-n.from))>=56320&&r<57344;)e++;return e}const o5=t=>{let{state:e}=t,n=String(e.doc.lineAt(t.state.selection.main.head).number),{close:r,result:o}=M3(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:e.phrase("go")});return o.then(i=>{let s=i&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(i.elements.line.value);if(!s){t.dispatch({effects:r});return}let a=e.doc.lineAt(e.selection.main.head),[,l,c,u,d]=s,f=u?+u.slice(1):0,p=c?+c:a.number;if(c&&d){let b=p/100;l&&(b=b*(l=="-"?-1:1)+a.number/e.doc.lines),p=Math.round(e.doc.lines*b)}else c&&l&&(p=p*(l=="-"?-1:1)+a.number);let m=e.doc.line(Math.max(1,Math.min(e.doc.lines,p))),v=ae.cursor(m.from+Math.max(0,Math.min(f,m.length)));t.dispatch({effects:[r,De.scrollIntoView(v.from,{y:"center"})],selection:v})}),!0},i5={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},s5=Ne.define({combine(t){return Nr(t,i5,{highlightWordAroundCursor:(e,n)=>e||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function a5(t){return[f5,d5]}const l5=Ie.mark({class:"cm-selectionMatch"}),c5=Ie.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function wE(t,e,n,r){return(n==0||t(e.sliceDoc(n-1,n))!=pt.Word)&&(r==e.doc.length||t(e.sliceDoc(r,r+1))!=pt.Word)}function u5(t,e,n,r){return t(e.sliceDoc(n,n+1))==pt.Word&&t(e.sliceDoc(r-1,r))==pt.Word}const d5=mt.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.selectionSet||t.docChanged||t.viewportChanged)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=t.state.facet(s5),{state:n}=t,r=n.selection;if(r.ranges.length>1)return Ie.none;let o=r.main,i,s=null;if(o.empty){if(!e.highlightWordAroundCursor)return Ie.none;let l=n.wordAt(o.head);if(!l)return Ie.none;s=n.charCategorizer(o.head),i=n.sliceDoc(l.from,l.to)}else{let l=o.to-o.from;if(l<e.minSelectionLength||l>200)return Ie.none;if(e.wholeWords){if(i=n.sliceDoc(o.from,o.to),s=n.charCategorizer(o.head),!(wE(s,n,o.from,o.to)&&u5(s,n,o.from,o.to)))return Ie.none}else if(i=n.sliceDoc(o.from,o.to),!i)return Ie.none}let a=[];for(let l of t.visibleRanges){let c=new us(n.doc,i,l.from,l.to);for(;!c.next().done;){let{from:u,to:d}=c.value;if((!s||wE(s,n,u,d))&&(o.empty&&u<=o.from&&d>=o.to?a.push(c5.range(u,d)):(u>=o.to||d<=o.from)&&a.push(l5.range(u,d)),a.length>e.maxMatches))return Ie.none}}return Ie.set(a)}},{decorations:t=>t.decorations}),f5=De.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),h5=({state:t,dispatch:e})=>{let{selection:n}=t,r=ae.create(n.ranges.map(o=>t.wordAt(o.head)||ae.cursor(o.head)),n.mainIndex);return r.eq(n)?!1:(e(t.update({selection:r})),!0)};function p5(t,e){let{main:n,ranges:r}=t.selection,o=t.wordAt(n.head),i=o&&o.from==n.from&&o.to==n.to;for(let s=!1,a=new us(t.doc,e,r[r.length-1].to);;)if(a.next(),a.done){if(s)return null;a=new us(t.doc,e,0,Math.max(0,r[r.length-1].from-1)),s=!0}else{if(s&&r.some(l=>l.from==a.value.from))continue;if(i){let l=t.wordAt(a.value.from);if(!l||l.from!=a.value.from||l.to!=a.value.to)continue}return a.value}}const m5=({state:t,dispatch:e})=>{let{ranges:n}=t.selection;if(n.some(i=>i.from===i.to))return h5({state:t,dispatch:e});let r=t.sliceDoc(n[0].from,n[0].to);if(t.selection.ranges.some(i=>t.sliceDoc(i.from,i.to)!=r))return!1;let o=p5(t,r);return o?(e(t.update({selection:t.selection.addRange(ae.range(o.from,o.to),!1),effects:De.scrollIntoView(o.to)})),!0):!1},fs=Ne.define({combine(t){return Nr(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new O5(e),scrollToMatch:e=>De.scrollIntoView(e)})}});class bE{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||r5(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
24
+ `:r=="r"?"\r":r=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new C5(this):new b5(this)}getCursor(e,n=0,r){let o=e.doc?e:tt.create({doc:e});return r==null&&(r=o.doc.length),this.regexp?ps(this,o,n,r):hs(this,o,n,r)}}class vE{constructor(e){this.spec=e}}function g5(t,e,n){return(r,o,i,s)=>{if(n&&!n(r,o,i,s))return!1;let a=r>=s&&o<=s+i.length?i.slice(r-s,o-s):e.doc.sliceString(r,o);return t(a,e,r,o)}}function hs(t,e,n,r){let o;return t.wholeWord&&(o=w5(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(o=g5(t.test,e,o)),new us(e.doc,t.unquoted,n,r,t.caseSensitive?void 0:i=>i.toLowerCase(),o)}function w5(t,e){return(n,r,o,i)=>((i>n||i+o.length<r)&&(i=Math.max(0,n-2),o=t.sliceString(i,Math.min(t.length,r+2))),(e(Wu(o,n-i))!=pt.Word||e(Uu(o,n-i))!=pt.Word)&&(e(Uu(o,r-i))!=pt.Word||e(Wu(o,r-i))!=pt.Word))}class b5 extends vE{constructor(e){super(e)}nextMatch(e,n,r){let o=hs(this.spec,e,r,e.doc.length).nextOverlapping();if(o.done){let i=Math.min(e.doc.length,n+this.spec.unquoted.length);o=hs(this.spec,e,0,i).nextOverlapping()}return o.done||o.value.from==n&&o.value.to==r?null:o.value}prevMatchInRange(e,n,r){for(let o=r;;){let i=Math.max(n,o-1e4-this.spec.unquoted.length),s=hs(this.spec,e,i,o),a=null;for(;!s.nextOverlapping().done;)a=s.value;if(a)return a;if(i==n)return null;o-=1e4}}prevMatch(e,n,r){let o=this.prevMatchInRange(e,0,n);return o||(o=this.prevMatchInRange(e,Math.max(0,r-this.spec.unquoted.length),e.doc.length)),o&&(o.from!=n||o.to!=r)?o:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,n){let r=hs(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=hs(this.spec,e,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}function v5(t,e,n){return(r,o,i)=>(!n||n(r,o,i))&&t(i[0],e,r,o)}function ps(t,e,n,r){let o;return t.wholeWord&&(o=y5(e.charCategorizer(e.selection.main.head))),t.test&&(o=v5(t.test,e,o)),new mE(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:o},n,r)}function Wu(t,e){return t.slice(zt(t,e,!1),e)}function Uu(t,e){return t.slice(e,zt(t,e))}function y5(t){return(e,n,r)=>!r[0].length||(t(Wu(r.input,r.index))!=pt.Word||t(Uu(r.input,r.index))!=pt.Word)&&(t(Uu(r.input,r.index+r[0].length))!=pt.Word||t(Wu(r.input,r.index+r[0].length))!=pt.Word)}class C5 extends vE{nextMatch(e,n,r){let o=ps(this.spec,e,r,e.doc.length).next();return o.done&&(o=ps(this.spec,e,0,n).next()),o.done?null:o.value}prevMatchInRange(e,n,r){for(let o=1;;o++){let i=Math.max(n,r-o*1e4),s=ps(this.spec,e,i,r),a=null;for(;!s.next().done;)a=s.value;if(a&&(i==n||a.from>i+10))return a;if(i==n)return null}}prevMatch(e,n,r){return this.prevMatchInRange(e,0,n)||this.prevMatchInRange(e,r,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return e.match[0];if(r=="$")return"$";for(let o=r.length;o>0;o--){let i=+r.slice(0,o);if(i>0&&i<e.match.length)return e.match[i]+r.slice(o)}return n})}matchAll(e,n){let r=ps(this.spec,e,0,e.doc.length),o=[];for(;!r.next().done;){if(o.length>=n)return null;o.push(r.value)}return o}highlight(e,n,r,o){let i=ps(this.spec,e,Math.max(0,n-250),Math.min(r+250,e.doc.length));for(;!i.next().done;)o(i.value.from,i.value.to)}}const Ja=qe.define(),Bm=qe.define(),Oo=qt.define({create(t){return new Fm(Im(t).create(),null)},update(t,e){for(let n of e.effects)n.is(Ja)?t=new Fm(n.value.create(),t.panel):n.is(Bm)&&(t=new Fm(t.query,n.value?Mm:null));return t},provide:t=>Wa.from(t,e=>e.panel)});class Fm{constructor(e,n){this.query=e,this.panel=n}}const k5=Ie.mark({class:"cm-searchMatch"}),S5=Ie.mark({class:"cm-searchMatch cm-searchMatch-selected"}),E5=mt.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Oo))}update(t){let e=t.state.field(Oo);(e!=t.startState.field(Oo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return Ie.none;let{view:n}=this,r=new Rr;for(let o=0,i=n.visibleRanges,s=i.length;o<s;o++){let{from:a,to:l}=i[o];for(;o<s-1&&l>i[o+1].from-500;)l=i[++o].to;t.highlight(n.state,a,l,(c,u)=>{let d=n.state.selection.ranges.some(f=>f.from==c&&f.to==u);r.add(c,u,d?S5:k5)})}return r.finish()}},{decorations:t=>t.decorations});function Qa(t){return e=>{let n=e.state.field(Oo,!1);return n&&n.query.spec.valid?t(e,n):SE(e)}}const qu=Qa((t,{query:e})=>{let{to:n}=t.state.selection.main,r=e.nextMatch(t.state,n,n);if(!r)return!1;let o=ae.single(r.from,r.to),i=t.state.facet(fs);return t.dispatch({selection:o,effects:[Pm(t,r),i.scrollToMatch(o.main,t)],userEvent:"select.search"}),kE(t),!0}),Gu=Qa((t,{query:e})=>{let{state:n}=t,{from:r}=n.selection.main,o=e.prevMatch(n,r,r);if(!o)return!1;let i=ae.single(o.from,o.to),s=t.state.facet(fs);return t.dispatch({selection:i,effects:[Pm(t,o),s.scrollToMatch(i.main,t)],userEvent:"select.search"}),kE(t),!0}),x5=Qa((t,{query:e})=>{let n=e.matchAll(t.state,1e3);return!n||!n.length?!1:(t.dispatch({selection:ae.create(n.map(r=>ae.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),D5=({state:t,dispatch:e})=>{let n=t.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:o}=n.main,i=[],s=0;for(let a=new us(t.doc,t.sliceDoc(r,o));!a.next().done;){if(i.length>1e3)return!1;a.value.from==r&&(s=i.length),i.push(ae.range(a.value.from,a.value.to))}return e(t.update({selection:ae.create(i,s),userEvent:"select.search.matches"})),!0},yE=Qa((t,{query:e})=>{let{state:n}=t,{from:r,to:o}=n.selection.main;if(n.readOnly)return!1;let i=e.nextMatch(n,r,r);if(!i)return!1;let s=i,a=[],l,c,u=[];s.from==r&&s.to==o&&(c=n.toText(e.getReplacement(s)),a.push({from:s.from,to:s.to,insert:c}),s=e.nextMatch(n,s.from,s.to),u.push(De.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+".")));let d=t.state.changes(a);return s&&(l=ae.single(s.from,s.to).map(d),u.push(Pm(t,s)),u.push(n.facet(fs).scrollToMatch(l.main,t))),t.dispatch({changes:d,selection:l,effects:u,userEvent:"input.replace"}),!0}),_5=Qa((t,{query:e})=>{if(t.state.readOnly)return!1;let n=e.matchAll(t.state,1e9).map(o=>{let{from:i,to:s}=o;return{from:i,to:s,insert:e.getReplacement(o)}});if(!n.length)return!1;let r=t.state.phrase("replaced $ matches",n.length)+".";return t.dispatch({changes:n,effects:De.announce.of(r),userEvent:"input.replace.all"}),!0});function Mm(t){return t.state.facet(fs).createPanel(t)}function Im(t,e){var n,r,o,i,s;let a=t.selection.main,l=a.empty||a.to>a.from+100?"":t.sliceDoc(a.from,a.to);if(e&&!l)return e;let c=t.facet(fs);return new bE({search:((n=e==null?void 0:e.literal)!==null&&n!==void 0?n:c.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(r=e==null?void 0:e.caseSensitive)!==null&&r!==void 0?r:c.caseSensitive,literal:(o=e==null?void 0:e.literal)!==null&&o!==void 0?o:c.literal,regexp:(i=e==null?void 0:e.regexp)!==null&&i!==void 0?i:c.regexp,wholeWord:(s=e==null?void 0:e.wholeWord)!==null&&s!==void 0?s:c.wholeWord})}function CE(t){let e=im(t,Mm);return e&&e.dom.querySelector("[main-field]")}function kE(t){let e=CE(t);e&&e==t.root.activeElement&&e.select()}const SE=t=>{let e=t.state.field(Oo,!1);if(e&&e.panel){let n=CE(t);if(n&&n!=t.root.activeElement){let r=Im(t.state,e.query.spec);r.valid&&t.dispatch({effects:Ja.of(r)}),n.focus(),n.select()}}else t.dispatch({effects:[Bm.of(!0),e?Ja.of(Im(t.state,e.query.spec)):qe.appendConfig.of(N5)]});return!0},EE=t=>{let e=t.state.field(Oo,!1);if(!e||!e.panel)return!1;let n=im(t,Mm);return n&&n.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Bm.of(!1)}),!0},A5=[{key:"Mod-f",run:SE,scope:"editor search-panel"},{key:"F3",run:qu,shift:Gu,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:qu,shift:Gu,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:EE,scope:"editor search-panel"},{key:"Mod-Shift-l",run:D5},{key:"Mod-Alt-g",run:o5},{key:"Mod-d",run:m5,preventDefault:!0}];class O5{constructor(e){this.view=e;let n=this.query=e.state.field(Oo).query.spec;this.commit=this.commit.bind(this),this.searchField=at("input",{value:n.search,placeholder:Fn(e,"Find"),"aria-label":Fn(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=at("input",{value:n.replace,placeholder:Fn(e,"Replace"),"aria-label":Fn(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=at("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=at("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=at("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(o,i,s){return at("button",{class:"cm-button",name:o,onclick:i,type:"button"},s)}this.dom=at("div",{onkeydown:o=>this.keydown(o),class:"cm-search"},[this.searchField,r("next",()=>qu(e),[Fn(e,"next")]),r("prev",()=>Gu(e),[Fn(e,"previous")]),r("select",()=>x5(e),[Fn(e,"all")]),at("label",null,[this.caseField,Fn(e,"match case")]),at("label",null,[this.reField,Fn(e,"regexp")]),at("label",null,[this.wordField,Fn(e,"by word")]),...e.state.readOnly?[]:[at("br"),this.replaceField,r("replace",()=>yE(e),[Fn(e,"replace")]),r("replaceAll",()=>_5(e),[Fn(e,"replace all")])],at("button",{name:"close",onclick:()=>EE(e),"aria-label":Fn(e,"close"),type:"button"},["×"])])}commit(){let e=new bE({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:Ja.of(e)}))}keydown(e){G4(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?Gu:qu)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),yE(this.view))}update(e){for(let n of e.transactions)for(let r of n.effects)r.is(Ja)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(fs).top}}function Fn(t,e){return t.state.phrase(e)}const Ru=30,Ku=/[\s\.,:;?!]/;function Pm(t,{from:e,to:n}){let r=t.state.doc.lineAt(e),o=t.state.doc.lineAt(n).to,i=Math.max(r.from,e-Ru),s=Math.min(o,n+Ru),a=t.state.sliceDoc(i,s);if(i!=r.from){for(let l=0;l<Ru;l++)if(!Ku.test(a[l+1])&&Ku.test(a[l])){a=a.slice(l);break}}if(s!=o){for(let l=a.length-1;l>a.length-Ru;l--)if(!Ku.test(a[l-1])&&Ku.test(a[l])){a=a.slice(0,l);break}}return De.announce.of(`${t.state.phrase("current match")}. ${a} ${t.state.phrase("on line")} ${r.number}.`)}const T5=De.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),N5=[Oo,yo.low(E5),T5];class xE{constructor(e,n,r,o){this.state=e,this.pos=n,this.explicit=r,this.view=o,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let n=on(this.state).resolveInner(this.pos,-1);for(;n&&e.indexOf(n.name)<0;)n=n.parent;return n?{from:n.from,to:this.pos,text:this.state.sliceDoc(n.from,this.pos),type:n.type}:null}matchBefore(e){let n=this.state.doc.lineAt(this.pos),r=Math.max(n.from,this.pos-250),o=n.text.slice(r-n.from,this.pos-n.from),i=o.search(AE(e,!1));return i<0?null:{from:r+i,to:this.pos,text:o.slice(i)}}get aborted(){return this.abortListeners==null}addEventListener(e,n,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(n),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function DE(t){let e=Object.keys(t).join(""),n=/\w/.test(e);return n&&(e=e.replace(/\w/g,"")),`[${n?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function B5(t){let e=Object.create(null),n=Object.create(null);for(let{label:o}of t){e[o[0]]=!0;for(let i=1;i<o.length;i++)n[o[i]]=!0}let r=DE(e)+DE(n)+"*$";return[new RegExp("^"+r),new RegExp(r)]}function F5(t){let e=t.map(o=>typeof o=="string"?{label:o}:o),[n,r]=e.every(o=>/^\w+$/.test(o.label))?[/\w*$/,/\w+$/]:B5(e);return o=>{let i=o.matchBefore(r);return i||o.explicit?{from:i?i.from:o.pos,options:e,validFor:n}:null}}let _E=class{constructor(e,n,r,o){this.completion=e,this.source=n,this.match=r,this.score=o}};function fi(t){return t.selection.main.from}function AE(t,e){var n;let{source:r}=t,o=e&&r[0]!="^",i=r[r.length-1]!="$";return!o&&!i?t:new RegExp(`${o?"^":""}(?:${r})${i?"$":""}`,(n=t.flags)!==null&&n!==void 0?n:t.ignoreCase?"i":"")}const Lm=Tr.define();function M5(t,e,n,r){let{main:o}=t.selection,i=n-o.from,s=r-o.from;return{...t.changeByRange(a=>{if(a!=o&&n!=r&&t.sliceDoc(a.from+i,a.from+s)!=t.sliceDoc(n,r))return{range:a};let l=t.toText(e);return{changes:{from:a.from+i,to:r==o.from?a.to:a.from+s,insert:l},range:ae.cursor(a.from+i+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}const OE=new WeakMap;function I5(t){if(!Array.isArray(t))return t;let e=OE.get(t);return e||OE.set(t,e=F5(t)),e}const Yu=qe.define(),Za=qe.define();class P5{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let n=0;n<e.length;){let r=kn(e,n),o=Ar(r);this.chars.push(r);let i=e.slice(n,n+o),s=i.toUpperCase();this.folded.push(kn(s==i?i.toLowerCase():s,0)),n+=o}this.astral=e.length!=this.chars.length}ret(e,n){return this.score=e,this.matched=n,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:n,folded:r,any:o,precise:i,byWord:s}=this;if(n.length==1){let g=kn(e,0),C=Ar(g),k=C==e.length?0:-100;if(g!=n[0])if(g==r[0])k+=-200;else return null;return this.ret(k,[0,C])}let a=e.indexOf(this.pattern);if(a==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=n.length,c=0;if(a<0){for(let g=0,C=Math.min(e.length,200);g<C&&c<l;){let k=kn(e,g);(k==n[c]||k==r[c])&&(o[c++]=g),g+=Ar(k)}if(c<l)return null}let u=0,d=0,f=!1,p=0,m=-1,v=-1,b=/[a-z]/.test(e),w=!0;for(let g=0,C=Math.min(e.length,200),k=0;g<C&&d<l;){let _=kn(e,g);a<0&&(u<l&&_==n[u]&&(i[u++]=g),p<l&&(_==n[p]||_==r[p]?(p==0&&(m=g),v=g+1,p++):p=0));let S,E=_<255?_>=48&&_<=57||_>=97&&_<=122?2:_>=65&&_<=90?1:0:(S=Xh(_))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!g||E==1&&b||k==0&&E!=0)&&(n[d]==_||r[d]==_&&(f=!0)?s[d++]=g:s.length&&(w=!1)),k=E,g+=Ar(_)}return d==l&&s[0]==0&&w?this.result(-100+(f?-200:0),s,e):p==l&&m==0?this.ret(-200-e.length+(v==e.length?0:-100),[0,v]):a>-1?this.ret(-700-e.length,[a,a+this.pattern.length]):p==l?this.ret(-900-e.length,[m,v]):d==l?this.result(-100+(f?-200:0)+-700+(w?0:-1100),s,e):n.length==2?null:this.result((o[0]?-700:0)+-200+-1100,o,e)}result(e,n,r){let o=[],i=0;for(let s of n){let a=s+(this.astral?Ar(kn(r,s)):1);i&&o[i-1]==s?o[i-1]=a:(o[i++]=s,o[i++]=a)}return this.ret(e-r.length,o)}}class L5{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let n=e.slice(0,this.pattern.length),r=n==this.pattern?0:n.toLowerCase()==this.folded?-200:null;return r==null?null:(this.matched=[0,n.length],this.score=r+(e.length==this.pattern.length?0:-100),this)}}const Gt=Ne.define({combine(t){return Nr(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:$5,filterStrict:!1,compareCompletions:(e,n)=>(e.sortText||e.label).localeCompare(n.sortText||n.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,n)=>e&&n,closeOnBlur:(e,n)=>e&&n,icons:(e,n)=>e&&n,tooltipClass:(e,n)=>r=>TE(e(r),n(r)),optionClass:(e,n)=>r=>TE(e(r),n(r)),addToOptions:(e,n)=>e.concat(n),filterStrict:(e,n)=>e||n})}});function TE(t,e){return t?e?t+" "+e:t:e}function $5(t,e,n,r,o,i){let s=t.textDirection==ct.RTL,a=s,l=!1,c="top",u,d,f=e.left-o.left,p=o.right-e.right,m=r.right-r.left,v=r.bottom-r.top;if(a&&f<Math.min(m,p)?a=!1:!a&&p<Math.min(m,f)&&(a=!0),m<=(a?f:p))u=Math.max(o.top,Math.min(n.top,o.bottom-v))-e.top,d=Math.min(400,a?f:p);else{l=!0,d=Math.min(400,(s?e.right:o.right-e.left)-30);let g=o.bottom-e.bottom;g>=v||g>e.top?u=n.bottom-e.top:(c="bottom",u=e.bottom-n.top)}let b=(e.bottom-e.top)/i.offsetHeight,w=(e.right-e.left)/i.offsetWidth;return{style:`${c}: ${u/b}px; max-width: ${d/w}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":a?"left":"right")}}function z5(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(n){let r=document.createElement("div");return r.classList.add("cm-completionIcon"),n.type&&r.classList.add(...n.type.split(/\s+/g).map(o=>"cm-completionIcon-"+o)),r.setAttribute("aria-hidden","true"),r},position:20}),e.push({render(n,r,o,i){let s=document.createElement("span");s.className="cm-completionLabel";let a=n.displayLabel||n.label,l=0;for(let c=0;c<i.length;){let u=i[c++],d=i[c++];u>l&&s.appendChild(document.createTextNode(a.slice(l,u)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(a.slice(u,d))),f.className="cm-completionMatchedText",l=d}return l<a.length&&s.appendChild(document.createTextNode(a.slice(l))),s},position:50},{render(n){if(!n.detail)return null;let r=document.createElement("span");return r.className="cm-completionDetail",r.textContent=n.detail,r},position:80}),e.sort((n,r)=>n.position-r.position).map(n=>n.render)}function $m(t,e,n){if(t<=n)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let o=Math.floor(e/n);return{from:o*n,to:(o+1)*n}}let r=Math.floor((t-e)/n);return{from:t-(r+1)*n,to:t-r*n}}class H5{constructor(e,n,r){this.view=e,this.stateField=n,this.applyCompletion=r,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let o=e.state.field(n),{options:i,selected:s}=o.open,a=e.state.facet(Gt);this.optionContent=z5(a),this.optionClass=a.optionClass,this.tooltipClass=a.tooltipClass,this.range=$m(i.length,s,a.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:c}=e.state.field(n).open;for(let u=l.target,d;u&&u!=this.dom;u=u.parentNode)if(u.nodeName=="LI"&&(d=/-(\d+)$/.exec(u.id))&&+d[1]<c.length){this.applyCompletion(e,c[+d[1]]),l.preventDefault();return}}),this.dom.addEventListener("focusout",l=>{let c=e.state.field(this.stateField,!1);c&&c.tooltip&&e.state.facet(Gt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:Za.of(null)})}),this.showOptions(i,o.id)}mount(){this.updateSel()}showOptions(e,n){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,n,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var n;let r=e.state.field(this.stateField),o=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),r!=o){let{options:i,selected:s,disabled:a}=r.open;(!o.open||o.open.options!=i)&&(this.range=$m(i.length,s,e.state.facet(Gt).maxRenderedOptions),this.showOptions(i,r.id)),this.updateSel(),a!=((n=o.open)===null||n===void 0?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!a)}}updateTooltipClass(e){let n=this.tooltipClass(e);if(n!=this.currentClass){for(let r of this.currentClass.split(" "))r&&this.dom.classList.remove(r);for(let r of n.split(" "))r&&this.dom.classList.add(r);this.currentClass=n}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),n=e.open;(n.selected>-1&&n.selected<this.range.from||n.selected>=this.range.to)&&(this.range=$m(n.options.length,n.selected,this.view.state.facet(Gt).maxRenderedOptions),this.showOptions(n.options,e.id));let r=this.updateSelectedOption(n.selected);if(r){this.destroyInfo();let{completion:o}=n.options[n.selected],{info:i}=o;if(!i)return;let s=typeof i=="string"?document.createTextNode(i):i(o);if(!s)return;"then"in s?s.then(a=>{a&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(a,o)}).catch(a=>Sn(this.view.state,a,"completion info")):(this.addInfoPane(s,o),r.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,n){this.destroyInfo();let r=this.info=document.createElement("div");if(r.className="cm-tooltip cm-completionInfo",r.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)r.appendChild(e),this.infoDestroy=null;else{let{dom:o,destroy:i}=e;r.appendChild(o),this.infoDestroy=i||null}this.dom.appendChild(r),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let n=null;for(let r=this.list.firstChild,o=this.range.from;r;r=r.nextSibling,o++)r.nodeName!="LI"||!r.id?o--:o==e?r.hasAttribute("aria-selected")||(r.setAttribute("aria-selected","true"),n=r):r.hasAttribute("aria-selected")&&(r.removeAttribute("aria-selected"),r.removeAttribute("aria-describedby"));return n&&j5(this.list,n),n}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let n=this.dom.getBoundingClientRect(),r=this.info.getBoundingClientRect(),o=e.getBoundingClientRect(),i=this.space;if(!i){let s=this.dom.ownerDocument.documentElement;i={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return o.top>Math.min(i.bottom,n.bottom)-10||o.bottom<Math.max(i.top,n.top)+10?null:this.view.state.facet(Gt).positionInfo(this.view,n,o,r,i,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,n,r){const o=document.createElement("ul");o.id=n,o.setAttribute("role","listbox"),o.setAttribute("aria-expanded","true"),o.setAttribute("aria-label",this.view.state.phrase("Completions")),o.addEventListener("mousedown",s=>{s.target==o&&s.preventDefault()});let i=null;for(let s=r.from;s<r.to;s++){let{completion:a,match:l}=e[s],{section:c}=a;if(c){let f=typeof c=="string"?c:c.name;if(f!=i&&(s>r.from||r.from==0))if(i=f,typeof c!="string"&&c.header)o.appendChild(c.header(c));else{let p=o.appendChild(document.createElement("completion-section"));p.textContent=f}}const u=o.appendChild(document.createElement("li"));u.id=n+"-"+s,u.setAttribute("role","option");let d=this.optionClass(a);d&&(u.className=d);for(let f of this.optionContent){let p=f(a,this.view.state,this.view,l);p&&u.appendChild(p)}}return r.from&&o.classList.add("cm-completionListIncompleteTop"),r.to<e.length&&o.classList.add("cm-completionListIncompleteBottom"),o}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function V5(t,e){return n=>new H5(n,t,e)}function j5(t,e){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=n.height/t.offsetHeight;r.top<n.top?t.scrollTop-=(n.top-r.top)/o:r.bottom>n.bottom&&(t.scrollTop+=(r.bottom-n.bottom)/o)}function NE(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function W5(t,e){let n=[],r=null,o=null,i=u=>{n.push(u);let{section:d}=u.completion;if(d){r||(r=[]);let f=typeof d=="string"?d:d.name;r.some(p=>p.name==f)||r.push(typeof d=="string"?{name:f}:d)}},s=e.facet(Gt);for(let u of t)if(u.hasResult()){let d=u.result.getMatch;if(u.result.filter===!1)for(let f of u.result.options)i(new _E(f,u.source,d?d(f):[],1e9-n.length));else{let f=e.sliceDoc(u.from,u.to),p,m=s.filterStrict?new L5(f):new P5(f);for(let v of u.result.options)if(p=m.match(v.label)){let b=v.displayLabel?d?d(v,p.matched):[]:p.matched,w=p.score+(v.boost||0);if(i(new _E(v,u.source,b,w)),typeof v.section=="object"&&v.section.rank==="dynamic"){let{name:g}=v.section;o||(o=Object.create(null)),o[g]=Math.max(w,o[g]||-1e9)}}}}if(r){let u=Object.create(null),d=0,f=(p,m)=>(p.rank==="dynamic"&&m.rank==="dynamic"?o[m.name]-o[p.name]:0)||(typeof p.rank=="number"?p.rank:1e9)-(typeof m.rank=="number"?m.rank:1e9)||(p.name<m.name?-1:1);for(let p of r.sort(f))d-=1e5,u[p.name]=d;for(let p of n){let{section:m}=p.completion;m&&(p.score+=u[typeof m=="string"?m:m.name])}}let a=[],l=null,c=s.compareCompletions;for(let u of n.sort((d,f)=>f.score-d.score||c(d.completion,f.completion))){let d=u.completion;!l||l.label!=d.label||l.detail!=d.detail||l.type!=null&&d.type!=null&&l.type!=d.type||l.apply!=d.apply||l.boost!=d.boost?a.push(u):NE(u.completion)>NE(l)&&(a[a.length-1]=u),l=u.completion}return a}class ms{constructor(e,n,r,o,i,s){this.options=e,this.attrs=n,this.tooltip=r,this.timestamp=o,this.selected=i,this.disabled=s}setSelected(e,n){return e==this.selected||e>=this.options.length?this:new ms(this.options,BE(n,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,n,r,o,i,s){if(o&&!s&&e.some(c=>c.isPending))return o.setDisabled();let a=W5(e,n);if(!a.length)return o&&e.some(c=>c.isPending)?o.setDisabled():null;let l=n.facet(Gt).selectOnOpen?0:-1;if(o&&o.selected!=l&&o.selected!=-1){let c=o.options[o.selected].completion;for(let u=0;u<a.length;u++)if(a[u].completion==c){l=u;break}}return new ms(a,BE(r,l),{pos:e.reduce((c,u)=>u.hasResult()?Math.min(c,u.from):c,1e8),create:Y5,above:i.aboveCursor},o?o.timestamp:Date.now(),l,!1)}map(e){return new ms(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new ms(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}}class Xu{constructor(e,n,r){this.active=e,this.id=n,this.open=r}static start(){return new Xu(R5,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:n}=e,r=n.facet(Gt),i=(r.override||n.languageDataAt("autocomplete",fi(n)).map(I5)).map(l=>(this.active.find(u=>u.source==l)||new Qn(l,this.active.some(u=>u.state!=0)?1:0)).update(e,r));i.length==this.active.length&&i.every((l,c)=>l==this.active[c])&&(i=this.active);let s=this.open,a=e.effects.some(l=>l.is(zm));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||i.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!U5(i,this.active)||a?s=ms.build(i,n,this.id,s,r,a):s&&s.disabled&&!i.some(l=>l.isPending)&&(s=null),!s&&i.every(l=>!l.isPending)&&i.some(l=>l.hasResult())&&(i=i.map(l=>l.hasResult()?new Qn(l.source,0):l));for(let l of e.effects)l.is(ME)&&(s=s&&s.setSelected(l.value,this.id));return i==this.active&&s==this.open?this:new Xu(i,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?q5:G5}}function U5(t,e){if(t==e)return!0;for(let n=0,r=0;;){for(;n<t.length&&!t[n].hasResult();)n++;for(;r<e.length&&!e[r].hasResult();)r++;let o=n==t.length,i=r==e.length;if(o||i)return o==i;if(t[n++].result!=e[r++].result)return!1}}const q5={"aria-autocomplete":"list"},G5={};function BE(t,e){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(n["aria-activedescendant"]=t+"-"+e),n}const R5=[];function FE(t,e){if(t.isUserEvent("input.complete")){let r=t.annotation(Lm);if(r&&e.activateOnCompletion(r))return 12}let n=t.isUserEvent("input.type");return n&&e.activateOnTyping?5:n?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}class Qn{constructor(e,n,r=!1){this.source=e,this.state=n,this.explicit=r}hasResult(){return!1}get isPending(){return this.state==1}update(e,n){let r=FE(e,n),o=this;(r&8||r&16&&this.touches(e))&&(o=new Qn(o.source,0)),r&4&&o.state==0&&(o=new Qn(this.source,1)),o=o.updateFor(e,r);for(let i of e.effects)if(i.is(Yu))o=new Qn(o.source,1,i.value);else if(i.is(Za))o=new Qn(o.source,0);else if(i.is(zm))for(let s of i.value)s.source==o.source&&(o=s);return o}updateFor(e,n){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(fi(e.state))}}class gs extends Qn{constructor(e,n,r,o,i,s){super(e,3,n),this.limit=r,this.result=o,this.from=i,this.to=s}hasResult(){return!0}updateFor(e,n){var r;if(!(n&3))return this.map(e.changes);let o=this.result;o.map&&!e.changes.empty&&(o=o.map(o,e.changes));let i=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),a=fi(e.state);if(a>s||!o||n&2&&(fi(e.startState)==this.from||a<this.limit))return new Qn(this.source,n&4?1:0);let l=e.changes.mapPos(this.limit);return K5(o.validFor,e.state,i,s)?new gs(this.source,this.explicit,l,o,i,s):o.update&&(o=o.update(o,i,s,new xE(e.state,a,!1)))?new gs(this.source,this.explicit,l,o,o.from,(r=o.to)!==null&&r!==void 0?r:fi(e.state)):new Qn(this.source,1,this.explicit)}map(e){return e.empty?this:(this.result.map?this.result.map(this.result,e):this.result)?new gs(this.source,this.explicit,e.mapPos(this.limit),this.result,e.mapPos(this.from),e.mapPos(this.to,1)):new Qn(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}}function K5(t,e,n,r){if(!t)return!1;let o=e.sliceDoc(n,r);return typeof t=="function"?t(o,n,r,e):AE(t,!0).test(o)}const zm=qe.define({map(t,e){return t.map(n=>n.map(e))}}),ME=qe.define(),Dn=qt.define({create(){return Xu.start()},update(t,e){return t.update(e)},provide:t=>[om.from(t,e=>e.tooltip),De.contentAttributes.from(t,e=>e.attrs)]});function Hm(t,e){const n=e.completion.apply||e.completion.label;let r=t.state.field(Dn).active.find(o=>o.source==e.source);return r instanceof gs?(typeof n=="string"?t.dispatch({...M5(t.state,n,r.from,r.to),annotations:Lm.of(e.completion)}):n(t,e.completion,r.from,r.to),!0):!1}const Y5=V5(Dn,Hm);function Ju(t,e="option"){return n=>{let r=n.state.field(Dn,!1);if(!r||!r.open||r.open.disabled||Date.now()-r.open.timestamp<n.state.facet(Gt).interactionDelay)return!1;let o=1,i;e=="page"&&(i=U1(n,r.open.tooltip))&&(o=Math.max(2,Math.floor(i.dom.offsetHeight/i.dom.querySelector("li").offsetHeight)-1));let{length:s}=r.open.options,a=r.open.selected>-1?r.open.selected+o*(t?1:-1):t?0:s-1;return a<0?a=e=="page"?0:s-1:a>=s&&(a=e=="page"?s-1:0),n.dispatch({effects:ME.of(a)}),!0}}const X5=t=>{let e=t.state.field(Dn,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(Gt).interactionDelay?!1:Hm(t,e.open.options[e.open.selected])},Vm=t=>t.state.field(Dn,!1)?(t.dispatch({effects:Yu.of(!0)}),!0):!1,J5=t=>{let e=t.state.field(Dn,!1);return!e||!e.active.some(n=>n.state!=0)?!1:(t.dispatch({effects:Za.of(null)}),!0)};class Q5{constructor(e,n){this.active=e,this.context=n,this.time=Date.now(),this.updates=[],this.done=void 0}}const Z5=50,e6=1e3,t6=mt.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Dn).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Dn),n=t.state.facet(Gt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Dn)==e)return;let r=t.transactions.some(i=>{let s=FE(i,n);return s&8||(i.selection||i.docChanged)&&!(s&3)});for(let i=0;i<this.running.length;i++){let s=this.running[i];if(r||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>Z5&&Date.now()-s.time>e6){for(let a of s.context.abortListeners)try{a()}catch(l){Sn(this.view.state,l)}s.context.abortListeners=null,this.running.splice(i--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(i=>i.effects.some(s=>s.is(Yu)))&&(this.pendingStart=!0);let o=this.pendingStart?50:n.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(i=>i.isPending&&!this.running.some(s=>s.active.source==i.source))?setTimeout(()=>this.startUpdate(),o):-1,this.composing!=0)for(let i of t.transactions)i.isUserEvent("input.type")?this.composing=2:this.composing==2&&i.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Dn);for(let n of e.active)n.isPending&&!this.running.some(r=>r.active.source==n.source)&&this.startQuery(n);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Gt).updateSyncTime))}startQuery(t){let{state:e}=this.view,n=fi(e),r=new xE(e,n,t.explicit,this.view),o=new Q5(t,r);this.running.push(o),Promise.resolve(t.source(r)).then(i=>{o.context.aborted||(o.done=i||null,this.scheduleAccept())},i=>{this.view.dispatch({effects:Za.of(null)}),Sn(this.view.state,i)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(Gt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],n=this.view.state.facet(Gt),r=this.view.state.field(Dn);for(let o=0;o<this.running.length;o++){let i=this.running[o];if(i.done===void 0)continue;if(this.running.splice(o--,1),i.done){let a=fi(i.updates.length?i.updates[0].startState:this.view.state),l=Math.min(a,i.done.from+(i.active.explicit?0:1)),c=new gs(i.active.source,i.active.explicit,l,i.done,i.done.from,(t=i.done.to)!==null&&t!==void 0?t:a);for(let u of i.updates)c=c.update(u,n);if(c.hasResult()){e.push(c);continue}}let s=r.active.find(a=>a.source==i.active.source);if(s&&s.isPending)if(i.done==null){let a=new Qn(i.active.source,0);for(let l of i.updates)a=a.update(l,n);a.isPending||e.push(a)}else this.startQuery(s)}(e.length||r.open&&r.open.disabled)&&this.view.dispatch({effects:zm.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Dn,!1);if(e&&e.tooltip&&this.view.state.facet(Gt).closeOnBlur){let n=e.open&&U1(this.view,e.open.tooltip);(!n||!n.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:Za.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Yu.of(!1)}),20),this.composing=0}}}),n6=typeof navigator=="object"&&/Win/.test(navigator.platform),r6=yo.highest(De.domEventHandlers({keydown(t,e){let n=e.state.field(Dn,!1);if(!n||!n.open||n.open.disabled||n.open.selected<0||t.key.length>1||t.ctrlKey&&!(n6&&t.altKey)||t.metaKey)return!1;let r=n.open.options[n.open.selected],o=n.active.find(s=>s.source==r.source),i=r.completion.commitCharacters||o.result.commitCharacters;return i&&i.indexOf(t.key)>-1&&Hm(e,r),!1}})),IE=De.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class o6{constructor(e,n,r,o){this.field=e,this.line=n,this.from=r,this.to=o}}class jm{constructor(e,n,r){this.field=e,this.from=n,this.to=r}map(e){let n=e.mapPos(this.from,-1,Yt.TrackDel),r=e.mapPos(this.to,1,Yt.TrackDel);return n==null||r==null?null:new jm(this.field,n,r)}}class Wm{constructor(e,n){this.lines=e,this.fieldPositions=n}instantiate(e,n){let r=[],o=[n],i=e.doc.lineAt(n),s=/^\s*/.exec(i.text)[0];for(let l of this.lines){if(r.length){let c=s,u=/^\t*/.exec(l)[0].length;for(let d=0;d<u;d++)c+=e.facet(Ga);o.push(n+c.length-u),l=c+l.slice(u)}r.push(l),n+=l.length+1}let a=this.fieldPositions.map(l=>new jm(l.field,o[l.line]+l.from,o[l.line]+l.to));return{text:r,ranges:a}}static parse(e){let n=[],r=[],o=[],i;for(let s of e.split(/\r\n?|\n/)){for(;i=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(s);){let a=i[1]?+i[1]:null,l=i[2]||i[3]||"",c=-1,u=l.replace(/\\[{}]/g,d=>d[1]);for(let d=0;d<n.length;d++)(a!=null?n[d].seq==a:u&&n[d].name==u)&&(c=d);if(c<0){let d=0;for(;d<n.length&&(a==null||n[d].seq!=null&&n[d].seq<a);)d++;n.splice(d,0,{seq:a,name:u}),c=d;for(let f of o)f.field>=c&&f.field++}for(let d of o)if(d.line==r.length&&d.from>i.index){let f=i[2]?3+(i[1]||"").length:2;d.from-=f,d.to-=f}o.push(new o6(c,r.length,i.index,i.index+u.length)),s=s.slice(0,i.index)+l+s.slice(i.index+i[0].length)}s=s.replace(/\\([{}])/g,(a,l,c)=>{for(let u of o)u.line==r.length&&u.from>c&&(u.from--,u.to--);return l}),r.push(s)}return new Wm(r,o)}}let i6=Ie.widget({widget:new class extends Nn{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),s6=Ie.mark({class:"cm-snippetField"});class ws{constructor(e,n){this.ranges=e,this.active=n,this.deco=Ie.set(e.map(r=>(r.from==r.to?i6:s6).range(r.from,r.to)),!0)}map(e){let n=[];for(let r of this.ranges){let o=r.map(e);if(!o)return null;n.push(o)}return new ws(n,this.active)}selectionInsideField(e){return e.ranges.every(n=>this.ranges.some(r=>r.field==this.active&&r.from<=n.from&&r.to>=n.to))}}const el=qe.define({map(t,e){return t&&t.map(e)}}),a6=qe.define(),tl=qt.define({create(){return null},update(t,e){for(let n of e.effects){if(n.is(el))return n.value;if(n.is(a6)&&t)return new ws(t.ranges,n.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>De.decorations.from(t,e=>e?e.deco:Ie.none)});function Um(t,e){return ae.create(t.filter(n=>n.field==e).map(n=>ae.range(n.from,n.to)))}function l6(t){let e=Wm.parse(t);return(n,r,o,i)=>{let{text:s,ranges:a}=e.instantiate(n.state,o),{main:l}=n.state.selection,c={changes:{from:o,to:i==l.from?l.to:i,insert:st.of(s)},scrollIntoView:!0,annotations:r?[Lm.of(r),Nt.userEvent.of("input.complete")]:void 0};if(a.length&&(c.selection=Um(a,0)),a.some(u=>u.field>0)){let u=new ws(a,0),d=c.effects=[el.of(u)];n.state.field(tl,!1)===void 0&&d.push(qe.appendConfig.of([tl,u6,d6,IE]))}n.dispatch(n.state.update(c))}}function PE(t){return({state:e,dispatch:n})=>{let r=e.field(tl,!1);if(!r||t<0&&r.active==0)return!1;let o=r.active+t,i=t>0&&!r.ranges.some(s=>s.field==o+t);return n(e.update({selection:Um(r.ranges,o),effects:el.of(i?null:new ws(r.ranges,o)),scrollIntoView:!0})),!0}}const c6=[{key:"Tab",run:PE(1),shift:PE(-1)},{key:"Escape",run:({state:t,dispatch:e})=>t.field(tl,!1)?(e(t.update({effects:el.of(null)})),!0):!1}],LE=Ne.define({combine(t){return t.length?t[0]:c6}}),u6=yo.highest(za.compute([LE],t=>t.facet(LE)));function Qu(t,e){return{...e,apply:l6(t)}}const d6=De.domEventHandlers({mousedown(t,e){let n=e.state.field(tl,!1),r;if(!n||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let o=n.ranges.find(i=>i.from<=r&&i.to>=r);return!o||o.field==n.active?!1:(e.dispatch({selection:Um(n.ranges,o.field),effects:el.of(n.ranges.some(i=>i.field>o.field)?new ws(n.ranges,o.field):null),scrollIntoView:!0}),!0)}}),nl={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},hi=qe.define({map(t,e){let n=e.mapPos(t,-1,Yt.TrackAfter);return n??void 0}}),qm=new class extends Co{};qm.startSide=1,qm.endSide=-1;const $E=qt.define({create(){return Qe.empty},update(t,e){if(t=t.map(e.changes),e.selection){let n=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:r=>r>=n.from&&r<=n.to})}for(let n of e.effects)n.is(hi)&&(t=t.update({add:[qm.range(n.value,n.value+1)]}));return t}});function f6(){return[p6,$E]}const Gm="()[]{}<>«»»«[]{}";function zE(t){for(let e=0;e<Gm.length;e+=2)if(Gm.charCodeAt(e)==t)return Gm.charAt(e+1);return Xh(t<128?t:t+1)}function HE(t,e){return t.languageDataAt("closeBrackets",e)[0]||nl}const h6=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),p6=De.inputHandler.of((t,e,n,r)=>{if((h6?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let o=t.state.selection.main;if(r.length>2||r.length==2&&Ar(kn(r,0))==1||e!=o.from||n!=o.to)return!1;let i=g6(t.state,r);return i?(t.dispatch(i),!0):!1}),m6=[{key:"Backspace",run:({state:t,dispatch:e})=>{if(t.readOnly)return!1;let r=HE(t,t.selection.main.head).brackets||nl.brackets,o=null,i=t.changeByRange(s=>{if(s.empty){let a=w6(t.doc,s.head);for(let l of r)if(l==a&&Zu(t.doc,s.head)==zE(kn(l,0)))return{changes:{from:s.head-l.length,to:s.head+l.length},range:ae.cursor(s.head-l.length)}}return{range:o=s}});return o||e(t.update(i,{scrollIntoView:!0,userEvent:"delete.backward"})),!o}}];function g6(t,e){let n=HE(t,t.selection.main.head),r=n.brackets||nl.brackets;for(let o of r){let i=zE(kn(o,0));if(e==o)return i==o?y6(t,o,r.indexOf(o+o+o)>-1,n):b6(t,o,i,n.before||nl.before);if(e==i&&VE(t,t.selection.main.from))return v6(t,o,i)}return null}function VE(t,e){let n=!1;return t.field($E).between(0,t.doc.length,r=>{r==e&&(n=!0)}),n}function Zu(t,e){let n=t.sliceString(e,e+2);return n.slice(0,Ar(kn(n,0)))}function w6(t,e){let n=t.sliceString(e-2,e);return Ar(kn(n,0))==n.length?n:n.slice(1)}function b6(t,e,n,r){let o=null,i=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:n,from:s.to}],effects:hi.of(s.to+e.length),range:ae.range(s.anchor+e.length,s.head+e.length)};let a=Zu(t.doc,s.head);return!a||/\s/.test(a)||r.indexOf(a)>-1?{changes:{insert:e+n,from:s.head},effects:hi.of(s.head+e.length),range:ae.cursor(s.head+e.length)}:{range:o=s}});return o?null:t.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function v6(t,e,n){let r=null,o=t.changeByRange(i=>i.empty&&Zu(t.doc,i.head)==n?{changes:{from:i.head,to:i.head+n.length,insert:n},range:ae.cursor(i.head+n.length)}:r={range:i});return r?null:t.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function y6(t,e,n,r){let o=r.stringPrefixes||nl.stringPrefixes,i=null,s=t.changeByRange(a=>{if(!a.empty)return{changes:[{insert:e,from:a.from},{insert:e,from:a.to}],effects:hi.of(a.to+e.length),range:ae.range(a.anchor+e.length,a.head+e.length)};let l=a.head,c=Zu(t.doc,l),u;if(c==e){if(jE(t,l))return{changes:{insert:e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)};if(VE(t,l)){let f=n&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:ae.cursor(l+f.length)}}}else{if(n&&t.sliceDoc(l-2*e.length,l)==e+e&&(u=WE(t,l-2*e.length,o))>-1&&jE(t,u))return{changes:{insert:e+e+e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)};if(t.charCategorizer(l)(c)!=pt.Word&&WE(t,l,o)>-1&&!C6(t,l,e,o))return{changes:{insert:e+e,from:l},effects:hi.of(l+e.length),range:ae.cursor(l+e.length)}}return{range:i=a}});return i?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function jE(t,e){let n=on(t).resolveInner(e+1);return n.parent&&n.from==e}function C6(t,e,n,r){let o=on(t).resolveInner(e,-1),i=r.reduce((s,a)=>Math.max(s,a.length),0);for(let s=0;s<5;s++){let a=t.sliceDoc(o.from,Math.min(o.to,o.from+n.length+i)),l=a.indexOf(n);if(!l||l>-1&&r.indexOf(a.slice(0,l))>-1){let u=o.firstChild;for(;u&&u.from==o.from&&u.to-u.from>n.length+l;){if(t.sliceDoc(u.to-n.length,u.to)==n)return!1;u=u.firstChild}return!0}let c=o.to==e&&o.parent;if(!c)break;o=c}return!1}function WE(t,e,n){let r=t.charCategorizer(e);if(r(t.sliceDoc(e-1,e))!=pt.Word)return e;for(let o of n){let i=e-o.length;if(t.sliceDoc(i,e)==o&&r(t.sliceDoc(i-1,i))!=pt.Word)return i}return-1}function UE(t={}){return[r6,Dn,Gt.of(t),t6,k6,IE]}const qE=[{key:"Ctrl-Space",run:Vm},{mac:"Alt-`",run:Vm},{mac:"Alt-i",run:Vm},{key:"Escape",run:J5},{key:"ArrowDown",run:Ju(!0)},{key:"ArrowUp",run:Ju(!1)},{key:"PageDown",run:Ju(!0,"page")},{key:"PageUp",run:Ju(!1,"page")},{key:"Enter",run:X5}],k6=yo.highest(za.computeN([Gt],t=>t.facet(Gt).defaultKeymap?[qE]:[]));class GE{constructor(e,n,r){this.from=e,this.to=n,this.diagnostic=r}}class pi{constructor(e,n,r){this.diagnostics=e,this.panel=n,this.selected=r}static init(e,n,r){let o=r.facet(rl).markerFilter;o&&(e=o(e,r));let i=e.slice().sort((p,m)=>p.from-m.from||p.to-m.to),s=new Rr,a=[],l=0,c=r.doc.iter(),u=0,d=r.doc.length;for(let p=0;;){let m=p==i.length?null:i[p];if(!m&&!a.length)break;let v,b;if(a.length)v=l,b=a.reduce((C,k)=>Math.min(C,k.to),m&&m.from>v?m.from:1e8);else{if(v=m.from,v>d)break;b=m.to,a.push(m),p++}for(;p<i.length;){let C=i[p];if(C.from==v&&(C.to>C.from||C.to==v))a.push(C),p++,b=Math.min(C.to,b);else{b=Math.min(C.from,b);break}}b=Math.min(b,d);let w=!1;if(a.some(C=>C.from==v&&(C.to==b||b==d))&&(w=v==b,!w&&b-v<10)){let C=v-(u+c.value.length);C>0&&(c.next(C),u=v);for(let k=v;;){if(k>=b){w=!0;break}if(!c.lineBreak&&u+c.value.length>k)break;k=u+c.value.length,u+=c.value.length,c.next()}}let g=M6(a);if(w)s.add(v,v,Ie.widget({widget:new T6(g),diagnostics:a.slice()}));else{let C=a.reduce((k,_)=>_.markClass?k+" "+_.markClass:k,"");s.add(v,b,Ie.mark({class:"cm-lintRange cm-lintRange-"+g+C,diagnostics:a.slice(),inclusiveEnd:a.some(k=>k.to>b)}))}if(l=b,l==d)break;for(let C=0;C<a.length;C++)a[C].to<=l&&a.splice(C--,1)}let f=s.finish();return new pi(f,n,bs(f))}}function bs(t,e=null,n=0){let r=null;return t.between(n,1e9,(o,i,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!r)r=new GE(o,i,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new GE(r.from,i,r.diagnostic)}}),r}function S6(t,e){let n=e.pos,r=e.end||n,o=t.state.facet(rl).hideOn(t,n,r);if(o!=null)return o;let i=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(RE))||t.changes.touchesRange(i.from,Math.max(i.to,r)))}function E6(t,e){return t.field(Mn,!1)?e:e.concat(qe.appendConfig.of(I6))}const RE=qe.define(),Rm=qe.define(),KE=qe.define(),Mn=qt.define({create(){return new pi(Ie.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let n=t.diagnostics.map(e.changes),r=null,o=t.panel;if(t.selected){let i=e.changes.mapPos(t.selected.from,1);r=bs(n,t.selected.diagnostic,i)||bs(n,null,i)}!n.size&&o&&e.state.facet(rl).autoPanel&&(o=null),t=new pi(n,o,r)}for(let n of e.effects)if(n.is(RE)){let r=e.state.facet(rl).autoPanel?n.value.length?ol.open:null:t.panel;t=pi.init(n.value,r,e.state)}else n.is(Rm)?t=new pi(t.diagnostics,n.value?ol.open:null,t.selected):n.is(KE)&&(t=new pi(t.diagnostics,t.panel,n.value));return t},provide:t=>[Wa.from(t,e=>e.panel),De.decorations.from(t,e=>e.diagnostics)]}),x6=Ie.mark({class:"cm-lintRange cm-lintRange-active"});function D6(t,e,n){let{diagnostics:r}=t.state.field(Mn),o,i=-1,s=-1;r.between(e-(n<0?1:0),e+(n>0?1:0),(l,c,{spec:u})=>{if(e>=l&&e<=c&&(l==c||(e>l||n>0)&&(e<c||n<0)))return o=u.diagnostics,i=l,s=c,!1});let a=t.state.facet(rl).tooltipFilter;return o&&a&&(o=a(o,t.state)),o?{pos:i,end:s,above:t.state.doc.lineAt(i).to<s,create(){return{dom:_6(t,o)}}}:null}function _6(t,e){return at("ul",{class:"cm-tooltip-lint"},e.map(n=>QE(t,n,!1)))}const A6=t=>{let e=t.state.field(Mn,!1);(!e||!e.panel)&&t.dispatch({effects:E6(t.state,[Rm.of(!0)])});let n=im(t,ol.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},YE=t=>{let e=t.state.field(Mn,!1);return!e||!e.panel?!1:(t.dispatch({effects:Rm.of(!1)}),!0)},O6=[{key:"Mod-Shift-m",run:A6,preventDefault:!0},{key:"F8",run:t=>{let e=t.state.field(Mn,!1);if(!e)return!1;let n=t.state.selection.main,r=e.diagnostics.iter(n.to+1);return!r.value&&(r=e.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(t.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)}}],rl=Ne.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Nr(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:XE,tooltipFilter:XE,needsRefresh:(e,n)=>e?n?r=>e(r)||n(r):e:n,hideOn:(e,n)=>e?n?(r,o,i)=>e(r,o,i)||n(r,o,i):e:n,autoPanel:(e,n)=>e||n})}}});function XE(t,e){return t?e?(n,r)=>e(t(n,r),r):t:e}function JE(t){let e=[];if(t)e:for(let{name:n}of t){for(let r=0;r<n.length;r++){let o=n[r];if(/[a-zA-Z]/.test(o)&&!e.some(i=>i.toLowerCase()==o.toLowerCase())){e.push(o);continue e}}e.push("")}return e}function QE(t,e,n){var r;let o=n?JE(e.actions):[];return at("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},at("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(r=e.actions)===null||r===void 0?void 0:r.map((i,s)=>{let a=!1,l=p=>{if(p.preventDefault(),a)return;a=!0;let m=bs(t.state.field(Mn).diagnostics,e);m&&i.apply(t,m.from,m.to)},{name:c}=i,u=o[s]?c.indexOf(o[s]):-1,d=u<0?c:[c.slice(0,u),at("u",c.slice(u,u+1)),c.slice(u+1)],f=i.markClass?" "+i.markClass:"";return at("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${c}${u<0?"":` (access key "${o[s]})"`}.`},d)}),e.source&&at("div",{class:"cm-diagnosticSource"},e.source))}class T6 extends Nn{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return at("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class ZE{constructor(e,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=QE(e,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class ol{constructor(e){this.view=e,this.items=[];let n=o=>{if(o.keyCode==27)YE(this.view),this.view.focus();else if(o.keyCode==38||o.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(o.keyCode==40||o.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(o.keyCode==36)this.moveSelection(0);else if(o.keyCode==35)this.moveSelection(this.items.length-1);else if(o.keyCode==13)this.view.focus();else if(o.keyCode>=65&&o.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:i}=this.items[this.selectedIndex],s=JE(i.actions);for(let a=0;a<s.length;a++)if(s[a].toUpperCase().charCodeAt(0)==o.keyCode){let l=bs(this.view.state.field(Mn).diagnostics,i);l&&i.actions[a].apply(e,l.from,l.to)}}else return;o.preventDefault()},r=o=>{for(let i=0;i<this.items.length;i++)this.items[i].dom.contains(o.target)&&this.moveSelection(i)};this.list=at("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=at("div",{class:"cm-panel-lint"},this.list,at("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>YE(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Mn).selected;if(!e)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==e.diagnostic)return n;return-1}update(){let{diagnostics:e,selected:n}=this.view.state.field(Mn),r=0,o=!1,i=null,s=new Set;for(e.between(0,this.view.state.doc.length,(a,l,{spec:c})=>{for(let u of c.diagnostics){if(s.has(u))continue;s.add(u);let d=-1,f;for(let p=r;p<this.items.length;p++)if(this.items[p].diagnostic==u){d=p;break}d<0?(f=new ZE(this.view,u),this.items.splice(r,0,f),o=!0):(f=this.items[d],d>r&&(this.items.splice(r,d-r),o=!0)),n&&f.diagnostic==n.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),i=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)o=!0,this.items.pop();this.items.length==0&&(this.items.push(new ZE(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),o=!0),i?(this.list.setAttribute("aria-activedescendant",i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:a,panel:l})=>{let c=l.height/this.list.offsetHeight;a.top<l.top?this.list.scrollTop-=(l.top-a.top)/c:a.bottom>l.bottom&&(this.list.scrollTop+=(a.bottom-l.bottom)/c)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),o&&this.sync()}sync(){let e=this.list.firstChild;function n(){let r=e;e=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;e!=r.dom;)n();e=r.dom.nextSibling}else this.list.insertBefore(r.dom,e);for(;e;)n()}moveSelection(e){if(this.selectedIndex<0)return;let n=this.view.state.field(Mn),r=bs(n.diagnostics,this.items[e].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:KE.of(r)})}static open(e){return new ol(e)}}function N6(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function ed(t){return N6(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const B6=De.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:ed("#d11")},".cm-lintRange-warning":{backgroundImage:ed("orange")},".cm-lintRange-info":{backgroundImage:ed("#999")},".cm-lintRange-hint":{backgroundImage:ed("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function F6(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function M6(t){let e="hint",n=1;for(let r of t){let o=F6(r.severity);o>n&&(n=o,e=r.severity)}return e}const I6=[Mn,De.decorations.compute([Mn],t=>{let{selected:e,panel:n}=t.field(Mn);return!e||!n||e.from==e.to?Ie.none:Ie.set([x6.range(e.from,e.to)])}),W1(D6,{hideOn:S6}),B6];var ex=function(e){e===void 0&&(e={});var{crosshairCursor:n=!1}=e,r=[];e.closeBracketsKeymap!==!1&&(r=r.concat(m6)),e.defaultKeymap!==!1&&(r=r.concat(t5)),e.searchKeymap!==!1&&(r=r.concat(A5)),e.historyKeymap!==!1&&(r=r.concat(l$)),e.foldKeymap!==!1&&(r=r.concat(w8)),e.completionKeymap!==!1&&(r=r.concat(qE)),e.lintKeymap!==!1&&(r=r.concat(O6));var o=[];return e.lineNumbers!==!1&&o.push(q3()),e.highlightActiveLineGutter!==!1&&o.push(K3()),e.highlightSpecialChars!==!1&&o.push(l3()),e.history!==!1&&o.push(Z8()),e.foldGutter!==!1&&o.push(C8()),e.drawSelection!==!1&&o.push(Q4()),e.dropCursor!==!1&&o.push(r3()),e.allowMultipleSelections!==!1&&o.push(tt.allowMultipleSelections.of(!0)),e.indentOnInput!==!1&&o.push(c8()),e.syntaxHighlighting!==!1&&o.push(wm(x8,{fallback:!0})),e.bracketMatching!==!1&&o.push(N8()),e.closeBrackets!==!1&&o.push(f6()),e.autocompletion!==!1&&o.push(UE()),e.rectangularSelection!==!1&&o.push(k3()),n!==!1&&o.push(x3()),e.highlightActiveLine!==!1&&o.push(p3()),e.highlightSelectionMatches!==!1&&o.push(a5()),e.tabSize&&typeof e.tabSize=="number"&&o.push(Ga.of(" ".repeat(e.tabSize))),o.concat([za.of(r.flat())]).filter(Boolean)};const P6="#e5c07b",tx="#e06c75",L6="#56b6c2",$6="#ffffff",td="#abb2bf",Km="#7d8799",z6="#61afef",H6="#98c379",nx="#d19a66",V6="#c678dd",j6="#21252b",rx="#2c313a",ox="#282c34",Ym="#353a42",W6="#3E4451",ix="#528bff",U6=De.theme({"&":{color:td,backgroundColor:ox},".cm-content":{caretColor:ix},".cm-cursor, .cm-dropCursor":{borderLeftColor:ix},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:W6},".cm-panels":{backgroundColor:j6,color:td},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:ox,color:Km,border:"none"},".cm-activeLineGutter":{backgroundColor:rx},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:Ym},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:Ym,borderBottomColor:Ym},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:rx,color:td}}},{dark:!0}),q6=ls.define([{tag:V.keyword,color:V6},{tag:[V.name,V.deleted,V.character,V.propertyName,V.macroName],color:tx},{tag:[V.function(V.variableName),V.labelName],color:z6},{tag:[V.color,V.constant(V.name),V.standard(V.name)],color:nx},{tag:[V.definition(V.name),V.separator],color:td},{tag:[V.typeName,V.className,V.number,V.changed,V.annotation,V.modifier,V.self,V.namespace],color:P6},{tag:[V.operator,V.operatorKeyword,V.url,V.escape,V.regexp,V.link,V.special(V.string)],color:L6},{tag:[V.meta,V.comment],color:Km},{tag:V.strong,fontWeight:"bold"},{tag:V.emphasis,fontStyle:"italic"},{tag:V.strikethrough,textDecoration:"line-through"},{tag:V.link,color:Km,textDecoration:"underline"},{tag:V.heading,fontWeight:"bold",color:tx},{tag:[V.atom,V.bool,V.special(V.variableName)],color:nx},{tag:[V.processingInstruction,V.string,V.inserted],color:H6},{tag:V.invalid,color:$6}]),G6=[U6,wm(q6)];var R6=De.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),K6=function(e){e===void 0&&(e={});var{indentWithTab:n=!0,editable:r=!0,readOnly:o=!1,theme:i="light",placeholder:s="",basicSetup:a=!0}=e,l=[];switch(n&&l.unshift(za.of([n5])),a&&(typeof a=="boolean"?l.unshift(ex()):l.unshift(ex(a))),s&&l.unshift(b3(s)),i){case"light":l.push(R6);break;case"dark":l.push(G6);break;case"none":break;default:l.push(i);break}return r===!1&&l.push(De.editable.of(!1)),o&&l.push(tt.readOnly.of(!0)),[...l]},Y6=t=>({line:t.state.doc.lineAt(t.state.selection.main.from),lineCount:t.state.doc.lines,lineBreak:t.state.lineBreak,length:t.state.doc.length,readOnly:t.state.readOnly,tabSize:t.state.tabSize,selection:t.state.selection,selectionAsSingle:t.state.selection.asSingle().main,ranges:t.state.selection.ranges,selectionCode:t.state.sliceDoc(t.state.selection.main.from,t.state.selection.main.to),selections:t.state.selection.ranges.map(e=>t.state.sliceDoc(e.from,e.to)),selectedText:t.state.selection.ranges.some(e=>!e.empty)});class X6{constructor(e,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(e)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var e=this.callbacks.slice();this.callbacks.length=0,e.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}let sx=class{constructor(){this.interval=null,this.latches=new Set}add(e){this.latches.add(e),this.start()}remove(e){this.latches.delete(e),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(e=>{e.tick(),e.isDone&&this.remove(e)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}};var Xm=null,J6=()=>typeof window>"u"?new sx:(Xm||(Xm=new sx),Xm),ax=Tr.define(),Q6=200,Z6=[];function ez(t){var{value:e,selection:n,onChange:r,onStatistics:o,onCreateEditor:i,onUpdate:s,extensions:a=Z6,autoFocus:l,theme:c="light",height:u=null,minHeight:d=null,maxHeight:f=null,width:p=null,minWidth:m=null,maxWidth:v=null,placeholder:b="",editable:w=!0,readOnly:g=!1,indentWithTab:C=!0,basicSetup:k=!0,root:_,initialState:S}=t,[E,x]=y.useState(),[O,A]=y.useState(),[T,B]=y.useState(),I=y.useState(()=>({current:null}))[0],F=y.useState(()=>({current:null}))[0],N=De.theme({"&":{height:u,minHeight:d,maxHeight:f,width:p,minWidth:m,maxWidth:v},"& .cm-scroller":{height:"100% !important"}}),P=De.updateListener.of(H=>{if(H.docChanged&&typeof r=="function"&&!H.transactions.some(te=>te.annotation(ax))){I.current?I.current.reset():(I.current=new X6(()=>{if(F.current){var te=F.current;F.current=null,te()}I.current=null},Q6),J6().add(I.current));var R=H.state.doc,Y=R.toString();r(Y,H)}o&&o(Y6(H))}),M=K6({theme:c,editable:w,readOnly:g,placeholder:b,indentWithTab:C,basicSetup:k}),z=[P,N,...M];return s&&typeof s=="function"&&z.push(De.updateListener.of(s)),z=z.concat(a),y.useLayoutEffect(()=>{if(E&&!T){var H={doc:e,selection:n,extensions:z},R=S?tt.fromJSON(S.json,H,S.fields):tt.create(H);if(B(R),!O){var Y=new De({state:R,parent:E,root:_});A(Y),i&&i(Y,R)}}return()=>{O&&(B(void 0),A(void 0))}},[E,T]),y.useEffect(()=>{t.container&&x(t.container)},[t.container]),y.useEffect(()=>()=>{O&&(O.destroy(),A(void 0)),I.current&&(I.current.cancel(),I.current=null)},[O]),y.useEffect(()=>{l&&O&&O.focus()},[l,O]),y.useEffect(()=>{O&&O.dispatch({effects:qe.reconfigure.of(z)})},[c,a,u,d,f,p,m,v,b,w,g,C,k,r,s]),y.useEffect(()=>{if(e!==void 0){var H=O?O.state.doc.toString():"";if(O&&e!==H){var R=I.current&&!I.current.isDone,Y=()=>{O&&e!==O.state.doc.toString()&&O.dispatch({changes:{from:0,to:O.state.doc.toString().length,insert:e||""},annotations:[ax.of(!0)]})};R?F.current=Y:Y()}}},[e,O]),{state:T,setState:B,view:O,setView:A,container:E,setContainer:x}}var tz=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],nd=y.forwardRef((t,e)=>{var{className:n,value:r="",selection:o,extensions:i=[],onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,autoFocus:u,theme:d="light",height:f,minHeight:p,maxHeight:m,width:v,minWidth:b,maxWidth:w,basicSetup:g,placeholder:C,indentWithTab:k,editable:_,readOnly:S,root:E,initialState:x}=t,O=W8(t,tz),A=y.useRef(null),{state:T,view:B,container:I,setContainer:F}=ez({root:E,value:r,autoFocus:u,theme:d,height:f,minHeight:p,maxHeight:m,width:v,minWidth:b,maxWidth:w,basicSetup:g,placeholder:C,indentWithTab:k,editable:_,readOnly:S,selection:o,onChange:s,onStatistics:a,onCreateEditor:l,onUpdate:c,extensions:i,initialState:x});y.useImperativeHandle(e,()=>({editor:A.current,state:T,view:B}),[A,I,T,B]);var N=y.useCallback(M=>{A.current=M,F(M)},[F]);if(typeof r!="string")throw new Error("value must be typeof string but got "+typeof r);var P=typeof d=="string"?"cm-theme-"+d:"cm-theme";return h.jsx("div",Zo({ref:N,className:""+P+(n?" "+n:"")},O))});nd.displayName="CodeMirror";const nz=De.baseTheme({"&.cm-editor":{fontSize:"15px"},"&.cm-editor.cm-focused":{outline:"none"},"&.cm-editor .cm-gutterElement":{lineHeight:"28px"},"&.cm-editor .cm-line":{lineHeight:"28px"},"&.cm-editor .ͼt .ͼs":{color:"#d73a49"}});function rz(t){return e=>{const n=e.matchBefore(/\w*/);return n.from==n.to&&!e.explicit?null:{from:n.from,options:(t==null?void 0:t.map(r=>Qu(r.template,{label:r.label,detail:r.detail,type:r.type})))||[]}}}const oz=new Set(["sys_tenant_id","response"]),iz=t=>t==="global"?"global":oz.has(t)?"builtin":/^N[^.{}]+$/.test(t)?"node":"unknown",lx=(t,e)=>{const n=t.slice(0,e).split(`
25
25
  `);return{line:n.length,column:n[n.length-1].length+1}},Jm=t=>{const e=/{{\s*([^{}]+?)\s*}}/g,n=[];let r;for(r=e.exec(t);r!==null;){const[o,i]=r,s=i.trim(),[a,...l]=s.split("."),c=lx(t,r.index),u=lx(t,r.index+o.length);n.push({value:o,expression:s,type:iz(a),firstPart:a,path:l.join("."),startIndex:r.index,endIndex:r.index+o.length,startLine:c.line,startColumn:c.column,endLine:u.line,endColumn:u.column}),r=e.exec(t)}return n},sz=(t,e,n)=>!(e<t.startLine||e>t.endLine||e===t.startLine&&n<t.startColumn||e===t.endLine&&n>t.endColumn),az=(t,e)=>{const n=e.startLineNumber>t.endLine||e.startLineNumber===t.endLine&&e.startColumn>t.endColumn,r=e.endLineNumber<t.startLine||e.endLineNumber===t.startLine&&e.endColumn<t.startColumn;return!n&&!r},lz=[["sys_tenant_id","租户ID"],["response","响应数据"]];class cz{constructor(){lt(this,"config",window.__FLOW_DESIGNER_CONFIG_NOT_USE_OR_U_WILL_BE_FIRED={icons:new Map,tips:new Map(lz)})}getConfig(){return window.__FLOW_DESIGNER_CONFIG_NOT_USE_OR_U_WILL_BE_FIRED}addConnectorIcon(e,n){this.config.icons.set(e,n)}addNodeIcon(e,n){this.config.icons.set(e,n)}getNodeIcon(e){return this.config.icons.get(e)}addNodeTips(e,n){this.config.tips.set(e,n)}getNodeTips(e){return this.config.tips.get(e)??K("link.flow.cannot_find_variable_output_node")}getBuiltinVariableTips(e){return this.config.tips.get(e)??K("link.flow.cannot_find_variable_output_node")}getToolTipColor(e){return this.config.tips.get(e)?"#2db7f5":"red"}getConnectorIcon(e){return this.config.icons.get(e)}}const il=new cz,rd=(t,e)=>{const n=document.createElement("div");n.style.marginTop="4px";const r=document.createElement("span");r.style.color="#9ca3af",r.textContent=`${t}: `;const o=document.createElement("span");return o.style.color="#e5e7eb",o.textContent=e,n.appendChild(r),n.appendChild(o),n},uz=t=>t.type==="node"?K("link.flow.variable_type_node"):t.type==="global"?K("link.flow.variable_type_global"):t.type==="builtin"?K("link.flow.variable_type_builtin"):K("link.flow.variable_type_platform"),dz=t=>{const e=document.createElement("div");e.style.padding="8px 10px",e.style.maxWidth="320px",e.style.fontSize="12px",e.style.lineHeight="18px",e.style.color="#e5e7eb",e.style.background="#111827",e.style.border="1px solid #374151",e.style.borderRadius="4px",e.style.boxShadow="0 8px 24px rgba(0, 0, 0, 0.28)";const n=document.createElement("div");return n.style.fontWeight="600",n.style.color="#fff",n.textContent=uz(t),e.appendChild(n),e.appendChild(rd(K("link.flow.variable_path"),t.value)),t.type==="node"&&t.path&&e.appendChild(rd(K("link.flow.variable_field"),t.path)),t.type==="global"&&t.path&&e.appendChild(rd(K("link.flow.variable_name"),t.path)),t.type==="builtin"&&e.appendChild(rd(K("link.flow.variable_description"),il.getBuiltinVariableTips(t.firstPart))),e},fz=W1((t,e)=>{const n=Jm(t.state.doc.toString()).find(r=>e>=r.startIndex&&e<=r.endIndex);return n?{pos:n.startIndex,end:n.endIndex,above:!0,create(){return{dom:dz(n)}}}:null}),hz=t=>{class e extends Nn{constructor(i){super();lt(this,"text");this.text=i}eq(i){return this.text==i.text}toDOM(){const i=document.createElement("span");i.style.cssText=`
26
26
  color: #d73a49;
27
27
  font-size: 14px;
@@ -49,7 +49,7 @@ The error may be correlated with this previous error:
49
49
  `.concat(r.current.stack,`
50
50
 
51
51
  `)),c}o.current=t,i.current=s,r.current=void 0;var l=y.useCallback(()=>{try{var c=o.current();if(e(i.current,c))return;i.current=c}catch(u){u instanceof Error?r.current=u:r.current=new Error(String(u))}n()},[]);return[s,l]}function Wj(t){return t instanceof Error}var d_=y.createContext({}),f_=(t,e)=>{var n=wr(),{decorate:r,addEventListener:o}=y.useContext(d_),i=()=>{var c=ye.findPath(n,t);return r([t,c])},s=Pe.isText(t)?VD:Lg,[a,l]=u_(i,s);return Lr(()=>{var c=o(l);return l(),c},[o,l]),y.useMemo(()=>[...a,...e],[a,e])},Uj=t=>{var e=y.useRef(new Set),n=y.useRef(t);Lr(()=>{n.current=t,e.current.forEach(i=>i())},[t]);var r=y.useCallback(i=>n.current(i),[]),o=y.useCallback(i=>(e.current.add(i),()=>{e.current.delete(i)}),[]);return y.useMemo(()=>({decorate:r,addEventListener:o}),[r,o])};function h_(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function p_(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?h_(Object(n),!0).forEach(function(r){bt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):h_(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var qj=t=>y.createElement(Rj,p_({},t)),Gj=t=>{for(var{decorations:e,isLast:n,parent:r,renderPlaceholder:o,renderLeaf:i,renderText:s=qj,text:a}=t,l=wr(),c=y.useRef(null),u=f_(a,e),d=Pe.decorations(a,u),f=ye.findKey(l,a),p=[],m=0;m<d.length;m++){var{leaf:v,position:b}=d[m];p.push(y.createElement(Vj,{isLast:n&&m===d.length-1,key:"".concat(f.id,"-").concat(m),renderPlaceholder:o,leaf:v,leafPosition:b,text:a,parent:r,renderLeaf:i}))}var w=y.useCallback(C=>{var k=wd.get(l);C?(k==null||k.set(f,C),bi.set(a,C),pl.set(C,a)):(k==null||k.delete(f),bi.delete(a),c.current&&pl.delete(c.current)),c.current=C},[c,l,f,a]),g={"data-slate-node":"text",ref:w};return s({text:a,children:p,attributes:g})},m_=y.memo(Gj,(t,e)=>e.parent===t.parent&&e.isLast===t.isLast&&e.renderText===t.renderText&&e.renderLeaf===t.renderLeaf&&e.renderPlaceholder===t.renderPlaceholder&&e.text===t.text&&VD(e.decorations,t.decorations)),Rj=t=>{var{attributes:e,children:n}=t;return y.createElement("span",p_({},e),n)};function g_(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ug(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?g_(Object(n),!0).forEach(function(r){bt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):g_(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var Kj=t=>y.createElement(Jj,Ug({},t)),Yj=t=>{var{decorations:e,element:n,renderElement:r=Kj,renderChunk:o,renderPlaceholder:i,renderLeaf:s,renderText:a}=t,l=wr(),c=a7(),u=l.isInline(n),d=f_(n,e),f=ye.findKey(l,n),p=y.useCallback(k=>{var _=wd.get(l);k?(_==null||_.set(f,k),bi.set(n,k),pl.set(k,n)):(_==null||_.delete(f),bi.delete(n))},[l,f,n]),m=k_({decorations:d,node:n,renderElement:r,renderChunk:o,renderPlaceholder:i,renderLeaf:s,renderText:a}),v={"data-slate-node":"element",ref:p};if(u&&(v["data-slate-inline"]=!0),!u&&L.hasInlines(l,n)){var b=ke.string(n),w=Kx(b);w==="rtl"&&(v.dir=w)}if(L.isVoid(l,n)){v["data-slate-void"]=!0,!c&&u&&(v.contentEditable=!1);var g=u?"span":"div",[[C]]=ke.texts(n);m=y.createElement(g,{"data-slate-spacer":!0,style:{height:"0",color:"transparent",outline:"none",position:"absolute"}},y.createElement(m_,{renderPlaceholder:i,decorations:[],isLast:!1,parent:n,text:C})),Ss.set(C,0),fl.set(C,n)}return r({attributes:v,children:m,element:n})},Xj=y.memo(Yj,(t,e)=>t.element===e.element&&t.renderElement===e.renderElement&&t.renderChunk===e.renderChunk&&t.renderText===e.renderText&&t.renderLeaf===e.renderLeaf&&t.renderPlaceholder===e.renderPlaceholder&&Lg(t.decorations,e.decorations)),Jj=t=>{var{attributes:e,children:n,element:r}=t,o=wr(),i=o.isInline(r)?"span":"div";return y.createElement(i,Ug(Ug({},e),{},{style:{position:"relative"}}),n)};class Qj{constructor(e,n){var{chunkSize:r,debug:o}=n;bt(this,"root",void 0),bt(this,"chunkSize",void 0),bt(this,"debug",void 0),bt(this,"reachedEnd",void 0),bt(this,"pointerChunk",void 0),bt(this,"pointerIndex",void 0),bt(this,"pointerIndexStack",void 0),bt(this,"cachedPointerNode",void 0),this.root=e,this.chunkSize=r,this.debug=o??!1,this.pointerChunk=e,this.pointerIndex=-1,this.pointerIndexStack=[],this.reachedEnd=!1,this.validateState()}readLeaf(){if(this.reachedEnd)return null;for(;;)if(this.pointerIndex+1<this.pointerSiblings.length){this.pointerIndex++,this.cachedPointerNode=void 0;break}else{if(this.pointerChunk.type==="root")return this.reachedEnd=!0,null;this.exitChunk()}return this.validateState(),this.enterChunkUntilLeaf(!1),this.pointerNode}returnToPreviousLeaf(){if(this.reachedEnd){this.reachedEnd=!1,this.enterChunkUntilLeaf(!0);return}for(;;)if(this.pointerIndex>=1){this.pointerIndex--,this.cachedPointerNode=void 0;break}else if(this.pointerChunk.type==="root"){this.pointerIndex=-1;return}else this.exitChunk();this.validateState(),this.enterChunkUntilLeaf(!0)}insertBefore(e){this.returnToPreviousLeaf(),this.insertAfter(e),this.readLeaf()}insertAfter(e){if(e.length!==0){for(var n=0,r=0;this.pointerChunk.type==="chunk"&&this.pointerIndex===this.pointerSiblings.length-1;){var o=this.chunkSize-this.pointerSiblings.length,i=Math.min(o,e.length);if(i>0){var s=e.splice(0,i);this.rawInsertAfter(s,n)}this.exitChunk(),n++}if(e.length!==0){var a=this.savePointer(),l=null;if(this.readLeaf())for(;this.pointerChunk.type==="chunk"&&this.pointerIndex===0;){var c=this.chunkSize-this.pointerSiblings.length,u=Math.min(c,e.length);if(u>0){var d=e.splice(-u,u);this.pointerIndex=-1,this.cachedPointerNode=void 0,this.rawInsertAfter(d,r),l||(l=this.savePointer())}this.exitChunk(),r++}this.restorePointer(a);var f=Math.max(n,r);this.rawInsertAfter(e,f),l&&this.restorePointer(l),this.validateState()}}}remove(){this.pointerSiblings.splice(this.pointerIndex--,1),this.cachedPointerNode=void 0,this.pointerSiblings.length===0&&this.pointerChunk.type==="chunk"?(this.exitChunk(),this.remove()):this.invalidateChunk(),this.validateState()}invalidateChunk(){for(var e=this.pointerChunk;e.type==="chunk";e=e.parent)this.root.modifiedChunks.add(e)}get atStart(){return this.pointerChunk.type==="root"&&this.pointerIndex===-1}get pointerSiblings(){return this.pointerChunk.children}getPointerNode(){return this.reachedEnd||this.pointerIndex===-1?null:this.pointerSiblings[this.pointerIndex]}get pointerNode(){if(this.cachedPointerNode!==void 0)return this.cachedPointerNode;var e=this.getPointerNode();return this.cachedPointerNode=e,e}getChunkPath(e){for(var n=[],r=e;r.type==="chunk";r=r.parent){var o=r.parent.children.indexOf(r);if(o===-1)return null;n.unshift(o)}return n}savePointer(){if(this.atStart)return"start";if(!this.pointerNode)throw new Error("Cannot save pointer when pointerNode is null");return{chunk:this.pointerChunk,node:this.pointerNode}}restorePointer(e){if(e==="start"){this.pointerChunk=this.root,this.pointerIndex=-1,this.pointerIndexStack=[],this.reachedEnd=!1,this.cachedPointerNode=void 0;return}var{chunk:n,node:r}=e,o=n.children.indexOf(r);if(o===-1)throw new Error("Cannot restore point because saved node is no longer in saved chunk");var i=this.getChunkPath(n);if(!i)throw new Error("Cannot restore point because saved chunk is no longer connected to root");this.pointerChunk=n,this.pointerIndex=o,this.pointerIndexStack=i,this.reachedEnd=!1,this.cachedPointerNode=r,this.validateState()}enterChunk(e){var n;if(((n=this.pointerNode)===null||n===void 0?void 0:n.type)!=="chunk")throw new Error("Cannot enter non-chunk");if(this.pointerIndexStack.push(this.pointerIndex),this.pointerChunk=this.pointerNode,this.pointerIndex=e?this.pointerSiblings.length-1:0,this.cachedPointerNode=void 0,this.validateState(),this.pointerChunk.children.length===0)throw new Error("Cannot enter empty chunk")}enterChunkUntilLeaf(e){for(;((n=this.pointerNode)===null||n===void 0?void 0:n.type)==="chunk";){var n;this.enterChunk(e)}}exitChunk(){if(this.pointerChunk.type==="root")throw new Error("Cannot exit root");var e=this.pointerChunk;this.pointerChunk=e.parent,this.pointerIndex=this.pointerIndexStack.pop(),this.cachedPointerNode=void 0,this.validateState()}rawInsertAfter(e,n){if(e.length!==0){for(var r=(u,d,f)=>{if(f===1)return u;for(var p=[],m=0;m<this.chunkSize;m++){var v=u.slice(m*f,(m+1)*f);if(v.length===0)break;var b={type:"chunk",key:new xD,parent:d,children:[]};b.children=r(v,b,f/this.chunkSize),p.push(b)}return p},o=this.pointerSiblings.length+e.length,i=0,s=this.chunkSize;s<o;s*=this.chunkSize)i++;var a=Math.max(i,n),l=Math.pow(this.chunkSize,a),c=r(e,this.pointerChunk,l);this.pointerSiblings.splice(this.pointerIndex+1,0,...c),this.pointerIndex+=c.length,this.cachedPointerNode=void 0,this.invalidateChunk(),this.validateState()}}validateState(){if(this.debug){var e=r=>{if(r.type==="chunk"){var{parent:o,children:i}=r;if(!o.children.includes(r))throw new Error("Debug: Chunk ".concat(r.key.id," has an incorrect parent property"));i.forEach(e)}};if(this.root.children.forEach(e),this.cachedPointerNode!==void 0&&this.cachedPointerNode!==this.getPointerNode())throw new Error("Debug: The cached pointer is incorrect and has not been invalidated");var n=this.getChunkPath(this.pointerChunk);if(!n)throw new Error("Debug: The pointer chunk is not connected to the root");if(!G.equals(this.pointerIndexStack,n))throw new Error("Debug: The cached index stack [".concat(this.pointerIndexStack.join(", "),"] does not match the path of the pointer chunk [").concat(n.join(", "),"]"))}}}class Zj{constructor(e,n){bt(this,"editor",void 0),bt(this,"children",void 0),bt(this,"cachedKeys",void 0),bt(this,"pointerIndex",void 0),this.editor=e,this.children=n,this.cachedKeys=new Array(n.length),this.pointerIndex=0}read(e){if(e===1)return[this.children[this.pointerIndex++]];var n=this.remaining(e);return this.pointerIndex+=e,n}remaining(e){return e===void 0?this.children.slice(this.pointerIndex):this.children.slice(this.pointerIndex,this.pointerIndex+e)}get reachedEnd(){return this.pointerIndex>=this.children.length}lookAhead(e,n){var r=this.children.indexOf(e,this.pointerIndex);if(r>-1)return r-this.pointerIndex;for(var o=this.pointerIndex;o<this.children.length;o++){var i=this.children[o],s=this.findKey(i,o);if(s===n)return o-this.pointerIndex}return-1}toChunkLeaves(e,n){return e.map((r,o)=>({type:"leaf",node:r,key:this.findKey(r,n+o),index:n+o}))}findKey(e,n){var r=this.cachedKeys[n];if(r)return r;var o=ye.findKey(this.editor,e);return this.cachedKeys[n]=o,o}}var e7=(t,e)=>{var{chunkTree:n,children:r,chunkSize:o,rerenderChildren:i=[],onInsert:s,onUpdate:a,onIndexChange:l,debug:c}=e;n.modifiedChunks.clear();for(var u=new Qj(n,{chunkSize:o,debug:c}),d=new Zj(t,r),f,p=function(){var w=d.lookAhead(f.node,f.key),g=w>0&&n.movedNodeKeys.has(f.key);if(w===-1||g)return u.remove(),1;var C=d.pointerIndex,k=d.read(w+1),_=k.pop();if(k.length){var S=d.toChunkLeaves(k,C);u.insertBefore(S),k.forEach((x,O)=>{s==null||s(x,C+O)})}var E=d.pointerIndex-1;f.node!==_&&(f.node=_,u.invalidateChunk(),a==null||a(_,E)),f.index!==E&&(f.index=E,l==null||l(_,E)),i.includes(E)&&u.invalidateChunk()};f=u.readLeaf();)p();if(!d.reachedEnd){var m=d.remaining(),v=d.toChunkLeaves(m,d.pointerIndex);u.returnToPreviousLeaf(),u.insertAfter(v),m.forEach((b,w)=>{s==null||s(b,d.pointerIndex+w)})}n.movedNodeKeys.clear()};function w_(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function t7(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?w_(Object(n),!0).forEach(function(r){bt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):w_(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var b_=new WeakMap,v_=function(e,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=ye.findKey(e,n),i=b_.get(o);return i||(i={type:"root",movedNodeKeys:new Set,modifiedChunks:new Set,children:[]},b_.set(o,i)),r.reconcile&&e7(e,t7({chunkTree:i,children:n.children},r.reconcile)),i},n7=t=>{var{children:e}=t;return e},y_=t=>{var{root:e,ancestor:n,renderElement:r,renderChunk:o=n7}=t;return n.children.map(i=>{if(i.type==="chunk"){var s=i.key.id,a=o({highest:n===e,lowest:i.children.some(c=>c.type==="leaf"),attributes:{"data-slate-chunk":!0},children:y.createElement(o7,{root:e,ancestor:i,renderElement:r,renderChunk:o})});return y.createElement(y.Fragment,{key:s},a)}var l=i.node;return r(l,i.index,i.key)})},r7=y_,o7=y.memo(y_,(t,e)=>t.root===e.root&&t.renderElement===e.renderElement&&t.renderChunk===e.renderChunk&&!e.root.modifiedChunks.has(e.ancestor)),C_=y.createContext(null),i7=()=>y.useContext(C_),k_=t=>{var{decorations:e,node:n,renderElement:r,renderChunk:o,renderPlaceholder:i,renderText:s,renderLeaf:a}=t,l=wr();ks.set(l,!1);var c=L.isEditor(n),u=!c&&ze.isElement(n)&&!l.isInline(n),d=u&&L.hasInlines(l,n),f=d?null:l.getChunkSize(n),p=!!f,{decorationsByChild:m,childrenToRedecorate:v}=s7(l,n,e);p||n.children.forEach((C,k)=>{Ss.set(C,k),fl.set(C,n)});var b=y.useCallback((C,k,_)=>{var S=_??ye.findKey(l,C);return y.createElement(C_.Provider,{key:"provider-".concat(S.id),value:C},y.createElement(Xj,{decorations:m[k],element:C,key:S.id,renderElement:r,renderChunk:o,renderPlaceholder:i,renderLeaf:a,renderText:s}))},[l,m,r,o,i,a,s]),w=(C,k)=>{var _=ye.findKey(l,C);return y.createElement(m_,{decorations:m[k],key:_.id,isLast:k===n.children.length-1,parent:n,renderPlaceholder:i,renderLeaf:a,renderText:s,text:C})};if(!p)return n.children.map((C,k)=>Pe.isText(C)?w(C,k):b(C,k));var g=v_(l,n,{reconcile:{chunkSize:f,rerenderChildren:v,onInsert:(C,k)=>{Ss.set(C,k),fl.set(C,n)},onUpdate:(C,k)=>{Ss.set(C,k),fl.set(C,n)},onIndexChange:(C,k)=>{Ss.set(C,k)}}});return y.createElement(r7,{root:g,ancestor:g,renderElement:b,renderChunk:o})},s7=(t,e,n)=>{var r=Q9(t,e,n),o=y.useRef(r).current,i=[];o.length=r.length;for(var s=0;s<r.length;s++){var a,l=r[s],c=(a=o[s])!==null&&a!==void 0?a:null;Lg(c,l)||(o[s]=l,i.push(s))}return{decorationsByChild:o,childrenToRedecorate:i}},S_=y.createContext(!1),a7=()=>y.useContext(S_),Ed=y.createContext({}),l7=(t,e)=>t===e;function c7(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:l7,{deferred:n}=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=y.useContext(Ed);if(!r)throw new Error("The `useSlateSelector` hook must be used inside the <Slate> component's context.");var{addEventListener:o}=r,i=wr(),s=y.useCallback(()=>t(i),[i,t]),[a,l]=u_(s,e);return Lr(()=>{var c=o(l,{deferred:n});return l(),c},[o,l,n]),a}function u7(){var t=y.useRef(new Set),e=y.useRef(new Set),n=y.useCallback(()=>{t.current.forEach(s=>s())},[]),r=y.useCallback(()=>{e.current.forEach(s=>s()),e.current.clear()},[]),o=y.useCallback(function(s){var{deferred:a=!1}=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},l=a?()=>e.current.add(s):s;return t.current.add(l),()=>{t.current.delete(l)}},[]),i=y.useMemo(()=>({addEventListener:o,flushDeferred:r}),[o,r]);return{selectorContext:i,onChange:n}}function d7(){var{flushDeferred:t}=y.useContext(Ed);Lr(t)}var f7=()=>{var{addEventListener:t}=y.useContext(Ed),[,e]=y.useReducer(n=>n+1,0);if(!t)throw new Error("The `useSlate` hook must be used inside the <Slate> component's context.");return Lr(()=>t(e),[t]),wr()};function h7(){var t=wr(),e=y.useRef(!1),n=y.useRef(0),r=y.useCallback(()=>{if(!e.current){e.current=!0;var o=ye.getWindow(t);o.cancelAnimationFrame(n.current),n.current=o.requestAnimationFrame(()=>{e.current=!1})}},[t]);return y.useEffect(()=>()=>cancelAnimationFrame(n.current),[]),{receivedUserInput:e,onUserInput:r}}var p7=(t,e)=>{var n=[],r=()=>{n=[]},o=s=>{if(e.current){var a=s.filter(l=>Dg(t,l,s));n.push(...a)}};function i(){n.length>0&&(n.reverse().forEach(s=>{s.type!=="characterData"&&(s.removedNodes.forEach(a=>{s.target.insertBefore(a,s.nextSibling)}),s.addedNodes.forEach(a=>{s.target.removeChild(a)}))}),r())}return{registerMutations:o,restoreDOM:i,clear:r}},m7={subtree:!0,childList:!0,characterData:!0,characterDataOldValue:!0};class E_ extends y.Component{constructor(){super(...arguments),bt(this,"context",null),bt(this,"manager",null),bt(this,"mutationObserver",null)}observe(){var e,{node:n}=this.props;if(!n.current)throw new Error("Failed to attach MutationObserver, `node` is undefined");(e=this.mutationObserver)===null||e===void 0||e.observe(n.current,m7)}componentDidMount(){var{receivedUserInput:e}=this.props,n=this.context;this.manager=p7(n,e),this.mutationObserver=new MutationObserver(this.manager.registerMutations),this.observe()}getSnapshotBeforeUpdate(){var e,n,r,o=(e=this.mutationObserver)===null||e===void 0?void 0:e.takeRecords();if(o!=null&&o.length){var i;(i=this.manager)===null||i===void 0||i.registerMutations(o)}return(n=this.mutationObserver)===null||n===void 0||n.disconnect(),(r=this.manager)===null||r===void 0||r.restoreDOM(),null}componentDidUpdate(){var e;(e=this.manager)===null||e===void 0||e.clear(),this.observe()}componentWillUnmount(){var e;(e=this.mutationObserver)===null||e===void 0||e.disconnect()}render(){return this.props.children}}bt(E_,"contextType",jg);var g7=ln?E_:t=>{var{children:e}=t;return y.createElement(y.Fragment,null,e)},w7=y.createContext(!1),b7=["autoFocus","decorate","onDOMBeforeInput","placeholder","readOnly","renderElement","renderChunk","renderLeaf","renderText","renderPlaceholder","scrollSelectionIntoView","style","as","disableDefaultStyles"],v7=["text"];function x_(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function $r(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?x_(Object(n),!0).forEach(function(r){bt(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):x_(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}var y7=t=>y.createElement(y.Fragment,null,k_(t)),C7=y.forwardRef((t,e)=>{var n=y.useCallback(W=>y.createElement(k7,$r({},W)),[]),{autoFocus:r,decorate:o=S7,onDOMBeforeInput:i,placeholder:s,readOnly:a=!1,renderElement:l,renderChunk:c,renderLeaf:u,renderText:d,renderPlaceholder:f=n,scrollSelectionIntoView:p=E7,style:m={},as:v="div",disableDefaultStyles:b=!1}=t,w=kd(t,b7),g=f7(),[C,k]=y.useState(!1),_=y.useRef(null),S=y.useRef([]),[E,x]=y.useState(),O=y.useRef(!1),{onUserInput:A,receivedUserInput:T}=h7(),[,B]=y.useReducer(W=>W+1,0);_D.set(g,B),Bg.set(g,a);var I=y.useMemo(()=>({isDraggingInternally:!1,isUpdatingSelection:!1,latestElement:null,hasMarkPlaceholder:!1}),[]);y.useEffect(()=>{_.current&&r&&_.current.focus()},[r]);var F=y.useRef(),N=y.useMemo(()=>f9(()=>{if(ks.get(g)){N();return}var W=ye.toDOMNode(g,g),X=W.getRootNode();if(!O.current&&wi&&X instanceof ShadowRoot){O.current=!0;var q=x9();q?document.execCommand("indent"):de.deselect(g),O.current=!1;return}var J=F.current;if((ln||!ye.isComposing(g))&&(!I.isUpdatingSelection||J!=null&&J.isFlushing())&&!I.isDraggingInternally){var re=ye.findDocumentOrShadowRoot(g),{activeElement:Z}=re,ue=ye.toDOMNode(g,g),ve=ul(re);if(Z===ue?(I.latestElement=Z,Bo.set(g,!0)):Bo.delete(g),!ve)return de.deselect(g);var{anchorNode:we,focusNode:fe}=ve,le=ye.hasEditableTarget(g,we)||ye.isTargetInsideNonReadonlyVoid(g,we),Se=ye.hasTarget(g,fe);if(le&&Se){var ce=ye.toSlateRange(g,ve,{exactMatch:!1,suppressThrow:!0});ce&&(!ye.isComposing(g)&&!(J!=null&&J.hasPendingChanges())&&!(J!=null&&J.isFlushing())?de.select(g,ce):J==null||J.handleUserSelect(ce))}a&&(!le||!Se)&&de.deselect(g)}},100),[g,a,I]),P=y.useMemo(()=>c9(N,0),[N]);F.current=Fj({node:_,onDOMSelectionChange:N,scheduleOnDOMSelectionChange:P}),Lr(()=>{var W,X,q;_.current&&(q=Eg(_.current))?(DD.set(g,q),hl.set(g,_.current),bi.set(g,_.current),pl.set(_.current,g)):bi.delete(g);var{selection:J}=g,re=ye.findDocumentOrShadowRoot(g),Z=ul(re);if(!(!Z||!ye.isFocused(g)||(W=F.current)!==null&&W!==void 0&&W.hasPendingAction())){var ue=le=>{var Se=Z.type!=="None";if(!(!J&&!Se)){var ce=Z.focusNode,Fe;if(Cs&&Z.rangeCount>1){var Ve=Z.getRangeAt(0),je=Z.getRangeAt(Z.rangeCount-1);Ve.startContainer===ce?Fe=je.endContainer:Fe=Ve.startContainer}else Fe=Z.anchorNode;var We=hl.get(g),ht=!1;if(gi(We,Fe)&&gi(We,ce)&&(ht=!0),Se&&ht&&J&&!le){var Ee=ye.toSlateRange(g,Z,{exactMatch:!0,suppressThrow:!0});if(Ee&&oe.equals(Ee,J)){var Ce;if(!I.hasMarkPlaceholder||(Ce=Fe)!==null&&Ce!==void 0&&(Ce=Ce.parentElement)!==null&&Ce!==void 0&&Ce.hasAttribute("data-slate-mark-placeholder"))return}}if(J&&!ye.hasRange(g,J)){g.selection=ye.toSlateRange(g,Z,{exactMatch:!1,suppressThrow:!0});return}I.isUpdatingSelection=!0;var Le=null;try{Le=J&&ye.toDOMRange(g,J)}catch{}return Le?(ye.isComposing(g)&&!ln?Z.collapseToEnd():oe.isBackward(J)?Z.setBaseAndExtent(Le.endContainer,Le.endOffset,Le.startContainer,Le.startOffset):Z.setBaseAndExtent(Le.startContainer,Le.startOffset,Le.endContainer,Le.endOffset),p(g,Le)):Z.removeAllRanges(),Le}};Z.rangeCount<=1&&ue();var ve=((X=F.current)===null||X===void 0?void 0:X.isFlushing())==="action";if(!ln||!ve){setTimeout(()=>{I.isUpdatingSelection=!1});return}var we=null,fe=requestAnimationFrame(()=>{if(ve){var le=Se=>{try{var ce=ye.toDOMNode(g,g);ce.focus(),ue(Se)}catch{}};le(),we=setTimeout(()=>{le(!0),I.isUpdatingSelection=!1})}});return()=>{cancelAnimationFrame(fe),we&&clearTimeout(we)}}});var M=y.useCallback(W=>{D_(g,W);var X=ye.toDOMNode(g,g),q=X.getRootNode();if(O!=null&&O.current&&wi&&q instanceof ShadowRoot){var J=W.getTargetRanges(),re=J[0],Z=new window.Range;Z.setStart(re.startContainer,re.startOffset),Z.setEnd(re.endContainer,re.endOffset);var ue=ye.toSlateRange(g,Z,{exactMatch:!1,suppressThrow:!1});de.select(g,ue),W.preventDefault(),W.stopImmediatePropagation();return}if(A(),!a&&ye.hasEditableTarget(g,W.target)&&!x7(W,i)){var ve;if(F.current)return F.current.handleDOMBeforeInput(W);P.flush(),N.flush();var{selection:we}=g,{inputType:fe}=W,le=W.dataTransfer||W.data||void 0,Se=fe==="insertCompositionText"||fe==="deleteCompositionText";if(Se&&ye.isComposing(g))return;var ce=!1;if(fe==="insertText"&&we&&oe.isCollapsed(we)&&W.data&&W.data.length===1&&/[a-z ]/i.test(W.data)&&we.anchor.offset!==0&&(ce=!0,g.marks&&(ce=!1),!ks.get(g))){var Fe,Ve,{anchor:je}=we,[We,ht]=ye.toDOMPoint(g,je),Ee=(Fe=We.parentElement)===null||Fe===void 0?void 0:Fe.closest("a"),Ce=ye.getWindow(g);if(ce&&Ee&&ye.hasDOMNode(g,Ee)){var Le,Mt=Ce==null?void 0:Ce.document.createTreeWalker(Ee,NodeFilter.SHOW_TEXT).lastChild();Mt===We&&((Le=Mt.textContent)===null||Le===void 0?void 0:Le.length)===ht&&(ce=!1)}if(ce&&We.parentElement&&(Ce==null||(Ve=Ce.getComputedStyle(We.parentElement))===null||Ve===void 0?void 0:Ve.whiteSpace)==="pre"){var St=L.above(g,{at:je.path,match:Us=>ze.isElement(Us)&&L.isBlock(g,Us)});St&&ke.string(St[0]).includes(" ")&&(ce=!1)}}if((!fe.startsWith("delete")||fe.startsWith("deleteBy"))&&!ks.get(g)){var[jr]=W.getTargetRanges();if(jr){var lo=ye.toSlateRange(g,jr,{exactMatch:!1,suppressThrow:!1});if(!we||!oe.equals(we,lo)){ce=!1;var Ws=!Se&&g.selection&&L.rangeRef(g,g.selection);de.select(g,lo),Ws&&ml.set(g,Ws)}}}if(Se)return;if(ce||W.preventDefault(),we&&oe.isExpanded(we)&&fe.startsWith("delete")){var co=fe.endsWith("Backward")?"backward":"forward";L.deleteFragment(g,{direction:co});return}switch(fe){case"deleteByComposition":case"deleteByCut":case"deleteByDrag":{L.deleteFragment(g);break}case"deleteContent":case"deleteContentForward":{L.deleteForward(g);break}case"deleteContentBackward":{L.deleteBackward(g);break}case"deleteEntireSoftLine":{L.deleteBackward(g,{unit:"line"}),L.deleteForward(g,{unit:"line"});break}case"deleteHardLineBackward":{L.deleteBackward(g,{unit:"block"});break}case"deleteSoftLineBackward":{L.deleteBackward(g,{unit:"line"});break}case"deleteHardLineForward":{L.deleteForward(g,{unit:"block"});break}case"deleteSoftLineForward":{L.deleteForward(g,{unit:"line"});break}case"deleteWordBackward":{L.deleteBackward(g,{unit:"word"});break}case"deleteWordForward":{L.deleteForward(g,{unit:"word"});break}case"insertLineBreak":L.insertSoftBreak(g);break;case"insertParagraph":{L.insertBreak(g);break}case"insertFromComposition":case"insertFromDrop":case"insertFromPaste":case"insertFromYank":case"insertReplacementText":case"insertText":{fe==="insertFromComposition"&&ye.isComposing(g)&&(k(!1),vi.set(g,!1)),(le==null?void 0:le.constructor.name)==="DataTransfer"?ye.insertData(g,le):typeof le=="string"&&(ce?S.current.push(()=>L.insertText(g,le)):L.insertText(g,le));break}}var jo=(ve=ml.get(g))===null||ve===void 0?void 0:ve.unref();ml.delete(g),jo&&(!g.selection||!oe.equals(g.selection,jo))&&de.select(g,jo)}},[g,N,A,i,a,P]),z=y.useCallback(W=>{W==null?(N.cancel(),P.cancel(),hl.delete(g),bi.delete(g),_.current&&No&&_.current.removeEventListener("beforeinput",M)):No&&W.addEventListener("beforeinput",M),_.current=W,typeof e=="function"?e(W):e&&(e.current=W)},[N,P,g,M,e]);Lr(()=>{var W=ye.getWindow(g),X=J=>{var{target:re}=J,Z=re instanceof HTMLElement?re:null,ue=Z==null?void 0:Z.tagName;ue==="INPUT"||ue==="TEXTAREA"||P()};W.document.addEventListener("selectionchange",X);var q=()=>{I.isDraggingInternally=!1};return W.document.addEventListener("dragend",q),W.document.addEventListener("drop",q),()=>{W.document.removeEventListener("selectionchange",X),W.document.removeEventListener("dragend",q),W.document.removeEventListener("drop",q)}},[P,I]);var H=o([g,[]]),R=Uj(o),Y=s&&g.children.length===1&&Array.from(ke.texts(g)).length===1&&ke.string(g)===""&&!C,te=y.useCallback(W=>{if(W&&Y){var X;x((X=W.getBoundingClientRect())===null||X===void 0?void 0:X.height)}else x(void 0)},[Y]);if(Y){var $=L.start(g,[]);H.push({[Es]:!0,placeholder:s,onPlaceholderResize:te,anchor:$,focus:$})}var{marks:j}=g;if(I.hasMarkPlaceholder=!1,g.selection&&oe.isCollapsed(g.selection)&&j){var{anchor:U}=g.selection,ee=ke.leaf(g,U.path),ie=kd(ee,v7);if(!Pe.equals(ee,j,{loose:!0})){I.hasMarkPlaceholder=!0;var be=Object.fromEntries(Object.keys(ie).map(W=>[W,null]));H.push($r($r($r({[AD]:!0},be),j),{},{anchor:U,focus:U}))}}return y.useEffect(()=>{setTimeout(()=>{var{selection:W}=g;if(W){var{anchor:X}=W,q=ke.leaf(g,X.path);if(j&&!Pe.equals(q,j,{loose:!0})){gr.set(g,j);return}}gr.delete(g)})}),d7(),y.createElement(S_.Provider,{value:a},y.createElement(w7.Provider,{value:C},y.createElement(d_.Provider,{value:R},y.createElement(g7,{node:_,receivedUserInput:T},y.createElement(v,$r($r({role:a?void 0:"textbox","aria-multiline":a?void 0:!0,translate:"no"},w),{},{spellCheck:No||!md?w.spellCheck:!1,autoCorrect:No||!md?w.autoCorrect:"false",autoCapitalize:No||!md?w.autoCapitalize:"false","data-slate-editor":!0,"data-slate-node":"value",contentEditable:!a,zindex:-1,suppressContentEditableWarning:!0,ref:z,style:$r($r({},b?{}:$r({position:"relative",whiteSpace:"pre-wrap",wordWrap:"break-word"},E?{minHeight:E}:{})),m),onBeforeInput:y.useCallback(W=>{if(!No&&!a&&!gn(W,w.onBeforeInput)&&ye.hasSelectableTarget(g,W.target)&&(W.preventDefault(),!ye.isComposing(g))){var X=W.data;L.insertText(g,X)}},[w.onBeforeInput,g,a]),onInput:y.useCallback(W=>{if(!gn(W,w.onInput)){if(F.current){F.current.handleInput();return}for(var X of S.current)X();S.current=[],ye.isFocused(g)||D_(g,W.nativeEvent)}},[w.onInput,g]),onBlur:y.useCallback(W=>{if(!(a||I.isUpdatingSelection||!ye.hasSelectableTarget(g,W.target)||gn(W,w.onBlur))){var X=ye.findDocumentOrShadowRoot(g);if(I.latestElement!==X.activeElement){var{relatedTarget:q}=W,J=ye.toDOMNode(g,g);if(q!==J&&!(Zn(q)&&q.hasAttribute("data-slate-spacer"))){if(q!=null&&To(q)&&ye.hasDOMNode(g,q)){var re=ye.toSlateNode(g,q);if(ze.isElement(re)&&!g.isVoid(re))return}if(wi){var Z=ul(X);Z==null||Z.removeAllRanges()}Bo.delete(g)}}}},[a,I.isUpdatingSelection,I.latestElement,g,w.onBlur]),onClick:y.useCallback(W=>{if(ye.hasTarget(g,W.target)&&!gn(W,w.onClick)&&To(W.target)){var X=ye.toSlateNode(g,W.target),q=ye.findPath(g,X);if(!L.hasPath(g,q)||ke.get(g,q)!==X)return;if(W.detail===U9&&q.length>=1){var J=q;if(!(ze.isElement(X)&&L.isBlock(g,X))){var re,Z=L.above(g,{match:ce=>ze.isElement(ce)&&L.isBlock(g,ce),at:q});J=(re=Z==null?void 0:Z[1])!==null&&re!==void 0?re:q.slice(0,1)}var ue=L.range(g,J);de.select(g,ue);return}if(a)return;var ve=L.start(g,q),we=L.end(g,q),fe=L.void(g,{at:ve}),le=L.void(g,{at:we});if(fe&&le&&G.equals(fe[1],le[1])){var Se=L.range(g,ve);de.select(g,Se)}}},[g,w.onClick,a]),onCompositionEnd:y.useCallback(W=>{if(!vl(W)&&ye.hasSelectableTarget(g,W.target)){var X;if(ye.isComposing(g)&&Promise.resolve().then(()=>{k(!1),vi.set(g,!1)}),(X=F.current)===null||X===void 0||X.handleCompositionEnd(W),gn(W,w.onCompositionEnd)||ln)return;if(!wi&&!T9&&!_9&&!B9&&!N9&&W.data){var q=gr.get(g);gr.delete(g),q!==void 0&&(to.set(g,g.marks),g.marks=q),L.insertText(g,W.data);var J=to.get(g);to.delete(g),J!==void 0&&(g.marks=J)}}},[w.onCompositionEnd,g]),onCompositionUpdate:y.useCallback(W=>{ye.hasSelectableTarget(g,W.target)&&!gn(W,w.onCompositionUpdate)&&!vl(W)&&(ye.isComposing(g)||(k(!0),vi.set(g,!0)))},[w.onCompositionUpdate,g]),onCompositionStart:y.useCallback(W=>{if(!vl(W)&&ye.hasSelectableTarget(g,W.target)){var X;if((X=F.current)===null||X===void 0||X.handleCompositionStart(W),gn(W,w.onCompositionStart)||ln)return;k(!0);var{selection:q}=g;if(q&&oe.isExpanded(q)){L.deleteFragment(g);return}}},[w.onCompositionStart,g]),onCopy:y.useCallback(W=>{ye.hasSelectableTarget(g,W.target)&&!gn(W,w.onCopy)&&!vl(W)&&(W.preventDefault(),ye.setFragmentData(g,W.clipboardData,"copy"))},[w.onCopy,g]),onCut:y.useCallback(W=>{if(!a&&ye.hasSelectableTarget(g,W.target)&&!gn(W,w.onCut)&&!vl(W)){W.preventDefault(),ye.setFragmentData(g,W.clipboardData,"cut");var{selection:X}=g;if(X)if(oe.isExpanded(X))L.deleteFragment(g);else{var q=ke.parent(g,X.anchor.path);L.isVoid(g,q)&&de.delete(g)}}},[a,g,w.onCut]),onDragOver:y.useCallback(W=>{if(ye.hasTarget(g,W.target)&&!gn(W,w.onDragOver)){var X=ye.toSlateNode(g,W.target);ze.isElement(X)&&L.isVoid(g,X)&&W.preventDefault()}},[w.onDragOver,g]),onDragStart:y.useCallback(W=>{if(!a&&ye.hasTarget(g,W.target)&&!gn(W,w.onDragStart)){var X=ye.toSlateNode(g,W.target),q=ye.findPath(g,X),J=ze.isElement(X)&&L.isVoid(g,X)||L.void(g,{at:q,voids:!0});if(J){var re=L.range(g,q);de.select(g,re)}I.isDraggingInternally=!0,ye.setFragmentData(g,W.dataTransfer,"drag")}},[a,g,w.onDragStart,I]),onDrop:y.useCallback(W=>{if(!a&&ye.hasTarget(g,W.target)&&!gn(W,w.onDrop)){W.preventDefault();var X=g.selection,q=ye.findEventRange(g,W),J=W.dataTransfer;de.select(g,q),I.isDraggingInternally&&X&&!oe.equals(X,q)&&!L.void(g,{at:q,voids:!0})&&de.delete(g,{at:X}),ye.insertData(g,J),ye.isFocused(g)||ye.focus(g)}},[a,g,w.onDrop,I]),onDragEnd:y.useCallback(W=>{!a&&I.isDraggingInternally&&w.onDragEnd&&ye.hasTarget(g,W.target)&&w.onDragEnd(W)},[a,I,w,g]),onFocus:y.useCallback(W=>{if(!a&&!I.isUpdatingSelection&&ye.hasEditableTarget(g,W.target)&&!gn(W,w.onFocus)){var X=ye.toDOMNode(g,g),q=ye.findDocumentOrShadowRoot(g);if(I.latestElement=q.activeElement,Cs&&W.target!==X){X.focus();return}Bo.set(g,!0)}},[a,I,g,w.onFocus]),onKeyDown:y.useCallback(W=>{if(!a&&ye.hasEditableTarget(g,W.target)){var X;(X=F.current)===null||X===void 0||X.handleKeyDown(W);var{nativeEvent:q}=W;if(ye.isComposing(g)&&q.isComposing===!1&&(vi.set(g,!1),k(!1)),gn(W,w.onKeyDown)||ye.isComposing(g))return;var{selection:J}=g,re=g.children[J!==null?J.focus.path[0]:0],Z=Kx(ke.string(re))==="rtl";if(yt.isRedo(q)){W.preventDefault();var ue=g;typeof ue.redo=="function"&&ue.redo();return}if(yt.isUndo(q)){W.preventDefault();var ve=g;typeof ve.undo=="function"&&ve.undo();return}if(yt.isMoveLineBackward(q)){W.preventDefault(),de.move(g,{unit:"line",reverse:!0});return}if(yt.isMoveLineForward(q)){W.preventDefault(),de.move(g,{unit:"line"});return}if(yt.isExtendLineBackward(q)){W.preventDefault(),de.move(g,{unit:"line",edge:"focus",reverse:!0});return}if(yt.isExtendLineForward(q)){W.preventDefault(),de.move(g,{unit:"line",edge:"focus"});return}if(yt.isMoveBackward(q)){W.preventDefault(),J&&oe.isCollapsed(J)?de.move(g,{reverse:!Z}):de.collapse(g,{edge:Z?"end":"start"});return}if(yt.isMoveForward(q)){W.preventDefault(),J&&oe.isCollapsed(J)?de.move(g,{reverse:Z}):de.collapse(g,{edge:Z?"start":"end"});return}if(yt.isMoveWordBackward(q)){W.preventDefault(),J&&oe.isExpanded(J)&&de.collapse(g,{edge:"focus"}),de.move(g,{unit:"word",reverse:!Z});return}if(yt.isMoveWordForward(q)){W.preventDefault(),J&&oe.isExpanded(J)&&de.collapse(g,{edge:"focus"}),de.move(g,{unit:"word",reverse:Z});return}if(No){if((Og||wi)&&J&&(yt.isDeleteBackward(q)||yt.isDeleteForward(q))&&oe.isCollapsed(J)){var we=ke.parent(g,J.anchor.path);if(ze.isElement(we)&&L.isVoid(g,we)&&(L.isInline(g,we)||L.isBlock(g,we))){W.preventDefault(),L.deleteBackward(g,{unit:"block"});return}}}else{if(yt.isBold(q)||yt.isItalic(q)||yt.isTransposeCharacter(q)){W.preventDefault();return}if(yt.isSoftBreak(q)){W.preventDefault(),L.insertSoftBreak(g);return}if(yt.isSplitBlock(q)){W.preventDefault(),L.insertBreak(g);return}if(yt.isDeleteBackward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"backward"}):L.deleteBackward(g);return}if(yt.isDeleteForward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"forward"}):L.deleteForward(g);return}if(yt.isDeleteLineBackward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"backward"}):L.deleteBackward(g,{unit:"line"});return}if(yt.isDeleteLineForward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"forward"}):L.deleteForward(g,{unit:"line"});return}if(yt.isDeleteWordBackward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"backward"}):L.deleteBackward(g,{unit:"word"});return}if(yt.isDeleteWordForward(q)){W.preventDefault(),J&&oe.isExpanded(J)?L.deleteFragment(g,{direction:"forward"}):L.deleteForward(g,{unit:"word"});return}}}},[a,g,w.onKeyDown]),onPaste:y.useCallback(W=>{!a&&ye.hasEditableTarget(g,W.target)&&!gn(W,w.onPaste)&&(!No||v9(W.nativeEvent)||wi)&&(W.preventDefault(),ye.insertData(g,W.clipboardData))},[a,g,w.onPaste])}),y.createElement(y7,{decorations:H,node:g,renderElement:l,renderChunk:c,renderPlaceholder:f,renderLeaf:u,renderText:d}))))))}),k7=t=>{var{attributes:e,children:n}=t;return y.createElement("span",$r({},e),n,ln&&y.createElement("br",null))},S7=()=>[],E7=(t,e)=>{var n=!!t.selection&&oe.isBackward(t.selection),r=e.cloneRange();if(r.collapse(n),r.getBoundingClientRect){var o=r.startContainer.parentElement,i=r.getBoundingClientRect(),s=i.width===0&&i.height===0&&i.x===0&&i.y===0;if(s){var a=o.getBoundingClientRect(),l=a.width>0||a.height>0;if(l)return}o.getBoundingClientRect=r.getBoundingClientRect.bind(r),m9(o,{scrollMode:"if-needed"}),delete o.getBoundingClientRect}},gn=(t,e)=>{if(!e)return!1;var n=e(t);return n??(t.isDefaultPrevented()||t.isPropagationStopped())},vl=t=>To(t.target)&&(t.target instanceof HTMLInputElement||t.target instanceof HTMLTextAreaElement),x7=(t,e)=>{if(!e)return!1;var n=e(t);return n??t.defaultPrevented},D_=(t,e)=>{var n=t;if(e.inputType==="historyUndo"&&typeof n.undo=="function"){n.undo();return}if(e.inputType==="historyRedo"&&typeof n.redo=="function"){n.redo();return}},__=y.createContext(!1),D7=()=>y.useContext(__),A_=parseInt(y.version.split(".")[0],10),_7=["editor","children","onChange","onSelectionChange","onValueChange","initialValue"],A7=t=>{var{editor:e,children:n,onChange:r,onSelectionChange:o,onValueChange:i,initialValue:s}=t,a=kd(t,_7);y.useState(()=>{if(!ke.isNodeList(s))throw new Error("[Slate] initialValue is invalid! Expected a list of elements but got: ".concat(Vt.stringify(s)));if(!L.isEditor(e))throw new Error("[Slate] editor is invalid! You passed: ".concat(Vt.stringify(e)));e.children=s,Object.assign(e,a)});var{selectorContext:l,onChange:c}=u7(),u=y.useCallback(()=>{r&&r(e.children),o&&e.operations.find(p=>p.type==="set_selection")&&o(e.selection),i&&e.operations.find(p=>p.type!=="set_selection")&&i(e.children),c()},[e,c,r,o,i]);y.useEffect(()=>(Fg.set(e,u),()=>{Fg.set(e,()=>{})}),[e,u]);var[d,f]=y.useState(ye.isFocused(e));return y.useEffect(()=>{f(ye.isFocused(e))},[e]),Lr(()=>{var p=()=>f(ye.isFocused(e));return A_>=17?(document.addEventListener("focusin",p),document.addEventListener("focusout",p),()=>{document.removeEventListener("focusin",p),document.removeEventListener("focusout",p)}):(document.addEventListener("focus",p,!0),document.addEventListener("blur",p,!0),()=>{document.removeEventListener("focus",p,!0),document.removeEventListener("blur",p,!0)})},[]),y.createElement(Ed.Provider,{value:l},y.createElement(jg.Provider,{value:e},y.createElement(__.Provider,{value:d},n)))},O7=()=>{var t=i7();if(!t)return!1;var e=y.useCallback(n=>{if(!n.selection)return!1;var r=ye.findPath(n,t),o=L.range(n,r);return!!oe.intersection(o,n.selection)},[t]);return c7(e,void 0,{deferred:!0})},T7=function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"x-slate-fragment",r=e;r=W9(r,n);var{onChange:o,apply:i,insertText:s}=r;return r.getChunkSize=()=>null,ln&&(r.insertText=(a,l)=>(no.delete(r),s(a,l))),r.onChange=a=>{var l=A_<18?qo.unstable_batchedUpdates:c=>c();l(()=>{o(a)})},r.apply=a=>{if(a.type==="move_node"){var l=ke.parent(r,a.path),c=!!r.getChunkSize(l);if(c){var u=ke.get(r,a.path),d=v_(r,l),f=ye.findKey(r,u);d.movedNodeKeys.add(f)}}i(a)},r};const N7=t=>{const e=ne.useReactFlow();return y.useMemo(()=>{const n=t.split("."),r=n[0],o=`{{${t}}}`;if(r==="global")return{exists:!0,type:"global",tooltip:n.slice(1).join("."),fullPath:o,backgroundColor:"#ECFDF5",borderColor:"#10B981",textColor:"#065F46",iconColor:"#10B981"};if(Pt.includes(["sys_tenant_id","response"],r))return{exists:!0,type:"builtin",tooltip:il.getBuiltinVariableTips(r),fullPath:o,backgroundColor:"#F3E8FF",borderColor:"#A855F7",textColor:"#6B21A8",iconColor:"#A855F7"};const i=r==null?void 0:r.slice(1),a=e.getNodes().find(f=>f.id===i);if(!a)return{exists:!1,type:"node",tooltip:K("link.flow.cannot_find_variable_output_node"),fullPath:o,backgroundColor:"#FEF2F2",borderColor:"#EF4444",textColor:"#991B1B",iconColor:"#EF4444"};const l=a.data??{},c=String(l.label||l.name||i),u=l.note;return{exists:!0,type:"node",icon:typeof l.icon=="string"?l.icon:il.getNodeIcon(i)??void 0,tooltip:c+(u?` (${u})`:""),fullPath:o,backgroundColor:"#EBF5FF",borderColor:"#3B82F6",textColor:"#1E40AF",iconColor:"#3B82F6"}},[t,e])},B7=(t,e)=>{const n=e.exec(t);if(!n)return null;const o=t.slice(-2)==="}}";return{tagContent:n[1].trimStart(),tagLength:n[0].length,tagStartIndex:n.index,isTagLastItem:o}},O_=(t,e,n)=>{const r=[{type:"tag",value:e,children:[{text:e}]},{text:""}];de.insertNodes(t,r,n)},F7=(t,e)=>[...t.slice(0,-1),t[t.length-1]+e],M7=({attributes:t,element:e,children:n})=>h.jsx("p",{...t,children:n}),I7=({attributes:t,element:e,children:n,removeTagButton:r,transformInputText:o,transformInputElement:i})=>{const s=O7(),a=D7(),l=N7((e==null?void 0:e.value)||""),c=y.useRef(null);return h.jsx(D.Tooltip,{defaultOpen:!l.exists,classNames:{root:"variable-tag-tooltip"},placement:"top",getPopupContainer:()=>{var d;return((d=c.current)==null?void 0:d.closest(".nodes-config-content"))??document.body},title:h.jsxs("div",{className:"tag-tooltip-content",children:[h.jsx("div",{className:"tag-tooltip-header",children:h.jsxs("span",{className:"tag-tooltip-type",children:[l.type==="node"&&"节点变量",l.type==="global"&&"全局变量",l.type==="builtin"&&"系统变量"]})}),h.jsx("div",{className:"tag-tooltip-name",children:l.tooltip}),h.jsx("div",{className:"tag-tooltip-path",children:l.fullPath}),l.value&&h.jsxs("div",{className:"tag-tooltip-value",children:[h.jsx("span",{className:"tag-tooltip-value-label",children:"当前值:"}),h.jsx("span",{className:"tag-tooltip-value-text",children:l.value})]})]}),arrow:{pointAtCenter:!0},children:h.jsx("span",{ref:c,...t,className:`tag-wrapper ${l.exists?"":"tag-invalid"} ${s?"selected":""} ${a?"focused":""}`,children:h.jsxs("span",{className:`tag-text ${r?"tag-text-right-padding":""}`,children:[n,o?h.jsx("span",{children:o(e==null?void 0:e.value)}):i?i(e==null?void 0:e.value):h.jsx("span",{children:e==null?void 0:e.value})]})})})},P7=({attributes:t,element:e,children:n})=>h.jsx("p",{...t,children:n}),L7=(t,e)=>{const{isInline:n,isVoid:r,normalizeNode:o}=t;return t.isInline=i=>i.type==="tag"?!0:n(i),t.isVoid=i=>i.type==="tag"?!0:r(i),t.normalizeNode=([i,s])=>{if(!(i!=null&&i.text)){o([i,s]);return}const a=ke.string(i),l=B7(a,e);if(l){const{tagContent:c,tagLength:u,tagStartIndex:d,isTagLastItem:f}=l,p={path:s,offset:d};de.delete(t,{at:p,distance:u,unit:"character"}),O_(t,c,{at:p}),f&&de.select(t,{path:F7(s,1),offset:0})}o([i,s])},t},$7=t=>{var n;const e=(n=t==null?void 0:t.children)==null?void 0:n.map(r=>r.type==="tag"?`{{${r.value}}}`:r.text);return Array.isArray(e)?e.join(""):""},z7=t=>(t??[]).map(n=>$7(n)).join(`
52
- `),H7=y.forwardRef(({onValueChange:t=f=>{},removeTagButton:e=!1,initValue:n,onFocus:r,onBlur:o,addImageElement:i,transformInputText:s,transformInputElement:a,textAreaMode:l,capturePattern:c=_z,disabled:u},d)=>{const f=y.useRef(null),p=y.useMemo(()=>L7(T7(YV()),c),[]),[m,v]=y.useState(id(n,c));let b=n;const w=y.useCallback(({element:S,children:E,attributes:x})=>{switch(S.type){case"paragraph":return h.jsx(P7,{attributes:x,element:S,children:E});case"tag":return h.jsx(I7,{attributes:x,element:S,removeTagButton:e,addImageElement:i,transformInputText:s,transformInputElement:a,children:E});default:return h.jsx(M7,{attributes:x,element:S,children:E})}},[]);y.useEffect(()=>{v(id(n,c))},[n]);const g=y.useCallback(S=>{f.current=p.selection;const E=z7(S);E!==b&&(b=S,v(S),t(E))},[]),C=S=>{de.delete(p,{at:[0]});const E=id(S,c);p.children=id("",c),de.insertNodes(p,E,{at:[0]})},k=S=>{var E;O_(p,S,{at:(E=f.current)==null?void 0:E.focus}),de.move(p,{distance:m.length-1})};y.useImperativeHandle(d,()=>({insertTag:k,setValueByParent:C}));const _=Ot();return h.jsx(A7,{editor:p,initialValue:m,onChange:g,children:h.jsx(C7,{style:l?{minHeight:60,maxHeight:200}:{maxHeight:150},onFocus:r,onBlur:o,readOnly:!_||u,spellCheck:!1,className:"ce-tag_input",renderElement:w})})}),T_=t=>h.jsx("div",{style:{display:t.show?"block":"none",height:"100%",width:"100%",...t.style??{}},children:t.children}),Pn=t=>{const e=Ot(),n=y.useMemo(()=>In(),[]),{event$:r}=y.useContext(Qr),o=Qm(n),i=y.useRef(null),[s,a]=y.useState(""),l=Et.useReactive({innerValueType:"",radioType:"",openEditorNumber:0});y.useEffect(()=>{l.radioType=t.valueType},[t.valueType,l]),r.useSubscription(f=>{var p,m,v;if(f.type==="insert"&&f.currentInputId===n){(m=i==null?void 0:(p=i.current).insertTag)==null||m.call(p,f.expression.slice(2,-2));const b=(s??"")+(t.valueType==="FIX_VALUE"?f.expression.slice(2,-2):f.expression);a(b),(v=t.onChange)==null||v.call(t,b)}});const c=y.useMemo(()=>!t.borrow&&["JS_EXP","ADAPTOR"].includes(t.valueType),[t.borrow,t.valueType]);y.useEffect(()=>{a(t.value)},[t.value]);const u=f=>{var p;(p=t.onChange)==null||p.call(t,f)},d=f=>{var p;a(f),(p=t.onChange)==null||p.call(t,f)};return h.jsxs(bC,{id:n,canEditInEditor:e&&!t.disableIDE,openEditorNumber:l.openEditorNumber,nodeId:t.nodeId,value:t.value,onFinish:f=>{i.current.setValueByParent(f)},children:[c&&h.jsx("div",{style:{textAlign:"right",position:"absolute",top:-34,right:2},children:h.jsxs(D.Radio.Group,{value:l.radioType,onChange:f=>{l.radioType=f.target.value,l.radioType==="ADAPTOR"&&i.current.setValueByParent(s)},size:"small",style:{marginTop:16},children:[h.jsx(D.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"ADAPTOR",children:h.jsx(Te.FormattedMessage,{id:"link.flow.string"})}),h.jsx(D.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"JS_EXP",children:h.jsx(Te.FormattedMessage,{id:"link.flow.script"})})]})}),h.jsx(T_,{show:l.radioType==="ADAPTOR"||!c&&l.radioType!=="PLAIN_CODE",children:h.jsx("div",{className:o?od:void 0,children:h.jsx(H7,{id:n,ref:i,disabled:t.disabled,textAreaMode:t.textAreaMode,initValue:t.value,onFocus:()=>{["JS_EXP","FIX_VALUE","ADAPTOR","PLAIN_TEXT","PLAIN_CODE"].includes(t.valueType)&&(r.emit({type:"visible",visible:!0}),r.emit({type:"setCurrentInputId",currentInputId:n})),t.onFocus&&t.onFocus()},onBlur:()=>{t.onBlur&&t.onBlur()},removeTagButton:!1,onValueChange:u,addImageElement:f=>{const m=(f==null?void 0:f.split(".")[0]).slice(1),v=il.getConfig().icons.get(m);return v?h.jsx("img",{src:v,alt:m,onError:b=>{b.target.src="/uc/images/default_connector.png"}}):h.jsx(se.ThunderboltOutlined,{})},transformInputText:f=>Pt.includes(["sys_tenant_id","response"],f)?f:f.split(".").slice(1).join("."),transformInputElement:f=>h.jsx("span",{style:{color:"blue"},children:f})})})}),h.jsxs(T_,{show:(l.radioType==="JS_EXP"||l.radioType==="PLAIN_CODE")&&(l.radioType==="PLAIN_CODE"||c),style:{position:"relative"},children:[h.jsx("div",{children:h.jsx(Dz,{...t,onValueChange:d})}),h.jsx("button",{type:"button","aria-label":"在在线 IDE 中编辑",title:"在在线 IDE 中编辑",className:"workflow-online-ide-trigger",disabled:!e,onClick:()=>{l.openEditorNumber++},children:h.jsx(se.FullscreenOutlined,{})})]})]})};function qg(t,e){return e?{...t,valueModePolicy:e}:t}const Gg=({policy:t,disabled:e,readOnly:n,children:r})=>{const[o,i]=y.useState(()=>t?Lh(t).defaultMode:"normal"),s=y.useCallback(a=>{i(a)},[]);return t?h.jsx(mC,{policy:t,mode:o,onModeChange:s,children:h.jsxs("div",{className:"value-mode-wrapper",children:[h.jsx($h,{valueModePolicy:t,mode:o,onModeChange:s,disabled:e,readOnly:n,modeSwitchPosition:"top-right"}),h.jsx("div",{className:"value-mode-content",children:r})]})}):h.jsx(h.Fragment,{children:r})},xd="${",Dd="}",N_="\\$";function _d(t){return typeof t=="string"&&t.startsWith(xd)&&t.endsWith(Dd)&&t.length>=xd.length+Dd.length}function Rg(t){if(typeof t=="string")return t;if(t==null)return"";try{return typeof t=="object"?JSON.stringify(t)??"":String(t)}catch{return""}}function Ad(t,e,n){const r=Rg(t);return n?e==="expression"?`${xd}${r}${Dd}`:e==="normal"&&r.startsWith("$")?`${N_}${r.slice(1)}`:r:r}function _s(t,e,n){const r=Rg(t);return n?e==="expression"&&_d(r)?r.slice(xd.length,-Dd.length):e==="normal"&&r.startsWith(N_)?r.slice(1):r:r}function B_(t,e,n,r=gC){return n?r.includes("expression")&&_d(t)?"expression":e:r.includes("expression")&&typeof t=="string"&&/\{\{.*\}\}/.test(t)?"expression":e}const ki=({value:t="",onChange:e,valueModePolicy:n,availableModes:r=gC,defaultMode:o="normal",mode:i,onModeChange:s,disabled:a=!1,readOnly:l=!1,id:c,placeholder:u,multiline:d=!1,rows:f=4,textModeSupportsVariables:p=!1,encodeExpressionValue:m=!1,onFocus:v,onBlur:b,renderNormalMode:w,renderExpressionMode:g,children:C,hideModeSwitch:k=!1,modeSwitchPosition:_="top-left",compact:S=!1})=>{const E=pC(),x=n??(E==null?void 0:E.policy),O=k||!!(E!=null&&E.suppressNestedSwitch),A=i??(E!=null&&E.suppressNestedSwitch?E.mode:void 0),T=s??(E!=null&&E.suppressNestedSwitch?E.onModeChange:void 0),B=x?Lh(x):void 0,I=(B==null?void 0:B.availableModes)??r,F=(B==null?void 0:B.defaultMode)??o,N=I.length===1?I[0]:void 0,P=Rg(t),M=y.useRef(P),z=y.useRef(void 0),H=y.useRef(e);H.current=e;const R=()=>B_(P,F,m,I),[Y,te]=y.useState(R),$=N??A??Y,j=y.useMemo(()=>_s(P,$,m),[P,$,m]);y.useEffect(()=>{A!==void 0&&te(A)},[A]),y.useEffect(()=>{var J;if(!m||A===void 0){z.current=$;return}const X=z.current;if(z.current=$,X===void 0||X===$)return;const q=Ad(_s(P,X,!0),$,!0);q!==P&&(M.current=q,(J=H.current)==null||J.call(H,q))},[$,m,A,P]),y.useEffect(()=>{!m||A!==void 0||M.current!==P&&(M.current=P,te(B_(P,F,!0,I)))},[I,A,F,m,P]),y.useEffect(()=>{var q;if(!m||!N||!P.trim())return;const X=Ad(_s(P,N,!0),N,!0);X===P||M.current===X||(M.current=X,(q=H.current)==null||q.call(H,X))},[m,N,P]);const U=y.useCallback(X=>{if(te(X),T==null||T(X),m){const q=Ad(j,X,!0);M.current=q,z.current=X,e==null||e(q)}},[j,m,e,T]),ee=y.useCallback(X=>{const q=Ad(X,$,m);M.current=q,e==null||e(q)},[$,m,e]),ie=()=>O||!wC(x)?null:h.jsx($h,{valueModePolicy:x,mode:$,onModeChange:U,disabled:a,readOnly:l,modeSwitchPosition:_}),be=X=>h.jsx(Pn,{valueType:"FIX_VALUE",value:j,onChange:ee,placeholder:u,disabled:a,onFocus:v,onBlur:b}),W=()=>{switch($){case"normal":return x!=="TEXT"&&p?be():C?vt.cloneElement(C,{value:j,onChange:ee,disabled:a,readOnly:l}):w?w({value:j,onChange:ee,disabled:a,readOnly:l,placeholder:u}):d?h.jsx(D.Input.TextArea,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u,rows:f,onFocus:v,onBlur:b}):h.jsx(D.Input,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u,onFocus:v,onBlur:b});case"expression":return g?g({value:j,onChange:ee,disabled:a,readOnly:l,placeholder:u}):be();case"code":return h.jsx(D.Input.TextArea,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u||"// 输入 JavaScript 代码",rows:f,className:"code-mode-textarea",style:{fontFamily:"monospace"},onFocus:v,onBlur:b});default:return null}};return h.jsxs("div",{className:`value-mode-wrapper${S?" compact":""}`,children:[ie(),h.jsx("div",{className:"value-mode-content",children:W()})]})};function V7(t){switch(t){case ge.NUMBER:case ge.SLIDER:case ge.RATE:return"number";case ge.CHECKBOX:case ge.SWITCH:return"boolean";case ge.MULTI_SELECT:case ge.CHECKBOX_GROUP:case ge.DATE_RANGE:case ge.TIME_RANGE:case ge.ARRAY:case ge.ARRAY_OBJECT:return"array";case ge.DATE:case ge.DATETIME:case ge.TIME:return"object";case ge.OBJECT:case ge.KEY_VALUE:return"object";default:return}}function Si(t){return _d(t)}function Ei(t){return Si(t)?null:_s(t,"normal",!0)}function j7(t){return t==null?!0:Array.isArray(t)?t.length===0:_d(t)?_s(t,"expression",!0).trim()==="":typeof t=="string"?_s(t,"normal",!0).trim()==="":!1}function Kg(t){return{message:t,validator:async(e,n)=>{if(j7(n))throw new Error(t||"此项为必填")}}}function xi(t,e,n){const r=[],o=n?V7(n):void 0;for(const i of t){if(i.type==="when"){ti(i.conditions,e)&&r.push(...xi(i.rules,e,n));continue}const s=W7(i,o);s&&r.push(s)}return r}function W7(t,e){const n={message:t.message,warningOnly:t.warningOnly};switch(t.type){case"required":return Kg(t.message);case"type":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const i=Ei(o);if(i!=null){if(t.value==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i))throw new Error(t.message||"类型不正确");if(t.value==="url")try{new URL(i)}catch{throw new Error(t.message||"类型不正确")}if(t.value==="string"&&typeof o!="string"&&i==="")throw new Error(t.message||"类型不正确");if((t.value==="number"||t.value==="float"||t.value==="integer")&&Number.isNaN(Number(i)))throw new Error(t.message||"类型不正确");if(t.value==="integer"&&!Number.isInteger(Number(i)))throw new Error(t.message||"类型不正确");if(t.value==="boolean"&&typeof o!="boolean")throw new Error(t.message||"类型不正确");if(t.value==="array"&&!Array.isArray(o))throw new Error(t.message||"类型不正确");if(t.value==="object"&&(typeof o!="object"||o==null||Array.isArray(o)))throw new Error(t.message||"类型不正确")}}};case"min":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(e==="number"||typeof o=="number"){if(Number(o)<t.value)throw new Error(t.message||`最小值 ${t.value}`);return}if(e==="array"||Array.isArray(o)){if(!Array.isArray(o)||o.length<t.value)throw new Error(t.message||`至少 ${t.value} 项`);return}const i=Ei(o);if(i!=null&&i.length<t.value)throw new Error(t.message||`最少 ${t.value} 个字符`)}};case"max":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(e==="number"||typeof o=="number"){if(Number(o)>t.value)throw new Error(t.message||`最大值 ${t.value}`);return}if(e==="array"||Array.isArray(o)){if(Array.isArray(o)&&o.length>t.value)throw new Error(t.message||`最多 ${t.value} 项`);return}const i=Ei(o);if(i!=null&&i.length>t.value)throw new Error(t.message||`最多 ${t.value} 个字符`)}};case"len":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(Array.isArray(o)){if(o.length!==t.value)throw new Error(t.message||`长度须为 ${t.value}`);return}const i=Ei(o);if(i!=null&&i.length!==t.value)throw new Error(t.message||`长度须为 ${t.value}`)}};case"pattern":{const r=new RegExp(t.value,t.flags);return{...n,validator:async(o,i)=>{if(i==null||i==="")return;const s=Ei(i);if(s!=null&&!r.test(s))throw new Error(t.message||"格式不正确")}}}case"enum":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const s=Ei(o)??o;if(!t.value.includes(s))throw new Error(t.message||"不在可选范围内")}};case"whitespace":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const i=Ei(o);if(i!=null&&i.length>0&&i.trim()==="")throw new Error(t.message||"不能只包含空白字符")}};default:return null}}const U7=t=>!t||typeof t!="object"?!1:"AND"in t||"OR"in t?!0:"keyword"in t&&"key"in t;function yl(t,e){return t.visibleWhen&&t.visibleWhen.conditions?ti(t.visibleWhen.conditions,e):!0}function q7(t){var e;return((e=t.visibleWhen)==null?void 0:e.hideStrategy)||"unregister"}function As(t,e,n=!1){return typeof t=="boolean"?t:U7(t)?ti(t,e):n}const G7=(t,e)=>{const n=e.split(".");let r=t;for(let i=0;i<n.length-1;i+=1){const s=n[i],a=r==null?void 0:r[s];if(typeof a!="object"||a===null)return;r=a}const o=n[n.length-1];if(Array.isArray(r)){const i=Number(o);Number.isNaN(i)||r.splice(i,1)}else r&&delete r[o]};function R7(t,e,n){const r=structuredClone(e);for(const o of t.fields)n[o.name]===!1&&G7(r,o.name);return r}const Od="{{$fromAI}}",F_=({value:t,onChange:e,children:n,aiFillable:r=!0,disabled:o=!1})=>{const[i,s]=y.useState(t===Od),[a,l]=y.useState(void 0);if(y.useEffect(()=>{s(t===Od)},[t]),!r)return y.cloneElement(n,{value:t,onChange:e});const c=()=>{l(t),s(!0),e==null||e(Od)},u=()=>{s(!1),e==null||e(a)};return i?h.jsx("div",{className:"ai-field-wrapper ai-mode",children:h.jsxs("div",{className:"ai-field-display",children:[h.jsx(D.Input,{readOnly:!0,value:"由 AI 生成",className:"ai-field-input",prefix:h.jsx(se.RobotOutlined,{className:"ai-icon"})}),!o&&h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:u,className:"ai-field-close"})]})}):h.jsxs("div",{className:"ai-field-wrapper normal-mode",children:[h.jsx("div",{className:"ai-field-content",children:y.cloneElement(n,{value:t,onChange:e})}),!o&&h.jsx(D.Button,{type:"link",size:"small",icon:h.jsx(se.RobotOutlined,{}),onClick:c,className:"ai-enable-button",children:"由 AI 生成"})]})},K7=new Set([ge.NUMBER,ge.SWITCH,ge.PASSWORD]);function dt(t,e={}){const n={needsFormItemName:!0,supportsVariableInsert:!1,supportsAiFillable:!1,...e};if(n.supportsVariableInsert&&n.supportsAiFillable)return{component:t,meta:n};const r=o=>{const{field:i,disabled:s,readOnly:a,context:l,value:c,onChange:u}=o,d=n.valuePropName?o[n.valuePropName]??c:c;let f=h.jsx(t,{...o,value:d});return i.valueModePolicy&&!n.supportsVariableInsert&&!K7.has(i.type)&&(f=h.jsx(ki,{valueModePolicy:i.valueModePolicy,disabled:s,readOnly:a,placeholder:i.placeholder,validateVariable:l.validateVariable,renderVariableTag:l.renderVariableTag,renderVariableTooltip:l.renderVariableTooltip,modeSwitchPosition:"top-right",value:d,onChange:u,encodeExpressionValue:i.valueModePolicy!=="TEXT",children:f})),i.aiFillable&&!n.supportsAiFillable&&(f=h.jsx(F_,{aiFillable:!0,disabled:s,value:d,onChange:u,children:f})),f};return r.displayName=`FieldComponent(${t.displayName||t.name||"Anonymous"})`,{component:r,meta:n}}function Mo(t,e={}){return{component:t,meta:e}}const M_=({children:t})=>h.jsx(D.Button,{disabled:!0,style:{pointerEvents:"none"},children:t}),I_=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.showThousandsSeparator?l=>`${l}`.replace(/\B(?=(\d{3})+(?!\d))/g,","):void 0,s=t.showThousandsSeparator?l=>l==null?void 0:l.replace(/\$\s?|(,*)/g,""):void 0,a=h.jsx(D.InputNumber,{disabled:e,placeholder:t.placeholder,min:t.min,max:t.max,step:t.step,precision:t.precision,controls:t.controls,formatter:i,parser:s,style:{width:"100%"},value:n,onChange:r,id:o});return!t.addonBefore&&!t.addonAfter?a:h.jsxs(D.Space.Compact,{style:{width:"100%"},children:[t.addonBefore?h.jsx(M_,{children:t.addonBefore}):null,a,t.addonAfter?h.jsx(M_,{children:t.addonAfter}):null]})};I_.displayName="NumberFieldControl";const Y7=dt(I_,{needsFormItemName:!0}),P_=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i})=>h.jsx(D.Input.Password,{autoComplete:"new-password",disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:s=>o==null?void 0:o(s.target.value),id:i});P_.displayName="PasswordFieldControl";const X7=dt(P_,{needsFormItemName:!0}),L_=({field:t,disabled:e,readOnly:n,context:r,value:o,onChange:i,id:s})=>{t.autoSize??((t.minRows||t.maxRows)&&(t.minRows,t.maxRows));const a=t.minRows||4,l=()=>{var u;(u=r.eventHandlers)==null||u.onBlur(t.name)},c=()=>{var u;(u=r.eventHandlers)==null||u.onFocus(t.name)};return h.jsx(ki,{valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,id:s,placeholder:t.placeholder,multiline:!0,rows:a,validateVariable:r.validateVariable,renderVariableTag:r.renderVariableTag,renderVariableTooltip:r.renderVariableTooltip,modeSwitchPosition:"top-right",value:o,onChange:i,onFocus:c,onBlur:l,textModeSupportsVariables:!0,encodeExpressionValue:t.valueModePolicy!=="TEXT"})};L_.displayName="TextareaFieldControl";const J7=dt(L_,{supportsVariableInsert:!0,needsFormItemName:!0}),$_=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i,context:s})=>{const a=()=>{var c;(c=s.eventHandlers)==null||c.onBlur(t.name)},l=()=>{var c;(c=s.eventHandlers)==null||c.onFocus(t.name)};return wC(t.valueModePolicy)?h.jsx(ki,{valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,id:i,placeholder:t.placeholder,validateVariable:s.validateVariable,renderVariableTag:s.renderVariableTag,renderVariableTooltip:s.renderVariableTooltip,modeSwitchPosition:"top-right",value:r,onChange:o,onFocus:l,onBlur:a,textModeSupportsVariables:!0,encodeExpressionValue:!0}):h.jsx(D.Input,{disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:c=>o==null?void 0:o(c.target.value),onBlur:a,onFocus:l,id:i})};$_.displayName="TextFieldControl";const Q7=dt($_,{supportsVariableInsert:!0,needsFormItemName:!0}),z_=({field:t,disabled:e,readOnly:n,context:r})=>{const o=Pc(),{renderVariableTag:i,renderVariableTooltip:s,validateVariable:a,values:l,optionsLoader:c}=r,u=qg(t.itemSchema,t.valueModePolicy),d=Z7(t),f=o.get(u.type),p=f==null?void 0:f.component;return h.jsx(Gg,{policy:t.valueModePolicy,disabled:e,readOnly:n,children:h.jsx(D.Form.List,{name:t.name,rules:d,children:(m,{add:v,remove:b},{errors:w})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[m.map((g,C)=>h.jsxs(D.Card,{size:"small",title:t.itemLabel||`Item ${C+1}`,children:[h.jsx(D.Form.Item,{name:[g.name,u.name],label:u.label,rules:xi(u.rules||[],l,u.type),children:p&&h.jsx(p,{field:u,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}),h.jsxs("div",{style:{textAlign:"right"},children:[h.jsx(D.Button,{type:"link",danger:!0,onClick:()=>b(g.name),disabled:e||t.minItems!==void 0&&m.length<=t.minItems,children:"移除"}),t.allowCopy&&h.jsx(D.Button,{type:"link",onClick:()=>{const k=qn(l,`${t.name}.${g.name}`);v(k,C+1)},disabled:e,children:"复制"})]})]},g.key)),h.jsx(D.Button,{type:"dashed",block:!0,onClick:()=>v(u.defaultValue),disabled:e||t.maxItems!==void 0&&m.length>=t.maxItems,children:"添加"}),h.jsx(D.Form.ErrorList,{errors:w})]})})})};z_.displayName="ArrayFieldControl";function Z7(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(!o||o.length<t.minItems)throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const eW=Mo(z_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1}),H_=({field:t,disabled:e,context:n})=>{const r=Pc(),o=D.Form.useFormInstance(),{renderVariableTag:i,renderVariableTooltip:s,validateVariable:a,values:l,optionsLoader:c}=n,u=t,d=nW(u),f=u.__arrayObjectDepth??0,p=u.__arrayObjectLevelBackgroundColors??t.levelBackgroundColors,m=dW(t,f,p),v=pW(t);return h.jsx(D.Form.List,{name:u.name,rules:v,children:(b,{add:w,remove:g,move:C},{errors:k})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[b.map((_,S)=>h.jsx(D.Card,{size:"small",style:fW(m),styles:{body:hW(m)},title:h.jsx(V_,{field:t,index:S,titlePath:rW(t,d,_.name),disabled:e}),extra:h.jsxs(D.Space,{children:[t.allowCopy&&h.jsx(D.Tooltip,{title:"复制",children:h.jsx(D.Button,{"aria-label":"复制",type:"text",size:"small",icon:h.jsx(se.CopyOutlined,{}),onClick:()=>{const E=[...d,_.name],x=o.getFieldValue(E)??W_(l,E);w(x,S+1)},disabled:e||t.maxItems!==void 0&&b.length>=t.maxItems})}),h.jsx(D.Tooltip,{title:"置顶",children:h.jsx(D.Button,{"aria-label":"置顶",type:"text",size:"small",icon:h.jsx(se.VerticalAlignTopOutlined,{}),disabled:e||S===0,onClick:()=>C(S,0)})}),h.jsx(D.Tooltip,{title:"向上",children:h.jsx(D.Button,{"aria-label":"向上",type:"text",size:"small",icon:h.jsx(se.ArrowUpOutlined,{}),disabled:e||S===0,onClick:()=>C(S,S-1)})}),h.jsx(D.Tooltip,{title:"向下",children:h.jsx(D.Button,{"aria-label":"向下",type:"text",size:"small",icon:h.jsx(se.ArrowDownOutlined,{}),disabled:e||S===b.length-1,onClick:()=>C(S,S+1)})}),h.jsx(D.Tooltip,{title:"置底",children:h.jsx(D.Button,{"aria-label":"置底",type:"text",size:"small",icon:h.jsx(se.VerticalAlignBottomOutlined,{}),disabled:e||S===b.length-1,onClick:()=>C(S,b.length-1)})}),h.jsx(D.Tooltip,{title:"删除",children:h.jsx(D.Button,{"aria-label":"删除",type:"text",size:"small",danger:!0,icon:h.jsx(se.DeleteOutlined,{}),onClick:()=>g(_.name),disabled:e||t.minItems!==void 0&&b.length<=t.minItems})})]}),children:h.jsx("div",{style:lW(t),children:t.columns.map(E=>{const x=r.get(E.type),O=x==null?void 0:x.component,A=[_.name,E.name],T=[...d,_.name,E.name];return h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const B=o.getFieldValue([...d,_.name])??W_(l,[...d,_.name])??{};return yl(E,B)?x!=null&&x.meta.isHidden?h.jsx(D.Form.Item,{name:A,hidden:!0,rules:xi(E.rules||[],B,E.type),valuePropName:x.meta.valuePropName,validateTrigger:E.validateTrigger,children:O&&h.jsx(O,{field:E,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):x!=null&&x.meta.isComplexField?h.jsx(D.Form.Item,{label:E.label,tooltip:E.tooltip,extra:E.helpText||E.extra||E.description,children:O&&h.jsx(O,{field:tW(E,A,T,f+1,p),disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):h.jsx(D.Form.Item,{name:A,label:E.label,tooltip:E.tooltip,extra:E.helpText||E.extra||E.description,rules:xi(E.rules||[],B,E.type),children:O&&h.jsx(O,{field:E,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):null}},E.name)})})},_.key)),h.jsx(D.Button,{type:"dashed",block:!0,icon:h.jsx(se.PlusOutlined,{}),onClick:()=>w(),disabled:e||t.maxItems!==void 0&&b.length>=t.maxItems,children:aW(t)}),h.jsx(D.Form.ErrorList,{errors:k})]})})};H_.displayName="ArrayObjectFieldControl";const V_=({field:t,index:e,titlePath:n,disabled:r})=>{const o=D.Form.useFormInstance(),i=D.Form.useWatch(n,o),[s,a]=vt.useState(!1),[l,c]=vt.useState(""),u=sW(t,e),d=iW(i,u),f=()=>{c(d),a(!0)},p=()=>{c(""),a(!1)},m=()=>{if(n){const v=l.trim()||void 0;o.setFieldValue(n,v)}a(!1),c("")};return n?s?h.jsxs(D.Space,{children:[h.jsx(D.Input,{size:"small",value:l,onChange:v=>c(v.target.value),onPressEnter:m,style:{width:200},placeholder:"请输入标题"}),h.jsx(D.Button,{"aria-label":"保存标题",type:"text",size:"small",icon:h.jsx(se.CheckOutlined,{style:{color:"#52c41a"}}),onClick:m}),h.jsx(D.Button,{"aria-label":"取消标题编辑",type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:p})]}):h.jsxs(D.Space,{children:[h.jsx("span",{children:d}),h.jsx(D.Button,{"aria-label":"编辑标题",type:"text",size:"small",icon:h.jsx(se.EditOutlined,{}),disabled:r,onClick:f})]}):h.jsx("span",{children:d})};V_.displayName="ArrayObjectRowTitle";function tW(t,e,n,r,o){return{...t,name:e,__arrayObjectRootNamePath:n,__arrayObjectDepth:r,__arrayObjectLevelBackgroundColors:o}}function j_(t){return Array.isArray(t)?t:[t]}function nW(t){return t.__arrayObjectRootNamePath??j_(t.name)}function W_(t,e){return qn(t,j_(e).join("."))}function rW(t,e,n){const r=oW(t);return r?[...e,n,r]:void 0}function oW(t){return t.titleFieldName?t.titleFieldName:t.titleEditable?"title":void 0}function iW(t,e){return typeof t=="string"&&t.trim()?t:e}function sW(t,e){return t.label?`${t.label} #${e+1}`:`Item ${e+1}`}function aW(t){return t.label?`添加${t.label}`:"添加行"}function lW(t){return t.columnLayout!=="grid"?{display:"flex",flexDirection:"column",width:"100%",gap:0}:{display:"grid",gridTemplateColumns:`repeat(${cW(t)}, minmax(0, 1fr))`,columnGap:16,rowGap:0,width:"100%",alignItems:"start"}}function cW(t){const e=t.columns.filter(r=>!uW(r)).length,n=typeof t.columnCount=="number"&&Number.isFinite(t.columnCount)?Math.floor(t.columnCount):3;return Math.max(1,Math.min(n,Math.max(e,1)))}function uW(t){return t.type===ge.HIDDEN}function dW(t,e,n){if(t.backgroundColor)return t.backgroundColor;if(n!=null&&n.length)return n[e%n.length]}function fW(t){if(t)return{backgroundColor:t}}function hW(t){if(t)return{backgroundColor:t}}function pW(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(!o||o.length<t.minItems)throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const mW=Mo(H_,{isComplexField:!0,needsFormItemName:!1});/**
52
+ `),H7=y.forwardRef(({onValueChange:t=f=>{},removeTagButton:e=!1,initValue:n,onFocus:r,onBlur:o,addImageElement:i,transformInputText:s,transformInputElement:a,textAreaMode:l,capturePattern:c=_z,disabled:u},d)=>{const f=y.useRef(null),p=y.useMemo(()=>L7(T7(YV()),c),[]),[m,v]=y.useState(id(n,c));let b=n;const w=y.useCallback(({element:S,children:E,attributes:x})=>{switch(S.type){case"paragraph":return h.jsx(P7,{attributes:x,element:S,children:E});case"tag":return h.jsx(I7,{attributes:x,element:S,removeTagButton:e,addImageElement:i,transformInputText:s,transformInputElement:a,children:E});default:return h.jsx(M7,{attributes:x,element:S,children:E})}},[]);y.useEffect(()=>{v(id(n,c))},[n]);const g=y.useCallback(S=>{f.current=p.selection;const E=z7(S);E!==b&&(b=S,v(S),t(E))},[]),C=S=>{de.delete(p,{at:[0]});const E=id(S,c);p.children=id("",c),de.insertNodes(p,E,{at:[0]})},k=S=>{var E;O_(p,S,{at:(E=f.current)==null?void 0:E.focus}),de.move(p,{distance:m.length-1})};y.useImperativeHandle(d,()=>({insertTag:k,setValueByParent:C}));const _=Ot();return h.jsx(A7,{editor:p,initialValue:m,onChange:g,children:h.jsx(C7,{style:l?{minHeight:60,maxHeight:200}:{maxHeight:150},onFocus:r,onBlur:o,readOnly:!_||u,spellCheck:!1,className:"ce-tag_input",renderElement:w})})}),T_=t=>h.jsx("div",{style:{display:t.show?"block":"none",height:"100%",width:"100%",...t.style??{}},children:t.children}),Pn=t=>{const e=Ot(),n=y.useMemo(()=>In(),[]),{event$:r}=y.useContext(Qr),o=Qm(n),i=y.useRef(null),[s,a]=y.useState(""),l=Et.useReactive({innerValueType:"",radioType:"",openEditorNumber:0});y.useEffect(()=>{l.radioType=t.valueType},[t.valueType,l]),r.useSubscription(f=>{var p,m,v;if(f.type==="insert"&&f.currentInputId===n){(m=i==null?void 0:(p=i.current).insertTag)==null||m.call(p,f.expression.slice(2,-2));const b=(s??"")+(t.valueType==="FIX_VALUE"?f.expression.slice(2,-2):f.expression);a(b),(v=t.onChange)==null||v.call(t,b)}});const c=y.useMemo(()=>!t.borrow&&["JS_EXP","ADAPTOR"].includes(t.valueType),[t.borrow,t.valueType]);y.useEffect(()=>{a(t.value)},[t.value]);const u=f=>{var p;(p=t.onChange)==null||p.call(t,f)},d=f=>{var p;a(f),(p=t.onChange)==null||p.call(t,f)};return h.jsxs(bC,{id:n,canEditInEditor:e&&!t.disableIDE,openEditorNumber:l.openEditorNumber,nodeId:t.nodeId,value:t.value,onFinish:f=>{i.current.setValueByParent(f)},children:[c&&h.jsx("div",{style:{textAlign:"right",position:"absolute",top:-34,right:2},children:h.jsxs(D.Radio.Group,{value:l.radioType,onChange:f=>{l.radioType=f.target.value,l.radioType==="ADAPTOR"&&i.current.setValueByParent(s)},size:"small",style:{marginTop:16},children:[h.jsx(D.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"ADAPTOR",children:h.jsx(Te.FormattedMessage,{id:"link.flow.string"})}),h.jsx(D.Radio.Button,{style:{height:18,fontSize:10,display:"inline-flex",alignItems:"center"},value:"JS_EXP",children:h.jsx(Te.FormattedMessage,{id:"link.flow.script"})})]})}),h.jsx(T_,{show:l.radioType==="ADAPTOR"||!c&&l.radioType!=="PLAIN_CODE",children:h.jsx("div",{className:o?od:void 0,children:h.jsx(H7,{id:n,ref:i,disabled:t.disabled,textAreaMode:t.textAreaMode,initValue:t.value,onFocus:()=>{["JS_EXP","FIX_VALUE","ADAPTOR","PLAIN_TEXT","PLAIN_CODE"].includes(t.valueType)&&(r.emit({type:"visible",visible:!0}),r.emit({type:"setCurrentInputId",currentInputId:n})),t.onFocus&&t.onFocus()},onBlur:()=>{t.onBlur&&t.onBlur()},removeTagButton:!1,onValueChange:u,addImageElement:f=>{const m=(f==null?void 0:f.split(".")[0]).slice(1),v=il.getConfig().icons.get(m);return v?h.jsx("img",{src:v,alt:m,onError:b=>{b.target.src="/uc/images/default_connector.png"}}):h.jsx(se.ThunderboltOutlined,{})},transformInputText:f=>Pt.includes(["sys_tenant_id","response"],f)?f:f.split(".").slice(1).join("."),transformInputElement:f=>h.jsx("span",{style:{color:"blue"},children:f})})})}),h.jsxs(T_,{show:(l.radioType==="JS_EXP"||l.radioType==="PLAIN_CODE")&&(l.radioType==="PLAIN_CODE"||c),style:{position:"relative"},children:[h.jsx("div",{children:h.jsx(Dz,{...t,onValueChange:d})}),h.jsx("button",{type:"button","aria-label":"在在线 IDE 中编辑",title:"在在线 IDE 中编辑",className:"workflow-online-ide-trigger",disabled:!e,onClick:()=>{l.openEditorNumber++},children:h.jsx(se.FullscreenOutlined,{})})]})]})};function qg(t,e){return e?{...t,valueModePolicy:e}:t}const Gg=({policy:t,disabled:e,readOnly:n,children:r})=>{const[o,i]=y.useState(()=>t?Lh(t).defaultMode:"normal"),s=y.useCallback(a=>{i(a)},[]);return t?h.jsx(mC,{policy:t,mode:o,onModeChange:s,children:h.jsxs("div",{className:"value-mode-wrapper",children:[h.jsx($h,{valueModePolicy:t,mode:o,onModeChange:s,disabled:e,readOnly:n,modeSwitchPosition:"top-right"}),h.jsx("div",{className:"value-mode-content",children:r})]})}):h.jsx(h.Fragment,{children:r})},xd="${",Dd="}",N_="\\$";function _d(t){return typeof t=="string"&&t.startsWith(xd)&&t.endsWith(Dd)&&t.length>=xd.length+Dd.length}function Rg(t){if(typeof t=="string")return t;if(t==null)return"";try{return typeof t=="object"?JSON.stringify(t)??"":String(t)}catch{return""}}function Ad(t,e,n){const r=Rg(t);return n?e==="expression"?`${xd}${r}${Dd}`:e==="normal"&&r.startsWith("$")?`${N_}${r.slice(1)}`:r:r}function _s(t,e,n){const r=Rg(t);return n?e==="expression"&&_d(r)?r.slice(xd.length,-Dd.length):e==="normal"&&r.startsWith(N_)?r.slice(1):r:r}function B_(t,e,n,r=gC){return n?r.includes("expression")&&_d(t)?"expression":e:r.includes("expression")&&typeof t=="string"&&/\{\{.*\}\}/.test(t)?"expression":e}const ki=({value:t="",onChange:e,valueModePolicy:n,availableModes:r=gC,defaultMode:o="normal",mode:i,onModeChange:s,disabled:a=!1,readOnly:l=!1,id:c,placeholder:u,multiline:d=!1,rows:f=4,textModeSupportsVariables:p=!1,encodeExpressionValue:m=!1,onFocus:v,onBlur:b,renderNormalMode:w,renderExpressionMode:g,children:C,hideModeSwitch:k=!1,modeSwitchPosition:_="top-left",compact:S=!1})=>{const E=pC(),x=n??(E==null?void 0:E.policy),O=k||!!(E!=null&&E.suppressNestedSwitch),A=i??(E!=null&&E.suppressNestedSwitch?E.mode:void 0),T=s??(E!=null&&E.suppressNestedSwitch?E.onModeChange:void 0),B=x?Lh(x):void 0,I=(B==null?void 0:B.availableModes)??r,F=(B==null?void 0:B.defaultMode)??o,N=I.length===1?I[0]:void 0,P=Rg(t),M=y.useRef(P),z=y.useRef(void 0),H=y.useRef(e);H.current=e;const R=()=>B_(P,F,m,I),[Y,te]=y.useState(R),$=N??A??Y,j=y.useMemo(()=>_s(P,$,m),[P,$,m]);y.useEffect(()=>{A!==void 0&&te(A)},[A]),y.useEffect(()=>{var J;if(!m||A===void 0){z.current=$;return}const X=z.current;if(z.current=$,X===void 0||X===$)return;const q=Ad(_s(P,X,!0),$,!0);q!==P&&(M.current=q,(J=H.current)==null||J.call(H,q))},[$,m,A,P]),y.useEffect(()=>{!m||A!==void 0||M.current!==P&&(M.current=P,te(B_(P,F,!0,I)))},[I,A,F,m,P]),y.useEffect(()=>{var q;if(!m||!N||!P.trim())return;const X=Ad(_s(P,N,!0),N,!0);X===P||M.current===X||(M.current=X,(q=H.current)==null||q.call(H,X))},[m,N,P]);const U=y.useCallback(X=>{if(te(X),T==null||T(X),m){const q=Ad(j,X,!0);M.current=q,z.current=X,e==null||e(q)}},[j,m,e,T]),ee=y.useCallback(X=>{const q=Ad(X,$,m);M.current=q,e==null||e(q)},[$,m,e]),ie=()=>O||!wC(x)?null:h.jsx($h,{valueModePolicy:x,mode:$,onModeChange:U,disabled:a,readOnly:l,modeSwitchPosition:_}),be=X=>h.jsx(Pn,{valueType:"FIX_VALUE",value:j,onChange:ee,placeholder:u,disabled:a,onFocus:v,onBlur:b}),W=()=>{switch($){case"normal":return x!=="TEXT"&&p?be():C?vt.cloneElement(C,{value:j,onChange:ee,disabled:a,readOnly:l}):w?w({value:j,onChange:ee,disabled:a,readOnly:l,placeholder:u}):d?h.jsx(D.Input.TextArea,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u,rows:f,onFocus:v,onBlur:b}):h.jsx(D.Input,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u,onFocus:v,onBlur:b});case"expression":return g?g({value:j,onChange:ee,disabled:a,readOnly:l,placeholder:u}):be();case"code":return h.jsx(D.Input.TextArea,{id:c,value:j,onChange:X=>ee(X.target.value),disabled:a,readOnly:l,placeholder:u||"// 输入 JavaScript 代码",rows:f,className:"code-mode-textarea",style:{fontFamily:"monospace"},onFocus:v,onBlur:b});default:return null}};return h.jsxs("div",{className:`value-mode-wrapper${S?" compact":""}`,children:[ie(),h.jsx("div",{className:"value-mode-content",children:W()})]})};function V7(t){switch(t){case ge.NUMBER:case ge.SLIDER:case ge.RATE:return"number";case ge.CHECKBOX:case ge.SWITCH:return"boolean";case ge.MULTI_SELECT:case ge.CHECKBOX_GROUP:case ge.DATE_RANGE:case ge.TIME_RANGE:case ge.ARRAY:case ge.ARRAY_OBJECT:return"array";case ge.DATE:case ge.DATETIME:case ge.TIME:return"object";case ge.OBJECT:case ge.KEY_VALUE:return"object";default:return}}function Si(t){return _d(t)}function Ei(t){return Si(t)?null:_s(t,"normal",!0)}function j7(t){return t==null?!0:Array.isArray(t)?t.length===0:_d(t)?_s(t,"expression",!0).trim()==="":typeof t=="string"?_s(t,"normal",!0).trim()==="":!1}function Kg(t){return{message:t,validator:async(e,n)=>{if(j7(n))throw new Error(t||"此项为必填")}}}function xi(t,e,n){const r=[],o=n?V7(n):void 0;for(const i of t){if(i.type==="when"){ti(i.conditions,e)&&r.push(...xi(i.rules,e,n));continue}const s=W7(i,o);s&&r.push(s)}return r}function W7(t,e){const n={message:t.message,warningOnly:t.warningOnly};switch(t.type){case"required":return Kg(t.message);case"type":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const i=Ei(o);if(i!=null){if(t.value==="email"&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i))throw new Error(t.message||"类型不正确");if(t.value==="url")try{new URL(i)}catch{throw new Error(t.message||"类型不正确")}if(t.value==="string"&&typeof o!="string"&&i==="")throw new Error(t.message||"类型不正确");if((t.value==="number"||t.value==="float"||t.value==="integer")&&Number.isNaN(Number(i)))throw new Error(t.message||"类型不正确");if(t.value==="integer"&&!Number.isInteger(Number(i)))throw new Error(t.message||"类型不正确");if(t.value==="boolean"&&typeof o!="boolean")throw new Error(t.message||"类型不正确");if(t.value==="array"&&!Array.isArray(o))throw new Error(t.message||"类型不正确");if(t.value==="object"&&(typeof o!="object"||o==null||Array.isArray(o)))throw new Error(t.message||"类型不正确")}}};case"min":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(e==="number"||typeof o=="number"){if(Number(o)<t.value)throw new Error(t.message||`最小值 ${t.value}`);return}if(e==="array"||Array.isArray(o)){if(!Array.isArray(o)||o.length<t.value)throw new Error(t.message||`至少 ${t.value} 项`);return}const i=Ei(o);if(i!=null&&i.length<t.value)throw new Error(t.message||`最少 ${t.value} 个字符`)}};case"max":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(e==="number"||typeof o=="number"){if(Number(o)>t.value)throw new Error(t.message||`最大值 ${t.value}`);return}if(e==="array"||Array.isArray(o)){if(Array.isArray(o)&&o.length>t.value)throw new Error(t.message||`最多 ${t.value} 项`);return}const i=Ei(o);if(i!=null&&i.length>t.value)throw new Error(t.message||`最多 ${t.value} 个字符`)}};case"len":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;if(Array.isArray(o)){if(o.length!==t.value)throw new Error(t.message||`长度须为 ${t.value}`);return}const i=Ei(o);if(i!=null&&i.length!==t.value)throw new Error(t.message||`长度须为 ${t.value}`)}};case"pattern":{const r=new RegExp(t.value,t.flags);return{...n,validator:async(o,i)=>{if(i==null||i==="")return;const s=Ei(i);if(s!=null&&!r.test(s))throw new Error(t.message||"格式不正确")}}}case"enum":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const s=Ei(o)??o;if(!t.value.includes(s))throw new Error(t.message||"不在可选范围内")}};case"whitespace":return{...n,validator:async(r,o)=>{if(o==null||o===""||Si(o))return;const i=Ei(o);if(i!=null&&i.length>0&&i.trim()==="")throw new Error(t.message||"不能只包含空白字符")}};default:return null}}const U7=t=>!t||typeof t!="object"?!1:"AND"in t||"OR"in t?!0:"keyword"in t&&"key"in t;function yl(t,e){return t.visibleWhen&&t.visibleWhen.conditions?ti(t.visibleWhen.conditions,e):!0}function q7(t){var e;return((e=t.visibleWhen)==null?void 0:e.hideStrategy)||"unregister"}function As(t,e,n=!1){return typeof t=="boolean"?t:U7(t)?ti(t,e):n}const G7=(t,e)=>{const n=e.split(".");let r=t;for(let i=0;i<n.length-1;i+=1){const s=n[i],a=r==null?void 0:r[s];if(typeof a!="object"||a===null)return;r=a}const o=n[n.length-1];if(Array.isArray(r)){const i=Number(o);Number.isNaN(i)||r.splice(i,1)}else r&&delete r[o]};function R7(t,e,n){const r=structuredClone(e);for(const o of t.fields)n[o.name]===!1&&G7(r,o.name);return r}const Od="{{$fromAI}}",F_=({value:t,onChange:e,children:n,aiFillable:r=!0,disabled:o=!1})=>{const[i,s]=y.useState(t===Od),[a,l]=y.useState(void 0);if(y.useEffect(()=>{s(t===Od)},[t]),!r)return y.cloneElement(n,{value:t,onChange:e});const c=()=>{l(t),s(!0),e==null||e(Od)},u=()=>{s(!1),e==null||e(a)};return i?h.jsx("div",{className:"ai-field-wrapper ai-mode",children:h.jsxs("div",{className:"ai-field-display",children:[h.jsx(D.Input,{readOnly:!0,value:"由 AI 生成",className:"ai-field-input",prefix:h.jsx(se.RobotOutlined,{className:"ai-icon"})}),!o&&h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:u,className:"ai-field-close"})]})}):h.jsxs("div",{className:"ai-field-wrapper normal-mode",children:[h.jsx("div",{className:"ai-field-content",children:y.cloneElement(n,{value:t,onChange:e})}),!o&&h.jsx(D.Button,{type:"link",size:"small",icon:h.jsx(se.RobotOutlined,{}),onClick:c,className:"ai-enable-button",children:"由 AI 生成"})]})},K7=new Set([ge.NUMBER,ge.SWITCH,ge.PASSWORD]);function dt(t,e={}){const n={needsFormItemName:!0,supportsVariableInsert:!1,supportsAiFillable:!1,...e};if(n.supportsVariableInsert&&n.supportsAiFillable)return{component:t,meta:n};const r=o=>{const{field:i,disabled:s,readOnly:a,context:l,value:c,onChange:u}=o,d=n.valuePropName?o[n.valuePropName]??c:c;let f=h.jsx(t,{...o,value:d});return i.valueModePolicy&&!n.supportsVariableInsert&&!K7.has(i.type)&&(f=h.jsx(ki,{valueModePolicy:i.valueModePolicy,disabled:s,readOnly:a,placeholder:i.placeholder,validateVariable:l.validateVariable,renderVariableTag:l.renderVariableTag,renderVariableTooltip:l.renderVariableTooltip,modeSwitchPosition:"top-right",value:d,onChange:u,encodeExpressionValue:i.valueModePolicy!=="TEXT",children:f})),i.aiFillable&&!n.supportsAiFillable&&(f=h.jsx(F_,{aiFillable:!0,disabled:s,value:d,onChange:u,children:f})),f};return r.displayName=`FieldComponent(${t.displayName||t.name||"Anonymous"})`,{component:r,meta:n}}function Mo(t,e={}){return{component:t,meta:e}}const M_=({children:t})=>h.jsx(D.Button,{disabled:!0,style:{pointerEvents:"none"},children:t}),I_=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.showThousandsSeparator?l=>`${l}`.replace(/\B(?=(\d{3})+(?!\d))/g,","):void 0,s=t.showThousandsSeparator?l=>l==null?void 0:l.replace(/\$\s?|(,*)/g,""):void 0,a=h.jsx(D.InputNumber,{disabled:e,placeholder:t.placeholder,min:t.min,max:t.max,step:t.step,precision:t.precision,controls:t.controls,formatter:i,parser:s,style:{width:"100%"},value:n,onChange:r,id:o});return!t.addonBefore&&!t.addonAfter?a:h.jsxs(D.Space.Compact,{style:{width:"100%"},children:[t.addonBefore?h.jsx(M_,{children:t.addonBefore}):null,a,t.addonAfter?h.jsx(M_,{children:t.addonAfter}):null]})};I_.displayName="NumberFieldControl";const Y7=dt(I_,{needsFormItemName:!0}),P_=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i})=>h.jsx(D.Input.Password,{autoComplete:"new-password",disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:s=>o==null?void 0:o(s.target.value),id:i});P_.displayName="PasswordFieldControl";const X7=dt(P_,{needsFormItemName:!0}),L_=({field:t,disabled:e,readOnly:n,context:r,value:o,onChange:i,id:s})=>{t.autoSize??((t.minRows||t.maxRows)&&(t.minRows,t.maxRows));const a=t.minRows||4,l=()=>{var u;(u=r.eventHandlers)==null||u.onBlur(t.name)},c=()=>{var u;(u=r.eventHandlers)==null||u.onFocus(t.name)};return h.jsx(ki,{valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,id:s,placeholder:t.placeholder,multiline:!0,rows:a,validateVariable:r.validateVariable,renderVariableTag:r.renderVariableTag,renderVariableTooltip:r.renderVariableTooltip,modeSwitchPosition:"top-right",value:o,onChange:i,onFocus:c,onBlur:l,textModeSupportsVariables:!0,encodeExpressionValue:t.valueModePolicy!=="TEXT"})};L_.displayName="TextareaFieldControl";const J7=dt(L_,{supportsVariableInsert:!0,needsFormItemName:!0}),$_=({field:t,disabled:e,readOnly:n,value:r,onChange:o,id:i,context:s})=>{const a=()=>{var c;(c=s.eventHandlers)==null||c.onBlur(t.name)},l=()=>{var c;(c=s.eventHandlers)==null||c.onFocus(t.name)};return wC(t.valueModePolicy)?h.jsx(ki,{valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,id:i,placeholder:t.placeholder,validateVariable:s.validateVariable,renderVariableTag:s.renderVariableTag,renderVariableTooltip:s.renderVariableTooltip,modeSwitchPosition:"top-right",value:r,onChange:o,onFocus:l,onBlur:a,textModeSupportsVariables:!0,encodeExpressionValue:!0}):h.jsx(D.Input,{disabled:e,readOnly:n,placeholder:t.placeholder,value:r,onChange:c=>o==null?void 0:o(c.target.value),onBlur:a,onFocus:l,id:i})};$_.displayName="TextFieldControl";const Q7=dt($_,{supportsVariableInsert:!0,needsFormItemName:!0}),z_=({field:t,disabled:e,readOnly:n,context:r})=>{const o=Pc(),{renderVariableTag:i,renderVariableTooltip:s,validateVariable:a,values:l,optionsLoader:c}=r,u=qg(t.itemSchema,t.valueModePolicy),d=Z7(t),f=o.get(u.type),p=f==null?void 0:f.component;return h.jsx(Gg,{policy:t.valueModePolicy,disabled:e,readOnly:n,children:h.jsx(D.Form.List,{name:t.name,rules:d,children:(m,{add:v,remove:b},{errors:w})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[m.map((g,C)=>h.jsxs(D.Card,{size:"small",title:t.itemLabel||`Item ${C+1}`,children:[h.jsx(D.Form.Item,{name:[g.name,u.name],label:u.label,rules:xi(u.rules||[],l,u.type),children:p&&h.jsx(p,{field:u,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}),h.jsxs("div",{style:{textAlign:"right"},children:[h.jsx(D.Button,{type:"link",danger:!0,onClick:()=>b(g.name),disabled:e||t.minItems!==void 0&&m.length<=t.minItems,children:"移除"}),t.allowCopy&&h.jsx(D.Button,{type:"link",onClick:()=>{const k=qn(l,`${t.name}.${g.name}`);v(k,C+1)},disabled:e,children:"复制"})]})]},g.key)),h.jsx(D.Button,{type:"dashed",block:!0,onClick:()=>v(u.defaultValue),disabled:e||t.maxItems!==void 0&&m.length>=t.maxItems,children:"添加"}),h.jsx(D.Form.ErrorList,{errors:w})]})})})};z_.displayName="ArrayFieldControl";function Z7(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(t.minItems&&(!o||o.length<t.minItems))throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const eW=Mo(z_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1}),H_=({field:t,disabled:e,context:n})=>{const r=Pc(),o=D.Form.useFormInstance(),{renderVariableTag:i,renderVariableTooltip:s,validateVariable:a,values:l,optionsLoader:c}=n,u=t,d=nW(u),f=u.__arrayObjectDepth??0,p=u.__arrayObjectLevelBackgroundColors??t.levelBackgroundColors,m=dW(t,f,p),v=pW(t);return h.jsx(D.Form.List,{name:u.name,rules:v,children:(b,{add:w,remove:g,move:C},{errors:k})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[b.map((_,S)=>h.jsx(D.Card,{size:"small",style:fW(m),styles:{body:hW(m)},title:h.jsx(V_,{field:t,index:S,titlePath:rW(t,d,_.name),disabled:e}),extra:h.jsxs(D.Space,{children:[t.allowCopy&&h.jsx(D.Tooltip,{title:"复制",children:h.jsx(D.Button,{"aria-label":"复制",type:"text",size:"small",icon:h.jsx(se.CopyOutlined,{}),onClick:()=>{const E=[...d,_.name],x=o.getFieldValue(E)??W_(l,E);w(x,S+1)},disabled:e||t.maxItems!==void 0&&b.length>=t.maxItems})}),h.jsx(D.Tooltip,{title:"置顶",children:h.jsx(D.Button,{"aria-label":"置顶",type:"text",size:"small",icon:h.jsx(se.VerticalAlignTopOutlined,{}),disabled:e||S===0,onClick:()=>C(S,0)})}),h.jsx(D.Tooltip,{title:"向上",children:h.jsx(D.Button,{"aria-label":"向上",type:"text",size:"small",icon:h.jsx(se.ArrowUpOutlined,{}),disabled:e||S===0,onClick:()=>C(S,S-1)})}),h.jsx(D.Tooltip,{title:"向下",children:h.jsx(D.Button,{"aria-label":"向下",type:"text",size:"small",icon:h.jsx(se.ArrowDownOutlined,{}),disabled:e||S===b.length-1,onClick:()=>C(S,S+1)})}),h.jsx(D.Tooltip,{title:"置底",children:h.jsx(D.Button,{"aria-label":"置底",type:"text",size:"small",icon:h.jsx(se.VerticalAlignBottomOutlined,{}),disabled:e||S===b.length-1,onClick:()=>C(S,b.length-1)})}),h.jsx(D.Tooltip,{title:"删除",children:h.jsx(D.Button,{"aria-label":"删除",type:"text",size:"small",danger:!0,icon:h.jsx(se.DeleteOutlined,{}),onClick:()=>g(_.name),disabled:e||t.minItems!==void 0&&b.length<=t.minItems})})]}),children:h.jsx("div",{style:lW(t),children:t.columns.map(E=>{const x=r.get(E.type),O=x==null?void 0:x.component,A=[_.name,E.name],T=[...d,_.name,E.name];return h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const B=o.getFieldValue([...d,_.name])??W_(l,[...d,_.name])??{};return yl(E,B)?x!=null&&x.meta.isHidden?h.jsx(D.Form.Item,{name:A,hidden:!0,rules:xi(E.rules||[],B,E.type),valuePropName:x.meta.valuePropName,validateTrigger:E.validateTrigger,children:O&&h.jsx(O,{field:E,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):x!=null&&x.meta.isComplexField?h.jsx(D.Form.Item,{label:E.label,tooltip:E.tooltip,extra:E.helpText||E.extra||E.description,children:O&&h.jsx(O,{field:tW(E,A,T,f+1,p),disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):h.jsx(D.Form.Item,{name:A,label:E.label,tooltip:E.tooltip,extra:E.helpText||E.extra||E.description,rules:xi(E.rules||[],B,E.type),children:O&&h.jsx(O,{field:E,disabled:e,readOnly:!1,context:{values:l,optionsLoader:c,renderVariableTag:i,renderVariableTooltip:s,validateVariable:a}})}):null}},E.name)})})},_.key)),h.jsx(D.Button,{type:"dashed",block:!0,icon:h.jsx(se.PlusOutlined,{}),onClick:()=>w(),disabled:e||t.maxItems!==void 0&&b.length>=t.maxItems,children:aW(t)}),h.jsx(D.Form.ErrorList,{errors:k})]})})};H_.displayName="ArrayObjectFieldControl";const V_=({field:t,index:e,titlePath:n,disabled:r})=>{const o=D.Form.useFormInstance(),i=D.Form.useWatch(n,o),[s,a]=vt.useState(!1),[l,c]=vt.useState(""),u=sW(t,e),d=iW(i,u),f=()=>{c(d),a(!0)},p=()=>{c(""),a(!1)},m=()=>{if(n){const v=l.trim()||void 0;o.setFieldValue(n,v)}a(!1),c("")};return n?s?h.jsxs(D.Space,{children:[h.jsx(D.Input,{size:"small",value:l,onChange:v=>c(v.target.value),onPressEnter:m,style:{width:200},placeholder:"请输入标题"}),h.jsx(D.Button,{"aria-label":"保存标题",type:"text",size:"small",icon:h.jsx(se.CheckOutlined,{style:{color:"#52c41a"}}),onClick:m}),h.jsx(D.Button,{"aria-label":"取消标题编辑",type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:p})]}):h.jsxs(D.Space,{children:[h.jsx("span",{children:d}),h.jsx(D.Button,{"aria-label":"编辑标题",type:"text",size:"small",icon:h.jsx(se.EditOutlined,{}),disabled:r,onClick:f})]}):h.jsx("span",{children:d})};V_.displayName="ArrayObjectRowTitle";function tW(t,e,n,r,o){return{...t,name:e,__arrayObjectRootNamePath:n,__arrayObjectDepth:r,__arrayObjectLevelBackgroundColors:o}}function j_(t){return Array.isArray(t)?t:[t]}function nW(t){return t.__arrayObjectRootNamePath??j_(t.name)}function W_(t,e){return qn(t,j_(e).join("."))}function rW(t,e,n){const r=oW(t);return r?[...e,n,r]:void 0}function oW(t){return t.titleFieldName?t.titleFieldName:t.titleEditable?"title":void 0}function iW(t,e){return typeof t=="string"&&t.trim()?t:e}function sW(t,e){return t.label?`${t.label} #${e+1}`:`Item ${e+1}`}function aW(t){return t.label?`添加${t.label}`:"添加行"}function lW(t){return t.columnLayout!=="grid"?{display:"flex",flexDirection:"column",width:"100%",gap:0}:{display:"grid",gridTemplateColumns:`repeat(${cW(t)}, minmax(0, 1fr))`,columnGap:16,rowGap:0,width:"100%",alignItems:"start"}}function cW(t){const e=t.columns.filter(r=>!uW(r)).length,n=typeof t.columnCount=="number"&&Number.isFinite(t.columnCount)?Math.floor(t.columnCount):3;return Math.max(1,Math.min(n,Math.max(e,1)))}function uW(t){return t.type===ge.HIDDEN}function dW(t,e,n){if(t.backgroundColor)return t.backgroundColor;if(n!=null&&n.length)return n[e%n.length]}function fW(t){if(t)return{backgroundColor:t}}function hW(t){if(t)return{backgroundColor:t}}function pW(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}return t.minItems!==void 0&&e.push({validator:async(r,o)=>{if(t.minItems&&(!o||o.length<t.minItems))throw new Error(`至少需要 ${t.minItems} 项`)}}),t.maxItems!==void 0&&e.push({validator:async(r,o)=>{if(o&&o.length>t.maxItems)throw new Error(`最多允许 ${t.maxItems} 项`)}}),e}const mW=Mo(H_,{isComplexField:!0,needsFormItemName:!1});/**
53
53
  * @license lucide-react v0.562.0 - ISC
54
54
  *
55
55
  * This source code is licensed under the ISC license.
@@ -109,12 +109,12 @@ The error may be correlated with this previous error:
109
109
  *
110
110
  * This source code is licensed under the ISC license.
111
111
  * See the LICENSE file in the root directory of this source tree.
112
- */const DW=Io("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),_W=/\{\{.*\}\}/;function G_(t){return typeof t=="string"&&_W.test(t)?"expression":"normal"}const R_=({field:t,disabled:e,readOnly:n,context:r})=>{const{renderVariableTag:o,renderVariableTooltip:i,validateVariable:s}=r,a=AW(t),l=t.keyPlaceholder||"Key",c=t.valuePlaceholder||"Value",u=0;return h.jsx(D.Form.List,{name:t.name,rules:a,children:(d,{add:f,remove:p},{errors:m})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[d.map(v=>h.jsx(K_,{field:t,listField:v,disabled:e,readOnly:n,canRemove:!(e||t.minItems!==void 0&&d.length<=t.minItems),keyPlaceholder:l,valuePlaceholder:c,valueModeSwitchOffset:u,onRemove:p,validateVariable:s,renderVariableTag:o,renderVariableTooltip:i},v.key)),h.jsx(D.Button,{block:!0,icon:h.jsx(br,{size:16}),onClick:()=>f(),disabled:e||t.maxItems!==void 0&&d.length>=t.maxItems,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})}),h.jsx(D.Form.ErrorList,{errors:m})]})})};R_.displayName="KeyValueFieldControl";const K_=({field:t,listField:e,disabled:n,readOnly:r,canRemove:o,keyPlaceholder:i,valuePlaceholder:s,valueModeSwitchOffset:a,onRemove:l,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d})=>{const f=t.valueModePolicy,p=D.Form.useFormInstance(),[m,v]=y.useState(()=>{if(f){if(f==="BOTH"||f==="EXPRESSION")return"expression";if(f==="TEXT")return"normal"}const w=p.getFieldValue([t.name,e.name]),g=G_(w==null?void 0:w.key);return g==="expression"?g:G_(w==null?void 0:w.value)}),b=f==="TEXT"?["normal"]:["normal","expression"];return h.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:8},children:[h.jsx(D.Form.Item,{style:{flex:1,marginBottom:0,marginTop:a},name:[e.name,"key"],rules:[{required:!0,message:"请输入Key"}],children:h.jsx(ki,{availableModes:b,mode:m,hideModeSwitch:!0,disabled:n,readOnly:r,placeholder:i,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d})}),h.jsx(D.Form.Item,{style:{flex:1,marginBottom:0},name:[e.name,"value"],children:h.jsx(ki,{availableModes:b,mode:m,onModeChange:v,disabled:n,readOnly:r,placeholder:s,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d,modeSwitchPosition:"top-right",compact:!0})}),h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>l(e.name),disabled:!o})]})};K_.displayName="KeyValueRow";function AW(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}if(t.minItems!==void 0){const r=t.minItems;e.push({validator:async(o,i)=>{if(!i||i.length<r)throw new Error(`至少需要 ${r} 项`)}})}if(t.maxItems!==void 0){const r=t.maxItems;e.push({validator:async(o,i)=>{if(i&&i.length>r)throw new Error(`最多允许 ${r} 项`)}})}return e}const OW=Mo(R_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1});function TW(t){if(!t||typeof t!="object")return!1;const e=t;return typeof e.name=="string"&&e.name.trim()!==""&&typeof e.type=="string"}function NW(t){return!t||typeof t!="object"||Array.isArray(t)?[]:Object.values(t).filter(TW)}const Y_=({field:t,disabled:e,readOnly:n,context:r})=>{const o=D.Form.useFormInstance(),s=BW(t.name),[a,l]=vt.useState(null);vt.useEffect(()=>{Promise.resolve().then(()=>MU).then(g=>{l(()=>g.FieldRenderer)})},[]);const{renderVariableTag:c,renderVariableTooltip:u,validateVariable:d,values:f,optionsLoader:p}=r,m=vt.useMemo(()=>NW(t.properties),[t.properties]),v=o.getFieldValue(s)??qn(f,s.join("."))??{},b=h.jsx(D.Space,{direction:"vertical",style:{width:"100%"},children:m.map(g=>{const C=qg(g,t.valueModePolicy),k=[...s,g.name];return yl(C,v)&&a?h.jsx(a,{field:{...C,name:k},values:f,optionsLoader:p,disabled:e,renderVariableTag:c,renderVariableTooltip:u,validateVariable:d},k.join(".")):null})}),w=h.jsx(Gg,{policy:t.valueModePolicy,disabled:e,readOnly:n,children:b});return t.collapsible?h.jsx(D.Collapse,{defaultActiveKey:t.defaultCollapsed?[]:["main"],items:[{key:"main",label:t.label||t.name,children:w}]}):h.jsx(D.Card,{size:"small",title:t.label,children:w})};Y_.displayName="ObjectFieldControl";function BW(t){return Array.isArray(t)?t:[t]}const FW=Mo(Y_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1});var Td={exports:{}},MW=Td.exports,X_;function IW(){return X_||(X_=1,(function(t,e){(function(n,r){t.exports=r()})(MW,(function(){var n=1e3,r=6e4,o=36e5,i="millisecond",s="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(F){var N=["th","st","nd","rd"],P=F%100;return"["+F+(N[(P-20)%10]||N[P]||N[0])+"]"}},C=function(F,N,P){var M=String(F);return!M||M.length>=N?F:""+Array(N+1-M.length).join(P)+F},k={s:C,z:function(F){var N=-F.utcOffset(),P=Math.abs(N),M=Math.floor(P/60),z=P%60;return(N<=0?"+":"-")+C(M,2,"0")+":"+C(z,2,"0")},m:function F(N,P){if(N.date()<P.date())return-F(P,N);var M=12*(P.year()-N.year())+(P.month()-N.month()),z=N.clone().add(M,d),H=P-z<0,R=N.clone().add(M+(H?-1:1),d);return+(-(M+(P-z)/(H?z-R:R-z))||0)},a:function(F){return F<0?Math.ceil(F)||0:Math.floor(F)},p:function(F){return{M:d,y:p,w:u,d:c,D:m,h:l,m:a,s,ms:i,Q:f}[F]||String(F||"").toLowerCase().replace(/s$/,"")},u:function(F){return F===void 0}},_="en",S={};S[_]=g;var E="$isDayjsObject",x=function(F){return F instanceof B||!(!F||!F[E])},O=function F(N,P,M){var z;if(!N)return _;if(typeof N=="string"){var H=N.toLowerCase();S[H]&&(z=H),P&&(S[H]=P,z=H);var R=N.split("-");if(!z&&R.length>1)return F(R[0])}else{var Y=N.name;S[Y]=N,z=Y}return!M&&z&&(_=z),z||!M&&_},A=function(F,N){if(x(F))return F.clone();var P=typeof N=="object"?N:{};return P.date=F,P.args=arguments,new B(P)},T=k;T.l=O,T.i=x,T.w=function(F,N){return A(F,{locale:N.$L,utc:N.$u,x:N.$x,$offset:N.$offset})};var B=(function(){function F(P){this.$L=O(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[E]=!0}var N=F.prototype;return N.parse=function(P){this.$d=(function(M){var z=M.date,H=M.utc;if(z===null)return new Date(NaN);if(T.u(z))return new Date;if(z instanceof Date)return new Date(z);if(typeof z=="string"&&!/Z$/i.test(z)){var R=z.match(b);if(R){var Y=R[2]-1||0,te=(R[7]||"0").substring(0,3);return H?new Date(Date.UTC(R[1],Y,R[3]||1,R[4]||0,R[5]||0,R[6]||0,te)):new Date(R[1],Y,R[3]||1,R[4]||0,R[5]||0,R[6]||0,te)}}return new Date(z)})(P),this.init()},N.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},N.$utils=function(){return T},N.isValid=function(){return this.$d.toString()!==v},N.isSame=function(P,M){var z=A(P);return this.startOf(M)<=z&&z<=this.endOf(M)},N.isAfter=function(P,M){return A(P)<this.startOf(M)},N.isBefore=function(P,M){return this.endOf(M)<A(P)},N.$g=function(P,M,z){return T.u(P)?this[M]:this.set(z,P)},N.unix=function(){return Math.floor(this.valueOf()/1e3)},N.valueOf=function(){return this.$d.getTime()},N.startOf=function(P,M){var z=this,H=!!T.u(M)||M,R=T.p(P),Y=function(W,X){var q=T.w(z.$u?Date.UTC(z.$y,X,W):new Date(z.$y,X,W),z);return H?q:q.endOf(c)},te=function(W,X){return T.w(z.toDate()[W].apply(z.toDate("s"),(H?[0,0,0,0]:[23,59,59,999]).slice(X)),z)},$=this.$W,j=this.$M,U=this.$D,ee="set"+(this.$u?"UTC":"");switch(R){case p:return H?Y(1,0):Y(31,11);case d:return H?Y(1,j):Y(0,j+1);case u:var ie=this.$locale().weekStart||0,be=($<ie?$+7:$)-ie;return Y(H?U-be:U+(6-be),j);case c:case m:return te(ee+"Hours",0);case l:return te(ee+"Minutes",1);case a:return te(ee+"Seconds",2);case s:return te(ee+"Milliseconds",3);default:return this.clone()}},N.endOf=function(P){return this.startOf(P,!1)},N.$set=function(P,M){var z,H=T.p(P),R="set"+(this.$u?"UTC":""),Y=(z={},z[c]=R+"Date",z[m]=R+"Date",z[d]=R+"Month",z[p]=R+"FullYear",z[l]=R+"Hours",z[a]=R+"Minutes",z[s]=R+"Seconds",z[i]=R+"Milliseconds",z)[H],te=H===c?this.$D+(M-this.$W):M;if(H===d||H===p){var $=this.clone().set(m,1);$.$d[Y](te),$.init(),this.$d=$.set(m,Math.min(this.$D,$.daysInMonth())).$d}else Y&&this.$d[Y](te);return this.init(),this},N.set=function(P,M){return this.clone().$set(P,M)},N.get=function(P){return this[T.p(P)]()},N.add=function(P,M){var z,H=this;P=Number(P);var R=T.p(M),Y=function(j){var U=A(H);return T.w(U.date(U.date()+Math.round(j*P)),H)};if(R===d)return this.set(d,this.$M+P);if(R===p)return this.set(p,this.$y+P);if(R===c)return Y(1);if(R===u)return Y(7);var te=(z={},z[a]=r,z[l]=o,z[s]=n,z)[R]||1,$=this.$d.getTime()+P*te;return T.w($,this)},N.subtract=function(P,M){return this.add(-1*P,M)},N.format=function(P){var M=this,z=this.$locale();if(!this.isValid())return z.invalidDate||v;var H=P||"YYYY-MM-DDTHH:mm:ssZ",R=T.z(this),Y=this.$H,te=this.$m,$=this.$M,j=z.weekdays,U=z.months,ee=z.meridiem,ie=function(X,q,J,re){return X&&(X[q]||X(M,H))||J[q].slice(0,re)},be=function(X){return T.s(Y%12||12,X,"0")},W=ee||function(X,q,J){var re=X<12?"AM":"PM";return J?re.toLowerCase():re};return H.replace(w,(function(X,q){return q||(function(J){switch(J){case"YY":return String(M.$y).slice(-2);case"YYYY":return T.s(M.$y,4,"0");case"M":return $+1;case"MM":return T.s($+1,2,"0");case"MMM":return ie(z.monthsShort,$,U,3);case"MMMM":return ie(U,$);case"D":return M.$D;case"DD":return T.s(M.$D,2,"0");case"d":return String(M.$W);case"dd":return ie(z.weekdaysMin,M.$W,j,2);case"ddd":return ie(z.weekdaysShort,M.$W,j,3);case"dddd":return j[M.$W];case"H":return String(Y);case"HH":return T.s(Y,2,"0");case"h":return be(1);case"hh":return be(2);case"a":return W(Y,te,!0);case"A":return W(Y,te,!1);case"m":return String(te);case"mm":return T.s(te,2,"0");case"s":return String(M.$s);case"ss":return T.s(M.$s,2,"0");case"SSS":return T.s(M.$ms,3,"0");case"Z":return R}return null})(X)||R.replace(":","")}))},N.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},N.diff=function(P,M,z){var H,R=this,Y=T.p(M),te=A(P),$=(te.utcOffset()-this.utcOffset())*r,j=this-te,U=function(){return T.m(R,te)};switch(Y){case p:H=U()/12;break;case d:H=U();break;case f:H=U()/3;break;case u:H=(j-$)/6048e5;break;case c:H=(j-$)/864e5;break;case l:H=j/o;break;case a:H=j/r;break;case s:H=j/n;break;default:H=j}return z?H:T.a(H)},N.daysInMonth=function(){return this.endOf(d).$D},N.$locale=function(){return S[this.$L]},N.locale=function(P,M){if(!P)return this.$L;var z=this.clone(),H=O(P,M,!0);return H&&(z.$L=H),z},N.clone=function(){return T.w(this.$d,this)},N.toDate=function(){return new Date(this.valueOf())},N.toJSON=function(){return this.isValid()?this.toISOString():null},N.toISOString=function(){return this.$d.toISOString()},N.toString=function(){return this.$d.toUTCString()},F})(),I=B.prototype;return A.prototype=I,[["$ms",i],["$s",s],["$m",a],["$H",l],["$W",c],["$M",d],["$y",p],["$D",m]].forEach((function(F){I[F[1]]=function(N){return this.$g(N,F[0],F[1])}})),A.extend=function(F,N){return F.$i||(F(N,B,A),F.$i=!0),A},A.locale=O,A.isDayjs=x,A.unix=function(F){return A(1e3*F)},A.en=S[_],A.Ls=S,A.p={},A}))})(Td)),Td.exports}var PW=IW();const jt=Un(PW);var Nd={exports:{}},LW=Nd.exports,J_;function $W(){return J_||(J_=1,(function(t,e){(function(n,r){t.exports=r()})(LW,(function(){return function(n,r){var o=r.prototype,i=o.format;o.format=function(s){var a=this,l=this.$locale();if(!this.isValid())return i.bind(this)(s);var c=this.$utils(),u=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return l.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return l.ordinal(a.week(),"W");case"w":case"ww":return c.s(a.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(a.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(a.$H===0?24:a.$H),d==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return d}}));return i.bind(this)(u)}}}))})(Nd)),Nd.exports}var zW=$W();const HW=Un(zW);var Bd={exports:{}},VW=Bd.exports,Q_;function jW(){return Q_||(Q_=1,(function(t,e){(function(n,r){t.exports=r()})(VW,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},c=function(b){return(b=+b)+(b>68?1900:2e3)},u=function(b){return function(w){this[b]=+w}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(w){if(!w||w==="Z")return 0;var g=w.match(/([+-]|\d\d)/g),C=60*g[1]+(+g[2]||0);return C===0?0:g[0]==="+"?-C:C})(b)}],f=function(b){var w=l[b];return w&&(w.indexOf?w:w.s.concat(w.f))},p=function(b,w){var g,C=l.meridiem;if(C){for(var k=1;k<=24;k+=1)if(b.indexOf(C(k,0,w))>-1){g=k>12;break}}else g=b===(w?"pm":"PM");return g},m={A:[a,function(b){this.afternoon=p(b,!1)}],a:[a,function(b){this.afternoon=p(b,!0)}],Q:[o,function(b){this.month=3*(b-1)+1}],S:[o,function(b){this.milliseconds=100*+b}],SS:[i,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,u("seconds")],ss:[s,u("seconds")],m:[s,u("minutes")],mm:[s,u("minutes")],H:[s,u("hours")],h:[s,u("hours")],HH:[s,u("hours")],hh:[s,u("hours")],D:[s,u("day")],DD:[i,u("day")],Do:[a,function(b){var w=l.ordinal,g=b.match(/\d+/);if(this.day=g[0],w)for(var C=1;C<=31;C+=1)w(C).replace(/\[|\]/g,"")===b&&(this.day=C)}],w:[s,u("week")],ww:[i,u("week")],M:[s,u("month")],MM:[i,u("month")],MMM:[a,function(b){var w=f("months"),g=(f("monthsShort")||w.map((function(C){return C.slice(0,3)}))).indexOf(b)+1;if(g<1)throw new Error;this.month=g%12||g}],MMMM:[a,function(b){var w=f("months").indexOf(b)+1;if(w<1)throw new Error;this.month=w%12||w}],Y:[/[+-]?\d+/,u("year")],YY:[i,function(b){this.year=c(b)}],YYYY:[/\d{4}/,u("year")],Z:d,ZZ:d};function v(b){var w,g;w=b,g=l&&l.formats;for(var C=(b=w.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,T,B){var I=B&&B.toUpperCase();return T||g[B]||n[B]||g[I].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(F,N,P){return N||P.slice(1)}))}))).match(r),k=C.length,_=0;_<k;_+=1){var S=C[_],E=m[S],x=E&&E[0],O=E&&E[1];C[_]=O?{regex:x,parser:O}:S.replace(/^\[|\]$/g,"")}return function(A){for(var T={},B=0,I=0;B<k;B+=1){var F=C[B];if(typeof F=="string")I+=F.length;else{var N=F.regex,P=F.parser,M=A.slice(I),z=N.exec(M)[0];P.call(T,z),A=A.replace(z,"")}}return(function(H){var R=H.afternoon;if(R!==void 0){var Y=H.hours;R?Y<12&&(H.hours+=12):Y===12&&(H.hours=0),delete H.afternoon}})(T),T}}return function(b,w,g){g.p.customParseFormat=!0,b&&b.parseTwoDigitYear&&(c=b.parseTwoDigitYear);var C=w.prototype,k=C.parse;C.parse=function(_){var S=_.date,E=_.utc,x=_.args;this.$u=E;var O=x[1];if(typeof O=="string"){var A=x[2]===!0,T=x[3]===!0,B=A||T,I=x[2];T&&(I=x[2]),l=this.$locale(),!A&&I&&(l=g.Ls[I]),this.$d=(function(M,z,H,R){try{if(["x","X"].indexOf(z)>-1)return new Date((z==="X"?1e3:1)*M);var Y=v(z)(M),te=Y.year,$=Y.month,j=Y.day,U=Y.hours,ee=Y.minutes,ie=Y.seconds,be=Y.milliseconds,W=Y.zone,X=Y.week,q=new Date,J=j||(te||$?1:q.getDate()),re=te||q.getFullYear(),Z=0;te&&!$||(Z=$>0?$-1:q.getMonth());var ue,ve=U||0,we=ee||0,fe=ie||0,le=be||0;return W?new Date(Date.UTC(re,Z,J,ve,we,fe,le+60*W.offset*1e3)):H?new Date(Date.UTC(re,Z,J,ve,we,fe,le)):(ue=new Date(re,Z,J,ve,we,fe,le),X&&(ue=R(ue).week(X).toDate()),ue)}catch{return new Date("")}})(S,O,E,g),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),B&&S!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var F=O.length,N=1;N<=F;N+=1){x[1]=O[N-1];var P=g.apply(this,x);if(P.isValid()){this.$d=P.$d,this.$L=P.$L,this.init();break}N===F&&(this.$d=new Date(""))}else k.call(this,_)}}}))})(Bd)),Bd.exports}var WW=jW();const UW=Un(WW);var Fd={exports:{}},qW=Fd.exports,Z_;function GW(){return Z_||(Z_=1,(function(t,e){(function(n,r){t.exports=r()})(qW,(function(){return function(n,r,o){var i=r.prototype,s=function(d){return d&&(d.indexOf?d:d.s)},a=function(d,f,p,m,v){var b=d.name?d:d.$locale(),w=s(b[f]),g=s(b[p]),C=w||g.map((function(_){return _.slice(0,m)}));if(!v)return C;var k=b.weekStart;return C.map((function(_,S){return C[(S+(k||0))%7]}))},l=function(){return o.Ls[o.locale()]},c=function(d,f){return d.formats[f]||(function(p){return p.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(m,v,b){return v||b.slice(1)}))})(d.formats[f.toUpperCase()])},u=function(){var d=this;return{months:function(f){return f?f.format("MMMM"):a(d,"months")},monthsShort:function(f){return f?f.format("MMM"):a(d,"monthsShort","months",3)},firstDayOfWeek:function(){return d.$locale().weekStart||0},weekdays:function(f){return f?f.format("dddd"):a(d,"weekdays")},weekdaysMin:function(f){return f?f.format("dd"):a(d,"weekdaysMin","weekdays",2)},weekdaysShort:function(f){return f?f.format("ddd"):a(d,"weekdaysShort","weekdays",3)},longDateFormat:function(f){return c(d.$locale(),f)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};i.localeData=function(){return u.bind(this)()},o.localeData=function(){var d=l();return{firstDayOfWeek:function(){return d.weekStart||0},weekdays:function(){return o.weekdays()},weekdaysShort:function(){return o.weekdaysShort()},weekdaysMin:function(){return o.weekdaysMin()},months:function(){return o.months()},monthsShort:function(){return o.monthsShort()},longDateFormat:function(f){return c(d,f)},meridiem:d.meridiem,ordinal:d.ordinal}},o.months=function(){return a(l(),"months")},o.monthsShort=function(){return a(l(),"monthsShort","months",3)},o.weekdays=function(d){return a(l(),"weekdays",null,null,d)},o.weekdaysShort=function(d){return a(l(),"weekdaysShort","weekdays",3,d)},o.weekdaysMin=function(d){return a(l(),"weekdaysMin","weekdays",2,d)}}}))})(Fd)),Fd.exports}var RW=GW();const KW=Un(RW);var Md={exports:{}},YW=Md.exports,eA;function XW(){return eA||(eA=1,(function(t,e){(function(n,r){t.exports=r()})(YW,(function(){return function(n,r){r.prototype.weekday=function(o){var i=this.$locale().weekStart||0,s=this.$W,a=(s<i?s+7:s)-i;return this.$utils().u(o)?a:this.subtract(a,"day").add(o,"day")}}}))})(Md)),Md.exports}var JW=XW();const QW=Un(JW);var Id={exports:{}},ZW=Id.exports,tA;function eU(){return tA||(tA=1,(function(t,e){(function(n,r){t.exports=r()})(ZW,(function(){var n="week",r="year";return function(o,i,s){var a=i.prototype;a.week=function(l){if(l===void 0&&(l=null),l!==null)return this.add(7*(l-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=s(this).startOf(r).add(1,r).date(c),d=s(this).endOf(n);if(u.isBefore(d))return 1}var f=s(this).startOf(r).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?s(this).startOf("week").week():Math.ceil(p)},a.weeks=function(l){return l===void 0&&(l=null),this.week(l)}}}))})(Id)),Id.exports}var tU=eU();const nU=Un(tU);var Pd={exports:{}},rU=Pd.exports,nA;function oU(){return nA||(nA=1,(function(t,e){(function(n,r){t.exports=r()})(rU,(function(){return function(n,r){r.prototype.weekYear=function(){var o=this.month(),i=this.week(),s=this.year();return i===1&&o===11?s+1:o===0&&i>=52?s-1:s}}}))})(Pd)),Pd.exports}var iU=oU();const sU=Un(iU);jt.extend(UW),jt.extend(HW),jt.extend(QW),jt.extend(KW),jt.extend(nU),jt.extend(sU);function Cl(t,e){if(t==null||t==="")return null;if(jt.isDayjs(t))return t.isValid()?t:null;const n=e?jt(t,e):jt(t);if(n.isValid())return n;const r=jt(t);return r.isValid()?r:null}function rA(t,e){if(!Array.isArray(t))return null;const n=Cl(t[0],e),r=Cl(t[1],e);return n||r?[n,r]:null}function kl(t,e,n){if(t)return e==="timestamp"?t.valueOf():e==="string"?t.format(n):t}function oA(t,e,n){if(t)return[kl(t[0],e,n),kl(t[1],e,n)]}const aU="YYYY-MM-DD",iA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||aU,s=Cl(n,i);return h.jsx(D.DatePicker,{disabled:e,placeholder:t.placeholder,picker:t.picker,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};iA.displayName="DateFieldControl";const lU=dt(iA,{needsFormItemName:!0}),cU="YYYY-MM-DD",sA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||cU,s=rA(n,i);return h.jsx(D.DatePicker.RangePicker,{disabled:e,picker:t.picker,showTime:t.showTime,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(oA(a,t.outputFormat,i)),id:o})};sA.displayName="DateRangeFieldControl";const uU=dt(sA,{needsFormItemName:!0}),dU="YYYY-MM-DD HH:mm:ss",aA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||dU,s=Cl(n,i);return h.jsx(D.DatePicker,{disabled:e,placeholder:t.placeholder,showTime:t.showTime??!0,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};aA.displayName="DateTimeFieldControl";const fU=dt(aA,{needsFormItemName:!0}),hU="HH:mm:ss",lA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||hU,s=Cl(n,i);return h.jsx(D.TimePicker,{disabled:e,placeholder:t.placeholder,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};lA.displayName="TimeFieldControl";const pU=dt(lA,{needsFormItemName:!0}),mU="HH:mm:ss",cA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||mU,s=rA(n,i);return h.jsx(D.TimePicker.RangePicker,{disabled:e,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(oA(a,t.outputFormat,i)),id:o})};cA.displayName="TimeRangeFieldControl";const gU=dt(cA,{needsFormItemName:!0}),uA=({field:t})=>h.jsx(D.Divider,{children:t.label});uA.displayName="DividerFieldControl";const wU=Mo(uA,{isDisplayOnly:!0,needsFormItemName:!1}),dA=({value:t,onChange:e,id:n})=>h.jsx(D.Input,{type:"hidden",value:t,onChange:r=>e==null?void 0:e(r.target.value),id:n});dA.displayName="HiddenFieldControl";const bU=Mo(dA,{needsFormItemName:!0,isHidden:!0}),fA=({field:t})=>h.jsx(D.Alert,{message:t.label,description:t.description||t.placeholder,type:t.status||"info",showIcon:t.showIcon,closable:t.closable});fA.displayName="InfoCardFieldControl";const vU=Mo(fA,{isDisplayOnly:!0,needsFormItemName:!1}),hA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Input.TextArea,{disabled:e,placeholder:t.placeholder,rows:6,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});hA.displayName="JsonFieldControl";const yU=dt(hA,{needsFormItemName:!0}),pA=({field:t,value:e})=>h.jsx("span",{children:e||t.placeholder||t.defaultValue});pA.displayName="LabelFieldControl";const CU=dt(pA,{needsFormItemName:!0}),mA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Cascader,{disabled:e,placeholder:t.placeholder,options:t.options,changeOnSelect:t.changeOnSelect,multiple:t.multiple||void 0,showSearch:t.showSearch,value:n,onChange:(i,s)=>r==null?void 0:r(i),id:o});mA.displayName="CascaderFieldControl";const kU=dt(mA,{needsFormItemName:!0}),gA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Checkbox,{disabled:e,checked:n,onChange:i=>r==null?void 0:r(i.target.checked),id:o,children:t.placeholder});gA.displayName="CheckboxFieldControl";const SU=dt(gA,{needsFormItemName:!0,valuePropName:"checked"}),wA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Checkbox.Group,{disabled:e,options:t.options,value:n,onChange:i=>r==null?void 0:r(i)});wA.displayName="CheckboxGroupFieldControl";const EU=dt(wA,{needsFormItemName:!0}),bA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Radio.Group,{disabled:e,options:t.options,optionType:t.optionType,buttonStyle:t.buttonStyle,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});bA.displayName="RadioFieldControl";const xU=dt(bA,{needsFormItemName:!0}),vA=({field:t,disabled:e,context:n,value:r,onChange:o,id:i})=>{const{values:s,optionsLoader:a}=n,[l,c]=y.useState(yA(t)),[u,d]=y.useState(!1),f=t.type===ge.MULTI_SELECT||t.mode==="multiple",p=w=>!w||w.kind==="static"?[]:w.deps||[],m=y.useMemo(()=>{const g=p(t.optionsSource).map(C=>qn(s,C));return JSON.stringify(g)},[t.optionsSource,s]);y.useEffect(()=>{if(!t.optionsSource||t.optionsSource.kind==="static"){c(yA(t));return}const w=t.optionsSource;if(!a){c(w.fallbackOptions||t.options||[]);return}const C=p(w).reduce((S,E)=>(S[E]=qn(s,E),S),{}),k={...w.params||{},deps:C};d(!0);let _=!1;return a(w.action,k,{values:s}).then(S=>{_||c(S)}).catch(()=>{_||c(w.fallbackOptions||t.options||[])}).finally(()=>{_||d(!1)}),()=>{_=!0}},[m,t.optionsSource,t.options]);const v=()=>{var w;(w=n.eventHandlers)==null||w.onBlur(t.name)},b=()=>{var w;(w=n.eventHandlers)==null||w.onFocus(t.name)};return h.jsx(D.Select,{disabled:e,placeholder:t.placeholder,options:l,mode:f?"multiple":t.mode,showSearch:t.showSearch,allowClear:t.allowClear,maxTagCount:t.maxTagCount,loading:u,value:r,onChange:o,onBlur:v,onFocus:b,id:i})};vA.displayName="SelectFieldControl";function yA(t){var n;if((n=t.options)!=null&&n.length)return t.options;const e=t.optionsSource;return e?e.kind==="static"?e.items||[]:e.fallbackOptions||[]:[]}const CA=dt(vA,{supportsVariableInsert:!1,needsFormItemName:!0}),kA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Switch,{disabled:e,checkedChildren:t.checkedChildren,unCheckedChildren:t.unCheckedChildren,checked:n,onChange:r,id:o});kA.displayName="SwitchFieldControl";const DU=dt(kA,{needsFormItemName:!0,valuePropName:"checked"}),SA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.TreeSelect,{disabled:e,placeholder:t.placeholder,treeData:t.options,multiple:t.multiple,showSearch:t.showSearch,allowClear:t.allowClear,treeCheckable:t.treeCheckable,value:n,onChange:r,id:o});SA.displayName="TreeSelectFieldControl";const _U=dt(SA,{needsFormItemName:!0}),EA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.AutoComplete,{disabled:e,placeholder:t.placeholder,options:t.options,allowClear:t.allowClear,value:n,onChange:r,id:o});EA.displayName="AutoCompleteFieldControl";const AU=dt(EA,{needsFormItemName:!0}),xA=({disabled:t,value:e,onChange:n})=>h.jsx(D.ColorPicker,{disabled:t,value:e,onChange:(r,o)=>n==null?void 0:n(o)});xA.displayName="ColorPickerFieldControl";const OU=dt(xA,{needsFormItemName:!0}),DA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Mentions,{disabled:e,placeholder:t.placeholder,value:n,onChange:r,id:o});DA.displayName="MentionsFieldControl";const TU=dt(DA,{needsFormItemName:!0}),_A=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Rate,{disabled:e,count:t.count,allowHalf:t.allowHalf,value:n,onChange:r,id:o});_A.displayName="RateFieldControl";const NU=dt(_A,{needsFormItemName:!0}),AA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Slider,{disabled:e,min:t.min,max:t.max,step:t.step,marks:t.marks,range:t.range,value:n,onChange:i=>r==null?void 0:r(i),id:o});AA.displayName="SliderFieldControl";const BU=dt(AA,{needsFormItemName:!0}),OA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Upload,{disabled:e,accept:t.accept,maxCount:t.maxCount,listType:t.listType||"text",action:t.action,multiple:t.multiple,fileList:n,onChange:r,id:o,children:h.jsx(D.Button,{icon:h.jsx(se.UploadOutlined,{}),disabled:e,children:"上传文件"})});OA.displayName="UploadFieldControl";const FU=dt(OA,{needsFormItemName:!0});function TA(t=Ic){t.register(ge.TEXT,Q7),t.register(ge.TEXTAREA,J7),t.register(ge.NUMBER,Y7),t.register(ge.PASSWORD,X7),t.register(ge.SELECT,CA),t.register(ge.MULTI_SELECT,CA),t.register(ge.RADIO,xU),t.register(ge.CHECKBOX,SU),t.register(ge.CHECKBOX_GROUP,EU),t.register(ge.SWITCH,DU),t.register(ge.CASCADER,kU),t.register(ge.TREE_SELECT,_U),t.register(ge.DATE,lU),t.register(ge.DATETIME,fU),t.register(ge.DATE_RANGE,uU),t.register(ge.TIME,pU),t.register(ge.TIME_RANGE,gU),t.register(ge.UPLOAD,FU),t.register(ge.RATE,NU),t.register(ge.SLIDER,BU),t.register(ge.COLOR_PICKER,OU),t.register(ge.MENTIONS,TU),t.register(ge.AUTO_COMPLETE,AU),t.register(ge.LABEL,CU),t.register(ge.HIDDEN,bU),t.register(ge.JSON,yU),t.register(ge.DIVIDER,wU),t.register(ge.INFO_CARD,vU),t.register(ge.ARRAY,eW),t.register(ge.OBJECT,FW),t.register(ge.KEY_VALUE,OW),t.register(ge.ARRAY_OBJECT,mW)}TA();const Yg=({field:t,disabled:e,required:n,readOnly:r,rules:o,values:i,optionsLoader:s,validateVariable:a,renderVariableTag:l,renderVariableTooltip:c,eventHandlers:u})=>{const d=Pc(),f=e??As(t.disabled,i,!1),p=n??As(t.required,i,!1),m=r??As(t.readOnly,i,!1),v=o??xi(t.rules||[],i,t.type),b={values:i,optionsLoader:s,validateVariable:a,renderVariableTag:l,renderVariableTooltip:c,eventHandlers:u},w=d.get(t.type);if(!w)return h.jsxs("span",{children:["不支持的字段类型: ",t.type]});const{component:g,meta:C}=w;return C.isDisplayOnly?h.jsx(g,{field:t,disabled:f,readOnly:m,context:b}):C.isComplexField?h.jsx(D.Form.Item,{label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:p,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})}):C.isHidden?h.jsx(D.Form.Item,{name:C.needsFormItemName!==!1?t.name:void 0,hidden:!0,rules:v,valuePropName:C.valuePropName,validateTrigger:t.validateTrigger,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})}):h.jsx(D.Form.Item,{name:C.needsFormItemName!==!1?t.name:void 0,label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:p,rules:v,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,valuePropName:C.valuePropName,validateTrigger:t.validateTrigger,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})})},MU=Object.freeze(Object.defineProperty({__proto__:null,FieldRenderer:Yg},Symbol.toStringTag,{value:"Module"})),IU={meta:{name:"antd-5x-apple-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#007AFF",colorInfo:"#007AFF",colorSuccess:"#34C759",colorWarning:"#FF9F0A",colorError:"#FF3B30",colorTextBase:"#0B0B0F",colorBgBase:"#FFFFFF",colorBorder:"#D1D1D6",colorBorderSecondary:"#E5E5EA",colorPrimaryBorder:"#007AFF",colorPrimaryBorderHover:"#007AFF",colorPrimaryHover:"#0066D6",colorPrimaryActive:"#0056B3",controlOutlineWidth:2,controlOutline:"rgba(0, 122, 255, 0.25)",fontFamily:'"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:10,borderRadiusSM:8,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:52,sizeUnit:4,sizeStep:4,padding:16,paddingXS:10,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:10,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 10px 24px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08)",boxShadowSecondary:"0 6px 16px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06)",boxShadowTertiary:"0 2px 8px rgba(0,0,0,0.08)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:18,paddingInlineLG:20,paddingInlineSM:14,contentFontSize:14,contentFontSizeLG:16,contentFontSizeSM:14,primaryShadow:"0 2px 0 rgba(0,122,255,0.14)",dangerShadow:"0 2px 0 rgba(255,59,48,0.12)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:14},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:44,controlHeightLG:52,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:44,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:14,paddingInlineSM:12,paddingInlineLG:14,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:12,borderRadius:10,hoverBorderColor:"#C7C7CC",activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Layout:{headerBg:"#FFFFFF",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F2F2F7",siderBg:"#FFFFFF",triggerBg:"#F2F2F7"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Menu:{itemHeight:44,iconSize:16,collapsedIconSize:18,horizontalItemBorderRadius:10,itemBorderRadius:10},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:14},Notification:{},Pagination:{itemSize:44,itemSizeSM:36},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#007AFF"},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F2F2F7",headerSortActiveBg:"#EDEDF2",headerSortHoverBg:"#F2F2F7",rowHoverBg:"#F2F2F7",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:36,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},PU={meta:{name:"antd-5x-google-material3-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#1A73E8",colorInfo:"#1A73E8",colorSuccess:"#34A853",colorWarning:"#FBBC04",colorError:"#EA4335",colorTextBase:"#202124",colorBgBase:"#FFFFFF",colorBorder:"#DADCE0",colorBorderSecondary:"#E0E3E7",colorPrimaryBorder:"#1A73E8",colorPrimaryBorderHover:"#1A73E8",colorPrimaryHover:"#1967D2",colorPrimaryActive:"#174EA6",controlOutlineWidth:2,controlOutline:"rgba(26, 115, 232, 0.24)",fontFamily:'"Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.5714285714285714,borderRadius:8,borderRadiusSM:4,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:56,controlHeightSM:40,controlHeightLG:64,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(60,64,67,0.16), 0 2px 6px rgba(60,64,67,0.12)",boxShadowSecondary:"0 2px 8px rgba(60,64,67,0.14)",boxShadowTertiary:"0 1px 3px rgba(60,64,67,0.12)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:40,controlHeightSM:32,controlHeightLG:48,paddingInline:24,paddingInlineLG:24,paddingInlineSM:16,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(26,115,232,0.20)",dangerShadow:"0 1px 0 rgba(234,67,53,0.18)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:4},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:40,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:14,paddingBlockSM:8,paddingBlockLG:16,borderRadius:4,hoverBorderColor:"#BDC1C6",activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},InputNumber:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Layout:{headerBg:"#202124",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8F9FA",siderBg:"#202124",triggerBg:"#303134"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:12,itemBorderRadius:12},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:16},Notification:{},Pagination:{itemSize:40,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#1A73E8"},Rate:{},Result:{},Segmented:{controlHeight:40},Select:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F8F9FA",headerSortActiveBg:"#F1F3F4",headerSortHoverBg:"#F3F5F6",rowHoverBg:"#F8F9FA",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 18px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},LU={meta:{name:"antd-5x-preline-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#2563EB",colorInfo:"#2563EB",colorSuccess:"#16A34A",colorWarning:"#F59E0B",colorError:"#EF4444",colorTextBase:"#0F172A",colorBgBase:"#FFFFFF",colorBorder:"#E5E7EB",colorBorderSecondary:"#E5E7EB",colorPrimaryBorder:"#3B82F6",colorPrimaryBorderHover:"#3B82F6",colorPrimaryHover:"#1D4ED8",colorPrimaryActive:"#1E40AF",controlOutlineWidth:1,controlOutline:"rgba(59, 130, 246, 0.45)",fontFamily:'Graphik, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:8,borderRadiusSM:6,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:48,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(15,23,42,0.06), 0 6px 18px rgba(15,23,42,0.08)",boxShadowSecondary:"0 1px 2px rgba(15,23,42,0.05), 0 10px 24px rgba(15,23,42,0.10)",boxShadowTertiary:"0 1px 2px rgba(15,23,42,0.06)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:8,borderRadiusSM:8,borderRadiusLG:10,controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineLG:18,paddingInlineSM:12,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(37,99,235,0.18)",dangerShadow:"0 1px 0 rgba(239,68,68,0.16)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:36,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:10,borderRadius:8,hoverBorderColor:"#D1D5DB",activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Layout:{headerBg:"#0B1220",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8FAFC",siderBg:"#0B1220",triggerBg:"#0F1A2E"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:8,itemBorderRadius:8},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:12},Notification:{},Pagination:{itemSize:36,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:22,trackMinWidth:44,handleSize:18},Table:{headerBg:"#F8FAFC",headerSortActiveBg:"#F1F5F9",headerSortHoverBg:"#F3F6FB",rowHoverBg:"#F8FAFC",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:6,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:6},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}};function $U(t){return"optionsSource"in t&&t.optionsSource&&t.optionsSource.kind!=="static"?t.optionsSource.deps||[]:[]}function zU(t){const e=[];for(const n of t.fields){const r=$U(n);if(r.length>0)for(const o of r)e.push({id:`auto-clear-${n.name}-on-${o}-change`,trigger:{type:"fieldChange",field:o},actions:[{type:"clearFields",targets:[n.name]}]})}return e}function HU(t,e,n=!0){return[...n?zU(t):[],...e||[]]}const VU={default:Ih,apple:IU,google:PU,preline:LU};function Xg({schema:t,disabled:e=!1,initialValues:n,onSubmit:r,onChange:o,onValuesObserved:i,submitLabel:s="提交",showReset:a=!1,resetLabel:l="重置",onReset:c,form:u,showSubmit:d=!0,optionsLoader:f,nodeId:p,mcpMode:m,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,availableVariables:g,theme:C,customTheme:k,locale:_,prefixCls:S,events:E,customHandlers:x,maxExecutionDepth:O,debugEvents:A,preRender:T}){var X;const[B]=D.Form.useForm(),I=u||B,F=vt.useMemo(()=>{const q={};for(const J of t.fields)J.defaultValue!==void 0&&(q[J.name]=J.defaultValue);return{...q,...n||{}}},[t.fields,n]),N=vt.useMemo(()=>{const q=t.enableAutoEvents!==!1,J=t.events||[],re=E||[];return HU(t,[...J,...re],q)},[t,E]),P=y2({events:N,form:I,optionsLoader:f,customHandlers:x,maxExecutionDepth:O,debug:A}),M=vt.useRef({}),z=vt.useMemo(()=>{if(k)return k;if(C)return VU[C]},[k,C]),H=D.Form.useWatch([],I),R=vt.useMemo(()=>JSON.stringify({...F||{},...H||{}}),[F,H]),Y=vt.useMemo(()=>({...F||{},...H||{}}),[R]),te=vt.useRef(R);vt.useEffect(()=>{!i||te.current===R||(te.current=R,i(Y))},[i,Y,R]);const[$,j]=vt.useState({}),U=vt.useRef({});vt.useEffect(()=>{var J;const q={};for(const re of t.fields){const Z=yl(re,Y);if(q[re.name]=Z,U.current[re.name]===!0&&Z===!1){const ve=q7(re),we=((J=re.visibleWhen)==null?void 0:J.clearOnHide)??!0;ve==="unregister"&&I.setFieldValue(re.name,we?void 0:I.getFieldValue(re.name))}}U.current=q,j(re=>{const Z=Object.keys(re),ue=Object.keys(q);return Z.length===ue.length&&ue.every(ve=>re[ve]===q[ve])?re:q})},[t.fields,I,Y]);const ee=async q=>{const J=t.pruneInvisibleOnSubmit===!1?q:R7(t,q,$);await(r==null?void 0:r(J))},ie=(q,J)=>{if(o==null||o(q,J),P.triggerFieldChange&&q){const re=M.current;for(const Z in q){const ue=qn(re,Z),ve=q[Z];P.triggerFieldChange(Z,ve,ue)}}M.current={...J}},be=d||a,W=vt.useMemo(()=>({nodeId:p,mcpMode:m,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,availableVariables:g}),[p,m,v,b,w,g]);return h.jsx(iC,{customTheme:z,locale:_,prefixCls:S,children:h.jsx(cC,{value:W,children:h.jsxs(D.Form,{form:I,disabled:e,autoComplete:"off",layout:t.layout||"vertical",labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,size:t.size,initialValues:F,onFinish:ee,onValuesChange:ie,className:"workflow-config-form",children:[T&&T,t.fields.map(q=>{if(!yl(q,Y))return null;const re=e||As(q.disabled,Y,!1),Z=As(q.required,Y,!1),ue=xi(q.rules||[],Y,q.type),ve=(q.rules||[]).some(fe=>fe.type==="required"),we=Z&&!ve?[Kg(`${q.label||q.name}为必填项`),...ue]:ue;return h.jsx(Yg,{field:q,disabled:re,required:Z,rules:we,values:Y,optionsLoader:f,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,eventHandlers:P.fieldEventHandlers},q.name)}),be&&h.jsx(D.Form.Item,{wrapperCol:{offset:((X=t.labelCol)==null?void 0:X.span)||0},children:h.jsxs(D.Space,{children:[a&&h.jsx(D.Button,{disabled:e,onClick:()=>{I.resetFields(),c==null||c()},children:l}),d&&h.jsx(D.Button,{type:"primary",htmlType:"submit",children:s})]})})]})})})}const Sl=()=>{const t=$t();return y.useCallback((e,n=!1)=>{if(/^https?:\/\//i.test(e)){window.open(e,"_blank");return}if(t.onNavigate){t.onNavigate(e,n);return}n?window.open(e,"_blank"):ac.push(e)},[t.onNavigate])},Jg=y.forwardRef((t,e)=>{const n=Sl(),[r,o]=y.useState([]),[i,s]=y.useState("");y.useEffect(()=>{s(t.proxyId)},[t.proxyId]),y.useEffect(()=>{Kf().then(c=>{o(c??[])})},[]);const a=()=>i;y.useImperativeHandle(e,()=>({getProxyId:a}));const l=c=>{s(c)};return h.jsxs(YB,{label:K("link.flow.use_proxy_gateway"),children:[h.jsxs(D.Select,{className:"proxy_id_select",value:i,dropdownStyle:{zIndex:Fc.nestedPopover},onChange:l,style:{width:"100%"},children:[h.jsx(D.Select.Option,{value:"0",children:h.jsx(Te.FormattedMessage,{id:"link.flow.do_not_use"})}),r.map(c=>h.jsx(D.Select.Option,{value:c.id,children:c.group_name},c.id))]}),h.jsxs("p",{className:"field-desc",children:[h.jsx(Te.FormattedMessage,{id:"link.flow.private_network_deployment"}),h.jsx("span",{style:{margin:"0 2px"},onClick:()=>{n("/setting/gateway")},children:h.jsx(Te.FormattedMessage,{id:"link.flow.proxy_gateway"})}),h.jsx(Te.FormattedMessage,{id:"link.flow.secure_connection"})]})]})}),jU="RDBMS_ACCOUNT",WU=t=>t===jU,NA=({formSchema:t,initialValues:e,connector:n,proxy_id:r,authType:o,onCancel:i,onSubmit:s})=>{var f;const[a]=D.Form.useForm(),l=y.useRef(null),c=(n==null?void 0:n.deployment_type)!=="SaasApp",u=WU(o);y.useEffect(()=>{e&&a.setFieldsValue(e)},[a,e]);const d=async p=>{var v;const m=await a.validateFields();c&&(m.proxy_id=(v=l.current)==null?void 0:v.getProxyId()),s(m,p)};try{(f=t==null?void 0:t.fields)==null||f.forEach(p=>{p.valueModePolicy!=="TEXT"&&console.warn("config error: value mode policy is not TEXT")})}catch{console.warn("form schema fmt err")}return h.jsxs("div",{className:Gr.formLayout,children:[h.jsxs("div",{className:Gr.formContent,children:[h.jsx(Xg,{schema:t,form:a,initialValues:e,showSubmit:!1,showReset:!1,customTheme:sc}),c?h.jsx(Jg,{proxyId:r||"0",ref:l}):null]}),h.jsx("div",{className:Gr.formActions,children:h.jsxs(D.Space,{children:[h.jsx(D.Button,{onClick:i,children:"取消"}),u?h.jsx(D.Button,{onClick:()=>d(!0),children:"测试连接"}):null,h.jsx(D.Button,{type:"primary",onClick:()=>d(!1),children:"保存"})]})})]})},UU=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",value:jt(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),qU=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:jt(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}}),GU=({value:t=[],onChange:e,valueType:n})=>{const r=a=>{const l=[...t];l.splice(a,1),e==null||e(l)},o=()=>{e==null||e([...t,{key:"",value:""}])},i=(a,l)=>{e==null||e(t.map((c,u)=>u===a?{...c,key:l}:c))},s=(a,l)=>{e==null||e(t.map((c,u)=>u===a?{...c,value:l}:c))};return h.jsxs("div",{children:[t.map((a,l)=>h.jsxs(D.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Input,{value:a.key,onChange:c=>i(l,c.target.value),placeholder:"Key"}),h.jsx(D.Input,{placeholder:"Value",style:{width:300},value:a.value,onChange:c=>s(l,c.target.value)}),h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{r(l)}})]},a.key)),h.jsxs(D.Button,{type:"default",onClick:o,block:!0,children:[h.jsx(br,{size:16})," ",h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})]})]})},RU=t=>null;class Ld{constructor(e,n,r,o,i,s,a,l,c,u=0,d){this.p=e,this.stack=n,this.state=r,this.reducePos=o,this.pos=i,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=u,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let o=e.parser.context;return new Ld(e,[],n,r,r,0,[],0,o?new BA(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,o=e&65535,{parser:i}=this.p,s=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=i.dynamicPrecedence(o);if(a&&(this.score+=a),r==0){this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,s?8:4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-c;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[o])===null||n===void 0)&&n.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=u));let d=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-d;if(o<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=i.getGoto(p,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,c)}storeNode(e,n,r,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(n==r)return;if(s.buffer[a-2]>=n){s.buffer[a-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,o);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let a=!1;for(let l=s;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4)}this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=r,this.buffer[s+3]=o}}shift(e,n,r,o){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:s}=this.p;this.pos=o,!s.stateFlag(i,1)&&(o>r||n<=s.maxNode)&&(this.reducePos=o),this.pushState(i,Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}else this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4)}apply(e,n,r,o){e&65536?this.reduce(e):this.shift(e,n,r,o)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(n,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),o=e.bufferBase+n;for(;e&&o==e.bufferBase;)e=e.parent;return new Ld(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new KU(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let o=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(n[i],s);if(this.stack.length<120)for(let i=0;o.length<8&&i<n.length;i+=2){let s=n[i+1];o.some((a,l)=>l&1&&a==s)||o.push(n[i],s)}n=o}let r=[];for(let o=0;o<n.length&&r.length<4;o+=2){let i=n[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[o],this.pos),s.reducePos=this.pos,s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let r=n>>19,o=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;n=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(o,i)=>{if(!n.includes(o))return n.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-i;if(a>1){let l=s&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(s,i+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new BA(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class BA{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class KU{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=o}}class $d{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new $d(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new $d(this.stack,this.pos,this.index)}}function zd(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,o=0;r<t.length;){let i=0;for(;;){let s=t.charCodeAt(r++),a=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}n?n[o++]=i:n=new e(i)}return n}class Hd{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const FA=new Hd;class YU{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=FA,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!o)return null;let s=this.ranges[--o];i-=r.from-s.to,r=s}for(;n<0?i>r.to:i>=r.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-r.to,r=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,o;if(n>=0&&n<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=FA,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let o of this.ranges){if(o.from>=n)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,n)))}return r}}class Os{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;XU(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}Os.prototype.contextual=Os.prototype.fallback=Os.prototype.extend=!1,Os.prototype.fallback=Os.prototype.extend=!1;function XU(t,e,n,r,o,i){let s=0,a=1<<r,{dialect:l}=n.p.parser;e:for(;(a&t[s])!=0;){let c=t[s+1];for(let p=s+3;p<c;p+=2)if((t[p+1]&a)>0){let m=t[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||JU(m,e.token.value,o,i))){e.acceptToken(m);break}}let u=e.next,d=0,f=t[s+2];if(e.next<0&&f>d&&t[c+f*3-3]==65535){s=t[c+f*3-1];continue e}for(;d<f;){let p=d+f>>1,m=c+p+(p<<1),v=t[m],b=t[m+1]||65536;if(u<v)f=p;else if(u>=b)d=p+1;else{s=t[m+2],e.advance();continue e}}break}}function MA(t,e,n){for(let r=e,o;(o=t[r])!=65535;r++)if(o==n)return r-e;return-1}function JU(t,e,n,r){let o=MA(n,r,e);return o<0||MA(n,r,t)<o}const Ln=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let Qg=null;function IA(t,e,n){let r=t.cursor(Ct.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class QU{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?IA(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?IA(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],o=this.index[n];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[o],s=this.start[n]+r.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof Dt){if(s==e){if(s<this.safeFrom)return null;let a=s+i.length;if(a<=this.safeTo){let l=i.prop(Je.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}}class ZU{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Hd)}getActions(e){let n=0,r=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<i.length;c++){if((1<<c&s)==0)continue;let u=i[c],d=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||d.start!=e.pos||d.mask!=s||d.context!=a)&&(this.updateCachedToken(d,u,e),d.mask=s,d.context=a),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let f=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!u.extend&&(r=d,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Hd,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Hd,{pos:r,p:o}=e;return n.start=r,n.end=Math.min(r+1,o.stream.end),n.value=r==o.stream.end?o.parser.eofTerm:0,n}updateCachedToken(e,n,r){let o=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(o,e),r),e.value>-1){let{parser:i}=r.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let a=i.specializers[s](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,n,r,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=n,this.actions[o++]=r,o}addActions(e,n,r,o){let{state:i}=e,{parser:s}=e.p,{data:a}=s;for(let l=0;l<2;l++)for(let c=s.stateSlot(i,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=ro(a,c+2);else{o==0&&a[c+1]==2&&(o=this.putAction(ro(a,c+2),n,r,o));break}a[c]==n&&(o=this.putAction(ro(a,c+1),n,r,o))}return o}}class eq{constructor(e,n,r,o){this.parser=e,this.input=n,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new YU(n,o),this.tokens=new ZU(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[Ld.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new QU(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let a=e[s];for(;;){if(this.tokens.mainToken=null,a.pos>n)r.push(a);else{if(this.advanceStack(a,r,e))continue;{o||(o=[],i=[]),o.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!r.length){let s=o&&nq(o);if(s)return Ln&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw Ln&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,r);if(s)return Ln&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((a,l)=>l.score-a.score);r.length>s;)r.pop();r.some(a=>a.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let s=0;s<r.length-1;s++){let a=r[s];for(let l=s+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&(r.sort((s,a)=>a.score-s.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let s=1;s<r.length;s++)r[s].pos<this.minStackPos&&(this.minStackPos=r[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let o=e.pos,{parser:i}=this,s=Ln?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(o);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!c||(d.prop(Je.contextHash)||0)==u))return e.useNode(d,f),Ln&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof Dt)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Dt&&d.positions[0]==0)d=p;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ln&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let u=l[c++],d=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),v=this.tokens.mainToken;if(m.apply(u,d,v?v.start:m.pos,f),Ln&&console.log(s+this.stackID(m)+` (via ${(u&65536)==0?"shift":`reduce of ${i.getName(u&65535)}`} for ${i.getName(d)} @ ${o}${m==e?"":", split"})`),p)return!0;m.pos>o?n.push(m):r.push(m)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return PA(e,n),!0}}runRecovery(e,n,r){let o=null,i=!1;for(let s=0;s<e.length;s++){let a=e[s],l=n[s<<1],c=n[(s<<1)+1],u=Ln?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),Ln&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),f=u;for(let p=0;p<10&&d.forceReduce()&&(Ln&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)Ln&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))Ln&&console.log(u+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ln&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),PA(a,r)):(!o||o.score<d.score)&&(o=d)}return o}stackToTree(e){return e.close(),Dt.build({buffer:$d.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(Qg||(Qg=new WeakMap)).get(e);return n||Qg.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function PA(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class tq{constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Vd extends DC{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let a=0;a<e.repeatNodeCount;a++)n.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),o=[];for(let a=0;a<n.length;a++)o.push([]);function i(a,l,c){o[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=Je[l]);for(let c=1;c<a.length;){let u=a[c++];if(u>=0)i(u,l,a[c++]);else{let d=a[c+-u];for(let f=-u;f>0;f--)i(a[c++],l,d);c++}}}this.nodeSet=new Hh(n.map((a,l)=>Cn.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:o[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=vC;let s=zd(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(LA),this.states=zd(e.states,Uint32Array),this.data=zd(e.stateData),this.goto=zd(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Os(s,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let o=new eq(this,e,n,r);for(let i of this.wrappers)o=i(o,e,n,r);return o}getGoto(e,n,r=!1){let o=this.goto;if(n>=o[0])return-1;for(let i=o[n+1];;){let s=o[i++],a=s&1,l=o[i++];if(a&&r)return l;for(let c=i+(s>>1);i<c;i++)if(o[i]==e)return l;if(a)return-1}}hasAction(e,n){let r=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=r[i])==65535)if(r[i+1]==1)s=r[i=ro(r,i+2)];else{if(r[i+1]==2)return ro(r,i+2);break}if(s==n||s==0)return ro(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),o=r?n(r):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ro(this.data,i+2);else break;o=n(ro(this.data,i+1))}return o}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=ro(this.data,r+2);else break;if((this.data[r+2]&1)==0){let o=this.data[r+1];n.some((i,s)=>s&1&&i==o)||n.push(this.data[r],o)}}return n}configure(e){let n=Object.assign(Object.create(Vd.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(i=>i.from==r);return o?o.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,o)=>{let i=e.specializers.find(a=>a.from==r.external);if(!i)return r;let s=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[o]=LA(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(r[s]=!0)}let o=null;for(let i=0;i<n.length;i++)if(!r[i])for(let s=this.dialects[n[i]],a;(a=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[a]=1;return new tq(e,r,o)}static deserialize(e){return new Vd(e)}}function ro(t,e){return t[e]|t[e+1]<<16}function nq(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function LA(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}const rq=_C({String:V.string,Number:V.number,"True False":V.bool,PropertyName:V.propertyName,Null:V.null,", :":V.separator,"[ ]":V.squareBracket,"{ }":V.brace}),oq=Vd.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[rq],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),iq=Ou.define({name:"json",parser:oq.configure({props:[iS.add({Object:aS({except:/^\s*\}/}),Array:aS({except:/^\s*\]/})}),lS.add({"Object Array":d8})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function $A(){return new Z3(iq)}const sq=t=>h.jsx(nd,{height:"300px",style:{borderRadius:4,overflow:"hidden"},theme:Cm,extensions:[$A()],...t}),{Text:aq}=D.Typography,lq=t=>h.jsx("div",{style:{padding:6,paddingRight:0,border:"1px solid #b0b5cb",borderRadius:4},children:h.jsx(D.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",styles:{body:{width:500}},children:h.jsx(aq,{style:{color:"#b0b5cb"},ellipsis:!0,copyable:{text:t.value},children:t.value})})}),cq=t=>h.jsx(D.Input.Password,{addonBefore:K("link.flow.cipherText"),value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),uq=t=>{var r;const{multiple:e,...n}=t;return h.jsx(D.Select,{style:{borderRadius:6},mode:e?"multiple":void 0,...n,getPopupContainer:o=>o.parentNode,children:(r=t==null?void 0:t.options)==null?void 0:r.map(o=>h.jsx(D.Select.Option,{label:o.label,value:o.value,children:o.label},o.value))})},{TextArea:dq}=D.Input,fq=t=>h.jsx(dq,{value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),hq=t=>h.jsx(D.Input,{addonBefore:K("link.flow.text"),value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),pq=t=>h.jsx(D.TimePicker,{style:{width:"100%"},value:jt(t.value??"00:00:00","HH:mm:ss"),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),mq={configFormContainer:"_configFormContainer_s061b_1"},gq=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],Zg=t=>Array.isArray(t)?t.map(e=>{if(typeof e=="string"){const s=e.trim();return s?{label:s,value:s}:null}const n=(e==null?void 0:e.value)??(e==null?void 0:e.label)??"",r=n==null?"":String(n).trim();if(!r)return null;const o=(e==null?void 0:e.label)??"";return{label:o==null?r:String(o).trim()||r,value:r}}).filter(Boolean):[],wq=t=>{const e=t.display_name;switch(t.page_control){case xe.SELECT:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_select")+t.display_name}],label:e,name:t.name,children:h.jsx(uq,{options:Zg(t.option_value_objects??t.option_values),multiple:t.multi_valued})},t.ui_id);case xe.EXTEND_OBJ:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(GU,{valueType:t.value_type})},t.ui_id);case xe.HIDDEN:return h.jsx(D.Form.Item,{style:{display:"none"},required:t.required,label:e,name:t.name,children:h.jsx(RU,{})},t.ui_id);case xe.TEXT:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(hq,{})},t.ui_id);case xe.PASSWORD:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(cq,{})},t.ui_id);case xe.LABEL:return h.jsx(D.Form.Item,{required:t.required,label:e,name:t.name,children:h.jsx(lq,{})},t.ui_id);case xe.DATE:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(UU,{})},t.ui_id);case xe.TIME:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(pq,{})},t.ui_id);case xe.DATETIME:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(qU,{})},t.ui_id);case xe.TEXTAREA:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(fq,{})},t.ui_id);case xe.FIXED_OBJ:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(D.Input.TextArea,{})},t.ui_id);case xe.JSON:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(sq,{})},t.ui_id)}},bq=t=>{switch(t.page_control){case xe.SELECT:return t.multi_valued?[]:null;case xe.EXTEND_OBJ:return{};case xe.HIDDEN:return"";case xe.TEXT:return"";case xe.PASSWORD:return"";case xe.LABEL:return"";case xe.DATE:return null;case xe.TIME:return null;case xe.DATETIME:return null;case xe.TEXTAREA:return"";case xe.FIXED_OBJ:return"";case xe.JSON:return JSON.stringify({})}},zA=y.memo(t=>{var c;const{config:e,proxy_id:n,connector:r}=t,[o]=D.Form.useForm(),i=y.useRef(null),s=Et.useReactive({proxyId:"0"});y.useEffect(()=>{var u;(u=e==null?void 0:e.sub_params)!=null&&u.length&&o.setFieldsValue({...e.sub_params.reduce((d,f)=>{let p=f.value;return f.page_control===xe.EXTEND_OBJ&&(p=gq(p)),d[f.name]=p??bq(f),d},{})})},[e,o]),y.useEffect(()=>{n&&(s.proxyId=n)},[n]);const a=()=>{o.validateFields().then(async u=>{var d;u.proxy_id=(d=i.current)==null?void 0:d.getProxyId(),t.onSubmit(u)})},l=()=>{o.validateFields().then(async u=>{var d;u.proxy_id=(d=i.current)==null?void 0:d.getProxyId(),t.onSubmit(u,!0)})};return h.jsxs("div",{className:Gr.formLayout,style:{position:"relative"},onClick:u=>{u.stopPropagation(),u.preventDefault()},children:[h.jsx("div",{className:Gr.formContent,children:h.jsxs(D.Form,{form:o,layout:"vertical",className:`${mq.configFormContainer} workflow-credential-form`,children:[(c=e==null?void 0:e.sub_params)==null?void 0:c.map(u=>h.jsxs("div",{children:[wq(u),u.page_control!==xe.HIDDEN&&h.jsx("p",{className:"field-desc",children:u.description})]},u.ui_id)),r.deployment_type!=="SaasApp"?h.jsx(Jg,{proxyId:s.proxyId,ref:i}):null]})}),t.auth_type==="RDBMS_ACCOUNT"&&h.jsx("div",{className:Gr.rdbmsTestAction,children:h.jsx(D.Button,{type:"primary",style:{width:"100%"},onClick:l,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.connection-test"})})}),h.jsxs("div",{className:Gr.formActions,children:[h.jsx(D.Button,{icon:h.jsx(se.RollbackOutlined,{}),style:{width:90,borderRadius:4,marginRight:10},onClick:t.onCancel,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.cancel"})}),h.jsx(D.Button,{type:"primary",icon:h.jsx(se.CloudUploadOutlined,{}),style:{width:90,borderRadius:4},onClick:()=>a(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})]})]})}),vq={overflow:"hidden"},yq=72,Cq=16,kq=t=>{const{visible:e,connector:n,config:r,formSchema:o,onCancel:i,onSubmit:s,auth_type:a,inAI:l}=t;return h.jsx(D.Modal,{title:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-account"}),style:{marginTop:0,paddingBottom:0,position:"absolute",top:yq,bottom:Cq,left:12,right:12,maxWidth:"calc(100% - 24px)",marginInline:"auto"},className:Gr.accountModal,mask:!1,getContainer:()=>document.getElementById("flow-designer-container"),zIndex:Fc.nestedModal,width:560,styles:{body:vq},footer:null,maskClosable:!l,open:e,onCancel:i,children:o?h.jsx(NA,{formSchema:o,connector:n,authType:a,onCancel:i,onSubmit:s}):h.jsx(zA,{config:r,connector:n,nodeId:"",auth_type:a,onCancel:i,onSubmit:s})})},Sq={overflow:"hidden"},Eq=72,xq=16,Dq=t=>{const{visible:e,connector:n,config:r,formSchema:o,initialValues:i,onCancel:s,onSubmit:a,auth_type:l,proxy_id:c,inAI:u}=t;return h.jsx(D.Modal,{title:K("link.flow.edit_account"),mask:!1,style:{marginTop:0,paddingBottom:0,position:"absolute",top:Eq,bottom:xq,left:12,right:12,maxWidth:"calc(100% - 24px)",marginInline:"auto"},className:Gr.accountModal,getContainer:()=>document.getElementById("flow-designer-container"),zIndex:Fc.nestedModal,width:560,footer:null,styles:{body:Sq},open:e,maskClosable:!u,onCancel:s,children:o?h.jsx(NA,{formSchema:o,initialValues:i,connector:n,proxy_id:c,authType:l,onCancel:s,onSubmit:a}):h.jsx(zA,{config:r,proxy_id:c,connector:n,nodeId:"",auth_type:l,onCancel:s,onSubmit:a})})},_i={accountOption:"_accountOption_4vdjt_14",accountName:"_accountName_4vdjt_21",nameEditIcon:"_nameEditIcon_4vdjt_34",editInputWrapper:"_editInputWrapper_4vdjt_44",nameEditInput:"_nameEditInput_4vdjt_48",accountActions:"_accountActions_4vdjt_53",updateTime:"_updateTime_4vdjt_58"},_q=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],ew=(t=[])=>{const e={};return t.forEach(n=>{e[n.key]=n.value}),e},Aq={eq:"EQ",ne:"NOT",in:"IN",notin:"NOT_IN",not_in:"NOT_IN",gt:"GT",lt:"LT",gte:"GE",lte:"LE"};function Oq(t){if(!(t!=null&&t.field)||!t.operator)return;const e=Aq[String(t.operator).toLowerCase()];if(e)return{deps:[t.field],conditions:{key:t.field,keyword:e,value:t.value}}}function Tq(t){return cn(t.visible_when)??Oq(t.display_condition)}const HA={STRING:ge.TEXT,TEXTAREA:ge.TEXTAREA,PASSWORD:ge.PASSWORD,HIDDEN:ge.HIDDEN,NUMBER:ge.NUMBER,BOOLEAN:ge.SWITCH,SELECT:ge.SELECT,DATETIME:ge.DATETIME,CODE:ge.CODE,PROXY:ge.PROXY,OBJECT:ge.OBJECT,ARRAY:ge.ARRAY,DYNAMIC_ARRAY:ge.ARRAY,KEYVALUE:ge.KEY_VALUE},VA=t=>String(t.type??"").toUpperCase(),Nq=t=>t.item_schema??[],jA=t=>String(t.item_type??"").toUpperCase(),cn=t=>t??void 0,Bq=t=>Object.fromEntries((t??[]).map(e=>[e.key,nw(e)])),Fq=t=>{const e=String(t.picker_mode??"DATETIME").toUpperCase();return e==="DATE"?ge.DATE:e==="TIME"?ge.TIME:ge.DATETIME},tw=t=>{const e=String(t.picker_mode??"DATETIME").toUpperCase();return e==="DATE"?"YYYY-MM-DD":e==="TIME"?"HH:mm:ss":"YYYY-MM-DD HH:mm:ss"},Mq=t=>({type:HA[jA(t)]||ge.TEXT,name:"item",label:t.item_label||"项"});function Iq(t){if(!t)return[];const e=[],n=t.minLength??t.min_length,r=t.maxLength??t.max_length;return n!=null&&e.push({type:"min",value:n,message:`最少 ${n} 个字符`}),r!=null&&e.push({type:"max",value:r,message:`最多 ${r} 个字符`}),t.pattern&&e.push({type:"pattern",value:t.pattern,message:"格式不正确"}),t.min!=null&&e.push({type:"min",value:t.min,message:`最小值 ${t.min}`}),t.max!=null&&e.push({type:"max",value:t.max,message:`最大值 ${t.max}`}),e}function nw(t){var r,o,i;const e=VA(t)==="DATETIME"?Fq(t):HA[VA(t)]||ge.TEXT,n={type:e,name:t.key,label:t.label||t.key,placeholder:cn(t.placeholder),helpText:cn(t.help_text),defaultValue:cn(t.default_value),required:cn(t.required),disabled:cn(t.disabled),visibleWhen:Tq(t),rules:Iq(t.validation),valueModePolicy:cn(t.value_mode_policy)};switch(e){case ge.SELECT:return{...n,type:ge.SELECT,options:(r=t.options)==null?void 0:r.map(s=>({label:s.label,value:s.value})),showSearch:!0,allowClear:!0};case ge.NUMBER:return{...n,type:ge.NUMBER,min:cn((o=t.validation)==null?void 0:o.min),max:cn((i=t.validation)==null?void 0:i.max)};case ge.DATETIME:return{...n,type:ge.DATETIME,showTime:!0,format:tw(t),outputFormat:"string"};case ge.DATE:return{...n,type:ge.DATE,format:tw(t),outputFormat:"string"};case ge.TIME:return{...n,type:ge.TIME,format:tw(t),outputFormat:"string"};case ge.OBJECT:return{...n,type:ge.OBJECT,properties:Bq(t.properties)};case ge.ARRAY:if(jA(t)==="OBJECT"){const s=Nq(t).map(nw);return{...n,type:ge.ARRAY_OBJECT,columns:s,minItems:cn(t.min_items),maxItems:cn(t.max_items),columnLayout:s.length>1?"grid":"vertical",titleFieldName:void 0}}return{...n,type:ge.ARRAY,itemSchema:Mq(t),minItems:cn(t.min_items),maxItems:cn(t.max_items),itemLabel:cn(t.item_label)};case ge.KEY_VALUE:return{...n,type:ge.KEY_VALUE,keyPlaceholder:cn(t.key_placeholder),valuePlaceholder:cn(t.value_placeholder)};default:return n}}function WA(t){return{fields:t.map(nw),layout:"vertical"}}const UA=(...t)=>{for(const e of t)if(typeof e=="string"&&e.trim())return e.trim()};function Pq(t){if(!t)return null;const e=UA(t.key,t.credentialKey,t.name);return e?{key:e,label:UA(t.displayName,t.label,t.name,e)??e,required:t.required===!0}:null}function rw(t){if(!Array.isArray(t))return[];const e=[],n=new Set;for(const r of t){const o=Pq(r);!o||n.has(o.key)||(n.add(o.key),e.push(o))}return e}function Lq(t){var n,r;const e=rw(t);return((n=e.find(o=>o.required))==null?void 0:n.key)??((r=e[0])==null?void 0:r.key)}const $q=D.Form.Item,{Option:zq}=D.Select,{Text:Hq,Title:gre}=D.Typography,Ts="[workflow:account-debug]",Vq=t=>!!(t&&/^\d+$/.test(t)),Ai=t=>t&&typeof t=="object"&&!Array.isArray(t)?Object.keys(t):[],jq=t=>Array.isArray(t)?t.map(e=>e==null?void 0:e.key).filter(Boolean):[],Wq=t=>!!(t&&typeof t=="object"&&Array.isArray(t.sub_params)),Uq=t=>[t==null?void 0:t.auth_schema,t==null?void 0:t.config_schema,t==null?void 0:t.schema,t].find(Wq)??{},qA=t=>{var o,i,s,a,l;const e=(o=t==null?void 0:t.credential_schema)==null?void 0:o.fields,n=(i=t==null?void 0:t.auth_schema)==null?void 0:i.sub_params,r=((s=t==null?void 0:t.config_schema)==null?void 0:s.sub_params)??(t==null?void 0:t.sub_params);return{type:Array.isArray(t)?"array":t===null?"null":typeof t,keys:Ai(t),id:t==null?void 0:t.id,auth_type:t==null?void 0:t.auth_type,account_key:(t==null?void 0:t.account_key)??((a=t==null?void 0:t.credential_schema)==null?void 0:a.key),account_ver:(t==null?void 0:t.account_ver)??((l=t==null?void 0:t.credential_schema)==null?void 0:l.version),credentialSchemaKeys:Ai(t==null?void 0:t.credential_schema),credentialFieldCount:Array.isArray(e)?e.length:void 0,credentialFieldKeys:jq(e),authSchemaKeys:Ai(t==null?void 0:t.auth_schema),authSchemaSubParamCount:Array.isArray(n)?n.length:void 0,authSchemaSubParamNames:Array.isArray(n)?n.map(c=>c==null?void 0:c.name).filter(Boolean):void 0,configSchemaKeys:Ai(t==null?void 0:t.config_schema),configSubParamCount:Array.isArray(r)?r.length:void 0}},ow=t=>({keys:Ai(t),subParamCount:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.length:0,subParamNames:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.map(e=>e==null?void 0:e.name).filter(Boolean):[],subParamControls:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.map(e=>e==null?void 0:e.page_control).filter(Boolean):[]}),jd=(t,e)=>{var n,r;return{account_key:(t==null?void 0:t.account_key)??((n=t==null?void 0:t.credential_schema)==null?void 0:n.key)??e??null,account_ver:(t==null?void 0:t.account_ver)??((r=t==null?void 0:t.credential_schema)==null?void 0:r.version)??null}},GA=t=>{const e=t==null?void 0:t.credential_schema,n=e==null?void 0:e.fields;return(!Array.isArray(n)||!n.length)&&console.warn(`${Ts} credential_schema.fields missing or empty`,{model:qA(t)}),Array.isArray(n)&&n.length?WA(n):null},qq=({value:t,onChange:e,linkApp:n,actionAccountSchemaId:r,selectTitle:o="授权配置",disabled:i=!1,placeholder:s="请选择账号"})=>{const[a,l]=y.useState([]),[c,u]=y.useState(!1),[d,f]=y.useState(!1),[p,m]=y.useState(!1),v=y.useRef(null),b=y.useRef(null),w=D.Form.useFormInstance(),g=y.useMemo(()=>r?`_account_${r}`:"_account",[r]);y.useEffect(()=>{w&&w.validateFields([g]).catch(()=>{})},[t,w,g]);const C=Et.useReactive({createModalVisible:!1,modifyModalVisible:!1,configModel:{},credentialFormSchema:null,credentialInitialValues:{},schemaMeta:{},account_scheme_id:"",name:"",auth_type:"",modifyId:"",proxy_id:"",editId:"",editValue:"",createLoading:!1,createRequestLock:!1,isEditing:!1}),k=r==null?void 0:String(r),_=async()=>{if(!(!(n!=null&&n.id)&&!k)){u(!0);try{const M=Vq(k)?n==null?void 0:n.id:void 0,z=await Gy(M,k);z?l(z.items||[]):D.message.error("获取账号列表失败")}catch(M){console.error(`${Ts} 获取账号列表失败:`,M),D.message.error("获取账号列表失败")}finally{u(!1)}}};y.useEffect(()=>{_()},[n==null?void 0:n.id,k]),y.useEffect(()=>{C.editId&&v.current&&setTimeout(()=>{var M;(M=v.current)==null||M.focus()},100)},[C.editId]);const S=M=>{if(p){f(!0);return}f(M)},E=()=>{if(!C.editId||!C.editValue){C.editId="",C.isEditing=!1,m(!1);return}Hy(C.editId,C.editValue).then(()=>{_(),C.editId="",C.editValue="",C.isEditing=!1,m(!1),D.message.success(K("link.flow.modification_success"))}).catch(()=>{C.editId="",C.isEditing=!1,m(!1)})},x=(M,z,H)=>{M.stopPropagation(),M.preventDefault(),C.isEditing=!0,m(!0),f(!0),C.editId=z,C.editValue=H,setTimeout(()=>{b.current&&b.current.focus()},0)},O=M=>{M.stopPropagation(),M.preventDefault(),m(!0)},A=M=>{C.isEditing||e&&e(M)},T=()=>{if(!k){D.message.error("未配置账号模式");return}C.createLoading=!0,Jf(k).then(M=>{var Y;const z=GA(M),H=jd(M,k),R=z?{}:Uq(M);z||console.warn(`${Ts} create modal will use legacy DynamicAccountForm`,{reason:"credentialFormSchema is null",model:qA(M),configModel:ow(R)}),C.credentialFormSchema=z,C.credentialInitialValues={},C.schemaMeta=H,C.configModel=R,C.account_scheme_id=M.id,C.name=M.name,C.auth_type=M.auth_type??((Y=M.credential_schema)==null?void 0:Y.type),C.createModalVisible=!0}).catch(M=>{console.error(`${Ts} account model load failed for create`,{schemaId:k,error:M})}).finally(()=>{C.createLoading=!1})},B=M=>{Ly(M).then(async z=>{var U;const H=z.account_schema_id,R=z.account_key,Y=z.account_ver,te=R??H??k;let $=null;if(te)try{$=await Jf(String(te),Y)}catch(ee){console.error("获取账号模型失败:",ee)}const j=GA($);C.credentialFormSchema=j,C.credentialInitialValues=j?z.config??{}:{},C.schemaMeta={...jd($,R??k),account_key:R??jd($,k).account_key,account_ver:Y??jd($).account_ver},C.configModel=j?{}:z.config,C.account_scheme_id=H??($==null?void 0:$.id)??z.id,C.name=z.name,C.proxy_id=z.proxy_id,C.auth_type=z.auth_type??($==null?void 0:$.auth_type)??((U=$==null?void 0:$.credential_schema)==null?void 0:U.type)??"",C.modifyId=M,C.modifyModalVisible=!0})},I=y.useCallback((M,z)=>{if(C.createRequestLock)return;let H=M;if(!C.credentialFormSchema){if(H=Pt.cloneDeep(C.configModel),!Array.isArray(H==null?void 0:H.sub_params)){console.error(`${Ts} create account legacy config has no sub_params`,{configModel:ow(C.configModel),valueKeys:Ai(M)}),D.message.error("账号模型配置为空,无法保存");return}H.sub_params.forEach(Y=>{let te=M[Y.name];Y.page_control===xe.EXTEND_OBJ&&(te=ew(te)),Y.value=te})}const R=M.proxy_id;delete M.proxy_id,C.createRequestLock=!0,z?Zf((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,C.modifyId,R,C.schemaMeta).then(Y=>{Y&&D.message.success("测试连接成功!")}).finally(()=>{C.createRequestLock=!1}):$y((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,R,C.schemaMeta).then(()=>{D.message.success(K("link.flow.creation_success")),_(),C.createModalVisible=!1}).finally(()=>{C.createRequestLock=!1})},[]),F=y.useCallback(()=>{C.createModalVisible=!1},[]),N=(M,z)=>{let H=M;if(!C.credentialFormSchema){if(H=Pt.cloneDeep(C.configModel),!Array.isArray(H==null?void 0:H.sub_params)){console.error(`${Ts} modify account legacy config has no sub_params`,{configModel:ow(C.configModel),valueKeys:Ai(M)}),D.message.error("账号模型配置为空,无法保存");return}H.sub_params.forEach(Y=>{let te=M[Y.name];Y.page_control===xe.EXTEND_OBJ&&(te=ew(te)),Y.value=te})}const R=M.proxy_id;delete M.proxy_id,z?Zf((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,C.modifyId,R,C.schemaMeta).then(Y=>{Y&&D.message.success("测试连接成功!")}):zy(C.modifyId,null,null,null,null,H,R,C.schemaMeta).then(()=>{D.message.success(K("link.flow.modification_success")),_(),C.modifyModalVisible=!1,C.modifyId=""})},P=M=>h.jsxs("div",{children:[M,h.jsx(D.Divider,{style:{margin:"4px 0"}}),h.jsx("div",{style:{padding:"4px",textAlign:"center"},children:h.jsx(D.Button,{icon:h.jsx(se.UserAddOutlined,{}),onClick:T,loading:C.createLoading,type:"link",block:!0,children:"创建新账号"})})]});return h.jsxs(h.Fragment,{children:[h.jsx($q,{label:o,layout:"vertical",required:!0,name:g,initialValue:t,rules:[{validator:()=>t?Promise.resolve():Promise.reject(new Error(s||"请选择账号"))}],children:h.jsx(D.Select,{ref:b,value:t,onChange:A,style:{width:"100%"},placeholder:s,disabled:i,loading:c,allowClear:!0,popupRender:P,classNames:{popup:{root:"workflow-account-select__popup"}},listHeight:320,open:d,onOpenChange:S,children:a.map(M=>h.jsx(zq,{value:M.id,children:h.jsxs("div",{className:_i.accountOption,onClick:z=>{C.isEditing&&z.stopPropagation()},children:[h.jsx("div",{className:`${_i.accountName} workflow-account-select__name`,children:C.editId!==M.id?h.jsxs(y.Fragment,{children:[h.jsx("span",{children:M.name}),h.jsx(se.EditOutlined,{className:`${_i.nameEditIcon} workflow-account-select__edit`,onClick:z=>x(z,M.id,M.name)})]}):h.jsx("div",{className:_i.editInputWrapper,onClick:O,children:h.jsx(D.Input,{ref:v,defaultValue:M.name,className:_i.nameEditInput,onClick:O,onMouseDown:z=>{z.stopPropagation(),z.preventDefault()},onFocus:z=>{z.stopPropagation(),m(!0)},onPressEnter:z=>{z.stopPropagation(),z.preventDefault(),E()},onBlur:()=>{E()},onChange:z=>{C.editValue=z.target.value}})})}),h.jsxs("div",{className:_i.accountActions,children:[h.jsx(Hq,{type:"secondary",className:_i.updateTime,children:jt(Number(M.update_time)*1e3).format("YYYY-MM-DD HH:mm:ss")}),h.jsx(D.Button,{type:"link",icon:h.jsx(se.FileSearchOutlined,{}),size:"small",onClick:z=>{z.stopPropagation(),B(M.id)},children:"编辑"})]})]})},M.id))})}),h.jsx(kq,{onSubmit:I,onCancel:F,inAI:!0,auth_type:C.auth_type,config:C.configModel,formSchema:C.credentialFormSchema,visible:C.createModalVisible,connector:n}),h.jsx(Dq,{onSubmit:N,inAI:!0,onCancel:()=>{C.modifyModalVisible=!1},proxy_id:C.proxy_id,auth_type:C.auth_type,config:C.configModel,formSchema:C.credentialFormSchema,initialValues:C.credentialInitialValues,visible:C.modifyModalVisible,connector:n})]})},RA=({credentialRequirements:t,actionAccountSchemaId:e,value:n,onChange:r,...o})=>{var l;const i=y.useMemo(()=>{const c=e?[{key:String(e)}]:[];return rw(t!=null&&t.length?t:c)},[e,t]),[s,a]=y.useState(n?(l=i[0])==null?void 0:l.key:void 0);return y.useEffect(()=>{var c;if(!n){a(void 0);return}!s&&((c=i[0])!=null&&c.key)&&a(i[0].key)},[s,i,n]),i.length===0?null:h.jsx(y.Fragment,{children:i.map(c=>h.jsx(qq,{...o,actionAccountSchemaId:c.key,selectTitle:i.length>1?c.label:"授权配置",value:s===c.key?n:void 0,onChange:u=>{a(u?c.key:void 0),r==null||r(u)}},c.key))})},Gq=(t=32)=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=new Uint8Array(t);return crypto.getRandomValues(n),Array.from(n,r=>e[r%e.length]).join("")},Rq=t=>{const{value:e,onChange:n,disabled:r}=t,[o,i]=y.useState(e||""),[s,a]=y.useState(!1);y.useEffect(()=>{e!==void 0&&e!==o&&i(e)},[e,o]);const l=()=>{const f=Gq();i(f),a(!0),n==null||n(f)},c=()=>{l()},u=async()=>{if(!o){D.message.warning(K("components.authTokenField.emptyTokenWarning"));return}try{await navigator.clipboard.writeText(o),D.message.success(K("components.authTokenField.copySuccess"))}catch{D.message.error(K("components.authTokenField.copyFailed"))}},d=()=>{a(f=>!f)};return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[h.jsx(D.Input,{style:{flex:1},value:o,readOnly:!0,type:s?"text":"password",placeholder:K("components.authTokenField.placeholder")}),h.jsx(D.Tooltip,{title:K("components.authTokenField.copy"),children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:u,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(s?"components.authTokenField.hideToken":"components.authTokenField.showToken"),children:h.jsx(D.Button,{icon:s?h.jsx(se.EyeInvisibleOutlined,{}):h.jsx(se.EyeOutlined,{}),onClick:d,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(o?"components.authTokenField.regenerate":"components.authTokenField.generate"),children:h.jsx(D.Button,{icon:h.jsx(se.SyncOutlined,{}),onClick:c,disabled:r,type:"primary",ghost:!0})})]})},Kq=(t=32)=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=new Uint8Array(t);return crypto.getRandomValues(n),Array.from(n,r=>e[r%e.length]).join("")},Yq=t=>{const{value:e,onChange:n,disabled:r}=t,[o,i]=y.useState(e||""),[s,a]=y.useState(!1);y.useEffect(()=>{e!==void 0&&e!==o&&i(e)},[e,o]);const l=()=>{const f=Kq();i(f),a(!0),n==null||n(f)},c=()=>{if(!o){l();return}D.Modal.confirm({title:K("common.info"),content:K("components.authTokenField.regenerateConfirm"),okText:K("app.common.word.confirm"),cancelText:K("app.common.word.cancel"),onOk:l})},u=async()=>{if(!o){D.message.warning(K("components.authTokenField.emptyTokenWarning"));return}try{await navigator.clipboard.writeText(o),D.message.success(K("components.authTokenField.copySuccess"))}catch{D.message.error(K("components.authTokenField.copyFailed"))}},d=()=>{a(f=>!f)};return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[h.jsx(D.Input,{style:{flex:1},value:o,readOnly:!0,type:s?"text":"password",placeholder:K("components.authTokenField.placeholder")}),h.jsx(D.Tooltip,{title:K("components.authTokenField.copy"),children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:u,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(s?"components.authTokenField.hideToken":"components.authTokenField.showToken"),children:h.jsx(D.Button,{icon:s?h.jsx(se.EyeInvisibleOutlined,{}):h.jsx(se.EyeOutlined,{}),onClick:d,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(o?"components.authTokenField.regenerate":"components.authTokenField.generate"),children:h.jsx(D.Button,{icon:h.jsx(se.SyncOutlined,{}),onClick:c,disabled:r,type:"primary",ghost:!0})})]})},KA=10,Xq=["OAUTH","OAUTH2","OIDC"],Jq=t=>{const e=new Set([...t.support_protocol??[],...t.auth_protocol?[t.auth_protocol]:[]]);return Array.from(e).some(n=>Xq.includes(n))},Qq=t=>{const{value:e,onChange:n,disabled:r}=t,o=Sl(),[i,s]=y.useState([]),[a,l]=y.useState(!1),[c,u]=y.useState(!1),[d,f]=y.useState(""),[p,m]=y.useState(1),[v,b]=y.useState(!1),w=y.useRef(0),g=y.useMemo(()=>`${window.location.origin}/iam/token`,[]),C=async(O=1,A=!1,T="")=>{const B=w.current+1;w.current=B,A?u(!0):l(!0);try{const I=await Ry({current:O,pageSize:KA},{filter:T});if(w.current!==B)return;const F=(I.items??[]).filter(Jq),P=(A?[...i,...F]:F).filter((M,z,H)=>H.findIndex(R=>R.client_id===M.client_id)===z);s(P),m(O),b((I.total??0)>O*KA)}catch{w.current===B&&D.message.error(K("components.selectOAuth2ClientField.fetchFailed"))}finally{w.current===B&&(l(!1),u(!1))}};let k=null;y.useEffect(()=>{k&&(clearTimeout(k),k=null),k=window.setTimeout(()=>{C(1,!1,d.trim())},300)},[d]);const _=async()=>{!v||a||c||await C(p+1,!0,d.trim())},S=async()=>{try{await navigator.clipboard.writeText(g),D.message.success(K("components.selectOAuth2ClientField.copySuccess"))}catch{D.message.error(K("components.selectOAuth2ClientField.copyFailed"))}},E=()=>{o("/apps/manage",!0)},x=()=>{o("https://1in15q85qd.apifox.cn/8698545m0",!0)};return h.jsxs(D.Space,{direction:"vertical",size:12,style:{width:"100%"},children:[h.jsxs("div",{children:[h.jsx(D.Select,{value:e,onChange:n,disabled:r,loading:a,showSearch:!0,filterOption:!1,optionLabelProp:"label",placeholder:K("components.selectOAuth2ClientField.placeholder"),onSearch:f,notFoundContent:a?h.jsx(D.Spin,{size:"small"}):null,getPopupContainer:O=>O.parentNode,popupRender:O=>h.jsxs("div",{children:[O,!a&&i.length===0?h.jsx("div",{style:{padding:"16px 12px"},children:h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:h.jsxs(D.Space,{direction:"vertical",size:4,children:[h.jsx(D.Typography.Text,{type:"secondary",children:K("components.selectOAuth2ClientField.emptyTitle")}),h.jsx(D.Typography.Text,{type:"secondary",style:{fontSize:12},children:K("components.selectOAuth2ClientField.emptyDescription")})]}),children:h.jsx(D.Button,{type:"primary",ghost:!0,icon:h.jsx(se.LinkOutlined,{}),onClick:E,children:K("components.selectOAuth2ClientField.goToAppManage")})})}):null,i.length>0?h.jsx("div",{style:{padding:"8px 12px",textAlign:"center",borderTop:"1px solid #f0f0f0"},children:h.jsx(D.Button,{type:"link",icon:h.jsx(se.ReloadOutlined,{}),onClick:_,loading:c,disabled:!v,children:K(v?"components.selectOAuth2ClientField.loadMore":"components.selectOAuth2ClientField.loadedAll")})}):null]}),options:i.map(O=>({label:O.client_name,value:O.client_id}))}),h.jsxs(D.Typography.Text,{type:"secondary",style:{display:"block",marginTop:8,fontSize:12},children:[K("components.selectOAuth2ClientField.selectDescriptionPrefix"),h.jsx(D.Button,{style:{padding:0},type:"link",onClick:E,children:K("components.selectOAuth2ClientField.goToAppManage")}),K("components.selectOAuth2ClientField.selectDescriptionSuffix")]})]}),h.jsxs("div",{children:[h.jsx(D.Typography.Text,{strong:!0,style:{display:"block",marginBottom:8},children:K("components.selectOAuth2ClientField.tokenEndpoint")}),h.jsxs(D.Space.Compact,{block:!0,className:"workflow-oauth-token-endpoint",children:[h.jsx(D.Input,{value:g,readOnly:!0}),h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:S,disabled:r,children:K("components.selectOAuth2ClientField.copy")})]}),h.jsxs(D.Typography.Text,{type:"secondary",style:{display:"block",marginTop:8,fontSize:12},children:[K("components.selectOAuth2ClientField.tokenDescriptionPrefix"),h.jsx(D.Button,{style:{padding:0},type:"link",onClick:x,children:K("components.selectOAuth2ClientField.documentation")})]})]})]})},Zq=({children:t,value:e,onChange:n})=>{const[r,o]=y.useState(e==="{{$fromAI}}"),i=()=>{const a=!r;o(a),a?n==null||n("{{$fromAI}}"):n==null||n("")},s=()=>r?h.jsxs("div",{style:{position:"relative"},children:[h.jsx(D.Input,{value:"由AI生成 ",readOnly:!0,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"1px solid transparent",borderImage:"linear-gradient(45deg, #00d4ff, #9b59b6, #e74c3c) 1",color:"#ffffff",fontWeight:"500",textShadow:"0 1px 2px rgba(0,0,0,0.3)",borderRadius:"6px",fontSize:"13px",paddingLeft:"32px",paddingRight:"28px",height:"32px",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)"},prefix:h.jsx("div",{style:{background:"linear-gradient(45deg, #00d4ff, #1e3c72)",borderRadius:"50%",width:"16px",height:"16px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:"4px",animation:"pulse 2s ease-in-out infinite alternate"},children:h.jsx("span",{style:{color:"#fff",fontSize:"8px"},children:"AI"})}),suffix:h.jsx(D.Button,{type:"text",size:"small",onClick:i,style:{color:"#ffffff",border:"none",background:"rgba(255,255,255,0.2)",borderRadius:"50%",width:"18px",height:"18px",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease",minWidth:"18px",padding:0},onMouseEnter:a=>{a.currentTarget.style.background="rgba(255,255,255,0.3)",a.currentTarget.style.transform="scale(1.1)"},onMouseLeave:a=>{a.currentTarget.style.background="rgba(255,255,255,0.2)",a.currentTarget.style.transform="scale(1)"},children:h.jsx(se.CloseOutlined,{style:{fontSize:"10px"}})})}),h.jsx("style",{children:`
112
+ */const DW=Io("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),_W=/\{\{.*\}\}/;function G_(t){return typeof t=="string"&&_W.test(t)?"expression":"normal"}const R_=({field:t,disabled:e,readOnly:n,context:r})=>{const{renderVariableTag:o,renderVariableTooltip:i,validateVariable:s}=r,a=AW(t),l=t.keyPlaceholder||"Key",c=t.valuePlaceholder||"Value",u=0;return h.jsx(D.Form.List,{name:t.name,rules:a,children:(d,{add:f,remove:p},{errors:m})=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[d.map(v=>h.jsx(K_,{field:t,listField:v,disabled:e,readOnly:n,canRemove:!(e||t.minItems!==void 0&&d.length<=t.minItems),keyPlaceholder:l,valuePlaceholder:c,valueModeSwitchOffset:u,onRemove:p,validateVariable:s,renderVariableTag:o,renderVariableTooltip:i},v.key)),h.jsx(D.Button,{block:!0,icon:h.jsx(br,{size:16}),onClick:()=>f(),disabled:e||t.maxItems!==void 0&&d.length>=t.maxItems,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})}),h.jsx(D.Form.ErrorList,{errors:m})]})})};R_.displayName="KeyValueFieldControl";const K_=({field:t,listField:e,disabled:n,readOnly:r,canRemove:o,keyPlaceholder:i,valuePlaceholder:s,valueModeSwitchOffset:a,onRemove:l,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d})=>{const f=t.valueModePolicy,p=D.Form.useFormInstance(),[m,v]=y.useState(()=>{if(f){if(f==="BOTH"||f==="EXPRESSION")return"expression";if(f==="TEXT")return"normal"}const w=p.getFieldValue([t.name,e.name]),g=G_(w==null?void 0:w.key);return g==="expression"?g:G_(w==null?void 0:w.value)}),b=f==="TEXT"?["normal"]:["normal","expression"];return h.jsxs("div",{style:{display:"flex",alignItems:"flex-start",gap:8},children:[h.jsx(D.Form.Item,{style:{flex:1,marginBottom:0,marginTop:a},name:[e.name,"key"],rules:[{required:!0,message:"请输入Key"}],children:h.jsx(ki,{availableModes:b,mode:m,hideModeSwitch:!0,disabled:n,readOnly:r,placeholder:i,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d})}),h.jsx(D.Form.Item,{style:{flex:1,marginBottom:0},name:[e.name,"value"],children:h.jsx(ki,{availableModes:b,mode:m,onModeChange:v,disabled:n,readOnly:r,placeholder:s,validateVariable:c,renderVariableTag:u,renderVariableTooltip:d,modeSwitchPosition:"top-right",compact:!0})}),h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>l(e.name),disabled:!o})]})};K_.displayName="KeyValueRow";function AW(t){var n;const e=[];if((n=t.rules)!=null&&n.some(r=>r.type==="required")){const r=t.rules.find(o=>o.type==="required");e.push({validator:async(o,i)=>{if(!i||i.length===0)throw new Error((r==null?void 0:r.message)||"此项为必填")}})}if(t.minItems!==void 0){const r=t.minItems;e.push({validator:async(o,i)=>{if(r&&(!i||i.length<r))throw new Error(`至少需要 ${r} 项`)}})}if(t.maxItems!==void 0){const r=t.maxItems;e.push({validator:async(o,i)=>{if(i&&i.length>r)throw new Error(`最多允许 ${r} 项`)}})}return e}const OW=Mo(R_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1});function TW(t){if(!t||typeof t!="object")return!1;const e=t;return typeof e.name=="string"&&e.name.trim()!==""&&typeof e.type=="string"}function NW(t){return!t||typeof t!="object"||Array.isArray(t)?[]:Object.values(t).filter(TW)}const Y_=({field:t,disabled:e,readOnly:n,context:r})=>{const o=D.Form.useFormInstance(),s=BW(t.name),[a,l]=vt.useState(null);vt.useEffect(()=>{Promise.resolve().then(()=>MU).then(g=>{l(()=>g.FieldRenderer)})},[]);const{renderVariableTag:c,renderVariableTooltip:u,validateVariable:d,values:f,optionsLoader:p}=r,m=vt.useMemo(()=>NW(t.properties),[t.properties]),v=o.getFieldValue(s)??qn(f,s.join("."))??{},b=h.jsx(D.Space,{direction:"vertical",style:{width:"100%"},children:m.map(g=>{const C=qg(g,t.valueModePolicy),k=[...s,g.name];return yl(C,v)&&a?h.jsx(a,{field:{...C,name:k},values:f,optionsLoader:p,disabled:e,renderVariableTag:c,renderVariableTooltip:u,validateVariable:d},k.join(".")):null})}),w=h.jsx(Gg,{policy:t.valueModePolicy,disabled:e,readOnly:n,children:b});return t.collapsible?h.jsx(D.Collapse,{defaultActiveKey:t.defaultCollapsed?[]:["main"],items:[{key:"main",label:t.label||t.name,children:w}]}):h.jsx(D.Card,{size:"small",title:t.label,children:w})};Y_.displayName="ObjectFieldControl";function BW(t){return Array.isArray(t)?t:[t]}const FW=Mo(Y_,{isComplexField:!0,supportsVariableInsert:!0,needsFormItemName:!1});var Td={exports:{}},MW=Td.exports,X_;function IW(){return X_||(X_=1,(function(t,e){(function(n,r){t.exports=r()})(MW,(function(){var n=1e3,r=6e4,o=36e5,i="millisecond",s="second",a="minute",l="hour",c="day",u="week",d="month",f="quarter",p="year",m="date",v="Invalid Date",b=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,w=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(F){var N=["th","st","nd","rd"],P=F%100;return"["+F+(N[(P-20)%10]||N[P]||N[0])+"]"}},C=function(F,N,P){var M=String(F);return!M||M.length>=N?F:""+Array(N+1-M.length).join(P)+F},k={s:C,z:function(F){var N=-F.utcOffset(),P=Math.abs(N),M=Math.floor(P/60),z=P%60;return(N<=0?"+":"-")+C(M,2,"0")+":"+C(z,2,"0")},m:function F(N,P){if(N.date()<P.date())return-F(P,N);var M=12*(P.year()-N.year())+(P.month()-N.month()),z=N.clone().add(M,d),H=P-z<0,R=N.clone().add(M+(H?-1:1),d);return+(-(M+(P-z)/(H?z-R:R-z))||0)},a:function(F){return F<0?Math.ceil(F)||0:Math.floor(F)},p:function(F){return{M:d,y:p,w:u,d:c,D:m,h:l,m:a,s,ms:i,Q:f}[F]||String(F||"").toLowerCase().replace(/s$/,"")},u:function(F){return F===void 0}},_="en",S={};S[_]=g;var E="$isDayjsObject",x=function(F){return F instanceof B||!(!F||!F[E])},O=function F(N,P,M){var z;if(!N)return _;if(typeof N=="string"){var H=N.toLowerCase();S[H]&&(z=H),P&&(S[H]=P,z=H);var R=N.split("-");if(!z&&R.length>1)return F(R[0])}else{var Y=N.name;S[Y]=N,z=Y}return!M&&z&&(_=z),z||!M&&_},A=function(F,N){if(x(F))return F.clone();var P=typeof N=="object"?N:{};return P.date=F,P.args=arguments,new B(P)},T=k;T.l=O,T.i=x,T.w=function(F,N){return A(F,{locale:N.$L,utc:N.$u,x:N.$x,$offset:N.$offset})};var B=(function(){function F(P){this.$L=O(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[E]=!0}var N=F.prototype;return N.parse=function(P){this.$d=(function(M){var z=M.date,H=M.utc;if(z===null)return new Date(NaN);if(T.u(z))return new Date;if(z instanceof Date)return new Date(z);if(typeof z=="string"&&!/Z$/i.test(z)){var R=z.match(b);if(R){var Y=R[2]-1||0,te=(R[7]||"0").substring(0,3);return H?new Date(Date.UTC(R[1],Y,R[3]||1,R[4]||0,R[5]||0,R[6]||0,te)):new Date(R[1],Y,R[3]||1,R[4]||0,R[5]||0,R[6]||0,te)}}return new Date(z)})(P),this.init()},N.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},N.$utils=function(){return T},N.isValid=function(){return this.$d.toString()!==v},N.isSame=function(P,M){var z=A(P);return this.startOf(M)<=z&&z<=this.endOf(M)},N.isAfter=function(P,M){return A(P)<this.startOf(M)},N.isBefore=function(P,M){return this.endOf(M)<A(P)},N.$g=function(P,M,z){return T.u(P)?this[M]:this.set(z,P)},N.unix=function(){return Math.floor(this.valueOf()/1e3)},N.valueOf=function(){return this.$d.getTime()},N.startOf=function(P,M){var z=this,H=!!T.u(M)||M,R=T.p(P),Y=function(W,X){var q=T.w(z.$u?Date.UTC(z.$y,X,W):new Date(z.$y,X,W),z);return H?q:q.endOf(c)},te=function(W,X){return T.w(z.toDate()[W].apply(z.toDate("s"),(H?[0,0,0,0]:[23,59,59,999]).slice(X)),z)},$=this.$W,j=this.$M,U=this.$D,ee="set"+(this.$u?"UTC":"");switch(R){case p:return H?Y(1,0):Y(31,11);case d:return H?Y(1,j):Y(0,j+1);case u:var ie=this.$locale().weekStart||0,be=($<ie?$+7:$)-ie;return Y(H?U-be:U+(6-be),j);case c:case m:return te(ee+"Hours",0);case l:return te(ee+"Minutes",1);case a:return te(ee+"Seconds",2);case s:return te(ee+"Milliseconds",3);default:return this.clone()}},N.endOf=function(P){return this.startOf(P,!1)},N.$set=function(P,M){var z,H=T.p(P),R="set"+(this.$u?"UTC":""),Y=(z={},z[c]=R+"Date",z[m]=R+"Date",z[d]=R+"Month",z[p]=R+"FullYear",z[l]=R+"Hours",z[a]=R+"Minutes",z[s]=R+"Seconds",z[i]=R+"Milliseconds",z)[H],te=H===c?this.$D+(M-this.$W):M;if(H===d||H===p){var $=this.clone().set(m,1);$.$d[Y](te),$.init(),this.$d=$.set(m,Math.min(this.$D,$.daysInMonth())).$d}else Y&&this.$d[Y](te);return this.init(),this},N.set=function(P,M){return this.clone().$set(P,M)},N.get=function(P){return this[T.p(P)]()},N.add=function(P,M){var z,H=this;P=Number(P);var R=T.p(M),Y=function(j){var U=A(H);return T.w(U.date(U.date()+Math.round(j*P)),H)};if(R===d)return this.set(d,this.$M+P);if(R===p)return this.set(p,this.$y+P);if(R===c)return Y(1);if(R===u)return Y(7);var te=(z={},z[a]=r,z[l]=o,z[s]=n,z)[R]||1,$=this.$d.getTime()+P*te;return T.w($,this)},N.subtract=function(P,M){return this.add(-1*P,M)},N.format=function(P){var M=this,z=this.$locale();if(!this.isValid())return z.invalidDate||v;var H=P||"YYYY-MM-DDTHH:mm:ssZ",R=T.z(this),Y=this.$H,te=this.$m,$=this.$M,j=z.weekdays,U=z.months,ee=z.meridiem,ie=function(X,q,J,re){return X&&(X[q]||X(M,H))||J[q].slice(0,re)},be=function(X){return T.s(Y%12||12,X,"0")},W=ee||function(X,q,J){var re=X<12?"AM":"PM";return J?re.toLowerCase():re};return H.replace(w,(function(X,q){return q||(function(J){switch(J){case"YY":return String(M.$y).slice(-2);case"YYYY":return T.s(M.$y,4,"0");case"M":return $+1;case"MM":return T.s($+1,2,"0");case"MMM":return ie(z.monthsShort,$,U,3);case"MMMM":return ie(U,$);case"D":return M.$D;case"DD":return T.s(M.$D,2,"0");case"d":return String(M.$W);case"dd":return ie(z.weekdaysMin,M.$W,j,2);case"ddd":return ie(z.weekdaysShort,M.$W,j,3);case"dddd":return j[M.$W];case"H":return String(Y);case"HH":return T.s(Y,2,"0");case"h":return be(1);case"hh":return be(2);case"a":return W(Y,te,!0);case"A":return W(Y,te,!1);case"m":return String(te);case"mm":return T.s(te,2,"0");case"s":return String(M.$s);case"ss":return T.s(M.$s,2,"0");case"SSS":return T.s(M.$ms,3,"0");case"Z":return R}return null})(X)||R.replace(":","")}))},N.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},N.diff=function(P,M,z){var H,R=this,Y=T.p(M),te=A(P),$=(te.utcOffset()-this.utcOffset())*r,j=this-te,U=function(){return T.m(R,te)};switch(Y){case p:H=U()/12;break;case d:H=U();break;case f:H=U()/3;break;case u:H=(j-$)/6048e5;break;case c:H=(j-$)/864e5;break;case l:H=j/o;break;case a:H=j/r;break;case s:H=j/n;break;default:H=j}return z?H:T.a(H)},N.daysInMonth=function(){return this.endOf(d).$D},N.$locale=function(){return S[this.$L]},N.locale=function(P,M){if(!P)return this.$L;var z=this.clone(),H=O(P,M,!0);return H&&(z.$L=H),z},N.clone=function(){return T.w(this.$d,this)},N.toDate=function(){return new Date(this.valueOf())},N.toJSON=function(){return this.isValid()?this.toISOString():null},N.toISOString=function(){return this.$d.toISOString()},N.toString=function(){return this.$d.toUTCString()},F})(),I=B.prototype;return A.prototype=I,[["$ms",i],["$s",s],["$m",a],["$H",l],["$W",c],["$M",d],["$y",p],["$D",m]].forEach((function(F){I[F[1]]=function(N){return this.$g(N,F[0],F[1])}})),A.extend=function(F,N){return F.$i||(F(N,B,A),F.$i=!0),A},A.locale=O,A.isDayjs=x,A.unix=function(F){return A(1e3*F)},A.en=S[_],A.Ls=S,A.p={},A}))})(Td)),Td.exports}var PW=IW();const jt=Un(PW);var Nd={exports:{}},LW=Nd.exports,J_;function $W(){return J_||(J_=1,(function(t,e){(function(n,r){t.exports=r()})(LW,(function(){return function(n,r){var o=r.prototype,i=o.format;o.format=function(s){var a=this,l=this.$locale();if(!this.isValid())return i.bind(this)(s);var c=this.$utils(),u=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(d){switch(d){case"Q":return Math.ceil((a.$M+1)/3);case"Do":return l.ordinal(a.$D);case"gggg":return a.weekYear();case"GGGG":return a.isoWeekYear();case"wo":return l.ordinal(a.week(),"W");case"w":case"ww":return c.s(a.week(),d==="w"?1:2,"0");case"W":case"WW":return c.s(a.isoWeek(),d==="W"?1:2,"0");case"k":case"kk":return c.s(String(a.$H===0?24:a.$H),d==="k"?1:2,"0");case"X":return Math.floor(a.$d.getTime()/1e3);case"x":return a.$d.getTime();case"z":return"["+a.offsetName()+"]";case"zzz":return"["+a.offsetName("long")+"]";default:return d}}));return i.bind(this)(u)}}}))})(Nd)),Nd.exports}var zW=$W();const HW=Un(zW);var Bd={exports:{}},VW=Bd.exports,Q_;function jW(){return Q_||(Q_=1,(function(t,e){(function(n,r){t.exports=r()})(VW,(function(){var n={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},r=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,o=/\d/,i=/\d\d/,s=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,l={},c=function(b){return(b=+b)+(b>68?1900:2e3)},u=function(b){return function(w){this[b]=+w}},d=[/[+-]\d\d:?(\d\d)?|Z/,function(b){(this.zone||(this.zone={})).offset=(function(w){if(!w||w==="Z")return 0;var g=w.match(/([+-]|\d\d)/g),C=60*g[1]+(+g[2]||0);return C===0?0:g[0]==="+"?-C:C})(b)}],f=function(b){var w=l[b];return w&&(w.indexOf?w:w.s.concat(w.f))},p=function(b,w){var g,C=l.meridiem;if(C){for(var k=1;k<=24;k+=1)if(b.indexOf(C(k,0,w))>-1){g=k>12;break}}else g=b===(w?"pm":"PM");return g},m={A:[a,function(b){this.afternoon=p(b,!1)}],a:[a,function(b){this.afternoon=p(b,!0)}],Q:[o,function(b){this.month=3*(b-1)+1}],S:[o,function(b){this.milliseconds=100*+b}],SS:[i,function(b){this.milliseconds=10*+b}],SSS:[/\d{3}/,function(b){this.milliseconds=+b}],s:[s,u("seconds")],ss:[s,u("seconds")],m:[s,u("minutes")],mm:[s,u("minutes")],H:[s,u("hours")],h:[s,u("hours")],HH:[s,u("hours")],hh:[s,u("hours")],D:[s,u("day")],DD:[i,u("day")],Do:[a,function(b){var w=l.ordinal,g=b.match(/\d+/);if(this.day=g[0],w)for(var C=1;C<=31;C+=1)w(C).replace(/\[|\]/g,"")===b&&(this.day=C)}],w:[s,u("week")],ww:[i,u("week")],M:[s,u("month")],MM:[i,u("month")],MMM:[a,function(b){var w=f("months"),g=(f("monthsShort")||w.map((function(C){return C.slice(0,3)}))).indexOf(b)+1;if(g<1)throw new Error;this.month=g%12||g}],MMMM:[a,function(b){var w=f("months").indexOf(b)+1;if(w<1)throw new Error;this.month=w%12||w}],Y:[/[+-]?\d+/,u("year")],YY:[i,function(b){this.year=c(b)}],YYYY:[/\d{4}/,u("year")],Z:d,ZZ:d};function v(b){var w,g;w=b,g=l&&l.formats;for(var C=(b=w.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,T,B){var I=B&&B.toUpperCase();return T||g[B]||n[B]||g[I].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(F,N,P){return N||P.slice(1)}))}))).match(r),k=C.length,_=0;_<k;_+=1){var S=C[_],E=m[S],x=E&&E[0],O=E&&E[1];C[_]=O?{regex:x,parser:O}:S.replace(/^\[|\]$/g,"")}return function(A){for(var T={},B=0,I=0;B<k;B+=1){var F=C[B];if(typeof F=="string")I+=F.length;else{var N=F.regex,P=F.parser,M=A.slice(I),z=N.exec(M)[0];P.call(T,z),A=A.replace(z,"")}}return(function(H){var R=H.afternoon;if(R!==void 0){var Y=H.hours;R?Y<12&&(H.hours+=12):Y===12&&(H.hours=0),delete H.afternoon}})(T),T}}return function(b,w,g){g.p.customParseFormat=!0,b&&b.parseTwoDigitYear&&(c=b.parseTwoDigitYear);var C=w.prototype,k=C.parse;C.parse=function(_){var S=_.date,E=_.utc,x=_.args;this.$u=E;var O=x[1];if(typeof O=="string"){var A=x[2]===!0,T=x[3]===!0,B=A||T,I=x[2];T&&(I=x[2]),l=this.$locale(),!A&&I&&(l=g.Ls[I]),this.$d=(function(M,z,H,R){try{if(["x","X"].indexOf(z)>-1)return new Date((z==="X"?1e3:1)*M);var Y=v(z)(M),te=Y.year,$=Y.month,j=Y.day,U=Y.hours,ee=Y.minutes,ie=Y.seconds,be=Y.milliseconds,W=Y.zone,X=Y.week,q=new Date,J=j||(te||$?1:q.getDate()),re=te||q.getFullYear(),Z=0;te&&!$||(Z=$>0?$-1:q.getMonth());var ue,ve=U||0,we=ee||0,fe=ie||0,le=be||0;return W?new Date(Date.UTC(re,Z,J,ve,we,fe,le+60*W.offset*1e3)):H?new Date(Date.UTC(re,Z,J,ve,we,fe,le)):(ue=new Date(re,Z,J,ve,we,fe,le),X&&(ue=R(ue).week(X).toDate()),ue)}catch{return new Date("")}})(S,O,E,g),this.init(),I&&I!==!0&&(this.$L=this.locale(I).$L),B&&S!=this.format(O)&&(this.$d=new Date("")),l={}}else if(O instanceof Array)for(var F=O.length,N=1;N<=F;N+=1){x[1]=O[N-1];var P=g.apply(this,x);if(P.isValid()){this.$d=P.$d,this.$L=P.$L,this.init();break}N===F&&(this.$d=new Date(""))}else k.call(this,_)}}}))})(Bd)),Bd.exports}var WW=jW();const UW=Un(WW);var Fd={exports:{}},qW=Fd.exports,Z_;function GW(){return Z_||(Z_=1,(function(t,e){(function(n,r){t.exports=r()})(qW,(function(){return function(n,r,o){var i=r.prototype,s=function(d){return d&&(d.indexOf?d:d.s)},a=function(d,f,p,m,v){var b=d.name?d:d.$locale(),w=s(b[f]),g=s(b[p]),C=w||g.map((function(_){return _.slice(0,m)}));if(!v)return C;var k=b.weekStart;return C.map((function(_,S){return C[(S+(k||0))%7]}))},l=function(){return o.Ls[o.locale()]},c=function(d,f){return d.formats[f]||(function(p){return p.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(m,v,b){return v||b.slice(1)}))})(d.formats[f.toUpperCase()])},u=function(){var d=this;return{months:function(f){return f?f.format("MMMM"):a(d,"months")},monthsShort:function(f){return f?f.format("MMM"):a(d,"monthsShort","months",3)},firstDayOfWeek:function(){return d.$locale().weekStart||0},weekdays:function(f){return f?f.format("dddd"):a(d,"weekdays")},weekdaysMin:function(f){return f?f.format("dd"):a(d,"weekdaysMin","weekdays",2)},weekdaysShort:function(f){return f?f.format("ddd"):a(d,"weekdaysShort","weekdays",3)},longDateFormat:function(f){return c(d.$locale(),f)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};i.localeData=function(){return u.bind(this)()},o.localeData=function(){var d=l();return{firstDayOfWeek:function(){return d.weekStart||0},weekdays:function(){return o.weekdays()},weekdaysShort:function(){return o.weekdaysShort()},weekdaysMin:function(){return o.weekdaysMin()},months:function(){return o.months()},monthsShort:function(){return o.monthsShort()},longDateFormat:function(f){return c(d,f)},meridiem:d.meridiem,ordinal:d.ordinal}},o.months=function(){return a(l(),"months")},o.monthsShort=function(){return a(l(),"monthsShort","months",3)},o.weekdays=function(d){return a(l(),"weekdays",null,null,d)},o.weekdaysShort=function(d){return a(l(),"weekdaysShort","weekdays",3,d)},o.weekdaysMin=function(d){return a(l(),"weekdaysMin","weekdays",2,d)}}}))})(Fd)),Fd.exports}var RW=GW();const KW=Un(RW);var Md={exports:{}},YW=Md.exports,eA;function XW(){return eA||(eA=1,(function(t,e){(function(n,r){t.exports=r()})(YW,(function(){return function(n,r){r.prototype.weekday=function(o){var i=this.$locale().weekStart||0,s=this.$W,a=(s<i?s+7:s)-i;return this.$utils().u(o)?a:this.subtract(a,"day").add(o,"day")}}}))})(Md)),Md.exports}var JW=XW();const QW=Un(JW);var Id={exports:{}},ZW=Id.exports,tA;function eU(){return tA||(tA=1,(function(t,e){(function(n,r){t.exports=r()})(ZW,(function(){var n="week",r="year";return function(o,i,s){var a=i.prototype;a.week=function(l){if(l===void 0&&(l=null),l!==null)return this.add(7*(l-this.week()),"day");var c=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var u=s(this).startOf(r).add(1,r).date(c),d=s(this).endOf(n);if(u.isBefore(d))return 1}var f=s(this).startOf(r).date(c).startOf(n).subtract(1,"millisecond"),p=this.diff(f,n,!0);return p<0?s(this).startOf("week").week():Math.ceil(p)},a.weeks=function(l){return l===void 0&&(l=null),this.week(l)}}}))})(Id)),Id.exports}var tU=eU();const nU=Un(tU);var Pd={exports:{}},rU=Pd.exports,nA;function oU(){return nA||(nA=1,(function(t,e){(function(n,r){t.exports=r()})(rU,(function(){return function(n,r){r.prototype.weekYear=function(){var o=this.month(),i=this.week(),s=this.year();return i===1&&o===11?s+1:o===0&&i>=52?s-1:s}}}))})(Pd)),Pd.exports}var iU=oU();const sU=Un(iU);jt.extend(UW),jt.extend(HW),jt.extend(QW),jt.extend(KW),jt.extend(nU),jt.extend(sU);function Cl(t,e){if(t==null||t==="")return null;if(jt.isDayjs(t))return t.isValid()?t:null;const n=e?jt(t,e):jt(t);if(n.isValid())return n;const r=jt(t);return r.isValid()?r:null}function rA(t,e){if(!Array.isArray(t))return null;const n=Cl(t[0],e),r=Cl(t[1],e);return n||r?[n,r]:null}function kl(t,e,n){if(t)return e==="timestamp"?t.valueOf():e==="string"?t.format(n):t}function oA(t,e,n){if(t)return[kl(t[0],e,n),kl(t[1],e,n)]}const aU="YYYY-MM-DD",iA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||aU,s=Cl(n,i);return h.jsx(D.DatePicker,{disabled:e,placeholder:t.placeholder,picker:t.picker,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};iA.displayName="DateFieldControl";const lU=dt(iA,{needsFormItemName:!0}),cU="YYYY-MM-DD",sA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||cU,s=rA(n,i);return h.jsx(D.DatePicker.RangePicker,{disabled:e,picker:t.picker,showTime:t.showTime,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(oA(a,t.outputFormat,i)),id:o})};sA.displayName="DateRangeFieldControl";const uU=dt(sA,{needsFormItemName:!0}),dU="YYYY-MM-DD HH:mm:ss",aA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||dU,s=Cl(n,i);return h.jsx(D.DatePicker,{disabled:e,placeholder:t.placeholder,showTime:t.showTime??!0,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};aA.displayName="DateTimeFieldControl";const fU=dt(aA,{needsFormItemName:!0}),hU="HH:mm:ss",lA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||hU,s=Cl(n,i);return h.jsx(D.TimePicker,{disabled:e,placeholder:t.placeholder,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(kl(a,t.outputFormat,i)),id:o})};lA.displayName="TimeFieldControl";const pU=dt(lA,{needsFormItemName:!0}),mU="HH:mm:ss",cA=({field:t,disabled:e,value:n,onChange:r,id:o})=>{const i=t.format||mU,s=rA(n,i);return h.jsx(D.TimePicker.RangePicker,{disabled:e,format:i,style:{width:"100%"},value:s,onChange:a=>r==null?void 0:r(oA(a,t.outputFormat,i)),id:o})};cA.displayName="TimeRangeFieldControl";const gU=dt(cA,{needsFormItemName:!0}),uA=({field:t})=>h.jsx(D.Divider,{children:t.label});uA.displayName="DividerFieldControl";const wU=Mo(uA,{isDisplayOnly:!0,needsFormItemName:!1}),dA=({value:t,onChange:e,id:n})=>h.jsx(D.Input,{type:"hidden",value:t,onChange:r=>e==null?void 0:e(r.target.value),id:n});dA.displayName="HiddenFieldControl";const bU=Mo(dA,{needsFormItemName:!0,isHidden:!0}),fA=({field:t})=>h.jsx(D.Alert,{message:t.label,description:t.description||t.placeholder,type:t.status||"info",showIcon:t.showIcon,closable:t.closable});fA.displayName="InfoCardFieldControl";const vU=Mo(fA,{isDisplayOnly:!0,needsFormItemName:!1}),hA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Input.TextArea,{disabled:e,placeholder:t.placeholder,rows:6,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});hA.displayName="JsonFieldControl";const yU=dt(hA,{needsFormItemName:!0}),pA=({field:t,value:e})=>h.jsx("span",{children:e||t.placeholder||t.defaultValue});pA.displayName="LabelFieldControl";const CU=dt(pA,{needsFormItemName:!0}),mA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Cascader,{disabled:e,placeholder:t.placeholder,options:t.options,changeOnSelect:t.changeOnSelect,multiple:t.multiple||void 0,showSearch:t.showSearch,value:n,onChange:(i,s)=>r==null?void 0:r(i),id:o});mA.displayName="CascaderFieldControl";const kU=dt(mA,{needsFormItemName:!0}),gA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Checkbox,{disabled:e,checked:n,onChange:i=>r==null?void 0:r(i.target.checked),id:o,children:t.placeholder});gA.displayName="CheckboxFieldControl";const SU=dt(gA,{needsFormItemName:!0,valuePropName:"checked"}),wA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Checkbox.Group,{disabled:e,options:t.options,value:n,onChange:i=>r==null?void 0:r(i)});wA.displayName="CheckboxGroupFieldControl";const EU=dt(wA,{needsFormItemName:!0}),bA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Radio.Group,{disabled:e,options:t.options,optionType:t.optionType,buttonStyle:t.buttonStyle,value:n,onChange:i=>r==null?void 0:r(i.target.value),id:o});bA.displayName="RadioFieldControl";const xU=dt(bA,{needsFormItemName:!0}),vA=({field:t,disabled:e,context:n,value:r,onChange:o,id:i})=>{const{values:s,optionsLoader:a}=n,[l,c]=y.useState(yA(t)),[u,d]=y.useState(!1),f=t.type===ge.MULTI_SELECT||t.mode==="multiple",p=w=>!w||w.kind==="static"?[]:w.deps||[],m=y.useMemo(()=>{const g=p(t.optionsSource).map(C=>qn(s,C));return JSON.stringify(g)},[t.optionsSource,s]);y.useEffect(()=>{if(!t.optionsSource||t.optionsSource.kind==="static"){c(yA(t));return}const w=t.optionsSource;if(!a){c(w.fallbackOptions||t.options||[]);return}const C=p(w).reduce((S,E)=>(S[E]=qn(s,E),S),{}),k={...w.params||{},deps:C};d(!0);let _=!1;return a(w.action,k,{values:s}).then(S=>{_||c(S)}).catch(()=>{_||c(w.fallbackOptions||t.options||[])}).finally(()=>{_||d(!1)}),()=>{_=!0}},[m,t.optionsSource,t.options]);const v=()=>{var w;(w=n.eventHandlers)==null||w.onBlur(t.name)},b=()=>{var w;(w=n.eventHandlers)==null||w.onFocus(t.name)};return h.jsx(D.Select,{disabled:e,placeholder:t.placeholder,options:l,mode:f?"multiple":t.mode,showSearch:t.showSearch,allowClear:t.allowClear,maxTagCount:t.maxTagCount,loading:u,value:r,onChange:o,onBlur:v,onFocus:b,id:i})};vA.displayName="SelectFieldControl";function yA(t){var n;if((n=t.options)!=null&&n.length)return t.options;const e=t.optionsSource;return e?e.kind==="static"?e.items||[]:e.fallbackOptions||[]:[]}const CA=dt(vA,{supportsVariableInsert:!1,needsFormItemName:!0}),kA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Switch,{disabled:e,checkedChildren:t.checkedChildren,unCheckedChildren:t.unCheckedChildren,checked:n,onChange:r,id:o});kA.displayName="SwitchFieldControl";const DU=dt(kA,{needsFormItemName:!0,valuePropName:"checked"}),SA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.TreeSelect,{disabled:e,placeholder:t.placeholder,treeData:t.options,multiple:t.multiple,showSearch:t.showSearch,allowClear:t.allowClear,treeCheckable:t.treeCheckable,value:n,onChange:r,id:o});SA.displayName="TreeSelectFieldControl";const _U=dt(SA,{needsFormItemName:!0}),EA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.AutoComplete,{disabled:e,placeholder:t.placeholder,options:t.options,allowClear:t.allowClear,value:n,onChange:r,id:o});EA.displayName="AutoCompleteFieldControl";const AU=dt(EA,{needsFormItemName:!0}),xA=({disabled:t,value:e,onChange:n})=>h.jsx(D.ColorPicker,{disabled:t,value:e,onChange:(r,o)=>n==null?void 0:n(o)});xA.displayName="ColorPickerFieldControl";const OU=dt(xA,{needsFormItemName:!0}),DA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Mentions,{disabled:e,placeholder:t.placeholder,value:n,onChange:r,id:o});DA.displayName="MentionsFieldControl";const TU=dt(DA,{needsFormItemName:!0}),_A=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Rate,{disabled:e,count:t.count,allowHalf:t.allowHalf,value:n,onChange:r,id:o});_A.displayName="RateFieldControl";const NU=dt(_A,{needsFormItemName:!0}),AA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Slider,{disabled:e,min:t.min,max:t.max,step:t.step,marks:t.marks,range:t.range,value:n,onChange:i=>r==null?void 0:r(i),id:o});AA.displayName="SliderFieldControl";const BU=dt(AA,{needsFormItemName:!0}),OA=({field:t,disabled:e,value:n,onChange:r,id:o})=>h.jsx(D.Upload,{disabled:e,accept:t.accept,maxCount:t.maxCount,listType:t.listType||"text",action:t.action,multiple:t.multiple,fileList:n,onChange:r,id:o,children:h.jsx(D.Button,{icon:h.jsx(se.UploadOutlined,{}),disabled:e,children:"上传文件"})});OA.displayName="UploadFieldControl";const FU=dt(OA,{needsFormItemName:!0});function TA(t=Ic){t.register(ge.TEXT,Q7),t.register(ge.TEXTAREA,J7),t.register(ge.NUMBER,Y7),t.register(ge.PASSWORD,X7),t.register(ge.SELECT,CA),t.register(ge.MULTI_SELECT,CA),t.register(ge.RADIO,xU),t.register(ge.CHECKBOX,SU),t.register(ge.CHECKBOX_GROUP,EU),t.register(ge.SWITCH,DU),t.register(ge.CASCADER,kU),t.register(ge.TREE_SELECT,_U),t.register(ge.DATE,lU),t.register(ge.DATETIME,fU),t.register(ge.DATE_RANGE,uU),t.register(ge.TIME,pU),t.register(ge.TIME_RANGE,gU),t.register(ge.UPLOAD,FU),t.register(ge.RATE,NU),t.register(ge.SLIDER,BU),t.register(ge.COLOR_PICKER,OU),t.register(ge.MENTIONS,TU),t.register(ge.AUTO_COMPLETE,AU),t.register(ge.LABEL,CU),t.register(ge.HIDDEN,bU),t.register(ge.JSON,yU),t.register(ge.DIVIDER,wU),t.register(ge.INFO_CARD,vU),t.register(ge.ARRAY,eW),t.register(ge.OBJECT,FW),t.register(ge.KEY_VALUE,OW),t.register(ge.ARRAY_OBJECT,mW)}TA();const Yg=({field:t,disabled:e,required:n,readOnly:r,rules:o,values:i,optionsLoader:s,validateVariable:a,renderVariableTag:l,renderVariableTooltip:c,eventHandlers:u})=>{const d=Pc(),f=e??As(t.disabled,i,!1),p=n??As(t.required,i,!1),m=r??As(t.readOnly,i,!1),v=o??xi(t.rules||[],i,t.type),b={values:i,optionsLoader:s,validateVariable:a,renderVariableTag:l,renderVariableTooltip:c,eventHandlers:u},w=d.get(t.type);if(!w)return h.jsxs("span",{children:["不支持的字段类型: ",t.type]});const{component:g,meta:C}=w;return C.isDisplayOnly?h.jsx(g,{field:t,disabled:f,readOnly:m,context:b}):C.isComplexField?h.jsx(D.Form.Item,{label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:p,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})}):C.isHidden?h.jsx(D.Form.Item,{name:C.needsFormItemName!==!1?t.name:void 0,hidden:!0,rules:v,valuePropName:C.valuePropName,validateTrigger:t.validateTrigger,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})}):h.jsx(D.Form.Item,{name:C.needsFormItemName!==!1?t.name:void 0,label:t.label,tooltip:t.tooltip,extra:t.helpText||t.extra||t.description,required:p,rules:v,labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,valuePropName:C.valuePropName,validateTrigger:t.validateTrigger,children:h.jsx(g,{field:t,disabled:f,readOnly:m,context:b})})},MU=Object.freeze(Object.defineProperty({__proto__:null,FieldRenderer:Yg},Symbol.toStringTag,{value:"Module"})),IU={meta:{name:"antd-5x-apple-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#007AFF",colorInfo:"#007AFF",colorSuccess:"#34C759",colorWarning:"#FF9F0A",colorError:"#FF3B30",colorTextBase:"#0B0B0F",colorBgBase:"#FFFFFF",colorBorder:"#D1D1D6",colorBorderSecondary:"#E5E5EA",colorPrimaryBorder:"#007AFF",colorPrimaryBorderHover:"#007AFF",colorPrimaryHover:"#0066D6",colorPrimaryActive:"#0056B3",controlOutlineWidth:2,controlOutline:"rgba(0, 122, 255, 0.25)",fontFamily:'"SF Pro Text", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:10,borderRadiusSM:8,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:52,sizeUnit:4,sizeStep:4,padding:16,paddingXS:10,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:10,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 10px 24px rgba(0,0,0,0.12), 0 2px 8px rgba(0,0,0,0.08)",boxShadowSecondary:"0 6px 16px rgba(0,0,0,0.10), 0 2px 6px rgba(0,0,0,0.06)",boxShadowTertiary:"0 2px 8px rgba(0,0,0,0.08)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:18,paddingInlineLG:20,paddingInlineSM:14,contentFontSize:14,contentFontSizeLG:16,contentFontSizeSM:14,primaryShadow:"0 2px 0 rgba(0,122,255,0.14)",dangerShadow:"0 2px 0 rgba(255,59,48,0.12)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:14},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:44,controlHeightLG:52,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:44,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,paddingInline:14,paddingInlineSM:12,paddingInlineLG:14,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:12,borderRadius:10,hoverBorderColor:"#C7C7CC",activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Layout:{headerBg:"#FFFFFF",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F2F2F7",siderBg:"#FFFFFF",triggerBg:"#F2F2F7"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:52},Menu:{itemHeight:44,iconSize:16,collapsedIconSize:18,horizontalItemBorderRadius:10,itemBorderRadius:10},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:14},Notification:{},Pagination:{itemSize:44,itemSizeSM:36},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#007AFF"},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:52,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F2F2F7",headerSortActiveBg:"#EDEDF2",headerSortHoverBg:"#F2F2F7",rowHoverBg:"#F2F2F7",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:52,activeBorderColor:"#007AFF",activeShadow:"0 0 0 2px rgba(0, 122, 255, 0.25)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:36,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},PU={meta:{name:"antd-5x-google-material3-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#1A73E8",colorInfo:"#1A73E8",colorSuccess:"#34A853",colorWarning:"#FBBC04",colorError:"#EA4335",colorTextBase:"#202124",colorBgBase:"#FFFFFF",colorBorder:"#DADCE0",colorBorderSecondary:"#E0E3E7",colorPrimaryBorder:"#1A73E8",colorPrimaryBorderHover:"#1A73E8",colorPrimaryHover:"#1967D2",colorPrimaryActive:"#174EA6",controlOutlineWidth:2,controlOutline:"rgba(26, 115, 232, 0.24)",fontFamily:'"Google Sans", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.5714285714285714,borderRadius:8,borderRadiusSM:4,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:56,controlHeightSM:40,controlHeightLG:64,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(60,64,67,0.16), 0 2px 6px rgba(60,64,67,0.12)",boxShadowSecondary:"0 2px 8px rgba(60,64,67,0.14)",boxShadowTertiary:"0 1px 3px rgba(60,64,67,0.12)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:999,borderRadiusSM:999,borderRadiusLG:999,controlHeight:40,controlHeightSM:32,controlHeightLG:48,paddingInline:24,paddingInlineLG:24,paddingInlineSM:16,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(26,115,232,0.20)",dangerShadow:"0 1px 0 rgba(234,67,53,0.18)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:4},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:40,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:14,paddingBlockSM:8,paddingBlockLG:16,borderRadius:4,hoverBorderColor:"#BDC1C6",activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},InputNumber:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Layout:{headerBg:"#202124",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8F9FA",siderBg:"#202124",triggerBg:"#303134"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:56,controlHeightSM:40,controlHeightLG:64},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:12,itemBorderRadius:12},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:16},Notification:{},Pagination:{itemSize:40,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{buttonSolidCheckedBg:"#1A73E8"},Rate:{},Result:{},Segmented:{controlHeight:40},Select:{controlHeight:56,controlHeightSM:40,controlHeightLG:64,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:24,trackMinWidth:44,handleSize:20},Table:{headerBg:"#F8F9FA",headerSortActiveBg:"#F1F3F4",headerSortHoverBg:"#F3F5F6",rowHoverBg:"#F8F9FA",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:4,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 18px"},Tag:{borderRadiusSM:8},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:56,controlHeightSM:40,controlHeightLG:64,activeBorderColor:"#1A73E8",activeShadow:"0 0 0 2px rgba(26, 115, 232, 0.24)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}},LU={meta:{name:"antd-5x-preline-pixel-aligned-full",algorithm:"defaultAlgorithm"},token:{colorPrimary:"#2563EB",colorInfo:"#2563EB",colorSuccess:"#16A34A",colorWarning:"#F59E0B",colorError:"#EF4444",colorTextBase:"#0F172A",colorBgBase:"#FFFFFF",colorBorder:"#E5E7EB",colorBorderSecondary:"#E5E7EB",colorPrimaryBorder:"#3B82F6",colorPrimaryBorderHover:"#3B82F6",colorPrimaryHover:"#1D4ED8",colorPrimaryActive:"#1E40AF",controlOutlineWidth:1,controlOutline:"rgba(59, 130, 246, 0.45)",fontFamily:'Graphik, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',fontSize:14,lineHeight:1.6,borderRadius:8,borderRadiusSM:6,borderRadiusLG:12,lineWidth:1,lineType:"solid",controlHeight:44,controlHeightSM:36,controlHeightLG:48,sizeUnit:4,sizeStep:4,padding:16,paddingXS:8,paddingSM:12,paddingLG:24,paddingXL:32,margin:16,marginXS:8,marginSM:12,marginLG:24,marginXL:32,wireframe:!1,motion:!0,motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInOutBack:"cubic-bezier(0.71, -0.46, 0.29, 1.46)",opacityImage:1,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",boxShadow:"0 1px 2px rgba(15,23,42,0.06), 0 6px 18px rgba(15,23,42,0.08)",boxShadowSecondary:"0 1px 2px rgba(15,23,42,0.05), 0 10px 24px rgba(15,23,42,0.10)",boxShadowTertiary:"0 1px 2px rgba(15,23,42,0.06)",screenXS:480,screenXSMin:480,screenXSMax:575,screenSM:576,screenSMMin:576,screenSMMax:767,screenMD:768,screenMDMin:768,screenMDMax:991,screenLG:992,screenLGMin:992,screenLGMax:1199,screenXL:1200,screenXLMin:1200,screenXLMax:1599,screenXXL:1600,screenXXLMin:1600},components:{Alert:{borderRadiusLG:12},Anchor:{linkPaddingInlineStart:16},AutoComplete:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Avatar:{containerSize:32,containerSizeLG:40,containerSizeSM:24,textFontSize:14,textFontSizeLG:16,textFontSizeSM:12},BackTop:{},Badge:{indicatorHeight:16},Breadcrumb:{separatorMargin:8},Button:{borderRadius:8,borderRadiusSM:8,borderRadiusLG:10,controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineLG:18,paddingInlineSM:12,contentFontSize:14,contentFontSizeLG:14,contentFontSizeSM:14,primaryShadow:"0 1px 0 rgba(37,99,235,0.18)",dangerShadow:"0 1px 0 rgba(239,68,68,0.16)"},Calendar:{fullBg:"#ffffff"},Card:{headerBg:"transparent",headerFontSize:16,headerHeight:56,paddingLG:24,borderRadiusLG:12},Carousel:{},Cascader:{},Checkbox:{borderRadiusSM:6},Collapse:{headerPadding:"12px 16px",contentPadding:"16px 16px"},ColorPicker:{},ConfigProvider:{},DatePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Descriptions:{titleMarginBottom:16,itemPaddingBottom:16},Divider:{textPaddingInline:12},Drawer:{paddingLG:24},Dropdown:{},Empty:{},FloatButton:{controlHeight:40,controlHeightLG:48,borderRadius:999},Form:{itemMarginBottom:24,labelHeight:36,labelColonMarginInlineStart:2,labelColonMarginInlineEnd:8},Grid:{},Image:{},Input:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,paddingInline:16,paddingInlineSM:12,paddingInlineLG:16,paddingBlock:10,paddingBlockSM:8,paddingBlockLG:10,borderRadius:8,hoverBorderColor:"#D1D5DB",activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},InputNumber:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Layout:{headerBg:"#0B1220",headerHeight:64,headerPadding:"0 50px",bodyBg:"#F8FAFC",siderBg:"#0B1220",triggerBg:"#0F1A2E"},List:{itemPadding:"12px 0"},Mentions:{controlHeight:44,controlHeightSM:36,controlHeightLG:48},Menu:{itemHeight:40,iconSize:14,collapsedIconSize:16,horizontalItemBorderRadius:8,itemBorderRadius:8},Message:{},Modal:{headerBg:"transparent",titleFontSize:16,paddingMD:20,paddingContentHorizontalLG:24,paddingContentVerticalLG:16,borderRadiusLG:12},Notification:{},Pagination:{itemSize:36,itemSizeSM:32},Popconfirm:{},Popover:{},Progress:{},QRCode:{},Radio:{},Rate:{},Result:{},Segmented:{controlHeight:36},Select:{controlHeight:44,controlHeightSM:36,controlHeightLG:48,multipleItemHeight:28,showArrowPaddingInlineEnd:18},Skeleton:{},Slider:{},Space:{},Spin:{},Statistic:{},Steps:{iconSize:32,iconFontSize:16},Switch:{trackHeight:22,trackMinWidth:44,handleSize:18},Table:{headerBg:"#F8FAFC",headerSortActiveBg:"#F1F5F9",headerSortHoverBg:"#F3F6FB",rowHoverBg:"#F8FAFC",cellPaddingBlock:12,cellPaddingInline:16},Tabs:{cardGutter:6,horizontalMargin:"0 0 16px 0",horizontalItemPadding:"12px 16px"},Tag:{borderRadiusSM:6},Timeline:{},TimePicker:{cellHeight:24,timeColumnWidth:56,controlHeight:44,controlHeightSM:36,controlHeightLG:48,activeBorderColor:"#3B82F6",activeShadow:"0 0 0 1px rgba(59, 130, 246, 0.45)"},Tooltip:{},Tour:{},Transfer:{},Tree:{nodeHeight:32,titleHeight:24},TreeSelect:{},Typography:{titleMarginTop:0,titleMarginBottom:8},Upload:{},Watermark:{}}};function $U(t){return"optionsSource"in t&&t.optionsSource&&t.optionsSource.kind!=="static"?t.optionsSource.deps||[]:[]}function zU(t){const e=[];for(const n of t.fields){const r=$U(n);if(r.length>0)for(const o of r)e.push({id:`auto-clear-${n.name}-on-${o}-change`,trigger:{type:"fieldChange",field:o},actions:[{type:"clearFields",targets:[n.name]}]})}return e}function HU(t,e,n=!0){return[...n?zU(t):[],...e||[]]}const VU={default:Ih,apple:IU,google:PU,preline:LU};function Xg({schema:t,disabled:e=!1,initialValues:n,onSubmit:r,onChange:o,onValuesObserved:i,submitLabel:s="提交",showReset:a=!1,resetLabel:l="重置",onReset:c,form:u,showSubmit:d=!0,optionsLoader:f,nodeId:p,mcpMode:m,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,availableVariables:g,theme:C,customTheme:k,locale:_,prefixCls:S,events:E,customHandlers:x,maxExecutionDepth:O,debugEvents:A,preRender:T}){var X;const[B]=D.Form.useForm(),I=u||B,F=vt.useMemo(()=>{const q={};for(const J of t.fields)J.defaultValue!==void 0&&(q[J.name]=J.defaultValue);return{...q,...n||{}}},[t.fields,n]),N=vt.useMemo(()=>{const q=t.enableAutoEvents!==!1,J=t.events||[],re=E||[];return HU(t,[...J,...re],q)},[t,E]),P=y2({events:N,form:I,optionsLoader:f,customHandlers:x,maxExecutionDepth:O,debug:A}),M=vt.useRef({}),z=vt.useMemo(()=>{if(k)return k;if(C)return VU[C]},[k,C]),H=D.Form.useWatch([],I),R=vt.useMemo(()=>JSON.stringify({...F||{},...H||{}}),[F,H]),Y=vt.useMemo(()=>({...F||{},...H||{}}),[R]),te=vt.useRef(R);vt.useEffect(()=>{!i||te.current===R||(te.current=R,i(Y))},[i,Y,R]);const[$,j]=vt.useState({}),U=vt.useRef({});vt.useEffect(()=>{var J;const q={};for(const re of t.fields){const Z=yl(re,Y);if(q[re.name]=Z,U.current[re.name]===!0&&Z===!1){const ve=q7(re),we=((J=re.visibleWhen)==null?void 0:J.clearOnHide)??!0;ve==="unregister"&&I.setFieldValue(re.name,we?void 0:I.getFieldValue(re.name))}}U.current=q,j(re=>{const Z=Object.keys(re),ue=Object.keys(q);return Z.length===ue.length&&ue.every(ve=>re[ve]===q[ve])?re:q})},[t.fields,I,Y]);const ee=async q=>{const J=t.pruneInvisibleOnSubmit===!1?q:R7(t,q,$);await(r==null?void 0:r(J))},ie=(q,J)=>{if(o==null||o(q,J),P.triggerFieldChange&&q){const re=M.current;for(const Z in q){const ue=qn(re,Z),ve=q[Z];P.triggerFieldChange(Z,ve,ue)}}M.current={...J}},be=d||a,W=vt.useMemo(()=>({nodeId:p,mcpMode:m,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,availableVariables:g}),[p,m,v,b,w,g]);return h.jsx(iC,{customTheme:z,locale:_,prefixCls:S,children:h.jsx(cC,{value:W,children:h.jsxs(D.Form,{form:I,disabled:e,autoComplete:"off",layout:t.layout||"vertical",labelCol:t.labelCol,wrapperCol:t.wrapperCol,colon:t.colon,size:t.size,initialValues:F,onFinish:ee,onValuesChange:ie,className:"workflow-config-form",children:[T&&T,t.fields.map(q=>{if(!yl(q,Y))return null;const re=e||As(q.disabled,Y,!1),Z=As(q.required,Y,!1),ue=xi(q.rules||[],Y,q.type),ve=(q.rules||[]).some(fe=>fe.type==="required"),we=Z&&!ve?[Kg(`${q.label||q.name}为必填项`),...ue]:ue;return h.jsx(Yg,{field:q,disabled:re,required:Z,rules:we,values:Y,optionsLoader:f,validateVariable:v,renderVariableTag:b,renderVariableTooltip:w,eventHandlers:P.fieldEventHandlers},q.name)}),be&&h.jsx(D.Form.Item,{wrapperCol:{offset:((X=t.labelCol)==null?void 0:X.span)||0},children:h.jsxs(D.Space,{children:[a&&h.jsx(D.Button,{disabled:e,onClick:()=>{I.resetFields(),c==null||c()},children:l}),d&&h.jsx(D.Button,{type:"primary",htmlType:"submit",children:s})]})})]})})})}const Sl=()=>{const t=$t();return y.useCallback((e,n=!1)=>{if(/^https?:\/\//i.test(e)){window.open(e,"_blank");return}if(t.onNavigate){t.onNavigate(e,n);return}n?window.open(e,"_blank"):ac.push(e)},[t.onNavigate])},Jg=y.forwardRef((t,e)=>{const n=Sl(),[r,o]=y.useState([]),[i,s]=y.useState("");y.useEffect(()=>{s(t.proxyId)},[t.proxyId]),y.useEffect(()=>{Kf().then(c=>{o(c??[])})},[]);const a=()=>i;y.useImperativeHandle(e,()=>({getProxyId:a}));const l=c=>{s(c)};return h.jsxs(YB,{label:K("link.flow.use_proxy_gateway"),children:[h.jsxs(D.Select,{className:"proxy_id_select",value:i,dropdownStyle:{zIndex:Fc.nestedPopover},onChange:l,style:{width:"100%"},children:[h.jsx(D.Select.Option,{value:"0",children:h.jsx(Te.FormattedMessage,{id:"link.flow.do_not_use"})}),r.map(c=>h.jsx(D.Select.Option,{value:c.id,children:c.group_name},c.id))]}),h.jsxs("p",{className:"field-desc",children:[h.jsx(Te.FormattedMessage,{id:"link.flow.private_network_deployment"}),h.jsx("span",{style:{margin:"0 2px"},onClick:()=>{n("/setting/gateway")},children:h.jsx(Te.FormattedMessage,{id:"link.flow.proxy_gateway"})}),h.jsx(Te.FormattedMessage,{id:"link.flow.secure_connection"})]})]})}),jU="RDBMS_ACCOUNT",WU=t=>t===jU,NA=({formSchema:t,initialValues:e,connector:n,proxy_id:r,authType:o,onCancel:i,onSubmit:s})=>{var f;const[a]=D.Form.useForm(),l=y.useRef(null),c=(n==null?void 0:n.deployment_type)!=="SaasApp",u=WU(o);y.useEffect(()=>{e&&a.setFieldsValue(e)},[a,e]);const d=async p=>{var v;const m=await a.validateFields();c&&(m.proxy_id=(v=l.current)==null?void 0:v.getProxyId()),s(m,p)};try{(f=t==null?void 0:t.fields)==null||f.forEach(p=>{p.valueModePolicy!=="TEXT"&&console.warn("config error: value mode policy is not TEXT")})}catch{console.warn("form schema fmt err")}return h.jsxs("div",{className:Gr.formLayout,children:[h.jsxs("div",{className:Gr.formContent,children:[h.jsx(Xg,{schema:t,form:a,initialValues:e,showSubmit:!1,showReset:!1,customTheme:sc}),c?h.jsx(Jg,{proxyId:r||"0",ref:l}):null]}),h.jsx("div",{className:Gr.formActions,children:h.jsxs(D.Space,{children:[h.jsx(D.Button,{onClick:i,children:"取消"}),u?h.jsx(D.Button,{onClick:()=>d(!0),children:"测试连接"}):null,h.jsx(D.Button,{type:"primary",onClick:()=>d(!1),children:"保存"})]})})]})},UU=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",value:jt(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),qU=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:jt(t.value?t.value:new Date),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}}),GU=({value:t=[],onChange:e,valueType:n})=>{const r=a=>{const l=[...t];l.splice(a,1),e==null||e(l)},o=()=>{e==null||e([...t,{key:"",value:""}])},i=(a,l)=>{e==null||e(t.map((c,u)=>u===a?{...c,key:l}:c))},s=(a,l)=>{e==null||e(t.map((c,u)=>u===a?{...c,value:l}:c))};return h.jsxs("div",{children:[t.map((a,l)=>h.jsxs(D.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Input,{value:a.key,onChange:c=>i(l,c.target.value),placeholder:"Key"}),h.jsx(D.Input,{placeholder:"Value",style:{width:300},value:a.value,onChange:c=>s(l,c.target.value)}),h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{r(l)}})]},a.key)),h.jsxs(D.Button,{type:"default",onClick:o,block:!0,children:[h.jsx(br,{size:16})," ",h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})]})]})},RU=t=>null;class Ld{constructor(e,n,r,o,i,s,a,l,c,u=0,d){this.p=e,this.stack=n,this.state=r,this.reducePos=o,this.pos=i,this.score=s,this.buffer=a,this.bufferBase=l,this.curContext=c,this.lookAhead=u,this.parent=d}toString(){return`[${this.stack.filter((e,n)=>n%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,n,r=0){let o=e.parser.context;return new Ld(e,[],n,r,r,0,[],0,o?new BA(o,o.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,n){this.stack.push(this.state,n,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var n;let r=e>>19,o=e&65535,{parser:i}=this.p,s=this.reducePos<this.pos-25&&this.setLookAhead(this.pos),a=i.dynamicPrecedence(o);if(a&&(this.score+=a),r==0){this.pushState(i.getGoto(this.state,o,!0),this.reducePos),o<i.minRepeatTerm&&this.storeNode(o,this.reducePos,this.reducePos,s?8:4,!0),this.reduceContext(o,this.reducePos);return}let l=this.stack.length-(r-1)*3-(e&262144?6:0),c=l?this.stack[l-2]:this.p.ranges[0].from,u=this.reducePos-c;u>=2e3&&!(!((n=this.p.parser.nodeSet.types[o])===null||n===void 0)&&n.isAnonymous)&&(c==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=u):this.p.lastBigReductionSize<u&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=c,this.p.lastBigReductionSize=u));let d=l?this.stack[l-1]:0,f=this.bufferBase+this.buffer.length-d;if(o<i.minRepeatTerm||e&131072){let p=i.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(o,c,p,f+4,!0)}if(e&262144)this.state=this.stack[l];else{let p=this.stack[l-3];this.state=i.getGoto(p,o,!0)}for(;this.stack.length>l;)this.stack.pop();this.reduceContext(o,c)}storeNode(e,n,r,o=4,i=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let s=this,a=this.buffer.length;if(a==0&&s.parent&&(a=s.bufferBase-s.parent.bufferBase,s=s.parent),a>0&&s.buffer[a-4]==0&&s.buffer[a-1]>-1){if(n==r)return;if(s.buffer[a-2]>=n){s.buffer[a-2]=r;return}}}if(!i||this.pos==r)this.buffer.push(e,n,r,o);else{let s=this.buffer.length;if(s>0&&(this.buffer[s-4]!=0||this.buffer[s-1]<0)){let a=!1;for(let l=s;l>0&&this.buffer[l-2]>r;l-=4)if(this.buffer[l-1]>=0){a=!0;break}if(a)for(;s>0&&this.buffer[s-2]>r;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,o>4&&(o-=4)}this.buffer[s]=e,this.buffer[s+1]=n,this.buffer[s+2]=r,this.buffer[s+3]=o}}shift(e,n,r,o){if(e&131072)this.pushState(e&65535,this.pos);else if((e&262144)==0){let i=e,{parser:s}=this.p;this.pos=o,!s.stateFlag(i,1)&&(o>r||n<=s.maxNode)&&(this.reducePos=o),this.pushState(i,Math.min(r,this.reducePos)),this.shiftContext(n,r),n<=s.maxNode&&this.buffer.push(n,r,o,4)}else this.pos=o,this.shiftContext(n,r),n<=this.p.parser.maxNode&&this.buffer.push(n,r,o,4)}apply(e,n,r,o){e&65536?this.reduce(e):this.shift(e,n,r,o)}useNode(e,n){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let o=this.pos;this.reducePos=this.pos=o+e.length,this.pushState(n,o),this.buffer.push(r,o,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,n=e.buffer.length;for(;n>0&&e.buffer[n-2]>e.reducePos;)n-=4;let r=e.buffer.slice(n),o=e.bufferBase+n;for(;e&&o==e.bufferBase;)e=e.parent;return new Ld(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,o,this.curContext,this.lookAhead,e)}recoverByDelete(e,n){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,n,4),this.storeNode(0,this.pos,n,r?8:4),this.pos=this.reducePos=n,this.score-=190}canShift(e){for(let n=new KU(this);;){let r=this.p.parser.stateSlot(n.state,4)||this.p.parser.hasAction(n.state,e);if(r==0)return!1;if((r&65536)==0)return!0;n.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let n=this.p.parser.nextStates(this.state);if(n.length>8||this.stack.length>=120){let o=[];for(let i=0,s;i<n.length;i+=2)(s=n[i+1])!=this.state&&this.p.parser.hasAction(s,e)&&o.push(n[i],s);if(this.stack.length<120)for(let i=0;o.length<8&&i<n.length;i+=2){let s=n[i+1];o.some((a,l)=>l&1&&a==s)||o.push(n[i],s)}n=o}let r=[];for(let o=0;o<n.length&&r.length<4;o+=2){let i=n[o+1];if(i==this.state)continue;let s=this.split();s.pushState(i,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(n[o],this.pos),s.reducePos=this.pos,s.score-=200,r.push(s)}return r}forceReduce(){let{parser:e}=this.p,n=e.stateSlot(this.state,5);if((n&65536)==0)return!1;if(!e.validAction(this.state,n)){let r=n>>19,o=n&65535,i=this.stack.length-r*3;if(i<0||e.getGoto(this.stack[i],o,!1)<0){let s=this.findForcedReduction();if(s==null)return!1;n=s}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(n),!0}findForcedReduction(){let{parser:e}=this.p,n=[],r=(o,i)=>{if(!n.includes(o))return n.push(o),e.allActions(o,s=>{if(!(s&393216))if(s&65536){let a=(s>>19)-i;if(a>1){let l=s&65535,c=this.stack.length-a*3;if(c>=0&&e.getGoto(this.stack[c],l,!1)>=0)return a<<19|65536|l}}else{let a=r(s,i+1);if(a!=null)return a}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let n=0;n<this.stack.length;n+=3)if(this.stack[n]!=e.stack[n])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(n)))}reduceContext(e,n){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(n)))}emitContext(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-3)&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||this.buffer[e]!=-4)&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let n=new BA(this.curContext.tracker,e);n.hash!=this.curContext.hash&&this.emitContext(),this.curContext=n}}setLookAhead(e){return e<=this.lookAhead?!1:(this.emitLookAhead(),this.lookAhead=e,!0)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class BA{constructor(e,n){this.tracker=e,this.context=n,this.hash=e.strict?e.hash(n):0}}class KU{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let n=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let o=this.start.p.parser.getGoto(this.stack[this.base-3],n,!0);this.state=o}}class $d{constructor(e,n,r){this.stack=e,this.pos=n,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,n=e.bufferBase+e.buffer.length){return new $d(e,n,n-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new $d(this.stack,this.pos,this.index)}}function zd(t,e=Uint16Array){if(typeof t!="string")return t;let n=null;for(let r=0,o=0;r<t.length;){let i=0;for(;;){let s=t.charCodeAt(r++),a=!1;if(s==126){i=65535;break}s>=92&&s--,s>=34&&s--;let l=s-32;if(l>=46&&(l-=46,a=!0),i+=l,a)break;i*=46}n?n[o++]=i:n=new e(i)}return n}class Hd{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const FA=new Hd;class YU{constructor(e,n){this.input=e,this.ranges=n,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=FA,this.rangeIndex=0,this.pos=this.chunkPos=n[0].from,this.range=n[0],this.end=n[n.length-1].to,this.readNext()}resolveOffset(e,n){let r=this.range,o=this.rangeIndex,i=this.pos+e;for(;i<r.from;){if(!o)return null;let s=this.ranges[--o];i-=r.from-s.to,r=s}for(;n<0?i>r.to:i>=r.to;){if(o==this.ranges.length-1)return null;let s=this.ranges[++o];i+=s.from-r.to,r=s}return i}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let n of this.ranges)if(n.to>e)return Math.max(e,n.from);return this.end}peek(e){let n=this.chunkOff+e,r,o;if(n>=0&&n<this.chunk.length)r=this.pos+e,o=this.chunk.charCodeAt(n);else{let i=this.resolveOffset(e,1);if(i==null)return-1;if(r=i,r>=this.chunk2Pos&&r<this.chunk2Pos+this.chunk2.length)o=this.chunk2.charCodeAt(r-this.chunk2Pos);else{let s=this.rangeIndex,a=this.range;for(;a.to<=r;)a=this.ranges[++s];this.chunk2=this.input.chunk(this.chunk2Pos=r),r+this.chunk2.length>a.to&&(this.chunk2=this.chunk2.slice(0,a.to-r)),o=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),o}acceptToken(e,n=0){let r=n?this.resolveOffset(n,-1):this.pos;if(r==null||r<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=r}acceptTokenTo(e,n){this.token.value=e,this.token.end=n}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:n}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=n,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),n=this.pos+e.length;this.chunk=n>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,n){if(n?(this.token=n,n.start=e,n.lookAhead=e+1,n.value=n.extended=-1):this.token=FA,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,n){if(e>=this.chunkPos&&n<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,n-this.chunkPos);if(e>=this.chunk2Pos&&n<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,n-this.chunk2Pos);if(e>=this.range.from&&n<=this.range.to)return this.input.read(e,n);let r="";for(let o of this.ranges){if(o.from>=n)break;o.to>e&&(r+=this.input.read(Math.max(o.from,e),Math.min(o.to,n)))}return r}}class Os{constructor(e,n){this.data=e,this.id=n}token(e,n){let{parser:r}=n.p;XU(this.data,e,n,this.id,r.data,r.tokenPrecTable)}}Os.prototype.contextual=Os.prototype.fallback=Os.prototype.extend=!1,Os.prototype.fallback=Os.prototype.extend=!1;function XU(t,e,n,r,o,i){let s=0,a=1<<r,{dialect:l}=n.p.parser;e:for(;(a&t[s])!=0;){let c=t[s+1];for(let p=s+3;p<c;p+=2)if((t[p+1]&a)>0){let m=t[p];if(l.allows(m)&&(e.token.value==-1||e.token.value==m||JU(m,e.token.value,o,i))){e.acceptToken(m);break}}let u=e.next,d=0,f=t[s+2];if(e.next<0&&f>d&&t[c+f*3-3]==65535){s=t[c+f*3-1];continue e}for(;d<f;){let p=d+f>>1,m=c+p+(p<<1),v=t[m],b=t[m+1]||65536;if(u<v)f=p;else if(u>=b)d=p+1;else{s=t[m+2],e.advance();continue e}}break}}function MA(t,e,n){for(let r=e,o;(o=t[r])!=65535;r++)if(o==n)return r-e;return-1}function JU(t,e,n,r){let o=MA(n,r,e);return o<0||MA(n,r,t)<o}const Ln=typeof process<"u"&&process.env&&/\bparse\b/.test(process.env.LOG);let Qg=null;function IA(t,e,n){let r=t.cursor(Ct.IncludeAnonymous);for(r.moveTo(e);;)if(!(n<0?r.childBefore(e):r.childAfter(e)))for(;;){if((n<0?r.to<e:r.from>e)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:t.length}}class QU{constructor(e,n){this.fragments=e,this.nodeSet=n,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?IA(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?IA(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let n=this.trees.length-1;if(n<0)return this.nextFragment(),null;let r=this.trees[n],o=this.index[n];if(o==r.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let i=r.children[o],s=this.start[n]+r.positions[o];if(s>e)return this.nextStart=s,null;if(i instanceof Dt){if(s==e){if(s<this.safeFrom)return null;let a=s+i.length;if(a<=this.safeTo){let l=i.prop(Je.lookAhead);if(!l||a+l<this.fragment.to)return i}}this.index[n]++,s+i.length>=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(s),this.index.push(0))}else this.index[n]++,this.nextStart=s+i.length}}}class ZU{constructor(e,n){this.stream=n,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new Hd)}getActions(e){let n=0,r=null,{parser:o}=e.p,{tokenizers:i}=o,s=o.stateSlot(e.state,3),a=e.curContext?e.curContext.hash:0,l=0;for(let c=0;c<i.length;c++){if((1<<c&s)==0)continue;let u=i[c],d=this.tokens[c];if(!(r&&!u.fallback)&&((u.contextual||d.start!=e.pos||d.mask!=s||d.context!=a)&&(this.updateCachedToken(d,u,e),d.mask=s,d.context=a),d.lookAhead>d.end+25&&(l=Math.max(d.lookAhead,l)),d.value!=0)){let f=n;if(d.extended>-1&&(n=this.addActions(e,d.extended,d.end,n)),n=this.addActions(e,d.value,d.end,n),!u.extend&&(r=d,n>f))break}}for(;this.actions.length>n;)this.actions.pop();return l&&e.setLookAhead(l),!r&&e.pos==this.stream.end&&(r=new Hd,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,n=this.addActions(e,r.value,r.end,n)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let n=new Hd,{pos:r,p:o}=e;return n.start=r,n.end=Math.min(r+1,o.stream.end),n.value=r==o.stream.end?o.parser.eofTerm:0,n}updateCachedToken(e,n,r){let o=this.stream.clipPos(r.pos);if(n.token(this.stream.reset(o,e),r),e.value>-1){let{parser:i}=r.p;for(let s=0;s<i.specialized.length;s++)if(i.specialized[s]==e.value){let a=i.specializers[s](this.stream.read(e.start,e.end),r);if(a>=0&&r.p.parser.dialect.allows(a>>1)){(a&1)==0?e.value=a>>1:e.extended=a>>1;break}}}else e.value=0,e.end=this.stream.clipPos(o+1)}putAction(e,n,r,o){for(let i=0;i<o;i+=3)if(this.actions[i]==e)return o;return this.actions[o++]=e,this.actions[o++]=n,this.actions[o++]=r,o}addActions(e,n,r,o){let{state:i}=e,{parser:s}=e.p,{data:a}=s;for(let l=0;l<2;l++)for(let c=s.stateSlot(i,l?2:1);;c+=3){if(a[c]==65535)if(a[c+1]==1)c=ro(a,c+2);else{o==0&&a[c+1]==2&&(o=this.putAction(ro(a,c+2),n,r,o));break}a[c]==n&&(o=this.putAction(ro(a,c+1),n,r,o))}return o}}class eq{constructor(e,n,r,o){this.parser=e,this.input=n,this.ranges=o,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new YU(n,o),this.tokens=new ZU(e,this.stream),this.topTerm=e.top[1];let{from:i}=o[0];this.stacks=[Ld.start(this,e.top[0],i)],this.fragments=r.length&&this.stream.end-i>e.bufferLength*4?new QU(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,n=this.minStackPos,r=this.stacks=[],o,i;if(this.bigReductionCount>300&&e.length==1){let[s]=e;for(;s.forceReduce()&&s.stack.length&&s.stack[s.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<e.length;s++){let a=e[s];for(;;){if(this.tokens.mainToken=null,a.pos>n)r.push(a);else{if(this.advanceStack(a,r,e))continue;{o||(o=[],i=[]),o.push(a);let l=this.tokens.getMainToken(a);i.push(l.value,l.end)}}break}}if(!r.length){let s=o&&nq(o);if(s)return Ln&&console.log("Finish with "+this.stackID(s)),this.stackToTree(s);if(this.parser.strict)throw Ln&&o&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&o){let s=this.stoppedAt!=null&&o[0].pos>this.stoppedAt?o[0]:this.runRecovery(o,i,r);if(s)return Ln&&console.log("Force-finish "+this.stackID(s)),this.stackToTree(s.forceAll())}if(this.recovering){let s=this.recovering==1?1:this.recovering*3;if(r.length>s)for(r.sort((a,l)=>l.score-a.score);r.length>s;)r.pop();r.some(a=>a.reducePos>n)&&this.recovering--}else if(r.length>1){e:for(let s=0;s<r.length-1;s++){let a=r[s];for(let l=s+1;l<r.length;l++){let c=r[l];if(a.sameState(c)||a.buffer.length>500&&c.buffer.length>500)if((a.score-c.score||a.buffer.length-c.buffer.length)>0)r.splice(l--,1);else{r.splice(s--,1);continue e}}}r.length>12&&(r.sort((s,a)=>a.score-s.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let s=1;s<r.length;s++)r[s].pos<this.minStackPos&&(this.minStackPos=r[s].pos);return null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,n,r){let o=e.pos,{parser:i}=this,s=Ln?this.stackID(e)+" -> ":"";if(this.stoppedAt!=null&&o>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let c=e.curContext&&e.curContext.tracker.strict,u=c?e.curContext.hash:0;for(let d=this.fragments.nodeAt(o);d;){let f=this.parser.nodeSet.types[d.type.id]==d.type?i.getGoto(e.state,d.type.id):-1;if(f>-1&&d.length&&(!c||(d.prop(Je.contextHash)||0)==u))return e.useNode(d,f),Ln&&console.log(s+this.stackID(e)+` (via reuse of ${i.getName(d.type.id)})`),!0;if(!(d instanceof Dt)||d.children.length==0||d.positions[0]>0)break;let p=d.children[0];if(p instanceof Dt&&d.positions[0]==0)d=p;else break}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),Ln&&console.log(s+this.stackID(e)+` (via always-reduce ${i.getName(a&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let l=this.tokens.getActions(e);for(let c=0;c<l.length;){let u=l[c++],d=l[c++],f=l[c++],p=c==l.length||!r,m=p?e:e.split(),v=this.tokens.mainToken;if(m.apply(u,d,v?v.start:m.pos,f),Ln&&console.log(s+this.stackID(m)+` (via ${(u&65536)==0?"shift":`reduce of ${i.getName(u&65535)}`} for ${i.getName(d)} @ ${o}${m==e?"":", split"})`),p)return!0;m.pos>o?n.push(m):r.push(m)}return!1}advanceFully(e,n){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return PA(e,n),!0}}runRecovery(e,n,r){let o=null,i=!1;for(let s=0;s<e.length;s++){let a=e[s],l=n[s<<1],c=n[(s<<1)+1],u=Ln?this.stackID(a)+" -> ":"";if(a.deadEnd&&(i||(i=!0,a.restart(),Ln&&console.log(u+this.stackID(a)+" (restarted)"),this.advanceFully(a,r))))continue;let d=a.split(),f=u;for(let p=0;p<10&&d.forceReduce()&&(Ln&&console.log(f+this.stackID(d)+" (via force-reduce)"),!this.advanceFully(d,r));p++)Ln&&(f=this.stackID(d)+" -> ");for(let p of a.recoverByInsert(l))Ln&&console.log(u+this.stackID(p)+" (via recover-insert)"),this.advanceFully(p,r);this.stream.end>a.pos?(c==a.pos&&(c++,l=0),a.recoverByDelete(l,c),Ln&&console.log(u+this.stackID(a)+` (via recover-delete ${this.parser.getName(l)})`),PA(a,r)):(!o||o.score<d.score)&&(o=d)}return o}stackToTree(e){return e.close(),Dt.build({buffer:$d.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let n=(Qg||(Qg=new WeakMap)).get(e);return n||Qg.set(e,n=String.fromCodePoint(this.nextStackID++)),n+e}}function PA(t,e){for(let n=0;n<e.length;n++){let r=e[n];if(r.pos==t.pos&&r.sameState(t)){e[n].score<t.score&&(e[n]=t);return}}e.push(t)}class tq{constructor(e,n,r){this.source=e,this.flags=n,this.disabled=r}allows(e){return!this.disabled||this.disabled[e]==0}}class Vd extends DC{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let n=e.nodeNames.split(" ");this.minRepeatTerm=n.length;for(let a=0;a<e.repeatNodeCount;a++)n.push("");let r=Object.keys(e.topRules).map(a=>e.topRules[a][1]),o=[];for(let a=0;a<n.length;a++)o.push([]);function i(a,l,c){o[a].push([l,l.deserialize(String(c))])}if(e.nodeProps)for(let a of e.nodeProps){let l=a[0];typeof l=="string"&&(l=Je[l]);for(let c=1;c<a.length;){let u=a[c++];if(u>=0)i(u,l,a[c++]);else{let d=a[c+-u];for(let f=-u;f>0;f--)i(a[c++],l,d);c++}}}this.nodeSet=new Hh(n.map((a,l)=>Cn.define({name:l>=this.minRepeatTerm?void 0:a,id:l,props:o[l],top:r.indexOf(l)>-1,error:l==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(l)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=vC;let s=zd(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let a=0;a<this.specializerSpecs.length;a++)this.specialized[a]=this.specializerSpecs[a].term;this.specializers=this.specializerSpecs.map(LA),this.states=zd(e.states,Uint32Array),this.data=zd(e.stateData),this.goto=zd(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(a=>typeof a=="number"?new Os(s,a):a),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,n,r){let o=new eq(this,e,n,r);for(let i of this.wrappers)o=i(o,e,n,r);return o}getGoto(e,n,r=!1){let o=this.goto;if(n>=o[0])return-1;for(let i=o[n+1];;){let s=o[i++],a=s&1,l=o[i++];if(a&&r)return l;for(let c=i+(s>>1);i<c;i++)if(o[i]==e)return l;if(a)return-1}}hasAction(e,n){let r=this.data;for(let o=0;o<2;o++)for(let i=this.stateSlot(e,o?2:1),s;;i+=3){if((s=r[i])==65535)if(r[i+1]==1)s=r[i=ro(r,i+2)];else{if(r[i+1]==2)return ro(r,i+2);break}if(s==n||s==0)return ro(r,i+1)}return 0}stateSlot(e,n){return this.states[e*6+n]}stateFlag(e,n){return(this.stateSlot(e,0)&n)>0}validAction(e,n){return!!this.allActions(e,r=>r==n?!0:null)}allActions(e,n){let r=this.stateSlot(e,4),o=r?n(r):void 0;for(let i=this.stateSlot(e,1);o==null;i+=3){if(this.data[i]==65535)if(this.data[i+1]==1)i=ro(this.data,i+2);else break;o=n(ro(this.data,i+1))}return o}nextStates(e){let n=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=ro(this.data,r+2);else break;if((this.data[r+2]&1)==0){let o=this.data[r+1];n.some((i,s)=>s&1&&i==o)||n.push(this.data[r],o)}}return n}configure(e){let n=Object.assign(Object.create(Vd.prototype),this);if(e.props&&(n.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);n.top=r}return e.tokenizers&&(n.tokenizers=this.tokenizers.map(r=>{let o=e.tokenizers.find(i=>i.from==r);return o?o.to:r})),e.specializers&&(n.specializers=this.specializers.slice(),n.specializerSpecs=this.specializerSpecs.map((r,o)=>{let i=e.specializers.find(a=>a.from==r.external);if(!i)return r;let s=Object.assign(Object.assign({},r),{external:i.to});return n.specializers[o]=LA(s),s})),e.contextTracker&&(n.context=e.contextTracker),e.dialect&&(n.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(n.strict=e.strict),e.wrap&&(n.wrappers=n.wrappers.concat(e.wrap)),e.bufferLength!=null&&(n.bufferLength=e.bufferLength),n}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let n=this.dynamicPrecedences;return n==null?0:n[e]||0}parseDialect(e){let n=Object.keys(this.dialects),r=n.map(()=>!1);if(e)for(let i of e.split(" ")){let s=n.indexOf(i);s>=0&&(r[s]=!0)}let o=null;for(let i=0;i<n.length;i++)if(!r[i])for(let s=this.dialects[n[i]],a;(a=this.data[s++])!=65535;)(o||(o=new Uint8Array(this.maxTerm+1)))[a]=1;return new tq(e,r,o)}static deserialize(e){return new Vd(e)}}function ro(t,e){return t[e]|t[e+1]<<16}function nq(t){let e=null;for(let n of t){let r=n.p.stoppedAt;(n.pos==n.p.stream.end||r!=null&&n.pos>r)&&n.p.parser.stateFlag(n.state,2)&&(!e||e.score<n.score)&&(e=n)}return e}function LA(t){if(t.external){let e=t.extend?1:0;return(n,r)=>t.external(n,r)<<1|e}return t.get}const rq=_C({String:V.string,Number:V.number,"True False":V.bool,PropertyName:V.propertyName,Null:V.null,", :":V.separator,"[ ]":V.squareBracket,"{ }":V.brace}),oq=Vd.deserialize({version:14,states:"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l",stateData:"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O",goto:"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",nodeNames:"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array",maxTerm:25,nodeProps:[["isolate",-2,6,11,""],["openedBy",7,"{",14,"["],["closedBy",8,"}",15,"]"]],propSources:[rq],skippedNodes:[0],repeatNodeCount:2,tokenData:"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",tokenizers:[0],topRules:{JsonText:[0,1]},tokenPrec:0}),iq=Ou.define({name:"json",parser:oq.configure({props:[iS.add({Object:aS({except:/^\s*\}/}),Array:aS({except:/^\s*\]/})}),lS.add({"Object Array":d8})]}),languageData:{closeBrackets:{brackets:["[","{",'"']},indentOnInput:/^\s*[\}\]]$/}});function $A(){return new Z3(iq)}const sq=t=>h.jsx(nd,{height:"300px",style:{borderRadius:4,overflow:"hidden"},theme:Cm,extensions:[$A()],...t}),{Text:aq}=D.Typography,lq=t=>h.jsx("div",{style:{padding:6,paddingRight:0,border:"1px solid #b0b5cb",borderRadius:4},children:h.jsx(D.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",styles:{body:{width:500}},children:h.jsx(aq,{style:{color:"#b0b5cb"},ellipsis:!0,copyable:{text:t.value},children:t.value})})}),cq=t=>h.jsx(D.Input.Password,{addonBefore:K("link.flow.cipherText"),value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),uq=t=>{var r;const{multiple:e,...n}=t;return h.jsx(D.Select,{style:{borderRadius:6},mode:e?"multiple":void 0,...n,getPopupContainer:o=>o.parentNode,children:(r=t==null?void 0:t.options)==null?void 0:r.map(o=>h.jsx(D.Select.Option,{label:o.label,value:o.value,children:o.label},o.value))})},{TextArea:dq}=D.Input,fq=t=>h.jsx(dq,{value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),hq=t=>h.jsx(D.Input,{addonBefore:K("link.flow.text"),value:t.value,onChange:e=>{var n;return(n=t.onChange)==null?void 0:n.call(t,e.target.value)}}),pq=t=>h.jsx(D.TimePicker,{style:{width:"100%"},value:jt(t.value??"00:00:00","HH:mm:ss"),onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),mq={configFormContainer:"_configFormContainer_s061b_1"},gq=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],Zg=t=>Array.isArray(t)?t.map(e=>{if(typeof e=="string"){const s=e.trim();return s?{label:s,value:s}:null}const n=(e==null?void 0:e.value)??(e==null?void 0:e.label)??"",r=n==null?"":String(n).trim();if(!r)return null;const o=(e==null?void 0:e.label)??"";return{label:o==null?r:String(o).trim()||r,value:r}}).filter(Boolean):[],wq=t=>{const e=t.display_name;switch(t.page_control){case xe.SELECT:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_select")+t.display_name}],label:e,name:t.name,children:h.jsx(uq,{options:Zg(t.option_value_objects??t.option_values),multiple:t.multi_valued})},t.ui_id);case xe.EXTEND_OBJ:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(GU,{valueType:t.value_type})},t.ui_id);case xe.HIDDEN:return h.jsx(D.Form.Item,{style:{display:"none"},required:t.required,label:e,name:t.name,children:h.jsx(RU,{})},t.ui_id);case xe.TEXT:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(hq,{})},t.ui_id);case xe.PASSWORD:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(cq,{})},t.ui_id);case xe.LABEL:return h.jsx(D.Form.Item,{required:t.required,label:e,name:t.name,children:h.jsx(lq,{})},t.ui_id);case xe.DATE:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(UU,{})},t.ui_id);case xe.TIME:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(pq,{})},t.ui_id);case xe.DATETIME:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(qU,{})},t.ui_id);case xe.TEXTAREA:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(fq,{})},t.ui_id);case xe.FIXED_OBJ:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(D.Input.TextArea,{})},t.ui_id);case xe.JSON:return h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:K("link.flow.please_enter")+t.display_name}],label:e,name:t.name,children:h.jsx(sq,{})},t.ui_id)}},bq=t=>{switch(t.page_control){case xe.SELECT:return t.multi_valued?[]:null;case xe.EXTEND_OBJ:return{};case xe.HIDDEN:return"";case xe.TEXT:return"";case xe.PASSWORD:return"";case xe.LABEL:return"";case xe.DATE:return null;case xe.TIME:return null;case xe.DATETIME:return null;case xe.TEXTAREA:return"";case xe.FIXED_OBJ:return"";case xe.JSON:return JSON.stringify({})}},zA=y.memo(t=>{var c;const{config:e,proxy_id:n,connector:r}=t,[o]=D.Form.useForm(),i=y.useRef(null),s=Et.useReactive({proxyId:"0"});y.useEffect(()=>{var u;(u=e==null?void 0:e.sub_params)!=null&&u.length&&o.setFieldsValue({...e.sub_params.reduce((d,f)=>{let p=f.value;return f.page_control===xe.EXTEND_OBJ&&(p=gq(p)),d[f.name]=p??bq(f),d},{})})},[e,o]),y.useEffect(()=>{n&&(s.proxyId=n)},[n]);const a=()=>{o.validateFields().then(async u=>{var d;u.proxy_id=(d=i.current)==null?void 0:d.getProxyId(),t.onSubmit(u)})},l=()=>{o.validateFields().then(async u=>{var d;u.proxy_id=(d=i.current)==null?void 0:d.getProxyId(),t.onSubmit(u,!0)})};return h.jsxs("div",{className:Gr.formLayout,style:{position:"relative"},onClick:u=>{u.stopPropagation(),u.preventDefault()},children:[h.jsx("div",{className:Gr.formContent,children:h.jsxs(D.Form,{form:o,layout:"vertical",className:`${mq.configFormContainer} workflow-credential-form`,children:[(c=e==null?void 0:e.sub_params)==null?void 0:c.map(u=>h.jsxs("div",{children:[wq(u),u.page_control!==xe.HIDDEN&&h.jsx("p",{className:"field-desc",children:u.description})]},u.ui_id)),r.deployment_type!=="SaasApp"?h.jsx(Jg,{proxyId:s.proxyId,ref:i}):null]})}),t.auth_type==="RDBMS_ACCOUNT"&&h.jsx("div",{className:Gr.rdbmsTestAction,children:h.jsx(D.Button,{type:"primary",style:{width:"100%"},onClick:l,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.connection-test"})})}),h.jsxs("div",{className:Gr.formActions,children:[h.jsx(D.Button,{icon:h.jsx(se.RollbackOutlined,{}),style:{width:90,borderRadius:4,marginRight:10},onClick:t.onCancel,children:h.jsx(Te.FormattedMessage,{id:"app.common.word.cancel"})}),h.jsx(D.Button,{type:"primary",icon:h.jsx(se.CloudUploadOutlined,{}),style:{width:90,borderRadius:4},onClick:()=>a(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})]})]})}),vq={overflow:"hidden"},yq=72,Cq=16,kq=t=>{const{visible:e,connector:n,config:r,formSchema:o,onCancel:i,onSubmit:s,auth_type:a,inAI:l}=t;return h.jsx(D.Modal,{title:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-account"}),style:{marginTop:0,paddingBottom:0,position:"absolute",top:yq,bottom:Cq,left:12,right:12,maxWidth:"calc(100% - 24px)",marginInline:"auto"},className:Gr.accountModal,mask:!1,getContainer:()=>document.getElementById("flow-designer-container"),zIndex:Fc.nestedModal,width:560,styles:{body:vq},footer:null,maskClosable:!l,open:e,onCancel:i,children:o?h.jsx(NA,{formSchema:o,connector:n,authType:a,onCancel:i,onSubmit:s}):h.jsx(zA,{config:r,connector:n,nodeId:"",auth_type:a,onCancel:i,onSubmit:s})})},Sq={overflow:"hidden"},Eq=72,xq=16,Dq=t=>{const{visible:e,connector:n,config:r,formSchema:o,initialValues:i,onCancel:s,onSubmit:a,auth_type:l,proxy_id:c,inAI:u}=t;return h.jsx(D.Modal,{title:K("link.flow.edit_account"),mask:!1,style:{marginTop:0,paddingBottom:0,position:"absolute",top:Eq,bottom:xq,left:12,right:12,maxWidth:"calc(100% - 24px)",marginInline:"auto"},className:Gr.accountModal,getContainer:()=>document.getElementById("flow-designer-container"),zIndex:Fc.nestedModal,width:560,footer:null,styles:{body:Sq},open:e,maskClosable:!u,onCancel:s,children:o?h.jsx(NA,{formSchema:o,initialValues:i,connector:n,proxy_id:c,authType:l,onCancel:s,onSubmit:a}):h.jsx(zA,{config:r,proxy_id:c,connector:n,nodeId:"",auth_type:l,onCancel:s,onSubmit:a})})},_i={accountOption:"_accountOption_4vdjt_14",accountName:"_accountName_4vdjt_21",nameEditIcon:"_nameEditIcon_4vdjt_34",editInputWrapper:"_editInputWrapper_4vdjt_44",nameEditInput:"_nameEditInput_4vdjt_48",accountActions:"_accountActions_4vdjt_53",updateTime:"_updateTime_4vdjt_58"},_q=t=>t?Object.keys(t).map(e=>({key:e,value:t[e]})):[],ew=(t=[])=>{const e={};return t.forEach(n=>{e[n.key]=n.value}),e},Aq={eq:"EQ",ne:"NOT",in:"IN",notin:"NOT_IN",not_in:"NOT_IN",gt:"GT",lt:"LT",gte:"GE",lte:"LE"};function Oq(t){if(!(t!=null&&t.field)||!t.operator)return;const e=Aq[String(t.operator).toLowerCase()];if(e)return{deps:[t.field],conditions:{key:t.field,keyword:e,value:t.value}}}function Tq(t){return cn(t.visible_when)??Oq(t.display_condition)}const HA={STRING:ge.TEXT,TEXTAREA:ge.TEXTAREA,PASSWORD:ge.PASSWORD,HIDDEN:ge.HIDDEN,NUMBER:ge.NUMBER,BOOLEAN:ge.SWITCH,SELECT:ge.SELECT,DATETIME:ge.DATETIME,CODE:ge.CODE,PROXY:ge.PROXY,OBJECT:ge.OBJECT,ARRAY:ge.ARRAY,DYNAMIC_ARRAY:ge.ARRAY,KEYVALUE:ge.KEY_VALUE},VA=t=>String(t.type??"").toUpperCase(),Nq=t=>t.item_schema??[],jA=t=>String(t.item_type??"").toUpperCase(),cn=t=>t??void 0,Bq=t=>Object.fromEntries((t??[]).map(e=>[e.key,nw(e)])),Fq=t=>{const e=String(t.picker_mode??"DATETIME").toUpperCase();return e==="DATE"?ge.DATE:e==="TIME"?ge.TIME:ge.DATETIME},tw=t=>{const e=String(t.picker_mode??"DATETIME").toUpperCase();return e==="DATE"?"YYYY-MM-DD":e==="TIME"?"HH:mm:ss":"YYYY-MM-DD HH:mm:ss"},Mq=t=>({type:HA[jA(t)]||ge.TEXT,name:"item",label:t.item_label||"项"});function Iq(t){if(!t)return[];const e=[],n=t.minLength??t.min_length,r=t.maxLength??t.max_length;return n!=null&&e.push({type:"min",value:n,message:`最少 ${n} 个字符`}),r!=null&&e.push({type:"max",value:r,message:`最多 ${r} 个字符`}),t.pattern&&e.push({type:"pattern",value:t.pattern,message:"格式不正确"}),t.min!=null&&e.push({type:"min",value:t.min,message:`最小值 ${t.min}`}),t.max!=null&&e.push({type:"max",value:t.max,message:`最大值 ${t.max}`}),e}function nw(t){var r,o,i;const e=VA(t)==="DATETIME"?Fq(t):HA[VA(t)]||ge.TEXT,n={type:e,name:t.key,label:t.label||t.key,placeholder:cn(t.placeholder),helpText:cn(t.help_text),defaultValue:cn(t.default_value),required:cn(t.required),disabled:cn(t.disabled),visibleWhen:Tq(t),rules:Iq(t.validation),valueModePolicy:cn(t.value_mode_policy)};switch(e){case ge.SELECT:return{...n,type:ge.SELECT,options:(r=t.options)==null?void 0:r.map(s=>({label:s.label,value:s.value})),showSearch:!0,allowClear:!0};case ge.NUMBER:return{...n,type:ge.NUMBER,min:cn((o=t.validation)==null?void 0:o.min),max:cn((i=t.validation)==null?void 0:i.max)};case ge.DATETIME:return{...n,type:ge.DATETIME,showTime:!0,format:tw(t),outputFormat:"string"};case ge.DATE:return{...n,type:ge.DATE,format:tw(t),outputFormat:"string"};case ge.TIME:return{...n,type:ge.TIME,format:tw(t),outputFormat:"string"};case ge.OBJECT:return{...n,type:ge.OBJECT,properties:Bq(t.properties)};case ge.ARRAY:if(jA(t)==="OBJECT"){const s=Nq(t).map(nw);return{...n,type:ge.ARRAY_OBJECT,columns:s,minItems:cn(t.min_items),maxItems:cn(t.max_items),columnLayout:s.length>1?"grid":"vertical",titleFieldName:void 0}}return{...n,type:ge.ARRAY,itemSchema:Mq(t),minItems:cn(t.min_items),maxItems:cn(t.max_items),itemLabel:cn(t.item_label)};case ge.KEY_VALUE:return{...n,type:ge.KEY_VALUE,keyPlaceholder:cn(t.key_placeholder),valuePlaceholder:cn(t.value_placeholder)};default:return n}}function WA(t){return{fields:t.map(nw),layout:"vertical"}}const UA=(...t)=>{for(const e of t)if(typeof e=="string"&&e.trim())return e.trim()};function Pq(t){if(!t)return null;const e=UA(t.key,t.credentialKey,t.name);return e?{key:e,label:UA(t.displayName,t.label,t.name,e)??e,required:t.required===!0}:null}function rw(t){if(!Array.isArray(t))return[];const e=[],n=new Set;for(const r of t){const o=Pq(r);!o||n.has(o.key)||(n.add(o.key),e.push(o))}return e}function Lq(t){var n,r;const e=rw(t);return((n=e.find(o=>o.required))==null?void 0:n.key)??((r=e[0])==null?void 0:r.key)}const $q=D.Form.Item,{Option:zq}=D.Select,{Text:Hq,Title:gre}=D.Typography,Ts="[workflow:account-debug]",Vq=t=>!!(t&&/^\d+$/.test(t)),Ai=t=>t&&typeof t=="object"&&!Array.isArray(t)?Object.keys(t):[],jq=t=>Array.isArray(t)?t.map(e=>e==null?void 0:e.key).filter(Boolean):[],Wq=t=>!!(t&&typeof t=="object"&&Array.isArray(t.sub_params)),Uq=t=>[t==null?void 0:t.auth_schema,t==null?void 0:t.config_schema,t==null?void 0:t.schema,t].find(Wq)??{},qA=t=>{var o,i,s,a,l;const e=(o=t==null?void 0:t.credential_schema)==null?void 0:o.fields,n=(i=t==null?void 0:t.auth_schema)==null?void 0:i.sub_params,r=((s=t==null?void 0:t.config_schema)==null?void 0:s.sub_params)??(t==null?void 0:t.sub_params);return{type:Array.isArray(t)?"array":t===null?"null":typeof t,keys:Ai(t),id:t==null?void 0:t.id,auth_type:t==null?void 0:t.auth_type,account_key:(t==null?void 0:t.account_key)??((a=t==null?void 0:t.credential_schema)==null?void 0:a.key),account_ver:(t==null?void 0:t.account_ver)??((l=t==null?void 0:t.credential_schema)==null?void 0:l.version),credentialSchemaKeys:Ai(t==null?void 0:t.credential_schema),credentialFieldCount:Array.isArray(e)?e.length:void 0,credentialFieldKeys:jq(e),authSchemaKeys:Ai(t==null?void 0:t.auth_schema),authSchemaSubParamCount:Array.isArray(n)?n.length:void 0,authSchemaSubParamNames:Array.isArray(n)?n.map(c=>c==null?void 0:c.name).filter(Boolean):void 0,configSchemaKeys:Ai(t==null?void 0:t.config_schema),configSubParamCount:Array.isArray(r)?r.length:void 0}},ow=t=>({keys:Ai(t),subParamCount:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.length:0,subParamNames:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.map(e=>e==null?void 0:e.name).filter(Boolean):[],subParamControls:Array.isArray(t==null?void 0:t.sub_params)?t.sub_params.map(e=>e==null?void 0:e.page_control).filter(Boolean):[]}),jd=(t,e)=>{var n,r;return{account_key:(t==null?void 0:t.account_key)??((n=t==null?void 0:t.credential_schema)==null?void 0:n.key)??e??null,account_ver:(t==null?void 0:t.account_ver)??((r=t==null?void 0:t.credential_schema)==null?void 0:r.version)??null}},GA=t=>{const e=t==null?void 0:t.credential_schema,n=e==null?void 0:e.fields;return(!Array.isArray(n)||!n.length)&&console.warn(`${Ts} credential_schema.fields missing or empty`,{model:qA(t)}),Array.isArray(n)&&n.length?WA(n):null},qq=({value:t,onChange:e,linkApp:n,actionAccountSchemaId:r,selectTitle:o="授权配置",disabled:i=!1,placeholder:s="请选择账号"})=>{const[a,l]=y.useState([]),[c,u]=y.useState(!1),[d,f]=y.useState(!1),[p,m]=y.useState(!1),v=y.useRef(null),b=y.useRef(null),w=D.Form.useFormInstance(),g=y.useMemo(()=>r?`_account_${r}`:"_account",[r]);y.useEffect(()=>{w&&w.validateFields([g]).catch(()=>{})},[t,w,g]);const C=Et.useReactive({createModalVisible:!1,modifyModalVisible:!1,configModel:{},credentialFormSchema:null,credentialInitialValues:{},schemaMeta:{},account_scheme_id:"",name:"",auth_type:"",modifyId:"",proxy_id:"",editId:"",editValue:"",createLoading:!1,createRequestLock:!1,isEditing:!1}),k=r==null?void 0:String(r),_=async()=>{if(!(!(n!=null&&n.id)&&!k)){u(!0);try{const M=Vq(k)?n==null?void 0:n.id:void 0,z=await Gy(M,k);z?l(z.items||[]):D.message.error("获取账号列表失败")}catch(M){console.error(`${Ts} 获取账号列表失败:`,M),D.message.error("获取账号列表失败")}finally{u(!1)}}};y.useEffect(()=>{_()},[n==null?void 0:n.id,k]),y.useEffect(()=>{C.editId&&v.current&&setTimeout(()=>{var M;(M=v.current)==null||M.focus()},100)},[C.editId]);const S=M=>{if(p){f(!0);return}f(M)},E=()=>{if(!C.editId||!C.editValue){C.editId="",C.isEditing=!1,m(!1);return}Hy(C.editId,C.editValue).then(()=>{_(),C.editId="",C.editValue="",C.isEditing=!1,m(!1),D.message.success(K("link.flow.modification_success"))}).catch(()=>{C.editId="",C.isEditing=!1,m(!1)})},x=(M,z,H)=>{M.stopPropagation(),M.preventDefault(),C.isEditing=!0,m(!0),f(!0),C.editId=z,C.editValue=H,setTimeout(()=>{b.current&&b.current.focus()},0)},O=M=>{M.stopPropagation(),M.preventDefault(),m(!0)},A=M=>{C.isEditing||e&&e(M)},T=()=>{if(!k){D.message.error("未配置账号模式");return}C.createLoading=!0,Jf(k).then(M=>{var Y;const z=GA(M),H=jd(M,k),R=z?{}:Uq(M);z||console.warn(`${Ts} create modal will use legacy DynamicAccountForm`,{reason:"credentialFormSchema is null",model:qA(M),configModel:ow(R)}),C.credentialFormSchema=z,C.credentialInitialValues={},C.schemaMeta=H,C.configModel=R,C.account_scheme_id=M.id,C.name=M.name,C.auth_type=M.auth_type??((Y=M.credential_schema)==null?void 0:Y.type),C.createModalVisible=!0}).catch(M=>{console.error(`${Ts} account model load failed for create`,{schemaId:k,error:M})}).finally(()=>{C.createLoading=!1})},B=M=>{Ly(M).then(async z=>{var U;const H=z.account_schema_id,R=z.account_key,Y=z.account_ver,te=R??H??k;let $=null;if(te)try{$=await Jf(String(te),Y)}catch(ee){console.error("获取账号模型失败:",ee)}const j=GA($);C.credentialFormSchema=j,C.credentialInitialValues=j?z.config??{}:{},C.schemaMeta={...jd($,R??k),account_key:R??jd($,k).account_key,account_ver:Y??jd($).account_ver},C.configModel=j?{}:z.config,C.account_scheme_id=H??($==null?void 0:$.id)??z.id,C.name=z.name,C.proxy_id=z.proxy_id,C.auth_type=z.auth_type??($==null?void 0:$.auth_type)??((U=$==null?void 0:$.credential_schema)==null?void 0:U.type)??"",C.modifyId=M,C.modifyModalVisible=!0})},I=y.useCallback((M,z)=>{if(C.createRequestLock)return;let H=M;if(!C.credentialFormSchema){if(H=Pt.cloneDeep(C.configModel),!Array.isArray(H==null?void 0:H.sub_params)){console.error(`${Ts} create account legacy config has no sub_params`,{configModel:ow(C.configModel),valueKeys:Ai(M)}),D.message.error("账号模型配置为空,无法保存");return}H.sub_params.forEach(Y=>{let te=M[Y.name];Y.page_control===xe.EXTEND_OBJ&&(te=ew(te)),Y.value=te})}const R=M.proxy_id;delete M.proxy_id,C.createRequestLock=!0,z?Zf((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,C.modifyId,R,C.schemaMeta).then(Y=>{Y&&D.message.success("测试连接成功!")}).finally(()=>{C.createRequestLock=!1}):$y((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,R,C.schemaMeta).then(()=>{D.message.success(K("link.flow.creation_success")),_(),C.createModalVisible=!1}).finally(()=>{C.createRequestLock=!1})},[]),F=y.useCallback(()=>{C.createModalVisible=!1},[]),N=(M,z)=>{let H=M;if(!C.credentialFormSchema){if(H=Pt.cloneDeep(C.configModel),!Array.isArray(H==null?void 0:H.sub_params)){console.error(`${Ts} modify account legacy config has no sub_params`,{configModel:ow(C.configModel),valueKeys:Ai(M)}),D.message.error("账号模型配置为空,无法保存");return}H.sub_params.forEach(Y=>{let te=M[Y.name];Y.page_control===xe.EXTEND_OBJ&&(te=ew(te)),Y.value=te})}const R=M.proxy_id;delete M.proxy_id,z?Zf((n==null?void 0:n.id)??null,C.account_scheme_id,C.auth_type,C.name,H,C.modifyId,R,C.schemaMeta).then(Y=>{Y&&D.message.success("测试连接成功!")}):zy(C.modifyId,null,null,null,null,H,R,C.schemaMeta).then(()=>{D.message.success(K("link.flow.modification_success")),_(),C.modifyModalVisible=!1,C.modifyId=""})},P=M=>h.jsxs("div",{children:[M,h.jsx(D.Divider,{style:{margin:"4px 0"}}),h.jsx("div",{style:{padding:"4px",textAlign:"center"},children:h.jsx(D.Button,{icon:h.jsx(se.UserAddOutlined,{}),onClick:T,loading:C.createLoading,type:"link",block:!0,children:"创建新账号"})})]});return h.jsxs(h.Fragment,{children:[h.jsx($q,{label:o,layout:"vertical",required:!0,name:g,initialValue:t,rules:[{validator:()=>t?Promise.resolve():Promise.reject(new Error(s||"请选择账号"))}],children:h.jsx(D.Select,{ref:b,value:t,onChange:A,style:{width:"100%"},placeholder:s,disabled:i,loading:c,allowClear:!0,popupRender:P,classNames:{popup:{root:"workflow-account-select__popup"}},listHeight:320,open:d,onOpenChange:S,children:a.map(M=>h.jsx(zq,{value:M.id,children:h.jsxs("div",{className:_i.accountOption,onClick:z=>{C.isEditing&&z.stopPropagation()},children:[h.jsx("div",{className:`${_i.accountName} workflow-account-select__name`,children:C.editId!==M.id?h.jsxs(y.Fragment,{children:[h.jsx("span",{children:M.name}),h.jsx(se.EditOutlined,{className:`${_i.nameEditIcon} workflow-account-select__edit`,onClick:z=>x(z,M.id,M.name)})]}):h.jsx("div",{className:_i.editInputWrapper,onClick:O,children:h.jsx(D.Input,{ref:v,defaultValue:M.name,className:_i.nameEditInput,onClick:O,onMouseDown:z=>{z.stopPropagation(),z.preventDefault()},onFocus:z=>{z.stopPropagation(),m(!0)},onPressEnter:z=>{z.stopPropagation(),z.preventDefault(),E()},onBlur:()=>{E()},onChange:z=>{C.editValue=z.target.value}})})}),h.jsxs("div",{className:_i.accountActions,children:[h.jsx(Hq,{type:"secondary",className:_i.updateTime,children:jt(Number(M.update_time)*1e3).format("YYYY-MM-DD HH:mm:ss")}),h.jsx(D.Button,{type:"link",icon:h.jsx(se.FileSearchOutlined,{}),size:"small",onClick:z=>{z.stopPropagation(),B(M.id)},children:"编辑"})]})]})},M.id))})}),h.jsx(kq,{onSubmit:I,onCancel:F,inAI:!0,auth_type:C.auth_type,config:C.configModel,formSchema:C.credentialFormSchema,visible:C.createModalVisible,connector:n}),h.jsx(Dq,{onSubmit:N,inAI:!0,onCancel:()=>{C.modifyModalVisible=!1},proxy_id:C.proxy_id,auth_type:C.auth_type,config:C.configModel,formSchema:C.credentialFormSchema,initialValues:C.credentialInitialValues,visible:C.modifyModalVisible,connector:n})]})},RA=({credentialRequirements:t,actionAccountSchemaId:e,value:n,onChange:r,...o})=>{var l;const i=y.useMemo(()=>{const c=e?[{key:String(e)}]:[];return rw(t!=null&&t.length?t:c)},[e,t]),[s,a]=y.useState(n?(l=i[0])==null?void 0:l.key:void 0);return y.useEffect(()=>{var c;if(!n){a(void 0);return}!s&&((c=i[0])!=null&&c.key)&&a(i[0].key)},[s,i,n]),i.length===0?null:h.jsx(y.Fragment,{children:i.map(c=>h.jsx(qq,{...o,actionAccountSchemaId:c.key,selectTitle:i.length>1?c.label:"授权配置",value:s===c.key?n:void 0,onChange:u=>{a(u?c.key:void 0),r==null||r(u)}},c.key))})},Gq=(t=32)=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=new Uint8Array(t);return crypto.getRandomValues(n),Array.from(n,r=>e[r%e.length]).join("")},Rq=t=>{const{value:e,onChange:n,disabled:r}=t,[o,i]=y.useState(e||""),[s,a]=y.useState(!1);y.useEffect(()=>{e!==void 0&&e!==o&&i(e)},[e,o]);const l=()=>{const f=Gq();i(f),a(!0),n==null||n(f)},c=()=>{l()},u=async()=>{if(!o){D.message.warning(K("components.authTokenField.emptyTokenWarning"));return}try{await navigator.clipboard.writeText(o),D.message.success(K("components.authTokenField.copySuccess"))}catch{D.message.error(K("components.authTokenField.copyFailed"))}},d=()=>{a(f=>!f)};return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[h.jsx(D.Input,{style:{flex:1},value:o,readOnly:!0,type:s?"text":"password",placeholder:K("components.authTokenField.placeholder")}),h.jsx(D.Tooltip,{title:K("components.authTokenField.copy"),children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:u,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(s?"components.authTokenField.hideToken":"components.authTokenField.showToken"),children:h.jsx(D.Button,{icon:s?h.jsx(se.EyeInvisibleOutlined,{}):h.jsx(se.EyeOutlined,{}),onClick:d,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(o?"components.authTokenField.regenerate":"components.authTokenField.generate"),children:h.jsx(D.Button,{icon:h.jsx(se.SyncOutlined,{}),onClick:c,disabled:r,type:"primary",ghost:!0})})]})},Kq=(t=32)=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=new Uint8Array(t);return crypto.getRandomValues(n),Array.from(n,r=>e[r%e.length]).join("")},Yq=t=>{const{value:e,onChange:n,disabled:r}=t,[o,i]=y.useState(e||""),[s,a]=y.useState(!1);y.useEffect(()=>{e!==void 0&&e!==o&&i(e)},[e,o]);const l=()=>{const f=Kq();i(f),a(!0),n==null||n(f)},c=()=>{if(!o){l();return}D.Modal.confirm({title:K("common.info"),content:K("components.authTokenField.regenerateConfirm"),okText:K("app.common.word.confirm"),cancelText:K("app.common.word.cancel"),onOk:l})},u=async()=>{if(!o){D.message.warning(K("components.authTokenField.emptyTokenWarning"));return}try{await navigator.clipboard.writeText(o),D.message.success(K("components.authTokenField.copySuccess"))}catch{D.message.error(K("components.authTokenField.copyFailed"))}},d=()=>{a(f=>!f)};return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[h.jsx(D.Input,{style:{flex:1},value:o,readOnly:!0,type:s?"text":"password",placeholder:K("components.authTokenField.placeholder")}),h.jsx(D.Tooltip,{title:K("components.authTokenField.copy"),children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:u,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(s?"components.authTokenField.hideToken":"components.authTokenField.showToken"),children:h.jsx(D.Button,{icon:s?h.jsx(se.EyeInvisibleOutlined,{}):h.jsx(se.EyeOutlined,{}),onClick:d,disabled:r||!o})}),h.jsx(D.Tooltip,{title:K(o?"components.authTokenField.regenerate":"components.authTokenField.generate"),children:h.jsx(D.Button,{icon:h.jsx(se.SyncOutlined,{}),onClick:c,disabled:r,type:"primary",ghost:!0})})]})},KA=10,Xq=["OAUTH","OAUTH2","OIDC"],Jq=t=>{const e=new Set([...t.support_protocol??[],...t.auth_protocol?[t.auth_protocol]:[]]);return Array.from(e).some(n=>Xq.includes(n))},Qq=t=>{const{value:e,onChange:n,disabled:r}=t,o=Sl(),[i,s]=y.useState([]),[a,l]=y.useState(!1),[c,u]=y.useState(!1),[d,f]=y.useState(""),[p,m]=y.useState(1),[v,b]=y.useState(!1),w=y.useRef(0),g=y.useMemo(()=>`${window.location.origin}/iam/token`,[]),C=async(O=1,A=!1,T="")=>{const B=w.current+1;w.current=B,A?u(!0):l(!0);try{const I=await Ry({current:O,pageSize:KA},{filter:T});if(w.current!==B)return;const F=(I.items??[]).filter(Jq),P=(A?[...i,...F]:F).filter((M,z,H)=>H.findIndex(R=>R.client_id===M.client_id)===z);s(P),m(O),b((I.total??0)>O*KA)}catch{w.current===B&&D.message.error(K("components.selectOAuth2ClientField.fetchFailed"))}finally{w.current===B&&(l(!1),u(!1))}};let k=null;y.useEffect(()=>{k&&(clearTimeout(k),k=null),k=window.setTimeout(()=>{C(1,!1,d.trim())},300)},[d]);const _=async()=>{!v||a||c||await C(p+1,!0,d.trim())},S=async()=>{try{await navigator.clipboard.writeText(g),D.message.success(K("components.selectOAuth2ClientField.copySuccess"))}catch{D.message.error(K("components.selectOAuth2ClientField.copyFailed"))}},E=()=>{o("/apps/manage",!0)},x=()=>{o("https://1in15q85qd.apifox.cn/8698545m0",!0)};return h.jsxs(D.Space,{direction:"vertical",size:12,style:{width:"100%"},children:[h.jsxs("div",{children:[h.jsx(D.Select,{value:e,onChange:n,disabled:r,loading:a,showSearch:!0,filterOption:!1,optionLabelProp:"label",placeholder:K("components.selectOAuth2ClientField.placeholder"),onSearch:f,notFoundContent:a?h.jsx(D.Spin,{size:"small"}):null,getPopupContainer:O=>O.parentNode,popupRender:O=>h.jsxs("div",{children:[O,!a&&i.length===0?h.jsx("div",{style:{padding:"16px 12px"},children:h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:h.jsxs(D.Space,{direction:"vertical",size:4,children:[h.jsx(D.Typography.Text,{type:"secondary",children:K("components.selectOAuth2ClientField.emptyTitle")}),h.jsx(D.Typography.Text,{type:"secondary",style:{fontSize:12},children:K("components.selectOAuth2ClientField.emptyDescription")})]}),children:h.jsx(D.Button,{type:"primary",ghost:!0,icon:h.jsx(se.LinkOutlined,{}),onClick:E,children:K("components.selectOAuth2ClientField.goToAppManage")})})}):null,i.length>0?h.jsx("div",{style:{padding:"8px 12px",textAlign:"center",borderTop:"1px solid #f0f0f0"},children:h.jsx(D.Button,{type:"link",icon:h.jsx(se.ReloadOutlined,{}),onClick:_,loading:c,disabled:!v,children:K(v?"components.selectOAuth2ClientField.loadMore":"components.selectOAuth2ClientField.loadedAll")})}):null]}),options:i.map(O=>({label:O.client_name,value:O.client_id}))}),h.jsxs(D.Typography.Text,{type:"secondary",style:{display:"block",marginTop:8,fontSize:12},children:[K("components.selectOAuth2ClientField.selectDescriptionPrefix"),h.jsx(D.Button,{style:{padding:0},type:"link",onClick:E,children:K("components.selectOAuth2ClientField.goToAppManage")}),K("components.selectOAuth2ClientField.selectDescriptionSuffix")]})]}),h.jsxs("div",{children:[h.jsx(D.Typography.Text,{strong:!0,style:{display:"block",marginBottom:8},children:K("components.selectOAuth2ClientField.tokenEndpoint")}),h.jsxs(D.Space.Compact,{block:!0,className:"workflow-oauth-token-endpoint",children:[h.jsx(D.Input,{value:g,readOnly:!0}),h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),onClick:S,disabled:r,children:K("components.selectOAuth2ClientField.copy")})]}),h.jsxs(D.Typography.Text,{type:"secondary",style:{display:"block",marginTop:8,fontSize:12},children:[K("components.selectOAuth2ClientField.tokenDescriptionPrefix"),h.jsx(D.Button,{style:{padding:0},type:"link",onClick:x,children:K("components.selectOAuth2ClientField.documentation")})]})]})]})},Zq=({children:t,value:e,onChange:n})=>{const[r,o]=y.useState(e==="{{$fromAI}}"),i=()=>{const a=!r;o(a),a?n==null||n("{{$fromAI}}"):n==null||n("")},s=()=>r?h.jsxs("div",{style:{position:"relative"},children:[h.jsx(D.Input,{value:"由AI生成 ",readOnly:!0,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"1px solid transparent",borderImage:"linear-gradient(45deg, #00d4ff, #9b59b6, #e74c3c) 1",color:"#ffffff",fontWeight:"500",textShadow:"0 1px 2px rgba(0,0,0,0.3)",borderRadius:"6px",fontSize:"13px",paddingLeft:"32px",paddingRight:"28px",height:"32px",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)"},prefix:h.jsx("div",{style:{background:"linear-gradient(45deg, #00d4ff, #1e3c72)",borderRadius:"50%",width:"16px",height:"16px",display:"flex",alignItems:"center",justifyContent:"center",marginRight:"4px",animation:"pulse 2s ease-in-out infinite alternate"},children:h.jsx("span",{style:{color:"#fff",fontSize:"8px"},children:"AI"})}),suffix:h.jsx(D.Button,{type:"text",size:"small",onClick:i,style:{color:"#ffffff",border:"none",background:"rgba(255,255,255,0.2)",borderRadius:"50%",width:"18px",height:"18px",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease",minWidth:"18px",padding:0},onMouseEnter:a=>{a.currentTarget.style.background="rgba(255,255,255,0.3)",a.currentTarget.style.transform="scale(1.1)"},onMouseLeave:a=>{a.currentTarget.style.background="rgba(255,255,255,0.2)",a.currentTarget.style.transform="scale(1)"},children:h.jsx(se.CloseOutlined,{style:{fontSize:"10px"}})})}),h.jsx("style",{children:`
113
113
  @keyframes pulse {
114
114
  0% { box-shadow: 0 0 0 0 rgba(0, 212, 255, 0.6); }
115
115
  100% { box-shadow: 0 0 0 6px rgba(0, 212, 255, 0); }
116
116
  }
117
- `})]}):y.isValidElement(t)?y.cloneElement(t,{value:e,onChange:n,...t.props}):t;return h.jsxs(h.Fragment,{children:[!r&&h.jsx("div",{style:{marginBottom:6,textAlign:"right"},children:h.jsxs(D.Button,{size:"small",type:"primary",onClick:i,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"none",borderRadius:"14px",padding:"0 10px",height:"24px",fontSize:"11px",fontWeight:"500",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)",transition:"all 0.2s ease",display:"flex",alignItems:"center",gap:"4px",lineHeight:1},onMouseEnter:a=>{a.currentTarget.style.transform="translateY(-1px)",a.currentTarget.style.boxShadow="0 4px 12px rgba(102, 126, 234, 0.5)"},onMouseLeave:a=>{a.currentTarget.style.transform="translateY(0)",a.currentTarget.style.boxShadow="0 2px 8px rgba(102, 126, 234, 0.3)"},children:[h.jsx(se.RobotOutlined,{style:{fontSize:"11px"}}),"由AI生成"]})}),s()]})},eG=t=>{var n;const e=In();return h.jsx(D.Select,{id:e,style:{borderRadius:6},...t,getPopupContainer:r=>r.parentNode,children:(n=t==null?void 0:t.options)==null?void 0:n.map(r=>h.jsx(D.Select.Option,{label:r.label,value:r.value,children:r.label},r.value))})},tG=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",value:t.value?jt(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),nG=t=>h.jsx(y.Fragment,{children:h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:t.value?jt(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}})}),rG=({value:t=[],onChange:e,selectType:n="KNOWLEDGE_BASE",placeholder:r="请选择"})=>{const o=Et.useReactive({items:[]}),[i,s]=y.useState([]),[a,l]=y.useState(!1);y.useEffect(()=>{n&&(l(!0),Uy(n).then(p=>{p&&Array.isArray(p)&&s(p)}).catch(p=>{console.error("获取选项失败:",p),s([])}).finally(()=>{l(!1)}))},[n]),y.useEffect(()=>{const p=Array.isArray(t)?t:[];o.items=p.map(m=>({...m,id:m.id??In()}))},[t]);const c=Ot(),u=p=>{const m=o.items.filter(v=>v.id!==p);e==null||e(m)},d=()=>{e([...o.items,{value:"",id:In()}])},f=(p,m)=>{e(o.items.map((v,b)=>b===p?{...v,value:m}:v))};return h.jsxs("div",{children:[o.items.length?o.items.map((p,m)=>h.jsxs(D.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Select,{value:p.value||void 0,onChange:v=>f(m,v),placeholder:r,style:{width:300},disabled:!c||a,loading:a,options:i,showSearch:!0,filterOption:(v,b)=>((b==null?void 0:b.label)??"").toLowerCase().includes(v.toLowerCase()),getPopupContainer:v=>v.parentNode}),c&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{u(p.id)}})]},p.id)):null,c&&h.jsx(D.Button,{type:"default",onClick:d,block:!0,icon:h.jsx(br,{size:16}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})})]})},oG=({value:t=[],onChange:e,valueType:n})=>{const r=u=>{let d=[...o.items];d=d.filter(f=>f.id!==u),e==null||e(d)},o=Et.useReactive({items:[]}),i=u=>{const d=u.which||u.keyCode;(d===37||d===229)&&u.preventDefault()};y.useEffect(()=>{const u=Array.isArray(t)?t:[];o.items=u.map(d=>({...d,id:d.id??In()}))},[t]);const s=()=>{e==null||e([...o.items,{key:"",value:"",id:In()}])},a=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,key:d}:f))},l=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,value:d}:f))},c=Ot();return h.jsxs("div",{className:"workflow-extend-object",children:[o.items.length?o.items.map((u,d)=>h.jsxs(D.Space,{size:"small",className:"workflow-extend-object__row",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Input,{defaultValue:u.key,onKeyDown:i,onChange:f=>{var p;a(u.id,(p=f.target.value)==null?void 0:p.replace(/'/g,""))},placeholder:"Key"}),h.jsx("span",{className:"workflow-extend-object__value",style:{display:"inline-block",transform:"translateY(2px)",width:300},children:h.jsx(Pn,{borrow:!0,disableIDE:!0,placeholder:"Value",style:{width:300},value:u.value,onChange:f=>l(u.id,f),valueType:n,nodeId:""})}),c&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{r(u.id)}})]},u.id)):null,h.jsxs(D.Button,{type:"default",onClick:s,block:!0,children:[h.jsx(br,{size:16})," ",h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})]})]})},iG=t=>null,sG=t=>h.jsx(D.TimePicker,{style:{width:"100%"},use12Hours:!1,format:"HH:mm",value:t.value?jt(t.value,"HH:mm"):null,onChange:e=>{const n=jt(e).format("HH:mm:00");t.onChange&&(t==null||t.onChange(n))}}),{Text:aG}=D.Typography,YA=t=>h.jsx("div",{className:"ce-tag_input label-field",children:h.jsx("p",{children:h.jsx(D.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",children:h.jsx(aG,{ellipsis:!0,copyable:{text:t.value},children:t.value})})})}),lG=({value:t=[],onChange:e,...n})=>{const[r,o]=y.useState([]);y.useEffect(()=>{const f=Array.isArray(t)?t:[];o(f.map(p=>({...p,id:p.id??In()})))},[t]);const i=Ot(),s=f=>{const p=r.filter(m=>m.id!==f);o(p),e==null||e(p)},a=()=>{const f={field:"",dataType:"string",desc:"",required:!1,id:In()},p=[...r,f];o(p),e(p)},l=(f,p)=>{const m=r.map(v=>v.id===f?{...v,field:p}:v);o(m),e(m)},c=(f,p)=>{const m=r.map(v=>v.id===f?{...v,dataType:p}:v);o(m),e(m)},u=(f,p)=>{const m=r.map(v=>v.id===f?{...v,desc:p}:v);o(m),e(m)},d=(f,p)=>{const m=r.map(v=>v.id===f?{...v,required:p}:v);o(m),e(m)};return h.jsxs("div",{className:"workflow-multi-row-extract",children:[r.length?r.map(f=>h.jsxs(D.Space,{size:"small",className:"workflow-multi-row-extract__row",style:{display:"flex",marginBottom:8,width:"100%"},align:"start",children:[h.jsx(D.Input,{value:f.field,onChange:p=>l(f.id,p.target.value),placeholder:"字段名称",status:"",style:{width:130},disabled:!i}),h.jsx(D.Select,{value:f.dataType,onChange:p=>c(f.id,p),placeholder:"数据类型",style:{width:100},disabled:!i,options:[{label:"字符串",value:"string"},{label:"数字",value:"number"},{label:"日期",value:"date"},{label:"布尔",value:"boolean"}]}),h.jsx(D.Input,{value:f.desc,onChange:p=>u(f.id,p.target.value),placeholder:"字段描述",status:"",style:{width:200},disabled:!i}),h.jsx(D.Select,{value:f.required,onChange:p=>d(f.id,p),placeholder:"是否必填",style:{width:100},disabled:!i,options:[{label:"是",value:!0},{label:"否",value:!1}]}),i&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{s(f.id)}})]},f.id)):null,i&&h.jsx(D.Button,{type:"default",onClick:a,block:!0,icon:h.jsx(br,{size:16}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})})]})},cG=t=>{const e=y.useMemo(()=>In(),[]),{event$:n}=y.useContext(Qr),r=Qm(e),[o,i]=y.useState("");n.useSubscription(a=>{var l;if(a.type==="insert"&&a.currentInputId===e){const c=(o??"")+(t.valueType==="FIX_VALUE"?a.expression.slice(2,-2):a.expression);i(c),(l=t.onChange)==null||l.call(t,c)}}),y.useEffect(()=>{i(t.value)},[t.value]);const s=a=>{var l;i(a.target.value),(l=t.onChange)==null||l.call(t,a.target.value)};return h.jsxs(D.Space.Compact,{block:!0,className:`workflow-password-field${r?` ${od}`:""}`,children:[h.jsx("span",{className:"workflow-password-field__prefix",children:K("link.flow.cipherText")}),h.jsx(D.Input.Password,{id:e,onFocus:()=>{(t.valueType==="JS_EXP"||t.valueType==="FIX_VALUE"||t.valueType==="PLAIN_TEXT"||t.valueType==="PLAIN_CODE")&&(n.emit({type:"visible",visible:!0}),n.emit({type:"setCurrentInputId",currentInputId:e}))},value:o,onChange:s})]})},uG=t=>{var o;const e=In(),{multiple:n,...r}=t;return h.jsx(D.Select,{id:e,style:{borderRadius:6},mode:n?"multiple":void 0,...r,getPopupContainer:i=>i.parentNode,children:(o=t==null?void 0:t.options)==null?void 0:o.map(i=>h.jsx(D.Select.Option,{label:i.label,value:i.value,children:i.label},i.value))})},dG=t=>h.jsx(D.TimePicker,{style:{width:"100%"},value:t.value?jt(t.value,"HH:mm:ss"):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),El=()=>$t().flowId,fG=["sample","test","payload","body"],hG=["测试","样本","sample","test","payload","body"],XA=t=>{var n,r,o;return[xe.JSON,xe.TEXTAREA,xe.FIXED_OBJ].includes(t.page_control)?!0:((o=(r=(n=t.value_type)==null?void 0:n.toLowerCase)==null?void 0:r.call(n))==null?void 0:o.includes("json"))??!1},JA=(t,e)=>{if(!t)return!1;const n=t.toLowerCase();return e.some(r=>n.includes(r))},pG=t=>{if(t==null)return;const e=(t==null?void 0:t.data)!==void 0?t.data:t;if(typeof e=="string")try{const n=JSON.parse(e);return JSON.stringify(n,null,2)}catch{return e}try{return JSON.stringify(e,null,2)}catch{return}},mG=t=>{const{form:e,configList:n=[],disabled:r,...o}=t;a0();const[i,s]=y.useState(!1),[a,l]=y.useState(0),c=y.useRef(void 0),u=El(),d=y.useMemo(()=>{const m=n.find(v=>XA(v)&&(JA(v.name,fG)||JA(v.display_name,hG)));return m||n.find(v=>XA(v))},[n]),f=y.useCallback(()=>{c.current&&(clearInterval(c.current),c.current=void 0)},[]);y.useEffect(()=>()=>{f()},[f]);const p=y.useCallback(async()=>{if(!u){D.message.warning("缺少连接流ID,无法监听Webhook");return}if(!(d!=null&&d.name)){D.message.warning("未找到测试数据字段,无法填充监听结果");return}if(!i){s(!0),l(10),c.current=setInterval(()=>{l(m=>m<=1?(f(),0):m-1)},1e3);try{const m=await Fy(u,{timeout_seconds:10}),v=pG(m);v?(e.setFieldsValue({[d.name]:v}),D.message.success("已捕获Webhook推送数据并填充测试样例")):D.message.info("监听结束,暂无新的推送数据")}catch(m){console.error("监听Webhook失败:",m),D.message.error("监听失败,请稍后重试")}finally{f(),s(!1),l(0)}}},[u,e,i,d==null?void 0:d.name,f]);return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},className:"web-hook",children:[h.jsx("div",{style:{flex:1},className:"web-hook-input",children:h.jsx(YA,{...o})}),h.jsx(D.Button,{size:"small",type:"primary",ghost:!0,onClick:p,disabled:r||!(d!=null&&d.name),loading:i,style:{height:32,minWidth:110,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:i?`监听中${a?`(${a}s)`:""}`:"监听"})]})},gG={configFormContainer:"_configFormContainer_1frpl_1"};function wG(t){return Lq(t==null?void 0:t.credentials)}const bG=t=>String(t.type).toUpperCase();function QA(t){var e,n;return(n=(e=t==null?void 0:t.input_fields)==null?void 0:e.find(r=>bG(r)==="PROXY"))==null?void 0:n.key}function ZA(t){return t==null||t===""?"0":String(t)}function vG(t,e,n){const r=QA(e);return r?{...t,[r]:ZA(n??t[r])}:t}function yG(t,e){const n=QA(e);if(!n)return{properties:t};const r={...t},o=ZA(r[n]);return delete r[n],{properties:r,proxyId:o}}const eO=({field:t,disabled:e,readOnly:n,context:r,value:o="",onChange:i,id:s,allowVariableInsert:a,hasModeSwitch:l})=>{const c=uC(),u=y.useId(),d=s||`workflow-code-${u}`,f=y.useRef(null),[p,m]=y.useState(0),v=!e&&!n,b=y.useCallback(_=>{var x;if(!a)return;const S=(x=f.current)==null?void 0:x.view,E=S==null?void 0:S.state.selection.main;if(!S||!E){i==null||i(`${o}${_}`);return}S.dispatch({changes:{from:E.from,to:E.to,insert:_},selection:{anchor:E.from+_.length}}),S.focus()},[a,i,o]),w=oC(d,_=>b(_),()=>{var _,S;return(S=(_=f.current)==null?void 0:_.view)==null?void 0:S.focus()}),g=Mh(),C=(g==null?void 0:g.activeFieldId)===d,k=y.useCallback(()=>{if(v)try{i==null||i(JSON.stringify(JSON.parse(o),null,2))}catch{D.message.warning(K("link.flow.format_json_failed"))}},[v,i,o]);return h.jsx(bC,{id:d,canEditInEditor:v,openEditorNumber:p,nodeId:c.nodeId||r.nodeId||"",value:o,language:"json",showVariableSidebar:a,onFinish:i,children:h.jsxs("div",{style:{position:"relative"},className:C?od:void 0,children:[h.jsx(nd,{id:d,ref:f,value:o,readOnly:!v,height:"220px",placeholder:t.placeholder,theme:Cm,extensions:[$A()],onFocus:()=>{v&&a&&w.activate()},onChange:i}),v?h.jsxs(D.Space,{size:4,style:{position:"absolute",right:8,top:6,zIndex:2},children:[h.jsx(D.Tooltip,{title:K("link.flow.format_json"),children:h.jsx(D.Button,{type:"text",size:"small","aria-label":K("link.flow.format_json"),icon:h.jsx(se.FormatPainterOutlined,{}),onClick:k,style:{color:"#fff"}})}),h.jsx(D.Tooltip,{title:K("link.flow.open_code_editor"),children:h.jsx(D.Button,{type:"text",size:"small","aria-label":K("link.flow.open_code_editor"),icon:h.jsx(se.FullscreenOutlined,{}),onClick:()=>m(_=>_+1),style:{color:"#fff"}})})]}):null]})})};eO.displayName="WorkflowCodeEditor";const tO=({field:t,disabled:e,readOnly:n,context:r,value:o,onChange:i,id:s})=>{const a=typeof o=="string"?o:o==null?"":JSON.stringify(o)??"",l=!!t.valueModePolicy,c=t.valueModePolicy==="EXPRESSION"||t.valueModePolicy==="BOTH",u=d=>h.jsx(eO,{...d,field:t,context:r,id:s,allowVariableInsert:c,hasModeSwitch:l});return t.valueModePolicy?h.jsx(ki,{value:a,onChange:d=>i==null?void 0:i(d),valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,placeholder:t.placeholder,renderNormalMode:u,renderExpressionMode:u,modeSwitchPosition:"top-right",encodeExpressionValue:!0}):u({value:a,onChange:d=>i==null?void 0:i(d),disabled:e,readOnly:n,placeholder:t.placeholder})};tO.displayName="WorkflowCodeFieldControl";const CG=dt(tO,{needsFormItemName:!0,supportsVariableInsert:!0}),nO=({disabled:t,readOnly:e,value:n,onChange:r,id:o})=>{const[i,s]=y.useState([]),[a,l]=y.useState(!1);y.useEffect(()=>{let d=!1;return l(!0),Kf().then(f=>{d||s(Array.isArray(f)?f:[])}).catch(()=>{d||D.message.error(K("link.flow.request_failed"))}).finally(()=>{d||l(!1)}),()=>{d=!0}},[]);const c=y.useMemo(()=>[{value:"0",label:h.jsx(Te.FormattedMessage,{id:"link.flow.do_not_use"})},...i.map(d=>({value:String(d.id),label:d.group_name||String(d.id)}))],[i]),u=n==null||n===""?"0":String(n);return h.jsx(D.Select,{id:o,className:"proxy_id_select",value:u,options:c,loading:a,disabled:t||e,dropdownStyle:{zIndex:99999999999},onChange:d=>r==null?void 0:r(String(d)),style:{width:"100%"}})};nO.displayName="WorkflowProxyFieldControl";const kG=dt(nO,{needsFormItemName:!0,supportsVariableInsert:!0}),SG=[{type:ge.CODE,definition:CG},{type:ge.PROXY,definition:kG}];function EG({children:t}){return h.jsx(fC,{additionalRegistrations:SG,children:t})}function xl(){const{event$:t}=y.useContext(Qr),e=Fh();return y.useCallback(n=>{var o;const r=document.activeElement;if(r&&r!==document.body&&r.contains(n.target)){const i=n.target;if(!["INPUT","TEXTAREA","SELECT"].includes((i==null?void 0:i.tagName)??""))return}(o=t==null?void 0:t.emit)==null||o.call(t,{type:"setCurrentInputId",currentInputId:""}),e==null||e.deactivateField()},[t,e])}const xG=[xe.TEXT,xe.PASSWORD,xe.SELECT,xe.EXTEND_OBJ,xe.DATE,xe.TIME,xe.DATETIME,xe.TEXTAREA,xe.FIXED_OBJ,xe.JSON],DG="[workflow:schema-render]",_G=/^\{\{([^.{}]+)\.(.+)\}\}$/,AG=t=>{switch(t.page_control){case xe.SELECT:case xe.API_SELECT:return t.multi_valued?[]:null;case xe.EXTEND_OBJ:return{};case xe.HIDDEN:return"";case xe.TEXT:return"";case xe.PASSWORD:return"";case xe.LABEL:return"";case xe.DATE:return null;case xe.TIME:return null;case xe.DATETIME:return null;case xe.TEXTAREA:return"";case xe.FIXED_OBJ:return{};case xe.MultiRowAIExtractConfig:return[];case xe.JSON:return""}},rO=(t,e,n,r,o)=>{const i=t.display_name,s=()=>{var a,l,c;switch(t.page_control){case xe.SELECT:return h.jsx(uG,{options:Zg(t.option_value_objects??t.option_values),multiple:t.multi_valued});case xe.API_SELECT:return h.jsx(eG,{options:Zg(t.option_value_objects??t.option_values)});case xe.EXTEND_OBJ:return h.jsx(oG,{valueType:t.value_type});case xe.HIDDEN:return h.jsx(iG,{});case xe.TEXT:return h.jsx(Pn,{valueType:t.value_type,nodeId:e});case xe.PASSWORD:return h.jsx(cG,{valueType:t.value_type});case xe.LABEL:return(a=r==null?void 0:r.webhookField)!=null&&a.enabled&&t.name==="hookUrl"&&r.webhookField.form?h.jsx(mG,{form:r.webhookField.form,configList:r.webhookField.configList,disabled:r.webhookField.disabled}):h.jsx(YA,{});case xe.DATE:return h.jsx(tG,{});case xe.TIME:return h.jsx(dG,{});case xe.DATETIME:return h.jsx(nG,{});case xe.TEXTAREA:return h.jsx(Pn,{valueType:t.value_type,textAreaMode:!0,nodeId:e});case xe.FIXED_OBJ:return h.jsx(D.Input.TextArea,{});case xe.JSON:return h.jsx(Pn,{valueType:t.value_type,nodeId:e});case xe.MultiRowAIExtractConfig:return h.jsx(lG,{valueType:t.value_type});case xe.MULTI_SELECT_LIST:return h.jsx(rG,{selectType:"KNOWLEDGE_BASE"});case xe.SYNC_HOUR_MINUTE:return h.jsx(sG,{});case xe.AUTH_TOKEN:return h.jsx(Rq,{disabled:(l=r==null?void 0:r.webhookField)==null?void 0:l.disabled});case xe.SECRET_KEY:return h.jsx(Yq,{});case xe.SELECT_CLIENT:return h.jsx(Qq,{});default:{const u=(c=o==null?void 0:o.form)==null?void 0:c.find(d=>d.name===t.page_control);return u?h.jsx(u.component,{config:t,configList:r==null?void 0:r.configList,disabled:r==null?void 0:r.disabled,form:r==null?void 0:r.form,mcpMode:n,nodeId:e}):(console.warn(`unknown form item: page_control:${t.page_control}`),null)}}};return n&&xG.includes(t.page_control)?h.jsx("div",{children:h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:t.page_control===xe.SELECT?K("link.flow.please_select")+t.display_name:K("link.flow.please_enter")+t.display_name}],label:i,name:t.name,children:h.jsx(Zq,{children:s()})})},t.ui_id):h.jsx(D.Form.Item,{required:t.required,style:t.page_control===xe.HIDDEN?{display:"none"}:{},rules:[{required:t.required,message:t.page_control===xe.SELECT?K("link.flow.please_select")+t.display_name:K("link.flow.please_enter")+t.display_name},{validator(a,l,c){if(t.page_control===xe.MultiRowAIExtractConfig)if(Array.isArray(l)&&t.required){const u=l.some(d=>!d.field||!d.dataType||!d.desc||d.required==null);c(u?"请填写完整配置":void 0)}else c(void 0);else c(void 0)}}],label:i,name:t.name,children:s()},t.ui_id)},OG=t=>(t.child_conditions??[]).map(e=>e.left).filter(e=>!!e),TG=(t,e)=>{if(!t.is_child)return!0;const n=t.child_conditions??[];return n.length?n.some(({left:r,operator:o,right:i})=>{const s=e==null?void 0:e[r];return o==="EQUALS"?s===i:s!==i}):!0},NG=y.forwardRef((t,e)=>{var we,fe;const{action:n,connector:r,nodeId:o,account_id:i,mcpMode:s,nodeType:a}=t,l=$t(),c=ne.useStoreApi(),u=xl(),d=Et.useReactive({proxyId:"0"}),{config_schema:f,proxy_id:p,protocol:m,account_schema_id:v}=n;a??n.node_type??n.type;const b=n.action_key||n.nodeKey,w=n.action_ver??n.nodeVersion,g=Array.isArray(f==null?void 0:f.sub_params),C=po(n),k=y.useMemo(()=>!C||!b?null:`${b}@${w??"latest"}`,[C,b,w]),_=k?`${o}:${k}`:o,S=n.account_id??i,E=y.useMemo(()=>k?Wi(b,w):null,[k,b,w]),[x,O]=y.useState(()=>k&&E?{identity:k,schema:E,loading:!1,finished:!0}:null),A=(x==null?void 0:x.identity)===k?x:null,T=(A==null?void 0:A.schema)??null,B=rw((T==null?void 0:T.credentials)??[]),I=!!(C&&b&&!T&&((A==null?void 0:A.loading)??!(A!=null&&A.finished))),F=wG(T);y.useEffect(()=>{!x||x.identity},[k,x,o,b,w]),y.useEffect(()=>{p&&(d.proxyId=p)},[p,d]);const[N]=D.Form.useForm(),[P,M]=y.useState(S);y.useEffect(()=>{M(S)},[_,S,M]);const z=y.useMemo(()=>{var le;return g?(le=f.sub_params)==null?void 0:le.reduce((Se,ce)=>{let Fe=ce.value;return ce.page_control===xe.EXTEND_OBJ&&(Fe=_q(Fe)),Se[ce.name]=Fe??AG(ce),Se},{}):{}},[f==null?void 0:f.sub_params,g]);y.useEffect(()=>{g&&(N.resetFields(),N.setFieldsValue({...z}))},[z,N,g,o]);const H=y.useRef(null),R=y.useRef(null);y.useEffect(()=>{if(!k||!b){O(null);return}const le=Wi(b,w);if(le){O({identity:k,schema:le,loading:!1,finished:!0});return}let Se=!1;return O({identity:k,schema:null,loading:!0,finished:!1}),pc(b,w).then(ce=>{Se||O({identity:k,schema:ce,loading:!1,finished:!0})}).catch(ce=>{Se||(O({identity:k,schema:null,loading:!1,finished:!0}),console.error(`${DG} classic renderer next schema load failed`,{nodeId:o,nodeKey:b,nodeVersion:w,err:ce}))}),()=>{Se=!0}},[k,o,b,w]);const Y=y.useMemo(()=>{var le;return(le=T==null?void 0:T.input_fields)!=null&&le.length?KI(WA(T.input_fields),T.key):null},[T]),te=!!(C&&(Y||F||T)),$=y.useMemo(()=>{const le=n.properties?ha(n.properties):f&&C?ha(f):n.params?ha(n.params):{},Se=vG(le,T,p);return uc(b)?ra(Se).properties:Se},[n,f,C,T,b,p]),j=y.useMemo(()=>JSON.stringify($??{}),[$]);y.useEffect(()=>{!C||!te||(N.resetFields(),N.setFieldsValue($))},[_,N,C,$,j,te]);const U=y.useRef(null);y.useEffect(()=>{U.current=null},[_]),y.useEffect(()=>{uc(b)&&(U.current=JSON.stringify(ra($).branches.map(le=>[le.id,le.name])))},[$,b]);const ee=y.useCallback(le=>{const Se=le.trim().match(_G);if(!Se)return null;const ce=Se[1],Fe=Se[2];if(ce==="global")return null;const Ve=ce.startsWith("N")?ce.slice(1):ce,je=c.getState().nodes.find(We=>We.id===Ve);return je?{fieldPath:Fe,node:je,variableNodeId:ce}:null},[c]),ie=y.useCallback(le=>{var Se;return((Se=ee(le))==null?void 0:Se.fieldPath)??le.replace(/^\{\{|\}\}$/g,"")},[ee]),be=y.useCallback(le=>{var je;const Se=ee(le);if(!Se)return le;const ce=(je=Se.node)==null?void 0:je.data,Fe=(ce==null?void 0:ce.label)||(ce==null?void 0:ce.name)||(ce==null?void 0:ce.action_name)||Se.variableNodeId,Ve=ce!=null&&ce.note?` (${ce.note})`:"";return`${Fe}${Ve}.${Se.fieldPath}`},[ee]),[W,X]=y.useState(!1),q=(le,Se)=>(X(!0),N.validateFields().then(async ce=>{var Ve,je,We,ht,Ee;if(te){Se&&((je=(Ve=H==null?void 0:H.current)==null?void 0:Ve.onIgnoreNodeStart)==null||je.call(Ve));const{properties:Ce,proxyId:Le}=yG(ce,T);return t.onSubmit({properties:Ce,account_id:P,proxy_id:Le},le)}const Fe=Pt.cloneDeep(n.config_schema);return Fe.sub_params.forEach(Ce=>{let Le=ce[Ce.name];Ce.page_control===xe.EXTEND_OBJ&&Le!=="{{$fromAI}}"&&(Le=ew(Le)),Ce.value=Le??null}),Se&&((ht=(We=H==null?void 0:H.current)==null?void 0:We.onIgnoreNodeStart)==null||ht.call(We)),!i&&m==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"&&(Fe.proxy_id=(Ee=R.current)==null?void 0:Ee.getProxyId()),t.onSubmit(Fe,le)}).catch(ce=>(console.log("err",ce),D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>X(!1)));y.useImperativeHandle(e,()=>({saveConfig:le=>q(le,!1)}));const J=Ot(),re={form:N,configList:(f==null?void 0:f.sub_params)??[],disabled:!J,...m==="WEBHOOK"?{webhookField:{enabled:!0,form:N,configList:(f==null?void 0:f.sub_params)??[],disabled:!J}}:{}},Z=le=>{const Se=le.page_control!==xe.HIDDEN?h.jsx("p",{className:"field-desc",children:le.description}):null;if(!le.is_child)return h.jsxs("div",{children:[rO(le,o,s,re,l.canvas.registerComponents),Se]},le.ui_id);const ce=OG(le);return h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:(Fe={},Ve={})=>le.is_child?ce.length?ce.some(je=>(Fe==null?void 0:Fe[je])!==(Ve==null?void 0:Ve[je])):!0:!1,children:()=>{const Fe=N.getFieldsValue(!0);return TG(le,Fe)?h.jsxs("div",{children:[rO(le,o,s,re,l.canvas.registerComponents),Se]}):null}},le.ui_id)};if(C&&I)return h.jsx("div",{style:{textAlign:"center",padding:40},children:h.jsx(D.Spin,{})});const ue=!t.preRender&&(((we=n.config_schema)==null?void 0:we.sub_params)??[]).length<1,ve=h.jsx("div",{style:{padding:16,color:"#999",textAlign:"center"},children:"该节点暂无配置项"});if(te){const le=h.jsxs(h.Fragment,{children:[t.preRender&&t.preRender,F?h.jsx(RA,{credentialRequirements:B,value:P,onChange:M,linkApp:r,disabled:!J}):null]});return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:u,children:[h.jsx("div",{className:"workflow-node-form-scroll",children:Y?h.jsx(EG,{children:h.jsx(Xg,{schema:Y,form:N,initialValues:$,showSubmit:!1,showReset:!1,nodeId:o,mcpMode:s,renderVariableTag:ie,renderVariableTooltip:be,customTheme:sc,preRender:le},_)}):ve}),h.jsx("div",{className:"workflow-node-form-footer",children:J&&h.jsx(D.Button,{type:"primary",disabled:!J,loading:W,className:"workflow-node-form-save",onClick:()=>q(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:u,children:[h.jsxs(D.Form,{form:N,disabled:!J,layout:"vertical",className:`${gG.configFormContainer} workflow-config-form workflow-node-form-scroll`,children:[t.preRender&&t.preRender,(r==null?void 0:r.id)&&n.config_schema&&((fe=f==null?void 0:f.sub_params)==null?void 0:fe.map(le=>Z(le))),!i&&m==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"?h.jsx(Jg,{proxyId:d.proxyId,ref:R}):null,ue&&ve]}),h.jsx("div",{className:"workflow-node-form-footer",children:J&&h.jsx(D.Button,{type:"primary",disabled:!J,loading:W,className:"workflow-node-form-save",onClick:()=>q(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),BG=y.memo(y.forwardRef((t,e)=>{const{nodeId:n,data:r}=t,{account_id:o,account_schema_id:i}=r,s=Et.useReactive({account_id:o}),a=y.useRef(null);y.useImperativeHandle(e,()=>({saveConfig:p=>{var m;return(m=a.current)==null?void 0:m.saveConfig(p)}}));const l=y.useMemo(()=>({id:t.data.connector_id,name:t.data.connector_name,deployment_type:t.data.deployment_type}),[t.data.connector_id,t.data.connector_name,t.data.deployment_type]),c=po(t.data),u=(p,m)=>{if(c){const v=ha(p),w=Object.hasOwn(p??{},"account_id")?p.account_id??null:s.account_id;return t.onSubmit({properties:v,account_id:w,proxy_id:(p==null?void 0:p.proxy_id)??(v==null?void 0:v.proxy_id)},m)}return t.onSubmit({properties:p,account_id:s.account_id,proxy_id:p.proxy_id},m)},d=y.useCallback(p=>{s.account_id=p??null},[]);let f=null;return i&&!c&&(f=h.jsx(RA,{onChange:d,actionAccountSchemaId:i,value:s.account_id,linkApp:l})),h.jsx("div",{className:"workflow-action-node-config",children:h.jsx(NG,{ref:a,action:t.data,nodeType:t.nodeType||t.data.node_type||t.data.type,connector:l,account_id:o,nodeId:n,onSubmit:u,onNodePackageValuesChange:t.onNodePackageValuesChange,preRender:f})})}),(t,e)=>t.nodeId===e.nodeId&&t.nodeType===e.nodeType&&Pt.isEqual(Pt.omit(t.data,["isHovered"]),Pt.omit(e.data,["isHovered"])));var $n=(t=>(t.IDLE="idle",t.SAVING="saving",t.SAVED="saved",t.ERROR="error",t))($n||{}),Wd=(t=>(t.SELECTION="selection",t.ALL="all",t))(Wd||{}),er=(t=>(t.UNPUBLISHED="UNPUBLISHED",t.ONLINE="ONLINE",t.OFFLINE="OFFLINE",t.ON_WARN="ON_WARN",t.OFF_WARN="OFF_WARN",t.ONLINE_ING="ONLINE_ING",t))(er||{}),nt=(t=>(t.eq="eq",t.ne="ne",t.sw="sw",t.nsw="nsw",t.ew="ew",t.ewn="ewn",t.gt="gt",t.ge="ge",t.lt="lt",t.le="le",t.co="co",t.nco="nco",t.in="in",t.nin="nin",t.is_null="is_null",t.is_not_null="is_not_null",t))(nt||{});const oO=[{operator:nt.eq,label:K("common.eq")},{operator:nt.ne,label:K("common.ne")},{operator:nt.sw,label:K("common.sw")},{operator:nt.nsw,label:K("common.nsw")},{operator:nt.ew,label:K("common.ew")},{operator:nt.ewn,label:K("common.ewn")},{operator:nt.gt,label:K("common.gt")},{operator:nt.ge,label:K("common.ge")},{operator:nt.lt,label:K("common.lt")},{operator:nt.le,label:K("common.le")},{operator:nt.co,label:K("common.co")},{operator:nt.nco,label:K("common.nco")},{operator:nt.in,label:K("common.in")},{operator:nt.nin,label:K("common.nin")},{operator:nt.is_null,label:K("common.is_null")},{operator:nt.is_not_null,label:K("common.is_not_null")}];nt.eq+"",K("common.eq"),nt.ne+"",K("common.ne"),nt.sw+"",K("common.sw"),nt.nsw+"",K("common.nsw"),nt.ew+"",K("common.ew"),nt.ewn+"",K("common.ewn"),nt.gt+"",K("common.gt"),nt.lt+"",K("common.lt"),nt.ge+"",K("common.ge"),nt.co+"",K("common.co"),nt.nco+"",K("common.nco"),nt.le+"",K("common.le"),nt.in+"",K("common.in"),nt.nin+"",K("common.nin"),nt.is_null+"",K("common.is_null"),nt.is_not_null+"",K("common.is_not_null");const iw=t=>t===nt.is_null||t===nt.is_not_null,FG=(t,e="")=>iw(t)?"":e,{Option:MG}=D.Select,IG=y.forwardRef((t,e)=>{const{config_schema:n}=t,[r]=D.Form.useForm(),o=xl(),s=(d=>d!=null&&d.or_list?{or_list:d.or_list.map(p=>({and_list:p.and_list.map(m=>({query:m.query||"",operator:m.operator||"",value:m.value||""}))}))}:{or_list:[{and_list:[{query:"",operator:"",value:""}]}]})(n),[a,l]=y.useState(!1),c=(d,f,p="")=>(l(!0),r.validateFields().then(async m=>t.onSubmit({properties:m},d)).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>l(!1)));y.useImperativeHandle(e,()=>({saveConfig:d=>c(d)}));const u=Ot();return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:o,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsx(D.Form,{disabled:!u,form:r,initialValues:s,layout:"vertical",autoComplete:"off",children:h.jsx(D.Form.List,{name:"or_list",children:(d,{add:f,remove:p})=>h.jsxs(h.Fragment,{children:[d.map((m,v)=>h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"form-block",children:h.jsxs("div",{style:{padding:12,width:"100%",boxSizing:"border-box"},children:[v>0&&u&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsx(D.Button,{type:"link",style:{color:"red"},icon:h.jsx(se.MinusCircleOutlined,{style:{color:"red"}}),onClick:()=>p(m.name),children:h.jsx(Te.FormattedMessage,{id:"link.flow.remove"})})}),h.jsx(D.Form.List,{name:[m.name,"and_list"],children:(b,{add:w,remove:g})=>h.jsx(h.Fragment,{children:b.map((C,k)=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%",rowGap:0},children:[h.jsxs(D.Space,{align:"center",className:`form-item-row ${k>0?"opt":""}`,children:[h.jsx(D.Form.Item,{style:{minWidth:150},name:[C.name,"query"],label:K("app.common.word.variable-name"),rules:[{required:!0,message:K("link.flow.please_enter_variable_name")}],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(D.Form.Item,{name:[C.name,"operator"],label:K("app.common.word.condition"),rules:[{required:!0,message:K("link.flow.please_select_condition")}],children:h.jsx(D.Select,{style:{minWidth:140},placeholder:K("link.flow.select_condition"),getPopupContainer:_=>_.parentNode,children:oO.map(_=>h.jsx(MG,{value:_.operator,children:_.label},_.operator))})}),h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const _=r.getFieldValue(["or_list",m.name,"and_list",C.name,"operator"]);return iw(_)?null:h.jsx(D.Form.Item,{style:{minWidth:150},name:[C.name,"value"],label:K("app.common.word.value"),rules:[],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})})}}),k>0&&h.jsx(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>g(C.name)})]}),k<b.length-1&&h.jsx(D.Divider,{plain:!0,children:h.jsx(D.Tag,{color:"#999999",children:h.jsx(Te.FormattedMessage,{id:"link.flow.and"})})}),k===b.length-1&&h.jsx(D.Button,{type:"link",disabled:!u,icon:h.jsx(br,{size:16}),className:"small",onClick:()=>w({query:"",operator:"",value:""}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-new-and"})})]},C.key))})})]})},m.key),v<d.length-1&&h.jsxs("div",{className:"test",style:{textAlign:"center"},children:[" ",h.jsx(D.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(D.Tag,{color:"#1890ff",children:h.jsx(Te.FormattedMessage,{id:"link.flow.or"})})})]})]})),h.jsx(D.Form.Item,{style:{display:"flex",justifyContent:"flex-end",marginBlock:10},children:h.jsx(D.Button,{type:"default",icon:h.jsx(br,{size:16}),disabled:!u,onClick:()=>f({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-or"})})})]})})})}),h.jsx("div",{className:"workflow-node-form-footer",children:u&&h.jsx(D.Button,{type:"primary",disabled:!u,loading:a,className:"workflow-node-form-save",onClick:()=>c(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),PG={copy:"Copy JSON",copySuccess:"JSON copied to clipboard",download:"Download JSON",invalidJson:"Invalid JSON data"},LG={copy:"复制JSON",copySuccess:"JSON已复制到剪贴板",download:"下载JSON",invalidJson:"无效的JSON数据"},{Text:$G}=D.Typography,zG=({data:t,height:e=400,enableCopy:n=!0,theme:r="light",className:o="",locale:i="zh",maxHeight:s})=>{const[a,l]=y.useState(r),c=y.useRef(null),u=i==="zh"?LG:PG,d=y.useMemo(()=>{if(!t)return null;try{return typeof t=="string"?JSON.parse(t):t}catch(w){return console.error("JSON解析失败:",w),null}},[t]),f=y.useMemo(()=>{if(!d)return[];const w=(g,C=[],k=0)=>{const _=[];if(g===null)return[{key:C.join("."),value:null,type:"null",path:C,level:k}];if(Array.isArray(g)){const S={key:C.join("."),value:g,type:"array",path:C,level:k,children:[]};g.forEach((E,x)=>{var T;const O=[...C,x.toString()],A=w(E,O,k+1);(T=S.children)==null||T.push(...A)}),_.push(S)}else if(typeof g=="object"){const S={key:C.join("."),value:g,type:"object",path:C,level:k,children:[]};Object.entries(g).forEach(([E,x])=>{var T;const O=[...C,E],A=w(x,O,k+1);(T=S.children)==null||T.push(...A)}),_.push(S)}else{const S=typeof g;_.push({key:C.join("."),value:g,type:S,path:C,level:k})}return _};return w(d)},[d]),p=y.useCallback(()=>{const w=JSON.stringify(d,null,2);navigator.clipboard.writeText(w).then(()=>{D.message.success(u.copySuccess)})},[d,u]),m=y.useCallback(()=>{const w=JSON.stringify(d,null,2),g=new Blob([w],{type:"application/json"}),C=URL.createObjectURL(g),k=document.createElement("a");k.href=C,k.download="data.json",k.click(),URL.revokeObjectURL(C)},[d]),v=y.useCallback(w=>{switch(w.type){case"string":return h.jsxs("span",{className:"json-string",children:['"',String(w.value),'"']});case"number":return h.jsx("span",{className:"json-number",children:String(w.value)});case"boolean":return h.jsx("span",{className:"json-boolean",children:String(w.value)});case"null":return h.jsx("span",{className:"json-null",children:"null"});default:return null}},[]),b=y.useCallback((w,g)=>{var _;const C=w.children&&w.children.length>0,k=w.path[w.path.length-1];return w.type==="object"||w.type==="array"?h.jsxs("div",{className:"json-node",children:[h.jsxs("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:[k&&h.jsxs("span",{className:"json-key",children:['"',k,'": ']}),h.jsx("span",{className:"json-bracket",children:w.type==="array"?"[":"{"}),!C&&h.jsx("span",{className:"json-bracket",children:w.type==="array"?"]":"}"})]}),C&&h.jsxs(h.Fragment,{children:[(_=w.children)==null?void 0:_.map((S,E)=>b(S,g+E+1)),h.jsx("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:h.jsx("span",{className:"json-bracket",children:w.type==="array"?"]":"}"})})]})]},w.key):h.jsx("div",{className:"json-node",children:h.jsxs("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:[k&&h.jsxs("span",{className:"json-key",children:['"',k,'": ']}),v(w)]})},w.key)},[v]);return y.useCallback(()=>{l(a==="dark"?"light":"dark")},[a]),d?h.jsxs("div",{className:`json-renderer ${a} ${o}`,children:[h.jsx("div",{className:"json-toolbar",children:h.jsxs(D.Space,{children:[n&&h.jsx(D.Tooltip,{title:u.copy,children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),size:"small",onClick:p})}),h.jsx(D.Tooltip,{title:u.download,children:h.jsx(D.Button,{icon:h.jsx(se.DownloadOutlined,{}),size:"small",onClick:m})})]})}),h.jsx("div",{ref:c,className:"json-content",style:{height:`${e}px`,maxHeight:s?`${s}px`:void 0},children:f.map((w,g)=>b(w,g))})]}):h.jsx("div",{className:`json-renderer error ${a} ${o}`,children:h.jsx("div",{className:"error-message",children:h.jsx($G,{type:"secondary",children:u.invalidJson})})})},{TextArea:HG}=D.Input,{Title:VG}=D.Typography,iO=({status:t,result:e="",progress:n=60,runningAction:r="run",showAlert:o=!0,canEdit:i=!0,disabledReason:s="当前节点不支持手动测试",editing:a=!1,editableValue:l="",onEditableValueChange:c,onRun:u,onIgnore:d,onReset:f,onToggleEdit:p,onDismissAlert:m,className:v,onClose:b,onExpandPanel:w})=>{const g=t==="running",C=t==="failure",k=t==="ignored",_=t==="success"||k,S=t==="disabled",[E,x]=y.useState(!1);return h.jsxs("section",{className:["node-test-container","ai-flow-node-test-panel",v].filter(Boolean).join(" "),"aria-label":"AI FLOW 节点测试",children:[h.jsx("div",{className:"node-test-header",children:h.jsxs("div",{className:"header-title",children:[h.jsx("span",{className:"common-icon title-icon"}),h.jsx(VG,{level:4,children:"节点测试"}),h.jsx(D.Button,{ghost:!0,className:"close-btn",onClick:b,children:h.jsx(Di,{size:16})})]})}),h.jsxs("div",{className:"test-content",children:[i&&!S?h.jsxs("div",{className:"action-buttons",children:[h.jsx(D.Button,{type:"primary",disabled:S,onClick:u,loading:g&&r==="run",className:"test-button",children:g?"测试中...":"开始测试"}),h.jsx(D.Button,{type:"default",disabled:S||g&&r==="run",onClick:d,loading:g&&r==="ignore",className:"ignore-button",children:"忽略调试"})]}):null,i&&e?h.jsx("div",{className:"action-buttons",children:h.jsx(D.Button,{onClick:f,className:"reset-button",children:"重置"})}):null,g?h.jsxs(h.Fragment,{children:[h.jsx(D.Progress,{percent:n,status:"active",className:"test-progress"}),h.jsx(D.Skeleton,{active:!0,className:"result-skeleton"})]}):h.jsxs(h.Fragment,{children:[C&&o?h.jsx(D.Alert,{className:"error-alert small",showIcon:!0,message:"测试未通过",description:"请检查节点配置和接口返回后重试",type:"error",closable:!1,onClose:m}):null,_&&o?h.jsx(D.Alert,{className:"success-alert small",showIcon:!0,message:k?"忽略调试成功":"测试成功",description:k?"已将样本数据设为当前节点输出":"节点运行正常,可在下方查看返回结果",type:"success",closable:!1,onClose:m}):null,e?h.jsx(D.Card,{styles:{body:{padding:0}},title:h.jsxs("div",{className:"result-header",children:[h.jsx("div",{className:"result-title",children:C?h.jsxs(h.Fragment,{children:[h.jsx(se.CloseCircleFilled,{className:"error-icon"})," 错误数据"]}):h.jsxs(h.Fragment,{children:[k?h.jsx(se.ExperimentFilled,{className:"success-icon"}):h.jsx(se.CheckCircleFilled,{className:"success-icon"}),k?"样本数据":"测试结果"]})}),h.jsxs("div",{style:{display:"inline-flex",gap:8},children:[i&&p?h.jsx(D.Button,{size:"small",type:"default",variant:"solid",onClick:p,className:"edit-button",children:a?"完成":"编辑"}):null,w&&h.jsx(D.Button,{size:"small",type:E?"primary":"default",variant:"solid",className:"edit-button",onClick:()=>{const O=!E;w(O),x(O)},children:E?h.jsx(SW,{size:16}):h.jsx(kW,{size:16})})]})]}),variant:"borderless",className:`result-card ${C?"error-result":"success-result"}`,children:a?h.jsx(HG,{rows:E?20:10,value:l,onChange:O=>c==null?void 0:c(O.target.value),className:"result-editor"}):h.jsx(zG,{data:e,height:E?600:300,enableCopy:!0,theme:"dark"},e)}):h.jsx(D.Card,{variant:"borderless",className:"empty-result",children:h.jsx(D.Result,{icon:h.jsx("span",{className:"common-icon"}),title:S?"不可测试":"等待测试",subTitle:S?s:"点击“开始测试”按钮运行当前节点"})})]})]})]})},jG=new Set([$e.AI_LANGUAGE_MODEL,$e.AI_MEMORY,$e.BUILTIN_MCP,$e.MCP_SERVER]),WG=new Set([]),UG=({canEdit:t,nodeType:e,protocol:n})=>t?n&&jG.has(n)?{disabled:!0,reason:"当前协议节点由所属 AI 或 MCP 运行上下文统一测试"}:e&&WG.has(e)?{disabled:!0,reason:"当前节点类型不支持独立手动测试"}:{disabled:!1}:{disabled:!0,reason:"只读或预览模式下不能执行节点测试"},qG=t=>typeof t=="string"?t.trim().length>0:t!=null,GG=t=>typeof t=="string"&&t.trim().toLowerCase()==="success",RG=t=>{if(!t||typeof t!="object")return!1;const e=t;return e.result===!0?!1:e.result===!1?!0:e.error==="0"&&qG(e.error_description)&&!GG(e.error_description)},KG=t=>RG(t)?me.FAILED:me.SUCCESS,YG=t=>{if(typeof t=="object")return JSON.stringify(t,null,2);if(typeof t=="string")try{const e=JSON.parse(t);return JSON.stringify(e,null,2)}catch{return t}return String(t)};JSON.stringify({result:"示例数据",data:{id:"123",name:"示例"}},null,2);const XG=y.forwardRef((t,e)=>{var O,A,T,B;const{nodeId:n,beforeHook:r,onClose:o,onExpandPanel:i}=t,s=$t(),{handleNodeDataUpdate:a}=Ri(),l=(A=(O=s.nodeConfigPanel)==null?void 0:O.testArea)==null?void 0:A.defaultTestResult,[c,u]=y.useState(()=>{if(l==null)return"";if(typeof l=="string")return l;try{return JSON.stringify(l,null,2)}catch{return String(l)}}),d=ne.useInternalNode(n),f=Et.useReactive({testProgress:0,sampleText:"",isError:!1,showErrorAlert:!1,testing:!1,successShown:!1,sampleMode:!1,sampleSaving:!1,sampleError:"",isIgnoreSuccess:!1,ignoring:!1,editable:!1}),{refreshFlow:p}=ao();(T=d==null?void 0:d.data)==null||T.outputSource,y.useEffect(()=>{if(d!=null&&d.data.output&&(d.data.status===me.SUCCESS||d.data.status===me.RUNNABLE)){const I=typeof d.data.output=="string"?d.data.output:JSON.stringify(d.data.output,null,2);u(I),f.successShown=!0,f.isError=!1,f.showErrorAlert=!1}else if(d!=null&&d.data.output&&d.data.status===me.FAILED){const I=typeof d.data.output=="string"?d.data.output:JSON.stringify(d.data.output,null,2);u(I),f.isError=!0,f.showErrorAlert=!0,f.successShown=!1}},[d,f]);const m=y.useCallback(()=>{if(!n){console.error("节点ID不能为空");return}f.testing=!0,f.testProgress=60,f.successShown=!1,f.isError=!1,f.showErrorAlert=!1,f.sampleMode=!1,By(n).then(I=>{const F=I,N=KG(F),P=N===me.FAILED;f.isError=P,f.successShown=!P,f.showErrorAlert=f.isError;let M="";try{M=YG(F)}catch(z){console.error("格式化测试结果出错:",z),M=`测试结果格式化失败: ${String(z)}`}f.testProgress=100,u(M),a({id:n,data:{status:N,output:M,outputSource:"test"}})}).catch(I=>{var P;console.error("测试失败:",I),f.testProgress=0,f.isError=!0,f.showErrorAlert=!0,f.successShown=!1;let F="测试执行失败";(P=I==null?void 0:I.response)!=null&&P.data?F=JSON.stringify(I.response.data,null,2):I!=null&&I.message&&(F=I.message);const N=JSON.stringify({error:F},null,2);u(N),a({id:n,data:{status:me.FAILED,output:N,outputSource:"test"}})}).finally(()=>{setTimeout(()=>{f.testProgress=0,f.testing=!1},500)})},[a,n,f]),v=()=>{f.testProgress=0,f.testing=!1,f.sampleSaving=!1,f.sampleMode=!1,f.successShown=!0,f.isError=!1,f.showErrorAlert=!1},b=()=>{r&&(f.testing=!0,f.ignoring=!0,f.testProgress=60,r(!0,!0,f.sampleText))},w=()=>{f.sampleSaving=!1,f.ignoring=!1,f.successShown=!0,f.isError=!1,f.showErrorAlert=!1,f.isIgnoreSuccess=!0},g=()=>{f.testProgress=0,f.testing=!1,f.ignoring=!1,f.isIgnoreSuccess=!0};y.useImperativeHandle(e,()=>({onTestNode:m,finishSampleTest:v,abortSampleTest:w,finishNodeTest:g}));const C=()=>{f.sampleMode=!1,r?r(!0):m()},k=()=>{u(""),f.sampleText="",f.sampleMode=!1,f.sampleError="",f.successShown=!1},_=Ot(),S=y.useMemo(()=>{var I;return UG({canEdit:_,nodeType:d==null?void 0:d.type,protocol:(I=d==null?void 0:d.data)==null?void 0:I.protocol})},[_,(B=d==null?void 0:d.data)==null?void 0:B.protocol,d==null?void 0:d.type]),E=S.disabled?"disabled":f.testing?"running":f.isError?"failure":f.successShown?f.isIgnoreSuccess?"ignored":"success":"waiting",x=()=>{if(f.editable){f.editable=!1;try{const I=JSON.parse(f.sampleText),F=JSON.stringify(I,null,2);u(F),a({id:n,data:{output:F}})}catch{u(f.sampleText)}return}f.sampleText=c,f.editable=!0};return h.jsx(iO,{status:E,result:c,progress:f.testProgress||60,runningAction:f.ignoring?"ignore":"run",showAlert:f.isError?f.showErrorAlert:f.successShown,canEdit:_,disabledReason:S.reason,editing:f.editable,editableValue:f.sampleText,onEditableValueChange:I=>{f.sampleText=I},onRun:C,onIgnore:b,onReset:k,onToggleEdit:x,onDismissAlert:()=>{f.showErrorAlert=!1,f.successShown=!1},onClose:o,onExpandPanel:i})});var tr=(t=>(t.Array="ARRAY",t.Boolean="BOOLEAN",t.Null="NULL",t.Number="NUMBER",t.Object="OBJECT",t.String="STRING",t))(tr||{});const sw={ARRAY:"purple",BOOLEAN:"green",NULL:"default",NUMBER:"blue",OBJECT:"cyan",STRING:"orange"},JG={ARRAY:"Arr",BOOLEAN:"Bool",NULL:"Null",NUMBER:"Num",OBJECT:"Obj",STRING:"Str"},aw=(t,e=!1)=>{const n=String(t||"STRING").toUpperCase(),r=JG[n]||n.slice(0,4);return e?`${r}[]`:r},sO=t=>{t!=null&&t.length&&t.forEach(e=>{e.label||(e.label=e.name),Array.isArray(e.sub_params)?sO(e.sub_params):e.sub_params=[]})},QG=t=>{const e=t==null?void 0:t.map(r=>(r.output.label=`${r.seq}-${r.connector_name} : ${r.action_name}`,r.note&&(r.output.label+=`(${r.note})`),{...r,label:`${r.connector_name}-${r.action_name}`,sub_params:[r.output]})),n=Pt.cloneDeep(e);return sO(n),n};var aO=(t=>(t.TEXT="TEXT",t.NUMBER="NUMBER",t.JSON="JSON",t))(aO||{});const ZG=t=>({TEXT:"STRING",NUMBER:"NUMBER",JSON:"OBJECT"})[t]||"STRING",eR=t=>{const{nodeId:e,flowId:n,enabled:r=!0,includeGlobalVariables:o=!0}=t,i=ne.useStoreApi(),[s,a]=y.useState([]),[l,c]=y.useState([]),[u,d]=y.useState(!1),[f,p]=y.useState(null),[m,v]=y.useState(0),[b,w]=y.useState(!1),[g,C]=y.useState(null),[k,_]=y.useState(0),S=y.useCallback(()=>{v(T=>T+1)},[]),E=y.useCallback(()=>{_(T=>T+1)},[]),x=y.useCallback(()=>{v(T=>T+1),_(T=>T+1)},[]);return y.useEffect(()=>{if(!r||!o){o||a([]),d(!1),p(null);return}let T=!1;return(async()=>{d(!0),p(null);try{const I=await Py();if(T)return;const F=((I==null?void 0:I.items)||[]).map(N=>({...N,mappedType:ZG(N.var_type)}));a(N=>Pt.isEqual(N,F)?N:F)}catch(I){console.error("Failed to fetch global variables:",I),T||p(I instanceof Error?I:new Error("无法获取全局变量数据"))}finally{T||d(!1)}})(),()=>{T=!0}},[r,o,m]),y.useEffect(()=>{if(!r||!n){w(!1),C(null);return}let T=!1;return(async()=>{w(!0),C(null);try{const{edges:I,nodes:F}=i.getState(),N=await Iy(n,{nodeId:e,edges:I});if(T)return;const P=new Map(F.map(H=>[H.id,H])),z=(QG(N)||[]).map(H=>{var $,j;const R=($=H.node_id)!=null&&$.startsWith("N")?H.node_id.slice(1):H.node_id,Y=R?P.get(R):void 0,te=typeof((j=Y==null?void 0:Y.data)==null?void 0:j.icon)=="string"?Y.data.icon:void 0;return{...H,nodeIcon:te,isValid:!!Y}});c(H=>Pt.isEqual(H,z)?H:z)}catch(I){console.error("Failed to fetch node variables:",I),T||C(I instanceof Error?I:new Error("无法获取节点变量数据"))}finally{T||w(!1)}})(),()=>{T=!0}},[n,e,r,k,i]),{globalVariables:s,nodeVariables:l,isLoading:u||b,isGlobalLoading:u,isNodeLoading:b,error:f||g,globalError:f,nodeError:g,refresh:x,refreshGlobal:S,refreshNode:E}},it={container:"_container_1f6qh_5",header:"_header_1f6qh_29",headerIcon:"_headerIcon_1f6qh_37",headerTitle:"_headerTitle_1f6qh_41",body:"_body_1f6qh_46",section:"_section_1f6qh_61",sectionLabel:"_sectionLabel_1f6qh_65",sectionIcon:"_sectionIcon_1f6qh_79",typeTag:"_typeTag_1f6qh_88",varItem:"_varItem_1f6qh_97",varName:"_varName_1f6qh_115",varValue:"_varValue_1f6qh_121",nodeTitle:"_nodeTitle_1f6qh_129",nodeIcon:"_nodeIcon_1f6qh_134",nodeLabelFirst:"_nodeLabelFirst_1f6qh_139",nodeLabel:"_nodeLabel_1f6qh_139",leafTitle:"_leafTitle_1f6qh_151",leafLabel:"_leafLabel_1f6qh_156",leafValue:"_leafValue_1f6qh_162",empty:"_empty_1f6qh_168",loadingState:"_loadingState_1f6qh_172",errorState:"_errorState_1f6qh_181",invalidVariable:"_invalidVariable_1f6qh_185",nodeIconWrapper:"_nodeIconWrapper_1f6qh_194",defaultNodeIcon:"_defaultNodeIcon_1f6qh_207"},lw={VariableModalTitle:h.jsx(Te.FormattedMessage,{id:"app.common.word.select-variable"}),NoTestDataDesc:h.jsx(Te.FormattedMessage,{id:"common.no-process-variables-yet"})},tR=t=>{if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t)},nR=(t,e)=>{const n=t.trim(),r=n.startsWith("N")?n:`N${n}`,o=e.slice(1).join(".");return o?`{{${r}.${o}}}`:`{{${r}}}`},lO=y.forwardRef((t,e)=>{const n=El(),{nodeId:r,showGlobalVariables:o=!0}=t,{event$:i}=y.useContext(Qr),{globalVariables:s,nodeVariables:a,isGlobalLoading:l,isNodeLoading:c,globalError:u,nodeError:d,refreshGlobal:f,refreshNode:p}=eR({nodeId:r,flowId:n,enabled:t.open,includeGlobalVariables:o}),m=Et.useReactive({currentInputId:"",visible:!0});i.useSubscription(w=>{switch(w.type){case"visible":m.visible||(f(),p()),m.visible=w.visible;break;case"setCurrentInputId":m.currentInputId=w.currentInputId;break}}),y.useImperativeHandle(e,()=>({loadVariables:()=>{f(),p()}}));const v=w=>{try{const g=typeof w=="string"?JSON.parse(w):w,C=(_,S)=>{if(_==null)return{name:S,type:tr.Null,label:S,multi_valued:!1,sub_params:[],value:String(_)};if(typeof _=="object"&&!Array.isArray(_)){const x=_;return{name:S,type:tr.Object,label:S,multi_valued:!1,sub_params:Object.keys(x).map(O=>C(x[O],O)),value:null}}if(Array.isArray(_)){const x=_[0],O=x&&typeof x=="object"?tr.Object:typeof x=="number"?tr.Number:typeof x=="boolean"?tr.Boolean:x==null?tr.Array:tr.String;return{name:S,type:O,label:S,multi_valued:!0,sub_params:[],value:JSON.stringify(_)}}const E=typeof _=="number"?tr.Number:typeof _=="boolean"?tr.Boolean:tr.String;return{name:S,type:E,label:S,multi_valued:!1,sub_params:[],value:String(_)}},k=g&&typeof g=="object"&&!Array.isArray(g)?g:{};return Object.keys(k).map(_=>C(k[_],_))}catch{return[]}},b=(w,g,C,k,_,S=[],E="0")=>(w??[]).map((x,O)=>{var I;const A=[...S,x.name],T=`${E}-${O}`;return(I=x.sub_params)!=null&&I.length?{key:T,variablePath:A,title:h.jsxs("span",{className:`${it.nodeTitle}${k===!1?` ${it.invalidVariable}`:""}`,children:[g?_==="api"?h.jsx(se.ApiOutlined,{className:it.nodeIcon}):h.jsx("span",{className:it.nodeIconWrapper,children:C?h.jsx("img",{src:C,alt:""}):h.jsx("span",{className:it.defaultNodeIcon,children:"N"})}):h.jsx(D.Tag,{color:sw[x.type]||"gray",className:`${it.typeTag} workflow-variable-panel__type`,children:aw(x.type,x.multi_valued)}),h.jsx("span",{className:`${g?it.nodeLabelFirst:it.nodeLabel} workflow-variable-panel__label`,children:x.label})]}),children:b(x.sub_params,!1,C,k,_,A,T)}:{key:T,variablePath:A,title:h.jsxs("span",{className:`${it.leafTitle}${k===!1?` ${it.invalidVariable}`:""}`,children:[h.jsx(D.Tag,{color:sw[x.type]||"gray",className:`${it.typeTag} workflow-variable-panel__type`,children:aw(x.type,x.multi_valued)}),h.jsx("span",{className:`${it.leafLabel} workflow-variable-panel__label`,children:x.label}),x.value?h.jsx("span",{className:it.leafValue,children:x.value}):null]})}});return h.jsxs("div",{className:`${it.container} workflow-variable-panel`,children:[h.jsxs("div",{className:`${it.header} workflow-variable-panel__header`,children:[h.jsx(CW,{size:16,className:`${it.headerIcon} workflow-variable-panel__header-icon`}),h.jsx("span",{className:`${it.headerTitle} workflow-variable-panel__title`,children:lw.VariableModalTitle})]}),h.jsxs("div",{className:`${it.body} workflow-variable-panel__body`,children:[o?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:`${it.sectionLabel} workflow-variable-panel__section-label`,children:[h.jsx(se.GlobalOutlined,{className:it.sectionIcon,size:32}),h.jsx("span",{children:"全局变量"})]}),h.jsx("div",{className:"variable-panel-group",children:h.jsxs("div",{className:it.section,children:[s.map(w=>{if(w.var_type===aO.JSON){const k=v(w.var_value??{}),_=[{name:w.name,type:tr.Object,label:w.display_name||w.name,multi_valued:!1,sub_params:k,value:null}],S=b(_,!0,void 0,!0,"api");return h.jsx(D.Tree,{defaultExpandAll:!0,showLine:!0,onSelect:(E,x)=>{const O=x.node.variablePath;i.emit({type:"insert",currentInputId:m.currentInputId,expression:`{{global.${O.join(".")}}}`})},switcherIcon:h.jsx(se.CaretDownOutlined,{}),treeData:S},w.id)}const g=tR(w.var_value),C=g.length>28?`${g.substring(0,28)}...`:g;return h.jsxs("button",{type:"button",className:`${it.varItem} workflow-variable-panel__item`,onClick:()=>{i.emit({type:"insert",currentInputId:m.currentInputId,expression:`{{global.${w.name}}}`})},children:[h.jsx(D.Tag,{color:sw[w.mappedType],className:`${it.typeTag} workflow-variable-panel__type`,children:aw(w.mappedType)}),h.jsx("span",{className:`${it.varName} workflow-variable-panel__label`,children:w.display_name||w.name}),C?h.jsx("span",{className:it.varValue,children:C}):null]},w.id)}),!l&&!u&&s.length<1&&h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:lw.NoTestDataDesc,className:it.empty}),l?h.jsxs("div",{className:it.loadingState,children:[h.jsx(D.Spin,{size:"small"}),h.jsx("span",{children:"正在加载全局变量"})]}):u?h.jsx(D.Alert,{className:it.errorState,type:"error",showIcon:!0,message:"全局变量加载失败",description:u.message,action:h.jsx(D.Button,{size:"small",onClick:f,children:"重试"})}):null]})})]}):null,h.jsxs("div",{className:`${it.sectionLabel} workflow-variable-panel__section-label`,children:[h.jsx(se.ApiOutlined,{className:it.sectionIcon}),h.jsx("span",{children:"节点变量"})]}),h.jsx("div",{className:"variable-panel-group",children:h.jsxs("div",{className:it.section,children:[a.map(w=>h.jsx("div",{children:h.jsx(D.Tree,{defaultExpandAll:!0,showLine:!0,onSelect:(g,C)=>{const k=C.node.variablePath;if(k.length<=1)return!1;i.emit({type:"insert",currentInputId:m.currentInputId,expression:nR(w.node_id,k)})},switcherIcon:h.jsx(se.CaretDownOutlined,{}),treeData:b(w.sub_params,!0,w.nodeIcon,w.isValid,"node")})},`${w.node_id}-${w.seq}`)),!c&&!d&&a.length<1&&h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:lw.NoTestDataDesc,className:it.empty}),c?h.jsxs("div",{className:it.loadingState,children:[h.jsx(D.Spin,{size:"small"}),h.jsx("span",{children:"正在加载节点变量"})]}):d?h.jsx(D.Alert,{className:it.errorState,type:"error",showIcon:!0,message:"节点变量加载失败",description:d.message,action:h.jsx(D.Button,{size:"small",onClick:p,children:"重试"})}):null]})})]})]})}),{Option:Po}=D.Select,rR=y.forwardRef(({onSubmit:t,config_schema:e,nodeId:n},r)=>{const[o]=D.Form.useForm(),i=xl(),s=D.Form.useWatch("type",o);Et.useMount(()=>{e&&Object.hasOwn(e,"asc")&&o.setFieldsValue(e)});const[a,l]=y.useState(!1),c=(d,f,p="")=>(l(!0),o.validateFields().then(async m=>s&&s==="NUMBER"&&m.start>m.end?D.message.warning(K("link.flow.loop_start_end_check")):t({properties:m},d)).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>l(!1)));y.useImperativeHandle(r,()=>({saveConfig:d=>c(d)}));const u=Ot();return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:i,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsxs(D.Form,{disabled:!u,form:o,layout:"vertical",children:[h.jsxs(D.Row,{children:[h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"type",label:K("app.common.word.loop-data-type"),rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:"ARRAY",children:h.jsx(Te.FormattedMessage,{id:"link.flow.array"})}),h.jsx(Po,{value:"NUMBER",children:h.jsx(Te.FormattedMessage,{id:"common.number"})}),h.jsx(Po,{value:"CONDITION",children:h.jsx(Te.FormattedMessage,{id:"link.flow.condition_expression"})})]})})}),s&&s==="NUMBER"&&h.jsx(D.Col,{sm:24,lg:12,children:h.jsxs(D.Form.Item,{required:!0,label:K("link.flow.loop_start_end"),style:{display:"flex"},children:[h.jsx(D.Form.Item,{name:"start",noStyle:!0,rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsx(D.InputNumber,{min:1,style:{marginRight:20}})}),h.jsx(D.Form.Item,{name:"end",noStyle:!0,rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsx(D.InputNumber,{min:1})})]})}),s&&s!=="NUMBER"&&h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{rules:[{required:!0,message:K("link.flow.please_enter_loop_expression")}],label:K("link.flow.loop_expression"),name:"expression",children:h.jsx(Pn,{nodeId:n,borrow:!0,valueType:"JS_EXP",placeholder:K("link.flow.please_enter_loop_expression")})})}),!s&&h.jsx(D.Col,{})]}),h.jsxs(D.Row,{children:[h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"asc",label:K("app.common.word.circulation-direction"),rules:[{required:!0,message:K("link.flow.please_select_loop_direction")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:!0,children:h.jsx(Te.FormattedMessage,{id:"link.flow.loop_head_to_tail"})}),h.jsx(Po,{value:!1,children:h.jsx(Te.FormattedMessage,{id:"link.flow.loop_tail_to_head"})})]})})}),h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"errorExec",label:K("link.flow.loop_processing"),rules:[{required:!0,message:K("link.flow.please_select_loop_processing")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:"END",children:h.jsx(Te.FormattedMessage,{id:"link.flow.terminate_process"})}),h.jsx(Po,{value:"CONTINUE",children:h.jsx(Te.FormattedMessage,{id:"link.flow.continue_loop"})}),h.jsx(Po,{value:"BREAK",children:h.jsx(Te.FormattedMessage,{id:"link.flow.break_loop"})})]})})})]})]})}),h.jsx("div",{className:"workflow-node-form-footer",children:u&&h.jsx(D.Button,{type:"primary",disabled:!u,loading:a,className:"workflow-node-form-save",onClick:()=>c(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),Ud=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,{Option:oR}=D.Select,iR=y.forwardRef((t,e)=>{const{config_schema:n,nodeId:r}=t,[o]=D.Form.useForm(),i=xl(),{handleNodeDataUpdate:s}=Ri(),[a,l]=y.useState(null),[c,u]=y.useState(""),f=(E=>!(E!=null&&E.branches)||E.branches.length===0?{branches:[{id:Ud(),name:K("link.flow.switch.condition_one"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]},{id:Ud(),name:K("link.flow.switch.condition_two"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}]}:{branches:E.branches.map((O,A)=>{var T;return{id:O.id||Ud(),name:O.name||K("link.flow.switch.condition_n",{n:A+1}),or_list:((T=O.or_list)==null?void 0:T.map(B=>{var I;return{and_list:((I=B.and_list)==null?void 0:I.map(F=>({query:F.query||"",operator:F.operator||"",value:F.value||""})))||[{query:"",operator:"",value:""}]}}))||[{and_list:[{query:"",operator:"",value:""}]}]}})})(n),p=()=>{const E=o.getFieldValue("branches")||[];s({id:r,data:{config_schema:{branches:E}}})},m=(E,x)=>{l(E),u(x)},v=()=>{l(null),u("")},b=E=>{const x=Pt.cloneDeep(o.getFieldValue("branches"))||[],O=c.trim();if(!O){D.message.error(K("link.flow.switch.branch_name_cannot_be_empty"));return}if(x.some((T,B)=>B!==E&&T.name===O)){D.message.error(K("link.flow.switch.branch_name_duplicate"));return}x[E].name=O,o.setFieldValue("branches",x),l(null),u(""),p()},w=(E,x)=>{const O=o.getFieldValue("branches")||[];if(x<0||x>=O.length)return;const A=[...O],[T]=A.splice(E,1);A.splice(x,0,T),o.setFieldValue("branches",A),p()},[g,C]=y.useState(!1),k=E=>(C(!0),o.validateFields().then(async x=>{if(!x.branches.some(T=>T.or_list.some(B=>B.and_list.some(I=>I.query&&I.operator)))){D.message.error(K("link.flow.switch.at_least_one_valid_branch"));return}const A=Pt.cloneDeep(x);return A.branches.forEach(T=>{T.or_list.forEach(B=>{B.and_list.forEach(I=>{I.value=FG(I.operator,I.value)})})}),t.onSubmit({properties:A},E)}).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>C(!1)));y.useImperativeHandle(e,()=>({saveConfig:E=>k(E)}));const _=Ot(),S=(E,x,O,A)=>{const B=(o.getFieldValue("branches")||[])[x],I=a===x;return h.jsxs(D.Card,{style:{marginBottom:20,borderRadius:8,border:"1px solid #d9d9d9"},styles:{body:{padding:10}},children:[h.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:12},children:[h.jsx("div",{style:{display:"flex",alignItems:"center",flex:1},children:I?h.jsxs(D.Space,{children:[h.jsx(D.Input,{value:c,onChange:F=>u(F.target.value),style:{width:200},placeholder:K("link.flow.switch.enter_branch_name"),onPressEnter:()=>b(x)}),h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CheckOutlined,{style:{color:"#52c41a"}}),onClick:()=>b(x)}),h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:v})]}):h.jsxs(D.Space,{children:[h.jsx("span",{style:{fontSize:13,fontWeight:400},children:(B==null?void 0:B.name)||K("link.flow.switch.condition_n",{n:x+1})}),_&&h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.EditOutlined,{}),onClick:()=>m(x,(B==null?void 0:B.name)||"")})]})}),_&&h.jsxs(D.Space,{className:"actions",children:[h.jsx(D.Tooltip,{title:K("link.flow.switch.move_to_top"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:x===0,onClick:()=>w(x,0),children:"置顶"})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_up"),children:h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.ArrowUpOutlined,{}),disabled:x===0,onClick:()=>w(x,x-1)})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_down"),children:h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.ArrowDownOutlined,{}),disabled:x===O-1,onClick:()=>w(x,x+1)})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_to_bottom"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:x===O-1,onClick:()=>w(x,O-1),children:"置底"})}),h.jsx(D.Tooltip,{title:K("common.delete"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:O<=1,onClick:()=>{if(O<=1){D.message.warning(K("link.flow.switch.at_least_one_branch"));return}A(E.name),setTimeout(()=>{p()},0)},children:"删除"})})]})]}),h.jsx(D.Form.Item,{name:[E.name,"name"],hidden:!0,children:h.jsx(D.Input,{})}),h.jsx(D.Form.List,{name:[E.name,"or_list"],children:(F,{add:N,remove:P})=>h.jsx(h.Fragment,{children:F.map((M,z)=>{const H=z===F.length-1;return h.jsx(h.Fragment,{children:h.jsxs("div",{className:"switch-rule",children:[F.length>1&&_&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsxs(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>P(M.name),children:[h.jsx(Te.FormattedMessage,{id:"link.flow.remove"})," OR"]})}),h.jsx(D.Form.List,{name:[M.name,"and_list"],children:(R,{add:Y,remove:te})=>h.jsx(h.Fragment,{children:R.map(($,j)=>{const U=j===R.length-1;return h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[h.jsxs(D.Space,{align:"center",className:"switch-rule-item",children:[h.jsx(D.Form.Item,{style:{minWidth:150,marginBottom:0},name:[$.name,"query"],label:K("app.common.word.variable-name"),rules:[{required:!0,message:K("link.flow.please_enter_variable_name")}],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(D.Form.Item,{style:{marginBottom:0},name:[$.name,"operator"],label:K("app.common.word.condition"),rules:[{required:!0,message:K("link.flow.please_select_condition")}],children:h.jsx(D.Select,{style:{minWidth:140},placeholder:K("link.flow.select_condition"),getPopupContainer:()=>document.body,children:oO.map(ee=>h.jsx(oR,{value:ee.operator,children:ee.label},ee.operator))})}),h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const ee=o.getFieldValue(["branches",E.name,"or_list",M.name,"and_list",$.name,"operator"]);return iw(ee)?null:h.jsx(D.Form.Item,{style:{minWidth:150,marginBottom:0},name:[$.name,"value"],label:K("app.common.word.value"),rules:[],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})})}}),j===0&&h.jsx("div",{style:{width:30}}),j>0&&_&&h.jsx(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>te($.name)})]}),j<R.length-1&&h.jsx(D.Divider,{plain:!0,style:{margin:"8px 0"},children:h.jsx(D.Tag,{color:"#999999",children:h.jsx(Te.FormattedMessage,{id:"link.flow.and"})})}),h.jsxs("div",{className:`rule-opt-actions ${U?"last-and-rule":""}`,children:[j===R.length-1&&h.jsx(D.Button,{type:"link",disabled:!_,icon:h.jsx(br,{size:14}),onClick:()=>Y({query:"",operator:"",value:""}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-new-and"})}),H&&h.jsx(D.Button,{type:"link",icon:h.jsx(br,{size:14}),disabled:!_,onClick:()=>N({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-or"})})]})]},$.key)})})}),!H&&h.jsx("div",{style:{textAlign:"center"},children:h.jsx(D.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(D.Tag,{color:"#1890ff",children:h.jsx(Te.FormattedMessage,{id:"link.flow.or"})})})})]},M.key)})})})})]},E.key)};return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:i,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsx(D.Form,{disabled:!_,form:o,initialValues:f,layout:"vertical",autoComplete:"off",children:h.jsx(D.Form.List,{name:"branches",children:(E,{add:x,remove:O})=>h.jsxs(h.Fragment,{children:[E.map((A,T)=>S(A,T,E.length,O)),E.length<10&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:h.jsx(D.Button,{type:"default",icon:h.jsx(br,{size:14}),disabled:!_,onClick:()=>{const A=E.length+1;x({id:Ud(),name:K("link.flow.switch.condition_n",{n:A}),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}),setTimeout(()=>{p()},0)},children:h.jsx(Te.FormattedMessage,{id:"link.flow.switch.add_branch"})})}),E.length>=10&&h.jsx("div",{style:{textAlign:"center",color:"#999",marginBottom:20},children:h.jsx(Te.FormattedMessage,{id:"link.flow.switch.max_branches_reached"})})]})})})}),h.jsx("div",{className:"workflow-node-form-footer",children:_&&h.jsx(D.Button,{type:"primary",disabled:!_,loading:g,className:"workflow-node-form-save",onClick:()=>k(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),sR=({nodeId:t,onSubmit:e,data:n})=>{const[r]=D.Form.useForm(),o=xl(),i=Ot(),{refreshFlow:s}=ao(),{setNodes:a}=ne.useReactFlow(),l=y.useCallback((u,d)=>{a(f=>f.map(p=>!d&&p.id!==t?p:{...p,data:{...p.data,error_handler:u}}))},[t,a]);y.useEffect(()=>{const u=(n==null?void 0:n.error_handler)||{};r.setFieldsValue({retryEnabled:u.retry||!1,retryCount:u.retry_times||3,retryInterval:u.retry_interval||5,stepFactor:u.step_factor||1.5,maxRetryInterval:u.max_retry_interval||60,alertEnabled:u.warn_type===1,webhookUrl:u.notify_url||"",errorHandling:u.process_type===2?"ignore":"interrupt",applyToAllNodes:!!u.apply_all})},[t,r,n==null?void 0:n.error_handler]);const c=async u=>{try{const d={retry:u.retryEnabled,retry_times:u.retryEnabled?u.retryCount:void 0,retry_interval:u.retryEnabled?u.retryInterval:void 0,step_factor:u.retryEnabled?u.stepFactor:void 0,max_retry_interval:u.retryEnabled?u.maxRetryInterval:void 0,warn_type:u.alertEnabled?1:0,notify_url:u.alertEnabled?u.webhookUrl:void 0,process_type:u.errorHandling==="interrupt"?1:2,apply_all:u.applyToAllNodes};await rc(t,{error_handler:d}),l(d,u.applyToAllNodes),u.applyToAllNodes&&s(),e()}catch{D.message.error(K("common.save_failed"))}};return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:o,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsxs(jn.ProForm,{form:r,layout:"vertical",disabled:!i,submitter:!1,onFinish:c,children:[h.jsx(jn.ProFormSwitch,{name:"retryEnabled",label:K("app.common.word.enable-retry")}),h.jsx(jn.ProFormDependency,{name:["retryEnabled"],children:({retryEnabled:u})=>u?h.jsxs(h.Fragment,{children:[h.jsx(jn.ProFormDigit,{name:"retryCount",label:K("app.common.word.retry-count"),tooltip:K("app.common.word.retry-count-tooltip"),width:"xl",fieldProps:{min:1,max:10,precision:0,style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.please-enter-retry-count")}]}),h.jsx(jn.ProFormDigit,{name:"retryInterval",label:K("app.common.word.retry-interval"),tooltip:K("app.common.word.retry-interval-tooltip"),fieldProps:{min:1,max:60,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:u,message:K("app.common.word.please-enter-retry-interval")}]}),h.jsx(jn.ProFormDigit,{name:"stepFactor",label:K("app.common.word.step-factor"),tooltip:K("app.common.word.step-factor-tooltip"),width:"xl",fieldProps:{min:1,max:5,precision:1,style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.please-enter-step-factor")}]}),h.jsx(jn.ProFormDigit,{name:"maxRetryInterval",label:K("app.common.word.max-retry-interval"),tooltip:K("app.common.word.max-retry-interval-tooltip"),width:"xl",fieldProps:{min:1,max:300,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:u,message:K("app.common.word.please-enter-max-retry-interval")}]})]}):null}),h.jsx(jn.ProFormSwitch,{name:"alertEnabled",label:K("app.common.word.enable-alert")}),h.jsx(jn.ProFormDependency,{name:["alertEnabled"],children:({alertEnabled:u})=>u?h.jsx(jn.ProFormText,{name:"webhookUrl",label:K("app.common.word.webhook-url"),placeholder:K("app.common.word.enter-webhook-url"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.enter-webhook-url")}]}):null}),h.jsx(jn.ProFormSelect,{name:"errorHandling",label:K("app.common.word.error-handling"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:!0,message:K("app.common.word.select-error-handling")}],options:[{label:K("app.common.word.interrupt-flow"),value:"interrupt"},{label:K("app.common.word.ignore-error"),value:"ignore"}]}),h.jsx(jn.ProFormSwitch,{name:"applyToAllNodes",label:K("app.common.word.apply-to-all-nodes")})]})}),h.jsx("div",{className:"workflow-node-form-footer",children:h.jsx(D.Button,{type:"primary",disabled:!i,onClick:()=>r.submit(),className:"workflow-node-form-save",children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})},cO="[workflow:schema-render]",aR=()=>{const{event$:t}=y.useContext(Qr),e=Fh();return t.useSubscription(n=>{var r;n.type==="insert"&&n.expression&&(r=e==null?void 0:e.getActiveFieldId)!=null&&r.call(e)&&e.insertVariableToActiveField(n.expression,!1)}),null},lR=({children:t})=>{const{event$:e}=y.useContext(Qr),n=Mh(),[r,o]=y.useState("");e.useSubscription(a=>{a.type==="setCurrentInputId"&&o(a.currentInputId??"")});const i=(n==null?void 0:n.activeFieldId)??r,s=y.useMemo(()=>({activeInputId:i}),[i]);return h.jsx(cx.Provider,{value:s,children:t})},cR=t=>{const{icon:e,fallbackIcon:n}=t;return h.jsxs("div",{className:"node-config-title",style:{display:"flex",alignItems:"center"},children:[h.jsx("div",{className:"node-config-icon",style:{backgroundImage:`url(${n?"none":e??"https://digitalsee-image.digitalsee.cn/flow/0.png"})`},children:n&&n}),h.jsxs("div",{className:"node-config-meta",children:[h.jsx("div",{className:"node-config-title-name",style:{fontSize:16,fontWeight:600,marginLeft:10},children:t.name}),h.jsx("div",{className:"node-config-title-description",style:{fontSize:12,color:"gray",marginLeft:10},children:t.description})]})]})},uR=y.memo(({visible:t,onClose:e,data:n,nodeType:r=pe.ACTION,nodeId:o=""})=>{var B,I;const i=Et.useEventEmitter();ne.useInternalNode(o);const{setNodeConfigVisible:s,refreshFlow:a}=ao(),l=y.useRef(null),c=y.useRef(null),u=y.useRef(null),d=y.useRef(null),f=y.useRef(null);y.useRef(null);const p=y.useRef(null),m=ne.useStoreApi(),v=$t(),b=((I=(B=v.nodeConfigPanel)==null?void 0:B.testArea)==null?void 0:I.allowManualTest)!==!1,w=Et.useReactive({output:"",ignore:!1,expandTestPanel:!1}),g=y.useMemo(()=>v.nodeConfigPanel.showSettings&&![pe.TRIGGER,pe.AI_SUB_NODE].includes(r),[r,v.nodeConfigPanel.showSettings]),C=(n==null?void 0:n.action_id)??(n==null?void 0:n.id),k=C!==null&&typeof C<"u"&&C!==""&&Number.isFinite(Number(C))?C:null,_=po(n),S=n==null?void 0:n.nodeKey,E=(n==null?void 0:n.nodeVersion)??(n==null?void 0:n.action_ver),{handleNodeDataUpdate:x}=Ri();y.useEffect(()=>{var N,P;if(!t)return;const F=k!==null&&Number(k)<=0;S&&F&&!_&&!((N=n==null?void 0:n.config_schema)!=null&&N.sub_params)&&!((P=n==null?void 0:n.properties)!=null&&P.sub_params)&&console.warn(`${cO} possible nodepackage schema route mismatch`,{nodeId:o,nodeType:r,actionId:k,nodePackageKey:S,nodePackageVersion:E,reason:"keyed node with non-positive action_id and no classic sub_params was rejected by the nodePackage-compatible node check"})},[k,n==null?void 0:n.config_schema,n==null?void 0:n.properties,n==null?void 0:n.params,n==null?void 0:n.action_key,n==null?void 0:n.action_ver,n==null?void 0:n.nodeKey,n==null?void 0:n.nodeVersion,_,S,E,o,r,t]);const O=y.useCallback(async(F,N)=>{var M,z,H;const P=v.flowId;try{const R=m.getState().nodes.find(U=>U.id===o),Y=_?ZP(F):F.properties,te=_?e2(F):F.account_id??null,$=_?{flow_id:P,properties:Y,position:R==null?void 0:R.position,action_id:k,account_id:te,proxy_id:F.proxy_id,mcp_tool_description:F.mcp_tool_description,action_key:S,action_ver:E}:{flow_id:P,...F,position:R==null?void 0:R.position,action_id:k};console.info(`${cO} save node config`,{nodeId:o,nodeType:r,actionId:k,isNodepackageNode:_,nodePackageKey:S,nodePackageVersion:E,valueKeys:Object.keys(F||{}),paramsKeys:Object.keys((F==null?void 0:F.params)||{}),propertiesKeys:Object.keys((F==null?void 0:F.properties)||{}),ignoreDebugResult:w.ignore});const j=w.ignore?await My(o,"","","",Y,w.output):await rc(o,$);if(j)if(w.ignore)(M=p.current)==null||M.finishSampleTest(),x({id:o,data:{status:me.SUCCESS,output:w.output,outputSource:"sample"}}),D.message.success("已使用样本数据完成调试");else{D.message.success("节点配置已保存");const U={params:void 0,properties:Y,account_id:te,mcp_tool_description:F.mcp_tool_description,action_key:S,action_ver:E,nodeKey:S,nodeVersion:E,isNodePackage:_};x({id:o,data:{config_schema:Y,account_id:F.account_id,...U,position:R==null?void 0:R.position,status:j.status}})}N&&!w.ignore&&((z=p.current)==null||z.onTestNode()),w.ignore=!1,w.output=""}catch{w.ignore&&((H=p.current)==null||H.abortSampleTest(),x({id:o,data:{status:me.FAILED}}))}},[k,v.flowId,n==null?void 0:n.action_key,n==null?void 0:n.action_ver,n==null?void 0:n.nodeKey,n==null?void 0:n.nodeVersion,x,_,S,E,o,r,w,m]);y.useCallback(F=>{!_||r!==pe.SWITCH||x({id:o,data:{config_schema:F,properties:F}})},[x,_,o,r]);const A=F=>{var N,P,M,z,H;return _?(N=c.current)==null?void 0:N.saveConfig(F):r===pe.LOOP?(P=f.current)==null?void 0:P.saveConfig(F):r===pe.CONDITION?(M=u.current)==null?void 0:M.saveConfig(F):r===pe.SWITCH?(z=d.current)==null?void 0:z.saveConfig(F):(H=c.current)==null?void 0:H.saveConfig(F)},T=async(F,N,P)=>{var M;if(N){w.ignore=!0,w.output=P||"",await A(F),(M=p.current)==null||M.finishNodeTest();return}if(F)try{D.message.loading("正在保存节点配置...",0),await A(F),D.message.success("节点配置已保存"),D.message.destroy()}catch(z){D.message.destroy(),console.error("节点配置保存失败:",z),D.message.error("节点配置保存失败,无法执行测试")}};return h.jsx(D.Modal,{open:t,footer:null,closeIcon:null,maskClosable:!0,onCancel:()=>{s(null)},centered:!0,width:"min(1440px, calc(100vw - 32px))",className:"nodes-config-modal",styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.45)"},content:{padding:0,overflow:"hidden"}},children:h.jsx(Qr.Provider,{value:{event$:i},children:h.jsxs(rC,{children:[h.jsx(aR,{}),h.jsx(lR,{children:h.jsx("div",{className:"nodes-config-container",children:h.jsx("div",{className:"nodes-config-content",children:h.jsxs("div",{className:"config-row",children:[h.jsx("div",{className:"left-section",children:h.jsx("div",{className:"variables-section",children:h.jsx(lO,{ref:l,nodeId:o,onInsert:()=>{},open:t})})}),h.jsx("div",{className:"middle-section",children:h.jsxs("div",{className:"config-container",children:[h.jsx(cR,{icon:n==null?void 0:n.icon,fallbackIcon:n==null?void 0:n.fallbackIcon,name:(n==null?void 0:n.action_name)||(n==null?void 0:n.label),description:n==null?void 0:n.description}),h.jsx(D.Tabs,{style:{height:"100%"},items:[{key:"property",label:"参数配置",children:h.jsxs(h.Fragment,{children:[_||![pe.CONDITION,pe.SWITCH,pe.LOOP].includes(r)?h.jsx(BG,{ref:c,nodeId:o,nodeType:r,data:n,onSubmit:O}):null,r===pe.CONDITION&&!_?h.jsx(IG,{ref:u,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null,r===pe.SWITCH&&!_?h.jsx(iR,{ref:d,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null,r===pe.LOOP&&!_?h.jsx(rR,{ref:f,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null]})},{key:"setting",label:"设置",children:h.jsx(sR,{data:n,nodeId:o,onSubmit:()=>{D.message.success("保存成功")}})}].slice(0,g?2:1)})]})}),h.jsx("div",{className:`right-section ${w.expandTestPanel?"expand":""}`,children:b&&h.jsx("div",{className:"test-section",children:h.jsx(XG,{ref:p,nodeId:o,beforeHook:T,onClose:e,onExpandPanel:F=>{w.expandTestPanel=F}})})})]})})})})]})})})},(t,e)=>Pt.isEqual(Pt.omit(t,["isHovered"]),Pt.omit(e,["isHovered"]))),uO=[],dR=(t,e)=>{if(uO.length===0)return[];const n=new Set(e);return t.some(o=>n.has(o.id)&&Oh(o)&&uO.some(i=>{var s;return((s=o.data)==null?void 0:s.action_key)===i}))?t.filter(o=>!n.has(o.id)).map(o=>o.id):[]},fR=[pe.AGENT,pe.BROWSER],cw=()=>{const t=ne.useStoreApi(),[e,n]=y.useState(0),r=y.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=fa(u,p=>{const m=p.find(v=>v.id===c.id);m.data?m.data.isHovered=!0:m.data={isHovered:!0}});d(f)},[]),o=y.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=fa(u,p=>{const m=p.find(v=>v.id===c.id);m.data?m.data.isHovered=!1:m.data={isHovered:!1}});d(f)},[]),i=y.useCallback(l=>{const{nodes:c,setNodes:u}=t.getState(),d=fa(c,f=>{l.forEach(p=>{p.type==="select"&&(f.find(m=>m.id===p.id).selected=p.selected)})});u(d)},[t]),s=y.useCallback((l,c,u=new Set)=>(c.filter(f=>f.source===l?f.sourceHandle!==He.OUTPUT&&f.sourceHandle!==He.DONE&&f.sourceHandle!==He.LOOP&&f.sourceHandle!==He.TRUE&&f.sourceHandle!==He.FALSE:f.target===l&&fh(f.targetHandle)).forEach(f=>{const p=f.source===l?f.target:f.source;u.has(p)||(u.add(p),s(p,c,u))}),u),[]),a=y.useCallback((l,c)=>{const{nodes:u,edges:d,setNodes:f,setEdges:p,onNodesChange:m,onEdgesChange:v}=t.getState(),b=new Set(l);fR.includes(c)&&l.forEach(C=>{s(C,d).forEach(_=>{b.add(_)})}),dR(u,l).forEach(C=>b.add(C));const w=Array.from(b),g=d.filter(C=>b.has(C.source)||b.has(C.target)).map(C=>C.id);if(m){const C=w.map(k=>({type:"remove",id:k}));m(C)}else f(u.filter(C=>!w.includes(C.id)));if(g.length)if(v){const C=g.map(k=>({type:"remove",id:k}));v(C)}else p(d.filter(C=>!g.includes(C.id)))},[t,s]);return{autoSaveNum:e,onNodeMouseEnter:r,onNodeMouseLeave:o,handleNodesChange:i,handleNodesDelete:a}};function hR(t){const{color:e,visible:n}=t;return h.jsx("div",{style:{display:n?"inline-flex":"none",justifyContent:"center",alignItems:"center",position:"absolute",zIndex:1e3,top:"calc(50% - 8px)",left:-10,padding:1,borderRadius:"100%",background:"#FFFFFF",width:20,height:20},children:h.jsx("span",{style:{width:16,height:16,borderRadius:10,backgroundColor:e,border:`1px solid ${e}`,display:"inline-flex",justifyContent:"center",alignItems:"center"},children:h.jsx(DW,{size:8,color:"#FFFFFF"})})})}const Lo={info:{normal:"#007FFF",lighter:"rgba(0, 127, 255, 0.48)"},success:{normal:"#98D7A9",lighter:"rgba(0, 176, 66, 0.48)"},warning:{normal:"#F7CD8F",lighter:"rgba(255, 146, 0, 0.48)"},error:{normal:"#F3B096",lighter:"rgba(255, 82, 25, 0.48)"},disabled:{normal:"#C7CCD1",lighter:"rgba(199, 204, 209, 0.48)"}},dO=({id:t,type:e=pe.ACTION,selected:n=!1,fallbackIcon:r,iconUri:o,inputs:i=[],outputs:s=[],showToolbar:a=!0,width:l,height:c,className:u="",status:d=me.IDLE,onTestNode:f,data:p,contentRender:m,showNodeDescription:v=!0,onToggleNodeDisabled:b})=>{const{currentNodeConfigVisibleId:w,setNodeConfigVisible:g}=ao(),{handleNodeDataUpdate:C}=Ri(),{handleNodesDelete:k}=cw(),_=$t(),S=na(),E=$=>{C({id:t,data:{note:$}})},x=y.useCallback(()=>{g(null)},[]),O=(p==null?void 0:p.isHovered)||!1,A=y.useMemo(()=>e===pe.TRIGGER,[e]),T=()=>{g(t)},B=y.useMemo(()=>(p==null?void 0:p.closed)==="1",[p==null?void 0:p.closed,e]),I=y.useMemo(()=>typeof l=="number"&&l>0?l:"auto",[l]),F=($="node")=>{if(B)return`workflow-${$}-disabled`;switch(d){case me.INVALID:return`workflow-${$}-warning`;case me.FAILED:return`workflow-${$}-failed`;case me.SUCCESS:case me.RUNNABLE:case me.ACTIVE:return`workflow-${$}-success`;case me.RUNNING:return`workflow-${$}-running`;case me.WARNING:return`workflow-${$}-warning`;case me.DEACTIVATED:return`workflow-${$}-disabled`;case me.IDLE:return`workflow-${$}-idle`;default:return""}},N=()=>{if(B)return Lo.disabled;switch(d){case me.INVALID:return Lo.warning;case me.FAILED:return Lo.error;case me.SUCCESS:case me.RUNNABLE:case me.ACTIVE:return Lo.success;case me.RUNNING:return Lo.info;case me.WARNING:return Lo.warning;case me.DEACTIVATED:return Lo.disabled;default:return Lo.info}},P=($="normal")=>N()[$],M=()=>{const $=i.length,j=new Map;return i.forEach(U=>{const ee=U.position,ie=j.has(ee)?j.get(ee)+1:1;j.set(ee,ie)}),i.map((U,ee)=>h.jsx(P0,{nodeId:t,id:U.id,position:U.position,type:U.type||fn.TARGET,category:U.category,connectionLimit:U.maxConnections,label:U.label,nodeStatus:d,protocol:U.protocol,portSchema:U.portSchema,shape:U.shape,style:U.style,index:[ee,$,j.get(U.position)]},`${t}-${U.id}`))},z=async()=>{var U,ee;const $=((U=_.canvas.fixedNodes)==null?void 0:U.triggerIds)||[],j=((ee=_.nodeTypes.fixed)==null?void 0:ee.triggers)||[];if($.includes(t)||j.includes(e)){D.message.warning("当前触发节点已被配置为不可删除");return}await Xf(t),k([t],e)},H=y.useMemo(()=>{const $=s.length,j=new Map;return s.forEach(U=>{const ee=U.position,ie=j.has(ee)?j.get(ee)+1:1;j.set(ee,ie)}),s.map((U,ee)=>h.jsx(P0,{nodeId:t,connectionLimit:U.maxConnections,id:U.id,style:U.style,position:U.position,protocol:U.protocol,portSchema:U.portSchema,type:U.type,label:U.label,shape:U.shape,nodeStatus:d,index:[ee,$,j.get(U.position)]},`${t}-${U.id}`))},[t,s,d]),R=()=>h.jsx(nC,{status:d,disabled:B}),Y=()=>{switch(d){case me.INVALID:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-warning-icon",children:h.jsx(se.WarningFilled,{style:{color:P()},size:12})});case me.FAILED:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-failed-icon",children:h.jsx(se.CloseCircleFilled,{style:{color:P()},size:12})});case me.SUCCESS:case me.RUNNABLE:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-success-icon",children:h.jsx(se.CheckCircleFilled,{style:{color:P()},size:12})});case me.RUNNING:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-running-icon",children:h.jsx(se.LoadingOutlined,{style:{color:P()},size:12})});default:return null}},te=()=>h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"workflow-node-icon-wrapper",children:h.jsx("div",{className:"workflow-node-icon",style:{backgroundImage:`url(${r?"none":o??"https://digitalsee-image.digitalsee.cn/flow/0.png"})`},children:r&&r})}),v&&h.jsx(PP,{title:p==null?void 0:p.connector_name,nodeId:t,note:(p==null?void 0:p.note)||"",statusIcon:Y(),onNoteChange:E,description:p.action_name,className:"workflow-node-text"})]});return h.jsxs(y.Fragment,{children:[h.jsxs("div",{style:{width:I,height:c||"auto"},onDoubleClick:T,className:`${u}
117
+ `})]}):y.isValidElement(t)?y.cloneElement(t,{value:e,onChange:n,...t.props}):t;return h.jsxs(h.Fragment,{children:[!r&&h.jsx("div",{style:{marginBottom:6,textAlign:"right"},children:h.jsxs(D.Button,{size:"small",type:"primary",onClick:i,style:{background:"linear-gradient(135deg, #667eea 0%, #764ba2 100%)",border:"none",borderRadius:"14px",padding:"0 10px",height:"24px",fontSize:"11px",fontWeight:"500",boxShadow:"0 2px 8px rgba(102, 126, 234, 0.3)",transition:"all 0.2s ease",display:"flex",alignItems:"center",gap:"4px",lineHeight:1},onMouseEnter:a=>{a.currentTarget.style.transform="translateY(-1px)",a.currentTarget.style.boxShadow="0 4px 12px rgba(102, 126, 234, 0.5)"},onMouseLeave:a=>{a.currentTarget.style.transform="translateY(0)",a.currentTarget.style.boxShadow="0 2px 8px rgba(102, 126, 234, 0.3)"},children:[h.jsx(se.RobotOutlined,{style:{fontSize:"11px"}}),"由AI生成"]})}),s()]})},eG=t=>{var n;const e=In();return h.jsx(D.Select,{id:e,style:{borderRadius:6},...t,getPopupContainer:r=>r.parentNode,children:(n=t==null?void 0:t.options)==null?void 0:n.map(r=>h.jsx(D.Select.Option,{label:r.label,value:r.value,children:r.label},r.value))})},tG=t=>h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",value:t.value?jt(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD")))}}),nG=t=>h.jsx(y.Fragment,{children:h.jsx(D.DatePicker,{style:{width:"100%"},picker:"date",showTime:!0,value:t.value?jt(t.value):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("YYYY-MM-DD hh:mm:ss")))}})}),rG=({value:t=[],onChange:e,selectType:n="KNOWLEDGE_BASE",placeholder:r="请选择"})=>{const o=Et.useReactive({items:[]}),[i,s]=y.useState([]),[a,l]=y.useState(!1);y.useEffect(()=>{n&&(l(!0),Uy(n).then(p=>{p&&Array.isArray(p)&&s(p)}).catch(p=>{console.error("获取选项失败:",p),s([])}).finally(()=>{l(!1)}))},[n]),y.useEffect(()=>{const p=Array.isArray(t)?t:[];o.items=p.map(m=>({...m,id:m.id??In()}))},[t]);const c=Ot(),u=p=>{const m=o.items.filter(v=>v.id!==p);e==null||e(m)},d=()=>{e([...o.items,{value:"",id:In()}])},f=(p,m)=>{e(o.items.map((v,b)=>b===p?{...v,value:m}:v))};return h.jsxs("div",{children:[o.items.length?o.items.map((p,m)=>h.jsxs(D.Space,{size:"small",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Select,{value:p.value||void 0,onChange:v=>f(m,v),placeholder:r,style:{width:300},disabled:!c||a,loading:a,options:i,showSearch:!0,filterOption:(v,b)=>((b==null?void 0:b.label)??"").toLowerCase().includes(v.toLowerCase()),getPopupContainer:v=>v.parentNode}),c&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{u(p.id)}})]},p.id)):null,c&&h.jsx(D.Button,{type:"default",onClick:d,block:!0,icon:h.jsx(br,{size:16}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})})]})},oG=({value:t=[],onChange:e,valueType:n})=>{const r=u=>{let d=[...o.items];d=d.filter(f=>f.id!==u),e==null||e(d)},o=Et.useReactive({items:[]}),i=u=>{const d=u.which||u.keyCode;(d===37||d===229)&&u.preventDefault()};y.useEffect(()=>{const u=Array.isArray(t)?t:[];o.items=u.map(d=>({...d,id:d.id??In()}))},[t]);const s=()=>{e==null||e([...o.items,{key:"",value:"",id:In()}])},a=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,key:d}:f))},l=(u,d)=>{e==null||e(o.items.map(f=>f.id===u?{...f,value:d}:f))},c=Ot();return h.jsxs("div",{className:"workflow-extend-object",children:[o.items.length?o.items.map((u,d)=>h.jsxs(D.Space,{size:"small",className:"workflow-extend-object__row",style:{display:"flex",marginBottom:8,width:"100%"},align:"center",children:[h.jsx(D.Input,{defaultValue:u.key,onKeyDown:i,onChange:f=>{var p;a(u.id,(p=f.target.value)==null?void 0:p.replace(/'/g,""))},placeholder:"Key"}),h.jsx("span",{className:"workflow-extend-object__value",style:{display:"inline-block",transform:"translateY(2px)",width:300},children:h.jsx(Pn,{borrow:!0,disableIDE:!0,placeholder:"Value",style:{width:300},value:u.value,onChange:f=>l(u.id,f),valueType:n,nodeId:""})}),c&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{r(u.id)}})]},u.id)):null,h.jsxs(D.Button,{type:"default",onClick:s,block:!0,children:[h.jsx(br,{size:16})," ",h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})]})]})},iG=t=>null,sG=t=>h.jsx(D.TimePicker,{style:{width:"100%"},use12Hours:!1,format:"HH:mm",value:t.value?jt(t.value,"HH:mm"):null,onChange:e=>{const n=jt(e).format("HH:mm:00");t.onChange&&(t==null||t.onChange(n))}}),{Text:aG}=D.Typography,YA=t=>h.jsx("div",{className:"ce-tag_input label-field",children:h.jsx("p",{children:h.jsx(D.Tooltip,{title:t.value,color:"cyan",placement:"topLeft",children:h.jsx(aG,{ellipsis:!0,copyable:{text:t.value},children:t.value})})})}),lG=({value:t=[],onChange:e,...n})=>{const[r,o]=y.useState([]);y.useEffect(()=>{const f=Array.isArray(t)?t:[];o(f.map(p=>({...p,id:p.id??In()})))},[t]);const i=Ot(),s=f=>{const p=r.filter(m=>m.id!==f);o(p),e==null||e(p)},a=()=>{const f={field:"",dataType:"string",desc:"",required:!1,id:In()},p=[...r,f];o(p),e(p)},l=(f,p)=>{const m=r.map(v=>v.id===f?{...v,field:p}:v);o(m),e(m)},c=(f,p)=>{const m=r.map(v=>v.id===f?{...v,dataType:p}:v);o(m),e(m)},u=(f,p)=>{const m=r.map(v=>v.id===f?{...v,desc:p}:v);o(m),e(m)},d=(f,p)=>{const m=r.map(v=>v.id===f?{...v,required:p}:v);o(m),e(m)};return h.jsxs("div",{className:"workflow-multi-row-extract",children:[r.length?r.map(f=>h.jsxs(D.Space,{size:"small",className:"workflow-multi-row-extract__row",style:{display:"flex",marginBottom:8,width:"100%"},align:"start",children:[h.jsx(D.Input,{value:f.field,onChange:p=>l(f.id,p.target.value),placeholder:"字段名称",status:"",style:{width:130},disabled:!i}),h.jsx(D.Select,{value:f.dataType,onChange:p=>c(f.id,p),placeholder:"数据类型",style:{width:100},disabled:!i,options:[{label:"字符串",value:"string"},{label:"数字",value:"number"},{label:"日期",value:"date"},{label:"布尔",value:"boolean"}]}),h.jsx(D.Input,{value:f.desc,onChange:p=>u(f.id,p.target.value),placeholder:"字段描述",status:"",style:{width:200},disabled:!i}),h.jsx(D.Select,{value:f.required,onChange:p=>d(f.id,p),placeholder:"是否必填",style:{width:100},disabled:!i,options:[{label:"是",value:!0},{label:"否",value:!1}]}),i&&h.jsx(D.Button,{icon:h.jsx(Di,{size:16}),onClick:()=>{s(f.id)}})]},f.id)):null,i&&h.jsx(D.Button,{type:"default",onClick:a,block:!0,icon:h.jsx(br,{size:16}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-field"})})]})},cG=t=>{const e=y.useMemo(()=>In(),[]),{event$:n}=y.useContext(Qr),r=Qm(e),[o,i]=y.useState("");n.useSubscription(a=>{var l;if(a.type==="insert"&&a.currentInputId===e){const c=(o??"")+(t.valueType==="FIX_VALUE"?a.expression.slice(2,-2):a.expression);i(c),(l=t.onChange)==null||l.call(t,c)}}),y.useEffect(()=>{i(t.value)},[t.value]);const s=a=>{var l;i(a.target.value),(l=t.onChange)==null||l.call(t,a.target.value)};return h.jsxs(D.Space.Compact,{block:!0,className:`workflow-password-field${r?` ${od}`:""}`,children:[h.jsx("span",{className:"workflow-password-field__prefix",children:K("link.flow.cipherText")}),h.jsx(D.Input.Password,{id:e,onFocus:()=>{(t.valueType==="JS_EXP"||t.valueType==="FIX_VALUE"||t.valueType==="PLAIN_TEXT"||t.valueType==="PLAIN_CODE")&&(n.emit({type:"visible",visible:!0}),n.emit({type:"setCurrentInputId",currentInputId:e}))},value:o,onChange:s})]})},uG=t=>{var o;const e=In(),{multiple:n,...r}=t;return h.jsx(D.Select,{id:e,style:{borderRadius:6},mode:n?"multiple":void 0,...r,getPopupContainer:i=>i.parentNode,children:(o=t==null?void 0:t.options)==null?void 0:o.map(i=>h.jsx(D.Select.Option,{label:i.label,value:i.value,children:i.label},i.value))})},dG=t=>h.jsx(D.TimePicker,{style:{width:"100%"},value:t.value?jt(t.value,"HH:mm:ss"):null,onChange:e=>{t.onChange&&(t==null||t.onChange(e==null?void 0:e.format("HH:mm:ss")))}}),El=()=>$t().flowId,fG=["sample","test","payload","body"],hG=["测试","样本","sample","test","payload","body"],XA=t=>{var n,r,o;return[xe.JSON,xe.TEXTAREA,xe.FIXED_OBJ].includes(t.page_control)?!0:((o=(r=(n=t.value_type)==null?void 0:n.toLowerCase)==null?void 0:r.call(n))==null?void 0:o.includes("json"))??!1},JA=(t,e)=>{if(!t)return!1;const n=t.toLowerCase();return e.some(r=>n.includes(r))},pG=t=>{if(t==null)return;const e=(t==null?void 0:t.data)!==void 0?t.data:t;if(typeof e=="string")try{const n=JSON.parse(e);return JSON.stringify(n,null,2)}catch{return e}try{return JSON.stringify(e,null,2)}catch{return}},mG=t=>{const{form:e,configList:n=[],disabled:r,...o}=t;a0();const[i,s]=y.useState(!1),[a,l]=y.useState(0),c=y.useRef(void 0),u=El(),d=y.useMemo(()=>{const m=n.find(v=>XA(v)&&(JA(v.name,fG)||JA(v.display_name,hG)));return m||n.find(v=>XA(v))},[n]),f=y.useCallback(()=>{c.current&&(clearInterval(c.current),c.current=void 0)},[]);y.useEffect(()=>()=>{f()},[f]);const p=y.useCallback(async()=>{if(!u){D.message.warning("缺少连接流ID,无法监听Webhook");return}if(!(d!=null&&d.name)){D.message.warning("未找到测试数据字段,无法填充监听结果");return}if(!i){s(!0),l(10),c.current=setInterval(()=>{l(m=>m<=1?(f(),0):m-1)},1e3);try{const m=await Fy(u,{timeout_seconds:10}),v=pG(m);v?(e.setFieldsValue({[d.name]:v}),D.message.success("已捕获Webhook推送数据并填充测试样例")):D.message.info("监听结束,暂无新的推送数据")}catch(m){console.error("监听Webhook失败:",m),D.message.error("监听失败,请稍后重试")}finally{f(),s(!1),l(0)}}},[u,e,i,d==null?void 0:d.name,f]);return h.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},className:"web-hook",children:[h.jsx("div",{style:{flex:1},className:"web-hook-input",children:h.jsx(YA,{...o})}),h.jsx(D.Button,{size:"small",type:"primary",ghost:!0,onClick:p,disabled:r||!(d!=null&&d.name),loading:i,style:{height:32,minWidth:110,display:"inline-flex",alignItems:"center",justifyContent:"center"},children:i?`监听中${a?`(${a}s)`:""}`:"监听"})]})},gG={configFormContainer:"_configFormContainer_1frpl_1"};function wG(t){return Lq(t==null?void 0:t.credentials)}const bG=t=>String(t.type).toUpperCase();function QA(t){var e,n;return(n=(e=t==null?void 0:t.input_fields)==null?void 0:e.find(r=>bG(r)==="PROXY"))==null?void 0:n.key}function ZA(t){return t==null||t===""?"0":String(t)}function vG(t,e,n){const r=QA(e);return r?{...t,[r]:ZA(n??t[r])}:t}function yG(t,e){const n=QA(e);if(!n)return{properties:t};const r={...t},o=ZA(r[n]);return delete r[n],{properties:r,proxyId:o}}const eO=({field:t,disabled:e,readOnly:n,context:r,value:o="",onChange:i,id:s,allowVariableInsert:a,hasModeSwitch:l})=>{const c=uC(),u=y.useId(),d=s||`workflow-code-${u}`,f=y.useRef(null),[p,m]=y.useState(0),v=!e&&!n,b=y.useCallback(_=>{var x;if(!a)return;const S=(x=f.current)==null?void 0:x.view,E=S==null?void 0:S.state.selection.main;if(!S||!E){i==null||i(`${o}${_}`);return}S.dispatch({changes:{from:E.from,to:E.to,insert:_},selection:{anchor:E.from+_.length}}),S.focus()},[a,i,o]),w=oC(d,_=>b(_),()=>{var _,S;return(S=(_=f.current)==null?void 0:_.view)==null?void 0:S.focus()}),g=Mh(),C=(g==null?void 0:g.activeFieldId)===d,k=y.useCallback(()=>{if(v)try{i==null||i(JSON.stringify(JSON.parse(o),null,2))}catch{D.message.warning(K("link.flow.format_json_failed"))}},[v,i,o]);return h.jsx(bC,{id:d,canEditInEditor:v,openEditorNumber:p,nodeId:c.nodeId||r.nodeId||"",value:o,language:"json",showVariableSidebar:a,onFinish:i,children:h.jsxs("div",{style:{position:"relative"},className:C?od:void 0,children:[h.jsx(nd,{id:d,ref:f,value:o,readOnly:!v,height:"220px",placeholder:t.placeholder,theme:Cm,extensions:[$A()],onFocus:()=>{v&&a&&w.activate()},onChange:i}),v?h.jsxs(D.Space,{size:4,style:{position:"absolute",right:8,top:6,zIndex:2},children:[h.jsx(D.Tooltip,{title:K("link.flow.format_json"),children:h.jsx(D.Button,{type:"text",size:"small","aria-label":K("link.flow.format_json"),icon:h.jsx(se.FormatPainterOutlined,{}),onClick:k,style:{color:"#fff"}})}),h.jsx(D.Tooltip,{title:K("link.flow.open_code_editor"),children:h.jsx(D.Button,{type:"text",size:"small","aria-label":K("link.flow.open_code_editor"),icon:h.jsx(se.FullscreenOutlined,{}),onClick:()=>m(_=>_+1),style:{color:"#fff"}})})]}):null]})})};eO.displayName="WorkflowCodeEditor";const tO=({field:t,disabled:e,readOnly:n,context:r,value:o,onChange:i,id:s})=>{const a=typeof o=="string"?o:o==null?"":JSON.stringify(o)??"",l=!!t.valueModePolicy,c=t.valueModePolicy==="EXPRESSION"||t.valueModePolicy==="BOTH",u=d=>h.jsx(eO,{...d,field:t,context:r,id:s,allowVariableInsert:c,hasModeSwitch:l});return t.valueModePolicy?h.jsx(ki,{value:a,onChange:d=>i==null?void 0:i(d),valueModePolicy:t.valueModePolicy,disabled:e,readOnly:n,placeholder:t.placeholder,renderNormalMode:u,renderExpressionMode:u,modeSwitchPosition:"top-right",encodeExpressionValue:!0}):u({value:a,onChange:d=>i==null?void 0:i(d),disabled:e,readOnly:n,placeholder:t.placeholder})};tO.displayName="WorkflowCodeFieldControl";const CG=dt(tO,{needsFormItemName:!0,supportsVariableInsert:!0}),nO=({disabled:t,readOnly:e,value:n,onChange:r,id:o})=>{const[i,s]=y.useState([]),[a,l]=y.useState(!1);y.useEffect(()=>{let d=!1;return l(!0),Kf().then(f=>{d||s(Array.isArray(f)?f:[])}).catch(()=>{d||D.message.error(K("link.flow.request_failed"))}).finally(()=>{d||l(!1)}),()=>{d=!0}},[]);const c=y.useMemo(()=>[{value:"0",label:h.jsx(Te.FormattedMessage,{id:"link.flow.do_not_use"})},...i.map(d=>({value:String(d.id),label:d.group_name||String(d.id)}))],[i]),u=n==null||n===""?"0":String(n);return h.jsx(D.Select,{id:o,className:"proxy_id_select",value:u,options:c,loading:a,disabled:t||e,dropdownStyle:{zIndex:99999999999},onChange:d=>r==null?void 0:r(String(d)),style:{width:"100%"}})};nO.displayName="WorkflowProxyFieldControl";const kG=dt(nO,{needsFormItemName:!0,supportsVariableInsert:!0}),SG=[{type:ge.CODE,definition:CG},{type:ge.PROXY,definition:kG}];function EG({children:t}){return h.jsx(fC,{additionalRegistrations:SG,children:t})}function xl(){const{event$:t}=y.useContext(Qr),e=Fh();return y.useCallback(n=>{var o;const r=document.activeElement;if(r&&r!==document.body&&r.contains(n.target)){const i=n.target;if(!["INPUT","TEXTAREA","SELECT"].includes((i==null?void 0:i.tagName)??""))return}(o=t==null?void 0:t.emit)==null||o.call(t,{type:"setCurrentInputId",currentInputId:""}),e==null||e.deactivateField()},[t,e])}const xG=[xe.TEXT,xe.PASSWORD,xe.SELECT,xe.EXTEND_OBJ,xe.DATE,xe.TIME,xe.DATETIME,xe.TEXTAREA,xe.FIXED_OBJ,xe.JSON],DG="[workflow:schema-render]",_G=/^\{\{([^.{}]+)\.(.+)\}\}$/,AG=t=>{switch(t.page_control){case xe.SELECT:case xe.API_SELECT:return t.multi_valued?[]:null;case xe.EXTEND_OBJ:return{};case xe.HIDDEN:return"";case xe.TEXT:return"";case xe.PASSWORD:return"";case xe.LABEL:return"";case xe.DATE:return null;case xe.TIME:return null;case xe.DATETIME:return null;case xe.TEXTAREA:return"";case xe.FIXED_OBJ:return{};case xe.MultiRowAIExtractConfig:return[];case xe.JSON:return""}},rO=(t,e,n,r,o)=>{const i=t.display_name,s=()=>{var a,l,c;switch(t.page_control){case xe.SELECT:return h.jsx(uG,{options:Zg(t.option_value_objects??t.option_values),multiple:t.multi_valued});case xe.API_SELECT:return h.jsx(eG,{options:Zg(t.option_value_objects??t.option_values)});case xe.EXTEND_OBJ:return h.jsx(oG,{valueType:t.value_type});case xe.HIDDEN:return h.jsx(iG,{});case xe.TEXT:return h.jsx(Pn,{valueType:t.value_type,nodeId:e});case xe.PASSWORD:return h.jsx(cG,{valueType:t.value_type});case xe.LABEL:return(a=r==null?void 0:r.webhookField)!=null&&a.enabled&&t.name==="hookUrl"&&r.webhookField.form?h.jsx(mG,{form:r.webhookField.form,configList:r.webhookField.configList,disabled:r.webhookField.disabled}):h.jsx(YA,{});case xe.DATE:return h.jsx(tG,{});case xe.TIME:return h.jsx(dG,{});case xe.DATETIME:return h.jsx(nG,{});case xe.TEXTAREA:return h.jsx(Pn,{valueType:t.value_type,textAreaMode:!0,nodeId:e});case xe.FIXED_OBJ:return h.jsx(D.Input.TextArea,{});case xe.JSON:return h.jsx(Pn,{valueType:t.value_type,nodeId:e});case xe.MultiRowAIExtractConfig:return h.jsx(lG,{valueType:t.value_type});case xe.MULTI_SELECT_LIST:return h.jsx(rG,{selectType:"KNOWLEDGE_BASE"});case xe.SYNC_HOUR_MINUTE:return h.jsx(sG,{});case xe.AUTH_TOKEN:return h.jsx(Rq,{disabled:(l=r==null?void 0:r.webhookField)==null?void 0:l.disabled});case xe.SECRET_KEY:return h.jsx(Yq,{});case xe.SELECT_CLIENT:return h.jsx(Qq,{});default:{const u=(c=o==null?void 0:o.form)==null?void 0:c.find(d=>d.name===t.page_control);return u?h.jsx(u.component,{config:t,configList:r==null?void 0:r.configList,disabled:r==null?void 0:r.disabled,form:r==null?void 0:r.form,mcpMode:n,nodeId:e}):(console.warn(`unknown form item: page_control:${t.page_control}`),null)}}};return n&&xG.includes(t.page_control)?h.jsx("div",{children:h.jsx(D.Form.Item,{required:t.required,rules:[{required:t.required,message:t.page_control===xe.SELECT?K("link.flow.please_select")+t.display_name:K("link.flow.please_enter")+t.display_name}],label:i,name:t.name,children:h.jsx(Zq,{children:s()})})},t.ui_id):h.jsx(D.Form.Item,{required:t.required,style:t.page_control===xe.HIDDEN?{display:"none"}:{},rules:[{required:t.required,message:t.page_control===xe.SELECT?K("link.flow.please_select")+t.display_name:K("link.flow.please_enter")+t.display_name},{validator(a,l,c){if(t.page_control===xe.MultiRowAIExtractConfig)if(Array.isArray(l)&&t.required){const u=l.some(d=>!d.field||!d.dataType||!d.desc||d.required==null);c(u?"请填写完整配置":void 0)}else c(void 0);else c(void 0)}}],label:i,name:t.name,children:s()},t.ui_id)},OG=t=>(t.child_conditions??[]).map(e=>e.left).filter(e=>!!e),TG=(t,e)=>{if(!t.is_child)return!0;const n=t.child_conditions??[];return n.length?n.some(({left:r,operator:o,right:i})=>{const s=e==null?void 0:e[r];return o==="EQUALS"?s===i:s!==i}):!0},NG=y.forwardRef((t,e)=>{var we,fe;const{action:n,connector:r,nodeId:o,account_id:i,mcpMode:s,nodeType:a}=t,l=$t(),c=ne.useStoreApi(),u=xl(),d=Et.useReactive({proxyId:"0"}),{config_schema:f,proxy_id:p,protocol:m,account_schema_id:v}=n;a??n.node_type??n.type;const b=n.action_key||n.nodeKey,w=n.action_ver??n.nodeVersion,g=Array.isArray(f==null?void 0:f.sub_params),C=po(n),k=y.useMemo(()=>!C||!b?null:`${b}@${w??"latest"}`,[C,b,w]),_=k?`${o}:${k}`:o,S=n.account_id??i,E=y.useMemo(()=>k?Wi(b,w):null,[k,b,w]),[x,O]=y.useState(()=>k&&E?{identity:k,schema:E,loading:!1,finished:!0}:null),A=(x==null?void 0:x.identity)===k?x:null,T=(A==null?void 0:A.schema)??null,B=rw((T==null?void 0:T.credentials)??[]),I=!!(C&&b&&!T&&((A==null?void 0:A.loading)??!(A!=null&&A.finished))),F=wG(T);y.useEffect(()=>{!x||x.identity},[k,x,o,b,w]),y.useEffect(()=>{p&&(d.proxyId=p)},[p,d]);const[N]=D.Form.useForm(),[P,M]=y.useState(S);y.useEffect(()=>{M(S)},[_,S,M]);const z=y.useMemo(()=>{var le;return g?(le=f.sub_params)==null?void 0:le.reduce((Se,ce)=>{let Fe=ce.value;return ce.page_control===xe.EXTEND_OBJ&&(Fe=_q(Fe)),Se[ce.name]=Fe??AG(ce),Se},{}):{}},[f==null?void 0:f.sub_params,g]);y.useEffect(()=>{g&&(N.resetFields(),N.setFieldsValue({...z}))},[z,N,g,o]);const H=y.useRef(null),R=y.useRef(null);y.useEffect(()=>{if(!k||!b){O(null);return}const le=Wi(b,w);if(le){O({identity:k,schema:le,loading:!1,finished:!0});return}let Se=!1;return O({identity:k,schema:null,loading:!0,finished:!1}),pc(b,w).then(ce=>{Se||O({identity:k,schema:ce,loading:!1,finished:!0})}).catch(ce=>{Se||(O({identity:k,schema:null,loading:!1,finished:!0}),console.error(`${DG} classic renderer next schema load failed`,{nodeId:o,nodeKey:b,nodeVersion:w,err:ce}))}),()=>{Se=!0}},[k,o,b,w]);const Y=y.useMemo(()=>{var le;return(le=T==null?void 0:T.input_fields)!=null&&le.length?KI(WA(T.input_fields),T.key):null},[T]),te=!!(C&&(Y||F||T)),$=y.useMemo(()=>{const le=n.properties?ha(n.properties):f&&C?ha(f):n.params?ha(n.params):{},Se=vG(le,T,p);return uc(b)?ra(Se).properties:Se},[n,f,C,T,b,p]),j=y.useMemo(()=>JSON.stringify($??{}),[$]);y.useEffect(()=>{!C||!te||(N.resetFields(),N.setFieldsValue($))},[_,N,C,$,j,te]);const U=y.useRef(null);y.useEffect(()=>{U.current=null},[_]),y.useEffect(()=>{uc(b)&&(U.current=JSON.stringify(ra($).branches.map(le=>[le.id,le.name])))},[$,b]);const ee=y.useCallback(le=>{const Se=le.trim().match(_G);if(!Se)return null;const ce=Se[1],Fe=Se[2];if(ce==="global")return null;const Ve=ce.startsWith("N")?ce.slice(1):ce,je=c.getState().nodes.find(We=>We.id===Ve);return je?{fieldPath:Fe,node:je,variableNodeId:ce}:null},[c]),ie=y.useCallback(le=>{var Se;return((Se=ee(le))==null?void 0:Se.fieldPath)??le.replace(/^\{\{|\}\}$/g,"")},[ee]),be=y.useCallback(le=>{var je;const Se=ee(le);if(!Se)return le;const ce=(je=Se.node)==null?void 0:je.data,Fe=(ce==null?void 0:ce.label)||(ce==null?void 0:ce.name)||(ce==null?void 0:ce.action_name)||Se.variableNodeId,Ve=ce!=null&&ce.note?` (${ce.note})`:"";return`${Fe}${Ve}.${Se.fieldPath}`},[ee]),[W,X]=y.useState(!1),q=(le,Se)=>(X(!0),N.validateFields().then(async ce=>{var Ve,je,We,ht,Ee;if(te){Se&&((je=(Ve=H==null?void 0:H.current)==null?void 0:Ve.onIgnoreNodeStart)==null||je.call(Ve));const{properties:Ce,proxyId:Le}=yG(ce,T);return t.onSubmit({properties:Ce,account_id:P,proxy_id:Le},le)}const Fe=Pt.cloneDeep(n.config_schema);return Fe.sub_params.forEach(Ce=>{let Le=ce[Ce.name];Ce.page_control===xe.EXTEND_OBJ&&Le!=="{{$fromAI}}"&&(Le=ew(Le)),Ce.value=Le??null}),Se&&((ht=(We=H==null?void 0:H.current)==null?void 0:We.onIgnoreNodeStart)==null||ht.call(We)),!i&&m==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"&&(Fe.proxy_id=(Ee=R.current)==null?void 0:Ee.getProxyId()),t.onSubmit(Fe,le)}).catch(ce=>(console.log("err",ce),D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>X(!1)));y.useImperativeHandle(e,()=>({saveConfig:le=>q(le,!1)}));const J=Ot(),re={form:N,configList:(f==null?void 0:f.sub_params)??[],disabled:!J,...m==="WEBHOOK"?{webhookField:{enabled:!0,form:N,configList:(f==null?void 0:f.sub_params)??[],disabled:!J}}:{}},Z=le=>{const Se=le.page_control!==xe.HIDDEN?h.jsx("p",{className:"field-desc",children:le.description}):null;if(!le.is_child)return h.jsxs("div",{children:[rO(le,o,s,re,l.canvas.registerComponents),Se]},le.ui_id);const ce=OG(le);return h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:(Fe={},Ve={})=>le.is_child?ce.length?ce.some(je=>(Fe==null?void 0:Fe[je])!==(Ve==null?void 0:Ve[je])):!0:!1,children:()=>{const Fe=N.getFieldsValue(!0);return TG(le,Fe)?h.jsxs("div",{children:[rO(le,o,s,re,l.canvas.registerComponents),Se]}):null}},le.ui_id)};if(C&&I)return h.jsx("div",{style:{textAlign:"center",padding:40},children:h.jsx(D.Spin,{})});const ue=!t.preRender&&(((we=n.config_schema)==null?void 0:we.sub_params)??[]).length<1,ve=h.jsx("div",{style:{padding:16,color:"#999",textAlign:"center"},children:"该节点暂无配置项"});if(te){const le=h.jsxs(h.Fragment,{children:[t.preRender&&t.preRender,F?h.jsx(RA,{credentialRequirements:B,value:P,onChange:M,linkApp:r,disabled:!J}):null]});return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:u,children:[h.jsx("div",{className:"workflow-node-form-scroll",children:Y?h.jsx(EG,{children:h.jsx(Xg,{schema:Y,form:N,initialValues:$,showSubmit:!1,showReset:!1,nodeId:o,mcpMode:s,renderVariableTag:ie,renderVariableTooltip:be,customTheme:sc,preRender:le},_)}):ve}),h.jsx("div",{className:"workflow-node-form-footer",children:J&&h.jsx(D.Button,{type:"primary",disabled:!J,loading:W,className:"workflow-node-form-save",onClick:()=>q(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:u,children:[h.jsxs(D.Form,{form:N,disabled:!J,layout:"vertical",className:`${gG.configFormContainer} workflow-config-form workflow-node-form-scroll`,children:[t.preRender&&t.preRender,(r==null?void 0:r.id)&&n.config_schema&&((fe=f==null?void 0:f.sub_params)==null?void 0:fe.map(le=>Z(le))),!i&&m==="HTTP"&&(r==null?void 0:r.deployment_type)!=="SaasApp"?h.jsx(Jg,{proxyId:d.proxyId,ref:R}):null,ue&&ve]}),h.jsx("div",{className:"workflow-node-form-footer",children:J&&h.jsx(D.Button,{type:"primary",disabled:!J,loading:W,className:"workflow-node-form-save",onClick:()=>q(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),BG=y.memo(y.forwardRef((t,e)=>{const{nodeId:n,data:r}=t,{account_id:o,account_schema_id:i}=r,s=Et.useReactive({account_id:o}),a=y.useRef(null);y.useImperativeHandle(e,()=>({saveConfig:p=>{var m;return(m=a.current)==null?void 0:m.saveConfig(p)}}));const l=y.useMemo(()=>({id:t.data.connector_id,name:t.data.connector_name,deployment_type:t.data.deployment_type}),[t.data.connector_id,t.data.connector_name,t.data.deployment_type]),c=po(t.data),u=(p,m)=>{if(c){const v=ha(p),w=Object.hasOwn(p??{},"account_id")?p.account_id??null:s.account_id;return t.onSubmit({properties:v,account_id:w,proxy_id:(p==null?void 0:p.proxy_id)??(v==null?void 0:v.proxy_id)},m)}return t.onSubmit({properties:p,account_id:s.account_id,proxy_id:p.proxy_id},m)},d=y.useCallback(p=>{s.account_id=p??null},[]);let f=null;return i&&!c&&(f=h.jsx(RA,{onChange:d,actionAccountSchemaId:i,value:s.account_id,linkApp:l})),h.jsx("div",{className:"workflow-action-node-config",children:h.jsx(NG,{ref:a,action:t.data,nodeType:t.nodeType||t.data.node_type||t.data.type,connector:l,account_id:o,nodeId:n,onSubmit:u,onNodePackageValuesChange:t.onNodePackageValuesChange,preRender:f})})}),(t,e)=>t.nodeId===e.nodeId&&t.nodeType===e.nodeType&&Pt.isEqual(Pt.omit(t.data,["isHovered"]),Pt.omit(e.data,["isHovered"])));var $n=(t=>(t.IDLE="idle",t.SAVING="saving",t.SAVED="saved",t.ERROR="error",t))($n||{}),Wd=(t=>(t.SELECTION="selection",t.ALL="all",t))(Wd||{}),er=(t=>(t.UNPUBLISHED="UNPUBLISHED",t.ONLINE="ONLINE",t.OFFLINE="OFFLINE",t.ON_WARN="ON_WARN",t.OFF_WARN="OFF_WARN",t.ONLINE_ING="ONLINE_ING",t))(er||{}),nt=(t=>(t.eq="eq",t.ne="ne",t.sw="sw",t.nsw="nsw",t.ew="ew",t.ewn="ewn",t.gt="gt",t.ge="ge",t.lt="lt",t.le="le",t.co="co",t.nco="nco",t.in="in",t.nin="nin",t.is_null="is_null",t.is_not_null="is_not_null",t))(nt||{});const oO=[{operator:nt.eq,label:K("common.eq")},{operator:nt.ne,label:K("common.ne")},{operator:nt.sw,label:K("common.sw")},{operator:nt.nsw,label:K("common.nsw")},{operator:nt.ew,label:K("common.ew")},{operator:nt.ewn,label:K("common.ewn")},{operator:nt.gt,label:K("common.gt")},{operator:nt.ge,label:K("common.ge")},{operator:nt.lt,label:K("common.lt")},{operator:nt.le,label:K("common.le")},{operator:nt.co,label:K("common.co")},{operator:nt.nco,label:K("common.nco")},{operator:nt.in,label:K("common.in")},{operator:nt.nin,label:K("common.nin")},{operator:nt.is_null,label:K("common.is_null")},{operator:nt.is_not_null,label:K("common.is_not_null")}];nt.eq+"",K("common.eq"),nt.ne+"",K("common.ne"),nt.sw+"",K("common.sw"),nt.nsw+"",K("common.nsw"),nt.ew+"",K("common.ew"),nt.ewn+"",K("common.ewn"),nt.gt+"",K("common.gt"),nt.lt+"",K("common.lt"),nt.ge+"",K("common.ge"),nt.co+"",K("common.co"),nt.nco+"",K("common.nco"),nt.le+"",K("common.le"),nt.in+"",K("common.in"),nt.nin+"",K("common.nin"),nt.is_null+"",K("common.is_null"),nt.is_not_null+"",K("common.is_not_null");const iw=t=>t===nt.is_null||t===nt.is_not_null,FG=(t,e="")=>iw(t)?"":e,{Option:MG}=D.Select,IG=y.forwardRef((t,e)=>{const{config_schema:n}=t,[r]=D.Form.useForm(),o=xl(),s=(d=>d!=null&&d.or_list?{or_list:d.or_list.map(p=>({and_list:p.and_list.map(m=>({query:m.query||"",operator:m.operator||"",value:m.value||""}))}))}:{or_list:[{and_list:[{query:"",operator:"",value:""}]}]})(n),[a,l]=y.useState(!1),c=(d,f,p="")=>(l(!0),r.validateFields().then(async m=>t.onSubmit({properties:m},d)).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>l(!1)));y.useImperativeHandle(e,()=>({saveConfig:d=>c(d)}));const u=Ot();return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:o,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsx(D.Form,{disabled:!u,form:r,initialValues:s,layout:"vertical",autoComplete:"off",children:h.jsx(D.Form.List,{name:"or_list",children:(d,{add:f,remove:p})=>h.jsxs(h.Fragment,{children:[d.map((m,v)=>h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"form-block",children:h.jsxs("div",{style:{padding:12,width:"100%",boxSizing:"border-box"},children:[v>0&&u&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsx(D.Button,{type:"link",style:{color:"red"},icon:h.jsx(se.MinusCircleOutlined,{style:{color:"red"}}),onClick:()=>p(m.name),children:h.jsx(Te.FormattedMessage,{id:"link.flow.remove"})})}),h.jsx(D.Form.List,{name:[m.name,"and_list"],children:(b,{add:w,remove:g})=>h.jsx(h.Fragment,{children:b.map((C,k)=>h.jsxs(D.Space,{direction:"vertical",style:{width:"100%",rowGap:0},children:[h.jsxs(D.Space,{align:"center",className:`form-item-row ${k>0?"opt":""}`,children:[h.jsx(D.Form.Item,{style:{minWidth:150},name:[C.name,"query"],label:K("app.common.word.variable-name"),rules:[{required:!0,message:K("link.flow.please_enter_variable_name")}],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(D.Form.Item,{name:[C.name,"operator"],label:K("app.common.word.condition"),rules:[{required:!0,message:K("link.flow.please_select_condition")}],children:h.jsx(D.Select,{style:{minWidth:140},placeholder:K("link.flow.select_condition"),getPopupContainer:_=>_.parentNode,children:oO.map(_=>h.jsx(MG,{value:_.operator,children:_.label},_.operator))})}),h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const _=r.getFieldValue(["or_list",m.name,"and_list",C.name,"operator"]);return iw(_)?null:h.jsx(D.Form.Item,{style:{minWidth:150},name:[C.name,"value"],label:K("app.common.word.value"),rules:[],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})})}}),k>0&&h.jsx(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>g(C.name)})]}),k<b.length-1&&h.jsx(D.Divider,{plain:!0,children:h.jsx(D.Tag,{color:"#999999",children:h.jsx(Te.FormattedMessage,{id:"link.flow.and"})})}),k===b.length-1&&h.jsx(D.Button,{type:"link",disabled:!u,icon:h.jsx(br,{size:16}),className:"small",onClick:()=>w({query:"",operator:"",value:""}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-new-and"})})]},C.key))})})]})},m.key),v<d.length-1&&h.jsxs("div",{className:"test",style:{textAlign:"center"},children:[" ",h.jsx(D.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(D.Tag,{color:"#1890ff",children:h.jsx(Te.FormattedMessage,{id:"link.flow.or"})})})]})]})),h.jsx(D.Form.Item,{style:{display:"flex",justifyContent:"flex-end",marginBlock:10},children:h.jsx(D.Button,{type:"default",icon:h.jsx(br,{size:16}),disabled:!u,onClick:()=>f({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-or"})})})]})})})}),h.jsx("div",{className:"workflow-node-form-footer",children:u&&h.jsx(D.Button,{type:"primary",disabled:!u,loading:a,className:"workflow-node-form-save",onClick:()=>c(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),PG={copy:"Copy JSON",copySuccess:"JSON copied to clipboard",download:"Download JSON",invalidJson:"Invalid JSON data"},LG={copy:"复制JSON",copySuccess:"JSON已复制到剪贴板",download:"下载JSON",invalidJson:"无效的JSON数据"},{Text:$G}=D.Typography,zG=({data:t,height:e=400,enableCopy:n=!0,theme:r="light",className:o="",locale:i="zh",maxHeight:s})=>{const[a,l]=y.useState(r),c=y.useRef(null),u=i==="zh"?LG:PG,d=y.useMemo(()=>{if(!t)return null;try{return typeof t=="string"?JSON.parse(t):t}catch(w){return console.error("JSON解析失败:",w),null}},[t]),f=y.useMemo(()=>{if(!d)return[];const w=(g,C=[],k=0)=>{const _=[];if(g===null)return[{key:C.join("."),value:null,type:"null",path:C,level:k}];if(Array.isArray(g)){const S={key:C.join("."),value:g,type:"array",path:C,level:k,children:[]};g.forEach((E,x)=>{var T;const O=[...C,x.toString()],A=w(E,O,k+1);(T=S.children)==null||T.push(...A)}),_.push(S)}else if(typeof g=="object"){const S={key:C.join("."),value:g,type:"object",path:C,level:k,children:[]};Object.entries(g).forEach(([E,x])=>{var T;const O=[...C,E],A=w(x,O,k+1);(T=S.children)==null||T.push(...A)}),_.push(S)}else{const S=typeof g;_.push({key:C.join("."),value:g,type:S,path:C,level:k})}return _};return w(d)},[d]),p=y.useCallback(()=>{const w=JSON.stringify(d,null,2);navigator.clipboard.writeText(w).then(()=>{D.message.success(u.copySuccess)})},[d,u]),m=y.useCallback(()=>{const w=JSON.stringify(d,null,2),g=new Blob([w],{type:"application/json"}),C=URL.createObjectURL(g),k=document.createElement("a");k.href=C,k.download="data.json",k.click(),URL.revokeObjectURL(C)},[d]),v=y.useCallback(w=>{switch(w.type){case"string":return h.jsxs("span",{className:"json-string",children:['"',String(w.value),'"']});case"number":return h.jsx("span",{className:"json-number",children:String(w.value)});case"boolean":return h.jsx("span",{className:"json-boolean",children:String(w.value)});case"null":return h.jsx("span",{className:"json-null",children:"null"});default:return null}},[]),b=y.useCallback((w,g)=>{var _;const C=w.children&&w.children.length>0,k=w.path[w.path.length-1];return w.type==="object"||w.type==="array"?h.jsxs("div",{className:"json-node",children:[h.jsxs("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:[k&&h.jsxs("span",{className:"json-key",children:['"',k,'": ']}),h.jsx("span",{className:"json-bracket",children:w.type==="array"?"[":"{"}),!C&&h.jsx("span",{className:"json-bracket",children:w.type==="array"?"]":"}"})]}),C&&h.jsxs(h.Fragment,{children:[(_=w.children)==null?void 0:_.map((S,E)=>b(S,g+E+1)),h.jsx("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:h.jsx("span",{className:"json-bracket",children:w.type==="array"?"]":"}"})})]})]},w.key):h.jsx("div",{className:"json-node",children:h.jsxs("div",{className:"json-line",style:{paddingLeft:`${w.level*16}px`},children:[k&&h.jsxs("span",{className:"json-key",children:['"',k,'": ']}),v(w)]})},w.key)},[v]);return y.useCallback(()=>{l(a==="dark"?"light":"dark")},[a]),d?h.jsxs("div",{className:`json-renderer ${a} ${o}`,children:[h.jsx("div",{className:"json-toolbar",children:h.jsxs(D.Space,{children:[n&&h.jsx(D.Tooltip,{title:u.copy,children:h.jsx(D.Button,{icon:h.jsx(se.CopyOutlined,{}),size:"small",onClick:p})}),h.jsx(D.Tooltip,{title:u.download,children:h.jsx(D.Button,{icon:h.jsx(se.DownloadOutlined,{}),size:"small",onClick:m})})]})}),h.jsx("div",{ref:c,className:"json-content",style:{height:`${e}px`,maxHeight:s?`${s}px`:void 0},children:f.map((w,g)=>b(w,g))})]}):h.jsx("div",{className:`json-renderer error ${a} ${o}`,children:h.jsx("div",{className:"error-message",children:h.jsx($G,{type:"secondary",children:u.invalidJson})})})},{TextArea:HG}=D.Input,{Title:VG}=D.Typography,iO=({status:t,result:e="",progress:n=60,runningAction:r="run",showAlert:o=!0,canEdit:i=!0,disabledReason:s="当前节点不支持手动测试",editing:a=!1,editableValue:l="",onEditableValueChange:c,onRun:u,onIgnore:d,onReset:f,onToggleEdit:p,onDismissAlert:m,className:v,onClose:b,onExpandPanel:w})=>{const g=t==="running",C=t==="failure",k=t==="ignored",_=t==="success"||k,S=t==="disabled",[E,x]=y.useState(!1);return h.jsxs("section",{className:["node-test-container","ai-flow-node-test-panel",v].filter(Boolean).join(" "),"aria-label":"AI FLOW 节点测试",children:[h.jsx("div",{className:"node-test-header",children:h.jsxs("div",{className:"header-title",children:[h.jsx("span",{className:"common-icon title-icon"}),h.jsx(VG,{level:4,children:"节点测试"}),h.jsx(D.Button,{ghost:!0,className:"close-btn",onClick:b,children:h.jsx(Di,{size:16})})]})}),h.jsxs("div",{className:"test-content",children:[i&&!S?h.jsxs("div",{className:"action-buttons",children:[h.jsx(D.Button,{type:"primary",disabled:S,onClick:u,loading:g&&r==="run",className:"test-button",children:g?"测试中...":"开始测试"}),h.jsx(D.Button,{type:"default",disabled:S||g&&r==="run",onClick:d,loading:g&&r==="ignore",className:"ignore-button",children:"忽略调试"})]}):null,i&&e?h.jsx("div",{className:"action-buttons",children:h.jsx(D.Button,{onClick:f,className:"reset-button",children:"重置"})}):null,g?h.jsxs(h.Fragment,{children:[h.jsx(D.Progress,{percent:n,status:"active",className:"test-progress"}),h.jsx(D.Skeleton,{active:!0,className:"result-skeleton"})]}):h.jsxs(h.Fragment,{children:[C&&o?h.jsx(D.Alert,{className:"error-alert small",showIcon:!0,message:"测试未通过",description:"请检查节点配置和接口返回后重试",type:"error",closable:!1,onClose:m}):null,_&&o?h.jsx(D.Alert,{className:"success-alert small",showIcon:!0,message:k?"忽略调试成功":"测试成功",description:k?"已将样本数据设为当前节点输出":"节点运行正常,可在下方查看返回结果",type:"success",closable:!1,onClose:m}):null,e?h.jsx(D.Card,{styles:{body:{padding:0}},title:h.jsxs("div",{className:"result-header",children:[h.jsx("div",{className:"result-title",children:C?h.jsxs(h.Fragment,{children:[h.jsx(se.CloseCircleFilled,{className:"error-icon"})," 错误数据"]}):h.jsxs(h.Fragment,{children:[k?h.jsx(se.ExperimentFilled,{className:"success-icon"}):h.jsx(se.CheckCircleFilled,{className:"success-icon"}),k?"样本数据":"测试结果"]})}),h.jsxs("div",{style:{display:"inline-flex",gap:8},children:[i&&p?h.jsx(D.Button,{size:"small",type:"default",variant:"solid",onClick:p,className:"edit-button",children:a?"完成":"编辑"}):null,w&&h.jsx(D.Button,{size:"small",type:E?"primary":"default",variant:"solid",className:"edit-button",onClick:()=>{const O=!E;w(O),x(O)},children:E?h.jsx(SW,{size:16}):h.jsx(kW,{size:16})})]})]}),variant:"borderless",className:`result-card ${C?"error-result":"success-result"}`,children:a?h.jsx(HG,{rows:E?20:10,value:l,onChange:O=>c==null?void 0:c(O.target.value),className:"result-editor"}):h.jsx(zG,{data:e,height:E?600:300,enableCopy:!0,theme:"dark"},e)}):h.jsx(D.Card,{variant:"borderless",className:"empty-result",children:h.jsx(D.Result,{icon:h.jsx("span",{className:"common-icon"}),title:S?"不可测试":"等待测试",subTitle:S?s:"点击“开始测试”按钮运行当前节点"})})]})]})]})},jG=new Set([$e.AI_LANGUAGE_MODEL,$e.AI_MEMORY,$e.BUILTIN_MCP,$e.MCP_SERVER]),WG=new Set([]),UG=({canEdit:t,nodeType:e,protocol:n})=>t?n&&jG.has(n)?{disabled:!0,reason:"当前协议节点由所属 AI 或 MCP 运行上下文统一测试"}:e&&WG.has(e)?{disabled:!0,reason:"当前节点类型不支持独立手动测试"}:{disabled:!1}:{disabled:!0,reason:"只读或预览模式下不能执行节点测试"},qG=t=>typeof t=="string"?t.trim().length>0:t!=null,GG=t=>typeof t=="string"&&t.trim().toLowerCase()==="success",RG=t=>{if(!t||typeof t!="object")return!1;const e=t;return e.result===!0?!1:e.result===!1?!0:e.error==="0"&&qG(e.error_description)&&!GG(e.error_description)},KG=t=>RG(t)?me.FAILED:me.SUCCESS,YG=t=>{if(typeof t=="object")return JSON.stringify(t,null,2);if(typeof t=="string")try{const e=JSON.parse(t);return JSON.stringify(e,null,2)}catch{return t}return String(t)};JSON.stringify({result:"示例数据",data:{id:"123",name:"示例"}},null,2);const XG=y.forwardRef((t,e)=>{var O,A,T,B;const{nodeId:n,beforeHook:r,onClose:o,onExpandPanel:i}=t,s=$t(),{handleNodeDataUpdate:a}=Ri(),l=(A=(O=s.nodeConfigPanel)==null?void 0:O.testArea)==null?void 0:A.defaultTestResult,[c,u]=y.useState(()=>{if(l==null)return"";if(typeof l=="string")return l;try{return JSON.stringify(l,null,2)}catch{return String(l)}}),d=ne.useInternalNode(n),f=Et.useReactive({testProgress:0,sampleText:"",isError:!1,showErrorAlert:!1,testing:!1,successShown:!1,sampleMode:!1,sampleSaving:!1,sampleError:"",isIgnoreSuccess:!1,ignoring:!1,editable:!1}),{refreshFlow:p}=ao();(T=d==null?void 0:d.data)==null||T.outputSource,y.useEffect(()=>{if(d!=null&&d.data.output&&(d.data.status===me.SUCCESS||d.data.status===me.RUNNABLE)){const I=typeof d.data.output=="string"?d.data.output:JSON.stringify(d.data.output,null,2);u(I),f.successShown=!0,f.isError=!1,f.showErrorAlert=!1}else if(d!=null&&d.data.output&&d.data.status===me.FAILED){const I=typeof d.data.output=="string"?d.data.output:JSON.stringify(d.data.output,null,2);u(I),f.isError=!0,f.showErrorAlert=!0,f.successShown=!1}},[d,f]);const m=y.useCallback(()=>{if(!n){console.error("节点ID不能为空");return}f.testing=!0,f.testProgress=60,f.successShown=!1,f.isError=!1,f.showErrorAlert=!1,f.sampleMode=!1,By(n).then(I=>{const F=I,N=KG(F),P=N===me.FAILED;f.isError=P,f.successShown=!P,f.showErrorAlert=f.isError;let M="";try{M=YG(F)}catch(z){console.error("格式化测试结果出错:",z),M=`测试结果格式化失败: ${String(z)}`}f.testProgress=100,u(M),a({id:n,data:{status:N,output:M,outputSource:"test"}})}).catch(I=>{var P;console.error("测试失败:",I),f.testProgress=0,f.isError=!0,f.showErrorAlert=!0,f.successShown=!1;let F="测试执行失败";(P=I==null?void 0:I.response)!=null&&P.data?F=JSON.stringify(I.response.data,null,2):I!=null&&I.message&&(F=I.message);const N=JSON.stringify({error:F},null,2);u(N),a({id:n,data:{status:me.FAILED,output:N,outputSource:"test"}})}).finally(()=>{setTimeout(()=>{f.testProgress=0,f.testing=!1},500)})},[a,n,f]),v=()=>{f.testProgress=0,f.testing=!1,f.sampleSaving=!1,f.sampleMode=!1,f.successShown=!0,f.isError=!1,f.showErrorAlert=!1},b=()=>{r&&(f.testing=!0,f.ignoring=!0,f.testProgress=60,r(!0,!0,f.sampleText))},w=()=>{f.sampleSaving=!1,f.ignoring=!1,f.successShown=!0,f.isError=!1,f.showErrorAlert=!1,f.isIgnoreSuccess=!0},g=()=>{f.testProgress=0,f.testing=!1,f.ignoring=!1,f.isIgnoreSuccess=!0};y.useImperativeHandle(e,()=>({onTestNode:m,finishSampleTest:v,abortSampleTest:w,finishNodeTest:g}));const C=()=>{f.sampleMode=!1,r?r(!0):m()},k=()=>{u(""),f.sampleText="",f.sampleMode=!1,f.sampleError="",f.successShown=!1},_=Ot(),S=y.useMemo(()=>{var I;return UG({canEdit:_,nodeType:d==null?void 0:d.type,protocol:(I=d==null?void 0:d.data)==null?void 0:I.protocol})},[_,(B=d==null?void 0:d.data)==null?void 0:B.protocol,d==null?void 0:d.type]),E=S.disabled?"disabled":f.testing?"running":f.isError?"failure":f.successShown?f.isIgnoreSuccess?"ignored":"success":"waiting",x=()=>{if(f.editable){f.editable=!1;try{const I=JSON.parse(f.sampleText),F=JSON.stringify(I,null,2);u(F),a({id:n,data:{output:F}})}catch{u(f.sampleText)}return}f.sampleText=c,f.editable=!0};return h.jsx(iO,{status:E,result:c,progress:f.testProgress||60,runningAction:f.ignoring?"ignore":"run",showAlert:f.isError?f.showErrorAlert:f.successShown,canEdit:_,disabledReason:S.reason,editing:f.editable,editableValue:f.sampleText,onEditableValueChange:I=>{f.sampleText=I},onRun:C,onIgnore:b,onReset:k,onToggleEdit:x,onDismissAlert:()=>{f.showErrorAlert=!1,f.successShown=!1},onClose:o,onExpandPanel:i})});var tr=(t=>(t.Array="ARRAY",t.Boolean="BOOLEAN",t.Null="NULL",t.Number="NUMBER",t.Object="OBJECT",t.String="STRING",t))(tr||{});const sw={ARRAY:"purple",BOOLEAN:"green",NULL:"default",NUMBER:"blue",OBJECT:"cyan",STRING:"orange"},JG={ARRAY:"Arr",BOOLEAN:"Bool",NULL:"Null",NUMBER:"Num",OBJECT:"Obj",STRING:"Str"},aw=(t,e=!1)=>{const n=String(t||"STRING").toUpperCase(),r=JG[n]||n.slice(0,4);return e?`${r}[]`:r},sO=t=>{t!=null&&t.length&&t.forEach(e=>{e.label||(e.label=e.name),Array.isArray(e.sub_params)?sO(e.sub_params):e.sub_params=[]})},QG=t=>{const e=t==null?void 0:t.map(r=>(r.output.label=`${r.seq}-${r.connector_name} : ${r.action_name}`,r.note&&(r.output.label+=`(${r.note})`),{...r,label:`${r.connector_name}-${r.action_name}`,sub_params:[r.output]})),n=Pt.cloneDeep(e);return sO(n),n};var aO=(t=>(t.TEXT="TEXT",t.NUMBER="NUMBER",t.JSON="JSON",t))(aO||{});const ZG=t=>({TEXT:"STRING",NUMBER:"NUMBER",JSON:"OBJECT"})[t]||"STRING",eR=t=>{const{nodeId:e,flowId:n,enabled:r=!0,includeGlobalVariables:o=!0}=t,i=ne.useStoreApi(),[s,a]=y.useState([]),[l,c]=y.useState([]),[u,d]=y.useState(!1),[f,p]=y.useState(null),[m,v]=y.useState(0),[b,w]=y.useState(!1),[g,C]=y.useState(null),[k,_]=y.useState(0),S=y.useCallback(()=>{v(T=>T+1)},[]),E=y.useCallback(()=>{_(T=>T+1)},[]),x=y.useCallback(()=>{v(T=>T+1),_(T=>T+1)},[]);return y.useEffect(()=>{if(!r||!o){o||a([]),d(!1),p(null);return}let T=!1;return(async()=>{d(!0),p(null);try{const I=await Py();if(T)return;const F=((I==null?void 0:I.items)||[]).map(N=>({...N,mappedType:ZG(N.var_type)}));a(N=>Pt.isEqual(N,F)?N:F)}catch(I){console.error("Failed to fetch global variables:",I),T||p(I instanceof Error?I:new Error("无法获取全局变量数据"))}finally{T||d(!1)}})(),()=>{T=!0}},[r,o,m]),y.useEffect(()=>{if(!r||!n){w(!1),C(null);return}let T=!1;return(async()=>{w(!0),C(null);try{const{edges:I,nodes:F}=i.getState(),N=await Iy(n,{nodeId:e,edges:I});if(T)return;const P=new Map(F.map(H=>[H.id,H])),z=(QG(N)||[]).map(H=>{var $,j;const R=($=H.node_id)!=null&&$.startsWith("N")?H.node_id.slice(1):H.node_id,Y=R?P.get(R):void 0,te=typeof((j=Y==null?void 0:Y.data)==null?void 0:j.icon)=="string"?Y.data.icon:void 0;return{...H,nodeIcon:te,isValid:!!Y}});c(H=>Pt.isEqual(H,z)?H:z)}catch(I){console.error("Failed to fetch node variables:",I),T||C(I instanceof Error?I:new Error("无法获取节点变量数据"))}finally{T||w(!1)}})(),()=>{T=!0}},[n,e,r,k,i]),{globalVariables:s,nodeVariables:l,isLoading:u||b,isGlobalLoading:u,isNodeLoading:b,error:f||g,globalError:f,nodeError:g,refresh:x,refreshGlobal:S,refreshNode:E}},it={container:"_container_1f6qh_5",header:"_header_1f6qh_29",headerIcon:"_headerIcon_1f6qh_37",headerTitle:"_headerTitle_1f6qh_41",body:"_body_1f6qh_46",section:"_section_1f6qh_61",sectionLabel:"_sectionLabel_1f6qh_65",sectionIcon:"_sectionIcon_1f6qh_79",typeTag:"_typeTag_1f6qh_88",varItem:"_varItem_1f6qh_97",varName:"_varName_1f6qh_115",varValue:"_varValue_1f6qh_121",nodeTitle:"_nodeTitle_1f6qh_129",nodeIcon:"_nodeIcon_1f6qh_134",nodeLabelFirst:"_nodeLabelFirst_1f6qh_139",nodeLabel:"_nodeLabel_1f6qh_139",leafTitle:"_leafTitle_1f6qh_151",leafLabel:"_leafLabel_1f6qh_156",leafValue:"_leafValue_1f6qh_162",empty:"_empty_1f6qh_168",loadingState:"_loadingState_1f6qh_172",errorState:"_errorState_1f6qh_181",invalidVariable:"_invalidVariable_1f6qh_185",nodeIconWrapper:"_nodeIconWrapper_1f6qh_194",defaultNodeIcon:"_defaultNodeIcon_1f6qh_207"},lw={VariableModalTitle:h.jsx(Te.FormattedMessage,{id:"app.common.word.select-variable"}),NoTestDataDesc:h.jsx(Te.FormattedMessage,{id:"common.no-process-variables-yet"})},tR=t=>{if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="object")try{return JSON.stringify(t)}catch{return String(t)}return String(t)},nR=(t,e)=>{const n=t.trim(),r=n.startsWith("N")?n:`N${n}`,o=e.slice(1).join(".");return o?`{{${r}.${o}}}`:`{{${r}}}`},lO=y.forwardRef((t,e)=>{const n=El(),{nodeId:r,showGlobalVariables:o=!0}=t,{event$:i}=y.useContext(Qr),{globalVariables:s,nodeVariables:a,isGlobalLoading:l,isNodeLoading:c,globalError:u,nodeError:d,refreshGlobal:f,refreshNode:p}=eR({nodeId:r,flowId:n,enabled:t.open,includeGlobalVariables:o}),m=Et.useReactive({currentInputId:"",visible:!0});i.useSubscription(w=>{switch(w.type){case"visible":m.visible||(f(),p()),m.visible=w.visible;break;case"setCurrentInputId":m.currentInputId=w.currentInputId;break}}),y.useImperativeHandle(e,()=>({loadVariables:()=>{f(),p()}}));const v=w=>{try{const g=typeof w=="string"?JSON.parse(w):w,C=(_,S)=>{if(_==null)return{name:S,type:tr.Null,label:S,multi_valued:!1,sub_params:[],value:String(_)};if(typeof _=="object"&&!Array.isArray(_)){const x=_;return{name:S,type:tr.Object,label:S,multi_valued:!1,sub_params:Object.keys(x).map(O=>C(x[O],O)),value:null}}if(Array.isArray(_)){const x=_[0],O=x&&typeof x=="object"?tr.Object:typeof x=="number"?tr.Number:typeof x=="boolean"?tr.Boolean:x==null?tr.Array:tr.String;return{name:S,type:O,label:S,multi_valued:!0,sub_params:[],value:JSON.stringify(_)}}const E=typeof _=="number"?tr.Number:typeof _=="boolean"?tr.Boolean:tr.String;return{name:S,type:E,label:S,multi_valued:!1,sub_params:[],value:String(_)}},k=g&&typeof g=="object"&&!Array.isArray(g)?g:{};return Object.keys(k).map(_=>C(k[_],_))}catch{return[]}},b=(w,g,C,k,_,S=[],E="0")=>(w??[]).map((x,O)=>{var I;const A=[...S,x.name],T=`${E}-${O}`;return(I=x.sub_params)!=null&&I.length?{key:T,variablePath:A,title:h.jsxs("span",{className:`${it.nodeTitle}${k===!1?` ${it.invalidVariable}`:""}`,children:[g?_==="api"?h.jsx(se.ApiOutlined,{className:it.nodeIcon}):h.jsx("span",{className:it.nodeIconWrapper,children:C?h.jsx("img",{src:C,alt:""}):h.jsx("span",{className:it.defaultNodeIcon,children:"N"})}):h.jsx(D.Tag,{color:sw[x.type]||"gray",className:`${it.typeTag} workflow-variable-panel__type`,children:aw(x.type,x.multi_valued)}),h.jsx("span",{className:`${g?it.nodeLabelFirst:it.nodeLabel} workflow-variable-panel__label`,children:x.label})]}),children:b(x.sub_params,!1,C,k,_,A,T)}:{key:T,variablePath:A,title:h.jsxs("span",{className:`${it.leafTitle}${k===!1?` ${it.invalidVariable}`:""}`,children:[h.jsx(D.Tag,{color:sw[x.type]||"gray",className:`${it.typeTag} workflow-variable-panel__type`,children:aw(x.type,x.multi_valued)}),h.jsx("span",{className:`${it.leafLabel} workflow-variable-panel__label`,children:x.label}),x.value?h.jsx("span",{className:it.leafValue,children:x.value}):null]})}});return h.jsxs("div",{className:`${it.container} workflow-variable-panel`,children:[h.jsxs("div",{className:`${it.header} workflow-variable-panel__header`,children:[h.jsx(CW,{size:16,className:`${it.headerIcon} workflow-variable-panel__header-icon`}),h.jsx("span",{className:`${it.headerTitle} workflow-variable-panel__title`,children:lw.VariableModalTitle})]}),h.jsxs("div",{className:`${it.body} workflow-variable-panel__body`,children:[o?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:`${it.sectionLabel} workflow-variable-panel__section-label`,children:[h.jsx(se.GlobalOutlined,{className:it.sectionIcon,size:32}),h.jsx("span",{children:"全局变量"})]}),h.jsx("div",{className:`variable-panel-group ${!l&&!u&&s.length<1?"empty":""}`,children:h.jsxs("div",{className:it.section,children:[s.map(w=>{if(w.var_type===aO.JSON){const k=v(w.var_value??{}),_=[{name:w.name,type:tr.Object,label:w.display_name||w.name,multi_valued:!1,sub_params:k,value:null}],S=b(_,!0,void 0,!0,"api");return h.jsx(D.Tree,{defaultExpandAll:!0,showLine:!0,onSelect:(E,x)=>{const O=x.node.variablePath;i.emit({type:"insert",currentInputId:m.currentInputId,expression:`{{global.${O.join(".")}}}`})},switcherIcon:h.jsx(se.CaretDownOutlined,{}),treeData:S},w.id)}const g=tR(w.var_value),C=g.length>28?`${g.substring(0,28)}...`:g;return h.jsxs("button",{type:"button",className:`${it.varItem} workflow-variable-panel__item`,onClick:()=>{i.emit({type:"insert",currentInputId:m.currentInputId,expression:`{{global.${w.name}}}`})},children:[h.jsx(D.Tag,{color:sw[w.mappedType],className:`${it.typeTag} workflow-variable-panel__type`,children:aw(w.mappedType)}),h.jsx("span",{className:`${it.varName} workflow-variable-panel__label`,children:w.display_name||w.name}),C?h.jsx("span",{className:it.varValue,children:C}):null]},w.id)}),!l&&!u&&s.length<1&&h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:lw.NoTestDataDesc,className:it.empty}),l?h.jsxs("div",{className:it.loadingState,children:[h.jsx(D.Spin,{size:"small"}),h.jsx("span",{children:"正在加载全局变量"})]}):u?h.jsx(D.Alert,{className:it.errorState,type:"error",showIcon:!0,message:"全局变量加载失败",description:u.message,action:h.jsx(D.Button,{size:"small",onClick:f,children:"重试"})}):null]})})]}):null,h.jsxs("div",{className:`${it.sectionLabel} workflow-variable-panel__section-label`,children:[h.jsx(se.ApiOutlined,{className:it.sectionIcon}),h.jsx("span",{children:"节点变量"})]}),h.jsx("div",{className:`variable-panel-group ${!c&&!d&&a.length<1?"empty":""}`,children:h.jsxs("div",{className:it.section,children:[a.map(w=>h.jsx("div",{children:h.jsx(D.Tree,{defaultExpandAll:!0,showLine:!0,onSelect:(g,C)=>{const k=C.node.variablePath;if(k.length<=1)return!1;i.emit({type:"insert",currentInputId:m.currentInputId,expression:nR(w.node_id,k)})},switcherIcon:h.jsx(se.CaretDownOutlined,{}),treeData:b(w.sub_params,!0,w.nodeIcon,w.isValid,"node")})},`${w.node_id}-${w.seq}`)),!c&&!d&&a.length<1&&h.jsx(D.Empty,{image:D.Empty.PRESENTED_IMAGE_SIMPLE,description:lw.NoTestDataDesc,className:it.empty}),c?h.jsxs("div",{className:it.loadingState,children:[h.jsx(D.Spin,{size:"small"}),h.jsx("span",{children:"正在加载节点变量"})]}):d?h.jsx(D.Alert,{className:it.errorState,type:"error",showIcon:!0,message:"节点变量加载失败",description:d.message,action:h.jsx(D.Button,{size:"small",onClick:p,children:"重试"})}):null]})})]})]})}),{Option:Po}=D.Select,rR=y.forwardRef(({onSubmit:t,config_schema:e,nodeId:n},r)=>{const[o]=D.Form.useForm(),i=xl(),s=D.Form.useWatch("type",o);Et.useMount(()=>{e&&Object.hasOwn(e,"asc")&&o.setFieldsValue(e)});const[a,l]=y.useState(!1),c=(d,f,p="")=>(l(!0),o.validateFields().then(async m=>s&&s==="NUMBER"&&m.start>m.end?D.message.warning(K("link.flow.loop_start_end_check")):t({properties:m},d)).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>l(!1)));y.useImperativeHandle(r,()=>({saveConfig:d=>c(d)}));const u=Ot();return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:i,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsxs(D.Form,{disabled:!u,form:o,layout:"vertical",children:[h.jsxs(D.Row,{children:[h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"type",label:K("app.common.word.loop-data-type"),rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:"ARRAY",children:h.jsx(Te.FormattedMessage,{id:"link.flow.array"})}),h.jsx(Po,{value:"NUMBER",children:h.jsx(Te.FormattedMessage,{id:"common.number"})}),h.jsx(Po,{value:"CONDITION",children:h.jsx(Te.FormattedMessage,{id:"link.flow.condition_expression"})})]})})}),s&&s==="NUMBER"&&h.jsx(D.Col,{sm:24,lg:12,children:h.jsxs(D.Form.Item,{required:!0,label:K("link.flow.loop_start_end"),style:{display:"flex"},children:[h.jsx(D.Form.Item,{name:"start",noStyle:!0,rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsx(D.InputNumber,{min:1,style:{marginRight:20}})}),h.jsx(D.Form.Item,{name:"end",noStyle:!0,rules:[{required:!0,message:K("link.flow.please_select_data_type")}],children:h.jsx(D.InputNumber,{min:1})})]})}),s&&s!=="NUMBER"&&h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{rules:[{required:!0,message:K("link.flow.please_enter_loop_expression")}],label:K("link.flow.loop_expression"),name:"expression",children:h.jsx(Pn,{nodeId:n,borrow:!0,valueType:"JS_EXP",placeholder:K("link.flow.please_enter_loop_expression")})})}),!s&&h.jsx(D.Col,{})]}),h.jsxs(D.Row,{children:[h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"asc",label:K("app.common.word.circulation-direction"),rules:[{required:!0,message:K("link.flow.please_select_loop_direction")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:!0,children:h.jsx(Te.FormattedMessage,{id:"link.flow.loop_head_to_tail"})}),h.jsx(Po,{value:!1,children:h.jsx(Te.FormattedMessage,{id:"link.flow.loop_tail_to_head"})})]})})}),h.jsx(D.Col,{sm:24,lg:12,children:h.jsx(D.Form.Item,{name:"errorExec",label:K("link.flow.loop_processing"),rules:[{required:!0,message:K("link.flow.please_select_loop_processing")}],children:h.jsxs(D.Select,{children:[h.jsx(Po,{value:"END",children:h.jsx(Te.FormattedMessage,{id:"link.flow.terminate_process"})}),h.jsx(Po,{value:"CONTINUE",children:h.jsx(Te.FormattedMessage,{id:"link.flow.continue_loop"})}),h.jsx(Po,{value:"BREAK",children:h.jsx(Te.FormattedMessage,{id:"link.flow.break_loop"})})]})})})]})]})}),h.jsx("div",{className:"workflow-node-form-footer",children:u&&h.jsx(D.Button,{type:"primary",disabled:!u,loading:a,className:"workflow-node-form-save",onClick:()=>c(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),Ud=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,{Option:oR}=D.Select,iR=y.forwardRef((t,e)=>{const{config_schema:n,nodeId:r}=t,[o]=D.Form.useForm(),i=xl(),{handleNodeDataUpdate:s}=Ri(),[a,l]=y.useState(null),[c,u]=y.useState(""),f=(E=>!(E!=null&&E.branches)||E.branches.length===0?{branches:[{id:Ud(),name:K("link.flow.switch.condition_one"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]},{id:Ud(),name:K("link.flow.switch.condition_two"),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}]}:{branches:E.branches.map((O,A)=>{var T;return{id:O.id||Ud(),name:O.name||K("link.flow.switch.condition_n",{n:A+1}),or_list:((T=O.or_list)==null?void 0:T.map(B=>{var I;return{and_list:((I=B.and_list)==null?void 0:I.map(F=>({query:F.query||"",operator:F.operator||"",value:F.value||""})))||[{query:"",operator:"",value:""}]}}))||[{and_list:[{query:"",operator:"",value:""}]}]}})})(n),p=()=>{const E=o.getFieldValue("branches")||[];s({id:r,data:{config_schema:{branches:E}}})},m=(E,x)=>{l(E),u(x)},v=()=>{l(null),u("")},b=E=>{const x=Pt.cloneDeep(o.getFieldValue("branches"))||[],O=c.trim();if(!O){D.message.error(K("link.flow.switch.branch_name_cannot_be_empty"));return}if(x.some((T,B)=>B!==E&&T.name===O)){D.message.error(K("link.flow.switch.branch_name_duplicate"));return}x[E].name=O,o.setFieldValue("branches",x),l(null),u(""),p()},w=(E,x)=>{const O=o.getFieldValue("branches")||[];if(x<0||x>=O.length)return;const A=[...O],[T]=A.splice(E,1);A.splice(x,0,T),o.setFieldValue("branches",A),p()},[g,C]=y.useState(!1),k=E=>(C(!0),o.validateFields().then(async x=>{if(!x.branches.some(T=>T.or_list.some(B=>B.and_list.some(I=>I.query&&I.operator)))){D.message.error(K("link.flow.switch.at_least_one_valid_branch"));return}const A=Pt.cloneDeep(x);return A.branches.forEach(T=>{T.or_list.forEach(B=>{B.and_list.forEach(I=>{I.value=FG(I.operator,I.value)})})}),t.onSubmit({properties:A},E)}).catch(()=>(D.message.warning(K("link.flow.missing_configuration")),!1)).finally(()=>C(!1)));y.useImperativeHandle(e,()=>({saveConfig:E=>k(E)}));const _=Ot(),S=(E,x,O,A)=>{const B=(o.getFieldValue("branches")||[])[x],I=a===x;return h.jsxs(D.Card,{style:{marginBottom:20,borderRadius:8,border:"1px solid #d9d9d9"},styles:{body:{padding:10}},children:[h.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:12},children:[h.jsx("div",{style:{display:"flex",alignItems:"center",flex:1},children:I?h.jsxs(D.Space,{children:[h.jsx(D.Input,{value:c,onChange:F=>u(F.target.value),style:{width:200},placeholder:K("link.flow.switch.enter_branch_name"),onPressEnter:()=>b(x)}),h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CheckOutlined,{style:{color:"#52c41a"}}),onClick:()=>b(x)}),h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.CloseOutlined,{}),onClick:v})]}):h.jsxs(D.Space,{children:[h.jsx("span",{style:{fontSize:13,fontWeight:400},children:(B==null?void 0:B.name)||K("link.flow.switch.condition_n",{n:x+1})}),_&&h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.EditOutlined,{}),onClick:()=>m(x,(B==null?void 0:B.name)||"")})]})}),_&&h.jsxs(D.Space,{className:"actions",children:[h.jsx(D.Tooltip,{title:K("link.flow.switch.move_to_top"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:x===0,onClick:()=>w(x,0),children:"置顶"})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_up"),children:h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.ArrowUpOutlined,{}),disabled:x===0,onClick:()=>w(x,x-1)})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_down"),children:h.jsx(D.Button,{type:"text",size:"small",icon:h.jsx(se.ArrowDownOutlined,{}),disabled:x===O-1,onClick:()=>w(x,x+1)})}),h.jsx(D.Tooltip,{title:K("link.flow.switch.move_to_bottom"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:x===O-1,onClick:()=>w(x,O-1),children:"置底"})}),h.jsx(D.Tooltip,{title:K("common.delete"),children:h.jsx(D.Button,{type:"text",size:"small",disabled:O<=1,onClick:()=>{if(O<=1){D.message.warning(K("link.flow.switch.at_least_one_branch"));return}A(E.name),setTimeout(()=>{p()},0)},children:"删除"})})]})]}),h.jsx(D.Form.Item,{name:[E.name,"name"],hidden:!0,children:h.jsx(D.Input,{})}),h.jsx(D.Form.List,{name:[E.name,"or_list"],children:(F,{add:N,remove:P})=>h.jsx(h.Fragment,{children:F.map((M,z)=>{const H=z===F.length-1;return h.jsx(h.Fragment,{children:h.jsxs("div",{className:"switch-rule",children:[F.length>1&&_&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end"},children:h.jsxs(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>P(M.name),children:[h.jsx(Te.FormattedMessage,{id:"link.flow.remove"})," OR"]})}),h.jsx(D.Form.List,{name:[M.name,"and_list"],children:(R,{add:Y,remove:te})=>h.jsx(h.Fragment,{children:R.map(($,j)=>{const U=j===R.length-1;return h.jsxs(D.Space,{direction:"vertical",style:{width:"100%"},children:[h.jsxs(D.Space,{align:"center",className:"switch-rule-item",children:[h.jsx(D.Form.Item,{style:{minWidth:150,marginBottom:0},name:[$.name,"query"],label:K("app.common.word.variable-name"),rules:[{required:!0,message:K("link.flow.please_enter_variable_name")}],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.variable_name"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})}),h.jsx(D.Form.Item,{style:{marginBottom:0},name:[$.name,"operator"],label:K("app.common.word.condition"),rules:[{required:!0,message:K("link.flow.please_select_condition")}],children:h.jsx(D.Select,{style:{minWidth:140},placeholder:K("link.flow.select_condition"),getPopupContainer:()=>document.body,children:oO.map(ee=>h.jsx(oR,{value:ee.operator,children:ee.label},ee.operator))})}),h.jsx(D.Form.Item,{noStyle:!0,shouldUpdate:!0,children:()=>{const ee=o.getFieldValue(["branches",E.name,"or_list",M.name,"and_list",$.name,"operator"]);return iw(ee)?null:h.jsx(D.Form.Item,{style:{minWidth:150,marginBottom:0},name:[$.name,"value"],label:K("app.common.word.value"),rules:[],children:h.jsx(Pn,{nodeId:t.nodeId,placeholder:K("link.flow.value"),borrow:!0,disableIDE:!0,valueType:"JS_EXP"})})}}),j===0&&h.jsx("div",{style:{width:30}}),j>0&&_&&h.jsx(D.Button,{type:"link",icon:h.jsx(se.MinusCircleOutlined,{}),onClick:()=>te($.name)})]}),j<R.length-1&&h.jsx(D.Divider,{plain:!0,style:{margin:"8px 0"},children:h.jsx(D.Tag,{color:"#999999",children:h.jsx(Te.FormattedMessage,{id:"link.flow.and"})})}),h.jsxs("div",{className:`rule-opt-actions ${U?"last-and-rule":""}`,children:[j===R.length-1&&h.jsx(D.Button,{type:"link",disabled:!_,icon:h.jsx(br,{size:14}),onClick:()=>Y({query:"",operator:"",value:""}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-new-and"})}),H&&h.jsx(D.Button,{type:"link",icon:h.jsx(br,{size:14}),disabled:!_,onClick:()=>N({and_list:[{query:"",operator:"",value:""}]}),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.add-or"})})]})]},$.key)})})}),!H&&h.jsx("div",{style:{textAlign:"center"},children:h.jsx(D.Divider,{style:{color:"orange"},dashed:!0,children:h.jsx(D.Tag,{color:"#1890ff",children:h.jsx(Te.FormattedMessage,{id:"link.flow.or"})})})})]},M.key)})})})})]},E.key)};return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:i,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsx(D.Form,{disabled:!_,form:o,initialValues:f,layout:"vertical",autoComplete:"off",children:h.jsx(D.Form.List,{name:"branches",children:(E,{add:x,remove:O})=>h.jsxs(h.Fragment,{children:[E.map((A,T)=>S(A,T,E.length,O)),E.length<10&&h.jsx("div",{style:{display:"flex",justifyContent:"flex-end",width:"100%"},children:h.jsx(D.Button,{type:"default",icon:h.jsx(br,{size:14}),disabled:!_,onClick:()=>{const A=E.length+1;x({id:Ud(),name:K("link.flow.switch.condition_n",{n:A}),or_list:[{and_list:[{query:"",operator:"",value:""}]}]}),setTimeout(()=>{p()},0)},children:h.jsx(Te.FormattedMessage,{id:"link.flow.switch.add_branch"})})}),E.length>=10&&h.jsx("div",{style:{textAlign:"center",color:"#999",marginBottom:20},children:h.jsx(Te.FormattedMessage,{id:"link.flow.switch.max_branches_reached"})})]})})})}),h.jsx("div",{className:"workflow-node-form-footer",children:_&&h.jsx(D.Button,{type:"primary",disabled:!_,loading:g,className:"workflow-node-form-save",onClick:()=>k(),children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})}),sR=({nodeId:t,onSubmit:e,data:n})=>{const[r]=D.Form.useForm(),o=xl(),i=Ot(),{refreshFlow:s}=ao(),{setNodes:a}=ne.useReactFlow(),l=y.useCallback((u,d)=>{a(f=>f.map(p=>!d&&p.id!==t?p:{...p,data:{...p.data,error_handler:u}}))},[t,a]);y.useEffect(()=>{const u=(n==null?void 0:n.error_handler)||{};r.setFieldsValue({retryEnabled:u.retry||!1,retryCount:u.retry_times||3,retryInterval:u.retry_interval||5,stepFactor:u.step_factor||1.5,maxRetryInterval:u.max_retry_interval||60,alertEnabled:u.warn_type===1,webhookUrl:u.notify_url||"",errorHandling:u.process_type===2?"ignore":"interrupt",applyToAllNodes:!!u.apply_all})},[t,r,n==null?void 0:n.error_handler]);const c=async u=>{try{const d={retry:u.retryEnabled,retry_times:u.retryEnabled?u.retryCount:void 0,retry_interval:u.retryEnabled?u.retryInterval:void 0,step_factor:u.retryEnabled?u.stepFactor:void 0,max_retry_interval:u.retryEnabled?u.maxRetryInterval:void 0,warn_type:u.alertEnabled?1:0,notify_url:u.alertEnabled?u.webhookUrl:void 0,process_type:u.errorHandling==="interrupt"?1:2,apply_all:u.applyToAllNodes};await rc(t,{error_handler:d}),l(d,u.applyToAllNodes),u.applyToAllNodes&&s(),e()}catch{D.message.error(K("common.save_failed"))}};return h.jsxs("div",{className:"workflow-node-form-shell",onMouseDownCapture:o,children:[h.jsx("div",{className:"workflow-node-form-scroll grayBeautifyScrollbar",children:h.jsxs(jn.ProForm,{form:r,layout:"vertical",disabled:!i,submitter:!1,onFinish:c,children:[h.jsx(jn.ProFormSwitch,{name:"retryEnabled",label:K("app.common.word.enable-retry")}),h.jsx(jn.ProFormDependency,{name:["retryEnabled"],children:({retryEnabled:u})=>u?h.jsxs(h.Fragment,{children:[h.jsx(jn.ProFormDigit,{name:"retryCount",label:K("app.common.word.retry-count"),tooltip:K("app.common.word.retry-count-tooltip"),width:"xl",fieldProps:{min:1,max:10,precision:0,style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.please-enter-retry-count")}]}),h.jsx(jn.ProFormDigit,{name:"retryInterval",label:K("app.common.word.retry-interval"),tooltip:K("app.common.word.retry-interval-tooltip"),fieldProps:{min:1,max:60,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:u,message:K("app.common.word.please-enter-retry-interval")}]}),h.jsx(jn.ProFormDigit,{name:"stepFactor",label:K("app.common.word.step-factor"),tooltip:K("app.common.word.step-factor-tooltip"),width:"xl",fieldProps:{min:1,max:5,precision:1,style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.please-enter-step-factor")}]}),h.jsx(jn.ProFormDigit,{name:"maxRetryInterval",label:K("app.common.word.max-retry-interval"),tooltip:K("app.common.word.max-retry-interval-tooltip"),width:"xl",fieldProps:{min:1,max:300,precision:0,style:{width:"100%"},addonAfter:"s"},rules:[{required:u,message:K("app.common.word.please-enter-max-retry-interval")}]})]}):null}),h.jsx(jn.ProFormSwitch,{name:"alertEnabled",label:K("app.common.word.enable-alert")}),h.jsx(jn.ProFormDependency,{name:["alertEnabled"],children:({alertEnabled:u})=>u?h.jsx(jn.ProFormText,{name:"webhookUrl",label:K("app.common.word.webhook-url"),placeholder:K("app.common.word.enter-webhook-url"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:u,message:K("app.common.word.enter-webhook-url")}]}):null}),h.jsx(jn.ProFormSelect,{name:"errorHandling",label:K("app.common.word.error-handling"),width:"xl",fieldProps:{style:{width:"100%"}},rules:[{required:!0,message:K("app.common.word.select-error-handling")}],options:[{label:K("app.common.word.interrupt-flow"),value:"interrupt"},{label:K("app.common.word.ignore-error"),value:"ignore"}]}),h.jsx(jn.ProFormSwitch,{name:"applyToAllNodes",label:K("app.common.word.apply-to-all-nodes")})]})}),h.jsx("div",{className:"workflow-node-form-footer",children:h.jsx(D.Button,{type:"primary",disabled:!i,onClick:()=>r.submit(),className:"workflow-node-form-save",children:h.jsx(Te.FormattedMessage,{id:"app.common.word.save"})})})]})},cO="[workflow:schema-render]",aR=()=>{const{event$:t}=y.useContext(Qr),e=Fh();return t.useSubscription(n=>{var r;n.type==="insert"&&n.expression&&(r=e==null?void 0:e.getActiveFieldId)!=null&&r.call(e)&&e.insertVariableToActiveField(n.expression,!1)}),null},lR=({children:t})=>{const{event$:e}=y.useContext(Qr),n=Mh(),[r,o]=y.useState("");e.useSubscription(a=>{a.type==="setCurrentInputId"&&o(a.currentInputId??"")});const i=(n==null?void 0:n.activeFieldId)??r,s=y.useMemo(()=>({activeInputId:i}),[i]);return h.jsx(cx.Provider,{value:s,children:t})},cR=t=>{const{icon:e,fallbackIcon:n}=t;return h.jsxs("div",{className:"node-config-title",style:{display:"flex",alignItems:"center"},children:[h.jsx("div",{className:"node-config-icon",style:{backgroundImage:`url(${n?"none":e??"https://digitalsee-image.digitalsee.cn/flow/0.png"})`},children:n&&n}),h.jsxs("div",{className:"node-config-meta",children:[h.jsx("div",{className:"node-config-title-name",style:{fontSize:16,fontWeight:600,marginLeft:10},children:t.name}),h.jsx("div",{className:"node-config-title-description",style:{fontSize:12,color:"gray",marginLeft:10},children:t.description})]})]})},uR=y.memo(({visible:t,onClose:e,data:n,nodeType:r=pe.ACTION,nodeId:o=""})=>{var B,I;const i=Et.useEventEmitter();ne.useInternalNode(o);const{setNodeConfigVisible:s,refreshFlow:a}=ao(),l=y.useRef(null),c=y.useRef(null),u=y.useRef(null),d=y.useRef(null),f=y.useRef(null);y.useRef(null);const p=y.useRef(null),m=ne.useStoreApi(),v=$t(),b=((I=(B=v.nodeConfigPanel)==null?void 0:B.testArea)==null?void 0:I.allowManualTest)!==!1,w=Et.useReactive({output:"",ignore:!1,expandTestPanel:!1}),g=y.useMemo(()=>v.nodeConfigPanel.showSettings&&![pe.TRIGGER,pe.AI_SUB_NODE].includes(r),[r,v.nodeConfigPanel.showSettings]),C=(n==null?void 0:n.action_id)??(n==null?void 0:n.id),k=C!==null&&typeof C<"u"&&C!==""&&Number.isFinite(Number(C))?C:null,_=po(n),S=n==null?void 0:n.nodeKey,E=(n==null?void 0:n.nodeVersion)??(n==null?void 0:n.action_ver),{handleNodeDataUpdate:x}=Ri();y.useEffect(()=>{var N,P;if(!t)return;const F=k!==null&&Number(k)<=0;S&&F&&!_&&!((N=n==null?void 0:n.config_schema)!=null&&N.sub_params)&&!((P=n==null?void 0:n.properties)!=null&&P.sub_params)&&console.warn(`${cO} possible nodepackage schema route mismatch`,{nodeId:o,nodeType:r,actionId:k,nodePackageKey:S,nodePackageVersion:E,reason:"keyed node with non-positive action_id and no classic sub_params was rejected by the nodePackage-compatible node check"})},[k,n==null?void 0:n.config_schema,n==null?void 0:n.properties,n==null?void 0:n.params,n==null?void 0:n.action_key,n==null?void 0:n.action_ver,n==null?void 0:n.nodeKey,n==null?void 0:n.nodeVersion,_,S,E,o,r,t]);const O=y.useCallback(async(F,N)=>{var M,z,H;const P=v.flowId;try{const R=m.getState().nodes.find(U=>U.id===o),Y=_?ZP(F):F.properties,te=_?e2(F):F.account_id??null,$=_?{flow_id:P,properties:Y,position:R==null?void 0:R.position,action_id:k,account_id:te,proxy_id:F.proxy_id,mcp_tool_description:F.mcp_tool_description,action_key:S,action_ver:E}:{flow_id:P,...F,position:R==null?void 0:R.position,action_id:k};console.info(`${cO} save node config`,{nodeId:o,nodeType:r,actionId:k,isNodepackageNode:_,nodePackageKey:S,nodePackageVersion:E,valueKeys:Object.keys(F||{}),paramsKeys:Object.keys((F==null?void 0:F.params)||{}),propertiesKeys:Object.keys((F==null?void 0:F.properties)||{}),ignoreDebugResult:w.ignore});const j=w.ignore?await My(o,"","","",Y,w.output):await rc(o,$);if(j)if(w.ignore)(M=p.current)==null||M.finishSampleTest(),x({id:o,data:{status:me.SUCCESS,output:w.output,outputSource:"sample"}}),D.message.success("已使用样本数据完成调试");else{D.message.success("节点配置已保存");const U={params:void 0,properties:Y,account_id:te,mcp_tool_description:F.mcp_tool_description,action_key:S,action_ver:E,nodeKey:S,nodeVersion:E,isNodePackage:_};x({id:o,data:{config_schema:Y,account_id:F.account_id,...U,position:R==null?void 0:R.position,status:j.status}})}N&&!w.ignore&&((z=p.current)==null||z.onTestNode()),w.ignore=!1,w.output=""}catch{w.ignore&&((H=p.current)==null||H.abortSampleTest(),x({id:o,data:{status:me.FAILED}}))}},[k,v.flowId,n==null?void 0:n.action_key,n==null?void 0:n.action_ver,n==null?void 0:n.nodeKey,n==null?void 0:n.nodeVersion,x,_,S,E,o,r,w,m]);y.useCallback(F=>{!_||r!==pe.SWITCH||x({id:o,data:{config_schema:F,properties:F}})},[x,_,o,r]);const A=F=>{var N,P,M,z,H;return _?(N=c.current)==null?void 0:N.saveConfig(F):r===pe.LOOP?(P=f.current)==null?void 0:P.saveConfig(F):r===pe.CONDITION?(M=u.current)==null?void 0:M.saveConfig(F):r===pe.SWITCH?(z=d.current)==null?void 0:z.saveConfig(F):(H=c.current)==null?void 0:H.saveConfig(F)},T=async(F,N,P)=>{var M;if(N){w.ignore=!0,w.output=P||"",await A(F),(M=p.current)==null||M.finishNodeTest();return}if(F)try{D.message.loading("正在保存节点配置...",0),await A(F),D.message.success("节点配置已保存"),D.message.destroy()}catch(z){D.message.destroy(),console.error("节点配置保存失败:",z),D.message.error("节点配置保存失败,无法执行测试")}};return h.jsx(D.Modal,{open:t,footer:null,closeIcon:null,maskClosable:!0,onCancel:()=>{s(null)},centered:!0,width:"min(1440px, calc(100vw - 32px))",className:"nodes-config-modal",styles:{mask:{backgroundColor:"rgba(0, 0, 0, 0.45)"},content:{padding:0,overflow:"hidden"}},children:h.jsx(Qr.Provider,{value:{event$:i},children:h.jsxs(rC,{children:[h.jsx(aR,{}),h.jsx(lR,{children:h.jsx("div",{className:"nodes-config-container",children:h.jsx("div",{className:"nodes-config-content",children:h.jsxs("div",{className:"config-row",children:[h.jsx("div",{className:"left-section",children:h.jsx("div",{className:"variables-section",children:h.jsx(lO,{ref:l,nodeId:o,onInsert:()=>{},open:t})})}),h.jsx("div",{className:"middle-section",children:h.jsxs("div",{className:"config-container",children:[h.jsx(cR,{icon:n==null?void 0:n.icon,fallbackIcon:n==null?void 0:n.fallbackIcon,name:(n==null?void 0:n.action_name)||(n==null?void 0:n.label),description:n==null?void 0:n.description}),h.jsx(D.Tabs,{style:{height:"100%"},items:[{key:"property",label:"参数配置",children:h.jsxs(h.Fragment,{children:[_||![pe.CONDITION,pe.SWITCH,pe.LOOP].includes(r)?h.jsx(BG,{ref:c,nodeId:o,nodeType:r,data:n,onSubmit:O}):null,r===pe.CONDITION&&!_?h.jsx(IG,{ref:u,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null,r===pe.SWITCH&&!_?h.jsx(iR,{ref:d,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null,r===pe.LOOP&&!_?h.jsx(rR,{ref:f,nodeId:o,config_schema:n.config_schema,onSubmit:O}):null]})},{key:"setting",label:"设置",children:h.jsx(sR,{data:n,nodeId:o,onSubmit:()=>{D.message.success("保存成功")}})}].slice(0,g?2:1)})]})}),h.jsx("div",{className:`right-section ${w.expandTestPanel?"expand":""}`,children:b&&h.jsx("div",{className:"test-section",children:h.jsx(XG,{ref:p,nodeId:o,beforeHook:T,onClose:e,onExpandPanel:F=>{w.expandTestPanel=F}})})})]})})})})]})})})},(t,e)=>Pt.isEqual(Pt.omit(t,["isHovered"]),Pt.omit(e,["isHovered"]))),uO=[],dR=(t,e)=>{if(uO.length===0)return[];const n=new Set(e);return t.some(o=>n.has(o.id)&&Oh(o)&&uO.some(i=>{var s;return((s=o.data)==null?void 0:s.action_key)===i}))?t.filter(o=>!n.has(o.id)).map(o=>o.id):[]},fR=[pe.AGENT,pe.BROWSER],cw=()=>{const t=ne.useStoreApi(),[e,n]=y.useState(0),r=y.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=fa(u,p=>{const m=p.find(v=>v.id===c.id);m.data?m.data.isHovered=!0:m.data={isHovered:!0}});d(f)},[]),o=y.useCallback((l,c)=>{const{nodes:u,setNodes:d}=t.getState(),f=fa(u,p=>{const m=p.find(v=>v.id===c.id);m.data?m.data.isHovered=!1:m.data={isHovered:!1}});d(f)},[]),i=y.useCallback(l=>{const{nodes:c,setNodes:u}=t.getState(),d=fa(c,f=>{l.forEach(p=>{p.type==="select"&&(f.find(m=>m.id===p.id).selected=p.selected)})});u(d)},[t]),s=y.useCallback((l,c,u=new Set)=>(c.filter(f=>f.source===l?f.sourceHandle!==He.OUTPUT&&f.sourceHandle!==He.DONE&&f.sourceHandle!==He.LOOP&&f.sourceHandle!==He.TRUE&&f.sourceHandle!==He.FALSE:f.target===l&&fh(f.targetHandle)).forEach(f=>{const p=f.source===l?f.target:f.source;u.has(p)||(u.add(p),s(p,c,u))}),u),[]),a=y.useCallback((l,c)=>{const{nodes:u,edges:d,setNodes:f,setEdges:p,onNodesChange:m,onEdgesChange:v}=t.getState(),b=new Set(l);fR.includes(c)&&l.forEach(C=>{s(C,d).forEach(_=>{b.add(_)})}),dR(u,l).forEach(C=>b.add(C));const w=Array.from(b),g=d.filter(C=>b.has(C.source)||b.has(C.target)).map(C=>C.id);if(m){const C=w.map(k=>({type:"remove",id:k}));m(C)}else f(u.filter(C=>!w.includes(C.id)));if(g.length)if(v){const C=g.map(k=>({type:"remove",id:k}));v(C)}else p(d.filter(C=>!g.includes(C.id)))},[t,s]);return{autoSaveNum:e,onNodeMouseEnter:r,onNodeMouseLeave:o,handleNodesChange:i,handleNodesDelete:a}};function hR(t){const{color:e,visible:n}=t;return h.jsx("div",{style:{display:n?"inline-flex":"none",justifyContent:"center",alignItems:"center",position:"absolute",zIndex:1e3,top:"calc(50% - 8px)",left:-10,padding:1,borderRadius:"100%",background:"#FFFFFF",width:20,height:20},children:h.jsx("span",{style:{width:16,height:16,borderRadius:10,backgroundColor:e,border:`1px solid ${e}`,display:"inline-flex",justifyContent:"center",alignItems:"center"},children:h.jsx(DW,{size:8,color:"#FFFFFF"})})})}const Lo={info:{normal:"#007FFF",lighter:"rgba(0, 127, 255, 0.48)"},success:{normal:"#98D7A9",lighter:"rgba(0, 176, 66, 0.48)"},warning:{normal:"#F7CD8F",lighter:"rgba(255, 146, 0, 0.48)"},error:{normal:"#F3B096",lighter:"rgba(255, 82, 25, 0.48)"},disabled:{normal:"#C7CCD1",lighter:"rgba(199, 204, 209, 0.48)"}},dO=({id:t,type:e=pe.ACTION,selected:n=!1,fallbackIcon:r,iconUri:o,inputs:i=[],outputs:s=[],showToolbar:a=!0,width:l,height:c,className:u="",status:d=me.IDLE,onTestNode:f,data:p,contentRender:m,showNodeDescription:v=!0,onToggleNodeDisabled:b})=>{const{currentNodeConfigVisibleId:w,setNodeConfigVisible:g}=ao(),{handleNodeDataUpdate:C}=Ri(),{handleNodesDelete:k}=cw(),_=$t(),S=na(),E=$=>{C({id:t,data:{note:$}})},x=y.useCallback(()=>{g(null)},[]),O=(p==null?void 0:p.isHovered)||!1,A=y.useMemo(()=>e===pe.TRIGGER,[e]),T=()=>{g(t)},B=y.useMemo(()=>(p==null?void 0:p.closed)==="1",[p==null?void 0:p.closed,e]),I=y.useMemo(()=>typeof l=="number"&&l>0?l:"auto",[l]),F=($="node")=>{if(B)return`workflow-${$}-disabled`;switch(d){case me.INVALID:return`workflow-${$}-warning`;case me.FAILED:return`workflow-${$}-failed`;case me.SUCCESS:case me.RUNNABLE:case me.ACTIVE:return`workflow-${$}-success`;case me.RUNNING:return`workflow-${$}-running`;case me.WARNING:return`workflow-${$}-warning`;case me.DEACTIVATED:return`workflow-${$}-disabled`;case me.IDLE:return`workflow-${$}-idle`;default:return""}},N=()=>{if(B)return Lo.disabled;switch(d){case me.INVALID:return Lo.warning;case me.FAILED:return Lo.error;case me.SUCCESS:case me.RUNNABLE:case me.ACTIVE:return Lo.success;case me.RUNNING:return Lo.info;case me.WARNING:return Lo.warning;case me.DEACTIVATED:return Lo.disabled;default:return Lo.info}},P=($="normal")=>N()[$],M=()=>{const $=i.length,j=new Map;return i.forEach(U=>{const ee=U.position,ie=j.has(ee)?j.get(ee)+1:1;j.set(ee,ie)}),i.map((U,ee)=>h.jsx(P0,{nodeId:t,id:U.id,position:U.position,type:U.type||fn.TARGET,category:U.category,connectionLimit:U.maxConnections,label:U.label,nodeStatus:d,protocol:U.protocol,portSchema:U.portSchema,shape:U.shape,style:U.style,index:[ee,$,j.get(U.position)]},`${t}-${U.id}`))},z=async()=>{var U,ee;const $=((U=_.canvas.fixedNodes)==null?void 0:U.triggerIds)||[],j=((ee=_.nodeTypes.fixed)==null?void 0:ee.triggers)||[];if($.includes(t)||j.includes(e)){D.message.warning("当前触发节点已被配置为不可删除");return}await Xf(t),k([t],e)},H=y.useMemo(()=>{const $=s.length,j=new Map;return s.forEach(U=>{const ee=U.position,ie=j.has(ee)?j.get(ee)+1:1;j.set(ee,ie)}),s.map((U,ee)=>h.jsx(P0,{nodeId:t,connectionLimit:U.maxConnections,id:U.id,style:U.style,position:U.position,protocol:U.protocol,portSchema:U.portSchema,type:U.type,label:U.label,shape:U.shape,nodeStatus:d,index:[ee,$,j.get(U.position)]},`${t}-${U.id}`))},[t,s,d]),R=()=>h.jsx(nC,{status:d,disabled:B}),Y=()=>{switch(d){case me.INVALID:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-warning-icon",children:h.jsx(se.WarningFilled,{style:{color:P()},size:12})});case me.FAILED:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-failed-icon",children:h.jsx(se.CloseCircleFilled,{style:{color:P()},size:12})});case me.SUCCESS:case me.RUNNABLE:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-success-icon",children:h.jsx(se.CheckCircleFilled,{style:{color:P()},size:12})});case me.RUNNING:return h.jsx("div",{className:"workflow-node-status-icon workflow-node-running-icon",children:h.jsx(se.LoadingOutlined,{style:{color:P()},size:12})});default:return null}},te=()=>h.jsxs(h.Fragment,{children:[h.jsx("div",{className:"workflow-node-icon-wrapper",children:h.jsx("div",{className:"workflow-node-icon",style:{backgroundImage:`url(${r?"none":o??"https://digitalsee-image.digitalsee.cn/flow/0.png"})`},children:r&&r})}),v&&h.jsx(PP,{title:p==null?void 0:p.connector_name,nodeId:t,note:(p==null?void 0:p.note)||"",statusIcon:Y(),onNoteChange:E,description:p.action_name,className:"workflow-node-text"})]});return h.jsxs(y.Fragment,{children:[h.jsxs("div",{style:{width:I,height:c||"auto"},onDoubleClick:T,className:`${u}
118
118
  ${F("container")}`,children:[h.jsx(hR,{color:P("lighter"),visible:A}),h.jsxs("div",{className:`workflow-node ${n?"workflow-node-selected":""}`,style:{"--status-color":P(),"--status-color-tint":P("lighter"),...B?{opacity:.4}:{}},children:[B&&h.jsx("div",{className:"workflow-node-deactivated-line"}),h.jsx("div",{className:"workflow-node-toolbar",style:{display:a&&!Ah(S)&&O?"block":"none"},children:h.jsx(s2,{nodeId:t,type:e,isDisabled:B,handleViewConfig:T,onTest:f,onToggleDisabled:b,onDelete:z})}),m?m(p,R()):h.jsx("div",{className:"workflow-node-content",children:te()}),M(),H]})]}),t===w&&h.jsx(uR,{visible:!0,onClose:x,nodeType:e,data:p,nodeId:t})]})},uw="main",pR=["action_key","actionKey","nodeKey","node_key"],qd=t=>Array.isArray(t)?t.filter(e=>typeof e=="string"&&!!e.trim()):void 0,dw=t=>({...t,displayName:t.displayName??t.display_name,type:typeof t.type=="string"&&t.type.trim()?t.type.trim():uw,maxConnections:Object.hasOwn(t,"maxConnections")?t.maxConnections:t.max_connections,allowedSourceNodeKeys:qd(t.allowedSourceNodeKeys??t.allowed_source_node_keys),allowedTargetNodeKeys:qd(t.allowedTargetNodeKeys??t.allowed_target_node_keys),deniedSourceNodeKeys:qd(t.deniedSourceNodeKeys??t.denied_source_node_keys),deniedTargetNodeKeys:qd(t.deniedTargetNodeKeys??t.denied_target_node_keys),position:t.position}),fO=t=>{var e;for(const n of pR){const r=(e=t==null?void 0:t.data)==null?void 0:e[n];if(typeof r=="string"&&r.trim())return r.trim()}return null},zn=(t,e,n,r,o)=>({valid:t,code:e,reason:n,sourcePort:r,targetPort:o}),fw=(t,e,n)=>t?n!=null&&n.allowLegacyMainHandleAliases&&(e==="source"&&t==="output"||e==="target"&&t==="input")?uw:t:null,hO=(t,e,n,r)=>{const o=fw(e,n,r);if(!o)return null;const i=t==null?void 0:t.find(s=>s.name===o);return i?dw(i):null},hw=(t,e)=>!!(e&&(t!=null&&t.includes(e))),pO=(t,e)=>!!(t!=null&&t.length&&!hw(t,e)),mO=(t,e,n,r,o)=>t.filter(i=>r==="source"?i.source===e&&fw(i.sourceHandle,"source",o)===n:i.target===e&&fw(i.targetHandle,"target",o)===n&&i.source!==i.target).length,gO=(t,e)=>{if(t.maxConnections==null||!Number.isFinite(t.maxConnections))return!1;const n=Math.max(0,Math.trunc(t.maxConnections));return e>=n},wO=t=>t||"(未指定)",mR=({sourceNode:t,targetNode:e,sourceHandle:n,targetHandle:r,sourcePorts:o,targetPorts:i,edges:s=[],options:a})=>{if(!t)return zn(!1,"SOURCE_NODE_NOT_FOUND","源节点不存在",null,null);if(!e)return zn(!1,"TARGET_NODE_NOT_FOUND","目标节点不存在",null,null);const l=hO(o,n,"source",a);if(!l)return zn(!1,"SOURCE_PORT_NOT_FOUND",`源节点不存在输出端口 ${wO(n)}`,null,null);const c=hO(i,r,"target",a);if(!c)return zn(!1,"TARGET_PORT_NOT_FOUND",`目标节点不存在输入端口 ${wO(r)}`,l,null);if(l.type!==c.type)return zn(!1,"PORT_TYPE_MISMATCH",`端口类型不匹配:${l.type} 输出不能连接到 ${c.type} 输入`,l,c);const u=fO(t),d=fO(e);if(hw(c.deniedSourceNodeKeys,u))return zn(!1,"SOURCE_NODE_DENIED",`目标输入端口禁止源节点 ${u}`,l,c);if(hw(l.deniedTargetNodeKeys,d))return zn(!1,"TARGET_NODE_DENIED",`源输出端口禁止目标节点 ${d}`,l,c);if(pO(c.allowedSourceNodeKeys,u))return zn(!1,"SOURCE_NODE_NOT_ALLOWED",`源节点 ${u||"(未声明 node key)"} 不在目标输入端口白名单中`,l,c);if(pO(l.allowedTargetNodeKeys,d))return zn(!1,"TARGET_NODE_NOT_ALLOWED",`目标节点 ${d||"(未声明 node key)"} 不在源输出端口白名单中`,l,c);const f=s??[],p=mO(f,t.id,l.name,"source",a);if(gO(l,p))return zn(!1,"SOURCE_MAX_CONNECTIONS_REACHED",`源输出端口 ${l.name} 最多只能连接 ${l.maxConnections} 个节点`,l,c);const m=mO(f,e.id,c.name,"target",a);return gO(c,m)?zn(!1,"TARGET_MAX_CONNECTIONS_REACHED",`目标输入端口 ${c.name} 最多只能连接 ${c.maxConnections} 个节点`,l,c):t.id===e.id?zn(!1,"SELF_CONNECTION_NOT_ALLOWED","节点不能连接到自身",l,c):zn(!0,"VALID","",l,c)},pw=72,mw=6,gw=12,bO=24,gR=16,wR=320,vO="main";function bR(t){const e=Math.max(0,Math.floor(t));if(e<=mw)return{height:pw,compact:!1};if(e<=gw)return{height:pw+(e-mw)*bO,compact:!1};const n=pw+(gw-mw)*bO;return{height:Math.min(n+(e-gw)*gR,wR),compact:!0}}function vR(t){const e=t.inputs??[],n=t.outputs??[],{height:r,compact:o}=bR(Math.max(e.length,n.length));return{inputs:e.map((i,s)=>yO(i,s,e.length,fn.TARGET,o)),outputs:n.map((i,s)=>yO(i,s,n.length,fn.SOURCE,o)),height:r,compact:o}}function yO(t,e,n,r,o){const i=dw(t),s=i.type||vO,a=i.displayName||i.name,l=yR(i.position)??(r===fn.TARGET?ne.Position.Left:ne.Position.Right);return{id:i.name,position:l,type:r,isMain:i.name===vO,label:a?h.jsx(kR,{compact:o,label:a}):void 0,maxConnections:typeof i.maxConnections=="number"?i.maxConnections:void 0,connectionType:s,portSchema:i,style:CR(e,n)}}function yR(t){if(t)switch(t){case"left":return ne.Position.Left;case"top":return ne.Position.Top;case"right":return ne.Position.Right;case"bottom":return ne.Position.Bottom;default:return}}function CR(t,e){return{top:`${(t+1)/(e+1)*100}%`}}function kR({compact:t,label:e}){return h.jsx(D.Tooltip,{title:e,children:h.jsx("span",{"data-nodepackage-port-label":!0,title:e,style:{display:"inline-block",maxWidth:t?72:112,overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle",whiteSpace:"nowrap"},children:e})})}function SR({nodeType:t,data:e,legacyInputs:n,legacyOutputs:r,resolvePortSchema:o,overrideNodeKey:i,overrideNodeVersion:s}){var C,k;const a=$t(),l=i??ER(t,e),c=s!==void 0?s:xR(e),u=l?Wi(l,c):null,d=((k=(C=a.nodeSelector)==null?void 0:C.connectable)==null?void 0:k.enabled)===!0&&po(e),f=`${l}@${c??"latest"}`,[p,m]=y.useState(null);y.useEffect(()=>{if(!d||!l)return;if(u){m({identity:f,schema:u,failed:!1});return}let _=!1;return pc(l,c).then(S=>{_||m({identity:f,schema:S,failed:!S})}).catch(()=>{_||m({identity:f,schema:null,failed:!0})}),()=>{_=!0}},[u,f,d,l,c]);const v=(p==null?void 0:p.identity)===f?p.schema:null,b=d?u??v:null,w=y.useMemo(()=>b&&o?o(b):b,[o,b]),g=y.useMemo(()=>w?vR(w):null,[w]);return d?g?{inputs:g.inputs,outputs:g.outputs,height:g.height,status:"ready",isNodePackage:!0,schema:b}:!l||(p==null?void 0:p.identity)===f&&p.failed?{inputs:[],outputs:[],height:72,status:"error",isNodePackage:!0,schema:null}:{inputs:[],outputs:[],height:72,status:"loading",isNodePackage:!0,schema:null}:{inputs:n,outputs:r,status:"legacy",isNodePackage:!1,schema:null}}function ER(t,e){const n=e.nodeKey??e.action_key;return typeof n=="string"?n:""}function xR(t){const e=t.nodeVersion??t.action_ver;if(e==null||e==="")return;const n=Number(e);return Number.isFinite(n)?n:void 0}const ww="MCP_TRIGGER",CO="mcp_trigger",kO=200,DR=10;$e.MCP_SERVER;const Gd="dip.core.trigger.mcp-server";function Rd(t){return t===ne.Position.Left?ne.Position.Top:t===ne.Position.Right?ne.Position.Bottom:t}function SO(t){for(const e of t){const n=typeof e.type=="string"?e.type:"",r=e.data&&typeof e.data.action_key=="string"?e.data.action_key:"";if(n.startsWith(`${Gd}@`)||r===Gd)return!0}return!1}const _R=["action_key","actionKey","nodeKey","node_key"],AR=["action_ver","nodeVersion","node_version"],OR=new Set(["left","top","right","bottom"]);function TR(t){if(!t)return"";for(const e of _R){const n=t[e];if(typeof n=="string"&&n.trim())return n.trim()}return""}function NR(t){if(t)for(const e of AR){const n=t[e];if(n==null||n==="")continue;const r=Number(n);if(Number.isFinite(r)&&r>=0)return r}}function BR(t){if(t)switch(t){case"left":return ne.Position.Left;case"top":return ne.Position.Top;case"right":return ne.Position.Right;case"bottom":return ne.Position.Bottom;default:return OR.has(t),void 0}}function EO(t){return!t||t.length===0?[]:t.map(e=>e.position)}function FR(t){const e=TR(t.data);if(!e)return Ui(t.type)?Wi(t.type):null;const n=NR(t.data);return Wi(e,n)}function MR(t){if(!t)return{sources:[],targets:[]};const e=[];for(const r of t.outputs??[])e.push(xO(r,ne.Position.Right));const n=[];for(const r of t.inputs??[])n.push(xO(r,ne.Position.Left));return{sources:e,targets:n}}function xO(t,e){const n=dw(t);return BR(n.position)??e}function IR(t){try{const e=ji(t.type,t.data??void 0);return{sources:EO(e.outputs),targets:EO(e.inputs)}}catch{return null}}function DO(t,e){return e?{sources:t.sources.map(Rd),targets:t.targets.map(Rd)}:t}function Ns(t,e){if(!t)return{sources:[],targets:[]};const n=t.data,r=po(n??null)||Ui(t.type),o=(e==null?void 0:e.isMcpServerCanvas)===!0;if(r){const s=FR(t),a=MR(s);if(a.sources.length>0||a.targets.length>0)return DO(a,o)}const i=IR(t);return i&&(i.sources.length>0||i.targets.length>0)?DO(i,o):{sources:[],targets:[]}}function Dl(t){return t===ne.Position.Top||t===ne.Position.Bottom}function bw(t){return t===ne.Position.Left||t===ne.Position.Right}function PR(t,e){const n=Ns(t,e);return n.sources.some(Dl)||n.targets.some(Dl)}function LR(t,e){const n=Ns(t,e);return n.sources.some(bw)||n.targets.some(bw)}function $R(t,e,n,r){if(n){const o=Ns(n,r),i=_O(o.targets,t.targetHandle,n,"target",r);if(i)return Dl(i)?"vertical":"horizontal"}if(e){const o=Ns(e,r),i=_O(o.sources,t.sourceHandle,e,"source",r);if(i)return Dl(i)?"vertical":"horizontal"}return null}function _O(t,e,n,r,o){if(!e)return t[0];const s=(r==="source"?zR(n):HR(n)).find(a=>a.id===e);return s?o!=null&&o.isMcpServerCanvas?Rd(s.position):s.position:t[0]}function zR(t){try{return ji(t.type,t.data??void 0).outputs}catch{return[]}}function HR(t){try{return ji(t.type,t.data??void 0).inputs}catch{return[]}}function VR(t,e){return Ns(t,e).sources.includes(ne.Position.Top)}function AO(t){if(SO(t))return"vertical";let n=0,r=0;for(const o of t){const i=Ns(o);i.sources.some(Dl)&&(n+=1),i.sources.some(bw)&&(r+=1)}return n===0&&r===0?"horizontal":n>r?"vertical":"horizontal"}const OO=30,vw=72,TO=2;function NO(t){const e=Rd(t.position);if(e===t.position)return t;const n=t.style;if(!n||typeof n!="object")return{...t,position:e};const r={...n},o=t.position===ne.Position.Left||t.position===ne.Position.Right,i=e===ne.Position.Top||e===ne.Position.Bottom;return o&&i&&r.top!==void 0&&(r.left=r.top,delete r.top),{...t,position:e,style:r}}function jR(t){if(!t||typeof t!="string"||!t.includes("@"))return{baseNodeType:t};const e=t.split("@");if(e.length===2){const[n,r]=e;return r?{baseNodeType:n,nodeKey:r}:{baseNodeType:t}}if(e.length===3){const[n,r,o]=e,i=Number(o);return Number.isFinite(i)?{baseNodeType:n,nodeKey:r,nodeVersion:i}:(console.warn("[workflow:node-types] malformed descriptor version, falling back to base type",{type:t}),{baseNodeType:t})}return console.warn("[workflow:node-types] malformed descriptor key, falling back to base type",{type:t}),{baseNodeType:t}}const BO=y.memo(t=>{const{id:e,data:n,selected:r,type:o}=t,i=n,{isMcpServerCanvas:s}=lc(),a=y.useMemo(()=>jR(o),[o]),l=a.baseNodeType,c=uh(o),u=ne.useInternalNode(e),d=(u==null?void 0:u.data)??n,f=ji(o,d),p=f.inputs,m=c.type===pe.SWITCH?CP(d):f.outputs,v=y.useCallback(()=>A0(d),[d]),b=SR({nodeType:l,data:d,legacyInputs:p,legacyOutputs:m,...a.nodeKey?{overrideNodeKey:a.nodeKey}:{},...a.nodeVersion!==void 0?{overrideNodeVersion:a.nodeVersion}:{},...c.useNodePackagePorts&&c.type===pe.SWITCH?{resolvePortSchema:x=>oh(x,v())}:{}}),w=c.useNodePackagePorts?b.outputs:m,g=c.useNodePackagePorts?b.inputs:p,C=s?w.map(NO):w,k=s?g.map(NO):g,_=c.type===pe.SWITCH?Math.max(b.height??0,C.length>TO?C.length*OO:vw):b.height,S=i.status??me.IDLE,E=i!=null&&i.icon?void 0:c.fallbackIcon;return h.jsx(dO,{id:e,data:n,selected:r,type:l,status:S,className:c.className,iconUri:i.icon,fallbackIcon:E,inputs:k,outputs:C,height:_})});BO.displayName="DeclaredNode";function WR(t){if(t)switch(t){case"left":return ne.Position.Left;case"top":return ne.Position.Top;case"right":return ne.Position.Right;case"bottom":return ne.Position.Bottom;default:return}}function UR(t){return t===ne.Position.Top||t===ne.Position.Bottom}function FO(t,e,n){let r;n?r=e===fn.TARGET?ne.Position.Top:ne.Position.Bottom:r=WR(t)??(e===fn.TARGET?ne.Position.Left:ne.Position.Right);const o=UR(r)?ne.Position.Left:ne.Position.Top;return{position:r,styleAxis:o}}const yw=y.memo(t=>{const{id:e,data:n,selected:r,type:o}=t,{isMcpServerCanvas:i}=lc(),s=n,a=T0(o),l=s.node_type==="SwitchNode",c=l&&a?oh(a,A0(s)):a,u=((c==null?void 0:c.inputs)||[]).length,d=((c==null?void 0:c.inputs)||[]).map((g,C)=>{const{display_name:k,name:_,type:S,max_connections:E}=g,{position:x,styleAxis:O}=FO(g.position,fn.TARGET,i);return{id:_,label:k,position:x,type:fn.TARGET,protocol:S,maxConnections:E,isMain:S==="main",style:{[O]:`${10+80/(u+1)*(C+1)}%`}}}),f=((c==null?void 0:c.outputs)||[]).length,p=((c==null?void 0:c.outputs)||[]).map((g,C)=>{const{display_name:k,name:_,type:S,max_connections:E}=g,{position:x,styleAxis:O}=FO(g.position,fn.SOURCE,i);return{id:_,label:k,position:x,type:fn.SOURCE,protocol:S,maxConnections:E,isMain:S==="main",style:{[O]:`${10+80/(f+1)*(C+1)}%`}}}),m=uh(o),v=s.status??me.IDLE,b=s!=null&&s.icon?void 0:m.fallbackIcon,w=l?Math.max(vw,p.length>TO?p.length*OO:vw):void 0;return h.jsx(dO,{id:e,data:n,selected:r,type:pe.DYNAMIC,status:v,className:m.className,iconUri:s.icon,fallbackIcon:b,inputs:d,outputs:p,height:w})});yw.displayName="NodePackageNode";function MO(t,e){const n=String(t);if(typeof e!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(e);for(;o!==-1;)r++,o=n.indexOf(e,o+e.length);return r}function Wre(){}const _l=Yd(/[A-Za-z]/),Cw=Yd(/[\dA-Za-z]/);function qR(t){return t!==null&&(t<32||t===127)}function Bs(t){return t!==null&&t<-2}function An(t){return t!==null&&(t<0||t===32)}function oo(t){return t===-2||t===-1||t===32}const Kd=Yd(new RegExp("\\p{P}|\\p{S}","u")),Oi=Yd(/\s/);function Yd(t){return e;function e(n){return n!==null&&n>-1&&t.test(String.fromCharCode(n))}}function GR(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const Xd=(function(t){if(t==null)return XR;if(typeof t=="function")return Jd(t);if(typeof t=="object")return Array.isArray(t)?RR(t):KR(t);if(typeof t=="string")return YR(t);throw new Error("Expected function, string, or object as test")});function RR(t){const e=[];let n=-1;for(;++n<t.length;)e[n]=Xd(t[n]);return Jd(r);function r(...o){let i=-1;for(;++i<e.length;)if(e[i].apply(this,o))return!0;return!1}}function KR(t){const e=t;return Jd(n);function n(r){const o=r;let i;for(i in t)if(o[i]!==e[i])return!1;return!0}}function YR(t){return Jd(e);function e(n){return n&&n.type===t}}function Jd(t){return e;function e(n,r,o){return!!(JR(n)&&t.call(this,n,typeof r=="number"?r:void 0,o||void 0))}}function XR(){return!0}function JR(t){return t!==null&&typeof t=="object"&&"type"in t}function Ure(t){return t}const IO=[],QR=!0,kw=!1,ZR="skip";function PO(t,e,n,r){let o;typeof e=="function"&&typeof n!="function"?(r=n,n=e):o=e;const i=Xd(o),s=r?-1:1;a(t,void 0,[])();function a(l,c,u){const d=l&&typeof l=="object"?l:{};if(typeof d.type=="string"){const p=typeof d.tagName=="string"?d.tagName:typeof d.name=="string"?d.name:void 0;Object.defineProperty(f,"name",{value:"node ("+(l.type+(p?"<"+p+">":""))+")"})}return f;function f(){let p=IO,m,v,b;if((!e||i(l,c,u[u.length-1]||void 0))&&(p=eK(n(l,u)),p[0]===kw))return p;if("children"in l&&l.children){const w=l;if(w.children&&p[0]!==ZR)for(v=(r?w.children.length:-1)+s,b=u.concat(w);v>-1&&v<w.children.length;){const g=w.children[v];if(m=a(g,v,b)(),m[0]===kw)return m;v=typeof m[1]=="number"?m[1]:v+s}}return p}}}function eK(t){return Array.isArray(t)?t:typeof t=="number"?[QR,t]:t==null?IO:[t]}function tK(t,e,n){const o=Xd((n||{}).ignore||[]),i=nK(e);let s=-1;for(;++s<i.length;)PO(t,"text",a);function a(c,u){let d=-1,f;for(;++d<u.length;){const p=u[d],m=f?f.children:void 0;if(o(p,m?m.indexOf(p):void 0,f))return;f=p}if(f)return l(c,u)}function l(c,u){const d=u[u.length-1],f=i[s][0],p=i[s][1];let m=0;const b=d.children.indexOf(c);let w=!1,g=[];f.lastIndex=0;let C=f.exec(c.value);for(;C;){const k=C.index,_={index:C.index,input:C.input,stack:[...u,c]};let S=p(...C,_);if(typeof S=="string"&&(S=S.length>0?{type:"text",value:S}:void 0),S===!1?f.lastIndex=k+1:(m!==k&&g.push({type:"text",value:c.value.slice(m,k)}),Array.isArray(S)?g.push(...S):S&&g.push(S),m=k+C[0].length,w=!0),!f.global)break;C=f.exec(c.value)}return w?(m<c.value.length&&g.push({type:"text",value:c.value.slice(m)}),d.children.splice(b,1,...g)):g=[c],b+g.length}}function nK(t){const e=[];if(!Array.isArray(t))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!t[0]||Array.isArray(t[0])?t:[t];let r=-1;for(;++r<n.length;){const o=n[r];e.push([rK(o[0]),oK(o[1])])}return e}function rK(t){return typeof t=="string"?new RegExp(GR(t),"g"):t}function oK(t){return typeof t=="function"?t:function(){return t}}const Sw="phrasing",Ew=["autolink","link","image","label"];function iK(){return{transforms:[fK],enter:{literalAutolink:aK,literalAutolinkEmail:xw,literalAutolinkHttp:xw,literalAutolinkWww:xw},exit:{literalAutolink:dK,literalAutolinkEmail:uK,literalAutolinkHttp:lK,literalAutolinkWww:cK}}}function sK(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:Sw,notInConstruct:Ew},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:Sw,notInConstruct:Ew},{character:":",before:"[ps]",after:"\\/",inConstruct:Sw,notInConstruct:Ew}]}}function aK(t){this.enter({type:"link",title:null,url:"",children:[]},t)}function xw(t){this.config.enter.autolinkProtocol.call(this,t)}function lK(t){this.config.exit.autolinkProtocol.call(this,t)}function cK(t){this.config.exit.data.call(this,t);const e=this.stack[this.stack.length-1];e.type,e.url="http://"+this.sliceSerialize(t)}function uK(t){this.config.exit.autolinkEmail.call(this,t)}function dK(t){this.exit(t)}function fK(t){tK(t,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,hK],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),pK]],{ignore:["link","linkReference"]})}function hK(t,e,n,r,o){let i="";if(!LO(o)||(/^w/i.test(e)&&(n=e+n,e="",i="http://"),!mK(n)))return!1;const s=gK(n+r);if(!s[0])return!1;const a={type:"link",title:null,url:i+e+s[0],children:[{type:"text",value:e+s[0]}]};return s[1]?[a,{type:"text",value:s[1]}]:a}function pK(t,e,n,r){return!LO(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+e+"@"+n,children:[{type:"text",value:e+"@"+n}]}}function mK(t){const e=t.split(".");return!(e.length<2||e[e.length-1]&&(/_/.test(e[e.length-1])||!/[a-zA-Z\d]/.test(e[e.length-1]))||e[e.length-2]&&(/_/.test(e[e.length-2])||!/[a-zA-Z\d]/.test(e[e.length-2])))}function gK(t){const e=/[!"&'),.:;<>?\]}]+$/.exec(t);if(!e)return[t,void 0];t=t.slice(0,e.index);let n=e[0],r=n.indexOf(")");const o=MO(t,"(");let i=MO(t,")");for(;r!==-1&&o>i;)t+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),i++;return[t,n]}function LO(t,e){const n=t.input.charCodeAt(t.index-1);return(t.index===0||Oi(n)||Kd(n))&&(!e||n!==47)}function Al(t){return t.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}$O.peek=xK;function wK(){this.buffer()}function bK(t){this.enter({type:"footnoteReference",identifier:"",label:""},t)}function vK(){this.buffer()}function yK(t){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},t)}function CK(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Al(this.sliceSerialize(t)).toLowerCase(),n.label=e}function kK(t){this.exit(t)}function SK(t){const e=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Al(this.sliceSerialize(t)).toLowerCase(),n.label=e}function EK(t){this.exit(t)}function xK(){return"["}function $O(t,e,n,r){const o=n.createTracker(r);let i=o.move("[^");const s=n.enter("footnoteReference"),a=n.enter("reference");return i+=o.move(n.safe(n.associationId(t),{after:"]",before:i})),a(),s(),i+=o.move("]"),i}function DK(){return{enter:{gfmFootnoteCallString:wK,gfmFootnoteCall:bK,gfmFootnoteDefinitionLabelString:vK,gfmFootnoteDefinition:yK},exit:{gfmFootnoteCallString:CK,gfmFootnoteCall:kK,gfmFootnoteDefinitionLabelString:SK,gfmFootnoteDefinition:EK}}}function _K(t){let e=!1;return t&&t.firstLineBlank&&(e=!0),{handlers:{footnoteDefinition:n,footnoteReference:$O},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,i,s){const a=i.createTracker(s);let l=a.move("[^");const c=i.enter("footnoteDefinition"),u=i.enter("label");return l+=a.move(i.safe(i.associationId(r),{before:l,after:"]"})),u(),l+=a.move("]:"),r.children&&r.children.length>0&&(a.shift(4),l+=a.move((e?`
119
119
  `:" ")+i.indentLines(i.containerFlow(r,a.current()),e?zO:AK))),c(),l}}function AK(t,e,n){return e===0?t:zO(t,e,n)}function zO(t,e,n){return(n?"":" ")+t}const OK=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];HO.peek=MK;function TK(){return{canContainEols:["delete"],enter:{strikethrough:BK},exit:{strikethrough:FK}}}function NK(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:OK}],handlers:{delete:HO}}}function BK(t){this.enter({type:"delete",children:[]},t)}function FK(t){this.exit(t)}function HO(t,e,n,r){const o=n.createTracker(r),i=n.enter("strikethrough");let s=o.move("~~");return s+=n.containerPhrasing(t,{...o.current(),before:s,after:"~"}),s+=o.move("~~"),i(),s}function MK(){return"~"}function IK(t){return t.length}function PK(t,e){const n=e||{},r=(n.align||[]).concat(),o=n.stringLength||IK,i=[],s=[],a=[],l=[];let c=0,u=-1;for(;++u<t.length;){const v=[],b=[];let w=-1;for(t[u].length>c&&(c=t[u].length);++w<t[u].length;){const g=LK(t[u][w]);if(n.alignDelimiters!==!1){const C=o(g);b[w]=C,(l[w]===void 0||C>l[w])&&(l[w]=C)}v.push(g)}s[u]=v,a[u]=b}let d=-1;if(typeof r=="object"&&"length"in r)for(;++d<c;)i[d]=VO(r[d]);else{const v=VO(r);for(;++d<c;)i[d]=v}d=-1;const f=[],p=[];for(;++d<c;){const v=i[d];let b="",w="";v===99?(b=":",w=":"):v===108?b=":":v===114&&(w=":");let g=n.alignDelimiters===!1?1:Math.max(1,l[d]-b.length-w.length);const C=b+"-".repeat(g)+w;n.alignDelimiters!==!1&&(g=b.length+g+w.length,g>l[d]&&(l[d]=g),p[d]=g),f[d]=C}s.splice(1,0,f),a.splice(1,0,p),u=-1;const m=[];for(;++u<s.length;){const v=s[u],b=a[u];d=-1;const w=[];for(;++d<c;){const g=v[d]||"";let C="",k="";if(n.alignDelimiters!==!1){const _=l[d]-(b[d]||0),S=i[d];S===114?C=" ".repeat(_):S===99?_%2?(C=" ".repeat(_/2+.5),k=" ".repeat(_/2-.5)):(C=" ".repeat(_/2),k=C):k=" ".repeat(_)}n.delimiterStart!==!1&&!d&&w.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&g==="")&&(n.delimiterStart!==!1||d)&&w.push(" "),n.alignDelimiters!==!1&&w.push(C),w.push(g),n.alignDelimiters!==!1&&w.push(k),n.padding!==!1&&w.push(" "),(n.delimiterEnd!==!1||d!==c-1)&&w.push("|")}m.push(n.delimiterEnd===!1?w.join("").replace(/ +$/,""):w.join(""))}return m.join(`
120
120
  `)}function LK(t){return t==null?"":String(t)}function VO(t){const e=typeof t=="string"?t.codePointAt(0):0;return e===67||e===99?99:e===76||e===108?108:e===82||e===114?114:0}function $K(t,e,n,r){const o=n.enter("blockquote"),i=n.createTracker(r);i.move("> "),i.shift(2);const s=n.indentLines(n.containerFlow(t,i.current()),zK);return o(),s}function zK(t,e,n){return">"+(n?"":" ")+t}function HK(t,e){return jO(t,e.inConstruct,!0)&&!jO(t,e.notInConstruct,!1)}function jO(t,e,n){if(typeof e=="string"&&(e=[e]),!e||e.length===0)return n;let r=-1;for(;++r<e.length;)if(t.includes(e[r]))return!0;return!1}function WO(t,e,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].character===`