@nywqs/scada-engine 1.1.28 → 1.1.29

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.
@@ -1,16 +1,16 @@
1
- (function(Ae,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@antv/x6"),require("@antv/x6-plugin-selection"),require("@antv/x6-plugin-snapline"),require("echarts")):typeof define=="function"&&define.amd?define(["exports","vue","@antv/x6","@antv/x6-plugin-selection","@antv/x6-plugin-snapline","echarts"],e):(Ae=typeof globalThis<"u"?globalThis:Ae||self,e(Ae.ScadaEngine={},Ae.Vue,Ae.X6,Ae.X6PluginSelection,Ae.X6PluginSnapline,Ae.echarts))})(this,function(Ae,e,Le,Gt,go,kc){"use strict";var M_=Object.defineProperty;var uc=Ae=>{throw TypeError(Ae)};var R_=(Ae,e,Le)=>e in Ae?M_(Ae,e,{enumerable:!0,configurable:!0,writable:!0,value:Le}):Ae[e]=Le;var ve=(Ae,e,Le)=>R_(Ae,typeof e!="symbol"?e+"":e,Le),Hi=(Ae,e,Le)=>e.has(Ae)||uc("Cannot "+Le);var H=(Ae,e,Le)=>(Hi(Ae,e,"read from private field"),Le?Le.call(Ae):e.get(Ae)),Fe=(Ae,e,Le)=>e.has(Ae)?uc("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(Ae):e.set(Ae,Le),Pe=(Ae,e,Le,Gt)=>(Hi(Ae,e,"write to private field"),Gt?Gt.call(Ae,Le):e.set(Ae,Le),Le),Be=(Ae,e,Le)=>(Hi(Ae,e,"access private method"),Le);var po=(Ae,e,Le,Gt)=>({set _(go){Pe(Ae,e,go,Le)},get _(){return H(Ae,e,Gt)}});/*!
2
- * @nywqs/scada-engine v1.1.28
1
+ (function(Ae,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@antv/x6"),require("@antv/x6-plugin-selection"),require("@antv/x6-plugin-snapline"),require("echarts")):typeof define=="function"&&define.amd?define(["exports","vue","@antv/x6","@antv/x6-plugin-selection","@antv/x6-plugin-snapline","echarts"],e):(Ae=typeof globalThis<"u"?globalThis:Ae||self,e(Ae.ScadaEngine={},Ae.Vue,Ae.X6,Ae.X6PluginSelection,Ae.X6PluginSnapline,Ae.echarts))})(this,function(Ae,e,Le,Kt,bo,xc){"use strict";var rN=Object.defineProperty;var mc=Ae=>{throw TypeError(Ae)};var oN=(Ae,e,Le)=>e in Ae?rN(Ae,e,{enumerable:!0,configurable:!0,writable:!0,value:Le}):Ae[e]=Le;var he=(Ae,e,Le)=>oN(Ae,typeof e!="symbol"?e+"":e,Le),Yi=(Ae,e,Le)=>e.has(Ae)||mc("Cannot "+Le);var W=(Ae,e,Le)=>(Yi(Ae,e,"read from private field"),Le?Le.call(Ae):e.get(Ae)),Fe=(Ae,e,Le)=>e.has(Ae)?mc("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(Ae):e.set(Ae,Le),Pe=(Ae,e,Le,Kt)=>(Yi(Ae,e,"write to private field"),Kt?Kt.call(Ae,Le):e.set(Ae,Le),Le),Be=(Ae,e,Le)=>(Yi(Ae,e,"access private method"),Le);var mo=(Ae,e,Le,Kt)=>({set _(bo){Pe(Ae,e,bo,Le)},get _(){return W(Ae,e,Kt)}});/*!
2
+ * @nywqs/scada-engine v1.1.29
3
3
  * Copyright (c) 2025 leoncheng
4
4
  * Licensed under proprietary license - see LICENSE file
5
5
  * Contact: nywqs@outlook.com
6
- */function _c(u){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const r in u)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(u,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>u[r]})}}return t.default=u,Object.freeze(t)}const Zi=_c(kc);class ea extends Le.Node{}(function(u){function t(r){const a=[],n=Le.Markup.getForeignObjectMarkup();return r?a.push({tagName:r,selector:"body"},n):a.push(n),a}u.config({view:"vue-shape-view",markup:t(),attrs:{body:{fill:"none",stroke:"none",refWidth:"100%",refHeight:"100%"},fo:{refWidth:"100%",refHeight:"100%"}},propHooks(r){if(r.markup==null){const a=r.primer;if(a){r.markup=t(a);let n={};switch(a){case"circle":n={refCx:"50%",refCy:"50%",refR:"50%"};break;case"ellipse":n={refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"};break}r.attrs=Le.ObjectExt.merge({},{body:Object.assign({refWidth:null,refHeight:null},n)},r.attrs||{})}}return r}}),Le.Node.registry.register("vue-shape",u,!0)})(ea||(ea={}));var Nc=function(u,t){var r={};for(var a in u)Object.prototype.hasOwnProperty.call(u,a)&&t.indexOf(a)<0&&(r[a]=u[a]);if(u!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,a=Object.getOwnPropertySymbols(u);n<a.length;n++)t.indexOf(a[n])<0&&Object.prototype.propertyIsEnumerable.call(u,a[n])&&(r[a[n]]=u[a[n]]);return r};const ta={};function Sc(u){const{shape:t,component:r,inherit:a}=u,n=Nc(u,["shape","component","inherit"]);if(!t)throw new Error("should specify shape in config");ta[t]={component:r},Le.Graph.registerNode(t,Object.assign({inherit:a||"vue-shape"},n),!0)}e.reactive({});class xr extends Le.NodeView{getComponentContainer(){return this.selectors&&this.selectors.foContent}confirmUpdate(t){const r=super.confirmUpdate(t);return this.handleAction(r,xr.action,()=>{this.renderVueComponent()})}targetId(){return`${this.graph.view.cid}:${this.cell.id}`}renderVueComponent(){this.unmountVueComponent();const t=this.getComponentContainer(),r=this.cell,a=this.graph;if(t){const{component:n}=ta[r.shape];n&&(this.vm=e.createApp({render(){return e.h(n,{node:r,graph:a})},provide(){return{getNode:()=>r,getGraph:()=>a}}}),this.vm.mount(t))}}unmountVueComponent(){const t=this.getComponentContainer();return this.vm&&(this.vm.unmount(),this.vm=null),t&&(t.innerHTML=""),t}onMouseDown(t,r,a){const n=t.target;if(n.tagName.toLowerCase()==="input"){const i=n.getAttribute("type");if(i==null||["text","password","number","email","search","tel","url"].includes(i))return}super.onMouseDown(t,r,a)}unmount(){return this.unmountVueComponent(),super.unmount(),this}}(function(u){u.action="vue",u.config({bootstrap:[u.action],actions:{component:u.action}}),Le.NodeView.registry.register("vue-shape-view",u,!0)})(xr||(xr={}));const xc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Vc=e.defineComponent({name:"AlignHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",xc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 18h-7v-4h3a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2h-3V2h-2v4h-3a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h3v4H8a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h7v4h2v-4h7a2.002 2.002 0 0 0 2-2v-4a2.002 2.002 0 0 0-2-2zM12 8h8v4h-8zm12 16H8v-4h16z",fill:"currentColor"},null,-1)]))}}),Cc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Ic=e.defineComponent({name:"AlignHorizontalLeft",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Cc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M26 26H11a2.002 2.002 0 0 1-2-2v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 20v4h15z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M18 14h-7a2.002 2.002 0 0 1-2-2V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 8v4h7z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M4 2h2v28H4z",fill:"currentColor"},null,-1)]))}}),Ac={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Tc=e.defineComponent({name:"AlignHorizontalRight",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Ac,r[0]||(r[0]=[e.createElementVNode("path",{d:"M4 24v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2H6a2.002 2.002 0 0 1-2-2zm2 0h15v-4l-15-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 12V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2h-7a2.002 2.002 0 0 1-2-2zm2 0h7V8l-7-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M28 30h-2V2h2z",fill:"currentColor"},null,-1)]))}}),$c={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Bc=e.defineComponent({name:"AlignVerticalBottom",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",$c,r[0]||(r[0]=[e.createElementVNode("path",{d:"M2 26h28v2H2z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M24 23h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 14z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 23H8a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 6v15h4.001L12 6z",fill:"currentColor"},null,-1)]))}}),Dc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Pc=e.defineComponent({name:"AlignVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Dc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 15h-4v-3a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v3h-4V8a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v7H2v2h4v7a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-7h4v3a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z",fill:"currentColor"},null,-1)]))}}),Oc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Mc=e.defineComponent({name:"AlignVerticalTop",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Oc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 20h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 28H8a2.002 2.002 0 0 1-2-2V11a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 11v15h4.001L12 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M2 4h28v2H2z",fill:"currentColor"},null,-1)]))}}),Rc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},jc=e.defineComponent({name:"DistributeHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Rc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 10h-1V2h-2v8h-1a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h1v8h2v-8h1a2.002 2.002 0 0 0 2-2v-8a2.002 2.002 0 0 0-2-2zm0 10h-4v-8h4z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 6h-1V2H9v4H8a2.002 2.002 0 0 0-2 2v16a2.002 2.002 0 0 0 2 2h1v4h2v-4h1a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2zm0 18H8V8h4z",fill:"currentColor"},null,-1)]))}}),Lc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Uc=e.defineComponent({name:"DistributeVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Lc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 21h-4v-1a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v1H2v2h4v1a2.002 2.002 0 0 0 2 2h16a2.002 2.002 0 0 0 2-2v-1h4zm-6 3H8v-4l16-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M30 9h-8V8a2.002 2.002 0 0 0-2-2h-8a2.002 2.002 0 0 0-2 2v1H2v2h8v1a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2v-1h8zm-10 3h-8V8l8-.001z",fill:"currentColor"},null,-1)]))}}),Fc={version:"1.1.28"},zc={class:"scada-header"},Wc={class:"header-left"},qc={class:"version"},Gc={class:"header-center"},Hc={class:"tool-group"},Kc={key:0,class:"divider"},Yc={key:1,class:"tool-group"},Qc={key:2,class:"divider"},Jc={key:3,class:"tool-group"},Xc={class:"header-right"},Zc={class:"tool-group"},ed=e.defineComponent({__name:"Header",props:{selectedNodesCount:{default:0}},emits:["save","import","workflow","preview","export","dataSource","zoomIn","zoomOut","clearAll","alignLeft","alignCenter","alignRight","alignTop","alignMiddle","alignBottom","distributeHorizontal","distributeVertical"],setup(u,{emit:t}){const r=Fc.version,a=u,n=t;return(o,i)=>(e.openBlock(),e.createElementBlock("header",zc,[e.createElementVNode("div",Wc,[e.renderSlot(o.$slots,"left",{},()=>[i[17]||(i[17]=e.createElementVNode("h1",{class:"logo"},"SCADA 组态引擎",-1)),e.createElementVNode("span",qc,"v"+e.toDisplayString(e.unref(r)),1)],!0)]),e.createElementVNode("div",Gc,[e.createElementVNode("div",Hc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[0]||(i[0]=l=>n("zoomIn")),title:"放大"},[...i[18]||(i[18]=[e.createElementVNode("span",{class:"icon"},"+",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[1]||(i[1]=l=>n("zoomOut")),title:"缩小"},[...i[19]||(i[19]=[e.createElementVNode("span",{class:"icon"},"-",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[2]||(i[2]=l=>n("clearAll")),title:"清空画布"},[...i[20]||(i[20]=[e.createElementVNode("span",{class:"icon"},"🗑",-1)])])]),a.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Kc)):e.createCommentVNode("",!0),a.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Yc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[3]||(i[3]=l=>n("alignLeft")),title:"左对齐"},[e.createVNode(e.unref(Ic),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[4]||(i[4]=l=>n("alignCenter")),title:"水平居中"},[e.createVNode(e.unref(Vc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[5]||(i[5]=l=>n("alignRight")),title:"右对齐"},[e.createVNode(e.unref(Tc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[6]||(i[6]=l=>n("alignTop")),title:"顶部对齐"},[e.createVNode(e.unref(Mc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[7]||(i[7]=l=>n("alignMiddle")),title:"垂直居中"},[e.createVNode(e.unref(Pc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[8]||(i[8]=l=>n("alignBottom")),title:"底部对齐"},[e.createVNode(e.unref(Bc),{class:"icon-svg"})])])):e.createCommentVNode("",!0),a.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Qc)):e.createCommentVNode("",!0),a.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Jc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[9]||(i[9]=l=>n("distributeHorizontal")),title:"横向分布"},[e.createVNode(e.unref(jc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[10]||(i[10]=l=>n("distributeVertical")),title:"纵向分布"},[e.createVNode(e.unref(Uc),{class:"icon-svg"})])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Xc,[e.createElementVNode("div",Zc,[e.createElementVNode("button",{class:"header-btn",onClick:i[11]||(i[11]=l=>n("dataSource")),title:"数据源管理"},[...i[21]||(i[21]=[e.createElementVNode("span",{class:"icon"},"📡",-1),e.createElementVNode("span",null,"数据源",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[12]||(i[12]=l=>n("workflow")),title:"流程编排"},[...i[22]||(i[22]=[e.createElementVNode("span",{class:"icon"},"⚡",-1),e.createElementVNode("span",null,"流程编排",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[13]||(i[13]=l=>n("import")),title:"导入"},[...i[23]||(i[23]=[e.createElementVNode("span",{class:"icon"},"📂",-1),e.createElementVNode("span",null,"导入",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[14]||(i[14]=l=>n("export")),title:"导出"},[...i[24]||(i[24]=[e.createElementVNode("span",{class:"icon"},"📤",-1),e.createElementVNode("span",null,"导出",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[15]||(i[15]=l=>n("preview")),title:"预览"},[...i[25]||(i[25]=[e.createElementVNode("span",{class:"icon"},"👁",-1),e.createElementVNode("span",null,"预览",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[16]||(i[16]=l=>n("save")),title:"保存"},[...i[26]||(i[26]=[e.createElementVNode("span",{class:"icon"},"💾",-1),e.createElementVNode("span",null,"保存",-1)])])])])]))}}),Me=(u,t)=>{const r=u.__vccOpts||u;for(const[a,n]of t)r[a]=n;return r},yo=Me(ed,[["__scopeId","data-v-70211483"]]),bo=[{key:"animationEnabled",label:"启用动画",type:"boolean",path:"data.animation.enabled",defaultValue:!1,description:"是否启用动画效果",bindable:!0},{key:"animationType",label:"动画类型",type:"select",path:"data.animation.type",defaultValue:"none",options:[{label:"无动画",value:"none"},{label:"闪烁",value:"blink"},{label:"缩放",value:"scale"},{label:"旋转",value:"rotate"},{label:"浮动",value:"float"},{label:"脉冲",value:"pulse"}],description:"组件动画效果类型",bindable:!1},{key:"animationDuration",label:"动画时长(ms)",type:"number",path:"data.animation.duration",defaultValue:1e3,min:100,max:5e3,step:100,description:"动画完成一次所需时间",bindable:!1},{key:"animationLoop",label:"循环播放",type:"boolean",path:"data.animation.loop",defaultValue:!0,description:"是否循环播放动画",bindable:!1}],ra={metadata:{id:"rect",name:"矩形",category:"basic",icon:"▢",description:"基础矩形图形组件",version:"1.0.0"},shape:"rect",width:120,height:60,label:"矩形",attrs:{body:{fill:"#3b82f6",stroke:"#2563eb",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"name",label:"按钮文本",type:"text",path:"attrs.label.text",defaultValue:"矩形",description:"矩形名称"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#3b82f6",description:"矩形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#2563eb",description:"矩形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"矩形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"矩形透明度"},...bo]},oa={metadata:{id:"circle",name:"圆形",category:"basic",icon:"○",description:"基础圆形图形组件",version:"1.0.0"},shape:"circle",width:80,height:80,label:"圆形",attrs:{body:{fill:"#10b981",stroke:"#059669",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"text",label:"初始文本",type:"text",path:"attrs.label.text",defaultValue:"圆形",description:"圆形初始文本"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#10b981",description:"圆形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#059669",description:"圆形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"圆形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"圆形透明度"},...bo]},na={metadata:{id:"text",name:"文本",category:"basic",icon:"T",description:"文本标签组件",version:"1.0.0"},shape:"rect",width:100,height:40,label:"文本",attrs:{body:{fill:"transparent",stroke:"#64748b",strokeWidth:1,strokeDasharray:"5 5"},label:{fill:"#e2e8f0",fontSize:16}},props:[{key:"label",label:"文本内容",type:"text",path:"attrs.label.text",defaultValue:"文本",description:"显示的文本内容"},{key:"fontSize",label:"字体大小",type:"number",path:"attrs.label.fontSize",defaultValue:16,min:12,max:48,description:"文本字体大小"},{key:"fontColor",label:"字体颜色",type:"color",path:"attrs.label.fill",defaultValue:"#e2e8f0",description:"文本字体颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#64748b",description:"边框颜色"},...bo]},td=Object.freeze(Object.defineProperty({__proto__:null,CircleComponent:oa,RectComponent:ra,TextComponent:na},Symbol.toStringTag,{value:"Module"})),rd={class:"light-3d-container"},od={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},nd=["id"],id=["stop-color"],ad=["stop-color"],sd=["stop-color"],ld=["id"],cd=["id"],dd=["id"],ud=["flood-color"],fd=["fill","filter"],pd=["fill","filter"],hd=["opacity"],md={key:1,opacity:"0.8"},gd=["fill"],yd=["fill"],bd=["fill"],wd=["fill"],Ed=["fill"],ia={metadata:{id:"light",name:"3D灯泡",category:"iot",icon:"💡",description:"3D仿真IoT灯泡控制组件",version:"2.0.0"},shape:"light-3d-vue",component:Me(e.defineComponent({__name:"Light3D",props:{node:{}},setup(u){const t=u,r=e.ref(`light-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("#fbbf24"),i=(s,c)=>{const d=s.replace("#",""),h=parseInt(d.substring(0,2),16),m=parseInt(d.substring(2,4),16),p=parseInt(d.substring(4,6),16),f=Math.max(0,Math.floor(h*(1-c))),w=Math.max(0,Math.floor(m*(1-c))),N=Math.max(0,Math.floor(p*(1-c)));return`#${f.toString(16).padStart(2,"0")}${w.toString(16).padStart(2,"0")}${N.toString(16).padStart(2,"0")}`},l=()=>{const s=a();n.value=s.state===!0||s.state==="on",o.value=s.color||"#fbbf24"};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",rd,[(e.openBlock(),e.createElementBlock("svg",od,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`,cx:"40%",cy:"30%"},[e.createElementVNode("stop",{offset:"0%","stop-color":n.value?"#fff9e6":"#e5e7eb"},null,8,id),e.createElementVNode("stop",{offset:"50%","stop-color":n.value?o.value:"#d1d5db"},null,8,ad),e.createElementVNode("stop",{offset:"100%","stop-color":n.value?i(o.value,.3):"#9ca3af"},null,8,sd)],8,nd),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,ld),e.createElementVNode("filter",{id:`glow-${r.value}`},[...c[1]||(c[1]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,cd),e.createElementVNode("filter",{id:`outer-glow-${r.value}`},[c[2]||(c[2]=e.createElementVNode("feGaussianBlur",{stdDeviation:"5",result:"blur"},null,-1)),e.createElementVNode("feFlood",{"flood-color":o.value,"flood-opacity":"0.6",result:"color"},null,8,ud),c[3]||(c[3]=e.createElementVNode("feComposite",{in:"color",in2:"blur",operator:"in",result:"glow"},null,-1)),c[4]||(c[4]=e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"glow"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1))],8,dd)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"50",cy:"35",r:"32",fill:o.value,opacity:"0.3",filter:`url(#outer-glow-${r.value})`},null,8,fd)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"35",rx:"25",ry:"28",fill:`url(#bulb-gradient-${r.value})`,stroke:"#cbd5e1","stroke-width":"0.5",filter:n.value?`url(#glow-${r.value})`:"none"},null,8,pd),e.createElementVNode("ellipse",{cx:"42",cy:"25",rx:"8",ry:"10",fill:"#ffffff",opacity:n.value?.7:.3},null,8,hd),n.value?(e.openBlock(),e.createElementBlock("g",md,[...c[5]||(c[5]=[e.createElementVNode("path",{d:"M 45 30 Q 47 35 45 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1),e.createElementVNode("path",{d:"M 55 30 Q 53 35 55 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1)])])):e.createCommentVNode("",!0),c[10]||(c[10]=e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"15",ry:"4",fill:"#94a3b8"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"40",y:"63",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,gd),e.createElementVNode("rect",{x:"40",y:"67",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,yd),e.createElementVNode("rect",{x:"40",y:"71",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,bd),e.createElementVNode("rect",{x:"40",y:"75",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,wd),c[6]||(c[6]=e.createElementVNode("rect",{x:"40",y:"66",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[7]||(c[7]=e.createElementVNode("rect",{x:"40",y:"70",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[8]||(c[8]=e.createElementVNode("rect",{x:"40",y:"74",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[9]||(c[9]=e.createElementVNode("rect",{x:"40",y:"78",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1))]),e.createElementVNode("ellipse",{cx:"50",cy:"80",rx:"12",ry:"5",fill:`url(#base-gradient-${r.value})`},null,8,Ed),c[11]||(c[11]=e.createElementVNode("ellipse",{cx:"50",cy:"83",rx:"8",ry:"3",fill:"#334155"},null,-1)),c[12]||(c[12]=e.createElementVNode("circle",{cx:"50",cy:"85",r:"2",fill:"#475569"},null,-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-7237b5fc"]]),width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"light",state:!1,color:"#fbbf24",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"灯泡状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"灯泡开关状态",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#fbbf24",description:"灯泡发光颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"灯泡开关状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"color",name:"灯光颜色",description:"灯泡发光颜色(十六进制颜色值)",dataType:"string",defaultValue:"#fbbf24",required:!1},{id:"brightness",name:"亮度",description:"灯泡亮度百分比",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},vd={class:"switch-3d-container"},kd={viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg"},_d=["id"],Nd=["id"],Sd=["id"],xd=["id"],Vd=["fill"],Cd=["fill"],Id=["fill"],Ad=["transform"],Td=["fill"],$d=["fill","filter"],Bd=["opacity"],Dd=["fill","filter"],Pd=["opacity"],aa={metadata:{id:"switch",name:"3D开关",category:"iot",icon:"🔘",description:"3D仿真IoT开关控制组件",version:"2.0.0"},shape:"switch-3d-vue",component:Me(e.defineComponent({__name:"Switch3D",props:{node:{}},setup(u){const t=u,r=e.ref(`switch-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.computed(()=>n.value?72:48),i=()=>{const l=a();n.value=l.state===!0||l.state==="on"};return e.watch(()=>t.node,()=>{i()},{deep:!0}),e.onMounted(()=>{i(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{i()})}),(l,s)=>(e.openBlock(),e.createElementBlock("div",vd,[(e.openBlock(),e.createElementBlock("svg",kd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[0]||(s[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,_d),e.createElementVNode("linearGradient",{id:`track-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[1]||(s[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#0f172a"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nd),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...s[2]||(s[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#e2e8f0"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#94a3b8"},null,-1)])],8,Sd),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...s[3]||(s[3]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,xd)]),e.createElementVNode("rect",{x:"20",y:"25",width:"80",height:"50",rx:"8",fill:`url(#base-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Vd),s[6]||(s[6]=e.createStaticVNode('<g data-v-09d0019e><circle cx="30" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="35" x2="32" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="35" x2="92" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="30" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="65" x2="32" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="65" x2="92" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line></g>',1)),e.createElementVNode("rect",{x:"40",y:"38",width:"40",height:"24",rx:"12",fill:`url(#track-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Cd),s[7]||(s[7]=e.createElementVNode("text",{x:"48",y:"53","font-size":"8",fill:"#64748b","text-anchor":"middle","font-weight":"bold"},"OFF",-1)),e.createElementVNode("text",{x:"72",y:"53","font-size":"8",fill:n.value?"#22c55e":"#64748b","text-anchor":"middle","font-weight":"bold"},"ON",8,Id),e.createElementVNode("g",{transform:`translate(${o.value}, 0)`,style:{transition:"transform 0.3s ease"}},[s[4]||(s[4]=e.createElementVNode("ellipse",{cx:"0",cy:"52",rx:"10",ry:"3",fill:"#000",opacity:"0.3"},null,-1)),e.createElementVNode("rect",{x:"-8",y:"40",width:"16",height:"20",rx:"8",fill:`url(#handle-gradient-${r.value})`,stroke:"#94a3b8","stroke-width":"1"},null,8,Td),s[5]||(s[5]=e.createStaticVNode('<g opacity="0.3" data-v-09d0019e><line x1="-4" y1="43" x2="-4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="0" y1="43" x2="0" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="4" y1="43" x2="4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line></g><rect x="-6" y="42" width="4" height="8" rx="2" fill="#ffffff" opacity="0.4" data-v-09d0019e></rect>',2))],8,Ad),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"35",cy:"50",r:"3",fill:n.value?"#334155":"#ef4444",filter:n.value?"none":`url(#indicator-glow-${r.value})`},null,8,$d),e.createElementVNode("circle",{cx:"35",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.1:.6},null,8,Bd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"3",fill:n.value?"#22c55e":"#334155",filter:n.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Dd),e.createElementVNode("circle",{cx:"85",cy:"50",r:"1.5",fill:"#ffffff",opacity:n.value?.6:.1},null,8,Pd)]),s[8]||(s[8]=e.createStaticVNode('<g data-v-09d0019e><rect x="15" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="19" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle><rect x="97" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="101" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle></g><rect x="50" y="67" width="20" height="6" rx="1" fill="#0f172a" opacity="0.7" data-v-09d0019e></rect><text x="60" y="71" font-size="3" fill="#64748b" text-anchor="middle" font-family="monospace" data-v-09d0019e>KCD1-101</text>',3))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":n.value}])},e.toDisplayString(n.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-09d0019e"]]),width:140,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"switch",state:!1,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"开关状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"开关当前状态",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"开关当前状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"enabled",name:"启用状态",description:"开关是否可用",dataType:"boolean",defaultValue:!0,required:!1}]},sa=[{id:"basic",name:"基础仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#67e0e3"],[.7,"#37a2da"],[1,"#fd666d"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}"}}},{id:"temperature",name:"温度仪表盘",config:{min:-20,max:50,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#2563eb"],[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}°C"}}},{id:"humidity",name:"湿度仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#fbbf24"],[.7,"#3b82f6"],[1,"#1e40af"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"speed",name:"速度仪表盘",config:{min:0,max:200,splitNumber:10,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.4,"#10b981"],[.7,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} km/h"}}},{id:"pressure",name:"压力仪表盘",config:{min:0,max:10,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} MPa"}}},{id:"rpm",name:"转速仪表盘",config:{min:0,max:8e3,splitNumber:8,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.6,"#06b6d4"],[.85,"#eab308"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} RPM"}}},{id:"battery",name:"电池仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#dc2626"],[.5,"#f59e0b"],[1,"#22c55e"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"80%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"power",name:"功率仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#64748b"],[.7,"#3b82f6"],[1,"#8b5cf6"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} kW"}}}];function Od(u){return sa.find(t=>t.id===u)}const la={metadata:{id:"echarts-gauge",name:"ECharts仪表盘",category:"iot",icon:"📈",description:"ECharts 仪表盘数据展示组件,支持丰富的配置选项",version:"1.0.0"},shape:"echarts-vue",component:Me(e.defineComponent({__name:"EChartsGauge",props:{node:{}},setup(u){const t=u,r=e.ref();let a=null;const n=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=()=>{r.value&&(a&&a.dispose(),a=Zi.init(r.value),i())},i=()=>{if(!a)return;const l=n(),s=l.presetId||"basic",c=Od(s),d={tooltip:{formatter:"{a} <br/>{b} : {c}%"},series:[{name:l.name||"Pressure",type:"gauge",data:[{value:l.value??50,name:l.title||"SCORE"}]}]};c&&c.config&&Object.assign(d.series[0],c.config),a.setOption(d,!0)};return e.watch(()=>{var l;return(l=t.node)==null?void 0:l.data},(l,s)=>{i()},{deep:!0}),e.watch(()=>{var l,s;return(s=(l=t.node)==null?void 0:l.data)==null?void 0:s.presetId},(l,s)=>{l!==s&&i()}),e.watch(()=>{var l;return(l=t.node)==null?void 0:l.size},()=>{if(a&&t.node){const l=t.node.getSize?t.node.getSize():t.node.size||{width:200,height:200};a.resize({width:l.width,height:l.height})}},{deep:!0}),e.onMounted(()=>{setTimeout(()=>{o(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{a&&(a.dispose(),a=null)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartRef",ref:r,class:"echarts-gauge-component",style:{width:"100%",height:"100%"}},null,512))}}),[["__scopeId","data-v-08427ff6"]]),width:200,height:200,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-gauge",presetId:"basic",value:50,title:"SCORE",name:"Pressure"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"仪表盘类型",type:"select",path:"data.presetId",defaultValue:"basic",options:sa.map(u=>({label:u.name,value:u.id})),description:"选择预设的仪表盘类型,会自动应用对应的配置"},{key:"value",label:"当前值",type:"number",path:"data.value",defaultValue:50,description:"仪表盘当前显示值",bindable:!0},{key:"title",label:"标题",type:"text",path:"data.title",defaultValue:"SCORE",description:"仪表盘标题"},{key:"name",label:"系列名称",type:"text",path:"data.name",defaultValue:"Pressure",description:"显示在 tooltip 中的系列名称"}],points:[{id:"value",name:"当前值",description:"仪表盘当前显示的数值",dataType:"number",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"min",name:"最小值",description:"仪表盘刻度最小值",dataType:"number",defaultValue:0,required:!1},{id:"max",name:"最大值",description:"仪表盘刻度最大值",dataType:"number",defaultValue:100,required:!1},{id:"title",name:"标题",description:"仪表盘显示标题",dataType:"string",defaultValue:"SCORE",required:!1}]},ca=[{id:"basic",name:"基础折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:null,symbol:"circle",symbolSize:6,radius:"100%"}},{id:"smooth",name:"平滑曲线",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"area",name:"区域折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(84, 112, 198, 0.3)"},{offset:1,color:"rgba(84, 112, 198, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"smooth-area",name:"平滑区域图",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(145, 204, 117, 0.3)"},{offset:1,color:"rgba(145, 204, 117, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"dashed",name:"虚线折线图",config:{smooth:!1,lineStyle:{width:2,color:"#fac858",type:"dashed"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"step",name:"阶梯折线图",config:{smooth:!1,step:"middle",lineStyle:{width:2,color:"#ee6666"},areaStyle:null,symbol:"circle",symbolSize:6}}];function Md(u){return ca.find(t=>t.id===u)}const da={metadata:{id:"echarts-line",name:"ECharts折线图",category:"iot",icon:"📉",description:"ECharts 折线图数据展示组件,支持时序数据可视化",version:"1.0.0"},shape:"echarts-line-vue",component:e.defineComponent({__name:"EChartsLine",props:{node:{}},setup(u){const t=u,r=e.ref();let a=null;const n=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=()=>{r.value&&(a=Zi.init(r.value),i())},i=()=>{if(!a)return;const l=n(),s=l.presetId||"basic",c=Md(s),d={title:{text:l.title||"数据趋势",left:"center",top:10,textStyle:{color:"#fff",fontSize:14}},tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.7)",borderColor:"#333",textStyle:{color:"#fff"}},grid:{left:"10%",right:"10%",top:"20%",bottom:"15%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:l.xAxisData||["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"}},yAxis:{type:"value",axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"},splitLine:{lineStyle:{color:"rgba(255, 255, 255, 0.1)"}}},series:[{name:l.seriesName||"Data",type:"line",data:l.seriesData||[120,200,150,80,70,110,130]}]};c&&c.config&&Object.assign(d.series[0],c.config),a.setOption(d,!0)};return e.onMounted(()=>{setTimeout(()=>{o(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{a&&(a.dispose(),a=null)}),(l,s)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartContainer",ref:r,style:{width:"100%",height:"100%"}},null,512))}}),width:400,height:300,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-line",presetId:"basic",title:"数据趋势",xAxisData:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],seriesData:[120,200,150,80,70,110,130],seriesName:"Data"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"折线图类型",type:"select",path:"data.presetId",defaultValue:"basic",options:ca.map(u=>({label:u.name,value:u.id})),description:"选择预设的折线图类型"},{key:"title",label:"图表标题",type:"text",path:"data.title",defaultValue:"数据趋势",description:"折线图标题"},{key:"seriesName",label:"系列名称",type:"text",path:"data.seriesName",defaultValue:"Data",description:"显示在 tooltip 和 legend 中的系列名称"}],points:[{id:"series_data",name:"系列数据",description:"折线图Y轴数据数组",dataType:"json",defaultValue:[120,200,150,80,70,110,130],required:!0},{id:"x_axis_data",name:"X轴数据",description:"折线图X轴标签数组",dataType:"json",defaultValue:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],required:!1},{id:"title",name:"图表标题",description:"折线图显示标题",dataType:"string",defaultValue:"数据趋势",required:!1}]},Rd={class:"motor-3d-container"},jd={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Ld=["id"],Ud=["id"],Fd=["id"],zd=["fill"],Wd=["fill"],qd=["fill"],Gd=["transform"],Hd=["fill","filter"],Kd=["opacity"],Yd={x:"60",y:"61","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qd=Me(e.defineComponent({__name:"Motor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`motor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(1500),i=e.ref(7.5),l=e.ref(0);let s=null;const c=()=>{if(n.value){const h=o.value/300;l.value=(l.value+h)%360}s=requestAnimationFrame(c)},d=()=>{const h=a();n.value=h.state==="running"||h.state===!0,o.value=h.speed||1500,i.value=h.power||7.5};return e.watch(()=>t.node,()=>{d()},{deep:!0}),e.onMounted(()=>{d(),n.value&&c(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{const h=n.value;d(),n.value&&!h?c():!n.value&&h&&s&&(cancelAnimationFrame(s),s=null)})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(h,m)=>(e.openBlock(),e.createElementBlock("div",Rd,[(e.openBlock(),e.createElementBlock("svg",jd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`motor-body-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...m[0]||(m[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ld),e.createElementVNode("linearGradient",{id:`shaft-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...m[1]||(m[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Ud),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...m[2]||(m[2]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Fd)]),e.createElementVNode("rect",{x:"20",y:"70",width:"80",height:"25",rx:"3",fill:`url(#motor-body-${r.value})`},null,8,zd),m[4]||(m[4]=e.createStaticVNode('<rect x="20" y="70" width="80" height="3" fill="#1e293b" opacity="0.3" data-v-14ee96e9></rect><circle cx="30" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="30" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle><circle cx="90" cy="82" r="3" fill="#334155" data-v-14ee96e9></circle><circle cx="90" cy="82" r="1.5" fill="#64748b" data-v-14ee96e9></circle>',5)),e.createElementVNode("ellipse",{cx:"60",cy:"45",rx:"35",ry:"25",fill:`url(#motor-body-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Wd),m[5]||(m[5]=e.createStaticVNode('<g opacity="0.3" data-v-14ee96e9><line x1="30" y1="30" x2="30" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="40" y1="25" x2="40" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="50" y1="22" x2="50" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="60" y1="20" x2="60" y2="70" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="70" y1="22" x2="70" y2="68" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="80" y1="25" x2="80" y2="65" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line><line x1="90" y1="30" x2="90" y2="60" stroke="#1e293b" stroke-width="1" data-v-14ee96e9></line></g><rect x="25" y="40" width="2" height="10" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="30" y="38" width="2" height="14" fill="#475569" opacity="0.6" data-v-14ee96e9></rect><rect x="35" y="36" width="2" height="18" fill="#475569" opacity="0.6" data-v-14ee96e9></rect>',4)),e.createElementVNode("rect",{x:"95",y:"42",width:"20",height:"6",rx:"1",fill:`url(#shaft-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,qd),e.createElementVNode("g",{transform:`rotate(${l.value} 105 45)`},[...m[3]||(m[3]=[e.createStaticVNode('<g opacity="0.8" data-v-14ee96e9><rect x="103" y="40" width="4" height="10" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><rect x="100" y="43" width="10" height="4" rx="1" fill="#94a3b8" data-v-14ee96e9></rect><line x1="102" y1="42" x2="108" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line><line x1="108" y1="42" x2="102" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-14ee96e9></line></g>',1)])],8,Gd),m[6]||(m[6]=e.createStaticVNode('<circle cx="105" cy="45" r="3" fill="#334155" stroke="#64748b" stroke-width="1" data-v-14ee96e9></circle><rect x="45" y="15" width="15" height="10" rx="1" fill="#334155" stroke="#475569" stroke-width="0.5" data-v-14ee96e9></rect><circle cx="48" cy="20" r="1" fill="#dc2626" data-v-14ee96e9></circle><circle cx="52" cy="20" r="1" fill="#22c55e" data-v-14ee96e9></circle><circle cx="56" cy="20" r="1" fill="#3b82f6" data-v-14ee96e9></circle>',5)),e.createElementVNode("circle",{cx:"15",cy:"45",r:"4",fill:n.value?"#22c55e":"#ef4444",filter:n.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Hd),e.createElementVNode("circle",{cx:"15",cy:"45",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Kd),m[7]||(m[7]=e.createElementVNode("rect",{x:"40",y:"55",width:"40",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yd,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止"),3)]))}}),[["__scopeId","data-v-14ee96e9"]]),Jd={class:"valve-3d-container"},Xd={viewBox:"0 0 100 120",xmlns:"http://www.w3.org/2000/svg"},Zd=["id"],eu=["id"],tu=["fill"],ru=["fill"],ou=["fill"],nu=["fill"],iu={transform:"translate(50, 60)"},au=["fill","transform"],su=["transform"],lu=["fill"],cu=["fill"],du={x:"12.5",y:"62","font-size":"6",fill:"#ffffff","text-anchor":"middle","font-weight":"bold"},uu={x:"85",y:"62","font-size":"8",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},fu=Me(e.defineComponent({__name:"Valve3D",props:{node:{}},setup(u){const t=u,r=e.ref(`valve-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(0),i=e.computed(()=>o.value/100*720),l=()=>{const s=a();n.value=s.state==="open"||s.state===!0,o.value=s.openness!==void 0?s.openness:n.value?100:0};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Jd,[(e.openBlock(),e.createElementBlock("svg",Xd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`valve-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zd),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[1]||(c[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#dc2626"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#b91c1c"},null,-1)])],8,eu)]),e.createElementVNode("rect",{x:"40",y:"85",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,tu),c[3]||(c[3]=e.createElementVNode("ellipse",{cx:"50",cy:"85",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[4]||(c[4]=e.createElementVNode("ellipse",{cx:"50",cy:"115",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"25",ry:"15",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,ru),e.createElementVNode("rect",{x:"25",y:"50",width:"50",height:"20",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,ou),c[5]||(c[5]=e.createStaticVNode('<ellipse cx="50" cy="50" rx="25" ry="15" fill="#94a3b8" stroke="#475569" stroke-width="1" data-v-9c6b9014></ellipse><g data-v-9c6b9014><circle cx="30" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="30" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle></g>',2)),e.createElementVNode("rect",{x:"40",y:"10",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,nu),c[6]||(c[6]=e.createElementVNode("ellipse",{cx:"50",cy:"10",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[7]||(c[7]=e.createElementVNode("ellipse",{cx:"50",cy:"40",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("g",iu,[e.createElementVNode("rect",{x:"-3",y:"-20",width:"6",height:"40",rx:"3",fill:n.value?"#22c55e":"#ef4444",transform:`rotate(${n.value?0:90})`,style:{transition:"transform 0.5s ease"}},null,8,au)]),c[8]||(c[8]=e.createElementVNode("rect",{x:"47",y:"40",width:"6",height:"40",rx:"1",fill:"#475569",stroke:"#334155","stroke-width":"0.5"},null,-1)),e.createElementVNode("g",{transform:`rotate(${i.value} 50 25)`,style:{transformOrigin:"50px 25px"}},[e.createElementVNode("circle",{cx:"50",cy:"25",r:"15",fill:`url(#handle-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1"},null,8,lu),c[2]||(c[2]=e.createStaticVNode('<circle cx="50" cy="25" r="12" fill="none" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></circle><circle cx="50" cy="25" r="5" fill="#7f1d1d" data-v-9c6b9014></circle><line x1="50" y1="25" x2="50" y2="12" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="50" y2="38" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="37" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="63" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><rect x="63" y="23" width="8" height="4" rx="2" fill="#991b1b" data-v-9c6b9014></rect>',7))],8,su),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"55",width:"15",height:"10",rx:"2",fill:n.value?"#22c55e":"#ef4444",opacity:"0.9"},null,8,cu),e.createElementVNode("text",du,e.toDisplayString(n.value?"ON":"OFF"),1)]),e.createElementVNode("text",uu,e.toDisplayString(o.value)+"% ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-open":n.value}])},e.toDisplayString(n.value?"开启":"关闭")+" - "+e.toDisplayString(o.value)+"% ",3)]))}}),[["__scopeId","data-v-9c6b9014"]]),pu={class:"tank-3d-container"},hu={viewBox:"0 0 100 140",xmlns:"http://www.w3.org/2000/svg"},mu=["id"],gu=["id"],yu=["stop-color"],bu=["stop-color"],wu=["id"],Eu=["fill"],vu=["y","height","fill","filter"],ku=["cy","fill"],_u=["fill"],Nu=["height"],Su={x:"65",y:"38","font-size":"5",fill:"#22c55e","text-anchor":"middle"},xu=["height"],Vu={x:"50",y:"127","font-size":"6",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},Cu={class:"status-text"},Iu=Me(e.defineComponent({__name:"Tank3D",props:{node:{}},setup(u){const t=u,r=e.ref(`tank-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(50),o=e.ref(100),i=e.ref(25),l=e.ref(101),s=e.ref("#3b82f6"),c=e.computed(()=>(n.value/100*o.value).toFixed(1)),d=e.computed(()=>90*n.value/100),h=e.computed(()=>110-d.value),m=()=>{const p=a();n.value=Math.max(0,Math.min(100,p.level||50)),o.value=p.capacity||100,i.value=p.temperature||25,l.value=p.pressure||101,s.value=p.liquidColor||"#3b82f6"};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(p,f)=>(e.openBlock(),e.createElementBlock("div",pu,[(e.openBlock(),e.createElementBlock("svg",hu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`tank-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,mu),e.createElementVNode("linearGradient",{id:`liquid-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value,"stop-opacity":"0.9"},null,8,yu),e.createElementVNode("stop",{offset:"100%","stop-color":s.value,"stop-opacity":"0.7"},null,8,bu)],8,gu),e.createElementVNode("filter",{id:`wave-${r.value}`},[...f[1]||(f[1]=[e.createElementVNode("feTurbulence",{type:"fractalNoise",baseFrequency:"0.02",numOctaves:"2",result:"turbulence"},null,-1),e.createElementVNode("feDisplacementMap",{in:"SourceGraphic",in2:"turbulence",scale:"2",xChannelSelector:"R",yChannelSelector:"G"},null,-1)])],8,wu)]),f[2]||(f[2]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"30",ry:"8",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),f[3]||(f[3]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"25",ry:"6",fill:"#cbd5e1"},null,-1)),e.createElementVNode("rect",{x:"20",y:"20",width:"60",height:"90",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Eu),f[4]||(f[4]=e.createStaticVNode('<g opacity="0.6" data-v-13c65d9d><line x1="15" y1="30" x2="20" y2="30" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="32" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>100%</text><line x1="15" y1="52.5" x2="20" y2="52.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="54.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>75%</text><line x1="15" y1="75" x2="20" y2="75" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="77" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>50%</text><line x1="15" y1="97.5" x2="20" y2="97.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="99.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>25%</text><line x1="15" y1="110" x2="20" y2="110" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="112" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>0%</text></g>',1)),e.createElementVNode("rect",{x:"20",y:h.value,width:"60",height:d.value,fill:`url(#liquid-${r.value})`,filter:`url(#wave-${r.value})`,opacity:"0.85"},null,8,vu),n.value>0?(e.openBlock(),e.createElementBlock("ellipse",{key:0,cx:"50",cy:h.value,rx:"30",ry:"5",fill:s.value,opacity:"0.6"},null,8,ku)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"110",rx:"30",ry:"8",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,_u),f[5]||(f[5]=e.createStaticVNode('<g data-v-13c65d9d><rect x="23" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="73" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="20" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect><rect x="70" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect></g><rect x="45" y="12" width="10" height="8" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><ellipse cx="50" cy="12" rx="5" ry="3" fill="#94a3b8" data-v-13c65d9d></ellipse><rect x="75" y="105" width="8" height="4" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><rect x="82" y="30" width="6" height="80" rx="1" fill="#334155" opacity="0.7" data-v-13c65d9d></rect>',5)),e.createElementVNode("rect",{x:"84",y:"32",width:"2",height:76*(n.value/100),fill:"#22c55e"},null,8,Nu),f[6]||(f[6]=e.createElementVNode("circle",{cx:"65",cy:"35",r:"8",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("text",Su,e.toDisplayString(l.value),1),f[7]||(f[7]=e.createElementVNode("text",{x:"65",y:"42","font-size":"3",fill:"#94a3b8","text-anchor":"middle"},"kPa",-1)),f[8]||(f[8]=e.createElementVNode("rect",{x:"32",y:"35",width:"4",height:"15",rx:"2",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("rect",{x:"33",y:"37",width:"2",height:i.value/10,fill:"#ef4444"},null,8,xu),f[9]||(f[9]=e.createElementVNode("circle",{cx:"34",cy:"52",r:"2",fill:"#ef4444"},null,-1)),f[10]||(f[10]=e.createElementVNode("rect",{x:"25",y:"120",width:"50",height:"12",rx:"2",fill:"#1e293b",opacity:"0.9"},null,-1)),e.createElementVNode("text",Vu,e.toDisplayString(n.value)+"% | "+e.toDisplayString(c.value)+"m³ ",1)])),e.createElementVNode("div",Cu," 液位: "+e.toDisplayString(n.value)+"% | 容量: "+e.toDisplayString(c.value)+"m³ ",1)]))}}),[["__scopeId","data-v-13c65d9d"]]),Au={class:"pump-3d-container"},Tu={viewBox:"0 0 140 100",xmlns:"http://www.w3.org/2000/svg"},$u=["id"],Bu=["id"],Du=["id"],Pu={key:0,attributeName:"x1",values:"-100%;100%",dur:"1s",repeatCount:"indefinite"},Ou={key:1,attributeName:"x2",values:"0%;200%",dur:"1s",repeatCount:"indefinite"},Mu=["fill"],Ru=["fill"],ju=["fill"],Lu=["fill"],Uu=["transform"],Fu=["fill"],zu={transform:"translate(100, 25)"},Wu={x:"0",y:"2","font-size":"5",fill:"#22c55e","text-anchor":"middle"},qu={transform:"translate(115, 35)"},Gu={x:"0",y:"1","font-size":"4",fill:"#3b82f6","text-anchor":"middle"},Hu=["fill"],Ku=["opacity"],Yu={x:"60",y:"68","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},Qu=Me(e.defineComponent({__name:"Pump3D",props:{node:{}},setup(u){const t=u,r=e.ref(`pump-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(2900),i=e.ref(5.5),l=e.ref(0),s=e.ref(0),c=e.ref(0);let d=null;const h=()=>{if(n.value){const p=o.value/360;c.value=(c.value+p)%360}d=requestAnimationFrame(h)},m=()=>{const p=a();n.value=p.state==="running"||p.state===!0,o.value=p.speed||2900,i.value=p.power||5.5,l.value=n.value?p.flowRate||15:0,s.value=n.value?(p.pressure||3.5).toFixed(1):0};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),n.value&&h(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{const p=n.value;m(),n.value&&!p?h():!n.value&&p&&d&&(cancelAnimationFrame(d),d=null)})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(p,f)=>(e.openBlock(),e.createElementBlock("div",Au,[(e.openBlock(),e.createElementBlock("svg",Tu,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`pump-body-${r.value}`,cx:"50%",cy:"50%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,$u),e.createElementVNode("linearGradient",{id:`motor-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Bu),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[f[2]||(f[2]=e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),f[3]||(f[3]=e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa","stop-opacity":"0.6"},null,-1)),f[4]||(f[4]=e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("animate",Pu)):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createElementBlock("animate",Ou)):e.createCommentVNode("",!0)],8,Du)]),e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"20",rx:"2",fill:`url(#motor-gradient-${r.value})`},null,8,Mu),f[15]||(f[15]=e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"2",fill:"#1e293b",opacity:"0.4"},null,-1)),f[16]||(f[16]=e.createElementVNode("circle",{cx:"35",cy:"85",r:"2",fill:"#334155"},null,-1)),f[17]||(f[17]=e.createElementVNode("circle",{cx:"85",cy:"85",r:"2",fill:"#334155"},null,-1)),e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"28",ry:"25",fill:`url(#pump-body-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,Ru),f[18]||(f[18]=e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"40",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"40",cy:"60",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"60",r:"3",fill:"#334155"})],-1)),e.createElementVNode("g",null,[f[5]||(f[5]=e.createElementVNode("rect",{x:"5",y:"45",width:"28",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("ellipse",{cx:"5",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"5",y:"46",width:"28",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,ju)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[f[7]||(f[7]=e.createElementVNode("rect",{x:"87",y:"45",width:"48",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[8]||(f[8]=e.createElementVNode("ellipse",{cx:"135",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"87",y:"46",width:"48",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,Lu)):e.createCommentVNode("",!0)]),e.createElementVNode("g",{transform:`rotate(${c.value} 60 50)`},[...f[9]||(f[9]=[e.createStaticVNode('<circle cx="60" cy="50" r="15" fill="#475569" opacity="0.6" data-v-71be9db7></circle><path d="M 60 50 L 70 35 Q 75 40 70 50 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 75 50 Q 75 55 65 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 60 65 Q 55 65 50 60 Z" fill="#64748b" data-v-71be9db7></path><path d="M 60 50 L 45 50 Q 45 45 50 40 Z" fill="#64748b" data-v-71be9db7></path>',5)])],8,Uu),f[19]||(f[19]=e.createElementVNode("circle",{cx:"60",cy:"50",r:"5",fill:"#334155",stroke:"#64748b","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"50",y:"20",width:"20",height:"10",rx:"2",fill:`url(#motor-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Fu),f[20]||(f[20]=e.createElementVNode("rect",{x:"58",y:"30",width:"4",height:"20",fill:"#475569"},null,-1)),e.createElementVNode("g",zu,[f[10]||(f[10]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"10",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),f[11]||(f[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"8",fill:"none",stroke:"#64748b","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Wu,e.toDisplayString(s.value),1),f[12]||(f[12]=e.createElementVNode("text",{x:"0",y:"6","font-size":"2.5",fill:"#94a3b8","text-anchor":"middle"},"bar",-1))]),e.createElementVNode("g",qu,[f[13]||(f[13]=e.createElementVNode("rect",{x:"-8",y:"-6",width:"16",height:"12",rx:"1",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Gu,e.toDisplayString(l.value),1),f[14]||(f[14]=e.createElementVNode("text",{x:"0",y:"4.5","font-size":"2",fill:"#94a3b8","text-anchor":"middle"},"m³/h",-1))]),e.createElementVNode("circle",{cx:"25",cy:"30",r:"4",fill:n.value?"#22c55e":"#ef4444"},null,8,Hu),e.createElementVNode("circle",{cx:"25",cy:"30",r:"2",fill:"#ffffff",opacity:n.value?.6:.2},null,8,Ku),f[21]||(f[21]=e.createElementVNode("rect",{x:"45",y:"62",width:"30",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Yu,e.toDisplayString(i.value)+"kW "+e.toDisplayString(o.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"已停止")+" | "+e.toDisplayString(l.value)+"m³/h ",3)]))}}),[["__scopeId","data-v-71be9db7"]]),ua={metadata:{id:"motor-3d",name:"3D电机",category:"iot",icon:"⚡",description:"3D仿真电机组件,支持运行状态和转速显示",version:"1.0.0"},shape:"motor-3d-vue",component:Qd,width:140,height:110,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"motor",state:!1,speed:1500,power:7.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:1500,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:7.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"电机当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"电机当前转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"power",name:"功率",description:"电机当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1,range:{min:0}},{id:"current",name:"电流",description:"电机运行电流",dataType:"number",unit:"A",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"电机轴承温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},fa={metadata:{id:"valve-3d",name:"3D阀门",category:"iot",icon:"🚰",description:"3D仿真阀门组件,支持开关状态和开度显示",version:"1.0.0"},shape:"valve-3d-vue",component:fu,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"valve",state:!1,openness:0,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"阀门状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:"open"}],bindable:!0},{key:"openness",label:"开度(%)",type:"number",path:"data.openness",defaultValue:0,min:0,max:100,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"阀门状态",description:"阀门当前开关状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"openness",name:"开度",description:"阀门当前开度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"flow_rate",name:"流量",description:"通过阀门的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"pressure_diff",name:"压差",description:"阀门两端压差",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},pa={metadata:{id:"tank-3d",name:"3D储罐",category:"iot",icon:"🛢️",description:"3D仿真储罐组件,支持液位、温度、压力显示",version:"1.0.0"},shape:"tank-3d-vue",component:Iu,width:120,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tank",level:50,capacity:100,temperature:25,pressure:101,liquidColor:"#3b82f6",deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"}]},props:[{key:"level",label:"液位(%)",type:"number",path:"data.level",defaultValue:50,min:0,max:100,bindable:!0},{key:"capacity",label:"容量(m³)",type:"number",path:"data.capacity",defaultValue:100,min:0,bindable:!0},{key:"temperature",label:"温度(°C)",type:"number",path:"data.temperature",defaultValue:25,bindable:!0},{key:"pressure",label:"压力(kPa)",type:"number",path:"data.pressure",defaultValue:101,min:0,bindable:!0},{key:"liquidColor",label:"液体颜色",type:"color",path:"data.liquidColor",defaultValue:"#3b82f6",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"liquid_level",name:"液位高度",description:"储罐当前液位百分比",dataType:"number",unit:"%",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"temperature",name:"温度",description:"储罐内液体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"pressure",name:"压力",description:"储罐内部压力",dataType:"number",unit:"kPa",defaultValue:101,required:!1,range:{min:0}},{id:"capacity",name:"实际容量",description:"当前实际存储量",dataType:"number",unit:"m³",defaultValue:50,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},ha={metadata:{id:"pump-3d",name:"3D水泵",category:"iot",icon:"🌊",description:"3D仿真水泵组件,支持运行状态、流量、压力显示",version:"1.0.0"},shape:"pump-3d-vue",component:Qu,width:160,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pump",state:!1,speed:2900,power:5.5,flowRate:15,pressure:3.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:2900,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:5.5,min:0,bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:15,min:0,bindable:!0},{key:"pressure",label:"压力(bar)",type:"number",path:"data.pressure",defaultValue:3.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"泵当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"泵轴转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"flow_rate",name:"流量",description:"当前流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0,max:200}},{id:"pressure",name:"出口压力",description:"泵出口压力",dataType:"number",unit:"bar",defaultValue:0,required:!0,range:{min:0,max:20}},{id:"power",name:"功率",description:"当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"泵体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"vibration",name:"振动",description:"振动值",dataType:"number",unit:"mm/s",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},Ju={class:"conveyor-3d-container"},Xu={viewBox:"0 0 200 80",xmlns:"http://www.w3.org/2000/svg"},Zu=["id"],ef=["id"],tf=["id"],rf=["fill","transform"],of=["transform"],nf=["fill","transform"],af=["transform"],sf=["fill"],lf=["x1","x2"],cf=["x","fill"],df=["fill","opacity"],uf={key:0,attributeName:"opacity",values:"1;0.4;1",dur:"1s",repeatCount:"indefinite"},ff={x:"100",y:"20","font-size":"10",fill:"#94a3b8","text-anchor":"middle","font-family":"monospace"},pf=Me(e.defineComponent({__name:"Conveyor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`conveyor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("forward"),l=e.ref(0),s=e.ref(0),c=e.ref(30);let d=null;const h=()=>{if(n.value){const p=o.value/10,f=o.value/5;i.value==="forward"?(l.value=(l.value+p)%360,s.value=(s.value+f)%15,c.value=c.value+f,c.value>180&&(c.value=20)):(l.value=(l.value-p+360)%360,s.value=(s.value-f+15)%15,c.value=c.value-f,c.value<20&&(c.value=180))}d=requestAnimationFrame(h)},m=()=>{const p=a();n.value=p.state==="running"||p.state===!0,o.value=p.speed||10,i.value=p.direction||"forward"};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),h(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),e.onUnmounted(()=>{d&&cancelAnimationFrame(d)}),(p,f)=>(e.openBlock(),e.createElementBlock("div",Ju,[(e.openBlock(),e.createElementBlock("svg",Xu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`belt-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Zu),e.createElementVNode("radialGradient",{id:`roller-gradient-${r.value}`},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ef),e.createElementVNode("linearGradient",{id:`cargo-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[2]||(f[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6"},null,-1)])],8,tf)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"10",y:"45",width:"180",height:"25",rx:"3",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"25",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 25, 50)`},null,8,rf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`left-${w}`},[e.createElementVNode("line",{x1:25,y1:38,x2:25,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+w*45}, 25, 50)`},null,8,of)])),64)),e.createElementVNode("circle",{cx:"175",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 175, 50)`},null,8,nf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("g",{key:`right-${w}`},[e.createElementVNode("line",{x1:175,y1:38,x2:175,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+w*45}, 175, 50)`},null,8,af)])),64)),e.createElementVNode("rect",{x:"25",y:"38",width:"150",height:"24",fill:`url(#belt-gradient-${r.value})`},null,8,sf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,w=>e.createElementVNode("g",{key:`line-${w}`},[e.createElementVNode("line",{x1:25+w*15+s.value,y1:38,x2:25+w*15+s.value,y2:62,stroke:"#475569","stroke-width":"1.5",opacity:"0.5"},null,8,lf)])),64)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:c.value,y:"30",width:"30",height:"20",rx:"2",fill:`url(#cargo-gradient-${r.value})`,stroke:"#2563eb","stroke-width":"1",opacity:"0.9"},null,8,cf)):e.createCommentVNode("",!0),f[4]||(f[4]=e.createStaticVNode('<g data-v-eb26bad8><rect x="20" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="96" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="172" y="68" width="4" height="8" fill="#475569" data-v-eb26bad8></rect><rect x="18" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="94" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect><rect x="170" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-eb26bad8></rect></g><rect x="180" y="52" width="15" height="18" rx="2" fill="#334155" stroke="#475569" stroke-width="1" data-v-eb26bad8></rect><circle cx="187.5" cy="61" r="3" fill="#64748b" data-v-eb26bad8></circle>',3)),e.createElementVNode("circle",{cx:"15",cy:"55",r:"3",fill:n.value?"#22c55e":"#ef4444",opacity:n.value?1:.5},[n.value?(e.openBlock(),e.createElementBlock("animate",uf)):e.createCommentVNode("",!0)],8,df),e.createElementVNode("text",ff,e.toDisplayString(o.value)+" m/min ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | "+e.toDisplayString(o.value)+" m/min ",3)]))}}),[["__scopeId","data-v-eb26bad8"]]),hf={class:"alarm-light-3d-container"},mf={viewBox:"0 0 80 100",xmlns:"http://www.w3.org/2000/svg"},gf=["id"],yf=["stop-color"],bf=["stop-color"],wf=["stop-color"],Ef=["id"],vf=["stop-color"],kf=["stop-color"],_f=["stop-color"],Nf=["id"],Sf=["fill","opacity"],xf=["transform"],Vf=["fill","opacity"],Cf=["fill"],If=["fill"],Af=["fill"],Tf=["fill"],$f={x:"40",y:"85","font-size":"4",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Bf=Me(e.defineComponent({__name:"AlarmLight3D",props:{node:{}},setup(u){const t=u,r=e.ref(`alarm-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("rotating"),i=e.ref("#ef4444"),l=e.ref(0),s=e.ref(.8);let c=null;const d=e.computed(()=>n.value?i.value:"#475569"),h=e.computed(()=>n.value?o.value==="rotating"?"旋转报警":o.value==="flashing"?"闪烁报警":"持续报警":"正常"),m=()=>{n.value?o.value==="rotating"?(l.value=(l.value+5)%360,s.value=.8):o.value==="flashing"?s.value=Math.abs(Math.sin(Date.now()/300)):s.value=.8:s.value=0,c=requestAnimationFrame(m)},p=()=>{const f=a();n.value=f.state==="active"||f.state===!0,o.value=f.mode||"rotating",i.value=f.color||"#ef4444"};return e.watch(()=>t.node,()=>{p()},{deep:!0}),e.onMounted(()=>{p(),m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{p()})}),e.onUnmounted(()=>{c&&cancelAnimationFrame(c)}),(f,w)=>(e.openBlock(),e.createElementBlock("div",hf,[(e.openBlock(),e.createElementBlock("svg",mf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`dome-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.9"},null,8,yf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.7"},null,8,bf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0.5"},null,8,wf)],8,gf),e.createElementVNode("radialGradient",{id:`glow-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":d.value,"stop-opacity":"0.8"},null,8,vf),e.createElementVNode("stop",{offset:"50%","stop-color":d.value,"stop-opacity":"0.3"},null,8,kf),e.createElementVNode("stop",{offset:"100%","stop-color":d.value,"stop-opacity":"0"},null,8,_f)],8,Ef),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...w[0]||(w[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Nf)]),n.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"40",cy:"35",r:"35",fill:`url(#glow-${r.value})`,opacity:s.value},null,8,Sf)):e.createCommentVNode("",!0),w[3]||(w[3]=e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"25",ry:"22",fill:"#1e293b",stroke:"#475569","stroke-width":"1.5",opacity:"0.3"},null,-1)),e.createElementVNode("g",{transform:`rotate(${l.value}, 40, 35)`},[e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"23",ry:"20",fill:`url(#dome-gradient-${r.value})`,opacity:n.value?1:.3},null,8,Vf),w[1]||(w[1]=e.createElementVNode("path",{d:"M 17,35 Q 40,25 63,35",stroke:"#ffffff","stroke-width":"1",fill:"none",opacity:"0.3"},null,-1)),w[2]||(w[2]=e.createElementVNode("path",{d:"M 17,35 Q 40,45 63,35",stroke:"#000000","stroke-width":"1",fill:"none",opacity:"0.2"},null,-1))],8,xf),w[4]||(w[4]=e.createElementVNode("rect",{x:"35",y:"55",width:"10",height:"8",rx:"2",fill:"#334155",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"40",cy:"63",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Cf),e.createElementVNode("rect",{x:"22",y:"63",width:"36",height:"12",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,If),e.createElementVNode("ellipse",{cx:"40",cy:"75",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Af),w[5]||(w[5]=e.createElementVNode("circle",{cx:"28",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[6]||(w[6]=e.createElementVNode("circle",{cx:"52",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[7]||(w[7]=e.createElementVNode("line",{x1:"27",y1:"68",x2:"29",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[8]||(w[8]=e.createElementVNode("line",{x1:"51",y1:"68",x2:"53",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),e.createElementVNode("circle",{cx:"40",cy:"69",r:"1.5",fill:n.value?"#22c55e":"#64748b"},null,8,Tf),e.createElementVNode("text",$f," AL-"+e.toDisplayString(o.value.toUpperCase()),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-active":n.value}])},e.toDisplayString(h.value),3)]))}}),[["__scopeId","data-v-80aba40a"]]),Df={class:"temperature-sensor-3d-container"},Pf={viewBox:"0 0 80 120",xmlns:"http://www.w3.org/2000/svg"},Of=["id"],Mf=["id"],Rf=["stop-color"],jf=["stop-color"],Lf=["id"],Uf=["stop-color"],Ff=["stop-color"],zf=["fill"],Wf=["y","height","fill"],qf=["fill"],Gf=["fill"],Hf=["fill","opacity"],Kf={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},Yf=Me(e.defineComponent({__name:"TemperatureSensor3D",props:{node:{}},setup(u){const t=u,r=e.ref(`temp-sensor-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(25),o=e.ref(100),i=e.ref(0),l=e.ref(80),s=e.ref(10),c=e.computed(()=>{const w=o.value-i.value;return Math.max(0,Math.min(1,(n.value-i.value)/w))*45}),d=e.computed(()=>65-c.value),h=e.computed(()=>n.value>=l.value?"#ef4444":n.value<=s.value?"#3b82f6":n.value>=60?"#f97316":n.value>=40?"#fbbf24":"#22c55e"),m=e.computed(()=>n.value>=l.value?"#ef4444":n.value<=s.value?"#3b82f6":"#22c55e"),p=e.computed(()=>n.value>=l.value||n.value<=s.value),f=()=>{const w=a();n.value=Math.round(w.temperature??25),o.value=w.maxTemp||100,i.value=w.minTemp||0,l.value=w.alarmHighLimit||80,s.value=w.alarmLowLimit||10};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),(w,N)=>(e.openBlock(),e.createElementBlock("div",Df,[(e.openBlock(),e.createElementBlock("svg",Pf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...N[0]||(N[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Of),e.createElementVNode("linearGradient",{id:`liquid-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value},null,8,Rf),e.createElementVNode("stop",{offset:"100%","stop-color":h.value,"stop-opacity":"0.7"},null,8,jf)],8,Mf),e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value,"stop-opacity":"0.9"},null,8,Uf),e.createElementVNode("stop",{offset:"70%","stop-color":h.value},null,8,Ff),N[1]||(N[1]=e.createElementVNode("stop",{offset:"100%","stop-color":"#991b1b"},null,-1))],8,Lf)]),e.createElementVNode("rect",{x:"30",y:"15",width:"20",height:"60",rx:"10",fill:`url(#shell-gradient-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,zf),N[2]||(N[2]=e.createStaticVNode('<rect x="35" y="20" width="10" height="50" rx="5" fill="#f8fafc" stroke="#cbd5e1" stroke-width="1" opacity="0.8" data-v-1b4c4bcc></rect><g opacity="0.6" data-v-1b4c4bcc><line x1="32" y1="25" x2="35" y2="25" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="27" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>100</text><line x1="32" y1="35" x2="35" y2="35" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="37" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>75</text><line x1="32" y1="45" x2="35" y2="45" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="47" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>50</text><line x1="32" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="57" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>25</text><line x1="32" y1="65" x2="35" y2="65" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="67" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>0</text></g>',2)),e.createElementVNode("rect",{x:"37",y:d.value,width:"6",height:c.value,rx:"3",fill:`url(#liquid-gradient-${r.value})`},null,8,Wf),e.createElementVNode("circle",{cx:"40",cy:"75",r:"10",fill:`url(#bulb-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1.5"},null,8,qf),N[3]||(N[3]=e.createStaticVNode('<ellipse cx="37" cy="72" rx="3" ry="4" fill="#ffffff" opacity="0.4" data-v-1b4c4bcc></ellipse><path d="M 40,85 Q 45,90 45,95 L 45,105" stroke="#1e293b" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><path d="M 40,85 Q 35,90 35,95 L 35,105" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><rect x="32" y="103" width="6" height="8" rx="1" fill="#fbbf24" stroke="#b45309" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="42" y="103" width="6" height="8" rx="1" fill="#1e293b" stroke="#475569" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="50" y="35" width="25" height="18" rx="2" fill="#0f172a" stroke="#334155" stroke-width="1" data-v-1b4c4bcc></rect>',6)),e.createElementVNode("text",{x:"62.5",y:"47","font-size":"10",fill:m.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(n.value),9,Gf),N[4]||(N[4]=e.createElementVNode("text",{x:"62.5",y:"51","font-size":"4",fill:"#64748b","text-anchor":"middle"},"°C",-1)),e.createElementVNode("circle",{cx:"58",cy:"29",r:"2.5",fill:p.value?"#ef4444":"#64748b",opacity:p.value?1:.3},[p.value?(e.openBlock(),e.createElementBlock("animate",Kf)):e.createCommentVNode("",!0)],8,Hf),N[5]||(N[5]=e.createElementVNode("text",{x:"40",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"}," PT100 ",-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":p.value}])},e.toDisplayString(n.value)+"°C "+e.toDisplayString(p.value?"- 超限":""),3)]))}}),[["__scopeId","data-v-1b4c4bcc"]]),Qf={class:"cylinder-3d-container"},Jf={viewBox:"0 0 60 140",xmlns:"http://www.w3.org/2000/svg"},Xf=["id"],Zf=["id"],ep=["id"],tp=["fill"],rp=["fill"],op=["fill"],np=["y","height","fill"],ip=["cy"],ap=["cy"],sp=["x","fill"],lp=["x","fill"],cp={x:"30",y:"125","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},dp={x:"30",y:"18","font-size":"8",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},up=Me(e.defineComponent({__name:"Cylinder3D",props:{node:{}},setup(u){const t=u,r=e.ref(`cylinder-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(0),o=e.ref(50),i=e.ref(200),l=e.ref("stop");let s=null,c=Date.now();const d=e.computed(()=>n.value>=o.value),h=e.computed(()=>n.value<=0),m=e.computed(()=>30+n.value/o.value*40),p=e.computed(()=>50-m.value),f=e.computed(()=>110-n.value/o.value*60),w=e.computed(()=>d.value?"伸出到位":h.value?"缩回到位":l.value==="extend"?"正在伸出":l.value==="retract"?"正在缩回":"停止"),N=e.computed(()=>d.value||h.value?"is-positioned":l.value!=="stop"?"is-moving":""),S=()=>{const E=Date.now(),k=(E-c)/1e3;c=E,l.value==="extend"&&n.value<o.value?n.value=Math.min(o.value,n.value+i.value*k):l.value==="retract"&&n.value>0&&(n.value=Math.max(0,n.value-i.value*k)),n.value=Math.round(n.value),s=requestAnimationFrame(S)},b=()=>{const E=a();l.value=E.action||"stop",o.value=E.stroke||50,i.value=E.speed||200,typeof E.position=="number"&&(n.value=Math.max(0,Math.min(o.value,E.position)))};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),c=Date.now(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{s&&cancelAnimationFrame(s)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",Qf,[(e.openBlock(),e.createElementBlock("svg",Jf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`cylinder-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Xf),e.createElementVNode("linearGradient",{id:`rod-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Zf),e.createElementVNode("radialGradient",{id:`cap-gradient-${r.value}`},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ep)]),e.createElementVNode("ellipse",{cx:"30",cy:"80",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,tp),e.createElementVNode("rect",{x:"15",y:"50",width:"30",height:"60",fill:`url(#cylinder-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,rp),k[3]||(k[3]=e.createStaticVNode('<g opacity="0.2" data-v-7429604c><line x1="15" y1="55" x2="45" y2="55" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="65" x2="45" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="75" x2="45" y2="75" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="85" x2="45" y2="85" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="95" x2="45" y2="95" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line><line x1="15" y1="105" x2="45" y2="105" stroke="#1e293b" stroke-width="0.5" data-v-7429604c></line></g>',1)),e.createElementVNode("ellipse",{cx:"30",cy:"50",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,op),e.createElementVNode("rect",{x:"26",y:p.value,width:"8",height:m.value,fill:`url(#rod-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,np),e.createElementVNode("ellipse",{cx:"30",cy:p.value,rx:"4",ry:"2",fill:"#94a3b8",stroke:"#64748b","stroke-width":"0.5"},null,8,ip),e.createElementVNode("ellipse",{cx:"30",cy:f.value,rx:"13",ry:"6",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,ap),k[4]||(k[4]=e.createElementVNode("circle",{cx:"48",cy:"58",r:"3",fill:"#3b82f6",stroke:"#1e40af","stroke-width":"1"},null,-1)),k[5]||(k[5]=e.createElementVNode("text",{x:"55",y:"60","font-size":"6",fill:"#3b82f6","font-weight":"bold"},"A",-1)),k[6]||(k[6]=e.createElementVNode("circle",{cx:"48",cy:"102",r:"3",fill:"#ef4444",stroke:"#991b1b","stroke-width":"1"},null,-1)),k[7]||(k[7]=e.createElementVNode("text",{x:"55",y:"104","font-size":"6",fill:"#ef4444","font-weight":"bold"},"B",-1)),e.createElementVNode("rect",{x:d.value?48:50,y:"52",width:"6",height:"4",rx:"1",fill:d.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,sp),e.createElementVNode("rect",{x:h.value?48:50,y:"104",width:"6",height:"4",rx:"1",fill:h.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,lp),k[8]||(k[8]=e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"7",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"}),e.createElementVNode("rect",{x:"47",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"53",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"})],-1)),e.createElementVNode("text",cp,e.toDisplayString(o.value)+"mm ",1),e.createElementVNode("text",dp,e.toDisplayString(n.value)+"mm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",N.value])},e.toDisplayString(w.value),3)]))}}),[["__scopeId","data-v-7429604c"]]),ma={metadata:{id:"conveyor-3d",name:"3D传送带",category:"iot",icon:"🔄",description:"3D仿真传送带组件,支持正反转和速度控制",version:"1.0.0"},shape:"conveyor-3d-vue",component:pf,width:220,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"conveyor",state:!1,speed:10,direction:"forward",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],description:"传送带运行状态",bindable:!0},{key:"speed",label:"速度(m/min)",type:"number",path:"data.speed",defaultValue:10,min:0,max:100,description:"传送带运行速度",bindable:!0},{key:"direction",label:"运行方向",type:"select",path:"data.direction",defaultValue:"forward",options:[{label:"正向",value:"forward"},{label:"反向",value:"reverse"}],description:"传送带运行方向",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"传送带当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"运行速度",description:"传送带当前运行速度",dataType:"number",unit:"m/min",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"direction",name:"运行方向",description:"传送带运行方向",dataType:"string",defaultValue:"forward",required:!1},{id:"load",name:"负载状态",description:"传送带上是否有物体",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},ga={metadata:{id:"alarm-light-3d",name:"3D报警灯",category:"iot",icon:"🚨",description:"3D仿真报警灯组件,支持旋转、闪烁、持续三种模式",version:"1.0.0"},shape:"alarm-light-3d-vue",component:Bf,width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"alarm-light",state:!1,mode:"rotating",color:"#ef4444",deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"报警状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"正常",value:!1},{label:"报警",value:"active"}],description:"报警灯激活状态",bindable:!0},{key:"mode",label:"报警模式",type:"select",path:"data.mode",defaultValue:"rotating",options:[{label:"旋转",value:"rotating"},{label:"闪烁",value:"flashing"},{label:"持续",value:"steady"}],description:"报警灯工作模式",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#ef4444",description:"报警灯颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"报警状态",description:"报警灯当前状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"mode",name:"报警模式",description:"报警灯工作模式",dataType:"string",defaultValue:"rotating",required:!1},{id:"level",name:"报警级别",description:"报警级别 (0-正常, 1-警告, 2-危险, 3-严重)",dataType:"number",defaultValue:0,required:!1,range:{min:0,max:3}}]},ya={metadata:{id:"temperature-sensor-3d",name:"3D温度传感器",category:"iot",icon:"🌡️",description:"3D仿真温度传感器,支持温度显示和报警",version:"1.0.0"},shape:"temperature-sensor-3d-vue",component:Yf,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"temperature-sensor",temperature:25,maxTemp:100,minTemp:0,alarmHighLimit:80,alarmLowLimit:10,deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"temperature",label:"当前温度(°C)",type:"number",path:"data.temperature",defaultValue:25,description:"当前测量温度值",bindable:!0},{key:"maxTemp",label:"最大量程(°C)",type:"number",path:"data.maxTemp",defaultValue:100,description:"传感器最大测量温度"},{key:"minTemp",label:"最小量程(°C)",type:"number",path:"data.minTemp",defaultValue:0,description:"传感器最小测量温度"},{key:"alarmHighLimit",label:"高温报警(°C)",type:"number",path:"data.alarmHighLimit",defaultValue:80,description:"高温报警阈值"},{key:"alarmLowLimit",label:"低温报警(°C)",type:"number",path:"data.alarmLowLimit",defaultValue:10,description:"低温报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"temperature",name:"温度",description:"当前测量温度值",dataType:"number",unit:"℃",defaultValue:25,required:!0},{id:"alarm_high",name:"高温报警",description:"是否超过高温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm_low",name:"低温报警",description:"是否低于低温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"quality",name:"信号质量",description:"传感器信号质量 (0-100)",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},ba={metadata:{id:"cylinder-3d",name:"3D气缸",category:"iot",icon:"🔩",description:"3D仿真气缸组件,支持伸缩动作和位置显示",version:"1.0.0"},shape:"cylinder-3d-vue",component:up,width:80,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"cylinder",action:"stop",position:0,stroke:50,speed:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"action",label:"动作指令",type:"select",path:"data.action",defaultValue:"stop",options:[{label:"停止",value:"stop"},{label:"伸出",value:"extend"},{label:"缩回",value:"retract"}],description:"气缸动作指令",bindable:!0},{key:"position",label:"当前位置(mm)",type:"number",path:"data.position",defaultValue:0,min:0,description:"活塞杆当前位置",bindable:!0},{key:"stroke",label:"行程(mm)",type:"number",path:"data.stroke",defaultValue:50,min:10,max:200,description:"气缸最大行程"},{key:"speed",label:"速度(mm/s)",type:"number",path:"data.speed",defaultValue:200,min:10,max:1e3,description:"活塞杆运动速度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"action",name:"动作指令",description:"气缸当前动作指令",dataType:"string",defaultValue:"stop",required:!0},{id:"position",name:"当前位置",description:"活塞杆当前位置",dataType:"number",unit:"mm",defaultValue:0,required:!0},{id:"extended",name:"伸出到位",description:"活塞杆是否已伸出到位",dataType:"boolean",defaultValue:!1,required:!1},{id:"retracted",name:"缩回到位",description:"活塞杆是否已缩回到位",dataType:"boolean",defaultValue:!0,required:!1},{id:"pressure",name:"气压",description:"工作气压",dataType:"number",unit:"bar",defaultValue:6,required:!1}]},fp={class:"pipe-3d-container"},pp=["viewBox"],hp=["id"],mp=["id"],gp=["stop-color"],yp=["stop-color"],bp=["stop-color"],wp={key:0},Ep=["y","width","height","fill"],vp=["y","width","height"],kp=["x","y","width","height","fill"],_p=["cy","rx","ry"],Np=["cx","cy","rx","ry"],Sp=["cy"],xp=["cy"],Vp=["cx","cy"],Cp=["cx","cy"],Ip={key:1},Ap=["x","width","height","fill"],Tp=["x","width","height"],$p=["x","y","width","height","fill"],Bp=["cx","rx","ry"],Dp=["cx","cy","rx","ry"],Pp=["cx"],Op=["cx"],Mp=["cx","cy"],Rp=["cx","cy"],jp={key:2},Lp=["id"],Up=["fill"],Fp=["x1","y1","x2","y2","stroke","marker-end"],zp=["x1","y1","x2","y2","stroke","marker-end"],Wp=Me(e.defineComponent({__name:"Pipe3D",props:{node:{}},setup(u){const t=u,r=e.ref(`pipe-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(10),i=e.ref("horizontal"),l=e.ref("#3b82f6"),s=e.ref(40),c=e.ref(200),d=e.computed(()=>s.value/2),h=e.computed(()=>c.value),m=e.computed(()=>i.value==="horizontal"?`0 0 ${h.value} ${s.value+10}`:`0 0 ${s.value+10} ${h.value}`),p=e.computed(()=>(s.value+10)/2),f=e.computed(()=>(s.value+10)/2),w=e.ref(0);let N=null;const S=()=>{if(n.value){const E=o.value/5;w.value=(w.value+E)%h.value}N=requestAnimationFrame(S)},b=()=>{const E=a();n.value=E.state==="flowing"||E.state===!0,o.value=E.flowRate||10,i.value=E.direction||"horizontal",l.value=E.fluidColor||"#3b82f6",s.value=E.diameter||40,c.value=E.length||200};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{N&&cancelAnimationFrame(N)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",fp,[(e.openBlock(),e.createElementBlock("svg",{viewBox:m.value,xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,hp),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":l.value,"stop-opacity":"0.3"},null,8,gp),e.createElementVNode("stop",{offset:"50%","stop-color":l.value,"stop-opacity":"0.8"},null,8,yp),e.createElementVNode("stop",{offset:"100%","stop-color":l.value,"stop-opacity":"0.3"},null,8,bp)],8,mp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("g",wp,[e.createElementVNode("rect",{x:"0",y:p.value-d.value,width:h.value,height:d.value*2,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ep),e.createElementVNode("rect",{x:"0",y:p.value-d.value+3,width:h.value,height:d.value*2-6,fill:"#0f172a"},null,8,vp),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:w.value,y:p.value-d.value+5,width:h.value/2,height:d.value*2-10,fill:`url(#flow-gradient-${r.value})`},null,8,kp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:0,cy:p.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,_p),e.createElementVNode("ellipse",{cx:h.value,cy:p.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Np),e.createElementVNode("circle",{cx:0,cy:p.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,Sp),e.createElementVNode("circle",{cx:0,cy:p.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,xp),e.createElementVNode("circle",{cx:h.value,cy:p.value-d.value-2,r:"1.5",fill:"#1e293b"},null,8,Vp),e.createElementVNode("circle",{cx:h.value,cy:p.value+d.value+2,r:"1.5",fill:"#1e293b"},null,8,Cp)])])):(e.openBlock(),e.createElementBlock("g",Ip,[e.createElementVNode("rect",{x:f.value-d.value,y:"0",width:d.value*2,height:h.value,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Ap),e.createElementVNode("rect",{x:f.value-d.value+3,y:"0",width:d.value*2-6,height:h.value,fill:"#0f172a"},null,8,Tp),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value-d.value+5,y:w.value,width:d.value*2-10,height:h.value/2,fill:`url(#flow-gradient-${r.value})`},null,8,$p)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:f.value,cy:0,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Bp),e.createElementVNode("ellipse",{cx:f.value,cy:h.value,rx:d.value+2,ry:d.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Dp),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Pp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Op),e.createElementVNode("circle",{cx:f.value-d.value-2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,Mp),e.createElementVNode("circle",{cx:f.value+d.value+2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,Rp)])])),n.value?(e.openBlock(),e.createElementBlock("g",jp,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth"},[e.createElementVNode("path",{d:"M0,0 L0,6 L9,3 z",fill:l.value},null,8,Up)],8,Lp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:h.value/2-20,y1:p.value,x2:h.value/2+20,y2:p.value,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Fp)):(e.openBlock(),e.createElementBlock("line",{key:1,x1:f.value,y1:h.value/2-20,x2:f.value,y2:h.value/2+20,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,zp))])):e.createCommentVNode("",!0)],8,pp)),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"停止")+" | "+e.toDisplayString(o.value)+" m³/h ",3)]))}}),[["__scopeId","data-v-5c3ec02f"]]),qp={class:"filter-3d-container"},Gp={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Hp=["id"],Kp=["id"],Yp=["stop-color"],Qp=["stop-color"],Jp=["fill"],Xp=["fill"],Zp={opacity:"0.5"},eh=["x1","x2"],th=["y1","y2"],rh=["y","height"],oh={transform:"translate(80, 30)"},nh=["fill"],ih=["fill","opacity"],ah={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},sh={x:"60",y:"95","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},lh=Me(e.defineComponent({__name:"Filter3D",props:{node:{}},setup(u){const t=u,r=e.ref(`filter-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(20),o=e.ref(5),i=e.ref(50),l=e.ref(70),s=e.computed(()=>n.value>=l.value?"#7f1d1d":n.value>=50?"#b45309":"#15803d"),c=e.computed(()=>n.value>=l.value?"#991b1b":n.value>=50?"#d97706":"#166534"),d=e.computed(()=>o.value>=15?"#ef4444":o.value>=10?"#f97316":"#22c55e"),h=e.computed(()=>n.value>=l.value),m=()=>{const p=a();n.value=Math.max(0,Math.min(100,p.clogLevel||20)),o.value=p.pressureDrop||5,i.value=p.diameter||50,l.value=p.alarmThreshold||70};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(p,f)=>(e.openBlock(),e.createElementBlock("div",qp,[(e.openBlock(),e.createElementBlock("svg",Gp,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Hp),e.createElementVNode("linearGradient",{id:`filter-element-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":s.value},null,8,Yp),e.createElementVNode("stop",{offset:"100%","stop-color":c.value},null,8,Qp)],8,Kp)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"25",y:"20",width:"70",height:"60",rx:"5",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Jp),f[4]||(f[4]=e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"15",ry:"20",fill:"#1e293b",stroke:"#64748b","stroke-width":"2",opacity:"0.7"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"50",y:"30",width:"20",height:"40",rx:"2",fill:`url(#filter-element-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Xp),e.createElementVNode("g",Zp,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`v-${w}`,x1:50+w*2.5,y1:"30",x2:50+w*2.5,y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,8,eh)),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`h-${w}`,x1:"50",y1:30+w*5,x2:"70",y2:30+w*5,stroke:"#1e293b","stroke-width":"0.5"},null,8,th)),64))]),e.createElementVNode("rect",{x:"52",y:70-n.value*.4,width:"16",height:n.value*.4,fill:"#ef4444",opacity:"0.6"},null,8,rh)]),f[5]||(f[5]=e.createElementVNode("rect",{x:"95",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("rect",{x:"55",y:"78",width:"10",height:"8",rx:"1",fill:"#334155",stroke:"#1e293b","stroke-width":"1"},null,-1)),f[7]||(f[7]=e.createElementVNode("path",{d:"M 57,86 L 60,90 L 63,86",stroke:"#64748b","stroke-width":"1.5",fill:"none"},null,-1)),e.createElementVNode("g",oh,[f[1]||(f[1]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"12",fill:"#0f172a",stroke:"#475569","stroke-width":"1.5"},null,-1)),e.createElementVNode("text",{x:"0",y:"4","font-size":"7",fill:d.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(o.value),9,nh),f[2]||(f[2]=e.createElementVNode("text",{x:"0",y:"10","font-size":"3",fill:"#64748b","text-anchor":"middle"},"kPa",-1))]),e.createElementVNode("circle",{cx:"35",cy:"28",r:"3",fill:h.value?"#ef4444":"#64748b",opacity:h.value?1:.3},[h.value?(e.openBlock(),e.createElementBlock("animate",ah)):e.createCommentVNode("",!0)],8,ih),e.createElementVNode("text",sh," FLT-"+e.toDisplayString(i.value),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":h.value}])}," 堵塞度: "+e.toDisplayString(n.value)+"% | 压差: "+e.toDisplayString(o.value)+" kPa ",3)]))}}),[["__scopeId","data-v-1bb1c80a"]]),ch={class:"heat-exchanger-3d-container"},dh={viewBox:"0 0 140 120",xmlns:"http://www.w3.org/2000/svg"},uh=["id"],fh=["id"],ph=["id"],hh=["fill"],mh={opacity:"0.6"},gh=["y1","y2"],yh=["y","fill"],bh=["y","fill"],wh=["x","fill"],Eh=["x","fill"],vh={transform:"translate(70, 60)"},kh=["fill"],_h={transform:"translate(95, 50)"},Nh={x:"0",y:"-1","font-size":"6",fill:"#ef4444","text-anchor":"middle"},Sh={x:"0",y:"6","font-size":"5",fill:"#f97316","text-anchor":"middle"},xh={transform:"translate(45, 70)"},Vh={x:"0",y:"-1","font-size":"6",fill:"#3b82f6","text-anchor":"middle"},Ch={x:"0",y:"6","font-size":"5",fill:"#60a5fa","text-anchor":"middle"},Ih=["fill","opacity"],Ah={key:0,attributeName:"opacity",values:"1;0.5;1",dur:"1.5s",repeatCount:"indefinite"},Th={x:"70",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},$h=Me(e.defineComponent({__name:"HeatExchanger3D",props:{node:{}},setup(u){const t=u,r=e.ref(`hex-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref(80),i=e.ref(50),l=e.ref(20),s=e.ref(40),c=e.ref(10),d=e.computed(()=>{if(o.value<=i.value)return 0;const E=o.value-l.value,k=o.value-i.value,v=Math.round(k/E*100);return Math.max(0,Math.min(100,v))}),h=e.computed(()=>d.value>=80?"#22c55e":d.value>=60?"#fbbf24":d.value>=40?"#f97316":"#ef4444"),m=e.ref(0),p=e.ref(0),f=e.ref(0),w=e.ref(0);let N=null;const S=()=>{n.value&&(m.value=(m.value+.5)%20,p.value=(p.value+.5)%20,f.value=(f.value+.5)%20,w.value=(w.value+.5)%20),N=requestAnimationFrame(S)},b=()=>{const E=a();n.value=E.state==="working"||E.state===!0,o.value=E.hotTempIn||80,i.value=E.hotTempOut||50,l.value=E.coldTempIn||20,s.value=E.coldTempOut||40,c.value=E.heatTransferArea||10};return e.watch(()=>t.node,()=>{b()},{deep:!0}),e.onMounted(()=>{b(),S(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{b()})}),e.onUnmounted(()=>{N&&cancelAnimationFrame(N)}),(E,k)=>(e.openBlock(),e.createElementBlock("div",ch,[(e.openBlock(),e.createElementBlock("svg",dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[0]||(k[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,uh),e.createElementVNode("linearGradient",{id:`hot-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[1]||(k[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#ef4444","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1)])],8,fh),e.createElementVNode("linearGradient",{id:`cold-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...k[2]||(k[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#3b82f6","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)])],8,ph)]),e.createElementVNode("rect",{x:"20",y:"30",width:"100",height:"60",rx:"8",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,hh),k[15]||(k[15]=e.createElementVNode("line",{x1:"70",y1:"30",x2:"70",y2:"90",stroke:"#64748b","stroke-width":"2"},null,-1)),e.createElementVNode("g",mh,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,v=>e.createElementVNode("line",{key:`tube-${v}`,x1:"25",y1:35+v*7,x2:"115",y2:35+v*7,stroke:"#475569","stroke-width":"1.5"},null,8,gh)),64))]),e.createElementVNode("g",null,[k[3]||(k[3]=e.createElementVNode("rect",{x:"60",y:"10",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[4]||(k[4]=e.createElementVNode("text",{x:"70",y:"23","font-size":"6",fill:"#ef4444","text-anchor":"middle","font-weight":"bold"},"H-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:10+m.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`},null,8,yh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[5]||(k[5]=e.createElementVNode("rect",{x:"60",y:"90",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[6]||(k[6]=e.createElementVNode("text",{x:"70",y:"103","font-size":"6",fill:"#f97316","text-anchor":"middle","font-weight":"bold"},"H-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:90+p.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`,opacity:"0.7"},null,8,bh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[7]||(k[7]=e.createElementVNode("rect",{x:"0",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[8]||(k[8]=e.createElementVNode("text",{x:"10",y:"62","font-size":"5",fill:"#3b82f6","text-anchor":"middle","font-weight":"bold"},"C-IN",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:f.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`},null,8,wh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[k[9]||(k[9]=e.createElementVNode("rect",{x:"120",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),k[10]||(k[10]=e.createElementVNode("text",{x:"130",y:"62","font-size":"5",fill:"#60a5fa","text-anchor":"middle","font-weight":"bold"},"C-OUT",-1)),n.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:120+w.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`,opacity:"0.7"},null,8,Eh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",vh,[k[11]||(k[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"15",fill:"#0f172a",stroke:"#475569","stroke-width":"2"},null,-1)),e.createElementVNode("text",{x:"0",y:"2","font-size":"10",fill:h.value,"text-anchor":"middle","font-family":"monospace","font-weight":"bold"},e.toDisplayString(d.value),9,kh),k[12]||(k[12]=e.createElementVNode("text",{x:"0",y:"8","font-size":"4",fill:"#64748b","text-anchor":"middle"},"%",-1))]),e.createElementVNode("g",_h,[k[13]||(k[13]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#ef4444","stroke-width":"1"},null,-1)),e.createElementVNode("text",Nh,e.toDisplayString(o.value)+"°C",1),e.createElementVNode("text",Sh,"→"+e.toDisplayString(i.value)+"°C",1)]),e.createElementVNode("g",xh,[k[14]||(k[14]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#3b82f6","stroke-width":"1"},null,-1)),e.createElementVNode("text",Vh,e.toDisplayString(l.value)+"°C",1),e.createElementVNode("text",Ch,"→"+e.toDisplayString(s.value)+"°C",1)]),e.createElementVNode("circle",{cx:"30",cy:"38",r:"3",fill:n.value?"#22c55e":"#64748b",opacity:n.value?1:.3},[n.value?(e.openBlock(),e.createElementBlock("animate",Ah)):e.createCommentVNode("",!0)],8,Ih),e.createElementVNode("text",Th," HEX-"+e.toDisplayString(c.value)+"m² ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-working":n.value}])},e.toDisplayString(n.value?"运行中":"停止")+" | 效率: "+e.toDisplayString(d.value)+"% ",3)]))}}),[["__scopeId","data-v-ed672204"]]),Bh={class:"tee-3d-container"},Dh={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},Ph=["id"],Oh=["id"],Mh=["stop-color"],Rh=["stop-color"],jh=["fill"],Lh=["fill"],Uh=["fill"],Fh={key:0},zh=["fill"],Wh=["x","fill"],qh=["x","fill"],Gh=["y","fill"],Hh=["y","fill"],Kh={key:1},Yh=["id"],Qh=["fill"],Jh=["stroke","marker-end"],Xh=["stroke","marker-end"],Zh=["stroke","marker-end"],em={transform:"translate(50, 50)"},tm=["fill"],rm=Me(e.defineComponent({__name:"Tee3D",props:{node:{}},setup(u){const t=u,r=e.ref(`tee-${Math.random().toString(36).substr(2,9)}`),a=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=e.ref(!1),o=e.ref("#3b82f6"),i=e.ref(!0),l=e.ref(!0),s=e.ref(0),c=e.ref(0),d=e.ref(0),h=e.ref(0);let m=null;const p=()=>{n.value&&(s.value=(s.value+1)%40,c.value=(c.value+1)%20,d.value=(d.value+1)%20,h.value=(h.value+1)%20),m=requestAnimationFrame(p)},f=()=>{const w=a();n.value=w.state==="flowing"||w.state===!0,o.value=w.fluidColor||"#3b82f6",i.value=w.topFlowEnabled!==!1,l.value=w.bottomFlowEnabled!==!1};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),p(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),e.onUnmounted(()=>{m&&cancelAnimationFrame(m)}),(w,N)=>(e.openBlock(),e.createElementBlock("div",Bh,[(e.openBlock(),e.createElementBlock("svg",Dh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...N[0]||(N[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ph),e.createElementVNode("radialGradient",{id:`flow-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":o.value,"stop-opacity":"0.8"},null,8,Mh),e.createElementVNode("stop",{offset:"100%","stop-color":o.value,"stop-opacity":"0.2"},null,8,Rh)],8,Oh)]),e.createElementVNode("rect",{x:"0",y:"40",width:"100",height:"20",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,jh),e.createElementVNode("rect",{x:"40",y:"0",width:"20",height:"100",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,Lh),e.createElementVNode("circle",{cx:"50",cy:"50",r:"18",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Uh),N[3]||(N[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"100",height:"14",fill:"#0f172a"},null,-1)),N[4]||(N[4]=e.createElementVNode("rect",{x:"43",y:"0",width:"14",height:"100",fill:"#0f172a"},null,-1)),N[5]||(N[5]=e.createElementVNode("circle",{cx:"50",cy:"50",r:"15",fill:"#0f172a"},null,-1)),n.value?(e.openBlock(),e.createElementBlock("g",Fh,[e.createElementVNode("circle",{cx:"50",cy:"50",r:"12",fill:`url(#flow-gradient-${r.value})`},[...N[1]||(N[1]=[e.createElementVNode("animate",{attributeName:"r",values:"8;14;8",dur:"1.5s",repeatCount:"indefinite"},null,-1)])],8,zh),e.createElementVNode("rect",{x:s.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.6"},null,8,Wh),e.createElementVNode("rect",{x:60+c.value,y:"45",width:"20",height:"10",fill:o.value,opacity:"0.4"},null,8,qh),e.createElementVNode("rect",{x:"45",y:d.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Gh),e.createElementVNode("rect",{x:"45",y:60+h.value,width:"10",height:"20",fill:o.value,opacity:"0.4"},null,8,Hh)])):e.createCommentVNode("",!0),N[6]||(N[6]=e.createStaticVNode('<g data-v-cd328987><ellipse cx="0" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="0" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="0" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="100" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="100" cy="45" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="100" cy="55" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="0" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="0" r="1" fill="#1e293b" data-v-cd328987></circle><ellipse cx="50" cy="100" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-cd328987></ellipse><circle cx="45" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle><circle cx="55" cy="100" r="1" fill="#1e293b" data-v-cd328987></circle></g>',1)),n.value?(e.openBlock(),e.createElementBlock("g",Kh,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto"},[e.createElementVNode("path",{d:"M0,0 L0,6 L6,3 z",fill:o.value},null,8,Qh)],8,Yh)]),e.createElementVNode("line",{x1:"20",y1:"50",x2:"35",y2:"50",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Jh),i.value?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"50",y1:"35",x2:"50",y2:"20",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Xh)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("line",{key:1,x1:"50",y1:"65",x2:"50",y2:"80",stroke:o.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Zh)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("g",em,[N[2]||(N[2]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"6",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"0",cy:"0",r:"3",fill:n.value?"#22c55e":"#64748b"},null,8,tm)])])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":n.value}])},e.toDisplayString(n.value?"流动中":"关闭"),3)]))}}),[["__scopeId","data-v-cd328987"]]),wa={metadata:{id:"pipe-3d",name:"3D管道",category:"iot",icon:"🔧",description:"3D仿真管道组件,支持横向/纵向和流体动画",version:"1.0.0"},shape:"pipe-3d-vue",component:Wp,width:220,height:60,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pipe",state:!1,flowRate:10,direction:"horizontal",fluidColor:"#3b82f6",diameter:40,length:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"流动",value:"flowing"}],description:"管道流体状态",bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:10,min:0,description:"流体流量",bindable:!0},{key:"direction",label:"管道方向",type:"select",path:"data.direction",defaultValue:"horizontal",options:[{label:"横向",value:"horizontal"},{label:"纵向",value:"vertical"}],description:"管道布置方向"},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色",bindable:!0},{key:"diameter",label:"管径(mm)",type:"number",path:"data.diameter",defaultValue:40,min:20,max:100,description:"管道直径"},{key:"length",label:"长度(mm)",type:"number",path:"data.length",defaultValue:200,min:100,max:500,description:"管道长度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"管道流体流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"flow_rate",name:"流量",description:"管道流体流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0}},{id:"pressure",name:"压力",description:"管道内压力",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"流体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1}]},Ea={metadata:{id:"filter-3d",name:"3D过滤器",category:"iot",icon:"🧹",description:"3D仿真过滤器,支持堵塞度和压差显示",version:"1.0.0"},shape:"filter-3d-vue",component:lh,width:140,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"filter",clogLevel:20,pressureDrop:5,diameter:50,alarmThreshold:70,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"clogLevel",label:"堵塞度(%)",type:"number",path:"data.clogLevel",defaultValue:20,min:0,max:100,description:"滤芯堵塞程度",bindable:!0},{key:"pressureDrop",label:"压差(kPa)",type:"number",path:"data.pressureDrop",defaultValue:5,min:0,description:"过滤器压差",bindable:!0},{key:"diameter",label:"口径(mm)",type:"number",path:"data.diameter",defaultValue:50,min:20,max:100,description:"过滤器口径"},{key:"alarmThreshold",label:"报警阈值(%)",type:"number",path:"data.alarmThreshold",defaultValue:70,min:0,max:100,description:"堵塞度报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"clog_level",name:"堵塞度",description:"滤芯堵塞程度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"pressure_drop",name:"压差",description:"过滤器进出口压差",dataType:"number",unit:"kPa",defaultValue:0,required:!0,range:{min:0}},{id:"flow_rate",name:"流量",description:"通过过滤器的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否触发堵塞告警",dataType:"boolean",defaultValue:!1,required:!1}]},va={metadata:{id:"heat-exchanger-3d",name:"3D换热器",category:"iot",icon:"🔥",description:"3D仿真换热器,支持热冷流体交换和效率显示",version:"1.0.0"},shape:"heat-exchanger-3d-vue",component:$h,width:160,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"heat-exchanger",state:!1,hotTempIn:80,hotTempOut:50,coldTempIn:20,coldTempOut:40,heatTransferArea:10,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"working"}],description:"换热器运行状态",bindable:!0},{key:"hotTempIn",label:"热侧进口(°C)",type:"number",path:"data.hotTempIn",defaultValue:80,description:"热流体进口温度",bindable:!0},{key:"hotTempOut",label:"热侧出口(°C)",type:"number",path:"data.hotTempOut",defaultValue:50,description:"热流体出口温度",bindable:!0},{key:"coldTempIn",label:"冷侧进口(°C)",type:"number",path:"data.coldTempIn",defaultValue:20,description:"冷流体进口温度",bindable:!0},{key:"coldTempOut",label:"冷侧出口(°C)",type:"number",path:"data.coldTempOut",defaultValue:40,description:"冷流体出口温度",bindable:!0},{key:"heatTransferArea",label:"换热面积(m²)",type:"number",path:"data.heatTransferArea",defaultValue:10,min:1,description:"换热器换热面积"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"换热器运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"hot_temp_in",name:"热侧进口温度",description:"热流体进口温度",dataType:"number",unit:"℃",defaultValue:80,required:!0},{id:"hot_temp_out",name:"热侧出口温度",description:"热流体出口温度",dataType:"number",unit:"℃",defaultValue:50,required:!0},{id:"cold_temp_in",name:"冷侧进口温度",description:"冷流体进口温度",dataType:"number",unit:"℃",defaultValue:20,required:!0},{id:"cold_temp_out",name:"冷侧出口温度",description:"冷流体出口温度",dataType:"number",unit:"℃",defaultValue:40,required:!0},{id:"efficiency",name:"换热效率",description:"换热器当前效率",dataType:"number",unit:"%",defaultValue:85,required:!1,range:{min:0,max:100}}]},ka={metadata:{id:"tee-3d",name:"3D三通",category:"iot",icon:"⛓️",description:"3D仿真三通管件,支持流体分流和汇流",version:"1.0.0"},shape:"tee-3d-vue",component:rm,width:120,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tee",state:!1,fluidColor:"#3b82f6",topFlowEnabled:!0,bottomFlowEnabled:!0,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"},{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"流动",value:"flowing"}],description:"三通管件流动状态",bindable:!0},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色"},{key:"topFlowEnabled",label:"上方分流",type:"boolean",path:"data.topFlowEnabled",defaultValue:!0,description:"是否启用上方分流",bindable:!0},{key:"bottomFlowEnabled",label:"下方分流",type:"boolean",path:"data.bottomFlowEnabled",defaultValue:!0,description:"是否启用下方分流",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"三通管件流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"top_flow_enabled",name:"上方分流",description:"上方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"bottom_flow_enabled",name:"下方分流",description:"下方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"inlet_flow",name:"入口流量",description:"三通入口流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1}]},om=Object.freeze(Object.defineProperty({__proto__:null,AlarmLight3DComponent:ga,Conveyor3DComponent:ma,Cylinder3DComponent:ba,EChartsGaugeComponent:la,EChartsLineComponent:da,Filter3DComponent:Ea,HeatExchanger3DComponent:va,LightComponent:ia,Motor3DComponent:ua,Pipe3DComponent:wa,Pump3DComponent:ha,SwitchComponent:aa,Tank3DComponent:pa,Tee3DComponent:ka,TemperatureSensor3DComponent:ya,Valve3DComponent:fa},Symbol.toStringTag,{value:"Module"}));class nm{constructor(){ve(this,"registry",{});this.registerDefaultComponents()}registerDefaultComponents(){this.register(ra),this.register(oa),this.register(na),this.register(ia),this.register(aa),this.register(la),this.register(da),this.register(ua),this.register(fa),this.register(pa),this.register(ha),this.register(ma),this.register(ga),this.register(ya),this.register(ba),this.register(wa),this.register(Ea),this.register(va),this.register(ka)}register(t){const{id:r}=t.metadata;this.registry[r]&&console.warn(`组件 ${r} 已存在,将被覆盖`),this.registry[r]=t}registerBatch(t){t.forEach(r=>this.register(r))}getComponent(t){return this.registry[t]}getComponentByShape(t){return Object.values(this.registry).find(r=>r.shape===t)}getAllComponents(){return{...this.registry}}getComponentsByCategory(t){return Object.values(this.registry).filter(r=>r.metadata.category===t)}getComponentList(){return Object.values(this.registry)}hasComponent(t){return t in this.registry}unregister(t){return this.registry[t]?(delete this.registry[t],!0):(console.warn(`组件 ${t} 不存在`),!1)}getCount(){return Object.keys(this.registry).length}clear(){this.registry={}}}const $t=new nm,wo={size:{width:1920,height:1080,preset:"1920*1080"},zoom:{scale:1,min:.1,max:5},offset:{x:0,y:0},background:{color:"#1e293b",size:"origin",repeat:"repeat"},grid:{enabled:!0,size:10,color:"#475569",type:"dot"},snap:{enabled:!0,threshold:10},guides:{enabled:!1,color:"#3b82f6"},magnetism:{enabled:!0,threshold:10}},im=[{key:"sizePreset",label:"画布尺寸",type:"select",category:"basic",path:"size.preset",defaultValue:"1920*1080",options:[{label:"1920*1080",value:"1920*1080"},{label:"1366*768",value:"1366*768"},{label:"1280*720",value:"1280*720"},{label:"800*600",value:"800*600"}],description:"预设画布尺寸"},{key:"scale",label:"缩放倍数",type:"slider",category:"transform",path:"zoom.scale",defaultValue:1,min:.1,max:5,step:.1,description:"画布缩放比例"},{key:"offsetX",label:"画布X轴偏移",type:"number",category:"transform",path:"offset.x",defaultValue:0,description:"X轴偏移量"},{key:"offsetY",label:"画布Y轴偏移",type:"number",category:"transform",path:"offset.y",defaultValue:0,description:"Y轴偏移量"},{key:"backgroundColor",label:"背景颜色",type:"color",category:"background",path:"background.color",defaultValue:"#1e293b",description:"画布背景颜色"},{key:"backgroundImage",label:"背景图片",type:"image",category:"background",path:"background.image",defaultValue:"",description:"背景图片URL"},{key:"backgroundSize",label:"背景大小",type:"select",category:"background",path:"background.size",defaultValue:"origin",options:[{label:"原始",value:"origin"},{label:"包含",value:"contain"},{label:"覆盖",value:"cover"},{label:"拉伸",value:"stretch"}],description:"背景图片尺寸模式"},{key:"backgroundRepeat",label:"图像重复",type:"select",category:"background",path:"background.repeat",defaultValue:"repeat",options:[{label:"重复",value:"repeat"},{label:"X轴重复",value:"repeat-x"},{label:"Y轴重复",value:"repeat-y"},{label:"不重复",value:"no-repeat"}],description:"背景图片重复模式"},{key:"gridEnabled",label:"网格",type:"boolean",category:"assist",path:"grid.enabled",defaultValue:!0,description:"显示网格"},{key:"gridSize",label:"网格大小",type:"number",category:"assist",path:"grid.size",defaultValue:10,min:5,max:50,description:"网格单元格大小"},{key:"snapEnabled",label:"网格对齐",type:"boolean",category:"assist",path:"snap.enabled",defaultValue:!0,description:"启用网格对齐"},{key:"guidesEnabled",label:"参考线",type:"boolean",category:"assist",path:"guides.enabled",defaultValue:!0,description:"显示参考线"},{key:"magnetismEnabled",label:"吸附",type:"boolean",category:"assist",path:"magnetism.enabled",defaultValue:!0,description:"启用吸附功能"}],ur={"1920*1080":{width:1920,height:1080},"1366*768":{width:1366,height:768},"1280*720":{width:1280,height:720},"800*600":{width:800,height:600}};class am{constructor(){ve(this,"config");this.config=e.reactive({...wo})}getConfig(){return this.config}updateConfig(t){Object.assign(this.config,t)}updateByPath(t,r){const a=t.split(".");let n=this.config;for(let o=0;o<a.length-1;o++)n=n[a[o]];if(n[a[a.length-1]]=r,t==="size.preset"&&r in ur){const{width:o,height:i}=ur[r];this.config.size.width=o,this.config.size.height=i}}getByPath(t){const r=t.split(".");let a=this.config;for(const n of r)a=a==null?void 0:a[n];return a}setSize(t,r,a){this.config.size.width=t,this.config.size.height=r,a&&(this.config.size.preset=a)}updateSize(t){this.config.size.width=t.width,this.config.size.height=t.height}setZoom(t){const{min:r=.1,max:a=5}=this.config.zoom;this.config.zoom.scale=Math.max(r,Math.min(a,t))}setOffset(t,r){this.config.offset.x=t,this.config.offset.y=r}setBackgroundColor(t){this.config.background.color=t}updateBackground(t){t.color!==void 0&&(this.config.background.color=t.color),t.image!==void 0&&(this.config.background.image=t.image),t.size!==void 0&&(this.config.background.size=t.size),t.repeat!==void 0&&(this.config.background.repeat=t.repeat)}setBackgroundImage(t){this.config.background.image=t}toggleGrid(t){this.config.grid.enabled=t??!this.config.grid.enabled}setGridSize(t){this.config.grid.size=t}toggleSnap(t){this.config.snap.enabled=t??!this.config.snap.enabled}toggleGuides(t){this.config.guides.enabled=t??!this.config.guides.enabled}toggleMagnetism(t){this.config.magnetism.enabled=t??!this.config.magnetism.enabled}reset(){Object.assign(this.config,wo)}export(){return JSON.stringify(this.config,null,2)}import(t){try{const r=JSON.parse(t);Object.assign(this.config,r)}catch(r){console.error("导入画布配置失败:",r)}}}const je=new am,sm=["title"],lm={class:"library-content"},cm={key:0,class:"component-section"},dm={class:"component-grid"},um=["onClick","title"],fm={class:"component-icon"},pm={class:"component-name"},hm={key:1,class:"component-section"},mm={class:"component-grid"},gm=["onClick","title"],ym={class:"component-icon"},bm={class:"component-name"},Eo=Me(e.defineComponent({__name:"ComponentLibrary",props:{isCollapsed:{type:Boolean,default:!1}},emits:["addComponent","update:collapsed"],setup(u,{emit:t}){const r=u,a=t,n=()=>{a("update:collapsed",!r.isCollapsed)},o=e.reactive({basic:!1,iot:!1}),i=d=>{o[d]=!o[d]},l=e.computed(()=>$t.getComponentsByCategory("basic")),s=e.computed(()=>$t.getComponentsByCategory("iot")),c=d=>{a("addComponent",d.metadata.id)};return(d,h)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["component-library",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开组件库":"折叠组件库"},[...h[2]||(h[2]=[e.createElementVNode("span",{class:"collapse-icon"},"◀",-1)])],8,sm),h[5]||(h[5]=e.createElementVNode("div",{class:"library-header"},[e.createElementVNode("h3",null,"组件库")],-1)),e.createElementVNode("div",lm,[l.value.length>0?(e.openBlock(),e.createElementBlock("div",cm,[e.createElementVNode("div",{class:"section-header",onClick:h[0]||(h[0]=m=>i("basic"))},[h[3]||(h[3]=e.createElementVNode("h4",{class:"section-title"},"基础组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.basic}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",dm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:p=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",fm,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",pm,e.toDisplayString(m.metadata.name),1)],8,um))),128))],512),[[e.vShow,!o.basic]])])):e.createCommentVNode("",!0),s.value.length>0?(e.openBlock(),e.createElementBlock("div",hm,[e.createElementVNode("div",{class:"section-header",onClick:h[1]||(h[1]=m=>i("iot"))},[h[4]||(h[4]=e.createElementVNode("h4",{class:"section-title"},"IoT组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:o.iot}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",mm,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,m=>(e.openBlock(),e.createElementBlock("div",{key:m.metadata.id,class:"component-item",onClick:p=>c(m),title:m.metadata.description||m.metadata.name},[e.createElementVNode("span",ym,e.toDisplayString(m.metadata.icon),1),e.createElementVNode("span",bm,e.toDisplayString(m.metadata.name),1)],8,gm))),128))],512),[[e.vShow,!o.iot]])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-d0dd96c9"]]),wm={class:"canvas-area"},Em=Me(e.defineComponent({__name:"CanvasArea",setup(u,{expose:t}){const r=e.ref();return t({containerRef:r}),(a,n)=>(e.openBlock(),e.createElementBlock("div",wm,[e.createElementVNode("div",{ref_key:"containerRef",ref:r,class:"canvas-container"},null,512)]))}}),[["__scopeId","data-v-8493cde1"]]),vm={class:"canvas-config-panel"},km={class:"panel-content"},_m={class:"config-section"},Nm={class:"config-item"},Sm={key:0,class:"config-item"},xm={class:"number-input-group"},Vm={key:1,class:"config-item"},Cm={class:"number-input-group"},Im={class:"config-section"},Am={class:"config-item"},Tm={class:"slider-group"},$m={class:"value-display"},Bm={class:"config-item"},Dm={class:"number-input-group"},Pm={class:"config-item"},Om={class:"number-input-group"},Mm={class:"config-section"},Rm={class:"config-item"},jm={class:"config-item"},Lm={class:"image-upload"},Um={class:"config-item"},Fm={class:"config-item"},zm={class:"config-section"},Wm={class:"config-item"},qm={class:"switch"},Gm={class:"config-item"},Hm={class:"switch"},Km={class:"config-item"},Ym={class:"switch"},Qm={key:0,class:"config-item"},Jm={class:"number-input-group"},vo=Me(e.defineComponent({__name:"CanvasConfigPanel",setup(u){const t=e.computed(()=>je.getConfig()),r=e.ref(),a=e.ref(t.value.size.width),n=e.ref(t.value.size.height),o=()=>{const p=t.value.size.preset;if(p==="custom")a.value=t.value.size.width,n.value=t.value.size.height;else if(p&&p in ur){const{width:f,height:w}=ur[p];je.setSize(f,w,p)}},i=()=>{t.value.size.preset==="custom"&&je.setSize(a.value,n.value,"custom")},l=(p,f)=>{p==="width"?a.value=Math.max(800,Math.min(7680,a.value+f)):n.value=Math.max(600,Math.min(4320,n.value+f)),i()},s=(p,f)=>{const w=t.value.offset[p];je.setOffset(p==="x"?w+f:t.value.offset.x,p==="y"?w+f:t.value.offset.y)},c=p=>{const f=Math.max(5,Math.min(50,t.value.grid.size+p));je.setGridSize(f)},d=()=>{var p;(p=r.value)==null||p.click()},h=p=>{var N;const w=(N=p.target.files)==null?void 0:N[0];if(w){const S=new FileReader;S.onload=b=>{var k;const E=(k=b.target)==null?void 0:k.result;je.updateByPath("background.image",E)},S.readAsDataURL(w)}},m=()=>{je.updateByPath("background.image",""),r.value&&(r.value.value="")};return(p,f)=>(e.openBlock(),e.createElementBlock("div",vm,[f[48]||(f[48]=e.createElementVNode("div",{class:"panel-header"},[e.createElementVNode("h3",null,"画布配置")],-1)),e.createElementVNode("div",km,[e.createElementVNode("div",_m,[f[27]||(f[27]=e.createElementVNode("h4",{class:"section-title"},"基础配置",-1)),e.createElementVNode("div",Nm,[f[24]||(f[24]=e.createElementVNode("label",null,"画布尺寸",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[0]||(f[0]=w=>t.value.size.preset=w),onChange:o,class:"config-select"},[...f[23]||(f[23]=[e.createStaticVNode('<option value="1920*1080" data-v-be44eb59>1920*1080</option><option value="1366*768" data-v-be44eb59>1366*768</option><option value="1280*720" data-v-be44eb59>1280*720</option><option value="800*600" data-v-be44eb59>800*600</option><option value="custom" data-v-be44eb59>自定义</option>',5)])],544),[[e.vModelSelect,t.value.size.preset]])]),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Sm,[f[25]||(f[25]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("div",xm,[e.createElementVNode("button",{onClick:f[1]||(f[1]=w=>l("width",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[2]||(f[2]=w=>a.value=w),onChange:i,min:800,max:7680,class:"config-number"},null,544),[[e.vModelText,a.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[3]||(f[3]=w=>l("width",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Vm,[f[26]||(f[26]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("div",Cm,[e.createElementVNode("button",{onClick:f[4]||(f[4]=w=>l("height",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[5]||(f[5]=w=>n.value=w),onChange:i,min:600,max:4320,class:"config-number"},null,544),[[e.vModelText,n.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[6]||(f[6]=w=>l("height",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Im,[f[31]||(f[31]=e.createElementVNode("h4",{class:"section-title"},"变换",-1)),e.createElementVNode("div",Am,[f[28]||(f[28]=e.createElementVNode("label",null,"缩放倍数",-1)),e.createElementVNode("div",Tm,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":f[7]||(f[7]=w=>t.value.zoom.scale=w),min:.1,max:5,step:.1,class:"config-slider"},null,512),[[e.vModelText,t.value.zoom.scale,void 0,{number:!0}]]),e.createElementVNode("span",$m,e.toDisplayString(t.value.zoom.scale.toFixed(1)),1)])]),e.createElementVNode("div",Bm,[f[29]||(f[29]=e.createElementVNode("label",null,"画布X轴偏移",-1)),e.createElementVNode("div",Dm,[e.createElementVNode("button",{onClick:f[8]||(f[8]=w=>s("x",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[9]||(f[9]=w=>t.value.offset.x=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.x,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[10]||(f[10]=w=>s("x",10)),class:"adjust-btn"},"+")])]),e.createElementVNode("div",Pm,[f[30]||(f[30]=e.createElementVNode("label",null,"画布Y轴偏移",-1)),e.createElementVNode("div",Om,[e.createElementVNode("button",{onClick:f[11]||(f[11]=w=>s("y",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[12]||(f[12]=w=>t.value.offset.y=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.y,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[13]||(f[13]=w=>s("y",10)),class:"adjust-btn"},"+")])])]),e.createElementVNode("div",Mm,[f[39]||(f[39]=e.createElementVNode("h4",{class:"section-title"},"背景",-1)),e.createElementVNode("div",Rm,[f[32]||(f[32]=e.createElementVNode("label",null,"背景颜色",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":f[14]||(f[14]=w=>t.value.background.color=w),class:"config-color"},null,512),[[e.vModelText,t.value.background.color]])]),e.createElementVNode("div",jm,[f[34]||(f[34]=e.createElementVNode("label",null,"背景图片",-1)),e.createElementVNode("div",Lm,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:h,ref_key:"fileInput",ref:r,style:{display:"none"}},null,544),e.createElementVNode("button",{onClick:d,class:"upload-btn"},[...f[33]||(f[33]=[e.createElementVNode("span",null,"📄",-1)])]),t.value.background.image?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:m,class:"clear-btn",title:"清除背景图"}," ✕ ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Um,[f[36]||(f[36]=e.createElementVNode("label",null,"背景大小",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[15]||(f[15]=w=>t.value.background.size=w),class:"config-select"},[...f[35]||(f[35]=[e.createElementVNode("option",{value:"origin"},"原始",-1),e.createElementVNode("option",{value:"contain"},"包含",-1),e.createElementVNode("option",{value:"cover"},"覆盖",-1),e.createElementVNode("option",{value:"stretch"},"拉伸",-1)])],512),[[e.vModelSelect,t.value.background.size]])]),e.createElementVNode("div",Fm,[f[38]||(f[38]=e.createElementVNode("label",null,"图像重复",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[16]||(f[16]=w=>t.value.background.repeat=w),class:"config-select"},[...f[37]||(f[37]=[e.createElementVNode("option",{value:"repeat"},"重复",-1),e.createElementVNode("option",{value:"repeat-x"},"X轴重复",-1),e.createElementVNode("option",{value:"repeat-y"},"Y轴重复",-1),e.createElementVNode("option",{value:"no-repeat"},"不重复",-1)])],512),[[e.vModelSelect,t.value.background.repeat]])])]),e.createElementVNode("div",zm,[f[47]||(f[47]=e.createElementVNode("h4",{class:"section-title"},"辅助",-1)),e.createElementVNode("div",Wm,[f[41]||(f[41]=e.createElementVNode("label",null,"吸附",-1)),e.createElementVNode("label",qm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[17]||(f[17]=w=>t.value.magnetism.enabled=w)},null,512),[[e.vModelCheckbox,t.value.magnetism.enabled]]),f[40]||(f[40]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Gm,[f[43]||(f[43]=e.createElementVNode("label",null,"网格",-1)),e.createElementVNode("label",Hm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[18]||(f[18]=w=>t.value.grid.enabled=w)},null,512),[[e.vModelCheckbox,t.value.grid.enabled]]),f[42]||(f[42]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Km,[f[45]||(f[45]=e.createElementVNode("label",null,"网格对齐",-1)),e.createElementVNode("label",Ym,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[19]||(f[19]=w=>t.value.snap.enabled=w)},null,512),[[e.vModelCheckbox,t.value.snap.enabled]]),f[44]||(f[44]=e.createElementVNode("span",{class:"slider"},null,-1))])]),t.value.grid.enabled?(e.openBlock(),e.createElementBlock("div",Qm,[f[46]||(f[46]=e.createElementVNode("label",null,"网格大小",-1)),e.createElementVNode("div",Jm,[e.createElementVNode("button",{onClick:f[20]||(f[20]=w=>c(-5)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":f[21]||(f[21]=w=>t.value.grid.size=w),min:5,max:50,class:"config-number"},null,512),[[e.vModelText,t.value.grid.size,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:f[22]||(f[22]=w=>c(5)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)])])]))}}),[["__scopeId","data-v-be44eb59"]]),Xm={class:"tab-pane"},Zm={class:"property-section"},eg={class:"property-item-inline"},tg=["value"],rg={class:"property-item-inline"},og=["value"],ng={class:"property-item-inline"},ig=["value"],ag={class:"property-section"},sg={class:"property-row"},lg={class:"property-item"},cg=["value"],dg={class:"property-item"},ug=["value"],fg={class:"property-row"},pg={class:"property-item"},hg=["value"],mg={class:"property-item"},gg=["value"],yg={class:"property-section"},bg={class:"property-item-inline"},wg=["value"],Eg={class:"property-item-inline"},vg={class:"color-input-wrapper"},kg=["value"],_g={class:"color-value"},Ng={class:"property-item-inline"},Sg={class:"color-input-wrapper"},xg=["value"],Vg={class:"color-value"},Cg={class:"property-item-inline"},Ig=["value"],Ag={class:"property-item-inline"},Tg=["value"],$g={key:0,class:"property-section"},Bg={key:0,class:"property-hint"},Dg=["value","onInput","placeholder"],Pg=["value","onInput","min","max","step"],Og={key:2,class:"color-input-wrapper"},Mg=["value","onInput"],Rg={class:"color-value"},jg={key:3,class:"checkbox-wrapper"},Lg=["checked","onChange"],Ug={class:"checkbox-label"},Fg=["value","onChange"],zg=["value"],ko=Me(e.defineComponent({__name:"BasicPropertiesTab",props:{selectedNode:{},nodePosition:{},nodeSize:{},nodeAttrs:{}},emits:["update-position","update-size","update-label","update-fill","update-stroke","update-stroke-width","update-opacity","update-component-name","update-dynamic-prop"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>{var c,d;if(!((d=(c=r.selectedNode)==null?void 0:c.data)!=null&&d.props))return[];const s=["label","fill","stroke","strokeWidth","opacity"];return r.selectedNode.data.props.filter(h=>!s.includes(h.key))}),o=s=>{if(!s.path)return s.defaultValue;const c=s.path.split(".");let d=r.selectedNode;for(const h of c)if(d&&typeof d=="object")d=d[h];else return s.defaultValue;return d!==void 0?d:s.defaultValue},i=s=>!s||s==="transparent"?"#000000":typeof s=="string"&&s.startsWith("#")?s:"#000000",l=(s,c)=>{var m;const d=c.target;let h;if(s.type==="number")h=Number(d.value);else if(s.type==="boolean")h=d.checked;else if(s.type==="select"){const p=(m=s.options)==null?void 0:m.find(f=>String(f.value)===d.value);h=p?p.value:d.value}else h=d.value;a("update-dynamic-prop",s.path,h)};return(s,c)=>{var d,h,m,p,f,w,N,S,b,E,k,v,V,T,C,A,I;return e.openBlock(),e.createElementBlock("div",Xm,[e.createElementVNode("div",Zm,[c[13]||(c[13]=e.createElementVNode("h4",null,"基础信息",-1)),e.createElementVNode("div",eg,[c[10]||(c[10]=e.createElementVNode("label",null,"组件名称",-1)),e.createElementVNode("input",{type:"text",value:((d=u.selectedNode.getData())==null?void 0:d.componentName)||"",onInput:c[0]||(c[0]=$=>s.$emit("update-component-name",$)),placeholder:"请输入组件名称"},null,40,tg)]),e.createElementVNode("div",rg,[c[11]||(c[11]=e.createElementVNode("label",null,"ID",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.id,disabled:""},null,8,og)]),e.createElementVNode("div",ng,[c[12]||(c[12]=e.createElementVNode("label",null,"类型",-1)),e.createElementVNode("input",{type:"text",value:u.selectedNode.shape,disabled:""},null,8,ig)])]),e.createElementVNode("div",ag,[c[18]||(c[18]=e.createElementVNode("h4",null,"位置和尺寸",-1)),e.createElementVNode("div",sg,[e.createElementVNode("div",lg,[c[14]||(c[14]=e.createElementVNode("label",null,"X",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.x,onInput:c[1]||(c[1]=$=>s.$emit("update-position","x",$))},null,40,cg)]),e.createElementVNode("div",dg,[c[15]||(c[15]=e.createElementVNode("label",null,"Y",-1)),e.createElementVNode("input",{type:"number",value:u.nodePosition.y,onInput:c[2]||(c[2]=$=>s.$emit("update-position","y",$))},null,40,ug)])]),e.createElementVNode("div",fg,[e.createElementVNode("div",pg,[c[16]||(c[16]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.width,onInput:c[3]||(c[3]=$=>s.$emit("update-size","width",$))},null,40,hg)]),e.createElementVNode("div",mg,[c[17]||(c[17]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("input",{type:"number",value:u.nodeSize.height,onInput:c[4]||(c[4]=$=>s.$emit("update-size","height",$))},null,40,gg)])])]),e.createElementVNode("div",yg,[c[24]||(c[24]=e.createElementVNode("h4",null,"样式",-1)),e.createElementVNode("div",bg,[c[19]||(c[19]=e.createElementVNode("label",null,"初始文本",-1)),e.createElementVNode("input",{type:"text",value:((m=(h=u.nodeAttrs)==null?void 0:h.text)==null?void 0:m.text)||((f=(p=u.nodeAttrs)==null?void 0:p.label)==null?void 0:f.text)||u.selectedNode.getProp("label")||"",onInput:c[5]||(c[5]=$=>s.$emit("update-label",$)),placeholder:"设置默认显示文本"},null,40,wg)]),e.createElementVNode("div",Eg,[c[20]||(c[20]=e.createElementVNode("label",null,"填充颜色",-1)),e.createElementVNode("div",vg,[e.createElementVNode("input",{type:"color",value:i((N=(w=u.nodeAttrs)==null?void 0:w.body)==null?void 0:N.fill)||"#3b82f6",onInput:c[6]||(c[6]=$=>s.$emit("update-fill",$))},null,40,kg),e.createElementVNode("span",_g,e.toDisplayString(((b=(S=u.nodeAttrs)==null?void 0:S.body)==null?void 0:b.fill)||"#3b82f6"),1)])]),e.createElementVNode("div",Ng,[c[21]||(c[21]=e.createElementVNode("label",null,"边框颜色",-1)),e.createElementVNode("div",Sg,[e.createElementVNode("input",{type:"color",value:i((k=(E=u.nodeAttrs)==null?void 0:E.body)==null?void 0:k.stroke)||"#2563eb",onInput:c[7]||(c[7]=$=>s.$emit("update-stroke",$))},null,40,xg),e.createElementVNode("span",Vg,e.toDisplayString(((V=(v=u.nodeAttrs)==null?void 0:v.body)==null?void 0:V.stroke)||"#2563eb"),1)])]),e.createElementVNode("div",Cg,[c[22]||(c[22]=e.createElementVNode("label",null,"边框宽度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"10",value:((C=(T=u.nodeAttrs)==null?void 0:T.body)==null?void 0:C.strokeWidth)||2,onInput:c[8]||(c[8]=$=>s.$emit("update-stroke-width",$))},null,40,Ig)]),e.createElementVNode("div",Ag,[c[23]||(c[23]=e.createElementVNode("label",null,"透明度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"1",step:"0.1",value:((I=(A=u.nodeAttrs)==null?void 0:A.body)==null?void 0:I.opacity)!==void 0?u.nodeAttrs.body.opacity:1,onInput:c[9]||(c[9]=$=>s.$emit("update-opacity",$))},null,40,Tg)])]),n.value.length>0?(e.openBlock(),e.createElementBlock("div",$g,[c[25]||(c[25]=e.createElementVNode("h4",null,"组件属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,$=>(e.openBlock(),e.createElementBlock("div",{key:$.key,class:"property-item-inline"},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString($.label)+" ",1),$.description?(e.openBlock(),e.createElementBlock("span",Bg,e.toDisplayString($.description),1)):e.createCommentVNode("",!0)]),$.type==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,type:"text",value:o($),onInput:x=>l($,x),placeholder:$.defaultValue},null,40,Dg)):$.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,type:"number",value:o($),onInput:x=>l($,x),min:$.min,max:$.max,step:$.step},null,40,Pg)):$.type==="color"?(e.openBlock(),e.createElementBlock("div",Og,[e.createElementVNode("input",{type:"color",value:i(o($)),onInput:x=>l($,x)},null,40,Mg),e.createElementVNode("span",Rg,e.toDisplayString(o($)),1)])):$.type==="boolean"?(e.openBlock(),e.createElementBlock("div",jg,[e.createElementVNode("input",{type:"checkbox",checked:o($),onChange:x=>l($,x)},null,40,Lg),e.createElementVNode("span",Ug,e.toDisplayString(o($)?"是":"否"),1)])):$.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:4,value:o($),onChange:x=>l($,x)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList($.options,x=>(e.openBlock(),e.createElementBlock("option",{key:x.value,value:x.value},e.toDisplayString(x.label),9,zg))),128))],40,Fg)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9adee2cc"]]);var _o=Object.defineProperty,Wg=Object.getOwnPropertyDescriptor,qg=Object.getOwnPropertyNames,Gg=Object.prototype.hasOwnProperty,dt=(u,t)=>()=>(u&&(t=u(u=0)),t),_e=(u,t)=>()=>(t||u((t={exports:{}}).exports,t),t.exports),rr=(u,t)=>{for(var r in t)_o(u,r,{get:t[r],enumerable:!0})},Hg=(u,t,r,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of qg(t))!Gg.call(u,n)&&n!==r&&_o(u,n,{get:()=>t[n],enumerable:!(a=Wg(t,n))||a.enumerable});return u},We=u=>Hg(_o({},"__esModule",{value:!0}),u),ye=dt(()=>{}),ze={};rr(ze,{_debugEnd:()=>nn,_debugProcess:()=>on,_events:()=>vn,_eventsCount:()=>kn,_exiting:()=>zo,_fatalExceptions:()=>en,_getActiveHandles:()=>Ia,_getActiveRequests:()=>Ca,_kill:()=>Go,_linkedBinding:()=>xa,_maxListeners:()=>En,_preload_modules:()=>yn,_rawDebug:()=>Lo,_startProfilerIdleNotifier:()=>an,_stopProfilerIdleNotifier:()=>sn,_tickCallback:()=>rn,abort:()=>un,addListener:()=>_n,allowedNodeEnvironmentFlags:()=>Xo,arch:()=>xo,argv:()=>Io,argv0:()=>gn,assert:()=>Aa,binding:()=>Do,browser:()=>jo,chdir:()=>Mo,config:()=>Wo,cpuUsage:()=>pr,cwd:()=>Oo,debugPort:()=>mn,default:()=>Tn,dlopen:()=>Va,domain:()=>Fo,emit:()=>Cn,emitWarning:()=>Bo,env:()=>Co,execArgv:()=>Ao,execPath:()=>hn,exit:()=>Qo,features:()=>Zo,hasUncaughtExceptionCaptureCallback:()=>Ta,hrtime:()=>Vr,kill:()=>Yo,listeners:()=>Ba,memoryUsage:()=>Ko,moduleLoadList:()=>Uo,nextTick:()=>Na,off:()=>Sn,on:()=>vt,once:()=>Nn,openStdin:()=>Jo,pid:()=>fn,platform:()=>Vo,ppid:()=>pn,prependListener:()=>In,prependOnceListener:()=>An,reallyExit:()=>qo,release:()=>Ro,removeAllListeners:()=>Vn,removeListener:()=>xn,resourceUsage:()=>Ho,setSourceMapsEnabled:()=>bn,setUncaughtExceptionCaptureCallback:()=>tn,stderr:()=>cn,stdin:()=>dn,stdout:()=>ln,title:()=>So,umask:()=>Po,uptime:()=>$a,version:()=>To,versions:()=>$o});function No(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function Kg(){!Ht||!Kt||(Ht=!1,Kt.length?yt=Kt.concat(yt):fr=-1,yt.length&&_a())}function _a(){if(!Ht){var u=setTimeout(Kg,0);Ht=!0;for(var t=yt.length;t;){for(Kt=yt,yt=[];++fr<t;)Kt&&Kt[fr].run();fr=-1,t=yt.length}Kt=null,Ht=!1,clearTimeout(u)}}function Na(u){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];yt.push(new Sa(u,t)),yt.length===1&&!Ht&&setTimeout(_a,0)}function Sa(u,t){this.fun=u,this.array=t}function it(){}function xa(u){No("_linkedBinding")}function Va(u){No("dlopen")}function Ca(){return[]}function Ia(){return[]}function Aa(u,t){if(!u)throw new Error(t||"assertion error")}function Ta(){return!1}function $a(){return kt.now()/1e3}function Vr(u){var t=Math.floor((Date.now()-kt.now())*.001),r=kt.now()*.001,a=Math.floor(r)+t,n=Math.floor(r%1*1e9);return u&&(a=a-u[0],n=n-u[1],n<0&&(a--,n+=Cr)),[a,n]}function vt(){return Tn}function Ba(u){return[]}var yt,Ht,Kt,fr,So,xo,Vo,Co,Io,Ao,To,$o,Bo,Do,Po,Oo,Mo,Ro,jo,Lo,Uo,Fo,zo,Wo,qo,Go,pr,Ho,Ko,Yo,Qo,Jo,Xo,Zo,en,tn,rn,on,nn,an,sn,ln,cn,dn,un,fn,pn,hn,mn,gn,yn,bn,kt,wn,Cr,En,vn,kn,_n,Nn,Sn,xn,Vn,Cn,In,An,Tn,Yg=dt(()=>{ye(),we(),be(),yt=[],Ht=!1,fr=-1,Sa.prototype.run=function(){this.fun.apply(null,this.array)},So="browser",xo="x64",Vo="browser",Co={PATH:"/usr/bin",LANG:typeof navigator<"u"?navigator.language+".UTF-8":void 0,PWD:"/",HOME:"/home",TMP:"/tmp"},Io=["/usr/bin/node"],Ao=[],To="v16.8.0",$o={},Bo=function(u,t){console.warn((t?t+": ":"")+u)},Do=function(u){No("binding")},Po=function(u){return 0},Oo=function(){return"/"},Mo=function(u){},Ro={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},jo=!0,Lo=it,Uo=[],Fo={},zo=!1,Wo={},qo=it,Go=it,pr=function(){return{}},Ho=pr,Ko=pr,Yo=it,Qo=it,Jo=it,Xo={},Zo={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},en=it,tn=it,rn=it,on=it,nn=it,an=it,sn=it,ln=void 0,cn=void 0,dn=void 0,un=it,fn=2,pn=1,hn="/bin/usr/node",mn=9229,gn="node",yn=[],bn=it,kt={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},kt.now===void 0&&(wn=Date.now(),kt.timing&&kt.timing.navigationStart&&(wn=kt.timing.navigationStart),kt.now=()=>Date.now()-wn),Cr=1e9,Vr.bigint=function(u){var t=Vr(u);return typeof BigInt>"u"?t[0]*Cr+t[1]:BigInt(t[0]*Cr)+BigInt(t[1])},En=10,vn={},kn=0,_n=vt,Nn=vt,Sn=vt,xn=vt,Vn=vt,Cn=it,In=vt,An=vt,Tn={version:To,versions:$o,arch:xo,platform:Vo,browser:jo,release:Ro,_rawDebug:Lo,moduleLoadList:Uo,binding:Do,_linkedBinding:xa,_events:vn,_eventsCount:kn,_maxListeners:En,on:vt,addListener:_n,once:Nn,off:Sn,removeListener:xn,removeAllListeners:Vn,emit:Cn,prependListener:In,prependOnceListener:An,listeners:Ba,domain:Fo,_exiting:zo,config:Wo,dlopen:Va,uptime:$a,_getActiveRequests:Ca,_getActiveHandles:Ia,reallyExit:qo,_kill:Go,cpuUsage:pr,resourceUsage:Ho,memoryUsage:Ko,kill:Yo,exit:Qo,openStdin:Jo,allowedNodeEnvironmentFlags:Xo,assert:Aa,features:Zo,_fatalExceptions:en,setUncaughtExceptionCaptureCallback:tn,hasUncaughtExceptionCaptureCallback:Ta,emitWarning:Bo,nextTick:Na,_tickCallback:rn,_debugProcess:on,_debugEnd:nn,_startProfilerIdleNotifier:an,_stopProfilerIdleNotifier:sn,stdout:ln,stdin:dn,stderr:cn,abort:un,umask:Po,chdir:Mo,cwd:Oo,env:Co,title:So,argv:Io,execArgv:Ao,pid:fn,ppid:pn,execPath:hn,debugPort:mn,hrtime:Vr,argv0:gn,_preload_modules:yn,setSourceMapsEnabled:bn}}),be=dt(()=>{Yg()});function Qg(){if($n)return or;$n=!0,or.byteLength=l,or.toByteArray=c,or.fromByteArray=m;for(var u=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,o=a.length;n<o;++n)u[n]=a[n],t[a.charCodeAt(n)]=n;t[45]=62,t[95]=63;function i(p){var f=p.length;if(f%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var w=p.indexOf("=");w===-1&&(w=f);var N=w===f?0:4-w%4;return[w,N]}function l(p){var f=i(p),w=f[0],N=f[1];return(w+N)*3/4-N}function s(p,f,w){return(f+w)*3/4-w}function c(p){var f,w=i(p),N=w[0],S=w[1],b=new r(s(p,N,S)),E=0,k=S>0?N-4:N,v;for(v=0;v<k;v+=4)f=t[p.charCodeAt(v)]<<18|t[p.charCodeAt(v+1)]<<12|t[p.charCodeAt(v+2)]<<6|t[p.charCodeAt(v+3)],b[E++]=f>>16&255,b[E++]=f>>8&255,b[E++]=f&255;return S===2&&(f=t[p.charCodeAt(v)]<<2|t[p.charCodeAt(v+1)]>>4,b[E++]=f&255),S===1&&(f=t[p.charCodeAt(v)]<<10|t[p.charCodeAt(v+1)]<<4|t[p.charCodeAt(v+2)]>>2,b[E++]=f>>8&255,b[E++]=f&255),b}function d(p){return u[p>>18&63]+u[p>>12&63]+u[p>>6&63]+u[p&63]}function h(p,f,w){for(var N,S=[],b=f;b<w;b+=3)N=(p[b]<<16&16711680)+(p[b+1]<<8&65280)+(p[b+2]&255),S.push(d(N));return S.join("")}function m(p){for(var f,w=p.length,N=w%3,S=[],b=16383,E=0,k=w-N;E<k;E+=b)S.push(h(p,E,E+b>k?k:E+b));return N===1?(f=p[w-1],S.push(u[f>>2]+u[f<<4&63]+"==")):N===2&&(f=(p[w-2]<<8)+p[w-1],S.push(u[f>>10]+u[f>>4&63]+u[f<<2&63]+"=")),S.join("")}return or}function Jg(){return Bn?hr:(Bn=!0,hr.read=function(u,t,r,a,n){var o,i,l=n*8-a-1,s=(1<<l)-1,c=s>>1,d=-7,h=r?n-1:0,m=r?-1:1,p=u[t+h];for(h+=m,o=p&(1<<-d)-1,p>>=-d,d+=l;d>0;o=o*256+u[t+h],h+=m,d-=8);for(i=o&(1<<-d)-1,o>>=-d,d+=a;d>0;i=i*256+u[t+h],h+=m,d-=8);if(o===0)o=1-c;else{if(o===s)return i?NaN:(p?-1:1)*(1/0);i=i+Math.pow(2,a),o=o-c}return(p?-1:1)*i*Math.pow(2,o-a)},hr.write=function(u,t,r,a,n,o){var i,l,s,c=o*8-n-1,d=(1<<c)-1,h=d>>1,m=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=a?0:o-1,f=a?1:-1,w=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,i=d):(i=Math.floor(Math.log(t)/Math.LN2),t*(s=Math.pow(2,-i))<1&&(i--,s*=2),i+h>=1?t+=m/s:t+=m*Math.pow(2,1-h),t*s>=2&&(i++,s/=2),i+h>=d?(l=0,i=d):i+h>=1?(l=(t*s-1)*Math.pow(2,n),i=i+h):(l=t*Math.pow(2,h-1)*Math.pow(2,n),i=0));n>=8;u[r+p]=l&255,p+=f,l/=256,n-=8);for(i=i<<n|l,c+=n;c>0;u[r+p]=i&255,p+=f,i/=256,c-=8);u[r+p-f]|=w*128},hr)}function Xg(){if(Dn)return Bt;Dn=!0;let u=Qg(),t=Jg(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Bt.Buffer=i,Bt.SlowBuffer=S,Bt.INSPECT_MAX_BYTES=50;let a=2147483647;Bt.kMaxLength=a,i.TYPED_ARRAY_SUPPORT=n(),!i.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function n(){try{let g=new Uint8Array(1),y={foo:function(){return 42}};return Object.setPrototypeOf(y,Uint8Array.prototype),Object.setPrototypeOf(g,y),g.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function o(g){if(g>a)throw new RangeError('The value "'+g+'" is invalid for option "size"');let y=new Uint8Array(g);return Object.setPrototypeOf(y,i.prototype),y}function i(g,y,_){if(typeof g=="number"){if(typeof y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(g)}return l(g,y,_)}i.poolSize=8192;function l(g,y,_){if(typeof g=="string")return h(g,y);if(ArrayBuffer.isView(g))return p(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(X(g,ArrayBuffer)||g&&X(g.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(X(g,SharedArrayBuffer)||g&&X(g.buffer,SharedArrayBuffer)))return f(g,y,_);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let B=g.valueOf&&g.valueOf();if(B!=null&&B!==g)return i.from(B,y,_);let L=w(g);if(L)return L;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return i.from(g[Symbol.toPrimitive]("string"),y,_);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}i.from=function(g,y,_){return l(g,y,_)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function s(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function c(g,y,_){return s(g),g<=0?o(g):y!==void 0?typeof _=="string"?o(g).fill(y,_):o(g).fill(y):o(g)}i.alloc=function(g,y,_){return c(g,y,_)};function d(g){return s(g),o(g<0?0:N(g)|0)}i.allocUnsafe=function(g){return d(g)},i.allocUnsafeSlow=function(g){return d(g)};function h(g,y){if((typeof y!="string"||y==="")&&(y="utf8"),!i.isEncoding(y))throw new TypeError("Unknown encoding: "+y);let _=b(g,y)|0,B=o(_),L=B.write(g,y);return L!==_&&(B=B.slice(0,L)),B}function m(g){let y=g.length<0?0:N(g.length)|0,_=o(y);for(let B=0;B<y;B+=1)_[B]=g[B]&255;return _}function p(g){if(X(g,Uint8Array)){let y=new Uint8Array(g);return f(y.buffer,y.byteOffset,y.byteLength)}return m(g)}function f(g,y,_){if(y<0||g.byteLength<y)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<y+(_||0))throw new RangeError('"length" is outside of buffer bounds');let B;return y===void 0&&_===void 0?B=new Uint8Array(g):_===void 0?B=new Uint8Array(g,y):B=new Uint8Array(g,y,_),Object.setPrototypeOf(B,i.prototype),B}function w(g){if(i.isBuffer(g)){let y=N(g.length)|0,_=o(y);return _.length===0||g.copy(_,0,0,y),_}if(g.length!==void 0)return typeof g.length!="number"||me(g.length)?o(0):m(g);if(g.type==="Buffer"&&Array.isArray(g.data))return m(g.data)}function N(g){if(g>=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return g|0}function S(g){return+g!=g&&(g=0),i.alloc(+g)}i.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==i.prototype},i.compare=function(g,y){if(X(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),X(y,Uint8Array)&&(y=i.from(y,y.offset,y.byteLength)),!i.isBuffer(g)||!i.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===y)return 0;let _=g.length,B=y.length;for(let L=0,P=Math.min(_,B);L<P;++L)if(g[L]!==y[L]){_=g[L],B=y[L];break}return _<B?-1:B<_?1:0},i.isEncoding=function(g){switch(String(g).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(g,y){if(!Array.isArray(g))throw new TypeError('"list" argument must be an Array of Buffers');if(g.length===0)return i.alloc(0);let _;if(y===void 0)for(y=0,_=0;_<g.length;++_)y+=g[_].length;let B=i.allocUnsafe(y),L=0;for(_=0;_<g.length;++_){let P=g[_];if(X(P,Uint8Array))L+P.length>B.length?(i.isBuffer(P)||(P=i.from(P)),P.copy(B,L)):Uint8Array.prototype.set.call(B,P,L);else if(i.isBuffer(P))P.copy(B,L);else throw new TypeError('"list" argument must be an Array of Buffers');L+=P.length}return B};function b(g,y){if(i.isBuffer(g))return g.length;if(ArrayBuffer.isView(g)||X(g,ArrayBuffer))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);let _=g.length,B=arguments.length>2&&arguments[2]===!0;if(!B&&_===0)return 0;let L=!1;for(;;)switch(y){case"ascii":case"latin1":case"binary":return _;case"utf8":case"utf-8":return F(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _*2;case"hex":return _>>>1;case"base64":return fe(g).length;default:if(L)return B?-1:F(g).length;y=(""+y).toLowerCase(),L=!0}}i.byteLength=b;function E(g,y,_){let B=!1;if((y===void 0||y<0)&&(y=0),y>this.length||((_===void 0||_>this.length)&&(_=this.length),_<=0)||(_>>>=0,y>>>=0,_<=y))return"";for(g||(g="utf8");;)switch(g){case"hex":return re(this,y,_);case"utf8":case"utf-8":return U(this,y,_);case"ascii":return pe(this,y,_);case"latin1":case"binary":return ne(this,y,_);case"base64":return x(this,y,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return de(this,y,_);default:if(B)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),B=!0}}i.prototype._isBuffer=!0;function k(g,y,_){let B=g[y];g[y]=g[_],g[_]=B}i.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;y<g;y+=2)k(this,y,y+1);return this},i.prototype.swap32=function(){let g=this.length;if(g%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let y=0;y<g;y+=4)k(this,y,y+3),k(this,y+1,y+2);return this},i.prototype.swap64=function(){let g=this.length;if(g%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let y=0;y<g;y+=8)k(this,y,y+7),k(this,y+1,y+6),k(this,y+2,y+5),k(this,y+3,y+4);return this},i.prototype.toString=function(){let g=this.length;return g===0?"":arguments.length===0?U(this,0,g):E.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(g){if(!i.isBuffer(g))throw new TypeError("Argument must be a Buffer");return this===g?!0:i.compare(this,g)===0},i.prototype.inspect=function(){let g="",y=Bt.INSPECT_MAX_BYTES;return g=this.toString("hex",0,y).replace(/(.{2})/g,"$1 ").trim(),this.length>y&&(g+=" ... "),"<Buffer "+g+">"},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(g,y,_,B,L){if(X(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),!i.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(y===void 0&&(y=0),_===void 0&&(_=g?g.length:0),B===void 0&&(B=0),L===void 0&&(L=this.length),y<0||_>g.length||B<0||L>this.length)throw new RangeError("out of range index");if(B>=L&&y>=_)return 0;if(B>=L)return-1;if(y>=_)return 1;if(y>>>=0,_>>>=0,B>>>=0,L>>>=0,this===g)return 0;let P=L-B,j=_-y,M=Math.min(P,j),z=this.slice(B,L),ke=g.slice(y,_);for(let Ce=0;Ce<M;++Ce)if(z[Ce]!==ke[Ce]){P=z[Ce],j=ke[Ce];break}return P<j?-1:j<P?1:0};function v(g,y,_,B,L){if(g.length===0)return-1;if(typeof _=="string"?(B=_,_=0):_>2147483647?_=2147483647:_<-2147483648&&(_=-2147483648),_=+_,me(_)&&(_=L?0:g.length-1),_<0&&(_=g.length+_),_>=g.length){if(L)return-1;_=g.length-1}else if(_<0)if(L)_=0;else return-1;if(typeof y=="string"&&(y=i.from(y,B)),i.isBuffer(y))return y.length===0?-1:V(g,y,_,B,L);if(typeof y=="number")return y=y&255,typeof Uint8Array.prototype.indexOf=="function"?L?Uint8Array.prototype.indexOf.call(g,y,_):Uint8Array.prototype.lastIndexOf.call(g,y,_):V(g,[y],_,B,L);throw new TypeError("val must be string, number or Buffer")}function V(g,y,_,B,L){let P=1,j=g.length,M=y.length;if(B!==void 0&&(B=String(B).toLowerCase(),B==="ucs2"||B==="ucs-2"||B==="utf16le"||B==="utf-16le")){if(g.length<2||y.length<2)return-1;P=2,j/=2,M/=2,_/=2}function z(Ce,Te){return P===1?Ce[Te]:Ce.readUInt16BE(Te*P)}let ke;if(L){let Ce=-1;for(ke=_;ke<j;ke++)if(z(g,ke)===z(y,Ce===-1?0:ke-Ce)){if(Ce===-1&&(Ce=ke),ke-Ce+1===M)return Ce*P}else Ce!==-1&&(ke-=ke-Ce),Ce=-1}else for(_+M>j&&(_=j-M),ke=_;ke>=0;ke--){let Ce=!0;for(let Te=0;Te<M;Te++)if(z(g,ke+Te)!==z(y,Te)){Ce=!1;break}if(Ce)return ke}return-1}i.prototype.includes=function(g,y,_){return this.indexOf(g,y,_)!==-1},i.prototype.indexOf=function(g,y,_){return v(this,g,y,_,!0)},i.prototype.lastIndexOf=function(g,y,_){return v(this,g,y,_,!1)};function T(g,y,_,B){_=Number(_)||0;let L=g.length-_;B?(B=Number(B),B>L&&(B=L)):B=L;let P=y.length;B>P/2&&(B=P/2);let j;for(j=0;j<B;++j){let M=parseInt(y.substr(j*2,2),16);if(me(M))return j;g[_+j]=M}return j}function C(g,y,_,B){return ge(F(y,g.length-_),g,_,B)}function A(g,y,_,B){return ge(ae(y),g,_,B)}function I(g,y,_,B){return ge(fe(y),g,_,B)}function $(g,y,_,B){return ge(ue(y,g.length-_),g,_,B)}i.prototype.write=function(g,y,_,B){if(y===void 0)B="utf8",_=this.length,y=0;else if(_===void 0&&typeof y=="string")B=y,_=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(_)?(_=_>>>0,B===void 0&&(B="utf8")):(B=_,_=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let L=this.length-y;if((_===void 0||_>L)&&(_=L),g.length>0&&(_<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");B||(B="utf8");let P=!1;for(;;)switch(B){case"hex":return T(this,g,y,_);case"utf8":case"utf-8":return C(this,g,y,_);case"ascii":case"latin1":case"binary":return A(this,g,y,_);case"base64":return I(this,g,y,_);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $(this,g,y,_);default:if(P)throw new TypeError("Unknown encoding: "+B);B=(""+B).toLowerCase(),P=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function x(g,y,_){return y===0&&_===g.length?u.fromByteArray(g):u.fromByteArray(g.slice(y,_))}function U(g,y,_){_=Math.min(g.length,_);let B=[],L=y;for(;L<_;){let P=g[L],j=null,M=P>239?4:P>223?3:P>191?2:1;if(L+M<=_){let z,ke,Ce,Te;switch(M){case 1:P<128&&(j=P);break;case 2:z=g[L+1],(z&192)===128&&(Te=(P&31)<<6|z&63,Te>127&&(j=Te));break;case 3:z=g[L+1],ke=g[L+2],(z&192)===128&&(ke&192)===128&&(Te=(P&15)<<12|(z&63)<<6|ke&63,Te>2047&&(Te<55296||Te>57343)&&(j=Te));break;case 4:z=g[L+1],ke=g[L+2],Ce=g[L+3],(z&192)===128&&(ke&192)===128&&(Ce&192)===128&&(Te=(P&15)<<18|(z&63)<<12|(ke&63)<<6|Ce&63,Te>65535&&Te<1114112&&(j=Te))}}j===null?(j=65533,M=1):j>65535&&(j-=65536,B.push(j>>>10&1023|55296),j=56320|j&1023),B.push(j),L+=M}return W(B)}let Q=4096;function W(g){let y=g.length;if(y<=Q)return String.fromCharCode.apply(String,g);let _="",B=0;for(;B<y;)_+=String.fromCharCode.apply(String,g.slice(B,B+=Q));return _}function pe(g,y,_){let B="";_=Math.min(g.length,_);for(let L=y;L<_;++L)B+=String.fromCharCode(g[L]&127);return B}function ne(g,y,_){let B="";_=Math.min(g.length,_);for(let L=y;L<_;++L)B+=String.fromCharCode(g[L]);return B}function re(g,y,_){let B=g.length;(!y||y<0)&&(y=0),(!_||_<0||_>B)&&(_=B);let L="";for(let P=y;P<_;++P)L+=Ne[g[P]];return L}function de(g,y,_){let B=g.slice(y,_),L="";for(let P=0;P<B.length-1;P+=2)L+=String.fromCharCode(B[P]+B[P+1]*256);return L}i.prototype.slice=function(g,y){let _=this.length;g=~~g,y=y===void 0?_:~~y,g<0?(g+=_,g<0&&(g=0)):g>_&&(g=_),y<0?(y+=_,y<0&&(y=0)):y>_&&(y=_),y<g&&(y=g);let B=this.subarray(g,y);return Object.setPrototypeOf(B,i.prototype),B};function Z(g,y,_){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+y>_)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g],L=1,P=0;for(;++P<y&&(L*=256);)B+=this[g+P]*L;return B},i.prototype.readUintBE=i.prototype.readUIntBE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g+--y],L=1;for(;y>0&&(L*=256);)B+=this[g+--y]*L;return B},i.prototype.readUint8=i.prototype.readUInt8=function(g,y){return g=g>>>0,y||Z(g,1,this.length),this[g]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(g,y){return g=g>>>0,y||Z(g,2,this.length),this[g]|this[g+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(g,y){return g=g>>>0,y||Z(g,2,this.length),this[g]<<8|this[g+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},i.prototype.readBigUInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24,L=this[++g]+this[++g]*2**8+this[++g]*2**16+_*2**24;return BigInt(B)+(BigInt(L)<<BigInt(32))}),i.prototype.readBigUInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=y*2**24+this[++g]*2**16+this[++g]*2**8+this[++g],L=this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+_;return(BigInt(B)<<BigInt(32))+BigInt(L)}),i.prototype.readIntLE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=this[g],L=1,P=0;for(;++P<y&&(L*=256);)B+=this[g+P]*L;return L*=128,B>=L&&(B-=Math.pow(2,8*y)),B},i.prototype.readIntBE=function(g,y,_){g=g>>>0,y=y>>>0,_||Z(g,y,this.length);let B=y,L=1,P=this[g+--B];for(;B>0&&(L*=256);)P+=this[g+--B]*L;return L*=128,P>=L&&(P-=Math.pow(2,8*y)),P},i.prototype.readInt8=function(g,y){return g=g>>>0,y||Z(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},i.prototype.readInt16LE=function(g,y){g=g>>>0,y||Z(g,2,this.length);let _=this[g]|this[g+1]<<8;return _&32768?_|4294901760:_},i.prototype.readInt16BE=function(g,y){g=g>>>0,y||Z(g,2,this.length);let _=this[g+1]|this[g]<<8;return _&32768?_|4294901760:_},i.prototype.readInt32LE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},i.prototype.readInt32BE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},i.prototype.readBigInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=this[g+4]+this[g+5]*2**8+this[g+6]*2**16+(_<<24);return(BigInt(B)<<BigInt(32))+BigInt(y+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24)}),i.prototype.readBigInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let y=this[g],_=this[g+7];(y===void 0||_===void 0)&&Ee(g,this.length-8);let B=(y<<24)+this[++g]*2**16+this[++g]*2**8+this[++g];return(BigInt(B)<<BigInt(32))+BigInt(this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+_)}),i.prototype.readFloatLE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),t.read(this,g,!0,23,4)},i.prototype.readFloatBE=function(g,y){return g=g>>>0,y||Z(g,4,this.length),t.read(this,g,!1,23,4)},i.prototype.readDoubleLE=function(g,y){return g=g>>>0,y||Z(g,8,this.length),t.read(this,g,!0,52,8)},i.prototype.readDoubleBE=function(g,y){return g=g>>>0,y||Z(g,8,this.length),t.read(this,g,!1,52,8)};function se(g,y,_,B,L,P){if(!i.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(y>L||y<P)throw new RangeError('"value" argument is out of bounds');if(_+B>g.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(g,y,_,B){if(g=+g,y=y>>>0,_=_>>>0,!B){let j=Math.pow(2,8*_)-1;se(this,g,y,_,j,0)}let L=1,P=0;for(this[y]=g&255;++P<_&&(L*=256);)this[y+P]=g/L&255;return y+_},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(g,y,_,B){if(g=+g,y=y>>>0,_=_>>>0,!B){let j=Math.pow(2,8*_)-1;se(this,g,y,_,j,0)}let L=_-1,P=1;for(this[y+L]=g&255;--L>=0&&(P*=256);)this[y+L]=g/P&255;return y+_},i.prototype.writeUint8=i.prototype.writeUInt8=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,1,255,0),this[y]=g&255,y+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,65535,0),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,65535,0),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,4294967295,0),this[y+3]=g>>>24,this[y+2]=g>>>16,this[y+1]=g>>>8,this[y]=g&255,y+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,4294967295,0),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4};function R(g,y,_,B,L){oe(y,B,L,g,_,7);let P=Number(y&BigInt(4294967295));g[_++]=P,P=P>>8,g[_++]=P,P=P>>8,g[_++]=P,P=P>>8,g[_++]=P;let j=Number(y>>BigInt(32)&BigInt(4294967295));return g[_++]=j,j=j>>8,g[_++]=j,j=j>>8,g[_++]=j,j=j>>8,g[_++]=j,_}function ee(g,y,_,B,L){oe(y,B,L,g,_,7);let P=Number(y&BigInt(4294967295));g[_+7]=P,P=P>>8,g[_+6]=P,P=P>>8,g[_+5]=P,P=P>>8,g[_+4]=P;let j=Number(y>>BigInt(32)&BigInt(4294967295));return g[_+3]=j,j=j>>8,g[_+2]=j,j=j>>8,g[_+1]=j,j=j>>8,g[_]=j,_+8}i.prototype.writeBigUInt64LE=ce(function(g,y=0){return R(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=ce(function(g,y=0){return ee(this,g,y,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(g,y,_,B){if(g=+g,y=y>>>0,!B){let M=Math.pow(2,8*_-1);se(this,g,y,_,M-1,-M)}let L=0,P=1,j=0;for(this[y]=g&255;++L<_&&(P*=256);)g<0&&j===0&&this[y+L-1]!==0&&(j=1),this[y+L]=(g/P>>0)-j&255;return y+_},i.prototype.writeIntBE=function(g,y,_,B){if(g=+g,y=y>>>0,!B){let M=Math.pow(2,8*_-1);se(this,g,y,_,M-1,-M)}let L=_-1,P=1,j=0;for(this[y+L]=g&255;--L>=0&&(P*=256);)g<0&&j===0&&this[y+L+1]!==0&&(j=1),this[y+L]=(g/P>>0)-j&255;return y+_},i.prototype.writeInt8=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,1,127,-128),g<0&&(g=255+g+1),this[y]=g&255,y+1},i.prototype.writeInt16LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,32767,-32768),this[y]=g&255,this[y+1]=g>>>8,y+2},i.prototype.writeInt16BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,2,32767,-32768),this[y]=g>>>8,this[y+1]=g&255,y+2},i.prototype.writeInt32LE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,2147483647,-2147483648),this[y]=g&255,this[y+1]=g>>>8,this[y+2]=g>>>16,this[y+3]=g>>>24,y+4},i.prototype.writeInt32BE=function(g,y,_){return g=+g,y=y>>>0,_||se(this,g,y,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[y]=g>>>24,this[y+1]=g>>>16,this[y+2]=g>>>8,this[y+3]=g&255,y+4},i.prototype.writeBigInt64LE=ce(function(g,y=0){return R(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=ce(function(g,y=0){return ee(this,g,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function he(g,y,_,B,L,P){if(_+B>g.length)throw new RangeError("Index out of range");if(_<0)throw new RangeError("Index out of range")}function Y(g,y,_,B,L){return y=+y,_=_>>>0,L||he(g,y,_,4),t.write(g,y,_,B,23,4),_+4}i.prototype.writeFloatLE=function(g,y,_){return Y(this,g,y,!0,_)},i.prototype.writeFloatBE=function(g,y,_){return Y(this,g,y,!1,_)};function Se(g,y,_,B,L){return y=+y,_=_>>>0,L||he(g,y,_,8),t.write(g,y,_,B,52,8),_+8}i.prototype.writeDoubleLE=function(g,y,_){return Se(this,g,y,!0,_)},i.prototype.writeDoubleBE=function(g,y,_){return Se(this,g,y,!1,_)},i.prototype.copy=function(g,y,_,B){if(!i.isBuffer(g))throw new TypeError("argument should be a Buffer");if(_||(_=0),!B&&B!==0&&(B=this.length),y>=g.length&&(y=g.length),y||(y=0),B>0&&B<_&&(B=_),B===_||g.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(_<0||_>=this.length)throw new RangeError("Index out of range");if(B<0)throw new RangeError("sourceEnd out of bounds");B>this.length&&(B=this.length),g.length-y<B-_&&(B=g.length-y+_);let L=B-_;return this===g&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,_,B):Uint8Array.prototype.set.call(g,this.subarray(_,B),y),L},i.prototype.fill=function(g,y,_,B){if(typeof g=="string"){if(typeof y=="string"?(B=y,y=0,_=this.length):typeof _=="string"&&(B=_,_=this.length),B!==void 0&&typeof B!="string")throw new TypeError("encoding must be a string");if(typeof B=="string"&&!i.isEncoding(B))throw new TypeError("Unknown encoding: "+B);if(g.length===1){let P=g.charCodeAt(0);(B==="utf8"&&P<128||B==="latin1")&&(g=P)}}else typeof g=="number"?g=g&255:typeof g=="boolean"&&(g=Number(g));if(y<0||this.length<y||this.length<_)throw new RangeError("Out of range index");if(_<=y)return this;y=y>>>0,_=_===void 0?this.length:_>>>0,g||(g=0);let L;if(typeof g=="number")for(L=y;L<_;++L)this[L]=g;else{let P=i.isBuffer(g)?g:i.from(g,B),j=P.length;if(j===0)throw new TypeError('The value "'+g+'" is invalid for argument "value"');for(L=0;L<_-y;++L)this[L+y]=P[L%j]}return this};let te={};function q(g,y,_){te[g]=class extends _{constructor(){super(),Object.defineProperty(this,"message",{value:y.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${g}]`,this.stack,delete this.name}get code(){return g}set code(B){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:B,writable:!0})}toString(){return`${this.name} [${g}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(g){return g?`${g} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(g,y){return`The "${g}" argument must be of type number. Received type ${typeof y}`},TypeError),q("ERR_OUT_OF_RANGE",function(g,y,_){let B=`The value of "${g}" is out of range.`,L=_;return Number.isInteger(_)&&Math.abs(_)>2**32?L=le(String(_)):typeof _=="bigint"&&(L=String(_),(_>BigInt(2)**BigInt(32)||_<-(BigInt(2)**BigInt(32)))&&(L=le(L)),L+="n"),B+=` It must be ${y}. Received ${L}`,B},RangeError);function le(g){let y="",_=g.length,B=g[0]==="-"?1:0;for(;_>=B+4;_-=3)y=`_${g.slice(_-3,_)}${y}`;return`${g.slice(0,_)}${y}`}function J(g,y,_){ie(y,"offset"),(g[y]===void 0||g[y+_]===void 0)&&Ee(y,g.length-(_+1))}function oe(g,y,_,B,L,P){if(g>_||g<y){let j=typeof y=="bigint"?"n":"",M;throw y===0||y===BigInt(0)?M=`>= 0${j} and < 2${j} ** ${(P+1)*8}${j}`:M=`>= -(2${j} ** ${(P+1)*8-1}${j}) and < 2 ** ${(P+1)*8-1}${j}`,new te.ERR_OUT_OF_RANGE("value",M,g)}J(B,L,P)}function ie(g,y){if(typeof g!="number")throw new te.ERR_INVALID_ARG_TYPE(y,"number",g)}function Ee(g,y,_){throw Math.floor(g)!==g?(ie(g,_),new te.ERR_OUT_OF_RANGE("offset","an integer",g)):y<0?new te.ERR_BUFFER_OUT_OF_BOUNDS:new te.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${y}`,g)}let K=/[^+/0-9A-Za-z-_]/g;function D(g){if(g=g.split("=")[0],g=g.trim().replace(K,""),g.length<2)return"";for(;g.length%4!==0;)g=g+"=";return g}function F(g,y){y=y||1/0;let _,B=g.length,L=null,P=[];for(let j=0;j<B;++j){if(_=g.charCodeAt(j),_>55295&&_<57344){if(!L){if(_>56319){(y-=3)>-1&&P.push(239,191,189);continue}else if(j+1===B){(y-=3)>-1&&P.push(239,191,189);continue}L=_;continue}if(_<56320){(y-=3)>-1&&P.push(239,191,189),L=_;continue}_=(L-55296<<10|_-56320)+65536}else L&&(y-=3)>-1&&P.push(239,191,189);if(L=null,_<128){if((y-=1)<0)break;P.push(_)}else if(_<2048){if((y-=2)<0)break;P.push(_>>6|192,_&63|128)}else if(_<65536){if((y-=3)<0)break;P.push(_>>12|224,_>>6&63|128,_&63|128)}else if(_<1114112){if((y-=4)<0)break;P.push(_>>18|240,_>>12&63|128,_>>6&63|128,_&63|128)}else throw new Error("Invalid code point")}return P}function ae(g){let y=[];for(let _=0;_<g.length;++_)y.push(g.charCodeAt(_)&255);return y}function ue(g,y){let _,B,L,P=[];for(let j=0;j<g.length&&!((y-=2)<0);++j)_=g.charCodeAt(j),B=_>>8,L=_%256,P.push(L),P.push(B);return P}function fe(g){return u.toByteArray(D(g))}function ge(g,y,_,B){let L;for(L=0;L<B&&!(L+_>=y.length||L>=g.length);++L)y[L+_]=g[L];return L}function X(g,y){return g instanceof y||g!=null&&g.constructor!=null&&g.constructor.name!=null&&g.constructor.name===y.name}function me(g){return g!==g}let Ne=function(){let g="0123456789abcdef",y=new Array(256);for(let _=0;_<16;++_){let B=_*16;for(let L=0;L<16;++L)y[B+L]=g[_]+g[L]}return y}();function ce(g){return typeof BigInt>"u"?Ve:g}function Ve(){throw new Error("BigInt not supported")}return Bt}var or,$n,hr,Bn,Bt,Dn,Zg=dt(()=>{ye(),we(),be(),or={},$n=!1,hr={},Bn=!1,Bt={},Dn=!1}),rt={};rr(rt,{Buffer:()=>Ir,INSPECT_MAX_BYTES:()=>Da,default:()=>_t,kMaxLength:()=>Pa});var _t,Ir,Da,Pa,ot=dt(()=>{ye(),we(),be(),Zg(),_t=Xg(),_t.Buffer,_t.SlowBuffer,_t.INSPECT_MAX_BYTES,_t.kMaxLength,Ir=_t.Buffer,Da=_t.INSPECT_MAX_BYTES,Pa=_t.kMaxLength}),we=dt(()=>{ot()}),Qe=_e((u,t)=>{ye(),we(),be();var r=class extends Error{constructor(a){if(!Array.isArray(a))throw new TypeError(`Expected input to be an Array, got ${typeof a}`);let n="";for(let o=0;o<a.length;o++)n+=` ${a[o].stack}
7
- `;super(n),this.name="AggregateError",this.errors=a}};t.exports={AggregateError:r,ArrayIsArray(a){return Array.isArray(a)},ArrayPrototypeIncludes(a,n){return a.includes(n)},ArrayPrototypeIndexOf(a,n){return a.indexOf(n)},ArrayPrototypeJoin(a,n){return a.join(n)},ArrayPrototypeMap(a,n){return a.map(n)},ArrayPrototypePop(a,n){return a.pop(n)},ArrayPrototypePush(a,n){return a.push(n)},ArrayPrototypeSlice(a,n,o){return a.slice(n,o)},Error,FunctionPrototypeCall(a,n,...o){return a.call(n,...o)},FunctionPrototypeSymbolHasInstance(a,n){return Function.prototype[Symbol.hasInstance].call(a,n)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(a,n){return Object.defineProperties(a,n)},ObjectDefineProperty(a,n,o){return Object.defineProperty(a,n,o)},ObjectGetOwnPropertyDescriptor(a,n){return Object.getOwnPropertyDescriptor(a,n)},ObjectKeys(a){return Object.keys(a)},ObjectSetPrototypeOf(a,n){return Object.setPrototypeOf(a,n)},Promise,PromisePrototypeCatch(a,n){return a.catch(n)},PromisePrototypeThen(a,n,o){return a.then(n,o)},PromiseReject(a){return Promise.reject(a)},PromiseResolve(a){return Promise.resolve(a)},ReflectApply:Reflect.apply,RegExpPrototypeTest(a,n){return a.test(n)},SafeSet:Set,String,StringPrototypeSlice(a,n,o){return a.slice(n,o)},StringPrototypeToLowerCase(a){return a.toLowerCase()},StringPrototypeToUpperCase(a){return a.toUpperCase()},StringPrototypeTrim(a){return a.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(a,n,o){return a.set(n,o)},Boolean,Uint8Array}}),Oa=_e((u,t)=>{ye(),we(),be(),t.exports={format(r,...a){return r.replace(/%([sdifj])/g,function(...[n,o]){let i=a.shift();return o==="f"?i.toFixed(6):o==="j"?JSON.stringify(i):o==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(r){switch(typeof r){case"string":if(r.includes("'"))if(r.includes('"')){if(!r.includes("`")&&!r.includes("${"))return`\`${r}\``}else return`"${r}"`;return`'${r}'`;case"number":return isNaN(r)?"NaN":Object.is(r,-0)?String(r):r;case"bigint":return`${String(r)}n`;case"boolean":case"undefined":return String(r);case"object":return"{}"}}}}),lt=_e((u,t)=>{ye(),we(),be();var{format:r,inspect:a}=Oa(),{AggregateError:n}=Qe(),o=globalThis.AggregateError||n,i=Symbol("kIsNodeError"),l=["string","function","number","object","Function","Object","boolean","bigint","symbol"],s=/^([A-Z][a-z0-9]*)+$/,c="__node_internal_",d={};function h(b,E){if(!b)throw new d.ERR_INTERNAL_ASSERTION(E)}function m(b){let E="",k=b.length,v=b[0]==="-"?1:0;for(;k>=v+4;k-=3)E=`_${b.slice(k-3,k)}${E}`;return`${b.slice(0,k)}${E}`}function p(b,E,k){if(typeof E=="function")return h(E.length<=k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${E.length}).`),E(...k);let v=(E.match(/%[dfijoOs]/g)||[]).length;return h(v===k.length,`Code: ${b}; The provided arguments length (${k.length}) does not match the required ones (${v}).`),k.length===0?E:r(E,...k)}function f(b,E,k){k||(k=Error);class v extends k{constructor(...T){super(p(b,E,T))}toString(){return`${this.name} [${b}]: ${this.message}`}}Object.defineProperties(v.prototype,{name:{value:k.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${b}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),v.prototype.code=b,v.prototype[i]=!0,d[b]=v}function w(b){let E=c+b.name;return Object.defineProperty(b,"name",{value:E}),b}function N(b,E){if(b&&E&&b!==E){if(Array.isArray(E.errors))return E.errors.push(b),E;let k=new o([E,b],E.message);return k.code=E.code,k}return b||E}var S=class extends Error{constructor(b="The operation was aborted",E=void 0){if(E!==void 0&&typeof E!="object")throw new d.ERR_INVALID_ARG_TYPE("options","Object",E);super(b,E),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(b,E,k)=>{h(typeof b=="string","'name' must be a string"),Array.isArray(E)||(E=[E]);let v="The ";b.endsWith(" argument")?v+=`${b} `:v+=`"${b}" ${b.includes(".")?"property":"argument"} `,v+="must be ";let V=[],T=[],C=[];for(let I of E)h(typeof I=="string","All expected entries have to be of type string"),l.includes(I)?V.push(I.toLowerCase()):s.test(I)?T.push(I):(h(I!=="object",'The value "object" should be written as "Object"'),C.push(I));if(T.length>0){let I=V.indexOf("object");I!==-1&&(V.splice(V,I,1),T.push("Object"))}if(V.length>0){switch(V.length){case 1:v+=`of type ${V[0]}`;break;case 2:v+=`one of type ${V[0]} or ${V[1]}`;break;default:{let I=V.pop();v+=`one of type ${V.join(", ")}, or ${I}`}}(T.length>0||C.length>0)&&(v+=" or ")}if(T.length>0){switch(T.length){case 1:v+=`an instance of ${T[0]}`;break;case 2:v+=`an instance of ${T[0]} or ${T[1]}`;break;default:{let I=T.pop();v+=`an instance of ${T.join(", ")}, or ${I}`}}C.length>0&&(v+=" or ")}switch(C.length){case 0:break;case 1:C[0].toLowerCase()!==C[0]&&(v+="an "),v+=`${C[0]}`;break;case 2:v+=`one of ${C[0]} or ${C[1]}`;break;default:{let I=C.pop();v+=`one of ${C.join(", ")}, or ${I}`}}if(k==null)v+=`. Received ${k}`;else if(typeof k=="function"&&k.name)v+=`. Received function ${k.name}`;else if(typeof k=="object"){var A;if((A=k.constructor)!==null&&A!==void 0&&A.name)v+=`. Received an instance of ${k.constructor.name}`;else{let I=a(k,{depth:-1});v+=`. Received ${I}`}}else{let I=a(k,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),v+=`. Received type ${typeof k} (${I})`}return v},TypeError),f("ERR_INVALID_ARG_VALUE",(b,E,k="is invalid")=>{let v=a(E);return v.length>128&&(v=v.slice(0,128)+"..."),`The ${b.includes(".")?"property":"argument"} '${b}' ${k}. Received ${v}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(b,E,k)=>{var v;let V=k!=null&&(v=k.constructor)!==null&&v!==void 0&&v.name?`instance of ${k.constructor.name}`:`type ${typeof k}`;return`Expected ${b} to be returned from the "${E}" function but got ${V}.`},TypeError),f("ERR_MISSING_ARGS",(...b)=>{h(b.length>0,"At least one arg needs to be specified");let E,k=b.length;switch(b=(Array.isArray(b)?b:[b]).map(v=>`"${v}"`).join(" or "),k){case 1:E+=`The ${b[0]} argument`;break;case 2:E+=`The ${b[0]} and ${b[1]} arguments`;break;default:{let v=b.pop();E+=`The ${b.join(", ")}, and ${v} arguments`}break}return`${E} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(b,E,k)=>{h(E,'Missing "range" argument');let v;if(Number.isInteger(k)&&Math.abs(k)>2**32)v=m(String(k));else if(typeof k=="bigint"){v=String(k);let V=BigInt(2)**BigInt(32);(k>V||k<-V)&&(v=m(v)),v+="n"}else v=a(k);return`The value of "${b}" is out of range. It must be ${E}. Received ${v}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:S,aggregateTwoErrors:w(N),hideStackFrames:w,codes:d}}),mr=_e((u,t)=>{ye(),we(),be();var{AbortController:r,AbortSignal:a}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=r,t.exports.AbortSignal=a,t.exports.default=r}),Dt={};rr(Dt,{EventEmitter:()=>Ma,default:()=>nr,defaultMaxListeners:()=>Ra,init:()=>ja,listenerCount:()=>La,on:()=>Ua,once:()=>Fa});function ey(){if(Pn)return gr;Pn=!0;var u=typeof Reflect=="object"?Reflect:null,t=u&&typeof u.apply=="function"?u.apply:function(k,v,V){return Function.prototype.apply.call(k,v,V)},r;u&&typeof u.ownKeys=="function"?r=u.ownKeys:Object.getOwnPropertySymbols?r=function(k){return Object.getOwnPropertyNames(k).concat(Object.getOwnPropertySymbols(k))}:r=function(k){return Object.getOwnPropertyNames(k)};function a(k){console&&console.warn&&console.warn(k)}var n=Number.isNaN||function(k){return k!==k};function o(){o.init.call(this)}gr=o,gr.once=S,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var i=10;function l(k){if(typeof k!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof k)}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+k+".");i=k}}),o.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(k){if(typeof k!="number"||k<0||n(k))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+k+".");return this._maxListeners=k,this};function s(k){return k._maxListeners===void 0?o.defaultMaxListeners:k._maxListeners}o.prototype.getMaxListeners=function(){return s(this)},o.prototype.emit=function(k){for(var v=[],V=1;V<arguments.length;V++)v.push(arguments[V]);var T=k==="error",C=this._events;if(C!==void 0)T=T&&C.error===void 0;else if(!T)return!1;if(T){var A;if(v.length>0&&(A=v[0]),A instanceof Error)throw A;var I=new Error("Unhandled error."+(A?" ("+A.message+")":""));throw I.context=A,I}var $=C[k];if($===void 0)return!1;if(typeof $=="function")t($,this,v);else for(var x=$.length,U=f($,x),V=0;V<x;++V)t(U[V],this,v);return!0};function c(k,v,V,T){var C,A,I;if(l(V),A=k._events,A===void 0?(A=k._events=Object.create(null),k._eventsCount=0):(A.newListener!==void 0&&(k.emit("newListener",v,V.listener?V.listener:V),A=k._events),I=A[v]),I===void 0)I=A[v]=V,++k._eventsCount;else if(typeof I=="function"?I=A[v]=T?[V,I]:[I,V]:T?I.unshift(V):I.push(V),C=s(k),C>0&&I.length>C&&!I.warned){I.warned=!0;var $=new Error("Possible EventEmitter memory leak detected. "+I.length+" "+String(v)+" listeners added. Use emitter.setMaxListeners() to increase limit");$.name="MaxListenersExceededWarning",$.emitter=k,$.type=v,$.count=I.length,a($)}return k}o.prototype.addListener=function(k,v){return c(this,k,v,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(k,v){return c(this,k,v,!0)};function d(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(k,v,V){var T={fired:!1,wrapFn:void 0,target:k,type:v,listener:V},C=d.bind(T);return C.listener=V,T.wrapFn=C,C}o.prototype.once=function(k,v){return l(v),this.on(k,h(this,k,v)),this},o.prototype.prependOnceListener=function(k,v){return l(v),this.prependListener(k,h(this,k,v)),this},o.prototype.removeListener=function(k,v){var V,T,C,A,I;if(l(v),T=this._events,T===void 0)return this;if(V=T[k],V===void 0)return this;if(V===v||V.listener===v)--this._eventsCount===0?this._events=Object.create(null):(delete T[k],T.removeListener&&this.emit("removeListener",k,V.listener||v));else if(typeof V!="function"){for(C=-1,A=V.length-1;A>=0;A--)if(V[A]===v||V[A].listener===v){I=V[A].listener,C=A;break}if(C<0)return this;C===0?V.shift():w(V,C),V.length===1&&(T[k]=V[0]),T.removeListener!==void 0&&this.emit("removeListener",k,I||v)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(k){var v,V,T;if(V=this._events,V===void 0)return this;if(V.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):V[k]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete V[k]),this;if(arguments.length===0){var C=Object.keys(V),A;for(T=0;T<C.length;++T)A=C[T],A!=="removeListener"&&this.removeAllListeners(A);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(v=V[k],typeof v=="function")this.removeListener(k,v);else if(v!==void 0)for(T=v.length-1;T>=0;T--)this.removeListener(k,v[T]);return this};function m(k,v,V){var T=k._events;if(T===void 0)return[];var C=T[v];return C===void 0?[]:typeof C=="function"?V?[C.listener||C]:[C]:V?N(C):f(C,C.length)}o.prototype.listeners=function(k){return m(this,k,!0)},o.prototype.rawListeners=function(k){return m(this,k,!1)},o.listenerCount=function(k,v){return typeof k.listenerCount=="function"?k.listenerCount(v):p.call(k,v)},o.prototype.listenerCount=p;function p(k){var v=this._events;if(v!==void 0){var V=v[k];if(typeof V=="function")return 1;if(V!==void 0)return V.length}return 0}o.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function f(k,v){for(var V=new Array(v),T=0;T<v;++T)V[T]=k[T];return V}function w(k,v){for(;v+1<k.length;v++)k[v]=k[v+1];k.pop()}function N(k){for(var v=new Array(k.length),V=0;V<v.length;++V)v[V]=k[V].listener||k[V];return v}function S(k,v){return new Promise(function(V,T){function C(I){k.removeListener(v,A),T(I)}function A(){typeof k.removeListener=="function"&&k.removeListener("error",C),V([].slice.call(arguments))}E(k,v,A,{once:!0}),v!=="error"&&b(k,C,{once:!0})})}function b(k,v,V){typeof k.on=="function"&&E(k,"error",v,V)}function E(k,v,V,T){if(typeof k.on=="function")T.once?k.once(v,V):k.on(v,V);else if(typeof k.addEventListener=="function")k.addEventListener(v,function C(A){T.once&&k.removeEventListener(v,C),V(A)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof k)}return gr}var gr,Pn,nr,Ma,Ra,ja,La,Ua,Fa,Yt=dt(()=>{ye(),we(),be(),gr={},Pn=!1,nr=ey(),nr.once,nr.once=function(u,t){return new Promise((r,a)=>{function n(...i){o!==void 0&&u.removeListener("error",o),r(i)}let o;t!=="error"&&(o=i=>{u.removeListener(name,n),a(i)},u.once("error",o)),u.once(t,n)})},nr.on=function(u,t){let r=[],a=[],n=null,o=!1,i={async next(){let c=r.shift();if(c)return createIterResult(c,!1);if(n){let d=Promise.reject(n);return n=null,d}return o?createIterResult(void 0,!0):new Promise((d,h)=>a.push({resolve:d,reject:h}))},async return(){u.removeListener(t,l),u.removeListener("error",s),o=!0;for(let c of a)c.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(c){n=c,u.removeListener(t,l),u.removeListener("error",s)},[Symbol.asyncIterator](){return this}};return u.on(t,l),u.on("error",s),i;function l(...c){let d=a.shift();d?d.resolve(createIterResult(c,!1)):r.push(c)}function s(c){o=!0;let d=a.shift();d?d.reject(c):n=c,i.return()}},{EventEmitter:Ma,defaultMaxListeners:Ra,init:ja,listenerCount:La,on:Ua,once:Fa}=nr}),ut=_e((u,t)=>{ye(),we(),be();var r=(ot(),We(rt)),{format:a,inspect:n}=Oa(),{codes:{ERR_INVALID_ARG_TYPE:o}}=lt(),{kResistStopPropagation:i,AggregateError:l,SymbolDispose:s}=Qe(),c=globalThis.AbortSignal||mr().AbortSignal,d=globalThis.AbortController||mr().AbortController,h=Object.getPrototypeOf(async function(){}).constructor,m=globalThis.Blob||r.Blob,p=typeof m<"u"?function(N){return N instanceof m}:function(N){return!1},f=(N,S)=>{if(N!==void 0&&(N===null||typeof N!="object"||!("aborted"in N)))throw new o(S,"AbortSignal",N)},w=(N,S)=>{if(typeof N!="function")throw new o(S,"Function",N)};t.exports={AggregateError:l,kEmptyObject:Object.freeze({}),once(N){let S=!1;return function(...b){S||(S=!0,N.apply(this,b))}},createDeferredPromise:function(){let N,S;return{promise:new Promise((b,E)=>{N=b,S=E}),resolve:N,reject:S}},promisify(N){return new Promise((S,b)=>{N((E,...k)=>E?b(E):S(...k))})},debuglog(){return function(){}},format:a,inspect:n,types:{isAsyncFunction(N){return N instanceof h},isArrayBufferView(N){return ArrayBuffer.isView(N)}},isBlob:p,deprecate(N,S){return N},addAbortListener:(Yt(),We(Dt)).addAbortListener||function(N,S){if(N===void 0)throw new o("signal","AbortSignal",N);f(N,"signal"),w(S,"listener");let b;return N.aborted?queueMicrotask(()=>S()):(N.addEventListener("abort",S,{__proto__:null,once:!0,[i]:!0}),b=()=>{N.removeEventListener("abort",S)}),{__proto__:null,[s](){var E;(E=b)===null||E===void 0||E()}}},AbortSignalAny:c.any||function(N){if(N.length===1)return N[0];let S=new d,b=()=>S.abort();return N.forEach(E=>{f(E,"signals"),E.addEventListener("abort",b,{once:!0})}),S.signal.addEventListener("abort",()=>{N.forEach(E=>E.removeEventListener("abort",b))},{once:!0}),S.signal}},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),yr=_e((u,t)=>{ye(),we(),be();var{ArrayIsArray:r,ArrayPrototypeIncludes:a,ArrayPrototypeJoin:n,ArrayPrototypeMap:o,NumberIsInteger:i,NumberIsNaN:l,NumberMAX_SAFE_INTEGER:s,NumberMIN_SAFE_INTEGER:c,NumberParseInt:d,ObjectPrototypeHasOwnProperty:h,RegExpPrototypeExec:m,String:p,StringPrototypeToUpperCase:f,StringPrototypeTrim:w}=Qe(),{hideStackFrames:N,codes:{ERR_SOCKET_BAD_PORT:S,ERR_INVALID_ARG_TYPE:b,ERR_INVALID_ARG_VALUE:E,ERR_OUT_OF_RANGE:k,ERR_UNKNOWN_SIGNAL:v}}=lt(),{normalizeEncoding:V}=ut(),{isAsyncFunction:T,isArrayBufferView:C}=ut().types,A={};function I(X){return X===(X|0)}function $(X){return X===X>>>0}var x=/^[0-7]+$/,U="must be a 32-bit unsigned integer or an octal string";function Q(X,me,Ne){if(typeof X>"u"&&(X=Ne),typeof X=="string"){if(m(x,X)===null)throw new E(me,X,U);X=d(X,8)}return ne(X,me),X}var W=N((X,me,Ne=c,ce=s)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);if(X<Ne||X>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,X)}),pe=N((X,me,Ne=-2147483648,ce=2147483647)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);if(X<Ne||X>ce)throw new k(me,`>= ${Ne} && <= ${ce}`,X)}),ne=N((X,me,Ne=!1)=>{if(typeof X!="number")throw new b(me,"number",X);if(!i(X))throw new k(me,"an integer",X);let ce=Ne?1:0,Ve=4294967295;if(X<ce||X>Ve)throw new k(me,`>= ${ce} && <= ${Ve}`,X)});function re(X,me){if(typeof X!="string")throw new b(me,"string",X)}function de(X,me,Ne=void 0,ce){if(typeof X!="number")throw new b(me,"number",X);if(Ne!=null&&X<Ne||ce!=null&&X>ce||(Ne!=null||ce!=null)&&l(X))throw new k(me,`${Ne!=null?`>= ${Ne}`:""}${Ne!=null&&ce!=null?" && ":""}${ce!=null?`<= ${ce}`:""}`,X)}var Z=N((X,me,Ne)=>{if(!a(Ne,X)){let ce="must be one of: "+n(o(Ne,Ve=>typeof Ve=="string"?`'${Ve}'`:p(Ve)),", ");throw new E(me,X,ce)}});function se(X,me){if(typeof X!="boolean")throw new b(me,"boolean",X)}function R(X,me,Ne){return X==null||!h(X,me)?Ne:X[me]}var ee=N((X,me,Ne=null)=>{let ce=R(Ne,"allowArray",!1),Ve=R(Ne,"allowFunction",!1);if(!R(Ne,"nullable",!1)&&X===null||!ce&&r(X)||typeof X!="object"&&(!Ve||typeof X!="function"))throw new b(me,"Object",X)}),he=N((X,me)=>{if(X!=null&&typeof X!="object"&&typeof X!="function")throw new b(me,"a dictionary",X)}),Y=N((X,me,Ne=0)=>{if(!r(X))throw new b(me,"Array",X);if(X.length<Ne){let ce=`must be longer than ${Ne}`;throw new E(me,X,ce)}});function Se(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++)re(X[Ne],`${me}[${Ne}]`)}function te(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++)se(X[Ne],`${me}[${Ne}]`)}function q(X,me){Y(X,me);for(let Ne=0;Ne<X.length;Ne++){let ce=X[Ne],Ve=`${me}[${Ne}]`;if(ce==null)throw new b(Ve,"AbortSignal",ce);Ee(ce,Ve)}}function le(X,me="signal"){if(re(X,me),A[X]===void 0)throw A[f(X)]!==void 0?new v(X+" (signals must use all capital letters)"):new v(X)}var J=N((X,me="buffer")=>{if(!C(X))throw new b(me,["Buffer","TypedArray","DataView"],X)});function oe(X,me){let Ne=V(me),ce=X.length;if(Ne==="hex"&&ce%2!==0)throw new E("encoding",me,`is invalid for data of length ${ce}`)}function ie(X,me="Port",Ne=!0){if(typeof X!="number"&&typeof X!="string"||typeof X=="string"&&w(X).length===0||+X!==+X>>>0||X>65535||X===0&&!Ne)throw new S(me,X,Ne);return X|0}var Ee=N((X,me)=>{if(X!==void 0&&(X===null||typeof X!="object"||!("aborted"in X)))throw new b(me,"AbortSignal",X)}),K=N((X,me)=>{if(typeof X!="function")throw new b(me,"Function",X)}),D=N((X,me)=>{if(typeof X!="function"||T(X))throw new b(me,"Function",X)}),F=N((X,me)=>{if(X!==void 0)throw new b(me,"undefined",X)});function ae(X,me,Ne){if(!a(Ne,X))throw new b(me,`('${n(Ne,"|")}')`,X)}var ue=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function fe(X,me){if(typeof X>"u"||!m(ue,X))throw new E(me,X,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function ge(X){if(typeof X=="string")return fe(X,"hints"),X;if(r(X)){let me=X.length,Ne="";if(me===0)return Ne;for(let ce=0;ce<me;ce++){let Ve=X[ce];fe(Ve,"hints"),Ne+=Ve,ce!==me-1&&(Ne+=", ")}return Ne}throw new E("hints",X,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}t.exports={isInt32:I,isUint32:$,parseFileMode:Q,validateArray:Y,validateStringArray:Se,validateBooleanArray:te,validateAbortSignalArray:q,validateBoolean:se,validateBuffer:J,validateDictionary:he,validateEncoding:oe,validateFunction:K,validateInt32:pe,validateInteger:W,validateNumber:de,validateObject:ee,validateOneOf:Z,validatePlainFunction:D,validatePort:ie,validateSignalName:le,validateString:re,validateUint32:ne,validateUndefined:F,validateUnion:ae,validateAbortSignal:Ee,validateLinkHeaderValue:ge}}),Qt=_e((u,t)=>{ye(),we(),be();var r=t.exports={},a,n;function o(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?a=setTimeout:a=o}catch{a=o}try{typeof clearTimeout=="function"?n=clearTimeout:n=i}catch{n=i}})();function l(S){if(a===setTimeout)return setTimeout(S,0);if((a===o||!a)&&setTimeout)return a=setTimeout,setTimeout(S,0);try{return a(S,0)}catch{try{return a.call(null,S,0)}catch{return a.call(this,S,0)}}}function s(S){if(n===clearTimeout)return clearTimeout(S);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(S);try{return n(S)}catch{try{return n.call(null,S)}catch{return n.call(this,S)}}}var c=[],d=!1,h,m=-1;function p(){!d||!h||(d=!1,h.length?c=h.concat(c):m=-1,c.length&&f())}function f(){if(!d){var S=l(p);d=!0;for(var b=c.length;b;){for(h=c,c=[];++m<b;)h&&h[m].run();m=-1,b=c.length}h=null,d=!1,s(S)}}r.nextTick=function(S){var b=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)b[E-1]=arguments[E];c.push(new w(S,b)),c.length===1&&!d&&l(f)};function w(S,b){this.fun=S,this.array=b}w.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={};function N(){}r.on=N,r.addListener=N,r.once=N,r.off=N,r.removeListener=N,r.removeAllListeners=N,r.emit=N,r.prependListener=N,r.prependOnceListener=N,r.listeners=function(S){return[]},r.binding=function(S){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(S){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}}),Nt=_e((u,t)=>{ye(),we(),be();var{SymbolAsyncIterator:r,SymbolIterator:a,SymbolFor:n}=Qe(),o=n("nodejs.stream.destroyed"),i=n("nodejs.stream.errored"),l=n("nodejs.stream.readable"),s=n("nodejs.stream.writable"),c=n("nodejs.stream.disturbed"),d=n("nodejs.webstream.isClosedPromise"),h=n("nodejs.webstream.controllerErrorFunction");function m(R,ee=!1){var he;return!!(R&&typeof R.pipe=="function"&&typeof R.on=="function"&&(!ee||typeof R.pause=="function"&&typeof R.resume=="function")&&(!R._writableState||((he=R._readableState)===null||he===void 0?void 0:he.readable)!==!1)&&(!R._writableState||R._readableState))}function p(R){var ee;return!!(R&&typeof R.write=="function"&&typeof R.on=="function"&&(!R._readableState||((ee=R._writableState)===null||ee===void 0?void 0:ee.writable)!==!1))}function f(R){return!!(R&&typeof R.pipe=="function"&&R._readableState&&typeof R.on=="function"&&typeof R.write=="function")}function w(R){return R&&(R._readableState||R._writableState||typeof R.write=="function"&&typeof R.on=="function"||typeof R.pipe=="function"&&typeof R.on=="function")}function N(R){return!!(R&&!w(R)&&typeof R.pipeThrough=="function"&&typeof R.getReader=="function"&&typeof R.cancel=="function")}function S(R){return!!(R&&!w(R)&&typeof R.getWriter=="function"&&typeof R.abort=="function")}function b(R){return!!(R&&!w(R)&&typeof R.readable=="object"&&typeof R.writable=="object")}function E(R){return N(R)||S(R)||b(R)}function k(R,ee){return R==null?!1:ee===!0?typeof R[r]=="function":ee===!1?typeof R[a]=="function":typeof R[r]=="function"||typeof R[a]=="function"}function v(R){if(!w(R))return null;let ee=R._writableState,he=R._readableState,Y=ee||he;return!!(R.destroyed||R[o]||Y!=null&&Y.destroyed)}function V(R){if(!p(R))return null;if(R.writableEnded===!0)return!0;let ee=R._writableState;return ee!=null&&ee.errored?!1:typeof(ee==null?void 0:ee.ended)!="boolean"?null:ee.ended}function T(R,ee){if(!p(R))return null;if(R.writableFinished===!0)return!0;let he=R._writableState;return he!=null&&he.errored?!1:typeof(he==null?void 0:he.finished)!="boolean"?null:!!(he.finished||ee===!1&&he.ended===!0&&he.length===0)}function C(R){if(!m(R))return null;if(R.readableEnded===!0)return!0;let ee=R._readableState;return!ee||ee.errored?!1:typeof(ee==null?void 0:ee.ended)!="boolean"?null:ee.ended}function A(R,ee){if(!m(R))return null;let he=R._readableState;return he!=null&&he.errored?!1:typeof(he==null?void 0:he.endEmitted)!="boolean"?null:!!(he.endEmitted||ee===!1&&he.ended===!0&&he.length===0)}function I(R){return R&&R[l]!=null?R[l]:typeof(R==null?void 0:R.readable)!="boolean"?null:v(R)?!1:m(R)&&R.readable&&!A(R)}function $(R){return R&&R[s]!=null?R[s]:typeof(R==null?void 0:R.writable)!="boolean"?null:v(R)?!1:p(R)&&R.writable&&!V(R)}function x(R,ee){return w(R)?v(R)?!0:!((ee==null?void 0:ee.readable)!==!1&&I(R)||(ee==null?void 0:ee.writable)!==!1&&$(R)):null}function U(R){var ee,he;return w(R)?R.writableErrored?R.writableErrored:(ee=(he=R._writableState)===null||he===void 0?void 0:he.errored)!==null&&ee!==void 0?ee:null:null}function Q(R){var ee,he;return w(R)?R.readableErrored?R.readableErrored:(ee=(he=R._readableState)===null||he===void 0?void 0:he.errored)!==null&&ee!==void 0?ee:null:null}function W(R){if(!w(R))return null;if(typeof R.closed=="boolean")return R.closed;let ee=R._writableState,he=R._readableState;return typeof(ee==null?void 0:ee.closed)=="boolean"||typeof(he==null?void 0:he.closed)=="boolean"?(ee==null?void 0:ee.closed)||(he==null?void 0:he.closed):typeof R._closed=="boolean"&&pe(R)?R._closed:null}function pe(R){return typeof R._closed=="boolean"&&typeof R._defaultKeepAlive=="boolean"&&typeof R._removedConnection=="boolean"&&typeof R._removedContLen=="boolean"}function ne(R){return typeof R._sent100=="boolean"&&pe(R)}function re(R){var ee;return typeof R._consuming=="boolean"&&typeof R._dumped=="boolean"&&((ee=R.req)===null||ee===void 0?void 0:ee.upgradeOrConnect)===void 0}function de(R){if(!w(R))return null;let ee=R._writableState,he=R._readableState,Y=ee||he;return!Y&&ne(R)||!!(Y&&Y.autoDestroy&&Y.emitClose&&Y.closed===!1)}function Z(R){var ee;return!!(R&&((ee=R[c])!==null&&ee!==void 0?ee:R.readableDidRead||R.readableAborted))}function se(R){var ee,he,Y,Se,te,q,le,J,oe,ie;return!!(R&&((ee=(he=(Y=(Se=(te=(q=R[i])!==null&&q!==void 0?q:R.readableErrored)!==null&&te!==void 0?te:R.writableErrored)!==null&&Se!==void 0?Se:(le=R._readableState)===null||le===void 0?void 0:le.errorEmitted)!==null&&Y!==void 0?Y:(J=R._writableState)===null||J===void 0?void 0:J.errorEmitted)!==null&&he!==void 0?he:(oe=R._readableState)===null||oe===void 0?void 0:oe.errored)!==null&&ee!==void 0?ee:!((ie=R._writableState)===null||ie===void 0)&&ie.errored))}t.exports={isDestroyed:v,kIsDestroyed:o,isDisturbed:Z,kIsDisturbed:c,isErrored:se,kIsErrored:i,isReadable:I,kIsReadable:l,kIsClosedPromise:d,kControllerErrorFunction:h,kIsWritable:s,isClosed:W,isDuplexNodeStream:f,isFinished:x,isIterable:k,isReadableNodeStream:m,isReadableStream:N,isReadableEnded:C,isReadableFinished:A,isReadableErrored:Q,isNodeStream:w,isWebStream:E,isWritable:$,isWritableNodeStream:p,isWritableStream:S,isWritableEnded:V,isWritableFinished:T,isWritableErrored:U,isServerRequest:re,isServerResponse:ne,willEmitClose:de,isTransformStream:b}}),Pt=_e((u,t)=>{ye(),we(),be();var r=Qt(),{AbortError:a,codes:n}=lt(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:i}=n,{kEmptyObject:l,once:s}=ut(),{validateAbortSignal:c,validateFunction:d,validateObject:h,validateBoolean:m}=yr(),{Promise:p,PromisePrototypeThen:f,SymbolDispose:w}=Qe(),{isClosed:N,isReadable:S,isReadableNodeStream:b,isReadableStream:E,isReadableFinished:k,isReadableErrored:v,isWritable:V,isWritableNodeStream:T,isWritableStream:C,isWritableFinished:A,isWritableErrored:I,isNodeStream:$,willEmitClose:x,kIsClosedPromise:U}=Nt(),Q;function W(Z){return Z.setHeader&&typeof Z.abort=="function"}var pe=()=>{};function ne(Z,se,R){var ee,he;if(arguments.length===2?(R=se,se=l):se==null?se=l:h(se,"options"),d(R,"callback"),c(se.signal,"options.signal"),R=s(R),E(Z)||C(Z))return re(Z,se,R);if(!$(Z))throw new o("stream",["ReadableStream","WritableStream","Stream"],Z);let Y=(ee=se.readable)!==null&&ee!==void 0?ee:b(Z),Se=(he=se.writable)!==null&&he!==void 0?he:T(Z),te=Z._writableState,q=Z._readableState,le=()=>{Z.writable||ie()},J=x(Z)&&b(Z)===Y&&T(Z)===Se,oe=A(Z,!1),ie=()=>{oe=!0,Z.destroyed&&(J=!1),!(J&&(!Z.readable||Y))&&(!Y||Ee)&&R.call(Z)},Ee=k(Z,!1),K=()=>{Ee=!0,Z.destroyed&&(J=!1),!(J&&(!Z.writable||Se))&&(!Se||oe)&&R.call(Z)},D=X=>{R.call(Z,X)},F=N(Z),ae=()=>{F=!0;let X=I(Z)||v(Z);if(X&&typeof X!="boolean")return R.call(Z,X);if(Y&&!Ee&&b(Z,!0)&&!k(Z,!1))return R.call(Z,new i);if(Se&&!oe&&!A(Z,!1))return R.call(Z,new i);R.call(Z)},ue=()=>{F=!0;let X=I(Z)||v(Z);if(X&&typeof X!="boolean")return R.call(Z,X);R.call(Z)},fe=()=>{Z.req.on("finish",ie)};W(Z)?(Z.on("complete",ie),J||Z.on("abort",ae),Z.req?fe():Z.on("request",fe)):Se&&!te&&(Z.on("end",le),Z.on("close",le)),!J&&typeof Z.aborted=="boolean"&&Z.on("aborted",ae),Z.on("end",K),Z.on("finish",ie),se.error!==!1&&Z.on("error",D),Z.on("close",ae),F?r.nextTick(ae):te!=null&&te.errorEmitted||q!=null&&q.errorEmitted?J||r.nextTick(ue):(!Y&&(!J||S(Z))&&(oe||V(Z)===!1)||!Se&&(!J||V(Z))&&(Ee||S(Z)===!1)||q&&Z.req&&Z.aborted)&&r.nextTick(ue);let ge=()=>{R=pe,Z.removeListener("aborted",ae),Z.removeListener("complete",ie),Z.removeListener("abort",ae),Z.removeListener("request",fe),Z.req&&Z.req.removeListener("finish",ie),Z.removeListener("end",le),Z.removeListener("close",le),Z.removeListener("finish",ie),Z.removeListener("end",K),Z.removeListener("error",D),Z.removeListener("close",ae)};if(se.signal&&!F){let X=()=>{let me=R;ge(),me.call(Z,new a(void 0,{cause:se.signal.reason}))};if(se.signal.aborted)r.nextTick(X);else{Q=Q||ut().addAbortListener;let me=Q(se.signal,X),Ne=R;R=s((...ce)=>{me[w](),Ne.apply(Z,ce)})}}return ge}function re(Z,se,R){let ee=!1,he=pe;if(se.signal)if(he=()=>{ee=!0,R.call(Z,new a(void 0,{cause:se.signal.reason}))},se.signal.aborted)r.nextTick(he);else{Q=Q||ut().addAbortListener;let Se=Q(se.signal,he),te=R;R=s((...q)=>{Se[w](),te.apply(Z,q)})}let Y=(...Se)=>{ee||r.nextTick(()=>R.apply(Z,Se))};return f(Z[U].promise,Y,Y),pe}function de(Z,se){var R;let ee=!1;return se===null&&(se=l),(R=se)!==null&&R!==void 0&&R.cleanup&&(m(se.cleanup,"cleanup"),ee=se.cleanup),new p((he,Y)=>{let Se=ne(Z,se,te=>{ee&&Se(),te?Y(te):he()})})}t.exports=ne,t.exports.finished=de}),ir=_e((u,t)=>{ye(),we(),be();var r=Qt(),{aggregateTwoErrors:a,codes:{ERR_MULTIPLE_CALLBACK:n},AbortError:o}=lt(),{Symbol:i}=Qe(),{kIsDestroyed:l,isDestroyed:s,isFinished:c,isServerRequest:d}=Nt(),h=i("kDestroy"),m=i("kConstruct");function p(x,U,Q){x&&(x.stack,U&&!U.errored&&(U.errored=x),Q&&!Q.errored&&(Q.errored=x))}function f(x,U){let Q=this._readableState,W=this._writableState,pe=W||Q;return W!=null&&W.destroyed||Q!=null&&Q.destroyed?(typeof U=="function"&&U(),this):(p(x,W,Q),W&&(W.destroyed=!0),Q&&(Q.destroyed=!0),pe.constructed?w(this,x,U):this.once(h,function(ne){w(this,a(ne,x),U)}),this)}function w(x,U,Q){let W=!1;function pe(ne){if(W)return;W=!0;let re=x._readableState,de=x._writableState;p(ne,de,re),de&&(de.closed=!0),re&&(re.closed=!0),typeof Q=="function"&&Q(ne),ne?r.nextTick(N,x,ne):r.nextTick(S,x)}try{x._destroy(U||null,pe)}catch(ne){pe(ne)}}function N(x,U){b(x,U),S(x)}function S(x){let U=x._readableState,Q=x._writableState;Q&&(Q.closeEmitted=!0),U&&(U.closeEmitted=!0),(Q!=null&&Q.emitClose||U!=null&&U.emitClose)&&x.emit("close")}function b(x,U){let Q=x._readableState,W=x._writableState;W!=null&&W.errorEmitted||Q!=null&&Q.errorEmitted||(W&&(W.errorEmitted=!0),Q&&(Q.errorEmitted=!0),x.emit("error",U))}function E(){let x=this._readableState,U=this._writableState;x&&(x.constructed=!0,x.closed=!1,x.closeEmitted=!1,x.destroyed=!1,x.errored=null,x.errorEmitted=!1,x.reading=!1,x.ended=x.readable===!1,x.endEmitted=x.readable===!1),U&&(U.constructed=!0,U.destroyed=!1,U.closed=!1,U.closeEmitted=!1,U.errored=null,U.errorEmitted=!1,U.finalCalled=!1,U.prefinished=!1,U.ended=U.writable===!1,U.ending=U.writable===!1,U.finished=U.writable===!1)}function k(x,U,Q){let W=x._readableState,pe=x._writableState;if(pe!=null&&pe.destroyed||W!=null&&W.destroyed)return this;W!=null&&W.autoDestroy||pe!=null&&pe.autoDestroy?x.destroy(U):U&&(U.stack,pe&&!pe.errored&&(pe.errored=U),W&&!W.errored&&(W.errored=U),Q?r.nextTick(b,x,U):b(x,U))}function v(x,U){if(typeof x._construct!="function")return;let Q=x._readableState,W=x._writableState;Q&&(Q.constructed=!1),W&&(W.constructed=!1),x.once(m,U),!(x.listenerCount(m)>1)&&r.nextTick(V,x)}function V(x){let U=!1;function Q(W){if(U){k(x,W??new n);return}U=!0;let pe=x._readableState,ne=x._writableState,re=ne||pe;pe&&(pe.constructed=!0),ne&&(ne.constructed=!0),re.destroyed?x.emit(h,W):W?k(x,W,!0):r.nextTick(T,x)}try{x._construct(W=>{r.nextTick(Q,W)})}catch(W){r.nextTick(Q,W)}}function T(x){x.emit(m)}function C(x){return(x==null?void 0:x.setHeader)&&typeof x.abort=="function"}function A(x){x.emit("close")}function I(x,U){x.emit("error",U),r.nextTick(A,x)}function $(x,U){!x||s(x)||(!U&&!c(x)&&(U=new o),d(x)?(x.socket=null,x.destroy(U)):C(x)?x.abort():C(x.req)?x.req.abort():typeof x.destroy=="function"?x.destroy(U):typeof x.close=="function"?x.close():U?r.nextTick(I,x,U):r.nextTick(A,x),x.destroyed||(x[l]=!0))}t.exports={construct:v,destroyer:$,destroy:f,undestroy:E,errorOrDestroy:k}}),On=_e((u,t)=>{ye(),we(),be();var{ArrayIsArray:r,ObjectSetPrototypeOf:a}=Qe(),{EventEmitter:n}=(Yt(),We(Dt));function o(l){n.call(this,l)}a(o.prototype,n.prototype),a(o,n),o.prototype.pipe=function(l,s){let c=this;function d(S){l.writable&&l.write(S)===!1&&c.pause&&c.pause()}c.on("data",d);function h(){c.readable&&c.resume&&c.resume()}l.on("drain",h),!l._isStdio&&(!s||s.end!==!1)&&(c.on("end",p),c.on("close",f));let m=!1;function p(){m||(m=!0,l.end())}function f(){m||(m=!0,typeof l.destroy=="function"&&l.destroy())}function w(S){N(),n.listenerCount(this,"error")===0&&this.emit("error",S)}i(c,"error",w),i(l,"error",w);function N(){c.removeListener("data",d),l.removeListener("drain",h),c.removeListener("end",p),c.removeListener("close",f),c.removeListener("error",w),l.removeListener("error",w),c.removeListener("end",N),c.removeListener("close",N),l.removeListener("close",N)}return c.on("end",N),c.on("close",N),l.on("close",N),l.emit("pipe",c),l};function i(l,s,c){if(typeof l.prependListener=="function")return l.prependListener(s,c);!l._events||!l._events[s]?l.on(s,c):r(l._events[s])?l._events[s].unshift(c):l._events[s]=[c,l._events[s]]}t.exports={Stream:o,prependListener:i}}),Ar=_e((u,t)=>{ye(),we(),be();var{SymbolDispose:r}=Qe(),{AbortError:a,codes:n}=lt(),{isNodeStream:o,isWebStream:i,kControllerErrorFunction:l}=Nt(),s=Pt(),{ERR_INVALID_ARG_TYPE:c}=n,d,h=(m,p)=>{if(typeof m!="object"||!("aborted"in m))throw new c(p,"AbortSignal",m)};t.exports.addAbortSignal=function(m,p){if(h(m,"signal"),!o(p)&&!i(p))throw new c("stream",["ReadableStream","WritableStream","Stream"],p);return t.exports.addAbortSignalNoValidate(m,p)},t.exports.addAbortSignalNoValidate=function(m,p){if(typeof m!="object"||!("aborted"in m))return p;let f=o(p)?()=>{p.destroy(new a(void 0,{cause:m.reason}))}:()=>{p[l](new a(void 0,{cause:m.reason}))};if(m.aborted)f();else{d=d||ut().addAbortListener;let w=d(m,f);s(p,w[r])}return p}}),ty=_e((u,t)=>{ye(),we(),be();var{StringPrototypeSlice:r,SymbolIterator:a,TypedArrayPrototypeSet:n,Uint8Array:o}=Qe(),{Buffer:i}=(ot(),We(rt)),{inspect:l}=ut();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(s){let c={data:s,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}unshift(s){let c={data:s,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}shift(){if(this.length===0)return;let s=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,s}clear(){this.head=this.tail=null,this.length=0}join(s){if(this.length===0)return"";let c=this.head,d=""+c.data;for(;(c=c.next)!==null;)d+=s+c.data;return d}concat(s){if(this.length===0)return i.alloc(0);let c=i.allocUnsafe(s>>>0),d=this.head,h=0;for(;d;)n(c,d.data,h),h+=d.data.length,d=d.next;return c}consume(s,c){let d=this.head.data;if(s<d.length){let h=d.slice(0,s);return this.head.data=d.slice(s),h}return s===d.length?this.shift():c?this._getString(s):this._getBuffer(s)}first(){return this.head.data}*[a](){for(let s=this.head;s;s=s.next)yield s.data}_getString(s){let c="",d=this.head,h=0;do{let m=d.data;if(s>m.length)c+=m,s-=m.length;else{s===m.length?(c+=m,++h,d.next?this.head=d.next:this.head=this.tail=null):(c+=r(m,0,s),this.head=d,d.data=r(m,s));break}++h}while((d=d.next)!==null);return this.length-=h,c}_getBuffer(s){let c=i.allocUnsafe(s),d=s,h=this.head,m=0;do{let p=h.data;if(s>p.length)n(c,p,d-s),s-=p.length;else{s===p.length?(n(c,p,d-s),++m,h.next?this.head=h.next:this.head=this.tail=null):(n(c,new o(p.buffer,p.byteOffset,s),d-s),this.head=h,h.data=p.slice(s));break}++m}while((h=h.next)!==null);return this.length-=m,c}[Symbol.for("nodejs.util.inspect.custom")](s,c){return l(this,{...c,depth:0,customInspect:!1})}}}),Tr=_e((u,t)=>{ye(),we(),be();var{MathFloor:r,NumberIsInteger:a}=Qe(),{validateInteger:n}=yr(),{ERR_INVALID_ARG_VALUE:o}=lt().codes,i=16*1024,l=16;function s(m,p,f){return m.highWaterMark!=null?m.highWaterMark:p?m[f]:null}function c(m){return m?l:i}function d(m,p){n(p,"value",0),m?l=p:i=p}function h(m,p,f,w){let N=s(p,w,f);if(N!=null){if(!a(N)||N<0){let S=w?`options.${f}`:"options.highWaterMark";throw new o(S,N)}return r(N)}return c(m.objectMode)}t.exports={getHighWaterMark:h,getDefaultHighWaterMark:c,setDefaultHighWaterMark:d}}),ry=_e((u,t)=>{ye(),we(),be();var r=(ot(),We(rt)),a=r.Buffer;function n(i,l){for(var s in i)l[s]=i[s]}a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?t.exports=r:(n(r,u),u.Buffer=o);function o(i,l,s){return a(i,l,s)}o.prototype=Object.create(a.prototype),n(a,o),o.from=function(i,l,s){if(typeof i=="number")throw new TypeError("Argument must not be a number");return a(i,l,s)},o.alloc=function(i,l,s){if(typeof i!="number")throw new TypeError("Argument must be a number");var c=a(i);return l!==void 0?typeof s=="string"?c.fill(l,s):c.fill(l):c.fill(0),c},o.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return a(i)},o.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(i)}}),oy=_e(u=>{ye(),we(),be();var t=ry().Buffer,r=t.isEncoding||function(b){switch(b=""+b,b&&b.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(b){if(!b)return"utf8";for(var E;;)switch(b){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return b;default:if(E)return;b=(""+b).toLowerCase(),E=!0}}function n(b){var E=a(b);if(typeof E!="string"&&(t.isEncoding===r||!r(b)))throw new Error("Unknown encoding: "+b);return E||b}u.StringDecoder=o;function o(b){this.encoding=n(b);var E;switch(this.encoding){case"utf16le":this.text=m,this.end=p,E=4;break;case"utf8":this.fillLast=c,E=4;break;case"base64":this.text=f,this.end=w,E=3;break;default:this.write=N,this.end=S;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(E)}o.prototype.write=function(b){if(b.length===0)return"";var E,k;if(this.lastNeed){if(E=this.fillLast(b),E===void 0)return"";k=this.lastNeed,this.lastNeed=0}else k=0;return k<b.length?E?E+this.text(b,k):this.text(b,k):E||""},o.prototype.end=h,o.prototype.text=d,o.prototype.fillLast=function(b){if(this.lastNeed<=b.length)return b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,this.lastTotal-this.lastNeed,0,b.length),this.lastNeed-=b.length};function i(b){return b<=127?0:b>>5===6?2:b>>4===14?3:b>>3===30?4:b>>6===2?-1:-2}function l(b,E,k){var v=E.length-1;if(v<k)return 0;var V=i(E[v]);return V>=0?(V>0&&(b.lastNeed=V-1),V):--v<k||V===-2?0:(V=i(E[v]),V>=0?(V>0&&(b.lastNeed=V-2),V):--v<k||V===-2?0:(V=i(E[v]),V>=0?(V>0&&(V===2?V=0:b.lastNeed=V-3),V):0))}function s(b,E,k){if((E[0]&192)!==128)return b.lastNeed=0,"�";if(b.lastNeed>1&&E.length>1){if((E[1]&192)!==128)return b.lastNeed=1,"�";if(b.lastNeed>2&&E.length>2&&(E[2]&192)!==128)return b.lastNeed=2,"�"}}function c(b){var E=this.lastTotal-this.lastNeed,k=s(this,b);if(k!==void 0)return k;if(this.lastNeed<=b.length)return b.copy(this.lastChar,E,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);b.copy(this.lastChar,E,0,b.length),this.lastNeed-=b.length}function d(b,E){var k=l(this,b,E);if(!this.lastNeed)return b.toString("utf8",E);this.lastTotal=k;var v=b.length-(k-this.lastNeed);return b.copy(this.lastChar,0,v),b.toString("utf8",E,v)}function h(b){var E=b&&b.length?this.write(b):"";return this.lastNeed?E+"�":E}function m(b,E){if((b.length-E)%2===0){var k=b.toString("utf16le",E);if(k){var v=k.charCodeAt(k.length-1);if(v>=55296&&v<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1],k.slice(0,-1)}return k}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=b[b.length-1],b.toString("utf16le",E,b.length-1)}function p(b){var E=b&&b.length?this.write(b):"";if(this.lastNeed){var k=this.lastTotal-this.lastNeed;return E+this.lastChar.toString("utf16le",0,k)}return E}function f(b,E){var k=(b.length-E)%3;return k===0?b.toString("base64",E):(this.lastNeed=3-k,this.lastTotal=3,k===1?this.lastChar[0]=b[b.length-1]:(this.lastChar[0]=b[b.length-2],this.lastChar[1]=b[b.length-1]),b.toString("base64",E,b.length-k))}function w(b){var E=b&&b.length?this.write(b):"";return this.lastNeed?E+this.lastChar.toString("base64",0,3-this.lastNeed):E}function N(b){return b.toString(this.encoding)}function S(b){return b&&b.length?this.write(b):""}}),za=_e((u,t)=>{ye(),we(),be();var r=Qt(),{PromisePrototypeThen:a,SymbolAsyncIterator:n,SymbolIterator:o}=Qe(),{Buffer:i}=(ot(),We(rt)),{ERR_INVALID_ARG_TYPE:l,ERR_STREAM_NULL_VALUES:s}=lt().codes;function c(d,h,m){let p;if(typeof h=="string"||h instanceof i)return new d({objectMode:!0,...m,read(){this.push(h),this.push(null)}});let f;if(h&&h[n])f=!0,p=h[n]();else if(h&&h[o])f=!1,p=h[o]();else throw new l("iterable",["Iterable"],h);let w=new d({objectMode:!0,highWaterMark:1,...m}),N=!1;w._read=function(){N||(N=!0,b())},w._destroy=function(E,k){a(S(E),()=>r.nextTick(k,E),v=>r.nextTick(k,v||E))};async function S(E){let k=E!=null,v=typeof p.throw=="function";if(k&&v){let{value:V,done:T}=await p.throw(E);if(await V,T)return}if(typeof p.return=="function"){let{value:V}=await p.return();await V}}async function b(){for(;;){try{let{value:E,done:k}=f?await p.next():p.next();if(k)w.push(null);else{let v=E&&typeof E.then=="function"?await E:E;if(v===null)throw N=!1,new s;if(w.push(v))continue;N=!1}}catch(E){w.destroy(E)}break}}return w}t.exports=c}),$r=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayPrototypeIndexOf:a,NumberIsInteger:n,NumberIsNaN:o,NumberParseInt:i,ObjectDefineProperties:l,ObjectKeys:s,ObjectSetPrototypeOf:c,Promise:d,SafeSet:h,SymbolAsyncDispose:m,SymbolAsyncIterator:p,Symbol:f}=Qe();t.exports=ce,ce.ReadableState=Ne;var{EventEmitter:w}=(Yt(),We(Dt)),{Stream:N,prependListener:S}=On(),{Buffer:b}=(ot(),We(rt)),{addAbortSignal:E}=Ar(),k=Pt(),v=ut().debuglog("stream",O=>{v=O}),V=ty(),T=ir(),{getHighWaterMark:C,getDefaultHighWaterMark:A}=Tr(),{aggregateTwoErrors:I,codes:{ERR_INVALID_ARG_TYPE:$,ERR_METHOD_NOT_IMPLEMENTED:x,ERR_OUT_OF_RANGE:U,ERR_STREAM_PUSH_AFTER_EOF:Q,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:W},AbortError:pe}=lt(),{validateObject:ne}=yr(),re=f("kPaused"),{StringDecoder:de}=oy(),Z=za();c(ce.prototype,N.prototype),c(ce,N);var se=()=>{},{errorOrDestroy:R}=T,ee=1,he=2,Y=4,Se=8,te=16,q=32,le=64,J=128,oe=256,ie=512,Ee=1024,K=2048,D=4096,F=8192,ae=16384,ue=32768,fe=65536,ge=1<<17,X=1<<18;function me(O){return{enumerable:!1,get(){return(this.state&O)!==0},set(G){G?this.state|=O:this.state&=~O}}}l(Ne.prototype,{objectMode:me(ee),ended:me(he),endEmitted:me(Y),reading:me(Se),constructed:me(te),sync:me(q),needReadable:me(le),emittedReadable:me(J),readableListening:me(oe),resumeScheduled:me(ie),errorEmitted:me(Ee),emitClose:me(K),autoDestroy:me(D),destroyed:me(F),closed:me(ae),closeEmitted:me(ue),multiAwaitDrain:me(fe),readingMore:me(ge),dataEmitted:me(X)});function Ne(O,G,xe){typeof xe!="boolean"&&(xe=G instanceof St()),this.state=K|D|te|q,O&&O.objectMode&&(this.state|=ee),xe&&O&&O.readableObjectMode&&(this.state|=ee),this.highWaterMark=O?C(this,O,"readableHighWaterMark",xe):A(!1),this.buffer=new V,this.length=0,this.pipes=[],this.flowing=null,this[re]=null,O&&O.emitClose===!1&&(this.state&=~K),O&&O.autoDestroy===!1&&(this.state&=~D),this.errored=null,this.defaultEncoding=O&&O.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,O&&O.encoding&&(this.decoder=new de(O.encoding),this.encoding=O.encoding)}function ce(O){if(!(this instanceof ce))return new ce(O);let G=this instanceof St();this._readableState=new Ne(O,this,G),O&&(typeof O.read=="function"&&(this._read=O.read),typeof O.destroy=="function"&&(this._destroy=O.destroy),typeof O.construct=="function"&&(this._construct=O.construct),O.signal&&!G&&E(O.signal,this)),N.call(this,O),T.construct(this,()=>{this._readableState.needReadable&&M(this,this._readableState)})}ce.prototype.destroy=T.destroy,ce.prototype._undestroy=T.undestroy,ce.prototype._destroy=function(O,G){G(O)},ce.prototype[w.captureRejectionSymbol]=function(O){this.destroy(O)},ce.prototype[m]=function(){let O;return this.destroyed||(O=this.readableEnded?null:new pe,this.destroy(O)),new d((G,xe)=>k(this,Ie=>Ie&&Ie!==O?xe(Ie):G(null)))},ce.prototype.push=function(O,G){return Ve(this,O,G,!1)},ce.prototype.unshift=function(O,G){return Ve(this,O,G,!0)};function Ve(O,G,xe,Ie){v("readableAddChunk",G);let $e=O._readableState,tt;if(!($e.state&ee)&&(typeof G=="string"?(xe=xe||$e.defaultEncoding,$e.encoding!==xe&&(Ie&&$e.encoding?G=b.from(G,xe).toString($e.encoding):(G=b.from(G,xe),xe=""))):G instanceof b?xe="":N._isUint8Array(G)?(G=N._uint8ArrayToBuffer(G),xe=""):G!=null&&(tt=new $("chunk",["string","Buffer","Uint8Array"],G))),tt)R(O,tt);else if(G===null)$e.state&=~Se,L(O,$e);else if($e.state&ee||G&&G.length>0)if(Ie)if($e.state&Y)R(O,new W);else{if($e.destroyed||$e.errored)return!1;g(O,$e,G,!0)}else if($e.ended)R(O,new Q);else{if($e.destroyed||$e.errored)return!1;$e.state&=~Se,$e.decoder&&!xe?(G=$e.decoder.write(G),$e.objectMode||G.length!==0?g(O,$e,G,!1):M(O,$e)):g(O,$e,G,!1)}else Ie||($e.state&=~Se,M(O,$e));return!$e.ended&&($e.length<$e.highWaterMark||$e.length===0)}function g(O,G,xe,Ie){G.flowing&&G.length===0&&!G.sync&&O.listenerCount("data")>0?(G.state&fe?G.awaitDrainWriters.clear():G.awaitDrainWriters=null,G.dataEmitted=!0,O.emit("data",xe)):(G.length+=G.objectMode?1:xe.length,Ie?G.buffer.unshift(xe):G.buffer.push(xe),G.state&le&&P(O)),M(O,G)}ce.prototype.isPaused=function(){let O=this._readableState;return O[re]===!0||O.flowing===!1},ce.prototype.setEncoding=function(O){let G=new de(O);this._readableState.decoder=G,this._readableState.encoding=this._readableState.decoder.encoding;let xe=this._readableState.buffer,Ie="";for(let $e of xe)Ie+=G.write($e);return xe.clear(),Ie!==""&&xe.push(Ie),this._readableState.length=Ie.length,this};var y=1073741824;function _(O){if(O>y)throw new U("size","<= 1GiB",O);return O--,O|=O>>>1,O|=O>>>2,O|=O>>>4,O|=O>>>8,O|=O>>>16,O++,O}function B(O,G){return O<=0||G.length===0&&G.ended?0:G.state&ee?1:o(O)?G.flowing&&G.length?G.buffer.first().length:G.length:O<=G.length?O:G.ended?G.length:0}ce.prototype.read=function(O){v("read",O),O===void 0?O=NaN:n(O)||(O=i(O,10));let G=this._readableState,xe=O;if(O>G.highWaterMark&&(G.highWaterMark=_(O)),O!==0&&(G.state&=~J),O===0&&G.needReadable&&((G.highWaterMark!==0?G.length>=G.highWaterMark:G.length>0)||G.ended))return v("read: emitReadable",G.length,G.ended),G.length===0&&G.ended?Ue(this):P(this),null;if(O=B(O,G),O===0&&G.ended)return G.length===0&&Ue(this),null;let Ie=(G.state&le)!==0;if(v("need readable",Ie),(G.length===0||G.length-O<G.highWaterMark)&&(Ie=!0,v("length less than watermark",Ie)),G.ended||G.reading||G.destroyed||G.errored||!G.constructed)Ie=!1,v("reading, ended or constructing",Ie);else if(Ie){v("do read"),G.state|=Se|q,G.length===0&&(G.state|=le);try{this._read(G.highWaterMark)}catch(tt){R(this,tt)}G.state&=~q,G.reading||(O=B(xe,G))}let $e;return O>0?$e=De(O,G):$e=null,$e===null?(G.needReadable=G.length<=G.highWaterMark,O=0):(G.length-=O,G.multiAwaitDrain?G.awaitDrainWriters.clear():G.awaitDrainWriters=null),G.length===0&&(G.ended||(G.needReadable=!0),xe!==O&&G.ended&&Ue(this)),$e!==null&&!G.errorEmitted&&!G.closeEmitted&&(G.dataEmitted=!0,this.emit("data",$e)),$e};function L(O,G){if(v("onEofChunk"),!G.ended){if(G.decoder){let xe=G.decoder.end();xe&&xe.length&&(G.buffer.push(xe),G.length+=G.objectMode?1:xe.length)}G.ended=!0,G.sync?P(O):(G.needReadable=!1,G.emittedReadable=!0,j(O))}}function P(O){let G=O._readableState;v("emitReadable",G.needReadable,G.emittedReadable),G.needReadable=!1,G.emittedReadable||(v("emitReadable",G.flowing),G.emittedReadable=!0,r.nextTick(j,O))}function j(O){let G=O._readableState;v("emitReadable_",G.destroyed,G.length,G.ended),!G.destroyed&&!G.errored&&(G.length||G.ended)&&(O.emit("readable"),G.emittedReadable=!1),G.needReadable=!G.flowing&&!G.ended&&G.length<=G.highWaterMark,et(O)}function M(O,G){!G.readingMore&&G.constructed&&(G.readingMore=!0,r.nextTick(z,O,G))}function z(O,G){for(;!G.reading&&!G.ended&&(G.length<G.highWaterMark||G.flowing&&G.length===0);){let xe=G.length;if(v("maybeReadMore read 0"),O.read(0),xe===G.length)break}G.readingMore=!1}ce.prototype._read=function(O){throw new x("_read()")},ce.prototype.pipe=function(O,G){let xe=this,Ie=this._readableState;Ie.pipes.length===1&&(Ie.multiAwaitDrain||(Ie.multiAwaitDrain=!0,Ie.awaitDrainWriters=new h(Ie.awaitDrainWriters?[Ie.awaitDrainWriters]:[]))),Ie.pipes.push(O),v("pipe count=%d opts=%j",Ie.pipes.length,G);let $e=(!G||G.end!==!1)&&O!==r.stdout&&O!==r.stderr?ct:tr;Ie.endEmitted?r.nextTick($e):xe.once("end",$e),O.on("unpipe",tt);function tt(Et,Tt){v("onunpipe"),Et===xe&&Tt&&Tt.hasUnpiped===!1&&(Tt.hasUnpiped=!0,_r())}function ct(){v("onend"),O.end()}let gt,kr=!1;function _r(){v("cleanup"),O.removeListener("close",wt),O.removeListener("finish",Ft),gt&&O.removeListener("drain",gt),O.removeListener("error",er),O.removeListener("unpipe",tt),xe.removeListener("end",ct),xe.removeListener("end",tr),xe.removeListener("data",fo),kr=!0,gt&&Ie.awaitDrainWriters&&(!O._writableState||O._writableState.needDrain)&&gt()}function Nr(){kr||(Ie.pipes.length===1&&Ie.pipes[0]===O?(v("false write response, pause",0),Ie.awaitDrainWriters=O,Ie.multiAwaitDrain=!1):Ie.pipes.length>1&&Ie.pipes.includes(O)&&(v("false write response, pause",Ie.awaitDrainWriters.size),Ie.awaitDrainWriters.add(O)),xe.pause()),gt||(gt=ke(xe,O),O.on("drain",gt))}xe.on("data",fo);function fo(Et){v("ondata");let Tt=O.write(Et);v("dest.write",Tt),Tt===!1&&Nr()}function er(Et){if(v("onerror",Et),tr(),O.removeListener("error",er),O.listenerCount("error")===0){let Tt=O._writableState||O._readableState;Tt&&!Tt.errorEmitted?R(O,Et):O.emit("error",Et)}}S(O,"error",er);function wt(){O.removeListener("finish",Ft),tr()}O.once("close",wt);function Ft(){v("onfinish"),O.removeListener("close",wt),tr()}O.once("finish",Ft);function tr(){v("unpipe"),xe.unpipe(O)}return O.emit("pipe",xe),O.writableNeedDrain===!0?Nr():Ie.flowing||(v("pipe resume"),xe.resume()),O};function ke(O,G){return function(){let xe=O._readableState;xe.awaitDrainWriters===G?(v("pipeOnDrain",1),xe.awaitDrainWriters=null):xe.multiAwaitDrain&&(v("pipeOnDrain",xe.awaitDrainWriters.size),xe.awaitDrainWriters.delete(G)),(!xe.awaitDrainWriters||xe.awaitDrainWriters.size===0)&&O.listenerCount("data")&&O.resume()}}ce.prototype.unpipe=function(O){let G=this._readableState,xe={hasUnpiped:!1};if(G.pipes.length===0)return this;if(!O){let $e=G.pipes;G.pipes=[],this.pause();for(let tt=0;tt<$e.length;tt++)$e[tt].emit("unpipe",this,{hasUnpiped:!1});return this}let Ie=a(G.pipes,O);return Ie===-1?this:(G.pipes.splice(Ie,1),G.pipes.length===0&&this.pause(),O.emit("unpipe",this,xe),this)},ce.prototype.on=function(O,G){let xe=N.prototype.on.call(this,O,G),Ie=this._readableState;return O==="data"?(Ie.readableListening=this.listenerCount("readable")>0,Ie.flowing!==!1&&this.resume()):O==="readable"&&!Ie.endEmitted&&!Ie.readableListening&&(Ie.readableListening=Ie.needReadable=!0,Ie.flowing=!1,Ie.emittedReadable=!1,v("on readable",Ie.length,Ie.reading),Ie.length?P(this):Ie.reading||r.nextTick(Te,this)),xe},ce.prototype.addListener=ce.prototype.on,ce.prototype.removeListener=function(O,G){let xe=N.prototype.removeListener.call(this,O,G);return O==="readable"&&r.nextTick(Ce,this),xe},ce.prototype.off=ce.prototype.removeListener,ce.prototype.removeAllListeners=function(O){let G=N.prototype.removeAllListeners.apply(this,arguments);return(O==="readable"||O===void 0)&&r.nextTick(Ce,this),G};function Ce(O){let G=O._readableState;G.readableListening=O.listenerCount("readable")>0,G.resumeScheduled&&G[re]===!1?G.flowing=!0:O.listenerCount("data")>0?O.resume():G.readableListening||(G.flowing=null)}function Te(O){v("readable nexttick read 0"),O.read(0)}ce.prototype.resume=function(){let O=this._readableState;return O.flowing||(v("resume"),O.flowing=!O.readableListening,Oe(this,O)),O[re]=!1,this};function Oe(O,G){G.resumeScheduled||(G.resumeScheduled=!0,r.nextTick(Xe,O,G))}function Xe(O,G){v("resume",G.reading),G.reading||O.read(0),G.resumeScheduled=!1,O.emit("resume"),et(O),G.flowing&&!G.reading&&O.read(0)}ce.prototype.pause=function(){return v("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(v("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[re]=!0,this};function et(O){let G=O._readableState;for(v("flow",G.flowing);G.flowing&&O.read()!==null;);}ce.prototype.wrap=function(O){let G=!1;O.on("data",Ie=>{!this.push(Ie)&&O.pause&&(G=!0,O.pause())}),O.on("end",()=>{this.push(null)}),O.on("error",Ie=>{R(this,Ie)}),O.on("close",()=>{this.destroy()}),O.on("destroy",()=>{this.destroy()}),this._read=()=>{G&&O.resume&&(G=!1,O.resume())};let xe=s(O);for(let Ie=1;Ie<xe.length;Ie++){let $e=xe[Ie];this[$e]===void 0&&typeof O[$e]=="function"&&(this[$e]=O[$e].bind(O))}return this},ce.prototype[p]=function(){return Re(this)},ce.prototype.iterator=function(O){return O!==void 0&&ne(O,"options"),Re(this,O)};function Re(O,G){typeof O.read!="function"&&(O=ce.wrap(O,{objectMode:!0}));let xe=Ge(O,G);return xe.stream=O,xe}async function*Ge(O,G){let xe=se;function Ie(ct){this===O?(xe(),xe=se):xe=ct}O.on("readable",Ie);let $e,tt=k(O,{writable:!1},ct=>{$e=ct?I($e,ct):null,xe(),xe=se});try{for(;;){let ct=O.destroyed?null:O.read();if(ct!==null)yield ct;else{if($e)throw $e;if($e===null)return;await new d(Ie)}}}catch(ct){throw $e=I($e,ct),$e}finally{($e||(G==null?void 0:G.destroyOnReturn)!==!1)&&($e===void 0||O._readableState.autoDestroy)?T.destroyer(O,null):(O.off("readable",Ie),tt())}}l(ce.prototype,{readable:{__proto__:null,get(){let O=this._readableState;return!!O&&O.readable!==!1&&!O.destroyed&&!O.errorEmitted&&!O.endEmitted},set(O){this._readableState&&(this._readableState.readable=!!O)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(O){this._readableState&&(this._readableState.flowing=O)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(O){this._readableState&&(this._readableState.destroyed=O)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),l(Ne.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[re]!==!1},set(O){this[re]=!!O}}}),ce._fromList=De;function De(O,G){if(G.length===0)return null;let xe;return G.objectMode?xe=G.buffer.shift():!O||O>=G.length?(G.decoder?xe=G.buffer.join(""):G.buffer.length===1?xe=G.buffer.first():xe=G.buffer.concat(G.length),G.buffer.clear()):xe=G.buffer.consume(O,G.decoder),xe}function Ue(O){let G=O._readableState;v("endReadable",G.endEmitted),G.endEmitted||(G.ended=!0,r.nextTick(qe,G,O))}function qe(O,G){if(v("endReadableNT",O.endEmitted,O.length),!O.errored&&!O.closeEmitted&&!O.endEmitted&&O.length===0){if(O.endEmitted=!0,G.emit("end"),G.writable&&G.allowHalfOpen===!1)r.nextTick(Ze,G);else if(O.autoDestroy){let xe=G._writableState;(!xe||xe.autoDestroy&&(xe.finished||xe.writable===!1))&&G.destroy()}}}function Ze(O){O.writable&&!O.writableEnded&&!O.destroyed&&O.end()}ce.from=function(O,G){return Z(ce,O,G)};var nt;function mt(){return nt===void 0&&(nt={}),nt}ce.fromWeb=function(O,G){return mt().newStreamReadableFromReadableStream(O,G)},ce.toWeb=function(O,G){return mt().newReadableStreamFromStreamReadable(O,G)},ce.wrap=function(O,G){var xe,Ie;return new ce({objectMode:(xe=(Ie=O.readableObjectMode)!==null&&Ie!==void 0?Ie:O.objectMode)!==null&&xe!==void 0?xe:!0,...G,destroy($e,tt){T.destroyer(O,$e),tt($e)}}).wrap(O)}}),Mn=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayPrototypeSlice:a,Error:n,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:i,ObjectDefineProperties:l,ObjectSetPrototypeOf:s,StringPrototypeToLowerCase:c,Symbol:d,SymbolHasInstance:h}=Qe();t.exports=ne,ne.WritableState=W;var{EventEmitter:m}=(Yt(),We(Dt)),p=On().Stream,{Buffer:f}=(ot(),We(rt)),w=ir(),{addAbortSignal:N}=Ar(),{getHighWaterMark:S,getDefaultHighWaterMark:b}=Tr(),{ERR_INVALID_ARG_TYPE:E,ERR_METHOD_NOT_IMPLEMENTED:k,ERR_MULTIPLE_CALLBACK:v,ERR_STREAM_CANNOT_PIPE:V,ERR_STREAM_DESTROYED:T,ERR_STREAM_ALREADY_FINISHED:C,ERR_STREAM_NULL_VALUES:A,ERR_STREAM_WRITE_AFTER_END:I,ERR_UNKNOWN_ENCODING:$}=lt().codes,{errorOrDestroy:x}=w;s(ne.prototype,p.prototype),s(ne,p);function U(){}var Q=d("kOnFinished");function W(D,F,ae){typeof ae!="boolean"&&(ae=F instanceof St()),this.objectMode=!!(D&&D.objectMode),ae&&(this.objectMode=this.objectMode||!!(D&&D.writableObjectMode)),this.highWaterMark=D?S(this,D,"writableHighWaterMark",ae):b(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let ue=!!(D&&D.decodeStrings===!1);this.decodeStrings=!ue,this.defaultEncoding=D&&D.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=R.bind(void 0,F),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,pe(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!D||D.emitClose!==!1,this.autoDestroy=!D||D.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[Q]=[]}function pe(D){D.buffered=[],D.bufferedIndex=0,D.allBuffers=!0,D.allNoop=!0}W.prototype.getBuffer=function(){return a(this.buffered,this.bufferedIndex)},i(W.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ne(D){let F=this instanceof St();if(!F&&!o(ne,this))return new ne(D);this._writableState=new W(D,this,F),D&&(typeof D.write=="function"&&(this._write=D.write),typeof D.writev=="function"&&(this._writev=D.writev),typeof D.destroy=="function"&&(this._destroy=D.destroy),typeof D.final=="function"&&(this._final=D.final),typeof D.construct=="function"&&(this._construct=D.construct),D.signal&&N(D.signal,this)),p.call(this,D),w.construct(this,()=>{let ae=this._writableState;ae.writing||Se(this,ae),J(this,ae)})}i(ne,h,{__proto__:null,value:function(D){return o(this,D)?!0:this!==ne?!1:D&&D._writableState instanceof W}}),ne.prototype.pipe=function(){x(this,new V)};function re(D,F,ae,ue){let fe=D._writableState;if(typeof ae=="function")ue=ae,ae=fe.defaultEncoding;else{if(!ae)ae=fe.defaultEncoding;else if(ae!=="buffer"&&!f.isEncoding(ae))throw new $(ae);typeof ue!="function"&&(ue=U)}if(F===null)throw new A;if(!fe.objectMode)if(typeof F=="string")fe.decodeStrings!==!1&&(F=f.from(F,ae),ae="buffer");else if(F instanceof f)ae="buffer";else if(p._isUint8Array(F))F=p._uint8ArrayToBuffer(F),ae="buffer";else throw new E("chunk",["string","Buffer","Uint8Array"],F);let ge;return fe.ending?ge=new I:fe.destroyed&&(ge=new T("write")),ge?(r.nextTick(ue,ge),x(D,ge,!0),ge):(fe.pendingcb++,de(D,fe,F,ae,ue))}ne.prototype.write=function(D,F,ae){return re(this,D,F,ae)===!0},ne.prototype.cork=function(){this._writableState.corked++},ne.prototype.uncork=function(){let D=this._writableState;D.corked&&(D.corked--,D.writing||Se(this,D))},ne.prototype.setDefaultEncoding=function(D){if(typeof D=="string"&&(D=c(D)),!f.isEncoding(D))throw new $(D);return this._writableState.defaultEncoding=D,this};function de(D,F,ae,ue,fe){let ge=F.objectMode?1:ae.length;F.length+=ge;let X=F.length<F.highWaterMark;return X||(F.needDrain=!0),F.writing||F.corked||F.errored||!F.constructed?(F.buffered.push({chunk:ae,encoding:ue,callback:fe}),F.allBuffers&&ue!=="buffer"&&(F.allBuffers=!1),F.allNoop&&fe!==U&&(F.allNoop=!1)):(F.writelen=ge,F.writecb=fe,F.writing=!0,F.sync=!0,D._write(ae,ue,F.onwrite),F.sync=!1),X&&!F.errored&&!F.destroyed}function Z(D,F,ae,ue,fe,ge,X){F.writelen=ue,F.writecb=X,F.writing=!0,F.sync=!0,F.destroyed?F.onwrite(new T("write")):ae?D._writev(fe,F.onwrite):D._write(fe,ge,F.onwrite),F.sync=!1}function se(D,F,ae,ue){--F.pendingcb,ue(ae),Y(F),x(D,ae)}function R(D,F){let ae=D._writableState,ue=ae.sync,fe=ae.writecb;if(typeof fe!="function"){x(D,new v);return}ae.writing=!1,ae.writecb=null,ae.length-=ae.writelen,ae.writelen=0,F?(F.stack,ae.errored||(ae.errored=F),D._readableState&&!D._readableState.errored&&(D._readableState.errored=F),ue?r.nextTick(se,D,ae,F,fe):se(D,ae,F,fe)):(ae.buffered.length>ae.bufferedIndex&&Se(D,ae),ue?ae.afterWriteTickInfo!==null&&ae.afterWriteTickInfo.cb===fe?ae.afterWriteTickInfo.count++:(ae.afterWriteTickInfo={count:1,cb:fe,stream:D,state:ae},r.nextTick(ee,ae.afterWriteTickInfo)):he(D,ae,1,fe))}function ee({stream:D,state:F,count:ae,cb:ue}){return F.afterWriteTickInfo=null,he(D,F,ae,ue)}function he(D,F,ae,ue){for(!F.ending&&!D.destroyed&&F.length===0&&F.needDrain&&(F.needDrain=!1,D.emit("drain"));ae-- >0;)F.pendingcb--,ue();F.destroyed&&Y(F),J(D,F)}function Y(D){if(D.writing)return;for(let fe=D.bufferedIndex;fe<D.buffered.length;++fe){var F;let{chunk:ge,callback:X}=D.buffered[fe],me=D.objectMode?1:ge.length;D.length-=me,X((F=D.errored)!==null&&F!==void 0?F:new T("write"))}let ae=D[Q].splice(0);for(let fe=0;fe<ae.length;fe++){var ue;ae[fe]((ue=D.errored)!==null&&ue!==void 0?ue:new T("end"))}pe(D)}function Se(D,F){if(F.corked||F.bufferProcessing||F.destroyed||!F.constructed)return;let{buffered:ae,bufferedIndex:ue,objectMode:fe}=F,ge=ae.length-ue;if(!ge)return;let X=ue;if(F.bufferProcessing=!0,ge>1&&D._writev){F.pendingcb-=ge-1;let me=F.allNoop?U:ce=>{for(let Ve=X;Ve<ae.length;++Ve)ae[Ve].callback(ce)},Ne=F.allNoop&&X===0?ae:a(ae,X);Ne.allBuffers=F.allBuffers,Z(D,F,!0,F.length,Ne,"",me),pe(F)}else{do{let{chunk:me,encoding:Ne,callback:ce}=ae[X];ae[X++]=null;let Ve=fe?1:me.length;Z(D,F,!1,Ve,me,Ne,ce)}while(X<ae.length&&!F.writing);X===ae.length?pe(F):X>256?(ae.splice(0,X),F.bufferedIndex=0):F.bufferedIndex=X}F.bufferProcessing=!1}ne.prototype._write=function(D,F,ae){if(this._writev)this._writev([{chunk:D,encoding:F}],ae);else throw new k("_write()")},ne.prototype._writev=null,ne.prototype.end=function(D,F,ae){let ue=this._writableState;typeof D=="function"?(ae=D,D=null,F=null):typeof F=="function"&&(ae=F,F=null);let fe;if(D!=null){let ge=re(this,D,F);ge instanceof n&&(fe=ge)}return ue.corked&&(ue.corked=1,this.uncork()),fe||(!ue.errored&&!ue.ending?(ue.ending=!0,J(this,ue,!0),ue.ended=!0):ue.finished?fe=new C("end"):ue.destroyed&&(fe=new T("end"))),typeof ae=="function"&&(fe||ue.finished?r.nextTick(ae,fe):ue[Q].push(ae)),this};function te(D){return D.ending&&!D.destroyed&&D.constructed&&D.length===0&&!D.errored&&D.buffered.length===0&&!D.finished&&!D.writing&&!D.errorEmitted&&!D.closeEmitted}function q(D,F){let ae=!1;function ue(fe){if(ae){x(D,fe??v());return}if(ae=!0,F.pendingcb--,fe){let ge=F[Q].splice(0);for(let X=0;X<ge.length;X++)ge[X](fe);x(D,fe,F.sync)}else te(F)&&(F.prefinished=!0,D.emit("prefinish"),F.pendingcb++,r.nextTick(oe,D,F))}F.sync=!0,F.pendingcb++;try{D._final(ue)}catch(fe){ue(fe)}F.sync=!1}function le(D,F){!F.prefinished&&!F.finalCalled&&(typeof D._final=="function"&&!F.destroyed?(F.finalCalled=!0,q(D,F)):(F.prefinished=!0,D.emit("prefinish")))}function J(D,F,ae){te(F)&&(le(D,F),F.pendingcb===0&&(ae?(F.pendingcb++,r.nextTick((ue,fe)=>{te(fe)?oe(ue,fe):fe.pendingcb--},D,F)):te(F)&&(F.pendingcb++,oe(D,F))))}function oe(D,F){F.pendingcb--,F.finished=!0;let ae=F[Q].splice(0);for(let ue=0;ue<ae.length;ue++)ae[ue]();if(D.emit("finish"),F.autoDestroy){let ue=D._readableState;(!ue||ue.autoDestroy&&(ue.endEmitted||ue.readable===!1))&&D.destroy()}}l(ne.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(D){this._writableState&&(this._writableState.destroyed=D)}},writable:{__proto__:null,get(){let D=this._writableState;return!!D&&D.writable!==!1&&!D.destroyed&&!D.errored&&!D.ending&&!D.ended},set(D){this._writableState&&(this._writableState.writable=!!D)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let D=this._writableState;return D?!D.destroyed&&!D.ending&&D.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var ie=w.destroy;ne.prototype.destroy=function(D,F){let ae=this._writableState;return!ae.destroyed&&(ae.bufferedIndex<ae.buffered.length||ae[Q].length)&&r.nextTick(Y,ae),ie.call(this,D,F),this},ne.prototype._undestroy=w.undestroy,ne.prototype._destroy=function(D,F){F(D)},ne.prototype[m.captureRejectionSymbol]=function(D){this.destroy(D)};var Ee;function K(){return Ee===void 0&&(Ee={}),Ee}ne.fromWeb=function(D,F){return K().newStreamWritableFromWritableStream(D,F)},ne.toWeb=function(D){return K().newWritableStreamFromStreamWritable(D)}}),ny=_e((u,t)=>{ye(),we(),be();var r=Qt(),a=(ot(),We(rt)),{isReadable:n,isWritable:o,isIterable:i,isNodeStream:l,isReadableNodeStream:s,isWritableNodeStream:c,isDuplexNodeStream:d,isReadableStream:h,isWritableStream:m}=Nt(),p=Pt(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:w,ERR_INVALID_RETURN_VALUE:N}}=lt(),{destroyer:S}=ir(),b=St(),E=$r(),k=Mn(),{createDeferredPromise:v}=ut(),V=za(),T=globalThis.Blob||a.Blob,C=typeof T<"u"?function(Q){return Q instanceof T}:function(Q){return!1},A=globalThis.AbortController||mr().AbortController,{FunctionPrototypeCall:I}=Qe(),$=class extends b{constructor(Q){super(Q),(Q==null?void 0:Q.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(Q==null?void 0:Q.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function Q(W,pe){if(d(W))return W;if(s(W))return U({readable:W});if(c(W))return U({writable:W});if(l(W))return U({writable:!1,readable:!1});if(h(W))return U({readable:E.fromWeb(W)});if(m(W))return U({writable:k.fromWeb(W)});if(typeof W=="function"){let{value:re,write:de,final:Z,destroy:se}=x(W);if(i(re))return V($,re,{objectMode:!0,write:de,final:Z,destroy:se});let R=re==null?void 0:re.then;if(typeof R=="function"){let ee,he=I(R,re,Y=>{if(Y!=null)throw new N("nully","body",Y)},Y=>{S(ee,Y)});return ee=new $({objectMode:!0,readable:!1,write:de,final(Y){Z(async()=>{try{await he,r.nextTick(Y,null)}catch(Se){r.nextTick(Y,Se)}})},destroy:se})}throw new N("Iterable, AsyncIterable or AsyncFunction",pe,re)}if(C(W))return Q(W.arrayBuffer());if(i(W))return V($,W,{objectMode:!0,writable:!1});if(h(W==null?void 0:W.readable)&&m(W==null?void 0:W.writable))return $.fromWeb(W);if(typeof(W==null?void 0:W.writable)=="object"||typeof(W==null?void 0:W.readable)=="object"){let re=W!=null&&W.readable?s(W==null?void 0:W.readable)?W==null?void 0:W.readable:Q(W.readable):void 0,de=W!=null&&W.writable?c(W==null?void 0:W.writable)?W==null?void 0:W.writable:Q(W.writable):void 0;return U({readable:re,writable:de})}let ne=W==null?void 0:W.then;if(typeof ne=="function"){let re;return I(ne,W,de=>{de!=null&&re.push(de),re.push(null)},de=>{S(re,de)}),re=new $({objectMode:!0,writable:!1,read(){}})}throw new w(pe,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],W)};function x(Q){let{promise:W,resolve:pe}=v(),ne=new A,re=ne.signal;return{value:Q(async function*(){for(;;){let de=W;W=null;let{chunk:Z,done:se,cb:R}=await de;if(r.nextTick(R),se)return;if(re.aborted)throw new f(void 0,{cause:re.reason});({promise:W,resolve:pe}=v()),yield Z}}(),{signal:re}),write(de,Z,se){let R=pe;pe=null,R({chunk:de,done:!1,cb:se})},final(de){let Z=pe;pe=null,Z({done:!0,cb:de})},destroy(de,Z){ne.abort(),Z(de)}}}function U(Q){let W=Q.readable&&typeof Q.readable.read!="function"?E.wrap(Q.readable):Q.readable,pe=Q.writable,ne=!!n(W),re=!!o(pe),de,Z,se,R,ee;function he(Y){let Se=R;R=null,Se?Se(Y):Y&&ee.destroy(Y)}return ee=new $({readableObjectMode:!!(W!=null&&W.readableObjectMode),writableObjectMode:!!(pe!=null&&pe.writableObjectMode),readable:ne,writable:re}),re&&(p(pe,Y=>{re=!1,Y&&S(W,Y),he(Y)}),ee._write=function(Y,Se,te){pe.write(Y,Se)?te():de=te},ee._final=function(Y){pe.end(),Z=Y},pe.on("drain",function(){if(de){let Y=de;de=null,Y()}}),pe.on("finish",function(){if(Z){let Y=Z;Z=null,Y()}})),ne&&(p(W,Y=>{ne=!1,Y&&S(W,Y),he(Y)}),W.on("readable",function(){if(se){let Y=se;se=null,Y()}}),W.on("end",function(){ee.push(null)}),ee._read=function(){for(;;){let Y=W.read();if(Y===null){se=ee._read;return}if(!ee.push(Y))return}}),ee._destroy=function(Y,Se){!Y&&R!==null&&(Y=new f),se=null,de=null,Z=null,R===null?Se(Y):(R=Se,S(pe,Y),S(W,Y))},ee}}),St=_e((u,t)=>{ye(),we(),be();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:a,ObjectKeys:n,ObjectSetPrototypeOf:o}=Qe();t.exports=s;var i=$r(),l=Mn();o(s.prototype,i.prototype),o(s,i);{let m=n(l.prototype);for(let p=0;p<m.length;p++){let f=m[p];s.prototype[f]||(s.prototype[f]=l.prototype[f])}}function s(m){if(!(this instanceof s))return new s(m);i.call(this,m),l.call(this,m),m?(this.allowHalfOpen=m.allowHalfOpen!==!1,m.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),m.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}r(s.prototype,{writable:{__proto__:null,...a(l.prototype,"writable")},writableHighWaterMark:{__proto__:null,...a(l.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...a(l.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...a(l.prototype,"writableBuffer")},writableLength:{__proto__:null,...a(l.prototype,"writableLength")},writableFinished:{__proto__:null,...a(l.prototype,"writableFinished")},writableCorked:{__proto__:null,...a(l.prototype,"writableCorked")},writableEnded:{__proto__:null,...a(l.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...a(l.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(m){this._readableState&&this._writableState&&(this._readableState.destroyed=m,this._writableState.destroyed=m)}}});var c;function d(){return c===void 0&&(c={}),c}s.fromWeb=function(m,p){return d().newStreamDuplexFromReadableWritablePair(m,p)},s.toWeb=function(m){return d().newReadableWritablePairFromDuplex(m)};var h;s.from=function(m){return h||(h=ny()),h(m,"body")}}),Wa=_e((u,t)=>{ye(),we(),be();var{ObjectSetPrototypeOf:r,Symbol:a}=Qe();t.exports=s;var{ERR_METHOD_NOT_IMPLEMENTED:n}=lt().codes,o=St(),{getHighWaterMark:i}=Tr();r(s.prototype,o.prototype),r(s,o);var l=a("kCallback");function s(h){if(!(this instanceof s))return new s(h);let m=h?i(this,h,"readableHighWaterMark",!0):null;m===0&&(h={...h,highWaterMark:null,readableHighWaterMark:m,writableHighWaterMark:h.writableHighWaterMark||0}),o.call(this,h),this._readableState.sync=!1,this[l]=null,h&&(typeof h.transform=="function"&&(this._transform=h.transform),typeof h.flush=="function"&&(this._flush=h.flush)),this.on("prefinish",d)}function c(h){typeof this._flush=="function"&&!this.destroyed?this._flush((m,p)=>{if(m){h?h(m):this.destroy(m);return}p!=null&&this.push(p),this.push(null),h&&h()}):(this.push(null),h&&h())}function d(){this._final!==c&&c.call(this)}s.prototype._final=c,s.prototype._transform=function(h,m,p){throw new n("_transform()")},s.prototype._write=function(h,m,p){let f=this._readableState,w=this._writableState,N=f.length;this._transform(h,m,(S,b)=>{if(S){p(S);return}b!=null&&this.push(b),w.ended||N===f.length||f.length<f.highWaterMark?p():this[l]=p})},s.prototype._read=function(){if(this[l]){let h=this[l];this[l]=null,h()}}}),qa=_e((u,t)=>{ye(),we(),be();var{ObjectSetPrototypeOf:r}=Qe();t.exports=n;var a=Wa();r(n.prototype,a.prototype),r(n,a);function n(o){if(!(this instanceof n))return new n(o);a.call(this,o)}n.prototype._transform=function(o,i,l){l(null,o)}}),Rn=_e((u,t)=>{ye(),we(),be();var r=Qt(),{ArrayIsArray:a,Promise:n,SymbolAsyncIterator:o,SymbolDispose:i}=Qe(),l=Pt(),{once:s}=ut(),c=ir(),d=St(),{aggregateTwoErrors:h,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:p,ERR_MISSING_ARGS:f,ERR_STREAM_DESTROYED:w,ERR_STREAM_PREMATURE_CLOSE:N},AbortError:S}=lt(),{validateFunction:b,validateAbortSignal:E}=yr(),{isIterable:k,isReadable:v,isReadableNodeStream:V,isNodeStream:T,isTransformStream:C,isWebStream:A,isReadableStream:I,isReadableFinished:$}=Nt(),x=globalThis.AbortController||mr().AbortController,U,Q,W;function pe(Y,Se,te){let q=!1;Y.on("close",()=>{q=!0});let le=l(Y,{readable:Se,writable:te},J=>{q=!J});return{destroy:J=>{q||(q=!0,c.destroyer(Y,J||new w("pipe")))},cleanup:le}}function ne(Y){return b(Y[Y.length-1],"streams[stream.length - 1]"),Y.pop()}function re(Y){if(k(Y))return Y;if(V(Y))return de(Y);throw new m("val",["Readable","Iterable","AsyncIterable"],Y)}async function*de(Y){Q||(Q=$r()),yield*Q.prototype[o].call(Y)}async function Z(Y,Se,te,{end:q}){let le,J=null,oe=K=>{if(K&&(le=K),J){let D=J;J=null,D()}},ie=()=>new n((K,D)=>{le?D(le):J=()=>{le?D(le):K()}});Se.on("drain",oe);let Ee=l(Se,{readable:!1},oe);try{Se.writableNeedDrain&&await ie();for await(let K of Y)Se.write(K)||await ie();q&&(Se.end(),await ie()),te()}catch(K){te(le!==K?h(le,K):K)}finally{Ee(),Se.off("drain",oe)}}async function se(Y,Se,te,{end:q}){C(Se)&&(Se=Se.writable);let le=Se.getWriter();try{for await(let J of Y)await le.ready,le.write(J).catch(()=>{});await le.ready,q&&await le.close(),te()}catch(J){try{await le.abort(J),te(J)}catch(oe){te(oe)}}}function R(...Y){return ee(Y,s(ne(Y)))}function ee(Y,Se,te){if(Y.length===1&&a(Y[0])&&(Y=Y[0]),Y.length<2)throw new f("streams");let q=new x,le=q.signal,J=te==null?void 0:te.signal,oe=[];E(J,"options.signal");function ie(){fe(new S)}W=W||ut().addAbortListener;let Ee;J&&(Ee=W(J,ie));let K,D,F=[],ae=0;function ue(Ne){fe(Ne,--ae===0)}function fe(Ne,ce){var Ve;if(Ne&&(!K||K.code==="ERR_STREAM_PREMATURE_CLOSE")&&(K=Ne),!(!K&&!ce)){for(;F.length;)F.shift()(K);(Ve=Ee)===null||Ve===void 0||Ve[i](),q.abort(),ce&&(K||oe.forEach(g=>g()),r.nextTick(Se,K,D))}}let ge;for(let Ne=0;Ne<Y.length;Ne++){let ce=Y[Ne],Ve=Ne<Y.length-1,g=Ne>0,y=Ve||(te==null?void 0:te.end)!==!1,_=Ne===Y.length-1;if(T(ce)){let B=function(L){L&&L.name!=="AbortError"&&L.code!=="ERR_STREAM_PREMATURE_CLOSE"&&ue(L)};if(y){let{destroy:L,cleanup:P}=pe(ce,Ve,g);F.push(L),v(ce)&&_&&oe.push(P)}ce.on("error",B),v(ce)&&_&&oe.push(()=>{ce.removeListener("error",B)})}if(Ne===0)if(typeof ce=="function"){if(ge=ce({signal:le}),!k(ge))throw new p("Iterable, AsyncIterable or Stream","source",ge)}else k(ce)||V(ce)||C(ce)?ge=ce:ge=d.from(ce);else if(typeof ce=="function"){if(C(ge)){var X;ge=re((X=ge)===null||X===void 0?void 0:X.readable)}else ge=re(ge);if(ge=ce(ge,{signal:le}),Ve){if(!k(ge,!0))throw new p("AsyncIterable",`transform[${Ne-1}]`,ge)}else{var me;U||(U=qa());let B=new U({objectMode:!0}),L=(me=ge)===null||me===void 0?void 0:me.then;if(typeof L=="function")ae++,L.call(ge,M=>{D=M,M!=null&&B.write(M),y&&B.end(),r.nextTick(ue)},M=>{B.destroy(M),r.nextTick(ue,M)});else if(k(ge,!0))ae++,Z(ge,B,ue,{end:y});else if(I(ge)||C(ge)){let M=ge.readable||ge;ae++,Z(M,B,ue,{end:y})}else throw new p("AsyncIterable or Promise","destination",ge);ge=B;let{destroy:P,cleanup:j}=pe(ge,!1,!0);F.push(P),_&&oe.push(j)}}else if(T(ce)){if(V(ge)){ae+=2;let B=he(ge,ce,ue,{end:y});v(ce)&&_&&oe.push(B)}else if(C(ge)||I(ge)){let B=ge.readable||ge;ae++,Z(B,ce,ue,{end:y})}else if(k(ge))ae++,Z(ge,ce,ue,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=ce}else if(A(ce)){if(V(ge))ae++,se(re(ge),ce,ue,{end:y});else if(I(ge)||k(ge))ae++,se(ge,ce,ue,{end:y});else if(C(ge))ae++,se(ge.readable,ce,ue,{end:y});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ge);ge=ce}else ge=d.from(ce)}return(le!=null&&le.aborted||J!=null&&J.aborted)&&r.nextTick(ie),ge}function he(Y,Se,te,{end:q}){let le=!1;if(Se.on("close",()=>{le||te(new N)}),Y.pipe(Se,{end:!1}),q){let J=function(){le=!0,Se.end()};$(Y)?r.nextTick(J):Y.once("end",J)}else te();return l(Y,{readable:!0,writable:!1},J=>{let oe=Y._readableState;J&&J.code==="ERR_STREAM_PREMATURE_CLOSE"&&oe&&oe.ended&&!oe.errored&&!oe.errorEmitted?Y.once("end",te).once("error",te):te(J)}),l(Se,{readable:!1,writable:!0},te)}t.exports={pipelineImpl:ee,pipeline:R}}),Ga=_e((u,t)=>{ye(),we(),be();var{pipeline:r}=Rn(),a=St(),{destroyer:n}=ir(),{isNodeStream:o,isReadable:i,isWritable:l,isWebStream:s,isTransformStream:c,isWritableStream:d,isReadableStream:h}=Nt(),{AbortError:m,codes:{ERR_INVALID_ARG_VALUE:p,ERR_MISSING_ARGS:f}}=lt(),w=Pt();t.exports=function(...N){if(N.length===0)throw new f("streams");if(N.length===1)return a.from(N[0]);let S=[...N];if(typeof N[0]=="function"&&(N[0]=a.from(N[0])),typeof N[N.length-1]=="function"){let x=N.length-1;N[x]=a.from(N[x])}for(let x=0;x<N.length;++x)if(!(!o(N[x])&&!s(N[x]))){if(x<N.length-1&&!(i(N[x])||h(N[x])||c(N[x])))throw new p(`streams[${x}]`,S[x],"must be readable");if(x>0&&!(l(N[x])||d(N[x])||c(N[x])))throw new p(`streams[${x}]`,S[x],"must be writable")}let b,E,k,v,V;function T(x){let U=v;v=null,U?U(x):x?V.destroy(x):!$&&!I&&V.destroy()}let C=N[0],A=r(N,T),I=!!(l(C)||d(C)||c(C)),$=!!(i(A)||h(A)||c(A));if(V=new a({writableObjectMode:!!(C!=null&&C.writableObjectMode),readableObjectMode:!!(A!=null&&A.readableObjectMode),writable:I,readable:$}),I){if(o(C))V._write=function(U,Q,W){C.write(U,Q)?W():b=W},V._final=function(U){C.end(),E=U},C.on("drain",function(){if(b){let U=b;b=null,U()}});else if(s(C)){let U=(c(C)?C.writable:C).getWriter();V._write=async function(Q,W,pe){try{await U.ready,U.write(Q).catch(()=>{}),pe()}catch(ne){pe(ne)}},V._final=async function(Q){try{await U.ready,U.close().catch(()=>{}),E=Q}catch(W){Q(W)}}}let x=c(A)?A.readable:A;w(x,()=>{if(E){let U=E;E=null,U()}})}if($){if(o(A))A.on("readable",function(){if(k){let x=k;k=null,x()}}),A.on("end",function(){V.push(null)}),V._read=function(){for(;;){let x=A.read();if(x===null){k=V._read;return}if(!V.push(x))return}};else if(s(A)){let x=(c(A)?A.readable:A).getReader();V._read=async function(){for(;;)try{let{value:U,done:Q}=await x.read();if(!V.push(U))return;if(Q){V.push(null);return}}catch{return}}}}return V._destroy=function(x,U){!x&&v!==null&&(x=new m),k=null,b=null,E=null,v===null?U(x):(v=U,o(A)&&n(A,x))},V}}),iy=_e((u,t)=>{ye(),we(),be();var r=globalThis.AbortController||mr().AbortController,{codes:{ERR_INVALID_ARG_VALUE:a,ERR_INVALID_ARG_TYPE:n,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:i},AbortError:l}=lt(),{validateAbortSignal:s,validateInteger:c,validateObject:d}=yr(),h=Qe().Symbol("kWeak"),m=Qe().Symbol("kResistStopPropagation"),{finished:p}=Pt(),f=Ga(),{addAbortSignalNoValidate:w}=Ar(),{isWritable:N,isNodeStream:S}=Nt(),{deprecate:b}=ut(),{ArrayPrototypePush:E,Boolean:k,MathFloor:v,Number:V,NumberIsNaN:T,Promise:C,PromiseReject:A,PromiseResolve:I,PromisePrototypeThen:$,Symbol:x}=Qe(),U=x("kEmpty"),Q=x("kEof");function W(J,oe){if(oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),S(J)&&!N(J))throw new a("stream",J,"must be writable");let ie=f(this,J);return oe!=null&&oe.signal&&w(oe.signal,ie),ie}function pe(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal");let ie=1;(oe==null?void 0:oe.concurrency)!=null&&(ie=v(oe.concurrency));let Ee=ie-1;return(oe==null?void 0:oe.highWaterMark)!=null&&(Ee=v(oe.highWaterMark)),c(ie,"options.concurrency",1),c(Ee,"options.highWaterMark",0),Ee+=ie,(async function*(){let K=ut().AbortSignalAny([oe==null?void 0:oe.signal].filter(k)),D=this,F=[],ae={signal:K},ue,fe,ge=!1,X=0;function me(){ge=!0,Ne()}function Ne(){X-=1,ce()}function ce(){fe&&!ge&&X<ie&&F.length<Ee&&(fe(),fe=null)}async function Ve(){try{for await(let g of D){if(ge)return;if(K.aborted)throw new l;try{if(g=J(g,ae),g===U)continue;g=I(g)}catch(y){g=A(y)}X+=1,$(g,Ne,me),F.push(g),ue&&(ue(),ue=null),!ge&&(F.length>=Ee||X>=ie)&&await new C(y=>{fe=y})}F.push(Q)}catch(g){let y=A(g);$(y,Ne,me),F.push(y)}finally{ge=!0,ue&&(ue(),ue=null)}}Ve();try{for(;;){for(;F.length>0;){let g=await F[0];if(g===Q)return;if(K.aborted)throw new l;g!==U&&(yield g),F.shift(),ce()}await new C(g=>{ue=g})}}finally{ge=!0,fe&&(fe(),fe=null)}}).call(this)}function ne(J=void 0){return J!=null&&d(J,"options"),(J==null?void 0:J.signal)!=null&&s(J.signal,"options.signal"),(async function*(){let oe=0;for await(let Ee of this){var ie;if(J!=null&&(ie=J.signal)!==null&&ie!==void 0&&ie.aborted)throw new l({cause:J.signal.reason});yield[oe++,Ee]}}).call(this)}async function re(J,oe=void 0){for await(let ie of R.call(this,J,oe))return!0;return!1}async function de(J,oe=void 0){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);return!await re.call(this,async(...ie)=>!await J(...ie),oe)}async function Z(J,oe){for await(let ie of R.call(this,J,oe))return ie}async function se(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);async function ie(Ee,K){return await J(Ee,K),U}for await(let Ee of pe.call(this,ie,oe));}function R(J,oe){if(typeof J!="function")throw new n("fn",["Function","AsyncFunction"],J);async function ie(Ee,K){return await J(Ee,K)?Ee:U}return pe.call(this,ie,oe)}var ee=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function he(J,oe,ie){var Ee;if(typeof J!="function")throw new n("reducer",["Function","AsyncFunction"],J);ie!=null&&d(ie,"options"),(ie==null?void 0:ie.signal)!=null&&s(ie.signal,"options.signal");let K=arguments.length>1;if(ie!=null&&(Ee=ie.signal)!==null&&Ee!==void 0&&Ee.aborted){let fe=new l(void 0,{cause:ie.signal.reason});throw this.once("error",()=>{}),await p(this.destroy(fe)),fe}let D=new r,F=D.signal;if(ie!=null&&ie.signal){let fe={once:!0,[h]:this,[m]:!0};ie.signal.addEventListener("abort",()=>D.abort(),fe)}let ae=!1;try{for await(let fe of this){var ue;if(ae=!0,ie!=null&&(ue=ie.signal)!==null&&ue!==void 0&&ue.aborted)throw new l;K?oe=await J(oe,fe,{signal:F}):(oe=fe,K=!0)}if(!ae&&!K)throw new ee}finally{D.abort()}return oe}async function Y(J){J!=null&&d(J,"options"),(J==null?void 0:J.signal)!=null&&s(J.signal,"options.signal");let oe=[];for await(let Ee of this){var ie;if(J!=null&&(ie=J.signal)!==null&&ie!==void 0&&ie.aborted)throw new l(void 0,{cause:J.signal.reason});E(oe,Ee)}return oe}function Se(J,oe){let ie=pe.call(this,J,oe);return(async function*(){for await(let Ee of ie)yield*Ee}).call(this)}function te(J){if(J=V(J),T(J))return 0;if(J<0)throw new i("number",">= 0",J);return J}function q(J,oe=void 0){return oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),J=te(J),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let K of this){var Ee;if(oe!=null&&(Ee=oe.signal)!==null&&Ee!==void 0&&Ee.aborted)throw new l;J--<=0&&(yield K)}}).call(this)}function le(J,oe=void 0){return oe!=null&&d(oe,"options"),(oe==null?void 0:oe.signal)!=null&&s(oe.signal,"options.signal"),J=te(J),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let K of this){var Ee;if(oe!=null&&(Ee=oe.signal)!==null&&Ee!==void 0&&Ee.aborted)throw new l;if(J-- >0&&(yield K),J<=0)return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:b(ne,"readable.asIndexedPairs will be removed in a future version."),drop:q,filter:R,flatMap:Se,map:pe,take:le,compose:W},t.exports.promiseReturningOperators={every:de,forEach:se,reduce:he,toArray:Y,some:re,find:Z}}),Ha=_e((u,t)=>{ye(),we(),be();var{ArrayPrototypePop:r,Promise:a}=Qe(),{isIterable:n,isNodeStream:o,isWebStream:i}=Nt(),{pipelineImpl:l}=Rn(),{finished:s}=Pt();Ka();function c(...d){return new a((h,m)=>{let p,f,w=d[d.length-1];if(w&&typeof w=="object"&&!o(w)&&!n(w)&&!i(w)){let N=r(d);p=N.signal,f=N.end}l(d,(N,S)=>{N?m(N):h(S)},{signal:p,end:f})})}t.exports={finished:s,pipeline:c}}),Ka=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),{ObjectDefineProperty:a,ObjectKeys:n,ReflectApply:o}=Qe(),{promisify:{custom:i}}=ut(),{streamReturningOperators:l,promiseReturningOperators:s}=iy(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:c}}=lt(),d=Ga(),{setDefaultHighWaterMark:h,getDefaultHighWaterMark:m}=Tr(),{pipeline:p}=Rn(),{destroyer:f}=ir(),w=Pt(),N=Ha(),S=Nt(),b=t.exports=On().Stream;b.isDestroyed=S.isDestroyed,b.isDisturbed=S.isDisturbed,b.isErrored=S.isErrored,b.isReadable=S.isReadable,b.isWritable=S.isWritable,b.Readable=$r();for(let k of n(l)){let v=function(...T){if(new.target)throw c();return b.Readable.from(o(V,this,T))},V=l[k];a(v,"name",{__proto__:null,value:V.name}),a(v,"length",{__proto__:null,value:V.length}),a(b.Readable.prototype,k,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}for(let k of n(s)){let v=function(...T){if(new.target)throw c();return o(V,this,T)},V=s[k];a(v,"name",{__proto__:null,value:V.name}),a(v,"length",{__proto__:null,value:V.length}),a(b.Readable.prototype,k,{__proto__:null,value:v,enumerable:!1,configurable:!0,writable:!0})}b.Writable=Mn(),b.Duplex=St(),b.Transform=Wa(),b.PassThrough=qa(),b.pipeline=p;var{addAbortSignal:E}=Ar();b.addAbortSignal=E,b.finished=w,b.destroy=f,b.compose=d,b.setDefaultHighWaterMark=h,b.getDefaultHighWaterMark=m,a(b,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return N}}),a(p,i,{__proto__:null,enumerable:!0,get(){return N.pipeline}}),a(w,i,{__proto__:null,enumerable:!0,get(){return N.finished}}),b.Stream=b,b._isUint8Array=function(k){return k instanceof Uint8Array},b._uint8ArrayToBuffer=function(k){return r.from(k.buffer,k.byteOffset,k.byteLength)}}),Jt=_e((u,t)=>{ye(),we(),be();var r=Ka(),a=Ha(),n=r.Readable.destroy;t.exports=r.Readable,t.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,t.exports._isUint8Array=r._isUint8Array,t.exports.isDisturbed=r.isDisturbed,t.exports.isErrored=r.isErrored,t.exports.isReadable=r.isReadable,t.exports.Readable=r.Readable,t.exports.Writable=r.Writable,t.exports.Duplex=r.Duplex,t.exports.Transform=r.Transform,t.exports.PassThrough=r.PassThrough,t.exports.addAbortSignal=r.addAbortSignal,t.exports.finished=r.finished,t.exports.destroy=r.destroy,t.exports.destroy=n,t.exports.pipeline=r.pipeline,t.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get(){return a}}),t.exports.Stream=r.Stream,t.exports.default=t.exports}),ay=_e((u,t)=>{ye(),we(),be(),typeof Object.create=="function"?t.exports=function(r,a){a&&(r.super_=a,r.prototype=Object.create(a.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,a){if(a){r.super_=a;var n=function(){};n.prototype=a.prototype,r.prototype=new n,r.prototype.constructor=r}}}),sy=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),a=Symbol.for("BufferList");function n(o){if(!(this instanceof n))return new n(o);n._init.call(this,o)}n._init=function(o){Object.defineProperty(this,a,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},n.prototype._new=function(o){return new n(o)},n.prototype._offset=function(o){if(o===0)return[0,0];let i=0;for(let l=0;l<this._bufs.length;l++){let s=i+this._bufs[l].length;if(o<s||l===this._bufs.length-1)return[l,o-i];i=s}},n.prototype._reverseOffset=function(o){let i=o[0],l=o[1];for(let s=0;s<i;s++)l+=this._bufs[s].length;return l},n.prototype.getBuffers=function(){return this._bufs},n.prototype.get=function(o){if(o>this.length||o<0)return;let i=this._offset(o);return this._bufs[i[0]][i[1]]},n.prototype.slice=function(o,i){return typeof o=="number"&&o<0&&(o+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,o,i)},n.prototype.copy=function(o,i,l,s){if((typeof l!="number"||l<0)&&(l=0),(typeof s!="number"||s>this.length)&&(s=this.length),l>=this.length||s<=0)return o||r.alloc(0);let c=!!o,d=this._offset(l),h=s-l,m=h,p=c&&i||0,f=d[1];if(l===0&&s===this.length){if(!c)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(o,p),p+=this._bufs[w].length;return o}if(m<=this._bufs[d[0]].length-f)return c?this._bufs[d[0]].copy(o,i,f,f+m):this._bufs[d[0]].slice(f,f+m);c||(o=r.allocUnsafe(h));for(let w=d[0];w<this._bufs.length;w++){let N=this._bufs[w].length-f;if(m>N)this._bufs[w].copy(o,p,f),p+=N;else{this._bufs[w].copy(o,p,f,f+m),p+=N;break}m-=N,f&&(f=0)}return o.length>p?o.slice(0,p):o},n.prototype.shallowSlice=function(o,i){if(o=o||0,i=typeof i!="number"?this.length:i,o<0&&(o+=this.length),i<0&&(i+=this.length),o===i)return this._new();let l=this._offset(o),s=this._offset(i),c=this._bufs.slice(l[0],s[0]+1);return s[1]===0?c.pop():c[c.length-1]=c[c.length-1].slice(0,s[1]),l[1]!==0&&(c[0]=c[0].slice(l[1])),this._new(c)},n.prototype.toString=function(o,i,l){return this.slice(i,l).toString(o)},n.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;)if(o>=this._bufs[0].length)o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}return this},n.prototype.duplicate=function(){let o=this._new();for(let i=0;i<this._bufs.length;i++)o.append(this._bufs[i]);return o},n.prototype.append=function(o){return this._attach(o,n.prototype._appendBuffer)},n.prototype.prepend=function(o){return this._attach(o,n.prototype._prependBuffer,!0)},n.prototype._attach=function(o,i,l){if(o==null)return this;if(o.buffer)i.call(this,r.from(o.buffer,o.byteOffset,o.byteLength));else if(Array.isArray(o)){let[s,c]=l?[o.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o.length;d+=c)this._attach(o[d],i,l)}else if(this._isBufferList(o)){let[s,c]=l?[o._bufs.length-1,-1]:[0,1];for(let d=s;d>=0&&d<o._bufs.length;d+=c)this._attach(o._bufs[d],i,l)}else typeof o=="number"&&(o=o.toString()),i.call(this,r.from(o));return this},n.prototype._appendBuffer=function(o){this._bufs.push(o),this.length+=o.length},n.prototype._prependBuffer=function(o){this._bufs.unshift(o),this.length+=o.length},n.prototype.indexOf=function(o,i,l){if(l===void 0&&typeof i=="string"&&(l=i,i=void 0),typeof o=="function"||Array.isArray(o))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof o=="number"?o=r.from([o]):typeof o=="string"?o=r.from(o,l):this._isBufferList(o)?o=o.slice():Array.isArray(o.buffer)?o=r.from(o.buffer,o.byteOffset,o.byteLength):r.isBuffer(o)||(o=r.from(o)),i=Number(i||0),isNaN(i)&&(i=0),i<0&&(i=this.length+i),i<0&&(i=0),o.length===0)return i>this.length?this.length:i;let s=this._offset(i),c=s[0],d=s[1];for(;c<this._bufs.length;c++){let h=this._bufs[c];for(;d<h.length;)if(h.length-d>=o.length){let m=h.indexOf(o,d);if(m!==-1)return this._reverseOffset([c,m]);d=h.length-o.length+1}else{let m=this._reverseOffset([c,d]);if(this._match(m,o))return m;d++}d=0}return-1},n.prototype._match=function(o,i){if(this.length-o<i.length)return!1;for(let l=0;l<i.length;l++)if(this.get(o+l)!==i[l])return!1;return!0},function(){let o={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readBigInt64BE:8,readBigInt64LE:8,readBigUInt64BE:8,readBigUInt64LE:8,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let i in o)(function(l){o[l]===null?n.prototype[l]=function(s,c){return this.slice(s,s+c)[l](0,c)}:n.prototype[l]=function(s=0){return this.slice(s,s+o[l])[l](0)}})(i)}(),n.prototype._isBufferList=function(o){return o instanceof n||n.isBufferList(o)},n.isBufferList=function(o){return o!=null&&o[a]},t.exports=n}),ly=_e((u,t)=>{ye(),we(),be();var r=Jt().Duplex,a=ay(),n=sy();function o(i){if(!(this instanceof o))return new o(i);if(typeof i=="function"){this._callback=i;let l=(function(s){this._callback&&(this._callback(s),this._callback=null)}).bind(this);this.on("pipe",function(s){s.on("error",l)}),this.on("unpipe",function(s){s.removeListener("error",l)}),i=null}n._init.call(this,i),r.call(this)}a(o,r),Object.assign(o.prototype,n.prototype),o.prototype._new=function(i){return new o(i)},o.prototype._write=function(i,l,s){this._appendBuffer(i),typeof s=="function"&&s()},o.prototype._read=function(i){if(!this.length)return this.push(null);i=Math.min(i,this.length),this.push(this.slice(0,i)),this.consume(i)},o.prototype.end=function(i){r.prototype.end.call(this,i),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(i,l){this._bufs.length=0,this.length=0,l(i)},o.prototype._isBufferList=function(i){return i instanceof o||i instanceof n||o.isBufferList(i)},o.isBufferList=n.isBufferList,t.exports=o,t.exports.BufferListStream=o,t.exports.BufferList=n}),cy=_e((u,t)=>{ye(),we(),be();var r=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=r}),Ya=_e((u,t)=>{ye(),we(),be();var r=t.exports,{Buffer:a}=(ot(),We(rt));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let i=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+i.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let i=r.types[o];r.codes[i]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=a.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=a.from([r.codes.connack<<r.CMD_SHIFT]),r.USERNAME_MASK=128,r.PASSWORD_MASK=64,r.WILL_RETAIN_MASK=32,r.WILL_QOS_MASK=24,r.WILL_QOS_SHIFT=3,r.WILL_FLAG_MASK=4,r.CLEAN_SESSION_MASK=2,r.CONNECT_HEADER=a.from([r.codes.connect<<r.CMD_SHIFT]),r.properties={sessionExpiryInterval:17,willDelayInterval:24,receiveMaximum:33,maximumPacketSize:39,topicAliasMaximum:34,requestResponseInformation:25,requestProblemInformation:23,userProperties:38,authenticationMethod:21,authenticationData:22,payloadFormatIndicator:1,messageExpiryInterval:2,contentType:3,responseTopic:8,correlationData:9,maximumQoS:36,retainAvailable:37,assignedClientIdentifier:18,reasonString:31,wildcardSubscriptionAvailable:40,subscriptionIdentifiersAvailable:41,sharedSubscriptionAvailable:42,serverKeepAlive:19,responseInformation:26,serverReference:28,topicAlias:35,subscriptionIdentifier:11},r.propertiesCodes={};for(let o in r.properties){let i=r.properties[o];r.propertiesCodes[i]=o}r.propertiesTypes={sessionExpiryInterval:"int32",willDelayInterval:"int32",receiveMaximum:"int16",maximumPacketSize:"int32",topicAliasMaximum:"int16",requestResponseInformation:"byte",requestProblemInformation:"byte",userProperties:"pair",authenticationMethod:"string",authenticationData:"binary",payloadFormatIndicator:"byte",messageExpiryInterval:"int32",contentType:"string",responseTopic:"string",correlationData:"binary",maximumQoS:"int8",retainAvailable:"byte",assignedClientIdentifier:"string",reasonString:"string",wildcardSubscriptionAvailable:"byte",subscriptionIdentifiersAvailable:"byte",sharedSubscriptionAvailable:"byte",serverKeepAlive:"int16",responseInformation:"string",serverReference:"string",topicAlias:"int16",subscriptionIdentifier:"var"};function n(o){return[0,1,2].map(i=>[0,1].map(l=>[0,1].map(s=>{let c=a.alloc(1);return c.writeUInt8(r.codes[o]<<r.CMD_SHIFT|(l?r.DUP_MASK:0)|i<<r.QOS_SHIFT|s,0,!0),c})))}r.PUBLISH_HEADER=n("publish"),r.SUBSCRIBE_HEADER=n("subscribe"),r.SUBSCRIBE_OPTIONS_QOS_MASK=3,r.SUBSCRIBE_OPTIONS_NL_MASK=1,r.SUBSCRIBE_OPTIONS_NL_SHIFT=2,r.SUBSCRIBE_OPTIONS_RAP_MASK=1,r.SUBSCRIBE_OPTIONS_RAP_SHIFT=3,r.SUBSCRIBE_OPTIONS_RH_MASK=3,r.SUBSCRIBE_OPTIONS_RH_SHIFT=4,r.SUBSCRIBE_OPTIONS_RH=[0,16,32],r.SUBSCRIBE_OPTIONS_NL=4,r.SUBSCRIBE_OPTIONS_RAP=8,r.SUBSCRIBE_OPTIONS_QOS=[0,1,2],r.UNSUBSCRIBE_HEADER=n("unsubscribe"),r.ACKS={unsuback:n("unsuback"),puback:n("puback"),pubcomp:n("pubcomp"),pubrel:n("pubrel"),pubrec:n("pubrec")},r.SUBACK_HEADER=a.from([r.codes.suback<<r.CMD_SHIFT]),r.VERSION3=a.from([3]),r.VERSION4=a.from([4]),r.VERSION5=a.from([5]),r.VERSION131=a.from([131]),r.VERSION132=a.from([132]),r.QOS=[0,1,2].map(o=>a.from([o])),r.EMPTY={pingreq:a.from([r.codes.pingreq<<4,0]),pingresp:a.from([r.codes.pingresp<<4,0]),disconnect:a.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),dy=_e((u,t)=>{ye(),we(),be();var r=1e3,a=r*60,n=a*60,o=n*24,i=o*7,l=o*365.25;t.exports=function(m,p){p=p||{};var f=typeof m;if(f==="string"&&m.length>0)return s(m);if(f==="number"&&isFinite(m))return p.long?d(m):c(m);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(m))};function s(m){if(m=String(m),!(m.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(m);if(p){var f=parseFloat(p[1]),w=(p[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return f*l;case"weeks":case"week":case"w":return f*i;case"days":case"day":case"d":return f*o;case"hours":case"hour":case"hrs":case"hr":case"h":return f*n;case"minutes":case"minute":case"mins":case"min":case"m":return f*a;case"seconds":case"second":case"secs":case"sec":case"s":return f*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return f;default:return}}}}function c(m){var p=Math.abs(m);return p>=o?Math.round(m/o)+"d":p>=n?Math.round(m/n)+"h":p>=a?Math.round(m/a)+"m":p>=r?Math.round(m/r)+"s":m+"ms"}function d(m){var p=Math.abs(m);return p>=o?h(m,p,o,"day"):p>=n?h(m,p,n,"hour"):p>=a?h(m,p,a,"minute"):p>=r?h(m,p,r,"second"):m+" ms"}function h(m,p,f,w){var N=p>=f*1.5;return Math.round(m/f)+" "+w+(N?"s":"")}}),uy=_e((u,t)=>{ye(),we(),be();function r(a){o.debug=o,o.default=o,o.coerce=h,o.disable=c,o.enable=l,o.enabled=d,o.humanize=dy(),o.destroy=m,Object.keys(a).forEach(p=>{o[p]=a[p]}),o.names=[],o.skips=[],o.formatters={};function n(p){let f=0;for(let w=0;w<p.length;w++)f=(f<<5)-f+p.charCodeAt(w),f|=0;return o.colors[Math.abs(f)%o.colors.length]}o.selectColor=n;function o(p){let f,w=null,N,S;function b(...E){if(!b.enabled)return;let k=b,v=Number(new Date),V=v-(f||v);k.diff=V,k.prev=f,k.curr=v,f=v,E[0]=o.coerce(E[0]),typeof E[0]!="string"&&E.unshift("%O");let T=0;E[0]=E[0].replace(/%([a-zA-Z%])/g,(C,A)=>{if(C==="%%")return"%";T++;let I=o.formatters[A];if(typeof I=="function"){let $=E[T];C=I.call(k,$),E.splice(T,1),T--}return C}),o.formatArgs.call(k,E),(k.log||o.log).apply(k,E)}return b.namespace=p,b.useColors=o.useColors(),b.color=o.selectColor(p),b.extend=i,b.destroy=o.destroy,Object.defineProperty(b,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(N!==o.namespaces&&(N=o.namespaces,S=o.enabled(p)),S),set:E=>{w=E}}),typeof o.init=="function"&&o.init(b),b}function i(p,f){let w=o(this.namespace+(typeof f>"u"?":":f)+p);return w.log=this.log,w}function l(p){o.save(p),o.namespaces=p,o.names=[],o.skips=[];let f=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let w of f)w[0]==="-"?o.skips.push(w.slice(1)):o.names.push(w)}function s(p,f){let w=0,N=0,S=-1,b=0;for(;w<p.length;)if(N<f.length&&(f[N]===p[w]||f[N]==="*"))f[N]==="*"?(S=N,b=w,N++):(w++,N++);else if(S!==-1)N=S+1,b++,w=b;else return!1;for(;N<f.length&&f[N]==="*";)N++;return N===f.length}function c(){let p=[...o.names,...o.skips.map(f=>"-"+f)].join(",");return o.enable(""),p}function d(p){for(let f of o.skips)if(s(p,f))return!1;for(let f of o.names)if(s(p,f))return!0;return!1}function h(p){return p instanceof Error?p.stack||p.message:p}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return o.enable(o.load()),o}t.exports=r}),xt=_e((u,t)=>{ye(),we(),be(),u.formatArgs=a,u.save=n,u.load=o,u.useColors=r,u.storage=i(),u.destroy=(()=>{let s=!1;return()=>{s||(s=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),u.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function a(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;s.splice(1,0,c,"color: inherit");let d=0,h=0;s[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(d++,m==="%c"&&(h=d))}),s.splice(h,0,c)}u.log=console.debug||console.log||(()=>{});function n(s){try{s?u.storage.setItem("debug",s):u.storage.removeItem("debug")}catch{}}function o(){let s;try{s=u.storage.getItem("debug")||u.storage.getItem("DEBUG")}catch{}return!s&&typeof ze<"u"&&"env"in ze&&(s=ze.env.DEBUG),s}function i(){try{return localStorage}catch{}}t.exports=uy()(u);var{formatters:l}=t.exports;l.j=function(s){try{return JSON.stringify(s)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}}),fy=_e((u,t)=>{ye(),we(),be();var r=ly(),{EventEmitter:a}=(Yt(),We(Dt)),n=cy(),o=Ya(),i=xt()("mqtt-packet:parser"),l=class Ki extends a{constructor(){super(),this.parser=this.constructor.parser}static parser(c){return this instanceof Ki?(this.settings=c||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Ki().parser(c)}_resetState(){i("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new n,this.error=null,this._list=r(),this._stateCounter=0}parse(c){for(this.error&&this._resetState(),this._list.append(c),i("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,i("parse: state complete. _stateCounter is now: %d",this._stateCounter),i("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return i("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let c=this._list.readUInt8(0),d=c>>o.CMD_SHIFT;this.packet.cmd=o.types[d];let h=c&15,m=o.requiredHeaderFlags[d];return m!=null&&h!==m?this._emitError(new Error(o.requiredHeaderFlagsErrors[d])):(this.packet.retain=(c&o.RETAIN_MASK)!==0,this.packet.qos=c>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(c&o.DUP_MASK)!==0,i("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let c=this._parseVarByteNum(!0);return c&&(this.packet.length=c.value,this._list.consume(c.bytes)),i("_parseLength %d",c.value),!!c}_parsePayload(){i("_parsePayload: payload %O",this._list);let c=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}c=!0}return i("_parsePayload complete result: %s",c),c}_parseConnect(){i("_parseConnect");let c,d,h,m,p={},f=this.packet,w=this._parseString();if(w===null)return this._emitError(new Error("Cannot parse protocolId"));if(w!=="MQTT"&&w!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(f.protocolId=w,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(f.protocolVersion=this._list.readUInt8(this._pos),f.protocolVersion>=128&&(f.bridgeMode=!0,f.protocolVersion=f.protocolVersion-128),f.protocolVersion!==3&&f.protocolVersion!==4&&f.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));p.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,p.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,p.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let N=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(p.will)f.will={},f.will.retain=N,f.will.qos=S;else{if(N)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(f.clean=(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK)!==0,this._pos++,f.keepalive=this._parseNum(),f.keepalive===-1)return this._emitError(new Error("Packet too short"));if(f.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(f.properties=E)}let b=this._parseString();if(b===null)return this._emitError(new Error("Packet too short"));if(f.clientId=b,i("_parseConnect: packet.clientId: %s",f.clientId),p.will){if(f.protocolVersion===5){let E=this._parseProperties();Object.getOwnPropertyNames(E).length&&(f.will.properties=E)}if(c=this._parseString(),c===null)return this._emitError(new Error("Cannot parse will topic"));if(f.will.topic=c,i("_parseConnect: packet.will.topic: %s",f.will.topic),d=this._parseBuffer(),d===null)return this._emitError(new Error("Cannot parse will payload"));f.will.payload=d,i("_parseConnect: packet.will.paylaod: %s",f.will.payload)}if(p.username){if(m=this._parseString(),m===null)return this._emitError(new Error("Cannot parse username"));f.username=m,i("_parseConnect: packet.username: %s",f.username)}if(p.password){if(h=this._parseBuffer(),h===null)return this._emitError(new Error("Cannot parse password"));f.password=h}return this.settings=f,i("_parseConnect: complete"),f}_parseConnack(){i("_parseConnack");let c=this.packet;if(this._list.length<1)return null;let d=this._list.readUInt8(this._pos++);if(d>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(c.sessionPresent=!!(d&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?c.reasonCode=this._list.readUInt8(this._pos++):c.reasonCode=0;else{if(this._list.length<2)return null;c.returnCode=this._list.readUInt8(this._pos++)}if(c.returnCode===-1||c.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let h=this._parseProperties();Object.getOwnPropertyNames(h).length&&(c.properties=h)}i("_parseConnack: complete")}_parsePublish(){i("_parsePublish");let c=this.packet;if(c.topic=this._parseString(),c.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(c.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}c.payload=this._list.slice(this._pos,c.length),i("_parsePublish: payload from buffer list: %o",c.payload)}}_parseSubscribe(){i("_parseSubscribe");let c=this.packet,d,h,m,p,f,w,N;if(c.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(c.properties=S)}if(c.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<c.length;){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=c.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(h=this._parseByte(),this.settings.protocolVersion===5){if(h&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(h&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(m=h&o.SUBSCRIBE_OPTIONS_QOS_MASK,m>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(w=(h>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK)!==0,f=(h>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,p=h>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,p>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));N={topic:d,qos:m},this.settings.protocolVersion===5?(N.nl=w,N.rap=f,N.rh=p):this.settings.bridgeMode&&(N.rh=0,N.rap=!0,N.nl=!0),i("_parseSubscribe: push subscription `%s` to subscription",N),c.subscriptions.push(N)}}}_parseSuback(){i("_parseSuback");let c=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos<this.packet.length;){let d=this._list.readUInt8(this._pos++);if(this.settings.protocolVersion===5){if(!o.MQTT5_SUBACK_CODES[d])return this._emitError(new Error("Invalid suback code"))}else if(d>2&&d!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(d)}}}_parseUnsubscribe(){i("_parseUnsubscribe");let c=this.packet;if(c.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}if(c.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos<c.length;){let d=this._parseString();if(d===null)return this._emitError(new Error("Cannot parse topic"));i("_parseUnsubscribe: push topic `%s` to unsubscriptions",d),c.unsubscriptions.push(d)}}}_parseUnsuback(){i("_parseUnsuback");let c=this.packet;if(!this._parseMessageId())return this._emitError(new Error("Cannot parse messageId"));if((this.settings.protocolVersion===3||this.settings.protocolVersion===4)&&c.length!==2)return this._emitError(new Error("Malformed unsuback, payload length must be 2"));if(c.length<=0)return this._emitError(new Error("Malformed unsuback, no payload specified"));if(this.settings.protocolVersion===5){let d=this._parseProperties();for(Object.getOwnPropertyNames(d).length&&(c.properties=d),c.granted=[];this._pos<this.packet.length;){let h=this._list.readUInt8(this._pos++);if(!o.MQTT5_UNSUBACK_CODES[h])return this._emitError(new Error("Invalid unsuback code"));this.packet.granted.push(h)}}}_parseConfirmation(){i("_parseConfirmation: packet.cmd: `%s`",this.packet.cmd);let c=this.packet;if(this._parseMessageId(),this.settings.protocolVersion===5){if(c.length>2){switch(c.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}i("_parseConfirmation: packet.reasonCode `%d`",c.reasonCode)}else c.reasonCode=0;if(c.length>3){let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}}return!0}_parseDisconnect(){let c=this.packet;if(i("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(c.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[c.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):c.reasonCode=0;let d=this._parseProperties();Object.getOwnPropertyNames(d).length&&(c.properties=d)}return i("_parseDisconnect result: true"),!0}_parseAuth(){i("_parseAuth");let c=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(c.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[c.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let d=this._parseProperties();return Object.getOwnPropertyNames(d).length&&(c.properties=d),i("_parseAuth: result: true"),!0}_parseMessageId(){let c=this.packet;return c.messageId=this._parseNum(),c.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(i("_parseMessageId: packet.messageId %d",c.messageId),!0)}_parseString(c){let d=this._parseNum(),h=d+this._pos;if(d===-1||h>this._list.length||h>this.packet.length)return null;let m=this._list.toString("utf8",this._pos,h);return this._pos+=d,i("_parseString: result: %s",m),m}_parseStringPair(){return i("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let c=this._parseNum(),d=c+this._pos;if(c===-1||d>this._list.length||d>this.packet.length)return null;let h=this._list.slice(this._pos,d);return this._pos+=c,i("_parseBuffer: result: %o",h),h}_parseNum(){if(this._list.length-this._pos<2)return-1;let c=this._list.readUInt16BE(this._pos);return this._pos+=2,i("_parseNum: result: %s",c),c}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let c=this._list.readUInt32BE(this._pos);return this._pos+=4,i("_parse4ByteNum: result: %s",c),c}_parseVarByteNum(c){i("_parseVarByteNum");let d=4,h=0,m=1,p=0,f=!1,w,N=this._pos?this._pos:0;for(;h<d&&N+h<this._list.length;){if(w=this._list.readUInt8(N+h++),p+=m*(w&o.VARBYTEINT_MASK),m*=128,(w&o.VARBYTEINT_FIN_MASK)===0){f=!0;break}if(this._list.length<=h)break}return!f&&h===d&&this._list.length>=h&&this._emitError(new Error("Invalid variable byte integer")),N&&(this._pos+=h),f?c?f={bytes:h,value:p}:f=p:f=!1,i("_parseVarByteNum: result: %o",f),f}_parseByte(){let c;return this._pos<this._list.length&&(c=this._list.readUInt8(this._pos),this._pos++),i("_parseByte: result: %o",c),c}_parseByType(c){switch(i("_parseByType: type: %s",c),c){case"byte":return this._parseByte()!==0;case"int8":return this._parseByte();case"int16":return this._parseNum();case"int32":return this._parse4ByteNum();case"var":return this._parseVarByteNum();case"string":return this._parseString();case"pair":return this._parseStringPair();case"binary":return this._parseBuffer()}}_parseProperties(){i("_parseProperties");let c=this._parseVarByteNum(),d=this._pos+c,h={};for(;this._pos<d;){let m=this._parseByte();if(!m)return this._emitError(new Error("Cannot parse property code type")),!1;let p=o.propertiesCodes[m];if(!p)return this._emitError(new Error("Unknown property")),!1;if(p==="userProperties"){h[p]||(h[p]=Object.create(null));let f=this._parseByType(o.propertiesTypes[p]);if(h[p][f.name])if(Array.isArray(h[p][f.name]))h[p][f.name].push(f.value);else{let w=h[p][f.name];h[p][f.name]=[w],h[p][f.name].push(f.value)}else h[p][f.name]=f.value;continue}h[p]?Array.isArray(h[p])?h[p].push(this._parseByType(o.propertiesTypes[p])):(h[p]=[h[p]],h[p].push(this._parseByType(o.propertiesTypes[p]))):h[p]=this._parseByType(o.propertiesTypes[p])}return h}_newPacket(){return i("_newPacket"),this.packet&&(this._list.consume(this.packet.length),i("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d",this.packet.cmd,this.packet.payload,this.packet.length),this.emit("packet",this.packet)),i("_newPacket: new packet"),this.packet=new n,this._pos=0,!0}_emitError(c){i("_emitError",c),this.error=c,this.emit("error",c)}};t.exports=l}),py=_e((u,t)=>{ye(),we(),be();var{Buffer:r}=(ot(),We(rt)),a=65536,n={},o=r.isBuffer(r.from([1,2]).subarray(0,1));function i(d){let h=r.allocUnsafe(2);return h.writeUInt8(d>>8,0),h.writeUInt8(d&255,1),h}function l(){for(let d=0;d<a;d++)n[d]=i(d)}function s(d){let h=0,m=0,p=r.allocUnsafe(4);do h=d%128|0,d=d/128|0,d>0&&(h=h|128),p.writeUInt8(h,m++);while(d>0&&m<4);return d>0&&(m=0),o?p.subarray(0,m):p.slice(0,m)}function c(d){let h=r.allocUnsafe(4);return h.writeUInt32BE(d,0),h}t.exports={cache:n,generateCache:l,generateNumber:i,genBufVariableByteInt:s,generate4ByteBuffer:c}}),hy=_e((u,t)=>{ye(),we(),be(),typeof ze>"u"||!ze.version||ze.version.indexOf("v0.")===0||ze.version.indexOf("v1.")===0&&ze.version.indexOf("v1.8.")!==0?t.exports={nextTick:r}:t.exports=ze;function r(a,n,o,i){if(typeof a!="function")throw new TypeError('"callback" argument must be a function');var l=arguments.length,s,c;switch(l){case 0:case 1:return ze.nextTick(a);case 2:return ze.nextTick(function(){a.call(null,n)});case 3:return ze.nextTick(function(){a.call(null,n,o)});case 4:return ze.nextTick(function(){a.call(null,n,o,i)});default:for(s=new Array(l-1),c=0;c<s.length;)s[c++]=arguments[c];return ze.nextTick(function(){a.apply(null,s)})}}}),Qa=_e((u,t)=>{ye(),we(),be();var r=Ya(),{Buffer:a}=(ot(),We(rt)),n=a.allocUnsafe(0),o=a.from([0]),i=py(),l=hy().nextTick,s=xt()("mqtt-packet:writeToStream"),c=i.cache,d=i.generateNumber,h=i.generateCache,m=i.genBufVariableByteInt,p=i.generate4ByteBuffer,f=ne,w=!0;function N(te,q,le){switch(s("generate called"),q.cork&&(q.cork(),l(S,q)),w&&(w=!1,h()),s("generate: packet.cmd: %s",te.cmd),te.cmd){case"connect":return b(te,q);case"connack":return E(te,q,le);case"publish":return k(te,q,le);case"puback":case"pubrec":case"pubrel":case"pubcomp":return v(te,q,le);case"subscribe":return V(te,q,le);case"suback":return T(te,q,le);case"unsubscribe":return C(te,q,le);case"unsuback":return A(te,q,le);case"pingreq":case"pingresp":return I(te,q);case"disconnect":return $(te,q,le);case"auth":return x(te,q,le);default:return q.destroy(new Error("Unknown command")),!1}}Object.defineProperty(N,"cacheNumbers",{get(){return f===ne},set(te){te?((!c||Object.keys(c).length===0)&&(w=!0),f=ne):(w=!1,f=re)}});function S(te){te.uncork()}function b(te,q,le){let J=te||{},oe=J.protocolId||"MQTT",ie=J.protocolVersion||4,Ee=J.will,K=J.clean,D=J.keepalive||0,F=J.clientId||"",ae=J.username,ue=J.password,fe=J.properties;K===void 0&&(K=!0);let ge=0;if(typeof oe!="string"&&!a.isBuffer(oe))return q.destroy(new Error("Invalid protocolId")),!1;if(ge+=oe.length+2,ie!==3&&ie!==4&&ie!==5)return q.destroy(new Error("Invalid protocol version")),!1;if(ge+=1,(typeof F=="string"||a.isBuffer(F))&&(F||ie>=4)&&(F||K))ge+=a.byteLength(F)+2;else{if(ie<4)return q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(K*1===0)return q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof D!="number"||D<0||D>65535||D%1!==0)return q.destroy(new Error("Invalid keepalive")),!1;ge+=2,ge+=1;let X,me;if(ie===5){if(X=se(q,fe),!X)return!1;ge+=X.length}if(Ee){if(typeof Ee!="object")return q.destroy(new Error("Invalid will")),!1;if(!Ee.topic||typeof Ee.topic!="string")return q.destroy(new Error("Invalid will topic")),!1;if(ge+=a.byteLength(Ee.topic)+2,ge+=2,Ee.payload)if(Ee.payload.length>=0)typeof Ee.payload=="string"?ge+=a.byteLength(Ee.payload):ge+=Ee.payload.length;else return q.destroy(new Error("Invalid will payload")),!1;if(me={},ie===5){if(me=se(q,Ee.properties),!me)return!1;ge+=me.length}}let Ne=!1;if(ae!=null)if(Se(ae))Ne=!0,ge+=a.byteLength(ae)+2;else return q.destroy(new Error("Invalid username")),!1;if(ue!=null){if(!Ne)return q.destroy(new Error("Username is required to use password")),!1;if(Se(ue))ge+=Y(ue)+2;else return q.destroy(new Error("Invalid password")),!1}q.write(r.CONNECT_HEADER),Q(q,ge),Z(q,oe),J.bridgeMode&&(ie+=128),q.write(ie===131?r.VERSION131:ie===132?r.VERSION132:ie===4?r.VERSION4:ie===5?r.VERSION5:r.VERSION3);let ce=0;return ce|=ae!=null?r.USERNAME_MASK:0,ce|=ue!=null?r.PASSWORD_MASK:0,ce|=Ee&&Ee.retain?r.WILL_RETAIN_MASK:0,ce|=Ee&&Ee.qos?Ee.qos<<r.WILL_QOS_SHIFT:0,ce|=Ee?r.WILL_FLAG_MASK:0,ce|=K?r.CLEAN_SESSION_MASK:0,q.write(a.from([ce])),f(q,D),ie===5&&X.write(),Z(q,F),Ee&&(ie===5&&me.write(),W(q,Ee.topic),Z(q,Ee.payload)),ae!=null&&Z(q,ae),ue!=null&&Z(q,ue),!0}function E(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=J===5?oe.reasonCode:oe.returnCode,Ee=oe.properties,K=2;if(typeof ie!="number")return q.destroy(new Error("Invalid return code")),!1;let D=null;if(J===5){if(D=se(q,Ee),!D)return!1;K+=D.length}return q.write(r.CONNACK_HEADER),Q(q,K),q.write(oe.sessionPresent?r.SESSIONPRESENT_HEADER:o),q.write(a.from([ie])),D==null||D.write(),!0}function k(te,q,le){s("publish: packet: %o",te);let J=le?le.protocolVersion:4,oe=te||{},ie=oe.qos||0,Ee=oe.retain?r.RETAIN_MASK:0,K=oe.topic,D=oe.payload||n,F=oe.messageId,ae=oe.properties,ue=0;if(typeof K=="string")ue+=a.byteLength(K)+2;else if(a.isBuffer(K))ue+=K.length+2;else return q.destroy(new Error("Invalid topic")),!1;if(a.isBuffer(D)?ue+=D.length:ue+=a.byteLength(D),ie&&typeof F!="number")return q.destroy(new Error("Invalid messageId")),!1;ie&&(ue+=2);let fe=null;if(J===5){if(fe=se(q,ae),!fe)return!1;ue+=fe.length}return q.write(r.PUBLISH_HEADER[ie][oe.dup?1:0][Ee?1:0]),Q(q,ue),f(q,Y(K)),q.write(K),ie>0&&f(q,F),fe==null||fe.write(),s("publish: payload: %o",D),q.write(D)}function v(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.cmd||"puback",Ee=oe.messageId,K=oe.dup&&ie==="pubrel"?r.DUP_MASK:0,D=0,F=oe.reasonCode,ae=oe.properties,ue=J===5?3:2;if(ie==="pubrel"&&(D=1),typeof Ee!="number")return q.destroy(new Error("Invalid messageId")),!1;let fe=null;if(J===5&&typeof ae=="object"){if(fe=R(q,ae,le,ue),!fe)return!1;ue+=fe.length}return q.write(r.ACKS[ie][D][K][0]),ue===3&&(ue+=F!==0?1:-1),Q(q,ue),f(q,Ee),J===5&&ue!==2&&q.write(a.from([F])),fe!==null?fe.write():ue===4&&q.write(a.from([0])),!0}function V(te,q,le){s("subscribe: packet: ");let J=le?le.protocolVersion:4,oe=te||{},ie=oe.dup?r.DUP_MASK:0,Ee=oe.messageId,K=oe.subscriptions,D=oe.properties,F=0;if(typeof Ee!="number")return q.destroy(new Error("Invalid messageId")),!1;F+=2;let ae=null;if(J===5){if(ae=se(q,D),!ae)return!1;F+=ae.length}if(typeof K=="object"&&K.length)for(let fe=0;fe<K.length;fe+=1){let ge=K[fe].topic,X=K[fe].qos;if(typeof ge!="string")return q.destroy(new Error("Invalid subscriptions - invalid topic")),!1;if(typeof X!="number")return q.destroy(new Error("Invalid subscriptions - invalid qos")),!1;if(J===5){if(typeof(K[fe].nl||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid No Local")),!1;if(typeof(K[fe].rap||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid Retain as Published")),!1;let me=K[fe].rh||0;if(typeof me!="number"||me>2)return q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}F+=a.byteLength(ge)+2+1}else return q.destroy(new Error("Invalid subscriptions")),!1;s("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),q.write(r.SUBSCRIBE_HEADER[1][ie?1:0][0]),Q(q,F),f(q,Ee),ae!==null&&ae.write();let ue=!0;for(let fe of K){let ge=fe.topic,X=fe.qos,me=+fe.nl,Ne=+fe.rap,ce=fe.rh,Ve;W(q,ge),Ve=r.SUBSCRIBE_OPTIONS_QOS[X],J===5&&(Ve|=me?r.SUBSCRIBE_OPTIONS_NL:0,Ve|=Ne?r.SUBSCRIBE_OPTIONS_RAP:0,Ve|=ce?r.SUBSCRIBE_OPTIONS_RH[ce]:0),ue=q.write(a.from([Ve]))}return ue}function T(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.granted,K=oe.properties,D=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(D+=2,typeof Ee=="object"&&Ee.length)for(let ae=0;ae<Ee.length;ae+=1){if(typeof Ee[ae]!="number")return q.destroy(new Error("Invalid qos vector")),!1;D+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let F=null;if(J===5){if(F=R(q,K,le,D),!F)return!1;D+=F.length}return q.write(r.SUBACK_HEADER),Q(q,D),f(q,ie),F!==null&&F.write(),q.write(a.from(Ee))}function C(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.dup?r.DUP_MASK:0,K=oe.unsubscriptions,D=oe.properties,F=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(F+=2,typeof K=="object"&&K.length)for(let fe=0;fe<K.length;fe+=1){if(typeof K[fe]!="string")return q.destroy(new Error("Invalid unsubscriptions")),!1;F+=a.byteLength(K[fe])+2}else return q.destroy(new Error("Invalid unsubscriptions")),!1;let ae=null;if(J===5){if(ae=se(q,D),!ae)return!1;F+=ae.length}q.write(r.UNSUBSCRIBE_HEADER[1][Ee?1:0][0]),Q(q,F),f(q,ie),ae!==null&&ae.write();let ue=!0;for(let fe=0;fe<K.length;fe++)ue=W(q,K[fe]);return ue}function A(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.messageId,Ee=oe.dup?r.DUP_MASK:0,K=oe.granted,D=oe.properties,F=oe.cmd,ae=0,ue=2;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(J===5)if(typeof K=="object"&&K.length)for(let ge=0;ge<K.length;ge+=1){if(typeof K[ge]!="number")return q.destroy(new Error("Invalid qos vector")),!1;ue+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let fe=null;if(J===5){if(fe=R(q,D,le,ue),!fe)return!1;ue+=fe.length}return q.write(r.ACKS[F][ae][Ee][0]),Q(q,ue),f(q,ie),fe!==null&&fe.write(),J===5&&q.write(a.from(K)),!0}function I(te,q,le){return q.write(r.EMPTY[te.cmd])}function $(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.reasonCode,Ee=oe.properties,K=J===5?1:0,D=null;if(J===5){if(D=R(q,Ee,le,K),!D)return!1;K+=D.length}return q.write(a.from([r.codes.disconnect<<4])),Q(q,K),J===5&&q.write(a.from([ie])),D!==null&&D.write(),!0}function x(te,q,le){let J=le?le.protocolVersion:4,oe=te||{},ie=oe.reasonCode,Ee=oe.properties,K=J===5?1:0;J!==5&&q.destroy(new Error("Invalid mqtt version for auth packet"));let D=R(q,Ee,le,K);return D?(K+=D.length,q.write(a.from([r.codes.auth<<4])),Q(q,K),q.write(a.from([ie])),D!==null&&D.write(),!0):!1}var U={};function Q(te,q){if(q>r.VARBYTEINT_MAX)return te.destroy(new Error(`Invalid variable byte integer: ${q}`)),!1;let le=U[q];return le||(le=m(q),q<16384&&(U[q]=le)),s("writeVarByteInt: writing to stream: %o",le),te.write(le)}function W(te,q){let le=a.byteLength(q);return f(te,le),s("writeString: %s",q),te.write(q,"utf8")}function pe(te,q,le){W(te,q),W(te,le)}function ne(te,q){return s("writeNumberCached: number: %d",q),s("writeNumberCached: %o",c[q]),te.write(c[q])}function re(te,q){let le=d(q);return s("writeNumberGenerated: %o",le),te.write(le)}function de(te,q){let le=p(q);return s("write4ByteNumber: %o",le),te.write(le)}function Z(te,q){typeof q=="string"?W(te,q):q?(f(te,q.length),te.write(q)):f(te,0)}function se(te,q){if(typeof q!="object"||q.length!=null)return{length:1,write(){he(te,{},0)}};let le=0;function J(oe,ie){let Ee=r.propertiesTypes[oe],K=0;switch(Ee){case"byte":{if(typeof ie!="boolean")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=2;break}case"int8":{if(typeof ie!="number"||ie<0||ie>255)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=2;break}case"binary":{if(ie&&ie===null)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=1+a.byteLength(ie)+2;break}case"int16":{if(typeof ie!="number"||ie<0||ie>65535)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=3;break}case"int32":{if(typeof ie!="number"||ie<0||ie>4294967295)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=5;break}case"var":{if(typeof ie!="number"||ie<0||ie>268435455)return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=1+a.byteLength(m(ie));break}case"string":{if(typeof ie!="string")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=3+a.byteLength(ie.toString());break}case"pair":{if(typeof ie!="object")return te.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;K+=Object.getOwnPropertyNames(ie).reduce((D,F)=>{let ae=ie[F];return Array.isArray(ae)?D+=ae.reduce((ue,fe)=>(ue+=3+a.byteLength(F.toString())+2+a.byteLength(fe.toString()),ue),0):D+=3+a.byteLength(F.toString())+2+a.byteLength(ie[F].toString()),D},0);break}default:return te.destroy(new Error(`Invalid property ${oe}: ${ie}`)),!1}return K}if(q)for(let oe in q){let ie=0,Ee=0,K=q[oe];if(K!==void 0){if(Array.isArray(K))for(let D=0;D<K.length;D++){if(Ee=J(oe,K[D]),!Ee)return!1;ie+=Ee}else{if(Ee=J(oe,K),!Ee)return!1;ie=Ee}if(!ie)return!1;le+=ie}}return{length:a.byteLength(m(le))+le,write(){he(te,q,le)}}}function R(te,q,le,J){let oe=["reasonString","userProperties"],ie=le&&le.properties&&le.properties.maximumPacketSize?le.properties.maximumPacketSize:0,Ee=se(te,q);if(ie)for(;J+Ee.length>ie;){let K=oe.shift();if(K&&q[K])delete q[K],Ee=se(te,q);else return!1}return Ee}function ee(te,q,le){switch(r.propertiesTypes[q]){case"byte":{te.write(a.from([r.properties[q]])),te.write(a.from([+le]));break}case"int8":{te.write(a.from([r.properties[q]])),te.write(a.from([le]));break}case"binary":{te.write(a.from([r.properties[q]])),Z(te,le);break}case"int16":{te.write(a.from([r.properties[q]])),f(te,le);break}case"int32":{te.write(a.from([r.properties[q]])),de(te,le);break}case"var":{te.write(a.from([r.properties[q]])),Q(te,le);break}case"string":{te.write(a.from([r.properties[q]])),W(te,le);break}case"pair":{Object.getOwnPropertyNames(le).forEach(J=>{let oe=le[J];Array.isArray(oe)?oe.forEach(ie=>{te.write(a.from([r.properties[q]])),pe(te,J.toString(),ie.toString())}):(te.write(a.from([r.properties[q]])),pe(te,J.toString(),oe.toString()))});break}default:return te.destroy(new Error(`Invalid property ${q} value: ${le}`)),!1}}function he(te,q,le){Q(te,le);for(let J in q)if(Object.prototype.hasOwnProperty.call(q,J)&&q[J]!=null){let oe=q[J];if(Array.isArray(oe))for(let ie=0;ie<oe.length;ie++)ee(te,J,oe[ie]);else ee(te,J,oe)}}function Y(te){return te?te instanceof a?te.length:a.byteLength(te):0}function Se(te){return typeof te=="string"||te instanceof a}t.exports=N}),my=_e((u,t)=>{ye(),we(),be();var r=Qa(),{EventEmitter:a}=(Yt(),We(Dt)),{Buffer:n}=(ot(),We(rt));function o(l,s){let c=new i;return r(l,c,s),c.concat()}var i=class extends a{constructor(){super(),this._array=new Array(20),this._i=0}write(l){return this._array[this._i++]=l,!0}concat(){let l=0,s=new Array(this._array.length),c=this._array,d=0,h;for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?s[h]=c[h].length:s[h]=n.byteLength(c[h]),l+=s[h];let m=n.allocUnsafe(l);for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?(c[h].copy(m,d),d+=s[h]):(m.write(c[h],d),d+=s[h]);return m}destroy(l){l&&this.emit("error",l)}};t.exports=o}),gy=_e(u=>{ye(),we(),be(),u.parser=fy().parser,u.generate=my(),u.writeToStream=Qa()}),yy=_e((u,t)=>{ye(),we(),be(),t.exports=a;function r(o){return o instanceof Ir?Ir.from(o):new o.constructor(o.buffer.slice(),o.byteOffset,o.length)}function a(o){if(o=o||{},o.circles)return n(o);let i=new Map;if(i.set(Date,h=>new Date(h)),i.set(Map,(h,m)=>new Map(s(Array.from(h),m))),i.set(Set,(h,m)=>new Set(s(Array.from(h),m))),o.constructorHandlers)for(let h of o.constructorHandlers)i.set(h[0],h[1]);let l=null;return o.proto?d:c;function s(h,m){let p=Object.keys(h),f=new Array(p.length);for(let w=0;w<p.length;w++){let N=p[w],S=h[N];typeof S!="object"||S===null?f[N]=S:S.constructor!==Object&&(l=i.get(S.constructor))?f[N]=l(S,m):ArrayBuffer.isView(S)?f[N]=r(S):f[N]=m(S)}return f}function c(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return s(h,c);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,c);let m={};for(let p in h){if(Object.hasOwnProperty.call(h,p)===!1)continue;let f=h[p];typeof f!="object"||f===null?m[p]=f:f.constructor!==Object&&(l=i.get(f.constructor))?m[p]=l(f,c):ArrayBuffer.isView(f)?m[p]=r(f):m[p]=c(f)}return m}function d(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return s(h,d);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,d);let m={};for(let p in h){let f=h[p];typeof f!="object"||f===null?m[p]=f:f.constructor!==Object&&(l=i.get(f.constructor))?m[p]=l(f,d):ArrayBuffer.isView(f)?m[p]=r(f):m[p]=d(f)}return m}}function n(o){let i=[],l=[],s=new Map;if(s.set(Date,p=>new Date(p)),s.set(Map,(p,f)=>new Map(d(Array.from(p),f))),s.set(Set,(p,f)=>new Set(d(Array.from(p),f))),o.constructorHandlers)for(let p of o.constructorHandlers)s.set(p[0],p[1]);let c=null;return o.proto?m:h;function d(p,f){let w=Object.keys(p),N=new Array(w.length);for(let S=0;S<w.length;S++){let b=w[S],E=p[b];if(typeof E!="object"||E===null)N[b]=E;else if(E.constructor!==Object&&(c=s.get(E.constructor)))N[b]=c(E,f);else if(ArrayBuffer.isView(E))N[b]=r(E);else{let k=i.indexOf(E);k!==-1?N[b]=l[k]:N[b]=f(E)}}return N}function h(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return d(p,h);if(p.constructor!==Object&&(c=s.get(p.constructor)))return c(p,h);let f={};i.push(p),l.push(f);for(let w in p){if(Object.hasOwnProperty.call(p,w)===!1)continue;let N=p[w];if(typeof N!="object"||N===null)f[w]=N;else if(N.constructor!==Object&&(c=s.get(N.constructor)))f[w]=c(N,h);else if(ArrayBuffer.isView(N))f[w]=r(N);else{let S=i.indexOf(N);S!==-1?f[w]=l[S]:f[w]=h(N)}}return i.pop(),l.pop(),f}function m(p){if(typeof p!="object"||p===null)return p;if(Array.isArray(p))return d(p,m);if(p.constructor!==Object&&(c=s.get(p.constructor)))return c(p,m);let f={};i.push(p),l.push(f);for(let w in p){let N=p[w];if(typeof N!="object"||N===null)f[w]=N;else if(N.constructor!==Object&&(c=s.get(N.constructor)))f[w]=c(N,m);else if(ArrayBuffer.isView(N))f[w]=r(N);else{let S=i.indexOf(N);S!==-1?f[w]=l[S]:f[w]=m(N)}}return i.pop(),l.pop(),f}}}),by=_e((u,t)=>{ye(),we(),be(),t.exports=yy()()}),wy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.validateTopic=t,u.validateTopics=r;function t(a){let n=a.split("/");for(let o=0;o<n.length;o++)if(n[o]!=="+"){if(n[o]==="#")return o===n.length-1;if(n[o].indexOf("+")!==-1||n[o].indexOf("#")!==-1)return!1}return!0}function r(a){if(a.length===0)return"empty_topic_list";for(let n=0;n<a.length;n++)if(!t(a[n]))return a[n];return null}}),Ja=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=Jt(),r={objectMode:!0},a={clean:!0},n=class{constructor(o){ve(this,"options");ve(this,"_inflights");this.options=o||{},this.options={...a,...o},this._inflights=new Map}put(o,i){return this._inflights.set(o.messageId,o),i&&i(),this}createStream(){let o=new t.Readable(r),i=[],l=!1,s=0;return this._inflights.forEach((c,d)=>{i.push(c)}),o._read=()=>{!l&&s<i.length?o.push(i[s++]):o.push(null)},o.destroy=c=>{if(!l)return l=!0,setTimeout(()=>{o.emit("close")},0),o},o}del(o,i){let l=this._inflights.get(o.messageId);return l?(this._inflights.delete(o.messageId),i(null,l)):i&&i(new Error("missing packet")),this}get(o,i){let l=this._inflights.get(o.messageId);return l?i(null,l):i&&i(new Error("missing packet")),this}close(o){this.options.clean&&(this._inflights=null),o&&o()}};u.default=n}),Ey=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],r=(a,n,o)=>{a.log("handlePublish: packet %o",n),o=typeof o<"u"?o:a.noop;let i=n.topic.toString(),l=n.payload,{qos:s}=n,{messageId:c}=n,{options:d}=a;if(a.options.protocolVersion===5){let h;if(n.properties&&(h=n.properties.topicAlias),typeof h<"u")if(i.length===0)if(h>0&&h<=65535){let m=a.topicAliasRecv.getTopicByAlias(h);if(m)i=m,a.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",i,h);else{a.log("handlePublish :: unregistered topic alias. alias: %d",h),a.emit("error",new Error("Received unregistered Topic Alias"));return}}else{a.log("handlePublish :: topic alias out of range. alias: %d",h),a.emit("error",new Error("Received Topic Alias is out of range"));return}else if(a.topicAliasRecv.put(i,h))a.log("handlePublish :: registered topic: %s - alias: %d",i,h);else{a.log("handlePublish :: topic alias out of range. alias: %d",h),a.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(a.log("handlePublish: qos %d",s),s){case 2:{d.customHandleAcks(i,l,n,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return a.emit("error",h);if(t.indexOf(m)===-1)return a.emit("error",new Error("Wrong reason code for pubrec"));m?a._sendPacket({cmd:"pubrec",messageId:c,reasonCode:m},o):a.incomingStore.put(n,()=>{a._sendPacket({cmd:"pubrec",messageId:c},o)})});break}case 1:{d.customHandleAcks(i,l,n,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return a.emit("error",h);if(t.indexOf(m)===-1)return a.emit("error",new Error("Wrong reason code for puback"));m||a.emit("message",i,l,n),a.handleMessage(n,p=>{if(p)return o&&o(p);a._sendPacket({cmd:"puback",messageId:c,reasonCode:m},o)})});break}case 0:a.emit("message",i,l,n),a.handleMessage(n,o);break;default:a.log("handlePublish: unknown QoS. Doing nothing.");break}};u.default=r}),vy=_e((u,t)=>{t.exports={version:"5.14.1"}}),ar=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.MQTTJS_VERSION=u.nextTick=u.ErrorWithSubackPacket=u.ErrorWithReasonCode=void 0,u.applyMixin=a;var t=class fc extends Error{constructor(i,l){super(i);ve(this,"code");this.code=l,Object.setPrototypeOf(this,fc.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};u.ErrorWithReasonCode=t;var r=class pc extends Error{constructor(i,l){super(i);ve(this,"packet");this.packet=l,Object.setPrototypeOf(this,pc.prototype),Object.getPrototypeOf(this).name="ErrorWithSubackPacket"}};u.ErrorWithSubackPacket=r;function a(n,o,i=!1){let l=[o];for(;;){let s=l[0],c=Object.getPrototypeOf(s);if(c!=null&&c.prototype)l.unshift(c);else break}for(let s of l)for(let c of Object.getOwnPropertyNames(s.prototype))(i||c!=="constructor")&&Object.defineProperty(n.prototype,c,Object.getOwnPropertyDescriptor(s.prototype,c)??Object.create(null))}u.nextTick=typeof(ze==null?void 0:ze.nextTick)=="function"?ze.nextTick:n=>{setTimeout(n,0)},u.MQTTJS_VERSION=vy().version}),Br=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=void 0;var t=ar();u.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var r=(a,n)=>{let{messageId:o}=n,i=n.cmd,l=null,s=a.outgoing[o]?a.outgoing[o].cb:null,c=null;if(!s){a.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(a.log("_handleAck :: packet type",i),i){case"pubcomp":case"puback":{let d=n.reasonCode;d&&d>0&&d!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),a._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):a._removeOutgoingAndStoreMessage(o,s);break}case"pubrec":{l={cmd:"pubrel",qos:2,messageId:o};let d=n.reasonCode;d&&d>0&&d!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${u.ReasonCodes[d]}`,d),a._removeOutgoingAndStoreMessage(o,()=>{s(c,n)})):a._sendPacket(l);break}case"suback":{delete a.outgoing[o],a.messageIdProvider.deallocate(o);let d=n.granted;for(let h=0;h<d.length;h++){let m=d[h];if(m&128){c=new Error(`Subscribe error: ${u.ReasonCodes[m]}`),c.code=m;let p=a.messageIdToTopic[o];p&&p.forEach(f=>{delete a._resubscribeTopics[f]})}}delete a.messageIdToTopic[o],a._invokeStoreProcessingQueue(),s(c,n);break}case"unsuback":{delete a.outgoing[o],a.messageIdProvider.deallocate(o),a._invokeStoreProcessingQueue(),s(null,n);break}default:a.emit("error",new Error("unrecognized packet type"))}a.disconnecting&&Object.keys(a.outgoing).length===0&&a.emit("outgoingEmpty")};u.default=r}),ky=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=ar(),r=Br(),a=(n,o)=>{let{options:i}=n,l=i.protocolVersion,s=l===5?o.reasonCode:o.returnCode;if(l!==5){let c=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${l}`,s);n.emit("error",c);return}n.handleAuth(o,(c,d)=>{if(c){n.emit("error",c);return}if(s===24)n.reconnecting=!1,n._sendPacket(d);else{let h=new t.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[s]}`,s);n.emit("error",h)}})};u.default=a}),_y=_e(u=>{var p,f,w,N,S,b,E,k,v,V,T,C,A,I,$,x,U,Q,W,pe,ne,re,de,Z,se,R,ee,he,Y,Yi,te,q,le,J,hc,ie,Ee,K,zt,Wt,Qi,ho,mo,Ke,Ji,Sr,qt,Xi,Ve;ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,a=typeof ze=="object"&&ze?ze:{},n=(g,y,_,B)=>{typeof a.emitWarning=="function"?a.emitWarning(g,y,_,B):console.error(`[${_}] ${y}: ${g}`)},o=globalThis.AbortController,i=globalThis.AbortSignal;if(typeof o>"u"){i=class{constructor(){ve(this,"onabort");ve(this,"_onabort",[]);ve(this,"reason");ve(this,"aborted",!1)}addEventListener(_,B){this._onabort.push(B)}},o=class{constructor(){ve(this,"signal",new i);y()}abort(_){var B,L;if(!this.signal.aborted){this.signal.reason=_,this.signal.aborted=!0;for(let P of this.signal._onabort)P(_);(L=(B=this.signal).onabort)==null||L.call(B,_)}}};let g=((p=a.env)==null?void 0:p.LRU_CACHE_IGNORE_AC_WARNING)!=="1",y=()=>{g&&(g=!1,n("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",y))}}var l=g=>!r.has(g),s=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),c=g=>s(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?d:null:null,d=class extends Array{constructor(g){super(g),this.fill(0)}},h=(f=class{constructor(y,_){ve(this,"heap");ve(this,"length");if(!H(f,w))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new _(y),this.length=0}static create(y){let _=c(y);if(!_)return[];Pe(f,w,!0);let B=new f(y,_);return Pe(f,w,!1),B}push(y){this.heap[this.length++]=y}pop(){return this.heap[--this.length]}},w=new WeakMap,Fe(f,w,!1),f),m=(Ve=class{constructor(y){Fe(this,Y);Fe(this,b);Fe(this,E);Fe(this,k);Fe(this,v);Fe(this,V);Fe(this,T);ve(this,"ttl");ve(this,"ttlResolution");ve(this,"ttlAutopurge");ve(this,"updateAgeOnGet");ve(this,"updateAgeOnHas");ve(this,"allowStale");ve(this,"noDisposeOnSet");ve(this,"noUpdateTTL");ve(this,"maxEntrySize");ve(this,"sizeCalculation");ve(this,"noDeleteOnFetchRejection");ve(this,"noDeleteOnStaleGet");ve(this,"allowStaleOnFetchAbort");ve(this,"allowStaleOnFetchRejection");ve(this,"ignoreFetchAbort");Fe(this,C);Fe(this,A);Fe(this,I);Fe(this,$);Fe(this,x);Fe(this,U);Fe(this,Q);Fe(this,W);Fe(this,pe);Fe(this,ne);Fe(this,re);Fe(this,de);Fe(this,Z);Fe(this,se);Fe(this,R);Fe(this,ee);Fe(this,he);Fe(this,te,()=>{});Fe(this,q,()=>{});Fe(this,le,()=>{});Fe(this,J,()=>!1);Fe(this,ie,y=>{});Fe(this,Ee,(y,_,B)=>{});Fe(this,K,(y,_,B,L)=>{if(B||L)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});ve(this,N,"LRUCache");let{max:_=0,ttl:B,ttlResolution:L=1,ttlAutopurge:P,updateAgeOnGet:j,updateAgeOnHas:M,allowStale:z,dispose:ke,disposeAfter:Ce,noDisposeOnSet:Te,noUpdateTTL:Oe,maxSize:Xe=0,maxEntrySize:et=0,sizeCalculation:Re,fetchMethod:Ge,memoMethod:De,noDeleteOnFetchRejection:Ue,noDeleteOnStaleGet:qe,allowStaleOnFetchRejection:Ze,allowStaleOnFetchAbort:nt,ignoreFetchAbort:mt}=y;if(_!==0&&!s(_))throw new TypeError("max option must be a nonnegative integer");let O=_?c(_):Array;if(!O)throw new Error("invalid max value: "+_);if(Pe(this,b,_),Pe(this,E,Xe),this.maxEntrySize=et||H(this,E),this.sizeCalculation=Re,this.sizeCalculation){if(!H(this,E)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(De!==void 0&&typeof De!="function")throw new TypeError("memoMethod must be a function if defined");if(Pe(this,T,De),Ge!==void 0&&typeof Ge!="function")throw new TypeError("fetchMethod must be a function if specified");if(Pe(this,V,Ge),Pe(this,ee,!!Ge),Pe(this,I,new Map),Pe(this,$,new Array(_).fill(void 0)),Pe(this,x,new Array(_).fill(void 0)),Pe(this,U,new O(_)),Pe(this,Q,new O(_)),Pe(this,W,0),Pe(this,pe,0),Pe(this,ne,h.create(_)),Pe(this,C,0),Pe(this,A,0),typeof ke=="function"&&Pe(this,k,ke),typeof Ce=="function"?(Pe(this,v,Ce),Pe(this,re,[])):(Pe(this,v,void 0),Pe(this,re,void 0)),Pe(this,R,!!H(this,k)),Pe(this,he,!!H(this,v)),this.noDisposeOnSet=!!Te,this.noUpdateTTL=!!Oe,this.noDeleteOnFetchRejection=!!Ue,this.allowStaleOnFetchRejection=!!Ze,this.allowStaleOnFetchAbort=!!nt,this.ignoreFetchAbort=!!mt,this.maxEntrySize!==0){if(H(this,E)!==0&&!s(H(this,E)))throw new TypeError("maxSize must be a positive integer if specified");if(!s(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Be(this,Y,hc).call(this)}if(this.allowStale=!!z,this.noDeleteOnStaleGet=!!qe,this.updateAgeOnGet=!!j,this.updateAgeOnHas=!!M,this.ttlResolution=s(L)||L===0?L:1,this.ttlAutopurge=!!P,this.ttl=B||0,this.ttl){if(!s(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Be(this,Y,Yi).call(this)}if(H(this,b)===0&&this.ttl===0&&H(this,E)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!H(this,b)&&!H(this,E)){let G="LRU_CACHE_UNBOUNDED";l(G)&&(r.add(G),n("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",G,Ve))}}static unsafeExposeInternals(y){return{starts:H(y,Z),ttls:H(y,se),sizes:H(y,de),keyMap:H(y,I),keyList:H(y,$),valList:H(y,x),next:H(y,U),prev:H(y,Q),get head(){return H(y,W)},get tail(){return H(y,pe)},free:H(y,ne),isBackgroundFetch:_=>{var B;return Be(B=y,Y,Ke).call(B,_)},backgroundFetch:(_,B,L,P)=>{var j;return Be(j=y,Y,mo).call(j,_,B,L,P)},moveToTail:_=>{var B;return Be(B=y,Y,Sr).call(B,_)},indexes:_=>{var B;return Be(B=y,Y,zt).call(B,_)},rindexes:_=>{var B;return Be(B=y,Y,Wt).call(B,_)},isStale:_=>{var B;return H(B=y,J).call(B,_)}}}get max(){return H(this,b)}get maxSize(){return H(this,E)}get calculatedSize(){return H(this,A)}get size(){return H(this,C)}get fetchMethod(){return H(this,V)}get memoMethod(){return H(this,T)}get dispose(){return H(this,k)}get disposeAfter(){return H(this,v)}getRemainingTTL(y){return H(this,I).has(y)?1/0:0}*entries(){for(let y of Be(this,Y,zt).call(this))H(this,x)[y]!==void 0&&H(this,$)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield[H(this,$)[y],H(this,x)[y]])}*rentries(){for(let y of Be(this,Y,Wt).call(this))H(this,x)[y]!==void 0&&H(this,$)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield[H(this,$)[y],H(this,x)[y]])}*keys(){for(let y of Be(this,Y,zt).call(this)){let _=H(this,$)[y];_!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield _)}}*rkeys(){for(let y of Be(this,Y,Wt).call(this)){let _=H(this,$)[y];_!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield _)}}*values(){for(let y of Be(this,Y,zt).call(this))H(this,x)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield H(this,x)[y])}*rvalues(){for(let y of Be(this,Y,Wt).call(this))H(this,x)[y]!==void 0&&!Be(this,Y,Ke).call(this,H(this,x)[y])&&(yield H(this,x)[y])}[(S=Symbol.iterator,N=Symbol.toStringTag,S)](){return this.entries()}find(y,_={}){for(let B of Be(this,Y,zt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;if(P!==void 0&&y(P,H(this,$)[B],this))return this.get(H(this,$)[B],_)}}forEach(y,_=this){for(let B of Be(this,Y,zt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;P!==void 0&&y.call(_,P,H(this,$)[B],this)}}rforEach(y,_=this){for(let B of Be(this,Y,Wt).call(this)){let L=H(this,x)[B],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;P!==void 0&&y.call(_,P,H(this,$)[B],this)}}purgeStale(){let y=!1;for(let _ of Be(this,Y,Wt).call(this,{allowStale:!0}))H(this,J).call(this,_)&&(Be(this,Y,qt).call(this,H(this,$)[_],"expire"),y=!0);return y}info(y){let _=H(this,I).get(y);if(_===void 0)return;let B=H(this,x)[_],L=Be(this,Y,Ke).call(this,B)?B.__staleWhileFetching:B;if(L===void 0)return;let P={value:L};if(H(this,se)&&H(this,Z)){let j=H(this,se)[_],M=H(this,Z)[_];if(j&&M){let z=j-(t.now()-M);P.ttl=z,P.start=Date.now()}}return H(this,de)&&(P.size=H(this,de)[_]),P}dump(){let y=[];for(let _ of Be(this,Y,zt).call(this,{allowStale:!0})){let B=H(this,$)[_],L=H(this,x)[_],P=Be(this,Y,Ke).call(this,L)?L.__staleWhileFetching:L;if(P===void 0||B===void 0)continue;let j={value:P};if(H(this,se)&&H(this,Z)){j.ttl=H(this,se)[_];let M=t.now()-H(this,Z)[_];j.start=Math.floor(Date.now()-M)}H(this,de)&&(j.size=H(this,de)[_]),y.unshift([B,j])}return y}load(y){this.clear();for(let[_,B]of y){if(B.start){let L=Date.now()-B.start;B.start=t.now()-L}this.set(_,B.value,B)}}set(y,_,B={}){var Oe,Xe,et,Re,Ge;if(_===void 0)return this.delete(y),this;let{ttl:L=this.ttl,start:P,noDisposeOnSet:j=this.noDisposeOnSet,sizeCalculation:M=this.sizeCalculation,status:z}=B,{noUpdateTTL:ke=this.noUpdateTTL}=B,Ce=H(this,K).call(this,y,_,B.size||0,M);if(this.maxEntrySize&&Ce>this.maxEntrySize)return z&&(z.set="miss",z.maxEntrySizeExceeded=!0),Be(this,Y,qt).call(this,y,"set"),this;let Te=H(this,C)===0?void 0:H(this,I).get(y);if(Te===void 0)Te=H(this,C)===0?H(this,pe):H(this,ne).length!==0?H(this,ne).pop():H(this,C)===H(this,b)?Be(this,Y,ho).call(this,!1):H(this,C),H(this,$)[Te]=y,H(this,x)[Te]=_,H(this,I).set(y,Te),H(this,U)[H(this,pe)]=Te,H(this,Q)[Te]=H(this,pe),Pe(this,pe,Te),po(this,C)._++,H(this,Ee).call(this,Te,Ce,z),z&&(z.set="add"),ke=!1;else{Be(this,Y,Sr).call(this,Te);let De=H(this,x)[Te];if(_!==De){if(H(this,ee)&&Be(this,Y,Ke).call(this,De)){De.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ue}=De;Ue!==void 0&&!j&&(H(this,R)&&((Oe=H(this,k))==null||Oe.call(this,Ue,y,"set")),H(this,he)&&((Xe=H(this,re))==null||Xe.push([Ue,y,"set"])))}else j||(H(this,R)&&((et=H(this,k))==null||et.call(this,De,y,"set")),H(this,he)&&((Re=H(this,re))==null||Re.push([De,y,"set"])));if(H(this,ie).call(this,Te),H(this,Ee).call(this,Te,Ce,z),H(this,x)[Te]=_,z){z.set="replace";let Ue=De&&Be(this,Y,Ke).call(this,De)?De.__staleWhileFetching:De;Ue!==void 0&&(z.oldValue=Ue)}}else z&&(z.set="update")}if(L!==0&&!H(this,se)&&Be(this,Y,Yi).call(this),H(this,se)&&(ke||H(this,le).call(this,Te,L,P),z&&H(this,q).call(this,z,Te)),!j&&H(this,he)&&H(this,re)){let De=H(this,re),Ue;for(;Ue=De==null?void 0:De.shift();)(Ge=H(this,v))==null||Ge.call(this,...Ue)}return this}pop(){var y;try{for(;H(this,C);){let _=H(this,x)[H(this,W)];if(Be(this,Y,ho).call(this,!0),Be(this,Y,Ke).call(this,_)){if(_.__staleWhileFetching)return _.__staleWhileFetching}else if(_!==void 0)return _}}finally{if(H(this,he)&&H(this,re)){let _=H(this,re),B;for(;B=_==null?void 0:_.shift();)(y=H(this,v))==null||y.call(this,...B)}}}has(y,_={}){let{updateAgeOnHas:B=this.updateAgeOnHas,status:L}=_,P=H(this,I).get(y);if(P!==void 0){let j=H(this,x)[P];if(Be(this,Y,Ke).call(this,j)&&j.__staleWhileFetching===void 0)return!1;if(H(this,J).call(this,P))L&&(L.has="stale",H(this,q).call(this,L,P));else return B&&H(this,te).call(this,P),L&&(L.has="hit",H(this,q).call(this,L,P)),!0}else L&&(L.has="miss");return!1}peek(y,_={}){let{allowStale:B=this.allowStale}=_,L=H(this,I).get(y);if(L===void 0||!B&&H(this,J).call(this,L))return;let P=H(this,x)[L];return Be(this,Y,Ke).call(this,P)?P.__staleWhileFetching:P}async fetch(y,_={}){let{allowStale:B=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:P=this.noDeleteOnStaleGet,ttl:j=this.ttl,noDisposeOnSet:M=this.noDisposeOnSet,size:z=0,sizeCalculation:ke=this.sizeCalculation,noUpdateTTL:Ce=this.noUpdateTTL,noDeleteOnFetchRejection:Te=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Oe=this.allowStaleOnFetchRejection,ignoreFetchAbort:Xe=this.ignoreFetchAbort,allowStaleOnFetchAbort:et=this.allowStaleOnFetchAbort,context:Re,forceRefresh:Ge=!1,status:De,signal:Ue}=_;if(!H(this,ee))return De&&(De.fetch="get"),this.get(y,{allowStale:B,updateAgeOnGet:L,noDeleteOnStaleGet:P,status:De});let qe={allowStale:B,updateAgeOnGet:L,noDeleteOnStaleGet:P,ttl:j,noDisposeOnSet:M,size:z,sizeCalculation:ke,noUpdateTTL:Ce,noDeleteOnFetchRejection:Te,allowStaleOnFetchRejection:Oe,allowStaleOnFetchAbort:et,ignoreFetchAbort:Xe,status:De,signal:Ue},Ze=H(this,I).get(y);if(Ze===void 0){De&&(De.fetch="miss");let nt=Be(this,Y,mo).call(this,y,Ze,qe,Re);return nt.__returned=nt}else{let nt=H(this,x)[Ze];if(Be(this,Y,Ke).call(this,nt)){let xe=B&&nt.__staleWhileFetching!==void 0;return De&&(De.fetch="inflight",xe&&(De.returnedStale=!0)),xe?nt.__staleWhileFetching:nt.__returned=nt}let mt=H(this,J).call(this,Ze);if(!Ge&&!mt)return De&&(De.fetch="hit"),Be(this,Y,Sr).call(this,Ze),L&&H(this,te).call(this,Ze),De&&H(this,q).call(this,De,Ze),nt;let O=Be(this,Y,mo).call(this,y,Ze,qe,Re),G=O.__staleWhileFetching!==void 0&&B;return De&&(De.fetch=mt?"stale":"refresh",G&&mt&&(De.returnedStale=!0)),G?O.__staleWhileFetching:O.__returned=O}}async forceFetch(y,_={}){let B=await this.fetch(y,_);if(B===void 0)throw new Error("fetch() returned undefined");return B}memo(y,_={}){let B=H(this,T);if(!B)throw new Error("no memoMethod provided to constructor");let{context:L,forceRefresh:P,...j}=_,M=this.get(y,j);if(!P&&M!==void 0)return M;let z=B(y,M,{options:j,context:L});return this.set(y,z,j),z}get(y,_={}){let{allowStale:B=this.allowStale,updateAgeOnGet:L=this.updateAgeOnGet,noDeleteOnStaleGet:P=this.noDeleteOnStaleGet,status:j}=_,M=H(this,I).get(y);if(M!==void 0){let z=H(this,x)[M],ke=Be(this,Y,Ke).call(this,z);return j&&H(this,q).call(this,j,M),H(this,J).call(this,M)?(j&&(j.get="stale"),ke?(j&&B&&z.__staleWhileFetching!==void 0&&(j.returnedStale=!0),B?z.__staleWhileFetching:void 0):(P||Be(this,Y,qt).call(this,y,"expire"),j&&B&&(j.returnedStale=!0),B?z:void 0)):(j&&(j.get="hit"),ke?z.__staleWhileFetching:(Be(this,Y,Sr).call(this,M),L&&H(this,te).call(this,M),z))}else j&&(j.get="miss")}delete(y){return Be(this,Y,qt).call(this,y,"delete")}clear(){return Be(this,Y,Xi).call(this,"delete")}},b=new WeakMap,E=new WeakMap,k=new WeakMap,v=new WeakMap,V=new WeakMap,T=new WeakMap,C=new WeakMap,A=new WeakMap,I=new WeakMap,$=new WeakMap,x=new WeakMap,U=new WeakMap,Q=new WeakMap,W=new WeakMap,pe=new WeakMap,ne=new WeakMap,re=new WeakMap,de=new WeakMap,Z=new WeakMap,se=new WeakMap,R=new WeakMap,ee=new WeakMap,he=new WeakMap,Y=new WeakSet,Yi=function(){let y=new d(H(this,b)),_=new d(H(this,b));Pe(this,se,y),Pe(this,Z,_),Pe(this,le,(P,j,M=t.now())=>{if(_[P]=j!==0?M:0,y[P]=j,j!==0&&this.ttlAutopurge){let z=setTimeout(()=>{H(this,J).call(this,P)&&Be(this,Y,qt).call(this,H(this,$)[P],"expire")},j+1);z.unref&&z.unref()}}),Pe(this,te,P=>{_[P]=y[P]!==0?t.now():0}),Pe(this,q,(P,j)=>{if(y[j]){let M=y[j],z=_[j];if(!M||!z)return;P.ttl=M,P.start=z,P.now=B||L();let ke=P.now-z;P.remainingTTL=M-ke}});let B=0,L=()=>{let P=t.now();if(this.ttlResolution>0){B=P;let j=setTimeout(()=>B=0,this.ttlResolution);j.unref&&j.unref()}return P};this.getRemainingTTL=P=>{let j=H(this,I).get(P);if(j===void 0)return 0;let M=y[j],z=_[j];if(!M||!z)return 1/0;let ke=(B||L())-z;return M-ke},Pe(this,J,P=>{let j=_[P],M=y[P];return!!M&&!!j&&(B||L())-j>M})},te=new WeakMap,q=new WeakMap,le=new WeakMap,J=new WeakMap,hc=function(){let y=new d(H(this,b));Pe(this,A,0),Pe(this,de,y),Pe(this,ie,_=>{Pe(this,A,H(this,A)-y[_]),y[_]=0}),Pe(this,K,(_,B,L,P)=>{if(Be(this,Y,Ke).call(this,B))return 0;if(!s(L))if(P){if(typeof P!="function")throw new TypeError("sizeCalculation must be a function");if(L=P(B,_),!s(L))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return L}),Pe(this,Ee,(_,B,L)=>{if(y[_]=B,H(this,E)){let P=H(this,E)-y[_];for(;H(this,A)>P;)Be(this,Y,ho).call(this,!0)}Pe(this,A,H(this,A)+y[_]),L&&(L.entrySize=B,L.totalCalculatedSize=H(this,A))})},ie=new WeakMap,Ee=new WeakMap,K=new WeakMap,zt=function*({allowStale:y=this.allowStale}={}){if(H(this,C))for(let _=H(this,pe);!(!Be(this,Y,Qi).call(this,_)||((y||!H(this,J).call(this,_))&&(yield _),_===H(this,W)));)_=H(this,Q)[_]},Wt=function*({allowStale:y=this.allowStale}={}){if(H(this,C))for(let _=H(this,W);!(!Be(this,Y,Qi).call(this,_)||((y||!H(this,J).call(this,_))&&(yield _),_===H(this,pe)));)_=H(this,U)[_]},Qi=function(y){return y!==void 0&&H(this,I).get(H(this,$)[y])===y},ho=function(y){var P,j;let _=H(this,W),B=H(this,$)[_],L=H(this,x)[_];return H(this,ee)&&Be(this,Y,Ke).call(this,L)?L.__abortController.abort(new Error("evicted")):(H(this,R)||H(this,he))&&(H(this,R)&&((P=H(this,k))==null||P.call(this,L,B,"evict")),H(this,he)&&((j=H(this,re))==null||j.push([L,B,"evict"]))),H(this,ie).call(this,_),y&&(H(this,$)[_]=void 0,H(this,x)[_]=void 0,H(this,ne).push(_)),H(this,C)===1?(Pe(this,W,Pe(this,pe,0)),H(this,ne).length=0):Pe(this,W,H(this,U)[_]),H(this,I).delete(B),po(this,C)._--,_},mo=function(y,_,B,L){let P=_===void 0?void 0:H(this,x)[_];if(Be(this,Y,Ke).call(this,P))return P;let j=new o,{signal:M}=B;M==null||M.addEventListener("abort",()=>j.abort(M.reason),{signal:j.signal});let z={signal:j.signal,options:B,context:L},ke=(Re,Ge=!1)=>{let{aborted:De}=j.signal,Ue=B.ignoreFetchAbort&&Re!==void 0;if(B.status&&(De&&!Ge?(B.status.fetchAborted=!0,B.status.fetchError=j.signal.reason,Ue&&(B.status.fetchAbortIgnored=!0)):B.status.fetchResolved=!0),De&&!Ue&&!Ge)return Te(j.signal.reason);let qe=Xe;return H(this,x)[_]===Xe&&(Re===void 0?qe.__staleWhileFetching?H(this,x)[_]=qe.__staleWhileFetching:Be(this,Y,qt).call(this,y,"fetch"):(B.status&&(B.status.fetchUpdated=!0),this.set(y,Re,z.options))),Re},Ce=Re=>(B.status&&(B.status.fetchRejected=!0,B.status.fetchError=Re),Te(Re)),Te=Re=>{let{aborted:Ge}=j.signal,De=Ge&&B.allowStaleOnFetchAbort,Ue=De||B.allowStaleOnFetchRejection,qe=Ue||B.noDeleteOnFetchRejection,Ze=Xe;if(H(this,x)[_]===Xe&&(!qe||Ze.__staleWhileFetching===void 0?Be(this,Y,qt).call(this,y,"fetch"):De||(H(this,x)[_]=Ze.__staleWhileFetching)),Ue)return B.status&&Ze.__staleWhileFetching!==void 0&&(B.status.returnedStale=!0),Ze.__staleWhileFetching;if(Ze.__returned===Ze)throw Re},Oe=(Re,Ge)=>{var Ue;let De=(Ue=H(this,V))==null?void 0:Ue.call(this,y,P,z);De&&De instanceof Promise&&De.then(qe=>Re(qe===void 0?void 0:qe),Ge),j.signal.addEventListener("abort",()=>{(!B.ignoreFetchAbort||B.allowStaleOnFetchAbort)&&(Re(void 0),B.allowStaleOnFetchAbort&&(Re=qe=>ke(qe,!0)))})};B.status&&(B.status.fetchDispatched=!0);let Xe=new Promise(Oe).then(ke,Ce),et=Object.assign(Xe,{__abortController:j,__staleWhileFetching:P,__returned:void 0});return _===void 0?(this.set(y,et,{...z.options,status:void 0}),_=H(this,I).get(y)):H(this,x)[_]=et,et},Ke=function(y){if(!H(this,ee))return!1;let _=y;return!!_&&_ instanceof Promise&&_.hasOwnProperty("__staleWhileFetching")&&_.__abortController instanceof o},Ji=function(y,_){H(this,Q)[_]=y,H(this,U)[y]=_},Sr=function(y){y!==H(this,pe)&&(y===H(this,W)?Pe(this,W,H(this,U)[y]):Be(this,Y,Ji).call(this,H(this,Q)[y],H(this,U)[y]),Be(this,Y,Ji).call(this,H(this,pe),y),Pe(this,pe,y))},qt=function(y,_){var L,P,j,M;let B=!1;if(H(this,C)!==0){let z=H(this,I).get(y);if(z!==void 0)if(B=!0,H(this,C)===1)Be(this,Y,Xi).call(this,_);else{H(this,ie).call(this,z);let ke=H(this,x)[z];if(Be(this,Y,Ke).call(this,ke)?ke.__abortController.abort(new Error("deleted")):(H(this,R)||H(this,he))&&(H(this,R)&&((L=H(this,k))==null||L.call(this,ke,y,_)),H(this,he)&&((P=H(this,re))==null||P.push([ke,y,_]))),H(this,I).delete(y),H(this,$)[z]=void 0,H(this,x)[z]=void 0,z===H(this,pe))Pe(this,pe,H(this,Q)[z]);else if(z===H(this,W))Pe(this,W,H(this,U)[z]);else{let Ce=H(this,Q)[z];H(this,U)[Ce]=H(this,U)[z];let Te=H(this,U)[z];H(this,Q)[Te]=H(this,Q)[z]}po(this,C)._--,H(this,ne).push(z)}}if(H(this,he)&&((j=H(this,re))!=null&&j.length)){let z=H(this,re),ke;for(;ke=z==null?void 0:z.shift();)(M=H(this,v))==null||M.call(this,...ke)}return B},Xi=function(y){var _,B,L;for(let P of Be(this,Y,Wt).call(this,{allowStale:!0})){let j=H(this,x)[P];if(Be(this,Y,Ke).call(this,j))j.__abortController.abort(new Error("deleted"));else{let M=H(this,$)[P];H(this,R)&&((_=H(this,k))==null||_.call(this,j,M,y)),H(this,he)&&((B=H(this,re))==null||B.push([j,M,y]))}}if(H(this,I).clear(),H(this,x).fill(void 0),H(this,$).fill(void 0),H(this,se)&&H(this,Z)&&(H(this,se).fill(0),H(this,Z).fill(0)),H(this,de)&&H(this,de).fill(0),Pe(this,W,0),Pe(this,pe,0),H(this,ne).length=0,Pe(this,A,0),Pe(this,C,0),H(this,he)&&H(this,re)){let P=H(this,re),j;for(;j=P==null?void 0:P.shift();)(L=H(this,v))==null||L.call(this,...j)}},Ve);u.LRUCache=m}),Vt=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.ContainerIterator=u.Container=u.Base=void 0;var t=class{constructor(n=0){this.iteratorType=n}equals(n){return this.o===n.o}};u.ContainerIterator=t;var r=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};u.Base=r;var a=class extends r{};u.Container=a}),Ny=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[]){super(),this.S=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},a=r;u.default=a}),Sy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[]){super(),this.j=0,this.q=[];let o=this;n.forEach(function(i){o.push(i)})}clear(){this.q=[],this.i=this.j=0}push(n){let o=this.q.length;if(this.j/o>.5&&this.j+this.i>=o&&o>4096){let i=this.i;for(let l=0;l<i;++l)this.q[l]=this.q[this.j+l];this.j=0,this.q[this.i]=n}else this.q[this.j+this.i]=n;return++this.i}pop(){if(this.i===0)return;let n=this.q[this.j++];return this.i-=1,n}front(){if(this.i!==0)return this.q[this.j]}},a=r;u.default=a}),xy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Base{constructor(n=[],o=function(l,s){return l>s?-1:l<s?1:0},i=!0){if(super(),this.v=o,Array.isArray(n))this.C=i?[...n]:n;else{this.C=[];let s=this;n.forEach(function(c){s.C.push(c)})}this.i=this.C.length;let l=this.i>>1;for(let s=this.i-1>>1;s>=0;--s)this.k(s,l)}m(n){let o=this.C[n];for(;n>0;){let i=n-1>>1,l=this.C[i];if(this.v(l,o)<=0)break;this.C[n]=l,n=i}this.C[n]=o}k(n,o){let i=this.C[n];for(;n<o;){let l=n<<1|1,s=l+1,c=this.C[l];if(s<this.i&&this.v(c,this.C[s])>0&&(l=s,c=this.C[s]),this.v(c,i)>=0)break;this.C[n]=c,n=l}this.C[n]=i}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],o=this.C.pop();return this.i-=1,this.i&&(this.C[0]=o,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let o=this.C.indexOf(n);return o<0?!1:(o===0?this.pop():o===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(o,1,this.C.pop()),this.i-=1,this.m(o),this.k(o,this.i>>1)),!0)}updateItem(n){let o=this.C.indexOf(n);return o<0?!1:(this.m(o),this.k(o,this.i>>1),!0)}toArray(){return[...this.C]}},a=r;u.default=a}),jn=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=class extends t.Container{},a=r;u.default=a}),Ct=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),Xa=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.RandomIterator=void 0;var t=Vt(),r=Ct(),a=class extends t.ContainerIterator{constructor(n,o){super(o),this.o=n,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(n){this.container.setElementByPos(this.o,n)}};u.RandomIterator=a}),Vy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=a(jn()),r=Xa();function a(l){return l&&l.t?l:{default:l}}var n=class mc extends r.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new mc(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(l=[],s=!0){if(super(),Array.isArray(l))this.J=s?[...l]:l,this.i=l.length;else{this.J=[];let c=this;l.forEach(function(d){c.pushBack(d)})}}clear(){this.i=0,this.J.length=0}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J[l]}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J.splice(l,1),this.i-=1,this.i}eraseElementByValue(l){let s=0;for(let c=0;c<this.i;++c)this.J[c]!==l&&(this.J[s++]=this.J[c]);return this.i=this.J.length=s,this.i}eraseElementByIterator(l){let s=l.o;return l=l.next(),this.eraseElementByPos(s),l}pushBack(l){return this.J.push(l),this.i+=1,this.i}popBack(){if(this.i!==0)return this.i-=1,this.J.pop()}setElementByPos(l,s){if(l<0||l>this.i-1)throw new RangeError;this.J[l]=s}insert(l,s,c=1){if(l<0||l>this.i)throw new RangeError;return this.J.splice(l,0,...new Array(c).fill(s)),this.i+=c,this.i}find(l){for(let s=0;s<this.i;++s)if(this.J[s]===l)return new n(s,this);return this.end()}reverse(){this.J.reverse()}unique(){let l=1;for(let s=1;s<this.i;++s)this.J[s]!==this.J[s-1]&&(this.J[l++]=this.J[s]);return this.i=this.J.length=l,this.i}sort(l){this.J.sort(l)}forEach(l){for(let s=0;s<this.i;++s)l(this.J[s],s,this)}[Symbol.iterator](){return(function*(){yield*this.J}).bind(this)()}},i=o;u.default=i}),Cy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(jn()),r=Vt(),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class gc extends r.ContainerIterator{constructor(c,d,h,m){super(m),this.o=c,this.h=d,this.container=h,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.l}set pointer(c){this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.l=c}copy(){return new gc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let c=this;s.forEach(function(d){c.pushBack(d)})}V(s){let{L:c,B:d}=s;c.B=d,d.L=c,s===this.p&&(this.p=d),s===this._&&(this._=c),this.i-=1}G(s,c){let d=c.B,h={l:s,L:c,B:d};c.B=h,d.L=h,c===this.h&&(this.p=h),d===this.h&&(this._=h),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return c.l}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return this.V(c),this.i}eraseElementByValue(s){let c=this.p;for(;c!==this.h;)c.l===s&&this.V(c),c=c.B;return this.i}eraseElementByIterator(s){let c=s.o;return c===this.h&&(0,a.throwIteratorAccessError)(),s=s.next(),this.V(c),s}pushBack(s){return this.G(s,this._),this.i}popBack(){if(this.i===0)return;let s=this._.l;return this.V(this._),s}pushFront(s){return this.G(s,this.h),this.i}popFront(){if(this.i===0)return;let s=this.p.l;return this.V(this.p),s}setElementByPos(s,c){if(s<0||s>this.i-1)throw new RangeError;let d=this.p;for(;s--;)d=d.B;d.l=c}insert(s,c,d=1){if(s<0||s>this.i)throw new RangeError;if(d<=0)return this.i;if(s===0)for(;d--;)this.pushFront(c);else if(s===this.i)for(;d--;)this.pushBack(c);else{let h=this.p;for(let p=1;p<s;++p)h=h.B;let m=h.B;for(this.i+=d;d--;)h.B={l:c,L:h},h.B.L=h,h=h.B;h.B=m,m.L=h}return this.i}find(s){let c=this.p;for(;c!==this.h;){if(c.l===s)return new o(c,this.h,this);c=c.B}return this.end()}reverse(){if(this.i<=1)return;let s=this.p,c=this._,d=0;for(;d<<1<this.i;){let h=s.l;s.l=c.l,c.l=h,s=s.B,c=c.L,d+=1}}unique(){if(this.i<=1)return this.i;let s=this.p;for(;s!==this.h;){let c=s;for(;c.B!==this.h&&c.l===c.B.l;)c=c.B,this.i-=1;s.B=c.B,s.B.L=s,s=s.B}return this.i}sort(s){if(this.i<=1)return;let c=[];this.forEach(function(h){c.push(h)}),c.sort(s);let d=this.p;c.forEach(function(h){d.l=h,d=d.B})}merge(s){let c=this;if(this.i===0)s.forEach(function(d){c.pushBack(d)});else{let d=this.p;s.forEach(function(h){for(;d!==c.h&&d.l<=h;)d=d.B;c.G(h,d.L)})}return this.i}forEach(s){let c=this.p,d=0;for(;c!==this.h;)s(c.l,d++,this),c=c.B}[Symbol.iterator](){return(function*(){if(this.i===0)return;let s=this.p;for(;s!==this.h;)yield s.l,s=s.B}).bind(this)()}},l=i;u.default=l}),Iy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=a(jn()),r=Xa();function a(l){return l&&l.t?l:{default:l}}var n=class yc extends r.RandomIterator{constructor(s,c,d){super(s,d),this.container=c}copy(){return new yc(this.o,this.container,this.iteratorType)}},o=class extends t.default{constructor(l=[],s=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let c=(()=>{if(typeof l.length=="number")return l.length;if(typeof l.size=="number")return l.size;if(typeof l.size=="function")return l.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=s,this.P=Math.max(Math.ceil(c/this.F),1);for(let m=0;m<this.P;++m)this.A.push(new Array(this.F));let d=Math.ceil(c/this.F);this.j=this.R=(this.P>>1)-(d>>1),this.D=this.N=this.F-c%this.F>>1;let h=this;l.forEach(function(m){h.pushBack(m)})}T(){let l=[],s=Math.max(this.P>>1,1);for(let c=0;c<s;++c)l[c]=new Array(this.F);for(let c=this.j;c<this.P;++c)l[l.length]=this.A[c];for(let c=0;c<this.R;++c)l[l.length]=this.A[c];l[l.length]=[...this.A[this.R]],this.j=s,this.R=l.length-1;for(let c=0;c<s;++c)l[l.length]=new Array(this.F);this.A=l,this.P=l.length}O(l){let s=this.D+l+1,c=s%this.F,d=c-1,h=this.j+(s-c)/this.F;return c===0&&(h-=1),h%=this.P,d<0&&(d+=this.F),{curNodeBucketIndex:h,curNodePointerIndex:d}}clear(){this.A=[new Array(this.F)],this.P=1,this.j=this.R=this.i=0,this.D=this.N=this.F>>1}begin(){return new n(0,this)}end(){return new n(this.i,this)}rBegin(){return new n(this.i-1,this,1)}rEnd(){return new n(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(l){return this.i&&(this.N<this.F-1?this.N+=1:this.R<this.P-1?(this.R+=1,this.N=0):(this.R=0,this.N=0),this.R===this.j&&this.N===this.D&&this.T()),this.i+=1,this.A[this.R][this.N]=l,this.i}popBack(){if(this.i===0)return;let l=this.A[this.R][this.N];return this.i!==1&&(this.N>0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,l}pushFront(l){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=l,this.i}popFront(){if(this.i===0)return;let l=this.A[this.j][this.D];return this.i!==1&&(this.D<this.F-1?this.D+=1:this.j<this.P-1?(this.j+=1,this.D=0):(this.j=0,this.D=0)),this.i-=1,l}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(l);return this.A[s][c]}setElementByPos(l,s){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:c,curNodePointerIndex:d}=this.O(l);this.A[c][d]=s}insert(l,s,c=1){if(l<0||l>this.i)throw new RangeError;if(l===0)for(;c--;)this.pushFront(s);else if(l===this.i)for(;c--;)this.pushBack(s);else{let d=[];for(let h=l;h<this.i;++h)d.push(this.getElementByPos(h));this.cut(l-1);for(let h=0;h<c;++h)this.pushBack(s);for(let h=0;h<d.length;++h)this.pushBack(d[h])}return this.i}cut(l){if(l<0)return this.clear(),0;let{curNodeBucketIndex:s,curNodePointerIndex:c}=this.O(l);return this.R=s,this.N=c,this.i=l+1,this.i}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;if(l===0)this.popFront();else if(l===this.i-1)this.popBack();else{let s=[];for(let d=l+1;d<this.i;++d)s.push(this.getElementByPos(d));this.cut(l),this.popBack();let c=this;s.forEach(function(d){c.pushBack(d)})}return this.i}eraseElementByValue(l){if(this.i===0)return 0;let s=[];for(let d=0;d<this.i;++d){let h=this.getElementByPos(d);h!==l&&s.push(h)}let c=s.length;for(let d=0;d<c;++d)this.setElementByPos(d,s[d]);return this.cut(c-1)}eraseElementByIterator(l){let s=l.o;return this.eraseElementByPos(s),l=l.next(),l}find(l){for(let s=0;s<this.i;++s)if(this.getElementByPos(s)===l)return new n(s,this);return this.end()}reverse(){let l=0,s=this.i-1;for(;l<s;){let c=this.getElementByPos(l);this.setElementByPos(l,this.getElementByPos(s)),this.setElementByPos(s,c),l+=1,s-=1}}unique(){if(this.i<=1)return this.i;let l=1,s=this.getElementByPos(0);for(let c=1;c<this.i;++c){let d=this.getElementByPos(c);d!==s&&(s=d,this.setElementByPos(l++,d))}for(;this.i>l;)this.popBack();return this.i}sort(l){let s=[];for(let c=0;c<this.i;++c)s.push(this.getElementByPos(c));s.sort(l);for(let c=0;c<this.i;++c)this.setElementByPos(c,s[c])}shrinkToFit(){if(this.i===0)return;let l=[];this.forEach(function(s){l.push(s)}),this.P=Math.max(Math.ceil(this.i/this.F),1),this.i=this.j=this.R=this.D=this.N=0,this.A=[];for(let s=0;s<this.P;++s)this.A.push(new Array(this.F));for(let s=0;s<l.length;++s)this.pushBack(l[s])}forEach(l){for(let s=0;s<this.i;++s)l(this.getElementByPos(s),s,this)}[Symbol.iterator](){return(function*(){for(let l=0;l<this.i;++l)yield this.getElementByPos(l)}).bind(this)()}},i=o;u.default=i}),Ay=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.TreeNodeEnableIndex=u.TreeNode=void 0;var t=class{constructor(a,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=a,this.l=n}L(){let a=this;if(a.ee===1&&a.tt.tt===a)a=a.W;else if(a.U)for(a=a.U;a.W;)a=a.W;else{let n=a.tt;for(;n.U===a;)a=n,n=a.tt;a=n}return a}B(){let a=this;if(a.W){for(a=a.W;a.U;)a=a.U;return a}else{let n=a.tt;for(;n.W===a;)a=n,n=a.tt;return a.W!==n?n:a}}te(){let a=this.tt,n=this.W,o=n.U;return a.tt===this?a.tt=n:a.U===this?a.U=n:a.W=n,n.tt=a,n.U=this,this.tt=n,this.W=o,o&&(o.tt=this),n}se(){let a=this.tt,n=this.U,o=n.W;return a.tt===this?a.tt=n:a.U===this?a.U=n:a.W=n,n.tt=a,n.W=this,this.tt=n,this.U=o,o&&(o.tt=this),n}};u.TreeNode=t;var r=class extends t{constructor(){super(...arguments),this.rt=1}te(){let a=super.te();return this.ie(),a.ie(),a}se(){let a=super.se();return this.ie(),a.ie(),a}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};u.TreeNodeEnableIndex=r}),Za=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Ay(),r=Vt(),a=Ct(),n=class extends r.Container{constructor(i=function(s,c){return s<c?-1:s>c?1:0},l=!1){super(),this.Y=void 0,this.v=i,l?(this.re=t.TreeNodeEnableIndex,this.M=function(s,c,d){let h=this.ne(s,c,d);if(h){let m=h.tt;for(;m!==this.h;)m.rt+=1,m=m.tt;let p=this.he(h);if(p){let{parentNode:f,grandParent:w,curNode:N}=p;f.ie(),w.ie(),N.ie()}}return this.i},this.V=function(s){let c=this.fe(s);for(;c!==this.h;)c.rt-=1,c=c.tt}):(this.re=t.TreeNode,this.M=function(s,c,d){let h=this.ne(s,c,d);return h&&this.he(h),this.i},this.V=this.fe),this.h=new this.re}X(i,l){let s=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)i=i.W;else if(c>0)s=i,i=i.U;else return i}return s}Z(i,l){let s=this.h;for(;i;)this.v(i.u,l)<=0?i=i.W:(s=i,i=i.U);return s}$(i,l){let s=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)s=i,i=i.W;else if(c>0)i=i.U;else return i}return s}rr(i,l){let s=this.h;for(;i;)this.v(i.u,l)<0?(s=i,i=i.W):i=i.U;return s}ue(i){for(;;){let l=i.tt;if(l===this.h)return;if(i.ee===1){i.ee=0;return}if(i===l.U){let s=l.W;if(s.ee===1)s.ee=0,l.ee=1,l===this.Y?this.Y=l.te():l.te();else if(s.W&&s.W.ee===1){s.ee=l.ee,l.ee=0,s.W.ee=0,l===this.Y?this.Y=l.te():l.te();return}else s.U&&s.U.ee===1?(s.ee=1,s.U.ee=0,s.se()):(s.ee=1,i=l)}else{let s=l.U;if(s.ee===1)s.ee=0,l.ee=1,l===this.Y?this.Y=l.se():l.se();else if(s.U&&s.U.ee===1){s.ee=l.ee,l.ee=0,s.U.ee=0,l===this.Y?this.Y=l.se():l.se();return}else s.W&&s.W.ee===1?(s.ee=1,s.W.ee=0,s.te()):(s.ee=1,i=l)}}}fe(i){if(this.i===1)return this.clear(),this.h;let l=i;for(;l.U||l.W;){if(l.W)for(l=l.W;l.U;)l=l.U;else l=l.U;[i.u,l.u]=[l.u,i.u],[i.l,l.l]=[l.l,i.l],i=l}this.h.U===l?this.h.U=l.tt:this.h.W===l&&(this.h.W=l.tt),this.ue(l);let s=l.tt;return l===s.U?s.U=void 0:s.W=void 0,this.i-=1,this.Y.ee=0,s}oe(i,l){return i===void 0?!1:this.oe(i.U,l)||l(i)?!0:this.oe(i.W,l)}he(i){for(;;){let l=i.tt;if(l.ee===0)return;let s=l.tt;if(l===s.U){let c=s.W;if(c&&c.ee===1){if(c.ee=l.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===l.W){if(i.ee=0,i.U&&(i.U.tt=l),i.W&&(i.W.tt=s),l.W=i.U,s.U=i.W,i.U=l,i.W=s,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,l.tt=i,s.tt=i,s.ee=1,{parentNode:l,grandParent:s,curNode:i}}else l.ee=0,s===this.Y?this.Y=s.se():s.se(),s.ee=1}else{let c=s.U;if(c&&c.ee===1){if(c.ee=l.ee=0,s===this.Y)return;s.ee=1,i=s;continue}else if(i===l.U){if(i.ee=0,i.U&&(i.U.tt=s),i.W&&(i.W.tt=l),s.W=i.U,l.U=i.W,i.U=s,i.W=l,s===this.Y)this.Y=i,this.h.tt=i;else{let d=s.tt;d.U===s?d.U=i:d.W=i}return i.tt=s.tt,l.tt=i,s.tt=i,s.ee=1,{parentNode:l,grandParent:s,curNode:i}}else l.ee=0,s===this.Y?this.Y=s.te():s.te(),s.ee=1}return}}ne(i,l,s){if(this.Y===void 0){this.i+=1,this.Y=new this.re(i,l),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let c,d=this.h.U,h=this.v(d.u,i);if(h===0){d.l=l;return}else if(h>0)d.U=new this.re(i,l),d.U.tt=d,c=d.U,this.h.U=c;else{let m=this.h.W,p=this.v(m.u,i);if(p===0){m.l=l;return}else if(p<0)m.W=new this.re(i,l),m.W.tt=m,c=m.W,this.h.W=c;else{if(s!==void 0){let f=s.o;if(f!==this.h){let w=this.v(f.u,i);if(w===0){f.l=l;return}else if(w>0){let N=f.L(),S=this.v(N.u,i);if(S===0){N.l=l;return}else S<0&&(c=new this.re(i,l),N.W===void 0?(N.W=c,c.tt=N):(f.U=c,c.tt=f))}}}if(c===void 0)for(c=this.Y;;){let f=this.v(c.u,i);if(f>0){if(c.U===void 0){c.U=new this.re(i,l),c.U.tt=c,c=c.U;break}c=c.U}else if(f<0){if(c.W===void 0){c.W=new this.re(i,l),c.W.tt=c,c=c.W;break}c=c.W}else{c.l=l;return}}}}return this.i+=1,c}I(i,l){for(;i;){let s=this.v(i.u,l);if(s<0)i=i.W;else if(s>0)i=i.U;else return i}return i||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(i,l){let s=i.o;if(s===this.h&&(0,a.throwIteratorAccessError)(),this.i===1)return s.u=l,!0;if(s===this.h.U)return this.v(s.B().u,l)>0?(s.u=l,!0):!1;if(s===this.h.W)return this.v(s.L().u,l)<0?(s.u=l,!0):!1;let c=s.L().u;if(this.v(c,l)>=0)return!1;let d=s.B().u;return this.v(d,l)<=0?!1:(s.u=l,!0)}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=0,s=this;return this.oe(this.Y,function(c){return i===l?(s.V(c),!0):(l+=1,!1)}),this.i}eraseElementByKey(i){if(this.i===0)return!1;let l=this.I(this.Y,i);return l===this.h?!1:(this.V(l),!0)}eraseElementByIterator(i){let l=i.o;l===this.h&&(0,a.throwIteratorAccessError)();let s=l.W===void 0;return i.iteratorType===0?s&&i.next():(!s||l.U===void 0)&&i.next(),this.V(l),i}forEach(i){let l=0;for(let s of this)i(s,l++,this)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l,s=0;for(let c of this){if(s===i){l=c;break}s+=1}return l}getHeight(){if(this.i===0)return 0;let i=function(l){return l?Math.max(i(l.U),i(l.W))+1:0};return i(this.Y)}},o=n;u.default=o}),es=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=Vt(),r=Ct(),a=class extends t.ContainerIterator{constructor(o,i,l){super(l),this.o=o,this.h=i,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let o=this.o,i=this.h.tt;if(o===this.h)return i?i.rt-1:0;let l=0;for(o.U&&(l+=o.U.rt);o!==i;){let s=o.tt;o===s.W&&(l+=1,s.U&&(l+=s.U.rt)),o=s}return l}},n=a;u.default=n}),Ty=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(Za()),r=n(es()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class bc extends r.default{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o.u}copy(){return new bc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],c,d){super(c,d);let h=this;s.forEach(function(m){h.insert(m)})}*K(s){s!==void 0&&(yield*this.K(s.U),yield s.u,yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(s,c){return this.M(s,void 0,c)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}union(s){let c=this;return s.forEach(function(d){c.insert(d)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;u.default=l}),$y=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=n(Za()),r=n(es()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class wc extends r.default{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){this.o===this.h&&(0,a.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(d,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new wc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(s=[],c,d){super(c,d);let h=this;s.forEach(function(m){h.setElement(m[0],m[1])})}*K(s){s!==void 0&&(yield*this.K(s.U),yield[s.u,s.l],yield*this.K(s.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let s=this.h.U;return[s.u,s.l]}back(){if(this.i===0)return;let s=this.h.W;return[s.u,s.l]}lowerBound(s){let c=this.X(this.Y,s);return new o(c,this.h,this)}upperBound(s){let c=this.Z(this.Y,s);return new o(c,this.h,this)}reverseLowerBound(s){let c=this.$(this.Y,s);return new o(c,this.h,this)}reverseUpperBound(s){let c=this.rr(this.Y,s);return new o(c,this.h,this)}setElement(s,c,d){return this.M(s,c,d)}find(s){let c=this.I(this.Y,s);return new o(c,this.h,this)}getElementByKey(s){return this.I(this.Y,s).l}union(s){let c=this;return s.forEach(function(d){c.setElement(d[0],d[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;u.default=l}),ts=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=t;function t(r){let a=typeof r;return a==="object"&&r!==null||a==="function"}}),rs=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.HashContainerIterator=u.HashContainer=void 0;var t=Vt(),r=n(ts()),a=Ct();function n(l){return l&&l.t?l:{default:l}}var o=class extends t.ContainerIterator{constructor(l,s,c){super(c),this.o=l,this.h=s,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,a.throwIteratorAccessError)(),this.o=this.o.L,this})}};u.HashContainerIterator=o;var i=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(l){let{L:s,B:c}=l;s.B=c,c.L=s,l===this.p&&(this.p=c),l===this._&&(this._=s),this.i-=1}M(l,s,c){c===void 0&&(c=(0,r.default)(l));let d;if(c){let h=l[this.HASH_TAG];if(h!==void 0)return this.H[h].l=s,this.i;Object.defineProperty(l,this.HASH_TAG,{value:this.H.length,configurable:!0}),d={u:l,l:s,L:this._,B:this.h},this.H.push(d)}else{let h=this.g[l];if(h)return h.l=s,this.i;d={u:l,l:s,L:this._,B:this.h},this.g[l]=d}return this.i===0?(this.p=d,this.h.B=d):this._.B=d,this._=d,this.h.L=d,++this.i}I(l,s){if(s===void 0&&(s=(0,r.default)(l)),s){let c=l[this.HASH_TAG];return c===void 0?this.h:this.H[c]}else return this.g[l]||this.h}clear(){let l=this.HASH_TAG;this.H.forEach(function(s){delete s.u[l]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(l,s){let c;if(s===void 0&&(s=(0,r.default)(l)),s){let d=l[this.HASH_TAG];if(d===void 0)return!1;delete l[this.HASH_TAG],c=this.H[d],delete this.H[d]}else{if(c=this.g[l],c===void 0)return!1;delete this.g[l]}return this.V(c),!0}eraseElementByIterator(l){let s=l.o;return s===this.h&&(0,a.throwIteratorAccessError)(),this.V(s),l.next()}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let s=this.p;for(;l--;)s=s.B;return this.V(s),this.i}};u.HashContainer=i}),By=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=rs(),r=Ct(),a=class Ec extends t.HashContainerIterator{constructor(l,s,c,d){super(l,s,d),this.container=c}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new Ec(this.o,this.h,this.container,this.iteratorType)}},n=class extends t.HashContainer{constructor(i=[]){super();let l=this;i.forEach(function(s){l.insert(s)})}begin(){return new a(this.p,this.h,this)}end(){return new a(this.h,this.h,this)}rBegin(){return new a(this._,this.h,this,1)}rEnd(){return new a(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(i,l){return this.M(i,void 0,l)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=this.p;for(;i--;)l=l.B;return l.u}find(i,l){let s=this.I(i,l);return new a(s,this.h,this)}forEach(i){let l=0,s=this.p;for(;s!==this.h;)i(s.u,l++,this),s=s.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield i.u,i=i.B}).bind(this)()}},o=n;u.default=o}),Dy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),u.default=void 0;var t=rs(),r=n(ts()),a=Ct();function n(s){return s&&s.t?s:{default:s}}var o=class vc extends t.HashContainerIterator{constructor(c,d,h,m){super(c,d,m),this.container=h}get pointer(){this.o===this.h&&(0,a.throwIteratorAccessError)();let c=this;return new Proxy([],{get(d,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(d,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new vc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.HashContainer{constructor(s=[]){super();let c=this;s.forEach(function(d){c.setElement(d[0],d[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(s,c,d){return this.M(s,c,d)}getElementByKey(s,c){if(c===void 0&&(c=(0,r.default)(s)),c){let h=s[this.HASH_TAG];return h!==void 0?this.H[h].l:void 0}let d=this.g[s];return d?d.l:void 0}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let c=this.p;for(;s--;)c=c.B;return[c.u,c.l]}find(s,c){let d=this.I(s,c);return new o(d,this.h,this)}forEach(s){let c=0,d=this.p;for(;d!==this.h;)s([d.u,d.l],c++,this),d=d.B}[Symbol.iterator](){return(function*(){let s=this.p;for(;s!==this.h;)yield[s.u,s.l],s=s.B}).bind(this)()}},l=i;u.default=l}),Py=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"t",{value:!0}),Object.defineProperty(u,"Deque",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(u,"HashMap",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(u,"HashSet",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(u,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(u,"OrderedMap",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(u,"OrderedSet",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(u,"PriorityQueue",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(u,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(u,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(u,"Vector",{enumerable:!0,get:function(){return n.default}});var t=h(Ny()),r=h(Sy()),a=h(xy()),n=h(Vy()),o=h(Cy()),i=h(Iy()),l=h(Ty()),s=h($y()),c=h(By()),d=h(Dy());function h(m){return m&&m.t?m:{default:m}}}),Oy=_e((u,t)=>{ye(),we(),be();var r=Py().OrderedSet,a=xt()("number-allocator:trace"),n=xt()("number-allocator:error");function o(l,s){this.low=l,this.high=s}o.prototype.equals=function(l){return this.low===l.low&&this.high===l.high},o.prototype.compare=function(l){return this.low<l.low&&this.high<l.low?-1:l.low<this.low&&l.high<this.low?1:0};function i(l,s){if(!(this instanceof i))return new i(l,s);this.min=l,this.max=s,this.ss=new r([],(c,d)=>c.compare(d)),a("Create"),this.clear()}i.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},i.prototype.alloc=function(){if(this.ss.size()===0)return a("alloc():empty"),null;let l=this.ss.begin(),s=l.pointer.low,c=l.pointer.high,d=s;return d+1<=c?this.ss.updateKeyByIterator(l,new o(s+1,c)):this.ss.eraseElementByPos(0),a("alloc():"+d),d},i.prototype.use=function(l){let s=new o(l,l),c=this.ss.lowerBound(s);if(!c.equals(this.ss.end())){let d=c.pointer.low,h=c.pointer.high;return c.pointer.equals(s)?(this.ss.eraseElementByIterator(c),a("use():"+l),!0):d>l?!1:d===l?(this.ss.updateKeyByIterator(c,new o(d+1,h)),a("use():"+l),!0):h===l?(this.ss.updateKeyByIterator(c,new o(d,h-1)),a("use():"+l),!0):(this.ss.updateKeyByIterator(c,new o(l+1,h)),this.ss.insert(new o(d,l-1)),a("use():"+l),!0)}return a("use():failed"),!1},i.prototype.free=function(l){if(l<this.min||l>this.max){n("free():"+l+" is out of range");return}let s=new o(l,l),c=this.ss.upperBound(s);if(c.equals(this.ss.end())){if(c.equals(this.ss.begin())){this.ss.insert(s);return}c.pre();let d=c.pointer.high;c.pointer.high+1===l?this.ss.updateKeyByIterator(c,new o(d,l)):this.ss.insert(s)}else if(c.equals(this.ss.begin()))if(l+1===c.pointer.low){let d=c.pointer.high;this.ss.updateKeyByIterator(c,new o(l,d))}else this.ss.insert(s);else{let d=c.pointer.low,h=c.pointer.high;c.pre();let m=c.pointer.low;c.pointer.high+1===l?l+1===d?(this.ss.eraseElementByIterator(c),this.ss.updateKeyByIterator(c,new o(m,h))):this.ss.updateKeyByIterator(c,new o(m,l)):l+1===d?(this.ss.eraseElementByIterator(c.next()),this.ss.insert(new o(l,h))):this.ss.insert(s)}a("free():"+l)},i.prototype.clear=function(){a("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},i.prototype.intervalCount=function(){return this.ss.size()},i.prototype.dump=function(){console.log("length:"+this.ss.size());for(let l of this.ss)console.log(l)},t.exports=i}),os=_e((u,t)=>{ye(),we(),be();var r=Oy();t.exports.NumberAllocator=r}),My=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=_y(),r=os(),a=class{constructor(n){ve(this,"aliasToTopic");ve(this,"topicToAlias");ve(this,"max");ve(this,"numberAllocator");ve(this,"length");n>0&&(this.aliasToTopic=new t.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,o){if(o===0||o>this.max)return!1;let i=this.aliasToTopic.get(o);return i&&delete this.topicToAlias[i],this.aliasToTopic.set(o,n),this.topicToAlias[n]=o,this.numberAllocator.use(o),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let o=this.topicToAlias[n];return typeof o<"u"&&this.aliasToTopic.get(o),o}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};u.default=a}),Ry=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(u,"__esModule",{value:!0});var r=Br(),a=t(My()),n=ar(),o=(i,l)=>{i.log("_handleConnack");let{options:s}=i,c=s.protocolVersion===5?l.reasonCode:l.returnCode;if(clearTimeout(i.connackTimer),delete i.topicAliasSend,l.properties){if(l.properties.topicAliasMaximum){if(l.properties.topicAliasMaximum>65535){i.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}l.properties.topicAliasMaximum>0&&(i.topicAliasSend=new a.default(l.properties.topicAliasMaximum))}l.properties.serverKeepAlive&&s.keepalive&&(s.keepalive=l.properties.serverKeepAlive),l.properties.maximumPacketSize&&(s.properties||(s.properties={}),s.properties.maximumPacketSize=l.properties.maximumPacketSize)}if(c===0)i.reconnecting=!1,i._onConnect(l);else if(c>0){let d=new n.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[c]}`,c);i.emit("error",d),i.options.reconnectOnConnackError&&i._cleanUp(!0)}};u.default=o}),jy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(r,a,n)=>{r.log("handling pubrel packet");let o=typeof n<"u"?n:r.noop,{messageId:i}=a,l={cmd:"pubcomp",messageId:i};r.incomingStore.get(a,(s,c)=>{s?r._sendPacket(l,o):(r.emit("message",c.topic,c.payload,c),r.handleMessage(c,d=>{if(d)return o(d);r.incomingStore.del(c,r.noop),r._sendPacket(l,o)}))})};u.default=t}),Ly=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(u,"__esModule",{value:!0});var r=t(Ey()),a=t(ky()),n=t(Ry()),o=t(Br()),i=t(jy()),l=(s,c,d)=>{let{options:h}=s;if(h.protocolVersion===5&&h.properties&&h.properties.maximumPacketSize&&h.properties.maximumPacketSize<c.length)return s.emit("error",new Error(`exceeding packets size ${c.cmd}`)),s.end({reasonCode:149,properties:{reasonString:"Maximum packet size was exceeded"}}),s;switch(s.log("_handlePacket :: emitting packetreceive"),s.emit("packetreceive",c),c.cmd){case"publish":(0,r.default)(s,c,d);break;case"puback":case"pubrec":case"pubcomp":case"suback":case"unsuback":s.reschedulePing(),(0,o.default)(s,c),d();break;case"pubrel":s.reschedulePing(),(0,i.default)(s,c,d);break;case"connack":(0,n.default)(s,c),d();break;case"auth":s.reschedulePing(),(0,a.default)(s,c),d();break;case"pingresp":s.log("_handlePacket :: received pingresp"),s.reschedulePing(!0),d();break;case"disconnect":s.emit("disconnect",c),d();break;default:s.log("_handlePacket :: unknown command"),d();break}};u.default=l}),ns=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=class{constructor(){ve(this,"nextId");this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let r=this.nextId++;return this.nextId===65536&&(this.nextId=1),r}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(r){return!0}deallocate(r){}clear(){}};u.default=t}),Uy=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=class{constructor(r){ve(this,"aliasToTopic");ve(this,"max");ve(this,"length");this.aliasToTopic={},this.max=r}put(r,a){return a===0||a>this.max?!1:(this.aliasToTopic[a]=r,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(r){return this.aliasToTopic[r]}clear(){this.aliasToTopic={}}};u.default=t}),Fy=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(u,"__esModule",{value:!0}),u.TypedEventEmitter=void 0;var r=t((Yt(),We(Dt))),a=ar(),n=class{};u.TypedEventEmitter=n,(0,a.applyMixin)(n,r.default)}),Dr=_e((u,t)=>{ye(),we(),be();function r(a){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},t.exports.__esModule=!0,t.exports.default=t.exports,r(a)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),zy=_e((u,t)=>{ye(),we(),be();var r=Dr().default;function a(n,o){if(r(n)!="object"||!n)return n;var i=n[Symbol.toPrimitive];if(i!==void 0){var l=i.call(n,o||"default");if(r(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(o==="string"?String:Number)(n)}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Wy=_e((u,t)=>{ye(),we(),be();var r=Dr().default,a=zy();function n(o){var i=a(o,"string");return r(i)=="symbol"?i:i+""}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),qy=_e((u,t)=>{ye(),we(),be();var r=Wy();function a(n,o,i){return(o=r(o))in n?Object.defineProperty(n,o,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[o]=i,n}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Gy=_e((u,t)=>{ye(),we(),be();function r(a){if(Array.isArray(a))return a}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Hy=_e((u,t)=>{ye(),we(),be();function r(a,n){var o=a==null?null:typeof Symbol<"u"&&a[Symbol.iterator]||a["@@iterator"];if(o!=null){var i,l,s,c,d=[],h=!0,m=!1;try{if(s=(o=o.call(a)).next,n===0){if(Object(o)!==o)return;h=!1}else for(;!(h=(i=s.call(o)).done)&&(d.push(i.value),d.length!==n);h=!0);}catch(p){m=!0,l=p}finally{try{if(!h&&o.return!=null&&(c=o.return(),Object(c)!==c))return}finally{if(m)throw l}}return d}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Ky=_e((u,t)=>{ye(),we(),be();function r(a,n){(n==null||n>a.length)&&(n=a.length);for(var o=0,i=Array(n);o<n;o++)i[o]=a[o];return i}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Yy=_e((u,t)=>{ye(),we(),be();var r=Ky();function a(n,o){if(n){if(typeof n=="string")return r(n,o);var i={}.toString.call(n).slice(8,-1);return i==="Object"&&n.constructor&&(i=n.constructor.name),i==="Map"||i==="Set"?Array.from(n):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(n,o):void 0}}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),Qy=_e((u,t)=>{ye(),we(),be();function r(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Jy=_e((u,t)=>{ye(),we(),be();var r=Gy(),a=Hy(),n=Yy(),o=Qy();function i(l,s){return r(l)||a(l,s)||n(l,s)||o()}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),is=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u):typeof define=="function"&&define.amd?define(["exports"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.fastUniqueNumbers={}))}(u,function(r){var a=function(p){return function(f){var w=p(f);return f.add(w),w}},n=function(p){return function(f,w){return p.set(f,w),w}},o=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,l=i*2,s=function(p,f){return function(w){var N=f.get(w),S=N===void 0?w.size:N<l?N+1:0;if(!w.has(S))return p(w,S);if(w.size<i){for(;w.has(S);)S=Math.floor(Math.random()*l);return p(w,S)}if(w.size>o)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;w.has(S);)S=Math.floor(Math.random()*o);return p(w,S)}},c=new WeakMap,d=n(c),h=s(d,c),m=a(h);r.addUniqueNumber=m,r.generateUniqueNumber=h})}),Xy=_e((u,t)=>{ye(),we(),be();function r(n,o,i,l,s,c,d){try{var h=n[c](d),m=h.value}catch(p){return void i(p)}h.done?o(m):Promise.resolve(m).then(l,s)}function a(n){return function(){var o=this,i=arguments;return new Promise(function(l,s){var c=n.apply(o,i);function d(m){r(c,l,s,d,h,"next",m)}function h(m){r(c,l,s,d,h,"throw",m)}d(void 0)})}}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),as=_e((u,t)=>{ye(),we(),be();function r(a,n){this.v=a,this.k=n}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),ss=_e((u,t)=>{ye(),we(),be();function r(a,n,o,i){var l=Object.defineProperty;try{l({},"",{})}catch{l=0}t.exports=r=function(s,c,d,h){function m(p,f){r(s,p,function(w){return this._invoke(p,f,w)})}c?l?l(s,c,{value:d,enumerable:!h,configurable:!h,writable:!h}):s[c]=d:(m("next",0),m("throw",1),m("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,r(a,n,o,i)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),ls=_e((u,t)=>{ye(),we(),be();var r=ss();function a(){var n,o,i=typeof Symbol=="function"?Symbol:{},l=i.iterator||"@@iterator",s=i.toStringTag||"@@toStringTag";function c(S,b,E,k){var v=b&&b.prototype instanceof h?b:h,V=Object.create(v.prototype);return r(V,"_invoke",function(T,C,A){var I,$,x,U=0,Q=A||[],W=!1,pe={p:0,n:0,v:n,a:ne,f:ne.bind(n,4),d:function(re,de){return I=re,$=0,x=n,pe.n=de,d}};function ne(re,de){for($=re,x=de,o=0;!W&&U&&!Z&&o<Q.length;o++){var Z,se=Q[o],R=pe.p,ee=se[2];re>3?(Z=ee===de)&&(x=se[($=se[4])?5:($=3,3)],se[4]=se[5]=n):se[0]<=R&&((Z=re<2&&R<se[1])?($=0,pe.v=de,pe.n=se[1]):R<ee&&(Z=re<3||se[0]>de||de>ee)&&(se[4]=re,se[5]=de,pe.n=ee,$=0))}if(Z||re>1)return d;throw W=!0,de}return function(re,de,Z){if(U>1)throw TypeError("Generator is already running");for(W&&de===1&&ne(de,Z),$=de,x=Z;(o=$<2?n:x)||!W;){I||($?$<3?($>1&&(pe.n=-1),ne($,x)):pe.n=x:pe.v=x);try{if(U=2,I){if($||(re="next"),o=I[re]){if(!(o=o.call(I,x)))throw TypeError("iterator result is not an object");if(!o.done)return o;x=o.value,$<2&&($=0)}else $===1&&(o=I.return)&&o.call(I),$<2&&(x=TypeError("The iterator does not provide a '"+re+"' method"),$=1);I=n}else if((o=(W=pe.n<0)?x:T.call(C,pe))!==d)break}catch(se){I=n,$=1,x=se}finally{U=1}}return{value:o,done:W}}}(S,E,k),!0),V}var d={};function h(){}function m(){}function p(){}o=Object.getPrototypeOf;var f=[][l]?o(o([][l]())):(r(o={},l,function(){return this}),o),w=p.prototype=h.prototype=Object.create(f);function N(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,p):(S.__proto__=p,r(S,s,"GeneratorFunction")),S.prototype=Object.create(w),S}return m.prototype=p,r(w,"constructor",p),r(p,"constructor",m),m.displayName="GeneratorFunction",r(p,s,"GeneratorFunction"),r(w),r(w,s,"Generator"),r(w,l,function(){return this}),r(w,"toString",function(){return"[object Generator]"}),(t.exports=a=function(){return{w:c,m:N}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),cs=_e((u,t)=>{ye(),we(),be();var r=as(),a=ss();function n(o,i){function l(c,d,h,m){try{var p=o[c](d),f=p.value;return f instanceof r?i.resolve(f.v).then(function(w){l("next",w,h,m)},function(w){l("throw",w,h,m)}):i.resolve(f).then(function(w){p.value=w,h(p)},function(w){return l("throw",w,h,m)})}catch(w){m(w)}}var s;this.next||(a(n.prototype),a(n.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),a(this,"_invoke",function(c,d,h){function m(){return new i(function(p,f){l(c,h,p,f)})}return s=s?s.then(m,m):m()},!0)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),ds=_e((u,t)=>{ye(),we(),be();var r=ls(),a=cs();function n(o,i,l,s,c){return new a(r().w(o,i,l,s),c||Promise)}t.exports=n,t.exports.__esModule=!0,t.exports.default=t.exports}),Zy=_e((u,t)=>{ye(),we(),be();var r=ds();function a(n,o,i,l,s){var c=r(n,o,i,l,s);return c.next().then(function(d){return d.done?d.value:c.next()})}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),e0=_e((u,t)=>{ye(),we(),be();function r(a){var n=Object(a),o=[];for(var i in n)o.unshift(i);return function l(){for(;o.length;)if((i=o.pop())in n)return l.value=i,l.done=!1,l;return l.done=!0,l}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),t0=_e((u,t)=>{ye(),we(),be();var r=Dr().default;function a(n){if(n!=null){var o=n[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],i=0;if(o)return o.call(n);if(typeof n.next=="function")return n;if(!isNaN(n.length))return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}}}throw new TypeError(r(n)+" is not iterable")}t.exports=a,t.exports.__esModule=!0,t.exports.default=t.exports}),r0=_e((u,t)=>{ye(),we(),be();var r=as(),a=ls(),n=Zy(),o=ds(),i=cs(),l=e0(),s=t0();function c(){var d=a(),h=d.m(c),m=(Object.getPrototypeOf?Object.getPrototypeOf(h):h.__proto__).constructor;function p(N){var S=typeof N=="function"&&N.constructor;return!!S&&(S===m||(S.displayName||S.name)==="GeneratorFunction")}var f={throw:1,return:2,break:3,continue:3};function w(N){var S,b;return function(E){S||(S={stop:function(){return b(E.a,2)},catch:function(){return E.v},abrupt:function(k,v){return b(E.a,f[k],v)},delegateYield:function(k,v,V){return S.resultName=v,b(E.d,s(k),V)},finish:function(k){return b(E.f,k)}},b=function(k,v,V){E.p=S.prev,E.n=S.next;try{return k(v,V)}finally{S.next=E.n}}),S.resultName&&(S[S.resultName]=E.v,S.resultName=void 0),S.sent=E.v,S.next=E.n;try{return N.call(this,S)}finally{E.p=S.prev,E.n=S.next}}}return(t.exports=c=function(){return{wrap:function(N,S,b,E){return d.w(w(N),S,b,E&&E.reverse())},isGeneratorFunction:p,mark:d.m,awrap:function(N,S){return new r(N,S)},AsyncIterator:i,async:function(N,S,b,E,k){return(p(S)?o:n)(w(N),S,b,E,k)},keys:l,values:s}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=c,t.exports.__esModule=!0,t.exports.default=t.exports}),o0=_e((u,t)=>{ye(),we(),be();var r=r0()();t.exports=r;try{regeneratorRuntime=r}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}),n0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,qy(),Jy(),is(),Xy(),o0()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/slicedToArray","fast-unique-numbers","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.brokerFactory={},r._defineProperty,r._slicedToArray,r.fastUniqueNumbers,r._asyncToGenerator,r._regeneratorRuntime))}(u,function(r,a,n,o,i,l){var s=function(b){return typeof b.start=="function"},c=new WeakMap;function d(b,E){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(b);E&&(v=v.filter(function(V){return Object.getOwnPropertyDescriptor(b,V).enumerable})),k.push.apply(k,v)}return k}function h(b){for(var E=1;E<arguments.length;E++){var k=arguments[E]!=null?arguments[E]:{};E%2?d(Object(k),!0).forEach(function(v){a(b,v,k[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):d(Object(k)).forEach(function(v){Object.defineProperty(b,v,Object.getOwnPropertyDescriptor(k,v))})}return b}var m=function(b){return h(h({},b),{},{connect:function(E){var k=E.call;return i(l.mark(function v(){var V,T,C,A;return l.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return V=new MessageChannel,T=V.port1,C=V.port2,I.next=1,k("connect",{port:T},[T]);case 1:return A=I.sent,c.set(C,A),I.abrupt("return",C);case 2:case"end":return I.stop()}},v)}))},disconnect:function(E){var k=E.call;return function(){var v=i(l.mark(function V(T){var C;return l.wrap(function(A){for(;;)switch(A.prev=A.next){case 0:if(C=c.get(T),C!==void 0){A.next=1;break}throw new Error("The given port is not connected.");case 1:return A.next=2,k("disconnect",{portId:C});case 2:case"end":return A.stop()}},V)}));return function(V){return v.apply(this,arguments)}}()},isSupported:function(E){var k=E.call;return function(){return k("isSupported")}}})};function p(b,E){var k=Object.keys(b);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(b);E&&(v=v.filter(function(V){return Object.getOwnPropertyDescriptor(b,V).enumerable})),k.push.apply(k,v)}return k}function f(b){for(var E=1;E<arguments.length;E++){var k=arguments[E]!=null?arguments[E]:{};E%2?p(Object(k),!0).forEach(function(v){a(b,v,k[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(k)):p(Object(k)).forEach(function(v){Object.defineProperty(b,v,Object.getOwnPropertyDescriptor(k,v))})}return b}var w=new WeakMap,N=function(b){if(w.has(b))return w.get(b);var E=new Map;return w.set(b,E),E},S=function(b){var E=m(b);return function(k){var v=N(k);k.addEventListener("message",function(Q){var W=Q.data,pe=W.id;if(pe!==null&&v.has(pe)){var ne=v.get(pe),re=ne.reject,de=ne.resolve;v.delete(pe),W.error===void 0?de(W.result):re(new Error(W.error.message))}}),s(k)&&k.start();for(var V=function(Q){var W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return new Promise(function(ne,re){var de=o.generateUniqueNumber(v);v.set(de,{reject:re,resolve:ne}),W===null?k.postMessage({id:de,method:Q},pe):k.postMessage({id:de,method:Q,params:W},pe)})},T=function(Q,W){var pe=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];k.postMessage({id:null,method:Q,params:W},pe)},C={},A=0,I=Object.entries(E);A<I.length;A++){var $=n(I[A],2),x=$[0],U=$[1];C=f(f({},C),{},a({},x,U({call:V,notify:T})))}return f({},C)}};r.createBroker=S})}),i0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,Dr(),n0(),is()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/typeof","broker-factory","fast-unique-numbers"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.workerTimersBroker={},r._typeof,r.brokerFactory,r.fastUniqueNumbers))}(u,function(r,a,n,o){var i=new Map([[0,null]]),l=new Map([[0,null]]),s=n.createBroker({clearInterval:function(d){var h=d.call;return function(m){a(i.get(m))==="symbol"&&(i.set(m,null),h("clear",{timerId:m,timerType:"interval"}).then(function(){i.delete(m)}))}},clearTimeout:function(d){var h=d.call;return function(m){a(l.get(m))==="symbol"&&(l.set(m,null),h("clear",{timerId:m,timerType:"timeout"}).then(function(){l.delete(m)}))}},setInterval:function(d){var h=d.call;return function(m){for(var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),N=2;N<f;N++)w[N-2]=arguments[N];var S=Symbol(),b=o.generateUniqueNumber(i);i.set(b,S);var E=function(){return h("set",{delay:p,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"interval"}).then(function(){var k=i.get(b);if(k===void 0)throw new Error("The timer is in an undefined state.");k===S&&(m.apply(void 0,w),i.get(b)===S&&E())})};return E(),b}},setTimeout:function(d){var h=d.call;return function(m){for(var p=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,f=arguments.length,w=new Array(f>2?f-2:0),N=2;N<f;N++)w[N-2]=arguments[N];var S=Symbol(),b=o.generateUniqueNumber(l);return l.set(b,S),h("set",{delay:p,now:performance.timeOrigin+performance.now(),timerId:b,timerType:"timeout"}).then(function(){var E=l.get(b);if(E===void 0)throw new Error("The timer is in an undefined state.");E===S&&(l.delete(b),m.apply(void 0,w))}),b}}}),c=function(d){var h=new Worker(d);return s(h)};r.load=c,r.wrap=s})}),a0=_e((u,t)=>{ye(),we(),be(),function(r,a){typeof u=="object"&&typeof t<"u"?a(u,i0()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],a):(r=typeof globalThis<"u"?globalThis:r||self,a(r.workerTimers={},r.workerTimersBroker))}(u,function(r,a){var n=function(h,m){var p=null;return function(){if(p!==null)return p;var f=new Blob([m],{type:"application/javascript; charset=utf-8"}),w=URL.createObjectURL(f);return p=h(w),setTimeout(function(){return URL.revokeObjectURL(w)}),p}},o=`(()=>{var e={45:(e,t,r)=>{var n=r(738).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},79:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},122:(e,t,r)=>{var n=r(79);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},156:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,a,i=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}},e.exports.__esModule=!0,e.exports.default=e.exports},172:e=>{e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},293:e=>{function t(e,t,r,n,o,u,a){try{var i=e[u](a),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,u){var a=e.apply(r,n);function i(e){t(a,o,u,i,s,"next",e)}function s(e){t(a,o,u,i,s,"throw",e)}i(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},373:e=>{e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},389:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<u?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*u);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,s=r(i),c=a(s,i),f=t(c);e.addUniqueNumber=f,e.generateUniqueNumber=c}(t)},472:function(e,t,r){!function(e,t,r,n){"use strict";var o=function(e,t){return function(r){var o=t.get(r);if(void 0===o)return Promise.resolve(!1);var u=n(o,2),a=u[0],i=u[1];return e(a),t.delete(r),i(!1),Promise.resolve(!0)}},u=function(e,t){var r=function(n,o,u,a){var i=n-e.now();i>0?o.set(a,[t(r,i,n,o,u,a),u]):(o.delete(a),u(!0))};return r},a=function(e,t,r,n){return function(o,u,a){var i=o+u-t.timeOrigin,s=i-t.now();return new Promise((function(t){e.set(a,[r(n,s,i,e,t,a),t])}))}},i=new Map,s=o(globalThis.clearTimeout,i),c=new Map,f=o(globalThis.clearTimeout,c),l=u(performance,globalThis.setTimeout),p=a(i,performance,globalThis.setTimeout,l),d=a(c,performance,globalThis.setTimeout,l);r.createWorker(self,{clear:function(){var r=e(t.mark((function e(r){var n,o,u;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.timerId,o=r.timerType,e.next=1,"interval"===o?s(n):f(n);case 1:return u=e.sent,e.abrupt("return",{result:u});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}(),set:function(){var r=e(t.mark((function e(r){var n,o,u,a,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.delay,o=r.now,u=r.timerId,a=r.timerType,e.next=1,("interval"===a?p:d)(n,o,u);case 1:return i=e.sent,e.abrupt("return",{result:i});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}()})}(r(293),r(756),r(623),r(715))},546:e=>{function t(r,n,o,u){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,o){if(r)a?a(e,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[r]=n;else{var u=function(r,n){t(e,r,(function(e){return this._invoke(r,n,e)}))};u("next",0),u("throw",1),u("return",2)}},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},579:(e,t,r)=>{var n=r(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},623:function(e,t,r){!function(e,t,r,n,o){"use strict";var u={INTERNAL_ERROR:-32603,INVALID_PARAMS:-32602,METHOD_NOT_FOUND:-32601},a=function(e,t){return Object.assign(new Error(e),{status:t})},i=function(e){return a('The requested method called "'.concat(e,'" is not supported.'),u.METHOD_NOT_FOUND)},s=function(e){return a('The handler of the method called "'.concat(e,'" returned no required result.'),u.INTERNAL_ERROR)},c=function(e){return a('The handler of the method called "'.concat(e,'" returned an unexpected result.'),u.INTERNAL_ERROR)},f=function(e){return a('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),u.INVALID_PARAMS)},l=function(e,n){return function(){var o=t(r.mark((function t(o){var u,a,f,l,p,d,v,x,y,b,h,m,_,g,w;return r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=o.data,a=u.id,f=u.method,l=u.params,p=n[f],t.prev=1,void 0!==p){t.next=2;break}throw i(f);case 2:if(void 0!==(d=void 0===l?p():p(l))){t.next=3;break}throw s(f);case 3:if(!(d instanceof Promise)){t.next=5;break}return t.next=4,d;case 4:g=t.sent,t.next=6;break;case 5:g=d;case 6:if(v=g,null!==a){t.next=8;break}if(void 0===v.result){t.next=7;break}throw c(f);case 7:t.next=10;break;case 8:if(void 0!==v.result){t.next=9;break}throw c(f);case 9:x=v.result,y=v.transferables,b=void 0===y?[]:y,e.postMessage({id:a,result:x},b);case 10:t.next=12;break;case 11:t.prev=11,w=t.catch(1),h=w.message,m=w.status,_=void 0===m?-32603:m,e.postMessage({error:{code:_,message:h},id:a});case 12:case"end":return t.stop()}}),t,null,[[1,11]])})));return function(e){return o.apply(this,arguments)}}()},p=function(){return new Promise((function(e){var t=new ArrayBuffer(0),r=new MessageChannel,n=r.port1,o=r.port2;n.onmessage=function(t){var r=t.data;return e(null!==r)},o.postMessage(t,[t])}))};function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=new Map,y=function(e,n,u){return v(v({},n),{},{connect:function(t){var r=t.port;r.start();var u=e(r,n),a=o.generateUniqueNumber(x);return x.set(a,(function(){u(),r.close(),x.delete(a)})),{result:a}},disconnect:function(e){var t=e.portId,r=x.get(t);if(void 0===r)throw f(t);return r(),{result:null}},isSupported:function(){var e=t(r.mark((function e(){var t,n,o;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,p();case 1:if(!e.sent){e.next=5;break}if(!((t=u())instanceof Promise)){e.next=3;break}return e.next=2,t;case 2:o=e.sent,e.next=4;break;case 3:o=t;case 4:return n=o,e.abrupt("return",{result:n});case 5:return e.abrupt("return",{result:!1});case 6:case"end":return e.stop()}}),e)})));function n(){return e.apply(this,arguments)}return n}()})},b=function(e,t){var r=y(b,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0}),n=l(e,r);return e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}};e.createWorker=b,e.isSupported=p}(t,r(293),r(756),r(693),r(389))},633:(e,t,r)=>{var n=r(172),o=r(993),u=r(869),a=r(887),i=r(791),s=r(373),c=r(579);function f(){"use strict";var t=o(),r=t.m(f),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function v(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,d[e],t)},delegateYield:function(e,o,u){return t.resultName=o,r(n.d,c(e),u)},finish:function(e){return r(n.f,e)}},r=function(e,r,o){n.p=t.prev,n.n=t.next;try{return e(r,o)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=f=function(){return{wrap:function(e,r,n,o){return t.w(v(e),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new n(e,t)},AsyncIterator:i,async:function(e,t,r,n,o){return(p(t)?a:u)(v(e),t,r,n,o)},keys:s,values:c}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=f,e.exports.__esModule=!0,e.exports.default=e.exports},693:(e,t,r)=>{var n=r(736);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},715:(e,t,r)=>{var n=r(987),o=r(156),u=r(122),a=r(752);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},736:(e,t,r)=>{var n=r(738).default,o=r(45);e.exports=function(e){var t=o(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},752:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,r)=>{var n=r(633)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},791:(e,t,r)=>{var n=r(172),o=r(546);e.exports=function e(t,r){function u(e,o,a,i){try{var s=t[e](o),c=s.value;return c instanceof n?r.resolve(c.v).then((function(e){u("next",e,a,i)}),(function(e){u("throw",e,a,i)})):r.resolve(c).then((function(e){s.value=e,a(s)}),(function(e){return u("throw",e,a,i)}))}catch(e){i(e)}}var a;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),o(this,"_invoke",(function(e,t,n){function o(){return new r((function(t,r){u(e,n,t,r)}))}return a=a?a.then(o,o):o()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports},869:(e,t,r)=>{var n=r(887);e.exports=function(e,t,r,o,u){var a=n(e,t,r,o,u);return a.next().then((function(e){return e.done?e.value:a.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports},887:(e,t,r)=>{var n=r(993),o=r(791);e.exports=function(e,t,r,u,a){return new o(n().w(e,t,r,u),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},987:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(546);function o(){var t,r,u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",i=u.toStringTag||"@@toStringTag";function s(e,o,u,a){var i=o&&o.prototype instanceof f?o:f,s=Object.create(i.prototype);return n(s,"_invoke",function(e,n,o){var u,a,i,s=0,f=o||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return u=e,a=0,i=t,p.n=r,c}};function d(e,n){for(a=e,i=n,r=0;!l&&s&&!o&&r<f.length;r++){var o,u=f[r],d=p.p,v=u[2];e>3?(o=v===n)&&(i=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=t):u[0]<=d&&((o=e<2&&d<u[1])?(a=0,p.v=n,p.n=u[1]):d<v&&(o=e<3||u[0]>n||n>v)&&(u[4]=e,u[5]=n,p.n=v,a=0))}if(o||e>1)return c;throw l=!0,n}return function(o,f,v){if(s>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,v),a=f,i=v;(r=a<2?t:i)||!l;){u||(a?a<3?(a>1&&(p.n=-1),d(a,i)):p.n=i:p.v=i);try{if(s=2,u){if(a||(o="next"),r=u[o]){if(!(r=r.call(u,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=u.return)&&r.call(u),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=t}else if((r=(l=p.n<0)?i:e.call(n,p))!==c)break}catch(e){u=t,a=1,i=e}finally{s=1}}return{value:r,done:l}}}(e,u,a),!0),s}var c={};function f(){}function l(){}function p(){}r=Object.getPrototypeOf;var d=[][a]?r(r([][a]())):(n(r={},a,(function(){return this})),r),v=p.prototype=f.prototype=Object.create(d);function x(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=p,n(v,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,i,"GeneratorFunction"),n(v),n(v,i,"Generator"),n(v,a,(function(){return this})),n(v,"toString",(function(){return"[object Generator]"})),(e.exports=o=function(){return{w:s,m:x}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,i=n(a.load,o),l=function(h){return i().clearInterval(h)},s=function(h){return i().clearTimeout(h)},c=function(){var h;return(h=i()).setInterval.apply(h,arguments)},d=function(){var h;return(h=i()).setTimeout.apply(h,arguments)};r.clearInterval=l,r.clearTimeout=s,r.setInterval=c,r.setTimeout=d})}),Pr=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.isReactNativeBrowser=u.isWebWorker=void 0;var t=()=>{var o;return typeof window<"u"?typeof navigator<"u"&&((o=navigator.userAgent)==null?void 0:o.toLowerCase().indexOf(" electron/"))>-1&&(ze!=null&&ze.versions)?!Object.prototype.hasOwnProperty.call(ze.versions,"electron"):typeof window.document<"u":!1},r=()=>{var o,i;return!!(typeof self=="object"&&((i=(o=self==null?void 0:self.constructor)==null?void 0:o.name)!=null&&i.includes("WorkerGlobalScope"))&&typeof Deno>"u")},a=()=>typeof navigator<"u"&&navigator.product==="ReactNative",n=t()||r()||a();u.isWebWorker=r(),u.isReactNativeBrowser=a(),u.default=n}),s0=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(c,d,h,m){m===void 0&&(m=h);var p=Object.getOwnPropertyDescriptor(d,h);(!p||("get"in p?!d.__esModule:p.writable||p.configurable))&&(p={enumerable:!0,get:function(){return d[h]}}),Object.defineProperty(c,m,p)}:function(c,d,h,m){m===void 0&&(m=h),c[m]=d[h]}),r=u&&u.__setModuleDefault||(Object.create?function(c,d){Object.defineProperty(c,"default",{enumerable:!0,value:d})}:function(c,d){c.default=d}),a=u&&u.__importStar||function(){var c=function(d){return c=Object.getOwnPropertyNames||function(h){var m=[];for(var p in h)Object.prototype.hasOwnProperty.call(h,p)&&(m[m.length]=p);return m},c(d)};return function(d){if(d&&d.__esModule)return d;var h={};if(d!=null)for(var m=c(d),p=0;p<m.length;p++)m[p]!=="default"&&t(h,d,m[p]);return r(h,d),h}}();Object.defineProperty(u,"__esModule",{value:!0});var n=a0(),o=a(Pr()),i={set:n.setInterval,clear:n.clearInterval},l={set:(c,d)=>setInterval(c,d),clear:c=>clearInterval(c)},s=c=>{switch(c){case"native":return l;case"worker":return i;case"auto":default:return o.default&&!o.isWebWorker&&!o.isReactNativeBrowser?i:l}};u.default=s}),us=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(u,"__esModule",{value:!0});var r=t(s0()),a=class{constructor(n,o){ve(this,"_keepalive");ve(this,"timerId");ve(this,"timer");ve(this,"destroyed",!1);ve(this,"counter");ve(this,"client");ve(this,"_keepaliveTimeoutTimestamp");ve(this,"_intervalEvery");this.client=n,this.timer=typeof o=="object"&&"set"in o&&"clear"in o?o:(0,r.default)(o),this.setKeepalive(n.options.keepalive)}get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};u.default=a}),Ln=_e(u=>{var v;ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(V,T,C,A){A===void 0&&(A=C);var I=Object.getOwnPropertyDescriptor(T,C);(!I||("get"in I?!T.__esModule:I.writable||I.configurable))&&(I={enumerable:!0,get:function(){return T[C]}}),Object.defineProperty(V,A,I)}:function(V,T,C,A){A===void 0&&(A=C),V[A]=T[C]}),r=u&&u.__setModuleDefault||(Object.create?function(V,T){Object.defineProperty(V,"default",{enumerable:!0,value:T})}:function(V,T){V.default=T}),a=u&&u.__importStar||function(){var V=function(T){return V=Object.getOwnPropertyNames||function(C){var A=[];for(var I in C)Object.prototype.hasOwnProperty.call(C,I)&&(A[A.length]=I);return A},V(T)};return function(T){if(T&&T.__esModule)return T;var C={};if(T!=null)for(var A=V(T),I=0;I<A.length;I++)A[I]!=="default"&&t(C,T,A[I]);return r(C,T),C}}(),n=u&&u.__importDefault||function(V){return V&&V.__esModule?V:{default:V}};Object.defineProperty(u,"__esModule",{value:!0});var o=n(gy()),i=Jt(),l=n(by()),s=n(xt()),c=a(wy()),d=n(Ja()),h=n(Ly()),m=n(ns()),p=n(Uy()),f=ar(),w=Fy(),N=n(us()),S=a(Pr()),b=globalThis.setImmediate||((...V)=>{let T=V.shift();(0,f.nextTick)(()=>{T(...V)})}),E={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,subscribeBatchSize:null,writeCache:!0,timerVariant:"auto"},k=(v=class extends w.TypedEventEmitter{constructor(C,A){super();ve(this,"connected");ve(this,"disconnecting");ve(this,"disconnected");ve(this,"reconnecting");ve(this,"incomingStore");ve(this,"outgoingStore");ve(this,"options");ve(this,"queueQoSZero");ve(this,"_reconnectCount");ve(this,"log");ve(this,"messageIdProvider");ve(this,"outgoing");ve(this,"messageIdToTopic");ve(this,"noop");ve(this,"keepaliveManager");ve(this,"stream");ve(this,"queue");ve(this,"streamBuilder");ve(this,"_resubscribeTopics");ve(this,"connackTimer");ve(this,"reconnectTimer");ve(this,"_storeProcessing");ve(this,"_packetIdsDuringStoreProcessing");ve(this,"_storeProcessingQueue");ve(this,"_firstConnection");ve(this,"topicAliasRecv");ve(this,"topicAliasSend");ve(this,"_deferredReconnect");ve(this,"connackPacket");this.options=A||{};for(let I in E)typeof this.options[I]>"u"?this.options[I]=E[I]:this.options[I]=A[I];this.log=this.options.log||(0,s.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",v.VERSION),S.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",S.default?"browser":"node"),this.log("MqttClient :: options.protocol",A.protocol),this.log("MqttClient :: options.protocolVersion",A.protocolVersion),this.log("MqttClient :: options.username",A.username),this.log("MqttClient :: options.keepalive",A.keepalive),this.log("MqttClient :: options.reconnectPeriod",A.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",A.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",A.properties?A.properties.topicAliasMaximum:void 0),this.options.clientId=typeof A.clientId=="string"?A.clientId:v.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=A.protocolVersion===5&&A.customHandleAcks?A.customHandleAcks:(...I)=>{I[3](null,0)},this.options.writeCache||(o.default.writeToStream.cacheNumbers=!1),this.streamBuilder=C,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new m.default:this.options.messageIdProvider,this.outgoingStore=A.outgoingStore||new d.default,this.incomingStore=A.incomingStore||new d.default,this.queueQoSZero=A.queueQoSZero===void 0?!0:A.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,A.properties&&A.properties.topicAliasMaximum>0&&(A.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new p.default(A.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:I}=this,$=()=>{let x=I.shift();this.log("deliver :: entry %o",x);let U=null;if(!x){this._resubscribe();return}U=x.packet,this.log("deliver :: call _sendPacket for %o",U);let Q=!0;U.messageId&&U.messageId!==0&&(this.messageIdProvider.register(U.messageId)||(Q=!1)),Q?this._sendPacket(U,W=>{x.cb&&x.cb(W),$()}):(this.log("messageId: %d has already used. The message is skipped and removed.",U.messageId),$())};this.log("connect :: sending queued packets"),$()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}handleAuth(C,A){A()}handleMessage(C,A){A()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var pe;let C=new i.Writable,A=o.default.parser(this.options),I=null,$=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),A.on("packet",ne=>{this.log("parser :: on packet push to packets array."),$.push(ne)});let x=()=>{this.log("work :: getting next packet in queue");let ne=$.shift();if(ne)this.log("work :: packet pulled from queue"),(0,h.default)(this,ne,U);else{this.log("work :: no packets in queue");let re=I;I=null,this.log("work :: done flag is %s",!!re),re&&re()}},U=()=>{if($.length)(0,f.nextTick)(x);else{let ne=I;I=null,ne()}};C._write=(ne,re,de)=>{I=de,this.log("writable stream :: parsing buffer"),A.parse(ne),x()};let Q=ne=>{this.log("streamErrorHandler :: error",ne.message),ne.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",ne)):this.noop(ne)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(C),this.stream.on("error",Q),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let W={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(W.will={...this.options.will,payload:(pe=this.options.will)==null?void 0:pe.payload}),this.topicAliasRecv&&(W.properties||(W.properties={}),this.topicAliasRecv&&(W.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(W),A.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let ne={cmd:"auth",reasonCode:0,...this.options.authPacket};this._writePacket(ne)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(C,A,I,$){this.log("publish :: message `%s` to topic `%s`",A,C);let{options:x}=this;typeof I=="function"&&($=I,I=null),I=I||{},I={qos:0,retain:!1,dup:!1,...I};let{qos:U,retain:Q,dup:W,properties:pe,cbStorePut:ne}=I;if(this._checkDisconnecting($))return this;let re=()=>{let de=0;if((U===1||U===2)&&(de=this._nextId(),de===null))return this.log("No messageId left"),!1;let Z={cmd:"publish",topic:C,payload:A,qos:U,retain:Q,messageId:de,dup:W};switch(x.protocolVersion===5&&(Z.properties=pe),this.log("publish :: qos",U),U){case 1:case 2:this.outgoing[Z.messageId]={volatile:!1,cb:$||this.noop},this.log("MqttClient:publish: packet cmd: %s",Z.cmd),this._sendPacket(Z,void 0,ne);break;default:this.log("MqttClient:publish: packet cmd: %s",Z.cmd),this._sendPacket(Z,$,ne);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!re())&&this._storeProcessingQueue.push({invoke:re,cbStorePut:I.cbStorePut,callback:$}),this}publishAsync(C,A,I){return new Promise(($,x)=>{this.publish(C,A,I,(U,Q)=>{U?x(U):$(Q)})})}subscribe(C,A,I){let $=this.options.protocolVersion;typeof A=="function"&&(I=A),I=I||this.noop;let x=!1,U=[];typeof C=="string"?(C=[C],U=C):Array.isArray(C)?U=C:typeof C=="object"&&(x=C.resubscribe,delete C.resubscribe,U=Object.keys(C));let Q=c.validateTopics(U);if(Q!==null)return b(I,new Error(`Invalid topic ${Q}`)),this;if(this._checkDisconnecting(I))return this.log("subscribe: discconecting true"),this;let W={qos:0};$===5&&(W.nl=!1,W.rap=!1,W.rh=0),A={...W,...A};let{properties:pe}=A,ne=[],re=(se,R)=>{if(R=R||A,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,se)||this._resubscribeTopics[se].qos<R.qos||x){let ee={topic:se,qos:R.qos};$===5&&(ee.nl=R.nl,ee.rap=R.rap,ee.rh=R.rh,ee.properties=pe),this.log("subscribe: pushing topic `%s` and qos `%s` to subs list",ee.topic,ee.qos),ne.push(ee)}};if(Array.isArray(C)?C.forEach(se=>{this.log("subscribe: array topic %s",se),re(se)}):Object.keys(C).forEach(se=>{this.log("subscribe: object topic %s, %o",se,C[se]),re(se,C[se])}),!ne.length)return I(null,[]),this;let de=(se,R)=>{let ee={cmd:"subscribe",subscriptions:se,messageId:R};if(pe&&(ee.properties=pe),this.options.resubscribe){this.log("subscribe :: resubscribe true");let Y=[];se.forEach(Se=>{if(this.options.reconnectPeriod>0){let te={qos:Se.qos};$===5&&(te.nl=Se.nl||!1,te.rap=Se.rap||!1,te.rh=Se.rh||0,te.properties=Se.properties),this._resubscribeTopics[Se.topic]=te,Y.push(Se.topic)}}),this.messageIdToTopic[ee.messageId]=Y}let he=new Promise((Y,Se)=>{this.outgoing[ee.messageId]={volatile:!0,cb(te,q){if(!te){let{granted:le}=q;for(let J=0;J<le.length;J+=1)se[J].qos=le[J]}te?Se(new f.ErrorWithSubackPacket(te.message,q)):Y(q)}}});return this.log("subscribe :: call _sendPacket"),this._sendPacket(ee),he},Z=()=>{let se=this.options.subscribeBatchSize??ne.length,R=[];for(let ee=0;ee<ne.length;ee+=se){let he=ne.slice(ee,ee+se),Y=this._nextId();if(Y===null)return this.log("No messageId left"),!1;R.push(de(he,Y))}return Promise.all(R).then(ee=>{I(null,ne,ee.at(-1))}).catch(ee=>{I(ee,ne,ee.packet)}),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!Z())&&this._storeProcessingQueue.push({invoke:Z,callback:I}),this}subscribeAsync(C,A){return new Promise((I,$)=>{this.subscribe(C,A,(x,U)=>{x?$(x):I(U)})})}unsubscribe(C,A,I){typeof C=="string"&&(C=[C]),typeof A=="function"&&(I=A),I=I||this.noop;let $=c.validateTopics(C);if($!==null)return b(I,new Error(`Invalid topic ${$}`)),this;if(this._checkDisconnecting(I))return this;let x=()=>{let U=this._nextId();if(U===null)return this.log("No messageId left"),!1;let Q={cmd:"unsubscribe",messageId:U,unsubscriptions:[]};return typeof C=="string"?Q.unsubscriptions=[C]:Array.isArray(C)&&(Q.unsubscriptions=C),this.options.resubscribe&&Q.unsubscriptions.forEach(W=>{delete this._resubscribeTopics[W]}),typeof A=="object"&&A.properties&&(Q.properties=A.properties),this.outgoing[Q.messageId]={volatile:!0,cb:I},this.log("unsubscribe: call _sendPacket"),this._sendPacket(Q),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!x())&&this._storeProcessingQueue.push({invoke:x,callback:I}),this}unsubscribeAsync(C,A){return new Promise((I,$)=>{this.unsubscribe(C,A,(x,U)=>{x?$(x):I(U)})})}end(C,A,I){this.log("end :: (%s)",this.options.clientId),(C==null||typeof C!="boolean")&&(I=I||A,A=C,C=!1),typeof A!="object"&&(I=I||A,A=null),this.log("end :: cb? %s",!!I),(!I||typeof I!="function")&&(I=this.noop);let $=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(U=>{this.outgoingStore.close(Q=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),I){let W=U||Q;this.log("end :: closeStores: invoking callback with args"),I(W)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},x=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,C),this._cleanUp(C,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,f.nextTick)($)},A)};return this.disconnecting?(I(),this):(this._clearReconnect(),this.disconnecting=!0,!C&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,x,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),x()),this)}endAsync(C,A){return new Promise((I,$)=>{this.end(C,A,x=>{x?$(x):I()})})}removeOutgoingMessage(C){if(this.outgoing[C]){let{cb:A}=this.outgoing[C];this._removeOutgoingAndStoreMessage(C,()=>{A(new Error("Message removed"))})}return this}reconnect(C){this.log("client reconnect");let A=()=>{C?(this.options.incomingStore=C.incomingStore,this.options.outgoingStore=C.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new d.default,this.outgoingStore=this.options.outgoingStore||new d.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=A:A(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(C=>{this.outgoing[C].volatile&&typeof this.outgoing[C].cb=="function"&&(this.outgoing[C].cb(new Error("Connection closed")),delete this.outgoing[C])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(C=>{typeof this.outgoing[C].cb=="function"&&(this.outgoing[C].cb(new Error("Connection closed")),delete this.outgoing[C])}))}_removeTopicAliasAndRecoverTopicName(C){let A;C.properties&&(A=C.properties.topicAlias);let I=C.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",A,I),I.length===0){if(typeof A>"u")return new Error("Unregistered Topic Alias");if(I=this.topicAliasSend.getTopicByAlias(A),typeof I>"u")return new Error("Unregistered Topic Alias");C.topic=I}A&&delete C.properties.topicAlias}_checkDisconnecting(C){return this.disconnecting&&(C&&C!==this.noop?C(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(C,A,I={}){if(A&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",A)),this.log("_cleanUp :: forced? %s",C),C)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let $={cmd:"disconnect",...I};this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket($,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),b(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),A&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",A),A())}_storeAndSend(C,A,I){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",C.cmd);let $=C,x;if($.cmd==="publish"&&($=(0,l.default)(C),x=this._removeTopicAliasAndRecoverTopicName($),x))return A&&A(x);this.outgoingStore.put($,U=>{if(U)return A&&A(U);I(),this._writePacket(C,A)})}_applyTopicAlias(C){if(this.options.protocolVersion===5&&C.cmd==="publish"){let A;C.properties&&(A=C.properties.topicAlias);let I=C.topic.toString();if(this.topicAliasSend)if(A){if(I.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",I,A),!this.topicAliasSend.put(I,A)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,A),new Error("Sending Topic Alias out of range")}else I.length!==0&&(this.options.autoAssignTopicAlias?(A=this.topicAliasSend.getAliasByTopic(I),A?(C.topic="",C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",I,A)):(A=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(I,A),C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",I,A))):this.options.autoUseTopicAlias&&(A=this.topicAliasSend.getAliasByTopic(I),A&&(C.topic="",C.properties={...C.properties,topicAlias:A},this.log("applyTopicAlias :: auto use topic: %s - alias: %d",I,A))));else if(A)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,A),new Error("Sending Topic Alias out of range")}}_noop(C){this.log("noop ::",C)}_writePacket(C,A){this.log("_writePacket :: packet: %O",C),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",C),this.log("_writePacket :: writing to stream");let I=o.default.writeToStream(C,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",I),!I&&A&&A!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",A)):A&&(this.log("_writePacket :: invoking cb"),A())}_sendPacket(C,A,I,$){this.log("_sendPacket :: (%s) :: start",this.options.clientId),I=I||this.noop,A=A||this.noop;let x=this._applyTopicAlias(C);if(x){A(x);return}if(!this.connected){if(C.cmd==="auth"){this._writePacket(C,A);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(C,A,I);return}if($){this._writePacket(C,A);return}switch(C.cmd){case"publish":break;case"pubrel":this._storeAndSend(C,A,I);return;default:this._writePacket(C,A);return}switch(C.qos){case 2:case 1:this._storeAndSend(C,A,I);break;case 0:default:this._writePacket(C,A);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(C,A,I){this.log("_storePacket :: packet: %o",C),this.log("_storePacket :: cb? %s",!!A),I=I||this.noop;let $=C;if($.cmd==="publish"){$=(0,l.default)(C);let U=this._removeTopicAliasAndRecoverTopicName($);if(U)return A&&A(U)}let x=$.qos||0;x===0&&this.queueQoSZero||$.cmd!=="publish"?this.queue.push({packet:$,cb:A}):x>0?(A=this.outgoing[$.messageId]?this.outgoing[$.messageId].cb:null,this.outgoingStore.put($,U=>{if(U)return A&&A(U);I()})):A&&A(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new N.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(C=!1){this.keepaliveManager&&this.options.keepalive&&(C||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let C=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&C.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let A=0;A<C.length;A++){let I={};I[C[A]]=this._resubscribeTopics[C[A]],I.resubscribe=!0,this.subscribe(I,{properties:I[C[A]].properties})}}else this._resubscribeTopics.resubscribe=!0,this.subscribe(this._resubscribeTopics);else this._resubscribeTopics={};this._firstConnection=!1}_onConnect(C){if(this.disconnected){this.emit("connect",C);return}this.connackPacket=C,this.messageIdProvider.clear(),this._setupKeepaliveManager(),this.connected=!0;let A=()=>{let I=this.outgoingStore.createStream(),$=()=>{I.destroy(),I=null,this._flushStoreProcessingQueue(),x()},x=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",$),I.on("error",Q=>{x(),this._flushStoreProcessingQueue(),this.removeListener("close",$),this.emit("error",Q)});let U=()=>{if(!I)return;let Q=I.read(1),W;if(!Q){I.once("readable",U);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[Q.messageId]){U();return}!this.disconnecting&&!this.reconnectTimer?(W=this.outgoing[Q.messageId]?this.outgoing[Q.messageId].cb:null,this.outgoing[Q.messageId]={volatile:!1,cb(pe,ne){W&&W(pe,ne),U()}},this._packetIdsDuringStoreProcessing[Q.messageId]=!0,this.messageIdProvider.register(Q.messageId)?this._sendPacket(Q,void 0,void 0,!0):this.log("messageId: %d has already used.",Q.messageId)):I.destroy&&I.destroy()};I.on("end",()=>{let Q=!0;for(let W in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[W]){Q=!1;break}this.removeListener("close",$),Q?(x(),this._invokeAllStoreProcessingQueue(),this.emit("connect",C)):A()}),U()};A()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let C=this._storeProcessingQueue[0];if(C&&C.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let C of this._storeProcessingQueue)C.cbStorePut&&C.cbStorePut(new Error("Connection closed")),C.callback&&C.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(C,A){delete this.outgoing[C],this.outgoingStore.del({messageId:C},(I,$)=>{A(I,$),this.messageIdProvider.deallocate(C),this._invokeStoreProcessingQueue()})}},ve(v,"VERSION",f.MQTTJS_VERSION),v);u.default=k}),l0=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=os(),r=class{constructor(){ve(this,"numberAllocator");ve(this,"lastId");this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(a){return this.numberAllocator.use(a)}deallocate(a){this.numberAllocator.free(a)}clear(){this.numberAllocator.clear()}};u.default=r});function c0(){if(Un)return Or;Un=!0;let u=2147483647,t=36,r=1,a=26,n=38,o=700,i=72,l=128,s="-",c=/^xn--/,d=/[^\0-\x7F]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,m={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},p=t-r,f=Math.floor,w=String.fromCharCode;function N(I){throw new RangeError(m[I])}function S(I,$){let x=[],U=I.length;for(;U--;)x[U]=$(I[U]);return x}function b(I,$){let x=I.split("@"),U="";x.length>1&&(U=x[0]+"@",I=x[1]),I=I.replace(h,".");let Q=I.split("."),W=S(Q,$).join(".");return U+W}function E(I){let $=[],x=0,U=I.length;for(;x<U;){let Q=I.charCodeAt(x++);if(Q>=55296&&Q<=56319&&x<U){let W=I.charCodeAt(x++);(W&64512)==56320?$.push(((Q&1023)<<10)+(W&1023)+65536):($.push(Q),x--)}else $.push(Q)}return $}let k=I=>String.fromCodePoint(...I),v=function(I){return I>=48&&I<58?26+(I-48):I>=65&&I<91?I-65:I>=97&&I<123?I-97:t},V=function(I,$){return I+22+75*(I<26)-(($!=0)<<5)},T=function(I,$,x){let U=0;for(I=x?f(I/o):I>>1,I+=f(I/$);I>p*a>>1;U+=t)I=f(I/p);return f(U+(p+1)*I/(I+n))},C=function(I){let $=[],x=I.length,U=0,Q=l,W=i,pe=I.lastIndexOf(s);pe<0&&(pe=0);for(let ne=0;ne<pe;++ne)I.charCodeAt(ne)>=128&&N("not-basic"),$.push(I.charCodeAt(ne));for(let ne=pe>0?pe+1:0;ne<x;){let re=U;for(let Z=1,se=t;;se+=t){ne>=x&&N("invalid-input");let R=v(I.charCodeAt(ne++));R>=t&&N("invalid-input"),R>f((u-U)/Z)&&N("overflow"),U+=R*Z;let ee=se<=W?r:se>=W+a?a:se-W;if(R<ee)break;let he=t-ee;Z>f(u/he)&&N("overflow"),Z*=he}let de=$.length+1;W=T(U-re,de,re==0),f(U/de)>u-Q&&N("overflow"),Q+=f(U/de),U%=de,$.splice(U++,0,Q)}return String.fromCodePoint(...$)},A=function(I){let $=[];I=E(I);let x=I.length,U=l,Q=0,W=i;for(let re of I)re<128&&$.push(w(re));let pe=$.length,ne=pe;for(pe&&$.push(s);ne<x;){let re=u;for(let Z of I)Z>=U&&Z<re&&(re=Z);let de=ne+1;re-U>f((u-Q)/de)&&N("overflow"),Q+=(re-U)*de,U=re;for(let Z of I)if(Z<U&&++Q>u&&N("overflow"),Z===U){let se=Q;for(let R=t;;R+=t){let ee=R<=W?r:R>=W+a?a:R-W;if(se<ee)break;let he=se-ee,Y=t-ee;$.push(w(V(ee+he%Y,0))),se=f(he/Y)}$.push(w(V(se,0))),W=T(Q,de,ne===pe),Q=0,++ne}++Q,++U}return $.join("")};return Or={version:"2.3.1",ucs2:{decode:E,encode:k},decode:C,encode:A,toASCII:function(I){return b(I,function($){return d.test($)?"xn--"+A($):$})},toUnicode:function(I){return b(I,function($){return c.test($)?C($.slice(4).toLowerCase()):$})}},Or}var Or,Un,Ot,d0=dt(()=>{ye(),we(),be(),Or={},Un=!1,Ot=c0(),Ot.decode,Ot.encode,Ot.toASCII,Ot.toUnicode,Ot.ucs2,Ot.version});function u0(){return qn||(qn=!0,Wn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var u={},t=Symbol("test"),r=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var a=42;u[t]=a;for(t in u)return!1;if(typeof Object.keys=="function"&&Object.keys(u).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(u).length!==0)return!1;var n=Object.getOwnPropertySymbols(u);if(n.length!==1||n[0]!==t||!Object.prototype.propertyIsEnumerable.call(u,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(u,t);if(o.value!==a||o.enumerable!==!0)return!1}return!0}),Wn}function f0(){return Hn||(Hn=!0,Gn=Error),Gn}function p0(){return Yn||(Yn=!0,Kn=EvalError),Kn}function h0(){return Jn||(Jn=!0,Qn=RangeError),Qn}function m0(){return Zn||(Zn=!0,Xn=ReferenceError),Xn}function fs(){return ti||(ti=!0,ei=SyntaxError),ei}function br(){return oi||(oi=!0,ri=TypeError),ri}function g0(){return ii||(ii=!0,ni=URIError),ni}function y0(){if(ai)return Mr;ai=!0;var u=typeof Symbol<"u"&&Symbol,t=u0();return Mr=function(){return typeof u!="function"||typeof Symbol!="function"||typeof u("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},Mr}function b0(){if(si)return Rr;si=!0;var u={__proto__:null,foo:{}},t=Object;return Rr=function(){return{__proto__:u}.foo===u.foo&&!(u instanceof t)},Rr}function w0(){if(li)return jr;li=!0;var u="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,a="[object Function]",n=function(l,s){for(var c=[],d=0;d<l.length;d+=1)c[d]=l[d];for(var h=0;h<s.length;h+=1)c[h+l.length]=s[h];return c},o=function(l,s){for(var c=[],d=s,h=0;d<l.length;d+=1,h+=1)c[h]=l[d];return c},i=function(l,s){for(var c="",d=0;d<l.length;d+=1)c+=l[d],d+1<l.length&&(c+=s);return c};return jr=function(l){var s=this;if(typeof s!="function"||t.apply(s)!==a)throw new TypeError(u+s);for(var c=o(arguments,1),d,h=function(){if(this instanceof d){var N=s.apply(this,n(c,arguments));return Object(N)===N?N:this}return s.apply(l,n(c,arguments))},m=r(0,s.length-c.length),p=[],f=0;f<m;f++)p[f]="$"+f;if(d=Function("binder","return function ("+i(p,",")+"){ return binder.apply(this,arguments); }")(h),s.prototype){var w=function(){};w.prototype=s.prototype,d.prototype=new w,w.prototype=null}return d},jr}function Fn(){if(ci)return Lr;ci=!0;var u=w0();return Lr=Function.prototype.bind||u,Lr}function E0(){if(di)return Ur;di=!0;var u=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=Fn();return Ur=r.call(u,t),Ur}function sr(){if(ui)return Fr;ui=!0;var u,t=f0(),r=p0(),a=h0(),n=m0(),o=fs(),i=br(),l=g0(),s=Function,c=function(ne){try{return s('"use strict"; return ('+ne+").constructor;")()}catch{}},d=Object.getOwnPropertyDescriptor;if(d)try{d({},"")}catch{d=null}var h=function(){throw new i},m=d?function(){try{return arguments.callee,h}catch{try{return d(arguments,"callee").get}catch{return h}}}():h,p=y0()(),f=b0()(),w=Object.getPrototypeOf||(f?function(ne){return ne.__proto__}:null),N={},S=typeof Uint8Array>"u"||!w?u:w(Uint8Array),b={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?u:ArrayBuffer,"%ArrayIteratorPrototype%":p&&w?w([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":N,"%AsyncGenerator%":N,"%AsyncGeneratorFunction%":N,"%AsyncIteratorPrototype%":N,"%Atomics%":typeof Atomics>"u"?u:Atomics,"%BigInt%":typeof BigInt>"u"?u:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?u:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":t,"%eval%":eval,"%EvalError%":r,"%Float32Array%":typeof Float32Array>"u"?u:Float32Array,"%Float64Array%":typeof Float64Array>"u"?u:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?u:FinalizationRegistry,"%Function%":s,"%GeneratorFunction%":N,"%Int8Array%":typeof Int8Array>"u"?u:Int8Array,"%Int16Array%":typeof Int16Array>"u"?u:Int16Array,"%Int32Array%":typeof Int32Array>"u"?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":p&&w?w(w([][Symbol.iterator]())):u,"%JSON%":typeof JSON=="object"?JSON:u,"%Map%":typeof Map>"u"?u:Map,"%MapIteratorPrototype%":typeof Map>"u"||!p||!w?u:w(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?u:Promise,"%Proxy%":typeof Proxy>"u"?u:Proxy,"%RangeError%":a,"%ReferenceError%":n,"%Reflect%":typeof Reflect>"u"?u:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?u:Set,"%SetIteratorPrototype%":typeof Set>"u"||!p||!w?u:w(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":p&&w?w(""[Symbol.iterator]()):u,"%Symbol%":p?Symbol:u,"%SyntaxError%":o,"%ThrowTypeError%":m,"%TypedArray%":S,"%TypeError%":i,"%Uint8Array%":typeof Uint8Array>"u"?u:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?u:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?u:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?u:Uint32Array,"%URIError%":l,"%WeakMap%":typeof WeakMap>"u"?u:WeakMap,"%WeakRef%":typeof WeakRef>"u"?u:WeakRef,"%WeakSet%":typeof WeakSet>"u"?u:WeakSet};if(w)try{null.error}catch(ne){var E=w(w(ne));b["%Error.prototype%"]=E}var k=function ne(re){var de;if(re==="%AsyncFunction%")de=c("async function () {}");else if(re==="%GeneratorFunction%")de=c("function* () {}");else if(re==="%AsyncGeneratorFunction%")de=c("async function* () {}");else if(re==="%AsyncGenerator%"){var Z=ne("%AsyncGeneratorFunction%");Z&&(de=Z.prototype)}else if(re==="%AsyncIteratorPrototype%"){var se=ne("%AsyncGenerator%");se&&w&&(de=w(se.prototype))}return b[re]=de,de},v={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},V=Fn(),T=E0(),C=V.call(Function.call,Array.prototype.concat),A=V.call(Function.apply,Array.prototype.splice),I=V.call(Function.call,String.prototype.replace),$=V.call(Function.call,String.prototype.slice),x=V.call(Function.call,RegExp.prototype.exec),U=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Q=/\\(\\)?/g,W=function(ne){var re=$(ne,0,1),de=$(ne,-1);if(re==="%"&&de!=="%")throw new o("invalid intrinsic syntax, expected closing `%`");if(de==="%"&&re!=="%")throw new o("invalid intrinsic syntax, expected opening `%`");var Z=[];return I(ne,U,function(se,R,ee,he){Z[Z.length]=ee?I(he,Q,"$1"):R||se}),Z},pe=function(ne,re){var de=ne,Z;if(T(v,de)&&(Z=v[de],de="%"+Z[0]+"%"),T(b,de)){var se=b[de];if(se===N&&(se=k(de)),typeof se>"u"&&!re)throw new i("intrinsic "+ne+" exists, but is not available. Please file an issue!");return{alias:Z,name:de,value:se}}throw new o("intrinsic "+ne+" does not exist!")};return Fr=function(ne,re){if(typeof ne!="string"||ne.length===0)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new i('"allowMissing" argument must be a boolean');if(x(/^%?[^%]*%?$/,ne)===null)throw new o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var de=W(ne),Z=de.length>0?de[0]:"",se=pe("%"+Z+"%",re),R=se.name,ee=se.value,he=!1,Y=se.alias;Y&&(Z=Y[0],A(de,C([0,1],Y)));for(var Se=1,te=!0;Se<de.length;Se+=1){var q=de[Se],le=$(q,0,1),J=$(q,-1);if((le==='"'||le==="'"||le==="`"||J==='"'||J==="'"||J==="`")&&le!==J)throw new o("property names with quotes must have matching quotes");if((q==="constructor"||!te)&&(he=!0),Z+="."+q,R="%"+Z+"%",T(b,R))ee=b[R];else if(ee!=null){if(!(q in ee)){if(!re)throw new i("base intrinsic for "+ne+" exists, but the property is not available.");return}if(d&&Se+1>=de.length){var oe=d(ee,q);te=!!oe,te&&"get"in oe&&!("originalValue"in oe.get)?ee=oe.get:ee=ee[q]}else te=T(ee,q),ee=ee[q];te&&!he&&(b[R]=ee)}}return ee},Fr}function zn(){if(fi)return zr;fi=!0;var u=sr(),t=u("%Object.defineProperty%",!0)||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return zr=t,zr}function ps(){if(pi)return Wr;pi=!0;var u=sr(),t=u("%Object.getOwnPropertyDescriptor%",!0);if(t)try{t([],"length")}catch{t=null}return Wr=t,Wr}function v0(){if(hi)return qr;hi=!0;var u=zn(),t=fs(),r=br(),a=ps();return qr=function(n,o,i){if(!n||typeof n!="object"&&typeof n!="function")throw new r("`obj` must be an object or a function`");if(typeof o!="string"&&typeof o!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,d=arguments.length>6?arguments[6]:!1,h=!!a&&a(n,o);if(u)u(n,o,{configurable:c===null&&h?h.configurable:!c,enumerable:l===null&&h?h.enumerable:!l,value:i,writable:s===null&&h?h.writable:!s});else if(d||!l&&!s&&!c)n[o]=i;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},qr}function k0(){if(mi)return Gr;mi=!0;var u=zn(),t=function(){return!!u};return t.hasArrayLengthDefineBug=function(){if(!u)return null;try{return u([],"length",{value:1}).length!==1}catch{return!0}},Gr=t,Gr}function _0(){if(gi)return Hr;gi=!0;var u=sr(),t=v0(),r=k0()(),a=ps(),n=br(),o=u("%Math.floor%");return Hr=function(i,l){if(typeof i!="function")throw new n("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||o(l)!==l)throw new n("`length` must be a positive 32-bit integer");var s=arguments.length>2&&!!arguments[2],c=!0,d=!0;if("length"in i&&a){var h=a(i,"length");h&&!h.configurable&&(c=!1),h&&!h.writable&&(d=!1)}return(c||d||!s)&&(r?t(i,"length",l,!0,!0):t(i,"length",l)),i},Hr}function N0(){if(yi)return lr;yi=!0;var u=Fn(),t=sr(),r=_0(),a=br(),n=t("%Function.prototype.apply%"),o=t("%Function.prototype.call%"),i=t("%Reflect.apply%",!0)||u.call(o,n),l=zn(),s=t("%Math.max%");lr=function(d){if(typeof d!="function")throw new a("a function is required");var h=i(u,o,arguments);return r(h,1+s(0,d.length-(arguments.length-1)),!0)};var c=function(){return i(u,n,arguments)};return l?l(lr,"apply",{value:c}):lr.apply=c,lr}function S0(){if(bi)return Kr;bi=!0;var u=sr(),t=N0(),r=t(u("String.prototype.indexOf"));return Kr=function(a,n){var o=u(a,!!n);return typeof o=="function"&&r(a,".prototype.")>-1?t(o):o},Kr}var Wn,qn,Gn,Hn,Kn,Yn,Qn,Jn,Xn,Zn,ei,ti,ri,oi,ni,ii,Mr,ai,Rr,si,jr,li,Lr,ci,Ur,di,Fr,ui,zr,fi,Wr,pi,qr,hi,Gr,mi,Hr,gi,lr,yi,Kr,bi,x0=dt(()=>{ye(),we(),be(),Wn={},qn=!1,Gn={},Hn=!1,Kn={},Yn=!1,Qn={},Jn=!1,Xn={},Zn=!1,ei={},ti=!1,ri={},oi=!1,ni={},ii=!1,Mr={},ai=!1,Rr={},si=!1,jr={},li=!1,Lr={},ci=!1,Ur={},di=!1,Fr={},ui=!1,zr={},fi=!1,Wr={},pi=!1,qr={},hi=!1,Gr={},mi=!1,Hr={},gi=!1,lr={},yi=!1,Kr={},bi=!1});function wi(u){throw new Error("Node.js process "+u+" is not supported by JSPM core outside of Node.js")}function V0(){!Xt||!Zt||(Xt=!1,Zt.length?bt=Zt.concat(bt):wr=-1,bt.length&&hs())}function hs(){if(!Xt){var u=setTimeout(V0,0);Xt=!0;for(var t=bt.length;t;){for(Zt=bt,bt=[];++wr<t;)Zt&&Zt[wr].run();wr=-1,t=bt.length}Zt=null,Xt=!1,clearTimeout(u)}}function C0(u){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];bt.push(new ms(u,t)),bt.length===1&&!Xt&&setTimeout(hs,0)}function ms(u,t){this.fun=u,this.array=t}function at(){}function I0(u){wi("_linkedBinding")}function A0(u){wi("dlopen")}function T0(){return[]}function $0(){return[]}function B0(u,t){if(!u)throw new Error(t||"assertion error")}function D0(){return!1}function P0(){return It.now()/1e3}function Ei(u){var t=Math.floor((Date.now()-It.now())*.001),r=It.now()*.001,a=Math.floor(r)+t,n=Math.floor(r%1*1e9);return u&&(a=a-u[0],n=n-u[1],n<0&&(a--,n+=Qr)),[a,n]}function Mt(){return ki}function O0(u){return[]}var bt,Xt,Zt,wr,gs,ys,bs,ws,Es,vs,ks,_s,Ns,Ss,xs,Vs,Cs,Is,As,Ts,$s,Bs,Ds,Ps,Os,Yr,Ms,Rs,js,Ls,Us,Fs,zs,Ws,qs,Gs,Hs,Ks,Ys,Qs,Js,Xs,Zs,el,tl,rl,ol,nl,il,al,sl,It,vi,Qr,ll,cl,dl,ul,fl,pl,hl,ml,gl,yl,bl,ki,wl=dt(()=>{ye(),we(),be(),bt=[],Xt=!1,wr=-1,ms.prototype.run=function(){this.fun.apply(null,this.array)},gs="browser",ys="x64",bs="browser",ws={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Es=["/usr/bin/node"],vs=[],ks="v16.8.0",_s={},Ns=function(u,t){console.warn((t?t+": ":"")+u)},Ss=function(u){wi("binding")},xs=function(u){return 0},Vs=function(){return"/"},Cs=function(u){},Is={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},As=at,Ts=[],$s={},Bs=!1,Ds={},Ps=at,Os=at,Yr=function(){return{}},Ms=Yr,Rs=Yr,js=at,Ls=at,Us=at,Fs={},zs={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},Ws=at,qs=at,Gs=at,Hs=at,Ks=at,Ys=at,Qs=at,Js=void 0,Xs=void 0,Zs=void 0,el=at,tl=2,rl=1,ol="/bin/usr/node",nl=9229,il="node",al=[],sl=at,It={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},It.now===void 0&&(vi=Date.now(),It.timing&&It.timing.navigationStart&&(vi=It.timing.navigationStart),It.now=()=>Date.now()-vi),Qr=1e9,Ei.bigint=function(u){var t=Ei(u);return typeof BigInt>"u"?t[0]*Qr+t[1]:BigInt(t[0]*Qr)+BigInt(t[1])},ll=10,cl={},dl=0,ul=Mt,fl=Mt,pl=Mt,hl=Mt,ml=Mt,gl=at,yl=Mt,bl=Mt,ki={version:ks,versions:_s,arch:ys,platform:bs,release:Is,_rawDebug:As,moduleLoadList:Ts,binding:Ss,_linkedBinding:I0,_events:cl,_eventsCount:dl,_maxListeners:ll,on:Mt,addListener:ul,once:fl,off:pl,removeListener:hl,removeAllListeners:ml,emit:gl,prependListener:yl,prependOnceListener:bl,listeners:O0,domain:$s,_exiting:Bs,config:Ds,dlopen:A0,uptime:P0,_getActiveRequests:T0,_getActiveHandles:$0,reallyExit:Ps,_kill:Os,cpuUsage:Yr,resourceUsage:Ms,memoryUsage:Rs,kill:js,exit:Ls,openStdin:Us,allowedNodeEnvironmentFlags:Fs,assert:B0,features:zs,_fatalExceptions:Ws,setUncaughtExceptionCaptureCallback:qs,hasUncaughtExceptionCaptureCallback:D0,emitWarning:Ns,nextTick:C0,_tickCallback:Gs,_debugProcess:Hs,_debugEnd:Ks,_startProfilerIdleNotifier:Ys,_stopProfilerIdleNotifier:Qs,stdout:Js,stdin:Zs,stderr:Xs,abort:el,umask:xs,chdir:Cs,cwd:Vs,env:ws,title:gs,argv:Es,execArgv:vs,pid:tl,ppid:rl,execPath:ol,debugPort:nl,hrtime:Ei,argv0:il,_preload_modules:al,setSourceMapsEnabled:sl}});function M0(){if(_i)return Jr;_i=!0;var u=ki;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function r(o,i){for(var l="",s=0,c=-1,d=0,h,m=0;m<=o.length;++m){if(m<o.length)h=o.charCodeAt(m);else{if(h===47)break;h=47}if(h===47){if(!(c===m-1||d===1))if(c!==m-1&&d===2){if(l.length<2||s!==2||l.charCodeAt(l.length-1)!==46||l.charCodeAt(l.length-2)!==46){if(l.length>2){var p=l.lastIndexOf("/");if(p!==l.length-1){p===-1?(l="",s=0):(l=l.slice(0,p),s=l.length-1-l.lastIndexOf("/")),c=m,d=0;continue}}else if(l.length===2||l.length===1){l="",s=0,c=m,d=0;continue}}i&&(l.length>0?l+="/..":l="..",s=2)}else l.length>0?l+="/"+o.slice(c+1,m):l=o.slice(c+1,m),s=m-c-1;c=m,d=0}else h===46&&d!==-1?++d:d=-1}return l}function a(o,i){var l=i.dir||i.root,s=i.base||(i.name||"")+(i.ext||"");return l?l===i.root?l+s:l+o+s:s}var n={resolve:function(){for(var o="",i=!1,l,s=arguments.length-1;s>=-1&&!i;s--){var c;s>=0?c=arguments[s]:(l===void 0&&(l=u.cwd()),c=l),t(c),c.length!==0&&(o=c+"/"+o,i=c.charCodeAt(0)===47)}return o=r(o,!i),i?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(t(o),o.length===0)return".";var i=o.charCodeAt(0)===47,l=o.charCodeAt(o.length-1)===47;return o=r(o,!i),o.length===0&&!i&&(o="."),o.length>0&&l&&(o+="/"),i?"/"+o:o},isAbsolute:function(o){return t(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,i=0;i<arguments.length;++i){var l=arguments[i];t(l),l.length>0&&(o===void 0?o=l:o+="/"+l)}return o===void 0?".":n.normalize(o)},relative:function(o,i){if(t(o),t(i),o===i||(o=n.resolve(o),i=n.resolve(i),o===i))return"";for(var l=1;l<o.length&&o.charCodeAt(l)===47;++l);for(var s=o.length,c=s-l,d=1;d<i.length&&i.charCodeAt(d)===47;++d);for(var h=i.length,m=h-d,p=c<m?c:m,f=-1,w=0;w<=p;++w){if(w===p){if(m>p){if(i.charCodeAt(d+w)===47)return i.slice(d+w+1);if(w===0)return i.slice(d+w)}else c>p&&(o.charCodeAt(l+w)===47?f=w:w===0&&(f=0));break}var N=o.charCodeAt(l+w),S=i.charCodeAt(d+w);if(N!==S)break;N===47&&(f=w)}var b="";for(w=l+f+1;w<=s;++w)(w===s||o.charCodeAt(w)===47)&&(b.length===0?b+="..":b+="/..");return b.length>0?b+i.slice(d+f):(d+=f,i.charCodeAt(d)===47&&++d,i.slice(d))},_makeLong:function(o){return o},dirname:function(o){if(t(o),o.length===0)return".";for(var i=o.charCodeAt(0),l=i===47,s=-1,c=!0,d=o.length-1;d>=1;--d)if(i=o.charCodeAt(d),i===47){if(!c){s=d;break}}else c=!1;return s===-1?l?"/":".":l&&s===1?"//":o.slice(0,s)},basename:function(o,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');t(o);var l=0,s=-1,c=!0,d;if(i!==void 0&&i.length>0&&i.length<=o.length){if(i.length===o.length&&i===o)return"";var h=i.length-1,m=-1;for(d=o.length-1;d>=0;--d){var p=o.charCodeAt(d);if(p===47){if(!c){l=d+1;break}}else m===-1&&(c=!1,m=d+1),h>=0&&(p===i.charCodeAt(h)?--h===-1&&(s=d):(h=-1,s=m))}return l===s?s=m:s===-1&&(s=o.length),o.slice(l,s)}else{for(d=o.length-1;d>=0;--d)if(o.charCodeAt(d)===47){if(!c){l=d+1;break}}else s===-1&&(c=!1,s=d+1);return s===-1?"":o.slice(l,s)}},extname:function(o){t(o);for(var i=-1,l=0,s=-1,c=!0,d=0,h=o.length-1;h>=0;--h){var m=o.charCodeAt(h);if(m===47){if(!c){l=h+1;break}continue}s===-1&&(c=!1,s=h+1),m===46?i===-1?i=h:d!==1&&(d=1):i!==-1&&(d=-1)}return i===-1||s===-1||d===0||d===1&&i===s-1&&i===l+1?"":o.slice(i,s)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return a("/",o)},parse:function(o){t(o);var i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;var l=o.charCodeAt(0),s=l===47,c;s?(i.root="/",c=1):c=0;for(var d=-1,h=0,m=-1,p=!0,f=o.length-1,w=0;f>=c;--f){if(l=o.charCodeAt(f),l===47){if(!p){h=f+1;break}continue}m===-1&&(p=!1,m=f+1),l===46?d===-1?d=f:w!==1&&(w=1):d!==-1&&(w=-1)}return d===-1||m===-1||w===0||w===1&&d===m-1&&d===h+1?m!==-1&&(h===0&&s?i.base=i.name=o.slice(1,m):i.base=i.name=o.slice(h,m)):(h===0&&s?(i.name=o.slice(1,d),i.base=o.slice(1,m)):(i.name=o.slice(h,d),i.base=o.slice(h,m)),i.ext=o.slice(d,m)),h>0?i.dir=o.slice(0,h-1):s&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Jr=n,Jr}var Jr,_i,Ni,R0=dt(()=>{ye(),we(),be(),wl(),Jr={},_i=!1,Ni=M0()}),El={};rr(El,{URL:()=>Tl,Url:()=>xl,default:()=>st,fileURLToPath:()=>kl,format:()=>Vl,parse:()=>Al,pathToFileURL:()=>_l,resolve:()=>Cl,resolveObject:()=>Il});function j0(){if(xi)return Xr;xi=!0;var u=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,r=u&&t&&typeof t.get=="function"?t.get:null,a=u&&Map.prototype.forEach,n=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&n?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,i=n&&o&&typeof o.get=="function"?o.get:null,l=n&&Set.prototype.forEach,s=typeof WeakMap=="function"&&WeakMap.prototype,c=s?WeakMap.prototype.has:null,d=typeof WeakSet=="function"&&WeakSet.prototype,h=d?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,p=m?WeakRef.prototype.deref:null,f=Boolean.prototype.valueOf,w=Object.prototype.toString,N=Function.prototype.toString,S=String.prototype.match,b=String.prototype.slice,E=String.prototype.replace,k=String.prototype.toUpperCase,v=String.prototype.toLowerCase,V=RegExp.prototype.test,T=Array.prototype.concat,C=Array.prototype.join,A=Array.prototype.slice,I=Math.floor,$=typeof BigInt=="function"?BigInt.prototype.valueOf:null,x=Object.getOwnPropertySymbols,U=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,Q=typeof Symbol=="function"&&typeof Symbol.iterator=="object",W=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===Q||!0)?Symbol.toStringTag:null,pe=Object.prototype.propertyIsEnumerable,ne=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(M){return M.__proto__}:null);function re(M,z){if(M===1/0||M===-1/0||M!==M||M&&M>-1e3&&M<1e3||V.call(/e/,z))return z;var ke=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof M=="number"){var Ce=M<0?-I(-M):I(M);if(Ce!==M){var Te=String(Ce),Oe=b.call(z,Te.length+1);return E.call(Te,ke,"$&_")+"."+E.call(E.call(Oe,/([0-9]{3})/g,"$&_"),/_$/,"")}}return E.call(z,ke,"$&_")}var de=Nl,Z=de.custom,se=oe(Z)?Z:null;Xr=function M(z,ke,Ce,Te){var Oe=ke||{};if(K(Oe,"quoteStyle")&&Oe.quoteStyle!=="single"&&Oe.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(K(Oe,"maxStringLength")&&(typeof Oe.maxStringLength=="number"?Oe.maxStringLength<0&&Oe.maxStringLength!==1/0:Oe.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Xe=K(Oe,"customInspect")?Oe.customInspect:!0;if(typeof Xe!="boolean"&&Xe!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(K(Oe,"indent")&&Oe.indent!==null&&Oe.indent!==" "&&!(parseInt(Oe.indent,10)===Oe.indent&&Oe.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(K(Oe,"numericSeparator")&&typeof Oe.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var et=Oe.numericSeparator;if(typeof z>"u")return"undefined";if(z===null)return"null";if(typeof z=="boolean")return z?"true":"false";if(typeof z=="string")return ce(z,Oe);if(typeof z=="number"){if(z===0)return 1/0/z>0?"0":"-0";var Re=String(z);return et?re(z,Re):Re}if(typeof z=="bigint"){var Ge=String(z)+"n";return et?re(z,Ge):Ge}var De=typeof Oe.depth>"u"?5:Oe.depth;if(typeof Ce>"u"&&(Ce=0),Ce>=De&&De>0&&typeof z=="object")return he(z)?"[Array]":"[Object]";var Ue=L(Oe,Ce);if(typeof Te>"u")Te=[];else if(ae(Te,z)>=0)return"[Circular]";function qe(wt,Ft,tr){if(Ft&&(Te=A.call(Te),Te.push(Ft)),tr){var Et={depth:Oe.depth};return K(Oe,"quoteStyle")&&(Et.quoteStyle=Oe.quoteStyle),M(wt,Et,Ce+1,Te)}return M(wt,Oe,Ce+1,Te)}if(typeof z=="function"&&!Se(z)){var Ze=F(z),nt=j(z,qe);return"[Function"+(Ze?": "+Ze:" (anonymous)")+"]"+(nt.length>0?" { "+C.call(nt,", ")+" }":"")}if(oe(z)){var mt=Q?E.call(String(z),/^(Symbol\(.*\))_[^)]*$/,"$1"):U.call(z);return typeof z=="object"&&!Q?g(mt):mt}if(Ne(z)){for(var O="<"+v.call(String(z.nodeName)),G=z.attributes||[],xe=0;xe<G.length;xe++)O+=" "+G[xe].name+"="+R(ee(G[xe].value),"double",Oe);return O+=">",z.childNodes&&z.childNodes.length&&(O+="..."),O+="</"+v.call(String(z.nodeName))+">",O}if(he(z)){if(z.length===0)return"[]";var Ie=j(z,qe);return Ue&&!B(Ie)?"["+P(Ie,Ue)+"]":"[ "+C.call(Ie,", ")+" ]"}if(te(z)){var $e=j(z,qe);return!("cause"in Error.prototype)&&"cause"in z&&!pe.call(z,"cause")?"{ ["+String(z)+"] "+C.call(T.call("[cause]: "+qe(z.cause),$e),", ")+" }":$e.length===0?"["+String(z)+"]":"{ ["+String(z)+"] "+C.call($e,", ")+" }"}if(typeof z=="object"&&Xe){if(se&&typeof z[se]=="function"&&de)return de(z,{depth:De-Ce});if(Xe!=="symbol"&&typeof z.inspect=="function")return z.inspect()}if(ue(z)){var tt=[];return a&&a.call(z,function(wt,Ft){tt.push(qe(Ft,z,!0)+" => "+qe(wt,z))}),_("Map",r.call(z),tt,Ue)}if(X(z)){var ct=[];return l&&l.call(z,function(wt){ct.push(qe(wt,z))}),_("Set",i.call(z),ct,Ue)}if(fe(z))return y("WeakMap");if(me(z))return y("WeakSet");if(ge(z))return y("WeakRef");if(le(z))return g(qe(Number(z)));if(ie(z))return g(qe($.call(z)));if(J(z))return g(f.call(z));if(q(z))return g(qe(String(z)));if(typeof window<"u"&&z===window)return"{ [object Window] }";if(typeof globalThis<"u"&&z===globalThis||typeof Zr<"u"&&z===Zr)return"{ [object globalThis] }";if(!Y(z)&&!Se(z)){var gt=j(z,qe),kr=ne?ne(z)===Object.prototype:z instanceof Object||z.constructor===Object,_r=z instanceof Object?"":"null prototype",Nr=!kr&&W&&Object(z)===z&&W in z?b.call(D(z),8,-1):_r?"Object":"",fo=kr||typeof z.constructor!="function"?"":z.constructor.name?z.constructor.name+" ":"",er=fo+(Nr||_r?"["+C.call(T.call([],Nr||[],_r||[]),": ")+"] ":"");return gt.length===0?er+"{}":Ue?er+"{"+P(gt,Ue)+"}":er+"{ "+C.call(gt,", ")+" }"}return String(z)};function R(M,z,ke){var Ce=(ke.quoteStyle||z)==="double"?'"':"'";return Ce+M+Ce}function ee(M){return E.call(String(M),/"/g,"&quot;")}function he(M){return D(M)==="[object Array]"&&(!W||!(typeof M=="object"&&W in M))}function Y(M){return D(M)==="[object Date]"&&(!W||!(typeof M=="object"&&W in M))}function Se(M){return D(M)==="[object RegExp]"&&(!W||!(typeof M=="object"&&W in M))}function te(M){return D(M)==="[object Error]"&&(!W||!(typeof M=="object"&&W in M))}function q(M){return D(M)==="[object String]"&&(!W||!(typeof M=="object"&&W in M))}function le(M){return D(M)==="[object Number]"&&(!W||!(typeof M=="object"&&W in M))}function J(M){return D(M)==="[object Boolean]"&&(!W||!(typeof M=="object"&&W in M))}function oe(M){if(Q)return M&&typeof M=="object"&&M instanceof Symbol;if(typeof M=="symbol")return!0;if(!M||typeof M!="object"||!U)return!1;try{return U.call(M),!0}catch{}return!1}function ie(M){if(!M||typeof M!="object"||!$)return!1;try{return $.call(M),!0}catch{}return!1}var Ee=Object.prototype.hasOwnProperty||function(M){return M in(this||Zr)};function K(M,z){return Ee.call(M,z)}function D(M){return w.call(M)}function F(M){if(M.name)return M.name;var z=S.call(N.call(M),/^function\s*([\w$]+)/);return z?z[1]:null}function ae(M,z){if(M.indexOf)return M.indexOf(z);for(var ke=0,Ce=M.length;ke<Ce;ke++)if(M[ke]===z)return ke;return-1}function ue(M){if(!r||!M||typeof M!="object")return!1;try{r.call(M);try{i.call(M)}catch{return!0}return M instanceof Map}catch{}return!1}function fe(M){if(!c||!M||typeof M!="object")return!1;try{c.call(M,c);try{h.call(M,h)}catch{return!0}return M instanceof WeakMap}catch{}return!1}function ge(M){if(!p||!M||typeof M!="object")return!1;try{return p.call(M),!0}catch{}return!1}function X(M){if(!i||!M||typeof M!="object")return!1;try{i.call(M);try{r.call(M)}catch{return!0}return M instanceof Set}catch{}return!1}function me(M){if(!h||!M||typeof M!="object")return!1;try{h.call(M,h);try{c.call(M,c)}catch{return!0}return M instanceof WeakSet}catch{}return!1}function Ne(M){return!M||typeof M!="object"?!1:typeof HTMLElement<"u"&&M instanceof HTMLElement?!0:typeof M.nodeName=="string"&&typeof M.getAttribute=="function"}function ce(M,z){if(M.length>z.maxStringLength){var ke=M.length-z.maxStringLength,Ce="... "+ke+" more character"+(ke>1?"s":"");return ce(b.call(M,0,z.maxStringLength),z)+Ce}var Te=E.call(E.call(M,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Ve);return R(Te,"single",z)}function Ve(M){var z=M.charCodeAt(0),ke={8:"b",9:"t",10:"n",12:"f",13:"r"}[z];return ke?"\\"+ke:"\\x"+(z<16?"0":"")+k.call(z.toString(16))}function g(M){return"Object("+M+")"}function y(M){return M+" { ? }"}function _(M,z,ke,Ce){var Te=Ce?P(ke,Ce):C.call(ke,", ");return M+" ("+z+") {"+Te+"}"}function B(M){for(var z=0;z<M.length;z++)if(ae(M[z],`
9
- `)>=0)return!1;return!0}function L(M,z){var ke;if(M.indent===" ")ke=" ";else if(typeof M.indent=="number"&&M.indent>0)ke=C.call(Array(M.indent+1)," ");else return null;return{base:ke,prev:C.call(Array(z+1),ke)}}function P(M,z){if(M.length===0)return"";var ke=`
10
- `+z.prev+z.base;return ke+C.call(M,","+ke)+`
11
- `+z.prev}function j(M,z){var ke=he(M),Ce=[];if(ke){Ce.length=M.length;for(var Te=0;Te<M.length;Te++)Ce[Te]=K(M,Te)?z(M[Te],M):""}var Oe=typeof x=="function"?x(M):[],Xe;if(Q){Xe={};for(var et=0;et<Oe.length;et++)Xe["$"+Oe[et]]=Oe[et]}for(var Re in M)K(M,Re)&&(ke&&String(Number(Re))===Re&&Re<M.length||Q&&Xe["$"+Re]instanceof Symbol||(V.call(/[^\w$]/,Re)?Ce.push(z(Re,M)+": "+z(M[Re],M)):Ce.push(Re+": "+z(M[Re],M))));if(typeof x=="function")for(var Ge=0;Ge<Oe.length;Ge++)pe.call(M,Oe[Ge])&&Ce.push("["+z(Oe[Ge])+"]: "+z(M[Oe[Ge]],M));return Ce}return Xr}function L0(){if(Vi)return eo;Vi=!0;var u=sr(),t=S0(),r=j0(),a=br(),n=u("%WeakMap%",!0),o=u("%Map%",!0),i=t("WeakMap.prototype.get",!0),l=t("WeakMap.prototype.set",!0),s=t("WeakMap.prototype.has",!0),c=t("Map.prototype.get",!0),d=t("Map.prototype.set",!0),h=t("Map.prototype.has",!0),m=function(N,S){for(var b=N,E;(E=b.next)!==null;b=E)if(E.key===S)return b.next=E.next,E.next=N.next,N.next=E,E},p=function(N,S){var b=m(N,S);return b&&b.value},f=function(N,S,b){var E=m(N,S);E?E.value=b:N.next={key:S,next:N.next,value:b}},w=function(N,S){return!!m(N,S)};return eo=function(){var N,S,b,E={assert:function(k){if(!E.has(k))throw new a("Side channel does not contain "+r(k))},get:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(N)return i(N,k)}else if(o){if(S)return c(S,k)}else if(b)return p(b,k)},has:function(k){if(n&&k&&(typeof k=="object"||typeof k=="function")){if(N)return s(N,k)}else if(o){if(S)return h(S,k)}else if(b)return w(b,k);return!1},set:function(k,v){n&&k&&(typeof k=="object"||typeof k=="function")?(N||(N=new n),l(N,k,v)):o?(S||(S=new o),d(S,k,v)):(b||(b={key:{},next:null}),f(b,k,v))}};return E},eo}function Si(){if(Ci)return to;Ci=!0;var u=String.prototype.replace,t=/%20/g,r={RFC1738:"RFC1738",RFC3986:"RFC3986"};return to={default:r.RFC3986,formatters:{RFC1738:function(a){return u.call(a,t,"+")},RFC3986:function(a){return String(a)}},RFC1738:r.RFC1738,RFC3986:r.RFC3986},to}function vl(){if(Ii)return ro;Ii=!0;var u=Si(),t=Object.prototype.hasOwnProperty,r=Array.isArray,a=function(){for(var N=[],S=0;S<256;++S)N.push("%"+((S<16?"0":"")+S.toString(16)).toUpperCase());return N}(),n=function(N){for(;N.length>1;){var S=N.pop(),b=S.obj[S.prop];if(r(b)){for(var E=[],k=0;k<b.length;++k)typeof b[k]<"u"&&E.push(b[k]);S.obj[S.prop]=E}}},o=function(N,S){for(var b=S&&S.plainObjects?Object.create(null):{},E=0;E<N.length;++E)typeof N[E]<"u"&&(b[E]=N[E]);return b},i=function N(S,b,E){if(!b)return S;if(typeof b!="object"){if(r(S))S.push(b);else if(S&&typeof S=="object")(E&&(E.plainObjects||E.allowPrototypes)||!t.call(Object.prototype,b))&&(S[b]=!0);else return[S,b];return S}if(!S||typeof S!="object")return[S].concat(b);var k=S;return r(S)&&!r(b)&&(k=o(S,E)),r(S)&&r(b)?(b.forEach(function(v,V){if(t.call(S,V)){var T=S[V];T&&typeof T=="object"&&v&&typeof v=="object"?S[V]=N(T,v,E):S.push(v)}else S[V]=v}),S):Object.keys(b).reduce(function(v,V){var T=b[V];return t.call(v,V)?v[V]=N(v[V],T,E):v[V]=T,v},k)},l=function(N,S){return Object.keys(S).reduce(function(b,E){return b[E]=S[E],b},N)},s=function(N,S,b){var E=N.replace(/\+/g," ");if(b==="iso-8859-1")return E.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(E)}catch{return E}},c=1024,d=function(N,S,b,E,k){if(N.length===0)return N;var v=N;if(typeof N=="symbol"?v=Symbol.prototype.toString.call(N):typeof N!="string"&&(v=String(N)),b==="iso-8859-1")return escape(v).replace(/%u[0-9a-f]{4}/gi,function(x){return"%26%23"+parseInt(x.slice(2),16)+"%3B"});for(var V="",T=0;T<v.length;T+=c){for(var C=v.length>=c?v.slice(T,T+c):v,A=[],I=0;I<C.length;++I){var $=C.charCodeAt(I);if($===45||$===46||$===95||$===126||$>=48&&$<=57||$>=65&&$<=90||$>=97&&$<=122||k===u.RFC1738&&($===40||$===41)){A[A.length]=C.charAt(I);continue}if($<128){A[A.length]=a[$];continue}if($<2048){A[A.length]=a[192|$>>6]+a[128|$&63];continue}if($<55296||$>=57344){A[A.length]=a[224|$>>12]+a[128|$>>6&63]+a[128|$&63];continue}I+=1,$=65536+(($&1023)<<10|C.charCodeAt(I)&1023),A[A.length]=a[240|$>>18]+a[128|$>>12&63]+a[128|$>>6&63]+a[128|$&63]}V+=A.join("")}return V},h=function(N){for(var S=[{obj:{o:N},prop:"o"}],b=[],E=0;E<S.length;++E)for(var k=S[E],v=k.obj[k.prop],V=Object.keys(v),T=0;T<V.length;++T){var C=V[T],A=v[C];typeof A=="object"&&A!==null&&b.indexOf(A)===-1&&(S.push({obj:v,prop:C}),b.push(A))}return n(S),N},m=function(N){return Object.prototype.toString.call(N)==="[object RegExp]"},p=function(N){return!N||typeof N!="object"?!1:!!(N.constructor&&N.constructor.isBuffer&&N.constructor.isBuffer(N))},f=function(N,S){return[].concat(N,S)},w=function(N,S){if(r(N)){for(var b=[],E=0;E<N.length;E+=1)b.push(S(N[E]));return b}return S(N)};return ro={arrayToObject:o,assign:l,combine:f,compact:h,decode:s,encode:d,isBuffer:p,isRegExp:m,maybeMap:w,merge:i},ro}function U0(){if(Ai)return oo;Ai=!0;var u=L0(),t=vl(),r=Si(),a=Object.prototype.hasOwnProperty,n={brackets:function(w){return w+"[]"},comma:"comma",indices:function(w,N){return w+"["+N+"]"},repeat:function(w){return w}},o=Array.isArray,i=Array.prototype.push,l=function(w,N){i.apply(w,o(N)?N:[N])},s=Date.prototype.toISOString,c=r.default,d={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:t.encode,encodeValuesOnly:!1,format:c,formatter:r.formatters[c],indices:!1,serializeDate:function(w){return s.call(w)},skipNulls:!1,strictNullHandling:!1},h=function(w){return typeof w=="string"||typeof w=="number"||typeof w=="boolean"||typeof w=="symbol"||typeof w=="bigint"},m={},p=function w(N,S,b,E,k,v,V,T,C,A,I,$,x,U,Q,W,pe,ne){for(var re=N,de=ne,Z=0,se=!1;(de=de.get(m))!==void 0&&!se;){var R=de.get(N);if(Z+=1,typeof R<"u"){if(R===Z)throw new RangeError("Cyclic object value");se=!0}typeof de.get(m)>"u"&&(Z=0)}if(typeof A=="function"?re=A(S,re):re instanceof Date?re=x(re):b==="comma"&&o(re)&&(re=t.maybeMap(re,function(D){return D instanceof Date?x(D):D})),re===null){if(v)return C&&!W?C(S,d.encoder,pe,"key",U):S;re=""}if(h(re)||t.isBuffer(re)){if(C){var ee=W?S:C(S,d.encoder,pe,"key",U);return[Q(ee)+"="+Q(C(re,d.encoder,pe,"value",U))]}return[Q(S)+"="+Q(String(re))]}var he=[];if(typeof re>"u")return he;var Y;if(b==="comma"&&o(re))W&&C&&(re=t.maybeMap(re,C)),Y=[{value:re.length>0?re.join(",")||null:void 0}];else if(o(A))Y=A;else{var Se=Object.keys(re);Y=I?Se.sort(I):Se}var te=T?S.replace(/\./g,"%2E"):S,q=E&&o(re)&&re.length===1?te+"[]":te;if(k&&o(re)&&re.length===0)return q+"[]";for(var le=0;le<Y.length;++le){var J=Y[le],oe=typeof J=="object"&&typeof J.value<"u"?J.value:re[J];if(!(V&&oe===null)){var ie=$&&T?J.replace(/\./g,"%2E"):J,Ee=o(re)?typeof b=="function"?b(q,ie):q:q+($?"."+ie:"["+ie+"]");ne.set(N,Z);var K=u();K.set(m,ne),l(he,w(oe,Ee,b,E,k,v,V,T,b==="comma"&&W&&o(re)?null:C,A,I,$,x,U,Q,W,pe,K))}}return he},f=function(w){if(!w)return d;if(typeof w.allowEmptyArrays<"u"&&typeof w.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof w.encodeDotInKeys<"u"&&typeof w.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(w.encoder!==null&&typeof w.encoder<"u"&&typeof w.encoder!="function")throw new TypeError("Encoder has to be a function.");var N=w.charset||d.charset;if(typeof w.charset<"u"&&w.charset!=="utf-8"&&w.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var S=r.default;if(typeof w.format<"u"){if(!a.call(r.formatters,w.format))throw new TypeError("Unknown format option provided.");S=w.format}var b=r.formatters[S],E=d.filter;(typeof w.filter=="function"||o(w.filter))&&(E=w.filter);var k;if(w.arrayFormat in n?k=w.arrayFormat:"indices"in w?k=w.indices?"indices":"repeat":k=d.arrayFormat,"commaRoundTrip"in w&&typeof w.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var v=typeof w.allowDots>"u"?w.encodeDotInKeys===!0?!0:d.allowDots:!!w.allowDots;return{addQueryPrefix:typeof w.addQueryPrefix=="boolean"?w.addQueryPrefix:d.addQueryPrefix,allowDots:v,allowEmptyArrays:typeof w.allowEmptyArrays=="boolean"?!!w.allowEmptyArrays:d.allowEmptyArrays,arrayFormat:k,charset:N,charsetSentinel:typeof w.charsetSentinel=="boolean"?w.charsetSentinel:d.charsetSentinel,commaRoundTrip:w.commaRoundTrip,delimiter:typeof w.delimiter>"u"?d.delimiter:w.delimiter,encode:typeof w.encode=="boolean"?w.encode:d.encode,encodeDotInKeys:typeof w.encodeDotInKeys=="boolean"?w.encodeDotInKeys:d.encodeDotInKeys,encoder:typeof w.encoder=="function"?w.encoder:d.encoder,encodeValuesOnly:typeof w.encodeValuesOnly=="boolean"?w.encodeValuesOnly:d.encodeValuesOnly,filter:E,format:S,formatter:b,serializeDate:typeof w.serializeDate=="function"?w.serializeDate:d.serializeDate,skipNulls:typeof w.skipNulls=="boolean"?w.skipNulls:d.skipNulls,sort:typeof w.sort=="function"?w.sort:null,strictNullHandling:typeof w.strictNullHandling=="boolean"?w.strictNullHandling:d.strictNullHandling}};return oo=function(w,N){var S=w,b=f(N),E,k;typeof b.filter=="function"?(k=b.filter,S=k("",S)):o(b.filter)&&(k=b.filter,E=k);var v=[];if(typeof S!="object"||S===null)return"";var V=n[b.arrayFormat],T=V==="comma"&&b.commaRoundTrip;E||(E=Object.keys(S)),b.sort&&E.sort(b.sort);for(var C=u(),A=0;A<E.length;++A){var I=E[A];b.skipNulls&&S[I]===null||l(v,p(S[I],I,V,T,b.allowEmptyArrays,b.strictNullHandling,b.skipNulls,b.encodeDotInKeys,b.encode?b.encoder:null,b.filter,b.sort,b.allowDots,b.serializeDate,b.format,b.formatter,b.encodeValuesOnly,b.charset,C))}var $=v.join(b.delimiter),x=b.addQueryPrefix===!0?"?":"";return b.charsetSentinel&&(b.charset==="iso-8859-1"?x+="utf8=%26%2310003%3B&":x+="utf8=%E2%9C%93&"),$.length>0?x+$:""},oo}function F0(){if(Ti)return no;Ti=!0;var u=vl(),t=Object.prototype.hasOwnProperty,r=Array.isArray,a={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:u.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},n=function(m){return m.replace(/&#(\d+);/g,function(p,f){return String.fromCharCode(parseInt(f,10))})},o=function(m,p){return m&&typeof m=="string"&&p.comma&&m.indexOf(",")>-1?m.split(","):m},i="utf8=%26%2310003%3B",l="utf8=%E2%9C%93",s=function(m,p){var f={__proto__:null},w=p.ignoreQueryPrefix?m.replace(/^\?/,""):m;w=w.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var N=p.parameterLimit===1/0?void 0:p.parameterLimit,S=w.split(p.delimiter,N),b=-1,E,k=p.charset;if(p.charsetSentinel)for(E=0;E<S.length;++E)S[E].indexOf("utf8=")===0&&(S[E]===l?k="utf-8":S[E]===i&&(k="iso-8859-1"),b=E,E=S.length);for(E=0;E<S.length;++E)if(E!==b){var v=S[E],V=v.indexOf("]="),T=V===-1?v.indexOf("="):V+1,C,A;T===-1?(C=p.decoder(v,a.decoder,k,"key"),A=p.strictNullHandling?null:""):(C=p.decoder(v.slice(0,T),a.decoder,k,"key"),A=u.maybeMap(o(v.slice(T+1),p),function($){return p.decoder($,a.decoder,k,"value")})),A&&p.interpretNumericEntities&&k==="iso-8859-1"&&(A=n(A)),v.indexOf("[]=")>-1&&(A=r(A)?[A]:A);var I=t.call(f,C);I&&p.duplicates==="combine"?f[C]=u.combine(f[C],A):(!I||p.duplicates==="last")&&(f[C]=A)}return f},c=function(m,p,f,w){for(var N=w?p:o(p,f),S=m.length-1;S>=0;--S){var b,E=m[S];if(E==="[]"&&f.parseArrays)b=f.allowEmptyArrays&&(N===""||f.strictNullHandling&&N===null)?[]:[].concat(N);else{b=f.plainObjects?Object.create(null):{};var k=E.charAt(0)==="["&&E.charAt(E.length-1)==="]"?E.slice(1,-1):E,v=f.decodeDotInKeys?k.replace(/%2E/g,"."):k,V=parseInt(v,10);!f.parseArrays&&v===""?b={0:N}:!isNaN(V)&&E!==v&&String(V)===v&&V>=0&&f.parseArrays&&V<=f.arrayLimit?(b=[],b[V]=N):v!=="__proto__"&&(b[v]=N)}N=b}return N},d=function(m,p,f,w){if(m){var N=f.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,S=/(\[[^[\]]*])/,b=/(\[[^[\]]*])/g,E=f.depth>0&&S.exec(N),k=E?N.slice(0,E.index):N,v=[];if(k){if(!f.plainObjects&&t.call(Object.prototype,k)&&!f.allowPrototypes)return;v.push(k)}for(var V=0;f.depth>0&&(E=b.exec(N))!==null&&V<f.depth;){if(V+=1,!f.plainObjects&&t.call(Object.prototype,E[1].slice(1,-1))&&!f.allowPrototypes)return;v.push(E[1])}if(E){if(f.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+f.depth+" and strictDepth is true");v.push("["+N.slice(E.index)+"]")}return c(v,p,f,w)}},h=function(m){if(!m)return a;if(typeof m.allowEmptyArrays<"u"&&typeof m.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof m.decodeDotInKeys<"u"&&typeof m.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(m.decoder!==null&&typeof m.decoder<"u"&&typeof m.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof m.charset<"u"&&m.charset!=="utf-8"&&m.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var p=typeof m.charset>"u"?a.charset:m.charset,f=typeof m.duplicates>"u"?a.duplicates:m.duplicates;if(f!=="combine"&&f!=="first"&&f!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var w=typeof m.allowDots>"u"?m.decodeDotInKeys===!0?!0:a.allowDots:!!m.allowDots;return{allowDots:w,allowEmptyArrays:typeof m.allowEmptyArrays=="boolean"?!!m.allowEmptyArrays:a.allowEmptyArrays,allowPrototypes:typeof m.allowPrototypes=="boolean"?m.allowPrototypes:a.allowPrototypes,allowSparse:typeof m.allowSparse=="boolean"?m.allowSparse:a.allowSparse,arrayLimit:typeof m.arrayLimit=="number"?m.arrayLimit:a.arrayLimit,charset:p,charsetSentinel:typeof m.charsetSentinel=="boolean"?m.charsetSentinel:a.charsetSentinel,comma:typeof m.comma=="boolean"?m.comma:a.comma,decodeDotInKeys:typeof m.decodeDotInKeys=="boolean"?m.decodeDotInKeys:a.decodeDotInKeys,decoder:typeof m.decoder=="function"?m.decoder:a.decoder,delimiter:typeof m.delimiter=="string"||u.isRegExp(m.delimiter)?m.delimiter:a.delimiter,depth:typeof m.depth=="number"||m.depth===!1?+m.depth:a.depth,duplicates:f,ignoreQueryPrefix:m.ignoreQueryPrefix===!0,interpretNumericEntities:typeof m.interpretNumericEntities=="boolean"?m.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:typeof m.parameterLimit=="number"?m.parameterLimit:a.parameterLimit,parseArrays:m.parseArrays!==!1,plainObjects:typeof m.plainObjects=="boolean"?m.plainObjects:a.plainObjects,strictDepth:typeof m.strictDepth=="boolean"?!!m.strictDepth:a.strictDepth,strictNullHandling:typeof m.strictNullHandling=="boolean"?m.strictNullHandling:a.strictNullHandling}};return no=function(m,p){var f=h(p);if(m===""||m===null||typeof m>"u")return f.plainObjects?Object.create(null):{};for(var w=typeof m=="string"?s(m,f):m,N=f.plainObjects?Object.create(null):{},S=Object.keys(w),b=0;b<S.length;++b){var E=S[b],k=d(E,w[E],f,typeof m=="string");N=u.merge(N,k,f)}return f.allowSparse===!0?N:u.compact(N)},no}function z0(){if($i)return io;$i=!0;var u=U0(),t=F0(),r=Si();return io={formats:r,parse:t,stringify:u},io}function W0(){if(Bi)return Rt;Bi=!0;var u=Ot;function t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var r=/^([a-z0-9.+-]+:)/i,a=/:[0-9]*$/,n=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,o=["<",">",'"',"`"," ","\r",`
12
- `," "],i=["{","}","|","\\","^","`"].concat(o),l=["'"].concat(i),s=["%","/","?",";","#"].concat(l),c=["/","?","#"],d=255,h=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,p={javascript:!0,"javascript:":!0},f={javascript:!0,"javascript:":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},N=z0();function S(v,V,T){if(v&&typeof v=="object"&&v instanceof t)return v;var C=new t;return C.parse(v,V,T),C}t.prototype.parse=function(v,V,T){if(typeof v!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof v);var C=v.indexOf("?"),A=C!==-1&&C<v.indexOf("#")?"?":"#",I=v.split(A),$=/\\/g;I[0]=I[0].replace($,"/"),v=I.join(A);var x=v;if(x=x.trim(),!T&&v.split("#").length===1){var U=n.exec(x);if(U)return this.path=x,this.href=x,this.pathname=U[1],U[2]?(this.search=U[2],V?this.query=N.parse(this.search.substr(1)):this.query=this.search.substr(1)):V&&(this.search="",this.query={}),this}var Q=r.exec(x);if(Q){Q=Q[0];var W=Q.toLowerCase();this.protocol=W,x=x.substr(Q.length)}if(T||Q||x.match(/^\/\/[^@/]+@[^@/]+/)){var pe=x.substr(0,2)==="//";pe&&!(Q&&f[Q])&&(x=x.substr(2),this.slashes=!0)}if(!f[Q]&&(pe||Q&&!w[Q])){for(var ne=-1,re=0;re<c.length;re++){var de=x.indexOf(c[re]);de!==-1&&(ne===-1||de<ne)&&(ne=de)}var Z,se;ne===-1?se=x.lastIndexOf("@"):se=x.lastIndexOf("@",ne),se!==-1&&(Z=x.slice(0,se),x=x.slice(se+1),this.auth=decodeURIComponent(Z)),ne=-1;for(var re=0;re<s.length;re++){var de=x.indexOf(s[re]);de!==-1&&(ne===-1||de<ne)&&(ne=de)}ne===-1&&(ne=x.length),this.host=x.slice(0,ne),x=x.slice(ne),this.parseHost(),this.hostname=this.hostname||"";var R=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!R)for(var ee=this.hostname.split(/\./),re=0,he=ee.length;re<he;re++){var Y=ee[re];if(Y&&!Y.match(h)){for(var Se="",te=0,q=Y.length;te<q;te++)Y.charCodeAt(te)>127?Se+="x":Se+=Y[te];if(!Se.match(h)){var le=ee.slice(0,re),J=ee.slice(re+1),oe=Y.match(m);oe&&(le.push(oe[1]),J.unshift(oe[2])),J.length&&(x="/"+J.join(".")+x),this.hostname=le.join(".");break}}}this.hostname.length>d?this.hostname="":this.hostname=this.hostname.toLowerCase(),R||(this.hostname=u.toASCII(this.hostname));var ie=this.port?":"+this.port:"",Ee=this.hostname||"";this.host=Ee+ie,this.href+=this.host,R&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),x[0]!=="/"&&(x="/"+x))}if(!p[W])for(var re=0,he=l.length;re<he;re++){var K=l[re];if(x.indexOf(K)!==-1){var D=encodeURIComponent(K);D===K&&(D=escape(K)),x=x.split(K).join(D)}}var F=x.indexOf("#");F!==-1&&(this.hash=x.substr(F),x=x.slice(0,F));var ae=x.indexOf("?");if(ae!==-1?(this.search=x.substr(ae),this.query=x.substr(ae+1),V&&(this.query=N.parse(this.query)),x=x.slice(0,ae)):V&&(this.search="",this.query={}),x&&(this.pathname=x),w[W]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var ie=this.pathname||"",ue=this.search||"";this.path=ie+ue}return this.href=this.format(),this};function b(v){return typeof v=="string"&&(v=S(v)),v instanceof t?v.format():t.prototype.format.call(v)}t.prototype.format=function(){var v=this.auth||"";v&&(v=encodeURIComponent(v),v=v.replace(/%3A/i,":"),v+="@");var V=this.protocol||"",T=this.pathname||"",C=this.hash||"",A=!1,I="";this.host?A=v+this.host:this.hostname&&(A=v+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(A+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(I=N.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var $=this.search||I&&"?"+I||"";return V&&V.substr(-1)!==":"&&(V+=":"),this.slashes||(!V||w[V])&&A!==!1?(A="//"+(A||""),T&&T.charAt(0)!=="/"&&(T="/"+T)):A||(A=""),C&&C.charAt(0)!=="#"&&(C="#"+C),$&&$.charAt(0)!=="?"&&($="?"+$),T=T.replace(/[?#]/g,function(x){return encodeURIComponent(x)}),$=$.replace("#","%23"),V+A+T+$+C};function E(v,V){return S(v,!1,!0).resolve(V)}t.prototype.resolve=function(v){return this.resolveObject(S(v,!1,!0)).format()};function k(v,V){return v?S(v,!1,!0).resolveObject(V):V}return t.prototype.resolveObject=function(v){if(typeof v=="string"){var V=new t;V.parse(v,!1,!0),v=V}for(var T=new t,C=Object.keys(this),A=0;A<C.length;A++){var I=C[A];T[I]=this[I]}if(T.hash=v.hash,v.href==="")return T.href=T.format(),T;if(v.slashes&&!v.protocol){for(var $=Object.keys(v),x=0;x<$.length;x++){var U=$[x];U!=="protocol"&&(T[U]=v[U])}return w[T.protocol]&&T.hostname&&!T.pathname&&(T.pathname="/",T.path=T.pathname),T.href=T.format(),T}if(v.protocol&&v.protocol!==T.protocol){if(!w[v.protocol]){for(var Q=Object.keys(v),W=0;W<Q.length;W++){var pe=Q[W];T[pe]=v[pe]}return T.href=T.format(),T}if(T.protocol=v.protocol,!v.host&&!f[v.protocol]){for(var he=(v.pathname||"").split("/");he.length&&!(v.host=he.shift()););v.host||(v.host=""),v.hostname||(v.hostname=""),he[0]!==""&&he.unshift(""),he.length<2&&he.unshift(""),T.pathname=he.join("/")}else T.pathname=v.pathname;if(T.search=v.search,T.query=v.query,T.host=v.host||"",T.auth=v.auth,T.hostname=v.hostname||v.host,T.port=v.port,T.pathname||T.search){var ne=T.pathname||"",re=T.search||"";T.path=ne+re}return T.slashes=T.slashes||v.slashes,T.href=T.format(),T}var de=T.pathname&&T.pathname.charAt(0)==="/",Z=v.host||v.pathname&&v.pathname.charAt(0)==="/",se=Z||de||T.host&&v.pathname,R=se,ee=T.pathname&&T.pathname.split("/")||[],he=v.pathname&&v.pathname.split("/")||[],Y=T.protocol&&!w[T.protocol];if(Y&&(T.hostname="",T.port=null,T.host&&(ee[0]===""?ee[0]=T.host:ee.unshift(T.host)),T.host="",v.protocol&&(v.hostname=null,v.port=null,v.host&&(he[0]===""?he[0]=v.host:he.unshift(v.host)),v.host=null),se=se&&(he[0]===""||ee[0]==="")),Z)T.host=v.host||v.host===""?v.host:T.host,T.hostname=v.hostname||v.hostname===""?v.hostname:T.hostname,T.search=v.search,T.query=v.query,ee=he;else if(he.length)ee||(ee=[]),ee.pop(),ee=ee.concat(he),T.search=v.search,T.query=v.query;else if(v.search!=null){if(Y){T.host=ee.shift(),T.hostname=T.host;var Se=T.host&&T.host.indexOf("@")>0?T.host.split("@"):!1;Se&&(T.auth=Se.shift(),T.hostname=Se.shift(),T.host=T.hostname)}return T.search=v.search,T.query=v.query,(T.pathname!==null||T.search!==null)&&(T.path=(T.pathname?T.pathname:"")+(T.search?T.search:"")),T.href=T.format(),T}if(!ee.length)return T.pathname=null,T.search?T.path="/"+T.search:T.path=null,T.href=T.format(),T;for(var te=ee.slice(-1)[0],q=(T.host||v.host||ee.length>1)&&(te==="."||te==="..")||te==="",le=0,J=ee.length;J>=0;J--)te=ee[J],te==="."?ee.splice(J,1):te===".."?(ee.splice(J,1),le++):le&&(ee.splice(J,1),le--);if(!se&&!R)for(;le--;le)ee.unshift("..");se&&ee[0]!==""&&(!ee[0]||ee[0].charAt(0)!=="/")&&ee.unshift(""),q&&ee.join("/").substr(-1)!=="/"&&ee.push("");var oe=ee[0]===""||ee[0]&&ee[0].charAt(0)==="/";if(Y){T.hostname=oe?"":ee.length?ee.shift():"",T.host=T.hostname;var Se=T.host&&T.host.indexOf("@")>0?T.host.split("@"):!1;Se&&(T.auth=Se.shift(),T.hostname=Se.shift(),T.host=T.hostname)}return se=se||T.host&&ee.length,se&&!oe&&ee.unshift(""),ee.length>0?T.pathname=ee.join("/"):(T.pathname=null,T.path=null),(T.pathname!==null||T.search!==null)&&(T.path=(T.pathname?T.pathname:"")+(T.search?T.search:"")),T.auth=v.auth||T.auth,T.slashes=T.slashes||v.slashes,T.href=T.format(),T},t.prototype.parseHost=function(){var v=this.host,V=a.exec(v);V&&(V=V[0],V!==":"&&(this.port=V.substr(1)),v=v.substr(0,v.length-V.length)),v&&(this.hostname=v)},Rt.parse=S,Rt.resolve=E,Rt.resolveObject=k,Rt.format=b,Rt.Url=t,Rt}function kl(u){if(typeof u=="string")u=new URL(u);else if(!(u instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(u.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return ao?q0(u):G0(u)}function q0(u){let t=u.hostname,r=u.pathname;for(let a=0;a<r.length;a++)if(r[a]==="%"){let n=r.codePointAt(a+2)||32;if(r[a+1]==="2"&&n===102||r[a+1]==="5"&&n===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(r=r.replace(Ol,"\\"),r=decodeURIComponent(r),t!=="")return`\\\\${t}${r}`;{let a=r.codePointAt(1)|32,n=r[2];if(a<Dl||a>Pl||n!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function G0(u){if(u.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=u.pathname;for(let r=0;r<t.length;r++)if(t[r]==="%"){let a=t.codePointAt(r+2)||32;if(t[r+1]==="2"&&a===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function _l(u){let t=Ni.resolve(u),r=u.charCodeAt(u.length-1);(r===Bl||ao&&r===$l)&&t[t.length-1]!==Ni.sep&&(t+="/");let a=new URL("file://");return t.includes("%")&&(t=t.replace(Ml,"%25")),!ao&&t.includes("\\")&&(t=t.replace(Rl,"%5C")),t.includes(`
13
- `)&&(t=t.replace(jl,"%0A")),t.includes("\r")&&(t=t.replace(Ll,"%0D")),t.includes(" ")&&(t=t.replace(Ul,"%09")),a.pathname=t,a}var Nl,Xr,xi,Zr,eo,Vi,to,Ci,ro,Ii,oo,Ai,no,Ti,io,$i,Rt,Bi,st,Sl,xl,Vl,Cl,Il,Al,Tl,$l,Bl,Dl,Pl,ao,Ol,Ml,Rl,jl,Ll,Ul,H0=dt(()=>{ye(),we(),be(),d0(),x0(),R0(),wl(),Nl=Object.freeze(Object.create(null)),Xr={},xi=!1,Zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,eo={},Vi=!1,to={},Ci=!1,ro={},Ii=!1,oo={},Ai=!1,no={},Ti=!1,io={},$i=!1,Rt={},Bi=!1,st=W0(),st.parse,st.resolve,st.resolveObject,st.format,st.Url,Sl=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,st.URL=typeof URL<"u"?URL:null,st.pathToFileURL=_l,st.fileURLToPath=kl,xl=st.Url,Vl=st.format,Cl=st.resolve,Il=st.resolveObject,Al=st.parse,Tl=st.URL,$l=92,Bl=47,Dl=97,Pl=122,ao=Sl==="win32",Ol=/\//g,Ml=/%/g,Rl=/\\/g,jl=/\n/g,Ll=/\r/g,Ul=/\t/g}),K0=_e((u,t)=>{ye(),we(),be(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Di=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0}),u.BufferedDuplex=void 0,u.writev=a;var t=Jt(),r=(ot(),We(rt));function a(o,i){let l=new Array(o.length);for(let s=0;s<o.length;s++)typeof o[s].chunk=="string"?l[s]=r.Buffer.from(o[s].chunk,"utf8"):l[s]=o[s].chunk;this._write(r.Buffer.concat(l),"binary",i)}var n=class extends t.Duplex{constructor(i,l,s){super({objectMode:!0});ve(this,"socket");ve(this,"proxy");ve(this,"isSocketOpen");ve(this,"writeQueue");this.proxy=l,this.socket=s,this.writeQueue=[],i.objectMode||(this._writev=a.bind(this)),this.isSocketOpen=!1,this.proxy.on("data",c=>{!this.destroyed&&this.readable&&this.push(c)})}_read(i){this.proxy.read(i)}_write(i,l,s){this.isSocketOpen?this.writeToProxy(i,l,s):this.writeQueue.push({chunk:i,encoding:l,cb:s})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,l){this.writeQueue=[],this.proxy.destroy(),l(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,l,s){this.proxy.write(i,l)===!1?this.proxy.once("drain",s):s()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:l,cb:s}=this.writeQueue.shift();this.writeToProxy(i,l,s)}}};u.BufferedDuplex=n}),so=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(S){return S&&S.__esModule?S:{default:S}};Object.defineProperty(u,"__esModule",{value:!0}),u.streamBuilder=u.browserStreamBuilder=void 0;var r=(ot(),We(rt)),a=t(K0()),n=t(xt()),o=Jt(),i=t(Pr()),l=Di(),s=(0,n.default)("mqttjs:ws"),c=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function d(S,b){let E=`${S.protocol}://${S.hostname}:${S.port}${S.path}`;return typeof S.transformWsUrl=="function"&&(E=S.transformWsUrl(E,S,b)),E}function h(S){let b=S;return S.port||(S.protocol==="wss"?b.port=443:b.port=80),S.path||(b.path="/"),S.wsOptions||(b.wsOptions={}),!i.default&&!S.forceNativeWebSocket&&S.protocol==="wss"&&c.forEach(E=>{Object.prototype.hasOwnProperty.call(S,E)&&!Object.prototype.hasOwnProperty.call(S.wsOptions,E)&&(b.wsOptions[E]=S[E])}),b}function m(S){let b=h(S);if(b.hostname||(b.hostname=b.host),!b.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let E=new URL(document.URL);b.hostname=E.hostname,b.port||(b.port=Number(E.port))}return b.objectMode===void 0&&(b.objectMode=!(b.binary===!0||b.binary===void 0)),b}function p(S,b,E){s("createWebSocket"),s(`protocol: ${E.protocolId} ${E.protocolVersion}`);let k=E.protocolId==="MQIsdp"&&E.protocolVersion===3?"mqttv3.1":"mqtt";s(`creating new Websocket for url: ${b} and protocol: ${k}`);let v;return E.createWebsocket?v=E.createWebsocket(b,[k],E):v=new a.default(b,[k],E.wsOptions),v}function f(S,b){let E=b.protocolId==="MQIsdp"&&b.protocolVersion===3?"mqttv3.1":"mqtt",k=d(b,S),v;return b.createWebsocket?v=b.createWebsocket(k,[E],b):v=new WebSocket(k,[E]),v.binaryType="arraybuffer",v}var w=(S,b)=>{s("streamBuilder");let E=h(b);E.hostname=E.hostname||E.host||"localhost";let k=d(E,S),v=p(S,k,E),V=a.default.createWebSocketStream(v,E.wsOptions);return V.url=k,v.on("close",()=>{V.destroy()}),V};u.streamBuilder=w;var N=(S,b)=>{s("browserStreamBuilder");let E,k=m(b).browserBufferSize||1024*512,v=b.browserBufferTimeout||1e3,V=!b.objectMode,T=f(S,b),C=I(b,W,pe);b.objectMode||(C._writev=l.writev.bind(C)),C.on("close",()=>{T.close()});let A=typeof T.addEventListener<"u";T.readyState===T.OPEN?(E=C,E.socket=T):(E=new l.BufferedDuplex(b,C,T),A?T.addEventListener("open",$):T.onopen=$),A?(T.addEventListener("close",x),T.addEventListener("error",U),T.addEventListener("message",Q)):(T.onclose=x,T.onerror=U,T.onmessage=Q);function I(ne,re,de){let Z=new o.Transform({objectMode:ne.objectMode});return Z._write=re,Z._flush=de,Z}function $(){s("WebSocket onOpen"),E instanceof l.BufferedDuplex&&E.socketReady()}function x(ne){s("WebSocket onClose",ne),E.end(),E.destroy()}function U(ne){s("WebSocket onError",ne);let re=new Error("WebSocket error");re.event=ne,E.destroy(re)}async function Q(ne){if(!C||!C.readable||!C.writable)return;let{data:re}=ne;re instanceof ArrayBuffer?re=r.Buffer.from(re):re instanceof Blob?re=r.Buffer.from(await new Response(re).arrayBuffer()):re=r.Buffer.from(re,"utf8"),C.push(re)}function W(ne,re,de){if(T.bufferedAmount>k){setTimeout(W,v,ne,re,de);return}V&&typeof ne=="string"&&(ne=r.Buffer.from(ne,"utf8"));try{T.send(ne)}catch(Z){return de(Z)}de()}function pe(ne){T.close(),ne()}return E};u.browserStreamBuilder=N}),Pi={};rr(Pi,{Server:()=>Ye,Socket:()=>Ye,Stream:()=>Ye,_createServerHandle:()=>Ye,_normalizeArgs:()=>Ye,_setSimultaneousAccepts:()=>Ye,connect:()=>Ye,createConnection:()=>Ye,createServer:()=>Ye,default:()=>Fl,isIP:()=>Ye,isIPv4:()=>Ye,isIPv6:()=>Ye});function Ye(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var Fl,zl=dt(()=>{ye(),we(),be(),Fl={_createServerHandle:Ye,_normalizeArgs:Ye,_setSimultaneousAccepts:Ye,connect:Ye,createConnection:Ye,createServer:Ye,isIP:Ye,isIPv4:Ye,isIPv6:Ye,Server:Ye,Socket:Ye,Stream:Ye}}),Wl=_e((u,t)=>{ye(),we(),be(),t.exports={}}),ql=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(u,"__esModule",{value:!0});var r=t((zl(),We(Pi))),a=t(xt()),n=t(Wl()),o=(0,a.default)("mqttjs:tcp"),i=(l,s)=>{if(s.port=s.port||1883,s.hostname=s.hostname||s.host||"localhost",s.socksProxy)return(0,n.default)(s.hostname,s.port,s.socksProxy,{timeout:s.socksTimeout});let{port:c,path:d}=s,h=s.hostname;return o("port %d and host %s",c,h),r.default.createConnection({port:c,host:h,path:d})};u.default=i}),Gl={};rr(Gl,{default:()=>Hl});var Hl,Y0=dt(()=>{ye(),we(),be(),Hl={}}),Kl=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(u,"__esModule",{value:!0});var r=(Y0(),We(Gl)),a=t((zl(),We(Pi))),n=t(xt()),o=t(Wl()),i=(0,n.default)("mqttjs:tls");function l(c){let{host:d,port:h,socksProxy:m,...p}=c;if(m!==void 0){let f=(0,o.default)(d,h,m,{timeout:c.socksTimeout});return(0,r.connect)({...p,socket:f})}return(0,r.connect)(c)}var s=(c,d)=>{d.port=d.port||8883,d.host=d.hostname||d.host||"localhost",a.default.isIP(d.host)===0&&(d.servername=d.host),d.rejectUnauthorized=d.rejectUnauthorized!==!1,delete d.path,i("port %d host %s rejectUnauthorized %b",d.port,d.host,d.rejectUnauthorized);let h=l(d);h.on("secureConnect",()=>{d.rejectUnauthorized&&!h.authorized?h.emit("error",new Error("TLS not authorized")):h.removeListener("error",m)});function m(p){d.rejectUnauthorized&&c.emit("error",p),h.end()}return h.on("error",m),h};u.default=s}),Yl=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(ot(),We(rt)),r=Jt(),a=Di(),n,o,i;function l(){let m=new r.Transform;return m._write=(p,f,w)=>{n.send({data:p.buffer,success(){w()},fail(N){w(new Error(N))}})},m._flush=p=>{n.close({success(){p()}})},m}function s(m){m.hostname||(m.hostname="localhost"),m.path||(m.path="/"),m.wsOptions||(m.wsOptions={})}function c(m,p){let f=m.protocol==="wxs"?"wss":"ws",w=`${f}://${m.hostname}${m.path}`;return m.port&&m.port!==80&&m.port!==443&&(w=`${f}://${m.hostname}:${m.port}${m.path}`),typeof m.transformWsUrl=="function"&&(w=m.transformWsUrl(w,m,p)),w}function d(){n.onOpen(()=>{i.socketReady()}),n.onMessage(m=>{let{data:p}=m;p instanceof ArrayBuffer?p=t.Buffer.from(p):p=t.Buffer.from(p,"utf8"),o.push(p)}),n.onClose(()=>{i.emit("close"),i.end(),i.destroy()}),n.onError(m=>{let p=new Error(m.errMsg);i.destroy(p)})}var h=(m,p)=>{if(p.hostname=p.hostname||p.host,!p.hostname)throw new Error("Could not determine host. Specify host manually.");let f=p.protocolId==="MQIsdp"&&p.protocolVersion===3?"mqttv3.1":"mqtt";s(p);let w=c(p,m);n=wx.connectSocket({url:w,protocols:[f]}),o=l(),i=new a.BufferedDuplex(p,o,n),i._destroy=(S,b)=>{n.close({success(){b&&b(S)}})};let N=i.destroy;return i.destroy=(S,b)=>(i.destroy=N,setTimeout(()=>{n.close({fail(){i._destroy(S,b)}})},0),i),d(),i};u.default=h}),Ql=_e(u=>{ye(),we(),be(),Object.defineProperty(u,"__esModule",{value:!0});var t=(ot(),We(rt)),r=Jt(),a=Di(),n,o,i,l=!1;function s(){let p=new r.Transform;return p._write=(f,w,N)=>{n.sendSocketMessage({data:f.buffer,success(){N()},fail(){N(new Error)}})},p._flush=f=>{n.closeSocket({success(){f()}})},p}function c(p){p.hostname||(p.hostname="localhost"),p.path||(p.path="/"),p.wsOptions||(p.wsOptions={})}function d(p,f){let w=p.protocol==="alis"?"wss":"ws",N=`${w}://${p.hostname}${p.path}`;return p.port&&p.port!==80&&p.port!==443&&(N=`${w}://${p.hostname}:${p.port}${p.path}`),typeof p.transformWsUrl=="function"&&(N=p.transformWsUrl(N,p,f)),N}function h(){l||(l=!0,n.onSocketOpen(()=>{i.socketReady()}),n.onSocketMessage(p=>{if(typeof p.data=="string"){let f=t.Buffer.from(p.data,"base64");o.push(f)}else{let f=new FileReader;f.addEventListener("load",()=>{if(f.result instanceof ArrayBuffer){o.push(t.Buffer.from(f.result));return}o.push(t.Buffer.from(f.result,"utf-8"))}),f.readAsArrayBuffer(p.data)}}),n.onSocketClose(()=>{i.end(),i.destroy()}),n.onSocketError(p=>{i.destroy(p)}))}var m=(p,f)=>{if(f.hostname=f.hostname||f.host,!f.hostname)throw new Error("Could not determine host. Specify host manually.");let w=f.protocolId==="MQIsdp"&&f.protocolVersion===3?"mqttv3.1":"mqtt";c(f);let N=d(f,p);return n=f.my,n.connectSocket({url:N,protocols:w}),o=s(),i=new a.BufferedDuplex(f,o,n),h(),i};u.default=m}),Q0=_e(u=>{ye(),we(),be();var t=u&&u.__importDefault||function(h){return h&&h.__esModule?h:{default:h}};Object.defineProperty(u,"__esModule",{value:!0}),u.connectAsync=d;var r=t(xt()),a=t((H0(),We(El))),n=t(Ln()),o=t(Pr());typeof(ze==null?void 0:ze.nextTick)!="function"&&(ze.nextTick=setImmediate);var i=(0,r.default)("mqttjs"),l=null;function s(h){let m;if(h.auth)if(m=h.auth.match(/^(.+):(.+)$/),m){let[,p,f]=m;h.username=p,h.password=f}else h.username=h.auth}function c(h,m){var w,N,S;if(i("connecting to an MQTT broker..."),typeof h=="object"&&!m&&(m=h,h=""),m=m||{},h&&typeof h=="string"){let b=a.default.parse(h,!0),E={};if(b.port!=null&&(E.port=Number(b.port)),E.host=b.hostname,E.query=b.query,E.auth=b.auth,E.protocol=b.protocol,E.path=b.path,m={...E,...m},!m.protocol)throw new Error("Missing protocol");m.protocol=m.protocol.replace(/:$/,"")}if(m.unixSocket=m.unixSocket||((w=m.protocol)==null?void 0:w.includes("+unix")),m.unixSocket?m.protocol=m.protocol.replace("+unix",""):!((N=m.protocol)!=null&&N.startsWith("ws"))&&!((S=m.protocol)!=null&&S.startsWith("wx"))&&delete m.path,s(m),m.query&&typeof m.query.clientId=="string"&&(m.clientId=m.query.clientId),o.default||m.unixSocket?m.socksProxy=void 0:m.socksProxy===void 0&&typeof ze<"u"&&(m.socksProxy=ze.env.MQTTJS_SOCKS_PROXY),m.cert&&m.key)if(m.protocol){if(["mqtts","wss","wxs","alis"].indexOf(m.protocol)===-1)switch(m.protocol){case"mqtt":m.protocol="mqtts";break;case"ws":m.protocol="wss";break;case"wx":m.protocol="wxs";break;case"ali":m.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${m.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(l||(l={},!o.default&&!m.forceNativeWebSocket?(l.ws=so().streamBuilder,l.wss=so().streamBuilder,l.mqtt=ql().default,l.tcp=ql().default,l.ssl=Kl().default,l.tls=l.ssl,l.mqtts=Kl().default):(l.ws=so().browserStreamBuilder,l.wss=so().browserStreamBuilder,l.wx=Yl().default,l.wxs=Yl().default,l.ali=Ql().default,l.alis=Ql().default)),!l[m.protocol]){let b=["mqtts","wss"].indexOf(m.protocol)!==-1;m.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((E,k)=>b&&k%2===0?!1:typeof l[E]=="function")[0]}if(m.clean===!1&&!m.clientId)throw new Error("Missing clientId for unclean clients");m.protocol&&(m.defaultProtocol=m.protocol);function p(b){return m.servers&&((!b._reconnectCount||b._reconnectCount===m.servers.length)&&(b._reconnectCount=0),m.host=m.servers[b._reconnectCount].host,m.port=m.servers[b._reconnectCount].port,m.protocol=m.servers[b._reconnectCount].protocol?m.servers[b._reconnectCount].protocol:m.defaultProtocol,m.hostname=m.host,b._reconnectCount++),i("calling streambuilder for",m.protocol),l[m.protocol](b,m)}let f=new n.default(p,m);return f.on("error",()=>{}),f}function d(h,m,p=!0){return new Promise((f,w)=>{let N=c(h,m),S={connect:E=>{b(),f(N)},end:()=>{b(),f(N)},error:E=>{b(),N.end(),w(E)}};p===!1&&(S.close=()=>{S.error(new Error("Couldn't connect to server"))});function b(){Object.keys(S).forEach(E=>{N.off(E,S[E])})}Object.keys(S).forEach(E=>{N.on(E,S[E])})})}u.default=c}),Jl=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(p,f,w,N){N===void 0&&(N=w);var S=Object.getOwnPropertyDescriptor(f,w);(!S||("get"in S?!f.__esModule:S.writable||S.configurable))&&(S={enumerable:!0,get:function(){return f[w]}}),Object.defineProperty(p,N,S)}:function(p,f,w,N){N===void 0&&(N=w),p[N]=f[w]}),r=u&&u.__setModuleDefault||(Object.create?function(p,f){Object.defineProperty(p,"default",{enumerable:!0,value:f})}:function(p,f){p.default=f}),a=u&&u.__importStar||function(){var p=function(f){return p=Object.getOwnPropertyNames||function(w){var N=[];for(var S in w)Object.prototype.hasOwnProperty.call(w,S)&&(N[N.length]=S);return N},p(f)};return function(f){if(f&&f.__esModule)return f;var w={};if(f!=null)for(var N=p(f),S=0;S<N.length;S++)N[S]!=="default"&&t(w,f,N[S]);return r(w,f),w}}(),n=u&&u.__exportStar||function(p,f){for(var w in p)w!=="default"&&!Object.prototype.hasOwnProperty.call(f,w)&&t(f,p,w)},o=u&&u.__importDefault||function(p){return p&&p.__esModule?p:{default:p}};Object.defineProperty(u,"__esModule",{value:!0}),u.ReasonCodes=u.KeepaliveManager=u.UniqueMessageIdProvider=u.DefaultMessageIdProvider=u.Store=u.MqttClient=u.connectAsync=u.connect=u.Client=void 0;var i=o(Ln());u.MqttClient=i.default;var l=o(ns());u.DefaultMessageIdProvider=l.default;var s=o(l0());u.UniqueMessageIdProvider=s.default;var c=o(Ja());u.Store=c.default;var d=a(Q0());u.connect=d.default,Object.defineProperty(u,"connectAsync",{enumerable:!0,get:function(){return d.connectAsync}});var h=o(us());u.KeepaliveManager=h.default,u.Client=i.default,n(Ln(),u),n(ar(),u);var m=Br();Object.defineProperty(u,"ReasonCodes",{enumerable:!0,get:function(){return m.ReasonCodes}})}),J0=_e(u=>{ye(),we(),be();var t=u&&u.__createBinding||(Object.create?function(i,l,s,c){c===void 0&&(c=s);var d=Object.getOwnPropertyDescriptor(l,s);(!d||("get"in d?!l.__esModule:d.writable||d.configurable))&&(d={enumerable:!0,get:function(){return l[s]}}),Object.defineProperty(i,c,d)}:function(i,l,s,c){c===void 0&&(c=s),i[c]=l[s]}),r=u&&u.__setModuleDefault||(Object.create?function(i,l){Object.defineProperty(i,"default",{enumerable:!0,value:l})}:function(i,l){i.default=l}),a=u&&u.__importStar||function(){var i=function(l){return i=Object.getOwnPropertyNames||function(s){var c=[];for(var d in s)Object.prototype.hasOwnProperty.call(s,d)&&(c[c.length]=d);return c},i(l)};return function(l){if(l&&l.__esModule)return l;var s={};if(l!=null)for(var c=i(l),d=0;d<c.length;d++)c[d]!=="default"&&t(s,l,c[d]);return r(s,l),s}}(),n=u&&u.__exportStar||function(i,l){for(var s in i)s!=="default"&&!Object.prototype.hasOwnProperty.call(l,s)&&t(l,i,s)};Object.defineProperty(u,"__esModule",{value:!0});var o=a(Jl());u.default=o,n(Jl(),u)});const X0=J0();/*! Bundled license information:
6
+ */var wo=typeof document<"u"?document.currentScript:null;function Vc(d){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(d){for(const r in d)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(d,r);Object.defineProperty(t,r,s.get?s:{enumerable:!0,get:()=>d[r]})}}return t.default=d,Object.freeze(t)}const rs=Vc(xc);class os extends Le.Node{}(function(d){function t(r){const s=[],o=Le.Markup.getForeignObjectMarkup();return r?s.push({tagName:r,selector:"body"},o):s.push(o),s}d.config({view:"vue-shape-view",markup:t(),attrs:{body:{fill:"none",stroke:"none",refWidth:"100%",refHeight:"100%"},fo:{refWidth:"100%",refHeight:"100%"}},propHooks(r){if(r.markup==null){const s=r.primer;if(s){r.markup=t(s);let o={};switch(s){case"circle":o={refCx:"50%",refCy:"50%",refR:"50%"};break;case"ellipse":o={refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"};break}r.attrs=Le.ObjectExt.merge({},{body:Object.assign({refWidth:null,refHeight:null},o)},r.attrs||{})}}return r}}),Le.Node.registry.register("vue-shape",d,!0)})(os||(os={}));var Cc=function(d,t){var r={};for(var s in d)Object.prototype.hasOwnProperty.call(d,s)&&t.indexOf(s)<0&&(r[s]=d[s]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,s=Object.getOwnPropertySymbols(d);o<s.length;o++)t.indexOf(s[o])<0&&Object.prototype.propertyIsEnumerable.call(d,s[o])&&(r[s[o]]=d[s[o]]);return r};const ns={};function is(d){const{shape:t,component:r,inherit:s}=d,o=Cc(d,["shape","component","inherit"]);if(!t)throw new Error("should specify shape in config");ns[t]={component:r},Le.Graph.registerNode(t,Object.assign({inherit:s||"vue-shape"},o),!0)}e.reactive({});class Cr extends Le.NodeView{getComponentContainer(){return this.selectors&&this.selectors.foContent}confirmUpdate(t){const r=super.confirmUpdate(t);return this.handleAction(r,Cr.action,()=>{this.renderVueComponent()})}targetId(){return`${this.graph.view.cid}:${this.cell.id}`}renderVueComponent(){this.unmountVueComponent();const t=this.getComponentContainer(),r=this.cell,s=this.graph;if(t){const{component:o}=ns[r.shape];o&&(this.vm=e.createApp({render(){return e.h(o,{node:r,graph:s})},provide(){return{getNode:()=>r,getGraph:()=>s}}}),this.vm.mount(t))}}unmountVueComponent(){const t=this.getComponentContainer();return this.vm&&(this.vm.unmount(),this.vm=null),t&&(t.innerHTML=""),t}onMouseDown(t,r,s){const o=t.target;if(o.tagName.toLowerCase()==="input"){const i=o.getAttribute("type");if(i==null||["text","password","number","email","search","tel","url"].includes(i))return}super.onMouseDown(t,r,s)}unmount(){return this.unmountVueComponent(),super.unmount(),this}}(function(d){d.action="vue",d.config({bootstrap:[d.action],actions:{component:d.action}}),Le.NodeView.registry.register("vue-shape-view",d,!0)})(Cr||(Cr={}));const Ac={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Ic=e.defineComponent({name:"AlignHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Ac,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 18h-7v-4h3a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2h-3V2h-2v4h-3a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h3v4H8a2.002 2.002 0 0 0-2 2v4a2.002 2.002 0 0 0 2 2h7v4h2v-4h7a2.002 2.002 0 0 0 2-2v-4a2.002 2.002 0 0 0-2-2zM12 8h8v4h-8zm12 16H8v-4h16z",fill:"currentColor"},null,-1)]))}}),Tc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},$c=e.defineComponent({name:"AlignHorizontalLeft",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Tc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M26 26H11a2.002 2.002 0 0 1-2-2v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 20v4h15z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M18 14h-7a2.002 2.002 0 0 1-2-2V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2zm0-6.001L11 8v4h7z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M4 2h2v28H4z",fill:"currentColor"},null,-1)]))}}),Bc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Dc=e.defineComponent({name:"AlignHorizontalRight",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Bc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M4 24v-4a2.002 2.002 0 0 1 2-2h15a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2H6a2.002 2.002 0 0 1-2-2zm2 0h15v-4l-15-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 12V8a2.002 2.002 0 0 1 2-2h7a2.002 2.002 0 0 1 2 2v4a2.002 2.002 0 0 1-2 2h-7a2.002 2.002 0 0 1-2-2zm2 0h7V8l-7-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M28 30h-2V2h2z",fill:"currentColor"},null,-1)]))}}),Pc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Oc=e.defineComponent({name:"AlignVerticalBottom",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Pc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M2 26h28v2H2z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M24 23h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 14z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 23H8a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 6v15h4.001L12 6z",fill:"currentColor"},null,-1)]))}}),Mc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Rc=e.defineComponent({name:"AlignVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Mc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 15h-4v-3a2.002 2.002 0 0 0-2-2h-4a2.002 2.002 0 0 0-2 2v3h-4V8a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v7H2v2h4v7a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-7h4v3a2.002 2.002 0 0 0 2 2h4a2.002 2.002 0 0 0 2-2v-3h4zM8 24V8h4l.001 16zm12-4v-8h4l.001 8z",fill:"currentColor"},null,-1)]))}}),jc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Lc=e.defineComponent({name:"AlignVerticalTop",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",jc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 20h-4a2.002 2.002 0 0 1-2-2v-7a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v7a2.002 2.002 0 0 1-2 2zm-4-9v7h4.001L24 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 28H8a2.002 2.002 0 0 1-2-2V11a2.002 2.002 0 0 1 2-2h4a2.002 2.002 0 0 1 2 2v15a2.002 2.002 0 0 1-2 2zM8 11v15h4.001L12 11z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M2 4h28v2H2z",fill:"currentColor"},null,-1)]))}}),Uc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Fc=e.defineComponent({name:"DistributeHorizontalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",Uc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M24 10h-1V2h-2v8h-1a2.002 2.002 0 0 0-2 2v8a2.002 2.002 0 0 0 2 2h1v8h2v-8h1a2.002 2.002 0 0 0 2-2v-8a2.002 2.002 0 0 0-2-2zm0 10h-4v-8h4z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M12 6h-1V2H9v4H8a2.002 2.002 0 0 0-2 2v16a2.002 2.002 0 0 0 2 2h1v4h2v-4h1a2.002 2.002 0 0 0 2-2V8a2.002 2.002 0 0 0-2-2zm0 18H8V8h4z",fill:"currentColor"},null,-1)]))}}),zc={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},Wc=e.defineComponent({name:"DistributeVerticalCenter",render:function(t,r){return e.openBlock(),e.createElementBlock("svg",zc,r[0]||(r[0]=[e.createElementVNode("path",{d:"M30 21h-4v-1a2.002 2.002 0 0 0-2-2H8a2.002 2.002 0 0 0-2 2v1H2v2h4v1a2.002 2.002 0 0 0 2 2h16a2.002 2.002 0 0 0 2-2v-1h4zm-6 3H8v-4l16-.001z",fill:"currentColor"},null,-1),e.createElementVNode("path",{d:"M30 9h-8V8a2.002 2.002 0 0 0-2-2h-8a2.002 2.002 0 0 0-2 2v1H2v2h8v1a2.002 2.002 0 0 0 2 2h8a2.002 2.002 0 0 0 2-2v-1h8zm-10 3h-8V8l8-.001z",fill:"currentColor"},null,-1)]))}}),qc={version:"1.1.29"},Gc={class:"scada-header"},Hc={class:"header-left"},Kc={class:"version"},Qc={class:"header-center"},Yc={class:"tool-group"},Jc={key:0,class:"divider"},Xc={key:1,class:"tool-group"},Zc={key:2,class:"divider"},ed={key:3,class:"tool-group"},td={class:"header-right"},rd={class:"tool-group"},od=e.defineComponent({__name:"Header",props:{selectedNodesCount:{default:0}},emits:["save","import","workflow","preview","export","dataSource","zoomIn","zoomOut","clearAll","alignLeft","alignCenter","alignRight","alignTop","alignMiddle","alignBottom","distributeHorizontal","distributeVertical"],setup(d,{emit:t}){const r=qc.version,s=d,o=t;return(n,i)=>(e.openBlock(),e.createElementBlock("header",Gc,[e.createElementVNode("div",Hc,[e.renderSlot(n.$slots,"left",{},()=>[i[17]||(i[17]=e.createElementVNode("h1",{class:"logo"},"SCADA 组态引擎",-1)),e.createElementVNode("span",Kc,"v"+e.toDisplayString(e.unref(r)),1)],!0)]),e.createElementVNode("div",Qc,[e.createElementVNode("div",Yc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[0]||(i[0]=l=>o("zoomIn")),title:"放大"},[...i[18]||(i[18]=[e.createElementVNode("span",{class:"icon"},"+",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[1]||(i[1]=l=>o("zoomOut")),title:"缩小"},[...i[19]||(i[19]=[e.createElementVNode("span",{class:"icon"},"-",-1)])]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[2]||(i[2]=l=>o("clearAll")),title:"清空画布"},[...i[20]||(i[20]=[e.createElementVNode("span",{class:"icon"},"🗑",-1)])])]),s.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Jc)):e.createCommentVNode("",!0),s.selectedNodesCount>=2?(e.openBlock(),e.createElementBlock("div",Xc,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[3]||(i[3]=l=>o("alignLeft")),title:"左对齐"},[e.createVNode(e.unref($c),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[4]||(i[4]=l=>o("alignCenter")),title:"水平居中"},[e.createVNode(e.unref(Ic),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[5]||(i[5]=l=>o("alignRight")),title:"右对齐"},[e.createVNode(e.unref(Dc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[6]||(i[6]=l=>o("alignTop")),title:"顶部对齐"},[e.createVNode(e.unref(Lc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[7]||(i[7]=l=>o("alignMiddle")),title:"垂直居中"},[e.createVNode(e.unref(Rc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[8]||(i[8]=l=>o("alignBottom")),title:"底部对齐"},[e.createVNode(e.unref(Oc),{class:"icon-svg"})])])):e.createCommentVNode("",!0),s.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",Zc)):e.createCommentVNode("",!0),s.selectedNodesCount>=3?(e.openBlock(),e.createElementBlock("div",ed,[e.createElementVNode("button",{class:"toolbar-btn",onClick:i[9]||(i[9]=l=>o("distributeHorizontal")),title:"横向分布"},[e.createVNode(e.unref(Fc),{class:"icon-svg"})]),e.createElementVNode("button",{class:"toolbar-btn",onClick:i[10]||(i[10]=l=>o("distributeVertical")),title:"纵向分布"},[e.createVNode(e.unref(Wc),{class:"icon-svg"})])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",td,[e.createElementVNode("div",rd,[e.createElementVNode("button",{class:"header-btn",onClick:i[11]||(i[11]=l=>o("dataSource")),title:"数据源管理"},[...i[21]||(i[21]=[e.createElementVNode("span",{class:"icon"},"📡",-1),e.createElementVNode("span",null,"数据源",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[12]||(i[12]=l=>o("workflow")),title:"流程编排"},[...i[22]||(i[22]=[e.createElementVNode("span",{class:"icon"},"⚡",-1),e.createElementVNode("span",null,"流程编排",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[13]||(i[13]=l=>o("import")),title:"导入"},[...i[23]||(i[23]=[e.createElementVNode("span",{class:"icon"},"📂",-1),e.createElementVNode("span",null,"导入",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[14]||(i[14]=l=>o("export")),title:"导出"},[...i[24]||(i[24]=[e.createElementVNode("span",{class:"icon"},"📤",-1),e.createElementVNode("span",null,"导出",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[15]||(i[15]=l=>o("preview")),title:"预览"},[...i[25]||(i[25]=[e.createElementVNode("span",{class:"icon"},"👁",-1),e.createElementVNode("span",null,"预览",-1)])]),e.createElementVNode("button",{class:"header-btn",onClick:i[16]||(i[16]=l=>o("save")),title:"保存"},[...i[26]||(i[26]=[e.createElementVNode("span",{class:"icon"},"💾",-1),e.createElementVNode("span",null,"保存",-1)])])])])]))}}),Me=(d,t)=>{const r=d.__vccOpts||d;for(const[s,o]of t)r[s]=o;return r},Eo=Me(od,[["__scopeId","data-v-70211483"]]),vo=[{key:"animationEnabled",label:"启用动画",type:"boolean",path:"data.animation.enabled",defaultValue:!1,description:"是否启用动画效果",bindable:!0},{key:"animationType",label:"动画类型",type:"select",path:"data.animation.type",defaultValue:"none",options:[{label:"无动画",value:"none"},{label:"闪烁",value:"blink"},{label:"缩放",value:"scale"},{label:"旋转",value:"rotate"},{label:"浮动",value:"float"},{label:"脉冲",value:"pulse"}],description:"组件动画效果类型",bindable:!1},{key:"animationDuration",label:"动画时长(ms)",type:"number",path:"data.animation.duration",defaultValue:1e3,min:100,max:5e3,step:100,description:"动画完成一次所需时间",bindable:!1},{key:"animationLoop",label:"循环播放",type:"boolean",path:"data.animation.loop",defaultValue:!0,description:"是否循环播放动画",bindable:!1}],ss={metadata:{id:"rect",name:"矩形",category:"basic",icon:"▢",description:"基础矩形图形组件",version:"1.0.0"},shape:"rect",width:120,height:60,label:"矩形",attrs:{body:{fill:"#3b82f6",stroke:"#2563eb",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"name",label:"按钮文本",type:"text",path:"attrs.label.text",defaultValue:"矩形",description:"矩形名称"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#3b82f6",description:"矩形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#2563eb",description:"矩形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"矩形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"矩形透明度"},...vo]},as={metadata:{id:"circle",name:"圆形",category:"basic",icon:"○",description:"基础圆形图形组件",version:"1.0.0"},shape:"circle",width:80,height:80,label:"圆形",attrs:{body:{fill:"#10b981",stroke:"#059669",strokeWidth:2},label:{fill:"#fff",fontSize:14}},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"text",label:"初始文本",type:"text",path:"attrs.label.text",defaultValue:"圆形",description:"圆形初始文本"},{key:"fill",label:"填充色",type:"color",path:"attrs.body.fill",defaultValue:"#10b981",description:"圆形填充颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#059669",description:"圆形边框颜色"},{key:"strokeWidth",label:"边框宽度",type:"number",path:"attrs.body.strokeWidth",defaultValue:2,min:0,max:10,description:"圆形边框宽度"},{key:"opacity",label:"透明度",type:"slider",path:"attrs.body.opacity",defaultValue:1,min:0,max:1,step:.1,description:"圆形透明度"},...vo]},ls={metadata:{id:"text",name:"文本",category:"basic",icon:"T",description:"文本标签组件",version:"1.0.0"},shape:"rect",width:100,height:40,label:"文本",attrs:{body:{fill:"transparent",stroke:"#64748b",strokeWidth:1,strokeDasharray:"5 5"},label:{fill:"#e2e8f0",fontSize:16}},props:[{key:"label",label:"文本内容",type:"text",path:"attrs.label.text",defaultValue:"文本",description:"显示的文本内容"},{key:"fontSize",label:"字体大小",type:"number",path:"attrs.label.fontSize",defaultValue:16,min:12,max:48,description:"文本字体大小"},{key:"fontColor",label:"字体颜色",type:"color",path:"attrs.label.fill",defaultValue:"#e2e8f0",description:"文本字体颜色"},{key:"stroke",label:"边框色",type:"color",path:"attrs.body.stroke",defaultValue:"#64748b",description:"边框颜色"},...vo]},nd=Object.freeze(Object.defineProperty({__proto__:null,CircleComponent:as,RectComponent:ss,TextComponent:ls},Symbol.toStringTag,{value:"Module"})),id={class:"light-3d-container"},sd={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},ad=["id"],ld=["stop-color"],cd=["stop-color"],dd=["stop-color"],ud=["id"],fd=["id"],pd=["id"],hd=["flood-color"],md=["fill","filter"],gd=["fill","filter"],yd=["opacity"],bd={key:1,opacity:"0.8"},wd=["fill"],Ed=["fill"],vd=["fill"],kd=["fill"],_d=["fill"],cs={metadata:{id:"light",name:"3D灯泡",category:"iot",icon:"💡",description:"3D仿真IoT灯泡控制组件",version:"2.0.0"},shape:"light-3d-vue",component:Me(e.defineComponent({__name:"Light3D",props:{node:{}},setup(d){const t=d,r=e.ref(`light-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref("#fbbf24"),i=(a,c)=>{const u=a.replace("#",""),h=parseInt(u.substring(0,2),16),m=parseInt(u.substring(2,4),16),f=parseInt(u.substring(4,6),16),p=Math.max(0,Math.floor(h*(1-c))),w=Math.max(0,Math.floor(m*(1-c))),N=Math.max(0,Math.floor(f*(1-c)));return`#${p.toString(16).padStart(2,"0")}${w.toString(16).padStart(2,"0")}${N.toString(16).padStart(2,"0")}`},l=()=>{const a=s();o.value=a.state===!0||a.state==="on",n.value=a.color||"#fbbf24"};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(a,c)=>(e.openBlock(),e.createElementBlock("div",id,[(e.openBlock(),e.createElementBlock("svg",sd,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`,cx:"40%",cy:"30%"},[e.createElementVNode("stop",{offset:"0%","stop-color":o.value?"#fff9e6":"#e5e7eb"},null,8,ld),e.createElementVNode("stop",{offset:"50%","stop-color":o.value?n.value:"#d1d5db"},null,8,cd),e.createElementVNode("stop",{offset:"100%","stop-color":o.value?i(n.value,.3):"#9ca3af"},null,8,dd)],8,ad),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,ud),e.createElementVNode("filter",{id:`glow-${r.value}`},[...c[1]||(c[1]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,fd),e.createElementVNode("filter",{id:`outer-glow-${r.value}`},[c[2]||(c[2]=e.createElementVNode("feGaussianBlur",{stdDeviation:"5",result:"blur"},null,-1)),e.createElementVNode("feFlood",{"flood-color":n.value,"flood-opacity":"0.6",result:"color"},null,8,hd),c[3]||(c[3]=e.createElementVNode("feComposite",{in:"color",in2:"blur",operator:"in",result:"glow"},null,-1)),c[4]||(c[4]=e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"glow"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1))],8,pd)]),o.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"50",cy:"35",r:"32",fill:n.value,opacity:"0.3",filter:`url(#outer-glow-${r.value})`},null,8,md)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"35",rx:"25",ry:"28",fill:`url(#bulb-gradient-${r.value})`,stroke:"#cbd5e1","stroke-width":"0.5",filter:o.value?`url(#glow-${r.value})`:"none"},null,8,gd),e.createElementVNode("ellipse",{cx:"42",cy:"25",rx:"8",ry:"10",fill:"#ffffff",opacity:o.value?.7:.3},null,8,yd),o.value?(e.openBlock(),e.createElementBlock("g",bd,[...c[5]||(c[5]=[e.createElementVNode("path",{d:"M 45 30 Q 47 35 45 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1),e.createElementVNode("path",{d:"M 55 30 Q 53 35 55 40",stroke:"#ff9500","stroke-width":"1.5",fill:"none"},null,-1)])])):e.createCommentVNode("",!0),c[10]||(c[10]=e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"15",ry:"4",fill:"#94a3b8"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"40",y:"63",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,wd),e.createElementVNode("rect",{x:"40",y:"67",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,Ed),e.createElementVNode("rect",{x:"40",y:"71",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,vd),e.createElementVNode("rect",{x:"40",y:"75",width:"20",height:"3",fill:`url(#base-gradient-${r.value})`,rx:"1"},null,8,kd),c[6]||(c[6]=e.createElementVNode("rect",{x:"40",y:"66",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[7]||(c[7]=e.createElementVNode("rect",{x:"40",y:"70",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[8]||(c[8]=e.createElementVNode("rect",{x:"40",y:"74",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1)),c[9]||(c[9]=e.createElementVNode("rect",{x:"40",y:"78",width:"20",height:"1",fill:"#1e293b",opacity:"0.3"},null,-1))]),e.createElementVNode("ellipse",{cx:"50",cy:"80",rx:"12",ry:"5",fill:`url(#base-gradient-${r.value})`},null,8,_d),c[11]||(c[11]=e.createElementVNode("ellipse",{cx:"50",cy:"83",rx:"8",ry:"3",fill:"#334155"},null,-1)),c[12]||(c[12]=e.createElementVNode("circle",{cx:"50",cy:"85",r:"2",fill:"#475569"},null,-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":o.value}])},e.toDisplayString(o.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-7237b5fc"]]),width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"light",state:!1,color:"#fbbf24",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"灯泡状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"灯泡开关状态",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#fbbf24",description:"灯泡发光颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"灯泡开关状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"color",name:"灯光颜色",description:"灯泡发光颜色(十六进制颜色值)",dataType:"string",defaultValue:"#fbbf24",required:!1},{id:"brightness",name:"亮度",description:"灯泡亮度百分比",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},Nd={class:"switch-3d-container"},Sd={viewBox:"0 0 120 80",xmlns:"http://www.w3.org/2000/svg"},xd=["id"],Vd=["id"],Cd=["id"],Ad=["id"],Id=["fill"],Td=["fill"],$d=["fill"],Bd=["transform"],Dd=["fill"],Pd=["fill","filter"],Od=["opacity"],Md=["fill","filter"],Rd=["opacity"],ds={metadata:{id:"switch",name:"3D开关",category:"iot",icon:"🔘",description:"3D仿真IoT开关控制组件",version:"2.0.0"},shape:"switch-3d-vue",component:Me(e.defineComponent({__name:"Switch3D",props:{node:{}},setup(d){const t=d,r=e.ref(`switch-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.computed(()=>o.value?72:48),i=()=>{const l=s();o.value=l.state===!0||l.state==="on"};return e.watch(()=>t.node,()=>{i()},{deep:!0}),e.onMounted(()=>{i(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{i()})}),(l,a)=>(e.openBlock(),e.createElementBlock("div",Nd,[(e.openBlock(),e.createElementBlock("svg",Sd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...a[0]||(a[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,xd),e.createElementVNode("linearGradient",{id:`track-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...a[1]||(a[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#0f172a"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Vd),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...a[2]||(a[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#e2e8f0"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#94a3b8"},null,-1)])],8,Cd),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...a[3]||(a[3]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"3",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Ad)]),e.createElementVNode("rect",{x:"20",y:"25",width:"80",height:"50",rx:"8",fill:`url(#base-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Id),a[6]||(a[6]=e.createStaticVNode('<g data-v-09d0019e><circle cx="30" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="35" x2="32" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="35" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="35" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="35" x2="92" y2="35" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="30" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="30" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="28" y1="65" x2="32" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line><circle cx="90" cy="65" r="3" fill="#0f172a" data-v-09d0019e></circle><circle cx="90" cy="65" r="1.5" fill="#475569" data-v-09d0019e></circle><line x1="88" y1="65" x2="92" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-09d0019e></line></g>',1)),e.createElementVNode("rect",{x:"40",y:"38",width:"40",height:"24",rx:"12",fill:`url(#track-gradient-${r.value})`,stroke:"#0f172a","stroke-width":"1"},null,8,Td),a[7]||(a[7]=e.createElementVNode("text",{x:"48",y:"53","font-size":"8",fill:"#64748b","text-anchor":"middle","font-weight":"bold"},"OFF",-1)),e.createElementVNode("text",{x:"72",y:"53","font-size":"8",fill:o.value?"#22c55e":"#64748b","text-anchor":"middle","font-weight":"bold"},"ON",8,$d),e.createElementVNode("g",{transform:`translate(${n.value}, 0)`,style:{transition:"transform 0.3s ease"}},[a[4]||(a[4]=e.createElementVNode("ellipse",{cx:"0",cy:"52",rx:"10",ry:"3",fill:"#000",opacity:"0.3"},null,-1)),e.createElementVNode("rect",{x:"-8",y:"40",width:"16",height:"20",rx:"8",fill:`url(#handle-gradient-${r.value})`,stroke:"#94a3b8","stroke-width":"1"},null,8,Dd),a[5]||(a[5]=e.createStaticVNode('<g opacity="0.3" data-v-09d0019e><line x1="-4" y1="43" x2="-4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="0" y1="43" x2="0" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line><line x1="4" y1="43" x2="4" y2="57" stroke="#64748b" stroke-width="0.5" data-v-09d0019e></line></g><rect x="-6" y="42" width="4" height="8" rx="2" fill="#ffffff" opacity="0.4" data-v-09d0019e></rect>',2))],8,Bd),e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"35",cy:"50",r:"3",fill:o.value?"#334155":"#ef4444",filter:o.value?"none":`url(#indicator-glow-${r.value})`},null,8,Pd),e.createElementVNode("circle",{cx:"35",cy:"50",r:"1.5",fill:"#ffffff",opacity:o.value?.1:.6},null,8,Od),e.createElementVNode("circle",{cx:"85",cy:"50",r:"3",fill:o.value?"#22c55e":"#334155",filter:o.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Md),e.createElementVNode("circle",{cx:"85",cy:"50",r:"1.5",fill:"#ffffff",opacity:o.value?.6:.1},null,8,Rd)]),a[8]||(a[8]=e.createStaticVNode('<g data-v-09d0019e><rect x="15" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="19" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle><rect x="97" y="47" width="8" height="6" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-09d0019e></rect><circle cx="101" cy="50" r="1.5" fill="#94a3b8" data-v-09d0019e></circle></g><rect x="50" y="67" width="20" height="6" rx="1" fill="#0f172a" opacity="0.7" data-v-09d0019e></rect><text x="60" y="71" font-size="3" fill="#64748b" text-anchor="middle" font-family="monospace" data-v-09d0019e>KCD1-101</text>',3))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-on":o.value}])},e.toDisplayString(o.value?"开启":"关闭"),3)]))}}),[["__scopeId","data-v-09d0019e"]]),width:140,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"switch",state:!1,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"开关状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:!0}],description:"开关当前状态",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"开关状态",description:"开关当前状态(开/关)",dataType:"boolean",defaultValue:!1,required:!0},{id:"enabled",name:"启用状态",description:"开关是否可用",dataType:"boolean",defaultValue:!0,required:!1}]},us=[{id:"basic",name:"基础仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#67e0e3"],[.7,"#37a2da"],[1,"#fd666d"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}"}}},{id:"temperature",name:"温度仪表盘",config:{min:-20,max:50,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#2563eb"],[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}°C"}}},{id:"humidity",name:"湿度仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#fbbf24"],[.7,"#3b82f6"],[1,"#1e40af"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"speed",name:"速度仪表盘",config:{min:0,max:200,splitNumber:10,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.4,"#10b981"],[.7,"#f59e0b"],[1,"#ef4444"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} km/h"}}},{id:"pressure",name:"压力仪表盘",config:{min:0,max:10,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.5,"#22c55e"],[.8,"#f59e0b"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} MPa"}}},{id:"rpm",name:"转速仪表盘",config:{min:0,max:8e3,splitNumber:8,startAngle:225,endAngle:-45,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.6,"#06b6d4"],[.85,"#eab308"],[1,"#dc2626"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:20,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:14,color:"#999"},detail:{fontSize:30,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} RPM"}}},{id:"battery",name:"电池仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.2,"#dc2626"],[.5,"#f59e0b"],[1,"#22c55e"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"80%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value}%"}}},{id:"power",name:"功率仪表盘",config:{min:0,max:100,splitNumber:5,radius:"100%",axisLine:{lineStyle:{width:10,color:[[.3,"#64748b"],[.7,"#3b82f6"],[1,"#8b5cf6"]]}},axisTick:{distance:2,length:5,lineStyle:{color:"#fff",width:1}},splitLine:{distance:2,length:10,lineStyle:{color:"#fff",width:2}},axisLabel:{distance:10,fontSize:12,color:"#999"},title:{offsetCenter:[0,"90%"],fontSize:12,color:"#999"},detail:{fontSize:20,offsetCenter:[0,"45%"],color:"#fff",formatter:"{value} kW"}}}];function jd(d){return us.find(t=>t.id===d)}const fs={metadata:{id:"echarts-gauge",name:"ECharts仪表盘",category:"iot",icon:"📈",description:"ECharts 仪表盘数据展示组件,支持丰富的配置选项",version:"1.0.0"},shape:"echarts-vue",component:Me(e.defineComponent({__name:"EChartsGauge",props:{node:{}},setup(d){const t=d,r=e.ref();let s=null;const o=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=()=>{r.value&&(s&&s.dispose(),s=rs.init(r.value),i())},i=()=>{if(!s)return;const l=o(),a=l.presetId||"basic",c=jd(a),u={tooltip:{formatter:"{a} <br/>{b} : {c}%"},series:[{name:l.name||"Pressure",type:"gauge",data:[{value:l.value??50,name:l.title||"SCORE"}]}]};c&&c.config&&Object.assign(u.series[0],c.config),s.setOption(u,!0)};return e.watch(()=>{var l;return(l=t.node)==null?void 0:l.data},(l,a)=>{i()},{deep:!0}),e.watch(()=>{var l,a;return(a=(l=t.node)==null?void 0:l.data)==null?void 0:a.presetId},(l,a)=>{l!==a&&i()}),e.watch(()=>{var l;return(l=t.node)==null?void 0:l.size},()=>{if(s&&t.node){const l=t.node.getSize?t.node.getSize():t.node.size||{width:200,height:200};s.resize({width:l.width,height:l.height})}},{deep:!0}),e.onMounted(()=>{setTimeout(()=>{n(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{s&&(s.dispose(),s=null)}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartRef",ref:r,class:"echarts-gauge-component",style:{width:"100%",height:"100%"}},null,512))}}),[["__scopeId","data-v-08427ff6"]]),width:200,height:200,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-gauge",presetId:"basic",value:50,title:"SCORE",name:"Pressure"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"仪表盘类型",type:"select",path:"data.presetId",defaultValue:"basic",options:us.map(d=>({label:d.name,value:d.id})),description:"选择预设的仪表盘类型,会自动应用对应的配置"},{key:"value",label:"当前值",type:"number",path:"data.value",defaultValue:50,description:"仪表盘当前显示值",bindable:!0},{key:"title",label:"标题",type:"text",path:"data.title",defaultValue:"SCORE",description:"仪表盘标题"},{key:"name",label:"系列名称",type:"text",path:"data.name",defaultValue:"Pressure",description:"显示在 tooltip 中的系列名称"}],points:[{id:"value",name:"当前值",description:"仪表盘当前显示的数值",dataType:"number",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"min",name:"最小值",description:"仪表盘刻度最小值",dataType:"number",defaultValue:0,required:!1},{id:"max",name:"最大值",description:"仪表盘刻度最大值",dataType:"number",defaultValue:100,required:!1},{id:"title",name:"标题",description:"仪表盘显示标题",dataType:"string",defaultValue:"SCORE",required:!1}]},ps=[{id:"basic",name:"基础折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:null,symbol:"circle",symbolSize:6,radius:"100%"}},{id:"smooth",name:"平滑曲线",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"area",name:"区域折线图",config:{smooth:!1,lineStyle:{width:2,color:"#5470c6"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(84, 112, 198, 0.3)"},{offset:1,color:"rgba(84, 112, 198, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"smooth-area",name:"平滑区域图",config:{smooth:!0,lineStyle:{width:2,color:"#91cc75"},areaStyle:{color:{type:"linear",x:0,y:0,x2:0,y2:1,colorStops:[{offset:0,color:"rgba(145, 204, 117, 0.3)"},{offset:1,color:"rgba(145, 204, 117, 0.05)"}]}},symbol:"circle",symbolSize:6}},{id:"dashed",name:"虚线折线图",config:{smooth:!1,lineStyle:{width:2,color:"#fac858",type:"dashed"},areaStyle:null,symbol:"circle",symbolSize:6}},{id:"step",name:"阶梯折线图",config:{smooth:!1,step:"middle",lineStyle:{width:2,color:"#ee6666"},areaStyle:null,symbol:"circle",symbolSize:6}}];function Ld(d){return ps.find(t=>t.id===d)}const hs={metadata:{id:"echarts-line",name:"ECharts折线图",category:"iot",icon:"📉",description:"ECharts 折线图数据展示组件,支持时序数据可视化",version:"1.0.0"},shape:"echarts-line-vue",component:e.defineComponent({__name:"EChartsLine",props:{node:{}},setup(d){const t=d,r=e.ref();let s=null;const o=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},n=()=>{r.value&&(s=rs.init(r.value),i())},i=()=>{if(!s)return;const l=o(),a=l.presetId||"basic",c=Ld(a),u={title:{text:l.title||"数据趋势",left:"center",top:10,textStyle:{color:"#fff",fontSize:14}},tooltip:{trigger:"axis",backgroundColor:"rgba(0, 0, 0, 0.7)",borderColor:"#333",textStyle:{color:"#fff"}},grid:{left:"10%",right:"10%",top:"20%",bottom:"15%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:l.xAxisData||["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"}},yAxis:{type:"value",axisLine:{lineStyle:{color:"#999"}},axisLabel:{color:"#999"},splitLine:{lineStyle:{color:"rgba(255, 255, 255, 0.1)"}}},series:[{name:l.seriesName||"Data",type:"line",data:l.seriesData||[120,200,150,80,70,110,130]}]};c&&c.config&&Object.assign(u.series[0],c.config),s.setOption(u,!0)};return e.onMounted(()=>{setTimeout(()=>{n(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",({current:l})=>{i()})},100)}),e.onUnmounted(()=>{s&&(s.dispose(),s=null)}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"chartContainer",ref:r,style:{width:"100%",height:"100%"}},null,512))}}),width:400,height:300,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"echarts-line",presetId:"basic",title:"数据趋势",xAxisData:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],seriesData:[120,200,150,80,70,110,130],seriesName:"Data"},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"}]},props:[{key:"presetId",label:"折线图类型",type:"select",path:"data.presetId",defaultValue:"basic",options:ps.map(d=>({label:d.name,value:d.id})),description:"选择预设的折线图类型"},{key:"title",label:"图表标题",type:"text",path:"data.title",defaultValue:"数据趋势",description:"折线图标题"},{key:"seriesName",label:"系列名称",type:"text",path:"data.seriesName",defaultValue:"Data",description:"显示在 tooltip 和 legend 中的系列名称"}],points:[{id:"series_data",name:"系列数据",description:"折线图Y轴数据数组",dataType:"json",defaultValue:[120,200,150,80,70,110,130],required:!0},{id:"x_axis_data",name:"X轴数据",description:"折线图X轴标签数组",dataType:"json",defaultValue:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],required:!1},{id:"title",name:"图表标题",description:"折线图显示标题",dataType:"string",defaultValue:"数据趋势",required:!1}]};class Ud{constructor(){he(this,"tasks",new Map);he(this,"rafId",null);he(this,"isRunning",!1);he(this,"lastFrameTime",0);he(this,"frameCount",0);he(this,"fpsUpdateTime",0);he(this,"currentFps",0);he(this,"tick",()=>{if(!this.isRunning)return;const t=performance.now();this.frameCount++,t-this.fpsUpdateTime>=1e3&&(this.currentFps=Math.round(this.frameCount*1e3/(t-this.fpsUpdateTime)),this.frameCount=0,this.fpsUpdateTime=t),this.tasks.forEach(r=>{if(r.enabled)try{const s=t-r.lastTime;r.callback(s,t),r.lastTime=t}catch(s){console.error(`[AnimationScheduler] 任务执行错误: ${r.id}`,s)}}),this.rafId=requestAnimationFrame(this.tick)})}register(t,r){const s={id:t,callback:r,enabled:!0,lastTime:performance.now()};this.tasks.set(t,s),console.log(`[AnimationScheduler] 注册动画任务: ${t}, 当前任务数: ${this.tasks.size}`),this.isRunning||this.start()}unregister(t){this.tasks.delete(t)&&console.log(`[AnimationScheduler] 注销动画任务: ${t}, 剩余任务数: ${this.tasks.size}`),this.tasks.size===0&&this.stop()}setEnabled(t,r){const s=this.tasks.get(t);s&&(s.enabled=r,r&&(s.lastTime=performance.now()))}start(){this.isRunning||(this.isRunning=!0,this.lastFrameTime=performance.now(),this.fpsUpdateTime=this.lastFrameTime,this.frameCount=0,console.log("[AnimationScheduler] 🎬 启动调度器"),this.tick())}stop(){this.isRunning&&(this.isRunning=!1,this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),console.log("[AnimationScheduler] ⏹️ 停止调度器"))}getFps(){return this.currentFps}getActiveTaskCount(){let t=0;return this.tasks.forEach(r=>{r.enabled&&t++}),t}pauseAll(){this.tasks.forEach(t=>{t.enabled=!1}),console.log("[AnimationScheduler] ⏸️ 暂停所有动画")}resumeAll(){const t=performance.now();this.tasks.forEach(r=>{r.enabled=!0,r.lastTime=t}),console.log("[AnimationScheduler] ▶️ 恢复所有动画")}destroy(){console.log("[AnimationScheduler] 🗑️ 销毁调度器"),this.stop(),this.tasks.clear()}getStatus(){return{isRunning:this.isRunning,taskCount:this.tasks.size,activeTaskCount:this.getActiveTaskCount(),fps:this.currentFps}}}const We=new Ud,Fd={class:"motor-3d-container"},zd={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Wd=["id"],qd=["id"],Gd=["id"],Hd=["fill"],Kd=["fill"],Qd=["fill"],Yd=["transform"],Jd=["fill","filter"],Xd=["opacity"],Zd={x:"60",y:"61","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},eu=Me(e.defineComponent({__name:"Motor3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var u;return((u=t.node)==null?void 0:u.id)||`motor-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(1500),i=e.ref(7.5),l=e.ref(0),a=u=>{if(o.value){const h=n.value/60*(u/1e3)*360;l.value=(l.value+h)%360}},c=()=>{const u=s(),h=u.state==="running"||u.state===!0;h!==o.value&&We.setEnabled(r.value,h),o.value=h,n.value=u.speed||1500,i.value=u.power||7.5};return e.watch(()=>t.node,()=>{c()},{deep:!0}),e.onMounted(()=>{c(),We.register(r.value,a),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{c()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(u,h)=>(e.openBlock(),e.createElementBlock("div",Fd,[(e.openBlock(),e.createElementBlock("svg",zd,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`motor-body-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...h[0]||(h[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Wd),e.createElementVNode("linearGradient",{id:`shaft-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...h[1]||(h[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,qd),e.createElementVNode("filter",{id:`indicator-glow-${r.value}`},[...h[2]||(h[2]=[e.createElementVNode("feGaussianBlur",{stdDeviation:"2",result:"coloredBlur"},null,-1),e.createElementVNode("feMerge",null,[e.createElementVNode("feMergeNode",{in:"coloredBlur"}),e.createElementVNode("feMergeNode",{in:"SourceGraphic"})],-1)])],8,Gd)]),e.createElementVNode("rect",{x:"20",y:"70",width:"80",height:"25",rx:"3",fill:`url(#motor-body-${r.value})`},null,8,Hd),h[4]||(h[4]=e.createStaticVNode('<rect x="20" y="70" width="80" height="3" fill="#1e293b" opacity="0.3" data-v-4e300d7b></rect><circle cx="30" cy="82" r="3" fill="#334155" data-v-4e300d7b></circle><circle cx="30" cy="82" r="1.5" fill="#64748b" data-v-4e300d7b></circle><circle cx="90" cy="82" r="3" fill="#334155" data-v-4e300d7b></circle><circle cx="90" cy="82" r="1.5" fill="#64748b" data-v-4e300d7b></circle>',5)),e.createElementVNode("ellipse",{cx:"60",cy:"45",rx:"35",ry:"25",fill:`url(#motor-body-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Kd),h[5]||(h[5]=e.createStaticVNode('<g opacity="0.3" data-v-4e300d7b><line x1="30" y1="30" x2="30" y2="60" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="40" y1="25" x2="40" y2="65" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="50" y1="22" x2="50" y2="68" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="60" y1="20" x2="60" y2="70" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="70" y1="22" x2="70" y2="68" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="80" y1="25" x2="80" y2="65" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line><line x1="90" y1="30" x2="90" y2="60" stroke="#1e293b" stroke-width="1" data-v-4e300d7b></line></g><rect x="25" y="40" width="2" height="10" fill="#475569" opacity="0.6" data-v-4e300d7b></rect><rect x="30" y="38" width="2" height="14" fill="#475569" opacity="0.6" data-v-4e300d7b></rect><rect x="35" y="36" width="2" height="18" fill="#475569" opacity="0.6" data-v-4e300d7b></rect>',4)),e.createElementVNode("rect",{x:"95",y:"42",width:"20",height:"6",rx:"1",fill:`url(#shaft-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,Qd),e.createElementVNode("g",{transform:`rotate(${l.value} 105 45)`},[...h[3]||(h[3]=[e.createStaticVNode('<g opacity="0.8" data-v-4e300d7b><rect x="103" y="40" width="4" height="10" rx="1" fill="#94a3b8" data-v-4e300d7b></rect><rect x="100" y="43" width="10" height="4" rx="1" fill="#94a3b8" data-v-4e300d7b></rect><line x1="102" y1="42" x2="108" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-4e300d7b></line><line x1="108" y1="42" x2="102" y2="48" stroke="#94a3b8" stroke-width="3" stroke-linecap="round" data-v-4e300d7b></line></g>',1)])],8,Yd),h[6]||(h[6]=e.createStaticVNode('<circle cx="105" cy="45" r="3" fill="#334155" stroke="#64748b" stroke-width="1" data-v-4e300d7b></circle><rect x="45" y="15" width="15" height="10" rx="1" fill="#334155" stroke="#475569" stroke-width="0.5" data-v-4e300d7b></rect><circle cx="48" cy="20" r="1" fill="#dc2626" data-v-4e300d7b></circle><circle cx="52" cy="20" r="1" fill="#22c55e" data-v-4e300d7b></circle><circle cx="56" cy="20" r="1" fill="#3b82f6" data-v-4e300d7b></circle>',5)),e.createElementVNode("circle",{cx:"15",cy:"45",r:"4",fill:o.value?"#22c55e":"#ef4444",filter:o.value?`url(#indicator-glow-${r.value})`:"none"},null,8,Jd),e.createElementVNode("circle",{cx:"15",cy:"45",r:"2",fill:"#ffffff",opacity:o.value?.6:.2},null,8,Xd),h[7]||(h[7]=e.createElementVNode("rect",{x:"40",y:"55",width:"40",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Zd,e.toDisplayString(i.value)+"kW "+e.toDisplayString(n.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":o.value}])},e.toDisplayString(o.value?"运行中":"已停止"),3)]))}}),[["__scopeId","data-v-4e300d7b"]]),tu={class:"valve-3d-container"},ru={viewBox:"0 0 100 120",xmlns:"http://www.w3.org/2000/svg"},ou=["id"],nu=["id"],iu=["fill"],su=["fill"],au=["fill"],lu=["fill"],cu={transform:"translate(50, 60)"},du=["fill","transform"],uu=["transform"],fu=["fill"],pu=["fill"],hu={x:"12.5",y:"62","font-size":"6",fill:"#ffffff","text-anchor":"middle","font-weight":"bold"},mu={x:"85",y:"62","font-size":"8",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},gu=Me(e.defineComponent({__name:"Valve3D",props:{node:{}},setup(d){const t=d,r=e.ref(`valve-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(0),i=e.computed(()=>n.value/100*720),l=()=>{const a=s();o.value=a.state==="open"||a.state===!0,n.value=a.openness!==void 0?a.openness:o.value?100:0};return e.watch(()=>t.node,()=>{l()},{deep:!0}),e.onMounted(()=>{l(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{l()})}),(a,c)=>(e.openBlock(),e.createElementBlock("div",tu,[(e.openBlock(),e.createElementBlock("svg",ru,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`valve-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...c[0]||(c[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,ou),e.createElementVNode("linearGradient",{id:`handle-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...c[1]||(c[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#dc2626"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#b91c1c"},null,-1)])],8,nu)]),e.createElementVNode("rect",{x:"40",y:"85",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,iu),c[3]||(c[3]=e.createElementVNode("ellipse",{cx:"50",cy:"85",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[4]||(c[4]=e.createElementVNode("ellipse",{cx:"50",cy:"115",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"50",cy:"60",rx:"25",ry:"15",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,su),e.createElementVNode("rect",{x:"25",y:"50",width:"50",height:"20",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,au),c[5]||(c[5]=e.createStaticVNode('<ellipse cx="50" cy="50" rx="25" ry="15" fill="#94a3b8" stroke="#475569" stroke-width="1" data-v-9c6b9014></ellipse><g data-v-9c6b9014><circle cx="30" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="30" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="55" r="2" fill="#334155" data-v-9c6b9014></circle><circle cx="70" cy="65" r="2" fill="#334155" data-v-9c6b9014></circle></g>',2)),e.createElementVNode("rect",{x:"40",y:"10",width:"20",height:"30",fill:`url(#valve-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,lu),c[6]||(c[6]=e.createElementVNode("ellipse",{cx:"50",cy:"10",rx:"10",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),c[7]||(c[7]=e.createElementVNode("ellipse",{cx:"50",cy:"40",rx:"10",ry:"5",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("g",cu,[e.createElementVNode("rect",{x:"-3",y:"-20",width:"6",height:"40",rx:"3",fill:o.value?"#22c55e":"#ef4444",transform:`rotate(${o.value?0:90})`,style:{transition:"transform 0.5s ease"}},null,8,du)]),c[8]||(c[8]=e.createElementVNode("rect",{x:"47",y:"40",width:"6",height:"40",rx:"1",fill:"#475569",stroke:"#334155","stroke-width":"0.5"},null,-1)),e.createElementVNode("g",{transform:`rotate(${i.value} 50 25)`,style:{transformOrigin:"50px 25px"}},[e.createElementVNode("circle",{cx:"50",cy:"25",r:"15",fill:`url(#handle-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1"},null,8,fu),c[2]||(c[2]=e.createStaticVNode('<circle cx="50" cy="25" r="12" fill="none" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></circle><circle cx="50" cy="25" r="5" fill="#7f1d1d" data-v-9c6b9014></circle><line x1="50" y1="25" x2="50" y2="12" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="50" y2="38" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="37" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><line x1="50" y1="25" x2="63" y2="25" stroke="#7f1d1d" stroke-width="2" data-v-9c6b9014></line><rect x="63" y="23" width="8" height="4" rx="2" fill="#991b1b" data-v-9c6b9014></rect>',7))],8,uu),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"55",width:"15",height:"10",rx:"2",fill:o.value?"#22c55e":"#ef4444",opacity:"0.9"},null,8,pu),e.createElementVNode("text",hu,e.toDisplayString(o.value?"ON":"OFF"),1)]),e.createElementVNode("text",mu,e.toDisplayString(n.value)+"% ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-open":o.value}])},e.toDisplayString(o.value?"开启":"关闭")+" - "+e.toDisplayString(n.value)+"% ",3)]))}}),[["__scopeId","data-v-9c6b9014"]]),yu={class:"tank-3d-container"},bu={viewBox:"0 0 100 140",xmlns:"http://www.w3.org/2000/svg"},wu=["id"],Eu=["id"],vu=["stop-color"],ku=["stop-color"],_u=["id"],Nu=["fill"],Su=["y","height","fill","filter"],xu=["cy","fill"],Vu=["fill"],Cu=["height"],Au={x:"65",y:"38","font-size":"5",fill:"#22c55e","text-anchor":"middle"},Iu=["height"],Tu={x:"50",y:"127","font-size":"6",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},$u={class:"status-text"},Bu=Me(e.defineComponent({__name:"Tank3D",props:{node:{}},setup(d){const t=d,r=e.ref(`tank-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(50),n=e.ref(100),i=e.ref(25),l=e.ref(101),a=e.ref("#3b82f6"),c=e.computed(()=>(o.value/100*n.value).toFixed(1)),u=e.computed(()=>90*o.value/100),h=e.computed(()=>110-u.value),m=()=>{const f=s();o.value=Math.max(0,Math.min(100,f.level||50)),n.value=f.capacity||100,i.value=f.temperature||25,l.value=f.pressure||101,a.value=f.liquidColor||"#3b82f6"};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(f,p)=>(e.openBlock(),e.createElementBlock("div",yu,[(e.openBlock(),e.createElementBlock("svg",bu,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`tank-body-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...p[0]||(p[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,wu),e.createElementVNode("linearGradient",{id:`liquid-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":a.value,"stop-opacity":"0.9"},null,8,vu),e.createElementVNode("stop",{offset:"100%","stop-color":a.value,"stop-opacity":"0.7"},null,8,ku)],8,Eu),e.createElementVNode("filter",{id:`wave-${r.value}`},[...p[1]||(p[1]=[e.createElementVNode("feTurbulence",{type:"fractalNoise",baseFrequency:"0.02",numOctaves:"2",result:"turbulence"},null,-1),e.createElementVNode("feDisplacementMap",{in:"SourceGraphic",in2:"turbulence",scale:"2",xChannelSelector:"R",yChannelSelector:"G"},null,-1)])],8,_u)]),p[2]||(p[2]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"30",ry:"8",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),p[3]||(p[3]=e.createElementVNode("ellipse",{cx:"50",cy:"20",rx:"25",ry:"6",fill:"#cbd5e1"},null,-1)),e.createElementVNode("rect",{x:"20",y:"20",width:"60",height:"90",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Nu),p[4]||(p[4]=e.createStaticVNode('<g opacity="0.6" data-v-13c65d9d><line x1="15" y1="30" x2="20" y2="30" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="32" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>100%</text><line x1="15" y1="52.5" x2="20" y2="52.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="54.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>75%</text><line x1="15" y1="75" x2="20" y2="75" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="77" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>50%</text><line x1="15" y1="97.5" x2="20" y2="97.5" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="99.5" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>25%</text><line x1="15" y1="110" x2="20" y2="110" stroke="#94a3b8" stroke-width="1" data-v-13c65d9d></line><text x="12" y="112" font-size="5" fill="#94a3b8" text-anchor="end" data-v-13c65d9d>0%</text></g>',1)),e.createElementVNode("rect",{x:"20",y:h.value,width:"60",height:u.value,fill:`url(#liquid-${r.value})`,filter:`url(#wave-${r.value})`,opacity:"0.85"},null,8,Su),o.value>0?(e.openBlock(),e.createElementBlock("ellipse",{key:0,cx:"50",cy:h.value,rx:"30",ry:"5",fill:a.value,opacity:"0.6"},null,8,xu)):e.createCommentVNode("",!0),e.createElementVNode("ellipse",{cx:"50",cy:"110",rx:"30",ry:"8",fill:`url(#tank-body-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Vu),p[5]||(p[5]=e.createStaticVNode('<g data-v-13c65d9d><rect x="23" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="73" y="110" width="4" height="15" fill="#475569" data-v-13c65d9d></rect><rect x="20" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect><rect x="70" y="123" width="10" height="3" rx="1" fill="#64748b" data-v-13c65d9d></rect></g><rect x="45" y="12" width="10" height="8" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><ellipse cx="50" cy="12" rx="5" ry="3" fill="#94a3b8" data-v-13c65d9d></ellipse><rect x="75" y="105" width="8" height="4" rx="1" fill="#64748b" stroke="#475569" stroke-width="0.5" data-v-13c65d9d></rect><rect x="82" y="30" width="6" height="80" rx="1" fill="#334155" opacity="0.7" data-v-13c65d9d></rect>',5)),e.createElementVNode("rect",{x:"84",y:"32",width:"2",height:76*(o.value/100),fill:"#22c55e"},null,8,Cu),p[6]||(p[6]=e.createElementVNode("circle",{cx:"65",cy:"35",r:"8",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("text",Au,e.toDisplayString(l.value),1),p[7]||(p[7]=e.createElementVNode("text",{x:"65",y:"42","font-size":"3",fill:"#94a3b8","text-anchor":"middle"},"kPa",-1)),p[8]||(p[8]=e.createElementVNode("rect",{x:"32",y:"35",width:"4",height:"15",rx:"2",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("rect",{x:"33",y:"37",width:"2",height:i.value/10,fill:"#ef4444"},null,8,Iu),p[9]||(p[9]=e.createElementVNode("circle",{cx:"34",cy:"52",r:"2",fill:"#ef4444"},null,-1)),p[10]||(p[10]=e.createElementVNode("rect",{x:"25",y:"120",width:"50",height:"12",rx:"2",fill:"#1e293b",opacity:"0.9"},null,-1)),e.createElementVNode("text",Tu,e.toDisplayString(o.value)+"% | "+e.toDisplayString(c.value)+"m³ ",1)])),e.createElementVNode("div",$u," 液位: "+e.toDisplayString(o.value)+"% | 容量: "+e.toDisplayString(c.value)+"m³ ",1)]))}}),[["__scopeId","data-v-13c65d9d"]]),Du={class:"pump-3d-container"},Pu={viewBox:"0 0 140 100",xmlns:"http://www.w3.org/2000/svg"},Ou=["id"],Mu=["id"],Ru=["id"],ju={key:0,attributeName:"x1",values:"-100%;100%",dur:"1s",repeatCount:"indefinite"},Lu={key:1,attributeName:"x2",values:"0%;200%",dur:"1s",repeatCount:"indefinite"},Uu=["fill"],Fu=["fill"],zu=["fill"],Wu=["fill"],qu=["transform"],Gu=["fill"],Hu={transform:"translate(100, 25)"},Ku={x:"0",y:"2","font-size":"5",fill:"#22c55e","text-anchor":"middle"},Qu={transform:"translate(115, 35)"},Yu={x:"0",y:"1","font-size":"4",fill:"#3b82f6","text-anchor":"middle"},Ju=["fill"],Xu=["opacity"],Zu={x:"60",y:"68","font-size":"4",fill:"#cbd5e1","text-anchor":"middle","font-family":"monospace"},ef=Me(e.defineComponent({__name:"Pump3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var m;return((m=t.node)==null?void 0:m.id)||`pump-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(2900),i=e.ref(5.5),l=e.ref(0),a=e.ref(0),c=e.ref(0),u=m=>{if(o.value){const f=n.value/60*(m/1e3)*360;c.value=(c.value+f)%360}},h=()=>{const m=s(),f=m.state==="running"||m.state===!0;f!==o.value&&We.setEnabled(r.value,f),o.value=f,n.value=m.speed||2900,i.value=m.power||5.5,l.value=o.value?m.flowRate||15:0,a.value=o.value?(m.pressure||3.5).toFixed(1):0};return e.watch(()=>t.node,()=>{h()},{deep:!0}),e.onMounted(()=>{h(),We.register(r.value,u),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{h()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(m,f)=>(e.openBlock(),e.createElementBlock("div",Du,[(e.openBlock(),e.createElementBlock("svg",Pu,[e.createElementVNode("defs",null,[e.createElementVNode("radialGradient",{id:`pump-body-${r.value}`,cx:"50%",cy:"50%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Ou),e.createElementVNode("linearGradient",{id:`motor-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Mu),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[f[2]||(f[2]=e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),f[3]||(f[3]=e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa","stop-opacity":"0.6"},null,-1)),f[4]||(f[4]=e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)),o.value?(e.openBlock(),e.createElementBlock("animate",ju)):e.createCommentVNode("",!0),o.value?(e.openBlock(),e.createElementBlock("animate",Lu)):e.createCommentVNode("",!0)],8,Ru)]),e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"20",rx:"2",fill:`url(#motor-gradient-${r.value})`},null,8,Uu),f[15]||(f[15]=e.createElementVNode("rect",{x:"30",y:"75",width:"60",height:"2",fill:"#1e293b",opacity:"0.4"},null,-1)),f[16]||(f[16]=e.createElementVNode("circle",{cx:"35",cy:"85",r:"2",fill:"#334155"},null,-1)),f[17]||(f[17]=e.createElementVNode("circle",{cx:"85",cy:"85",r:"2",fill:"#334155"},null,-1)),e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"28",ry:"25",fill:`url(#pump-body-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,Fu),f[18]||(f[18]=e.createElementVNode("g",null,[e.createElementVNode("circle",{cx:"40",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"40",cy:"60",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"40",r:"3",fill:"#334155"}),e.createElementVNode("circle",{cx:"80",cy:"60",r:"3",fill:"#334155"})],-1)),e.createElementVNode("g",null,[f[5]||(f[5]=e.createElementVNode("rect",{x:"5",y:"45",width:"28",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[6]||(f[6]=e.createElementVNode("ellipse",{cx:"5",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"5",y:"46",width:"28",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,zu)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[f[7]||(f[7]=e.createElementVNode("rect",{x:"87",y:"45",width:"48",height:"10",rx:"2",fill:"#64748b",stroke:"#475569","stroke-width":"1"},null,-1)),f[8]||(f[8]=e.createElementVNode("ellipse",{cx:"135",cy:"50",rx:"5",ry:"5",fill:"#94a3b8",stroke:"#475569","stroke-width":"1"},null,-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"87",y:"46",width:"48",height:"8",fill:`url(#flow-gradient-${r.value})`,opacity:"0.7"},null,8,Wu)):e.createCommentVNode("",!0)]),e.createElementVNode("g",{transform:`rotate(${c.value} 60 50)`},[...f[9]||(f[9]=[e.createStaticVNode('<circle cx="60" cy="50" r="15" fill="#475569" opacity="0.6" data-v-c6c81031></circle><path d="M 60 50 L 70 35 Q 75 40 70 50 Z" fill="#64748b" data-v-c6c81031></path><path d="M 60 50 L 75 50 Q 75 55 65 60 Z" fill="#64748b" data-v-c6c81031></path><path d="M 60 50 L 60 65 Q 55 65 50 60 Z" fill="#64748b" data-v-c6c81031></path><path d="M 60 50 L 45 50 Q 45 45 50 40 Z" fill="#64748b" data-v-c6c81031></path>',5)])],8,qu),f[19]||(f[19]=e.createElementVNode("circle",{cx:"60",cy:"50",r:"5",fill:"#334155",stroke:"#64748b","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"50",y:"20",width:"20",height:"10",rx:"2",fill:`url(#motor-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Gu),f[20]||(f[20]=e.createElementVNode("rect",{x:"58",y:"30",width:"4",height:"20",fill:"#475569"},null,-1)),e.createElementVNode("g",Hu,[f[10]||(f[10]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"10",fill:"#1e293b",stroke:"#475569","stroke-width":"1"},null,-1)),f[11]||(f[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"8",fill:"none",stroke:"#64748b","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Ku,e.toDisplayString(a.value),1),f[12]||(f[12]=e.createElementVNode("text",{x:"0",y:"6","font-size":"2.5",fill:"#94a3b8","text-anchor":"middle"},"bar",-1))]),e.createElementVNode("g",Qu,[f[13]||(f[13]=e.createElementVNode("rect",{x:"-8",y:"-6",width:"16",height:"12",rx:"1",fill:"#1e293b",stroke:"#475569","stroke-width":"0.5"},null,-1)),e.createElementVNode("text",Yu,e.toDisplayString(l.value),1),f[14]||(f[14]=e.createElementVNode("text",{x:"0",y:"4.5","font-size":"2",fill:"#94a3b8","text-anchor":"middle"},"m³/h",-1))]),e.createElementVNode("circle",{cx:"25",cy:"30",r:"4",fill:o.value?"#22c55e":"#ef4444"},null,8,Ju),e.createElementVNode("circle",{cx:"25",cy:"30",r:"2",fill:"#ffffff",opacity:o.value?.6:.2},null,8,Xu),f[21]||(f[21]=e.createElementVNode("rect",{x:"45",y:"62",width:"30",height:"8",rx:"1",fill:"#1e293b",opacity:"0.7"},null,-1)),e.createElementVNode("text",Zu,e.toDisplayString(i.value)+"kW "+e.toDisplayString(n.value)+"rpm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":o.value}])},e.toDisplayString(o.value?"运行中":"已停止")+" | "+e.toDisplayString(l.value)+"m³/h ",3)]))}}),[["__scopeId","data-v-c6c81031"]]),ms={metadata:{id:"motor-3d",name:"3D电机",category:"iot",icon:"⚡",description:"3D仿真电机组件,支持运行状态和转速显示",version:"1.0.0"},shape:"motor-3d-vue",component:eu,width:140,height:110,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"motor",state:!1,speed:1500,power:7.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:1500,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:7.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"电机当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"电机当前转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"power",name:"功率",description:"电机当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1,range:{min:0}},{id:"current",name:"电流",description:"电机运行电流",dataType:"number",unit:"A",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"电机轴承温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},gs={metadata:{id:"valve-3d",name:"3D阀门",category:"iot",icon:"🚰",description:"3D仿真阀门组件,支持开关状态和开度显示",version:"1.0.0"},shape:"valve-3d-vue",component:gu,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"valve",state:!1,openness:0,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"阀门状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"开启",value:"open"}],bindable:!0},{key:"openness",label:"开度(%)",type:"number",path:"data.openness",defaultValue:0,min:0,max:100,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"阀门状态",description:"阀门当前开关状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"openness",name:"开度",description:"阀门当前开度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"flow_rate",name:"流量",description:"通过阀门的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"pressure_diff",name:"压差",description:"阀门两端压差",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},ys={metadata:{id:"tank-3d",name:"3D储罐",category:"iot",icon:"🛢️",description:"3D仿真储罐组件,支持液位、温度、压力显示",version:"1.0.0"},shape:"tank-3d-vue",component:Bu,width:120,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tank",level:50,capacity:100,temperature:25,pressure:101,liquidColor:"#3b82f6",deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-right",group:"right"},{id:"port-bottom",group:"bottom"}]},props:[{key:"level",label:"液位(%)",type:"number",path:"data.level",defaultValue:50,min:0,max:100,bindable:!0},{key:"capacity",label:"容量(m³)",type:"number",path:"data.capacity",defaultValue:100,min:0,bindable:!0},{key:"temperature",label:"温度(°C)",type:"number",path:"data.temperature",defaultValue:25,bindable:!0},{key:"pressure",label:"压力(kPa)",type:"number",path:"data.pressure",defaultValue:101,min:0,bindable:!0},{key:"liquidColor",label:"液体颜色",type:"color",path:"data.liquidColor",defaultValue:"#3b82f6",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"liquid_level",name:"液位高度",description:"储罐当前液位百分比",dataType:"number",unit:"%",defaultValue:50,required:!0,range:{min:0,max:100}},{id:"temperature",name:"温度",description:"储罐内液体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"pressure",name:"压力",description:"储罐内部压力",dataType:"number",unit:"kPa",defaultValue:101,required:!1,range:{min:0}},{id:"capacity",name:"实际容量",description:"当前实际存储量",dataType:"number",unit:"m³",defaultValue:50,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},bs={metadata:{id:"pump-3d",name:"3D水泵",category:"iot",icon:"🌊",description:"3D仿真水泵组件,支持运行状态、流量、压力显示",version:"1.0.0"},shape:"pump-3d-vue",component:ef,width:160,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pump",state:!1,speed:2900,power:5.5,flowRate:15,pressure:3.5,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],bindable:!0},{key:"speed",label:"转速(rpm)",type:"number",path:"data.speed",defaultValue:2900,min:0,bindable:!0},{key:"power",label:"功率(kW)",type:"number",path:"data.power",defaultValue:5.5,min:0,bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:15,min:0,bindable:!0},{key:"pressure",label:"压力(bar)",type:"number",path:"data.pressure",defaultValue:3.5,min:0,bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:""},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:""}],points:[{id:"status",name:"运行状态",description:"泵当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"转速",description:"泵轴转速",dataType:"number",unit:"rpm",defaultValue:0,required:!0,range:{min:0,max:5e3}},{id:"flow_rate",name:"流量",description:"当前流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0,max:200}},{id:"pressure",name:"出口压力",description:"泵出口压力",dataType:"number",unit:"bar",defaultValue:0,required:!0,range:{min:0,max:20}},{id:"power",name:"功率",description:"当前功率",dataType:"number",unit:"kW",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"泵体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1},{id:"vibration",name:"振动",description:"振动值",dataType:"number",unit:"mm/s",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},tf=Object.freeze(Object.defineProperty({__proto__:null,Motor3DComponent:ms,Pump3DComponent:bs,Tank3DComponent:ys,Valve3DComponent:gs},Symbol.toStringTag,{value:"Module"})),rf={class:"conveyor-3d-container"},of={viewBox:"0 0 200 80",xmlns:"http://www.w3.org/2000/svg"},nf=["id"],sf=["id"],af=["id"],lf=["fill","transform"],cf=["transform"],df=["fill","transform"],uf=["transform"],ff=["fill"],pf=["x1","x2"],hf=["x","fill"],mf=["fill","opacity"],gf={key:0,attributeName:"opacity",values:"1;0.4;1",dur:"1s",repeatCount:"indefinite"},yf={x:"100",y:"20","font-size":"10",fill:"#94a3b8","text-anchor":"middle","font-family":"monospace"},bf=Me(e.defineComponent({__name:"Conveyor3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var m;return((m=t.node)==null?void 0:m.id)||`conveyor-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(10),i=e.ref("forward"),l=e.ref(0),a=e.ref(0),c=e.ref(30),u=m=>{if(o.value){const f=m/16.67,p=n.value/10*f,w=n.value/5*f;i.value==="forward"?(l.value=(l.value+p)%360,a.value=(a.value+w)%15,c.value=c.value+w,c.value>180&&(c.value=20)):(l.value=(l.value-p+360)%360,a.value=(a.value-w+15)%15,c.value=c.value-w,c.value<20&&(c.value=180))}},h=()=>{const m=s(),f=m.state==="running"||m.state===!0;f!==o.value&&We.setEnabled(r.value,f),o.value=f,n.value=m.speed||10,i.value=m.direction||"forward"};return e.watch(()=>t.node,()=>{h()},{deep:!0}),e.onMounted(()=>{h(),We.register(r.value,u),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{h()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(m,f)=>(e.openBlock(),e.createElementBlock("div",rf,[(e.openBlock(),e.createElementBlock("svg",of,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`belt-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[...f[0]||(f[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,nf),e.createElementVNode("radialGradient",{id:`roller-gradient-${r.value}`},[...f[1]||(f[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,sf),e.createElementVNode("linearGradient",{id:`cargo-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...f[2]||(f[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#60a5fa"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6"},null,-1)])],8,af)]),f[3]||(f[3]=e.createElementVNode("rect",{x:"10",y:"45",width:"180",height:"25",rx:"3",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"25",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 25, 50)`},null,8,lf),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,p=>e.createElementVNode("g",{key:`left-${p}`},[e.createElementVNode("line",{x1:25,y1:38,x2:25,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+p*45}, 25, 50)`},null,8,cf)])),64)),e.createElementVNode("circle",{cx:"175",cy:"50",r:"12",fill:`url(#roller-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"2",transform:`rotate(${l.value}, 175, 50)`},null,8,df),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,p=>e.createElementVNode("g",{key:`right-${p}`},[e.createElementVNode("line",{x1:175,y1:38,x2:175,y2:42,stroke:"#1e293b","stroke-width":"1.5",transform:`rotate(${l.value+p*45}, 175, 50)`},null,8,uf)])),64)),e.createElementVNode("rect",{x:"25",y:"38",width:"150",height:"24",fill:`url(#belt-gradient-${r.value})`},null,8,ff),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(10,p=>e.createElementVNode("g",{key:`line-${p}`},[e.createElementVNode("line",{x1:25+p*15+a.value,y1:38,x2:25+p*15+a.value,y2:62,stroke:"#475569","stroke-width":"1.5",opacity:"0.5"},null,8,pf)])),64)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:c.value,y:"30",width:"30",height:"20",rx:"2",fill:`url(#cargo-gradient-${r.value})`,stroke:"#2563eb","stroke-width":"1",opacity:"0.9"},null,8,hf)):e.createCommentVNode("",!0),f[4]||(f[4]=e.createStaticVNode('<g data-v-c9329eb0><rect x="20" y="68" width="4" height="8" fill="#475569" data-v-c9329eb0></rect><rect x="96" y="68" width="4" height="8" fill="#475569" data-v-c9329eb0></rect><rect x="172" y="68" width="4" height="8" fill="#475569" data-v-c9329eb0></rect><rect x="18" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-c9329eb0></rect><rect x="94" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-c9329eb0></rect><rect x="170" y="74" width="8" height="2" rx="1" fill="#64748b" data-v-c9329eb0></rect></g><rect x="180" y="52" width="15" height="18" rx="2" fill="#334155" stroke="#475569" stroke-width="1" data-v-c9329eb0></rect><circle cx="187.5" cy="61" r="3" fill="#64748b" data-v-c9329eb0></circle>',3)),e.createElementVNode("circle",{cx:"15",cy:"55",r:"3",fill:o.value?"#22c55e":"#ef4444",opacity:o.value?1:.5},[o.value?(e.openBlock(),e.createElementBlock("animate",gf)):e.createCommentVNode("",!0)],8,mf),e.createElementVNode("text",yf,e.toDisplayString(n.value)+" m/min ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-running":o.value}])},e.toDisplayString(o.value?"运行中":"停止")+" | "+e.toDisplayString(n.value)+" m/min ",3)]))}}),[["__scopeId","data-v-c9329eb0"]]),wf={class:"alarm-light-3d-container"},Ef={viewBox:"0 0 80 100",xmlns:"http://www.w3.org/2000/svg"},vf=["id"],kf=["stop-color"],_f=["stop-color"],Nf=["stop-color"],Sf=["id"],xf=["stop-color"],Vf=["stop-color"],Cf=["stop-color"],Af=["id"],If=["fill","opacity"],Tf=["transform"],$f=["fill","opacity"],Bf=["fill"],Df=["fill"],Pf=["fill"],Of=["fill"],Mf={x:"40",y:"85","font-size":"4",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Rf=Me(e.defineComponent({__name:"AlarmLight3D",props:{node:{}},setup(d){const t=d,r=e.ref(`alarm-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref("rotating"),i=e.ref("#ef4444"),l=e.ref(0),a=e.ref(.8);let c=null;const u=e.computed(()=>o.value?i.value:"#475569"),h=e.computed(()=>o.value?n.value==="rotating"?"旋转报警":n.value==="flashing"?"闪烁报警":"持续报警":"正常"),m=()=>{o.value?n.value==="rotating"?(l.value=(l.value+5)%360,a.value=.8):n.value==="flashing"?a.value=Math.abs(Math.sin(Date.now()/300)):a.value=.8:a.value=0,c=requestAnimationFrame(m)},f=()=>{const p=s();o.value=p.state==="active"||p.state===!0,n.value=p.mode||"rotating",i.value=p.color||"#ef4444"};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),e.onUnmounted(()=>{c&&cancelAnimationFrame(c)}),(p,w)=>(e.openBlock(),e.createElementBlock("div",wf,[(e.openBlock(),e.createElementBlock("svg",Ef,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`dome-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":u.value,"stop-opacity":"0.9"},null,8,kf),e.createElementVNode("stop",{offset:"50%","stop-color":u.value,"stop-opacity":"0.7"},null,8,_f),e.createElementVNode("stop",{offset:"100%","stop-color":u.value,"stop-opacity":"0.5"},null,8,Nf)],8,vf),e.createElementVNode("radialGradient",{id:`glow-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":u.value,"stop-opacity":"0.8"},null,8,xf),e.createElementVNode("stop",{offset:"50%","stop-color":u.value,"stop-opacity":"0.3"},null,8,Vf),e.createElementVNode("stop",{offset:"100%","stop-color":u.value,"stop-opacity":"0"},null,8,Cf)],8,Sf),e.createElementVNode("linearGradient",{id:`base-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...w[0]||(w[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#1e293b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#334155"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#1e293b"},null,-1)])],8,Af)]),o.value?(e.openBlock(),e.createElementBlock("circle",{key:0,cx:"40",cy:"35",r:"35",fill:`url(#glow-${r.value})`,opacity:a.value},null,8,If)):e.createCommentVNode("",!0),w[3]||(w[3]=e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"25",ry:"22",fill:"#1e293b",stroke:"#475569","stroke-width":"1.5",opacity:"0.3"},null,-1)),e.createElementVNode("g",{transform:`rotate(${l.value}, 40, 35)`},[e.createElementVNode("ellipse",{cx:"40",cy:"35",rx:"23",ry:"20",fill:`url(#dome-gradient-${r.value})`,opacity:o.value?1:.3},null,8,$f),w[1]||(w[1]=e.createElementVNode("path",{d:"M 17,35 Q 40,25 63,35",stroke:"#ffffff","stroke-width":"1",fill:"none",opacity:"0.3"},null,-1)),w[2]||(w[2]=e.createElementVNode("path",{d:"M 17,35 Q 40,45 63,35",stroke:"#000000","stroke-width":"1",fill:"none",opacity:"0.2"},null,-1))],8,Tf),w[4]||(w[4]=e.createElementVNode("rect",{x:"35",y:"55",width:"10",height:"8",rx:"2",fill:"#334155",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("ellipse",{cx:"40",cy:"63",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Bf),e.createElementVNode("rect",{x:"22",y:"63",width:"36",height:"12",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Df),e.createElementVNode("ellipse",{cx:"40",cy:"75",rx:"18",ry:"5",fill:`url(#base-gradient-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,Pf),w[5]||(w[5]=e.createElementVNode("circle",{cx:"28",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[6]||(w[6]=e.createElementVNode("circle",{cx:"52",cy:"69",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[7]||(w[7]=e.createElementVNode("line",{x1:"27",y1:"68",x2:"29",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),w[8]||(w[8]=e.createElementVNode("line",{x1:"51",y1:"68",x2:"53",y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,-1)),e.createElementVNode("circle",{cx:"40",cy:"69",r:"1.5",fill:o.value?"#22c55e":"#64748b"},null,8,Of),e.createElementVNode("text",Mf," AL-"+e.toDisplayString(n.value.toUpperCase()),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-active":o.value}])},e.toDisplayString(h.value),3)]))}}),[["__scopeId","data-v-80aba40a"]]),jf={class:"temperature-sensor-3d-container"},Lf={viewBox:"0 0 80 120",xmlns:"http://www.w3.org/2000/svg"},Uf=["id"],Ff=["id"],zf=["stop-color"],Wf=["stop-color"],qf=["id"],Gf=["stop-color"],Hf=["stop-color"],Kf=["fill"],Qf=["y","height","fill"],Yf=["fill"],Jf=["fill"],Xf=["fill","opacity"],Zf={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},ep=Me(e.defineComponent({__name:"TemperatureSensor3D",props:{node:{}},setup(d){const t=d,r=e.ref(`temp-sensor-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(25),n=e.ref(100),i=e.ref(0),l=e.ref(80),a=e.ref(10),c=e.computed(()=>{const w=n.value-i.value;return Math.max(0,Math.min(1,(o.value-i.value)/w))*45}),u=e.computed(()=>65-c.value),h=e.computed(()=>o.value>=l.value?"#ef4444":o.value<=a.value?"#3b82f6":o.value>=60?"#f97316":o.value>=40?"#fbbf24":"#22c55e"),m=e.computed(()=>o.value>=l.value?"#ef4444":o.value<=a.value?"#3b82f6":"#22c55e"),f=e.computed(()=>o.value>=l.value||o.value<=a.value),p=()=>{const w=s();o.value=Math.round(w.temperature??25),n.value=w.maxTemp||100,i.value=w.minTemp||0,l.value=w.alarmHighLimit||80,a.value=w.alarmLowLimit||10};return e.watch(()=>t.node,()=>{p()},{deep:!0}),e.onMounted(()=>{p(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{p()})}),(w,N)=>(e.openBlock(),e.createElementBlock("div",jf,[(e.openBlock(),e.createElementBlock("svg",Lf,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...N[0]||(N[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,Uf),e.createElementVNode("linearGradient",{id:`liquid-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value},null,8,zf),e.createElementVNode("stop",{offset:"100%","stop-color":h.value,"stop-opacity":"0.7"},null,8,Wf)],8,Ff),e.createElementVNode("radialGradient",{id:`bulb-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":h.value,"stop-opacity":"0.9"},null,8,Gf),e.createElementVNode("stop",{offset:"70%","stop-color":h.value},null,8,Hf),N[1]||(N[1]=e.createElementVNode("stop",{offset:"100%","stop-color":"#991b1b"},null,-1))],8,qf)]),e.createElementVNode("rect",{x:"30",y:"15",width:"20",height:"60",rx:"10",fill:`url(#shell-gradient-${r.value})`,stroke:"#475569","stroke-width":"1.5"},null,8,Kf),N[2]||(N[2]=e.createStaticVNode('<rect x="35" y="20" width="10" height="50" rx="5" fill="#f8fafc" stroke="#cbd5e1" stroke-width="1" opacity="0.8" data-v-1b4c4bcc></rect><g opacity="0.6" data-v-1b4c4bcc><line x1="32" y1="25" x2="35" y2="25" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="27" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>100</text><line x1="32" y1="35" x2="35" y2="35" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="37" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>75</text><line x1="32" y1="45" x2="35" y2="45" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="47" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>50</text><line x1="32" y1="55" x2="35" y2="55" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="57" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>25</text><line x1="32" y1="65" x2="35" y2="65" stroke="#64748b" stroke-width="0.8" data-v-1b4c4bcc></line><text x="29" y="67" font-size="5" fill="#64748b" text-anchor="end" data-v-1b4c4bcc>0</text></g>',2)),e.createElementVNode("rect",{x:"37",y:u.value,width:"6",height:c.value,rx:"3",fill:`url(#liquid-gradient-${r.value})`},null,8,Qf),e.createElementVNode("circle",{cx:"40",cy:"75",r:"10",fill:`url(#bulb-gradient-${r.value})`,stroke:"#991b1b","stroke-width":"1.5"},null,8,Yf),N[3]||(N[3]=e.createStaticVNode('<ellipse cx="37" cy="72" rx="3" ry="4" fill="#ffffff" opacity="0.4" data-v-1b4c4bcc></ellipse><path d="M 40,85 Q 45,90 45,95 L 45,105" stroke="#1e293b" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><path d="M 40,85 Q 35,90 35,95 L 35,105" stroke="#ef4444" stroke-width="3" fill="none" stroke-linecap="round" data-v-1b4c4bcc></path><rect x="32" y="103" width="6" height="8" rx="1" fill="#fbbf24" stroke="#b45309" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="42" y="103" width="6" height="8" rx="1" fill="#1e293b" stroke="#475569" stroke-width="0.5" data-v-1b4c4bcc></rect><rect x="50" y="35" width="25" height="18" rx="2" fill="#0f172a" stroke="#334155" stroke-width="1" data-v-1b4c4bcc></rect>',6)),e.createElementVNode("text",{x:"62.5",y:"47","font-size":"10",fill:m.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(o.value),9,Jf),N[4]||(N[4]=e.createElementVNode("text",{x:"62.5",y:"51","font-size":"4",fill:"#64748b","text-anchor":"middle"},"°C",-1)),e.createElementVNode("circle",{cx:"58",cy:"29",r:"2.5",fill:f.value?"#ef4444":"#64748b",opacity:f.value?1:.3},[f.value?(e.openBlock(),e.createElementBlock("animate",Zf)):e.createCommentVNode("",!0)],8,Xf),N[5]||(N[5]=e.createElementVNode("text",{x:"40",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"}," PT100 ",-1))])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":f.value}])},e.toDisplayString(o.value)+"°C "+e.toDisplayString(f.value?"- 超限":""),3)]))}}),[["__scopeId","data-v-1b4c4bcc"]]),tp={class:"cylinder-3d-container"},rp={viewBox:"0 0 60 140",xmlns:"http://www.w3.org/2000/svg"},op=["id"],np=["id"],ip=["id"],sp=["fill"],ap=["fill"],lp=["fill"],cp=["y","height","fill"],dp=["cy"],up=["cy"],fp=["x","fill"],pp=["x","fill"],hp={x:"30",y:"125","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},mp={x:"30",y:"18","font-size":"8",fill:"#22c55e","text-anchor":"middle","font-family":"monospace"},gp=Me(e.defineComponent({__name:"Cylinder3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var S;return((S=t.node)==null?void 0:S.id)||`cylinder-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(0),n=e.ref(50),i=e.ref(200),l=e.ref("stop"),a=e.computed(()=>o.value>=n.value),c=e.computed(()=>o.value<=0),u=e.computed(()=>30+o.value/n.value*40),h=e.computed(()=>50-u.value),m=e.computed(()=>110-o.value/n.value*60),f=e.computed(()=>a.value?"伸出到位":c.value?"缩回到位":l.value==="extend"?"正在伸出":l.value==="retract"?"正在缩回":"停止"),p=e.computed(()=>a.value||c.value?"is-positioned":l.value!=="stop"?"is-moving":""),w=S=>{const y=S/1e3;l.value==="extend"&&o.value<n.value?o.value=Math.min(n.value,o.value+i.value*y):l.value==="retract"&&o.value>0&&(o.value=Math.max(0,o.value-i.value*y)),o.value=Math.round(o.value)},N=()=>{const S=s(),y=S.action||"stop",v=y!=="stop";y!==l.value&&We.setEnabled(r.value,v),l.value=y,n.value=S.stroke||50,i.value=S.speed||200,typeof S.position=="number"&&(o.value=Math.max(0,Math.min(n.value,S.position)))};return e.watch(()=>t.node,()=>{N()},{deep:!0}),e.onMounted(()=>{N(),We.register(r.value,w),We.setEnabled(r.value,l.value!=="stop"),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{N()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(S,y)=>(e.openBlock(),e.createElementBlock("div",tp,[(e.openBlock(),e.createElementBlock("svg",rp,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`cylinder-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...y[0]||(y[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,op),e.createElementVNode("linearGradient",{id:`rod-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...y[1]||(y[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#64748b"},null,-1)])],8,np),e.createElementVNode("radialGradient",{id:`cap-gradient-${r.value}`},[...y[2]||(y[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#64748b"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#334155"},null,-1)])],8,ip)]),e.createElementVNode("ellipse",{cx:"30",cy:"80",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,sp),e.createElementVNode("rect",{x:"15",y:"50",width:"30",height:"60",fill:`url(#cylinder-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,ap),y[3]||(y[3]=e.createStaticVNode('<g opacity="0.2" data-v-571b8c3a><line x1="15" y1="55" x2="45" y2="55" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line><line x1="15" y1="65" x2="45" y2="65" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line><line x1="15" y1="75" x2="45" y2="75" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line><line x1="15" y1="85" x2="45" y2="85" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line><line x1="15" y1="95" x2="45" y2="95" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line><line x1="15" y1="105" x2="45" y2="105" stroke="#1e293b" stroke-width="0.5" data-v-571b8c3a></line></g>',1)),e.createElementVNode("ellipse",{cx:"30",cy:"50",rx:"15",ry:"8",fill:`url(#cap-gradient-${r.value})`,stroke:"#1e293b","stroke-width":"1"},null,8,lp),e.createElementVNode("rect",{x:"26",y:h.value,width:"8",height:u.value,fill:`url(#rod-gradient-${r.value})`,stroke:"#475569","stroke-width":"0.5"},null,8,cp),e.createElementVNode("ellipse",{cx:"30",cy:h.value,rx:"4",ry:"2",fill:"#94a3b8",stroke:"#64748b","stroke-width":"0.5"},null,8,dp),e.createElementVNode("ellipse",{cx:"30",cy:m.value,rx:"13",ry:"6",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,up),y[4]||(y[4]=e.createElementVNode("circle",{cx:"48",cy:"58",r:"3",fill:"#3b82f6",stroke:"#1e40af","stroke-width":"1"},null,-1)),y[5]||(y[5]=e.createElementVNode("text",{x:"55",y:"60","font-size":"6",fill:"#3b82f6","font-weight":"bold"},"A",-1)),y[6]||(y[6]=e.createElementVNode("circle",{cx:"48",cy:"102",r:"3",fill:"#ef4444",stroke:"#991b1b","stroke-width":"1"},null,-1)),y[7]||(y[7]=e.createElementVNode("text",{x:"55",y:"104","font-size":"6",fill:"#ef4444","font-weight":"bold"},"B",-1)),e.createElementVNode("rect",{x:a.value?48:50,y:"52",width:"6",height:"4",rx:"1",fill:a.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,fp),e.createElementVNode("rect",{x:c.value?48:50,y:"104",width:"6",height:"4",rx:"1",fill:c.value?"#22c55e":"#64748b",stroke:"#334155","stroke-width":"0.5"},null,8,pp),y[8]||(y[8]=e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"5",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"7",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"}),e.createElementVNode("rect",{x:"47",y:"78",width:"8",height:"4",rx:"1",fill:"#334155"}),e.createElementVNode("circle",{cx:"53",cy:"80",r:"2",fill:"#64748b",stroke:"#1e293b","stroke-width":"0.5"})],-1)),e.createElementVNode("text",hp,e.toDisplayString(n.value)+"mm ",1),e.createElementVNode("text",mp,e.toDisplayString(o.value)+"mm ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",p.value])},e.toDisplayString(f.value),3)]))}}),[["__scopeId","data-v-571b8c3a"]]),ws={metadata:{id:"conveyor-3d",name:"3D传送带",category:"iot",icon:"🔄",description:"3D仿真传送带组件,支持正反转和速度控制",version:"1.0.0"},shape:"conveyor-3d-vue",component:bf,width:220,height:100,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"conveyor",state:!1,speed:10,direction:"forward",deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"running"}],description:"传送带运行状态",bindable:!0},{key:"speed",label:"速度(m/min)",type:"number",path:"data.speed",defaultValue:10,min:0,max:100,description:"传送带运行速度",bindable:!0},{key:"direction",label:"运行方向",type:"select",path:"data.direction",defaultValue:"forward",options:[{label:"正向",value:"forward"},{label:"反向",value:"reverse"}],description:"传送带运行方向",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"传送带当前运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"speed",name:"运行速度",description:"传送带当前运行速度",dataType:"number",unit:"m/min",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"direction",name:"运行方向",description:"传送带运行方向",dataType:"string",defaultValue:"forward",required:!1},{id:"load",name:"负载状态",description:"传送带上是否有物体",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm",name:"告警状态",description:"是否处于告警状态",dataType:"boolean",defaultValue:!1,required:!1}]},Es={metadata:{id:"alarm-light-3d",name:"3D报警灯",category:"iot",icon:"🚨",description:"3D仿真报警灯组件,支持旋转、闪烁、持续三种模式",version:"1.0.0"},shape:"alarm-light-3d-vue",component:Rf,width:100,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"alarm-light",state:!1,mode:"rotating",color:"#ef4444",deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"报警状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"正常",value:!1},{label:"报警",value:"active"}],description:"报警灯激活状态",bindable:!0},{key:"mode",label:"报警模式",type:"select",path:"data.mode",defaultValue:"rotating",options:[{label:"旋转",value:"rotating"},{label:"闪烁",value:"flashing"},{label:"持续",value:"steady"}],description:"报警灯工作模式",bindable:!0},{key:"color",label:"灯光颜色",type:"color",path:"data.color",defaultValue:"#ef4444",description:"报警灯颜色",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"报警状态",description:"报警灯当前状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"mode",name:"报警模式",description:"报警灯工作模式",dataType:"string",defaultValue:"rotating",required:!1},{id:"level",name:"报警级别",description:"报警级别 (0-正常, 1-警告, 2-危险, 3-严重)",dataType:"number",defaultValue:0,required:!1,range:{min:0,max:3}}]},vs={metadata:{id:"temperature-sensor-3d",name:"3D温度传感器",category:"iot",icon:"🌡️",description:"3D仿真温度传感器,支持温度显示和报警",version:"1.0.0"},shape:"temperature-sensor-3d-vue",component:ep,width:100,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"temperature-sensor",temperature:25,maxTemp:100,minTemp:0,alarmHighLimit:80,alarmLowLimit:10,deviceId:"",property:""},ports:{groups:{bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-bottom",group:"bottom"}]},props:[{key:"temperature",label:"当前温度(°C)",type:"number",path:"data.temperature",defaultValue:25,description:"当前测量温度值",bindable:!0},{key:"maxTemp",label:"最大量程(°C)",type:"number",path:"data.maxTemp",defaultValue:100,description:"传感器最大测量温度"},{key:"minTemp",label:"最小量程(°C)",type:"number",path:"data.minTemp",defaultValue:0,description:"传感器最小测量温度"},{key:"alarmHighLimit",label:"高温报警(°C)",type:"number",path:"data.alarmHighLimit",defaultValue:80,description:"高温报警阈值"},{key:"alarmLowLimit",label:"低温报警(°C)",type:"number",path:"data.alarmLowLimit",defaultValue:10,description:"低温报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"temperature",name:"温度",description:"当前测量温度值",dataType:"number",unit:"℃",defaultValue:25,required:!0},{id:"alarm_high",name:"高温报警",description:"是否超过高温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"alarm_low",name:"低温报警",description:"是否低于低温阈值",dataType:"boolean",defaultValue:!1,required:!1},{id:"quality",name:"信号质量",description:"传感器信号质量 (0-100)",dataType:"number",unit:"%",defaultValue:100,required:!1,range:{min:0,max:100}}]},ks={metadata:{id:"cylinder-3d",name:"3D气缸",category:"iot",icon:"🔩",description:"3D仿真气缸组件,支持伸缩动作和位置显示",version:"1.0.0"},shape:"cylinder-3d-vue",component:gp,width:80,height:160,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"cylinder",action:"stop",position:0,stroke:50,speed:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"action",label:"动作指令",type:"select",path:"data.action",defaultValue:"stop",options:[{label:"停止",value:"stop"},{label:"伸出",value:"extend"},{label:"缩回",value:"retract"}],description:"气缸动作指令",bindable:!0},{key:"position",label:"当前位置(mm)",type:"number",path:"data.position",defaultValue:0,min:0,description:"活塞杆当前位置",bindable:!0},{key:"stroke",label:"行程(mm)",type:"number",path:"data.stroke",defaultValue:50,min:10,max:200,description:"气缸最大行程"},{key:"speed",label:"速度(mm/s)",type:"number",path:"data.speed",defaultValue:200,min:10,max:1e3,description:"活塞杆运动速度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"action",name:"动作指令",description:"气缸当前动作指令",dataType:"string",defaultValue:"stop",required:!0},{id:"position",name:"当前位置",description:"活塞杆当前位置",dataType:"number",unit:"mm",defaultValue:0,required:!0},{id:"extended",name:"伸出到位",description:"活塞杆是否已伸出到位",dataType:"boolean",defaultValue:!1,required:!1},{id:"retracted",name:"缩回到位",description:"活塞杆是否已缩回到位",dataType:"boolean",defaultValue:!0,required:!1},{id:"pressure",name:"气压",description:"工作气压",dataType:"number",unit:"bar",defaultValue:6,required:!1}]},yp=Object.freeze(Object.defineProperty({__proto__:null,AlarmLight3DComponent:Es,Conveyor3DComponent:ws,Cylinder3DComponent:ks,TemperatureSensor3DComponent:vs},Symbol.toStringTag,{value:"Module"})),bp={class:"pipe-3d-container"},wp=["viewBox"],Ep=["id"],vp=["id"],kp=["stop-color"],_p=["stop-color"],Np=["stop-color"],Sp={key:0},xp=["y","width","height","fill"],Vp=["y","width","height"],Cp=["x","y","width","height","fill"],Ap=["cy","rx","ry"],Ip=["cx","cy","rx","ry"],Tp=["cy"],$p=["cy"],Bp=["cx","cy"],Dp=["cx","cy"],Pp={key:1},Op=["x","width","height","fill"],Mp=["x","width","height"],Rp=["x","y","width","height","fill"],jp=["cx","rx","ry"],Lp=["cx","cy","rx","ry"],Up=["cx"],Fp=["cx"],zp=["cx","cy"],Wp=["cx","cy"],qp={key:2},Gp=["id"],Hp=["fill"],Kp=["x1","y1","x2","y2","stroke","marker-end"],Qp=["x1","y1","x2","y2","stroke","marker-end"],Yp=Me(e.defineComponent({__name:"Pipe3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var y;return((y=t.node)==null?void 0:y.id)||`pipe-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(10),i=e.ref("horizontal"),l=e.ref("#3b82f6"),a=e.ref(40),c=e.ref(200),u=e.computed(()=>a.value/2),h=e.computed(()=>c.value),m=e.computed(()=>i.value==="horizontal"?`0 0 ${h.value} ${a.value+10}`:`0 0 ${a.value+10} ${h.value}`),f=e.computed(()=>(a.value+10)/2),p=e.computed(()=>(a.value+10)/2),w=e.ref(0),N=y=>{if(o.value){const v=y/16.67,_=n.value/5*v;w.value=(w.value+_)%h.value}},S=()=>{const y=s(),v=y.state==="flowing"||y.state===!0;v!==o.value&&We.setEnabled(r.value,v),o.value=v,n.value=y.flowRate||10,i.value=y.direction||"horizontal",l.value=y.fluidColor||"#3b82f6",a.value=y.diameter||40,c.value=y.length||200};return e.watch(()=>t.node,()=>{S()},{deep:!0}),e.onMounted(()=>{S(),We.register(r.value,N),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{S()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(y,v)=>(e.openBlock(),e.createElementBlock("div",bp,[(e.openBlock(),e.createElementBlock("svg",{viewBox:m.value,xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[0]||(v[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"30%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"70%","stop-color":"#cbd5e1"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Ep),e.createElementVNode("linearGradient",{id:`flow-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[e.createElementVNode("stop",{offset:"0%","stop-color":l.value,"stop-opacity":"0.3"},null,8,kp),e.createElementVNode("stop",{offset:"50%","stop-color":l.value,"stop-opacity":"0.8"},null,8,_p),e.createElementVNode("stop",{offset:"100%","stop-color":l.value,"stop-opacity":"0.3"},null,8,Np)],8,vp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("g",Sp,[e.createElementVNode("rect",{x:"0",y:f.value-u.value,width:h.value,height:u.value*2,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,xp),e.createElementVNode("rect",{x:"0",y:f.value-u.value+3,width:h.value,height:u.value*2-6,fill:"#0f172a"},null,8,Vp),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:w.value,y:f.value-u.value+5,width:h.value/2,height:u.value*2-10,fill:`url(#flow-gradient-${r.value})`},null,8,Cp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:0,cy:f.value,rx:u.value+2,ry:u.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Ap),e.createElementVNode("ellipse",{cx:h.value,cy:f.value,rx:u.value+2,ry:u.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Ip),e.createElementVNode("circle",{cx:0,cy:f.value-u.value-2,r:"1.5",fill:"#1e293b"},null,8,Tp),e.createElementVNode("circle",{cx:0,cy:f.value+u.value+2,r:"1.5",fill:"#1e293b"},null,8,$p),e.createElementVNode("circle",{cx:h.value,cy:f.value-u.value-2,r:"1.5",fill:"#1e293b"},null,8,Bp),e.createElementVNode("circle",{cx:h.value,cy:f.value+u.value+2,r:"1.5",fill:"#1e293b"},null,8,Dp)])])):(e.openBlock(),e.createElementBlock("g",Pp,[e.createElementVNode("rect",{x:p.value-u.value,y:"0",width:u.value*2,height:h.value,fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1"},null,8,Op),e.createElementVNode("rect",{x:p.value-u.value+3,y:"0",width:u.value*2-6,height:h.value,fill:"#0f172a"},null,8,Mp),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:p.value-u.value+5,y:w.value,width:u.value*2-10,height:h.value/2,fill:`url(#flow-gradient-${r.value})`},null,8,Rp)):e.createCommentVNode("",!0),e.createElementVNode("g",null,[e.createElementVNode("ellipse",{cx:p.value,cy:0,rx:u.value+2,ry:u.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,jp),e.createElementVNode("ellipse",{cx:p.value,cy:h.value,rx:u.value+2,ry:u.value+2,fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,8,Lp),e.createElementVNode("circle",{cx:p.value-u.value-2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Up),e.createElementVNode("circle",{cx:p.value+u.value+2,cy:0,r:"1.5",fill:"#1e293b"},null,8,Fp),e.createElementVNode("circle",{cx:p.value-u.value-2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,zp),e.createElementVNode("circle",{cx:p.value+u.value+2,cy:h.value,r:"1.5",fill:"#1e293b"},null,8,Wp)])])),o.value?(e.openBlock(),e.createElementBlock("g",qp,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"10",markerHeight:"10",refX:"8",refY:"3",orient:"auto",markerUnits:"strokeWidth"},[e.createElementVNode("path",{d:"M0,0 L0,6 L9,3 z",fill:l.value},null,8,Hp)],8,Gp)]),i.value==="horizontal"?(e.openBlock(),e.createElementBlock("line",{key:0,x1:h.value/2-20,y1:f.value,x2:h.value/2+20,y2:f.value,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Kp)):(e.openBlock(),e.createElementBlock("line",{key:1,x1:p.value,y1:h.value/2-20,x2:p.value,y2:h.value/2+20,stroke:l.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,Qp))])):e.createCommentVNode("",!0)],8,wp)),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":o.value}])},e.toDisplayString(o.value?"流动中":"停止")+" | "+e.toDisplayString(n.value)+" m³/h ",3)]))}}),[["__scopeId","data-v-ba72f8fe"]]),Jp={class:"filter-3d-container"},Xp={viewBox:"0 0 120 100",xmlns:"http://www.w3.org/2000/svg"},Zp=["id"],eh=["id"],th=["stop-color"],rh=["stop-color"],oh=["fill"],nh=["fill"],ih={opacity:"0.5"},sh=["x1","x2"],ah=["y1","y2"],lh=["y","height"],ch={transform:"translate(80, 30)"},dh=["fill"],uh=["fill","opacity"],fh={key:0,attributeName:"opacity",values:"1;0.3;1",dur:"0.8s",repeatCount:"indefinite"},ph={x:"60",y:"95","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},hh=Me(e.defineComponent({__name:"Filter3D",props:{node:{}},setup(d){const t=d,r=e.ref(`filter-${Math.random().toString(36).substr(2,9)}`),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(20),n=e.ref(5),i=e.ref(50),l=e.ref(70),a=e.computed(()=>o.value>=l.value?"#7f1d1d":o.value>=50?"#b45309":"#15803d"),c=e.computed(()=>o.value>=l.value?"#991b1b":o.value>=50?"#d97706":"#166534"),u=e.computed(()=>n.value>=15?"#ef4444":n.value>=10?"#f97316":"#22c55e"),h=e.computed(()=>o.value>=l.value),m=()=>{const f=s();o.value=Math.max(0,Math.min(100,f.clogLevel||20)),n.value=f.pressureDrop||5,i.value=f.diameter||50,l.value=f.alarmThreshold||70};return e.watch(()=>t.node,()=>{m()},{deep:!0}),e.onMounted(()=>{m(),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{m()})}),(f,p)=>(e.openBlock(),e.createElementBlock("div",Jp,[(e.openBlock(),e.createElementBlock("svg",Xp,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...p[0]||(p[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Zp),e.createElementVNode("linearGradient",{id:`filter-element-${r.value}`,x1:"0%",y1:"0%",x2:"0%",y2:"100%"},[e.createElementVNode("stop",{offset:"0%","stop-color":a.value},null,8,th),e.createElementVNode("stop",{offset:"100%","stop-color":c.value},null,8,rh)],8,eh)]),p[3]||(p[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),e.createElementVNode("rect",{x:"25",y:"20",width:"70",height:"60",rx:"5",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,oh),p[4]||(p[4]=e.createElementVNode("ellipse",{cx:"60",cy:"50",rx:"15",ry:"20",fill:"#1e293b",stroke:"#64748b","stroke-width":"2",opacity:"0.7"},null,-1)),e.createElementVNode("g",null,[e.createElementVNode("rect",{x:"50",y:"30",width:"20",height:"40",rx:"2",fill:`url(#filter-element-${r.value})`,stroke:"#475569","stroke-width":"1"},null,8,nh),e.createElementVNode("g",ih,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`v-${w}`,x1:50+w*2.5,y1:"30",x2:50+w*2.5,y2:"70",stroke:"#1e293b","stroke-width":"0.5"},null,8,sh)),64)),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,w=>e.createElementVNode("line",{key:`h-${w}`,x1:"50",y1:30+w*5,x2:"70",y2:30+w*5,stroke:"#1e293b","stroke-width":"0.5"},null,8,ah)),64))]),e.createElementVNode("rect",{x:"52",y:70-o.value*.4,width:"16",height:o.value*.4,fill:"#ef4444",opacity:"0.6"},null,8,lh)]),p[5]||(p[5]=e.createElementVNode("rect",{x:"95",y:"43",width:"25",height:"14",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),p[6]||(p[6]=e.createElementVNode("rect",{x:"55",y:"78",width:"10",height:"8",rx:"1",fill:"#334155",stroke:"#1e293b","stroke-width":"1"},null,-1)),p[7]||(p[7]=e.createElementVNode("path",{d:"M 57,86 L 60,90 L 63,86",stroke:"#64748b","stroke-width":"1.5",fill:"none"},null,-1)),e.createElementVNode("g",ch,[p[1]||(p[1]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"12",fill:"#0f172a",stroke:"#475569","stroke-width":"1.5"},null,-1)),e.createElementVNode("text",{x:"0",y:"4","font-size":"7",fill:u.value,"text-anchor":"middle","font-family":"monospace"},e.toDisplayString(n.value),9,dh),p[2]||(p[2]=e.createElementVNode("text",{x:"0",y:"10","font-size":"3",fill:"#64748b","text-anchor":"middle"},"kPa",-1))]),e.createElementVNode("circle",{cx:"35",cy:"28",r:"3",fill:h.value?"#ef4444":"#64748b",opacity:h.value?1:.3},[h.value?(e.openBlock(),e.createElementBlock("animate",fh)):e.createCommentVNode("",!0)],8,uh),e.createElementVNode("text",ph," FLT-"+e.toDisplayString(i.value),1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-alarm":h.value}])}," 堵塞度: "+e.toDisplayString(o.value)+"% | 压差: "+e.toDisplayString(n.value)+" kPa ",3)]))}}),[["__scopeId","data-v-1bb1c80a"]]),mh={class:"heat-exchanger-3d-container"},gh={viewBox:"0 0 140 120",xmlns:"http://www.w3.org/2000/svg"},yh=["id"],bh=["id"],wh=["id"],Eh=["fill"],vh={opacity:"0.6"},kh=["y1","y2"],_h=["y","fill"],Nh=["y","fill"],Sh=["x","fill"],xh=["x","fill"],Vh={transform:"translate(70, 60)"},Ch=["fill"],Ah={transform:"translate(95, 50)"},Ih={x:"0",y:"-1","font-size":"6",fill:"#ef4444","text-anchor":"middle"},Th={x:"0",y:"6","font-size":"5",fill:"#f97316","text-anchor":"middle"},$h={transform:"translate(45, 70)"},Bh={x:"0",y:"-1","font-size":"6",fill:"#3b82f6","text-anchor":"middle"},Dh={x:"0",y:"6","font-size":"5",fill:"#60a5fa","text-anchor":"middle"},Ph=["fill","opacity"],Oh={key:0,attributeName:"opacity",values:"1;0.5;1",dur:"1.5s",repeatCount:"indefinite"},Mh={x:"70",y:"115","font-size":"5",fill:"#64748b","text-anchor":"middle","font-family":"Arial"},Rh=Me(e.defineComponent({__name:"HeatExchanger3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var y;return((y=t.node)==null?void 0:y.id)||`hex-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref(80),i=e.ref(50),l=e.ref(20),a=e.ref(40),c=e.ref(10),u=e.computed(()=>{if(n.value<=i.value)return 0;const y=n.value-l.value,v=n.value-i.value,_=Math.round(v/y*100);return Math.max(0,Math.min(100,_))}),h=e.computed(()=>u.value>=80?"#22c55e":u.value>=60?"#fbbf24":u.value>=40?"#f97316":"#ef4444"),m=e.ref(0),f=e.ref(0),p=e.ref(0),w=e.ref(0),N=y=>{if(o.value){const _=.5*(y/16.67);m.value=(m.value+_)%20,f.value=(f.value+_)%20,p.value=(p.value+_)%20,w.value=(w.value+_)%20}},S=()=>{const y=s(),v=y.state==="working"||y.state===!0;v!==o.value&&We.setEnabled(r.value,v),o.value=v,n.value=y.hotTempIn||80,i.value=y.hotTempOut||50,l.value=y.coldTempIn||20,a.value=y.coldTempOut||40,c.value=y.heatTransferArea||10};return e.watch(()=>t.node,()=>{S()},{deep:!0}),e.onMounted(()=>{S(),We.register(r.value,N),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{S()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(y,v)=>(e.openBlock(),e.createElementBlock("div",mh,[(e.openBlock(),e.createElementBlock("svg",gh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`shell-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[0]||(v[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,yh),e.createElementVNode("linearGradient",{id:`hot-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[1]||(v[1]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#ef4444","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#ef4444","stop-opacity":"0.3"},null,-1)])],8,bh),e.createElementVNode("linearGradient",{id:`cold-fluid-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...v[2]||(v[2]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#3b82f6","stop-opacity":"0.7"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#3b82f6","stop-opacity":"0.3"},null,-1)])],8,wh)]),e.createElementVNode("rect",{x:"20",y:"30",width:"100",height:"60",rx:"8",fill:`url(#shell-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Eh),v[15]||(v[15]=e.createElementVNode("line",{x1:"70",y1:"30",x2:"70",y2:"90",stroke:"#64748b","stroke-width":"2"},null,-1)),e.createElementVNode("g",vh,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(8,_=>e.createElementVNode("line",{key:`tube-${_}`,x1:"25",y1:35+_*7,x2:"115",y2:35+_*7,stroke:"#475569","stroke-width":"1.5"},null,8,kh)),64))]),e.createElementVNode("g",null,[v[3]||(v[3]=e.createElementVNode("rect",{x:"60",y:"10",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),v[4]||(v[4]=e.createElementVNode("text",{x:"70",y:"23","font-size":"6",fill:"#ef4444","text-anchor":"middle","font-weight":"bold"},"H-IN",-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:10+m.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`},null,8,_h)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[v[5]||(v[5]=e.createElementVNode("rect",{x:"60",y:"90",width:"20",height:"20",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),v[6]||(v[6]=e.createElementVNode("text",{x:"70",y:"103","font-size":"6",fill:"#f97316","text-anchor":"middle","font-weight":"bold"},"H-OUT",-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:"65",y:90+f.value,width:"10",height:"8",fill:`url(#hot-fluid-${r.value})`,opacity:"0.7"},null,8,Nh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[v[7]||(v[7]=e.createElementVNode("rect",{x:"0",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),v[8]||(v[8]=e.createElementVNode("text",{x:"10",y:"62","font-size":"5",fill:"#3b82f6","text-anchor":"middle","font-weight":"bold"},"C-IN",-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:p.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`},null,8,Sh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",null,[v[9]||(v[9]=e.createElementVNode("rect",{x:"120",y:"53",width:"20",height:"14",rx:"2",fill:"#64748b",stroke:"#334155","stroke-width":"1"},null,-1)),v[10]||(v[10]=e.createElementVNode("text",{x:"130",y:"62","font-size":"5",fill:"#60a5fa","text-anchor":"middle","font-weight":"bold"},"C-OUT",-1)),o.value?(e.openBlock(),e.createElementBlock("rect",{key:0,x:120+w.value,y:"56",width:"8",height:"8",fill:`url(#cold-fluid-${r.value})`,opacity:"0.7"},null,8,xh)):e.createCommentVNode("",!0)]),e.createElementVNode("g",Vh,[v[11]||(v[11]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"15",fill:"#0f172a",stroke:"#475569","stroke-width":"2"},null,-1)),e.createElementVNode("text",{x:"0",y:"2","font-size":"10",fill:h.value,"text-anchor":"middle","font-family":"monospace","font-weight":"bold"},e.toDisplayString(u.value),9,Ch),v[12]||(v[12]=e.createElementVNode("text",{x:"0",y:"8","font-size":"4",fill:"#64748b","text-anchor":"middle"},"%",-1))]),e.createElementVNode("g",Ah,[v[13]||(v[13]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#ef4444","stroke-width":"1"},null,-1)),e.createElementVNode("text",Ih,e.toDisplayString(n.value)+"°C",1),e.createElementVNode("text",Th,"→"+e.toDisplayString(i.value)+"°C",1)]),e.createElementVNode("g",$h,[v[14]||(v[14]=e.createElementVNode("rect",{x:"-15",y:"-8",width:"30",height:"16",rx:"2",fill:"#1e293b",stroke:"#3b82f6","stroke-width":"1"},null,-1)),e.createElementVNode("text",Bh,e.toDisplayString(l.value)+"°C",1),e.createElementVNode("text",Dh,"→"+e.toDisplayString(a.value)+"°C",1)]),e.createElementVNode("circle",{cx:"30",cy:"38",r:"3",fill:o.value?"#22c55e":"#64748b",opacity:o.value?1:.3},[o.value?(e.openBlock(),e.createElementBlock("animate",Oh)):e.createCommentVNode("",!0)],8,Ph),e.createElementVNode("text",Mh," HEX-"+e.toDisplayString(c.value)+"m² ",1)])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-working":o.value}])},e.toDisplayString(o.value?"运行中":"停止")+" | 效率: "+e.toDisplayString(u.value)+"% ",3)]))}}),[["__scopeId","data-v-66465b23"]]),jh={class:"tee-3d-container"},Lh={viewBox:"0 0 100 100",xmlns:"http://www.w3.org/2000/svg"},Uh=["id"],Fh=["id"],zh=["stop-color"],Wh=["stop-color"],qh=["fill"],Gh=["fill"],Hh=["fill"],Kh={key:0},Qh=["fill"],Yh=["x","fill"],Jh=["x","fill"],Xh=["y","fill"],Zh=["y","fill"],em={key:1},tm=["id"],rm=["fill"],om=["stroke","marker-end"],nm=["stroke","marker-end"],im=["stroke","marker-end"],sm={transform:"translate(50, 50)"},am=["fill"],lm=Me(e.defineComponent({__name:"Tee3D",props:{node:{}},setup(d){const t=d,r=e.computed(()=>{var p;return((p=t.node)==null?void 0:p.id)||`tee-${Math.random().toString(36).substr(2,9)}`}),s=()=>t.node?t.node.getData?t.node.getData():t.node.data||{}:{},o=e.ref(!1),n=e.ref("#3b82f6"),i=e.ref(!0),l=e.ref(!0),a=e.ref(0),c=e.ref(0),u=e.ref(0),h=e.ref(0),m=p=>{if(o.value){const w=p/16.67;a.value=(a.value+1*w)%40,c.value=(c.value+1*w)%20,u.value=(u.value+1*w)%20,h.value=(h.value+1*w)%20}},f=()=>{const p=s(),w=p.state==="flowing"||p.state===!0;w!==o.value&&We.setEnabled(r.value,w),o.value=w,n.value=p.fluidColor||"#3b82f6",i.value=p.topFlowEnabled!==!1,l.value=p.bottomFlowEnabled!==!1};return e.watch(()=>t.node,()=>{f()},{deep:!0}),e.onMounted(()=>{f(),We.register(r.value,m),We.setEnabled(r.value,o.value),t.node&&typeof t.node.on=="function"&&t.node.on("change:data",()=>{f()})}),e.onUnmounted(()=>{We.unregister(r.value)}),(p,w)=>(e.openBlock(),e.createElementBlock("div",jh,[(e.openBlock(),e.createElementBlock("svg",Lh,[e.createElementVNode("defs",null,[e.createElementVNode("linearGradient",{id:`pipe-gradient-${r.value}`,x1:"0%",y1:"0%",x2:"100%",y2:"0%"},[...w[0]||(w[0]=[e.createElementVNode("stop",{offset:"0%","stop-color":"#475569"},null,-1),e.createElementVNode("stop",{offset:"50%","stop-color":"#94a3b8"},null,-1),e.createElementVNode("stop",{offset:"100%","stop-color":"#475569"},null,-1)])],8,Uh),e.createElementVNode("radialGradient",{id:`flow-gradient-${r.value}`},[e.createElementVNode("stop",{offset:"0%","stop-color":n.value,"stop-opacity":"0.8"},null,8,zh),e.createElementVNode("stop",{offset:"100%","stop-color":n.value,"stop-opacity":"0.2"},null,8,Wh)],8,Fh)]),e.createElementVNode("rect",{x:"0",y:"40",width:"100",height:"20",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,qh),e.createElementVNode("rect",{x:"40",y:"0",width:"20",height:"100",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"1.5"},null,8,Gh),e.createElementVNode("circle",{cx:"50",cy:"50",r:"18",fill:`url(#pipe-gradient-${r.value})`,stroke:"#334155","stroke-width":"2"},null,8,Hh),w[3]||(w[3]=e.createElementVNode("rect",{x:"0",y:"43",width:"100",height:"14",fill:"#0f172a"},null,-1)),w[4]||(w[4]=e.createElementVNode("rect",{x:"43",y:"0",width:"14",height:"100",fill:"#0f172a"},null,-1)),w[5]||(w[5]=e.createElementVNode("circle",{cx:"50",cy:"50",r:"15",fill:"#0f172a"},null,-1)),o.value?(e.openBlock(),e.createElementBlock("g",Kh,[e.createElementVNode("circle",{cx:"50",cy:"50",r:"12",fill:`url(#flow-gradient-${r.value})`},[...w[1]||(w[1]=[e.createElementVNode("animate",{attributeName:"r",values:"8;14;8",dur:"1.5s",repeatCount:"indefinite"},null,-1)])],8,Qh),e.createElementVNode("rect",{x:a.value,y:"45",width:"20",height:"10",fill:n.value,opacity:"0.6"},null,8,Yh),e.createElementVNode("rect",{x:60+c.value,y:"45",width:"20",height:"10",fill:n.value,opacity:"0.4"},null,8,Jh),e.createElementVNode("rect",{x:"45",y:u.value,width:"10",height:"20",fill:n.value,opacity:"0.4"},null,8,Xh),e.createElementVNode("rect",{x:"45",y:60+h.value,width:"10",height:"20",fill:n.value,opacity:"0.4"},null,8,Zh)])):e.createCommentVNode("",!0),w[6]||(w[6]=e.createStaticVNode('<g data-v-d955be85><ellipse cx="0" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-d955be85></ellipse><circle cx="0" cy="45" r="1" fill="#1e293b" data-v-d955be85></circle><circle cx="0" cy="55" r="1" fill="#1e293b" data-v-d955be85></circle><ellipse cx="100" cy="50" rx="3" ry="10" fill="#64748b" stroke="#334155" stroke-width="1" data-v-d955be85></ellipse><circle cx="100" cy="45" r="1" fill="#1e293b" data-v-d955be85></circle><circle cx="100" cy="55" r="1" fill="#1e293b" data-v-d955be85></circle><ellipse cx="50" cy="0" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-d955be85></ellipse><circle cx="45" cy="0" r="1" fill="#1e293b" data-v-d955be85></circle><circle cx="55" cy="0" r="1" fill="#1e293b" data-v-d955be85></circle><ellipse cx="50" cy="100" rx="10" ry="3" fill="#64748b" stroke="#334155" stroke-width="1" data-v-d955be85></ellipse><circle cx="45" cy="100" r="1" fill="#1e293b" data-v-d955be85></circle><circle cx="55" cy="100" r="1" fill="#1e293b" data-v-d955be85></circle></g>',1)),o.value?(e.openBlock(),e.createElementBlock("g",em,[e.createElementVNode("defs",null,[e.createElementVNode("marker",{id:`arrow-${r.value}`,markerWidth:"8",markerHeight:"8",refX:"6",refY:"3",orient:"auto"},[e.createElementVNode("path",{d:"M0,0 L0,6 L6,3 z",fill:n.value},null,8,rm)],8,tm)]),e.createElementVNode("line",{x1:"20",y1:"50",x2:"35",y2:"50",stroke:n.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,om),i.value?(e.openBlock(),e.createElementBlock("line",{key:0,x1:"50",y1:"35",x2:"50",y2:"20",stroke:n.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,nm)):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("line",{key:1,x1:"50",y1:"65",x2:"50",y2:"80",stroke:n.value,"stroke-width":"2","marker-end":`url(#arrow-${r.value})`},null,8,im)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("g",sm,[w[2]||(w[2]=e.createElementVNode("circle",{cx:"0",cy:"0",r:"6",fill:"#0f172a",stroke:"#475569","stroke-width":"1"},null,-1)),e.createElementVNode("circle",{cx:"0",cy:"0",r:"3",fill:o.value?"#22c55e":"#64748b"},null,8,am)])])),e.createElementVNode("div",{class:e.normalizeClass(["status-text",{"is-flowing":o.value}])},e.toDisplayString(o.value?"流动中":"关闭"),3)]))}}),[["__scopeId","data-v-d955be85"]]),_s={metadata:{id:"pipe-3d",name:"3D管道",category:"iot",icon:"🔧",description:"3D仿真管道组件,支持横向/纵向和流体动画",version:"1.0.0"},shape:"pipe-3d-vue",component:Yp,width:220,height:60,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"pipe",state:!1,flowRate:10,direction:"horizontal",fluidColor:"#3b82f6",diameter:40,length:200,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"流动",value:"flowing"}],description:"管道流体状态",bindable:!0},{key:"flowRate",label:"流量(m³/h)",type:"number",path:"data.flowRate",defaultValue:10,min:0,description:"流体流量",bindable:!0},{key:"direction",label:"管道方向",type:"select",path:"data.direction",defaultValue:"horizontal",options:[{label:"横向",value:"horizontal"},{label:"纵向",value:"vertical"}],description:"管道布置方向"},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色",bindable:!0},{key:"diameter",label:"管径(mm)",type:"number",path:"data.diameter",defaultValue:40,min:20,max:100,description:"管道直径"},{key:"length",label:"长度(mm)",type:"number",path:"data.length",defaultValue:200,min:100,max:500,description:"管道长度"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"管道流体流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"flow_rate",name:"流量",description:"管道流体流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!0,range:{min:0}},{id:"pressure",name:"压力",description:"管道内压力",dataType:"number",unit:"kPa",defaultValue:0,required:!1},{id:"temperature",name:"温度",description:"流体温度",dataType:"number",unit:"℃",defaultValue:25,required:!1}]},Ns={metadata:{id:"filter-3d",name:"3D过滤器",category:"iot",icon:"🧹",description:"3D仿真过滤器,支持堵塞度和压差显示",version:"1.0.0"},shape:"filter-3d-vue",component:hh,width:140,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"filter",clogLevel:20,pressureDrop:5,diameter:50,alarmThreshold:70,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"clogLevel",label:"堵塞度(%)",type:"number",path:"data.clogLevel",defaultValue:20,min:0,max:100,description:"滤芯堵塞程度",bindable:!0},{key:"pressureDrop",label:"压差(kPa)",type:"number",path:"data.pressureDrop",defaultValue:5,min:0,description:"过滤器压差",bindable:!0},{key:"diameter",label:"口径(mm)",type:"number",path:"data.diameter",defaultValue:50,min:20,max:100,description:"过滤器口径"},{key:"alarmThreshold",label:"报警阈值(%)",type:"number",path:"data.alarmThreshold",defaultValue:70,min:0,max:100,description:"堵塞度报警阈值"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"clog_level",name:"堵塞度",description:"滤芯堵塞程度百分比",dataType:"number",unit:"%",defaultValue:0,required:!0,range:{min:0,max:100}},{id:"pressure_drop",name:"压差",description:"过滤器进出口压差",dataType:"number",unit:"kPa",defaultValue:0,required:!0,range:{min:0}},{id:"flow_rate",name:"流量",description:"通过过滤器的流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1},{id:"alarm",name:"告警状态",description:"是否触发堵塞告警",dataType:"boolean",defaultValue:!1,required:!1}]},Ss={metadata:{id:"heat-exchanger-3d",name:"3D换热器",category:"iot",icon:"🔥",description:"3D仿真换热器,支持热冷流体交换和效率显示",version:"1.0.0"},shape:"heat-exchanger-3d-vue",component:Rh,width:160,height:140,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"heat-exchanger",state:!1,hotTempIn:80,hotTempOut:50,coldTempIn:20,coldTempOut:40,heatTransferArea:10,deviceId:"",property:""},ports:{groups:{top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"},{id:"port-left",group:"left"},{id:"port-right",group:"right"}]},props:[{key:"state",label:"运行状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"停止",value:!1},{label:"运行",value:"working"}],description:"换热器运行状态",bindable:!0},{key:"hotTempIn",label:"热侧进口(°C)",type:"number",path:"data.hotTempIn",defaultValue:80,description:"热流体进口温度",bindable:!0},{key:"hotTempOut",label:"热侧出口(°C)",type:"number",path:"data.hotTempOut",defaultValue:50,description:"热流体出口温度",bindable:!0},{key:"coldTempIn",label:"冷侧进口(°C)",type:"number",path:"data.coldTempIn",defaultValue:20,description:"冷流体进口温度",bindable:!0},{key:"coldTempOut",label:"冷侧出口(°C)",type:"number",path:"data.coldTempOut",defaultValue:40,description:"冷流体出口温度",bindable:!0},{key:"heatTransferArea",label:"换热面积(m²)",type:"number",path:"data.heatTransferArea",defaultValue:10,min:1,description:"换热器换热面积"},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"运行状态",description:"换热器运行状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"hot_temp_in",name:"热侧进口温度",description:"热流体进口温度",dataType:"number",unit:"℃",defaultValue:80,required:!0},{id:"hot_temp_out",name:"热侧出口温度",description:"热流体出口温度",dataType:"number",unit:"℃",defaultValue:50,required:!0},{id:"cold_temp_in",name:"冷侧进口温度",description:"冷流体进口温度",dataType:"number",unit:"℃",defaultValue:20,required:!0},{id:"cold_temp_out",name:"冷侧出口温度",description:"冷流体出口温度",dataType:"number",unit:"℃",defaultValue:40,required:!0},{id:"efficiency",name:"换热效率",description:"换热器当前效率",dataType:"number",unit:"%",defaultValue:85,required:!1,range:{min:0,max:100}}]},xs={metadata:{id:"tee-3d",name:"3D三通",category:"iot",icon:"⛓️",description:"3D仿真三通管件,支持流体分流和汇流",version:"1.0.0"},shape:"tee-3d-vue",component:lm,width:120,height:120,label:"",attrs:{body:{fill:"transparent",stroke:"transparent"}},data:{type:"tee",state:!1,fluidColor:"#3b82f6",topFlowEnabled:!0,bottomFlowEnabled:!0,deviceId:"",property:""},ports:{groups:{left:{position:"left",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},right:{position:"right",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},top:{position:"top",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}},bottom:{position:"bottom",attrs:{circle:{r:4,magnet:!0,stroke:"#31d0c6",strokeWidth:2,fill:"#fff"}}}},items:[{id:"port-left",group:"left"},{id:"port-right",group:"right"},{id:"port-top",group:"top"},{id:"port-bottom",group:"bottom"}]},props:[{key:"state",label:"流动状态",type:"select",path:"data.state",defaultValue:!1,options:[{label:"关闭",value:!1},{label:"流动",value:"flowing"}],description:"三通管件流动状态",bindable:!0},{key:"fluidColor",label:"流体颜色",type:"color",path:"data.fluidColor",defaultValue:"#3b82f6",description:"流体显示颜色"},{key:"topFlowEnabled",label:"上方分流",type:"boolean",path:"data.topFlowEnabled",defaultValue:!0,description:"是否启用上方分流",bindable:!0},{key:"bottomFlowEnabled",label:"下方分流",type:"boolean",path:"data.bottomFlowEnabled",defaultValue:!0,description:"是否启用下方分流",bindable:!0},{key:"deviceId",label:"设备ID",type:"text",path:"data.deviceId",defaultValue:"",description:"绑定的设备ID"},{key:"property",label:"设备属性",type:"text",path:"data.property",defaultValue:"",description:"绑定的设备属性名称"}],points:[{id:"status",name:"流动状态",description:"三通管件流动状态",dataType:"boolean",defaultValue:!1,required:!0},{id:"top_flow_enabled",name:"上方分流",description:"上方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"bottom_flow_enabled",name:"下方分流",description:"下方分流是否启用",dataType:"boolean",defaultValue:!0,required:!1},{id:"inlet_flow",name:"入口流量",description:"三通入口流量",dataType:"number",unit:"m³/h",defaultValue:0,required:!1}]},cm=Object.freeze(Object.defineProperty({__proto__:null,Filter3DComponent:Ns,HeatExchanger3DComponent:Ss,Pipe3DComponent:_s,Tee3DComponent:xs},Symbol.toStringTag,{value:"Module"})),dm=Object.freeze(Object.defineProperty({__proto__:null,AlarmLight3DComponent:Es,Conveyor3DComponent:ws,Cylinder3DComponent:ks,EChartsGaugeComponent:fs,EChartsLineComponent:hs,Filter3DComponent:Ns,HeatExchanger3DComponent:Ss,LightComponent:cs,Motor3DComponent:ms,Pipe3DComponent:_s,Pump3DComponent:bs,SwitchComponent:ds,Tank3DComponent:ys,Tee3DComponent:xs,TemperatureSensor3DComponent:vs,Valve3DComponent:gs},Symbol.toStringTag,{value:"Module"}));class um{constructor(){he(this,"registry",{});he(this,"lazyRegistry",new Map);he(this,"loadingPromises",new Map);this.registerDefaultComponents(),this.registerLazyComponents()}registerDefaultComponents(){this.register(ss),this.register(as),this.register(ls),this.register(cs),this.register(ds),this.register(fs),this.register(hs)}registerLazyComponents(){Object.entries(Object.assign({"./iot/industrial-3d-extended.ts":()=>Promise.resolve().then(()=>yp),"./iot/industrial-3d-fluid.ts":()=>Promise.resolve().then(()=>cm),"./iot/industrial-3d.ts":()=>Promise.resolve().then(()=>tf)})).forEach(([r,s])=>{const o=`__module__${r}`;this.lazyRegistry.set(o,{loader:async()=>{const n=await s();return Object.values(n).forEach(i=>{if(i&&typeof i=="object"&&i.metadata){const l=i,a=l.metadata.id;this.registry[a]||(this.registry[a]=l,this.registerVueShape(l))}}),{default:{}}},loading:!1,loaded:!1})})}registerVueShape(t){if(t.component)try{is({shape:t.shape,width:t.width,height:t.height,component:t.component,ports:t.ports})}catch{}}register(t){const{id:r}=t.metadata;this.registry[r]&&console.warn(`组件 ${r} 已存在,将被覆盖`),this.registry[r]=t,this.registerVueShape(t)}registerLazy(t,r){this.lazyRegistry.has(t)&&console.warn(`懒加载组件 ${t} 已存在,将被覆盖`),this.lazyRegistry.set(t,{loader:r,loading:!1,loaded:!1})}registerBatch(t){t.forEach(r=>this.register(r))}async getComponent(t){if(this.registry[t])return this.registry[t];const r=this.lazyRegistry.get(t);if(r)return this.loadComponent(t,r)}getComponentSync(t){return this.registry[t]}async loadComponent(t,r){if(r.loaded&&r.config)return r.config;if(r.loading){const o=this.loadingPromises.get(t);if(o)return o}r.loading=!0;const s=(async()=>{try{if(!r.loader)throw new Error(`组件 ${t} 没有 loader`);const n=(await r.loader()).default;return r.config=n,r.loaded=!0,r.loading=!1,this.registry[t]=n,this.registerVueShape(n),this.loadingPromises.delete(t),n}catch(o){throw r.loading=!1,this.loadingPromises.delete(t),console.error(`[懒加载] 组件 ${t} 加载失败:`,o),o}})();return this.loadingPromises.set(t,s),s}async preloadComponent(t){const r=this.lazyRegistry.get(t);if(!r||r.loaded)return!1;try{return await this.loadComponent(t,r),!0}catch{return!1}}async preloadComponents(t){await Promise.all(t.map(r=>this.preloadComponent(r)))}async preloadAllComponents(){const t=Array.from(this.lazyRegistry.keys()),r=t.filter(o=>o.startsWith("__module__")),s=t.filter(o=>!o.startsWith("__module__"));await Promise.all(r.map(async o=>{const n=this.lazyRegistry.get(o);if(n&&!n.loaded)try{await n.loader(),n.loaded=!0}catch(i){console.error(`[预加载] 模块 ${o} 加载失败:`,i)}})),await this.preloadComponents(s)}getComponentByShape(t){return Object.values(this.registry).find(r=>r.shape===t)}getAllComponents(){return{...this.registry}}getAllComponentIds(){const t=Object.keys(this.registry),r=Array.from(this.lazyRegistry.keys());return[...new Set([...t,...r])]}getComponentsByCategory(t){return Object.values(this.registry).filter(r=>r.metadata.category===t)}getComponentList(){return Object.values(this.registry)}hasComponent(t){return t in this.registry}unregister(t){return this.registry[t]?(delete this.registry[t],!0):(console.warn(`组件 ${t} 不存在`),!1)}getCount(){return Object.keys(this.registry).length+this.lazyRegistry.size}getLoadedCount(){return Object.keys(this.registry).length}getLazyLoadStats(){const t=this.lazyRegistry.size,r=Array.from(this.lazyRegistry.values()).filter(n=>n.loaded).length,s=t-r,o=t>0?(r/t*100).toFixed(1):"0.0";return{total:t,loaded:r,pending:s,loadRate:`${o}%`}}clear(){this.registry={}}}const bt=new um,ko={size:{width:1920,height:1080,preset:"1920*1080"},zoom:{scale:1,min:.1,max:5},offset:{x:0,y:0},background:{color:"#1e293b",size:"origin",repeat:"repeat"},grid:{enabled:!0,size:10,color:"#475569",type:"dot"},snap:{enabled:!0,threshold:10},guides:{enabled:!1,color:"#3b82f6"},magnetism:{enabled:!0,threshold:10}},fm=[{key:"sizePreset",label:"画布尺寸",type:"select",category:"basic",path:"size.preset",defaultValue:"1920*1080",options:[{label:"1920*1080",value:"1920*1080"},{label:"1366*768",value:"1366*768"},{label:"1280*720",value:"1280*720"},{label:"800*600",value:"800*600"}],description:"预设画布尺寸"},{key:"scale",label:"缩放倍数",type:"slider",category:"transform",path:"zoom.scale",defaultValue:1,min:.1,max:5,step:.1,description:"画布缩放比例"},{key:"offsetX",label:"画布X轴偏移",type:"number",category:"transform",path:"offset.x",defaultValue:0,description:"X轴偏移量"},{key:"offsetY",label:"画布Y轴偏移",type:"number",category:"transform",path:"offset.y",defaultValue:0,description:"Y轴偏移量"},{key:"backgroundColor",label:"背景颜色",type:"color",category:"background",path:"background.color",defaultValue:"#1e293b",description:"画布背景颜色"},{key:"backgroundImage",label:"背景图片",type:"image",category:"background",path:"background.image",defaultValue:"",description:"背景图片URL"},{key:"backgroundSize",label:"背景大小",type:"select",category:"background",path:"background.size",defaultValue:"origin",options:[{label:"原始",value:"origin"},{label:"包含",value:"contain"},{label:"覆盖",value:"cover"},{label:"拉伸",value:"stretch"}],description:"背景图片尺寸模式"},{key:"backgroundRepeat",label:"图像重复",type:"select",category:"background",path:"background.repeat",defaultValue:"repeat",options:[{label:"重复",value:"repeat"},{label:"X轴重复",value:"repeat-x"},{label:"Y轴重复",value:"repeat-y"},{label:"不重复",value:"no-repeat"}],description:"背景图片重复模式"},{key:"gridEnabled",label:"网格",type:"boolean",category:"assist",path:"grid.enabled",defaultValue:!0,description:"显示网格"},{key:"gridSize",label:"网格大小",type:"number",category:"assist",path:"grid.size",defaultValue:10,min:5,max:50,description:"网格单元格大小"},{key:"snapEnabled",label:"网格对齐",type:"boolean",category:"assist",path:"snap.enabled",defaultValue:!0,description:"启用网格对齐"},{key:"guidesEnabled",label:"参考线",type:"boolean",category:"assist",path:"guides.enabled",defaultValue:!0,description:"显示参考线"},{key:"magnetismEnabled",label:"吸附",type:"boolean",category:"assist",path:"magnetism.enabled",defaultValue:!0,description:"启用吸附功能"}],pr={"1920*1080":{width:1920,height:1080},"1366*768":{width:1366,height:768},"1280*720":{width:1280,height:720},"800*600":{width:800,height:600}};class pm{constructor(){he(this,"config");this.config=e.reactive({...ko})}getConfig(){return this.config}updateConfig(t){Object.assign(this.config,t)}updateByPath(t,r){const s=t.split(".");let o=this.config;for(let n=0;n<s.length-1;n++)o=o[s[n]];if(o[s[s.length-1]]=r,t==="size.preset"&&r in pr){const{width:n,height:i}=pr[r];this.config.size.width=n,this.config.size.height=i}}getByPath(t){const r=t.split(".");let s=this.config;for(const o of r)s=s==null?void 0:s[o];return s}setSize(t,r,s){this.config.size.width=t,this.config.size.height=r,s&&(this.config.size.preset=s)}updateSize(t){this.config.size.width=t.width,this.config.size.height=t.height}setZoom(t){const{min:r=.1,max:s=5}=this.config.zoom;this.config.zoom.scale=Math.max(r,Math.min(s,t))}setOffset(t,r){this.config.offset.x=t,this.config.offset.y=r}setBackgroundColor(t){this.config.background.color=t}updateBackground(t){t.color!==void 0&&(this.config.background.color=t.color),t.image!==void 0&&(this.config.background.image=t.image),t.size!==void 0&&(this.config.background.size=t.size),t.repeat!==void 0&&(this.config.background.repeat=t.repeat)}setBackgroundImage(t){this.config.background.image=t}toggleGrid(t){this.config.grid.enabled=t??!this.config.grid.enabled}setGridSize(t){this.config.grid.size=t}toggleSnap(t){this.config.snap.enabled=t??!this.config.snap.enabled}toggleGuides(t){this.config.guides.enabled=t??!this.config.guides.enabled}toggleMagnetism(t){this.config.magnetism.enabled=t??!this.config.magnetism.enabled}reset(){Object.assign(this.config,ko)}export(){return JSON.stringify(this.config,null,2)}import(t){try{const r=JSON.parse(t);Object.assign(this.config,r)}catch(r){console.error("导入画布配置失败:",r)}}}const je=new pm,hm=["title"],mm={class:"library-content"},gm={key:0,class:"component-section"},ym={class:"component-grid"},bm=["onClick","title"],wm={class:"component-icon"},Em={class:"component-name"},vm={key:1,class:"component-section"},km={class:"component-grid"},_m=["onClick","title"],Nm={class:"component-icon"},Sm={class:"component-name"},_o=Me(e.defineComponent({__name:"ComponentLibrary",props:{isCollapsed:{type:Boolean,default:!1}},emits:["addComponent","update:collapsed"],setup(d,{emit:t}){const r=d,s=t,o=()=>{s("update:collapsed",!r.isCollapsed)},n=e.reactive({basic:!1,iot:!1}),i=h=>{n[h]=!n[h]},l=e.ref(0),a=e.computed(()=>(l.value,bt.getComponentsByCategory("basic"))),c=e.computed(()=>(l.value,bt.getComponentsByCategory("iot"))),u=h=>{s("addComponent",h.metadata.id)};return e.onMounted(async()=>{try{await bt.preloadAllComponents(),l.value++}catch(h){console.error("[组件库] 预加载组件失败:",h)}}),(h,m)=>(e.openBlock(),e.createElementBlock("aside",{class:e.normalizeClass(["component-library",{collapsed:d.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:o,title:d.isCollapsed?"展开组件库":"折叠组件库"},[...m[2]||(m[2]=[e.createElementVNode("span",{class:"collapse-icon"},"◀",-1)])],8,hm),m[5]||(m[5]=e.createElementVNode("div",{class:"library-header"},[e.createElementVNode("h3",null,"组件库")],-1)),e.createElementVNode("div",mm,[a.value.length>0?(e.openBlock(),e.createElementBlock("div",gm,[e.createElementVNode("div",{class:"section-header",onClick:m[0]||(m[0]=f=>i("basic"))},[m[3]||(m[3]=e.createElementVNode("h4",{class:"section-title"},"基础组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:n.basic}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",ym,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,f=>(e.openBlock(),e.createElementBlock("div",{key:f.metadata.id,class:"component-item",onClick:p=>u(f),title:f.metadata.description||f.metadata.name},[e.createElementVNode("span",wm,e.toDisplayString(f.metadata.icon),1),e.createElementVNode("span",Em,e.toDisplayString(f.metadata.name),1)],8,bm))),128))],512),[[e.vShow,!n.basic]])])):e.createCommentVNode("",!0),c.value.length>0?(e.openBlock(),e.createElementBlock("div",vm,[e.createElementVNode("div",{class:"section-header",onClick:m[1]||(m[1]=f=>i("iot"))},[m[4]||(m[4]=e.createElementVNode("h4",{class:"section-title"},"IoT组件",-1)),e.createElementVNode("span",{class:e.normalizeClass(["toggle-icon",{collapsed:n.iot}])},"▼",2)]),e.withDirectives(e.createElementVNode("div",km,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,f=>(e.openBlock(),e.createElementBlock("div",{key:f.metadata.id,class:"component-item",onClick:p=>u(f),title:f.metadata.description||f.metadata.name},[e.createElementVNode("span",Nm,e.toDisplayString(f.metadata.icon),1),e.createElementVNode("span",Sm,e.toDisplayString(f.metadata.name),1)],8,_m))),128))],512),[[e.vShow,!n.iot]])])):e.createCommentVNode("",!0)])],2))}}),[["__scopeId","data-v-984a881b"]]),xm={class:"canvas-area"},Vm=Me(e.defineComponent({__name:"CanvasArea",setup(d,{expose:t}){const r=e.ref();return t({containerRef:r}),(s,o)=>(e.openBlock(),e.createElementBlock("div",xm,[e.createElementVNode("div",{ref_key:"containerRef",ref:r,class:"canvas-container"},null,512)]))}}),[["__scopeId","data-v-8493cde1"]]),Cm={class:"canvas-config-panel"},Am={class:"panel-content"},Im={class:"config-section"},Tm={class:"config-item"},$m={key:0,class:"config-item"},Bm={class:"number-input-group"},Dm={key:1,class:"config-item"},Pm={class:"number-input-group"},Om={class:"config-section"},Mm={class:"config-item"},Rm={class:"slider-group"},jm={class:"value-display"},Lm={class:"config-item"},Um={class:"number-input-group"},Fm={class:"config-item"},zm={class:"number-input-group"},Wm={class:"config-section"},qm={class:"config-item"},Gm={class:"config-item"},Hm={class:"image-upload"},Km={class:"config-item"},Qm={class:"config-item"},Ym={class:"config-section"},Jm={class:"config-item"},Xm={class:"switch"},Zm={class:"config-item"},eg={class:"switch"},tg={class:"config-item"},rg={class:"switch"},og={key:0,class:"config-item"},ng={class:"number-input-group"},No=Me(e.defineComponent({__name:"CanvasConfigPanel",setup(d){const t=e.computed(()=>je.getConfig()),r=e.ref(),s=e.ref(t.value.size.width),o=e.ref(t.value.size.height),n=()=>{const f=t.value.size.preset;if(f==="custom")s.value=t.value.size.width,o.value=t.value.size.height;else if(f&&f in pr){const{width:p,height:w}=pr[f];je.setSize(p,w,f)}},i=()=>{t.value.size.preset==="custom"&&je.setSize(s.value,o.value,"custom")},l=(f,p)=>{f==="width"?s.value=Math.max(800,Math.min(7680,s.value+p)):o.value=Math.max(600,Math.min(4320,o.value+p)),i()},a=(f,p)=>{const w=t.value.offset[f];je.setOffset(f==="x"?w+p:t.value.offset.x,f==="y"?w+p:t.value.offset.y)},c=f=>{const p=Math.max(5,Math.min(50,t.value.grid.size+f));je.setGridSize(p)},u=()=>{var f;(f=r.value)==null||f.click()},h=f=>{var N;const w=(N=f.target.files)==null?void 0:N[0];if(w){const S=new FileReader;S.onload=y=>{var _;const v=(_=y.target)==null?void 0:_.result;je.updateByPath("background.image",v)},S.readAsDataURL(w)}},m=()=>{je.updateByPath("background.image",""),r.value&&(r.value.value="")};return(f,p)=>(e.openBlock(),e.createElementBlock("div",Cm,[p[48]||(p[48]=e.createElementVNode("div",{class:"panel-header"},[e.createElementVNode("h3",null,"画布配置")],-1)),e.createElementVNode("div",Am,[e.createElementVNode("div",Im,[p[27]||(p[27]=e.createElementVNode("h4",{class:"section-title"},"基础配置",-1)),e.createElementVNode("div",Tm,[p[24]||(p[24]=e.createElementVNode("label",null,"画布尺寸",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[0]||(p[0]=w=>t.value.size.preset=w),onChange:n,class:"config-select"},[...p[23]||(p[23]=[e.createStaticVNode('<option value="1920*1080" data-v-be44eb59>1920*1080</option><option value="1366*768" data-v-be44eb59>1366*768</option><option value="1280*720" data-v-be44eb59>1280*720</option><option value="800*600" data-v-be44eb59>800*600</option><option value="custom" data-v-be44eb59>自定义</option>',5)])],544),[[e.vModelSelect,t.value.size.preset]])]),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",$m,[p[25]||(p[25]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("div",Bm,[e.createElementVNode("button",{onClick:p[1]||(p[1]=w=>l("width",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":p[2]||(p[2]=w=>s.value=w),onChange:i,min:800,max:7680,class:"config-number"},null,544),[[e.vModelText,s.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:p[3]||(p[3]=w=>l("width",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0),t.value.size.preset==="custom"?(e.openBlock(),e.createElementBlock("div",Dm,[p[26]||(p[26]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("div",Pm,[e.createElementVNode("button",{onClick:p[4]||(p[4]=w=>l("height",-100)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":p[5]||(p[5]=w=>o.value=w),onChange:i,min:600,max:4320,class:"config-number"},null,544),[[e.vModelText,o.value,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:p[6]||(p[6]=w=>l("height",100)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Om,[p[31]||(p[31]=e.createElementVNode("h4",{class:"section-title"},"变换",-1)),e.createElementVNode("div",Mm,[p[28]||(p[28]=e.createElementVNode("label",null,"缩放倍数",-1)),e.createElementVNode("div",Rm,[e.withDirectives(e.createElementVNode("input",{type:"range","onUpdate:modelValue":p[7]||(p[7]=w=>t.value.zoom.scale=w),min:.1,max:5,step:.1,class:"config-slider"},null,512),[[e.vModelText,t.value.zoom.scale,void 0,{number:!0}]]),e.createElementVNode("span",jm,e.toDisplayString(t.value.zoom.scale.toFixed(1)),1)])]),e.createElementVNode("div",Lm,[p[29]||(p[29]=e.createElementVNode("label",null,"画布X轴偏移",-1)),e.createElementVNode("div",Um,[e.createElementVNode("button",{onClick:p[8]||(p[8]=w=>a("x",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":p[9]||(p[9]=w=>t.value.offset.x=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.x,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:p[10]||(p[10]=w=>a("x",10)),class:"adjust-btn"},"+")])]),e.createElementVNode("div",Fm,[p[30]||(p[30]=e.createElementVNode("label",null,"画布Y轴偏移",-1)),e.createElementVNode("div",zm,[e.createElementVNode("button",{onClick:p[11]||(p[11]=w=>a("y",-10)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":p[12]||(p[12]=w=>t.value.offset.y=w),class:"config-number"},null,512),[[e.vModelText,t.value.offset.y,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:p[13]||(p[13]=w=>a("y",10)),class:"adjust-btn"},"+")])])]),e.createElementVNode("div",Wm,[p[39]||(p[39]=e.createElementVNode("h4",{class:"section-title"},"背景",-1)),e.createElementVNode("div",qm,[p[32]||(p[32]=e.createElementVNode("label",null,"背景颜色",-1)),e.withDirectives(e.createElementVNode("input",{type:"color","onUpdate:modelValue":p[14]||(p[14]=w=>t.value.background.color=w),class:"config-color"},null,512),[[e.vModelText,t.value.background.color]])]),e.createElementVNode("div",Gm,[p[34]||(p[34]=e.createElementVNode("label",null,"背景图片",-1)),e.createElementVNode("div",Hm,[e.createElementVNode("input",{type:"file",accept:"image/*",onChange:h,ref_key:"fileInput",ref:r,style:{display:"none"}},null,544),e.createElementVNode("button",{onClick:u,class:"upload-btn"},[...p[33]||(p[33]=[e.createElementVNode("span",null,"📄",-1)])]),t.value.background.image?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:m,class:"clear-btn",title:"清除背景图"}," ✕ ")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Km,[p[36]||(p[36]=e.createElementVNode("label",null,"背景大小",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[15]||(p[15]=w=>t.value.background.size=w),class:"config-select"},[...p[35]||(p[35]=[e.createElementVNode("option",{value:"origin"},"原始",-1),e.createElementVNode("option",{value:"contain"},"包含",-1),e.createElementVNode("option",{value:"cover"},"覆盖",-1),e.createElementVNode("option",{value:"stretch"},"拉伸",-1)])],512),[[e.vModelSelect,t.value.background.size]])]),e.createElementVNode("div",Qm,[p[38]||(p[38]=e.createElementVNode("label",null,"图像重复",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[16]||(p[16]=w=>t.value.background.repeat=w),class:"config-select"},[...p[37]||(p[37]=[e.createElementVNode("option",{value:"repeat"},"重复",-1),e.createElementVNode("option",{value:"repeat-x"},"X轴重复",-1),e.createElementVNode("option",{value:"repeat-y"},"Y轴重复",-1),e.createElementVNode("option",{value:"no-repeat"},"不重复",-1)])],512),[[e.vModelSelect,t.value.background.repeat]])])]),e.createElementVNode("div",Ym,[p[47]||(p[47]=e.createElementVNode("h4",{class:"section-title"},"辅助",-1)),e.createElementVNode("div",Jm,[p[41]||(p[41]=e.createElementVNode("label",null,"吸附",-1)),e.createElementVNode("label",Xm,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":p[17]||(p[17]=w=>t.value.magnetism.enabled=w)},null,512),[[e.vModelCheckbox,t.value.magnetism.enabled]]),p[40]||(p[40]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",Zm,[p[43]||(p[43]=e.createElementVNode("label",null,"网格",-1)),e.createElementVNode("label",eg,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":p[18]||(p[18]=w=>t.value.grid.enabled=w)},null,512),[[e.vModelCheckbox,t.value.grid.enabled]]),p[42]||(p[42]=e.createElementVNode("span",{class:"slider"},null,-1))])]),e.createElementVNode("div",tg,[p[45]||(p[45]=e.createElementVNode("label",null,"网格对齐",-1)),e.createElementVNode("label",rg,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":p[19]||(p[19]=w=>t.value.snap.enabled=w)},null,512),[[e.vModelCheckbox,t.value.snap.enabled]]),p[44]||(p[44]=e.createElementVNode("span",{class:"slider"},null,-1))])]),t.value.grid.enabled?(e.openBlock(),e.createElementBlock("div",og,[p[46]||(p[46]=e.createElementVNode("label",null,"网格大小",-1)),e.createElementVNode("div",ng,[e.createElementVNode("button",{onClick:p[20]||(p[20]=w=>c(-5)),class:"adjust-btn"},"-"),e.withDirectives(e.createElementVNode("input",{type:"number","onUpdate:modelValue":p[21]||(p[21]=w=>t.value.grid.size=w),min:5,max:50,class:"config-number"},null,512),[[e.vModelText,t.value.grid.size,void 0,{number:!0}]]),e.createElementVNode("button",{onClick:p[22]||(p[22]=w=>c(5)),class:"adjust-btn"},"+")])])):e.createCommentVNode("",!0)])])]))}}),[["__scopeId","data-v-be44eb59"]]),ig={class:"tab-pane"},sg={class:"property-section"},ag={class:"property-item-inline"},lg=["value"],cg={class:"property-item-inline"},dg=["value"],ug={class:"property-item-inline"},fg=["value"],pg={class:"property-section"},hg={class:"property-row"},mg={class:"property-item"},gg=["value"],yg={class:"property-item"},bg=["value"],wg={class:"property-row"},Eg={class:"property-item"},vg=["value"],kg={class:"property-item"},_g=["value"],Ng={class:"property-section"},Sg={class:"property-item-inline"},xg=["value"],Vg={class:"property-item-inline"},Cg={class:"color-input-wrapper"},Ag=["value"],Ig={class:"color-value"},Tg={class:"property-item-inline"},$g={class:"color-input-wrapper"},Bg=["value"],Dg={class:"color-value"},Pg={class:"property-item-inline"},Og=["value"],Mg={class:"property-item-inline"},Rg=["value"],jg={key:0,class:"property-section"},Lg={key:0,class:"property-hint"},Ug=["value","onInput","placeholder"],Fg=["value","onInput","min","max","step"],zg={key:2,class:"color-input-wrapper"},Wg=["value","onInput"],qg={class:"color-value"},Gg={key:3,class:"checkbox-wrapper"},Hg=["checked","onChange"],Kg={class:"checkbox-label"},Qg=["value","onChange"],Yg=["value"],So=Me(e.defineComponent({__name:"BasicPropertiesTab",props:{selectedNode:{},nodePosition:{},nodeSize:{},nodeAttrs:{}},emits:["update-position","update-size","update-label","update-fill","update-stroke","update-stroke-width","update-opacity","update-component-name","update-dynamic-prop"],setup(d,{emit:t}){const r=d,s=t,o=e.computed(()=>{var c,u;if(!((u=(c=r.selectedNode)==null?void 0:c.data)!=null&&u.props))return[];const a=["label","fill","stroke","strokeWidth","opacity"];return r.selectedNode.data.props.filter(h=>!a.includes(h.key))}),n=a=>{if(!a.path)return a.defaultValue;const c=a.path.split(".");let u=r.selectedNode;for(const h of c)if(u&&typeof u=="object")u=u[h];else return a.defaultValue;return u!==void 0?u:a.defaultValue},i=a=>!a||a==="transparent"?"#000000":typeof a=="string"&&a.startsWith("#")?a:"#000000",l=(a,c)=>{var m;const u=c.target;let h;if(a.type==="number")h=Number(u.value);else if(a.type==="boolean")h=u.checked;else if(a.type==="select"){const f=(m=a.options)==null?void 0:m.find(p=>String(p.value)===u.value);h=f?f.value:u.value}else h=u.value;s("update-dynamic-prop",a.path,h)};return(a,c)=>{var u,h,m,f,p,w,N,S,y,v,_,k,C,$,A,T,I;return e.openBlock(),e.createElementBlock("div",ig,[e.createElementVNode("div",sg,[c[13]||(c[13]=e.createElementVNode("h4",null,"基础信息",-1)),e.createElementVNode("div",ag,[c[10]||(c[10]=e.createElementVNode("label",null,"组件名称",-1)),e.createElementVNode("input",{type:"text",value:((u=d.selectedNode.getData())==null?void 0:u.componentName)||"",onInput:c[0]||(c[0]=B=>a.$emit("update-component-name",B)),placeholder:"请输入组件名称"},null,40,lg)]),e.createElementVNode("div",cg,[c[11]||(c[11]=e.createElementVNode("label",null,"ID",-1)),e.createElementVNode("input",{type:"text",value:d.selectedNode.id,disabled:""},null,8,dg)]),e.createElementVNode("div",ug,[c[12]||(c[12]=e.createElementVNode("label",null,"类型",-1)),e.createElementVNode("input",{type:"text",value:d.selectedNode.shape,disabled:""},null,8,fg)])]),e.createElementVNode("div",pg,[c[18]||(c[18]=e.createElementVNode("h4",null,"位置和尺寸",-1)),e.createElementVNode("div",hg,[e.createElementVNode("div",mg,[c[14]||(c[14]=e.createElementVNode("label",null,"X",-1)),e.createElementVNode("input",{type:"number",value:d.nodePosition.x,onInput:c[1]||(c[1]=B=>a.$emit("update-position","x",B))},null,40,gg)]),e.createElementVNode("div",yg,[c[15]||(c[15]=e.createElementVNode("label",null,"Y",-1)),e.createElementVNode("input",{type:"number",value:d.nodePosition.y,onInput:c[2]||(c[2]=B=>a.$emit("update-position","y",B))},null,40,bg)])]),e.createElementVNode("div",wg,[e.createElementVNode("div",Eg,[c[16]||(c[16]=e.createElementVNode("label",null,"宽度",-1)),e.createElementVNode("input",{type:"number",value:d.nodeSize.width,onInput:c[3]||(c[3]=B=>a.$emit("update-size","width",B))},null,40,vg)]),e.createElementVNode("div",kg,[c[17]||(c[17]=e.createElementVNode("label",null,"高度",-1)),e.createElementVNode("input",{type:"number",value:d.nodeSize.height,onInput:c[4]||(c[4]=B=>a.$emit("update-size","height",B))},null,40,_g)])])]),e.createElementVNode("div",Ng,[c[24]||(c[24]=e.createElementVNode("h4",null,"样式",-1)),e.createElementVNode("div",Sg,[c[19]||(c[19]=e.createElementVNode("label",null,"初始文本",-1)),e.createElementVNode("input",{type:"text",value:((m=(h=d.nodeAttrs)==null?void 0:h.text)==null?void 0:m.text)||((p=(f=d.nodeAttrs)==null?void 0:f.label)==null?void 0:p.text)||d.selectedNode.getProp("label")||"",onInput:c[5]||(c[5]=B=>a.$emit("update-label",B)),placeholder:"设置默认显示文本"},null,40,xg)]),e.createElementVNode("div",Vg,[c[20]||(c[20]=e.createElementVNode("label",null,"填充颜色",-1)),e.createElementVNode("div",Cg,[e.createElementVNode("input",{type:"color",value:i((N=(w=d.nodeAttrs)==null?void 0:w.body)==null?void 0:N.fill)||"#3b82f6",onInput:c[6]||(c[6]=B=>a.$emit("update-fill",B))},null,40,Ag),e.createElementVNode("span",Ig,e.toDisplayString(((y=(S=d.nodeAttrs)==null?void 0:S.body)==null?void 0:y.fill)||"#3b82f6"),1)])]),e.createElementVNode("div",Tg,[c[21]||(c[21]=e.createElementVNode("label",null,"边框颜色",-1)),e.createElementVNode("div",$g,[e.createElementVNode("input",{type:"color",value:i((_=(v=d.nodeAttrs)==null?void 0:v.body)==null?void 0:_.stroke)||"#2563eb",onInput:c[7]||(c[7]=B=>a.$emit("update-stroke",B))},null,40,Bg),e.createElementVNode("span",Dg,e.toDisplayString(((C=(k=d.nodeAttrs)==null?void 0:k.body)==null?void 0:C.stroke)||"#2563eb"),1)])]),e.createElementVNode("div",Pg,[c[22]||(c[22]=e.createElementVNode("label",null,"边框宽度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"10",value:((A=($=d.nodeAttrs)==null?void 0:$.body)==null?void 0:A.strokeWidth)||2,onInput:c[8]||(c[8]=B=>a.$emit("update-stroke-width",B))},null,40,Og)]),e.createElementVNode("div",Mg,[c[23]||(c[23]=e.createElementVNode("label",null,"透明度",-1)),e.createElementVNode("input",{type:"number",min:"0",max:"1",step:"0.1",value:((I=(T=d.nodeAttrs)==null?void 0:T.body)==null?void 0:I.opacity)!==void 0?d.nodeAttrs.body.opacity:1,onInput:c[9]||(c[9]=B=>a.$emit("update-opacity",B))},null,40,Rg)])]),o.value.length>0?(e.openBlock(),e.createElementBlock("div",jg,[c[25]||(c[25]=e.createElementVNode("h4",null,"组件属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,B=>(e.openBlock(),e.createElementBlock("div",{key:B.key,class:"property-item-inline"},[e.createElementVNode("label",null,[e.createTextVNode(e.toDisplayString(B.label)+" ",1),B.description?(e.openBlock(),e.createElementBlock("span",Lg,e.toDisplayString(B.description),1)):e.createCommentVNode("",!0)]),B.type==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,type:"text",value:n(B),onInput:V=>l(B,V),placeholder:B.defaultValue},null,40,Ug)):B.type==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,type:"number",value:n(B),onInput:V=>l(B,V),min:B.min,max:B.max,step:B.step},null,40,Fg)):B.type==="color"?(e.openBlock(),e.createElementBlock("div",zg,[e.createElementVNode("input",{type:"color",value:i(n(B)),onInput:V=>l(B,V)},null,40,Wg),e.createElementVNode("span",qg,e.toDisplayString(n(B)),1)])):B.type==="boolean"?(e.openBlock(),e.createElementBlock("div",Gg,[e.createElementVNode("input",{type:"checkbox",checked:n(B),onChange:V=>l(B,V)},null,40,Hg),e.createElementVNode("span",Kg,e.toDisplayString(n(B)?"是":"否"),1)])):B.type==="select"?(e.openBlock(),e.createElementBlock("select",{key:4,value:n(B),onChange:V=>l(B,V)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(B.options,V=>(e.openBlock(),e.createElementBlock("option",{key:V.value,value:V.value},e.toDisplayString(V.label),9,Yg))),128))],40,Qg)):e.createCommentVNode("",!0)]))),128))])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9adee2cc"]]);var xo=Object.defineProperty,Jg=Object.getOwnPropertyDescriptor,Xg=Object.getOwnPropertyNames,Zg=Object.prototype.hasOwnProperty,ut=(d,t)=>()=>(d&&(t=d(d=0)),t),_e=(d,t)=>()=>(t||d((t={exports:{}}).exports,t),t.exports),nr=(d,t)=>{for(var r in t)xo(d,r,{get:t[r],enumerable:!0})},ey=(d,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Xg(t))!Zg.call(d,o)&&o!==r&&xo(d,o,{get:()=>t[o],enumerable:!(s=Jg(t,o))||s.enumerable});return d},qe=d=>ey(xo({},"__esModule",{value:!0}),d),be=ut(()=>{}),ze={};nr(ze,{_debugEnd:()=>ln,_debugProcess:()=>an,_events:()=>Nn,_eventsCount:()=>Sn,_exiting:()=>Go,_fatalExceptions:()=>on,_getActiveHandles:()=>Bs,_getActiveRequests:()=>$s,_kill:()=>Qo,_linkedBinding:()=>Is,_maxListeners:()=>_n,_preload_modules:()=>En,_rawDebug:()=>zo,_startProfilerIdleNotifier:()=>cn,_stopProfilerIdleNotifier:()=>dn,_tickCallback:()=>sn,abort:()=>hn,addListener:()=>xn,allowedNodeEnvironmentFlags:()=>tn,arch:()=>Ao,argv:()=>$o,argv0:()=>wn,assert:()=>Ds,binding:()=>Mo,browser:()=>Fo,chdir:()=>Lo,config:()=>Ho,cpuUsage:()=>mr,cwd:()=>jo,debugPort:()=>bn,default:()=>Dn,dlopen:()=>Ts,domain:()=>qo,emit:()=>Tn,emitWarning:()=>Oo,env:()=>To,execArgv:()=>Bo,execPath:()=>yn,exit:()=>Zo,features:()=>rn,hasUncaughtExceptionCaptureCallback:()=>Ps,hrtime:()=>Ar,kill:()=>Xo,listeners:()=>Ms,memoryUsage:()=>Jo,moduleLoadList:()=>Wo,nextTick:()=>Cs,off:()=>Cn,on:()=>_t,once:()=>Vn,openStdin:()=>en,pid:()=>mn,platform:()=>Io,ppid:()=>gn,prependListener:()=>$n,prependOnceListener:()=>Bn,reallyExit:()=>Ko,release:()=>Uo,removeAllListeners:()=>In,removeListener:()=>An,resourceUsage:()=>Yo,setSourceMapsEnabled:()=>vn,setUncaughtExceptionCaptureCallback:()=>nn,stderr:()=>fn,stdin:()=>pn,stdout:()=>un,title:()=>Co,umask:()=>Ro,uptime:()=>Os,version:()=>Do,versions:()=>Po});function Vo(d){throw new Error("Node.js process "+d+" is not supported by JSPM core outside of Node.js")}function ty(){!Qt||!Yt||(Qt=!1,Yt.length?wt=Yt.concat(wt):hr=-1,wt.length&&Vs())}function Vs(){if(!Qt){var d=setTimeout(ty,0);Qt=!0;for(var t=wt.length;t;){for(Yt=wt,wt=[];++hr<t;)Yt&&Yt[hr].run();hr=-1,t=wt.length}Yt=null,Qt=!1,clearTimeout(d)}}function Cs(d){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];wt.push(new As(d,t)),wt.length===1&&!Qt&&setTimeout(Vs,0)}function As(d,t){this.fun=d,this.array=t}function st(){}function Is(d){Vo("_linkedBinding")}function Ts(d){Vo("dlopen")}function $s(){return[]}function Bs(){return[]}function Ds(d,t){if(!d)throw new Error(t||"assertion error")}function Ps(){return!1}function Os(){return Nt.now()/1e3}function Ar(d){var t=Math.floor((Date.now()-Nt.now())*.001),r=Nt.now()*.001,s=Math.floor(r)+t,o=Math.floor(r%1*1e9);return d&&(s=s-d[0],o=o-d[1],o<0&&(s--,o+=Ir)),[s,o]}function _t(){return Dn}function Ms(d){return[]}var wt,Qt,Yt,hr,Co,Ao,Io,To,$o,Bo,Do,Po,Oo,Mo,Ro,jo,Lo,Uo,Fo,zo,Wo,qo,Go,Ho,Ko,Qo,mr,Yo,Jo,Xo,Zo,en,tn,rn,on,nn,sn,an,ln,cn,dn,un,fn,pn,hn,mn,gn,yn,bn,wn,En,vn,Nt,kn,Ir,_n,Nn,Sn,xn,Vn,Cn,An,In,Tn,$n,Bn,Dn,ry=ut(()=>{be(),Ee(),we(),wt=[],Qt=!1,hr=-1,As.prototype.run=function(){this.fun.apply(null,this.array)},Co="browser",Ao="x64",Io="browser",To={PATH:"/usr/bin",LANG:typeof navigator<"u"?navigator.language+".UTF-8":void 0,PWD:"/",HOME:"/home",TMP:"/tmp"},$o=["/usr/bin/node"],Bo=[],Do="v16.8.0",Po={},Oo=function(d,t){console.warn((t?t+": ":"")+d)},Mo=function(d){Vo("binding")},Ro=function(d){return 0},jo=function(){return"/"},Lo=function(d){},Uo={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},Fo=!0,zo=st,Wo=[],qo={},Go=!1,Ho={},Ko=st,Qo=st,mr=function(){return{}},Yo=mr,Jo=mr,Xo=st,Zo=st,en=st,tn={},rn={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},on=st,nn=st,sn=st,an=st,ln=st,cn=st,dn=st,un=void 0,fn=void 0,pn=void 0,hn=st,mn=2,gn=1,yn="/bin/usr/node",bn=9229,wn="node",En=[],vn=st,Nt={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Nt.now===void 0&&(kn=Date.now(),Nt.timing&&Nt.timing.navigationStart&&(kn=Nt.timing.navigationStart),Nt.now=()=>Date.now()-kn),Ir=1e9,Ar.bigint=function(d){var t=Ar(d);return typeof BigInt>"u"?t[0]*Ir+t[1]:BigInt(t[0]*Ir)+BigInt(t[1])},_n=10,Nn={},Sn=0,xn=_t,Vn=_t,Cn=_t,An=_t,In=_t,Tn=st,$n=_t,Bn=_t,Dn={version:Do,versions:Po,arch:Ao,platform:Io,browser:Fo,release:Uo,_rawDebug:zo,moduleLoadList:Wo,binding:Mo,_linkedBinding:Is,_events:Nn,_eventsCount:Sn,_maxListeners:_n,on:_t,addListener:xn,once:Vn,off:Cn,removeListener:An,removeAllListeners:In,emit:Tn,prependListener:$n,prependOnceListener:Bn,listeners:Ms,domain:qo,_exiting:Go,config:Ho,dlopen:Ts,uptime:Os,_getActiveRequests:$s,_getActiveHandles:Bs,reallyExit:Ko,_kill:Qo,cpuUsage:mr,resourceUsage:Yo,memoryUsage:Jo,kill:Xo,exit:Zo,openStdin:en,allowedNodeEnvironmentFlags:tn,assert:Ds,features:rn,_fatalExceptions:on,setUncaughtExceptionCaptureCallback:nn,hasUncaughtExceptionCaptureCallback:Ps,emitWarning:Oo,nextTick:Cs,_tickCallback:sn,_debugProcess:an,_debugEnd:ln,_startProfilerIdleNotifier:cn,_stopProfilerIdleNotifier:dn,stdout:un,stdin:pn,stderr:fn,abort:hn,umask:Ro,chdir:Lo,cwd:jo,env:To,title:Co,argv:$o,execArgv:Bo,pid:mn,ppid:gn,execPath:yn,debugPort:bn,hrtime:Ar,argv0:wn,_preload_modules:En,setSourceMapsEnabled:vn}}),we=ut(()=>{ry()});function oy(){if(Pn)return ir;Pn=!0,ir.byteLength=l,ir.toByteArray=c,ir.fromByteArray=m;for(var d=[],t=[],r=typeof Uint8Array<"u"?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0,n=s.length;o<n;++o)d[o]=s[o],t[s.charCodeAt(o)]=o;t[45]=62,t[95]=63;function i(f){var p=f.length;if(p%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var w=f.indexOf("=");w===-1&&(w=p);var N=w===p?0:4-w%4;return[w,N]}function l(f){var p=i(f),w=p[0],N=p[1];return(w+N)*3/4-N}function a(f,p,w){return(p+w)*3/4-w}function c(f){var p,w=i(f),N=w[0],S=w[1],y=new r(a(f,N,S)),v=0,_=S>0?N-4:N,k;for(k=0;k<_;k+=4)p=t[f.charCodeAt(k)]<<18|t[f.charCodeAt(k+1)]<<12|t[f.charCodeAt(k+2)]<<6|t[f.charCodeAt(k+3)],y[v++]=p>>16&255,y[v++]=p>>8&255,y[v++]=p&255;return S===2&&(p=t[f.charCodeAt(k)]<<2|t[f.charCodeAt(k+1)]>>4,y[v++]=p&255),S===1&&(p=t[f.charCodeAt(k)]<<10|t[f.charCodeAt(k+1)]<<4|t[f.charCodeAt(k+2)]>>2,y[v++]=p>>8&255,y[v++]=p&255),y}function u(f){return d[f>>18&63]+d[f>>12&63]+d[f>>6&63]+d[f&63]}function h(f,p,w){for(var N,S=[],y=p;y<w;y+=3)N=(f[y]<<16&16711680)+(f[y+1]<<8&65280)+(f[y+2]&255),S.push(u(N));return S.join("")}function m(f){for(var p,w=f.length,N=w%3,S=[],y=16383,v=0,_=w-N;v<_;v+=y)S.push(h(f,v,v+y>_?_:v+y));return N===1?(p=f[w-1],S.push(d[p>>2]+d[p<<4&63]+"==")):N===2&&(p=(f[w-2]<<8)+f[w-1],S.push(d[p>>10]+d[p>>4&63]+d[p<<2&63]+"=")),S.join("")}return ir}function ny(){return On?gr:(On=!0,gr.read=function(d,t,r,s,o){var n,i,l=o*8-s-1,a=(1<<l)-1,c=a>>1,u=-7,h=r?o-1:0,m=r?-1:1,f=d[t+h];for(h+=m,n=f&(1<<-u)-1,f>>=-u,u+=l;u>0;n=n*256+d[t+h],h+=m,u-=8);for(i=n&(1<<-u)-1,n>>=-u,u+=s;u>0;i=i*256+d[t+h],h+=m,u-=8);if(n===0)n=1-c;else{if(n===a)return i?NaN:(f?-1:1)*(1/0);i=i+Math.pow(2,s),n=n-c}return(f?-1:1)*i*Math.pow(2,n-s)},gr.write=function(d,t,r,s,o,n){var i,l,a,c=n*8-o-1,u=(1<<c)-1,h=u>>1,m=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=s?0:n-1,p=s?1:-1,w=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,i=u):(i=Math.floor(Math.log(t)/Math.LN2),t*(a=Math.pow(2,-i))<1&&(i--,a*=2),i+h>=1?t+=m/a:t+=m*Math.pow(2,1-h),t*a>=2&&(i++,a/=2),i+h>=u?(l=0,i=u):i+h>=1?(l=(t*a-1)*Math.pow(2,o),i=i+h):(l=t*Math.pow(2,h-1)*Math.pow(2,o),i=0));o>=8;d[r+f]=l&255,f+=p,l/=256,o-=8);for(i=i<<o|l,c+=o;c>0;d[r+f]=i&255,f+=p,i/=256,c-=8);d[r+f-p]|=w*128},gr)}function iy(){if(Mn)return Dt;Mn=!0;let d=oy(),t=ny(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Dt.Buffer=i,Dt.SlowBuffer=S,Dt.INSPECT_MAX_BYTES=50;let s=2147483647;Dt.kMaxLength=s,i.TYPED_ARRAY_SUPPORT=o(),!i.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function o(){try{let g=new Uint8Array(1),b={foo:function(){return 42}};return Object.setPrototypeOf(b,Uint8Array.prototype),Object.setPrototypeOf(g,b),g.foo()===42}catch{return!1}}Object.defineProperty(i.prototype,"parent",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.buffer}}),Object.defineProperty(i.prototype,"offset",{enumerable:!0,get:function(){if(i.isBuffer(this))return this.byteOffset}});function n(g){if(g>s)throw new RangeError('The value "'+g+'" is invalid for option "size"');let b=new Uint8Array(g);return Object.setPrototypeOf(b,i.prototype),b}function i(g,b,E){if(typeof g=="number"){if(typeof b=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return u(g)}return l(g,b,E)}i.poolSize=8192;function l(g,b,E){if(typeof g=="string")return h(g,b);if(ArrayBuffer.isView(g))return f(g);if(g==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g);if(Q(g,ArrayBuffer)||g&&Q(g.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Q(g,SharedArrayBuffer)||g&&Q(g.buffer,SharedArrayBuffer)))return p(g,b,E);if(typeof g=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let x=g.valueOf&&g.valueOf();if(x!=null&&x!==g)return i.from(x,b,E);let P=w(g);if(P)return P;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof g[Symbol.toPrimitive]=="function")return i.from(g[Symbol.toPrimitive]("string"),b,E);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof g)}i.from=function(g,b,E){return l(g,b,E)},Object.setPrototypeOf(i.prototype,Uint8Array.prototype),Object.setPrototypeOf(i,Uint8Array);function a(g){if(typeof g!="number")throw new TypeError('"size" argument must be of type number');if(g<0)throw new RangeError('The value "'+g+'" is invalid for option "size"')}function c(g,b,E){return a(g),g<=0?n(g):b!==void 0?typeof E=="string"?n(g).fill(b,E):n(g).fill(b):n(g)}i.alloc=function(g,b,E){return c(g,b,E)};function u(g){return a(g),n(g<0?0:N(g)|0)}i.allocUnsafe=function(g){return u(g)},i.allocUnsafeSlow=function(g){return u(g)};function h(g,b){if((typeof b!="string"||b==="")&&(b="utf8"),!i.isEncoding(b))throw new TypeError("Unknown encoding: "+b);let E=y(g,b)|0,x=n(E),P=x.write(g,b);return P!==E&&(x=x.slice(0,P)),x}function m(g){let b=g.length<0?0:N(g.length)|0,E=n(b);for(let x=0;x<b;x+=1)E[x]=g[x]&255;return E}function f(g){if(Q(g,Uint8Array)){let b=new Uint8Array(g);return p(b.buffer,b.byteOffset,b.byteLength)}return m(g)}function p(g,b,E){if(b<0||g.byteLength<b)throw new RangeError('"offset" is outside of buffer bounds');if(g.byteLength<b+(E||0))throw new RangeError('"length" is outside of buffer bounds');let x;return b===void 0&&E===void 0?x=new Uint8Array(g):E===void 0?x=new Uint8Array(g,b):x=new Uint8Array(g,b,E),Object.setPrototypeOf(x,i.prototype),x}function w(g){if(i.isBuffer(g)){let b=N(g.length)|0,E=n(b);return E.length===0||g.copy(E,0,0,b),E}if(g.length!==void 0)return typeof g.length!="number"||ge(g.length)?n(0):m(g);if(g.type==="Buffer"&&Array.isArray(g.data))return m(g.data)}function N(g){if(g>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return g|0}function S(g){return+g!=g&&(g=0),i.alloc(+g)}i.isBuffer=function(g){return g!=null&&g._isBuffer===!0&&g!==i.prototype},i.compare=function(g,b){if(Q(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),Q(b,Uint8Array)&&(b=i.from(b,b.offset,b.byteLength)),!i.isBuffer(g)||!i.isBuffer(b))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(g===b)return 0;let E=g.length,x=b.length;for(let P=0,j=Math.min(E,x);P<j;++P)if(g[P]!==b[P]){E=g[P],x=b[P];break}return E<x?-1:x<E?1:0},i.isEncoding=function(g){switch(String(g).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},i.concat=function(g,b){if(!Array.isArray(g))throw new TypeError('"list" argument must be an Array of Buffers');if(g.length===0)return i.alloc(0);let E;if(b===void 0)for(b=0,E=0;E<g.length;++E)b+=g[E].length;let x=i.allocUnsafe(b),P=0;for(E=0;E<g.length;++E){let j=g[E];if(Q(j,Uint8Array))P+j.length>x.length?(i.isBuffer(j)||(j=i.from(j)),j.copy(x,P)):Uint8Array.prototype.set.call(x,j,P);else if(i.isBuffer(j))j.copy(x,P);else throw new TypeError('"list" argument must be an Array of Buffers');P+=j.length}return x};function y(g,b){if(i.isBuffer(g))return g.length;if(ArrayBuffer.isView(g)||Q(g,ArrayBuffer))return g.byteLength;if(typeof g!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof g);let E=g.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&E===0)return 0;let P=!1;for(;;)switch(b){case"ascii":case"latin1":case"binary":return E;case"utf8":case"utf-8":return R(g).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E*2;case"hex":return E>>>1;case"base64":return pe(g).length;default:if(P)return x?-1:R(g).length;b=(""+b).toLowerCase(),P=!0}}i.byteLength=y;function v(g,b,E){let x=!1;if((b===void 0||b<0)&&(b=0),b>this.length||((E===void 0||E>this.length)&&(E=this.length),E<=0)||(E>>>=0,b>>>=0,E<=b))return"";for(g||(g="utf8");;)switch(g){case"hex":return re(this,b,E);case"utf8":case"utf-8":return L(this,b,E);case"ascii":return de(this,b,E);case"latin1":case"binary":return ne(this,b,E);case"base64":return V(this,b,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,b,E);default:if(x)throw new TypeError("Unknown encoding: "+g);g=(g+"").toLowerCase(),x=!0}}i.prototype._isBuffer=!0;function _(g,b,E){let x=g[b];g[b]=g[E],g[E]=x}i.prototype.swap16=function(){let g=this.length;if(g%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let b=0;b<g;b+=2)_(this,b,b+1);return this},i.prototype.swap32=function(){let g=this.length;if(g%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let b=0;b<g;b+=4)_(this,b,b+3),_(this,b+1,b+2);return this},i.prototype.swap64=function(){let g=this.length;if(g%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let b=0;b<g;b+=8)_(this,b,b+7),_(this,b+1,b+6),_(this,b+2,b+5),_(this,b+3,b+4);return this},i.prototype.toString=function(){let g=this.length;return g===0?"":arguments.length===0?L(this,0,g):v.apply(this,arguments)},i.prototype.toLocaleString=i.prototype.toString,i.prototype.equals=function(g){if(!i.isBuffer(g))throw new TypeError("Argument must be a Buffer");return this===g?!0:i.compare(this,g)===0},i.prototype.inspect=function(){let g="",b=Dt.INSPECT_MAX_BYTES;return g=this.toString("hex",0,b).replace(/(.{2})/g,"$1 ").trim(),this.length>b&&(g+=" ... "),"<Buffer "+g+">"},r&&(i.prototype[r]=i.prototype.inspect),i.prototype.compare=function(g,b,E,x,P){if(Q(g,Uint8Array)&&(g=i.from(g,g.offset,g.byteLength)),!i.isBuffer(g))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof g);if(b===void 0&&(b=0),E===void 0&&(E=g?g.length:0),x===void 0&&(x=0),P===void 0&&(P=this.length),b<0||E>g.length||x<0||P>this.length)throw new RangeError("out of range index");if(x>=P&&b>=E)return 0;if(x>=P)return-1;if(b>=E)return 1;if(b>>>=0,E>>>=0,x>>>=0,P>>>=0,this===g)return 0;let j=P-x,te=E-b,G=Math.min(j,te),ee=this.slice(x,P),Ve=g.slice(b,E);for(let Ie=0;Ie<G;++Ie)if(ee[Ie]!==Ve[Ie]){j=ee[Ie],te=Ve[Ie];break}return j<te?-1:te<j?1:0};function k(g,b,E,x,P){if(g.length===0)return-1;if(typeof E=="string"?(x=E,E=0):E>2147483647?E=2147483647:E<-2147483648&&(E=-2147483648),E=+E,ge(E)&&(E=P?0:g.length-1),E<0&&(E=g.length+E),E>=g.length){if(P)return-1;E=g.length-1}else if(E<0)if(P)E=0;else return-1;if(typeof b=="string"&&(b=i.from(b,x)),i.isBuffer(b))return b.length===0?-1:C(g,b,E,x,P);if(typeof b=="number")return b=b&255,typeof Uint8Array.prototype.indexOf=="function"?P?Uint8Array.prototype.indexOf.call(g,b,E):Uint8Array.prototype.lastIndexOf.call(g,b,E):C(g,[b],E,x,P);throw new TypeError("val must be string, number or Buffer")}function C(g,b,E,x,P){let j=1,te=g.length,G=b.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(g.length<2||b.length<2)return-1;j=2,te/=2,G/=2,E/=2}function ee(Ie,Te){return j===1?Ie[Te]:Ie.readUInt16BE(Te*j)}let Ve;if(P){let Ie=-1;for(Ve=E;Ve<te;Ve++)if(ee(g,Ve)===ee(b,Ie===-1?0:Ve-Ie)){if(Ie===-1&&(Ie=Ve),Ve-Ie+1===G)return Ie*j}else Ie!==-1&&(Ve-=Ve-Ie),Ie=-1}else for(E+G>te&&(E=te-G),Ve=E;Ve>=0;Ve--){let Ie=!0;for(let Te=0;Te<G;Te++)if(ee(g,Ve+Te)!==ee(b,Te)){Ie=!1;break}if(Ie)return Ve}return-1}i.prototype.includes=function(g,b,E){return this.indexOf(g,b,E)!==-1},i.prototype.indexOf=function(g,b,E){return k(this,g,b,E,!0)},i.prototype.lastIndexOf=function(g,b,E){return k(this,g,b,E,!1)};function $(g,b,E,x){E=Number(E)||0;let P=g.length-E;x?(x=Number(x),x>P&&(x=P)):x=P;let j=b.length;x>j/2&&(x=j/2);let te;for(te=0;te<x;++te){let G=parseInt(b.substr(te*2,2),16);if(ge(G))return te;g[E+te]=G}return te}function A(g,b,E,x){return ye(R(b,g.length-E),g,E,x)}function T(g,b,E,x){return ye(se(b),g,E,x)}function I(g,b,E,x){return ye(pe(b),g,E,x)}function B(g,b,E,x){return ye(ue(b,g.length-E),g,E,x)}i.prototype.write=function(g,b,E,x){if(b===void 0)x="utf8",E=this.length,b=0;else if(E===void 0&&typeof b=="string")x=b,E=this.length,b=0;else if(isFinite(b))b=b>>>0,isFinite(E)?(E=E>>>0,x===void 0&&(x="utf8")):(x=E,E=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let P=this.length-b;if((E===void 0||E>P)&&(E=P),g.length>0&&(E<0||b<0)||b>this.length)throw new RangeError("Attempt to write outside buffer bounds");x||(x="utf8");let j=!1;for(;;)switch(x){case"hex":return $(this,g,b,E);case"utf8":case"utf-8":return A(this,g,b,E);case"ascii":case"latin1":case"binary":return T(this,g,b,E);case"base64":return I(this,g,b,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,g,b,E);default:if(j)throw new TypeError("Unknown encoding: "+x);x=(""+x).toLowerCase(),j=!0}},i.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function V(g,b,E){return b===0&&E===g.length?d.fromByteArray(g):d.fromByteArray(g.slice(b,E))}function L(g,b,E){E=Math.min(g.length,E);let x=[],P=b;for(;P<E;){let j=g[P],te=null,G=j>239?4:j>223?3:j>191?2:1;if(P+G<=E){let ee,Ve,Ie,Te;switch(G){case 1:j<128&&(te=j);break;case 2:ee=g[P+1],(ee&192)===128&&(Te=(j&31)<<6|ee&63,Te>127&&(te=Te));break;case 3:ee=g[P+1],Ve=g[P+2],(ee&192)===128&&(Ve&192)===128&&(Te=(j&15)<<12|(ee&63)<<6|Ve&63,Te>2047&&(Te<55296||Te>57343)&&(te=Te));break;case 4:ee=g[P+1],Ve=g[P+2],Ie=g[P+3],(ee&192)===128&&(Ve&192)===128&&(Ie&192)===128&&(Te=(j&15)<<18|(ee&63)<<12|(Ve&63)<<6|Ie&63,Te>65535&&Te<1114112&&(te=Te))}}te===null?(te=65533,G=1):te>65535&&(te-=65536,x.push(te>>>10&1023|55296),te=56320|te&1023),x.push(te),P+=G}return U(x)}let K=4096;function U(g){let b=g.length;if(b<=K)return String.fromCharCode.apply(String,g);let E="",x=0;for(;x<b;)E+=String.fromCharCode.apply(String,g.slice(x,x+=K));return E}function de(g,b,E){let x="";E=Math.min(g.length,E);for(let P=b;P<E;++P)x+=String.fromCharCode(g[P]&127);return x}function ne(g,b,E){let x="";E=Math.min(g.length,E);for(let P=b;P<E;++P)x+=String.fromCharCode(g[P]);return x}function re(g,b,E){let x=g.length;(!b||b<0)&&(b=0),(!E||E<0||E>x)&&(E=x);let P="";for(let j=b;j<E;++j)P+=ke[g[j]];return P}function fe(g,b,E){let x=g.slice(b,E),P="";for(let j=0;j<x.length-1;j+=2)P+=String.fromCharCode(x[j]+x[j+1]*256);return P}i.prototype.slice=function(g,b){let E=this.length;g=~~g,b=b===void 0?E:~~b,g<0?(g+=E,g<0&&(g=0)):g>E&&(g=E),b<0?(b+=E,b<0&&(b=0)):b>E&&(b=E),b<g&&(b=g);let x=this.subarray(g,b);return Object.setPrototypeOf(x,i.prototype),x};function Y(g,b,E){if(g%1!==0||g<0)throw new RangeError("offset is not uint");if(g+b>E)throw new RangeError("Trying to access beyond buffer length")}i.prototype.readUintLE=i.prototype.readUIntLE=function(g,b,E){g=g>>>0,b=b>>>0,E||Y(g,b,this.length);let x=this[g],P=1,j=0;for(;++j<b&&(P*=256);)x+=this[g+j]*P;return x},i.prototype.readUintBE=i.prototype.readUIntBE=function(g,b,E){g=g>>>0,b=b>>>0,E||Y(g,b,this.length);let x=this[g+--b],P=1;for(;b>0&&(P*=256);)x+=this[g+--b]*P;return x},i.prototype.readUint8=i.prototype.readUInt8=function(g,b){return g=g>>>0,b||Y(g,1,this.length),this[g]},i.prototype.readUint16LE=i.prototype.readUInt16LE=function(g,b){return g=g>>>0,b||Y(g,2,this.length),this[g]|this[g+1]<<8},i.prototype.readUint16BE=i.prototype.readUInt16BE=function(g,b){return g=g>>>0,b||Y(g,2,this.length),this[g]<<8|this[g+1]},i.prototype.readUint32LE=i.prototype.readUInt32LE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),(this[g]|this[g+1]<<8|this[g+2]<<16)+this[g+3]*16777216},i.prototype.readUint32BE=i.prototype.readUInt32BE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),this[g]*16777216+(this[g+1]<<16|this[g+2]<<8|this[g+3])},i.prototype.readBigUInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let b=this[g],E=this[g+7];(b===void 0||E===void 0)&&ve(g,this.length-8);let x=b+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24,P=this[++g]+this[++g]*2**8+this[++g]*2**16+E*2**24;return BigInt(x)+(BigInt(P)<<BigInt(32))}),i.prototype.readBigUInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let b=this[g],E=this[g+7];(b===void 0||E===void 0)&&ve(g,this.length-8);let x=b*2**24+this[++g]*2**16+this[++g]*2**8+this[++g],P=this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+E;return(BigInt(x)<<BigInt(32))+BigInt(P)}),i.prototype.readIntLE=function(g,b,E){g=g>>>0,b=b>>>0,E||Y(g,b,this.length);let x=this[g],P=1,j=0;for(;++j<b&&(P*=256);)x+=this[g+j]*P;return P*=128,x>=P&&(x-=Math.pow(2,8*b)),x},i.prototype.readIntBE=function(g,b,E){g=g>>>0,b=b>>>0,E||Y(g,b,this.length);let x=b,P=1,j=this[g+--x];for(;x>0&&(P*=256);)j+=this[g+--x]*P;return P*=128,j>=P&&(j-=Math.pow(2,8*b)),j},i.prototype.readInt8=function(g,b){return g=g>>>0,b||Y(g,1,this.length),this[g]&128?(255-this[g]+1)*-1:this[g]},i.prototype.readInt16LE=function(g,b){g=g>>>0,b||Y(g,2,this.length);let E=this[g]|this[g+1]<<8;return E&32768?E|4294901760:E},i.prototype.readInt16BE=function(g,b){g=g>>>0,b||Y(g,2,this.length);let E=this[g+1]|this[g]<<8;return E&32768?E|4294901760:E},i.prototype.readInt32LE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),this[g]|this[g+1]<<8|this[g+2]<<16|this[g+3]<<24},i.prototype.readInt32BE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),this[g]<<24|this[g+1]<<16|this[g+2]<<8|this[g+3]},i.prototype.readBigInt64LE=ce(function(g){g=g>>>0,ie(g,"offset");let b=this[g],E=this[g+7];(b===void 0||E===void 0)&&ve(g,this.length-8);let x=this[g+4]+this[g+5]*2**8+this[g+6]*2**16+(E<<24);return(BigInt(x)<<BigInt(32))+BigInt(b+this[++g]*2**8+this[++g]*2**16+this[++g]*2**24)}),i.prototype.readBigInt64BE=ce(function(g){g=g>>>0,ie(g,"offset");let b=this[g],E=this[g+7];(b===void 0||E===void 0)&&ve(g,this.length-8);let x=(b<<24)+this[++g]*2**16+this[++g]*2**8+this[++g];return(BigInt(x)<<BigInt(32))+BigInt(this[++g]*2**24+this[++g]*2**16+this[++g]*2**8+E)}),i.prototype.readFloatLE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),t.read(this,g,!0,23,4)},i.prototype.readFloatBE=function(g,b){return g=g>>>0,b||Y(g,4,this.length),t.read(this,g,!1,23,4)},i.prototype.readDoubleLE=function(g,b){return g=g>>>0,b||Y(g,8,this.length),t.read(this,g,!0,52,8)},i.prototype.readDoubleBE=function(g,b){return g=g>>>0,b||Y(g,8,this.length),t.read(this,g,!1,52,8)};function ae(g,b,E,x,P,j){if(!i.isBuffer(g))throw new TypeError('"buffer" argument must be a Buffer instance');if(b>P||b<j)throw new RangeError('"value" argument is out of bounds');if(E+x>g.length)throw new RangeError("Index out of range")}i.prototype.writeUintLE=i.prototype.writeUIntLE=function(g,b,E,x){if(g=+g,b=b>>>0,E=E>>>0,!x){let te=Math.pow(2,8*E)-1;ae(this,g,b,E,te,0)}let P=1,j=0;for(this[b]=g&255;++j<E&&(P*=256);)this[b+j]=g/P&255;return b+E},i.prototype.writeUintBE=i.prototype.writeUIntBE=function(g,b,E,x){if(g=+g,b=b>>>0,E=E>>>0,!x){let te=Math.pow(2,8*E)-1;ae(this,g,b,E,te,0)}let P=E-1,j=1;for(this[b+P]=g&255;--P>=0&&(j*=256);)this[b+P]=g/j&255;return b+E},i.prototype.writeUint8=i.prototype.writeUInt8=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,1,255,0),this[b]=g&255,b+1},i.prototype.writeUint16LE=i.prototype.writeUInt16LE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,2,65535,0),this[b]=g&255,this[b+1]=g>>>8,b+2},i.prototype.writeUint16BE=i.prototype.writeUInt16BE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,2,65535,0),this[b]=g>>>8,this[b+1]=g&255,b+2},i.prototype.writeUint32LE=i.prototype.writeUInt32LE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,4,4294967295,0),this[b+3]=g>>>24,this[b+2]=g>>>16,this[b+1]=g>>>8,this[b]=g&255,b+4},i.prototype.writeUint32BE=i.prototype.writeUInt32BE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,4,4294967295,0),this[b]=g>>>24,this[b+1]=g>>>16,this[b+2]=g>>>8,this[b+3]=g&255,b+4};function M(g,b,E,x,P){oe(b,x,P,g,E,7);let j=Number(b&BigInt(4294967295));g[E++]=j,j=j>>8,g[E++]=j,j=j>>8,g[E++]=j,j=j>>8,g[E++]=j;let te=Number(b>>BigInt(32)&BigInt(4294967295));return g[E++]=te,te=te>>8,g[E++]=te,te=te>>8,g[E++]=te,te=te>>8,g[E++]=te,E}function J(g,b,E,x,P){oe(b,x,P,g,E,7);let j=Number(b&BigInt(4294967295));g[E+7]=j,j=j>>8,g[E+6]=j,j=j>>8,g[E+5]=j,j=j>>8,g[E+4]=j;let te=Number(b>>BigInt(32)&BigInt(4294967295));return g[E+3]=te,te=te>>8,g[E+2]=te,te=te>>8,g[E+1]=te,te=te>>8,g[E]=te,E+8}i.prototype.writeBigUInt64LE=ce(function(g,b=0){return M(this,g,b,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeBigUInt64BE=ce(function(g,b=0){return J(this,g,b,BigInt(0),BigInt("0xffffffffffffffff"))}),i.prototype.writeIntLE=function(g,b,E,x){if(g=+g,b=b>>>0,!x){let G=Math.pow(2,8*E-1);ae(this,g,b,E,G-1,-G)}let P=0,j=1,te=0;for(this[b]=g&255;++P<E&&(j*=256);)g<0&&te===0&&this[b+P-1]!==0&&(te=1),this[b+P]=(g/j>>0)-te&255;return b+E},i.prototype.writeIntBE=function(g,b,E,x){if(g=+g,b=b>>>0,!x){let G=Math.pow(2,8*E-1);ae(this,g,b,E,G-1,-G)}let P=E-1,j=1,te=0;for(this[b+P]=g&255;--P>=0&&(j*=256);)g<0&&te===0&&this[b+P+1]!==0&&(te=1),this[b+P]=(g/j>>0)-te&255;return b+E},i.prototype.writeInt8=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,1,127,-128),g<0&&(g=255+g+1),this[b]=g&255,b+1},i.prototype.writeInt16LE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,2,32767,-32768),this[b]=g&255,this[b+1]=g>>>8,b+2},i.prototype.writeInt16BE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,2,32767,-32768),this[b]=g>>>8,this[b+1]=g&255,b+2},i.prototype.writeInt32LE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,4,2147483647,-2147483648),this[b]=g&255,this[b+1]=g>>>8,this[b+2]=g>>>16,this[b+3]=g>>>24,b+4},i.prototype.writeInt32BE=function(g,b,E){return g=+g,b=b>>>0,E||ae(this,g,b,4,2147483647,-2147483648),g<0&&(g=4294967295+g+1),this[b]=g>>>24,this[b+1]=g>>>16,this[b+2]=g>>>8,this[b+3]=g&255,b+4},i.prototype.writeBigInt64LE=ce(function(g,b=0){return M(this,g,b,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),i.prototype.writeBigInt64BE=ce(function(g,b=0){return J(this,g,b,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function me(g,b,E,x,P,j){if(E+x>g.length)throw new RangeError("Index out of range");if(E<0)throw new RangeError("Index out of range")}function H(g,b,E,x,P){return b=+b,E=E>>>0,P||me(g,b,E,4),t.write(g,b,E,x,23,4),E+4}i.prototype.writeFloatLE=function(g,b,E){return H(this,g,b,!0,E)},i.prototype.writeFloatBE=function(g,b,E){return H(this,g,b,!1,E)};function Ne(g,b,E,x,P){return b=+b,E=E>>>0,P||me(g,b,E,8),t.write(g,b,E,x,52,8),E+8}i.prototype.writeDoubleLE=function(g,b,E){return Ne(this,g,b,!0,E)},i.prototype.writeDoubleBE=function(g,b,E){return Ne(this,g,b,!1,E)},i.prototype.copy=function(g,b,E,x){if(!i.isBuffer(g))throw new TypeError("argument should be a Buffer");if(E||(E=0),!x&&x!==0&&(x=this.length),b>=g.length&&(b=g.length),b||(b=0),x>0&&x<E&&(x=E),x===E||g.length===0||this.length===0)return 0;if(b<0)throw new RangeError("targetStart out of bounds");if(E<0||E>=this.length)throw new RangeError("Index out of range");if(x<0)throw new RangeError("sourceEnd out of bounds");x>this.length&&(x=this.length),g.length-b<x-E&&(x=g.length-b+E);let P=x-E;return this===g&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(b,E,x):Uint8Array.prototype.set.call(g,this.subarray(E,x),b),P},i.prototype.fill=function(g,b,E,x){if(typeof g=="string"){if(typeof b=="string"?(x=b,b=0,E=this.length):typeof E=="string"&&(x=E,E=this.length),x!==void 0&&typeof x!="string")throw new TypeError("encoding must be a string");if(typeof x=="string"&&!i.isEncoding(x))throw new TypeError("Unknown encoding: "+x);if(g.length===1){let j=g.charCodeAt(0);(x==="utf8"&&j<128||x==="latin1")&&(g=j)}}else typeof g=="number"?g=g&255:typeof g=="boolean"&&(g=Number(g));if(b<0||this.length<b||this.length<E)throw new RangeError("Out of range index");if(E<=b)return this;b=b>>>0,E=E===void 0?this.length:E>>>0,g||(g=0);let P;if(typeof g=="number")for(P=b;P<E;++P)this[P]=g;else{let j=i.isBuffer(g)?g:i.from(g,x),te=j.length;if(te===0)throw new TypeError('The value "'+g+'" is invalid for argument "value"');for(P=0;P<E-b;++P)this[P+b]=j[P%te]}return this};let Z={};function q(g,b,E){Z[g]=class extends E{constructor(){super(),Object.defineProperty(this,"message",{value:b.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${g}]`,this.stack,delete this.name}get code(){return g}set code(x){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:x,writable:!0})}toString(){return`${this.name} [${g}]: ${this.message}`}}}q("ERR_BUFFER_OUT_OF_BOUNDS",function(g){return g?`${g} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),q("ERR_INVALID_ARG_TYPE",function(g,b){return`The "${g}" argument must be of type number. Received type ${typeof b}`},TypeError),q("ERR_OUT_OF_RANGE",function(g,b,E){let x=`The value of "${g}" is out of range.`,P=E;return Number.isInteger(E)&&Math.abs(E)>2**32?P=le(String(E)):typeof E=="bigint"&&(P=String(E),(E>BigInt(2)**BigInt(32)||E<-(BigInt(2)**BigInt(32)))&&(P=le(P)),P+="n"),x+=` It must be ${b}. Received ${P}`,x},RangeError);function le(g){let b="",E=g.length,x=g[0]==="-"?1:0;for(;E>=x+4;E-=3)b=`_${g.slice(E-3,E)}${b}`;return`${g.slice(0,E)}${b}`}function X(g,b,E){ie(b,"offset"),(g[b]===void 0||g[b+E]===void 0)&&ve(b,g.length-(E+1))}function oe(g,b,E,x,P,j){if(g>E||g<b){let te=typeof b=="bigint"?"n":"",G;throw b===0||b===BigInt(0)?G=`>= 0${te} and < 2${te} ** ${(j+1)*8}${te}`:G=`>= -(2${te} ** ${(j+1)*8-1}${te}) and < 2 ** ${(j+1)*8-1}${te}`,new Z.ERR_OUT_OF_RANGE("value",G,g)}X(x,P,j)}function ie(g,b){if(typeof g!="number")throw new Z.ERR_INVALID_ARG_TYPE(b,"number",g)}function ve(g,b,E){throw Math.floor(g)!==g?(ie(g,E),new Z.ERR_OUT_OF_RANGE("offset","an integer",g)):b<0?new Z.ERR_BUFFER_OUT_OF_BOUNDS:new Z.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${b}`,g)}let F=/[^+/0-9A-Za-z-_]/g;function D(g){if(g=g.split("=")[0],g=g.trim().replace(F,""),g.length<2)return"";for(;g.length%4!==0;)g=g+"=";return g}function R(g,b){b=b||1/0;let E,x=g.length,P=null,j=[];for(let te=0;te<x;++te){if(E=g.charCodeAt(te),E>55295&&E<57344){if(!P){if(E>56319){(b-=3)>-1&&j.push(239,191,189);continue}else if(te+1===x){(b-=3)>-1&&j.push(239,191,189);continue}P=E;continue}if(E<56320){(b-=3)>-1&&j.push(239,191,189),P=E;continue}E=(P-55296<<10|E-56320)+65536}else P&&(b-=3)>-1&&j.push(239,191,189);if(P=null,E<128){if((b-=1)<0)break;j.push(E)}else if(E<2048){if((b-=2)<0)break;j.push(E>>6|192,E&63|128)}else if(E<65536){if((b-=3)<0)break;j.push(E>>12|224,E>>6&63|128,E&63|128)}else if(E<1114112){if((b-=4)<0)break;j.push(E>>18|240,E>>12&63|128,E>>6&63|128,E&63|128)}else throw new Error("Invalid code point")}return j}function se(g){let b=[];for(let E=0;E<g.length;++E)b.push(g.charCodeAt(E)&255);return b}function ue(g,b){let E,x,P,j=[];for(let te=0;te<g.length&&!((b-=2)<0);++te)E=g.charCodeAt(te),x=E>>8,P=E%256,j.push(P),j.push(x);return j}function pe(g){return d.toByteArray(D(g))}function ye(g,b,E,x){let P;for(P=0;P<x&&!(P+E>=b.length||P>=g.length);++P)b[P+E]=g[P];return P}function Q(g,b){return g instanceof b||g!=null&&g.constructor!=null&&g.constructor.name!=null&&g.constructor.name===b.name}function ge(g){return g!==g}let ke=function(){let g="0123456789abcdef",b=new Array(256);for(let E=0;E<16;++E){let x=E*16;for(let P=0;P<16;++P)b[x+P]=g[E]+g[P]}return b}();function ce(g){return typeof BigInt>"u"?xe:g}function xe(){throw new Error("BigInt not supported")}return Dt}var ir,Pn,gr,On,Dt,Mn,sy=ut(()=>{be(),Ee(),we(),ir={},Pn=!1,gr={},On=!1,Dt={},Mn=!1}),ot={};nr(ot,{Buffer:()=>Tr,INSPECT_MAX_BYTES:()=>Rs,default:()=>St,kMaxLength:()=>js});var St,Tr,Rs,js,nt=ut(()=>{be(),Ee(),we(),sy(),St=iy(),St.Buffer,St.SlowBuffer,St.INSPECT_MAX_BYTES,St.kMaxLength,Tr=St.Buffer,Rs=St.INSPECT_MAX_BYTES,js=St.kMaxLength}),Ee=ut(()=>{nt()}),Je=_e((d,t)=>{be(),Ee(),we();var r=class extends Error{constructor(s){if(!Array.isArray(s))throw new TypeError(`Expected input to be an Array, got ${typeof s}`);let o="";for(let n=0;n<s.length;n++)o+=` ${s[n].stack}
7
+ `;super(o),this.name="AggregateError",this.errors=s}};t.exports={AggregateError:r,ArrayIsArray(s){return Array.isArray(s)},ArrayPrototypeIncludes(s,o){return s.includes(o)},ArrayPrototypeIndexOf(s,o){return s.indexOf(o)},ArrayPrototypeJoin(s,o){return s.join(o)},ArrayPrototypeMap(s,o){return s.map(o)},ArrayPrototypePop(s,o){return s.pop(o)},ArrayPrototypePush(s,o){return s.push(o)},ArrayPrototypeSlice(s,o,n){return s.slice(o,n)},Error,FunctionPrototypeCall(s,o,...n){return s.call(o,...n)},FunctionPrototypeSymbolHasInstance(s,o){return Function.prototype[Symbol.hasInstance].call(s,o)},MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties(s,o){return Object.defineProperties(s,o)},ObjectDefineProperty(s,o,n){return Object.defineProperty(s,o,n)},ObjectGetOwnPropertyDescriptor(s,o){return Object.getOwnPropertyDescriptor(s,o)},ObjectKeys(s){return Object.keys(s)},ObjectSetPrototypeOf(s,o){return Object.setPrototypeOf(s,o)},Promise,PromisePrototypeCatch(s,o){return s.catch(o)},PromisePrototypeThen(s,o,n){return s.then(o,n)},PromiseReject(s){return Promise.reject(s)},PromiseResolve(s){return Promise.resolve(s)},ReflectApply:Reflect.apply,RegExpPrototypeTest(s,o){return s.test(o)},SafeSet:Set,String,StringPrototypeSlice(s,o,n){return s.slice(o,n)},StringPrototypeToLowerCase(s){return s.toLowerCase()},StringPrototypeToUpperCase(s){return s.toUpperCase()},StringPrototypeTrim(s){return s.trim()},Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,SymbolDispose:Symbol.dispose||Symbol("Symbol.dispose"),SymbolAsyncDispose:Symbol.asyncDispose||Symbol("Symbol.asyncDispose"),TypedArrayPrototypeSet(s,o,n){return s.set(o,n)},Boolean,Uint8Array}}),Ls=_e((d,t)=>{be(),Ee(),we(),t.exports={format(r,...s){return r.replace(/%([sdifj])/g,function(...[o,n]){let i=s.shift();return n==="f"?i.toFixed(6):n==="j"?JSON.stringify(i):n==="s"&&typeof i=="object"?`${i.constructor!==Object?i.constructor.name:""} {}`.trim():i.toString()})},inspect(r){switch(typeof r){case"string":if(r.includes("'"))if(r.includes('"')){if(!r.includes("`")&&!r.includes("${"))return`\`${r}\``}else return`"${r}"`;return`'${r}'`;case"number":return isNaN(r)?"NaN":Object.is(r,-0)?String(r):r;case"bigint":return`${String(r)}n`;case"boolean":case"undefined":return String(r);case"object":return"{}"}}}}),ct=_e((d,t)=>{be(),Ee(),we();var{format:r,inspect:s}=Ls(),{AggregateError:o}=Je(),n=globalThis.AggregateError||o,i=Symbol("kIsNodeError"),l=["string","function","number","object","Function","Object","boolean","bigint","symbol"],a=/^([A-Z][a-z0-9]*)+$/,c="__node_internal_",u={};function h(y,v){if(!y)throw new u.ERR_INTERNAL_ASSERTION(v)}function m(y){let v="",_=y.length,k=y[0]==="-"?1:0;for(;_>=k+4;_-=3)v=`_${y.slice(_-3,_)}${v}`;return`${y.slice(0,_)}${v}`}function f(y,v,_){if(typeof v=="function")return h(v.length<=_.length,`Code: ${y}; The provided arguments length (${_.length}) does not match the required ones (${v.length}).`),v(..._);let k=(v.match(/%[dfijoOs]/g)||[]).length;return h(k===_.length,`Code: ${y}; The provided arguments length (${_.length}) does not match the required ones (${k}).`),_.length===0?v:r(v,..._)}function p(y,v,_){_||(_=Error);class k extends _{constructor(...$){super(f(y,v,$))}toString(){return`${this.name} [${y}]: ${this.message}`}}Object.defineProperties(k.prototype,{name:{value:_.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${y}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),k.prototype.code=y,k.prototype[i]=!0,u[y]=k}function w(y){let v=c+y.name;return Object.defineProperty(y,"name",{value:v}),y}function N(y,v){if(y&&v&&y!==v){if(Array.isArray(v.errors))return v.errors.push(y),v;let _=new n([v,y],v.message);return _.code=v.code,_}return y||v}var S=class extends Error{constructor(y="The operation was aborted",v=void 0){if(v!==void 0&&typeof v!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",v);super(y,v),this.code="ABORT_ERR",this.name="AbortError"}};p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(y,v,_)=>{h(typeof y=="string","'name' must be a string"),Array.isArray(v)||(v=[v]);let k="The ";y.endsWith(" argument")?k+=`${y} `:k+=`"${y}" ${y.includes(".")?"property":"argument"} `,k+="must be ";let C=[],$=[],A=[];for(let I of v)h(typeof I=="string","All expected entries have to be of type string"),l.includes(I)?C.push(I.toLowerCase()):a.test(I)?$.push(I):(h(I!=="object",'The value "object" should be written as "Object"'),A.push(I));if($.length>0){let I=C.indexOf("object");I!==-1&&(C.splice(C,I,1),$.push("Object"))}if(C.length>0){switch(C.length){case 1:k+=`of type ${C[0]}`;break;case 2:k+=`one of type ${C[0]} or ${C[1]}`;break;default:{let I=C.pop();k+=`one of type ${C.join(", ")}, or ${I}`}}($.length>0||A.length>0)&&(k+=" or ")}if($.length>0){switch($.length){case 1:k+=`an instance of ${$[0]}`;break;case 2:k+=`an instance of ${$[0]} or ${$[1]}`;break;default:{let I=$.pop();k+=`an instance of ${$.join(", ")}, or ${I}`}}A.length>0&&(k+=" or ")}switch(A.length){case 0:break;case 1:A[0].toLowerCase()!==A[0]&&(k+="an "),k+=`${A[0]}`;break;case 2:k+=`one of ${A[0]} or ${A[1]}`;break;default:{let I=A.pop();k+=`one of ${A.join(", ")}, or ${I}`}}if(_==null)k+=`. Received ${_}`;else if(typeof _=="function"&&_.name)k+=`. Received function ${_.name}`;else if(typeof _=="object"){var T;if((T=_.constructor)!==null&&T!==void 0&&T.name)k+=`. Received an instance of ${_.constructor.name}`;else{let I=s(_,{depth:-1});k+=`. Received ${I}`}}else{let I=s(_,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),k+=`. Received type ${typeof _} (${I})`}return k},TypeError),p("ERR_INVALID_ARG_VALUE",(y,v,_="is invalid")=>{let k=s(v);return k.length>128&&(k=k.slice(0,128)+"..."),`The ${y.includes(".")?"property":"argument"} '${y}' ${_}. Received ${k}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(y,v,_)=>{var k;let C=_!=null&&(k=_.constructor)!==null&&k!==void 0&&k.name?`instance of ${_.constructor.name}`:`type ${typeof _}`;return`Expected ${y} to be returned from the "${v}" function but got ${C}.`},TypeError),p("ERR_MISSING_ARGS",(...y)=>{h(y.length>0,"At least one arg needs to be specified");let v,_=y.length;switch(y=(Array.isArray(y)?y:[y]).map(k=>`"${k}"`).join(" or "),_){case 1:v+=`The ${y[0]} argument`;break;case 2:v+=`The ${y[0]} and ${y[1]} arguments`;break;default:{let k=y.pop();v+=`The ${y.join(", ")}, and ${k} arguments`}break}return`${v} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(y,v,_)=>{h(v,'Missing "range" argument');let k;if(Number.isInteger(_)&&Math.abs(_)>2**32)k=m(String(_));else if(typeof _=="bigint"){k=String(_);let C=BigInt(2)**BigInt(32);(_>C||_<-C)&&(k=m(k)),k+="n"}else k=s(_);return`The value of "${y}" is out of range. It must be ${v}. Received ${k}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),t.exports={AbortError:S,aggregateTwoErrors:w(N),hideStackFrames:w,codes:u}}),yr=_e((d,t)=>{be(),Ee(),we();var{AbortController:r,AbortSignal:s}=typeof self<"u"?self:typeof window<"u"?window:void 0;t.exports=r,t.exports.AbortSignal=s,t.exports.default=r}),Pt={};nr(Pt,{EventEmitter:()=>Us,default:()=>sr,defaultMaxListeners:()=>Fs,init:()=>zs,listenerCount:()=>Ws,on:()=>qs,once:()=>Gs});function ay(){if(Rn)return br;Rn=!0;var d=typeof Reflect=="object"?Reflect:null,t=d&&typeof d.apply=="function"?d.apply:function(_,k,C){return Function.prototype.apply.call(_,k,C)},r;d&&typeof d.ownKeys=="function"?r=d.ownKeys:Object.getOwnPropertySymbols?r=function(_){return Object.getOwnPropertyNames(_).concat(Object.getOwnPropertySymbols(_))}:r=function(_){return Object.getOwnPropertyNames(_)};function s(_){console&&console.warn&&console.warn(_)}var o=Number.isNaN||function(_){return _!==_};function n(){n.init.call(this)}br=n,br.once=S,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._eventsCount=0,n.prototype._maxListeners=void 0;var i=10;function l(_){if(typeof _!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof _)}Object.defineProperty(n,"defaultMaxListeners",{enumerable:!0,get:function(){return i},set:function(_){if(typeof _!="number"||_<0||o(_))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+_+".");i=_}}),n.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},n.prototype.setMaxListeners=function(_){if(typeof _!="number"||_<0||o(_))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+_+".");return this._maxListeners=_,this};function a(_){return _._maxListeners===void 0?n.defaultMaxListeners:_._maxListeners}n.prototype.getMaxListeners=function(){return a(this)},n.prototype.emit=function(_){for(var k=[],C=1;C<arguments.length;C++)k.push(arguments[C]);var $=_==="error",A=this._events;if(A!==void 0)$=$&&A.error===void 0;else if(!$)return!1;if($){var T;if(k.length>0&&(T=k[0]),T instanceof Error)throw T;var I=new Error("Unhandled error."+(T?" ("+T.message+")":""));throw I.context=T,I}var B=A[_];if(B===void 0)return!1;if(typeof B=="function")t(B,this,k);else for(var V=B.length,L=p(B,V),C=0;C<V;++C)t(L[C],this,k);return!0};function c(_,k,C,$){var A,T,I;if(l(C),T=_._events,T===void 0?(T=_._events=Object.create(null),_._eventsCount=0):(T.newListener!==void 0&&(_.emit("newListener",k,C.listener?C.listener:C),T=_._events),I=T[k]),I===void 0)I=T[k]=C,++_._eventsCount;else if(typeof I=="function"?I=T[k]=$?[C,I]:[I,C]:$?I.unshift(C):I.push(C),A=a(_),A>0&&I.length>A&&!I.warned){I.warned=!0;var B=new Error("Possible EventEmitter memory leak detected. "+I.length+" "+String(k)+" listeners added. Use emitter.setMaxListeners() to increase limit");B.name="MaxListenersExceededWarning",B.emitter=_,B.type=k,B.count=I.length,s(B)}return _}n.prototype.addListener=function(_,k){return c(this,_,k,!1)},n.prototype.on=n.prototype.addListener,n.prototype.prependListener=function(_,k){return c(this,_,k,!0)};function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(_,k,C){var $={fired:!1,wrapFn:void 0,target:_,type:k,listener:C},A=u.bind($);return A.listener=C,$.wrapFn=A,A}n.prototype.once=function(_,k){return l(k),this.on(_,h(this,_,k)),this},n.prototype.prependOnceListener=function(_,k){return l(k),this.prependListener(_,h(this,_,k)),this},n.prototype.removeListener=function(_,k){var C,$,A,T,I;if(l(k),$=this._events,$===void 0)return this;if(C=$[_],C===void 0)return this;if(C===k||C.listener===k)--this._eventsCount===0?this._events=Object.create(null):(delete $[_],$.removeListener&&this.emit("removeListener",_,C.listener||k));else if(typeof C!="function"){for(A=-1,T=C.length-1;T>=0;T--)if(C[T]===k||C[T].listener===k){I=C[T].listener,A=T;break}if(A<0)return this;A===0?C.shift():w(C,A),C.length===1&&($[_]=C[0]),$.removeListener!==void 0&&this.emit("removeListener",_,I||k)}return this},n.prototype.off=n.prototype.removeListener,n.prototype.removeAllListeners=function(_){var k,C,$;if(C=this._events,C===void 0)return this;if(C.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):C[_]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete C[_]),this;if(arguments.length===0){var A=Object.keys(C),T;for($=0;$<A.length;++$)T=A[$],T!=="removeListener"&&this.removeAllListeners(T);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(k=C[_],typeof k=="function")this.removeListener(_,k);else if(k!==void 0)for($=k.length-1;$>=0;$--)this.removeListener(_,k[$]);return this};function m(_,k,C){var $=_._events;if($===void 0)return[];var A=$[k];return A===void 0?[]:typeof A=="function"?C?[A.listener||A]:[A]:C?N(A):p(A,A.length)}n.prototype.listeners=function(_){return m(this,_,!0)},n.prototype.rawListeners=function(_){return m(this,_,!1)},n.listenerCount=function(_,k){return typeof _.listenerCount=="function"?_.listenerCount(k):f.call(_,k)},n.prototype.listenerCount=f;function f(_){var k=this._events;if(k!==void 0){var C=k[_];if(typeof C=="function")return 1;if(C!==void 0)return C.length}return 0}n.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function p(_,k){for(var C=new Array(k),$=0;$<k;++$)C[$]=_[$];return C}function w(_,k){for(;k+1<_.length;k++)_[k]=_[k+1];_.pop()}function N(_){for(var k=new Array(_.length),C=0;C<k.length;++C)k[C]=_[C].listener||_[C];return k}function S(_,k){return new Promise(function(C,$){function A(I){_.removeListener(k,T),$(I)}function T(){typeof _.removeListener=="function"&&_.removeListener("error",A),C([].slice.call(arguments))}v(_,k,T,{once:!0}),k!=="error"&&y(_,A,{once:!0})})}function y(_,k,C){typeof _.on=="function"&&v(_,"error",k,C)}function v(_,k,C,$){if(typeof _.on=="function")$.once?_.once(k,C):_.on(k,C);else if(typeof _.addEventListener=="function")_.addEventListener(k,function A(T){$.once&&_.removeEventListener(k,A),C(T)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof _)}return br}var br,Rn,sr,Us,Fs,zs,Ws,qs,Gs,Jt=ut(()=>{be(),Ee(),we(),br={},Rn=!1,sr=ay(),sr.once,sr.once=function(d,t){return new Promise((r,s)=>{function o(...i){n!==void 0&&d.removeListener("error",n),r(i)}let n;t!=="error"&&(n=i=>{d.removeListener(name,o),s(i)},d.once("error",n)),d.once(t,o)})},sr.on=function(d,t){let r=[],s=[],o=null,n=!1,i={async next(){let c=r.shift();if(c)return createIterResult(c,!1);if(o){let u=Promise.reject(o);return o=null,u}return n?createIterResult(void 0,!0):new Promise((u,h)=>s.push({resolve:u,reject:h}))},async return(){d.removeListener(t,l),d.removeListener("error",a),n=!0;for(let c of s)c.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(c){o=c,d.removeListener(t,l),d.removeListener("error",a)},[Symbol.asyncIterator](){return this}};return d.on(t,l),d.on("error",a),i;function l(...c){let u=s.shift();u?u.resolve(createIterResult(c,!1)):r.push(c)}function a(c){n=!0;let u=s.shift();u?u.reject(c):o=c,i.return()}},{EventEmitter:Us,defaultMaxListeners:Fs,init:zs,listenerCount:Ws,on:qs,once:Gs}=sr}),ft=_e((d,t)=>{be(),Ee(),we();var r=(nt(),qe(ot)),{format:s,inspect:o}=Ls(),{codes:{ERR_INVALID_ARG_TYPE:n}}=ct(),{kResistStopPropagation:i,AggregateError:l,SymbolDispose:a}=Je(),c=globalThis.AbortSignal||yr().AbortSignal,u=globalThis.AbortController||yr().AbortController,h=Object.getPrototypeOf(async function(){}).constructor,m=globalThis.Blob||r.Blob,f=typeof m<"u"?function(N){return N instanceof m}:function(N){return!1},p=(N,S)=>{if(N!==void 0&&(N===null||typeof N!="object"||!("aborted"in N)))throw new n(S,"AbortSignal",N)},w=(N,S)=>{if(typeof N!="function")throw new n(S,"Function",N)};t.exports={AggregateError:l,kEmptyObject:Object.freeze({}),once(N){let S=!1;return function(...y){S||(S=!0,N.apply(this,y))}},createDeferredPromise:function(){let N,S;return{promise:new Promise((y,v)=>{N=y,S=v}),resolve:N,reject:S}},promisify(N){return new Promise((S,y)=>{N((v,..._)=>v?y(v):S(..._))})},debuglog(){return function(){}},format:s,inspect:o,types:{isAsyncFunction(N){return N instanceof h},isArrayBufferView(N){return ArrayBuffer.isView(N)}},isBlob:f,deprecate(N,S){return N},addAbortListener:(Jt(),qe(Pt)).addAbortListener||function(N,S){if(N===void 0)throw new n("signal","AbortSignal",N);p(N,"signal"),w(S,"listener");let y;return N.aborted?queueMicrotask(()=>S()):(N.addEventListener("abort",S,{__proto__:null,once:!0,[i]:!0}),y=()=>{N.removeEventListener("abort",S)}),{__proto__:null,[a](){var v;(v=y)===null||v===void 0||v()}}},AbortSignalAny:c.any||function(N){if(N.length===1)return N[0];let S=new u,y=()=>S.abort();return N.forEach(v=>{p(v,"signals"),v.addEventListener("abort",y,{once:!0})}),S.signal.addEventListener("abort",()=>{N.forEach(v=>v.removeEventListener("abort",y))},{once:!0}),S.signal}},t.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),wr=_e((d,t)=>{be(),Ee(),we();var{ArrayIsArray:r,ArrayPrototypeIncludes:s,ArrayPrototypeJoin:o,ArrayPrototypeMap:n,NumberIsInteger:i,NumberIsNaN:l,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:c,NumberParseInt:u,ObjectPrototypeHasOwnProperty:h,RegExpPrototypeExec:m,String:f,StringPrototypeToUpperCase:p,StringPrototypeTrim:w}=Je(),{hideStackFrames:N,codes:{ERR_SOCKET_BAD_PORT:S,ERR_INVALID_ARG_TYPE:y,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:_,ERR_UNKNOWN_SIGNAL:k}}=ct(),{normalizeEncoding:C}=ft(),{isAsyncFunction:$,isArrayBufferView:A}=ft().types,T={};function I(Q){return Q===(Q|0)}function B(Q){return Q===Q>>>0}var V=/^[0-7]+$/,L="must be a 32-bit unsigned integer or an octal string";function K(Q,ge,ke){if(typeof Q>"u"&&(Q=ke),typeof Q=="string"){if(m(V,Q)===null)throw new v(ge,Q,L);Q=u(Q,8)}return ne(Q,ge),Q}var U=N((Q,ge,ke=c,ce=a)=>{if(typeof Q!="number")throw new y(ge,"number",Q);if(!i(Q))throw new _(ge,"an integer",Q);if(Q<ke||Q>ce)throw new _(ge,`>= ${ke} && <= ${ce}`,Q)}),de=N((Q,ge,ke=-2147483648,ce=2147483647)=>{if(typeof Q!="number")throw new y(ge,"number",Q);if(!i(Q))throw new _(ge,"an integer",Q);if(Q<ke||Q>ce)throw new _(ge,`>= ${ke} && <= ${ce}`,Q)}),ne=N((Q,ge,ke=!1)=>{if(typeof Q!="number")throw new y(ge,"number",Q);if(!i(Q))throw new _(ge,"an integer",Q);let ce=ke?1:0,xe=4294967295;if(Q<ce||Q>xe)throw new _(ge,`>= ${ce} && <= ${xe}`,Q)});function re(Q,ge){if(typeof Q!="string")throw new y(ge,"string",Q)}function fe(Q,ge,ke=void 0,ce){if(typeof Q!="number")throw new y(ge,"number",Q);if(ke!=null&&Q<ke||ce!=null&&Q>ce||(ke!=null||ce!=null)&&l(Q))throw new _(ge,`${ke!=null?`>= ${ke}`:""}${ke!=null&&ce!=null?" && ":""}${ce!=null?`<= ${ce}`:""}`,Q)}var Y=N((Q,ge,ke)=>{if(!s(ke,Q)){let ce="must be one of: "+o(n(ke,xe=>typeof xe=="string"?`'${xe}'`:f(xe)),", ");throw new v(ge,Q,ce)}});function ae(Q,ge){if(typeof Q!="boolean")throw new y(ge,"boolean",Q)}function M(Q,ge,ke){return Q==null||!h(Q,ge)?ke:Q[ge]}var J=N((Q,ge,ke=null)=>{let ce=M(ke,"allowArray",!1),xe=M(ke,"allowFunction",!1);if(!M(ke,"nullable",!1)&&Q===null||!ce&&r(Q)||typeof Q!="object"&&(!xe||typeof Q!="function"))throw new y(ge,"Object",Q)}),me=N((Q,ge)=>{if(Q!=null&&typeof Q!="object"&&typeof Q!="function")throw new y(ge,"a dictionary",Q)}),H=N((Q,ge,ke=0)=>{if(!r(Q))throw new y(ge,"Array",Q);if(Q.length<ke){let ce=`must be longer than ${ke}`;throw new v(ge,Q,ce)}});function Ne(Q,ge){H(Q,ge);for(let ke=0;ke<Q.length;ke++)re(Q[ke],`${ge}[${ke}]`)}function Z(Q,ge){H(Q,ge);for(let ke=0;ke<Q.length;ke++)ae(Q[ke],`${ge}[${ke}]`)}function q(Q,ge){H(Q,ge);for(let ke=0;ke<Q.length;ke++){let ce=Q[ke],xe=`${ge}[${ke}]`;if(ce==null)throw new y(xe,"AbortSignal",ce);ve(ce,xe)}}function le(Q,ge="signal"){if(re(Q,ge),T[Q]===void 0)throw T[p(Q)]!==void 0?new k(Q+" (signals must use all capital letters)"):new k(Q)}var X=N((Q,ge="buffer")=>{if(!A(Q))throw new y(ge,["Buffer","TypedArray","DataView"],Q)});function oe(Q,ge){let ke=C(ge),ce=Q.length;if(ke==="hex"&&ce%2!==0)throw new v("encoding",ge,`is invalid for data of length ${ce}`)}function ie(Q,ge="Port",ke=!0){if(typeof Q!="number"&&typeof Q!="string"||typeof Q=="string"&&w(Q).length===0||+Q!==+Q>>>0||Q>65535||Q===0&&!ke)throw new S(ge,Q,ke);return Q|0}var ve=N((Q,ge)=>{if(Q!==void 0&&(Q===null||typeof Q!="object"||!("aborted"in Q)))throw new y(ge,"AbortSignal",Q)}),F=N((Q,ge)=>{if(typeof Q!="function")throw new y(ge,"Function",Q)}),D=N((Q,ge)=>{if(typeof Q!="function"||$(Q))throw new y(ge,"Function",Q)}),R=N((Q,ge)=>{if(Q!==void 0)throw new y(ge,"undefined",Q)});function se(Q,ge,ke){if(!s(ke,Q))throw new y(ge,`('${o(ke,"|")}')`,Q)}var ue=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function pe(Q,ge){if(typeof Q>"u"||!m(ue,Q))throw new v(ge,Q,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}function ye(Q){if(typeof Q=="string")return pe(Q,"hints"),Q;if(r(Q)){let ge=Q.length,ke="";if(ge===0)return ke;for(let ce=0;ce<ge;ce++){let xe=Q[ce];pe(xe,"hints"),ke+=xe,ce!==ge-1&&(ke+=", ")}return ke}throw new v("hints",Q,'must be an array or string of format "</styles.css>; rel=preload; as=style"')}t.exports={isInt32:I,isUint32:B,parseFileMode:K,validateArray:H,validateStringArray:Ne,validateBooleanArray:Z,validateAbortSignalArray:q,validateBoolean:ae,validateBuffer:X,validateDictionary:me,validateEncoding:oe,validateFunction:F,validateInt32:de,validateInteger:U,validateNumber:fe,validateObject:J,validateOneOf:Y,validatePlainFunction:D,validatePort:ie,validateSignalName:le,validateString:re,validateUint32:ne,validateUndefined:R,validateUnion:se,validateAbortSignal:ve,validateLinkHeaderValue:ye}}),Xt=_e((d,t)=>{be(),Ee(),we();var r=t.exports={},s,o;function n(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?s=setTimeout:s=n}catch{s=n}try{typeof clearTimeout=="function"?o=clearTimeout:o=i}catch{o=i}})();function l(S){if(s===setTimeout)return setTimeout(S,0);if((s===n||!s)&&setTimeout)return s=setTimeout,setTimeout(S,0);try{return s(S,0)}catch{try{return s.call(null,S,0)}catch{return s.call(this,S,0)}}}function a(S){if(o===clearTimeout)return clearTimeout(S);if((o===i||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(S);try{return o(S)}catch{try{return o.call(null,S)}catch{return o.call(this,S)}}}var c=[],u=!1,h,m=-1;function f(){!u||!h||(u=!1,h.length?c=h.concat(c):m=-1,c.length&&p())}function p(){if(!u){var S=l(f);u=!0;for(var y=c.length;y;){for(h=c,c=[];++m<y;)h&&h[m].run();m=-1,y=c.length}h=null,u=!1,a(S)}}r.nextTick=function(S){var y=new Array(arguments.length-1);if(arguments.length>1)for(var v=1;v<arguments.length;v++)y[v-1]=arguments[v];c.push(new w(S,y)),c.length===1&&!u&&l(p)};function w(S,y){this.fun=S,this.array=y}w.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={};function N(){}r.on=N,r.addListener=N,r.once=N,r.off=N,r.removeListener=N,r.removeAllListeners=N,r.emit=N,r.prependListener=N,r.prependOnceListener=N,r.listeners=function(S){return[]},r.binding=function(S){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(S){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}}),xt=_e((d,t)=>{be(),Ee(),we();var{SymbolAsyncIterator:r,SymbolIterator:s,SymbolFor:o}=Je(),n=o("nodejs.stream.destroyed"),i=o("nodejs.stream.errored"),l=o("nodejs.stream.readable"),a=o("nodejs.stream.writable"),c=o("nodejs.stream.disturbed"),u=o("nodejs.webstream.isClosedPromise"),h=o("nodejs.webstream.controllerErrorFunction");function m(M,J=!1){var me;return!!(M&&typeof M.pipe=="function"&&typeof M.on=="function"&&(!J||typeof M.pause=="function"&&typeof M.resume=="function")&&(!M._writableState||((me=M._readableState)===null||me===void 0?void 0:me.readable)!==!1)&&(!M._writableState||M._readableState))}function f(M){var J;return!!(M&&typeof M.write=="function"&&typeof M.on=="function"&&(!M._readableState||((J=M._writableState)===null||J===void 0?void 0:J.writable)!==!1))}function p(M){return!!(M&&typeof M.pipe=="function"&&M._readableState&&typeof M.on=="function"&&typeof M.write=="function")}function w(M){return M&&(M._readableState||M._writableState||typeof M.write=="function"&&typeof M.on=="function"||typeof M.pipe=="function"&&typeof M.on=="function")}function N(M){return!!(M&&!w(M)&&typeof M.pipeThrough=="function"&&typeof M.getReader=="function"&&typeof M.cancel=="function")}function S(M){return!!(M&&!w(M)&&typeof M.getWriter=="function"&&typeof M.abort=="function")}function y(M){return!!(M&&!w(M)&&typeof M.readable=="object"&&typeof M.writable=="object")}function v(M){return N(M)||S(M)||y(M)}function _(M,J){return M==null?!1:J===!0?typeof M[r]=="function":J===!1?typeof M[s]=="function":typeof M[r]=="function"||typeof M[s]=="function"}function k(M){if(!w(M))return null;let J=M._writableState,me=M._readableState,H=J||me;return!!(M.destroyed||M[n]||H!=null&&H.destroyed)}function C(M){if(!f(M))return null;if(M.writableEnded===!0)return!0;let J=M._writableState;return J!=null&&J.errored?!1:typeof(J==null?void 0:J.ended)!="boolean"?null:J.ended}function $(M,J){if(!f(M))return null;if(M.writableFinished===!0)return!0;let me=M._writableState;return me!=null&&me.errored?!1:typeof(me==null?void 0:me.finished)!="boolean"?null:!!(me.finished||J===!1&&me.ended===!0&&me.length===0)}function A(M){if(!m(M))return null;if(M.readableEnded===!0)return!0;let J=M._readableState;return!J||J.errored?!1:typeof(J==null?void 0:J.ended)!="boolean"?null:J.ended}function T(M,J){if(!m(M))return null;let me=M._readableState;return me!=null&&me.errored?!1:typeof(me==null?void 0:me.endEmitted)!="boolean"?null:!!(me.endEmitted||J===!1&&me.ended===!0&&me.length===0)}function I(M){return M&&M[l]!=null?M[l]:typeof(M==null?void 0:M.readable)!="boolean"?null:k(M)?!1:m(M)&&M.readable&&!T(M)}function B(M){return M&&M[a]!=null?M[a]:typeof(M==null?void 0:M.writable)!="boolean"?null:k(M)?!1:f(M)&&M.writable&&!C(M)}function V(M,J){return w(M)?k(M)?!0:!((J==null?void 0:J.readable)!==!1&&I(M)||(J==null?void 0:J.writable)!==!1&&B(M)):null}function L(M){var J,me;return w(M)?M.writableErrored?M.writableErrored:(J=(me=M._writableState)===null||me===void 0?void 0:me.errored)!==null&&J!==void 0?J:null:null}function K(M){var J,me;return w(M)?M.readableErrored?M.readableErrored:(J=(me=M._readableState)===null||me===void 0?void 0:me.errored)!==null&&J!==void 0?J:null:null}function U(M){if(!w(M))return null;if(typeof M.closed=="boolean")return M.closed;let J=M._writableState,me=M._readableState;return typeof(J==null?void 0:J.closed)=="boolean"||typeof(me==null?void 0:me.closed)=="boolean"?(J==null?void 0:J.closed)||(me==null?void 0:me.closed):typeof M._closed=="boolean"&&de(M)?M._closed:null}function de(M){return typeof M._closed=="boolean"&&typeof M._defaultKeepAlive=="boolean"&&typeof M._removedConnection=="boolean"&&typeof M._removedContLen=="boolean"}function ne(M){return typeof M._sent100=="boolean"&&de(M)}function re(M){var J;return typeof M._consuming=="boolean"&&typeof M._dumped=="boolean"&&((J=M.req)===null||J===void 0?void 0:J.upgradeOrConnect)===void 0}function fe(M){if(!w(M))return null;let J=M._writableState,me=M._readableState,H=J||me;return!H&&ne(M)||!!(H&&H.autoDestroy&&H.emitClose&&H.closed===!1)}function Y(M){var J;return!!(M&&((J=M[c])!==null&&J!==void 0?J:M.readableDidRead||M.readableAborted))}function ae(M){var J,me,H,Ne,Z,q,le,X,oe,ie;return!!(M&&((J=(me=(H=(Ne=(Z=(q=M[i])!==null&&q!==void 0?q:M.readableErrored)!==null&&Z!==void 0?Z:M.writableErrored)!==null&&Ne!==void 0?Ne:(le=M._readableState)===null||le===void 0?void 0:le.errorEmitted)!==null&&H!==void 0?H:(X=M._writableState)===null||X===void 0?void 0:X.errorEmitted)!==null&&me!==void 0?me:(oe=M._readableState)===null||oe===void 0?void 0:oe.errored)!==null&&J!==void 0?J:!((ie=M._writableState)===null||ie===void 0)&&ie.errored))}t.exports={isDestroyed:k,kIsDestroyed:n,isDisturbed:Y,kIsDisturbed:c,isErrored:ae,kIsErrored:i,isReadable:I,kIsReadable:l,kIsClosedPromise:u,kControllerErrorFunction:h,kIsWritable:a,isClosed:U,isDuplexNodeStream:p,isFinished:V,isIterable:_,isReadableNodeStream:m,isReadableStream:N,isReadableEnded:A,isReadableFinished:T,isReadableErrored:K,isNodeStream:w,isWebStream:v,isWritable:B,isWritableNodeStream:f,isWritableStream:S,isWritableEnded:C,isWritableFinished:$,isWritableErrored:L,isServerRequest:re,isServerResponse:ne,willEmitClose:fe,isTransformStream:y}}),Ot=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{AbortError:s,codes:o}=ct(),{ERR_INVALID_ARG_TYPE:n,ERR_STREAM_PREMATURE_CLOSE:i}=o,{kEmptyObject:l,once:a}=ft(),{validateAbortSignal:c,validateFunction:u,validateObject:h,validateBoolean:m}=wr(),{Promise:f,PromisePrototypeThen:p,SymbolDispose:w}=Je(),{isClosed:N,isReadable:S,isReadableNodeStream:y,isReadableStream:v,isReadableFinished:_,isReadableErrored:k,isWritable:C,isWritableNodeStream:$,isWritableStream:A,isWritableFinished:T,isWritableErrored:I,isNodeStream:B,willEmitClose:V,kIsClosedPromise:L}=xt(),K;function U(Y){return Y.setHeader&&typeof Y.abort=="function"}var de=()=>{};function ne(Y,ae,M){var J,me;if(arguments.length===2?(M=ae,ae=l):ae==null?ae=l:h(ae,"options"),u(M,"callback"),c(ae.signal,"options.signal"),M=a(M),v(Y)||A(Y))return re(Y,ae,M);if(!B(Y))throw new n("stream",["ReadableStream","WritableStream","Stream"],Y);let H=(J=ae.readable)!==null&&J!==void 0?J:y(Y),Ne=(me=ae.writable)!==null&&me!==void 0?me:$(Y),Z=Y._writableState,q=Y._readableState,le=()=>{Y.writable||ie()},X=V(Y)&&y(Y)===H&&$(Y)===Ne,oe=T(Y,!1),ie=()=>{oe=!0,Y.destroyed&&(X=!1),!(X&&(!Y.readable||H))&&(!H||ve)&&M.call(Y)},ve=_(Y,!1),F=()=>{ve=!0,Y.destroyed&&(X=!1),!(X&&(!Y.writable||Ne))&&(!Ne||oe)&&M.call(Y)},D=Q=>{M.call(Y,Q)},R=N(Y),se=()=>{R=!0;let Q=I(Y)||k(Y);if(Q&&typeof Q!="boolean")return M.call(Y,Q);if(H&&!ve&&y(Y,!0)&&!_(Y,!1))return M.call(Y,new i);if(Ne&&!oe&&!T(Y,!1))return M.call(Y,new i);M.call(Y)},ue=()=>{R=!0;let Q=I(Y)||k(Y);if(Q&&typeof Q!="boolean")return M.call(Y,Q);M.call(Y)},pe=()=>{Y.req.on("finish",ie)};U(Y)?(Y.on("complete",ie),X||Y.on("abort",se),Y.req?pe():Y.on("request",pe)):Ne&&!Z&&(Y.on("end",le),Y.on("close",le)),!X&&typeof Y.aborted=="boolean"&&Y.on("aborted",se),Y.on("end",F),Y.on("finish",ie),ae.error!==!1&&Y.on("error",D),Y.on("close",se),R?r.nextTick(se):Z!=null&&Z.errorEmitted||q!=null&&q.errorEmitted?X||r.nextTick(ue):(!H&&(!X||S(Y))&&(oe||C(Y)===!1)||!Ne&&(!X||C(Y))&&(ve||S(Y)===!1)||q&&Y.req&&Y.aborted)&&r.nextTick(ue);let ye=()=>{M=de,Y.removeListener("aborted",se),Y.removeListener("complete",ie),Y.removeListener("abort",se),Y.removeListener("request",pe),Y.req&&Y.req.removeListener("finish",ie),Y.removeListener("end",le),Y.removeListener("close",le),Y.removeListener("finish",ie),Y.removeListener("end",F),Y.removeListener("error",D),Y.removeListener("close",se)};if(ae.signal&&!R){let Q=()=>{let ge=M;ye(),ge.call(Y,new s(void 0,{cause:ae.signal.reason}))};if(ae.signal.aborted)r.nextTick(Q);else{K=K||ft().addAbortListener;let ge=K(ae.signal,Q),ke=M;M=a((...ce)=>{ge[w](),ke.apply(Y,ce)})}}return ye}function re(Y,ae,M){let J=!1,me=de;if(ae.signal)if(me=()=>{J=!0,M.call(Y,new s(void 0,{cause:ae.signal.reason}))},ae.signal.aborted)r.nextTick(me);else{K=K||ft().addAbortListener;let Ne=K(ae.signal,me),Z=M;M=a((...q)=>{Ne[w](),Z.apply(Y,q)})}let H=(...Ne)=>{J||r.nextTick(()=>M.apply(Y,Ne))};return p(Y[L].promise,H,H),de}function fe(Y,ae){var M;let J=!1;return ae===null&&(ae=l),(M=ae)!==null&&M!==void 0&&M.cleanup&&(m(ae.cleanup,"cleanup"),J=ae.cleanup),new f((me,H)=>{let Ne=ne(Y,ae,Z=>{J&&Ne(),Z?H(Z):me()})})}t.exports=ne,t.exports.finished=fe}),ar=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{aggregateTwoErrors:s,codes:{ERR_MULTIPLE_CALLBACK:o},AbortError:n}=ct(),{Symbol:i}=Je(),{kIsDestroyed:l,isDestroyed:a,isFinished:c,isServerRequest:u}=xt(),h=i("kDestroy"),m=i("kConstruct");function f(V,L,K){V&&(V.stack,L&&!L.errored&&(L.errored=V),K&&!K.errored&&(K.errored=V))}function p(V,L){let K=this._readableState,U=this._writableState,de=U||K;return U!=null&&U.destroyed||K!=null&&K.destroyed?(typeof L=="function"&&L(),this):(f(V,U,K),U&&(U.destroyed=!0),K&&(K.destroyed=!0),de.constructed?w(this,V,L):this.once(h,function(ne){w(this,s(ne,V),L)}),this)}function w(V,L,K){let U=!1;function de(ne){if(U)return;U=!0;let re=V._readableState,fe=V._writableState;f(ne,fe,re),fe&&(fe.closed=!0),re&&(re.closed=!0),typeof K=="function"&&K(ne),ne?r.nextTick(N,V,ne):r.nextTick(S,V)}try{V._destroy(L||null,de)}catch(ne){de(ne)}}function N(V,L){y(V,L),S(V)}function S(V){let L=V._readableState,K=V._writableState;K&&(K.closeEmitted=!0),L&&(L.closeEmitted=!0),(K!=null&&K.emitClose||L!=null&&L.emitClose)&&V.emit("close")}function y(V,L){let K=V._readableState,U=V._writableState;U!=null&&U.errorEmitted||K!=null&&K.errorEmitted||(U&&(U.errorEmitted=!0),K&&(K.errorEmitted=!0),V.emit("error",L))}function v(){let V=this._readableState,L=this._writableState;V&&(V.constructed=!0,V.closed=!1,V.closeEmitted=!1,V.destroyed=!1,V.errored=null,V.errorEmitted=!1,V.reading=!1,V.ended=V.readable===!1,V.endEmitted=V.readable===!1),L&&(L.constructed=!0,L.destroyed=!1,L.closed=!1,L.closeEmitted=!1,L.errored=null,L.errorEmitted=!1,L.finalCalled=!1,L.prefinished=!1,L.ended=L.writable===!1,L.ending=L.writable===!1,L.finished=L.writable===!1)}function _(V,L,K){let U=V._readableState,de=V._writableState;if(de!=null&&de.destroyed||U!=null&&U.destroyed)return this;U!=null&&U.autoDestroy||de!=null&&de.autoDestroy?V.destroy(L):L&&(L.stack,de&&!de.errored&&(de.errored=L),U&&!U.errored&&(U.errored=L),K?r.nextTick(y,V,L):y(V,L))}function k(V,L){if(typeof V._construct!="function")return;let K=V._readableState,U=V._writableState;K&&(K.constructed=!1),U&&(U.constructed=!1),V.once(m,L),!(V.listenerCount(m)>1)&&r.nextTick(C,V)}function C(V){let L=!1;function K(U){if(L){_(V,U??new o);return}L=!0;let de=V._readableState,ne=V._writableState,re=ne||de;de&&(de.constructed=!0),ne&&(ne.constructed=!0),re.destroyed?V.emit(h,U):U?_(V,U,!0):r.nextTick($,V)}try{V._construct(U=>{r.nextTick(K,U)})}catch(U){r.nextTick(K,U)}}function $(V){V.emit(m)}function A(V){return(V==null?void 0:V.setHeader)&&typeof V.abort=="function"}function T(V){V.emit("close")}function I(V,L){V.emit("error",L),r.nextTick(T,V)}function B(V,L){!V||a(V)||(!L&&!c(V)&&(L=new n),u(V)?(V.socket=null,V.destroy(L)):A(V)?V.abort():A(V.req)?V.req.abort():typeof V.destroy=="function"?V.destroy(L):typeof V.close=="function"?V.close():L?r.nextTick(I,V,L):r.nextTick(T,V),V.destroyed||(V[l]=!0))}t.exports={construct:k,destroyer:B,destroy:p,undestroy:v,errorOrDestroy:_}}),jn=_e((d,t)=>{be(),Ee(),we();var{ArrayIsArray:r,ObjectSetPrototypeOf:s}=Je(),{EventEmitter:o}=(Jt(),qe(Pt));function n(l){o.call(this,l)}s(n.prototype,o.prototype),s(n,o),n.prototype.pipe=function(l,a){let c=this;function u(S){l.writable&&l.write(S)===!1&&c.pause&&c.pause()}c.on("data",u);function h(){c.readable&&c.resume&&c.resume()}l.on("drain",h),!l._isStdio&&(!a||a.end!==!1)&&(c.on("end",f),c.on("close",p));let m=!1;function f(){m||(m=!0,l.end())}function p(){m||(m=!0,typeof l.destroy=="function"&&l.destroy())}function w(S){N(),o.listenerCount(this,"error")===0&&this.emit("error",S)}i(c,"error",w),i(l,"error",w);function N(){c.removeListener("data",u),l.removeListener("drain",h),c.removeListener("end",f),c.removeListener("close",p),c.removeListener("error",w),l.removeListener("error",w),c.removeListener("end",N),c.removeListener("close",N),l.removeListener("close",N)}return c.on("end",N),c.on("close",N),l.on("close",N),l.emit("pipe",c),l};function i(l,a,c){if(typeof l.prependListener=="function")return l.prependListener(a,c);!l._events||!l._events[a]?l.on(a,c):r(l._events[a])?l._events[a].unshift(c):l._events[a]=[c,l._events[a]]}t.exports={Stream:n,prependListener:i}}),$r=_e((d,t)=>{be(),Ee(),we();var{SymbolDispose:r}=Je(),{AbortError:s,codes:o}=ct(),{isNodeStream:n,isWebStream:i,kControllerErrorFunction:l}=xt(),a=Ot(),{ERR_INVALID_ARG_TYPE:c}=o,u,h=(m,f)=>{if(typeof m!="object"||!("aborted"in m))throw new c(f,"AbortSignal",m)};t.exports.addAbortSignal=function(m,f){if(h(m,"signal"),!n(f)&&!i(f))throw new c("stream",["ReadableStream","WritableStream","Stream"],f);return t.exports.addAbortSignalNoValidate(m,f)},t.exports.addAbortSignalNoValidate=function(m,f){if(typeof m!="object"||!("aborted"in m))return f;let p=n(f)?()=>{f.destroy(new s(void 0,{cause:m.reason}))}:()=>{f[l](new s(void 0,{cause:m.reason}))};if(m.aborted)p();else{u=u||ft().addAbortListener;let w=u(m,p);a(f,w[r])}return f}}),ly=_e((d,t)=>{be(),Ee(),we();var{StringPrototypeSlice:r,SymbolIterator:s,TypedArrayPrototypeSet:o,Uint8Array:n}=Je(),{Buffer:i}=(nt(),qe(ot)),{inspect:l}=ft();t.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(a){let c={data:a,next:null};this.length>0?this.tail.next=c:this.head=c,this.tail=c,++this.length}unshift(a){let c={data:a,next:this.head};this.length===0&&(this.tail=c),this.head=c,++this.length}shift(){if(this.length===0)return;let a=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,a}clear(){this.head=this.tail=null,this.length=0}join(a){if(this.length===0)return"";let c=this.head,u=""+c.data;for(;(c=c.next)!==null;)u+=a+c.data;return u}concat(a){if(this.length===0)return i.alloc(0);let c=i.allocUnsafe(a>>>0),u=this.head,h=0;for(;u;)o(c,u.data,h),h+=u.data.length,u=u.next;return c}consume(a,c){let u=this.head.data;if(a<u.length){let h=u.slice(0,a);return this.head.data=u.slice(a),h}return a===u.length?this.shift():c?this._getString(a):this._getBuffer(a)}first(){return this.head.data}*[s](){for(let a=this.head;a;a=a.next)yield a.data}_getString(a){let c="",u=this.head,h=0;do{let m=u.data;if(a>m.length)c+=m,a-=m.length;else{a===m.length?(c+=m,++h,u.next?this.head=u.next:this.head=this.tail=null):(c+=r(m,0,a),this.head=u,u.data=r(m,a));break}++h}while((u=u.next)!==null);return this.length-=h,c}_getBuffer(a){let c=i.allocUnsafe(a),u=a,h=this.head,m=0;do{let f=h.data;if(a>f.length)o(c,f,u-a),a-=f.length;else{a===f.length?(o(c,f,u-a),++m,h.next?this.head=h.next:this.head=this.tail=null):(o(c,new n(f.buffer,f.byteOffset,a),u-a),this.head=h,h.data=f.slice(a));break}++m}while((h=h.next)!==null);return this.length-=m,c}[Symbol.for("nodejs.util.inspect.custom")](a,c){return l(this,{...c,depth:0,customInspect:!1})}}}),Br=_e((d,t)=>{be(),Ee(),we();var{MathFloor:r,NumberIsInteger:s}=Je(),{validateInteger:o}=wr(),{ERR_INVALID_ARG_VALUE:n}=ct().codes,i=16*1024,l=16;function a(m,f,p){return m.highWaterMark!=null?m.highWaterMark:f?m[p]:null}function c(m){return m?l:i}function u(m,f){o(f,"value",0),m?l=f:i=f}function h(m,f,p,w){let N=a(f,w,p);if(N!=null){if(!s(N)||N<0){let S=w?`options.${p}`:"options.highWaterMark";throw new n(S,N)}return r(N)}return c(m.objectMode)}t.exports={getHighWaterMark:h,getDefaultHighWaterMark:c,setDefaultHighWaterMark:u}}),cy=_e((d,t)=>{be(),Ee(),we();var r=(nt(),qe(ot)),s=r.Buffer;function o(i,l){for(var a in i)l[a]=i[a]}s.from&&s.alloc&&s.allocUnsafe&&s.allocUnsafeSlow?t.exports=r:(o(r,d),d.Buffer=n);function n(i,l,a){return s(i,l,a)}n.prototype=Object.create(s.prototype),o(s,n),n.from=function(i,l,a){if(typeof i=="number")throw new TypeError("Argument must not be a number");return s(i,l,a)},n.alloc=function(i,l,a){if(typeof i!="number")throw new TypeError("Argument must be a number");var c=s(i);return l!==void 0?typeof a=="string"?c.fill(l,a):c.fill(l):c.fill(0),c},n.allocUnsafe=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return s(i)},n.allocUnsafeSlow=function(i){if(typeof i!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(i)}}),dy=_e(d=>{be(),Ee(),we();var t=cy().Buffer,r=t.isEncoding||function(y){switch(y=""+y,y&&y.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(y){if(!y)return"utf8";for(var v;;)switch(y){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return y;default:if(v)return;y=(""+y).toLowerCase(),v=!0}}function o(y){var v=s(y);if(typeof v!="string"&&(t.isEncoding===r||!r(y)))throw new Error("Unknown encoding: "+y);return v||y}d.StringDecoder=n;function n(y){this.encoding=o(y);var v;switch(this.encoding){case"utf16le":this.text=m,this.end=f,v=4;break;case"utf8":this.fillLast=c,v=4;break;case"base64":this.text=p,this.end=w,v=3;break;default:this.write=N,this.end=S;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=t.allocUnsafe(v)}n.prototype.write=function(y){if(y.length===0)return"";var v,_;if(this.lastNeed){if(v=this.fillLast(y),v===void 0)return"";_=this.lastNeed,this.lastNeed=0}else _=0;return _<y.length?v?v+this.text(y,_):this.text(y,_):v||""},n.prototype.end=h,n.prototype.text=u,n.prototype.fillLast=function(y){if(this.lastNeed<=y.length)return y.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);y.copy(this.lastChar,this.lastTotal-this.lastNeed,0,y.length),this.lastNeed-=y.length};function i(y){return y<=127?0:y>>5===6?2:y>>4===14?3:y>>3===30?4:y>>6===2?-1:-2}function l(y,v,_){var k=v.length-1;if(k<_)return 0;var C=i(v[k]);return C>=0?(C>0&&(y.lastNeed=C-1),C):--k<_||C===-2?0:(C=i(v[k]),C>=0?(C>0&&(y.lastNeed=C-2),C):--k<_||C===-2?0:(C=i(v[k]),C>=0?(C>0&&(C===2?C=0:y.lastNeed=C-3),C):0))}function a(y,v,_){if((v[0]&192)!==128)return y.lastNeed=0,"�";if(y.lastNeed>1&&v.length>1){if((v[1]&192)!==128)return y.lastNeed=1,"�";if(y.lastNeed>2&&v.length>2&&(v[2]&192)!==128)return y.lastNeed=2,"�"}}function c(y){var v=this.lastTotal-this.lastNeed,_=a(this,y);if(_!==void 0)return _;if(this.lastNeed<=y.length)return y.copy(this.lastChar,v,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);y.copy(this.lastChar,v,0,y.length),this.lastNeed-=y.length}function u(y,v){var _=l(this,y,v);if(!this.lastNeed)return y.toString("utf8",v);this.lastTotal=_;var k=y.length-(_-this.lastNeed);return y.copy(this.lastChar,0,k),y.toString("utf8",v,k)}function h(y){var v=y&&y.length?this.write(y):"";return this.lastNeed?v+"�":v}function m(y,v){if((y.length-v)%2===0){var _=y.toString("utf16le",v);if(_){var k=_.charCodeAt(_.length-1);if(k>=55296&&k<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1],_.slice(0,-1)}return _}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=y[y.length-1],y.toString("utf16le",v,y.length-1)}function f(y){var v=y&&y.length?this.write(y):"";if(this.lastNeed){var _=this.lastTotal-this.lastNeed;return v+this.lastChar.toString("utf16le",0,_)}return v}function p(y,v){var _=(y.length-v)%3;return _===0?y.toString("base64",v):(this.lastNeed=3-_,this.lastTotal=3,_===1?this.lastChar[0]=y[y.length-1]:(this.lastChar[0]=y[y.length-2],this.lastChar[1]=y[y.length-1]),y.toString("base64",v,y.length-_))}function w(y){var v=y&&y.length?this.write(y):"";return this.lastNeed?v+this.lastChar.toString("base64",0,3-this.lastNeed):v}function N(y){return y.toString(this.encoding)}function S(y){return y&&y.length?this.write(y):""}}),Hs=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{PromisePrototypeThen:s,SymbolAsyncIterator:o,SymbolIterator:n}=Je(),{Buffer:i}=(nt(),qe(ot)),{ERR_INVALID_ARG_TYPE:l,ERR_STREAM_NULL_VALUES:a}=ct().codes;function c(u,h,m){let f;if(typeof h=="string"||h instanceof i)return new u({objectMode:!0,...m,read(){this.push(h),this.push(null)}});let p;if(h&&h[o])p=!0,f=h[o]();else if(h&&h[n])p=!1,f=h[n]();else throw new l("iterable",["Iterable"],h);let w=new u({objectMode:!0,highWaterMark:1,...m}),N=!1;w._read=function(){N||(N=!0,y())},w._destroy=function(v,_){s(S(v),()=>r.nextTick(_,v),k=>r.nextTick(_,k||v))};async function S(v){let _=v!=null,k=typeof f.throw=="function";if(_&&k){let{value:C,done:$}=await f.throw(v);if(await C,$)return}if(typeof f.return=="function"){let{value:C}=await f.return();await C}}async function y(){for(;;){try{let{value:v,done:_}=p?await f.next():f.next();if(_)w.push(null);else{let k=v&&typeof v.then=="function"?await v:v;if(k===null)throw N=!1,new a;if(w.push(k))continue;N=!1}}catch(v){w.destroy(v)}break}}return w}t.exports=c}),Dr=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{ArrayPrototypeIndexOf:s,NumberIsInteger:o,NumberIsNaN:n,NumberParseInt:i,ObjectDefineProperties:l,ObjectKeys:a,ObjectSetPrototypeOf:c,Promise:u,SafeSet:h,SymbolAsyncDispose:m,SymbolAsyncIterator:f,Symbol:p}=Je();t.exports=ce,ce.ReadableState=ke;var{EventEmitter:w}=(Jt(),qe(Pt)),{Stream:N,prependListener:S}=jn(),{Buffer:y}=(nt(),qe(ot)),{addAbortSignal:v}=$r(),_=Ot(),k=ft().debuglog("stream",O=>{k=O}),C=ly(),$=ar(),{getHighWaterMark:A,getDefaultHighWaterMark:T}=Br(),{aggregateTwoErrors:I,codes:{ERR_INVALID_ARG_TYPE:B,ERR_METHOD_NOT_IMPLEMENTED:V,ERR_OUT_OF_RANGE:L,ERR_STREAM_PUSH_AFTER_EOF:K,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:U},AbortError:de}=ct(),{validateObject:ne}=wr(),re=p("kPaused"),{StringDecoder:fe}=dy(),Y=Hs();c(ce.prototype,N.prototype),c(ce,N);var ae=()=>{},{errorOrDestroy:M}=$,J=1,me=2,H=4,Ne=8,Z=16,q=32,le=64,X=128,oe=256,ie=512,ve=1024,F=2048,D=4096,R=8192,se=16384,ue=32768,pe=65536,ye=1<<17,Q=1<<18;function ge(O){return{enumerable:!1,get(){return(this.state&O)!==0},set(z){z?this.state|=O:this.state&=~O}}}l(ke.prototype,{objectMode:ge(J),ended:ge(me),endEmitted:ge(H),reading:ge(Ne),constructed:ge(Z),sync:ge(q),needReadable:ge(le),emittedReadable:ge(X),readableListening:ge(oe),resumeScheduled:ge(ie),errorEmitted:ge(ve),emitClose:ge(F),autoDestroy:ge(D),destroyed:ge(R),closed:ge(se),closeEmitted:ge(ue),multiAwaitDrain:ge(pe),readingMore:ge(ye),dataEmitted:ge(Q)});function ke(O,z,Se){typeof Se!="boolean"&&(Se=z instanceof Vt()),this.state=F|D|Z|q,O&&O.objectMode&&(this.state|=J),Se&&O&&O.readableObjectMode&&(this.state|=J),this.highWaterMark=O?A(this,O,"readableHighWaterMark",Se):T(!1),this.buffer=new C,this.length=0,this.pipes=[],this.flowing=null,this[re]=null,O&&O.emitClose===!1&&(this.state&=~F),O&&O.autoDestroy===!1&&(this.state&=~D),this.errored=null,this.defaultEncoding=O&&O.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,O&&O.encoding&&(this.decoder=new fe(O.encoding),this.encoding=O.encoding)}function ce(O){if(!(this instanceof ce))return new ce(O);let z=this instanceof Vt();this._readableState=new ke(O,this,z),O&&(typeof O.read=="function"&&(this._read=O.read),typeof O.destroy=="function"&&(this._destroy=O.destroy),typeof O.construct=="function"&&(this._construct=O.construct),O.signal&&!z&&v(O.signal,this)),N.call(this,O),$.construct(this,()=>{this._readableState.needReadable&&G(this,this._readableState)})}ce.prototype.destroy=$.destroy,ce.prototype._undestroy=$.undestroy,ce.prototype._destroy=function(O,z){z(O)},ce.prototype[w.captureRejectionSymbol]=function(O){this.destroy(O)},ce.prototype[m]=function(){let O;return this.destroyed||(O=this.readableEnded?null:new de,this.destroy(O)),new u((z,Se)=>_(this,Ce=>Ce&&Ce!==O?Se(Ce):z(null)))},ce.prototype.push=function(O,z){return xe(this,O,z,!1)},ce.prototype.unshift=function(O,z){return xe(this,O,z,!0)};function xe(O,z,Se,Ce){k("readableAddChunk",z);let $e=O._readableState,rt;if(!($e.state&J)&&(typeof z=="string"?(Se=Se||$e.defaultEncoding,$e.encoding!==Se&&(Ce&&$e.encoding?z=y.from(z,Se).toString($e.encoding):(z=y.from(z,Se),Se=""))):z instanceof y?Se="":N._isUint8Array(z)?(z=N._uint8ArrayToBuffer(z),Se=""):z!=null&&(rt=new B("chunk",["string","Buffer","Uint8Array"],z))),rt)M(O,rt);else if(z===null)$e.state&=~Ne,P(O,$e);else if($e.state&J||z&&z.length>0)if(Ce)if($e.state&H)M(O,new U);else{if($e.destroyed||$e.errored)return!1;g(O,$e,z,!0)}else if($e.ended)M(O,new K);else{if($e.destroyed||$e.errored)return!1;$e.state&=~Ne,$e.decoder&&!Se?(z=$e.decoder.write(z),$e.objectMode||z.length!==0?g(O,$e,z,!1):G(O,$e)):g(O,$e,z,!1)}else Ce||($e.state&=~Ne,G(O,$e));return!$e.ended&&($e.length<$e.highWaterMark||$e.length===0)}function g(O,z,Se,Ce){z.flowing&&z.length===0&&!z.sync&&O.listenerCount("data")>0?(z.state&pe?z.awaitDrainWriters.clear():z.awaitDrainWriters=null,z.dataEmitted=!0,O.emit("data",Se)):(z.length+=z.objectMode?1:Se.length,Ce?z.buffer.unshift(Se):z.buffer.push(Se),z.state&le&&j(O)),G(O,z)}ce.prototype.isPaused=function(){let O=this._readableState;return O[re]===!0||O.flowing===!1},ce.prototype.setEncoding=function(O){let z=new fe(O);this._readableState.decoder=z,this._readableState.encoding=this._readableState.decoder.encoding;let Se=this._readableState.buffer,Ce="";for(let $e of Se)Ce+=z.write($e);return Se.clear(),Ce!==""&&Se.push(Ce),this._readableState.length=Ce.length,this};var b=1073741824;function E(O){if(O>b)throw new L("size","<= 1GiB",O);return O--,O|=O>>>1,O|=O>>>2,O|=O>>>4,O|=O>>>8,O|=O>>>16,O++,O}function x(O,z){return O<=0||z.length===0&&z.ended?0:z.state&J?1:n(O)?z.flowing&&z.length?z.buffer.first().length:z.length:O<=z.length?O:z.ended?z.length:0}ce.prototype.read=function(O){k("read",O),O===void 0?O=NaN:o(O)||(O=i(O,10));let z=this._readableState,Se=O;if(O>z.highWaterMark&&(z.highWaterMark=E(O)),O!==0&&(z.state&=~X),O===0&&z.needReadable&&((z.highWaterMark!==0?z.length>=z.highWaterMark:z.length>0)||z.ended))return k("read: emitReadable",z.length,z.ended),z.length===0&&z.ended?Ue(this):j(this),null;if(O=x(O,z),O===0&&z.ended)return z.length===0&&Ue(this),null;let Ce=(z.state&le)!==0;if(k("need readable",Ce),(z.length===0||z.length-O<z.highWaterMark)&&(Ce=!0,k("length less than watermark",Ce)),z.ended||z.reading||z.destroyed||z.errored||!z.constructed)Ce=!1,k("reading, ended or constructing",Ce);else if(Ce){k("do read"),z.state|=Ne|q,z.length===0&&(z.state|=le);try{this._read(z.highWaterMark)}catch(rt){M(this,rt)}z.state&=~q,z.reading||(O=x(Se,z))}let $e;return O>0?$e=De(O,z):$e=null,$e===null?(z.needReadable=z.length<=z.highWaterMark,O=0):(z.length-=O,z.multiAwaitDrain?z.awaitDrainWriters.clear():z.awaitDrainWriters=null),z.length===0&&(z.ended||(z.needReadable=!0),Se!==O&&z.ended&&Ue(this)),$e!==null&&!z.errorEmitted&&!z.closeEmitted&&(z.dataEmitted=!0,this.emit("data",$e)),$e};function P(O,z){if(k("onEofChunk"),!z.ended){if(z.decoder){let Se=z.decoder.end();Se&&Se.length&&(z.buffer.push(Se),z.length+=z.objectMode?1:Se.length)}z.ended=!0,z.sync?j(O):(z.needReadable=!1,z.emittedReadable=!0,te(O))}}function j(O){let z=O._readableState;k("emitReadable",z.needReadable,z.emittedReadable),z.needReadable=!1,z.emittedReadable||(k("emitReadable",z.flowing),z.emittedReadable=!0,r.nextTick(te,O))}function te(O){let z=O._readableState;k("emitReadable_",z.destroyed,z.length,z.ended),!z.destroyed&&!z.errored&&(z.length||z.ended)&&(O.emit("readable"),z.emittedReadable=!1),z.needReadable=!z.flowing&&!z.ended&&z.length<=z.highWaterMark,tt(O)}function G(O,z){!z.readingMore&&z.constructed&&(z.readingMore=!0,r.nextTick(ee,O,z))}function ee(O,z){for(;!z.reading&&!z.ended&&(z.length<z.highWaterMark||z.flowing&&z.length===0);){let Se=z.length;if(k("maybeReadMore read 0"),O.read(0),Se===z.length)break}z.readingMore=!1}ce.prototype._read=function(O){throw new V("_read()")},ce.prototype.pipe=function(O,z){let Se=this,Ce=this._readableState;Ce.pipes.length===1&&(Ce.multiAwaitDrain||(Ce.multiAwaitDrain=!0,Ce.awaitDrainWriters=new h(Ce.awaitDrainWriters?[Ce.awaitDrainWriters]:[]))),Ce.pipes.push(O),k("pipe count=%d opts=%j",Ce.pipes.length,z);let $e=(!z||z.end!==!1)&&O!==r.stdout&&O!==r.stderr?dt:or;Ce.endEmitted?r.nextTick($e):Se.once("end",$e),O.on("unpipe",rt);function rt(kt,Bt){k("onunpipe"),kt===Se&&Bt&&Bt.hasUnpiped===!1&&(Bt.hasUnpiped=!0,Sr())}function dt(){k("onend"),O.end()}let yt,Nr=!1;function Sr(){k("cleanup"),O.removeListener("close",vt),O.removeListener("finish",Wt),yt&&O.removeListener("drain",yt),O.removeListener("error",rr),O.removeListener("unpipe",rt),Se.removeListener("end",dt),Se.removeListener("end",or),Se.removeListener("data",ho),Nr=!0,yt&&Ce.awaitDrainWriters&&(!O._writableState||O._writableState.needDrain)&&yt()}function xr(){Nr||(Ce.pipes.length===1&&Ce.pipes[0]===O?(k("false write response, pause",0),Ce.awaitDrainWriters=O,Ce.multiAwaitDrain=!1):Ce.pipes.length>1&&Ce.pipes.includes(O)&&(k("false write response, pause",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.add(O)),Se.pause()),yt||(yt=Ve(Se,O),O.on("drain",yt))}Se.on("data",ho);function ho(kt){k("ondata");let Bt=O.write(kt);k("dest.write",Bt),Bt===!1&&xr()}function rr(kt){if(k("onerror",kt),or(),O.removeListener("error",rr),O.listenerCount("error")===0){let Bt=O._writableState||O._readableState;Bt&&!Bt.errorEmitted?M(O,kt):O.emit("error",kt)}}S(O,"error",rr);function vt(){O.removeListener("finish",Wt),or()}O.once("close",vt);function Wt(){k("onfinish"),O.removeListener("close",vt),or()}O.once("finish",Wt);function or(){k("unpipe"),Se.unpipe(O)}return O.emit("pipe",Se),O.writableNeedDrain===!0?xr():Ce.flowing||(k("pipe resume"),Se.resume()),O};function Ve(O,z){return function(){let Se=O._readableState;Se.awaitDrainWriters===z?(k("pipeOnDrain",1),Se.awaitDrainWriters=null):Se.multiAwaitDrain&&(k("pipeOnDrain",Se.awaitDrainWriters.size),Se.awaitDrainWriters.delete(z)),(!Se.awaitDrainWriters||Se.awaitDrainWriters.size===0)&&O.listenerCount("data")&&O.resume()}}ce.prototype.unpipe=function(O){let z=this._readableState,Se={hasUnpiped:!1};if(z.pipes.length===0)return this;if(!O){let $e=z.pipes;z.pipes=[],this.pause();for(let rt=0;rt<$e.length;rt++)$e[rt].emit("unpipe",this,{hasUnpiped:!1});return this}let Ce=s(z.pipes,O);return Ce===-1?this:(z.pipes.splice(Ce,1),z.pipes.length===0&&this.pause(),O.emit("unpipe",this,Se),this)},ce.prototype.on=function(O,z){let Se=N.prototype.on.call(this,O,z),Ce=this._readableState;return O==="data"?(Ce.readableListening=this.listenerCount("readable")>0,Ce.flowing!==!1&&this.resume()):O==="readable"&&!Ce.endEmitted&&!Ce.readableListening&&(Ce.readableListening=Ce.needReadable=!0,Ce.flowing=!1,Ce.emittedReadable=!1,k("on readable",Ce.length,Ce.reading),Ce.length?j(this):Ce.reading||r.nextTick(Te,this)),Se},ce.prototype.addListener=ce.prototype.on,ce.prototype.removeListener=function(O,z){let Se=N.prototype.removeListener.call(this,O,z);return O==="readable"&&r.nextTick(Ie,this),Se},ce.prototype.off=ce.prototype.removeListener,ce.prototype.removeAllListeners=function(O){let z=N.prototype.removeAllListeners.apply(this,arguments);return(O==="readable"||O===void 0)&&r.nextTick(Ie,this),z};function Ie(O){let z=O._readableState;z.readableListening=O.listenerCount("readable")>0,z.resumeScheduled&&z[re]===!1?z.flowing=!0:O.listenerCount("data")>0?O.resume():z.readableListening||(z.flowing=null)}function Te(O){k("readable nexttick read 0"),O.read(0)}ce.prototype.resume=function(){let O=this._readableState;return O.flowing||(k("resume"),O.flowing=!O.readableListening,Oe(this,O)),O[re]=!1,this};function Oe(O,z){z.resumeScheduled||(z.resumeScheduled=!0,r.nextTick(Ze,O,z))}function Ze(O,z){k("resume",z.reading),z.reading||O.read(0),z.resumeScheduled=!1,O.emit("resume"),tt(O),z.flowing&&!z.reading&&O.read(0)}ce.prototype.pause=function(){return k("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(k("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[re]=!0,this};function tt(O){let z=O._readableState;for(k("flow",z.flowing);z.flowing&&O.read()!==null;);}ce.prototype.wrap=function(O){let z=!1;O.on("data",Ce=>{!this.push(Ce)&&O.pause&&(z=!0,O.pause())}),O.on("end",()=>{this.push(null)}),O.on("error",Ce=>{M(this,Ce)}),O.on("close",()=>{this.destroy()}),O.on("destroy",()=>{this.destroy()}),this._read=()=>{z&&O.resume&&(z=!1,O.resume())};let Se=a(O);for(let Ce=1;Ce<Se.length;Ce++){let $e=Se[Ce];this[$e]===void 0&&typeof O[$e]=="function"&&(this[$e]=O[$e].bind(O))}return this},ce.prototype[f]=function(){return Re(this)},ce.prototype.iterator=function(O){return O!==void 0&&ne(O,"options"),Re(this,O)};function Re(O,z){typeof O.read!="function"&&(O=ce.wrap(O,{objectMode:!0}));let Se=He(O,z);return Se.stream=O,Se}async function*He(O,z){let Se=ae;function Ce(dt){this===O?(Se(),Se=ae):Se=dt}O.on("readable",Ce);let $e,rt=_(O,{writable:!1},dt=>{$e=dt?I($e,dt):null,Se(),Se=ae});try{for(;;){let dt=O.destroyed?null:O.read();if(dt!==null)yield dt;else{if($e)throw $e;if($e===null)return;await new u(Ce)}}}catch(dt){throw $e=I($e,dt),$e}finally{($e||(z==null?void 0:z.destroyOnReturn)!==!1)&&($e===void 0||O._readableState.autoDestroy)?$.destroyer(O,null):(O.off("readable",Ce),rt())}}l(ce.prototype,{readable:{__proto__:null,get(){let O=this._readableState;return!!O&&O.readable!==!1&&!O.destroyed&&!O.errorEmitted&&!O.endEmitted},set(O){this._readableState&&(this._readableState.readable=!!O)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(O){this._readableState&&(this._readableState.flowing=O)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(O){this._readableState&&(this._readableState.destroyed=O)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),l(ke.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[re]!==!1},set(O){this[re]=!!O}}}),ce._fromList=De;function De(O,z){if(z.length===0)return null;let Se;return z.objectMode?Se=z.buffer.shift():!O||O>=z.length?(z.decoder?Se=z.buffer.join(""):z.buffer.length===1?Se=z.buffer.first():Se=z.buffer.concat(z.length),z.buffer.clear()):Se=z.buffer.consume(O,z.decoder),Se}function Ue(O){let z=O._readableState;k("endReadable",z.endEmitted),z.endEmitted||(z.ended=!0,r.nextTick(Ge,z,O))}function Ge(O,z){if(k("endReadableNT",O.endEmitted,O.length),!O.errored&&!O.closeEmitted&&!O.endEmitted&&O.length===0){if(O.endEmitted=!0,z.emit("end"),z.writable&&z.allowHalfOpen===!1)r.nextTick(et,z);else if(O.autoDestroy){let Se=z._writableState;(!Se||Se.autoDestroy&&(Se.finished||Se.writable===!1))&&z.destroy()}}}function et(O){O.writable&&!O.writableEnded&&!O.destroyed&&O.end()}ce.from=function(O,z){return Y(ce,O,z)};var it;function gt(){return it===void 0&&(it={}),it}ce.fromWeb=function(O,z){return gt().newStreamReadableFromReadableStream(O,z)},ce.toWeb=function(O,z){return gt().newReadableStreamFromStreamReadable(O,z)},ce.wrap=function(O,z){var Se,Ce;return new ce({objectMode:(Se=(Ce=O.readableObjectMode)!==null&&Ce!==void 0?Ce:O.objectMode)!==null&&Se!==void 0?Se:!0,...z,destroy($e,rt){$.destroyer(O,$e),rt($e)}}).wrap(O)}}),Ln=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{ArrayPrototypeSlice:s,Error:o,FunctionPrototypeSymbolHasInstance:n,ObjectDefineProperty:i,ObjectDefineProperties:l,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:c,Symbol:u,SymbolHasInstance:h}=Je();t.exports=ne,ne.WritableState=U;var{EventEmitter:m}=(Jt(),qe(Pt)),f=jn().Stream,{Buffer:p}=(nt(),qe(ot)),w=ar(),{addAbortSignal:N}=$r(),{getHighWaterMark:S,getDefaultHighWaterMark:y}=Br(),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:_,ERR_MULTIPLE_CALLBACK:k,ERR_STREAM_CANNOT_PIPE:C,ERR_STREAM_DESTROYED:$,ERR_STREAM_ALREADY_FINISHED:A,ERR_STREAM_NULL_VALUES:T,ERR_STREAM_WRITE_AFTER_END:I,ERR_UNKNOWN_ENCODING:B}=ct().codes,{errorOrDestroy:V}=w;a(ne.prototype,f.prototype),a(ne,f);function L(){}var K=u("kOnFinished");function U(D,R,se){typeof se!="boolean"&&(se=R instanceof Vt()),this.objectMode=!!(D&&D.objectMode),se&&(this.objectMode=this.objectMode||!!(D&&D.writableObjectMode)),this.highWaterMark=D?S(this,D,"writableHighWaterMark",se):y(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let ue=!!(D&&D.decodeStrings===!1);this.decodeStrings=!ue,this.defaultEncoding=D&&D.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=M.bind(void 0,R),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,de(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!D||D.emitClose!==!1,this.autoDestroy=!D||D.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[K]=[]}function de(D){D.buffered=[],D.bufferedIndex=0,D.allBuffers=!0,D.allNoop=!0}U.prototype.getBuffer=function(){return s(this.buffered,this.bufferedIndex)},i(U.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ne(D){let R=this instanceof Vt();if(!R&&!n(ne,this))return new ne(D);this._writableState=new U(D,this,R),D&&(typeof D.write=="function"&&(this._write=D.write),typeof D.writev=="function"&&(this._writev=D.writev),typeof D.destroy=="function"&&(this._destroy=D.destroy),typeof D.final=="function"&&(this._final=D.final),typeof D.construct=="function"&&(this._construct=D.construct),D.signal&&N(D.signal,this)),f.call(this,D),w.construct(this,()=>{let se=this._writableState;se.writing||Ne(this,se),X(this,se)})}i(ne,h,{__proto__:null,value:function(D){return n(this,D)?!0:this!==ne?!1:D&&D._writableState instanceof U}}),ne.prototype.pipe=function(){V(this,new C)};function re(D,R,se,ue){let pe=D._writableState;if(typeof se=="function")ue=se,se=pe.defaultEncoding;else{if(!se)se=pe.defaultEncoding;else if(se!=="buffer"&&!p.isEncoding(se))throw new B(se);typeof ue!="function"&&(ue=L)}if(R===null)throw new T;if(!pe.objectMode)if(typeof R=="string")pe.decodeStrings!==!1&&(R=p.from(R,se),se="buffer");else if(R instanceof p)se="buffer";else if(f._isUint8Array(R))R=f._uint8ArrayToBuffer(R),se="buffer";else throw new v("chunk",["string","Buffer","Uint8Array"],R);let ye;return pe.ending?ye=new I:pe.destroyed&&(ye=new $("write")),ye?(r.nextTick(ue,ye),V(D,ye,!0),ye):(pe.pendingcb++,fe(D,pe,R,se,ue))}ne.prototype.write=function(D,R,se){return re(this,D,R,se)===!0},ne.prototype.cork=function(){this._writableState.corked++},ne.prototype.uncork=function(){let D=this._writableState;D.corked&&(D.corked--,D.writing||Ne(this,D))},ne.prototype.setDefaultEncoding=function(D){if(typeof D=="string"&&(D=c(D)),!p.isEncoding(D))throw new B(D);return this._writableState.defaultEncoding=D,this};function fe(D,R,se,ue,pe){let ye=R.objectMode?1:se.length;R.length+=ye;let Q=R.length<R.highWaterMark;return Q||(R.needDrain=!0),R.writing||R.corked||R.errored||!R.constructed?(R.buffered.push({chunk:se,encoding:ue,callback:pe}),R.allBuffers&&ue!=="buffer"&&(R.allBuffers=!1),R.allNoop&&pe!==L&&(R.allNoop=!1)):(R.writelen=ye,R.writecb=pe,R.writing=!0,R.sync=!0,D._write(se,ue,R.onwrite),R.sync=!1),Q&&!R.errored&&!R.destroyed}function Y(D,R,se,ue,pe,ye,Q){R.writelen=ue,R.writecb=Q,R.writing=!0,R.sync=!0,R.destroyed?R.onwrite(new $("write")):se?D._writev(pe,R.onwrite):D._write(pe,ye,R.onwrite),R.sync=!1}function ae(D,R,se,ue){--R.pendingcb,ue(se),H(R),V(D,se)}function M(D,R){let se=D._writableState,ue=se.sync,pe=se.writecb;if(typeof pe!="function"){V(D,new k);return}se.writing=!1,se.writecb=null,se.length-=se.writelen,se.writelen=0,R?(R.stack,se.errored||(se.errored=R),D._readableState&&!D._readableState.errored&&(D._readableState.errored=R),ue?r.nextTick(ae,D,se,R,pe):ae(D,se,R,pe)):(se.buffered.length>se.bufferedIndex&&Ne(D,se),ue?se.afterWriteTickInfo!==null&&se.afterWriteTickInfo.cb===pe?se.afterWriteTickInfo.count++:(se.afterWriteTickInfo={count:1,cb:pe,stream:D,state:se},r.nextTick(J,se.afterWriteTickInfo)):me(D,se,1,pe))}function J({stream:D,state:R,count:se,cb:ue}){return R.afterWriteTickInfo=null,me(D,R,se,ue)}function me(D,R,se,ue){for(!R.ending&&!D.destroyed&&R.length===0&&R.needDrain&&(R.needDrain=!1,D.emit("drain"));se-- >0;)R.pendingcb--,ue();R.destroyed&&H(R),X(D,R)}function H(D){if(D.writing)return;for(let pe=D.bufferedIndex;pe<D.buffered.length;++pe){var R;let{chunk:ye,callback:Q}=D.buffered[pe],ge=D.objectMode?1:ye.length;D.length-=ge,Q((R=D.errored)!==null&&R!==void 0?R:new $("write"))}let se=D[K].splice(0);for(let pe=0;pe<se.length;pe++){var ue;se[pe]((ue=D.errored)!==null&&ue!==void 0?ue:new $("end"))}de(D)}function Ne(D,R){if(R.corked||R.bufferProcessing||R.destroyed||!R.constructed)return;let{buffered:se,bufferedIndex:ue,objectMode:pe}=R,ye=se.length-ue;if(!ye)return;let Q=ue;if(R.bufferProcessing=!0,ye>1&&D._writev){R.pendingcb-=ye-1;let ge=R.allNoop?L:ce=>{for(let xe=Q;xe<se.length;++xe)se[xe].callback(ce)},ke=R.allNoop&&Q===0?se:s(se,Q);ke.allBuffers=R.allBuffers,Y(D,R,!0,R.length,ke,"",ge),de(R)}else{do{let{chunk:ge,encoding:ke,callback:ce}=se[Q];se[Q++]=null;let xe=pe?1:ge.length;Y(D,R,!1,xe,ge,ke,ce)}while(Q<se.length&&!R.writing);Q===se.length?de(R):Q>256?(se.splice(0,Q),R.bufferedIndex=0):R.bufferedIndex=Q}R.bufferProcessing=!1}ne.prototype._write=function(D,R,se){if(this._writev)this._writev([{chunk:D,encoding:R}],se);else throw new _("_write()")},ne.prototype._writev=null,ne.prototype.end=function(D,R,se){let ue=this._writableState;typeof D=="function"?(se=D,D=null,R=null):typeof R=="function"&&(se=R,R=null);let pe;if(D!=null){let ye=re(this,D,R);ye instanceof o&&(pe=ye)}return ue.corked&&(ue.corked=1,this.uncork()),pe||(!ue.errored&&!ue.ending?(ue.ending=!0,X(this,ue,!0),ue.ended=!0):ue.finished?pe=new A("end"):ue.destroyed&&(pe=new $("end"))),typeof se=="function"&&(pe||ue.finished?r.nextTick(se,pe):ue[K].push(se)),this};function Z(D){return D.ending&&!D.destroyed&&D.constructed&&D.length===0&&!D.errored&&D.buffered.length===0&&!D.finished&&!D.writing&&!D.errorEmitted&&!D.closeEmitted}function q(D,R){let se=!1;function ue(pe){if(se){V(D,pe??k());return}if(se=!0,R.pendingcb--,pe){let ye=R[K].splice(0);for(let Q=0;Q<ye.length;Q++)ye[Q](pe);V(D,pe,R.sync)}else Z(R)&&(R.prefinished=!0,D.emit("prefinish"),R.pendingcb++,r.nextTick(oe,D,R))}R.sync=!0,R.pendingcb++;try{D._final(ue)}catch(pe){ue(pe)}R.sync=!1}function le(D,R){!R.prefinished&&!R.finalCalled&&(typeof D._final=="function"&&!R.destroyed?(R.finalCalled=!0,q(D,R)):(R.prefinished=!0,D.emit("prefinish")))}function X(D,R,se){Z(R)&&(le(D,R),R.pendingcb===0&&(se?(R.pendingcb++,r.nextTick((ue,pe)=>{Z(pe)?oe(ue,pe):pe.pendingcb--},D,R)):Z(R)&&(R.pendingcb++,oe(D,R))))}function oe(D,R){R.pendingcb--,R.finished=!0;let se=R[K].splice(0);for(let ue=0;ue<se.length;ue++)se[ue]();if(D.emit("finish"),R.autoDestroy){let ue=D._readableState;(!ue||ue.autoDestroy&&(ue.endEmitted||ue.readable===!1))&&D.destroy()}}l(ne.prototype,{closed:{__proto__:null,get(){return this._writableState?this._writableState.closed:!1}},destroyed:{__proto__:null,get(){return this._writableState?this._writableState.destroyed:!1},set(D){this._writableState&&(this._writableState.destroyed=D)}},writable:{__proto__:null,get(){let D=this._writableState;return!!D&&D.writable!==!1&&!D.destroyed&&!D.errored&&!D.ending&&!D.ended},set(D){this._writableState&&(this._writableState.writable=!!D)}},writableFinished:{__proto__:null,get(){return this._writableState?this._writableState.finished:!1}},writableObjectMode:{__proto__:null,get(){return this._writableState?this._writableState.objectMode:!1}},writableBuffer:{__proto__:null,get(){return this._writableState&&this._writableState.getBuffer()}},writableEnded:{__proto__:null,get(){return this._writableState?this._writableState.ending:!1}},writableNeedDrain:{__proto__:null,get(){let D=this._writableState;return D?!D.destroyed&&!D.ending&&D.needDrain:!1}},writableHighWaterMark:{__proto__:null,get(){return this._writableState&&this._writableState.highWaterMark}},writableCorked:{__proto__:null,get(){return this._writableState?this._writableState.corked:0}},writableLength:{__proto__:null,get(){return this._writableState&&this._writableState.length}},errored:{__proto__:null,enumerable:!1,get(){return this._writableState?this._writableState.errored:null}},writableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._writableState.writable!==!1&&(this._writableState.destroyed||this._writableState.errored)&&!this._writableState.finished)}}});var ie=w.destroy;ne.prototype.destroy=function(D,R){let se=this._writableState;return!se.destroyed&&(se.bufferedIndex<se.buffered.length||se[K].length)&&r.nextTick(H,se),ie.call(this,D,R),this},ne.prototype._undestroy=w.undestroy,ne.prototype._destroy=function(D,R){R(D)},ne.prototype[m.captureRejectionSymbol]=function(D){this.destroy(D)};var ve;function F(){return ve===void 0&&(ve={}),ve}ne.fromWeb=function(D,R){return F().newStreamWritableFromWritableStream(D,R)},ne.toWeb=function(D){return F().newWritableStreamFromStreamWritable(D)}}),uy=_e((d,t)=>{be(),Ee(),we();var r=Xt(),s=(nt(),qe(ot)),{isReadable:o,isWritable:n,isIterable:i,isNodeStream:l,isReadableNodeStream:a,isWritableNodeStream:c,isDuplexNodeStream:u,isReadableStream:h,isWritableStream:m}=xt(),f=Ot(),{AbortError:p,codes:{ERR_INVALID_ARG_TYPE:w,ERR_INVALID_RETURN_VALUE:N}}=ct(),{destroyer:S}=ar(),y=Vt(),v=Dr(),_=Ln(),{createDeferredPromise:k}=ft(),C=Hs(),$=globalThis.Blob||s.Blob,A=typeof $<"u"?function(K){return K instanceof $}:function(K){return!1},T=globalThis.AbortController||yr().AbortController,{FunctionPrototypeCall:I}=Je(),B=class extends y{constructor(K){super(K),(K==null?void 0:K.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(K==null?void 0:K.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};t.exports=function K(U,de){if(u(U))return U;if(a(U))return L({readable:U});if(c(U))return L({writable:U});if(l(U))return L({writable:!1,readable:!1});if(h(U))return L({readable:v.fromWeb(U)});if(m(U))return L({writable:_.fromWeb(U)});if(typeof U=="function"){let{value:re,write:fe,final:Y,destroy:ae}=V(U);if(i(re))return C(B,re,{objectMode:!0,write:fe,final:Y,destroy:ae});let M=re==null?void 0:re.then;if(typeof M=="function"){let J,me=I(M,re,H=>{if(H!=null)throw new N("nully","body",H)},H=>{S(J,H)});return J=new B({objectMode:!0,readable:!1,write:fe,final(H){Y(async()=>{try{await me,r.nextTick(H,null)}catch(Ne){r.nextTick(H,Ne)}})},destroy:ae})}throw new N("Iterable, AsyncIterable or AsyncFunction",de,re)}if(A(U))return K(U.arrayBuffer());if(i(U))return C(B,U,{objectMode:!0,writable:!1});if(h(U==null?void 0:U.readable)&&m(U==null?void 0:U.writable))return B.fromWeb(U);if(typeof(U==null?void 0:U.writable)=="object"||typeof(U==null?void 0:U.readable)=="object"){let re=U!=null&&U.readable?a(U==null?void 0:U.readable)?U==null?void 0:U.readable:K(U.readable):void 0,fe=U!=null&&U.writable?c(U==null?void 0:U.writable)?U==null?void 0:U.writable:K(U.writable):void 0;return L({readable:re,writable:fe})}let ne=U==null?void 0:U.then;if(typeof ne=="function"){let re;return I(ne,U,fe=>{fe!=null&&re.push(fe),re.push(null)},fe=>{S(re,fe)}),re=new B({objectMode:!0,writable:!1,read(){}})}throw new w(de,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],U)};function V(K){let{promise:U,resolve:de}=k(),ne=new T,re=ne.signal;return{value:K(async function*(){for(;;){let fe=U;U=null;let{chunk:Y,done:ae,cb:M}=await fe;if(r.nextTick(M),ae)return;if(re.aborted)throw new p(void 0,{cause:re.reason});({promise:U,resolve:de}=k()),yield Y}}(),{signal:re}),write(fe,Y,ae){let M=de;de=null,M({chunk:fe,done:!1,cb:ae})},final(fe){let Y=de;de=null,Y({done:!0,cb:fe})},destroy(fe,Y){ne.abort(),Y(fe)}}}function L(K){let U=K.readable&&typeof K.readable.read!="function"?v.wrap(K.readable):K.readable,de=K.writable,ne=!!o(U),re=!!n(de),fe,Y,ae,M,J;function me(H){let Ne=M;M=null,Ne?Ne(H):H&&J.destroy(H)}return J=new B({readableObjectMode:!!(U!=null&&U.readableObjectMode),writableObjectMode:!!(de!=null&&de.writableObjectMode),readable:ne,writable:re}),re&&(f(de,H=>{re=!1,H&&S(U,H),me(H)}),J._write=function(H,Ne,Z){de.write(H,Ne)?Z():fe=Z},J._final=function(H){de.end(),Y=H},de.on("drain",function(){if(fe){let H=fe;fe=null,H()}}),de.on("finish",function(){if(Y){let H=Y;Y=null,H()}})),ne&&(f(U,H=>{ne=!1,H&&S(U,H),me(H)}),U.on("readable",function(){if(ae){let H=ae;ae=null,H()}}),U.on("end",function(){J.push(null)}),J._read=function(){for(;;){let H=U.read();if(H===null){ae=J._read;return}if(!J.push(H))return}}),J._destroy=function(H,Ne){!H&&M!==null&&(H=new p),ae=null,fe=null,Y=null,M===null?Ne(H):(M=Ne,S(de,H),S(U,H))},J}}),Vt=_e((d,t)=>{be(),Ee(),we();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:s,ObjectKeys:o,ObjectSetPrototypeOf:n}=Je();t.exports=a;var i=Dr(),l=Ln();n(a.prototype,i.prototype),n(a,i);{let m=o(l.prototype);for(let f=0;f<m.length;f++){let p=m[f];a.prototype[p]||(a.prototype[p]=l.prototype[p])}}function a(m){if(!(this instanceof a))return new a(m);i.call(this,m),l.call(this,m),m?(this.allowHalfOpen=m.allowHalfOpen!==!1,m.readable===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),m.writable===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)):this.allowHalfOpen=!0}r(a.prototype,{writable:{__proto__:null,...s(l.prototype,"writable")},writableHighWaterMark:{__proto__:null,...s(l.prototype,"writableHighWaterMark")},writableObjectMode:{__proto__:null,...s(l.prototype,"writableObjectMode")},writableBuffer:{__proto__:null,...s(l.prototype,"writableBuffer")},writableLength:{__proto__:null,...s(l.prototype,"writableLength")},writableFinished:{__proto__:null,...s(l.prototype,"writableFinished")},writableCorked:{__proto__:null,...s(l.prototype,"writableCorked")},writableEnded:{__proto__:null,...s(l.prototype,"writableEnded")},writableNeedDrain:{__proto__:null,...s(l.prototype,"writableNeedDrain")},destroyed:{__proto__:null,get(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed},set(m){this._readableState&&this._writableState&&(this._readableState.destroyed=m,this._writableState.destroyed=m)}}});var c;function u(){return c===void 0&&(c={}),c}a.fromWeb=function(m,f){return u().newStreamDuplexFromReadableWritablePair(m,f)},a.toWeb=function(m){return u().newReadableWritablePairFromDuplex(m)};var h;a.from=function(m){return h||(h=uy()),h(m,"body")}}),Ks=_e((d,t)=>{be(),Ee(),we();var{ObjectSetPrototypeOf:r,Symbol:s}=Je();t.exports=a;var{ERR_METHOD_NOT_IMPLEMENTED:o}=ct().codes,n=Vt(),{getHighWaterMark:i}=Br();r(a.prototype,n.prototype),r(a,n);var l=s("kCallback");function a(h){if(!(this instanceof a))return new a(h);let m=h?i(this,h,"readableHighWaterMark",!0):null;m===0&&(h={...h,highWaterMark:null,readableHighWaterMark:m,writableHighWaterMark:h.writableHighWaterMark||0}),n.call(this,h),this._readableState.sync=!1,this[l]=null,h&&(typeof h.transform=="function"&&(this._transform=h.transform),typeof h.flush=="function"&&(this._flush=h.flush)),this.on("prefinish",u)}function c(h){typeof this._flush=="function"&&!this.destroyed?this._flush((m,f)=>{if(m){h?h(m):this.destroy(m);return}f!=null&&this.push(f),this.push(null),h&&h()}):(this.push(null),h&&h())}function u(){this._final!==c&&c.call(this)}a.prototype._final=c,a.prototype._transform=function(h,m,f){throw new o("_transform()")},a.prototype._write=function(h,m,f){let p=this._readableState,w=this._writableState,N=p.length;this._transform(h,m,(S,y)=>{if(S){f(S);return}y!=null&&this.push(y),w.ended||N===p.length||p.length<p.highWaterMark?f():this[l]=f})},a.prototype._read=function(){if(this[l]){let h=this[l];this[l]=null,h()}}}),Qs=_e((d,t)=>{be(),Ee(),we();var{ObjectSetPrototypeOf:r}=Je();t.exports=o;var s=Ks();r(o.prototype,s.prototype),r(o,s);function o(n){if(!(this instanceof o))return new o(n);s.call(this,n)}o.prototype._transform=function(n,i,l){l(null,n)}}),Un=_e((d,t)=>{be(),Ee(),we();var r=Xt(),{ArrayIsArray:s,Promise:o,SymbolAsyncIterator:n,SymbolDispose:i}=Je(),l=Ot(),{once:a}=ft(),c=ar(),u=Vt(),{aggregateTwoErrors:h,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:f,ERR_MISSING_ARGS:p,ERR_STREAM_DESTROYED:w,ERR_STREAM_PREMATURE_CLOSE:N},AbortError:S}=ct(),{validateFunction:y,validateAbortSignal:v}=wr(),{isIterable:_,isReadable:k,isReadableNodeStream:C,isNodeStream:$,isTransformStream:A,isWebStream:T,isReadableStream:I,isReadableFinished:B}=xt(),V=globalThis.AbortController||yr().AbortController,L,K,U;function de(H,Ne,Z){let q=!1;H.on("close",()=>{q=!0});let le=l(H,{readable:Ne,writable:Z},X=>{q=!X});return{destroy:X=>{q||(q=!0,c.destroyer(H,X||new w("pipe")))},cleanup:le}}function ne(H){return y(H[H.length-1],"streams[stream.length - 1]"),H.pop()}function re(H){if(_(H))return H;if(C(H))return fe(H);throw new m("val",["Readable","Iterable","AsyncIterable"],H)}async function*fe(H){K||(K=Dr()),yield*K.prototype[n].call(H)}async function Y(H,Ne,Z,{end:q}){let le,X=null,oe=F=>{if(F&&(le=F),X){let D=X;X=null,D()}},ie=()=>new o((F,D)=>{le?D(le):X=()=>{le?D(le):F()}});Ne.on("drain",oe);let ve=l(Ne,{readable:!1},oe);try{Ne.writableNeedDrain&&await ie();for await(let F of H)Ne.write(F)||await ie();q&&(Ne.end(),await ie()),Z()}catch(F){Z(le!==F?h(le,F):F)}finally{ve(),Ne.off("drain",oe)}}async function ae(H,Ne,Z,{end:q}){A(Ne)&&(Ne=Ne.writable);let le=Ne.getWriter();try{for await(let X of H)await le.ready,le.write(X).catch(()=>{});await le.ready,q&&await le.close(),Z()}catch(X){try{await le.abort(X),Z(X)}catch(oe){Z(oe)}}}function M(...H){return J(H,a(ne(H)))}function J(H,Ne,Z){if(H.length===1&&s(H[0])&&(H=H[0]),H.length<2)throw new p("streams");let q=new V,le=q.signal,X=Z==null?void 0:Z.signal,oe=[];v(X,"options.signal");function ie(){pe(new S)}U=U||ft().addAbortListener;let ve;X&&(ve=U(X,ie));let F,D,R=[],se=0;function ue(ke){pe(ke,--se===0)}function pe(ke,ce){var xe;if(ke&&(!F||F.code==="ERR_STREAM_PREMATURE_CLOSE")&&(F=ke),!(!F&&!ce)){for(;R.length;)R.shift()(F);(xe=ve)===null||xe===void 0||xe[i](),q.abort(),ce&&(F||oe.forEach(g=>g()),r.nextTick(Ne,F,D))}}let ye;for(let ke=0;ke<H.length;ke++){let ce=H[ke],xe=ke<H.length-1,g=ke>0,b=xe||(Z==null?void 0:Z.end)!==!1,E=ke===H.length-1;if($(ce)){let x=function(P){P&&P.name!=="AbortError"&&P.code!=="ERR_STREAM_PREMATURE_CLOSE"&&ue(P)};if(b){let{destroy:P,cleanup:j}=de(ce,xe,g);R.push(P),k(ce)&&E&&oe.push(j)}ce.on("error",x),k(ce)&&E&&oe.push(()=>{ce.removeListener("error",x)})}if(ke===0)if(typeof ce=="function"){if(ye=ce({signal:le}),!_(ye))throw new f("Iterable, AsyncIterable or Stream","source",ye)}else _(ce)||C(ce)||A(ce)?ye=ce:ye=u.from(ce);else if(typeof ce=="function"){if(A(ye)){var Q;ye=re((Q=ye)===null||Q===void 0?void 0:Q.readable)}else ye=re(ye);if(ye=ce(ye,{signal:le}),xe){if(!_(ye,!0))throw new f("AsyncIterable",`transform[${ke-1}]`,ye)}else{var ge;L||(L=Qs());let x=new L({objectMode:!0}),P=(ge=ye)===null||ge===void 0?void 0:ge.then;if(typeof P=="function")se++,P.call(ye,G=>{D=G,G!=null&&x.write(G),b&&x.end(),r.nextTick(ue)},G=>{x.destroy(G),r.nextTick(ue,G)});else if(_(ye,!0))se++,Y(ye,x,ue,{end:b});else if(I(ye)||A(ye)){let G=ye.readable||ye;se++,Y(G,x,ue,{end:b})}else throw new f("AsyncIterable or Promise","destination",ye);ye=x;let{destroy:j,cleanup:te}=de(ye,!1,!0);R.push(j),E&&oe.push(te)}}else if($(ce)){if(C(ye)){se+=2;let x=me(ye,ce,ue,{end:b});k(ce)&&E&&oe.push(x)}else if(A(ye)||I(ye)){let x=ye.readable||ye;se++,Y(x,ce,ue,{end:b})}else if(_(ye))se++,Y(ye,ce,ue,{end:b});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ye);ye=ce}else if(T(ce)){if(C(ye))se++,ae(re(ye),ce,ue,{end:b});else if(I(ye)||_(ye))se++,ae(ye,ce,ue,{end:b});else if(A(ye))se++,ae(ye.readable,ce,ue,{end:b});else throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],ye);ye=ce}else ye=u.from(ce)}return(le!=null&&le.aborted||X!=null&&X.aborted)&&r.nextTick(ie),ye}function me(H,Ne,Z,{end:q}){let le=!1;if(Ne.on("close",()=>{le||Z(new N)}),H.pipe(Ne,{end:!1}),q){let X=function(){le=!0,Ne.end()};B(H)?r.nextTick(X):H.once("end",X)}else Z();return l(H,{readable:!0,writable:!1},X=>{let oe=H._readableState;X&&X.code==="ERR_STREAM_PREMATURE_CLOSE"&&oe&&oe.ended&&!oe.errored&&!oe.errorEmitted?H.once("end",Z).once("error",Z):Z(X)}),l(Ne,{readable:!1,writable:!0},Z)}t.exports={pipelineImpl:J,pipeline:M}}),Ys=_e((d,t)=>{be(),Ee(),we();var{pipeline:r}=Un(),s=Vt(),{destroyer:o}=ar(),{isNodeStream:n,isReadable:i,isWritable:l,isWebStream:a,isTransformStream:c,isWritableStream:u,isReadableStream:h}=xt(),{AbortError:m,codes:{ERR_INVALID_ARG_VALUE:f,ERR_MISSING_ARGS:p}}=ct(),w=Ot();t.exports=function(...N){if(N.length===0)throw new p("streams");if(N.length===1)return s.from(N[0]);let S=[...N];if(typeof N[0]=="function"&&(N[0]=s.from(N[0])),typeof N[N.length-1]=="function"){let V=N.length-1;N[V]=s.from(N[V])}for(let V=0;V<N.length;++V)if(!(!n(N[V])&&!a(N[V]))){if(V<N.length-1&&!(i(N[V])||h(N[V])||c(N[V])))throw new f(`streams[${V}]`,S[V],"must be readable");if(V>0&&!(l(N[V])||u(N[V])||c(N[V])))throw new f(`streams[${V}]`,S[V],"must be writable")}let y,v,_,k,C;function $(V){let L=k;k=null,L?L(V):V?C.destroy(V):!B&&!I&&C.destroy()}let A=N[0],T=r(N,$),I=!!(l(A)||u(A)||c(A)),B=!!(i(T)||h(T)||c(T));if(C=new s({writableObjectMode:!!(A!=null&&A.writableObjectMode),readableObjectMode:!!(T!=null&&T.readableObjectMode),writable:I,readable:B}),I){if(n(A))C._write=function(L,K,U){A.write(L,K)?U():y=U},C._final=function(L){A.end(),v=L},A.on("drain",function(){if(y){let L=y;y=null,L()}});else if(a(A)){let L=(c(A)?A.writable:A).getWriter();C._write=async function(K,U,de){try{await L.ready,L.write(K).catch(()=>{}),de()}catch(ne){de(ne)}},C._final=async function(K){try{await L.ready,L.close().catch(()=>{}),v=K}catch(U){K(U)}}}let V=c(T)?T.readable:T;w(V,()=>{if(v){let L=v;v=null,L()}})}if(B){if(n(T))T.on("readable",function(){if(_){let V=_;_=null,V()}}),T.on("end",function(){C.push(null)}),C._read=function(){for(;;){let V=T.read();if(V===null){_=C._read;return}if(!C.push(V))return}};else if(a(T)){let V=(c(T)?T.readable:T).getReader();C._read=async function(){for(;;)try{let{value:L,done:K}=await V.read();if(!C.push(L))return;if(K){C.push(null);return}}catch{return}}}}return C._destroy=function(V,L){!V&&k!==null&&(V=new m),_=null,y=null,v=null,k===null?L(V):(k=L,n(T)&&o(T,V))},C}}),fy=_e((d,t)=>{be(),Ee(),we();var r=globalThis.AbortController||yr().AbortController,{codes:{ERR_INVALID_ARG_VALUE:s,ERR_INVALID_ARG_TYPE:o,ERR_MISSING_ARGS:n,ERR_OUT_OF_RANGE:i},AbortError:l}=ct(),{validateAbortSignal:a,validateInteger:c,validateObject:u}=wr(),h=Je().Symbol("kWeak"),m=Je().Symbol("kResistStopPropagation"),{finished:f}=Ot(),p=Ys(),{addAbortSignalNoValidate:w}=$r(),{isWritable:N,isNodeStream:S}=xt(),{deprecate:y}=ft(),{ArrayPrototypePush:v,Boolean:_,MathFloor:k,Number:C,NumberIsNaN:$,Promise:A,PromiseReject:T,PromiseResolve:I,PromisePrototypeThen:B,Symbol:V}=Je(),L=V("kEmpty"),K=V("kEof");function U(X,oe){if(oe!=null&&u(oe,"options"),(oe==null?void 0:oe.signal)!=null&&a(oe.signal,"options.signal"),S(X)&&!N(X))throw new s("stream",X,"must be writable");let ie=p(this,X);return oe!=null&&oe.signal&&w(oe.signal,ie),ie}function de(X,oe){if(typeof X!="function")throw new o("fn",["Function","AsyncFunction"],X);oe!=null&&u(oe,"options"),(oe==null?void 0:oe.signal)!=null&&a(oe.signal,"options.signal");let ie=1;(oe==null?void 0:oe.concurrency)!=null&&(ie=k(oe.concurrency));let ve=ie-1;return(oe==null?void 0:oe.highWaterMark)!=null&&(ve=k(oe.highWaterMark)),c(ie,"options.concurrency",1),c(ve,"options.highWaterMark",0),ve+=ie,(async function*(){let F=ft().AbortSignalAny([oe==null?void 0:oe.signal].filter(_)),D=this,R=[],se={signal:F},ue,pe,ye=!1,Q=0;function ge(){ye=!0,ke()}function ke(){Q-=1,ce()}function ce(){pe&&!ye&&Q<ie&&R.length<ve&&(pe(),pe=null)}async function xe(){try{for await(let g of D){if(ye)return;if(F.aborted)throw new l;try{if(g=X(g,se),g===L)continue;g=I(g)}catch(b){g=T(b)}Q+=1,B(g,ke,ge),R.push(g),ue&&(ue(),ue=null),!ye&&(R.length>=ve||Q>=ie)&&await new A(b=>{pe=b})}R.push(K)}catch(g){let b=T(g);B(b,ke,ge),R.push(b)}finally{ye=!0,ue&&(ue(),ue=null)}}xe();try{for(;;){for(;R.length>0;){let g=await R[0];if(g===K)return;if(F.aborted)throw new l;g!==L&&(yield g),R.shift(),ce()}await new A(g=>{ue=g})}}finally{ye=!0,pe&&(pe(),pe=null)}}).call(this)}function ne(X=void 0){return X!=null&&u(X,"options"),(X==null?void 0:X.signal)!=null&&a(X.signal,"options.signal"),(async function*(){let oe=0;for await(let ve of this){var ie;if(X!=null&&(ie=X.signal)!==null&&ie!==void 0&&ie.aborted)throw new l({cause:X.signal.reason});yield[oe++,ve]}}).call(this)}async function re(X,oe=void 0){for await(let ie of M.call(this,X,oe))return!0;return!1}async function fe(X,oe=void 0){if(typeof X!="function")throw new o("fn",["Function","AsyncFunction"],X);return!await re.call(this,async(...ie)=>!await X(...ie),oe)}async function Y(X,oe){for await(let ie of M.call(this,X,oe))return ie}async function ae(X,oe){if(typeof X!="function")throw new o("fn",["Function","AsyncFunction"],X);async function ie(ve,F){return await X(ve,F),L}for await(let ve of de.call(this,ie,oe));}function M(X,oe){if(typeof X!="function")throw new o("fn",["Function","AsyncFunction"],X);async function ie(ve,F){return await X(ve,F)?ve:L}return de.call(this,ie,oe)}var J=class extends n{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};async function me(X,oe,ie){var ve;if(typeof X!="function")throw new o("reducer",["Function","AsyncFunction"],X);ie!=null&&u(ie,"options"),(ie==null?void 0:ie.signal)!=null&&a(ie.signal,"options.signal");let F=arguments.length>1;if(ie!=null&&(ve=ie.signal)!==null&&ve!==void 0&&ve.aborted){let pe=new l(void 0,{cause:ie.signal.reason});throw this.once("error",()=>{}),await f(this.destroy(pe)),pe}let D=new r,R=D.signal;if(ie!=null&&ie.signal){let pe={once:!0,[h]:this,[m]:!0};ie.signal.addEventListener("abort",()=>D.abort(),pe)}let se=!1;try{for await(let pe of this){var ue;if(se=!0,ie!=null&&(ue=ie.signal)!==null&&ue!==void 0&&ue.aborted)throw new l;F?oe=await X(oe,pe,{signal:R}):(oe=pe,F=!0)}if(!se&&!F)throw new J}finally{D.abort()}return oe}async function H(X){X!=null&&u(X,"options"),(X==null?void 0:X.signal)!=null&&a(X.signal,"options.signal");let oe=[];for await(let ve of this){var ie;if(X!=null&&(ie=X.signal)!==null&&ie!==void 0&&ie.aborted)throw new l(void 0,{cause:X.signal.reason});v(oe,ve)}return oe}function Ne(X,oe){let ie=de.call(this,X,oe);return(async function*(){for await(let ve of ie)yield*ve}).call(this)}function Z(X){if(X=C(X),$(X))return 0;if(X<0)throw new i("number",">= 0",X);return X}function q(X,oe=void 0){return oe!=null&&u(oe,"options"),(oe==null?void 0:oe.signal)!=null&&a(oe.signal,"options.signal"),X=Z(X),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let F of this){var ve;if(oe!=null&&(ve=oe.signal)!==null&&ve!==void 0&&ve.aborted)throw new l;X--<=0&&(yield F)}}).call(this)}function le(X,oe=void 0){return oe!=null&&u(oe,"options"),(oe==null?void 0:oe.signal)!=null&&a(oe.signal,"options.signal"),X=Z(X),(async function*(){var ie;if(oe!=null&&(ie=oe.signal)!==null&&ie!==void 0&&ie.aborted)throw new l;for await(let F of this){var ve;if(oe!=null&&(ve=oe.signal)!==null&&ve!==void 0&&ve.aborted)throw new l;if(X-- >0&&(yield F),X<=0)return}}).call(this)}t.exports.streamReturningOperators={asIndexedPairs:y(ne,"readable.asIndexedPairs will be removed in a future version."),drop:q,filter:M,flatMap:Ne,map:de,take:le,compose:U},t.exports.promiseReturningOperators={every:fe,forEach:ae,reduce:me,toArray:H,some:re,find:Y}}),Js=_e((d,t)=>{be(),Ee(),we();var{ArrayPrototypePop:r,Promise:s}=Je(),{isIterable:o,isNodeStream:n,isWebStream:i}=xt(),{pipelineImpl:l}=Un(),{finished:a}=Ot();Xs();function c(...u){return new s((h,m)=>{let f,p,w=u[u.length-1];if(w&&typeof w=="object"&&!n(w)&&!o(w)&&!i(w)){let N=r(u);f=N.signal,p=N.end}l(u,(N,S)=>{N?m(N):h(S)},{signal:f,end:p})})}t.exports={finished:a,pipeline:c}}),Xs=_e((d,t)=>{be(),Ee(),we();var{Buffer:r}=(nt(),qe(ot)),{ObjectDefineProperty:s,ObjectKeys:o,ReflectApply:n}=Je(),{promisify:{custom:i}}=ft(),{streamReturningOperators:l,promiseReturningOperators:a}=fy(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:c}}=ct(),u=Ys(),{setDefaultHighWaterMark:h,getDefaultHighWaterMark:m}=Br(),{pipeline:f}=Un(),{destroyer:p}=ar(),w=Ot(),N=Js(),S=xt(),y=t.exports=jn().Stream;y.isDestroyed=S.isDestroyed,y.isDisturbed=S.isDisturbed,y.isErrored=S.isErrored,y.isReadable=S.isReadable,y.isWritable=S.isWritable,y.Readable=Dr();for(let _ of o(l)){let k=function(...$){if(new.target)throw c();return y.Readable.from(n(C,this,$))},C=l[_];s(k,"name",{__proto__:null,value:C.name}),s(k,"length",{__proto__:null,value:C.length}),s(y.Readable.prototype,_,{__proto__:null,value:k,enumerable:!1,configurable:!0,writable:!0})}for(let _ of o(a)){let k=function(...$){if(new.target)throw c();return n(C,this,$)},C=a[_];s(k,"name",{__proto__:null,value:C.name}),s(k,"length",{__proto__:null,value:C.length}),s(y.Readable.prototype,_,{__proto__:null,value:k,enumerable:!1,configurable:!0,writable:!0})}y.Writable=Ln(),y.Duplex=Vt(),y.Transform=Ks(),y.PassThrough=Qs(),y.pipeline=f;var{addAbortSignal:v}=$r();y.addAbortSignal=v,y.finished=w,y.destroy=p,y.compose=u,y.setDefaultHighWaterMark=h,y.getDefaultHighWaterMark=m,s(y,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return N}}),s(f,i,{__proto__:null,enumerable:!0,get(){return N.pipeline}}),s(w,i,{__proto__:null,enumerable:!0,get(){return N.finished}}),y.Stream=y,y._isUint8Array=function(_){return _ instanceof Uint8Array},y._uint8ArrayToBuffer=function(_){return r.from(_.buffer,_.byteOffset,_.byteLength)}}),Zt=_e((d,t)=>{be(),Ee(),we();var r=Xs(),s=Js(),o=r.Readable.destroy;t.exports=r.Readable,t.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,t.exports._isUint8Array=r._isUint8Array,t.exports.isDisturbed=r.isDisturbed,t.exports.isErrored=r.isErrored,t.exports.isReadable=r.isReadable,t.exports.Readable=r.Readable,t.exports.Writable=r.Writable,t.exports.Duplex=r.Duplex,t.exports.Transform=r.Transform,t.exports.PassThrough=r.PassThrough,t.exports.addAbortSignal=r.addAbortSignal,t.exports.finished=r.finished,t.exports.destroy=r.destroy,t.exports.destroy=o,t.exports.pipeline=r.pipeline,t.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get(){return s}}),t.exports.Stream=r.Stream,t.exports.default=t.exports}),py=_e((d,t)=>{be(),Ee(),we(),typeof Object.create=="function"?t.exports=function(r,s){s&&(r.super_=s,r.prototype=Object.create(s.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,s){if(s){r.super_=s;var o=function(){};o.prototype=s.prototype,r.prototype=new o,r.prototype.constructor=r}}}),hy=_e((d,t)=>{be(),Ee(),we();var{Buffer:r}=(nt(),qe(ot)),s=Symbol.for("BufferList");function o(n){if(!(this instanceof o))return new o(n);o._init.call(this,n)}o._init=function(n){Object.defineProperty(this,s,{value:!0}),this._bufs=[],this.length=0,n&&this.append(n)},o.prototype._new=function(n){return new o(n)},o.prototype._offset=function(n){if(n===0)return[0,0];let i=0;for(let l=0;l<this._bufs.length;l++){let a=i+this._bufs[l].length;if(n<a||l===this._bufs.length-1)return[l,n-i];i=a}},o.prototype._reverseOffset=function(n){let i=n[0],l=n[1];for(let a=0;a<i;a++)l+=this._bufs[a].length;return l},o.prototype.getBuffers=function(){return this._bufs},o.prototype.get=function(n){if(n>this.length||n<0)return;let i=this._offset(n);return this._bufs[i[0]][i[1]]},o.prototype.slice=function(n,i){return typeof n=="number"&&n<0&&(n+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,n,i)},o.prototype.copy=function(n,i,l,a){if((typeof l!="number"||l<0)&&(l=0),(typeof a!="number"||a>this.length)&&(a=this.length),l>=this.length||a<=0)return n||r.alloc(0);let c=!!n,u=this._offset(l),h=a-l,m=h,f=c&&i||0,p=u[1];if(l===0&&a===this.length){if(!c)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let w=0;w<this._bufs.length;w++)this._bufs[w].copy(n,f),f+=this._bufs[w].length;return n}if(m<=this._bufs[u[0]].length-p)return c?this._bufs[u[0]].copy(n,i,p,p+m):this._bufs[u[0]].slice(p,p+m);c||(n=r.allocUnsafe(h));for(let w=u[0];w<this._bufs.length;w++){let N=this._bufs[w].length-p;if(m>N)this._bufs[w].copy(n,f,p),f+=N;else{this._bufs[w].copy(n,f,p,p+m),f+=N;break}m-=N,p&&(p=0)}return n.length>f?n.slice(0,f):n},o.prototype.shallowSlice=function(n,i){if(n=n||0,i=typeof i!="number"?this.length:i,n<0&&(n+=this.length),i<0&&(i+=this.length),n===i)return this._new();let l=this._offset(n),a=this._offset(i),c=this._bufs.slice(l[0],a[0]+1);return a[1]===0?c.pop():c[c.length-1]=c[c.length-1].slice(0,a[1]),l[1]!==0&&(c[0]=c[0].slice(l[1])),this._new(c)},o.prototype.toString=function(n,i,l){return this.slice(i,l).toString(n)},o.prototype.consume=function(n){if(n=Math.trunc(n),Number.isNaN(n)||n<=0)return this;for(;this._bufs.length;)if(n>=this._bufs[0].length)n-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(n),this.length-=n;break}return this},o.prototype.duplicate=function(){let n=this._new();for(let i=0;i<this._bufs.length;i++)n.append(this._bufs[i]);return n},o.prototype.append=function(n){return this._attach(n,o.prototype._appendBuffer)},o.prototype.prepend=function(n){return this._attach(n,o.prototype._prependBuffer,!0)},o.prototype._attach=function(n,i,l){if(n==null)return this;if(n.buffer)i.call(this,r.from(n.buffer,n.byteOffset,n.byteLength));else if(Array.isArray(n)){let[a,c]=l?[n.length-1,-1]:[0,1];for(let u=a;u>=0&&u<n.length;u+=c)this._attach(n[u],i,l)}else if(this._isBufferList(n)){let[a,c]=l?[n._bufs.length-1,-1]:[0,1];for(let u=a;u>=0&&u<n._bufs.length;u+=c)this._attach(n._bufs[u],i,l)}else typeof n=="number"&&(n=n.toString()),i.call(this,r.from(n));return this},o.prototype._appendBuffer=function(n){this._bufs.push(n),this.length+=n.length},o.prototype._prependBuffer=function(n){this._bufs.unshift(n),this.length+=n.length},o.prototype.indexOf=function(n,i,l){if(l===void 0&&typeof i=="string"&&(l=i,i=void 0),typeof n=="function"||Array.isArray(n))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof n=="number"?n=r.from([n]):typeof n=="string"?n=r.from(n,l):this._isBufferList(n)?n=n.slice():Array.isArray(n.buffer)?n=r.from(n.buffer,n.byteOffset,n.byteLength):r.isBuffer(n)||(n=r.from(n)),i=Number(i||0),isNaN(i)&&(i=0),i<0&&(i=this.length+i),i<0&&(i=0),n.length===0)return i>this.length?this.length:i;let a=this._offset(i),c=a[0],u=a[1];for(;c<this._bufs.length;c++){let h=this._bufs[c];for(;u<h.length;)if(h.length-u>=n.length){let m=h.indexOf(n,u);if(m!==-1)return this._reverseOffset([c,m]);u=h.length-n.length+1}else{let m=this._reverseOffset([c,u]);if(this._match(m,n))return m;u++}u=0}return-1},o.prototype._match=function(n,i){if(this.length-n<i.length)return!1;for(let l=0;l<i.length;l++)if(this.get(n+l)!==i[l])return!1;return!0},function(){let n={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readBigInt64BE:8,readBigInt64LE:8,readBigUInt64BE:8,readBigUInt64LE:8,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let i in n)(function(l){n[l]===null?o.prototype[l]=function(a,c){return this.slice(a,a+c)[l](0,c)}:o.prototype[l]=function(a=0){return this.slice(a,a+n[l])[l](0)}})(i)}(),o.prototype._isBufferList=function(n){return n instanceof o||o.isBufferList(n)},o.isBufferList=function(n){return n!=null&&n[s]},t.exports=o}),my=_e((d,t)=>{be(),Ee(),we();var r=Zt().Duplex,s=py(),o=hy();function n(i){if(!(this instanceof n))return new n(i);if(typeof i=="function"){this._callback=i;let l=(function(a){this._callback&&(this._callback(a),this._callback=null)}).bind(this);this.on("pipe",function(a){a.on("error",l)}),this.on("unpipe",function(a){a.removeListener("error",l)}),i=null}o._init.call(this,i),r.call(this)}s(n,r),Object.assign(n.prototype,o.prototype),n.prototype._new=function(i){return new n(i)},n.prototype._write=function(i,l,a){this._appendBuffer(i),typeof a=="function"&&a()},n.prototype._read=function(i){if(!this.length)return this.push(null);i=Math.min(i,this.length),this.push(this.slice(0,i)),this.consume(i)},n.prototype.end=function(i){r.prototype.end.call(this,i),this._callback&&(this._callback(null,this.slice()),this._callback=null)},n.prototype._destroy=function(i,l){this._bufs.length=0,this.length=0,l(i)},n.prototype._isBufferList=function(i){return i instanceof n||i instanceof o||n.isBufferList(i)},n.isBufferList=o.isBufferList,t.exports=n,t.exports.BufferListStream=n,t.exports.BufferList=o}),gy=_e((d,t)=>{be(),Ee(),we();var r=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}};t.exports=r}),Zs=_e((d,t)=>{be(),Ee(),we();var r=t.exports,{Buffer:s}=(nt(),qe(ot));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let n in r.requiredHeaderFlags){let i=r.requiredHeaderFlags[n];r.requiredHeaderFlagsErrors[n]="Invalid header flag bits, must be 0x"+i.toString(16)+" for "+r.types[n]+" packet"}r.codes={};for(let n in r.types){let i=r.types[n];r.codes[i]=n}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=s.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=s.from([r.codes.connack<<r.CMD_SHIFT]),r.USERNAME_MASK=128,r.PASSWORD_MASK=64,r.WILL_RETAIN_MASK=32,r.WILL_QOS_MASK=24,r.WILL_QOS_SHIFT=3,r.WILL_FLAG_MASK=4,r.CLEAN_SESSION_MASK=2,r.CONNECT_HEADER=s.from([r.codes.connect<<r.CMD_SHIFT]),r.properties={sessionExpiryInterval:17,willDelayInterval:24,receiveMaximum:33,maximumPacketSize:39,topicAliasMaximum:34,requestResponseInformation:25,requestProblemInformation:23,userProperties:38,authenticationMethod:21,authenticationData:22,payloadFormatIndicator:1,messageExpiryInterval:2,contentType:3,responseTopic:8,correlationData:9,maximumQoS:36,retainAvailable:37,assignedClientIdentifier:18,reasonString:31,wildcardSubscriptionAvailable:40,subscriptionIdentifiersAvailable:41,sharedSubscriptionAvailable:42,serverKeepAlive:19,responseInformation:26,serverReference:28,topicAlias:35,subscriptionIdentifier:11},r.propertiesCodes={};for(let n in r.properties){let i=r.properties[n];r.propertiesCodes[i]=n}r.propertiesTypes={sessionExpiryInterval:"int32",willDelayInterval:"int32",receiveMaximum:"int16",maximumPacketSize:"int32",topicAliasMaximum:"int16",requestResponseInformation:"byte",requestProblemInformation:"byte",userProperties:"pair",authenticationMethod:"string",authenticationData:"binary",payloadFormatIndicator:"byte",messageExpiryInterval:"int32",contentType:"string",responseTopic:"string",correlationData:"binary",maximumQoS:"int8",retainAvailable:"byte",assignedClientIdentifier:"string",reasonString:"string",wildcardSubscriptionAvailable:"byte",subscriptionIdentifiersAvailable:"byte",sharedSubscriptionAvailable:"byte",serverKeepAlive:"int16",responseInformation:"string",serverReference:"string",topicAlias:"int16",subscriptionIdentifier:"var"};function o(n){return[0,1,2].map(i=>[0,1].map(l=>[0,1].map(a=>{let c=s.alloc(1);return c.writeUInt8(r.codes[n]<<r.CMD_SHIFT|(l?r.DUP_MASK:0)|i<<r.QOS_SHIFT|a,0,!0),c})))}r.PUBLISH_HEADER=o("publish"),r.SUBSCRIBE_HEADER=o("subscribe"),r.SUBSCRIBE_OPTIONS_QOS_MASK=3,r.SUBSCRIBE_OPTIONS_NL_MASK=1,r.SUBSCRIBE_OPTIONS_NL_SHIFT=2,r.SUBSCRIBE_OPTIONS_RAP_MASK=1,r.SUBSCRIBE_OPTIONS_RAP_SHIFT=3,r.SUBSCRIBE_OPTIONS_RH_MASK=3,r.SUBSCRIBE_OPTIONS_RH_SHIFT=4,r.SUBSCRIBE_OPTIONS_RH=[0,16,32],r.SUBSCRIBE_OPTIONS_NL=4,r.SUBSCRIBE_OPTIONS_RAP=8,r.SUBSCRIBE_OPTIONS_QOS=[0,1,2],r.UNSUBSCRIBE_HEADER=o("unsubscribe"),r.ACKS={unsuback:o("unsuback"),puback:o("puback"),pubcomp:o("pubcomp"),pubrel:o("pubrel"),pubrec:o("pubrec")},r.SUBACK_HEADER=s.from([r.codes.suback<<r.CMD_SHIFT]),r.VERSION3=s.from([3]),r.VERSION4=s.from([4]),r.VERSION5=s.from([5]),r.VERSION131=s.from([131]),r.VERSION132=s.from([132]),r.QOS=[0,1,2].map(n=>s.from([n])),r.EMPTY={pingreq:s.from([r.codes.pingreq<<4,0]),pingresp:s.from([r.codes.pingresp<<4,0]),disconnect:s.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),yy=_e((d,t)=>{be(),Ee(),we();var r=1e3,s=r*60,o=s*60,n=o*24,i=n*7,l=n*365.25;t.exports=function(m,f){f=f||{};var p=typeof m;if(p==="string"&&m.length>0)return a(m);if(p==="number"&&isFinite(m))return f.long?u(m):c(m);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(m))};function a(m){if(m=String(m),!(m.length>100)){var f=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(m);if(f){var p=parseFloat(f[1]),w=(f[2]||"ms").toLowerCase();switch(w){case"years":case"year":case"yrs":case"yr":case"y":return p*l;case"weeks":case"week":case"w":return p*i;case"days":case"day":case"d":return p*n;case"hours":case"hour":case"hrs":case"hr":case"h":return p*o;case"minutes":case"minute":case"mins":case"min":case"m":return p*s;case"seconds":case"second":case"secs":case"sec":case"s":return p*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function c(m){var f=Math.abs(m);return f>=n?Math.round(m/n)+"d":f>=o?Math.round(m/o)+"h":f>=s?Math.round(m/s)+"m":f>=r?Math.round(m/r)+"s":m+"ms"}function u(m){var f=Math.abs(m);return f>=n?h(m,f,n,"day"):f>=o?h(m,f,o,"hour"):f>=s?h(m,f,s,"minute"):f>=r?h(m,f,r,"second"):m+" ms"}function h(m,f,p,w){var N=f>=p*1.5;return Math.round(m/p)+" "+w+(N?"s":"")}}),by=_e((d,t)=>{be(),Ee(),we();function r(s){n.debug=n,n.default=n,n.coerce=h,n.disable=c,n.enable=l,n.enabled=u,n.humanize=yy(),n.destroy=m,Object.keys(s).forEach(f=>{n[f]=s[f]}),n.names=[],n.skips=[],n.formatters={};function o(f){let p=0;for(let w=0;w<f.length;w++)p=(p<<5)-p+f.charCodeAt(w),p|=0;return n.colors[Math.abs(p)%n.colors.length]}n.selectColor=o;function n(f){let p,w=null,N,S;function y(...v){if(!y.enabled)return;let _=y,k=Number(new Date),C=k-(p||k);_.diff=C,_.prev=p,_.curr=k,p=k,v[0]=n.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let $=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(A,T)=>{if(A==="%%")return"%";$++;let I=n.formatters[T];if(typeof I=="function"){let B=v[$];A=I.call(_,B),v.splice($,1),$--}return A}),n.formatArgs.call(_,v),(_.log||n.log).apply(_,v)}return y.namespace=f,y.useColors=n.useColors(),y.color=n.selectColor(f),y.extend=i,y.destroy=n.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(N!==n.namespaces&&(N=n.namespaces,S=n.enabled(f)),S),set:v=>{w=v}}),typeof n.init=="function"&&n.init(y),y}function i(f,p){let w=n(this.namespace+(typeof p>"u"?":":p)+f);return w.log=this.log,w}function l(f){n.save(f),n.namespaces=f,n.names=[],n.skips=[];let p=(typeof f=="string"?f:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let w of p)w[0]==="-"?n.skips.push(w.slice(1)):n.names.push(w)}function a(f,p){let w=0,N=0,S=-1,y=0;for(;w<f.length;)if(N<p.length&&(p[N]===f[w]||p[N]==="*"))p[N]==="*"?(S=N,y=w,N++):(w++,N++);else if(S!==-1)N=S+1,y++,w=y;else return!1;for(;N<p.length&&p[N]==="*";)N++;return N===p.length}function c(){let f=[...n.names,...n.skips.map(p=>"-"+p)].join(",");return n.enable(""),f}function u(f){for(let p of n.skips)if(a(f,p))return!1;for(let p of n.names)if(a(f,p))return!0;return!1}function h(f){return f instanceof Error?f.stack||f.message:f}function m(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}t.exports=r}),Ct=_e((d,t)=>{be(),Ee(),we(),d.formatArgs=s,d.save=o,d.load=n,d.useColors=r,d.storage=i(),d.destroy=(()=>{let a=!1;return()=>{a||(a=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),d.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let a;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(a=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(a[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(a){if(a[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+a[0]+(this.useColors?"%c ":" ")+"+"+t.exports.humanize(this.diff),!this.useColors)return;let c="color: "+this.color;a.splice(1,0,c,"color: inherit");let u=0,h=0;a[0].replace(/%[a-zA-Z%]/g,m=>{m!=="%%"&&(u++,m==="%c"&&(h=u))}),a.splice(h,0,c)}d.log=console.debug||console.log||(()=>{});function o(a){try{a?d.storage.setItem("debug",a):d.storage.removeItem("debug")}catch{}}function n(){let a;try{a=d.storage.getItem("debug")||d.storage.getItem("DEBUG")}catch{}return!a&&typeof ze<"u"&&"env"in ze&&(a=ze.env.DEBUG),a}function i(){try{return localStorage}catch{}}t.exports=by()(d);var{formatters:l}=t.exports;l.j=function(a){try{return JSON.stringify(a)}catch(c){return"[UnexpectedJSONParseError]: "+c.message}}}),wy=_e((d,t)=>{be(),Ee(),we();var r=my(),{EventEmitter:s}=(Jt(),qe(Pt)),o=gy(),n=Zs(),i=Ct()("mqtt-packet:parser"),l=class Ji extends s{constructor(){super(),this.parser=this.constructor.parser}static parser(c){return this instanceof Ji?(this.settings=c||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Ji().parser(c)}_resetState(){i("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new o,this.error=null,this._list=r(),this._stateCounter=0}parse(c){for(this.error&&this._resetState(),this._list.append(c),i("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,i("parse: state complete. _stateCounter is now: %d",this._stateCounter),i("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return i("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let c=this._list.readUInt8(0),u=c>>n.CMD_SHIFT;this.packet.cmd=n.types[u];let h=c&15,m=n.requiredHeaderFlags[u];return m!=null&&h!==m?this._emitError(new Error(n.requiredHeaderFlagsErrors[u])):(this.packet.retain=(c&n.RETAIN_MASK)!==0,this.packet.qos=c>>n.QOS_SHIFT&n.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(c&n.DUP_MASK)!==0,i("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let c=this._parseVarByteNum(!0);return c&&(this.packet.length=c.value,this._list.consume(c.bytes)),i("_parseLength %d",c.value),!!c}_parsePayload(){i("_parsePayload: payload %O",this._list);let c=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}c=!0}return i("_parsePayload complete result: %s",c),c}_parseConnect(){i("_parseConnect");let c,u,h,m,f={},p=this.packet,w=this._parseString();if(w===null)return this._emitError(new Error("Cannot parse protocolId"));if(w!=="MQTT"&&w!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=w,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));f.username=this._list.readUInt8(this._pos)&n.USERNAME_MASK,f.password=this._list.readUInt8(this._pos)&n.PASSWORD_MASK,f.will=this._list.readUInt8(this._pos)&n.WILL_FLAG_MASK;let N=!!(this._list.readUInt8(this._pos)&n.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&n.WILL_QOS_MASK)>>n.WILL_QOS_SHIFT;if(f.will)p.will={},p.will.retain=N,p.will.qos=S;else{if(N)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&n.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){let v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.properties=v)}let y=this._parseString();if(y===null)return this._emitError(new Error("Packet too short"));if(p.clientId=y,i("_parseConnect: packet.clientId: %s",p.clientId),f.will){if(p.protocolVersion===5){let v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.will.properties=v)}if(c=this._parseString(),c===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=c,i("_parseConnect: packet.will.topic: %s",p.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=u,i("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(f.username){if(m=this._parseString(),m===null)return this._emitError(new Error("Cannot parse username"));p.username=m,i("_parseConnect: packet.username: %s",p.username)}if(f.password){if(h=this._parseBuffer(),h===null)return this._emitError(new Error("Cannot parse password"));p.password=h}return this.settings=p,i("_parseConnect: complete"),p}_parseConnack(){i("_parseConnack");let c=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(c.sessionPresent=!!(u&n.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?c.reasonCode=this._list.readUInt8(this._pos++):c.reasonCode=0;else{if(this._list.length<2)return null;c.returnCode=this._list.readUInt8(this._pos++)}if(c.returnCode===-1||c.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let h=this._parseProperties();Object.getOwnPropertyNames(h).length&&(c.properties=h)}i("_parseConnack: complete")}_parsePublish(){i("_parsePublish");let c=this.packet;if(c.topic=this._parseString(),c.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(c.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(c.properties=u)}c.payload=this._list.slice(this._pos,c.length),i("_parsePublish: payload from buffer list: %o",c.payload)}}_parseSubscribe(){i("_parseSubscribe");let c=this.packet,u,h,m,f,p,w,N;if(c.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(c.properties=S)}if(c.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<c.length;){if(u=this._parseString(),u===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=c.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(h=this._parseByte(),this.settings.protocolVersion===5){if(h&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(h&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(m=h&n.SUBSCRIBE_OPTIONS_QOS_MASK,m>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(w=(h>>n.SUBSCRIBE_OPTIONS_NL_SHIFT&n.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(h>>n.SUBSCRIBE_OPTIONS_RAP_SHIFT&n.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,f=h>>n.SUBSCRIBE_OPTIONS_RH_SHIFT&n.SUBSCRIBE_OPTIONS_RH_MASK,f>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));N={topic:u,qos:m},this.settings.protocolVersion===5?(N.nl=w,N.rap=p,N.rh=f):this.settings.bridgeMode&&(N.rh=0,N.rap=!0,N.nl=!0),i("_parseSubscribe: push subscription `%s` to subscription",N),c.subscriptions.push(N)}}}_parseSuback(){i("_parseSuback");let c=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(c.properties=u)}if(c.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos<this.packet.length;){let u=this._list.readUInt8(this._pos++);if(this.settings.protocolVersion===5){if(!n.MQTT5_SUBACK_CODES[u])return this._emitError(new Error("Invalid suback code"))}else if(u>2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){i("_parseUnsubscribe");let c=this.packet;if(c.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(c.properties=u)}if(c.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos<c.length;){let u=this._parseString();if(u===null)return this._emitError(new Error("Cannot parse topic"));i("_parseUnsubscribe: push topic `%s` to unsubscriptions",u),c.unsubscriptions.push(u)}}}_parseUnsuback(){i("_parseUnsuback");let c=this.packet;if(!this._parseMessageId())return this._emitError(new Error("Cannot parse messageId"));if((this.settings.protocolVersion===3||this.settings.protocolVersion===4)&&c.length!==2)return this._emitError(new Error("Malformed unsuback, payload length must be 2"));if(c.length<=0)return this._emitError(new Error("Malformed unsuback, no payload specified"));if(this.settings.protocolVersion===5){let u=this._parseProperties();for(Object.getOwnPropertyNames(u).length&&(c.properties=u),c.granted=[];this._pos<this.packet.length;){let h=this._list.readUInt8(this._pos++);if(!n.MQTT5_UNSUBACK_CODES[h])return this._emitError(new Error("Invalid unsuback code"));this.packet.granted.push(h)}}}_parseConfirmation(){i("_parseConfirmation: packet.cmd: `%s`",this.packet.cmd);let c=this.packet;if(this._parseMessageId(),this.settings.protocolVersion===5){if(c.length>2){switch(c.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!n.MQTT5_PUBACK_PUBREC_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!n.MQTT5_PUBREL_PUBCOMP_CODES[c.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}i("_parseConfirmation: packet.reasonCode `%d`",c.reasonCode)}else c.reasonCode=0;if(c.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(c.properties=u)}}return!0}_parseDisconnect(){let c=this.packet;if(i("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(c.reasonCode=this._parseByte(),n.MQTT5_DISCONNECT_CODES[c.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):c.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(c.properties=u)}return i("_parseDisconnect result: true"),!0}_parseAuth(){i("_parseAuth");let c=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(c.reasonCode=this._parseByte(),!n.MQTT5_AUTH_CODES[c.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(c.properties=u),i("_parseAuth: result: true"),!0}_parseMessageId(){let c=this.packet;return c.messageId=this._parseNum(),c.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(i("_parseMessageId: packet.messageId %d",c.messageId),!0)}_parseString(c){let u=this._parseNum(),h=u+this._pos;if(u===-1||h>this._list.length||h>this.packet.length)return null;let m=this._list.toString("utf8",this._pos,h);return this._pos+=u,i("_parseString: result: %s",m),m}_parseStringPair(){return i("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let c=this._parseNum(),u=c+this._pos;if(c===-1||u>this._list.length||u>this.packet.length)return null;let h=this._list.slice(this._pos,u);return this._pos+=c,i("_parseBuffer: result: %o",h),h}_parseNum(){if(this._list.length-this._pos<2)return-1;let c=this._list.readUInt16BE(this._pos);return this._pos+=2,i("_parseNum: result: %s",c),c}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let c=this._list.readUInt32BE(this._pos);return this._pos+=4,i("_parse4ByteNum: result: %s",c),c}_parseVarByteNum(c){i("_parseVarByteNum");let u=4,h=0,m=1,f=0,p=!1,w,N=this._pos?this._pos:0;for(;h<u&&N+h<this._list.length;){if(w=this._list.readUInt8(N+h++),f+=m*(w&n.VARBYTEINT_MASK),m*=128,(w&n.VARBYTEINT_FIN_MASK)===0){p=!0;break}if(this._list.length<=h)break}return!p&&h===u&&this._list.length>=h&&this._emitError(new Error("Invalid variable byte integer")),N&&(this._pos+=h),p?c?p={bytes:h,value:f}:p=f:p=!1,i("_parseVarByteNum: result: %o",p),p}_parseByte(){let c;return this._pos<this._list.length&&(c=this._list.readUInt8(this._pos),this._pos++),i("_parseByte: result: %o",c),c}_parseByType(c){switch(i("_parseByType: type: %s",c),c){case"byte":return this._parseByte()!==0;case"int8":return this._parseByte();case"int16":return this._parseNum();case"int32":return this._parse4ByteNum();case"var":return this._parseVarByteNum();case"string":return this._parseString();case"pair":return this._parseStringPair();case"binary":return this._parseBuffer()}}_parseProperties(){i("_parseProperties");let c=this._parseVarByteNum(),u=this._pos+c,h={};for(;this._pos<u;){let m=this._parseByte();if(!m)return this._emitError(new Error("Cannot parse property code type")),!1;let f=n.propertiesCodes[m];if(!f)return this._emitError(new Error("Unknown property")),!1;if(f==="userProperties"){h[f]||(h[f]=Object.create(null));let p=this._parseByType(n.propertiesTypes[f]);if(h[f][p.name])if(Array.isArray(h[f][p.name]))h[f][p.name].push(p.value);else{let w=h[f][p.name];h[f][p.name]=[w],h[f][p.name].push(p.value)}else h[f][p.name]=p.value;continue}h[f]?Array.isArray(h[f])?h[f].push(this._parseByType(n.propertiesTypes[f])):(h[f]=[h[f]],h[f].push(this._parseByType(n.propertiesTypes[f]))):h[f]=this._parseByType(n.propertiesTypes[f])}return h}_newPacket(){return i("_newPacket"),this.packet&&(this._list.consume(this.packet.length),i("_newPacket: parser emit packet: packet.cmd: %s, packet.payload: %s, packet.length: %d",this.packet.cmd,this.packet.payload,this.packet.length),this.emit("packet",this.packet)),i("_newPacket: new packet"),this.packet=new o,this._pos=0,!0}_emitError(c){i("_emitError",c),this.error=c,this.emit("error",c)}};t.exports=l}),Ey=_e((d,t)=>{be(),Ee(),we();var{Buffer:r}=(nt(),qe(ot)),s=65536,o={},n=r.isBuffer(r.from([1,2]).subarray(0,1));function i(u){let h=r.allocUnsafe(2);return h.writeUInt8(u>>8,0),h.writeUInt8(u&255,1),h}function l(){for(let u=0;u<s;u++)o[u]=i(u)}function a(u){let h=0,m=0,f=r.allocUnsafe(4);do h=u%128|0,u=u/128|0,u>0&&(h=h|128),f.writeUInt8(h,m++);while(u>0&&m<4);return u>0&&(m=0),n?f.subarray(0,m):f.slice(0,m)}function c(u){let h=r.allocUnsafe(4);return h.writeUInt32BE(u,0),h}t.exports={cache:o,generateCache:l,generateNumber:i,genBufVariableByteInt:a,generate4ByteBuffer:c}}),vy=_e((d,t)=>{be(),Ee(),we(),typeof ze>"u"||!ze.version||ze.version.indexOf("v0.")===0||ze.version.indexOf("v1.")===0&&ze.version.indexOf("v1.8.")!==0?t.exports={nextTick:r}:t.exports=ze;function r(s,o,n,i){if(typeof s!="function")throw new TypeError('"callback" argument must be a function');var l=arguments.length,a,c;switch(l){case 0:case 1:return ze.nextTick(s);case 2:return ze.nextTick(function(){s.call(null,o)});case 3:return ze.nextTick(function(){s.call(null,o,n)});case 4:return ze.nextTick(function(){s.call(null,o,n,i)});default:for(a=new Array(l-1),c=0;c<a.length;)a[c++]=arguments[c];return ze.nextTick(function(){s.apply(null,a)})}}}),ea=_e((d,t)=>{be(),Ee(),we();var r=Zs(),{Buffer:s}=(nt(),qe(ot)),o=s.allocUnsafe(0),n=s.from([0]),i=Ey(),l=vy().nextTick,a=Ct()("mqtt-packet:writeToStream"),c=i.cache,u=i.generateNumber,h=i.generateCache,m=i.genBufVariableByteInt,f=i.generate4ByteBuffer,p=ne,w=!0;function N(Z,q,le){switch(a("generate called"),q.cork&&(q.cork(),l(S,q)),w&&(w=!1,h()),a("generate: packet.cmd: %s",Z.cmd),Z.cmd){case"connect":return y(Z,q);case"connack":return v(Z,q,le);case"publish":return _(Z,q,le);case"puback":case"pubrec":case"pubrel":case"pubcomp":return k(Z,q,le);case"subscribe":return C(Z,q,le);case"suback":return $(Z,q,le);case"unsubscribe":return A(Z,q,le);case"unsuback":return T(Z,q,le);case"pingreq":case"pingresp":return I(Z,q);case"disconnect":return B(Z,q,le);case"auth":return V(Z,q,le);default:return q.destroy(new Error("Unknown command")),!1}}Object.defineProperty(N,"cacheNumbers",{get(){return p===ne},set(Z){Z?((!c||Object.keys(c).length===0)&&(w=!0),p=ne):(w=!1,p=re)}});function S(Z){Z.uncork()}function y(Z,q,le){let X=Z||{},oe=X.protocolId||"MQTT",ie=X.protocolVersion||4,ve=X.will,F=X.clean,D=X.keepalive||0,R=X.clientId||"",se=X.username,ue=X.password,pe=X.properties;F===void 0&&(F=!0);let ye=0;if(typeof oe!="string"&&!s.isBuffer(oe))return q.destroy(new Error("Invalid protocolId")),!1;if(ye+=oe.length+2,ie!==3&&ie!==4&&ie!==5)return q.destroy(new Error("Invalid protocol version")),!1;if(ye+=1,(typeof R=="string"||s.isBuffer(R))&&(R||ie>=4)&&(R||F))ye+=s.byteLength(R)+2;else{if(ie<4)return q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(F*1===0)return q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof D!="number"||D<0||D>65535||D%1!==0)return q.destroy(new Error("Invalid keepalive")),!1;ye+=2,ye+=1;let Q,ge;if(ie===5){if(Q=ae(q,pe),!Q)return!1;ye+=Q.length}if(ve){if(typeof ve!="object")return q.destroy(new Error("Invalid will")),!1;if(!ve.topic||typeof ve.topic!="string")return q.destroy(new Error("Invalid will topic")),!1;if(ye+=s.byteLength(ve.topic)+2,ye+=2,ve.payload)if(ve.payload.length>=0)typeof ve.payload=="string"?ye+=s.byteLength(ve.payload):ye+=ve.payload.length;else return q.destroy(new Error("Invalid will payload")),!1;if(ge={},ie===5){if(ge=ae(q,ve.properties),!ge)return!1;ye+=ge.length}}let ke=!1;if(se!=null)if(Ne(se))ke=!0,ye+=s.byteLength(se)+2;else return q.destroy(new Error("Invalid username")),!1;if(ue!=null){if(!ke)return q.destroy(new Error("Username is required to use password")),!1;if(Ne(ue))ye+=H(ue)+2;else return q.destroy(new Error("Invalid password")),!1}q.write(r.CONNECT_HEADER),K(q,ye),Y(q,oe),X.bridgeMode&&(ie+=128),q.write(ie===131?r.VERSION131:ie===132?r.VERSION132:ie===4?r.VERSION4:ie===5?r.VERSION5:r.VERSION3);let ce=0;return ce|=se!=null?r.USERNAME_MASK:0,ce|=ue!=null?r.PASSWORD_MASK:0,ce|=ve&&ve.retain?r.WILL_RETAIN_MASK:0,ce|=ve&&ve.qos?ve.qos<<r.WILL_QOS_SHIFT:0,ce|=ve?r.WILL_FLAG_MASK:0,ce|=F?r.CLEAN_SESSION_MASK:0,q.write(s.from([ce])),p(q,D),ie===5&&Q.write(),Y(q,R),ve&&(ie===5&&ge.write(),U(q,ve.topic),Y(q,ve.payload)),se!=null&&Y(q,se),ue!=null&&Y(q,ue),!0}function v(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=X===5?oe.reasonCode:oe.returnCode,ve=oe.properties,F=2;if(typeof ie!="number")return q.destroy(new Error("Invalid return code")),!1;let D=null;if(X===5){if(D=ae(q,ve),!D)return!1;F+=D.length}return q.write(r.CONNACK_HEADER),K(q,F),q.write(oe.sessionPresent?r.SESSIONPRESENT_HEADER:n),q.write(s.from([ie])),D==null||D.write(),!0}function _(Z,q,le){a("publish: packet: %o",Z);let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.qos||0,ve=oe.retain?r.RETAIN_MASK:0,F=oe.topic,D=oe.payload||o,R=oe.messageId,se=oe.properties,ue=0;if(typeof F=="string")ue+=s.byteLength(F)+2;else if(s.isBuffer(F))ue+=F.length+2;else return q.destroy(new Error("Invalid topic")),!1;if(s.isBuffer(D)?ue+=D.length:ue+=s.byteLength(D),ie&&typeof R!="number")return q.destroy(new Error("Invalid messageId")),!1;ie&&(ue+=2);let pe=null;if(X===5){if(pe=ae(q,se),!pe)return!1;ue+=pe.length}return q.write(r.PUBLISH_HEADER[ie][oe.dup?1:0][ve?1:0]),K(q,ue),p(q,H(F)),q.write(F),ie>0&&p(q,R),pe==null||pe.write(),a("publish: payload: %o",D),q.write(D)}function k(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.cmd||"puback",ve=oe.messageId,F=oe.dup&&ie==="pubrel"?r.DUP_MASK:0,D=0,R=oe.reasonCode,se=oe.properties,ue=X===5?3:2;if(ie==="pubrel"&&(D=1),typeof ve!="number")return q.destroy(new Error("Invalid messageId")),!1;let pe=null;if(X===5&&typeof se=="object"){if(pe=M(q,se,le,ue),!pe)return!1;ue+=pe.length}return q.write(r.ACKS[ie][D][F][0]),ue===3&&(ue+=R!==0?1:-1),K(q,ue),p(q,ve),X===5&&ue!==2&&q.write(s.from([R])),pe!==null?pe.write():ue===4&&q.write(s.from([0])),!0}function C(Z,q,le){a("subscribe: packet: ");let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.dup?r.DUP_MASK:0,ve=oe.messageId,F=oe.subscriptions,D=oe.properties,R=0;if(typeof ve!="number")return q.destroy(new Error("Invalid messageId")),!1;R+=2;let se=null;if(X===5){if(se=ae(q,D),!se)return!1;R+=se.length}if(typeof F=="object"&&F.length)for(let pe=0;pe<F.length;pe+=1){let ye=F[pe].topic,Q=F[pe].qos;if(typeof ye!="string")return q.destroy(new Error("Invalid subscriptions - invalid topic")),!1;if(typeof Q!="number")return q.destroy(new Error("Invalid subscriptions - invalid qos")),!1;if(X===5){if(typeof(F[pe].nl||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid No Local")),!1;if(typeof(F[pe].rap||!1)!="boolean")return q.destroy(new Error("Invalid subscriptions - invalid Retain as Published")),!1;let ge=F[pe].rh||0;if(typeof ge!="number"||ge>2)return q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}R+=s.byteLength(ye)+2+1}else return q.destroy(new Error("Invalid subscriptions")),!1;a("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),q.write(r.SUBSCRIBE_HEADER[1][ie?1:0][0]),K(q,R),p(q,ve),se!==null&&se.write();let ue=!0;for(let pe of F){let ye=pe.topic,Q=pe.qos,ge=+pe.nl,ke=+pe.rap,ce=pe.rh,xe;U(q,ye),xe=r.SUBSCRIBE_OPTIONS_QOS[Q],X===5&&(xe|=ge?r.SUBSCRIBE_OPTIONS_NL:0,xe|=ke?r.SUBSCRIBE_OPTIONS_RAP:0,xe|=ce?r.SUBSCRIBE_OPTIONS_RH[ce]:0),ue=q.write(s.from([xe]))}return ue}function $(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.messageId,ve=oe.granted,F=oe.properties,D=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(D+=2,typeof ve=="object"&&ve.length)for(let se=0;se<ve.length;se+=1){if(typeof ve[se]!="number")return q.destroy(new Error("Invalid qos vector")),!1;D+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let R=null;if(X===5){if(R=M(q,F,le,D),!R)return!1;D+=R.length}return q.write(r.SUBACK_HEADER),K(q,D),p(q,ie),R!==null&&R.write(),q.write(s.from(ve))}function A(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.messageId,ve=oe.dup?r.DUP_MASK:0,F=oe.unsubscriptions,D=oe.properties,R=0;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(R+=2,typeof F=="object"&&F.length)for(let pe=0;pe<F.length;pe+=1){if(typeof F[pe]!="string")return q.destroy(new Error("Invalid unsubscriptions")),!1;R+=s.byteLength(F[pe])+2}else return q.destroy(new Error("Invalid unsubscriptions")),!1;let se=null;if(X===5){if(se=ae(q,D),!se)return!1;R+=se.length}q.write(r.UNSUBSCRIBE_HEADER[1][ve?1:0][0]),K(q,R),p(q,ie),se!==null&&se.write();let ue=!0;for(let pe=0;pe<F.length;pe++)ue=U(q,F[pe]);return ue}function T(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.messageId,ve=oe.dup?r.DUP_MASK:0,F=oe.granted,D=oe.properties,R=oe.cmd,se=0,ue=2;if(typeof ie!="number")return q.destroy(new Error("Invalid messageId")),!1;if(X===5)if(typeof F=="object"&&F.length)for(let ye=0;ye<F.length;ye+=1){if(typeof F[ye]!="number")return q.destroy(new Error("Invalid qos vector")),!1;ue+=1}else return q.destroy(new Error("Invalid qos vector")),!1;let pe=null;if(X===5){if(pe=M(q,D,le,ue),!pe)return!1;ue+=pe.length}return q.write(r.ACKS[R][se][ve][0]),K(q,ue),p(q,ie),pe!==null&&pe.write(),X===5&&q.write(s.from(F)),!0}function I(Z,q,le){return q.write(r.EMPTY[Z.cmd])}function B(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.reasonCode,ve=oe.properties,F=X===5?1:0,D=null;if(X===5){if(D=M(q,ve,le,F),!D)return!1;F+=D.length}return q.write(s.from([r.codes.disconnect<<4])),K(q,F),X===5&&q.write(s.from([ie])),D!==null&&D.write(),!0}function V(Z,q,le){let X=le?le.protocolVersion:4,oe=Z||{},ie=oe.reasonCode,ve=oe.properties,F=X===5?1:0;X!==5&&q.destroy(new Error("Invalid mqtt version for auth packet"));let D=M(q,ve,le,F);return D?(F+=D.length,q.write(s.from([r.codes.auth<<4])),K(q,F),q.write(s.from([ie])),D!==null&&D.write(),!0):!1}var L={};function K(Z,q){if(q>r.VARBYTEINT_MAX)return Z.destroy(new Error(`Invalid variable byte integer: ${q}`)),!1;let le=L[q];return le||(le=m(q),q<16384&&(L[q]=le)),a("writeVarByteInt: writing to stream: %o",le),Z.write(le)}function U(Z,q){let le=s.byteLength(q);return p(Z,le),a("writeString: %s",q),Z.write(q,"utf8")}function de(Z,q,le){U(Z,q),U(Z,le)}function ne(Z,q){return a("writeNumberCached: number: %d",q),a("writeNumberCached: %o",c[q]),Z.write(c[q])}function re(Z,q){let le=u(q);return a("writeNumberGenerated: %o",le),Z.write(le)}function fe(Z,q){let le=f(q);return a("write4ByteNumber: %o",le),Z.write(le)}function Y(Z,q){typeof q=="string"?U(Z,q):q?(p(Z,q.length),Z.write(q)):p(Z,0)}function ae(Z,q){if(typeof q!="object"||q.length!=null)return{length:1,write(){me(Z,{},0)}};let le=0;function X(oe,ie){let ve=r.propertiesTypes[oe],F=0;switch(ve){case"byte":{if(typeof ie!="boolean")return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=2;break}case"int8":{if(typeof ie!="number"||ie<0||ie>255)return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=2;break}case"binary":{if(ie&&ie===null)return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=1+s.byteLength(ie)+2;break}case"int16":{if(typeof ie!="number"||ie<0||ie>65535)return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=3;break}case"int32":{if(typeof ie!="number"||ie<0||ie>4294967295)return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=5;break}case"var":{if(typeof ie!="number"||ie<0||ie>268435455)return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=1+s.byteLength(m(ie));break}case"string":{if(typeof ie!="string")return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=3+s.byteLength(ie.toString());break}case"pair":{if(typeof ie!="object")return Z.destroy(new Error(`Invalid ${oe}: ${ie}`)),!1;F+=Object.getOwnPropertyNames(ie).reduce((D,R)=>{let se=ie[R];return Array.isArray(se)?D+=se.reduce((ue,pe)=>(ue+=3+s.byteLength(R.toString())+2+s.byteLength(pe.toString()),ue),0):D+=3+s.byteLength(R.toString())+2+s.byteLength(ie[R].toString()),D},0);break}default:return Z.destroy(new Error(`Invalid property ${oe}: ${ie}`)),!1}return F}if(q)for(let oe in q){let ie=0,ve=0,F=q[oe];if(F!==void 0){if(Array.isArray(F))for(let D=0;D<F.length;D++){if(ve=X(oe,F[D]),!ve)return!1;ie+=ve}else{if(ve=X(oe,F),!ve)return!1;ie=ve}if(!ie)return!1;le+=ie}}return{length:s.byteLength(m(le))+le,write(){me(Z,q,le)}}}function M(Z,q,le,X){let oe=["reasonString","userProperties"],ie=le&&le.properties&&le.properties.maximumPacketSize?le.properties.maximumPacketSize:0,ve=ae(Z,q);if(ie)for(;X+ve.length>ie;){let F=oe.shift();if(F&&q[F])delete q[F],ve=ae(Z,q);else return!1}return ve}function J(Z,q,le){switch(r.propertiesTypes[q]){case"byte":{Z.write(s.from([r.properties[q]])),Z.write(s.from([+le]));break}case"int8":{Z.write(s.from([r.properties[q]])),Z.write(s.from([le]));break}case"binary":{Z.write(s.from([r.properties[q]])),Y(Z,le);break}case"int16":{Z.write(s.from([r.properties[q]])),p(Z,le);break}case"int32":{Z.write(s.from([r.properties[q]])),fe(Z,le);break}case"var":{Z.write(s.from([r.properties[q]])),K(Z,le);break}case"string":{Z.write(s.from([r.properties[q]])),U(Z,le);break}case"pair":{Object.getOwnPropertyNames(le).forEach(X=>{let oe=le[X];Array.isArray(oe)?oe.forEach(ie=>{Z.write(s.from([r.properties[q]])),de(Z,X.toString(),ie.toString())}):(Z.write(s.from([r.properties[q]])),de(Z,X.toString(),oe.toString()))});break}default:return Z.destroy(new Error(`Invalid property ${q} value: ${le}`)),!1}}function me(Z,q,le){K(Z,le);for(let X in q)if(Object.prototype.hasOwnProperty.call(q,X)&&q[X]!=null){let oe=q[X];if(Array.isArray(oe))for(let ie=0;ie<oe.length;ie++)J(Z,X,oe[ie]);else J(Z,X,oe)}}function H(Z){return Z?Z instanceof s?Z.length:s.byteLength(Z):0}function Ne(Z){return typeof Z=="string"||Z instanceof s}t.exports=N}),ky=_e((d,t)=>{be(),Ee(),we();var r=ea(),{EventEmitter:s}=(Jt(),qe(Pt)),{Buffer:o}=(nt(),qe(ot));function n(l,a){let c=new i;return r(l,c,a),c.concat()}var i=class extends s{constructor(){super(),this._array=new Array(20),this._i=0}write(l){return this._array[this._i++]=l,!0}concat(){let l=0,a=new Array(this._array.length),c=this._array,u=0,h;for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?a[h]=c[h].length:a[h]=o.byteLength(c[h]),l+=a[h];let m=o.allocUnsafe(l);for(h=0;h<c.length&&c[h]!==void 0;h++)typeof c[h]!="string"?(c[h].copy(m,u),u+=a[h]):(m.write(c[h],u),u+=a[h]);return m}destroy(l){l&&this.emit("error",l)}};t.exports=n}),_y=_e(d=>{be(),Ee(),we(),d.parser=wy().parser,d.generate=ky(),d.writeToStream=ea()}),Ny=_e((d,t)=>{be(),Ee(),we(),t.exports=s;function r(n){return n instanceof Tr?Tr.from(n):new n.constructor(n.buffer.slice(),n.byteOffset,n.length)}function s(n){if(n=n||{},n.circles)return o(n);let i=new Map;if(i.set(Date,h=>new Date(h)),i.set(Map,(h,m)=>new Map(a(Array.from(h),m))),i.set(Set,(h,m)=>new Set(a(Array.from(h),m))),n.constructorHandlers)for(let h of n.constructorHandlers)i.set(h[0],h[1]);let l=null;return n.proto?u:c;function a(h,m){let f=Object.keys(h),p=new Array(f.length);for(let w=0;w<f.length;w++){let N=f[w],S=h[N];typeof S!="object"||S===null?p[N]=S:S.constructor!==Object&&(l=i.get(S.constructor))?p[N]=l(S,m):ArrayBuffer.isView(S)?p[N]=r(S):p[N]=m(S)}return p}function c(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return a(h,c);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,c);let m={};for(let f in h){if(Object.hasOwnProperty.call(h,f)===!1)continue;let p=h[f];typeof p!="object"||p===null?m[f]=p:p.constructor!==Object&&(l=i.get(p.constructor))?m[f]=l(p,c):ArrayBuffer.isView(p)?m[f]=r(p):m[f]=c(p)}return m}function u(h){if(typeof h!="object"||h===null)return h;if(Array.isArray(h))return a(h,u);if(h.constructor!==Object&&(l=i.get(h.constructor)))return l(h,u);let m={};for(let f in h){let p=h[f];typeof p!="object"||p===null?m[f]=p:p.constructor!==Object&&(l=i.get(p.constructor))?m[f]=l(p,u):ArrayBuffer.isView(p)?m[f]=r(p):m[f]=u(p)}return m}}function o(n){let i=[],l=[],a=new Map;if(a.set(Date,f=>new Date(f)),a.set(Map,(f,p)=>new Map(u(Array.from(f),p))),a.set(Set,(f,p)=>new Set(u(Array.from(f),p))),n.constructorHandlers)for(let f of n.constructorHandlers)a.set(f[0],f[1]);let c=null;return n.proto?m:h;function u(f,p){let w=Object.keys(f),N=new Array(w.length);for(let S=0;S<w.length;S++){let y=w[S],v=f[y];if(typeof v!="object"||v===null)N[y]=v;else if(v.constructor!==Object&&(c=a.get(v.constructor)))N[y]=c(v,p);else if(ArrayBuffer.isView(v))N[y]=r(v);else{let _=i.indexOf(v);_!==-1?N[y]=l[_]:N[y]=p(v)}}return N}function h(f){if(typeof f!="object"||f===null)return f;if(Array.isArray(f))return u(f,h);if(f.constructor!==Object&&(c=a.get(f.constructor)))return c(f,h);let p={};i.push(f),l.push(p);for(let w in f){if(Object.hasOwnProperty.call(f,w)===!1)continue;let N=f[w];if(typeof N!="object"||N===null)p[w]=N;else if(N.constructor!==Object&&(c=a.get(N.constructor)))p[w]=c(N,h);else if(ArrayBuffer.isView(N))p[w]=r(N);else{let S=i.indexOf(N);S!==-1?p[w]=l[S]:p[w]=h(N)}}return i.pop(),l.pop(),p}function m(f){if(typeof f!="object"||f===null)return f;if(Array.isArray(f))return u(f,m);if(f.constructor!==Object&&(c=a.get(f.constructor)))return c(f,m);let p={};i.push(f),l.push(p);for(let w in f){let N=f[w];if(typeof N!="object"||N===null)p[w]=N;else if(N.constructor!==Object&&(c=a.get(N.constructor)))p[w]=c(N,m);else if(ArrayBuffer.isView(N))p[w]=r(N);else{let S=i.indexOf(N);S!==-1?p[w]=l[S]:p[w]=m(N)}}return i.pop(),l.pop(),p}}}),Sy=_e((d,t)=>{be(),Ee(),we(),t.exports=Ny()()}),xy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.validateTopic=t,d.validateTopics=r;function t(s){let o=s.split("/");for(let n=0;n<o.length;n++)if(o[n]!=="+"){if(o[n]==="#")return n===o.length-1;if(o[n].indexOf("+")!==-1||o[n].indexOf("#")!==-1)return!1}return!0}function r(s){if(s.length===0)return"empty_topic_list";for(let o=0;o<s.length;o++)if(!t(s[o]))return s[o];return null}}),ta=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=Zt(),r={objectMode:!0},s={clean:!0},o=class{constructor(n){he(this,"options");he(this,"_inflights");this.options=n||{},this.options={...s,...n},this._inflights=new Map}put(n,i){return this._inflights.set(n.messageId,n),i&&i(),this}createStream(){let n=new t.Readable(r),i=[],l=!1,a=0;return this._inflights.forEach((c,u)=>{i.push(c)}),n._read=()=>{!l&&a<i.length?n.push(i[a++]):n.push(null)},n.destroy=c=>{if(!l)return l=!0,setTimeout(()=>{n.emit("close")},0),n},n}del(n,i){let l=this._inflights.get(n.messageId);return l?(this._inflights.delete(n.messageId),i(null,l)):i&&i(new Error("missing packet")),this}get(n,i){let l=this._inflights.get(n.messageId);return l?i(null,l):i&&i(new Error("missing packet")),this}close(n){this.options.clean&&(this._inflights=null),n&&n()}};d.default=o}),Vy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=[0,16,128,131,135,144,145,151,153],r=(s,o,n)=>{s.log("handlePublish: packet %o",o),n=typeof n<"u"?n:s.noop;let i=o.topic.toString(),l=o.payload,{qos:a}=o,{messageId:c}=o,{options:u}=s;if(s.options.protocolVersion===5){let h;if(o.properties&&(h=o.properties.topicAlias),typeof h<"u")if(i.length===0)if(h>0&&h<=65535){let m=s.topicAliasRecv.getTopicByAlias(h);if(m)i=m,s.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",i,h);else{s.log("handlePublish :: unregistered topic alias. alias: %d",h),s.emit("error",new Error("Received unregistered Topic Alias"));return}}else{s.log("handlePublish :: topic alias out of range. alias: %d",h),s.emit("error",new Error("Received Topic Alias is out of range"));return}else if(s.topicAliasRecv.put(i,h))s.log("handlePublish :: registered topic: %s - alias: %d",i,h);else{s.log("handlePublish :: topic alias out of range. alias: %d",h),s.emit("error",new Error("Received Topic Alias is out of range"));return}}switch(s.log("handlePublish: qos %d",a),a){case 2:{u.customHandleAcks(i,l,o,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return s.emit("error",h);if(t.indexOf(m)===-1)return s.emit("error",new Error("Wrong reason code for pubrec"));m?s._sendPacket({cmd:"pubrec",messageId:c,reasonCode:m},n):s.incomingStore.put(o,()=>{s._sendPacket({cmd:"pubrec",messageId:c},n)})});break}case 1:{u.customHandleAcks(i,l,o,(h,m)=>{if(typeof h=="number"&&(m=h,h=null),h)return s.emit("error",h);if(t.indexOf(m)===-1)return s.emit("error",new Error("Wrong reason code for puback"));m||s.emit("message",i,l,o),s.handleMessage(o,f=>{if(f)return n&&n(f);s._sendPacket({cmd:"puback",messageId:c,reasonCode:m},n)})});break}case 0:s.emit("message",i,l,o),s.handleMessage(o,n);break;default:s.log("handlePublish: unknown QoS. Doing nothing.");break}};d.default=r}),Cy=_e((d,t)=>{t.exports={version:"5.14.1"}}),lr=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.MQTTJS_VERSION=d.nextTick=d.ErrorWithSubackPacket=d.ErrorWithReasonCode=void 0,d.applyMixin=s;var t=class gc extends Error{constructor(i,l){super(i);he(this,"code");this.code=l,Object.setPrototypeOf(this,gc.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};d.ErrorWithReasonCode=t;var r=class yc extends Error{constructor(i,l){super(i);he(this,"packet");this.packet=l,Object.setPrototypeOf(this,yc.prototype),Object.getPrototypeOf(this).name="ErrorWithSubackPacket"}};d.ErrorWithSubackPacket=r;function s(o,n,i=!1){let l=[n];for(;;){let a=l[0],c=Object.getPrototypeOf(a);if(c!=null&&c.prototype)l.unshift(c);else break}for(let a of l)for(let c of Object.getOwnPropertyNames(a.prototype))(i||c!=="constructor")&&Object.defineProperty(o.prototype,c,Object.getOwnPropertyDescriptor(a.prototype,c)??Object.create(null))}d.nextTick=typeof(ze==null?void 0:ze.nextTick)=="function"?ze.nextTick:o=>{setTimeout(o,0)},d.MQTTJS_VERSION=Cy().version}),Pr=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.ReasonCodes=void 0;var t=lr();d.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"};var r=(s,o)=>{let{messageId:n}=o,i=o.cmd,l=null,a=s.outgoing[n]?s.outgoing[n].cb:null,c=null;if(!a){s.log("_handleAck :: Server sent an ack in error. Ignoring.");return}switch(s.log("_handleAck :: packet type",i),i){case"pubcomp":case"puback":{let u=o.reasonCode;u&&u>0&&u!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${d.ReasonCodes[u]}`,u),s._removeOutgoingAndStoreMessage(n,()=>{a(c,o)})):s._removeOutgoingAndStoreMessage(n,a);break}case"pubrec":{l={cmd:"pubrel",qos:2,messageId:n};let u=o.reasonCode;u&&u>0&&u!==16?(c=new t.ErrorWithReasonCode(`Publish error: ${d.ReasonCodes[u]}`,u),s._removeOutgoingAndStoreMessage(n,()=>{a(c,o)})):s._sendPacket(l);break}case"suback":{delete s.outgoing[n],s.messageIdProvider.deallocate(n);let u=o.granted;for(let h=0;h<u.length;h++){let m=u[h];if(m&128){c=new Error(`Subscribe error: ${d.ReasonCodes[m]}`),c.code=m;let f=s.messageIdToTopic[n];f&&f.forEach(p=>{delete s._resubscribeTopics[p]})}}delete s.messageIdToTopic[n],s._invokeStoreProcessingQueue(),a(c,o);break}case"unsuback":{delete s.outgoing[n],s.messageIdProvider.deallocate(n),s._invokeStoreProcessingQueue(),a(null,o);break}default:s.emit("error",new Error("unrecognized packet type"))}s.disconnecting&&Object.keys(s.outgoing).length===0&&s.emit("outgoingEmpty")};d.default=r}),Ay=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=lr(),r=Pr(),s=(o,n)=>{let{options:i}=o,l=i.protocolVersion,a=l===5?n.reasonCode:n.returnCode;if(l!==5){let c=new t.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${l}`,a);o.emit("error",c);return}o.handleAuth(n,(c,u)=>{if(c){o.emit("error",c);return}if(a===24)o.reconnecting=!1,o._sendPacket(u);else{let h=new t.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[a]}`,a);o.emit("error",h)}})};d.default=s}),Iy=_e(d=>{var f,p,w,N,S,y,v,_,k,C,$,A,T,I,B,V,L,K,U,de,ne,re,fe,Y,ae,M,J,me,H,Xi,Z,q,le,X,bc,ie,ve,F,qt,Gt,Zi,go,yo,Qe,es,Vr,Ht,ts,xe;be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.LRUCache=void 0;var t=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,s=typeof ze=="object"&&ze?ze:{},o=(g,b,E,x)=>{typeof s.emitWarning=="function"?s.emitWarning(g,b,E,x):console.error(`[${E}] ${b}: ${g}`)},n=globalThis.AbortController,i=globalThis.AbortSignal;if(typeof n>"u"){i=class{constructor(){he(this,"onabort");he(this,"_onabort",[]);he(this,"reason");he(this,"aborted",!1)}addEventListener(E,x){this._onabort.push(x)}},n=class{constructor(){he(this,"signal",new i);b()}abort(E){var x,P;if(!this.signal.aborted){this.signal.reason=E,this.signal.aborted=!0;for(let j of this.signal._onabort)j(E);(P=(x=this.signal).onabort)==null||P.call(x,E)}}};let g=((f=s.env)==null?void 0:f.LRU_CACHE_IGNORE_AC_WARNING)!=="1",b=()=>{g&&(g=!1,o("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",b))}}var l=g=>!r.has(g),a=g=>g&&g===Math.floor(g)&&g>0&&isFinite(g),c=g=>a(g)?g<=Math.pow(2,8)?Uint8Array:g<=Math.pow(2,16)?Uint16Array:g<=Math.pow(2,32)?Uint32Array:g<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(g){super(g),this.fill(0)}},h=(p=class{constructor(b,E){he(this,"heap");he(this,"length");if(!W(p,w))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new E(b),this.length=0}static create(b){let E=c(b);if(!E)return[];Pe(p,w,!0);let x=new p(b,E);return Pe(p,w,!1),x}push(b){this.heap[this.length++]=b}pop(){return this.heap[--this.length]}},w=new WeakMap,Fe(p,w,!1),p),m=(xe=class{constructor(b){Fe(this,H);Fe(this,y);Fe(this,v);Fe(this,_);Fe(this,k);Fe(this,C);Fe(this,$);he(this,"ttl");he(this,"ttlResolution");he(this,"ttlAutopurge");he(this,"updateAgeOnGet");he(this,"updateAgeOnHas");he(this,"allowStale");he(this,"noDisposeOnSet");he(this,"noUpdateTTL");he(this,"maxEntrySize");he(this,"sizeCalculation");he(this,"noDeleteOnFetchRejection");he(this,"noDeleteOnStaleGet");he(this,"allowStaleOnFetchAbort");he(this,"allowStaleOnFetchRejection");he(this,"ignoreFetchAbort");Fe(this,A);Fe(this,T);Fe(this,I);Fe(this,B);Fe(this,V);Fe(this,L);Fe(this,K);Fe(this,U);Fe(this,de);Fe(this,ne);Fe(this,re);Fe(this,fe);Fe(this,Y);Fe(this,ae);Fe(this,M);Fe(this,J);Fe(this,me);Fe(this,Z,()=>{});Fe(this,q,()=>{});Fe(this,le,()=>{});Fe(this,X,()=>!1);Fe(this,ie,b=>{});Fe(this,ve,(b,E,x)=>{});Fe(this,F,(b,E,x,P)=>{if(x||P)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});he(this,N,"LRUCache");let{max:E=0,ttl:x,ttlResolution:P=1,ttlAutopurge:j,updateAgeOnGet:te,updateAgeOnHas:G,allowStale:ee,dispose:Ve,disposeAfter:Ie,noDisposeOnSet:Te,noUpdateTTL:Oe,maxSize:Ze=0,maxEntrySize:tt=0,sizeCalculation:Re,fetchMethod:He,memoMethod:De,noDeleteOnFetchRejection:Ue,noDeleteOnStaleGet:Ge,allowStaleOnFetchRejection:et,allowStaleOnFetchAbort:it,ignoreFetchAbort:gt}=b;if(E!==0&&!a(E))throw new TypeError("max option must be a nonnegative integer");let O=E?c(E):Array;if(!O)throw new Error("invalid max value: "+E);if(Pe(this,y,E),Pe(this,v,Ze),this.maxEntrySize=tt||W(this,v),this.sizeCalculation=Re,this.sizeCalculation){if(!W(this,v)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(De!==void 0&&typeof De!="function")throw new TypeError("memoMethod must be a function if defined");if(Pe(this,$,De),He!==void 0&&typeof He!="function")throw new TypeError("fetchMethod must be a function if specified");if(Pe(this,C,He),Pe(this,J,!!He),Pe(this,I,new Map),Pe(this,B,new Array(E).fill(void 0)),Pe(this,V,new Array(E).fill(void 0)),Pe(this,L,new O(E)),Pe(this,K,new O(E)),Pe(this,U,0),Pe(this,de,0),Pe(this,ne,h.create(E)),Pe(this,A,0),Pe(this,T,0),typeof Ve=="function"&&Pe(this,_,Ve),typeof Ie=="function"?(Pe(this,k,Ie),Pe(this,re,[])):(Pe(this,k,void 0),Pe(this,re,void 0)),Pe(this,M,!!W(this,_)),Pe(this,me,!!W(this,k)),this.noDisposeOnSet=!!Te,this.noUpdateTTL=!!Oe,this.noDeleteOnFetchRejection=!!Ue,this.allowStaleOnFetchRejection=!!et,this.allowStaleOnFetchAbort=!!it,this.ignoreFetchAbort=!!gt,this.maxEntrySize!==0){if(W(this,v)!==0&&!a(W(this,v)))throw new TypeError("maxSize must be a positive integer if specified");if(!a(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Be(this,H,bc).call(this)}if(this.allowStale=!!ee,this.noDeleteOnStaleGet=!!Ge,this.updateAgeOnGet=!!te,this.updateAgeOnHas=!!G,this.ttlResolution=a(P)||P===0?P:1,this.ttlAutopurge=!!j,this.ttl=x||0,this.ttl){if(!a(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Be(this,H,Xi).call(this)}if(W(this,y)===0&&this.ttl===0&&W(this,v)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!W(this,y)&&!W(this,v)){let z="LRU_CACHE_UNBOUNDED";l(z)&&(r.add(z),o("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",z,xe))}}static unsafeExposeInternals(b){return{starts:W(b,Y),ttls:W(b,ae),sizes:W(b,fe),keyMap:W(b,I),keyList:W(b,B),valList:W(b,V),next:W(b,L),prev:W(b,K),get head(){return W(b,U)},get tail(){return W(b,de)},free:W(b,ne),isBackgroundFetch:E=>{var x;return Be(x=b,H,Qe).call(x,E)},backgroundFetch:(E,x,P,j)=>{var te;return Be(te=b,H,yo).call(te,E,x,P,j)},moveToTail:E=>{var x;return Be(x=b,H,Vr).call(x,E)},indexes:E=>{var x;return Be(x=b,H,qt).call(x,E)},rindexes:E=>{var x;return Be(x=b,H,Gt).call(x,E)},isStale:E=>{var x;return W(x=b,X).call(x,E)}}}get max(){return W(this,y)}get maxSize(){return W(this,v)}get calculatedSize(){return W(this,T)}get size(){return W(this,A)}get fetchMethod(){return W(this,C)}get memoMethod(){return W(this,$)}get dispose(){return W(this,_)}get disposeAfter(){return W(this,k)}getRemainingTTL(b){return W(this,I).has(b)?1/0:0}*entries(){for(let b of Be(this,H,qt).call(this))W(this,V)[b]!==void 0&&W(this,B)[b]!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield[W(this,B)[b],W(this,V)[b]])}*rentries(){for(let b of Be(this,H,Gt).call(this))W(this,V)[b]!==void 0&&W(this,B)[b]!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield[W(this,B)[b],W(this,V)[b]])}*keys(){for(let b of Be(this,H,qt).call(this)){let E=W(this,B)[b];E!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield E)}}*rkeys(){for(let b of Be(this,H,Gt).call(this)){let E=W(this,B)[b];E!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield E)}}*values(){for(let b of Be(this,H,qt).call(this))W(this,V)[b]!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield W(this,V)[b])}*rvalues(){for(let b of Be(this,H,Gt).call(this))W(this,V)[b]!==void 0&&!Be(this,H,Qe).call(this,W(this,V)[b])&&(yield W(this,V)[b])}[(S=Symbol.iterator,N=Symbol.toStringTag,S)](){return this.entries()}find(b,E={}){for(let x of Be(this,H,qt).call(this)){let P=W(this,V)[x],j=Be(this,H,Qe).call(this,P)?P.__staleWhileFetching:P;if(j!==void 0&&b(j,W(this,B)[x],this))return this.get(W(this,B)[x],E)}}forEach(b,E=this){for(let x of Be(this,H,qt).call(this)){let P=W(this,V)[x],j=Be(this,H,Qe).call(this,P)?P.__staleWhileFetching:P;j!==void 0&&b.call(E,j,W(this,B)[x],this)}}rforEach(b,E=this){for(let x of Be(this,H,Gt).call(this)){let P=W(this,V)[x],j=Be(this,H,Qe).call(this,P)?P.__staleWhileFetching:P;j!==void 0&&b.call(E,j,W(this,B)[x],this)}}purgeStale(){let b=!1;for(let E of Be(this,H,Gt).call(this,{allowStale:!0}))W(this,X).call(this,E)&&(Be(this,H,Ht).call(this,W(this,B)[E],"expire"),b=!0);return b}info(b){let E=W(this,I).get(b);if(E===void 0)return;let x=W(this,V)[E],P=Be(this,H,Qe).call(this,x)?x.__staleWhileFetching:x;if(P===void 0)return;let j={value:P};if(W(this,ae)&&W(this,Y)){let te=W(this,ae)[E],G=W(this,Y)[E];if(te&&G){let ee=te-(t.now()-G);j.ttl=ee,j.start=Date.now()}}return W(this,fe)&&(j.size=W(this,fe)[E]),j}dump(){let b=[];for(let E of Be(this,H,qt).call(this,{allowStale:!0})){let x=W(this,B)[E],P=W(this,V)[E],j=Be(this,H,Qe).call(this,P)?P.__staleWhileFetching:P;if(j===void 0||x===void 0)continue;let te={value:j};if(W(this,ae)&&W(this,Y)){te.ttl=W(this,ae)[E];let G=t.now()-W(this,Y)[E];te.start=Math.floor(Date.now()-G)}W(this,fe)&&(te.size=W(this,fe)[E]),b.unshift([x,te])}return b}load(b){this.clear();for(let[E,x]of b){if(x.start){let P=Date.now()-x.start;x.start=t.now()-P}this.set(E,x.value,x)}}set(b,E,x={}){var Oe,Ze,tt,Re,He;if(E===void 0)return this.delete(b),this;let{ttl:P=this.ttl,start:j,noDisposeOnSet:te=this.noDisposeOnSet,sizeCalculation:G=this.sizeCalculation,status:ee}=x,{noUpdateTTL:Ve=this.noUpdateTTL}=x,Ie=W(this,F).call(this,b,E,x.size||0,G);if(this.maxEntrySize&&Ie>this.maxEntrySize)return ee&&(ee.set="miss",ee.maxEntrySizeExceeded=!0),Be(this,H,Ht).call(this,b,"set"),this;let Te=W(this,A)===0?void 0:W(this,I).get(b);if(Te===void 0)Te=W(this,A)===0?W(this,de):W(this,ne).length!==0?W(this,ne).pop():W(this,A)===W(this,y)?Be(this,H,go).call(this,!1):W(this,A),W(this,B)[Te]=b,W(this,V)[Te]=E,W(this,I).set(b,Te),W(this,L)[W(this,de)]=Te,W(this,K)[Te]=W(this,de),Pe(this,de,Te),mo(this,A)._++,W(this,ve).call(this,Te,Ie,ee),ee&&(ee.set="add"),Ve=!1;else{Be(this,H,Vr).call(this,Te);let De=W(this,V)[Te];if(E!==De){if(W(this,J)&&Be(this,H,Qe).call(this,De)){De.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ue}=De;Ue!==void 0&&!te&&(W(this,M)&&((Oe=W(this,_))==null||Oe.call(this,Ue,b,"set")),W(this,me)&&((Ze=W(this,re))==null||Ze.push([Ue,b,"set"])))}else te||(W(this,M)&&((tt=W(this,_))==null||tt.call(this,De,b,"set")),W(this,me)&&((Re=W(this,re))==null||Re.push([De,b,"set"])));if(W(this,ie).call(this,Te),W(this,ve).call(this,Te,Ie,ee),W(this,V)[Te]=E,ee){ee.set="replace";let Ue=De&&Be(this,H,Qe).call(this,De)?De.__staleWhileFetching:De;Ue!==void 0&&(ee.oldValue=Ue)}}else ee&&(ee.set="update")}if(P!==0&&!W(this,ae)&&Be(this,H,Xi).call(this),W(this,ae)&&(Ve||W(this,le).call(this,Te,P,j),ee&&W(this,q).call(this,ee,Te)),!te&&W(this,me)&&W(this,re)){let De=W(this,re),Ue;for(;Ue=De==null?void 0:De.shift();)(He=W(this,k))==null||He.call(this,...Ue)}return this}pop(){var b;try{for(;W(this,A);){let E=W(this,V)[W(this,U)];if(Be(this,H,go).call(this,!0),Be(this,H,Qe).call(this,E)){if(E.__staleWhileFetching)return E.__staleWhileFetching}else if(E!==void 0)return E}}finally{if(W(this,me)&&W(this,re)){let E=W(this,re),x;for(;x=E==null?void 0:E.shift();)(b=W(this,k))==null||b.call(this,...x)}}}has(b,E={}){let{updateAgeOnHas:x=this.updateAgeOnHas,status:P}=E,j=W(this,I).get(b);if(j!==void 0){let te=W(this,V)[j];if(Be(this,H,Qe).call(this,te)&&te.__staleWhileFetching===void 0)return!1;if(W(this,X).call(this,j))P&&(P.has="stale",W(this,q).call(this,P,j));else return x&&W(this,Z).call(this,j),P&&(P.has="hit",W(this,q).call(this,P,j)),!0}else P&&(P.has="miss");return!1}peek(b,E={}){let{allowStale:x=this.allowStale}=E,P=W(this,I).get(b);if(P===void 0||!x&&W(this,X).call(this,P))return;let j=W(this,V)[P];return Be(this,H,Qe).call(this,j)?j.__staleWhileFetching:j}async fetch(b,E={}){let{allowStale:x=this.allowStale,updateAgeOnGet:P=this.updateAgeOnGet,noDeleteOnStaleGet:j=this.noDeleteOnStaleGet,ttl:te=this.ttl,noDisposeOnSet:G=this.noDisposeOnSet,size:ee=0,sizeCalculation:Ve=this.sizeCalculation,noUpdateTTL:Ie=this.noUpdateTTL,noDeleteOnFetchRejection:Te=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Oe=this.allowStaleOnFetchRejection,ignoreFetchAbort:Ze=this.ignoreFetchAbort,allowStaleOnFetchAbort:tt=this.allowStaleOnFetchAbort,context:Re,forceRefresh:He=!1,status:De,signal:Ue}=E;if(!W(this,J))return De&&(De.fetch="get"),this.get(b,{allowStale:x,updateAgeOnGet:P,noDeleteOnStaleGet:j,status:De});let Ge={allowStale:x,updateAgeOnGet:P,noDeleteOnStaleGet:j,ttl:te,noDisposeOnSet:G,size:ee,sizeCalculation:Ve,noUpdateTTL:Ie,noDeleteOnFetchRejection:Te,allowStaleOnFetchRejection:Oe,allowStaleOnFetchAbort:tt,ignoreFetchAbort:Ze,status:De,signal:Ue},et=W(this,I).get(b);if(et===void 0){De&&(De.fetch="miss");let it=Be(this,H,yo).call(this,b,et,Ge,Re);return it.__returned=it}else{let it=W(this,V)[et];if(Be(this,H,Qe).call(this,it)){let Se=x&&it.__staleWhileFetching!==void 0;return De&&(De.fetch="inflight",Se&&(De.returnedStale=!0)),Se?it.__staleWhileFetching:it.__returned=it}let gt=W(this,X).call(this,et);if(!He&&!gt)return De&&(De.fetch="hit"),Be(this,H,Vr).call(this,et),P&&W(this,Z).call(this,et),De&&W(this,q).call(this,De,et),it;let O=Be(this,H,yo).call(this,b,et,Ge,Re),z=O.__staleWhileFetching!==void 0&&x;return De&&(De.fetch=gt?"stale":"refresh",z&&gt&&(De.returnedStale=!0)),z?O.__staleWhileFetching:O.__returned=O}}async forceFetch(b,E={}){let x=await this.fetch(b,E);if(x===void 0)throw new Error("fetch() returned undefined");return x}memo(b,E={}){let x=W(this,$);if(!x)throw new Error("no memoMethod provided to constructor");let{context:P,forceRefresh:j,...te}=E,G=this.get(b,te);if(!j&&G!==void 0)return G;let ee=x(b,G,{options:te,context:P});return this.set(b,ee,te),ee}get(b,E={}){let{allowStale:x=this.allowStale,updateAgeOnGet:P=this.updateAgeOnGet,noDeleteOnStaleGet:j=this.noDeleteOnStaleGet,status:te}=E,G=W(this,I).get(b);if(G!==void 0){let ee=W(this,V)[G],Ve=Be(this,H,Qe).call(this,ee);return te&&W(this,q).call(this,te,G),W(this,X).call(this,G)?(te&&(te.get="stale"),Ve?(te&&x&&ee.__staleWhileFetching!==void 0&&(te.returnedStale=!0),x?ee.__staleWhileFetching:void 0):(j||Be(this,H,Ht).call(this,b,"expire"),te&&x&&(te.returnedStale=!0),x?ee:void 0)):(te&&(te.get="hit"),Ve?ee.__staleWhileFetching:(Be(this,H,Vr).call(this,G),P&&W(this,Z).call(this,G),ee))}else te&&(te.get="miss")}delete(b){return Be(this,H,Ht).call(this,b,"delete")}clear(){return Be(this,H,ts).call(this,"delete")}},y=new WeakMap,v=new WeakMap,_=new WeakMap,k=new WeakMap,C=new WeakMap,$=new WeakMap,A=new WeakMap,T=new WeakMap,I=new WeakMap,B=new WeakMap,V=new WeakMap,L=new WeakMap,K=new WeakMap,U=new WeakMap,de=new WeakMap,ne=new WeakMap,re=new WeakMap,fe=new WeakMap,Y=new WeakMap,ae=new WeakMap,M=new WeakMap,J=new WeakMap,me=new WeakMap,H=new WeakSet,Xi=function(){let b=new u(W(this,y)),E=new u(W(this,y));Pe(this,ae,b),Pe(this,Y,E),Pe(this,le,(j,te,G=t.now())=>{if(E[j]=te!==0?G:0,b[j]=te,te!==0&&this.ttlAutopurge){let ee=setTimeout(()=>{W(this,X).call(this,j)&&Be(this,H,Ht).call(this,W(this,B)[j],"expire")},te+1);ee.unref&&ee.unref()}}),Pe(this,Z,j=>{E[j]=b[j]!==0?t.now():0}),Pe(this,q,(j,te)=>{if(b[te]){let G=b[te],ee=E[te];if(!G||!ee)return;j.ttl=G,j.start=ee,j.now=x||P();let Ve=j.now-ee;j.remainingTTL=G-Ve}});let x=0,P=()=>{let j=t.now();if(this.ttlResolution>0){x=j;let te=setTimeout(()=>x=0,this.ttlResolution);te.unref&&te.unref()}return j};this.getRemainingTTL=j=>{let te=W(this,I).get(j);if(te===void 0)return 0;let G=b[te],ee=E[te];if(!G||!ee)return 1/0;let Ve=(x||P())-ee;return G-Ve},Pe(this,X,j=>{let te=E[j],G=b[j];return!!G&&!!te&&(x||P())-te>G})},Z=new WeakMap,q=new WeakMap,le=new WeakMap,X=new WeakMap,bc=function(){let b=new u(W(this,y));Pe(this,T,0),Pe(this,fe,b),Pe(this,ie,E=>{Pe(this,T,W(this,T)-b[E]),b[E]=0}),Pe(this,F,(E,x,P,j)=>{if(Be(this,H,Qe).call(this,x))return 0;if(!a(P))if(j){if(typeof j!="function")throw new TypeError("sizeCalculation must be a function");if(P=j(x,E),!a(P))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return P}),Pe(this,ve,(E,x,P)=>{if(b[E]=x,W(this,v)){let j=W(this,v)-b[E];for(;W(this,T)>j;)Be(this,H,go).call(this,!0)}Pe(this,T,W(this,T)+b[E]),P&&(P.entrySize=x,P.totalCalculatedSize=W(this,T))})},ie=new WeakMap,ve=new WeakMap,F=new WeakMap,qt=function*({allowStale:b=this.allowStale}={}){if(W(this,A))for(let E=W(this,de);!(!Be(this,H,Zi).call(this,E)||((b||!W(this,X).call(this,E))&&(yield E),E===W(this,U)));)E=W(this,K)[E]},Gt=function*({allowStale:b=this.allowStale}={}){if(W(this,A))for(let E=W(this,U);!(!Be(this,H,Zi).call(this,E)||((b||!W(this,X).call(this,E))&&(yield E),E===W(this,de)));)E=W(this,L)[E]},Zi=function(b){return b!==void 0&&W(this,I).get(W(this,B)[b])===b},go=function(b){var j,te;let E=W(this,U),x=W(this,B)[E],P=W(this,V)[E];return W(this,J)&&Be(this,H,Qe).call(this,P)?P.__abortController.abort(new Error("evicted")):(W(this,M)||W(this,me))&&(W(this,M)&&((j=W(this,_))==null||j.call(this,P,x,"evict")),W(this,me)&&((te=W(this,re))==null||te.push([P,x,"evict"]))),W(this,ie).call(this,E),b&&(W(this,B)[E]=void 0,W(this,V)[E]=void 0,W(this,ne).push(E)),W(this,A)===1?(Pe(this,U,Pe(this,de,0)),W(this,ne).length=0):Pe(this,U,W(this,L)[E]),W(this,I).delete(x),mo(this,A)._--,E},yo=function(b,E,x,P){let j=E===void 0?void 0:W(this,V)[E];if(Be(this,H,Qe).call(this,j))return j;let te=new n,{signal:G}=x;G==null||G.addEventListener("abort",()=>te.abort(G.reason),{signal:te.signal});let ee={signal:te.signal,options:x,context:P},Ve=(Re,He=!1)=>{let{aborted:De}=te.signal,Ue=x.ignoreFetchAbort&&Re!==void 0;if(x.status&&(De&&!He?(x.status.fetchAborted=!0,x.status.fetchError=te.signal.reason,Ue&&(x.status.fetchAbortIgnored=!0)):x.status.fetchResolved=!0),De&&!Ue&&!He)return Te(te.signal.reason);let Ge=Ze;return W(this,V)[E]===Ze&&(Re===void 0?Ge.__staleWhileFetching?W(this,V)[E]=Ge.__staleWhileFetching:Be(this,H,Ht).call(this,b,"fetch"):(x.status&&(x.status.fetchUpdated=!0),this.set(b,Re,ee.options))),Re},Ie=Re=>(x.status&&(x.status.fetchRejected=!0,x.status.fetchError=Re),Te(Re)),Te=Re=>{let{aborted:He}=te.signal,De=He&&x.allowStaleOnFetchAbort,Ue=De||x.allowStaleOnFetchRejection,Ge=Ue||x.noDeleteOnFetchRejection,et=Ze;if(W(this,V)[E]===Ze&&(!Ge||et.__staleWhileFetching===void 0?Be(this,H,Ht).call(this,b,"fetch"):De||(W(this,V)[E]=et.__staleWhileFetching)),Ue)return x.status&&et.__staleWhileFetching!==void 0&&(x.status.returnedStale=!0),et.__staleWhileFetching;if(et.__returned===et)throw Re},Oe=(Re,He)=>{var Ue;let De=(Ue=W(this,C))==null?void 0:Ue.call(this,b,j,ee);De&&De instanceof Promise&&De.then(Ge=>Re(Ge===void 0?void 0:Ge),He),te.signal.addEventListener("abort",()=>{(!x.ignoreFetchAbort||x.allowStaleOnFetchAbort)&&(Re(void 0),x.allowStaleOnFetchAbort&&(Re=Ge=>Ve(Ge,!0)))})};x.status&&(x.status.fetchDispatched=!0);let Ze=new Promise(Oe).then(Ve,Ie),tt=Object.assign(Ze,{__abortController:te,__staleWhileFetching:j,__returned:void 0});return E===void 0?(this.set(b,tt,{...ee.options,status:void 0}),E=W(this,I).get(b)):W(this,V)[E]=tt,tt},Qe=function(b){if(!W(this,J))return!1;let E=b;return!!E&&E instanceof Promise&&E.hasOwnProperty("__staleWhileFetching")&&E.__abortController instanceof n},es=function(b,E){W(this,K)[E]=b,W(this,L)[b]=E},Vr=function(b){b!==W(this,de)&&(b===W(this,U)?Pe(this,U,W(this,L)[b]):Be(this,H,es).call(this,W(this,K)[b],W(this,L)[b]),Be(this,H,es).call(this,W(this,de),b),Pe(this,de,b))},Ht=function(b,E){var P,j,te,G;let x=!1;if(W(this,A)!==0){let ee=W(this,I).get(b);if(ee!==void 0)if(x=!0,W(this,A)===1)Be(this,H,ts).call(this,E);else{W(this,ie).call(this,ee);let Ve=W(this,V)[ee];if(Be(this,H,Qe).call(this,Ve)?Ve.__abortController.abort(new Error("deleted")):(W(this,M)||W(this,me))&&(W(this,M)&&((P=W(this,_))==null||P.call(this,Ve,b,E)),W(this,me)&&((j=W(this,re))==null||j.push([Ve,b,E]))),W(this,I).delete(b),W(this,B)[ee]=void 0,W(this,V)[ee]=void 0,ee===W(this,de))Pe(this,de,W(this,K)[ee]);else if(ee===W(this,U))Pe(this,U,W(this,L)[ee]);else{let Ie=W(this,K)[ee];W(this,L)[Ie]=W(this,L)[ee];let Te=W(this,L)[ee];W(this,K)[Te]=W(this,K)[ee]}mo(this,A)._--,W(this,ne).push(ee)}}if(W(this,me)&&((te=W(this,re))!=null&&te.length)){let ee=W(this,re),Ve;for(;Ve=ee==null?void 0:ee.shift();)(G=W(this,k))==null||G.call(this,...Ve)}return x},ts=function(b){var E,x,P;for(let j of Be(this,H,Gt).call(this,{allowStale:!0})){let te=W(this,V)[j];if(Be(this,H,Qe).call(this,te))te.__abortController.abort(new Error("deleted"));else{let G=W(this,B)[j];W(this,M)&&((E=W(this,_))==null||E.call(this,te,G,b)),W(this,me)&&((x=W(this,re))==null||x.push([te,G,b]))}}if(W(this,I).clear(),W(this,V).fill(void 0),W(this,B).fill(void 0),W(this,ae)&&W(this,Y)&&(W(this,ae).fill(0),W(this,Y).fill(0)),W(this,fe)&&W(this,fe).fill(0),Pe(this,U,0),Pe(this,de,0),W(this,ne).length=0,Pe(this,T,0),Pe(this,A,0),W(this,me)&&W(this,re)){let j=W(this,re),te;for(;te=j==null?void 0:j.shift();)(P=W(this,k))==null||P.call(this,...te)}},xe);d.LRUCache=m}),At=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.ContainerIterator=d.Container=d.Base=void 0;var t=class{constructor(o=0){this.iteratorType=o}equals(o){return this.o===o.o}};d.ContainerIterator=t;var r=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};d.Base=r;var s=class extends r{};d.Container=s}),Ty=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=At(),r=class extends t.Base{constructor(o=[]){super(),this.S=[];let n=this;o.forEach(function(i){n.push(i)})}clear(){this.i=0,this.S=[]}push(o){return this.S.push(o),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}},s=r;d.default=s}),$y=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=At(),r=class extends t.Base{constructor(o=[]){super(),this.j=0,this.q=[];let n=this;o.forEach(function(i){n.push(i)})}clear(){this.q=[],this.i=this.j=0}push(o){let n=this.q.length;if(this.j/n>.5&&this.j+this.i>=n&&n>4096){let i=this.i;for(let l=0;l<i;++l)this.q[l]=this.q[this.j+l];this.j=0,this.q[this.i]=o}else this.q[this.j+this.i]=o;return++this.i}pop(){if(this.i===0)return;let o=this.q[this.j++];return this.i-=1,o}front(){if(this.i!==0)return this.q[this.j]}},s=r;d.default=s}),By=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=At(),r=class extends t.Base{constructor(o=[],n=function(l,a){return l>a?-1:l<a?1:0},i=!0){if(super(),this.v=n,Array.isArray(o))this.C=i?[...o]:o;else{this.C=[];let a=this;o.forEach(function(c){a.C.push(c)})}this.i=this.C.length;let l=this.i>>1;for(let a=this.i-1>>1;a>=0;--a)this.k(a,l)}m(o){let n=this.C[o];for(;o>0;){let i=o-1>>1,l=this.C[i];if(this.v(l,n)<=0)break;this.C[o]=l,o=i}this.C[o]=n}k(o,n){let i=this.C[o];for(;o<n;){let l=o<<1|1,a=l+1,c=this.C[l];if(a<this.i&&this.v(c,this.C[a])>0&&(l=a,c=this.C[a]),this.v(c,i)>=0)break;this.C[o]=c,o=l}this.C[o]=i}clear(){this.i=0,this.C.length=0}push(o){this.C.push(o),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let o=this.C[0],n=this.C.pop();return this.i-=1,this.i&&(this.C[0]=n,this.k(0,this.i>>1)),o}top(){return this.C[0]}find(o){return this.C.indexOf(o)>=0}remove(o){let n=this.C.indexOf(o);return n<0?!1:(n===0?this.pop():n===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(n,1,this.C.pop()),this.i-=1,this.m(n),this.k(n,this.i>>1)),!0)}updateItem(o){let n=this.C.indexOf(o);return n<0?!1:(this.m(n),this.k(n,this.i>>1),!0)}toArray(){return[...this.C]}},s=r;d.default=s}),Fn=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=At(),r=class extends t.Container{},s=r;d.default=s}),It=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.throwIteratorAccessError=t;function t(){throw new RangeError("Iterator access denied!")}}),ra=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.RandomIterator=void 0;var t=At(),r=It(),s=class extends t.ContainerIterator{constructor(o,n){super(n),this.o=o,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(o){this.container.setElementByPos(this.o,o)}};d.RandomIterator=s}),Dy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=s(Fn()),r=ra();function s(l){return l&&l.t?l:{default:l}}var o=class wc extends r.RandomIterator{constructor(a,c,u){super(a,u),this.container=c}copy(){return new wc(this.o,this.container,this.iteratorType)}},n=class extends t.default{constructor(l=[],a=!0){if(super(),Array.isArray(l))this.J=a?[...l]:l,this.i=l.length;else{this.J=[];let c=this;l.forEach(function(u){c.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new o(0,this)}end(){return new o(this.i,this)}rBegin(){return new o(this.i-1,this,1)}rEnd(){return new o(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J[l]}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;return this.J.splice(l,1),this.i-=1,this.i}eraseElementByValue(l){let a=0;for(let c=0;c<this.i;++c)this.J[c]!==l&&(this.J[a++]=this.J[c]);return this.i=this.J.length=a,this.i}eraseElementByIterator(l){let a=l.o;return l=l.next(),this.eraseElementByPos(a),l}pushBack(l){return this.J.push(l),this.i+=1,this.i}popBack(){if(this.i!==0)return this.i-=1,this.J.pop()}setElementByPos(l,a){if(l<0||l>this.i-1)throw new RangeError;this.J[l]=a}insert(l,a,c=1){if(l<0||l>this.i)throw new RangeError;return this.J.splice(l,0,...new Array(c).fill(a)),this.i+=c,this.i}find(l){for(let a=0;a<this.i;++a)if(this.J[a]===l)return new o(a,this);return this.end()}reverse(){this.J.reverse()}unique(){let l=1;for(let a=1;a<this.i;++a)this.J[a]!==this.J[a-1]&&(this.J[l++]=this.J[a]);return this.i=this.J.length=l,this.i}sort(l){this.J.sort(l)}forEach(l){for(let a=0;a<this.i;++a)l(this.J[a],a,this)}[Symbol.iterator](){return(function*(){yield*this.J}).bind(this)()}},i=n;d.default=i}),Py=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=o(Fn()),r=At(),s=It();function o(a){return a&&a.t?a:{default:a}}var n=class Ec extends r.ContainerIterator{constructor(c,u,h,m){super(m),this.o=c,this.h=u,this.container=h,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o.l}set pointer(c){this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o.l=c}copy(){return new Ec(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(a=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let c=this;a.forEach(function(u){c.pushBack(u)})}V(a){let{L:c,B:u}=a;c.B=u,u.L=c,a===this.p&&(this.p=u),a===this._&&(this._=c),this.i-=1}G(a,c){let u=c.B,h={l:a,L:c,B:u};c.B=h,u.L=h,c===this.h&&(this.p=h),u===this.h&&(this._=h),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let c=this.p;for(;a--;)c=c.B;return c.l}eraseElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let c=this.p;for(;a--;)c=c.B;return this.V(c),this.i}eraseElementByValue(a){let c=this.p;for(;c!==this.h;)c.l===a&&this.V(c),c=c.B;return this.i}eraseElementByIterator(a){let c=a.o;return c===this.h&&(0,s.throwIteratorAccessError)(),a=a.next(),this.V(c),a}pushBack(a){return this.G(a,this._),this.i}popBack(){if(this.i===0)return;let a=this._.l;return this.V(this._),a}pushFront(a){return this.G(a,this.h),this.i}popFront(){if(this.i===0)return;let a=this.p.l;return this.V(this.p),a}setElementByPos(a,c){if(a<0||a>this.i-1)throw new RangeError;let u=this.p;for(;a--;)u=u.B;u.l=c}insert(a,c,u=1){if(a<0||a>this.i)throw new RangeError;if(u<=0)return this.i;if(a===0)for(;u--;)this.pushFront(c);else if(a===this.i)for(;u--;)this.pushBack(c);else{let h=this.p;for(let f=1;f<a;++f)h=h.B;let m=h.B;for(this.i+=u;u--;)h.B={l:c,L:h},h.B.L=h,h=h.B;h.B=m,m.L=h}return this.i}find(a){let c=this.p;for(;c!==this.h;){if(c.l===a)return new n(c,this.h,this);c=c.B}return this.end()}reverse(){if(this.i<=1)return;let a=this.p,c=this._,u=0;for(;u<<1<this.i;){let h=a.l;a.l=c.l,c.l=h,a=a.B,c=c.L,u+=1}}unique(){if(this.i<=1)return this.i;let a=this.p;for(;a!==this.h;){let c=a;for(;c.B!==this.h&&c.l===c.B.l;)c=c.B,this.i-=1;a.B=c.B,a.B.L=a,a=a.B}return this.i}sort(a){if(this.i<=1)return;let c=[];this.forEach(function(h){c.push(h)}),c.sort(a);let u=this.p;c.forEach(function(h){u.l=h,u=u.B})}merge(a){let c=this;if(this.i===0)a.forEach(function(u){c.pushBack(u)});else{let u=this.p;a.forEach(function(h){for(;u!==c.h&&u.l<=h;)u=u.B;c.G(h,u.L)})}return this.i}forEach(a){let c=this.p,u=0;for(;c!==this.h;)a(c.l,u++,this),c=c.B}[Symbol.iterator](){return(function*(){if(this.i===0)return;let a=this.p;for(;a!==this.h;)yield a.l,a=a.B}).bind(this)()}},l=i;d.default=l}),Oy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=s(Fn()),r=ra();function s(l){return l&&l.t?l:{default:l}}var o=class vc extends r.RandomIterator{constructor(a,c,u){super(a,u),this.container=c}copy(){return new vc(this.o,this.container,this.iteratorType)}},n=class extends t.default{constructor(l=[],a=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let c=(()=>{if(typeof l.length=="number")return l.length;if(typeof l.size=="number")return l.size;if(typeof l.size=="function")return l.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=a,this.P=Math.max(Math.ceil(c/this.F),1);for(let m=0;m<this.P;++m)this.A.push(new Array(this.F));let u=Math.ceil(c/this.F);this.j=this.R=(this.P>>1)-(u>>1),this.D=this.N=this.F-c%this.F>>1;let h=this;l.forEach(function(m){h.pushBack(m)})}T(){let l=[],a=Math.max(this.P>>1,1);for(let c=0;c<a;++c)l[c]=new Array(this.F);for(let c=this.j;c<this.P;++c)l[l.length]=this.A[c];for(let c=0;c<this.R;++c)l[l.length]=this.A[c];l[l.length]=[...this.A[this.R]],this.j=a,this.R=l.length-1;for(let c=0;c<a;++c)l[l.length]=new Array(this.F);this.A=l,this.P=l.length}O(l){let a=this.D+l+1,c=a%this.F,u=c-1,h=this.j+(a-c)/this.F;return c===0&&(h-=1),h%=this.P,u<0&&(u+=this.F),{curNodeBucketIndex:h,curNodePointerIndex:u}}clear(){this.A=[new Array(this.F)],this.P=1,this.j=this.R=this.i=0,this.D=this.N=this.F>>1}begin(){return new o(0,this)}end(){return new o(this.i,this)}rBegin(){return new o(this.i-1,this,1)}rEnd(){return new o(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(l){return this.i&&(this.N<this.F-1?this.N+=1:this.R<this.P-1?(this.R+=1,this.N=0):(this.R=0,this.N=0),this.R===this.j&&this.N===this.D&&this.T()),this.i+=1,this.A[this.R][this.N]=l,this.i}popBack(){if(this.i===0)return;let l=this.A[this.R][this.N];return this.i!==1&&(this.N>0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,l}pushFront(l){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=l,this.i}popFront(){if(this.i===0)return;let l=this.A[this.j][this.D];return this.i!==1&&(this.D<this.F-1?this.D+=1:this.j<this.P-1?(this.j+=1,this.D=0):(this.j=0,this.D=0)),this.i-=1,l}getElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:a,curNodePointerIndex:c}=this.O(l);return this.A[a][c]}setElementByPos(l,a){if(l<0||l>this.i-1)throw new RangeError;let{curNodeBucketIndex:c,curNodePointerIndex:u}=this.O(l);this.A[c][u]=a}insert(l,a,c=1){if(l<0||l>this.i)throw new RangeError;if(l===0)for(;c--;)this.pushFront(a);else if(l===this.i)for(;c--;)this.pushBack(a);else{let u=[];for(let h=l;h<this.i;++h)u.push(this.getElementByPos(h));this.cut(l-1);for(let h=0;h<c;++h)this.pushBack(a);for(let h=0;h<u.length;++h)this.pushBack(u[h])}return this.i}cut(l){if(l<0)return this.clear(),0;let{curNodeBucketIndex:a,curNodePointerIndex:c}=this.O(l);return this.R=a,this.N=c,this.i=l+1,this.i}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;if(l===0)this.popFront();else if(l===this.i-1)this.popBack();else{let a=[];for(let u=l+1;u<this.i;++u)a.push(this.getElementByPos(u));this.cut(l),this.popBack();let c=this;a.forEach(function(u){c.pushBack(u)})}return this.i}eraseElementByValue(l){if(this.i===0)return 0;let a=[];for(let u=0;u<this.i;++u){let h=this.getElementByPos(u);h!==l&&a.push(h)}let c=a.length;for(let u=0;u<c;++u)this.setElementByPos(u,a[u]);return this.cut(c-1)}eraseElementByIterator(l){let a=l.o;return this.eraseElementByPos(a),l=l.next(),l}find(l){for(let a=0;a<this.i;++a)if(this.getElementByPos(a)===l)return new o(a,this);return this.end()}reverse(){let l=0,a=this.i-1;for(;l<a;){let c=this.getElementByPos(l);this.setElementByPos(l,this.getElementByPos(a)),this.setElementByPos(a,c),l+=1,a-=1}}unique(){if(this.i<=1)return this.i;let l=1,a=this.getElementByPos(0);for(let c=1;c<this.i;++c){let u=this.getElementByPos(c);u!==a&&(a=u,this.setElementByPos(l++,u))}for(;this.i>l;)this.popBack();return this.i}sort(l){let a=[];for(let c=0;c<this.i;++c)a.push(this.getElementByPos(c));a.sort(l);for(let c=0;c<this.i;++c)this.setElementByPos(c,a[c])}shrinkToFit(){if(this.i===0)return;let l=[];this.forEach(function(a){l.push(a)}),this.P=Math.max(Math.ceil(this.i/this.F),1),this.i=this.j=this.R=this.D=this.N=0,this.A=[];for(let a=0;a<this.P;++a)this.A.push(new Array(this.F));for(let a=0;a<l.length;++a)this.pushBack(l[a])}forEach(l){for(let a=0;a<this.i;++a)l(this.getElementByPos(a),a,this)}[Symbol.iterator](){return(function*(){for(let l=0;l<this.i;++l)yield this.getElementByPos(l)}).bind(this)()}},i=n;d.default=i}),My=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.TreeNodeEnableIndex=d.TreeNode=void 0;var t=class{constructor(s,o){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=s,this.l=o}L(){let s=this;if(s.ee===1&&s.tt.tt===s)s=s.W;else if(s.U)for(s=s.U;s.W;)s=s.W;else{let o=s.tt;for(;o.U===s;)s=o,o=s.tt;s=o}return s}B(){let s=this;if(s.W){for(s=s.W;s.U;)s=s.U;return s}else{let o=s.tt;for(;o.W===s;)s=o,o=s.tt;return s.W!==o?o:s}}te(){let s=this.tt,o=this.W,n=o.U;return s.tt===this?s.tt=o:s.U===this?s.U=o:s.W=o,o.tt=s,o.U=this,this.tt=o,this.W=n,n&&(n.tt=this),o}se(){let s=this.tt,o=this.U,n=o.W;return s.tt===this?s.tt=o:s.U===this?s.U=o:s.W=o,o.tt=s,o.W=this,this.tt=o,this.U=n,n&&(n.tt=this),o}};d.TreeNode=t;var r=class extends t{constructor(){super(...arguments),this.rt=1}te(){let s=super.te();return this.ie(),s.ie(),s}se(){let s=super.se();return this.ie(),s.ie(),s}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}};d.TreeNodeEnableIndex=r}),oa=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=My(),r=At(),s=It(),o=class extends r.Container{constructor(i=function(a,c){return a<c?-1:a>c?1:0},l=!1){super(),this.Y=void 0,this.v=i,l?(this.re=t.TreeNodeEnableIndex,this.M=function(a,c,u){let h=this.ne(a,c,u);if(h){let m=h.tt;for(;m!==this.h;)m.rt+=1,m=m.tt;let f=this.he(h);if(f){let{parentNode:p,grandParent:w,curNode:N}=f;p.ie(),w.ie(),N.ie()}}return this.i},this.V=function(a){let c=this.fe(a);for(;c!==this.h;)c.rt-=1,c=c.tt}):(this.re=t.TreeNode,this.M=function(a,c,u){let h=this.ne(a,c,u);return h&&this.he(h),this.i},this.V=this.fe),this.h=new this.re}X(i,l){let a=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)i=i.W;else if(c>0)a=i,i=i.U;else return i}return a}Z(i,l){let a=this.h;for(;i;)this.v(i.u,l)<=0?i=i.W:(a=i,i=i.U);return a}$(i,l){let a=this.h;for(;i;){let c=this.v(i.u,l);if(c<0)a=i,i=i.W;else if(c>0)i=i.U;else return i}return a}rr(i,l){let a=this.h;for(;i;)this.v(i.u,l)<0?(a=i,i=i.W):i=i.U;return a}ue(i){for(;;){let l=i.tt;if(l===this.h)return;if(i.ee===1){i.ee=0;return}if(i===l.U){let a=l.W;if(a.ee===1)a.ee=0,l.ee=1,l===this.Y?this.Y=l.te():l.te();else if(a.W&&a.W.ee===1){a.ee=l.ee,l.ee=0,a.W.ee=0,l===this.Y?this.Y=l.te():l.te();return}else a.U&&a.U.ee===1?(a.ee=1,a.U.ee=0,a.se()):(a.ee=1,i=l)}else{let a=l.U;if(a.ee===1)a.ee=0,l.ee=1,l===this.Y?this.Y=l.se():l.se();else if(a.U&&a.U.ee===1){a.ee=l.ee,l.ee=0,a.U.ee=0,l===this.Y?this.Y=l.se():l.se();return}else a.W&&a.W.ee===1?(a.ee=1,a.W.ee=0,a.te()):(a.ee=1,i=l)}}}fe(i){if(this.i===1)return this.clear(),this.h;let l=i;for(;l.U||l.W;){if(l.W)for(l=l.W;l.U;)l=l.U;else l=l.U;[i.u,l.u]=[l.u,i.u],[i.l,l.l]=[l.l,i.l],i=l}this.h.U===l?this.h.U=l.tt:this.h.W===l&&(this.h.W=l.tt),this.ue(l);let a=l.tt;return l===a.U?a.U=void 0:a.W=void 0,this.i-=1,this.Y.ee=0,a}oe(i,l){return i===void 0?!1:this.oe(i.U,l)||l(i)?!0:this.oe(i.W,l)}he(i){for(;;){let l=i.tt;if(l.ee===0)return;let a=l.tt;if(l===a.U){let c=a.W;if(c&&c.ee===1){if(c.ee=l.ee=0,a===this.Y)return;a.ee=1,i=a;continue}else if(i===l.W){if(i.ee=0,i.U&&(i.U.tt=l),i.W&&(i.W.tt=a),l.W=i.U,a.U=i.W,i.U=l,i.W=a,a===this.Y)this.Y=i,this.h.tt=i;else{let u=a.tt;u.U===a?u.U=i:u.W=i}return i.tt=a.tt,l.tt=i,a.tt=i,a.ee=1,{parentNode:l,grandParent:a,curNode:i}}else l.ee=0,a===this.Y?this.Y=a.se():a.se(),a.ee=1}else{let c=a.U;if(c&&c.ee===1){if(c.ee=l.ee=0,a===this.Y)return;a.ee=1,i=a;continue}else if(i===l.U){if(i.ee=0,i.U&&(i.U.tt=a),i.W&&(i.W.tt=l),a.W=i.U,l.U=i.W,i.U=a,i.W=l,a===this.Y)this.Y=i,this.h.tt=i;else{let u=a.tt;u.U===a?u.U=i:u.W=i}return i.tt=a.tt,l.tt=i,a.tt=i,a.ee=1,{parentNode:l,grandParent:a,curNode:i}}else l.ee=0,a===this.Y?this.Y=a.te():a.te(),a.ee=1}return}}ne(i,l,a){if(this.Y===void 0){this.i+=1,this.Y=new this.re(i,l),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,this.h.W=this.Y;return}let c,u=this.h.U,h=this.v(u.u,i);if(h===0){u.l=l;return}else if(h>0)u.U=new this.re(i,l),u.U.tt=u,c=u.U,this.h.U=c;else{let m=this.h.W,f=this.v(m.u,i);if(f===0){m.l=l;return}else if(f<0)m.W=new this.re(i,l),m.W.tt=m,c=m.W,this.h.W=c;else{if(a!==void 0){let p=a.o;if(p!==this.h){let w=this.v(p.u,i);if(w===0){p.l=l;return}else if(w>0){let N=p.L(),S=this.v(N.u,i);if(S===0){N.l=l;return}else S<0&&(c=new this.re(i,l),N.W===void 0?(N.W=c,c.tt=N):(p.U=c,c.tt=p))}}}if(c===void 0)for(c=this.Y;;){let p=this.v(c.u,i);if(p>0){if(c.U===void 0){c.U=new this.re(i,l),c.U.tt=c,c=c.U;break}c=c.U}else if(p<0){if(c.W===void 0){c.W=new this.re(i,l),c.W.tt=c,c=c.W;break}c=c.W}else{c.l=l;return}}}}return this.i+=1,c}I(i,l){for(;i;){let a=this.v(i.u,l);if(a<0)i=i.W;else if(a>0)i=i.U;else return i}return i||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(i,l){let a=i.o;if(a===this.h&&(0,s.throwIteratorAccessError)(),this.i===1)return a.u=l,!0;if(a===this.h.U)return this.v(a.B().u,l)>0?(a.u=l,!0):!1;if(a===this.h.W)return this.v(a.L().u,l)<0?(a.u=l,!0):!1;let c=a.L().u;if(this.v(c,l)>=0)return!1;let u=a.B().u;return this.v(u,l)<=0?!1:(a.u=l,!0)}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=0,a=this;return this.oe(this.Y,function(c){return i===l?(a.V(c),!0):(l+=1,!1)}),this.i}eraseElementByKey(i){if(this.i===0)return!1;let l=this.I(this.Y,i);return l===this.h?!1:(this.V(l),!0)}eraseElementByIterator(i){let l=i.o;l===this.h&&(0,s.throwIteratorAccessError)();let a=l.W===void 0;return i.iteratorType===0?a&&i.next():(!a||l.U===void 0)&&i.next(),this.V(l),i}forEach(i){let l=0;for(let a of this)i(a,l++,this)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l,a=0;for(let c of this){if(a===i){l=c;break}a+=1}return l}getHeight(){if(this.i===0)return 0;let i=function(l){return l?Math.max(i(l.U),i(l.W))+1:0};return i(this.Y)}},n=o;d.default=n}),na=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=At(),r=It(),s=class extends t.ContainerIterator{constructor(n,i,l){super(l),this.o=n,this.h=i,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let n=this.o,i=this.h.tt;if(n===this.h)return i?i.rt-1:0;let l=0;for(n.U&&(l+=n.U.rt);n!==i;){let a=n.tt;n===a.W&&(l+=1,a.U&&(l+=a.U.rt)),n=a}return l}},o=s;d.default=o}),Ry=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=o(oa()),r=o(na()),s=It();function o(a){return a&&a.t?a:{default:a}}var n=class kc extends r.default{constructor(c,u,h,m){super(c,u,m),this.container=h}get pointer(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o.u}copy(){return new kc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(a=[],c,u){super(c,u);let h=this;a.forEach(function(m){h.insert(m)})}*K(a){a!==void 0&&(yield*this.K(a.U),yield a.u,yield*this.K(a.W))}begin(){return new n(this.h.U||this.h,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this.h.W||this.h,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(a,c){return this.M(a,void 0,c)}find(a){let c=this.I(this.Y,a);return new n(c,this.h,this)}lowerBound(a){let c=this.X(this.Y,a);return new n(c,this.h,this)}upperBound(a){let c=this.Z(this.Y,a);return new n(c,this.h,this)}reverseLowerBound(a){let c=this.$(this.Y,a);return new n(c,this.h,this)}reverseUpperBound(a){let c=this.rr(this.Y,a);return new n(c,this.h,this)}union(a){let c=this;return a.forEach(function(u){c.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;d.default=l}),jy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=o(oa()),r=o(na()),s=It();function o(a){return a&&a.t?a:{default:a}}var n=class _c extends r.default{constructor(c,u,h,m){super(c,u,m),this.container=h}get pointer(){this.o===this.h&&(0,s.throwIteratorAccessError)();let c=this;return new Proxy([],{get(u,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(u,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new _c(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.default{constructor(a=[],c,u){super(c,u);let h=this;a.forEach(function(m){h.setElement(m[0],m[1])})}*K(a){a!==void 0&&(yield*this.K(a.U),yield[a.u,a.l],yield*this.K(a.W))}begin(){return new n(this.h.U||this.h,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this.h.W||this.h,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){if(this.i===0)return;let a=this.h.U;return[a.u,a.l]}back(){if(this.i===0)return;let a=this.h.W;return[a.u,a.l]}lowerBound(a){let c=this.X(this.Y,a);return new n(c,this.h,this)}upperBound(a){let c=this.Z(this.Y,a);return new n(c,this.h,this)}reverseLowerBound(a){let c=this.$(this.Y,a);return new n(c,this.h,this)}reverseUpperBound(a){let c=this.rr(this.Y,a);return new n(c,this.h,this)}setElement(a,c,u){return this.M(a,c,u)}find(a){let c=this.I(this.Y,a);return new n(c,this.h,this)}getElementByKey(a){return this.I(this.Y,a).l}union(a){let c=this;return a.forEach(function(u){c.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}},l=i;d.default=l}),ia=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=t;function t(r){let s=typeof r;return s==="object"&&r!==null||s==="function"}}),sa=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.HashContainerIterator=d.HashContainer=void 0;var t=At(),r=o(ia()),s=It();function o(l){return l&&l.t?l:{default:l}}var n=class extends t.ContainerIterator{constructor(l,a,c){super(c),this.o=l,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,s.throwIteratorAccessError)(),this.o=this.o.L,this})}};d.HashContainerIterator=n;var i=class extends t.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(l){let{L:a,B:c}=l;a.B=c,c.L=a,l===this.p&&(this.p=c),l===this._&&(this._=a),this.i-=1}M(l,a,c){c===void 0&&(c=(0,r.default)(l));let u;if(c){let h=l[this.HASH_TAG];if(h!==void 0)return this.H[h].l=a,this.i;Object.defineProperty(l,this.HASH_TAG,{value:this.H.length,configurable:!0}),u={u:l,l:a,L:this._,B:this.h},this.H.push(u)}else{let h=this.g[l];if(h)return h.l=a,this.i;u={u:l,l:a,L:this._,B:this.h},this.g[l]=u}return this.i===0?(this.p=u,this.h.B=u):this._.B=u,this._=u,this.h.L=u,++this.i}I(l,a){if(a===void 0&&(a=(0,r.default)(l)),a){let c=l[this.HASH_TAG];return c===void 0?this.h:this.H[c]}else return this.g[l]||this.h}clear(){let l=this.HASH_TAG;this.H.forEach(function(a){delete a.u[l]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(l,a){let c;if(a===void 0&&(a=(0,r.default)(l)),a){let u=l[this.HASH_TAG];if(u===void 0)return!1;delete l[this.HASH_TAG],c=this.H[u],delete this.H[u]}else{if(c=this.g[l],c===void 0)return!1;delete this.g[l]}return this.V(c),!0}eraseElementByIterator(l){let a=l.o;return a===this.h&&(0,s.throwIteratorAccessError)(),this.V(a),l.next()}eraseElementByPos(l){if(l<0||l>this.i-1)throw new RangeError;let a=this.p;for(;l--;)a=a.B;return this.V(a),this.i}};d.HashContainer=i}),Ly=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=sa(),r=It(),s=class Nc extends t.HashContainerIterator{constructor(l,a,c,u){super(l,a,u),this.container=c}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new Nc(this.o,this.h,this.container,this.iteratorType)}},o=class extends t.HashContainer{constructor(i=[]){super();let l=this;i.forEach(function(a){l.insert(a)})}begin(){return new s(this.p,this.h,this)}end(){return new s(this.h,this.h,this)}rBegin(){return new s(this._,this.h,this,1)}rEnd(){return new s(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(i,l){return this.M(i,void 0,l)}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let l=this.p;for(;i--;)l=l.B;return l.u}find(i,l){let a=this.I(i,l);return new s(a,this.h,this)}forEach(i){let l=0,a=this.p;for(;a!==this.h;)i(a.u,l++,this),a=a.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield i.u,i=i.B}).bind(this)()}},n=o;d.default=n}),Uy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),d.default=void 0;var t=sa(),r=o(ia()),s=It();function o(a){return a&&a.t?a:{default:a}}var n=class Sc extends t.HashContainerIterator{constructor(c,u,h,m){super(c,u,m),this.container=h}get pointer(){this.o===this.h&&(0,s.throwIteratorAccessError)();let c=this;return new Proxy([],{get(u,h){if(h==="0")return c.o.u;if(h==="1")return c.o.l},set(u,h,m){if(h!=="1")throw new TypeError("props must be 1");return c.o.l=m,!0}})}copy(){return new Sc(this.o,this.h,this.container,this.iteratorType)}},i=class extends t.HashContainer{constructor(a=[]){super();let c=this;a.forEach(function(u){c.setElement(u[0],u[1])})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(a,c,u){return this.M(a,c,u)}getElementByKey(a,c){if(c===void 0&&(c=(0,r.default)(a)),c){let h=a[this.HASH_TAG];return h!==void 0?this.H[h].l:void 0}let u=this.g[a];return u?u.l:void 0}getElementByPos(a){if(a<0||a>this.i-1)throw new RangeError;let c=this.p;for(;a--;)c=c.B;return[c.u,c.l]}find(a,c){let u=this.I(a,c);return new n(u,this.h,this)}forEach(a){let c=0,u=this.p;for(;u!==this.h;)a([u.u,u.l],c++,this),u=u.B}[Symbol.iterator](){return(function*(){let a=this.p;for(;a!==this.h;)yield[a.u,a.l],a=a.B}).bind(this)()}},l=i;d.default=l}),Fy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"t",{value:!0}),Object.defineProperty(d,"Deque",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(d,"HashMap",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(d,"HashSet",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(d,"LinkList",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(d,"OrderedMap",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(d,"OrderedSet",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(d,"PriorityQueue",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(d,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(d,"Stack",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(d,"Vector",{enumerable:!0,get:function(){return o.default}});var t=h(Ty()),r=h($y()),s=h(By()),o=h(Dy()),n=h(Py()),i=h(Oy()),l=h(Ry()),a=h(jy()),c=h(Ly()),u=h(Uy());function h(m){return m&&m.t?m:{default:m}}}),zy=_e((d,t)=>{be(),Ee(),we();var r=Fy().OrderedSet,s=Ct()("number-allocator:trace"),o=Ct()("number-allocator:error");function n(l,a){this.low=l,this.high=a}n.prototype.equals=function(l){return this.low===l.low&&this.high===l.high},n.prototype.compare=function(l){return this.low<l.low&&this.high<l.low?-1:l.low<this.low&&l.high<this.low?1:0};function i(l,a){if(!(this instanceof i))return new i(l,a);this.min=l,this.max=a,this.ss=new r([],(c,u)=>c.compare(u)),s("Create"),this.clear()}i.prototype.firstVacant=function(){return this.ss.size()===0?null:this.ss.front().low},i.prototype.alloc=function(){if(this.ss.size()===0)return s("alloc():empty"),null;let l=this.ss.begin(),a=l.pointer.low,c=l.pointer.high,u=a;return u+1<=c?this.ss.updateKeyByIterator(l,new n(a+1,c)):this.ss.eraseElementByPos(0),s("alloc():"+u),u},i.prototype.use=function(l){let a=new n(l,l),c=this.ss.lowerBound(a);if(!c.equals(this.ss.end())){let u=c.pointer.low,h=c.pointer.high;return c.pointer.equals(a)?(this.ss.eraseElementByIterator(c),s("use():"+l),!0):u>l?!1:u===l?(this.ss.updateKeyByIterator(c,new n(u+1,h)),s("use():"+l),!0):h===l?(this.ss.updateKeyByIterator(c,new n(u,h-1)),s("use():"+l),!0):(this.ss.updateKeyByIterator(c,new n(l+1,h)),this.ss.insert(new n(u,l-1)),s("use():"+l),!0)}return s("use():failed"),!1},i.prototype.free=function(l){if(l<this.min||l>this.max){o("free():"+l+" is out of range");return}let a=new n(l,l),c=this.ss.upperBound(a);if(c.equals(this.ss.end())){if(c.equals(this.ss.begin())){this.ss.insert(a);return}c.pre();let u=c.pointer.high;c.pointer.high+1===l?this.ss.updateKeyByIterator(c,new n(u,l)):this.ss.insert(a)}else if(c.equals(this.ss.begin()))if(l+1===c.pointer.low){let u=c.pointer.high;this.ss.updateKeyByIterator(c,new n(l,u))}else this.ss.insert(a);else{let u=c.pointer.low,h=c.pointer.high;c.pre();let m=c.pointer.low;c.pointer.high+1===l?l+1===u?(this.ss.eraseElementByIterator(c),this.ss.updateKeyByIterator(c,new n(m,h))):this.ss.updateKeyByIterator(c,new n(m,l)):l+1===u?(this.ss.eraseElementByIterator(c.next()),this.ss.insert(new n(l,h))):this.ss.insert(a)}s("free():"+l)},i.prototype.clear=function(){s("clear()"),this.ss.clear(),this.ss.insert(new n(this.min,this.max))},i.prototype.intervalCount=function(){return this.ss.size()},i.prototype.dump=function(){console.log("length:"+this.ss.size());for(let l of this.ss)console.log(l)},t.exports=i}),aa=_e((d,t)=>{be(),Ee(),we();var r=zy();t.exports.NumberAllocator=r}),Wy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=Iy(),r=aa(),s=class{constructor(o){he(this,"aliasToTopic");he(this,"topicToAlias");he(this,"max");he(this,"numberAllocator");he(this,"length");o>0&&(this.aliasToTopic=new t.LRUCache({max:o}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,o),this.max=o,this.length=0)}put(o,n){if(n===0||n>this.max)return!1;let i=this.aliasToTopic.get(n);return i&&delete this.topicToAlias[i],this.aliasToTopic.set(n,o),this.topicToAlias[o]=n,this.numberAllocator.use(n),this.length=this.aliasToTopic.size,!0}getTopicByAlias(o){return this.aliasToTopic.get(o)}getAliasByTopic(o){let n=this.topicToAlias[o];return typeof n<"u"&&this.aliasToTopic.get(n),n}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}};d.default=s}),qy=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(d,"__esModule",{value:!0});var r=Pr(),s=t(Wy()),o=lr(),n=(i,l)=>{i.log("_handleConnack");let{options:a}=i,c=a.protocolVersion===5?l.reasonCode:l.returnCode;if(clearTimeout(i.connackTimer),delete i.topicAliasSend,l.properties){if(l.properties.topicAliasMaximum){if(l.properties.topicAliasMaximum>65535){i.emit("error",new Error("topicAliasMaximum from broker is out of range"));return}l.properties.topicAliasMaximum>0&&(i.topicAliasSend=new s.default(l.properties.topicAliasMaximum))}l.properties.serverKeepAlive&&a.keepalive&&(a.keepalive=l.properties.serverKeepAlive),l.properties.maximumPacketSize&&(a.properties||(a.properties={}),a.properties.maximumPacketSize=l.properties.maximumPacketSize)}if(c===0)i.reconnecting=!1,i._onConnect(l);else if(c>0){let u=new o.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[c]}`,c);i.emit("error",u),i.options.reconnectOnConnackError&&i._cleanUp(!0)}};d.default=n}),Gy=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=(r,s,o)=>{r.log("handling pubrel packet");let n=typeof o<"u"?o:r.noop,{messageId:i}=s,l={cmd:"pubcomp",messageId:i};r.incomingStore.get(s,(a,c)=>{a?r._sendPacket(l,n):(r.emit("message",c.topic,c.payload,c),r.handleMessage(c,u=>{if(u)return n(u);r.incomingStore.del(c,r.noop),r._sendPacket(l,n)}))})};d.default=t}),Hy=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(d,"__esModule",{value:!0});var r=t(Vy()),s=t(Ay()),o=t(qy()),n=t(Pr()),i=t(Gy()),l=(a,c,u)=>{let{options:h}=a;if(h.protocolVersion===5&&h.properties&&h.properties.maximumPacketSize&&h.properties.maximumPacketSize<c.length)return a.emit("error",new Error(`exceeding packets size ${c.cmd}`)),a.end({reasonCode:149,properties:{reasonString:"Maximum packet size was exceeded"}}),a;switch(a.log("_handlePacket :: emitting packetreceive"),a.emit("packetreceive",c),c.cmd){case"publish":(0,r.default)(a,c,u);break;case"puback":case"pubrec":case"pubcomp":case"suback":case"unsuback":a.reschedulePing(),(0,n.default)(a,c),u();break;case"pubrel":a.reschedulePing(),(0,i.default)(a,c,u);break;case"connack":(0,o.default)(a,c),u();break;case"auth":a.reschedulePing(),(0,s.default)(a,c),u();break;case"pingresp":a.log("_handlePacket :: received pingresp"),a.reschedulePing(!0),u();break;case"disconnect":a.emit("disconnect",c),u();break;default:a.log("_handlePacket :: unknown command"),u();break}};d.default=l}),la=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=class{constructor(){he(this,"nextId");this.nextId=Math.max(1,Math.floor(Math.random()*65535))}allocate(){let r=this.nextId++;return this.nextId===65536&&(this.nextId=1),r}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(r){return!0}deallocate(r){}clear(){}};d.default=t}),Ky=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=class{constructor(r){he(this,"aliasToTopic");he(this,"max");he(this,"length");this.aliasToTopic={},this.max=r}put(r,s){return s===0||s>this.max?!1:(this.aliasToTopic[s]=r,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(r){return this.aliasToTopic[r]}clear(){this.aliasToTopic={}}};d.default=t}),Qy=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(d,"__esModule",{value:!0}),d.TypedEventEmitter=void 0;var r=t((Jt(),qe(Pt))),s=lr(),o=class{};d.TypedEventEmitter=o,(0,s.applyMixin)(o,r.default)}),Or=_e((d,t)=>{be(),Ee(),we();function r(s){"@babel/helpers - typeof";return t.exports=r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},t.exports.__esModule=!0,t.exports.default=t.exports,r(s)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),Yy=_e((d,t)=>{be(),Ee(),we();var r=Or().default;function s(o,n){if(r(o)!="object"||!o)return o;var i=o[Symbol.toPrimitive];if(i!==void 0){var l=i.call(o,n||"default");if(r(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(o)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),Jy=_e((d,t)=>{be(),Ee(),we();var r=Or().default,s=Yy();function o(n){var i=s(n,"string");return r(i)=="symbol"?i:i+""}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports}),Xy=_e((d,t)=>{be(),Ee(),we();var r=Jy();function s(o,n,i){return(n=r(n))in o?Object.defineProperty(o,n,{value:i,enumerable:!0,configurable:!0,writable:!0}):o[n]=i,o}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),Zy=_e((d,t)=>{be(),Ee(),we();function r(s){if(Array.isArray(s))return s}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),e0=_e((d,t)=>{be(),Ee(),we();function r(s,o){var n=s==null?null:typeof Symbol<"u"&&s[Symbol.iterator]||s["@@iterator"];if(n!=null){var i,l,a,c,u=[],h=!0,m=!1;try{if(a=(n=n.call(s)).next,o===0){if(Object(n)!==n)return;h=!1}else for(;!(h=(i=a.call(n)).done)&&(u.push(i.value),u.length!==o);h=!0);}catch(f){m=!0,l=f}finally{try{if(!h&&n.return!=null&&(c=n.return(),Object(c)!==c))return}finally{if(m)throw l}}return u}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),t0=_e((d,t)=>{be(),Ee(),we();function r(s,o){(o==null||o>s.length)&&(o=s.length);for(var n=0,i=Array(o);n<o;n++)i[n]=s[n];return i}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),r0=_e((d,t)=>{be(),Ee(),we();var r=t0();function s(o,n){if(o){if(typeof o=="string")return r(o,n);var i={}.toString.call(o).slice(8,-1);return i==="Object"&&o.constructor&&(i=o.constructor.name),i==="Map"||i==="Set"?Array.from(o):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(o,n):void 0}}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),o0=_e((d,t)=>{be(),Ee(),we();function r(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
8
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),n0=_e((d,t)=>{be(),Ee(),we();var r=Zy(),s=e0(),o=r0(),n=o0();function i(l,a){return r(l)||s(l,a)||o(l,a)||n()}t.exports=i,t.exports.__esModule=!0,t.exports.default=t.exports}),ca=_e((d,t)=>{be(),Ee(),we(),function(r,s){typeof d=="object"&&typeof t<"u"?s(d):typeof define=="function"&&define.amd?define(["exports"],s):(r=typeof globalThis<"u"?globalThis:r||self,s(r.fastUniqueNumbers={}))}(d,function(r){var s=function(f){return function(p){var w=f(p);return p.add(w),w}},o=function(f){return function(p,w){return f.set(p,w),w}},n=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,l=i*2,a=function(f,p){return function(w){var N=p.get(w),S=N===void 0?w.size:N<l?N+1:0;if(!w.has(S))return f(w,S);if(w.size<i){for(;w.has(S);)S=Math.floor(Math.random()*l);return f(w,S)}if(w.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;w.has(S);)S=Math.floor(Math.random()*n);return f(w,S)}},c=new WeakMap,u=o(c),h=a(u,c),m=s(h);r.addUniqueNumber=m,r.generateUniqueNumber=h})}),i0=_e((d,t)=>{be(),Ee(),we();function r(o,n,i,l,a,c,u){try{var h=o[c](u),m=h.value}catch(f){return void i(f)}h.done?n(m):Promise.resolve(m).then(l,a)}function s(o){return function(){var n=this,i=arguments;return new Promise(function(l,a){var c=o.apply(n,i);function u(m){r(c,l,a,u,h,"next",m)}function h(m){r(c,l,a,u,h,"throw",m)}u(void 0)})}}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),da=_e((d,t)=>{be(),Ee(),we();function r(s,o){this.v=s,this.k=o}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),ua=_e((d,t)=>{be(),Ee(),we();function r(s,o,n,i){var l=Object.defineProperty;try{l({},"",{})}catch{l=0}t.exports=r=function(a,c,u,h){function m(f,p){r(a,f,function(w){return this._invoke(f,p,w)})}c?l?l(a,c,{value:u,enumerable:!h,configurable:!h,writable:!h}):a[c]=u:(m("next",0),m("throw",1),m("return",2))},t.exports.__esModule=!0,t.exports.default=t.exports,r(s,o,n,i)}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),fa=_e((d,t)=>{be(),Ee(),we();var r=ua();function s(){var o,n,i=typeof Symbol=="function"?Symbol:{},l=i.iterator||"@@iterator",a=i.toStringTag||"@@toStringTag";function c(S,y,v,_){var k=y&&y.prototype instanceof h?y:h,C=Object.create(k.prototype);return r(C,"_invoke",function($,A,T){var I,B,V,L=0,K=T||[],U=!1,de={p:0,n:0,v:o,a:ne,f:ne.bind(o,4),d:function(re,fe){return I=re,B=0,V=o,de.n=fe,u}};function ne(re,fe){for(B=re,V=fe,n=0;!U&&L&&!Y&&n<K.length;n++){var Y,ae=K[n],M=de.p,J=ae[2];re>3?(Y=J===fe)&&(V=ae[(B=ae[4])?5:(B=3,3)],ae[4]=ae[5]=o):ae[0]<=M&&((Y=re<2&&M<ae[1])?(B=0,de.v=fe,de.n=ae[1]):M<J&&(Y=re<3||ae[0]>fe||fe>J)&&(ae[4]=re,ae[5]=fe,de.n=J,B=0))}if(Y||re>1)return u;throw U=!0,fe}return function(re,fe,Y){if(L>1)throw TypeError("Generator is already running");for(U&&fe===1&&ne(fe,Y),B=fe,V=Y;(n=B<2?o:V)||!U;){I||(B?B<3?(B>1&&(de.n=-1),ne(B,V)):de.n=V:de.v=V);try{if(L=2,I){if(B||(re="next"),n=I[re]){if(!(n=n.call(I,V)))throw TypeError("iterator result is not an object");if(!n.done)return n;V=n.value,B<2&&(B=0)}else B===1&&(n=I.return)&&n.call(I),B<2&&(V=TypeError("The iterator does not provide a '"+re+"' method"),B=1);I=o}else if((n=(U=de.n<0)?V:$.call(A,de))!==u)break}catch(ae){I=o,B=1,V=ae}finally{L=1}}return{value:n,done:U}}}(S,v,_),!0),C}var u={};function h(){}function m(){}function f(){}n=Object.getPrototypeOf;var p=[][l]?n(n([][l]())):(r(n={},l,function(){return this}),n),w=f.prototype=h.prototype=Object.create(p);function N(S){return Object.setPrototypeOf?Object.setPrototypeOf(S,f):(S.__proto__=f,r(S,a,"GeneratorFunction")),S.prototype=Object.create(w),S}return m.prototype=f,r(w,"constructor",f),r(f,"constructor",m),m.displayName="GeneratorFunction",r(f,a,"GeneratorFunction"),r(w),r(w,a,"Generator"),r(w,l,function(){return this}),r(w,"toString",function(){return"[object Generator]"}),(t.exports=s=function(){return{w:c,m:N}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),pa=_e((d,t)=>{be(),Ee(),we();var r=da(),s=ua();function o(n,i){function l(c,u,h,m){try{var f=n[c](u),p=f.value;return p instanceof r?i.resolve(p.v).then(function(w){l("next",w,h,m)},function(w){l("throw",w,h,m)}):i.resolve(p).then(function(w){f.value=w,h(f)},function(w){return l("throw",w,h,m)})}catch(w){m(w)}}var a;this.next||(s(o.prototype),s(o.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),s(this,"_invoke",function(c,u,h){function m(){return new i(function(f,p){l(c,h,f,p)})}return a=a?a.then(m,m):m()},!0)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports}),ha=_e((d,t)=>{be(),Ee(),we();var r=fa(),s=pa();function o(n,i,l,a,c){return new s(r().w(n,i,l,a),c||Promise)}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports}),s0=_e((d,t)=>{be(),Ee(),we();var r=ha();function s(o,n,i,l,a){var c=r(o,n,i,l,a);return c.next().then(function(u){return u.done?u.value:c.next()})}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),a0=_e((d,t)=>{be(),Ee(),we();function r(s){var o=Object(s),n=[];for(var i in o)n.unshift(i);return function l(){for(;n.length;)if((i=n.pop())in o)return l.value=i,l.done=!1,l;return l.done=!0,l}}t.exports=r,t.exports.__esModule=!0,t.exports.default=t.exports}),l0=_e((d,t)=>{be(),Ee(),we();var r=Or().default;function s(o){if(o!=null){var n=o[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],i=0;if(n)return n.call(o);if(typeof o.next=="function")return o;if(!isNaN(o.length))return{next:function(){return o&&i>=o.length&&(o=void 0),{value:o&&o[i++],done:!o}}}}throw new TypeError(r(o)+" is not iterable")}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports}),c0=_e((d,t)=>{be(),Ee(),we();var r=da(),s=fa(),o=s0(),n=ha(),i=pa(),l=a0(),a=l0();function c(){var u=s(),h=u.m(c),m=(Object.getPrototypeOf?Object.getPrototypeOf(h):h.__proto__).constructor;function f(N){var S=typeof N=="function"&&N.constructor;return!!S&&(S===m||(S.displayName||S.name)==="GeneratorFunction")}var p={throw:1,return:2,break:3,continue:3};function w(N){var S,y;return function(v){S||(S={stop:function(){return y(v.a,2)},catch:function(){return v.v},abrupt:function(_,k){return y(v.a,p[_],k)},delegateYield:function(_,k,C){return S.resultName=k,y(v.d,a(_),C)},finish:function(_){return y(v.f,_)}},y=function(_,k,C){v.p=S.prev,v.n=S.next;try{return _(k,C)}finally{S.next=v.n}}),S.resultName&&(S[S.resultName]=v.v,S.resultName=void 0),S.sent=v.v,S.next=v.n;try{return N.call(this,S)}finally{v.p=S.prev,v.n=S.next}}}return(t.exports=c=function(){return{wrap:function(N,S,y,v){return u.w(w(N),S,y,v&&v.reverse())},isGeneratorFunction:f,mark:u.m,awrap:function(N,S){return new r(N,S)},AsyncIterator:i,async:function(N,S,y,v,_){return(f(S)?n:o)(w(N),S,y,v,_)},keys:l,values:a}},t.exports.__esModule=!0,t.exports.default=t.exports)()}t.exports=c,t.exports.__esModule=!0,t.exports.default=t.exports}),d0=_e((d,t)=>{be(),Ee(),we();var r=c0()();t.exports=r;try{regeneratorRuntime=r}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=r:Function("r","regeneratorRuntime = r")(r)}}),u0=_e((d,t)=>{be(),Ee(),we(),function(r,s){typeof d=="object"&&typeof t<"u"?s(d,Xy(),n0(),ca(),i0(),d0()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/defineProperty","@babel/runtime/helpers/slicedToArray","fast-unique-numbers","@babel/runtime/helpers/asyncToGenerator","@babel/runtime/regenerator"],s):(r=typeof globalThis<"u"?globalThis:r||self,s(r.brokerFactory={},r._defineProperty,r._slicedToArray,r.fastUniqueNumbers,r._asyncToGenerator,r._regeneratorRuntime))}(d,function(r,s,o,n,i,l){var a=function(y){return typeof y.start=="function"},c=new WeakMap;function u(y,v){var _=Object.keys(y);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(y);v&&(k=k.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),_.push.apply(_,k)}return _}function h(y){for(var v=1;v<arguments.length;v++){var _=arguments[v]!=null?arguments[v]:{};v%2?u(Object(_),!0).forEach(function(k){s(y,k,_[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(_)):u(Object(_)).forEach(function(k){Object.defineProperty(y,k,Object.getOwnPropertyDescriptor(_,k))})}return y}var m=function(y){return h(h({},y),{},{connect:function(v){var _=v.call;return i(l.mark(function k(){var C,$,A,T;return l.wrap(function(I){for(;;)switch(I.prev=I.next){case 0:return C=new MessageChannel,$=C.port1,A=C.port2,I.next=1,_("connect",{port:$},[$]);case 1:return T=I.sent,c.set(A,T),I.abrupt("return",A);case 2:case"end":return I.stop()}},k)}))},disconnect:function(v){var _=v.call;return function(){var k=i(l.mark(function C($){var A;return l.wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(A=c.get($),A!==void 0){T.next=1;break}throw new Error("The given port is not connected.");case 1:return T.next=2,_("disconnect",{portId:A});case 2:case"end":return T.stop()}},C)}));return function(C){return k.apply(this,arguments)}}()},isSupported:function(v){var _=v.call;return function(){return _("isSupported")}}})};function f(y,v){var _=Object.keys(y);if(Object.getOwnPropertySymbols){var k=Object.getOwnPropertySymbols(y);v&&(k=k.filter(function(C){return Object.getOwnPropertyDescriptor(y,C).enumerable})),_.push.apply(_,k)}return _}function p(y){for(var v=1;v<arguments.length;v++){var _=arguments[v]!=null?arguments[v]:{};v%2?f(Object(_),!0).forEach(function(k){s(y,k,_[k])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(_)):f(Object(_)).forEach(function(k){Object.defineProperty(y,k,Object.getOwnPropertyDescriptor(_,k))})}return y}var w=new WeakMap,N=function(y){if(w.has(y))return w.get(y);var v=new Map;return w.set(y,v),v},S=function(y){var v=m(y);return function(_){var k=N(_);_.addEventListener("message",function(K){var U=K.data,de=U.id;if(de!==null&&k.has(de)){var ne=k.get(de),re=ne.reject,fe=ne.resolve;k.delete(de),U.error===void 0?fe(U.result):re(new Error(U.error.message))}}),a(_)&&_.start();for(var C=function(K){var U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return new Promise(function(ne,re){var fe=n.generateUniqueNumber(k);k.set(fe,{reject:re,resolve:ne}),U===null?_.postMessage({id:fe,method:K},de):_.postMessage({id:fe,method:K,params:U},de)})},$=function(K,U){var de=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];_.postMessage({id:null,method:K,params:U},de)},A={},T=0,I=Object.entries(v);T<I.length;T++){var B=o(I[T],2),V=B[0],L=B[1];A=p(p({},A),{},s({},V,L({call:C,notify:$})))}return p({},A)}};r.createBroker=S})}),f0=_e((d,t)=>{be(),Ee(),we(),function(r,s){typeof d=="object"&&typeof t<"u"?s(d,Or(),u0(),ca()):typeof define=="function"&&define.amd?define(["exports","@babel/runtime/helpers/typeof","broker-factory","fast-unique-numbers"],s):(r=typeof globalThis<"u"?globalThis:r||self,s(r.workerTimersBroker={},r._typeof,r.brokerFactory,r.fastUniqueNumbers))}(d,function(r,s,o,n){var i=new Map([[0,null]]),l=new Map([[0,null]]),a=o.createBroker({clearInterval:function(u){var h=u.call;return function(m){s(i.get(m))==="symbol"&&(i.set(m,null),h("clear",{timerId:m,timerType:"interval"}).then(function(){i.delete(m)}))}},clearTimeout:function(u){var h=u.call;return function(m){s(l.get(m))==="symbol"&&(l.set(m,null),h("clear",{timerId:m,timerType:"timeout"}).then(function(){l.delete(m)}))}},setInterval:function(u){var h=u.call;return function(m){for(var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length,w=new Array(p>2?p-2:0),N=2;N<p;N++)w[N-2]=arguments[N];var S=Symbol(),y=n.generateUniqueNumber(i);i.set(y,S);var v=function(){return h("set",{delay:f,now:performance.timeOrigin+performance.now(),timerId:y,timerType:"interval"}).then(function(){var _=i.get(y);if(_===void 0)throw new Error("The timer is in an undefined state.");_===S&&(m.apply(void 0,w),i.get(y)===S&&v())})};return v(),y}},setTimeout:function(u){var h=u.call;return function(m){for(var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,p=arguments.length,w=new Array(p>2?p-2:0),N=2;N<p;N++)w[N-2]=arguments[N];var S=Symbol(),y=n.generateUniqueNumber(l);return l.set(y,S),h("set",{delay:f,now:performance.timeOrigin+performance.now(),timerId:y,timerType:"timeout"}).then(function(){var v=l.get(y);if(v===void 0)throw new Error("The timer is in an undefined state.");v===S&&(l.delete(y),m.apply(void 0,w))}),y}}}),c=function(u){var h=new Worker(u);return a(h)};r.load=c,r.wrap=a})}),p0=_e((d,t)=>{be(),Ee(),we(),function(r,s){typeof d=="object"&&typeof t<"u"?s(d,f0()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],s):(r=typeof globalThis<"u"?globalThis:r||self,s(r.workerTimers={},r.workerTimersBroker))}(d,function(r,s){var o=function(h,m){var f=null;return function(){if(f!==null)return f;var p=new Blob([m],{type:"application/javascript; charset=utf-8"}),w=URL.createObjectURL(p);return f=h(w),setTimeout(function(){return URL.revokeObjectURL(w)}),f}},n=`(()=>{var e={45:(e,t,r)=>{var n=r(738).default;e.exports=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},79:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},122:(e,t,r)=>{var n=r(79);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},156:e=>{e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,a,i=[],s=!0,c=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=u.call(r)).done)&&(i.push(n.value),i.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return i}},e.exports.__esModule=!0,e.exports.default=e.exports},172:e=>{e.exports=function(e,t){this.v=e,this.k=t},e.exports.__esModule=!0,e.exports.default=e.exports},293:e=>{function t(e,t,r,n,o,u,a){try{var i=e[u](a),s=i.value}catch(e){return void r(e)}i.done?t(s):Promise.resolve(s).then(n,o)}e.exports=function(e){return function(){var r=this,n=arguments;return new Promise((function(o,u){var a=e.apply(r,n);function i(e){t(a,o,u,i,s,"next",e)}function s(e){t(a,o,u,i,s,"throw",e)}i(void 0)}))}},e.exports.__esModule=!0,e.exports.default=e.exports},373:e=>{e.exports=function(e){var t=Object(e),r=[];for(var n in t)r.unshift(n);return function e(){for(;r.length;)if((n=r.pop())in t)return e.value=n,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports},389:function(e,t){!function(e){"use strict";var t=function(e){return function(t){var r=e(t);return t.add(r),r}},r=function(e){return function(t,r){return e.set(t,r),r}},n=void 0===Number.MAX_SAFE_INTEGER?9007199254740991:Number.MAX_SAFE_INTEGER,o=536870912,u=2*o,a=function(e,t){return function(r){var a=t.get(r),i=void 0===a?r.size:a<u?a+1:0;if(!r.has(i))return e(r,i);if(r.size<o){for(;r.has(i);)i=Math.floor(Math.random()*u);return e(r,i)}if(r.size>n)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;r.has(i);)i=Math.floor(Math.random()*n);return e(r,i)}},i=new WeakMap,s=r(i),c=a(s,i),f=t(c);e.addUniqueNumber=f,e.generateUniqueNumber=c}(t)},472:function(e,t,r){!function(e,t,r,n){"use strict";var o=function(e,t){return function(r){var o=t.get(r);if(void 0===o)return Promise.resolve(!1);var u=n(o,2),a=u[0],i=u[1];return e(a),t.delete(r),i(!1),Promise.resolve(!0)}},u=function(e,t){var r=function(n,o,u,a){var i=n-e.now();i>0?o.set(a,[t(r,i,n,o,u,a),u]):(o.delete(a),u(!0))};return r},a=function(e,t,r,n){return function(o,u,a){var i=o+u-t.timeOrigin,s=i-t.now();return new Promise((function(t){e.set(a,[r(n,s,i,e,t,a),t])}))}},i=new Map,s=o(globalThis.clearTimeout,i),c=new Map,f=o(globalThis.clearTimeout,c),l=u(performance,globalThis.setTimeout),p=a(i,performance,globalThis.setTimeout,l),d=a(c,performance,globalThis.setTimeout,l);r.createWorker(self,{clear:function(){var r=e(t.mark((function e(r){var n,o,u;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.timerId,o=r.timerType,e.next=1,"interval"===o?s(n):f(n);case 1:return u=e.sent,e.abrupt("return",{result:u});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}(),set:function(){var r=e(t.mark((function e(r){var n,o,u,a,i;return t.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=r.delay,o=r.now,u=r.timerId,a=r.timerType,e.next=1,("interval"===a?p:d)(n,o,u);case 1:return i=e.sent,e.abrupt("return",{result:i});case 2:case"end":return e.stop()}}),e)})));function n(e){return r.apply(this,arguments)}return n}()})}(r(293),r(756),r(623),r(715))},546:e=>{function t(r,n,o,u){var a=Object.defineProperty;try{a({},"",{})}catch(r){a=0}e.exports=t=function(e,r,n,o){if(r)a?a(e,r,{value:n,enumerable:!o,configurable:!o,writable:!o}):e[r]=n;else{var u=function(r,n){t(e,r,(function(e){return this._invoke(r,n,e)}))};u("next",0),u("throw",1),u("return",2)}},e.exports.__esModule=!0,e.exports.default=e.exports,t(r,n,o,u)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},579:(e,t,r)=>{var n=r(738).default;e.exports=function(e){if(null!=e){var t=e["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],r=0;if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}throw new TypeError(n(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports},623:function(e,t,r){!function(e,t,r,n,o){"use strict";var u={INTERNAL_ERROR:-32603,INVALID_PARAMS:-32602,METHOD_NOT_FOUND:-32601},a=function(e,t){return Object.assign(new Error(e),{status:t})},i=function(e){return a('The requested method called "'.concat(e,'" is not supported.'),u.METHOD_NOT_FOUND)},s=function(e){return a('The handler of the method called "'.concat(e,'" returned no required result.'),u.INTERNAL_ERROR)},c=function(e){return a('The handler of the method called "'.concat(e,'" returned an unexpected result.'),u.INTERNAL_ERROR)},f=function(e){return a('The specified parameter called "portId" with the given value "'.concat(e,'" does not identify a port connected to this worker.'),u.INVALID_PARAMS)},l=function(e,n){return function(){var o=t(r.mark((function t(o){var u,a,f,l,p,d,v,x,y,b,h,m,_,g,w;return r.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=o.data,a=u.id,f=u.method,l=u.params,p=n[f],t.prev=1,void 0!==p){t.next=2;break}throw i(f);case 2:if(void 0!==(d=void 0===l?p():p(l))){t.next=3;break}throw s(f);case 3:if(!(d instanceof Promise)){t.next=5;break}return t.next=4,d;case 4:g=t.sent,t.next=6;break;case 5:g=d;case 6:if(v=g,null!==a){t.next=8;break}if(void 0===v.result){t.next=7;break}throw c(f);case 7:t.next=10;break;case 8:if(void 0!==v.result){t.next=9;break}throw c(f);case 9:x=v.result,y=v.transferables,b=void 0===y?[]:y,e.postMessage({id:a,result:x},b);case 10:t.next=12;break;case 11:t.prev=11,w=t.catch(1),h=w.message,m=w.status,_=void 0===m?-32603:m,e.postMessage({error:{code:_,message:h},id:a});case 12:case"end":return t.stop()}}),t,null,[[1,11]])})));return function(e){return o.apply(this,arguments)}}()},p=function(){return new Promise((function(e){var t=new ArrayBuffer(0),r=new MessageChannel,n=r.port1,o=r.port2;n.onmessage=function(t){var r=t.data;return e(null!==r)},o.postMessage(t,[t])}))};function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function v(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=new Map,y=function(e,n,u){return v(v({},n),{},{connect:function(t){var r=t.port;r.start();var u=e(r,n),a=o.generateUniqueNumber(x);return x.set(a,(function(){u(),r.close(),x.delete(a)})),{result:a}},disconnect:function(e){var t=e.portId,r=x.get(t);if(void 0===r)throw f(t);return r(),{result:null}},isSupported:function(){var e=t(r.mark((function e(){var t,n,o;return r.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=1,p();case 1:if(!e.sent){e.next=5;break}if(!((t=u())instanceof Promise)){e.next=3;break}return e.next=2,t;case 2:o=e.sent,e.next=4;break;case 3:o=t;case 4:return n=o,e.abrupt("return",{result:n});case 5:return e.abrupt("return",{result:!1});case 6:case"end":return e.stop()}}),e)})));function n(){return e.apply(this,arguments)}return n}()})},b=function(e,t){var r=y(b,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){return!0}),n=l(e,r);return e.addEventListener("message",n),function(){return e.removeEventListener("message",n)}};e.createWorker=b,e.isSupported=p}(t,r(293),r(756),r(693),r(389))},633:(e,t,r)=>{var n=r(172),o=r(993),u=r(869),a=r(887),i=r(791),s=r(373),c=r(579);function f(){"use strict";var t=o(),r=t.m(f),l=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function p(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===l||"GeneratorFunction"===(t.displayName||t.name))}var d={throw:1,return:2,break:3,continue:3};function v(e){var t,r;return function(n){t||(t={stop:function(){return r(n.a,2)},catch:function(){return n.v},abrupt:function(e,t){return r(n.a,d[e],t)},delegateYield:function(e,o,u){return t.resultName=o,r(n.d,c(e),u)},finish:function(e){return r(n.f,e)}},r=function(e,r,o){n.p=t.prev,n.n=t.next;try{return e(r,o)}finally{t.next=n.n}}),t.resultName&&(t[t.resultName]=n.v,t.resultName=void 0),t.sent=n.v,t.next=n.n;try{return e.call(this,t)}finally{n.p=t.prev,n.n=t.next}}}return(e.exports=f=function(){return{wrap:function(e,r,n,o){return t.w(v(e),r,n,o&&o.reverse())},isGeneratorFunction:p,mark:t.m,awrap:function(e,t){return new n(e,t)},AsyncIterator:i,async:function(e,t,r,n,o){return(p(t)?a:u)(v(e),t,r,n,o)},keys:s,values:c}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=f,e.exports.__esModule=!0,e.exports.default=e.exports},693:(e,t,r)=>{var n=r(736);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},715:(e,t,r)=>{var n=r(987),o=r(156),u=r(122),a=r(752);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||a()},e.exports.__esModule=!0,e.exports.default=e.exports},736:(e,t,r)=>{var n=r(738).default,o=r(45);e.exports=function(e){var t=o(e,"string");return"symbol"==n(t)?t:t+""},e.exports.__esModule=!0,e.exports.default=e.exports},738:e=>{function t(r){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},752:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},756:(e,t,r)=>{var n=r(633)();e.exports=n;try{regeneratorRuntime=n}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},791:(e,t,r)=>{var n=r(172),o=r(546);e.exports=function e(t,r){function u(e,o,a,i){try{var s=t[e](o),c=s.value;return c instanceof n?r.resolve(c.v).then((function(e){u("next",e,a,i)}),(function(e){u("throw",e,a,i)})):r.resolve(c).then((function(e){s.value=e,a(s)}),(function(e){return u("throw",e,a,i)}))}catch(e){i(e)}}var a;this.next||(o(e.prototype),o(e.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",(function(){return this}))),o(this,"_invoke",(function(e,t,n){function o(){return new r((function(t,r){u(e,n,t,r)}))}return a=a?a.then(o,o):o()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports},869:(e,t,r)=>{var n=r(887);e.exports=function(e,t,r,o,u){var a=n(e,t,r,o,u);return a.next().then((function(e){return e.done?e.value:a.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports},887:(e,t,r)=>{var n=r(993),o=r(791);e.exports=function(e,t,r,u,a){return new o(n().w(e,t,r,u),a||Promise)},e.exports.__esModule=!0,e.exports.default=e.exports},987:e=>{e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},993:(e,t,r)=>{var n=r(546);function o(){var t,r,u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",i=u.toStringTag||"@@toStringTag";function s(e,o,u,a){var i=o&&o.prototype instanceof f?o:f,s=Object.create(i.prototype);return n(s,"_invoke",function(e,n,o){var u,a,i,s=0,f=o||[],l=!1,p={p:0,n:0,v:t,a:d,f:d.bind(t,4),d:function(e,r){return u=e,a=0,i=t,p.n=r,c}};function d(e,n){for(a=e,i=n,r=0;!l&&s&&!o&&r<f.length;r++){var o,u=f[r],d=p.p,v=u[2];e>3?(o=v===n)&&(i=u[(a=u[4])?5:(a=3,3)],u[4]=u[5]=t):u[0]<=d&&((o=e<2&&d<u[1])?(a=0,p.v=n,p.n=u[1]):d<v&&(o=e<3||u[0]>n||n>v)&&(u[4]=e,u[5]=n,p.n=v,a=0))}if(o||e>1)return c;throw l=!0,n}return function(o,f,v){if(s>1)throw TypeError("Generator is already running");for(l&&1===f&&d(f,v),a=f,i=v;(r=a<2?t:i)||!l;){u||(a?a<3?(a>1&&(p.n=-1),d(a,i)):p.n=i:p.v=i);try{if(s=2,u){if(a||(o="next"),r=u[o]){if(!(r=r.call(u,i)))throw TypeError("iterator result is not an object");if(!r.done)return r;i=r.value,a<2&&(a=0)}else 1===a&&(r=u.return)&&r.call(u),a<2&&(i=TypeError("The iterator does not provide a '"+o+"' method"),a=1);u=t}else if((r=(l=p.n<0)?i:e.call(n,p))!==c)break}catch(e){u=t,a=1,i=e}finally{s=1}}return{value:r,done:l}}}(e,u,a),!0),s}var c={};function f(){}function l(){}function p(){}r=Object.getPrototypeOf;var d=[][a]?r(r([][a]())):(n(r={},a,(function(){return this})),r),v=p.prototype=f.prototype=Object.create(d);function x(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,n(e,i,"GeneratorFunction")),e.prototype=Object.create(v),e}return l.prototype=p,n(v,"constructor",p),n(p,"constructor",l),l.displayName="GeneratorFunction",n(p,i,"GeneratorFunction"),n(v),n(v,i,"Generator"),n(v,a,(function(){return this})),n(v,"toString",(function(){return"[object Generator]"})),(e.exports=o=function(){return{w:s,m:x}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=o,e.exports.__esModule=!0,e.exports.default=e.exports}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n].call(u.exports,u,u.exports,r),u.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`,i=o(s.load,n),l=function(h){return i().clearInterval(h)},a=function(h){return i().clearTimeout(h)},c=function(){var h;return(h=i()).setInterval.apply(h,arguments)},u=function(){var h;return(h=i()).setTimeout.apply(h,arguments)};r.clearInterval=l,r.clearTimeout=a,r.setInterval=c,r.setTimeout=u})}),Mr=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.isReactNativeBrowser=d.isWebWorker=void 0;var t=()=>{var n;return typeof window<"u"?typeof navigator<"u"&&((n=navigator.userAgent)==null?void 0:n.toLowerCase().indexOf(" electron/"))>-1&&(ze!=null&&ze.versions)?!Object.prototype.hasOwnProperty.call(ze.versions,"electron"):typeof window.document<"u":!1},r=()=>{var n,i;return!!(typeof self=="object"&&((i=(n=self==null?void 0:self.constructor)==null?void 0:n.name)!=null&&i.includes("WorkerGlobalScope"))&&typeof Deno>"u")},s=()=>typeof navigator<"u"&&navigator.product==="ReactNative",o=t()||r()||s();d.isWebWorker=r(),d.isReactNativeBrowser=s(),d.default=o}),h0=_e(d=>{be(),Ee(),we();var t=d&&d.__createBinding||(Object.create?function(c,u,h,m){m===void 0&&(m=h);var f=Object.getOwnPropertyDescriptor(u,h);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[h]}}),Object.defineProperty(c,m,f)}:function(c,u,h,m){m===void 0&&(m=h),c[m]=u[h]}),r=d&&d.__setModuleDefault||(Object.create?function(c,u){Object.defineProperty(c,"default",{enumerable:!0,value:u})}:function(c,u){c.default=u}),s=d&&d.__importStar||function(){var c=function(u){return c=Object.getOwnPropertyNames||function(h){var m=[];for(var f in h)Object.prototype.hasOwnProperty.call(h,f)&&(m[m.length]=f);return m},c(u)};return function(u){if(u&&u.__esModule)return u;var h={};if(u!=null)for(var m=c(u),f=0;f<m.length;f++)m[f]!=="default"&&t(h,u,m[f]);return r(h,u),h}}();Object.defineProperty(d,"__esModule",{value:!0});var o=p0(),n=s(Mr()),i={set:o.setInterval,clear:o.clearInterval},l={set:(c,u)=>setInterval(c,u),clear:c=>clearInterval(c)},a=c=>{switch(c){case"native":return l;case"worker":return i;case"auto":default:return n.default&&!n.isWebWorker&&!n.isReactNativeBrowser?i:l}};d.default=a}),ma=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(d,"__esModule",{value:!0});var r=t(h0()),s=class{constructor(o,n){he(this,"_keepalive");he(this,"timerId");he(this,"timer");he(this,"destroyed",!1);he(this,"counter");he(this,"client");he(this,"_keepaliveTimeoutTimestamp");he(this,"_intervalEvery");this.client=o,this.timer=typeof n=="object"&&"set"in n&&"clear"in n?n:(0,r.default)(n),this.setKeepalive(o.options.keepalive)}get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(o){if(o*=1e3,isNaN(o)||o<=0||o>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${o}`);this._keepalive=o,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${o}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let o=Math.ceil(this._keepalive*1.5);this._keepaliveTimeoutTimestamp=Date.now()+o,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}};d.default=s}),zn=_e(d=>{var k;be(),Ee(),we();var t=d&&d.__createBinding||(Object.create?function(C,$,A,T){T===void 0&&(T=A);var I=Object.getOwnPropertyDescriptor($,A);(!I||("get"in I?!$.__esModule:I.writable||I.configurable))&&(I={enumerable:!0,get:function(){return $[A]}}),Object.defineProperty(C,T,I)}:function(C,$,A,T){T===void 0&&(T=A),C[T]=$[A]}),r=d&&d.__setModuleDefault||(Object.create?function(C,$){Object.defineProperty(C,"default",{enumerable:!0,value:$})}:function(C,$){C.default=$}),s=d&&d.__importStar||function(){var C=function($){return C=Object.getOwnPropertyNames||function(A){var T=[];for(var I in A)Object.prototype.hasOwnProperty.call(A,I)&&(T[T.length]=I);return T},C($)};return function($){if($&&$.__esModule)return $;var A={};if($!=null)for(var T=C($),I=0;I<T.length;I++)T[I]!=="default"&&t(A,$,T[I]);return r(A,$),A}}(),o=d&&d.__importDefault||function(C){return C&&C.__esModule?C:{default:C}};Object.defineProperty(d,"__esModule",{value:!0});var n=o(_y()),i=Zt(),l=o(Sy()),a=o(Ct()),c=s(xy()),u=o(ta()),h=o(Hy()),m=o(la()),f=o(Ky()),p=lr(),w=Qy(),N=o(ma()),S=s(Mr()),y=globalThis.setImmediate||((...C)=>{let $=C.shift();(0,p.nextTick)(()=>{$(...C)})}),v={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:30*1e3,clean:!0,resubscribe:!0,subscribeBatchSize:null,writeCache:!0,timerVariant:"auto"},_=(k=class extends w.TypedEventEmitter{constructor(A,T){super();he(this,"connected");he(this,"disconnecting");he(this,"disconnected");he(this,"reconnecting");he(this,"incomingStore");he(this,"outgoingStore");he(this,"options");he(this,"queueQoSZero");he(this,"_reconnectCount");he(this,"log");he(this,"messageIdProvider");he(this,"outgoing");he(this,"messageIdToTopic");he(this,"noop");he(this,"keepaliveManager");he(this,"stream");he(this,"queue");he(this,"streamBuilder");he(this,"_resubscribeTopics");he(this,"connackTimer");he(this,"reconnectTimer");he(this,"_storeProcessing");he(this,"_packetIdsDuringStoreProcessing");he(this,"_storeProcessingQueue");he(this,"_firstConnection");he(this,"topicAliasRecv");he(this,"topicAliasSend");he(this,"_deferredReconnect");he(this,"connackPacket");this.options=T||{};for(let I in v)typeof this.options[I]>"u"?this.options[I]=v[I]:this.options[I]=T[I];this.log=this.options.log||(0,a.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",k.VERSION),S.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",S.default?"browser":"node"),this.log("MqttClient :: options.protocol",T.protocol),this.log("MqttClient :: options.protocolVersion",T.protocolVersion),this.log("MqttClient :: options.username",T.username),this.log("MqttClient :: options.keepalive",T.keepalive),this.log("MqttClient :: options.reconnectPeriod",T.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",T.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",T.properties?T.properties.topicAliasMaximum:void 0),this.options.clientId=typeof T.clientId=="string"?T.clientId:k.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=T.protocolVersion===5&&T.customHandleAcks?T.customHandleAcks:(...I)=>{I[3](null,0)},this.options.writeCache||(n.default.writeToStream.cacheNumbers=!1),this.streamBuilder=A,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new m.default:this.options.messageIdProvider,this.outgoingStore=T.outgoingStore||new u.default,this.incomingStore=T.incomingStore||new u.default,this.queueQoSZero=T.queueQoSZero===void 0?!0:T.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,T.properties&&T.properties.topicAliasMaximum>0&&(T.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new f.default(T.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:I}=this,B=()=>{let V=I.shift();this.log("deliver :: entry %o",V);let L=null;if(!V){this._resubscribe();return}L=V.packet,this.log("deliver :: call _sendPacket for %o",L);let K=!0;L.messageId&&L.messageId!==0&&(this.messageIdProvider.register(L.messageId)||(K=!1)),K?this._sendPacket(L,U=>{V.cb&&V.cb(U),B()}):(this.log("messageId: %d has already used. The message is skipped and removed.",L.messageId),B())};this.log("connect :: sending queued packets"),B()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}handleAuth(A,T){T()}handleMessage(A,T){T()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var de;let A=new i.Writable,T=n.default.parser(this.options),I=null,B=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new u.default,this.outgoingStore=this.options.outgoingStore||new u.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),T.on("packet",ne=>{this.log("parser :: on packet push to packets array."),B.push(ne)});let V=()=>{this.log("work :: getting next packet in queue");let ne=B.shift();if(ne)this.log("work :: packet pulled from queue"),(0,h.default)(this,ne,L);else{this.log("work :: no packets in queue");let re=I;I=null,this.log("work :: done flag is %s",!!re),re&&re()}},L=()=>{if(B.length)(0,p.nextTick)(V);else{let ne=I;I=null,ne()}};A._write=(ne,re,fe)=>{I=fe,this.log("writable stream :: parsing buffer"),T.parse(ne),V()};let K=ne=>{this.log("streamErrorHandler :: error",ne.message),ne.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",ne)):this.noop(ne)};this.log("connect :: pipe stream to writable stream"),this.stream.pipe(A),this.stream.on("error",K),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let U={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(U.will={...this.options.will,payload:(de=this.options.will)==null?void 0:de.payload}),this.topicAliasRecv&&(U.properties||(U.properties={}),this.topicAliasRecv&&(U.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(U),T.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let ne={cmd:"auth",reasonCode:0,...this.options.authPacket};this._writePacket(ne)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(A,T,I,B){this.log("publish :: message `%s` to topic `%s`",T,A);let{options:V}=this;typeof I=="function"&&(B=I,I=null),I=I||{},I={qos:0,retain:!1,dup:!1,...I};let{qos:L,retain:K,dup:U,properties:de,cbStorePut:ne}=I;if(this._checkDisconnecting(B))return this;let re=()=>{let fe=0;if((L===1||L===2)&&(fe=this._nextId(),fe===null))return this.log("No messageId left"),!1;let Y={cmd:"publish",topic:A,payload:T,qos:L,retain:K,messageId:fe,dup:U};switch(V.protocolVersion===5&&(Y.properties=de),this.log("publish :: qos",L),L){case 1:case 2:this.outgoing[Y.messageId]={volatile:!1,cb:B||this.noop},this.log("MqttClient:publish: packet cmd: %s",Y.cmd),this._sendPacket(Y,void 0,ne);break;default:this.log("MqttClient:publish: packet cmd: %s",Y.cmd),this._sendPacket(Y,B,ne);break}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!re())&&this._storeProcessingQueue.push({invoke:re,cbStorePut:I.cbStorePut,callback:B}),this}publishAsync(A,T,I){return new Promise((B,V)=>{this.publish(A,T,I,(L,K)=>{L?V(L):B(K)})})}subscribe(A,T,I){let B=this.options.protocolVersion;typeof T=="function"&&(I=T),I=I||this.noop;let V=!1,L=[];typeof A=="string"?(A=[A],L=A):Array.isArray(A)?L=A:typeof A=="object"&&(V=A.resubscribe,delete A.resubscribe,L=Object.keys(A));let K=c.validateTopics(L);if(K!==null)return y(I,new Error(`Invalid topic ${K}`)),this;if(this._checkDisconnecting(I))return this.log("subscribe: discconecting true"),this;let U={qos:0};B===5&&(U.nl=!1,U.rap=!1,U.rh=0),T={...U,...T};let{properties:de}=T,ne=[],re=(ae,M)=>{if(M=M||T,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,ae)||this._resubscribeTopics[ae].qos<M.qos||V){let J={topic:ae,qos:M.qos};B===5&&(J.nl=M.nl,J.rap=M.rap,J.rh=M.rh,J.properties=de),this.log("subscribe: pushing topic `%s` and qos `%s` to subs list",J.topic,J.qos),ne.push(J)}};if(Array.isArray(A)?A.forEach(ae=>{this.log("subscribe: array topic %s",ae),re(ae)}):Object.keys(A).forEach(ae=>{this.log("subscribe: object topic %s, %o",ae,A[ae]),re(ae,A[ae])}),!ne.length)return I(null,[]),this;let fe=(ae,M)=>{let J={cmd:"subscribe",subscriptions:ae,messageId:M};if(de&&(J.properties=de),this.options.resubscribe){this.log("subscribe :: resubscribe true");let H=[];ae.forEach(Ne=>{if(this.options.reconnectPeriod>0){let Z={qos:Ne.qos};B===5&&(Z.nl=Ne.nl||!1,Z.rap=Ne.rap||!1,Z.rh=Ne.rh||0,Z.properties=Ne.properties),this._resubscribeTopics[Ne.topic]=Z,H.push(Ne.topic)}}),this.messageIdToTopic[J.messageId]=H}let me=new Promise((H,Ne)=>{this.outgoing[J.messageId]={volatile:!0,cb(Z,q){if(!Z){let{granted:le}=q;for(let X=0;X<le.length;X+=1)ae[X].qos=le[X]}Z?Ne(new p.ErrorWithSubackPacket(Z.message,q)):H(q)}}});return this.log("subscribe :: call _sendPacket"),this._sendPacket(J),me},Y=()=>{let ae=this.options.subscribeBatchSize??ne.length,M=[];for(let J=0;J<ne.length;J+=ae){let me=ne.slice(J,J+ae),H=this._nextId();if(H===null)return this.log("No messageId left"),!1;M.push(fe(me,H))}return Promise.all(M).then(J=>{I(null,ne,J.at(-1))}).catch(J=>{I(J,ne,J.packet)}),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!Y())&&this._storeProcessingQueue.push({invoke:Y,callback:I}),this}subscribeAsync(A,T){return new Promise((I,B)=>{this.subscribe(A,T,(V,L)=>{V?B(V):I(L)})})}unsubscribe(A,T,I){typeof A=="string"&&(A=[A]),typeof T=="function"&&(I=T),I=I||this.noop;let B=c.validateTopics(A);if(B!==null)return y(I,new Error(`Invalid topic ${B}`)),this;if(this._checkDisconnecting(I))return this;let V=()=>{let L=this._nextId();if(L===null)return this.log("No messageId left"),!1;let K={cmd:"unsubscribe",messageId:L,unsubscriptions:[]};return typeof A=="string"?K.unsubscriptions=[A]:Array.isArray(A)&&(K.unsubscriptions=A),this.options.resubscribe&&K.unsubscriptions.forEach(U=>{delete this._resubscribeTopics[U]}),typeof T=="object"&&T.properties&&(K.properties=T.properties),this.outgoing[K.messageId]={volatile:!0,cb:I},this.log("unsubscribe: call _sendPacket"),this._sendPacket(K),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!V())&&this._storeProcessingQueue.push({invoke:V,callback:I}),this}unsubscribeAsync(A,T){return new Promise((I,B)=>{this.unsubscribe(A,T,(V,L)=>{V?B(V):I(L)})})}end(A,T,I){this.log("end :: (%s)",this.options.clientId),(A==null||typeof A!="boolean")&&(I=I||T,T=A,A=!1),typeof T!="object"&&(I=I||T,T=null),this.log("end :: cb? %s",!!I),(!I||typeof I!="function")&&(I=this.noop);let B=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(L=>{this.outgoingStore.close(K=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),I){let U=L||K;this.log("end :: closeStores: invoking callback with args"),I(U)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},V=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,A),this._cleanUp(A,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,p.nextTick)(B)},T)};return this.disconnecting?(I(),this):(this._clearReconnect(),this.disconnecting=!0,!A&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,V,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),V()),this)}endAsync(A,T){return new Promise((I,B)=>{this.end(A,T,V=>{V?B(V):I()})})}removeOutgoingMessage(A){if(this.outgoing[A]){let{cb:T}=this.outgoing[A];this._removeOutgoingAndStoreMessage(A,()=>{T(new Error("Message removed"))})}return this}reconnect(A){this.log("client reconnect");let T=()=>{A?(this.options.incomingStore=A.incomingStore,this.options.outgoingStore=A.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new u.default,this.outgoingStore=this.options.outgoingStore||new u.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=T:T(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(A=>{this.outgoing[A].volatile&&typeof this.outgoing[A].cb=="function"&&(this.outgoing[A].cb(new Error("Connection closed")),delete this.outgoing[A])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(A=>{typeof this.outgoing[A].cb=="function"&&(this.outgoing[A].cb(new Error("Connection closed")),delete this.outgoing[A])}))}_removeTopicAliasAndRecoverTopicName(A){let T;A.properties&&(T=A.properties.topicAlias);let I=A.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",T,I),I.length===0){if(typeof T>"u")return new Error("Unregistered Topic Alias");if(I=this.topicAliasSend.getTopicByAlias(T),typeof I>"u")return new Error("Unregistered Topic Alias");A.topic=I}T&&delete A.properties.topicAlias}_checkDisconnecting(A){return this.disconnecting&&(A&&A!==this.noop?A(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(A,T,I={}){if(T&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",T)),this.log("_cleanUp :: forced? %s",A),A)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let B={cmd:"disconnect",...I};this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(B,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),y(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),T&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",T),T())}_storeAndSend(A,T,I){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",A.cmd);let B=A,V;if(B.cmd==="publish"&&(B=(0,l.default)(A),V=this._removeTopicAliasAndRecoverTopicName(B),V))return T&&T(V);this.outgoingStore.put(B,L=>{if(L)return T&&T(L);I(),this._writePacket(A,T)})}_applyTopicAlias(A){if(this.options.protocolVersion===5&&A.cmd==="publish"){let T;A.properties&&(T=A.properties.topicAlias);let I=A.topic.toString();if(this.topicAliasSend)if(T){if(I.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",I,T),!this.topicAliasSend.put(I,T)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,T),new Error("Sending Topic Alias out of range")}else I.length!==0&&(this.options.autoAssignTopicAlias?(T=this.topicAliasSend.getAliasByTopic(I),T?(A.topic="",A.properties={...A.properties,topicAlias:T},this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",I,T)):(T=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(I,T),A.properties={...A.properties,topicAlias:T},this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",I,T))):this.options.autoUseTopicAlias&&(T=this.topicAliasSend.getAliasByTopic(I),T&&(A.topic="",A.properties={...A.properties,topicAlias:T},this.log("applyTopicAlias :: auto use topic: %s - alias: %d",I,T))));else if(T)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",I,T),new Error("Sending Topic Alias out of range")}}_noop(A){this.log("noop ::",A)}_writePacket(A,T){this.log("_writePacket :: packet: %O",A),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",A),this.log("_writePacket :: writing to stream");let I=n.default.writeToStream(A,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",I),!I&&T&&T!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",T)):T&&(this.log("_writePacket :: invoking cb"),T())}_sendPacket(A,T,I,B){this.log("_sendPacket :: (%s) :: start",this.options.clientId),I=I||this.noop,T=T||this.noop;let V=this._applyTopicAlias(A);if(V){T(V);return}if(!this.connected){if(A.cmd==="auth"){this._writePacket(A,T);return}this.log("_sendPacket :: client not connected. Storing packet offline."),this._storePacket(A,T,I);return}if(B){this._writePacket(A,T);return}switch(A.cmd){case"publish":break;case"pubrel":this._storeAndSend(A,T,I);return;default:this._writePacket(A,T);return}switch(A.qos){case 2:case 1:this._storeAndSend(A,T,I);break;case 0:default:this._writePacket(A,T);break}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}_storePacket(A,T,I){this.log("_storePacket :: packet: %o",A),this.log("_storePacket :: cb? %s",!!T),I=I||this.noop;let B=A;if(B.cmd==="publish"){B=(0,l.default)(A);let L=this._removeTopicAliasAndRecoverTopicName(B);if(L)return T&&T(L)}let V=B.qos||0;V===0&&this.queueQoSZero||B.cmd!=="publish"?this.queue.push({packet:B,cb:T}):V>0?(T=this.outgoing[B.messageId]?this.outgoing[B.messageId].cb:null,this.outgoingStore.put(B,L=>{if(L)return T&&T(L);I()})):T&&T(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new N.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(A=!1){this.keepaliveManager&&this.options.keepalive&&(A||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let A=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&A.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let T=0;T<A.length;T++){let I={};I[A[T]]=this._resubscribeTopics[A[T]],I.resubscribe=!0,this.subscribe(I,{properties:I[A[T]].properties})}}else this._resubscribeTopics.resubscribe=!0,this.subscribe(this._resubscribeTopics);else this._resubscribeTopics={};this._firstConnection=!1}_onConnect(A){if(this.disconnected){this.emit("connect",A);return}this.connackPacket=A,this.messageIdProvider.clear(),this._setupKeepaliveManager(),this.connected=!0;let T=()=>{let I=this.outgoingStore.createStream(),B=()=>{I.destroy(),I=null,this._flushStoreProcessingQueue(),V()},V=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",B),I.on("error",K=>{V(),this._flushStoreProcessingQueue(),this.removeListener("close",B),this.emit("error",K)});let L=()=>{if(!I)return;let K=I.read(1),U;if(!K){I.once("readable",L);return}if(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[K.messageId]){L();return}!this.disconnecting&&!this.reconnectTimer?(U=this.outgoing[K.messageId]?this.outgoing[K.messageId].cb:null,this.outgoing[K.messageId]={volatile:!1,cb(de,ne){U&&U(de,ne),L()}},this._packetIdsDuringStoreProcessing[K.messageId]=!0,this.messageIdProvider.register(K.messageId)?this._sendPacket(K,void 0,void 0,!0):this.log("messageId: %d has already used.",K.messageId)):I.destroy&&I.destroy()};I.on("end",()=>{let K=!0;for(let U in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[U]){K=!1;break}this.removeListener("close",B),K?(V(),this._invokeAllStoreProcessingQueue(),this.emit("connect",A)):T()}),L()};T()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let A=this._storeProcessingQueue[0];if(A&&A.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let A of this._storeProcessingQueue)A.cbStorePut&&A.cbStorePut(new Error("Connection closed")),A.callback&&A.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(A,T){delete this.outgoing[A],this.outgoingStore.del({messageId:A},(I,B)=>{T(I,B),this.messageIdProvider.deallocate(A),this._invokeStoreProcessingQueue()})}},he(k,"VERSION",p.MQTTJS_VERSION),k);d.default=_}),m0=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=aa(),r=class{constructor(){he(this,"numberAllocator");he(this,"lastId");this.numberAllocator=new t.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(s){return this.numberAllocator.use(s)}deallocate(s){this.numberAllocator.free(s)}clear(){this.numberAllocator.clear()}};d.default=r});function g0(){if(Wn)return Rr;Wn=!0;let d=2147483647,t=36,r=1,s=26,o=38,n=700,i=72,l=128,a="-",c=/^xn--/,u=/[^\0-\x7F]/,h=/[\x2E\u3002\uFF0E\uFF61]/g,m={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},f=t-r,p=Math.floor,w=String.fromCharCode;function N(I){throw new RangeError(m[I])}function S(I,B){let V=[],L=I.length;for(;L--;)V[L]=B(I[L]);return V}function y(I,B){let V=I.split("@"),L="";V.length>1&&(L=V[0]+"@",I=V[1]),I=I.replace(h,".");let K=I.split("."),U=S(K,B).join(".");return L+U}function v(I){let B=[],V=0,L=I.length;for(;V<L;){let K=I.charCodeAt(V++);if(K>=55296&&K<=56319&&V<L){let U=I.charCodeAt(V++);(U&64512)==56320?B.push(((K&1023)<<10)+(U&1023)+65536):(B.push(K),V--)}else B.push(K)}return B}let _=I=>String.fromCodePoint(...I),k=function(I){return I>=48&&I<58?26+(I-48):I>=65&&I<91?I-65:I>=97&&I<123?I-97:t},C=function(I,B){return I+22+75*(I<26)-((B!=0)<<5)},$=function(I,B,V){let L=0;for(I=V?p(I/n):I>>1,I+=p(I/B);I>f*s>>1;L+=t)I=p(I/f);return p(L+(f+1)*I/(I+o))},A=function(I){let B=[],V=I.length,L=0,K=l,U=i,de=I.lastIndexOf(a);de<0&&(de=0);for(let ne=0;ne<de;++ne)I.charCodeAt(ne)>=128&&N("not-basic"),B.push(I.charCodeAt(ne));for(let ne=de>0?de+1:0;ne<V;){let re=L;for(let Y=1,ae=t;;ae+=t){ne>=V&&N("invalid-input");let M=k(I.charCodeAt(ne++));M>=t&&N("invalid-input"),M>p((d-L)/Y)&&N("overflow"),L+=M*Y;let J=ae<=U?r:ae>=U+s?s:ae-U;if(M<J)break;let me=t-J;Y>p(d/me)&&N("overflow"),Y*=me}let fe=B.length+1;U=$(L-re,fe,re==0),p(L/fe)>d-K&&N("overflow"),K+=p(L/fe),L%=fe,B.splice(L++,0,K)}return String.fromCodePoint(...B)},T=function(I){let B=[];I=v(I);let V=I.length,L=l,K=0,U=i;for(let re of I)re<128&&B.push(w(re));let de=B.length,ne=de;for(de&&B.push(a);ne<V;){let re=d;for(let Y of I)Y>=L&&Y<re&&(re=Y);let fe=ne+1;re-L>p((d-K)/fe)&&N("overflow"),K+=(re-L)*fe,L=re;for(let Y of I)if(Y<L&&++K>d&&N("overflow"),Y===L){let ae=K;for(let M=t;;M+=t){let J=M<=U?r:M>=U+s?s:M-U;if(ae<J)break;let me=ae-J,H=t-J;B.push(w(C(J+me%H,0))),ae=p(me/H)}B.push(w(C(ae,0))),U=$(K,fe,ne===de),K=0,++ne}++K,++L}return B.join("")};return Rr={version:"2.3.1",ucs2:{decode:v,encode:_},decode:A,encode:T,toASCII:function(I){return y(I,function(B){return u.test(B)?"xn--"+T(B):B})},toUnicode:function(I){return y(I,function(B){return c.test(B)?A(B.slice(4).toLowerCase()):B})}},Rr}var Rr,Wn,Mt,y0=ut(()=>{be(),Ee(),we(),Rr={},Wn=!1,Mt=g0(),Mt.decode,Mt.encode,Mt.toASCII,Mt.toUnicode,Mt.ucs2,Mt.version});function b0(){return Kn||(Kn=!0,Hn=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var d={},t=Symbol("test"),r=Object(t);if(typeof t=="string"||Object.prototype.toString.call(t)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var s=42;d[t]=s;for(t in d)return!1;if(typeof Object.keys=="function"&&Object.keys(d).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(d).length!==0)return!1;var o=Object.getOwnPropertySymbols(d);if(o.length!==1||o[0]!==t||!Object.prototype.propertyIsEnumerable.call(d,t))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var n=Object.getOwnPropertyDescriptor(d,t);if(n.value!==s||n.enumerable!==!0)return!1}return!0}),Hn}function w0(){return Yn||(Yn=!0,Qn=Error),Qn}function E0(){return Xn||(Xn=!0,Jn=EvalError),Jn}function v0(){return ei||(ei=!0,Zn=RangeError),Zn}function k0(){return ri||(ri=!0,ti=ReferenceError),ti}function ga(){return ni||(ni=!0,oi=SyntaxError),oi}function Er(){return si||(si=!0,ii=TypeError),ii}function _0(){return li||(li=!0,ai=URIError),ai}function N0(){if(ci)return jr;ci=!0;var d=typeof Symbol<"u"&&Symbol,t=b0();return jr=function(){return typeof d!="function"||typeof Symbol!="function"||typeof d("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},jr}function S0(){if(di)return Lr;di=!0;var d={__proto__:null,foo:{}},t=Object;return Lr=function(){return{__proto__:d}.foo===d.foo&&!(d instanceof t)},Lr}function x0(){if(ui)return Ur;ui=!0;var d="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,r=Math.max,s="[object Function]",o=function(l,a){for(var c=[],u=0;u<l.length;u+=1)c[u]=l[u];for(var h=0;h<a.length;h+=1)c[h+l.length]=a[h];return c},n=function(l,a){for(var c=[],u=a,h=0;u<l.length;u+=1,h+=1)c[h]=l[u];return c},i=function(l,a){for(var c="",u=0;u<l.length;u+=1)c+=l[u],u+1<l.length&&(c+=a);return c};return Ur=function(l){var a=this;if(typeof a!="function"||t.apply(a)!==s)throw new TypeError(d+a);for(var c=n(arguments,1),u,h=function(){if(this instanceof u){var N=a.apply(this,o(c,arguments));return Object(N)===N?N:this}return a.apply(l,o(c,arguments))},m=r(0,a.length-c.length),f=[],p=0;p<m;p++)f[p]="$"+p;if(u=Function("binder","return function ("+i(f,",")+"){ return binder.apply(this,arguments); }")(h),a.prototype){var w=function(){};w.prototype=a.prototype,u.prototype=new w,w.prototype=null}return u},Ur}function qn(){if(fi)return Fr;fi=!0;var d=x0();return Fr=Function.prototype.bind||d,Fr}function V0(){if(pi)return zr;pi=!0;var d=Function.prototype.call,t=Object.prototype.hasOwnProperty,r=qn();return zr=r.call(d,t),zr}function cr(){if(hi)return Wr;hi=!0;var d,t=w0(),r=E0(),s=v0(),o=k0(),n=ga(),i=Er(),l=_0(),a=Function,c=function(ne){try{return a('"use strict"; return ('+ne+").constructor;")()}catch{}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch{u=null}var h=function(){throw new i},m=u?function(){try{return arguments.callee,h}catch{try{return u(arguments,"callee").get}catch{return h}}}():h,f=N0()(),p=S0()(),w=Object.getPrototypeOf||(p?function(ne){return ne.__proto__}:null),N={},S=typeof Uint8Array>"u"||!w?d:w(Uint8Array),y={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?d:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?d:ArrayBuffer,"%ArrayIteratorPrototype%":f&&w?w([][Symbol.iterator]()):d,"%AsyncFromSyncIteratorPrototype%":d,"%AsyncFunction%":N,"%AsyncGenerator%":N,"%AsyncGeneratorFunction%":N,"%AsyncIteratorPrototype%":N,"%Atomics%":typeof Atomics>"u"?d:Atomics,"%BigInt%":typeof BigInt>"u"?d:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?d:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?d:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?d:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":t,"%eval%":eval,"%EvalError%":r,"%Float32Array%":typeof Float32Array>"u"?d:Float32Array,"%Float64Array%":typeof Float64Array>"u"?d:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?d:FinalizationRegistry,"%Function%":a,"%GeneratorFunction%":N,"%Int8Array%":typeof Int8Array>"u"?d:Int8Array,"%Int16Array%":typeof Int16Array>"u"?d:Int16Array,"%Int32Array%":typeof Int32Array>"u"?d:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":f&&w?w(w([][Symbol.iterator]())):d,"%JSON%":typeof JSON=="object"?JSON:d,"%Map%":typeof Map>"u"?d:Map,"%MapIteratorPrototype%":typeof Map>"u"||!f||!w?d:w(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?d:Promise,"%Proxy%":typeof Proxy>"u"?d:Proxy,"%RangeError%":s,"%ReferenceError%":o,"%Reflect%":typeof Reflect>"u"?d:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?d:Set,"%SetIteratorPrototype%":typeof Set>"u"||!f||!w?d:w(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?d:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":f&&w?w(""[Symbol.iterator]()):d,"%Symbol%":f?Symbol:d,"%SyntaxError%":n,"%ThrowTypeError%":m,"%TypedArray%":S,"%TypeError%":i,"%Uint8Array%":typeof Uint8Array>"u"?d:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?d:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?d:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?d:Uint32Array,"%URIError%":l,"%WeakMap%":typeof WeakMap>"u"?d:WeakMap,"%WeakRef%":typeof WeakRef>"u"?d:WeakRef,"%WeakSet%":typeof WeakSet>"u"?d:WeakSet};if(w)try{null.error}catch(ne){var v=w(w(ne));y["%Error.prototype%"]=v}var _=function ne(re){var fe;if(re==="%AsyncFunction%")fe=c("async function () {}");else if(re==="%GeneratorFunction%")fe=c("function* () {}");else if(re==="%AsyncGeneratorFunction%")fe=c("async function* () {}");else if(re==="%AsyncGenerator%"){var Y=ne("%AsyncGeneratorFunction%");Y&&(fe=Y.prototype)}else if(re==="%AsyncIteratorPrototype%"){var ae=ne("%AsyncGenerator%");ae&&w&&(fe=w(ae.prototype))}return y[re]=fe,fe},k={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=qn(),$=V0(),A=C.call(Function.call,Array.prototype.concat),T=C.call(Function.apply,Array.prototype.splice),I=C.call(Function.call,String.prototype.replace),B=C.call(Function.call,String.prototype.slice),V=C.call(Function.call,RegExp.prototype.exec),L=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,K=/\\(\\)?/g,U=function(ne){var re=B(ne,0,1),fe=B(ne,-1);if(re==="%"&&fe!=="%")throw new n("invalid intrinsic syntax, expected closing `%`");if(fe==="%"&&re!=="%")throw new n("invalid intrinsic syntax, expected opening `%`");var Y=[];return I(ne,L,function(ae,M,J,me){Y[Y.length]=J?I(me,K,"$1"):M||ae}),Y},de=function(ne,re){var fe=ne,Y;if($(k,fe)&&(Y=k[fe],fe="%"+Y[0]+"%"),$(y,fe)){var ae=y[fe];if(ae===N&&(ae=_(fe)),typeof ae>"u"&&!re)throw new i("intrinsic "+ne+" exists, but is not available. Please file an issue!");return{alias:Y,name:fe,value:ae}}throw new n("intrinsic "+ne+" does not exist!")};return Wr=function(ne,re){if(typeof ne!="string"||ne.length===0)throw new i("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof re!="boolean")throw new i('"allowMissing" argument must be a boolean');if(V(/^%?[^%]*%?$/,ne)===null)throw new n("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var fe=U(ne),Y=fe.length>0?fe[0]:"",ae=de("%"+Y+"%",re),M=ae.name,J=ae.value,me=!1,H=ae.alias;H&&(Y=H[0],T(fe,A([0,1],H)));for(var Ne=1,Z=!0;Ne<fe.length;Ne+=1){var q=fe[Ne],le=B(q,0,1),X=B(q,-1);if((le==='"'||le==="'"||le==="`"||X==='"'||X==="'"||X==="`")&&le!==X)throw new n("property names with quotes must have matching quotes");if((q==="constructor"||!Z)&&(me=!0),Y+="."+q,M="%"+Y+"%",$(y,M))J=y[M];else if(J!=null){if(!(q in J)){if(!re)throw new i("base intrinsic for "+ne+" exists, but the property is not available.");return}if(u&&Ne+1>=fe.length){var oe=u(J,q);Z=!!oe,Z&&"get"in oe&&!("originalValue"in oe.get)?J=oe.get:J=J[q]}else Z=$(J,q),J=J[q];Z&&!me&&(y[M]=J)}}return J},Wr}function Gn(){if(mi)return qr;mi=!0;var d=cr(),t=d("%Object.defineProperty%",!0)||!1;if(t)try{t({},"a",{value:1})}catch{t=!1}return qr=t,qr}function ya(){if(gi)return Gr;gi=!0;var d=cr(),t=d("%Object.getOwnPropertyDescriptor%",!0);if(t)try{t([],"length")}catch{t=null}return Gr=t,Gr}function C0(){if(yi)return Hr;yi=!0;var d=Gn(),t=ga(),r=Er(),s=ya();return Hr=function(o,n,i){if(!o||typeof o!="object"&&typeof o!="function")throw new r("`obj` must be an object or a function`");if(typeof n!="string"&&typeof n!="symbol")throw new r("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new r("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new r("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new r("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new r("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,a=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6?arguments[6]:!1,h=!!s&&s(o,n);if(d)d(o,n,{configurable:c===null&&h?h.configurable:!c,enumerable:l===null&&h?h.enumerable:!l,value:i,writable:a===null&&h?h.writable:!a});else if(u||!l&&!a&&!c)o[n]=i;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},Hr}function A0(){if(bi)return Kr;bi=!0;var d=Gn(),t=function(){return!!d};return t.hasArrayLengthDefineBug=function(){if(!d)return null;try{return d([],"length",{value:1}).length!==1}catch{return!0}},Kr=t,Kr}function I0(){if(wi)return Qr;wi=!0;var d=cr(),t=C0(),r=A0()(),s=ya(),o=Er(),n=d("%Math.floor%");return Qr=function(i,l){if(typeof i!="function")throw new o("`fn` is not a function");if(typeof l!="number"||l<0||l>4294967295||n(l)!==l)throw new o("`length` must be a positive 32-bit integer");var a=arguments.length>2&&!!arguments[2],c=!0,u=!0;if("length"in i&&s){var h=s(i,"length");h&&!h.configurable&&(c=!1),h&&!h.writable&&(u=!1)}return(c||u||!a)&&(r?t(i,"length",l,!0,!0):t(i,"length",l)),i},Qr}function T0(){if(Ei)return dr;Ei=!0;var d=qn(),t=cr(),r=I0(),s=Er(),o=t("%Function.prototype.apply%"),n=t("%Function.prototype.call%"),i=t("%Reflect.apply%",!0)||d.call(n,o),l=Gn(),a=t("%Math.max%");dr=function(u){if(typeof u!="function")throw new s("a function is required");var h=i(d,n,arguments);return r(h,1+a(0,u.length-(arguments.length-1)),!0)};var c=function(){return i(d,o,arguments)};return l?l(dr,"apply",{value:c}):dr.apply=c,dr}function $0(){if(vi)return Yr;vi=!0;var d=cr(),t=T0(),r=t(d("String.prototype.indexOf"));return Yr=function(s,o){var n=d(s,!!o);return typeof n=="function"&&r(s,".prototype.")>-1?t(n):n},Yr}var Hn,Kn,Qn,Yn,Jn,Xn,Zn,ei,ti,ri,oi,ni,ii,si,ai,li,jr,ci,Lr,di,Ur,ui,Fr,fi,zr,pi,Wr,hi,qr,mi,Gr,gi,Hr,yi,Kr,bi,Qr,wi,dr,Ei,Yr,vi,B0=ut(()=>{be(),Ee(),we(),Hn={},Kn=!1,Qn={},Yn=!1,Jn={},Xn=!1,Zn={},ei=!1,ti={},ri=!1,oi={},ni=!1,ii={},si=!1,ai={},li=!1,jr={},ci=!1,Lr={},di=!1,Ur={},ui=!1,Fr={},fi=!1,zr={},pi=!1,Wr={},hi=!1,qr={},mi=!1,Gr={},gi=!1,Hr={},yi=!1,Kr={},bi=!1,Qr={},wi=!1,dr={},Ei=!1,Yr={},vi=!1});function ki(d){throw new Error("Node.js process "+d+" is not supported by JSPM core outside of Node.js")}function D0(){!er||!tr||(er=!1,tr.length?Et=tr.concat(Et):vr=-1,Et.length&&ba())}function ba(){if(!er){var d=setTimeout(D0,0);er=!0;for(var t=Et.length;t;){for(tr=Et,Et=[];++vr<t;)tr&&tr[vr].run();vr=-1,t=Et.length}tr=null,er=!1,clearTimeout(d)}}function P0(d){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];Et.push(new wa(d,t)),Et.length===1&&!er&&setTimeout(ba,0)}function wa(d,t){this.fun=d,this.array=t}function at(){}function O0(d){ki("_linkedBinding")}function M0(d){ki("dlopen")}function R0(){return[]}function j0(){return[]}function L0(d,t){if(!d)throw new Error(t||"assertion error")}function U0(){return!1}function F0(){return Tt.now()/1e3}function _i(d){var t=Math.floor((Date.now()-Tt.now())*.001),r=Tt.now()*.001,s=Math.floor(r)+t,o=Math.floor(r%1*1e9);return d&&(s=s-d[0],o=o-d[1],o<0&&(s--,o+=Xr)),[s,o]}function Rt(){return Si}function z0(d){return[]}var Et,er,tr,vr,Ea,va,ka,_a,Na,Sa,xa,Va,Ca,Aa,Ia,Ta,$a,Ba,Da,Pa,Oa,Ma,Ra,ja,La,Jr,Ua,Fa,za,Wa,qa,Ga,Ha,Ka,Qa,Ya,Ja,Xa,Za,el,tl,rl,ol,nl,il,sl,al,ll,cl,dl,ul,Tt,Ni,Xr,fl,pl,hl,ml,gl,yl,bl,wl,El,vl,kl,Si,_l=ut(()=>{be(),Ee(),we(),Et=[],er=!1,vr=-1,wa.prototype.run=function(){this.fun.apply(null,this.array)},Ea="browser",va="x64",ka="browser",_a={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Na=["/usr/bin/node"],Sa=[],xa="v16.8.0",Va={},Ca=function(d,t){console.warn((t?t+": ":"")+d)},Aa=function(d){ki("binding")},Ia=function(d){return 0},Ta=function(){return"/"},$a=function(d){},Ba={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},Da=at,Pa=[],Oa={},Ma=!1,Ra={},ja=at,La=at,Jr=function(){return{}},Ua=Jr,Fa=Jr,za=at,Wa=at,qa=at,Ga={},Ha={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},Ka=at,Qa=at,Ya=at,Ja=at,Xa=at,Za=at,el=at,tl=void 0,rl=void 0,ol=void 0,nl=at,il=2,sl=1,al="/bin/usr/node",ll=9229,cl="node",dl=[],ul=at,Tt={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0},Tt.now===void 0&&(Ni=Date.now(),Tt.timing&&Tt.timing.navigationStart&&(Ni=Tt.timing.navigationStart),Tt.now=()=>Date.now()-Ni),Xr=1e9,_i.bigint=function(d){var t=_i(d);return typeof BigInt>"u"?t[0]*Xr+t[1]:BigInt(t[0]*Xr)+BigInt(t[1])},fl=10,pl={},hl=0,ml=Rt,gl=Rt,yl=Rt,bl=Rt,wl=Rt,El=at,vl=Rt,kl=Rt,Si={version:xa,versions:Va,arch:va,platform:ka,release:Ba,_rawDebug:Da,moduleLoadList:Pa,binding:Aa,_linkedBinding:O0,_events:pl,_eventsCount:hl,_maxListeners:fl,on:Rt,addListener:ml,once:gl,off:yl,removeListener:bl,removeAllListeners:wl,emit:El,prependListener:vl,prependOnceListener:kl,listeners:z0,domain:Oa,_exiting:Ma,config:Ra,dlopen:M0,uptime:F0,_getActiveRequests:R0,_getActiveHandles:j0,reallyExit:ja,_kill:La,cpuUsage:Jr,resourceUsage:Ua,memoryUsage:Fa,kill:za,exit:Wa,openStdin:qa,allowedNodeEnvironmentFlags:Ga,assert:L0,features:Ha,_fatalExceptions:Ka,setUncaughtExceptionCaptureCallback:Qa,hasUncaughtExceptionCaptureCallback:U0,emitWarning:Ca,nextTick:P0,_tickCallback:Ya,_debugProcess:Ja,_debugEnd:Xa,_startProfilerIdleNotifier:Za,_stopProfilerIdleNotifier:el,stdout:tl,stdin:ol,stderr:rl,abort:nl,umask:Ia,chdir:$a,cwd:Ta,env:_a,title:Ea,argv:Na,execArgv:Sa,pid:il,ppid:sl,execPath:al,debugPort:ll,hrtime:_i,argv0:cl,_preload_modules:dl,setSourceMapsEnabled:ul}});function W0(){if(xi)return Zr;xi=!0;var d=Si;function t(n){if(typeof n!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(n))}function r(n,i){for(var l="",a=0,c=-1,u=0,h,m=0;m<=n.length;++m){if(m<n.length)h=n.charCodeAt(m);else{if(h===47)break;h=47}if(h===47){if(!(c===m-1||u===1))if(c!==m-1&&u===2){if(l.length<2||a!==2||l.charCodeAt(l.length-1)!==46||l.charCodeAt(l.length-2)!==46){if(l.length>2){var f=l.lastIndexOf("/");if(f!==l.length-1){f===-1?(l="",a=0):(l=l.slice(0,f),a=l.length-1-l.lastIndexOf("/")),c=m,u=0;continue}}else if(l.length===2||l.length===1){l="",a=0,c=m,u=0;continue}}i&&(l.length>0?l+="/..":l="..",a=2)}else l.length>0?l+="/"+n.slice(c+1,m):l=n.slice(c+1,m),a=m-c-1;c=m,u=0}else h===46&&u!==-1?++u:u=-1}return l}function s(n,i){var l=i.dir||i.root,a=i.base||(i.name||"")+(i.ext||"");return l?l===i.root?l+a:l+n+a:a}var o={resolve:function(){for(var n="",i=!1,l,a=arguments.length-1;a>=-1&&!i;a--){var c;a>=0?c=arguments[a]:(l===void 0&&(l=d.cwd()),c=l),t(c),c.length!==0&&(n=c+"/"+n,i=c.charCodeAt(0)===47)}return n=r(n,!i),i?n.length>0?"/"+n:"/":n.length>0?n:"."},normalize:function(n){if(t(n),n.length===0)return".";var i=n.charCodeAt(0)===47,l=n.charCodeAt(n.length-1)===47;return n=r(n,!i),n.length===0&&!i&&(n="."),n.length>0&&l&&(n+="/"),i?"/"+n:n},isAbsolute:function(n){return t(n),n.length>0&&n.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var n,i=0;i<arguments.length;++i){var l=arguments[i];t(l),l.length>0&&(n===void 0?n=l:n+="/"+l)}return n===void 0?".":o.normalize(n)},relative:function(n,i){if(t(n),t(i),n===i||(n=o.resolve(n),i=o.resolve(i),n===i))return"";for(var l=1;l<n.length&&n.charCodeAt(l)===47;++l);for(var a=n.length,c=a-l,u=1;u<i.length&&i.charCodeAt(u)===47;++u);for(var h=i.length,m=h-u,f=c<m?c:m,p=-1,w=0;w<=f;++w){if(w===f){if(m>f){if(i.charCodeAt(u+w)===47)return i.slice(u+w+1);if(w===0)return i.slice(u+w)}else c>f&&(n.charCodeAt(l+w)===47?p=w:w===0&&(p=0));break}var N=n.charCodeAt(l+w),S=i.charCodeAt(u+w);if(N!==S)break;N===47&&(p=w)}var y="";for(w=l+p+1;w<=a;++w)(w===a||n.charCodeAt(w)===47)&&(y.length===0?y+="..":y+="/..");return y.length>0?y+i.slice(u+p):(u+=p,i.charCodeAt(u)===47&&++u,i.slice(u))},_makeLong:function(n){return n},dirname:function(n){if(t(n),n.length===0)return".";for(var i=n.charCodeAt(0),l=i===47,a=-1,c=!0,u=n.length-1;u>=1;--u)if(i=n.charCodeAt(u),i===47){if(!c){a=u;break}}else c=!1;return a===-1?l?"/":".":l&&a===1?"//":n.slice(0,a)},basename:function(n,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');t(n);var l=0,a=-1,c=!0,u;if(i!==void 0&&i.length>0&&i.length<=n.length){if(i.length===n.length&&i===n)return"";var h=i.length-1,m=-1;for(u=n.length-1;u>=0;--u){var f=n.charCodeAt(u);if(f===47){if(!c){l=u+1;break}}else m===-1&&(c=!1,m=u+1),h>=0&&(f===i.charCodeAt(h)?--h===-1&&(a=u):(h=-1,a=m))}return l===a?a=m:a===-1&&(a=n.length),n.slice(l,a)}else{for(u=n.length-1;u>=0;--u)if(n.charCodeAt(u)===47){if(!c){l=u+1;break}}else a===-1&&(c=!1,a=u+1);return a===-1?"":n.slice(l,a)}},extname:function(n){t(n);for(var i=-1,l=0,a=-1,c=!0,u=0,h=n.length-1;h>=0;--h){var m=n.charCodeAt(h);if(m===47){if(!c){l=h+1;break}continue}a===-1&&(c=!1,a=h+1),m===46?i===-1?i=h:u!==1&&(u=1):i!==-1&&(u=-1)}return i===-1||a===-1||u===0||u===1&&i===a-1&&i===l+1?"":n.slice(i,a)},format:function(n){if(n===null||typeof n!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof n);return s("/",n)},parse:function(n){t(n);var i={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return i;var l=n.charCodeAt(0),a=l===47,c;a?(i.root="/",c=1):c=0;for(var u=-1,h=0,m=-1,f=!0,p=n.length-1,w=0;p>=c;--p){if(l=n.charCodeAt(p),l===47){if(!f){h=p+1;break}continue}m===-1&&(f=!1,m=p+1),l===46?u===-1?u=p:w!==1&&(w=1):u!==-1&&(w=-1)}return u===-1||m===-1||w===0||w===1&&u===m-1&&u===h+1?m!==-1&&(h===0&&a?i.base=i.name=n.slice(1,m):i.base=i.name=n.slice(h,m)):(h===0&&a?(i.name=n.slice(1,u),i.base=n.slice(1,m)):(i.name=n.slice(h,u),i.base=n.slice(h,m)),i.ext=n.slice(u,m)),h>0?i.dir=n.slice(0,h-1):a&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};return o.posix=o,Zr=o,Zr}var Zr,xi,Vi,q0=ut(()=>{be(),Ee(),we(),_l(),Zr={},xi=!1,Vi=W0()}),Nl={};nr(Nl,{URL:()=>Pl,Url:()=>Il,default:()=>lt,fileURLToPath:()=>xl,format:()=>Tl,parse:()=>Dl,pathToFileURL:()=>Vl,resolve:()=>$l,resolveObject:()=>Bl});function G0(){if(Ai)return eo;Ai=!0;var d=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&d?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,r=d&&t&&typeof t.get=="function"?t.get:null,s=d&&Map.prototype.forEach,o=typeof Set=="function"&&Set.prototype,n=Object.getOwnPropertyDescriptor&&o?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,i=o&&n&&typeof n.get=="function"?n.get:null,l=o&&Set.prototype.forEach,a=typeof WeakMap=="function"&&WeakMap.prototype,c=a?WeakMap.prototype.has:null,u=typeof WeakSet=="function"&&WeakSet.prototype,h=u?WeakSet.prototype.has:null,m=typeof WeakRef=="function"&&WeakRef.prototype,f=m?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,w=Object.prototype.toString,N=Function.prototype.toString,S=String.prototype.match,y=String.prototype.slice,v=String.prototype.replace,_=String.prototype.toUpperCase,k=String.prototype.toLowerCase,C=RegExp.prototype.test,$=Array.prototype.concat,A=Array.prototype.join,T=Array.prototype.slice,I=Math.floor,B=typeof BigInt=="function"?BigInt.prototype.valueOf:null,V=Object.getOwnPropertySymbols,L=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,K=typeof Symbol=="function"&&typeof Symbol.iterator=="object",U=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===K||!0)?Symbol.toStringTag:null,de=Object.prototype.propertyIsEnumerable,ne=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(G){return G.__proto__}:null);function re(G,ee){if(G===1/0||G===-1/0||G!==G||G&&G>-1e3&&G<1e3||C.call(/e/,ee))return ee;var Ve=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof G=="number"){var Ie=G<0?-I(-G):I(G);if(Ie!==G){var Te=String(Ie),Oe=y.call(ee,Te.length+1);return v.call(Te,Ve,"$&_")+"."+v.call(v.call(Oe,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(ee,Ve,"$&_")}var fe=Cl,Y=fe.custom,ae=oe(Y)?Y:null;eo=function G(ee,Ve,Ie,Te){var Oe=Ve||{};if(F(Oe,"quoteStyle")&&Oe.quoteStyle!=="single"&&Oe.quoteStyle!=="double")throw new TypeError('option "quoteStyle" must be "single" or "double"');if(F(Oe,"maxStringLength")&&(typeof Oe.maxStringLength=="number"?Oe.maxStringLength<0&&Oe.maxStringLength!==1/0:Oe.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var Ze=F(Oe,"customInspect")?Oe.customInspect:!0;if(typeof Ze!="boolean"&&Ze!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(F(Oe,"indent")&&Oe.indent!==null&&Oe.indent!==" "&&!(parseInt(Oe.indent,10)===Oe.indent&&Oe.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(F(Oe,"numericSeparator")&&typeof Oe.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var tt=Oe.numericSeparator;if(typeof ee>"u")return"undefined";if(ee===null)return"null";if(typeof ee=="boolean")return ee?"true":"false";if(typeof ee=="string")return ce(ee,Oe);if(typeof ee=="number"){if(ee===0)return 1/0/ee>0?"0":"-0";var Re=String(ee);return tt?re(ee,Re):Re}if(typeof ee=="bigint"){var He=String(ee)+"n";return tt?re(ee,He):He}var De=typeof Oe.depth>"u"?5:Oe.depth;if(typeof Ie>"u"&&(Ie=0),Ie>=De&&De>0&&typeof ee=="object")return me(ee)?"[Array]":"[Object]";var Ue=P(Oe,Ie);if(typeof Te>"u")Te=[];else if(se(Te,ee)>=0)return"[Circular]";function Ge(vt,Wt,or){if(Wt&&(Te=T.call(Te),Te.push(Wt)),or){var kt={depth:Oe.depth};return F(Oe,"quoteStyle")&&(kt.quoteStyle=Oe.quoteStyle),G(vt,kt,Ie+1,Te)}return G(vt,Oe,Ie+1,Te)}if(typeof ee=="function"&&!Ne(ee)){var et=R(ee),it=te(ee,Ge);return"[Function"+(et?": "+et:" (anonymous)")+"]"+(it.length>0?" { "+A.call(it,", ")+" }":"")}if(oe(ee)){var gt=K?v.call(String(ee),/^(Symbol\(.*\))_[^)]*$/,"$1"):L.call(ee);return typeof ee=="object"&&!K?g(gt):gt}if(ke(ee)){for(var O="<"+k.call(String(ee.nodeName)),z=ee.attributes||[],Se=0;Se<z.length;Se++)O+=" "+z[Se].name+"="+M(J(z[Se].value),"double",Oe);return O+=">",ee.childNodes&&ee.childNodes.length&&(O+="..."),O+="</"+k.call(String(ee.nodeName))+">",O}if(me(ee)){if(ee.length===0)return"[]";var Ce=te(ee,Ge);return Ue&&!x(Ce)?"["+j(Ce,Ue)+"]":"[ "+A.call(Ce,", ")+" ]"}if(Z(ee)){var $e=te(ee,Ge);return!("cause"in Error.prototype)&&"cause"in ee&&!de.call(ee,"cause")?"{ ["+String(ee)+"] "+A.call($.call("[cause]: "+Ge(ee.cause),$e),", ")+" }":$e.length===0?"["+String(ee)+"]":"{ ["+String(ee)+"] "+A.call($e,", ")+" }"}if(typeof ee=="object"&&Ze){if(ae&&typeof ee[ae]=="function"&&fe)return fe(ee,{depth:De-Ie});if(Ze!=="symbol"&&typeof ee.inspect=="function")return ee.inspect()}if(ue(ee)){var rt=[];return s&&s.call(ee,function(vt,Wt){rt.push(Ge(Wt,ee,!0)+" => "+Ge(vt,ee))}),E("Map",r.call(ee),rt,Ue)}if(Q(ee)){var dt=[];return l&&l.call(ee,function(vt){dt.push(Ge(vt,ee))}),E("Set",i.call(ee),dt,Ue)}if(pe(ee))return b("WeakMap");if(ge(ee))return b("WeakSet");if(ye(ee))return b("WeakRef");if(le(ee))return g(Ge(Number(ee)));if(ie(ee))return g(Ge(B.call(ee)));if(X(ee))return g(p.call(ee));if(q(ee))return g(Ge(String(ee)));if(typeof window<"u"&&ee===window)return"{ [object Window] }";if(typeof globalThis<"u"&&ee===globalThis||typeof to<"u"&&ee===to)return"{ [object globalThis] }";if(!H(ee)&&!Ne(ee)){var yt=te(ee,Ge),Nr=ne?ne(ee)===Object.prototype:ee instanceof Object||ee.constructor===Object,Sr=ee instanceof Object?"":"null prototype",xr=!Nr&&U&&Object(ee)===ee&&U in ee?y.call(D(ee),8,-1):Sr?"Object":"",ho=Nr||typeof ee.constructor!="function"?"":ee.constructor.name?ee.constructor.name+" ":"",rr=ho+(xr||Sr?"["+A.call($.call([],xr||[],Sr||[]),": ")+"] ":"");return yt.length===0?rr+"{}":Ue?rr+"{"+j(yt,Ue)+"}":rr+"{ "+A.call(yt,", ")+" }"}return String(ee)};function M(G,ee,Ve){var Ie=(Ve.quoteStyle||ee)==="double"?'"':"'";return Ie+G+Ie}function J(G){return v.call(String(G),/"/g,"&quot;")}function me(G){return D(G)==="[object Array]"&&(!U||!(typeof G=="object"&&U in G))}function H(G){return D(G)==="[object Date]"&&(!U||!(typeof G=="object"&&U in G))}function Ne(G){return D(G)==="[object RegExp]"&&(!U||!(typeof G=="object"&&U in G))}function Z(G){return D(G)==="[object Error]"&&(!U||!(typeof G=="object"&&U in G))}function q(G){return D(G)==="[object String]"&&(!U||!(typeof G=="object"&&U in G))}function le(G){return D(G)==="[object Number]"&&(!U||!(typeof G=="object"&&U in G))}function X(G){return D(G)==="[object Boolean]"&&(!U||!(typeof G=="object"&&U in G))}function oe(G){if(K)return G&&typeof G=="object"&&G instanceof Symbol;if(typeof G=="symbol")return!0;if(!G||typeof G!="object"||!L)return!1;try{return L.call(G),!0}catch{}return!1}function ie(G){if(!G||typeof G!="object"||!B)return!1;try{return B.call(G),!0}catch{}return!1}var ve=Object.prototype.hasOwnProperty||function(G){return G in(this||to)};function F(G,ee){return ve.call(G,ee)}function D(G){return w.call(G)}function R(G){if(G.name)return G.name;var ee=S.call(N.call(G),/^function\s*([\w$]+)/);return ee?ee[1]:null}function se(G,ee){if(G.indexOf)return G.indexOf(ee);for(var Ve=0,Ie=G.length;Ve<Ie;Ve++)if(G[Ve]===ee)return Ve;return-1}function ue(G){if(!r||!G||typeof G!="object")return!1;try{r.call(G);try{i.call(G)}catch{return!0}return G instanceof Map}catch{}return!1}function pe(G){if(!c||!G||typeof G!="object")return!1;try{c.call(G,c);try{h.call(G,h)}catch{return!0}return G instanceof WeakMap}catch{}return!1}function ye(G){if(!f||!G||typeof G!="object")return!1;try{return f.call(G),!0}catch{}return!1}function Q(G){if(!i||!G||typeof G!="object")return!1;try{i.call(G);try{r.call(G)}catch{return!0}return G instanceof Set}catch{}return!1}function ge(G){if(!h||!G||typeof G!="object")return!1;try{h.call(G,h);try{c.call(G,c)}catch{return!0}return G instanceof WeakSet}catch{}return!1}function ke(G){return!G||typeof G!="object"?!1:typeof HTMLElement<"u"&&G instanceof HTMLElement?!0:typeof G.nodeName=="string"&&typeof G.getAttribute=="function"}function ce(G,ee){if(G.length>ee.maxStringLength){var Ve=G.length-ee.maxStringLength,Ie="... "+Ve+" more character"+(Ve>1?"s":"");return ce(y.call(G,0,ee.maxStringLength),ee)+Ie}var Te=v.call(v.call(G,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,xe);return M(Te,"single",ee)}function xe(G){var ee=G.charCodeAt(0),Ve={8:"b",9:"t",10:"n",12:"f",13:"r"}[ee];return Ve?"\\"+Ve:"\\x"+(ee<16?"0":"")+_.call(ee.toString(16))}function g(G){return"Object("+G+")"}function b(G){return G+" { ? }"}function E(G,ee,Ve,Ie){var Te=Ie?j(Ve,Ie):A.call(Ve,", ");return G+" ("+ee+") {"+Te+"}"}function x(G){for(var ee=0;ee<G.length;ee++)if(se(G[ee],`
9
+ `)>=0)return!1;return!0}function P(G,ee){var Ve;if(G.indent===" ")Ve=" ";else if(typeof G.indent=="number"&&G.indent>0)Ve=A.call(Array(G.indent+1)," ");else return null;return{base:Ve,prev:A.call(Array(ee+1),Ve)}}function j(G,ee){if(G.length===0)return"";var Ve=`
10
+ `+ee.prev+ee.base;return Ve+A.call(G,","+Ve)+`
11
+ `+ee.prev}function te(G,ee){var Ve=me(G),Ie=[];if(Ve){Ie.length=G.length;for(var Te=0;Te<G.length;Te++)Ie[Te]=F(G,Te)?ee(G[Te],G):""}var Oe=typeof V=="function"?V(G):[],Ze;if(K){Ze={};for(var tt=0;tt<Oe.length;tt++)Ze["$"+Oe[tt]]=Oe[tt]}for(var Re in G)F(G,Re)&&(Ve&&String(Number(Re))===Re&&Re<G.length||K&&Ze["$"+Re]instanceof Symbol||(C.call(/[^\w$]/,Re)?Ie.push(ee(Re,G)+": "+ee(G[Re],G)):Ie.push(Re+": "+ee(G[Re],G))));if(typeof V=="function")for(var He=0;He<Oe.length;He++)de.call(G,Oe[He])&&Ie.push("["+ee(Oe[He])+"]: "+ee(G[Oe[He]],G));return Ie}return eo}function H0(){if(Ii)return ro;Ii=!0;var d=cr(),t=$0(),r=G0(),s=Er(),o=d("%WeakMap%",!0),n=d("%Map%",!0),i=t("WeakMap.prototype.get",!0),l=t("WeakMap.prototype.set",!0),a=t("WeakMap.prototype.has",!0),c=t("Map.prototype.get",!0),u=t("Map.prototype.set",!0),h=t("Map.prototype.has",!0),m=function(N,S){for(var y=N,v;(v=y.next)!==null;y=v)if(v.key===S)return y.next=v.next,v.next=N.next,N.next=v,v},f=function(N,S){var y=m(N,S);return y&&y.value},p=function(N,S,y){var v=m(N,S);v?v.value=y:N.next={key:S,next:N.next,value:y}},w=function(N,S){return!!m(N,S)};return ro=function(){var N,S,y,v={assert:function(_){if(!v.has(_))throw new s("Side channel does not contain "+r(_))},get:function(_){if(o&&_&&(typeof _=="object"||typeof _=="function")){if(N)return i(N,_)}else if(n){if(S)return c(S,_)}else if(y)return f(y,_)},has:function(_){if(o&&_&&(typeof _=="object"||typeof _=="function")){if(N)return a(N,_)}else if(n){if(S)return h(S,_)}else if(y)return w(y,_);return!1},set:function(_,k){o&&_&&(typeof _=="object"||typeof _=="function")?(N||(N=new o),l(N,_,k)):n?(S||(S=new n),u(S,_,k)):(y||(y={key:{},next:null}),p(y,_,k))}};return v},ro}function Ci(){if(Ti)return oo;Ti=!0;var d=String.prototype.replace,t=/%20/g,r={RFC1738:"RFC1738",RFC3986:"RFC3986"};return oo={default:r.RFC3986,formatters:{RFC1738:function(s){return d.call(s,t,"+")},RFC3986:function(s){return String(s)}},RFC1738:r.RFC1738,RFC3986:r.RFC3986},oo}function Sl(){if($i)return no;$i=!0;var d=Ci(),t=Object.prototype.hasOwnProperty,r=Array.isArray,s=function(){for(var N=[],S=0;S<256;++S)N.push("%"+((S<16?"0":"")+S.toString(16)).toUpperCase());return N}(),o=function(N){for(;N.length>1;){var S=N.pop(),y=S.obj[S.prop];if(r(y)){for(var v=[],_=0;_<y.length;++_)typeof y[_]<"u"&&v.push(y[_]);S.obj[S.prop]=v}}},n=function(N,S){for(var y=S&&S.plainObjects?Object.create(null):{},v=0;v<N.length;++v)typeof N[v]<"u"&&(y[v]=N[v]);return y},i=function N(S,y,v){if(!y)return S;if(typeof y!="object"){if(r(S))S.push(y);else if(S&&typeof S=="object")(v&&(v.plainObjects||v.allowPrototypes)||!t.call(Object.prototype,y))&&(S[y]=!0);else return[S,y];return S}if(!S||typeof S!="object")return[S].concat(y);var _=S;return r(S)&&!r(y)&&(_=n(S,v)),r(S)&&r(y)?(y.forEach(function(k,C){if(t.call(S,C)){var $=S[C];$&&typeof $=="object"&&k&&typeof k=="object"?S[C]=N($,k,v):S.push(k)}else S[C]=k}),S):Object.keys(y).reduce(function(k,C){var $=y[C];return t.call(k,C)?k[C]=N(k[C],$,v):k[C]=$,k},_)},l=function(N,S){return Object.keys(S).reduce(function(y,v){return y[v]=S[v],y},N)},a=function(N,S,y){var v=N.replace(/\+/g," ");if(y==="iso-8859-1")return v.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(v)}catch{return v}},c=1024,u=function(N,S,y,v,_){if(N.length===0)return N;var k=N;if(typeof N=="symbol"?k=Symbol.prototype.toString.call(N):typeof N!="string"&&(k=String(N)),y==="iso-8859-1")return escape(k).replace(/%u[0-9a-f]{4}/gi,function(V){return"%26%23"+parseInt(V.slice(2),16)+"%3B"});for(var C="",$=0;$<k.length;$+=c){for(var A=k.length>=c?k.slice($,$+c):k,T=[],I=0;I<A.length;++I){var B=A.charCodeAt(I);if(B===45||B===46||B===95||B===126||B>=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||_===d.RFC1738&&(B===40||B===41)){T[T.length]=A.charAt(I);continue}if(B<128){T[T.length]=s[B];continue}if(B<2048){T[T.length]=s[192|B>>6]+s[128|B&63];continue}if(B<55296||B>=57344){T[T.length]=s[224|B>>12]+s[128|B>>6&63]+s[128|B&63];continue}I+=1,B=65536+((B&1023)<<10|A.charCodeAt(I)&1023),T[T.length]=s[240|B>>18]+s[128|B>>12&63]+s[128|B>>6&63]+s[128|B&63]}C+=T.join("")}return C},h=function(N){for(var S=[{obj:{o:N},prop:"o"}],y=[],v=0;v<S.length;++v)for(var _=S[v],k=_.obj[_.prop],C=Object.keys(k),$=0;$<C.length;++$){var A=C[$],T=k[A];typeof T=="object"&&T!==null&&y.indexOf(T)===-1&&(S.push({obj:k,prop:A}),y.push(T))}return o(S),N},m=function(N){return Object.prototype.toString.call(N)==="[object RegExp]"},f=function(N){return!N||typeof N!="object"?!1:!!(N.constructor&&N.constructor.isBuffer&&N.constructor.isBuffer(N))},p=function(N,S){return[].concat(N,S)},w=function(N,S){if(r(N)){for(var y=[],v=0;v<N.length;v+=1)y.push(S(N[v]));return y}return S(N)};return no={arrayToObject:n,assign:l,combine:p,compact:h,decode:a,encode:u,isBuffer:f,isRegExp:m,maybeMap:w,merge:i},no}function K0(){if(Bi)return io;Bi=!0;var d=H0(),t=Sl(),r=Ci(),s=Object.prototype.hasOwnProperty,o={brackets:function(w){return w+"[]"},comma:"comma",indices:function(w,N){return w+"["+N+"]"},repeat:function(w){return w}},n=Array.isArray,i=Array.prototype.push,l=function(w,N){i.apply(w,n(N)?N:[N])},a=Date.prototype.toISOString,c=r.default,u={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:t.encode,encodeValuesOnly:!1,format:c,formatter:r.formatters[c],indices:!1,serializeDate:function(w){return a.call(w)},skipNulls:!1,strictNullHandling:!1},h=function(w){return typeof w=="string"||typeof w=="number"||typeof w=="boolean"||typeof w=="symbol"||typeof w=="bigint"},m={},f=function w(N,S,y,v,_,k,C,$,A,T,I,B,V,L,K,U,de,ne){for(var re=N,fe=ne,Y=0,ae=!1;(fe=fe.get(m))!==void 0&&!ae;){var M=fe.get(N);if(Y+=1,typeof M<"u"){if(M===Y)throw new RangeError("Cyclic object value");ae=!0}typeof fe.get(m)>"u"&&(Y=0)}if(typeof T=="function"?re=T(S,re):re instanceof Date?re=V(re):y==="comma"&&n(re)&&(re=t.maybeMap(re,function(D){return D instanceof Date?V(D):D})),re===null){if(k)return A&&!U?A(S,u.encoder,de,"key",L):S;re=""}if(h(re)||t.isBuffer(re)){if(A){var J=U?S:A(S,u.encoder,de,"key",L);return[K(J)+"="+K(A(re,u.encoder,de,"value",L))]}return[K(S)+"="+K(String(re))]}var me=[];if(typeof re>"u")return me;var H;if(y==="comma"&&n(re))U&&A&&(re=t.maybeMap(re,A)),H=[{value:re.length>0?re.join(",")||null:void 0}];else if(n(T))H=T;else{var Ne=Object.keys(re);H=I?Ne.sort(I):Ne}var Z=$?S.replace(/\./g,"%2E"):S,q=v&&n(re)&&re.length===1?Z+"[]":Z;if(_&&n(re)&&re.length===0)return q+"[]";for(var le=0;le<H.length;++le){var X=H[le],oe=typeof X=="object"&&typeof X.value<"u"?X.value:re[X];if(!(C&&oe===null)){var ie=B&&$?X.replace(/\./g,"%2E"):X,ve=n(re)?typeof y=="function"?y(q,ie):q:q+(B?"."+ie:"["+ie+"]");ne.set(N,Y);var F=d();F.set(m,ne),l(me,w(oe,ve,y,v,_,k,C,$,y==="comma"&&U&&n(re)?null:A,T,I,B,V,L,K,U,de,F))}}return me},p=function(w){if(!w)return u;if(typeof w.allowEmptyArrays<"u"&&typeof w.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof w.encodeDotInKeys<"u"&&typeof w.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(w.encoder!==null&&typeof w.encoder<"u"&&typeof w.encoder!="function")throw new TypeError("Encoder has to be a function.");var N=w.charset||u.charset;if(typeof w.charset<"u"&&w.charset!=="utf-8"&&w.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var S=r.default;if(typeof w.format<"u"){if(!s.call(r.formatters,w.format))throw new TypeError("Unknown format option provided.");S=w.format}var y=r.formatters[S],v=u.filter;(typeof w.filter=="function"||n(w.filter))&&(v=w.filter);var _;if(w.arrayFormat in o?_=w.arrayFormat:"indices"in w?_=w.indices?"indices":"repeat":_=u.arrayFormat,"commaRoundTrip"in w&&typeof w.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");var k=typeof w.allowDots>"u"?w.encodeDotInKeys===!0?!0:u.allowDots:!!w.allowDots;return{addQueryPrefix:typeof w.addQueryPrefix=="boolean"?w.addQueryPrefix:u.addQueryPrefix,allowDots:k,allowEmptyArrays:typeof w.allowEmptyArrays=="boolean"?!!w.allowEmptyArrays:u.allowEmptyArrays,arrayFormat:_,charset:N,charsetSentinel:typeof w.charsetSentinel=="boolean"?w.charsetSentinel:u.charsetSentinel,commaRoundTrip:w.commaRoundTrip,delimiter:typeof w.delimiter>"u"?u.delimiter:w.delimiter,encode:typeof w.encode=="boolean"?w.encode:u.encode,encodeDotInKeys:typeof w.encodeDotInKeys=="boolean"?w.encodeDotInKeys:u.encodeDotInKeys,encoder:typeof w.encoder=="function"?w.encoder:u.encoder,encodeValuesOnly:typeof w.encodeValuesOnly=="boolean"?w.encodeValuesOnly:u.encodeValuesOnly,filter:v,format:S,formatter:y,serializeDate:typeof w.serializeDate=="function"?w.serializeDate:u.serializeDate,skipNulls:typeof w.skipNulls=="boolean"?w.skipNulls:u.skipNulls,sort:typeof w.sort=="function"?w.sort:null,strictNullHandling:typeof w.strictNullHandling=="boolean"?w.strictNullHandling:u.strictNullHandling}};return io=function(w,N){var S=w,y=p(N),v,_;typeof y.filter=="function"?(_=y.filter,S=_("",S)):n(y.filter)&&(_=y.filter,v=_);var k=[];if(typeof S!="object"||S===null)return"";var C=o[y.arrayFormat],$=C==="comma"&&y.commaRoundTrip;v||(v=Object.keys(S)),y.sort&&v.sort(y.sort);for(var A=d(),T=0;T<v.length;++T){var I=v[T];y.skipNulls&&S[I]===null||l(k,f(S[I],I,C,$,y.allowEmptyArrays,y.strictNullHandling,y.skipNulls,y.encodeDotInKeys,y.encode?y.encoder:null,y.filter,y.sort,y.allowDots,y.serializeDate,y.format,y.formatter,y.encodeValuesOnly,y.charset,A))}var B=k.join(y.delimiter),V=y.addQueryPrefix===!0?"?":"";return y.charsetSentinel&&(y.charset==="iso-8859-1"?V+="utf8=%26%2310003%3B&":V+="utf8=%E2%9C%93&"),B.length>0?V+B:""},io}function Q0(){if(Di)return so;Di=!0;var d=Sl(),t=Object.prototype.hasOwnProperty,r=Array.isArray,s={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:d.decode,delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictDepth:!1,strictNullHandling:!1},o=function(m){return m.replace(/&#(\d+);/g,function(f,p){return String.fromCharCode(parseInt(p,10))})},n=function(m,f){return m&&typeof m=="string"&&f.comma&&m.indexOf(",")>-1?m.split(","):m},i="utf8=%26%2310003%3B",l="utf8=%E2%9C%93",a=function(m,f){var p={__proto__:null},w=f.ignoreQueryPrefix?m.replace(/^\?/,""):m;w=w.replace(/%5B/gi,"[").replace(/%5D/gi,"]");var N=f.parameterLimit===1/0?void 0:f.parameterLimit,S=w.split(f.delimiter,N),y=-1,v,_=f.charset;if(f.charsetSentinel)for(v=0;v<S.length;++v)S[v].indexOf("utf8=")===0&&(S[v]===l?_="utf-8":S[v]===i&&(_="iso-8859-1"),y=v,v=S.length);for(v=0;v<S.length;++v)if(v!==y){var k=S[v],C=k.indexOf("]="),$=C===-1?k.indexOf("="):C+1,A,T;$===-1?(A=f.decoder(k,s.decoder,_,"key"),T=f.strictNullHandling?null:""):(A=f.decoder(k.slice(0,$),s.decoder,_,"key"),T=d.maybeMap(n(k.slice($+1),f),function(B){return f.decoder(B,s.decoder,_,"value")})),T&&f.interpretNumericEntities&&_==="iso-8859-1"&&(T=o(T)),k.indexOf("[]=")>-1&&(T=r(T)?[T]:T);var I=t.call(p,A);I&&f.duplicates==="combine"?p[A]=d.combine(p[A],T):(!I||f.duplicates==="last")&&(p[A]=T)}return p},c=function(m,f,p,w){for(var N=w?f:n(f,p),S=m.length-1;S>=0;--S){var y,v=m[S];if(v==="[]"&&p.parseArrays)y=p.allowEmptyArrays&&(N===""||p.strictNullHandling&&N===null)?[]:[].concat(N);else{y=p.plainObjects?Object.create(null):{};var _=v.charAt(0)==="["&&v.charAt(v.length-1)==="]"?v.slice(1,-1):v,k=p.decodeDotInKeys?_.replace(/%2E/g,"."):_,C=parseInt(k,10);!p.parseArrays&&k===""?y={0:N}:!isNaN(C)&&v!==k&&String(C)===k&&C>=0&&p.parseArrays&&C<=p.arrayLimit?(y=[],y[C]=N):k!=="__proto__"&&(y[k]=N)}N=y}return N},u=function(m,f,p,w){if(m){var N=p.allowDots?m.replace(/\.([^.[]+)/g,"[$1]"):m,S=/(\[[^[\]]*])/,y=/(\[[^[\]]*])/g,v=p.depth>0&&S.exec(N),_=v?N.slice(0,v.index):N,k=[];if(_){if(!p.plainObjects&&t.call(Object.prototype,_)&&!p.allowPrototypes)return;k.push(_)}for(var C=0;p.depth>0&&(v=y.exec(N))!==null&&C<p.depth;){if(C+=1,!p.plainObjects&&t.call(Object.prototype,v[1].slice(1,-1))&&!p.allowPrototypes)return;k.push(v[1])}if(v){if(p.strictDepth===!0)throw new RangeError("Input depth exceeded depth option of "+p.depth+" and strictDepth is true");k.push("["+N.slice(v.index)+"]")}return c(k,f,p,w)}},h=function(m){if(!m)return s;if(typeof m.allowEmptyArrays<"u"&&typeof m.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof m.decodeDotInKeys<"u"&&typeof m.decodeDotInKeys!="boolean")throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(m.decoder!==null&&typeof m.decoder<"u"&&typeof m.decoder!="function")throw new TypeError("Decoder has to be a function.");if(typeof m.charset<"u"&&m.charset!=="utf-8"&&m.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var f=typeof m.charset>"u"?s.charset:m.charset,p=typeof m.duplicates>"u"?s.duplicates:m.duplicates;if(p!=="combine"&&p!=="first"&&p!=="last")throw new TypeError("The duplicates option must be either combine, first, or last");var w=typeof m.allowDots>"u"?m.decodeDotInKeys===!0?!0:s.allowDots:!!m.allowDots;return{allowDots:w,allowEmptyArrays:typeof m.allowEmptyArrays=="boolean"?!!m.allowEmptyArrays:s.allowEmptyArrays,allowPrototypes:typeof m.allowPrototypes=="boolean"?m.allowPrototypes:s.allowPrototypes,allowSparse:typeof m.allowSparse=="boolean"?m.allowSparse:s.allowSparse,arrayLimit:typeof m.arrayLimit=="number"?m.arrayLimit:s.arrayLimit,charset:f,charsetSentinel:typeof m.charsetSentinel=="boolean"?m.charsetSentinel:s.charsetSentinel,comma:typeof m.comma=="boolean"?m.comma:s.comma,decodeDotInKeys:typeof m.decodeDotInKeys=="boolean"?m.decodeDotInKeys:s.decodeDotInKeys,decoder:typeof m.decoder=="function"?m.decoder:s.decoder,delimiter:typeof m.delimiter=="string"||d.isRegExp(m.delimiter)?m.delimiter:s.delimiter,depth:typeof m.depth=="number"||m.depth===!1?+m.depth:s.depth,duplicates:p,ignoreQueryPrefix:m.ignoreQueryPrefix===!0,interpretNumericEntities:typeof m.interpretNumericEntities=="boolean"?m.interpretNumericEntities:s.interpretNumericEntities,parameterLimit:typeof m.parameterLimit=="number"?m.parameterLimit:s.parameterLimit,parseArrays:m.parseArrays!==!1,plainObjects:typeof m.plainObjects=="boolean"?m.plainObjects:s.plainObjects,strictDepth:typeof m.strictDepth=="boolean"?!!m.strictDepth:s.strictDepth,strictNullHandling:typeof m.strictNullHandling=="boolean"?m.strictNullHandling:s.strictNullHandling}};return so=function(m,f){var p=h(f);if(m===""||m===null||typeof m>"u")return p.plainObjects?Object.create(null):{};for(var w=typeof m=="string"?a(m,p):m,N=p.plainObjects?Object.create(null):{},S=Object.keys(w),y=0;y<S.length;++y){var v=S[y],_=u(v,w[v],p,typeof m=="string");N=d.merge(N,_,p)}return p.allowSparse===!0?N:d.compact(N)},so}function Y0(){if(Pi)return ao;Pi=!0;var d=K0(),t=Q0(),r=Ci();return ao={formats:r,parse:t,stringify:d},ao}function J0(){if(Oi)return jt;Oi=!0;var d=Mt;function t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var r=/^([a-z0-9.+-]+:)/i,s=/:[0-9]*$/,o=/^(\/\/?(?!\/)[^?\s]*)(\?[^\s]*)?$/,n=["<",">",'"',"`"," ","\r",`
12
+ `," "],i=["{","}","|","\\","^","`"].concat(n),l=["'"].concat(i),a=["%","/","?",";","#"].concat(l),c=["/","?","#"],u=255,h=/^[+a-z0-9A-Z_-]{0,63}$/,m=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,f={javascript:!0,"javascript:":!0},p={javascript:!0,"javascript:":!0},w={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},N=Y0();function S(k,C,$){if(k&&typeof k=="object"&&k instanceof t)return k;var A=new t;return A.parse(k,C,$),A}t.prototype.parse=function(k,C,$){if(typeof k!="string")throw new TypeError("Parameter 'url' must be a string, not "+typeof k);var A=k.indexOf("?"),T=A!==-1&&A<k.indexOf("#")?"?":"#",I=k.split(T),B=/\\/g;I[0]=I[0].replace(B,"/"),k=I.join(T);var V=k;if(V=V.trim(),!$&&k.split("#").length===1){var L=o.exec(V);if(L)return this.path=V,this.href=V,this.pathname=L[1],L[2]?(this.search=L[2],C?this.query=N.parse(this.search.substr(1)):this.query=this.search.substr(1)):C&&(this.search="",this.query={}),this}var K=r.exec(V);if(K){K=K[0];var U=K.toLowerCase();this.protocol=U,V=V.substr(K.length)}if($||K||V.match(/^\/\/[^@/]+@[^@/]+/)){var de=V.substr(0,2)==="//";de&&!(K&&p[K])&&(V=V.substr(2),this.slashes=!0)}if(!p[K]&&(de||K&&!w[K])){for(var ne=-1,re=0;re<c.length;re++){var fe=V.indexOf(c[re]);fe!==-1&&(ne===-1||fe<ne)&&(ne=fe)}var Y,ae;ne===-1?ae=V.lastIndexOf("@"):ae=V.lastIndexOf("@",ne),ae!==-1&&(Y=V.slice(0,ae),V=V.slice(ae+1),this.auth=decodeURIComponent(Y)),ne=-1;for(var re=0;re<a.length;re++){var fe=V.indexOf(a[re]);fe!==-1&&(ne===-1||fe<ne)&&(ne=fe)}ne===-1&&(ne=V.length),this.host=V.slice(0,ne),V=V.slice(ne),this.parseHost(),this.hostname=this.hostname||"";var M=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!M)for(var J=this.hostname.split(/\./),re=0,me=J.length;re<me;re++){var H=J[re];if(H&&!H.match(h)){for(var Ne="",Z=0,q=H.length;Z<q;Z++)H.charCodeAt(Z)>127?Ne+="x":Ne+=H[Z];if(!Ne.match(h)){var le=J.slice(0,re),X=J.slice(re+1),oe=H.match(m);oe&&(le.push(oe[1]),X.unshift(oe[2])),X.length&&(V="/"+X.join(".")+V),this.hostname=le.join(".");break}}}this.hostname.length>u?this.hostname="":this.hostname=this.hostname.toLowerCase(),M||(this.hostname=d.toASCII(this.hostname));var ie=this.port?":"+this.port:"",ve=this.hostname||"";this.host=ve+ie,this.href+=this.host,M&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),V[0]!=="/"&&(V="/"+V))}if(!f[U])for(var re=0,me=l.length;re<me;re++){var F=l[re];if(V.indexOf(F)!==-1){var D=encodeURIComponent(F);D===F&&(D=escape(F)),V=V.split(F).join(D)}}var R=V.indexOf("#");R!==-1&&(this.hash=V.substr(R),V=V.slice(0,R));var se=V.indexOf("?");if(se!==-1?(this.search=V.substr(se),this.query=V.substr(se+1),C&&(this.query=N.parse(this.query)),V=V.slice(0,se)):C&&(this.search="",this.query={}),V&&(this.pathname=V),w[U]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var ie=this.pathname||"",ue=this.search||"";this.path=ie+ue}return this.href=this.format(),this};function y(k){return typeof k=="string"&&(k=S(k)),k instanceof t?k.format():t.prototype.format.call(k)}t.prototype.format=function(){var k=this.auth||"";k&&(k=encodeURIComponent(k),k=k.replace(/%3A/i,":"),k+="@");var C=this.protocol||"",$=this.pathname||"",A=this.hash||"",T=!1,I="";this.host?T=k+this.host:this.hostname&&(T=k+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(T+=":"+this.port)),this.query&&typeof this.query=="object"&&Object.keys(this.query).length&&(I=N.stringify(this.query,{arrayFormat:"repeat",addQueryPrefix:!1}));var B=this.search||I&&"?"+I||"";return C&&C.substr(-1)!==":"&&(C+=":"),this.slashes||(!C||w[C])&&T!==!1?(T="//"+(T||""),$&&$.charAt(0)!=="/"&&($="/"+$)):T||(T=""),A&&A.charAt(0)!=="#"&&(A="#"+A),B&&B.charAt(0)!=="?"&&(B="?"+B),$=$.replace(/[?#]/g,function(V){return encodeURIComponent(V)}),B=B.replace("#","%23"),C+T+$+B+A};function v(k,C){return S(k,!1,!0).resolve(C)}t.prototype.resolve=function(k){return this.resolveObject(S(k,!1,!0)).format()};function _(k,C){return k?S(k,!1,!0).resolveObject(C):C}return t.prototype.resolveObject=function(k){if(typeof k=="string"){var C=new t;C.parse(k,!1,!0),k=C}for(var $=new t,A=Object.keys(this),T=0;T<A.length;T++){var I=A[T];$[I]=this[I]}if($.hash=k.hash,k.href==="")return $.href=$.format(),$;if(k.slashes&&!k.protocol){for(var B=Object.keys(k),V=0;V<B.length;V++){var L=B[V];L!=="protocol"&&($[L]=k[L])}return w[$.protocol]&&$.hostname&&!$.pathname&&($.pathname="/",$.path=$.pathname),$.href=$.format(),$}if(k.protocol&&k.protocol!==$.protocol){if(!w[k.protocol]){for(var K=Object.keys(k),U=0;U<K.length;U++){var de=K[U];$[de]=k[de]}return $.href=$.format(),$}if($.protocol=k.protocol,!k.host&&!p[k.protocol]){for(var me=(k.pathname||"").split("/");me.length&&!(k.host=me.shift()););k.host||(k.host=""),k.hostname||(k.hostname=""),me[0]!==""&&me.unshift(""),me.length<2&&me.unshift(""),$.pathname=me.join("/")}else $.pathname=k.pathname;if($.search=k.search,$.query=k.query,$.host=k.host||"",$.auth=k.auth,$.hostname=k.hostname||k.host,$.port=k.port,$.pathname||$.search){var ne=$.pathname||"",re=$.search||"";$.path=ne+re}return $.slashes=$.slashes||k.slashes,$.href=$.format(),$}var fe=$.pathname&&$.pathname.charAt(0)==="/",Y=k.host||k.pathname&&k.pathname.charAt(0)==="/",ae=Y||fe||$.host&&k.pathname,M=ae,J=$.pathname&&$.pathname.split("/")||[],me=k.pathname&&k.pathname.split("/")||[],H=$.protocol&&!w[$.protocol];if(H&&($.hostname="",$.port=null,$.host&&(J[0]===""?J[0]=$.host:J.unshift($.host)),$.host="",k.protocol&&(k.hostname=null,k.port=null,k.host&&(me[0]===""?me[0]=k.host:me.unshift(k.host)),k.host=null),ae=ae&&(me[0]===""||J[0]==="")),Y)$.host=k.host||k.host===""?k.host:$.host,$.hostname=k.hostname||k.hostname===""?k.hostname:$.hostname,$.search=k.search,$.query=k.query,J=me;else if(me.length)J||(J=[]),J.pop(),J=J.concat(me),$.search=k.search,$.query=k.query;else if(k.search!=null){if(H){$.host=J.shift(),$.hostname=$.host;var Ne=$.host&&$.host.indexOf("@")>0?$.host.split("@"):!1;Ne&&($.auth=Ne.shift(),$.hostname=Ne.shift(),$.host=$.hostname)}return $.search=k.search,$.query=k.query,($.pathname!==null||$.search!==null)&&($.path=($.pathname?$.pathname:"")+($.search?$.search:"")),$.href=$.format(),$}if(!J.length)return $.pathname=null,$.search?$.path="/"+$.search:$.path=null,$.href=$.format(),$;for(var Z=J.slice(-1)[0],q=($.host||k.host||J.length>1)&&(Z==="."||Z==="..")||Z==="",le=0,X=J.length;X>=0;X--)Z=J[X],Z==="."?J.splice(X,1):Z===".."?(J.splice(X,1),le++):le&&(J.splice(X,1),le--);if(!ae&&!M)for(;le--;le)J.unshift("..");ae&&J[0]!==""&&(!J[0]||J[0].charAt(0)!=="/")&&J.unshift(""),q&&J.join("/").substr(-1)!=="/"&&J.push("");var oe=J[0]===""||J[0]&&J[0].charAt(0)==="/";if(H){$.hostname=oe?"":J.length?J.shift():"",$.host=$.hostname;var Ne=$.host&&$.host.indexOf("@")>0?$.host.split("@"):!1;Ne&&($.auth=Ne.shift(),$.hostname=Ne.shift(),$.host=$.hostname)}return ae=ae||$.host&&J.length,ae&&!oe&&J.unshift(""),J.length>0?$.pathname=J.join("/"):($.pathname=null,$.path=null),($.pathname!==null||$.search!==null)&&($.path=($.pathname?$.pathname:"")+($.search?$.search:"")),$.auth=k.auth||$.auth,$.slashes=$.slashes||k.slashes,$.href=$.format(),$},t.prototype.parseHost=function(){var k=this.host,C=s.exec(k);C&&(C=C[0],C!==":"&&(this.port=C.substr(1)),k=k.substr(0,k.length-C.length)),k&&(this.hostname=k)},jt.parse=S,jt.resolve=v,jt.resolveObject=_,jt.format=y,jt.Url=t,jt}function xl(d){if(typeof d=="string")d=new URL(d);else if(!(d instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(d.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return lo?X0(d):Z0(d)}function X0(d){let t=d.hostname,r=d.pathname;for(let s=0;s<r.length;s++)if(r[s]==="%"){let o=r.codePointAt(s+2)||32;if(r[s+1]==="2"&&o===102||r[s+1]==="5"&&o===99)throw new Deno.errors.InvalidData("must not include encoded \\ or / characters")}if(r=r.replace(Ll,"\\"),r=decodeURIComponent(r),t!=="")return`\\\\${t}${r}`;{let s=r.codePointAt(1)|32,o=r[2];if(s<Rl||s>jl||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return r.slice(1)}}function Z0(d){if(d.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let t=d.pathname;for(let r=0;r<t.length;r++)if(t[r]==="%"){let s=t.codePointAt(r+2)||32;if(t[r+1]==="2"&&s===102)throw new Deno.errors.InvalidData("must not include encoded / characters")}return decodeURIComponent(t)}function Vl(d){let t=Vi.resolve(d),r=d.charCodeAt(d.length-1);(r===Ml||lo&&r===Ol)&&t[t.length-1]!==Vi.sep&&(t+="/");let s=new URL("file://");return t.includes("%")&&(t=t.replace(Ul,"%25")),!lo&&t.includes("\\")&&(t=t.replace(Fl,"%5C")),t.includes(`
13
+ `)&&(t=t.replace(zl,"%0A")),t.includes("\r")&&(t=t.replace(Wl,"%0D")),t.includes(" ")&&(t=t.replace(ql,"%09")),s.pathname=t,s}var Cl,eo,Ai,to,ro,Ii,oo,Ti,no,$i,io,Bi,so,Di,ao,Pi,jt,Oi,lt,Al,Il,Tl,$l,Bl,Dl,Pl,Ol,Ml,Rl,jl,lo,Ll,Ul,Fl,zl,Wl,ql,eb=ut(()=>{be(),Ee(),we(),y0(),B0(),q0(),_l(),Cl=Object.freeze(Object.create(null)),eo={},Ai=!1,to=typeof globalThis<"u"?globalThis:typeof self<"u"?self:global,ro={},Ii=!1,oo={},Ti=!1,no={},$i=!1,io={},Bi=!1,so={},Di=!1,ao={},Pi=!1,jt={},Oi=!1,lt=J0(),lt.parse,lt.resolve,lt.resolveObject,lt.format,lt.Url,Al=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,lt.URL=typeof URL<"u"?URL:null,lt.pathToFileURL=Vl,lt.fileURLToPath=xl,Il=lt.Url,Tl=lt.format,$l=lt.resolve,Bl=lt.resolveObject,Dl=lt.parse,Pl=lt.URL,Ol=92,Ml=47,Rl=97,jl=122,lo=Al==="win32",Ll=/\//g,Ul=/%/g,Fl=/\\/g,zl=/\n/g,Wl=/\r/g,ql=/\t/g}),tb=_e((d,t)=>{be(),Ee(),we(),t.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Mi=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0}),d.BufferedDuplex=void 0,d.writev=s;var t=Zt(),r=(nt(),qe(ot));function s(n,i){let l=new Array(n.length);for(let a=0;a<n.length;a++)typeof n[a].chunk=="string"?l[a]=r.Buffer.from(n[a].chunk,"utf8"):l[a]=n[a].chunk;this._write(r.Buffer.concat(l),"binary",i)}var o=class extends t.Duplex{constructor(i,l,a){super({objectMode:!0});he(this,"socket");he(this,"proxy");he(this,"isSocketOpen");he(this,"writeQueue");this.proxy=l,this.socket=a,this.writeQueue=[],i.objectMode||(this._writev=s.bind(this)),this.isSocketOpen=!1,this.proxy.on("data",c=>{!this.destroyed&&this.readable&&this.push(c)})}_read(i){this.proxy.read(i)}_write(i,l,a){this.isSocketOpen?this.writeToProxy(i,l,a):this.writeQueue.push({chunk:i,encoding:l,cb:a})}_final(i){this.writeQueue=[],this.proxy.end(i)}_destroy(i,l){this.writeQueue=[],this.proxy.destroy(),l(i)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(i,l,a){this.proxy.write(i,l)===!1?this.proxy.once("drain",a):a()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:i,encoding:l,cb:a}=this.writeQueue.shift();this.writeToProxy(i,l,a)}}};d.BufferedDuplex=o}),co=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(S){return S&&S.__esModule?S:{default:S}};Object.defineProperty(d,"__esModule",{value:!0}),d.streamBuilder=d.browserStreamBuilder=void 0;var r=(nt(),qe(ot)),s=t(tb()),o=t(Ct()),n=Zt(),i=t(Mr()),l=Mi(),a=(0,o.default)("mqttjs:ws"),c=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function u(S,y){let v=`${S.protocol}://${S.hostname}:${S.port}${S.path}`;return typeof S.transformWsUrl=="function"&&(v=S.transformWsUrl(v,S,y)),v}function h(S){let y=S;return S.port||(S.protocol==="wss"?y.port=443:y.port=80),S.path||(y.path="/"),S.wsOptions||(y.wsOptions={}),!i.default&&!S.forceNativeWebSocket&&S.protocol==="wss"&&c.forEach(v=>{Object.prototype.hasOwnProperty.call(S,v)&&!Object.prototype.hasOwnProperty.call(S.wsOptions,v)&&(y.wsOptions[v]=S[v])}),y}function m(S){let y=h(S);if(y.hostname||(y.hostname=y.host),!y.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let v=new URL(document.URL);y.hostname=v.hostname,y.port||(y.port=Number(v.port))}return y.objectMode===void 0&&(y.objectMode=!(y.binary===!0||y.binary===void 0)),y}function f(S,y,v){a("createWebSocket"),a(`protocol: ${v.protocolId} ${v.protocolVersion}`);let _=v.protocolId==="MQIsdp"&&v.protocolVersion===3?"mqttv3.1":"mqtt";a(`creating new Websocket for url: ${y} and protocol: ${_}`);let k;return v.createWebsocket?k=v.createWebsocket(y,[_],v):k=new s.default(y,[_],v.wsOptions),k}function p(S,y){let v=y.protocolId==="MQIsdp"&&y.protocolVersion===3?"mqttv3.1":"mqtt",_=u(y,S),k;return y.createWebsocket?k=y.createWebsocket(_,[v],y):k=new WebSocket(_,[v]),k.binaryType="arraybuffer",k}var w=(S,y)=>{a("streamBuilder");let v=h(y);v.hostname=v.hostname||v.host||"localhost";let _=u(v,S),k=f(S,_,v),C=s.default.createWebSocketStream(k,v.wsOptions);return C.url=_,k.on("close",()=>{C.destroy()}),C};d.streamBuilder=w;var N=(S,y)=>{a("browserStreamBuilder");let v,_=m(y).browserBufferSize||1024*512,k=y.browserBufferTimeout||1e3,C=!y.objectMode,$=p(S,y),A=I(y,U,de);y.objectMode||(A._writev=l.writev.bind(A)),A.on("close",()=>{$.close()});let T=typeof $.addEventListener<"u";$.readyState===$.OPEN?(v=A,v.socket=$):(v=new l.BufferedDuplex(y,A,$),T?$.addEventListener("open",B):$.onopen=B),T?($.addEventListener("close",V),$.addEventListener("error",L),$.addEventListener("message",K)):($.onclose=V,$.onerror=L,$.onmessage=K);function I(ne,re,fe){let Y=new n.Transform({objectMode:ne.objectMode});return Y._write=re,Y._flush=fe,Y}function B(){a("WebSocket onOpen"),v instanceof l.BufferedDuplex&&v.socketReady()}function V(ne){a("WebSocket onClose",ne),v.end(),v.destroy()}function L(ne){a("WebSocket onError",ne);let re=new Error("WebSocket error");re.event=ne,v.destroy(re)}async function K(ne){if(!A||!A.readable||!A.writable)return;let{data:re}=ne;re instanceof ArrayBuffer?re=r.Buffer.from(re):re instanceof Blob?re=r.Buffer.from(await new Response(re).arrayBuffer()):re=r.Buffer.from(re,"utf8"),A.push(re)}function U(ne,re,fe){if($.bufferedAmount>_){setTimeout(U,k,ne,re,fe);return}C&&typeof ne=="string"&&(ne=r.Buffer.from(ne,"utf8"));try{$.send(ne)}catch(Y){return fe(Y)}fe()}function de(ne){$.close(),ne()}return v};d.browserStreamBuilder=N}),Ri={};nr(Ri,{Server:()=>Ye,Socket:()=>Ye,Stream:()=>Ye,_createServerHandle:()=>Ye,_normalizeArgs:()=>Ye,_setSimultaneousAccepts:()=>Ye,connect:()=>Ye,createConnection:()=>Ye,createServer:()=>Ye,default:()=>Gl,isIP:()=>Ye,isIPv4:()=>Ye,isIPv6:()=>Ye});function Ye(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}var Gl,Hl=ut(()=>{be(),Ee(),we(),Gl={_createServerHandle:Ye,_normalizeArgs:Ye,_setSimultaneousAccepts:Ye,connect:Ye,createConnection:Ye,createServer:Ye,isIP:Ye,isIPv4:Ye,isIPv6:Ye,Server:Ye,Socket:Ye,Stream:Ye}}),Kl=_e((d,t)=>{be(),Ee(),we(),t.exports={}}),Ql=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(d,"__esModule",{value:!0});var r=t((Hl(),qe(Ri))),s=t(Ct()),o=t(Kl()),n=(0,s.default)("mqttjs:tcp"),i=(l,a)=>{if(a.port=a.port||1883,a.hostname=a.hostname||a.host||"localhost",a.socksProxy)return(0,o.default)(a.hostname,a.port,a.socksProxy,{timeout:a.socksTimeout});let{port:c,path:u}=a,h=a.hostname;return n("port %d and host %s",c,h),r.default.createConnection({port:c,host:h,path:u})};d.default=i}),Yl={};nr(Yl,{default:()=>Jl});var Jl,rb=ut(()=>{be(),Ee(),we(),Jl={}}),Xl=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(c){return c&&c.__esModule?c:{default:c}};Object.defineProperty(d,"__esModule",{value:!0});var r=(rb(),qe(Yl)),s=t((Hl(),qe(Ri))),o=t(Ct()),n=t(Kl()),i=(0,o.default)("mqttjs:tls");function l(c){let{host:u,port:h,socksProxy:m,...f}=c;if(m!==void 0){let p=(0,n.default)(u,h,m,{timeout:c.socksTimeout});return(0,r.connect)({...f,socket:p})}return(0,r.connect)(c)}var a=(c,u)=>{u.port=u.port||8883,u.host=u.hostname||u.host||"localhost",s.default.isIP(u.host)===0&&(u.servername=u.host),u.rejectUnauthorized=u.rejectUnauthorized!==!1,delete u.path,i("port %d host %s rejectUnauthorized %b",u.port,u.host,u.rejectUnauthorized);let h=l(u);h.on("secureConnect",()=>{u.rejectUnauthorized&&!h.authorized?h.emit("error",new Error("TLS not authorized")):h.removeListener("error",m)});function m(f){u.rejectUnauthorized&&c.emit("error",f),h.end()}return h.on("error",m),h};d.default=a}),Zl=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=(nt(),qe(ot)),r=Zt(),s=Mi(),o,n,i;function l(){let m=new r.Transform;return m._write=(f,p,w)=>{o.send({data:f.buffer,success(){w()},fail(N){w(new Error(N))}})},m._flush=f=>{o.close({success(){f()}})},m}function a(m){m.hostname||(m.hostname="localhost"),m.path||(m.path="/"),m.wsOptions||(m.wsOptions={})}function c(m,f){let p=m.protocol==="wxs"?"wss":"ws",w=`${p}://${m.hostname}${m.path}`;return m.port&&m.port!==80&&m.port!==443&&(w=`${p}://${m.hostname}:${m.port}${m.path}`),typeof m.transformWsUrl=="function"&&(w=m.transformWsUrl(w,m,f)),w}function u(){o.onOpen(()=>{i.socketReady()}),o.onMessage(m=>{let{data:f}=m;f instanceof ArrayBuffer?f=t.Buffer.from(f):f=t.Buffer.from(f,"utf8"),n.push(f)}),o.onClose(()=>{i.emit("close"),i.end(),i.destroy()}),o.onError(m=>{let f=new Error(m.errMsg);i.destroy(f)})}var h=(m,f)=>{if(f.hostname=f.hostname||f.host,!f.hostname)throw new Error("Could not determine host. Specify host manually.");let p=f.protocolId==="MQIsdp"&&f.protocolVersion===3?"mqttv3.1":"mqtt";a(f);let w=c(f,m);o=wx.connectSocket({url:w,protocols:[p]}),n=l(),i=new s.BufferedDuplex(f,n,o),i._destroy=(S,y)=>{o.close({success(){y&&y(S)}})};let N=i.destroy;return i.destroy=(S,y)=>(i.destroy=N,setTimeout(()=>{o.close({fail(){i._destroy(S,y)}})},0),i),u(),i};d.default=h}),ec=_e(d=>{be(),Ee(),we(),Object.defineProperty(d,"__esModule",{value:!0});var t=(nt(),qe(ot)),r=Zt(),s=Mi(),o,n,i,l=!1;function a(){let f=new r.Transform;return f._write=(p,w,N)=>{o.sendSocketMessage({data:p.buffer,success(){N()},fail(){N(new Error)}})},f._flush=p=>{o.closeSocket({success(){p()}})},f}function c(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})}function u(f,p){let w=f.protocol==="alis"?"wss":"ws",N=`${w}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(N=`${w}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(N=f.transformWsUrl(N,f,p)),N}function h(){l||(l=!0,o.onSocketOpen(()=>{i.socketReady()}),o.onSocketMessage(f=>{if(typeof f.data=="string"){let p=t.Buffer.from(f.data,"base64");n.push(p)}else{let p=new FileReader;p.addEventListener("load",()=>{if(p.result instanceof ArrayBuffer){n.push(t.Buffer.from(p.result));return}n.push(t.Buffer.from(p.result,"utf-8"))}),p.readAsArrayBuffer(f.data)}}),o.onSocketClose(()=>{i.end(),i.destroy()}),o.onSocketError(f=>{i.destroy(f)}))}var m=(f,p)=>{if(p.hostname=p.hostname||p.host,!p.hostname)throw new Error("Could not determine host. Specify host manually.");let w=p.protocolId==="MQIsdp"&&p.protocolVersion===3?"mqttv3.1":"mqtt";c(p);let N=u(p,f);return o=p.my,o.connectSocket({url:N,protocols:w}),n=a(),i=new s.BufferedDuplex(p,n,o),h(),i};d.default=m}),ob=_e(d=>{be(),Ee(),we();var t=d&&d.__importDefault||function(h){return h&&h.__esModule?h:{default:h}};Object.defineProperty(d,"__esModule",{value:!0}),d.connectAsync=u;var r=t(Ct()),s=t((eb(),qe(Nl))),o=t(zn()),n=t(Mr());typeof(ze==null?void 0:ze.nextTick)!="function"&&(ze.nextTick=setImmediate);var i=(0,r.default)("mqttjs"),l=null;function a(h){let m;if(h.auth)if(m=h.auth.match(/^(.+):(.+)$/),m){let[,f,p]=m;h.username=f,h.password=p}else h.username=h.auth}function c(h,m){var w,N,S;if(i("connecting to an MQTT broker..."),typeof h=="object"&&!m&&(m=h,h=""),m=m||{},h&&typeof h=="string"){let y=s.default.parse(h,!0),v={};if(y.port!=null&&(v.port=Number(y.port)),v.host=y.hostname,v.query=y.query,v.auth=y.auth,v.protocol=y.protocol,v.path=y.path,m={...v,...m},!m.protocol)throw new Error("Missing protocol");m.protocol=m.protocol.replace(/:$/,"")}if(m.unixSocket=m.unixSocket||((w=m.protocol)==null?void 0:w.includes("+unix")),m.unixSocket?m.protocol=m.protocol.replace("+unix",""):!((N=m.protocol)!=null&&N.startsWith("ws"))&&!((S=m.protocol)!=null&&S.startsWith("wx"))&&delete m.path,a(m),m.query&&typeof m.query.clientId=="string"&&(m.clientId=m.query.clientId),n.default||m.unixSocket?m.socksProxy=void 0:m.socksProxy===void 0&&typeof ze<"u"&&(m.socksProxy=ze.env.MQTTJS_SOCKS_PROXY),m.cert&&m.key)if(m.protocol){if(["mqtts","wss","wxs","alis"].indexOf(m.protocol)===-1)switch(m.protocol){case"mqtt":m.protocol="mqtts";break;case"ws":m.protocol="wss";break;case"wx":m.protocol="wxs";break;case"ali":m.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${m.protocol}"!`)}}else throw new Error("Missing secure protocol key");if(l||(l={},!n.default&&!m.forceNativeWebSocket?(l.ws=co().streamBuilder,l.wss=co().streamBuilder,l.mqtt=Ql().default,l.tcp=Ql().default,l.ssl=Xl().default,l.tls=l.ssl,l.mqtts=Xl().default):(l.ws=co().browserStreamBuilder,l.wss=co().browserStreamBuilder,l.wx=Zl().default,l.wxs=Zl().default,l.ali=ec().default,l.alis=ec().default)),!l[m.protocol]){let y=["mqtts","wss"].indexOf(m.protocol)!==-1;m.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((v,_)=>y&&_%2===0?!1:typeof l[v]=="function")[0]}if(m.clean===!1&&!m.clientId)throw new Error("Missing clientId for unclean clients");m.protocol&&(m.defaultProtocol=m.protocol);function f(y){return m.servers&&((!y._reconnectCount||y._reconnectCount===m.servers.length)&&(y._reconnectCount=0),m.host=m.servers[y._reconnectCount].host,m.port=m.servers[y._reconnectCount].port,m.protocol=m.servers[y._reconnectCount].protocol?m.servers[y._reconnectCount].protocol:m.defaultProtocol,m.hostname=m.host,y._reconnectCount++),i("calling streambuilder for",m.protocol),l[m.protocol](y,m)}let p=new o.default(f,m);return p.on("error",()=>{}),p}function u(h,m,f=!0){return new Promise((p,w)=>{let N=c(h,m),S={connect:v=>{y(),p(N)},end:()=>{y(),p(N)},error:v=>{y(),N.end(),w(v)}};f===!1&&(S.close=()=>{S.error(new Error("Couldn't connect to server"))});function y(){Object.keys(S).forEach(v=>{N.off(v,S[v])})}Object.keys(S).forEach(v=>{N.on(v,S[v])})})}d.default=c}),tc=_e(d=>{be(),Ee(),we();var t=d&&d.__createBinding||(Object.create?function(f,p,w,N){N===void 0&&(N=w);var S=Object.getOwnPropertyDescriptor(p,w);(!S||("get"in S?!p.__esModule:S.writable||S.configurable))&&(S={enumerable:!0,get:function(){return p[w]}}),Object.defineProperty(f,N,S)}:function(f,p,w,N){N===void 0&&(N=w),f[N]=p[w]}),r=d&&d.__setModuleDefault||(Object.create?function(f,p){Object.defineProperty(f,"default",{enumerable:!0,value:p})}:function(f,p){f.default=p}),s=d&&d.__importStar||function(){var f=function(p){return f=Object.getOwnPropertyNames||function(w){var N=[];for(var S in w)Object.prototype.hasOwnProperty.call(w,S)&&(N[N.length]=S);return N},f(p)};return function(p){if(p&&p.__esModule)return p;var w={};if(p!=null)for(var N=f(p),S=0;S<N.length;S++)N[S]!=="default"&&t(w,p,N[S]);return r(w,p),w}}(),o=d&&d.__exportStar||function(f,p){for(var w in f)w!=="default"&&!Object.prototype.hasOwnProperty.call(p,w)&&t(p,f,w)},n=d&&d.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(d,"__esModule",{value:!0}),d.ReasonCodes=d.KeepaliveManager=d.UniqueMessageIdProvider=d.DefaultMessageIdProvider=d.Store=d.MqttClient=d.connectAsync=d.connect=d.Client=void 0;var i=n(zn());d.MqttClient=i.default;var l=n(la());d.DefaultMessageIdProvider=l.default;var a=n(m0());d.UniqueMessageIdProvider=a.default;var c=n(ta());d.Store=c.default;var u=s(ob());d.connect=u.default,Object.defineProperty(d,"connectAsync",{enumerable:!0,get:function(){return u.connectAsync}});var h=n(ma());d.KeepaliveManager=h.default,d.Client=i.default,o(zn(),d),o(lr(),d);var m=Pr();Object.defineProperty(d,"ReasonCodes",{enumerable:!0,get:function(){return m.ReasonCodes}})}),nb=_e(d=>{be(),Ee(),we();var t=d&&d.__createBinding||(Object.create?function(i,l,a,c){c===void 0&&(c=a);var u=Object.getOwnPropertyDescriptor(l,a);(!u||("get"in u?!l.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return l[a]}}),Object.defineProperty(i,c,u)}:function(i,l,a,c){c===void 0&&(c=a),i[c]=l[a]}),r=d&&d.__setModuleDefault||(Object.create?function(i,l){Object.defineProperty(i,"default",{enumerable:!0,value:l})}:function(i,l){i.default=l}),s=d&&d.__importStar||function(){var i=function(l){return i=Object.getOwnPropertyNames||function(a){var c=[];for(var u in a)Object.prototype.hasOwnProperty.call(a,u)&&(c[c.length]=u);return c},i(l)};return function(l){if(l&&l.__esModule)return l;var a={};if(l!=null)for(var c=i(l),u=0;u<c.length;u++)c[u]!=="default"&&t(a,l,c[u]);return r(a,l),a}}(),o=d&&d.__exportStar||function(i,l){for(var a in i)a!=="default"&&!Object.prototype.hasOwnProperty.call(l,a)&&t(l,i,a)};Object.defineProperty(d,"__esModule",{value:!0});var n=s(tc());d.default=n,o(tc(),d)});const ib=nb();/*! Bundled license information:
14
14
 
15
15
  @jspm/core/nodelibs/browser/chunk-DtuTasat.js:
16
16
  (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
@@ -20,7 +20,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
20
20
 
21
21
  @babel/runtime/helpers/regenerator.js:
22
22
  (*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE *)
23
- */class Z0{constructor(){ve(this,"client",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("MQTT 连接未启用"));return}this.config=t;let n=t.broker;if(console.log("[MQTT] 原始 broker 地址:",n),n.startsWith("mqtt://")){const i=n.replace("mqtt://","");i.includes("broker.emqx.io")?n="ws://broker.emqx.io:8083/mqtt":n=`ws://${i}:8083/mqtt`,console.log("[MQTT] 协议转换: mqtt:// → WebSocket,目标地址:",n)}else if(n.startsWith("mqtts://")){const i=n.replace("mqtts://","");i.includes("broker.emqx.io")?n="wss://broker.emqx.io:8084/mqtt":n=`wss://${i}:8084/mqtt`,console.log("[MQTT] 协议转换: mqtts:// → WebSocket Secure,目标地址:",n)}else!n.startsWith("ws://")&&!n.startsWith("wss://")?(n=`ws://${n}:8083/mqtt`,console.log("[MQTT] 添加默认协议和端口,目标地址:",n)):console.log("[MQTT] 使用原始 WebSocket 地址:",n);const o={clientId:t.clientId||`scada_${Math.random().toString(16).substring(2,8)}`,clean:!0,reconnectPeriod:0,connectTimeout:30*1e3,keepalive:60};t.username&&t.username.trim()?(o.username=t.username,console.log("[MQTT] 使用认证,用户名:",t.username)):console.log("[MQTT] 使用匿名连接"),t.password&&t.password.trim()&&(o.password=t.password,console.log("[MQTT] 密码已设置")),console.log("[MQTT] 完整连接配置:",{brokerUrl:n,clientId:o.clientId,username:o.username||"无",hasPassword:!!o.password,topic:t.topic});try{this.client=X0.connect(n,o);const i=setTimeout(()=>{a(new Error("MQTT 连接超时")),this.client&&this.client.end(!0)},15e3);this.client.on("connect",l=>{clearTimeout(i),this.isConnected=!0,this.onStatusChangeCallback&&this.onStatusChangeCallback(!0),this.client&&t.topic?this.client.subscribe(t.topic,s=>{s?(console.error("[MQTT] 订阅失败:",s),a(s)):(console.log(`[MQTT] 订阅主题成功: ${t.topic}`),r())}):r()}),this.client.on("message",(l,s)=>{try{const c=s.toString();let h=JSON.parse(c);if(t.dataPath){const m=t.dataPath.split(".");for(const p of m)h=h==null?void 0:h[p]}this.onDataCallback&&h&&this.onDataCallback(h)}catch(c){console.error("[MQTT] 消息解析失败:",c),this.onErrorCallback&&this.onErrorCallback(c)}}),this.client.on("error",l=>{clearTimeout(i),console.error("[MQTT] 连接错误:",l.message),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1),this.onErrorCallback&&this.onErrorCallback(l),a(l)}),this.client.on("close",()=>{clearTimeout(i),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1)}),this.client.on("offline",()=>{}),this.client.on("end",()=>{})}catch(i){console.error("[MQTT] 创建客户端失败:",i),a(i)}})}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}publish(t,r){if(!this.client||!this.isConnected){console.warn("[MQTT] 未连接,无法发布消息");return}const a=typeof r=="string"?r:JSON.stringify(r);this.client.publish(t,a,n=>{n&&console.error("[MQTT] 消息发布失败:",n)})}disconnect(){if(this.client){try{this.client.removeAllListeners(),this.client.end(!0)}catch(t){console.warn("[MQTT] 断开连接时出错:",t)}this.client=null,this.isConnected=!1}}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function eb(){return new Z0}class tb{constructor(){ve(this,"ws",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1);ve(this,"reconnectTimer",null)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("WebSocket 连接未启用"));return}if(!t.url){a(new Error("WebSocket URL 未配置"));return}this.config=t;try{this.ws=new WebSocket(t.url),this.ws.onopen=()=>{var n;console.log(`[WebSocket] 连接成功: ${t.url}`),this.isConnected=!0,(n=this.onStatusChangeCallback)==null||n.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.ws.onmessage=n=>{try{let i=JSON.parse(n.data);if(t.dataPath){const l=t.dataPath.split(".");for(const s of l)if(i=i==null?void 0:i[s],!i)break}this.onDataCallback&&i&&this.onDataCallback(i)}catch(o){console.error("[WebSocket] 消息解析失败:",o),this.onErrorCallback&&this.onErrorCallback(o)}},this.ws.onerror=n=>{var o;console.error("[WebSocket] 连接错误:",n),this.isConnected=!1,(o=this.onStatusChangeCallback)==null||o.call(this,!1),this.onErrorCallback&&this.onErrorCallback(new Error("WebSocket 连接错误")),a(new Error("WebSocket 连接错误"))},this.ws.onclose=n=>{var o;if(console.log(`[WebSocket] 连接关闭: ${n.code} ${n.reason}`),this.isConnected=!1,(o=this.onStatusChangeCallback)==null||o.call(this,!1),t.autoReconnect!==!1&&t.enabled){const i=t.reconnectDelay||5e3;console.log(`[WebSocket] ${i}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},i)}}}catch(n){console.error("[WebSocket] 创建连接失败:",n),a(n)}})}send(t){if(!this.ws||!this.isConnected){console.warn("[WebSocket] 未连接,无法发送消息");return}const r=typeof t=="string"?t:JSON.stringify(t);this.ws.send(r)}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(console.log("[WebSocket] 断开连接"),this.ws.close(),this.ws=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function rb(){return new tb}class ob{constructor(){ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"intervalId",null);ve(this,"isPolling",!1);ve(this,"abortController",null)}async start(t){if(!t.enabled)throw new Error("HTTP 轮询未启用");if(!t.url)throw new Error("HTTP URL 未配置");this.config=t,this.isPolling=!0,await this.poll();const r=t.pollInterval||5e3;this.intervalId=window.setInterval(()=>{this.poll()},r),console.log(`[HTTP] 启动轮询: ${t.url}, 间隔: ${r}ms`)}async poll(){var t,r;if(!(!this.config||!this.isPolling))try{this.abortController=new AbortController;const a=this.config.timeout||3e4,n=setTimeout(()=>{var c;(c=this.abortController)==null||c.abort()},a),o={method:this.config.method||"GET",headers:{"Content-Type":"application/json",...this.config.headers},signal:this.abortController.signal};this.config.body&&(this.config.method==="POST"||this.config.method==="PUT")&&(o.body=typeof this.config.body=="string"?this.config.body:JSON.stringify(this.config.body));const i=await fetch(this.config.url,o);if(clearTimeout(n),!i.ok)throw new Error(`HTTP ${i.status}: ${i.statusText}`);let s=await i.json();if(this.config.dataPath){const c=this.config.dataPath.split(".");for(const d of c)if(s=s==null?void 0:s[d],!s)break}this.onDataCallback&&(Array.isArray(s)?s.forEach(c=>{c&&this.onDataCallback(c)}):s&&this.onDataCallback(s)),(t=this.onStatusChangeCallback)==null||t.call(this,!0)}catch(a){a.name==="AbortError"?console.error("[HTTP] 请求超时"):console.error("[HTTP] 轮询错误:",a),(r=this.onStatusChangeCallback)==null||r.call(this,!1),this.onErrorCallback&&this.onErrorCallback(a)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}stop(){console.log("[HTTP] 停止轮询"),this.isPolling=!1,this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.abortController&&(this.abortController.abort(),this.abortController=null)}getPollingStatus(){return this.isPolling}getConfig(){return this.config}}function nb(){return new ob}class ib{constructor(){ve(this,"eventSource",null);ve(this,"config",null);ve(this,"onDataCallback",null);ve(this,"onErrorCallback",null);ve(this,"onStatusChangeCallback",null);ve(this,"isConnected",!1);ve(this,"reconnectTimer",null)}connect(t){return new Promise((r,a)=>{if(!t.enabled){a(new Error("SSE 连接未启用"));return}if(!t.url){a(new Error("SSE URL 未配置"));return}this.config=t;try{const n={};t.withCredentials&&(n.withCredentials=!0),this.eventSource=new EventSource(t.url,n),this.eventSource.onopen=()=>{var i;console.log(`[SSE] 连接成功: ${t.url}`),this.isConnected=!0,(i=this.onStatusChangeCallback)==null||i.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.eventSource.onmessage=i=>{this.handleMessage(i.data)};const o=t.eventType||"message";o&&o!=="message"&&this.eventSource.addEventListener(o,i=>{this.handleMessage(i.data)}),this.eventSource.onerror=i=>{var l,s;if(console.error("[SSE] 连接错误:",i),this.isConnected=!1,(l=this.onStatusChangeCallback)==null||l.call(this,!1),(s=this.eventSource)==null||s.close(),this.onErrorCallback&&this.onErrorCallback(new Error("SSE 连接错误")),t.autoReconnect!==!1&&t.enabled){const c=t.reconnectDelay||5e3;console.log(`[SSE] ${c}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},c)}}}catch(n){console.error("[SSE] 创建连接失败:",n),a(n)}})}handleMessage(t){var r;try{let n=JSON.parse(t);if((r=this.config)!=null&&r.dataPath){const o=this.config.dataPath.split(".");for(const i of o)if(n=n==null?void 0:n[i],!n)break}this.onDataCallback&&n&&this.onDataCallback(n)}catch(a){console.error("[SSE] 消息解析失败:",a),this.onErrorCallback&&this.onErrorCallback(a)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.eventSource&&(console.log("[SSE] 断开连接"),this.eventSource.close(),this.eventSource=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}getReadyState(){var t;return((t=this.eventSource)==null?void 0:t.readyState)??EventSource.CLOSED}}function ab(){return new ib}class jt{static parseDeviceData(t,r,a){return t?this.isSimplifiedPointsArray(t)?this.parseSimplifiedPointsArray(t,r,a):this.isStandardFormat(t)?this.parseStandardFormat(t):this.isSinglePointFormat(t)?this.parseSinglePointFormat(t):this.isFlatFormat(t)?this.parseFlatFormat(t):this.isNestedFormat(t)?this.parseNestedFormat(t):(console.warn("[DataParser] 无法识别的数据格式:",t),null):null}static isSimplifiedPointsArray(t){return Array.isArray(t)&&t.length>0&&t[0].id!==void 0&&t[0].value!==void 0&&!t[0].points}static parseSimplifiedPointsArray(t,r,a){return{id:r||"default-device",name:a||"Default Device",points:t.map(n=>({id:n.id||n.pointId,name:n.name||n.pointName||n.id||n.pointId,value:n.value,quality:n.quality||"good",timestamp:n.timestamp||new Date().toISOString(),unit:n.unit,dataType:n.dataType||this.inferDataType(n.value)}))}}static isStandardFormat(t){return(t.id||t.deviceId)&&Array.isArray(t.points)&&t.points.length>0}static parseStandardFormat(t){return{id:t.id||t.deviceId,name:t.name||t.deviceName||t.id||t.deviceId,points:t.points.map(r=>({id:r.id||r.pointId,name:r.name||r.pointName||r.id||r.pointId,value:r.value,quality:r.quality||"good",timestamp:r.timestamp||new Date().toISOString(),unit:r.unit,dataType:r.dataType||this.inferDataType(r.value)}))}}static isSinglePointFormat(t){return(t.deviceId||t.id)&&(t.pointId||t.point)&&t.value!==void 0}static parseSinglePointFormat(t){const r=t.deviceId||t.id,a=t.pointId||t.point;return{id:r,name:t.deviceName||r,points:[{id:a,name:t.pointName||a,value:t.value,quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString(),unit:t.unit,dataType:t.dataType||this.inferDataType(t.value)}]}}static isFlatFormat(t){const r=t.deviceId||t.id,a=Object.keys(t).some(n=>!["deviceId","id","deviceName","name","timestamp"].includes(n));return r&&a}static parseFlatFormat(t){const r=t.deviceId||t.id,a=[],n=["deviceId","id","deviceName","name","timestamp"];for(const o in t)n.includes(o)||a.push({id:o,name:o,value:t[o],quality:"good",timestamp:t.timestamp||new Date().toISOString(),dataType:this.inferDataType(t[o])});return{id:r,name:t.deviceName||t.name||r,points:a}}static isNestedFormat(t){return t.device&&(t.device.id||t.device.deviceId)}static parseNestedFormat(t){const r=t.device;return r?r.data||r.points?this.parseDeviceData({...r.data,deviceId:r.id||r.deviceId,deviceName:r.name||r.deviceName,points:r.points}):this.parseDeviceData(r):null}static inferDataType(t){return typeof t=="boolean"?"boolean":typeof t=="number"?"number":"string"}static createCustomParser(t){return r=>{const a=typeof t.deviceId=="function"?t.deviceId(r):this.getValueByPath(r,t.deviceId),n=t.deviceName?typeof t.deviceName=="function"?t.deviceName(r):this.getValueByPath(r,t.deviceName):a;let o=typeof t.points=="function"?t.points(r):this.getValueByPath(r,t.points);Array.isArray(o)||(o=[o]);const i=o.map(l=>{const s=t.pointId?typeof t.pointId=="function"?t.pointId(r,l):this.getValueByPath(l,t.pointId):l.id||l.pointId,c=t.pointValue?typeof t.pointValue=="function"?t.pointValue(r,l):this.getValueByPath(l,t.pointValue):l.value;return{id:s,name:l.name||s,value:c,quality:l.quality||"good",timestamp:l.timestamp||new Date().toISOString(),unit:l.unit,dataType:this.inferDataType(c)}});return{id:a,name:n,points:i}}}static getValueByPath(t,r){if(!r)return t;const a=r.split(".");let n=t;for(const o of a){if(n==null)return;n=n[o]}return n}}jt.createCustomParser({deviceId:"deviceInfo.id",deviceName:"deviceInfo.name",points:"telemetry",pointId:(u,t)=>t.key,pointValue:(u,t)=>t.value}),jt.createCustomParser({deviceId:"slaveId",deviceName:"slaveName",points:"registers",pointId:(u,t)=>`reg_${t.address}`,pointValue:(u,t)=>t.value}),jt.createCustomParser({deviceId:"nodeId",deviceName:"displayName",points:"values",pointId:(u,t)=>t.browseName,pointValue:(u,t)=>t.value.value}),jt.parseDeviceData.bind(jt);class sb{constructor(){ve(this,"dataSources",e.reactive(new Map));ve(this,"connections",new Map);ve(this,"onDataCallbacks",[])}addDataSource(t){this.dataSources.set(t.id,t),t.enabled&&this.connectDataSource(t.id)}updateDataSource(t,r){const a=this.dataSources.get(t);a&&(Object.assign(a,r),(r.config||r.enabled!==void 0)&&this.reconnectDataSource(t))}removeDataSource(t){this.disconnectDataSource(t),this.dataSources.delete(t)}getDataSource(t){return this.dataSources.get(t)}getAllDataSources(){return Array.from(this.dataSources.values())}getAllDevices(){const t=[];return this.dataSources.forEach(r=>{r.devices.forEach(a=>{t.push({dataSourceId:r.id,dataSourceName:r.name,device:a})})}),t}async connectDataSource(t){const r=this.dataSources.get(t);if(r)try{switch(this.disconnectDataSource(t),console.log(`[DataSourceManager] 开始连接数据源: ${r.name} (${r.type})`),r.type){case"MQTT":await this.connectMqtt(t,r);break;case"WebSocket":await this.connectWebSocket(t,r);break;case"HTTP":await this.connectHttp(t,r);break;case"SSE":await this.connectSSE(t,r);break}}catch(a){console.error(`[DataSource] 连接失败: ${r.name}`,a),r.status&&(r.status.connected=!1,r.status.error=a.message)}}disconnectDataSource(t){const r=this.connections.get(t);if(!r)return;const a=this.dataSources.get(t);if(a){try{a.type==="MQTT"||a.type==="WebSocket"?r.disconnect():a.type==="HTTP"?r.stop():a.type==="SSE"&&r.disconnect()}catch(n){console.error("[DataSource] 断开连接失败:",n)}this.connections.delete(t),a.status&&(a.status.connected=!1)}}async reconnectDataSource(t){const r=this.dataSources.get(t);r&&(r.enabled?await this.connectDataSource(t):this.disconnectDataSource(t))}async connectMqtt(t,r){const a=eb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[MQTT] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message,r.status.connected=!1)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o,o&&(r.status.error=void 0))});const n={broker:r.config.broker||"",topic:r.config.topic||"",clientId:r.config.clientId,username:r.config.username,password:r.config.password,dataPath:r.config.dataPath,enabled:!0,retryCount:r.config.retryCount||3};await a.connect(n),this.connections.set(t,a)}async connectWebSocket(t,r){const a=rb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[WebSocket] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.wsUrl||"",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await a.connect(n),this.connections.set(t,a)}async connectHttp(t,r){const a=nb();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[HTTP] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message,r.status.connected=!1)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.url||"",method:r.config.method||"GET",pollInterval:r.config.pollInterval||5e3,headers:r.config.headers,dataPath:r.config.dataPath,enabled:!0};await a.start(n),this.connections.set(t,a)}async connectSSE(t,r){const a=ab();a.onData(o=>{this.handleDeviceData(t,o)}),a.onError(o=>{console.error(`[SSE] 数据源 ${r.name} 错误:`,o),r.status&&(r.status.error=o.message)}),a.onStatusChange(o=>{r.status&&(r.status.connected=o)});const n={url:r.config.sseUrl||"",eventType:r.config.eventType||"message",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await a.connect(n),this.connections.set(t,a)}handleDeviceData(t,r){const a=this.dataSources.get(t);a&&(a.status&&(a.status.lastUpdate=new Date().toISOString()),this.parseAndUpdateDevices(a,r),this.onDataCallbacks.forEach(n=>{n(t,r)}))}parseAndUpdateDevices(t,r){try{let a=r;if(t.config.customParser&&(a=t.config.customParser(r)),a&&Array.isArray(a.devices)){const o=[];for(const i of a.devices){const l=jt.parseDeviceData(i,i.id||i.deviceId||`device-${o.length}`,i.name||i.deviceName);l&&o.push({id:l.id,name:l.name,points:l.points.map(s=>({id:s.id,name:s.name||s.id,code:s.code||s.id,value:s.value,unit:s.unit||"",dataType:s.dataType||"number",accessMode:"read",quality:s.quality,timestamp:s.timestamp}))})}if(o.length>0){t.devices=o;return}}if(Array.isArray(a)&&a.length>0){const o=[];for(const i of a){const l=jt.parseDeviceData(i,i.id||i.deviceId||`device-${o.length}`,i.name||i.deviceName);l&&o.push({id:l.id,name:l.name,points:l.points.map(s=>({id:s.id,name:s.name||s.id,code:s.code||s.id,value:s.value,unit:s.unit||"",dataType:s.dataType||"number",accessMode:"read",quality:s.quality,timestamp:s.timestamp}))})}if(o.length>0){t.devices=o;return}}const n=jt.parseDeviceData(a,"default-device",t.name);if(n){t.devices=[{id:n.id,name:n.name,points:n.points.map(o=>({id:o.id,name:o.name||o.id,code:o.code||o.id,value:o.value,unit:o.unit||"",dataType:o.dataType||"number",accessMode:"read",quality:o.quality,timestamp:o.timestamp}))}];return}console.warn(`[DataSourceManager] 数据源 "${t.name}" 接收到不支持的数据格式:`,a),console.warn("[DataSourceManager] 支持的格式:"),console.warn(" 1. 简化点位数组: [{ id, value }, ...]"),console.warn(" 2. 单设备格式: { id, name, points: [...] }"),console.warn(" 3. 多设备格式: { devices: [{ id, name, points: [...] }] }")}catch(a){console.error(`[DataSourceManager] 解析数据源 "${t.name}" 的数据失败:`,a)}}onData(t){this.onDataCallbacks.push(t)}disconnectAll(){this.dataSources.forEach((t,r)=>{this.disconnectDataSource(r)})}getDataSourceStatus(t){const r=this.dataSources.get(t);return(r==null?void 0:r.status)||null}}const He=new sb,lb={class:"compact-data-binding"},cb={class:"compact-row"},db=["value"],ub=["value"],fb=["title"],pb={key:0,class:"component-points"},hb={class:"points-header-left"},mb={class:"collapse-icon"},gb={class:"points-header-right"},yb={class:"points-count"},bb={class:"points-list"},wb={class:"point-main"},Eb={class:"point-name"},vb={class:"point-id"},kb={class:"point-meta"},_b={class:"point-type"},Nb={key:0,class:"point-unit"},Sb={key:1,class:"point-required"},xb={class:"json-example"},Vb={class:"json-code"},Cb={key:1,class:"compact-hint warning"},Ib=Me(e.defineComponent({__name:"DataPropertiesTab",props:{selectedNode:{}},emits:["update-data-source"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>He.getAllDataSources()),o=e.ref(""),i=e.ref(!1),l=e.ref("list"),s=e.computed(()=>{if(!d.value||d.value.length===0)return"[]";const p=d.value.map(f=>{let w;return f.dataType==="boolean"?w=f.defaultValue??!1:f.dataType==="number"?w=f.defaultValue??(f.range?f.range.min:0):f.dataType==="string"?w=f.defaultValue??"":f.dataType==="json"?w=f.defaultValue??[]:w=null,{id:f.id,value:w}});return JSON.stringify(p,null,2)}),c=e.computed(()=>o.value?He.getDataSource(o.value):null),d=e.computed(()=>{if(!r.selectedNode)return[];const p=r.selectedNode.shape;if(!p)return[];const f=$t.getComponentByShape(p);return!f||!f.points?[]:f.points});e.watch(()=>r.selectedNode,p=>{if(p){const f=p.getData();f!=null&&f.dataBinding?o.value=f.dataBinding.dataSourceId||"":o.value=""}},{immediate:!0});const h=p=>{const f=p.target.value;o.value=f,m()},m=()=>{a("update-data-source",{dataSourceId:o.value})};return(p,f)=>{var w,N,S,b;return e.openBlock(),e.createElementBlock("div",lb,[e.createElementVNode("div",cb,[f[5]||(f[5]=e.createElementVNode("label",null,"数据源",-1)),e.createElementVNode("select",{value:o.value,onChange:h,class:"compact-select"},[f[4]||(f[4]=e.createElementVNode("option",{value:""},"无",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,E=>(e.openBlock(),e.createElementBlock("option",{key:E.id,value:E.id},e.toDisplayString(E.name)+" ("+e.toDisplayString(E.type.toUpperCase())+") ",9,ub))),128))],40,db),o.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["status-dot",(N=(w=c.value)==null?void 0:w.status)!=null&&N.connected?"connected":"disconnected"]),title:(b=(S=c.value)==null?void 0:S.status)!=null&&b.connected?"已连接":"未连接"},null,10,fb)):e.createCommentVNode("",!0)]),d.value.length>0?(e.openBlock(),e.createElementBlock("div",pb,[e.createElementVNode("div",{class:"points-header",onClick:f[3]||(f[3]=E=>i.value=!i.value)},[e.createElementVNode("div",hb,[e.createElementVNode("span",mb,e.toDisplayString(i.value?"▼":"▶"),1),f[6]||(f[6]=e.createElementVNode("span",{class:"points-title"},"📊 组件数据点位",-1))]),e.createElementVNode("div",gb,[e.createElementVNode("span",yb,e.toDisplayString(d.value.length)+" 个",1),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"display-mode-toggle",onClick:f[2]||(f[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="list"}]),onClick:f[0]||(f[0]=E=>l.value="list"),title:"列表模式"}," 📋 ",2),e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="json"}]),onClick:f[1]||(f[1]=E=>l.value="json"),title:"JSON模式"}," { } ",2)])):e.createCommentVNode("",!0)])]),e.withDirectives(e.createElementVNode("div",bb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,E=>(e.openBlock(),e.createElementBlock("div",{key:E.id,class:"point-item"},[e.createElementVNode("div",wb,[e.createElementVNode("span",Eb,e.toDisplayString(E.name),1),e.createElementVNode("span",vb,e.toDisplayString(E.id),1)]),e.createElementVNode("div",kb,[e.createElementVNode("span",_b,e.toDisplayString(E.dataType),1),E.unit?(e.openBlock(),e.createElementBlock("span",Nb,e.toDisplayString(E.unit),1)):e.createCommentVNode("",!0),E.required?(e.openBlock(),e.createElementBlock("span",Sb,"必需")):e.createCommentVNode("",!0)])]))),128))],512),[[e.vShow,i.value&&l.value==="list"]]),e.withDirectives(e.createElementVNode("div",xb,[f[7]||(f[7]=e.createElementVNode("div",{class:"json-header"},[e.createElementVNode("span",{class:"json-title"},"📝 后端数据格式示例")],-1)),e.createElementVNode("pre",Vb,e.toDisplayString(s.value),1)],512),[[e.vShow,i.value&&l.value==="json"]]),e.withDirectives(e.createElementVNode("div",{class:"points-tip"}," ℹ️ "+e.toDisplayString(l.value==="list"?"点击右上JSON按钮查看数据格式示例":"后端应返回包含上述点位ID的JSON数据"),513),[[e.vShow,i.value]])])):!d.value||d.value.length===0?(e.openBlock(),e.createElementBlock("div",Cb," ⚠️ 该组件没有定义数据点位,无法进行数据绑定 ")):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-ef2e8648"]]),Ab={class:"edge-properties-tab"},Tb={class:"property-section"},$b={class:"property-item"},Bb={class:"color-input-wrapper"},Db=["value"],Pb=["value"],Ob={class:"property-item"},Mb={class:"number-input-wrapper"},Rb=["value"],jb={class:"property-item"},Lb=["value"],Ub={class:"property-item"},Fb={class:"slider-wrapper"},zb=["value"],Wb={class:"slider-value"},qb={class:"property-item"},Gb=["value"],Hb={key:0,class:"property-item"},Kb={class:"number-input-wrapper"},Yb=["value"],Qb={class:"property-section"},Jb={class:"property-item"},Xb=["value"],Zb={class:"property-item"},e1=["value"],t1={class:"property-section"},r1={class:"property-item"},o1=["value"],n1={class:"property-item"},i1=["value"],a1=Me(e.defineComponent({__name:"EdgePropertiesTab",props:{selectedEdge:{}},emits:["updateEdge","deleteEdge"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>{var v;return((v=r.selectedEdge)==null?void 0:v.getAttrs())||{}}),o=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{stroke:V}}})},i=v=>{const V=Number(v.target.value);a("updateEdge",{attrs:{line:{strokeWidth:V}}})},l=()=>{var V;const v=(V=n.value.line)==null?void 0:V.strokeDasharray;return v?v==="5,5"?"5,5":v==="2,2"?"2,2":v==="10,5,2,5"?"10,5,2,5":"none":"none"},s=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{strokeDasharray:V==="none"?void 0:V}}})},c=v=>{const V=Number(v.target.value);a("updateEdge",{attrs:{line:{opacity:V}}})},d=v=>{var T;const V=(T=n.value.line)==null?void 0:T[`${v}Marker`];return!V||typeof V!="object"||!V.name?"none":V.name},h=()=>{var T;const v=(T=n.value.line)==null?void 0:T.opacity;return((v!==void 0&&typeof v=="number"?v:1)*100).toFixed(0)},m=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{sourceMarker:V==="none"?void 0:{name:V,width:8,height:6}}}})},p=v=>{const V=v.target.value;a("updateEdge",{attrs:{line:{targetMarker:V==="none"?void 0:{name:V,width:8,height:6}}}})},f=v=>{const V=v.target.value;a("updateEdge",{router:V})},w=v=>{const V=v.target.value;a("updateEdge",{connector:{name:V,args:V==="rounded"?{radius:8}:void 0}})},N=()=>{a("deleteEdge")},S=()=>{var V,T;const v=(T=(V=r.selectedEdge)==null?void 0:V.data)==null?void 0:T.animation;return v!=null&&v.enabled?"true":"false"},b=()=>{var V,T;const v=(T=(V=r.selectedEdge)==null?void 0:V.data)==null?void 0:T.animation;return v!=null&&v.duration?v.duration/1e3:2},E=v=>{if(!(v.target.value==="true"))a("updateEdge",{data:{animation:{enabled:!1}},animation:{enabled:!1}});else{const T=b()*1e3;a("updateEdge",{data:{animation:{enabled:!0,duration:T}},animation:{enabled:!0,duration:T}})}},k=v=>{const T=Number(v.target.value)*1e3;a("updateEdge",{data:{animation:{enabled:!0,duration:T}},animation:{enabled:!0,duration:T}})};return(v,V)=>{var T,C,A,I,$,x,U,Q;return e.openBlock(),e.createElementBlock("div",Ab,[e.createElementVNode("div",Tb,[V[10]||(V[10]=e.createElementVNode("h4",{class:"section-title"},"线条样式",-1)),e.createElementVNode("div",$b,[V[0]||(V[0]=e.createElementVNode("label",{class:"property-label"},"线条颜色",-1)),e.createElementVNode("div",Bb,[e.createElementVNode("input",{type:"color",class:"color-input",value:((T=n.value.line)==null?void 0:T.stroke)||"#10b981",onInput:o},null,40,Db),e.createElementVNode("input",{type:"text",class:"color-text",value:((C=n.value.line)==null?void 0:C.stroke)||"#10b981",onInput:o},null,40,Pb)])]),e.createElementVNode("div",Ob,[V[2]||(V[2]=e.createElementVNode("label",{class:"property-label"},"线条粗细",-1)),e.createElementVNode("div",Mb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"1",max:"20",step:"1",value:((A=n.value.line)==null?void 0:A.strokeWidth)||2,onInput:i},null,40,Rb),V[1]||(V[1]=e.createElementVNode("span",{class:"input-unit"},"px",-1))])]),e.createElementVNode("div",jb,[V[4]||(V[4]=e.createElementVNode("label",{class:"property-label"},"线条样式",-1)),e.createElementVNode("select",{class:"property-select",value:l(),onChange:s},[...V[3]||(V[3]=[e.createElementVNode("option",{value:"none"},"实线",-1),e.createElementVNode("option",{value:"5,5"},"虚线",-1),e.createElementVNode("option",{value:"2,2"},"点线",-1),e.createElementVNode("option",{value:"10,5,2,5"},"点划线",-1)])],40,Lb)]),e.createElementVNode("div",Ub,[V[5]||(V[5]=e.createElementVNode("label",{class:"property-label"},"透明度",-1)),e.createElementVNode("div",Fb,[e.createElementVNode("input",{type:"range",class:"property-slider",min:"0",max:"1",step:"0.1",value:((I=n.value.line)==null?void 0:I.opacity)!==void 0?n.value.line.opacity:1,onInput:c},null,40,zb),e.createElementVNode("span",Wb,e.toDisplayString(h())+"%",1)])]),e.createElementVNode("div",qb,[V[7]||(V[7]=e.createElementVNode("label",{class:"property-label"},"流动动画",-1)),e.createElementVNode("select",{class:"property-select",value:S(),onChange:E},[...V[6]||(V[6]=[e.createElementVNode("option",{value:"false"},"关闭",-1),e.createElementVNode("option",{value:"true"},"开启",-1)])],40,Gb)]),S()==="true"?(e.openBlock(),e.createElementBlock("div",Hb,[V[9]||(V[9]=e.createElementVNode("label",{class:"property-label"},"动画速度",-1)),e.createElementVNode("div",Kb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"0.5",max:"10",step:"0.5",value:b(),onInput:k},null,40,Yb),V[8]||(V[8]=e.createElementVNode("span",{class:"input-unit"},"秒",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Qb,[V[15]||(V[15]=e.createElementVNode("h4",{class:"section-title"},"箭头样式",-1)),e.createElementVNode("div",Jb,[V[12]||(V[12]=e.createElementVNode("label",{class:"property-label"},"起点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("source"),onChange:m},[...V[11]||(V[11]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,Xb)]),e.createElementVNode("div",Zb,[V[14]||(V[14]=e.createElementVNode("label",{class:"property-label"},"终点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:d("target"),onChange:p},[...V[13]||(V[13]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,e1)])]),e.createElementVNode("div",t1,[V[20]||(V[20]=e.createElementVNode("h4",{class:"section-title"},"连接器",-1)),e.createElementVNode("div",r1,[V[17]||(V[17]=e.createElementVNode("label",{class:"property-label"},"路由方式",-1)),e.createElementVNode("select",{class:"property-select",value:((x=($=u.selectedEdge)==null?void 0:$.getRouter())==null?void 0:x.name)||"manhattan",onChange:f},[...V[16]||(V[16]=[e.createElementVNode("option",{value:"manhattan"},"曼哈顿",-1),e.createElementVNode("option",{value:"orth"},"正交",-1),e.createElementVNode("option",{value:"normal"},"直线",-1)])],40,o1)]),e.createElementVNode("div",n1,[V[19]||(V[19]=e.createElementVNode("label",{class:"property-label"},"连接器类型",-1)),e.createElementVNode("select",{class:"property-select",value:((Q=(U=u.selectedEdge)==null?void 0:U.getConnector())==null?void 0:Q.name)||"rounded",onChange:w},[...V[18]||(V[18]=[e.createElementVNode("option",{value:"rounded"},"圆角",-1),e.createElementVNode("option",{value:"smooth"},"平滑",-1),e.createElementVNode("option",{value:"normal"},"普通",-1)])],40,i1)])]),e.createElementVNode("div",{class:"property-section"},[e.createElementVNode("button",{class:"delete-btn",onClick:N}," 删除连线 ")])])}}}),[["__scopeId","data-v-e47f1784"]]),s1={class:"event-card"},l1={class:"header-left"},c1={class:"collapse-icon"},d1={class:"event-title"},u1={class:"event-card-body"},f1={class:"event-field"},p1=["value"],h1={class:"event-field"},m1=["value"],g1={class:"event-field"},y1=["value"],b1={class:"condition-config"},w1=["value"],E1=["value"],v1=["value"],k1=["value"],_1={key:0,class:"config-section"},N1={key:1,class:"config-section"},S1={key:2,class:"config-section"},x1={key:0,class:"selected-workflow-info"},V1={class:"info-row"},C1={class:"info-value"},I1={class:"event-field"},A1=["value"],Oi=Me(e.defineComponent({__name:"EventCard",props:{event:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{}},emits:["toggle-collapse","remove","update-field","update-condition","update-params","open-attribute-config","open-custom-code","open-workflow-selector"],setup(u){return(t,r)=>{var a,n,o,i,l,s,c;return e.openBlock(),e.createElementBlock("div",s1,[e.createElementVNode("div",{class:"event-card-header",onClick:r[1]||(r[1]=d=>t.$emit("toggle-collapse"))},[e.createElementVNode("div",l1,[e.createElementVNode("span",c1,e.toDisplayString(u.isCollapsed?"▶":"▼"),1),e.createElementVNode("span",d1,"事件"+e.toDisplayString(u.index+1),1)]),e.createElementVNode("button",{class:"btn-remove",onClick:r[0]||(r[0]=e.withModifiers(d=>t.$emit("remove"),["stop"])),title:"删除事件"},"🗑")]),e.withDirectives(e.createElementVNode("div",u1,[e.createElementVNode("div",f1,[r[12]||(r[12]=e.createElementVNode("label",null,"事件名称",-1)),e.createElementVNode("input",{type:"text",value:u.event.name||"",onInput:r[2]||(r[2]=d=>t.$emit("update-field","name",d)),placeholder:"输入事件名称,如:温度报警、湿度预警"},null,40,p1)]),e.createElementVNode("div",h1,[r[14]||(r[14]=e.createElementVNode("label",null,"事件类型",-1)),e.createElementVNode("select",{value:u.event.type,onChange:r[3]||(r[3]=d=>t.$emit("update-field","type",d))},[...r[13]||(r[13]=[e.createStaticVNode('<option value="click" data-v-af7c633a>单击</option><option value="dblclick" data-v-af7c633a>双击</option><option value="mouseenter" data-v-af7c633a>鼠标移入</option><option value="mouseleave" data-v-af7c633a>鼠标移出</option><option value="focus" data-v-af7c633a>获取焦点</option><option value="blur" data-v-af7c633a>失去焦点</option><option value="input" data-v-af7c633a>输入</option><option value="change" data-v-af7c633a>值变化</option>',8)])],40,m1)]),e.createElementVNode("div",g1,[r[16]||(r[16]=e.createElementVNode("label",null,"事件行为",-1)),e.createElementVNode("select",{value:u.event.action,onChange:r[4]||(r[4]=d=>t.$emit("update-field","action",d))},[...r[15]||(r[15]=[e.createElementVNode("option",{value:"attributeChange"},"更改属性",-1),e.createElementVNode("option",{value:"customCode"},"自定义代码",-1),e.createElementVNode("option",{value:"callProcess"},"调用流程",-1)])],40,y1)]),r[30]||(r[30]=e.createElementVNode("div",{class:"section-title"},"形参配置",-1)),r[31]||(r[31]=e.createElementVNode("div",{class:"field-hint"},"(不填直接触发)",-1)),r[32]||(r[32]=e.createElementVNode("div",{class:"section-title"},"触发规则",-1)),r[33]||(r[33]=e.createElementVNode("div",{class:"field-hint"},"(不填写条件则直接触发,填写后按条件触发)",-1)),e.createElementVNode("div",b1,[r[19]||(r[19]=e.createElementVNode("div",{class:"condition-label"},"当",-1)),r[20]||(r[20]=e.createElementVNode("div",{class:"condition-label"},"当前节点属性",-1)),e.createElementVNode("select",{class:"condition-select",value:((a=u.event.condition)==null?void 0:a.attribute)||"",onChange:r[5]||(r[5]=d=>t.$emit("update-condition","attribute",d))},[r[17]||(r[17]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,d=>(e.openBlock(),e.createElementBlock("option",{key:d.key,value:d.key},e.toDisplayString(d.label),9,E1))),128))],40,w1),r[21]||(r[21]=e.createElementVNode("div",{class:"condition-label"},"运算符",-1)),e.createElementVNode("select",{class:"condition-select",value:((n=u.event.condition)==null?void 0:n.operator)||"==",onChange:r[6]||(r[6]=d=>t.$emit("update-condition","operator",d))},[...r[18]||(r[18]=[e.createStaticVNode('<option value="==" data-v-af7c633a>等于</option><option value="!=" data-v-af7c633a>不等于</option><option value="&gt;" data-v-af7c633a>大于</option><option value="&gt;=" data-v-af7c633a>大于等于</option><option value="&lt;" data-v-af7c633a>小于</option><option value="&lt;=" data-v-af7c633a>小于等于</option><option value="contains" data-v-af7c633a>包含</option>',7)])],40,v1),r[22]||(r[22]=e.createElementVNode("div",{class:"condition-label"},"值",-1)),e.createElementVNode("input",{type:"text",class:"condition-input",value:((o=u.event.condition)==null?void 0:o.value)||"",onInput:r[7]||(r[7]=d=>t.$emit("update-condition","value",d)),placeholder:"输入值"},null,40,k1),r[23]||(r[23]=e.createElementVNode("div",{class:"condition-label"},"时",-1)),r[24]||(r[24]=e.createElementVNode("div",{class:"condition-label"},"触发该事件",-1))]),u.event.action==="attributeChange"?(e.openBlock(),e.createElementBlock("div",_1,[r[25]||(r[25]=e.createElementVNode("div",{class:"section-title"},"属性更改",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[8]||(r[8]=d=>t.$emit("open-attribute-config"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="customCode"?(e.openBlock(),e.createElementBlock("div",N1,[r[26]||(r[26]=e.createElementVNode("div",{class:"section-title"},"自定义代码",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[9]||(r[9]=d=>t.$emit("open-custom-code"))},"点击配置")])):e.createCommentVNode("",!0),u.event.action==="callProcess"?(e.openBlock(),e.createElementBlock("div",S1,[r[29]||(r[29]=e.createElementVNode("div",{class:"section-title"},"调用流程",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[10]||(r[10]=d=>t.$emit("open-workflow-selector"))},"选择流程"),(i=u.event.params)!=null&&i.processId?(e.openBlock(),e.createElementBlock("div",x1,[e.createElementVNode("div",V1,[r[27]||(r[27]=e.createElementVNode("span",{class:"info-label"},"已选择:",-1)),e.createElementVNode("span",C1,e.toDisplayString(((l=u.event.params)==null?void 0:l.processName)||((s=u.event.params)==null?void 0:s.processId)),1)]),e.createElementVNode("div",I1,[r[28]||(r[28]=e.createElementVNode("label",null,"传入参数",-1)),e.createElementVNode("textarea",{value:((c=u.event.params)==null?void 0:c.processParams)||"",onInput:r[11]||(r[11]=d=>t.$emit("update-params","processParams",d)),placeholder:'JSON格式: {"param1":"value1","param2":"value2"}',rows:"3"},null,40,A1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512),[[e.vShow,!u.isCollapsed]])])}}}),[["__scopeId","data-v-af7c633a"]]),T1={class:"point-selector"},$1={class:"point-list-panel"},B1={class:"panel-header"},D1={class:"point-count"},P1={class:"search-box"},O1={class:"point-list"},M1={key:0,class:"empty-hint"},R1=["onClick"],j1={class:"point-info"},L1={class:"point-name"},U1={key:0,class:"required-badge"},F1={class:"point-meta"},z1={class:"point-code"},W1={key:0,class:"point-unit"},q1={class:"point-type"},G1={key:0,class:"point-description"},H1={key:1,class:"point-range"},K1={class:"modal-footer"},Y1=["disabled"],Q1=Me(e.defineComponent({__name:"ComponentPointSelector",props:{visible:{type:Boolean},modelValue:{},componentPoints:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref("");e.watch(()=>r.modelValue,h=>{h&&(n.value=h)},{immediate:!0});const i=e.computed(()=>{if(!o.value)return r.componentPoints||[];const h=o.value.toLowerCase();return(r.componentPoints||[]).filter(m=>{var p,f,w;return((p=m.name)==null?void 0:p.toLowerCase().includes(h))||((f=m.id)==null?void 0:f.toLowerCase().includes(h))||((w=m.description)==null?void 0:w.toLowerCase().includes(h))})}),l=h=>{n.value=h.id},s=()=>{a("update:visible",!1)},c=()=>{if(!n.value)return;const h=r.componentPoints.find(m=>m.id===n.value);h&&(a("update:modelValue",n.value),a("confirm",n.value,h),a("update:visible",!1))},d=h=>({boolean:"布尔",number:"数值",string:"字符",json:"JSON"})[h]||h;return(h,m)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:s},[e.createElementVNode("div",{class:"modal-container",onClick:m[1]||(m[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[m[2]||(m[2]=e.createElementVNode("h3",null,"选择组件点位",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s},"✕")]),e.createElementVNode("div",T1,[e.createElementVNode("div",$1,[e.createElementVNode("div",B1,[m[3]||(m[3]=e.createElementVNode("h4",null,"点位列表",-1)),e.createElementVNode("span",D1,e.toDisplayString(u.componentPoints.length),1)]),e.createElementVNode("div",P1,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=p=>o.value=p),type:"text",placeholder:"搜索点位...",class:"search-input"},null,512),[[e.vModelText,o.value]])]),e.createElementVNode("div",O1,[i.value.length===0?(e.openBlock(),e.createElementBlock("div",M1," 暂无点位 ")):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i.value,p=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:e.normalizeClass(["point-item",{active:n.value===p.id}]),onClick:f=>l(p)},[e.createElementVNode("div",j1,[e.createElementVNode("div",L1,[e.createTextVNode(e.toDisplayString(p.name)+" ",1),p.required?(e.openBlock(),e.createElementBlock("span",U1,"必需")):e.createCommentVNode("",!0)]),e.createElementVNode("div",F1,[e.createElementVNode("span",z1,e.toDisplayString(p.id),1),p.unit?(e.openBlock(),e.createElementBlock("span",W1,e.toDisplayString(p.unit),1)):e.createCommentVNode("",!0),e.createElementVNode("span",q1,e.toDisplayString(d(p.dataType)),1)]),p.description?(e.openBlock(),e.createElementBlock("div",G1,e.toDisplayString(p.description),1)):e.createCommentVNode("",!0),p.range?(e.openBlock(),e.createElementBlock("div",H1," 范围: "+e.toDisplayString(p.range.min!==void 0?p.range.min:"-")+" ~ "+e.toDisplayString(p.range.max!==void 0?p.range.max:"-"),1)):e.createCommentVNode("",!0)])],10,R1))),128))])])]),e.createElementVNode("div",K1,[e.createElementVNode("button",{class:"btn-cancel",onClick:s},"取消"),e.createElementVNode("button",{class:"btn-confirm",disabled:!n.value,onClick:c}," 确定 ",8,Y1)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-d948fb0f"]]);var ft=(u=>(u.DIRECT="direct",u.BOOLEAN="boolean",u.RANGE="range",u.ENUM="enum",u))(ft||{}),Er=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(Er||{});const J1={class:"mapping-configurator"},X1={class:"config-item"},Z1={key:0,class:"field-hint error"},ew={key:1,class:"field-hint"},tw={class:"config-item"},rw={key:0,class:"field-hint error"},ow={key:1,class:"field-hint"},nw={key:0,class:"config-item"},iw={class:"unit-config"},aw={class:"checkbox-label"},sw={key:0,class:"custom-unit"},lw={key:1,class:"mapping-details"},cw={class:"config-item"},dw={class:"config-item"},uw={key:2,class:"mapping-details"},fw={class:"range-rules"},pw=["onUpdate:modelValue"],hw=["onUpdate:modelValue"],mw=["onUpdate:modelValue"],gw=["onClick"],yw={key:3,class:"mapping-details"},bw={class:"enum-mappings"},ww=["value","onInput"],Ew=["onUpdate:modelValue"],vw=["onClick"],kw={key:4,class:"mapping-preview"},_w={class:"preview-content"},Nw={class:"preview-item"},Sw={class:"preview-output"},xw={class:"preview-item"},Vw={class:"preview-output"},Cw={class:"preview-input"},Iw={class:"preview-output"},Aw={class:"preview-input"},Tw={class:"preview-output"},$w=Me(e.defineComponent({__name:"MappingConfigurator",props:{visible:{type:Boolean},modelValue:{}},emits:["update:visible","update:modelValue","confirm"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(r.modelValue||{type:"",valueType:""});e.watch(()=>r.modelValue,S=>{S&&(n.value={...S})},{deep:!0});const o=()=>{n.value.type||(n.value.valueType===Er.BOOLEAN?n.value.type=ft.BOOLEAN:n.value.valueType===Er.NUMBER?n.value.type=ft.RANGE:n.value.type=ft.DIRECT),n.value.valueType!==Er.NUMBER&&(delete n.value.keepOriginalUnit,delete n.value.customUnit)},i=S=>({boolean:"适用于开关状态、是否判断等场景",number:"适用于温度、压力、流量等数值型数据",string:"适用于文本、状态码等字符型数据"})[S]||"",l=S=>({direct:"不做任何转换,直接使用原始值",boolean:"根据 true/false 转换为不同的值",range:"根据数值范围转换为对应值",enum:"根据枚举键值对转换"})[S]||"",s=()=>{const S=n.value.valueType;n.value={type:n.value.type,valueType:S},n.value.type===ft.RANGE?n.value.rangeRules=[]:n.value.type===ft.ENUM&&(n.value.enumMappings={})},c=()=>{n.value.rangeRules||(n.value.rangeRules=[]),n.value.rangeRules.push({min:0,max:100,value:""})},d=S=>{var b;(b=n.value.rangeRules)==null||b.splice(S,1)},h=()=>{n.value.enumMappings||(n.value.enumMappings={});const S=`key_${Object.keys(n.value.enumMappings).length+1}`;n.value.enumMappings[S]=""},m=S=>{n.value.enumMappings&&delete n.value.enumMappings[S]},p=(S,b)=>{const E=S.target.value;if(!n.value.enumMappings||E===b)return;const k=n.value.enumMappings[b];delete n.value.enumMappings[b],n.value.enumMappings[E]=k},f=()=>{},w=()=>{a("update:visible",!1)},N=()=>{if(!n.value.valueType){alert("请选择值类型!");return}if(!n.value.type){alert("请选择映射类型!");return}a("update:modelValue",{...n.value}),a("confirm",{...n.value}),a("update:visible",!1)};return(S,b)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:w},[e.createElementVNode("div",{class:"modal-container",onClick:b[6]||(b[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[b[7]||(b[7]=e.createElementVNode("h3",null,"值映射配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:w},"✕")]),e.createElementVNode("div",J1,[e.createElementVNode("div",X1,[b[9]||(b[9]=e.createElementVNode("label",null,[e.createTextVNode("值类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[0]||(b[0]=E=>n.value.valueType=E),onChange:o},[...b[8]||(b[8]=[e.createElementVNode("option",{value:""},"请选择值类型",-1),e.createElementVNode("option",{value:"boolean"},"布尔型 (true/false)",-1),e.createElementVNode("option",{value:"number"},"数值型 (123, 45.6)",-1),e.createElementVNode("option",{value:"string"},'字符串型 ("abc")',-1)])],544),[[e.vModelSelect,n.value.valueType]]),n.value.valueType?(e.openBlock(),e.createElementBlock("div",ew,e.toDisplayString(i(n.value.valueType)),1)):(e.openBlock(),e.createElementBlock("div",Z1," 值类型为必填项 "))]),e.createElementVNode("div",tw,[b[11]||(b[11]=e.createElementVNode("label",null,[e.createTextVNode("映射类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":b[1]||(b[1]=E=>n.value.type=E),onChange:s},[...b[10]||(b[10]=[e.createStaticVNode('<option value="" data-v-ef9e0ee1>请选择映射类型</option><option value="direct" data-v-ef9e0ee1>直接映射(无转换)</option><option value="boolean" data-v-ef9e0ee1>布尔映射</option><option value="range" data-v-ef9e0ee1>范围映射</option><option value="enum" data-v-ef9e0ee1>枚举映射</option>',5)])],544),[[e.vModelSelect,n.value.type]]),n.value.type?(e.openBlock(),e.createElementBlock("div",ow,e.toDisplayString(l(n.value.type)),1)):(e.openBlock(),e.createElementBlock("div",rw," 映射类型为必填项 "))]),n.value.valueType==="number"?(e.openBlock(),e.createElementBlock("div",nw,[b[13]||(b[13]=e.createElementVNode("label",null,"单位配置",-1)),e.createElementVNode("div",iw,[e.createElementVNode("label",aw,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":b[2]||(b[2]=E=>n.value.keepOriginalUnit=E),onChange:f},null,544),[[e.vModelCheckbox,n.value.keepOriginalUnit]]),b[12]||(b[12]=e.createTextVNode(" 保留点位原始单位 ",-1))]),n.value.keepOriginalUnit?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",sw,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[3]||(b[3]=E=>n.value.customUnit=E),type:"text",placeholder:"自定义单位,如: °C, MPa, %",onInput:f},null,544),[[e.vModelText,n.value.customUnit]])]))])])):e.createCommentVNode("",!0),n.value.type==="boolean"?(e.openBlock(),e.createElementBlock("div",lw,[e.createElementVNode("div",cw,[b[14]||(b[14]=e.createElementVNode("label",null,"True 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[4]||(b[4]=E=>n.value.trueValue=E),type:"text",placeholder:"例如: 运行、#00ff00",onInput:f},null,544),[[e.vModelText,n.value.trueValue]])]),e.createElementVNode("div",dw,[b[15]||(b[15]=e.createElementVNode("label",null,"False 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":b[5]||(b[5]=E=>n.value.falseValue=E),type:"text",placeholder:"例如: 停止、#ff0000",onInput:f},null,544),[[e.vModelText,n.value.falseValue]])])])):e.createCommentVNode("",!0),n.value.type==="range"?(e.openBlock(),e.createElementBlock("div",uw,[e.createElementVNode("div",fw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.rangeRules,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"range-rule"},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.min=v,type:"number",placeholder:"最小值",onInput:f},null,40,pw),[[e.vModelText,E.min,void 0,{number:!0}]]),b[16]||(b[16]=e.createElementVNode("span",{class:"range-separator"},"~",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.max=v,type:"number",placeholder:"最大值",onInput:f},null,40,hw),[[e.vModelText,E.max,void 0,{number:!0}]]),b[17]||(b[17]=e.createElementVNode("span",{class:"range-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":v=>E.value=v,type:"text",placeholder:"映射值",onInput:f},null,40,mw),[[e.vModelText,E.value]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:v=>d(k),title:"删除规则"}," ✕ ",8,gw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:c}," + 添加范围规则 ")])):e.createCommentVNode("",!0),n.value.type==="enum"?(e.openBlock(),e.createElementBlock("div",yw,[e.createElementVNode("div",bw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.enumMappings,(E,k,v)=>(e.openBlock(),e.createElementBlock("div",{key:v,class:"enum-mapping"},[e.createElementVNode("input",{value:k,type:"text",placeholder:"原始值",onInput:V=>p(V,k)},null,40,ww),b[18]||(b[18]=e.createElementVNode("span",{class:"enum-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":V=>n.value.enumMappings[k]=V,type:"text",placeholder:"映射值",onInput:f},null,40,Ew),[[e.vModelText,n.value.enumMappings[k]]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:V=>m(k),title:"删除映射"}," ✕ ",8,vw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:h}," + 添加枚举映射 ")])):e.createCommentVNode("",!0),n.value.type!=="direct"?(e.openBlock(),e.createElementBlock("div",kw,[b[25]||(b[25]=e.createElementVNode("label",null,"映射预览",-1)),e.createElementVNode("div",_w,[n.value.type==="boolean"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Nw,[b[19]||(b[19]=e.createElementVNode("span",{class:"preview-input"},"true",-1)),b[20]||(b[20]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Sw,e.toDisplayString(n.value.trueValue||"true"),1)]),e.createElementVNode("div",xw,[b[21]||(b[21]=e.createElementVNode("span",{class:"preview-input"},"false",-1)),b[22]||(b[22]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Vw,e.toDisplayString(n.value.falseValue||"false"),1)])],64)):n.value.type==="range"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(n.value.rangeRules,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",Cw,"["+e.toDisplayString(E.min)+" ~ "+e.toDisplayString(E.max)+"]",1),b[23]||(b[23]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Iw,e.toDisplayString(E.value),1)]))),128)):n.value.type==="enum"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(n.value.enumMappings,(E,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"preview-item"},[e.createElementVNode("span",Aw,e.toDisplayString(k),1),b[24]||(b[24]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Tw,e.toDisplayString(E),1)]))),128)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"btn-cancel",onClick:w},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:N},"确定")])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-ef9e0ee1"]]),Bw={class:"binding-row"},Dw={key:0,class:"cell-content-vertical"},Pw={class:"point-name"},Ow={class:"point-id"},Mw={key:1,class:"cell-placeholder"},Rw={class:"binding-col-property"},jw=["value"],Lw=["value"],Uw={key:0,class:"mapping-label"},Fw={key:1,class:"cell-placeholder"},zw={class:"binding-col-actions"},Mi=Me(e.defineComponent({__name:"BindingCard",props:{binding:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{},componentPoints:{}},emits:["toggle-collapse","remove","update-field"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref(!1),i=e.ref(!1),l=e.ref(r.binding.mapping||{type:ft.DIRECT,valueType:Er.NUMBER});r.binding.devicePointId&&(n.value=r.binding.devicePointId),e.watch(()=>r.binding.devicePointId,m=>{m?n.value=m:n.value=""}),e.watch(()=>r.binding.mapping,m=>{m&&(l.value=m)},{deep:!0});const s=e.computed(()=>{if(!n.value)return null;const m=r.componentPoints.find(p=>p.id===n.value);return m?{pointId:m.id,pointName:m.name,dataType:m.dataType,pointUnit:m.unit}:null}),c=(m,p)=>{const f=new Event("change");Object.defineProperty(f,"target",{value:{value:m},writable:!1}),a("update-field","devicePointId",f),console.log("选择了组件点位:",{pointId:m,pointName:p.name,dataType:p.dataType})},d=m=>{const p=new Event("change");Object.defineProperty(p,"target",{value:{value:m},writable:!1}),a("update-field","mapping",p)},h=m=>({direct:"直接映射",boolean:"布尔映射",range:"范围映射",enum:"枚举映射"})[m]||m;return(m,p)=>(e.openBlock(),e.createElementBlock("div",Bw,[e.createElementVNode("div",{class:"binding-col-point",onClick:p[0]||(p[0]=f=>o.value=!0)},[s.value?(e.openBlock(),e.createElementBlock("div",Dw,[e.createElementVNode("span",Pw,e.toDisplayString(s.value.pointName),1),e.createElementVNode("span",Ow,e.toDisplayString(s.value.pointId),1)])):(e.openBlock(),e.createElementBlock("span",Mw,"选择点位"))]),e.createElementVNode("div",Rw,[e.createElementVNode("select",{class:"table-select",value:u.binding.targetProperty||"",onChange:p[1]||(p[1]=f=>m.$emit("update-field","targetProperty",f))},[p[8]||(p[8]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,f=>(e.openBlock(),e.createElementBlock("option",{key:f.key,value:f.key},e.toDisplayString(f.label),9,Lw))),128))],40,jw)]),e.createElementVNode("div",{class:"binding-col-mapping",onClick:p[2]||(p[2]=f=>i.value=!0)},[l.value.type!=="direct"?(e.openBlock(),e.createElementBlock("span",Uw,e.toDisplayString(h(l.value.type)),1)):(e.openBlock(),e.createElementBlock("span",Fw,"直接映射"))]),e.createElementVNode("div",zw,[e.createElementVNode("button",{class:"btn-delete",onClick:p[3]||(p[3]=f=>m.$emit("remove")),title:"删除"},"🗑")]),e.createVNode(Q1,{visible:o.value,"onUpdate:visible":p[4]||(p[4]=f=>o.value=f),modelValue:n.value,"onUpdate:modelValue":p[5]||(p[5]=f=>n.value=f),"component-points":u.componentPoints,onConfirm:c},null,8,["visible","modelValue","component-points"]),e.createVNode($w,{visible:i.value,"onUpdate:visible":p[6]||(p[6]=f=>i.value=f),modelValue:l.value,"onUpdate:modelValue":p[7]||(p[7]=f=>l.value=f),onConfirm:d},null,8,["visible","modelValue"])]))}}),[["__scopeId","data-v-8b05eddd"]]),Ww={class:"dialog-content"},qw={class:"dialog-header"},Gw={class:"dialog-body"},Hw={class:"group-row"},Kw={class:"group-field"},Yw=["value","onChange"],Qw=["value"],Jw={class:"group-field group-field-value"},Xw=["value","onInput"],Zw=["value","onInput"],eE={key:2,class:"color-input-wrapper"},tE=["value","onInput"],rE={class:"color-value"},oE=["value","onChange"],nE=["onClick"],iE={key:0,class:"empty-hint"},aE={class:"dialog-footer"},Ri=Me(e.defineComponent({__name:"AttributeConfigDialog",props:{attributeGroups:{},nodeProperties:{}},emits:["close","save","add-group","remove-group","update-group"],setup(u,{emit:t}){const r=u,a=t,n=l=>{const s=r.nodeProperties.find(c=>c.key===l);return(s==null?void 0:s.type)||"text"},o=(l,s,c)=>{const d=c.target.value;a("update-group",l,s,d)},i=()=>{for(const l of r.attributeGroups)if(!l.property){alert("请为每组配置选择目标属性");return}a("save")};return(l,s)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:s[3]||(s[3]=e.withModifiers(c=>l.$emit("close"),["self"]))},[e.createElementVNode("div",Ww,[e.createElementVNode("div",qw,[s[4]||(s[4]=e.createElementVNode("h3",null,"事件属性更改配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s[0]||(s[0]=c=>l.$emit("close"))},"×")]),e.createElementVNode("div",Gw,[e.createElementVNode("button",{class:"btn-add-group",onClick:s[1]||(s[1]=c=>l.$emit("add-group"))},"新增一组"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.attributeGroups,(c,d)=>(e.openBlock(),e.createElementBlock("div",{key:d,class:"attribute-group"},[e.createElementVNode("div",Hw,[e.createElementVNode("div",Kw,[s[6]||(s[6]=e.createElementVNode("label",null,"目标属性",-1)),e.createElementVNode("select",{value:c.property,onChange:h=>o(d,"property",h)},[s[5]||(s[5]=e.createElementVNode("option",{value:""},"选择目标属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.nodeProperties,h=>(e.openBlock(),e.createElementBlock("option",{key:h.key,value:h.key},e.toDisplayString(h.label),9,Qw))),128))],40,Yw)]),e.createElementVNode("div",Jw,[s[8]||(s[8]=e.createElementVNode("label",null,"期望值",-1)),!c.property||n(c.property)==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,value:c.value,type:"text",onInput:h=>o(d,"value",h),placeholder:"输入值"},null,40,Xw)):n(c.property)==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,value:c.value,type:"number",onInput:h=>o(d,"value",h),placeholder:"输入数字"},null,40,Zw)):n(c.property)==="color"?(e.openBlock(),e.createElementBlock("div",eE,[e.createElementVNode("input",{value:c.value,type:"color",onInput:h=>o(d,"value",h)},null,40,tE),e.createElementVNode("span",rE,e.toDisplayString(c.value||"#000000"),1)])):n(c.property)==="boolean"?(e.openBlock(),e.createElementBlock("select",{key:3,value:c.value,onChange:h=>o(d,"value",h)},[...s[7]||(s[7]=[e.createElementVNode("option",{value:"true"},"是",-1),e.createElementVNode("option",{value:"false"},"否",-1)])],40,oE)):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"btn-delete-group",onClick:h=>l.$emit("remove-group",d),title:"删除"}," 🗑 ",8,nE)])]))),128)),u.attributeGroups.length===0?(e.openBlock(),e.createElementBlock("div",iE,' 请点击"新增一组"按钮添加属性配置 ')):e.createCommentVNode("",!0)]),e.createElementVNode("div",aE,[e.createElementVNode("button",{class:"btn-cancel",onClick:s[2]||(s[2]=c=>l.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:i},"确定")])])]))}}),[["__scopeId","data-v-90af9944"]]),sE={class:"dialog-content dialog-large"},lE={class:"dialog-header"},cE={class:"dialog-body dialog-body-split"},dE={class:"code-editor-section"},uE=["value"],fE={class:"code-preview-section"},pE={class:"section-header"},hE={class:"preview-status"},mE={key:0,class:"status-success"},gE={key:1,class:"status-error"},yE={class:"preview-canvas"},bE={key:0,class:"preview-empty"},wE={key:1,class:"preview-error-box"},EE={class:"error-message"},vE={key:2,class:"preview-node-container"},kE={key:0,class:"console-output"},_E={class:"console-logs"},NE={class:"dialog-footer"},SE=`function execute(node) {
23
+ */class sb{constructor(){he(this,"client",null);he(this,"config",null);he(this,"onDataCallback",null);he(this,"onErrorCallback",null);he(this,"onStatusChangeCallback",null);he(this,"isConnected",!1)}connect(t){return new Promise((r,s)=>{if(!t.enabled){s(new Error("MQTT 连接未启用"));return}this.config=t;let o=t.broker;if(o.startsWith("mqtt://")){const i=o.replace("mqtt://","");i.includes("broker.emqx.io")?o="ws://broker.emqx.io:8083/mqtt":o=`ws://${i}:8083/mqtt`}else if(o.startsWith("mqtts://")){const i=o.replace("mqtts://","");i.includes("broker.emqx.io")?o="wss://broker.emqx.io:8084/mqtt":o=`wss://${i}:8084/mqtt`}else!o.startsWith("ws://")&&!o.startsWith("wss://")&&(o=`ws://${o}:8083/mqtt`);const n={clientId:t.clientId||`scada_${Math.random().toString(16).substring(2,8)}`,clean:!0,reconnectPeriod:0,connectTimeout:30*1e3,keepalive:60};t.username&&t.username.trim()&&(n.username=t.username),t.password&&t.password.trim()&&(n.password=t.password);try{this.client=ib.connect(o,n);const i=setTimeout(()=>{s(new Error("MQTT 连接超时")),this.client&&this.client.end(!0)},15e3);this.client.on("connect",l=>{clearTimeout(i),this.isConnected=!0,this.onStatusChangeCallback&&this.onStatusChangeCallback(!0),this.client&&t.topic?this.client.subscribe(t.topic,a=>{a?(console.error("[MQTT] 订阅失败:",a),s(a)):(console.log(`[MQTT] 订阅主题成功: ${t.topic}`),r())}):r()}),this.client.on("message",(l,a)=>{try{const c=a.toString();let h=JSON.parse(c);if(t.dataPath){const m=t.dataPath.split(".");for(const f of m)h=h==null?void 0:h[f]}this.onDataCallback&&h&&this.onDataCallback(h)}catch(c){console.error("[MQTT] 消息解析失败:",c),this.onErrorCallback&&this.onErrorCallback(c)}}),this.client.on("error",l=>{clearTimeout(i),console.error("[MQTT] 连接错误:",l.message),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1),this.onErrorCallback&&this.onErrorCallback(l),s(l)}),this.client.on("close",()=>{clearTimeout(i),this.isConnected=!1,this.onStatusChangeCallback&&this.onStatusChangeCallback(!1)}),this.client.on("offline",()=>{}),this.client.on("end",()=>{})}catch(i){console.error("[MQTT] 创建客户端失败:",i),s(i)}})}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}publish(t,r){if(!this.client||!this.isConnected){console.warn("[MQTT] 未连接,无法发布消息");return}const s=typeof r=="string"?r:JSON.stringify(r);this.client.publish(t,s,o=>{o&&console.error("[MQTT] 消息发布失败:",o)})}disconnect(){if(this.client){try{this.client.removeAllListeners(),this.client.end(!0)}catch(t){console.warn("[MQTT] 断开连接时出错:",t)}this.client=null,this.isConnected=!1}}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function ab(){return new sb}class lb{constructor(){he(this,"ws",null);he(this,"config",null);he(this,"onDataCallback",null);he(this,"onErrorCallback",null);he(this,"onStatusChangeCallback",null);he(this,"isConnected",!1);he(this,"reconnectTimer",null)}connect(t){return new Promise((r,s)=>{if(!t.enabled){s(new Error("WebSocket 连接未启用"));return}if(!t.url){s(new Error("WebSocket URL 未配置"));return}this.config=t;try{this.ws=new WebSocket(t.url),this.ws.onopen=()=>{var o;console.log(`[WebSocket] 连接成功: ${t.url}`),this.isConnected=!0,(o=this.onStatusChangeCallback)==null||o.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.ws.onmessage=o=>{try{let i=JSON.parse(o.data);if(t.dataPath){const l=t.dataPath.split(".");for(const a of l)if(i=i==null?void 0:i[a],!i)break}this.onDataCallback&&i&&this.onDataCallback(i)}catch(n){console.error("[WebSocket] 消息解析失败:",n),this.onErrorCallback&&this.onErrorCallback(n)}},this.ws.onerror=o=>{var n;console.error("[WebSocket] 连接错误:",o),this.isConnected=!1,(n=this.onStatusChangeCallback)==null||n.call(this,!1),this.onErrorCallback&&this.onErrorCallback(new Error("WebSocket 连接错误")),s(new Error("WebSocket 连接错误"))},this.ws.onclose=o=>{var n;if(console.log(`[WebSocket] 连接关闭: ${o.code} ${o.reason}`),this.isConnected=!1,(n=this.onStatusChangeCallback)==null||n.call(this,!1),t.autoReconnect!==!1&&t.enabled){const i=t.reconnectDelay||5e3;console.log(`[WebSocket] ${i}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},i)}}}catch(o){console.error("[WebSocket] 创建连接失败:",o),s(o)}})}send(t){if(!this.ws||!this.isConnected){console.warn("[WebSocket] 未连接,无法发送消息");return}const r=typeof t=="string"?t:JSON.stringify(t);this.ws.send(r)}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.ws&&(console.log("[WebSocket] 断开连接"),this.ws.close(),this.ws=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}}function cb(){return new lb}class db{constructor(){he(this,"config",null);he(this,"onDataCallback",null);he(this,"onErrorCallback",null);he(this,"onStatusChangeCallback",null);he(this,"intervalId",null);he(this,"isPolling",!1);he(this,"abortController",null)}async start(t){if(!t.enabled)throw new Error("HTTP 轮询未启用");if(!t.url)throw new Error("HTTP URL 未配置");this.config=t,this.isPolling=!0,await this.poll();const r=t.pollInterval||5e3;this.intervalId=window.setInterval(()=>{this.poll()},r),console.log(`[HTTP] 启动轮询: ${t.url}, 间隔: ${r}ms`)}async poll(){var t,r;if(!(!this.config||!this.isPolling))try{this.abortController=new AbortController;const s=this.config.timeout||3e4,o=setTimeout(()=>{var c;(c=this.abortController)==null||c.abort()},s),n={method:this.config.method||"GET",headers:{"Content-Type":"application/json",...this.config.headers},signal:this.abortController.signal};this.config.body&&(this.config.method==="POST"||this.config.method==="PUT")&&(n.body=typeof this.config.body=="string"?this.config.body:JSON.stringify(this.config.body));const i=await fetch(this.config.url,n);if(clearTimeout(o),!i.ok)throw new Error(`HTTP ${i.status}: ${i.statusText}`);let a=await i.json();if(this.config.dataPath){const c=this.config.dataPath.split(".");for(const u of c)if(a=a==null?void 0:a[u],!a)break}this.onDataCallback&&(Array.isArray(a)?a.forEach(c=>{c&&this.onDataCallback(c)}):a&&this.onDataCallback(a)),(t=this.onStatusChangeCallback)==null||t.call(this,!0)}catch(s){s.name==="AbortError"?console.error("[HTTP] 请求超时"):console.error("[HTTP] 轮询错误:",s),(r=this.onStatusChangeCallback)==null||r.call(this,!1),this.onErrorCallback&&this.onErrorCallback(s)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}stop(){console.log("[HTTP] 停止轮询"),this.isPolling=!1,this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null),this.abortController&&(this.abortController.abort(),this.abortController=null)}getPollingStatus(){return this.isPolling}getConfig(){return this.config}}function ub(){return new db}class fb{constructor(){he(this,"eventSource",null);he(this,"config",null);he(this,"onDataCallback",null);he(this,"onErrorCallback",null);he(this,"onStatusChangeCallback",null);he(this,"isConnected",!1);he(this,"reconnectTimer",null)}connect(t){return new Promise((r,s)=>{if(!t.enabled){s(new Error("SSE 连接未启用"));return}if(!t.url){s(new Error("SSE URL 未配置"));return}this.config=t;try{const o={};t.withCredentials&&(o.withCredentials=!0),this.eventSource=new EventSource(t.url,o),this.eventSource.onopen=()=>{var i;console.log(`[SSE] 连接成功: ${t.url}`),this.isConnected=!0,(i=this.onStatusChangeCallback)==null||i.call(this,!0),this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),r()},this.eventSource.onmessage=i=>{this.handleMessage(i.data)};const n=t.eventType||"message";n&&n!=="message"&&this.eventSource.addEventListener(n,i=>{this.handleMessage(i.data)}),this.eventSource.onerror=i=>{var l,a;if(console.error("[SSE] 连接错误:",i),this.isConnected=!1,(l=this.onStatusChangeCallback)==null||l.call(this,!1),(a=this.eventSource)==null||a.close(),this.onErrorCallback&&this.onErrorCallback(new Error("SSE 连接错误")),t.autoReconnect!==!1&&t.enabled){const c=t.reconnectDelay||5e3;console.log(`[SSE] ${c}ms 后尝试重连...`),this.reconnectTimer=window.setTimeout(()=>{t.enabled&&this.connect(t).catch(console.error)},c)}}}catch(o){console.error("[SSE] 创建连接失败:",o),s(o)}})}handleMessage(t){var r;try{let o=JSON.parse(t);if((r=this.config)!=null&&r.dataPath){const n=this.config.dataPath.split(".");for(const i of n)if(o=o==null?void 0:o[i],!o)break}this.onDataCallback&&o&&this.onDataCallback(o)}catch(s){console.error("[SSE] 消息解析失败:",s),this.onErrorCallback&&this.onErrorCallback(s)}}onData(t){this.onDataCallback=t}onError(t){this.onErrorCallback=t}onStatusChange(t){this.onStatusChangeCallback=t}disconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.eventSource&&(console.log("[SSE] 断开连接"),this.eventSource.close(),this.eventSource=null,this.isConnected=!1)}getConnectionStatus(){return this.isConnected}getConfig(){return this.config}getReadyState(){var t;return((t=this.eventSource)==null?void 0:t.readyState)??EventSource.CLOSED}}function pb(){return new fb}class Lt{static parseDeviceData(t,r,s){return t?this.isSimplifiedPointsArray(t)?this.parseSimplifiedPointsArray(t,r,s):this.isStandardFormat(t)?this.parseStandardFormat(t):this.isSinglePointFormat(t)?this.parseSinglePointFormat(t):this.isFlatFormat(t)?this.parseFlatFormat(t):this.isNestedFormat(t)?this.parseNestedFormat(t):(console.warn("[DataParser] 无法识别的数据格式:",t),null):null}static isSimplifiedPointsArray(t){return Array.isArray(t)&&t.length>0&&t[0].id!==void 0&&t[0].value!==void 0&&!t[0].points}static parseSimplifiedPointsArray(t,r,s){return{id:r||"default-device",name:s||"Default Device",points:t.map(o=>({id:o.id||o.pointId,name:o.name||o.pointName||o.id||o.pointId,value:o.value,quality:o.quality||"good",timestamp:o.timestamp||new Date().toISOString(),unit:o.unit,dataType:o.dataType||this.inferDataType(o.value)}))}}static isStandardFormat(t){return(t.id||t.deviceId)&&Array.isArray(t.points)&&t.points.length>0}static parseStandardFormat(t){return{id:t.id||t.deviceId,name:t.name||t.deviceName||t.id||t.deviceId,points:t.points.map(r=>({id:r.id||r.pointId,name:r.name||r.pointName||r.id||r.pointId,value:r.value,quality:r.quality||"good",timestamp:r.timestamp||new Date().toISOString(),unit:r.unit,dataType:r.dataType||this.inferDataType(r.value)}))}}static isSinglePointFormat(t){return(t.deviceId||t.id)&&(t.pointId||t.point)&&t.value!==void 0}static parseSinglePointFormat(t){const r=t.deviceId||t.id,s=t.pointId||t.point;return{id:r,name:t.deviceName||r,points:[{id:s,name:t.pointName||s,value:t.value,quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString(),unit:t.unit,dataType:t.dataType||this.inferDataType(t.value)}]}}static isFlatFormat(t){const r=t.deviceId||t.id,s=Object.keys(t).some(o=>!["deviceId","id","deviceName","name","timestamp"].includes(o));return r&&s}static parseFlatFormat(t){const r=t.deviceId||t.id,s=[],o=["deviceId","id","deviceName","name","timestamp"];for(const n in t)o.includes(n)||s.push({id:n,name:n,value:t[n],quality:"good",timestamp:t.timestamp||new Date().toISOString(),dataType:this.inferDataType(t[n])});return{id:r,name:t.deviceName||t.name||r,points:s}}static isNestedFormat(t){return t.device&&(t.device.id||t.device.deviceId)}static parseNestedFormat(t){const r=t.device;return r?r.data||r.points?this.parseDeviceData({...r.data,deviceId:r.id||r.deviceId,deviceName:r.name||r.deviceName,points:r.points}):this.parseDeviceData(r):null}static inferDataType(t){return typeof t=="boolean"?"boolean":typeof t=="number"?"number":"string"}static createCustomParser(t){return r=>{const s=typeof t.deviceId=="function"?t.deviceId(r):this.getValueByPath(r,t.deviceId),o=t.deviceName?typeof t.deviceName=="function"?t.deviceName(r):this.getValueByPath(r,t.deviceName):s;let n=typeof t.points=="function"?t.points(r):this.getValueByPath(r,t.points);Array.isArray(n)||(n=[n]);const i=n.map(l=>{const a=t.pointId?typeof t.pointId=="function"?t.pointId(r,l):this.getValueByPath(l,t.pointId):l.id||l.pointId,c=t.pointValue?typeof t.pointValue=="function"?t.pointValue(r,l):this.getValueByPath(l,t.pointValue):l.value;return{id:a,name:l.name||a,value:c,quality:l.quality||"good",timestamp:l.timestamp||new Date().toISOString(),unit:l.unit,dataType:this.inferDataType(c)}});return{id:s,name:o,points:i}}}static getValueByPath(t,r){if(!r)return t;const s=r.split(".");let o=t;for(const n of s){if(o==null)return;o=o[n]}return o}}Lt.createCustomParser({deviceId:"deviceInfo.id",deviceName:"deviceInfo.name",points:"telemetry",pointId:(d,t)=>t.key,pointValue:(d,t)=>t.value}),Lt.createCustomParser({deviceId:"slaveId",deviceName:"slaveName",points:"registers",pointId:(d,t)=>`reg_${t.address}`,pointValue:(d,t)=>t.value}),Lt.createCustomParser({deviceId:"nodeId",deviceName:"displayName",points:"values",pointId:(d,t)=>t.browseName,pointValue:(d,t)=>t.value.value}),Lt.parseDeviceData.bind(Lt);class hb{constructor(){he(this,"dataSources",e.reactive(new Map));he(this,"connections",new Map);he(this,"onDataCallbacks",[])}addDataSource(t){this.dataSources.set(t.id,t),t.enabled&&this.connectDataSource(t.id)}updateDataSource(t,r){const s=this.dataSources.get(t);s&&(Object.assign(s,r),(r.config||r.enabled!==void 0)&&this.reconnectDataSource(t))}removeDataSource(t){this.disconnectDataSource(t),this.dataSources.delete(t)}getDataSource(t){return this.dataSources.get(t)}getAllDataSources(){return Array.from(this.dataSources.values())}getAllDevices(){const t=[];return this.dataSources.forEach(r=>{r.devices.forEach(s=>{t.push({dataSourceId:r.id,dataSourceName:r.name,device:s})})}),t}async connectDataSource(t){const r=this.dataSources.get(t);if(r)try{switch(this.disconnectDataSource(t),r.type){case"MQTT":await this.connectMqtt(t,r);break;case"WebSocket":await this.connectWebSocket(t,r);break;case"HTTP":await this.connectHttp(t,r);break;case"SSE":await this.connectSSE(t,r);break}}catch(s){console.error(`[DataSource] 连接失败: ${r.name}`,s),r.status&&(r.status.connected=!1,r.status.error=s.message)}}disconnectDataSource(t){const r=this.connections.get(t);if(!r)return;const s=this.dataSources.get(t);if(s){try{s.type==="MQTT"||s.type==="WebSocket"?r.disconnect():s.type==="HTTP"?r.stop():s.type==="SSE"&&r.disconnect()}catch(o){console.error("[DataSource] 断开连接失败:",o)}this.connections.delete(t),s.status&&(s.status.connected=!1)}}async reconnectDataSource(t){const r=this.dataSources.get(t);r&&(r.enabled?await this.connectDataSource(t):this.disconnectDataSource(t))}async connectMqtt(t,r){const s=ab();s.onData(n=>{this.handleDeviceData(t,n)}),s.onError(n=>{console.error(`[MQTT] 数据源 ${r.name} 错误:`,n),r.status&&(r.status.error=n.message,r.status.connected=!1)}),s.onStatusChange(n=>{r.status&&(r.status.connected=n,n&&(r.status.error=void 0))});const o={broker:r.config.broker||"",topic:r.config.topic||"",clientId:r.config.clientId,username:r.config.username,password:r.config.password,dataPath:r.config.dataPath,enabled:!0,retryCount:r.config.retryCount||3};await s.connect(o),this.connections.set(t,s)}async connectWebSocket(t,r){const s=cb();s.onData(n=>{this.handleDeviceData(t,n)}),s.onError(n=>{console.error(`[WebSocket] 数据源 ${r.name} 错误:`,n),r.status&&(r.status.error=n.message)}),s.onStatusChange(n=>{r.status&&(r.status.connected=n)});const o={url:r.config.wsUrl||"",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await s.connect(o),this.connections.set(t,s)}async connectHttp(t,r){const s=ub();s.onData(n=>{this.handleDeviceData(t,n)}),s.onError(n=>{console.error(`[HTTP] 数据源 ${r.name} 错误:`,n),r.status&&(r.status.error=n.message,r.status.connected=!1)}),s.onStatusChange(n=>{r.status&&(r.status.connected=n)});const o={url:r.config.url||"",method:r.config.method||"GET",pollInterval:r.config.pollInterval||5e3,headers:r.config.headers,dataPath:r.config.dataPath,enabled:!0};await s.start(o),this.connections.set(t,s)}async connectSSE(t,r){const s=pb();s.onData(n=>{this.handleDeviceData(t,n)}),s.onError(n=>{console.error(`[SSE] 数据源 ${r.name} 错误:`,n),r.status&&(r.status.error=n.message)}),s.onStatusChange(n=>{r.status&&(r.status.connected=n)});const o={url:r.config.sseUrl||"",eventType:r.config.eventType||"message",dataPath:r.config.dataPath,enabled:!0,autoReconnect:!0,reconnectDelay:5e3};await s.connect(o),this.connections.set(t,s)}handleDeviceData(t,r){const s=this.dataSources.get(t);s&&(s.status&&(s.status.lastUpdate=new Date().toISOString()),this.parseAndUpdateDevices(s,r),this.onDataCallbacks.forEach(o=>{o(t,r)}))}parseAndUpdateDevices(t,r){try{let s=r;if(t.config.customParser&&(s=t.config.customParser(r)),s&&Array.isArray(s.devices)){const n=[];for(const i of s.devices){const l=Lt.parseDeviceData(i,i.id||i.deviceId||`device-${n.length}`,i.name||i.deviceName);l&&n.push({id:l.id,name:l.name,points:l.points.map(a=>({id:a.id,name:a.name||a.id,code:a.code||a.id,value:a.value,unit:a.unit||"",dataType:a.dataType||"number",accessMode:"read",quality:a.quality,timestamp:a.timestamp}))})}if(n.length>0){t.devices=n;return}}if(Array.isArray(s)&&s.length>0){const n=[];for(const i of s){const l=Lt.parseDeviceData(i,i.id||i.deviceId||`device-${n.length}`,i.name||i.deviceName);l&&n.push({id:l.id,name:l.name,points:l.points.map(a=>({id:a.id,name:a.name||a.id,code:a.code||a.id,value:a.value,unit:a.unit||"",dataType:a.dataType||"number",accessMode:"read",quality:a.quality,timestamp:a.timestamp}))})}if(n.length>0){t.devices=n;return}}const o=Lt.parseDeviceData(s,"default-device",t.name);if(o){t.devices=[{id:o.id,name:o.name,points:o.points.map(n=>({id:n.id,name:n.name||n.id,code:n.code||n.id,value:n.value,unit:n.unit||"",dataType:n.dataType||"number",accessMode:"read",quality:n.quality,timestamp:n.timestamp}))}];return}console.warn(`[DataSourceManager] 数据源 "${t.name}" 接收到不支持的数据格式:`,s),console.warn("[DataSourceManager] 支持的格式:"),console.warn(" 1. 简化点位数组: [{ id, value }, ...]"),console.warn(" 2. 单设备格式: { id, name, points: [...] }"),console.warn(" 3. 多设备格式: { devices: [{ id, name, points: [...] }] }")}catch(s){console.error(`[DataSourceManager] 解析数据源 "${t.name}" 的数据失败:`,s)}}onData(t){this.onDataCallbacks.push(t)}disconnectAll(){this.dataSources.forEach((t,r)=>{this.disconnectDataSource(r)})}getDataSourceStatus(t){const r=this.dataSources.get(t);return(r==null?void 0:r.status)||null}}const Ke=new hb,mb={class:"compact-data-binding"},gb={class:"compact-row"},yb=["value"],bb=["value"],wb=["title"],Eb={key:0,class:"component-points"},vb={class:"points-header-left"},kb={class:"collapse-icon"},_b={class:"points-header-right"},Nb={class:"points-count"},Sb={class:"points-list"},xb={class:"point-main"},Vb={class:"point-name"},Cb={class:"point-id"},Ab={class:"point-meta"},Ib={class:"point-type"},Tb={key:0,class:"point-unit"},$b={key:1,class:"point-required"},Bb={class:"json-example"},Db={class:"json-code"},Pb={key:1,class:"compact-hint warning"},Ob=Me(e.defineComponent({__name:"DataPropertiesTab",props:{selectedNode:{}},emits:["update-data-source"],setup(d,{emit:t}){const r=d,s=t,o=e.computed(()=>Ke.getAllDataSources()),n=e.ref(""),i=e.ref(!1),l=e.ref("list"),a=e.computed(()=>{if(!u.value||u.value.length===0)return"[]";const f=u.value.map(p=>{let w;return p.dataType==="boolean"?w=p.defaultValue??!1:p.dataType==="number"?w=p.defaultValue??(p.range?p.range.min:0):p.dataType==="string"?w=p.defaultValue??"":p.dataType==="json"?w=p.defaultValue??[]:w=null,{id:p.id,value:w}});return JSON.stringify(f,null,2)}),c=e.computed(()=>n.value?Ke.getDataSource(n.value):null),u=e.computed(()=>{if(!r.selectedNode)return[];const f=r.selectedNode.shape;if(!f)return[];const p=bt.getComponentByShape(f);return!p||!p.points?[]:p.points});e.watch(()=>r.selectedNode,f=>{if(f){const p=f.getData();p!=null&&p.dataBinding?n.value=p.dataBinding.dataSourceId||"":n.value=""}},{immediate:!0});const h=f=>{const p=f.target.value;n.value=p,m()},m=()=>{s("update-data-source",{dataSourceId:n.value})};return(f,p)=>{var w,N,S,y;return e.openBlock(),e.createElementBlock("div",mb,[e.createElementVNode("div",gb,[p[5]||(p[5]=e.createElementVNode("label",null,"数据源",-1)),e.createElementVNode("select",{value:n.value,onChange:h,class:"compact-select"},[p[4]||(p[4]=e.createElementVNode("option",{value:""},"无",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,v=>(e.openBlock(),e.createElementBlock("option",{key:v.id,value:v.id},e.toDisplayString(v.name)+" ("+e.toDisplayString(v.type.toUpperCase())+") ",9,bb))),128))],40,yb),n.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["status-dot",(N=(w=c.value)==null?void 0:w.status)!=null&&N.connected?"connected":"disconnected"]),title:(y=(S=c.value)==null?void 0:S.status)!=null&&y.connected?"已连接":"未连接"},null,10,wb)):e.createCommentVNode("",!0)]),u.value.length>0?(e.openBlock(),e.createElementBlock("div",Eb,[e.createElementVNode("div",{class:"points-header",onClick:p[3]||(p[3]=v=>i.value=!i.value)},[e.createElementVNode("div",vb,[e.createElementVNode("span",kb,e.toDisplayString(i.value?"▼":"▶"),1),p[6]||(p[6]=e.createElementVNode("span",{class:"points-title"},"📊 组件数据点位",-1))]),e.createElementVNode("div",_b,[e.createElementVNode("span",Nb,e.toDisplayString(u.value.length)+" 个",1),i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"display-mode-toggle",onClick:p[2]||(p[2]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="list"}]),onClick:p[0]||(p[0]=v=>l.value="list"),title:"列表模式"}," 📋 ",2),e.createElementVNode("button",{class:e.normalizeClass(["mode-btn",{active:l.value==="json"}]),onClick:p[1]||(p[1]=v=>l.value="json"),title:"JSON模式"}," { } ",2)])):e.createCommentVNode("",!0)])]),e.withDirectives(e.createElementVNode("div",Sb,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,v=>(e.openBlock(),e.createElementBlock("div",{key:v.id,class:"point-item"},[e.createElementVNode("div",xb,[e.createElementVNode("span",Vb,e.toDisplayString(v.name),1),e.createElementVNode("span",Cb,e.toDisplayString(v.id),1)]),e.createElementVNode("div",Ab,[e.createElementVNode("span",Ib,e.toDisplayString(v.dataType),1),v.unit?(e.openBlock(),e.createElementBlock("span",Tb,e.toDisplayString(v.unit),1)):e.createCommentVNode("",!0),v.required?(e.openBlock(),e.createElementBlock("span",$b,"必需")):e.createCommentVNode("",!0)])]))),128))],512),[[e.vShow,i.value&&l.value==="list"]]),e.withDirectives(e.createElementVNode("div",Bb,[p[7]||(p[7]=e.createElementVNode("div",{class:"json-header"},[e.createElementVNode("span",{class:"json-title"},"📝 后端数据格式示例")],-1)),e.createElementVNode("pre",Db,e.toDisplayString(a.value),1)],512),[[e.vShow,i.value&&l.value==="json"]]),e.withDirectives(e.createElementVNode("div",{class:"points-tip"}," ℹ️ "+e.toDisplayString(l.value==="list"?"点击右上JSON按钮查看数据格式示例":"后端应返回包含上述点位ID的JSON数据"),513),[[e.vShow,i.value]])])):!u.value||u.value.length===0?(e.openBlock(),e.createElementBlock("div",Pb," ⚠️ 该组件没有定义数据点位,无法进行数据绑定 ")):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-ef2e8648"]]),Mb={class:"edge-properties-tab"},Rb={class:"property-section"},jb={class:"property-item"},Lb={class:"color-input-wrapper"},Ub=["value"],Fb=["value"],zb={class:"property-item"},Wb={class:"number-input-wrapper"},qb=["value"],Gb={class:"property-item"},Hb=["value"],Kb={class:"property-item"},Qb={class:"slider-wrapper"},Yb=["value"],Jb={class:"slider-value"},Xb={class:"property-item"},Zb=["value"],e1={key:0,class:"property-item"},t1={class:"number-input-wrapper"},r1=["value"],o1={class:"property-section"},n1={class:"property-item"},i1=["value"],s1={class:"property-item"},a1=["value"],l1={class:"property-section"},c1={class:"property-item"},d1=["value"],u1={class:"property-item"},f1=["value"],p1=Me(e.defineComponent({__name:"EdgePropertiesTab",props:{selectedEdge:{}},emits:["updateEdge","deleteEdge"],setup(d,{emit:t}){const r=d,s=t,o=e.computed(()=>{var k;return((k=r.selectedEdge)==null?void 0:k.getAttrs())||{}}),n=k=>{const C=k.target.value;s("updateEdge",{attrs:{line:{stroke:C}}})},i=k=>{const C=Number(k.target.value);s("updateEdge",{attrs:{line:{strokeWidth:C}}})},l=()=>{var C;const k=(C=o.value.line)==null?void 0:C.strokeDasharray;return k?k==="5,5"?"5,5":k==="2,2"?"2,2":k==="10,5,2,5"?"10,5,2,5":"none":"none"},a=k=>{const C=k.target.value;s("updateEdge",{attrs:{line:{strokeDasharray:C==="none"?void 0:C}}})},c=k=>{const C=Number(k.target.value);s("updateEdge",{attrs:{line:{opacity:C}}})},u=k=>{var $;const C=($=o.value.line)==null?void 0:$[`${k}Marker`];return!C||typeof C!="object"||!C.name?"none":C.name},h=()=>{var $;const k=($=o.value.line)==null?void 0:$.opacity;return((k!==void 0&&typeof k=="number"?k:1)*100).toFixed(0)},m=k=>{const C=k.target.value;s("updateEdge",{attrs:{line:{sourceMarker:C==="none"?void 0:{name:C,width:8,height:6}}}})},f=k=>{const C=k.target.value;s("updateEdge",{attrs:{line:{targetMarker:C==="none"?void 0:{name:C,width:8,height:6}}}})},p=k=>{const C=k.target.value;s("updateEdge",{router:C})},w=k=>{const C=k.target.value;s("updateEdge",{connector:{name:C,args:C==="rounded"?{radius:8}:void 0}})},N=()=>{s("deleteEdge")},S=()=>{var C,$;const k=($=(C=r.selectedEdge)==null?void 0:C.data)==null?void 0:$.animation;return k!=null&&k.enabled?"true":"false"},y=()=>{var C,$;const k=($=(C=r.selectedEdge)==null?void 0:C.data)==null?void 0:$.animation;return k!=null&&k.duration?k.duration/1e3:2},v=k=>{if(!(k.target.value==="true"))s("updateEdge",{data:{animation:{enabled:!1}},animation:{enabled:!1}});else{const $=y()*1e3;s("updateEdge",{data:{animation:{enabled:!0,duration:$}},animation:{enabled:!0,duration:$}})}},_=k=>{const $=Number(k.target.value)*1e3;s("updateEdge",{data:{animation:{enabled:!0,duration:$}},animation:{enabled:!0,duration:$}})};return(k,C)=>{var $,A,T,I,B,V,L,K;return e.openBlock(),e.createElementBlock("div",Mb,[e.createElementVNode("div",Rb,[C[10]||(C[10]=e.createElementVNode("h4",{class:"section-title"},"线条样式",-1)),e.createElementVNode("div",jb,[C[0]||(C[0]=e.createElementVNode("label",{class:"property-label"},"线条颜色",-1)),e.createElementVNode("div",Lb,[e.createElementVNode("input",{type:"color",class:"color-input",value:(($=o.value.line)==null?void 0:$.stroke)||"#10b981",onInput:n},null,40,Ub),e.createElementVNode("input",{type:"text",class:"color-text",value:((A=o.value.line)==null?void 0:A.stroke)||"#10b981",onInput:n},null,40,Fb)])]),e.createElementVNode("div",zb,[C[2]||(C[2]=e.createElementVNode("label",{class:"property-label"},"线条粗细",-1)),e.createElementVNode("div",Wb,[e.createElementVNode("input",{type:"number",class:"property-input",min:"1",max:"20",step:"1",value:((T=o.value.line)==null?void 0:T.strokeWidth)||2,onInput:i},null,40,qb),C[1]||(C[1]=e.createElementVNode("span",{class:"input-unit"},"px",-1))])]),e.createElementVNode("div",Gb,[C[4]||(C[4]=e.createElementVNode("label",{class:"property-label"},"线条样式",-1)),e.createElementVNode("select",{class:"property-select",value:l(),onChange:a},[...C[3]||(C[3]=[e.createElementVNode("option",{value:"none"},"实线",-1),e.createElementVNode("option",{value:"5,5"},"虚线",-1),e.createElementVNode("option",{value:"2,2"},"点线",-1),e.createElementVNode("option",{value:"10,5,2,5"},"点划线",-1)])],40,Hb)]),e.createElementVNode("div",Kb,[C[5]||(C[5]=e.createElementVNode("label",{class:"property-label"},"透明度",-1)),e.createElementVNode("div",Qb,[e.createElementVNode("input",{type:"range",class:"property-slider",min:"0",max:"1",step:"0.1",value:((I=o.value.line)==null?void 0:I.opacity)!==void 0?o.value.line.opacity:1,onInput:c},null,40,Yb),e.createElementVNode("span",Jb,e.toDisplayString(h())+"%",1)])]),e.createElementVNode("div",Xb,[C[7]||(C[7]=e.createElementVNode("label",{class:"property-label"},"流动动画",-1)),e.createElementVNode("select",{class:"property-select",value:S(),onChange:v},[...C[6]||(C[6]=[e.createElementVNode("option",{value:"false"},"关闭",-1),e.createElementVNode("option",{value:"true"},"开启",-1)])],40,Zb)]),S()==="true"?(e.openBlock(),e.createElementBlock("div",e1,[C[9]||(C[9]=e.createElementVNode("label",{class:"property-label"},"动画速度",-1)),e.createElementVNode("div",t1,[e.createElementVNode("input",{type:"number",class:"property-input",min:"0.5",max:"10",step:"0.5",value:y(),onInput:_},null,40,r1),C[8]||(C[8]=e.createElementVNode("span",{class:"input-unit"},"秒",-1))])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",o1,[C[15]||(C[15]=e.createElementVNode("h4",{class:"section-title"},"箭头样式",-1)),e.createElementVNode("div",n1,[C[12]||(C[12]=e.createElementVNode("label",{class:"property-label"},"起点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:u("source"),onChange:m},[...C[11]||(C[11]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,i1)]),e.createElementVNode("div",s1,[C[14]||(C[14]=e.createElementVNode("label",{class:"property-label"},"终点箭头",-1)),e.createElementVNode("select",{class:"property-select",value:u("target"),onChange:f},[...C[13]||(C[13]=[e.createStaticVNode('<option value="none" data-v-e47f1784>无</option><option value="block" data-v-e47f1784>实心箭头</option><option value="classic" data-v-e47f1784>经典箭头</option><option value="diamond" data-v-e47f1784>菱形</option><option value="circle" data-v-e47f1784>圆形</option>',5)])],40,a1)])]),e.createElementVNode("div",l1,[C[20]||(C[20]=e.createElementVNode("h4",{class:"section-title"},"连接器",-1)),e.createElementVNode("div",c1,[C[17]||(C[17]=e.createElementVNode("label",{class:"property-label"},"路由方式",-1)),e.createElementVNode("select",{class:"property-select",value:((V=(B=d.selectedEdge)==null?void 0:B.getRouter())==null?void 0:V.name)||"manhattan",onChange:p},[...C[16]||(C[16]=[e.createElementVNode("option",{value:"manhattan"},"曼哈顿",-1),e.createElementVNode("option",{value:"orth"},"正交",-1),e.createElementVNode("option",{value:"normal"},"直线",-1)])],40,d1)]),e.createElementVNode("div",u1,[C[19]||(C[19]=e.createElementVNode("label",{class:"property-label"},"连接器类型",-1)),e.createElementVNode("select",{class:"property-select",value:((K=(L=d.selectedEdge)==null?void 0:L.getConnector())==null?void 0:K.name)||"rounded",onChange:w},[...C[18]||(C[18]=[e.createElementVNode("option",{value:"rounded"},"圆角",-1),e.createElementVNode("option",{value:"smooth"},"平滑",-1),e.createElementVNode("option",{value:"normal"},"普通",-1)])],40,f1)])]),e.createElementVNode("div",{class:"property-section"},[e.createElementVNode("button",{class:"delete-btn",onClick:N}," 删除连线 ")])])}}}),[["__scopeId","data-v-e47f1784"]]),h1={class:"event-card"},m1={class:"header-left"},g1={class:"collapse-icon"},y1={class:"event-title"},b1={class:"event-card-body"},w1={class:"event-field"},E1=["value"],v1={class:"event-field"},k1=["value"],_1={class:"event-field"},N1=["value"],S1={class:"condition-config"},x1=["value"],V1=["value"],C1=["value"],A1=["value"],I1={key:0,class:"config-section"},T1={key:1,class:"config-section"},$1={key:2,class:"config-section"},B1={key:0,class:"selected-workflow-info"},D1={class:"info-row"},P1={class:"info-value"},O1={class:"event-field"},M1=["value"],ji=Me(e.defineComponent({__name:"EventCard",props:{event:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{}},emits:["toggle-collapse","remove","update-field","update-condition","update-params","open-attribute-config","open-custom-code","open-workflow-selector"],setup(d){return(t,r)=>{var s,o,n,i,l,a,c;return e.openBlock(),e.createElementBlock("div",h1,[e.createElementVNode("div",{class:"event-card-header",onClick:r[1]||(r[1]=u=>t.$emit("toggle-collapse"))},[e.createElementVNode("div",m1,[e.createElementVNode("span",g1,e.toDisplayString(d.isCollapsed?"▶":"▼"),1),e.createElementVNode("span",y1,"事件"+e.toDisplayString(d.index+1),1)]),e.createElementVNode("button",{class:"btn-remove",onClick:r[0]||(r[0]=e.withModifiers(u=>t.$emit("remove"),["stop"])),title:"删除事件"},"🗑")]),e.withDirectives(e.createElementVNode("div",b1,[e.createElementVNode("div",w1,[r[12]||(r[12]=e.createElementVNode("label",null,"事件名称",-1)),e.createElementVNode("input",{type:"text",value:d.event.name||"",onInput:r[2]||(r[2]=u=>t.$emit("update-field","name",u)),placeholder:"输入事件名称,如:温度报警、湿度预警"},null,40,E1)]),e.createElementVNode("div",v1,[r[14]||(r[14]=e.createElementVNode("label",null,"事件类型",-1)),e.createElementVNode("select",{value:d.event.type,onChange:r[3]||(r[3]=u=>t.$emit("update-field","type",u))},[...r[13]||(r[13]=[e.createStaticVNode('<option value="click" data-v-af7c633a>单击</option><option value="dblclick" data-v-af7c633a>双击</option><option value="mouseenter" data-v-af7c633a>鼠标移入</option><option value="mouseleave" data-v-af7c633a>鼠标移出</option><option value="focus" data-v-af7c633a>获取焦点</option><option value="blur" data-v-af7c633a>失去焦点</option><option value="input" data-v-af7c633a>输入</option><option value="change" data-v-af7c633a>值变化</option>',8)])],40,k1)]),e.createElementVNode("div",_1,[r[16]||(r[16]=e.createElementVNode("label",null,"事件行为",-1)),e.createElementVNode("select",{value:d.event.action,onChange:r[4]||(r[4]=u=>t.$emit("update-field","action",u))},[...r[15]||(r[15]=[e.createElementVNode("option",{value:"attributeChange"},"更改属性",-1),e.createElementVNode("option",{value:"customCode"},"自定义代码",-1),e.createElementVNode("option",{value:"callProcess"},"调用流程",-1)])],40,N1)]),r[30]||(r[30]=e.createElementVNode("div",{class:"section-title"},"形参配置",-1)),r[31]||(r[31]=e.createElementVNode("div",{class:"field-hint"},"(不填直接触发)",-1)),r[32]||(r[32]=e.createElementVNode("div",{class:"section-title"},"触发规则",-1)),r[33]||(r[33]=e.createElementVNode("div",{class:"field-hint"},"(不填写条件则直接触发,填写后按条件触发)",-1)),e.createElementVNode("div",S1,[r[19]||(r[19]=e.createElementVNode("div",{class:"condition-label"},"当",-1)),r[20]||(r[20]=e.createElementVNode("div",{class:"condition-label"},"当前节点属性",-1)),e.createElementVNode("select",{class:"condition-select",value:((s=d.event.condition)==null?void 0:s.attribute)||"",onChange:r[5]||(r[5]=u=>t.$emit("update-condition","attribute",u))},[r[17]||(r[17]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.nodeProperties,u=>(e.openBlock(),e.createElementBlock("option",{key:u.key,value:u.key},e.toDisplayString(u.label),9,V1))),128))],40,x1),r[21]||(r[21]=e.createElementVNode("div",{class:"condition-label"},"运算符",-1)),e.createElementVNode("select",{class:"condition-select",value:((o=d.event.condition)==null?void 0:o.operator)||"==",onChange:r[6]||(r[6]=u=>t.$emit("update-condition","operator",u))},[...r[18]||(r[18]=[e.createStaticVNode('<option value="==" data-v-af7c633a>等于</option><option value="!=" data-v-af7c633a>不等于</option><option value="&gt;" data-v-af7c633a>大于</option><option value="&gt;=" data-v-af7c633a>大于等于</option><option value="&lt;" data-v-af7c633a>小于</option><option value="&lt;=" data-v-af7c633a>小于等于</option><option value="contains" data-v-af7c633a>包含</option>',7)])],40,C1),r[22]||(r[22]=e.createElementVNode("div",{class:"condition-label"},"值",-1)),e.createElementVNode("input",{type:"text",class:"condition-input",value:((n=d.event.condition)==null?void 0:n.value)||"",onInput:r[7]||(r[7]=u=>t.$emit("update-condition","value",u)),placeholder:"输入值"},null,40,A1),r[23]||(r[23]=e.createElementVNode("div",{class:"condition-label"},"时",-1)),r[24]||(r[24]=e.createElementVNode("div",{class:"condition-label"},"触发该事件",-1))]),d.event.action==="attributeChange"?(e.openBlock(),e.createElementBlock("div",I1,[r[25]||(r[25]=e.createElementVNode("div",{class:"section-title"},"属性更改",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[8]||(r[8]=u=>t.$emit("open-attribute-config"))},"点击配置")])):e.createCommentVNode("",!0),d.event.action==="customCode"?(e.openBlock(),e.createElementBlock("div",T1,[r[26]||(r[26]=e.createElementVNode("div",{class:"section-title"},"自定义代码",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[9]||(r[9]=u=>t.$emit("open-custom-code"))},"点击配置")])):e.createCommentVNode("",!0),d.event.action==="callProcess"?(e.openBlock(),e.createElementBlock("div",$1,[r[29]||(r[29]=e.createElementVNode("div",{class:"section-title"},"调用流程",-1)),e.createElementVNode("button",{class:"btn-config",onClick:r[10]||(r[10]=u=>t.$emit("open-workflow-selector"))},"选择流程"),(i=d.event.params)!=null&&i.processId?(e.openBlock(),e.createElementBlock("div",B1,[e.createElementVNode("div",D1,[r[27]||(r[27]=e.createElementVNode("span",{class:"info-label"},"已选择:",-1)),e.createElementVNode("span",P1,e.toDisplayString(((l=d.event.params)==null?void 0:l.processName)||((a=d.event.params)==null?void 0:a.processId)),1)]),e.createElementVNode("div",O1,[r[28]||(r[28]=e.createElementVNode("label",null,"传入参数",-1)),e.createElementVNode("textarea",{value:((c=d.event.params)==null?void 0:c.processParams)||"",onInput:r[11]||(r[11]=u=>t.$emit("update-params","processParams",u)),placeholder:'JSON格式: {"param1":"value1","param2":"value2"}',rows:"3"},null,40,M1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512),[[e.vShow,!d.isCollapsed]])])}}}),[["__scopeId","data-v-af7c633a"]]),R1={class:"point-selector"},j1={class:"point-list-panel"},L1={class:"panel-header"},U1={class:"point-count"},F1={class:"search-box"},z1={class:"point-list"},W1={key:0,class:"empty-hint"},q1=["onClick"],G1={class:"point-info"},H1={class:"point-name"},K1={key:0,class:"required-badge"},Q1={class:"point-meta"},Y1={class:"point-code"},J1={key:0,class:"point-unit"},X1={class:"point-type"},Z1={key:0,class:"point-description"},ew={key:1,class:"point-range"},tw={class:"modal-footer"},rw=["disabled"],ow=Me(e.defineComponent({__name:"ComponentPointSelector",props:{visible:{type:Boolean},modelValue:{},componentPoints:{}},emits:["update:visible","update:modelValue","confirm"],setup(d,{emit:t}){const r=d,s=t,o=e.ref(""),n=e.ref("");e.watch(()=>r.modelValue,h=>{h&&(o.value=h)},{immediate:!0});const i=e.computed(()=>{if(!n.value)return r.componentPoints||[];const h=n.value.toLowerCase();return(r.componentPoints||[]).filter(m=>{var f,p,w;return((f=m.name)==null?void 0:f.toLowerCase().includes(h))||((p=m.id)==null?void 0:p.toLowerCase().includes(h))||((w=m.description)==null?void 0:w.toLowerCase().includes(h))})}),l=h=>{o.value=h.id},a=()=>{s("update:visible",!1)},c=()=>{if(!o.value)return;const h=r.componentPoints.find(m=>m.id===o.value);h&&(s("update:modelValue",o.value),s("confirm",o.value,h),s("update:visible",!1))},u=h=>({boolean:"布尔",number:"数值",string:"字符",json:"JSON"})[h]||h;return(h,m)=>d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:a},[e.createElementVNode("div",{class:"modal-container",onClick:m[1]||(m[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[m[2]||(m[2]=e.createElementVNode("h3",null,"选择组件点位",-1)),e.createElementVNode("button",{class:"btn-close",onClick:a},"✕")]),e.createElementVNode("div",R1,[e.createElementVNode("div",j1,[e.createElementVNode("div",L1,[m[3]||(m[3]=e.createElementVNode("h4",null,"点位列表",-1)),e.createElementVNode("span",U1,e.toDisplayString(d.componentPoints.length),1)]),e.createElementVNode("div",F1,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":m[0]||(m[0]=f=>n.value=f),type:"text",placeholder:"搜索点位...",class:"search-input"},null,512),[[e.vModelText,n.value]])]),e.createElementVNode("div",z1,[i.value.length===0?(e.openBlock(),e.createElementBlock("div",W1," 暂无点位 ")):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i.value,f=>(e.openBlock(),e.createElementBlock("div",{key:f.id,class:e.normalizeClass(["point-item",{active:o.value===f.id}]),onClick:p=>l(f)},[e.createElementVNode("div",G1,[e.createElementVNode("div",H1,[e.createTextVNode(e.toDisplayString(f.name)+" ",1),f.required?(e.openBlock(),e.createElementBlock("span",K1,"必需")):e.createCommentVNode("",!0)]),e.createElementVNode("div",Q1,[e.createElementVNode("span",Y1,e.toDisplayString(f.id),1),f.unit?(e.openBlock(),e.createElementBlock("span",J1,e.toDisplayString(f.unit),1)):e.createCommentVNode("",!0),e.createElementVNode("span",X1,e.toDisplayString(u(f.dataType)),1)]),f.description?(e.openBlock(),e.createElementBlock("div",Z1,e.toDisplayString(f.description),1)):e.createCommentVNode("",!0),f.range?(e.openBlock(),e.createElementBlock("div",ew," 范围: "+e.toDisplayString(f.range.min!==void 0?f.range.min:"-")+" ~ "+e.toDisplayString(f.range.max!==void 0?f.range.max:"-"),1)):e.createCommentVNode("",!0)])],10,q1))),128))])])]),e.createElementVNode("div",tw,[e.createElementVNode("button",{class:"btn-cancel",onClick:a},"取消"),e.createElementVNode("button",{class:"btn-confirm",disabled:!o.value,onClick:c}," 确定 ",8,rw)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-d948fb0f"]]);var pt=(d=>(d.DIRECT="direct",d.BOOLEAN="boolean",d.RANGE="range",d.ENUM="enum",d))(pt||{}),kr=(d=>(d.BOOLEAN="boolean",d.NUMBER="number",d.STRING="string",d))(kr||{});const nw={class:"mapping-configurator"},iw={class:"config-item"},sw={key:0,class:"field-hint error"},aw={key:1,class:"field-hint"},lw={class:"config-item"},cw={key:0,class:"field-hint error"},dw={key:1,class:"field-hint"},uw={key:0,class:"config-item"},fw={class:"unit-config"},pw={class:"checkbox-label"},hw={key:0,class:"custom-unit"},mw={key:1,class:"mapping-details"},gw={class:"config-item"},yw={class:"config-item"},bw={key:2,class:"mapping-details"},ww={class:"range-rules"},Ew=["onUpdate:modelValue"],vw=["onUpdate:modelValue"],kw=["onUpdate:modelValue"],_w=["onClick"],Nw={key:3,class:"mapping-details"},Sw={class:"enum-mappings"},xw=["value","onInput"],Vw=["onUpdate:modelValue"],Cw=["onClick"],Aw={key:4,class:"mapping-preview"},Iw={class:"preview-content"},Tw={class:"preview-item"},$w={class:"preview-output"},Bw={class:"preview-item"},Dw={class:"preview-output"},Pw={class:"preview-input"},Ow={class:"preview-output"},Mw={class:"preview-input"},Rw={class:"preview-output"},jw=Me(e.defineComponent({__name:"MappingConfigurator",props:{visible:{type:Boolean},modelValue:{}},emits:["update:visible","update:modelValue","confirm"],setup(d,{emit:t}){const r=d,s=t,o=e.ref(r.modelValue||{type:"",valueType:""});e.watch(()=>r.modelValue,S=>{S&&(o.value={...S})},{deep:!0});const n=()=>{o.value.type||(o.value.valueType===kr.BOOLEAN?o.value.type=pt.BOOLEAN:o.value.valueType===kr.NUMBER?o.value.type=pt.RANGE:o.value.type=pt.DIRECT),o.value.valueType!==kr.NUMBER&&(delete o.value.keepOriginalUnit,delete o.value.customUnit)},i=S=>({boolean:"适用于开关状态、是否判断等场景",number:"适用于温度、压力、流量等数值型数据",string:"适用于文本、状态码等字符型数据"})[S]||"",l=S=>({direct:"不做任何转换,直接使用原始值",boolean:"根据 true/false 转换为不同的值",range:"根据数值范围转换为对应值",enum:"根据枚举键值对转换"})[S]||"",a=()=>{const S=o.value.valueType;o.value={type:o.value.type,valueType:S},o.value.type===pt.RANGE?o.value.rangeRules=[]:o.value.type===pt.ENUM&&(o.value.enumMappings={})},c=()=>{o.value.rangeRules||(o.value.rangeRules=[]),o.value.rangeRules.push({min:0,max:100,value:""})},u=S=>{var y;(y=o.value.rangeRules)==null||y.splice(S,1)},h=()=>{o.value.enumMappings||(o.value.enumMappings={});const S=`key_${Object.keys(o.value.enumMappings).length+1}`;o.value.enumMappings[S]=""},m=S=>{o.value.enumMappings&&delete o.value.enumMappings[S]},f=(S,y)=>{const v=S.target.value;if(!o.value.enumMappings||v===y)return;const _=o.value.enumMappings[y];delete o.value.enumMappings[y],o.value.enumMappings[v]=_},p=()=>{},w=()=>{s("update:visible",!1)},N=()=>{if(!o.value.valueType){alert("请选择值类型!");return}if(!o.value.type){alert("请选择映射类型!");return}s("update:modelValue",{...o.value}),s("confirm",{...o.value}),s("update:visible",!1)};return(S,y)=>d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"modal-overlay",onClick:w},[e.createElementVNode("div",{class:"modal-container",onClick:y[6]||(y[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"modal-header"},[y[7]||(y[7]=e.createElementVNode("h3",null,"值映射配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:w},"✕")]),e.createElementVNode("div",nw,[e.createElementVNode("div",iw,[y[9]||(y[9]=e.createElementVNode("label",null,[e.createTextVNode("值类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":y[0]||(y[0]=v=>o.value.valueType=v),onChange:n},[...y[8]||(y[8]=[e.createElementVNode("option",{value:""},"请选择值类型",-1),e.createElementVNode("option",{value:"boolean"},"布尔型 (true/false)",-1),e.createElementVNode("option",{value:"number"},"数值型 (123, 45.6)",-1),e.createElementVNode("option",{value:"string"},'字符串型 ("abc")',-1)])],544),[[e.vModelSelect,o.value.valueType]]),o.value.valueType?(e.openBlock(),e.createElementBlock("div",aw,e.toDisplayString(i(o.value.valueType)),1)):(e.openBlock(),e.createElementBlock("div",sw," 值类型为必填项 "))]),e.createElementVNode("div",lw,[y[11]||(y[11]=e.createElementVNode("label",null,[e.createTextVNode("映射类型 "),e.createElementVNode("span",{class:"required"},"*")],-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":y[1]||(y[1]=v=>o.value.type=v),onChange:a},[...y[10]||(y[10]=[e.createStaticVNode('<option value="" data-v-ef9e0ee1>请选择映射类型</option><option value="direct" data-v-ef9e0ee1>直接映射(无转换)</option><option value="boolean" data-v-ef9e0ee1>布尔映射</option><option value="range" data-v-ef9e0ee1>范围映射</option><option value="enum" data-v-ef9e0ee1>枚举映射</option>',5)])],544),[[e.vModelSelect,o.value.type]]),o.value.type?(e.openBlock(),e.createElementBlock("div",dw,e.toDisplayString(l(o.value.type)),1)):(e.openBlock(),e.createElementBlock("div",cw," 映射类型为必填项 "))]),o.value.valueType==="number"?(e.openBlock(),e.createElementBlock("div",uw,[y[13]||(y[13]=e.createElementVNode("label",null,"单位配置",-1)),e.createElementVNode("div",fw,[e.createElementVNode("label",pw,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":y[2]||(y[2]=v=>o.value.keepOriginalUnit=v),onChange:p},null,544),[[e.vModelCheckbox,o.value.keepOriginalUnit]]),y[12]||(y[12]=e.createTextVNode(" 保留点位原始单位 ",-1))]),o.value.keepOriginalUnit?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",hw,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[3]||(y[3]=v=>o.value.customUnit=v),type:"text",placeholder:"自定义单位,如: °C, MPa, %",onInput:p},null,544),[[e.vModelText,o.value.customUnit]])]))])])):e.createCommentVNode("",!0),o.value.type==="boolean"?(e.openBlock(),e.createElementBlock("div",mw,[e.createElementVNode("div",gw,[y[14]||(y[14]=e.createElementVNode("label",null,"True 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[4]||(y[4]=v=>o.value.trueValue=v),type:"text",placeholder:"例如: 运行、#00ff00",onInput:p},null,544),[[e.vModelText,o.value.trueValue]])]),e.createElementVNode("div",yw,[y[15]||(y[15]=e.createElementVNode("label",null,"False 时的值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[5]||(y[5]=v=>o.value.falseValue=v),type:"text",placeholder:"例如: 停止、#ff0000",onInput:p},null,544),[[e.vModelText,o.value.falseValue]])])])):e.createCommentVNode("",!0),o.value.type==="range"?(e.openBlock(),e.createElementBlock("div",bw,[e.createElementVNode("div",ww,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value.rangeRules,(v,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"range-rule"},[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k=>v.min=k,type:"number",placeholder:"最小值",onInput:p},null,40,Ew),[[e.vModelText,v.min,void 0,{number:!0}]]),y[16]||(y[16]=e.createElementVNode("span",{class:"range-separator"},"~",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k=>v.max=k,type:"number",placeholder:"最大值",onInput:p},null,40,vw),[[e.vModelText,v.max,void 0,{number:!0}]]),y[17]||(y[17]=e.createElementVNode("span",{class:"range-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":k=>v.value=k,type:"text",placeholder:"映射值",onInput:p},null,40,kw),[[e.vModelText,v.value]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:k=>u(_),title:"删除规则"}," ✕ ",8,_w)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:c}," + 添加范围规则 ")])):e.createCommentVNode("",!0),o.value.type==="enum"?(e.openBlock(),e.createElementBlock("div",Nw,[e.createElementVNode("div",Sw,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value.enumMappings,(v,_,k)=>(e.openBlock(),e.createElementBlock("div",{key:k,class:"enum-mapping"},[e.createElementVNode("input",{value:_,type:"text",placeholder:"原始值",onInput:C=>f(C,_)},null,40,xw),y[18]||(y[18]=e.createElementVNode("span",{class:"enum-arrow"},"→",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":C=>o.value.enumMappings[_]=C,type:"text",placeholder:"映射值",onInput:p},null,40,Vw),[[e.vModelText,o.value.enumMappings[_]]]),e.createElementVNode("button",{class:"btn-remove-rule",onClick:C=>m(_),title:"删除映射"}," ✕ ",8,Cw)]))),128))]),e.createElementVNode("button",{class:"btn-add-rule",onClick:h}," + 添加枚举映射 ")])):e.createCommentVNode("",!0),o.value.type!=="direct"?(e.openBlock(),e.createElementBlock("div",Aw,[y[25]||(y[25]=e.createElementVNode("label",null,"映射预览",-1)),e.createElementVNode("div",Iw,[o.value.type==="boolean"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createElementVNode("div",Tw,[y[19]||(y[19]=e.createElementVNode("span",{class:"preview-input"},"true",-1)),y[20]||(y[20]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",$w,e.toDisplayString(o.value.trueValue||"true"),1)]),e.createElementVNode("div",Bw,[y[21]||(y[21]=e.createElementVNode("span",{class:"preview-input"},"false",-1)),y[22]||(y[22]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Dw,e.toDisplayString(o.value.falseValue||"false"),1)])],64)):o.value.type==="range"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(o.value.rangeRules,(v,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"preview-item"},[e.createElementVNode("span",Pw,"["+e.toDisplayString(v.min)+" ~ "+e.toDisplayString(v.max)+"]",1),y[23]||(y[23]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Ow,e.toDisplayString(v.value),1)]))),128)):o.value.type==="enum"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:2},e.renderList(o.value.enumMappings,(v,_)=>(e.openBlock(),e.createElementBlock("div",{key:_,class:"preview-item"},[e.createElementVNode("span",Mw,e.toDisplayString(_),1),y[24]||(y[24]=e.createElementVNode("span",{class:"preview-arrow"},"→",-1)),e.createElementVNode("span",Rw,e.toDisplayString(v),1)]))),128)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",{class:"modal-footer"},[e.createElementVNode("button",{class:"btn-cancel",onClick:w},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:N},"确定")])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-ef9e0ee1"]]),Lw={class:"binding-row"},Uw={key:0,class:"cell-content-vertical"},Fw={class:"point-name"},zw={class:"point-id"},Ww={key:1,class:"cell-placeholder"},qw={class:"binding-col-property"},Gw=["value"],Hw=["value"],Kw={key:0,class:"mapping-label"},Qw={key:1,class:"cell-placeholder"},Yw={class:"binding-col-actions"},Li=Me(e.defineComponent({__name:"BindingCard",props:{binding:{},index:{},isCollapsed:{type:Boolean},nodeProperties:{},componentPoints:{}},emits:["toggle-collapse","remove","update-field"],setup(d,{emit:t}){const r=d,s=t,o=e.ref(""),n=e.ref(!1),i=e.ref(!1),l=e.ref(r.binding.mapping||{type:pt.DIRECT,valueType:kr.NUMBER});r.binding.devicePointId&&(o.value=r.binding.devicePointId),e.watch(()=>r.binding.devicePointId,m=>{m?o.value=m:o.value=""}),e.watch(()=>r.binding.mapping,m=>{m&&(l.value=m)},{deep:!0});const a=e.computed(()=>{if(!o.value)return null;const m=r.componentPoints.find(f=>f.id===o.value);return m?{pointId:m.id,pointName:m.name,dataType:m.dataType,pointUnit:m.unit}:null}),c=(m,f)=>{const p=new Event("change");Object.defineProperty(p,"target",{value:{value:m},writable:!1}),s("update-field","devicePointId",p)},u=m=>{const f=new Event("change");Object.defineProperty(f,"target",{value:{value:m},writable:!1}),s("update-field","mapping",f)},h=m=>({direct:"直接映射",boolean:"布尔映射",range:"范围映射",enum:"枚举映射"})[m]||m;return(m,f)=>(e.openBlock(),e.createElementBlock("div",Lw,[e.createElementVNode("div",{class:"binding-col-point",onClick:f[0]||(f[0]=p=>n.value=!0)},[a.value?(e.openBlock(),e.createElementBlock("div",Uw,[e.createElementVNode("span",Fw,e.toDisplayString(a.value.pointName),1),e.createElementVNode("span",zw,e.toDisplayString(a.value.pointId),1)])):(e.openBlock(),e.createElementBlock("span",Ww,"选择点位"))]),e.createElementVNode("div",qw,[e.createElementVNode("select",{class:"table-select",value:d.binding.targetProperty||"",onChange:f[1]||(f[1]=p=>m.$emit("update-field","targetProperty",p))},[f[8]||(f[8]=e.createElementVNode("option",{value:""},"选择属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.nodeProperties,p=>(e.openBlock(),e.createElementBlock("option",{key:p.key,value:p.key},e.toDisplayString(p.label),9,Hw))),128))],40,Gw)]),e.createElementVNode("div",{class:"binding-col-mapping",onClick:f[2]||(f[2]=p=>i.value=!0)},[l.value.type!=="direct"?(e.openBlock(),e.createElementBlock("span",Kw,e.toDisplayString(h(l.value.type)),1)):(e.openBlock(),e.createElementBlock("span",Qw,"直接映射"))]),e.createElementVNode("div",Yw,[e.createElementVNode("button",{class:"btn-delete",onClick:f[3]||(f[3]=p=>m.$emit("remove")),title:"删除"},"🗑")]),e.createVNode(ow,{visible:n.value,"onUpdate:visible":f[4]||(f[4]=p=>n.value=p),modelValue:o.value,"onUpdate:modelValue":f[5]||(f[5]=p=>o.value=p),"component-points":d.componentPoints,onConfirm:c},null,8,["visible","modelValue","component-points"]),e.createVNode(jw,{visible:i.value,"onUpdate:visible":f[6]||(f[6]=p=>i.value=p),modelValue:l.value,"onUpdate:modelValue":f[7]||(f[7]=p=>l.value=p),onConfirm:u},null,8,["visible","modelValue"])]))}}),[["__scopeId","data-v-5e89d852"]]),Jw={class:"dialog-content"},Xw={class:"dialog-header"},Zw={class:"dialog-body"},eE={class:"group-row"},tE={class:"group-field"},rE=["value","onChange"],oE=["value"],nE={class:"group-field group-field-value"},iE=["value","onInput"],sE=["value","onInput"],aE={key:2,class:"color-input-wrapper"},lE=["value","onInput"],cE={class:"color-value"},dE=["value","onChange"],uE=["onClick"],fE={key:0,class:"empty-hint"},pE={class:"dialog-footer"},Ui=Me(e.defineComponent({__name:"AttributeConfigDialog",props:{attributeGroups:{},nodeProperties:{}},emits:["close","save","add-group","remove-group","update-group"],setup(d,{emit:t}){const r=d,s=t,o=l=>{const a=r.nodeProperties.find(c=>c.key===l);return(a==null?void 0:a.type)||"text"},n=(l,a,c)=>{const u=c.target.value;s("update-group",l,a,u)},i=()=>{for(const l of r.attributeGroups)if(!l.property){alert("请为每组配置选择目标属性");return}s("save")};return(l,a)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:a[3]||(a[3]=e.withModifiers(c=>l.$emit("close"),["self"]))},[e.createElementVNode("div",Jw,[e.createElementVNode("div",Xw,[a[4]||(a[4]=e.createElementVNode("h3",null,"事件属性更改配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:a[0]||(a[0]=c=>l.$emit("close"))},"×")]),e.createElementVNode("div",Zw,[e.createElementVNode("button",{class:"btn-add-group",onClick:a[1]||(a[1]=c=>l.$emit("add-group"))},"新增一组"),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.attributeGroups,(c,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,class:"attribute-group"},[e.createElementVNode("div",eE,[e.createElementVNode("div",tE,[a[6]||(a[6]=e.createElementVNode("label",null,"目标属性",-1)),e.createElementVNode("select",{value:c.property,onChange:h=>n(u,"property",h)},[a[5]||(a[5]=e.createElementVNode("option",{value:""},"选择目标属性",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.nodeProperties,h=>(e.openBlock(),e.createElementBlock("option",{key:h.key,value:h.key},e.toDisplayString(h.label),9,oE))),128))],40,rE)]),e.createElementVNode("div",nE,[a[8]||(a[8]=e.createElementVNode("label",null,"期望值",-1)),!c.property||o(c.property)==="text"?(e.openBlock(),e.createElementBlock("input",{key:0,value:c.value,type:"text",onInput:h=>n(u,"value",h),placeholder:"输入值"},null,40,iE)):o(c.property)==="number"?(e.openBlock(),e.createElementBlock("input",{key:1,value:c.value,type:"number",onInput:h=>n(u,"value",h),placeholder:"输入数字"},null,40,sE)):o(c.property)==="color"?(e.openBlock(),e.createElementBlock("div",aE,[e.createElementVNode("input",{value:c.value,type:"color",onInput:h=>n(u,"value",h)},null,40,lE),e.createElementVNode("span",cE,e.toDisplayString(c.value||"#000000"),1)])):o(c.property)==="boolean"?(e.openBlock(),e.createElementBlock("select",{key:3,value:c.value,onChange:h=>n(u,"value",h)},[...a[7]||(a[7]=[e.createElementVNode("option",{value:"true"},"是",-1),e.createElementVNode("option",{value:"false"},"否",-1)])],40,dE)):e.createCommentVNode("",!0)]),e.createElementVNode("button",{class:"btn-delete-group",onClick:h=>l.$emit("remove-group",u),title:"删除"}," 🗑 ",8,uE)])]))),128)),d.attributeGroups.length===0?(e.openBlock(),e.createElementBlock("div",fE,' 请点击"新增一组"按钮添加属性配置 ')):e.createCommentVNode("",!0)]),e.createElementVNode("div",pE,[e.createElementVNode("button",{class:"btn-cancel",onClick:a[2]||(a[2]=c=>l.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:i},"确定")])])]))}}),[["__scopeId","data-v-90af9944"]]),hE={class:"dialog-content dialog-large"},mE={class:"dialog-header"},gE={class:"dialog-body dialog-body-split"},yE={class:"code-editor-section"},bE=["value"],wE={class:"code-preview-section"},EE={class:"section-header"},vE={class:"preview-status"},kE={key:0,class:"status-success"},_E={key:1,class:"status-error"},NE={class:"preview-canvas"},SE={key:0,class:"preview-empty"},xE={key:1,class:"preview-error-box"},VE={class:"error-message"},CE={key:2,class:"preview-node-container"},AE={key:0,class:"console-output"},IE={class:"console-logs"},TE={class:"dialog-footer"},$E=`function execute(node) {
24
24
  // 修改节点填充颜色为红色
25
25
  node.attr('body/fill', '#ff0000');
26
26
 
@@ -30,7 +30,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
30
30
  // 获取当前节点位置
31
31
  const pos = node.getPosition();
32
32
  console.log('X:', pos.x, 'Y:', pos.y);
33
- }`,ji=Me(e.defineComponent({__name:"CustomCodeDialog",props:{code:{},selectedNode:{}},emits:["update:code","close","save"],setup(u,{expose:t}){const r=u,a=e.ref(null),n=e.ref(null);let o=null,i=null;const l=async()=>{var m;if(!r.selectedNode){n.value={success:!1,logs:[],error:"没有选中的节点"};return}const c=(m=r.selectedNode.model)==null?void 0:m.graph;if(!c){n.value={success:!1,logs:[],error:"无法获取画布对象"};return}n.value={success:!0,logs:[],result:void 0};const d=[],h=console.log;try{if(await e.nextTick(),await s(),!i||!o){n.value={success:!1,logs:[],error:"预览画布初始化失败"};return}console.log=(...S)=>{d.push(S.map(b=>typeof b=="object"?JSON.stringify(b,null,2):String(b)).join(" ")),h(...S)};let p=r.code.trim();p.startsWith("function")&&(p=`${p}; execute(node, graph, event);`);const f=new Function("node","graph","event",p),w=new Proxy(r.selectedNode,{get(S,b){return b==="attr"?function(...E){return E.length===1?S.attr(E[0]):i?i.attr(E[0],E[1]):void 0}:S[b]}}),N=f(w,c,{});i&&o&&(i.removeTools(),o.drawBackground(),i.toJSON()),n.value={success:!0,logs:d,result:N!==void 0?typeof N=="object"?JSON.stringify(N,null,2):String(N):void 0}}catch(p){n.value={success:!1,logs:d,error:p.message||String(p)}}finally{console.log=h}},s=async()=>{var m;if(!a.value||!r.selectedNode)return;await e.nextTick();const c=a.value.clientWidth,d=a.value.clientHeight;if(c===0||d===0)return;a.value.innerHTML="",o&&(o.dispose(),o=null,i=null),o=new Le.Graph({container:a.value,width:c,height:Math.max(d-100,300),background:{color:"#0f172a"},grid:{size:10,visible:!0,type:"dot",args:{color:"#1e293b",thickness:1}},interacting:!1});const h=r.selectedNode.toJSON();try{i=o.addNode({...h,position:{x:c/2-(((m=h.size)==null?void 0:m.width)||100)/2,y:100}})}catch(p){console.error("添加预览节点失败:",p)}};return t({previewContainer:a,DEFAULT_CODE:SE}),(c,d)=>{var h,m;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:d[4]||(d[4]=e.withModifiers(p=>c.$emit("close"),["self"]))},[e.createElementVNode("div",sE,[e.createElementVNode("div",lE,[d[5]||(d[5]=e.createElementVNode("h3",null,"自定义代码配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d[0]||(d[0]=p=>c.$emit("close"))},"×")]),e.createElementVNode("div",cE,[e.createElementVNode("div",dE,[e.createElementVNode("div",{class:"section-header"},[d[6]||(d[6]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.createElementVNode("button",{class:"btn-test",onClick:l},"测试执行")]),e.createElementVNode("textarea",{value:u.code,onInput:d[1]||(d[1]=p=>c.$emit("update:code",p.target.value)),placeholder:`function execute(node) {
33
+ }`,Fi=Me(e.defineComponent({__name:"CustomCodeDialog",props:{code:{},selectedNode:{}},emits:["update:code","close","save"],setup(d,{expose:t}){const r=d,s=e.ref(null),o=e.ref(null);let n=null,i=null;const l=async()=>{var m;if(!r.selectedNode){o.value={success:!1,logs:[],error:"没有选中的节点"};return}const c=(m=r.selectedNode.model)==null?void 0:m.graph;if(!c){o.value={success:!1,logs:[],error:"无法获取画布对象"};return}o.value={success:!0,logs:[],result:void 0};const u=[],h=console.log;try{if(await e.nextTick(),await a(),!i||!n){o.value={success:!1,logs:[],error:"预览画布初始化失败"};return}console.log=(...S)=>{u.push(S.map(y=>typeof y=="object"?JSON.stringify(y,null,2):String(y)).join(" ")),h(...S)};let f=r.code.trim();f.startsWith("function")&&(f=`${f}; execute(node, graph, event);`);const p=new Function("node","graph","event",f),w=new Proxy(r.selectedNode,{get(S,y){return y==="attr"?function(...v){return v.length===1?S.attr(v[0]):i?i.attr(v[0],v[1]):void 0}:S[y]}}),N=p(w,c,{});i&&n&&(i.removeTools(),n.drawBackground(),i.toJSON()),o.value={success:!0,logs:u,result:N!==void 0?typeof N=="object"?JSON.stringify(N,null,2):String(N):void 0}}catch(f){o.value={success:!1,logs:u,error:f.message||String(f)}}finally{console.log=h}},a=async()=>{var m;if(!s.value||!r.selectedNode)return;await e.nextTick();const c=s.value.clientWidth,u=s.value.clientHeight;if(c===0||u===0)return;s.value.innerHTML="",n&&(n.dispose(),n=null,i=null),n=new Le.Graph({container:s.value,width:c,height:Math.max(u-100,300),background:{color:"#0f172a"},grid:{size:10,visible:!0,type:"dot",args:{color:"#1e293b",thickness:1}},interacting:!1});const h=r.selectedNode.toJSON();try{i=n.addNode({...h,position:{x:c/2-(((m=h.size)==null?void 0:m.width)||100)/2,y:100}})}catch(f){console.error("添加预览节点失败:",f)}};return t({previewContainer:s,DEFAULT_CODE:$E}),(c,u)=>{var h,m;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:u[4]||(u[4]=e.withModifiers(f=>c.$emit("close"),["self"]))},[e.createElementVNode("div",hE,[e.createElementVNode("div",mE,[u[5]||(u[5]=e.createElementVNode("h3",null,"自定义代码配置",-1)),e.createElementVNode("button",{class:"btn-close",onClick:u[0]||(u[0]=f=>c.$emit("close"))},"×")]),e.createElementVNode("div",gE,[e.createElementVNode("div",yE,[e.createElementVNode("div",{class:"section-header"},[u[6]||(u[6]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.createElementVNode("button",{class:"btn-test",onClick:l},"测试执行")]),e.createElementVNode("textarea",{value:d.code,onInput:u[1]||(u[1]=f=>c.$emit("update:code",f.target.value)),placeholder:`function execute(node) {
34
34
  // 修改节点填充颜色为红色
35
35
  node.attr('body/fill', '#ff0000');
36
36
 
@@ -40,23 +40,23 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
40
40
  // 获取当前节点位置
41
41
  const pos = node.getPosition();
42
42
  console.log('X:', pos.x, 'Y:', pos.y);
43
- }`,class:"code-textarea code-textarea-full"},null,40,uE)]),e.createElementVNode("div",fE,[e.createElementVNode("div",pE,[d[7]||(d[7]=e.createElementVNode("label",null,"组件预览",-1)),e.createElementVNode("div",hE,[(h=n.value)!=null&&h.success?(e.openBlock(),e.createElementBlock("span",mE,"✓ 执行成功")):(m=n.value)!=null&&m.error?(e.openBlock(),e.createElementBlock("span",gE,"✗ 执行失败")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",yE,[n.value?n.value.error?(e.openBlock(),e.createElementBlock("div",wE,[d[8]||(d[8]=e.createElementVNode("div",{class:"error-title"},"错误信息:",-1)),e.createElementVNode("div",EE,e.toDisplayString(n.value.error),1)])):(e.openBlock(),e.createElementBlock("div",vE,[e.createElementVNode("div",{ref_key:"previewContainer",ref:a,class:"node-preview"},null,512),n.value.logs.length>0?(e.openBlock(),e.createElementBlock("div",kE,[d[9]||(d[9]=e.createElementVNode("div",{class:"console-title"},"控制台输出:",-1)),e.createElementVNode("div",_E,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.logs,(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:f,class:"log-item"},e.toDisplayString(p),1))),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",bE,' 点击"测试执行"按钮查看组件预览效果 '))])])]),e.createElementVNode("div",NE,[e.createElementVNode("button",{class:"btn-cancel",onClick:d[2]||(d[2]=p=>c.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:d[3]||(d[3]=p=>c.$emit("save"))},"确定")])])])}}}),[["__scopeId","data-v-add3567b"]]),xE={class:"dialog-container"},VE={class:"dialog-header"},CE={class:"dialog-body"},IE={key:0,class:"empty-state"},AE={key:1,class:"workflow-list"},TE=["onClick"],$E={class:"workflow-info"},BE={class:"workflow-name"},DE={class:"workflow-meta"},PE={class:"workflow-id"},OE={class:"workflow-date"},ME={class:"workflow-actions"},RE=["onClick"],jE={class:"dialog-footer"},LE=["disabled"],UE=Me(e.defineComponent({__name:"WorkflowSelectorDialog",emits:["close","select"],setup(u,{emit:t}){const r=t,a=e.ref([]),n=e.ref(null),o=()=>{try{const d=localStorage.getItem("saved-workflows");d&&(a.value=JSON.parse(d))}catch(d){console.error("加载流程列表失败:",d)}},i=d=>{n.value=d},l=d=>{console.log("预览流程:",d)},s=()=>{n.value&&r("select",n.value)},c=d=>new Date(d).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return e.onMounted(()=>{o()}),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:h[2]||(h[2]=e.withModifiers(m=>d.$emit("close"),["self"]))},[e.createElementVNode("div",xE,[e.createElementVNode("div",VE,[h[3]||(h[3]=e.createElementVNode("h3",null,"选择流程",-1)),e.createElementVNode("button",{class:"btn-close",onClick:h[0]||(h[0]=m=>d.$emit("close"))},"×")]),e.createElementVNode("div",CE,[a.value.length===0?(e.openBlock(),e.createElementBlock("div",IE,[...h[4]||(h[4]=[e.createElementVNode("p",null,"暂无已保存的流程",-1),e.createElementVNode("p",{class:"hint"},"请先在流程编辑器中创建并保存流程",-1)])])):(e.openBlock(),e.createElementBlock("div",AE,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,m=>{var p;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["workflow-item",{selected:((p=n.value)==null?void 0:p.id)===m.id}]),onClick:f=>i(m)},[e.createElementVNode("div",$E,[e.createElementVNode("div",BE,e.toDisplayString(m.name),1),e.createElementVNode("div",DE,[e.createElementVNode("span",PE,"ID: "+e.toDisplayString(m.id),1),e.createElementVNode("span",OE,e.toDisplayString(c(m.createdAt)),1)])]),e.createElementVNode("div",ME,[e.createElementVNode("button",{class:"btn-icon",onClick:e.withModifiers(f=>l(m),["stop"]),title:"预览"}," 👁️ ",8,RE)])],10,TE)}),128))]))]),e.createElementVNode("div",jE,[e.createElementVNode("button",{class:"btn-secondary",onClick:h[1]||(h[1]=m=>d.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!n.value,onClick:s}," 确定 ",8,LE)])])]))}}),[["__scopeId","data-v-c9a88e33"]]),FE=(u,t)=>{const r=t.split(".");let a=u;for(const n of r)if(a&&typeof a=="object"&&n in a)a=a[n];else return;return a},zE=(u,t,r)=>{const a=t.split(".");let n=u;for(let o=0;o<a.length-1;o++)n[a[o]]||(n[a[o]]={}),n=n[a[o]];n[a[a.length-1]]=r},WE=(u,t)=>{var o;const r=u.getData(),a=(o=r==null?void 0:r.props)==null?void 0:o.find(i=>i.key===t);if(!a||!a.path)return;const n=a.path.split(".");if(n[0]==="attrs"){const i=n.slice(1).join("/");return u.attr(i)}else if(n[0]==="data"){const i=n.slice(1).join(".");return FE(u.getData(),i)}},qE=(u,t,r)=>{var i;const a=u.getData(),n=(i=a==null?void 0:a.props)==null?void 0:i.find(l=>l.key===t);if(!n||!n.path)return console.warn(`未找到属性配置: ${t}`),!1;const o=n.path.split(".");if(o[0]==="attrs"){const l=o.slice(1).join("/");return u.setAttrByPath(l,r),console.log(`属性已更改: ${t} (${l}) = ${r}`),!0}else if(o[0]==="data"){const l=o.slice(1).join("."),s=u.getData()||{};return zE(s,l,r),u.setData(s),console.log(`数据已更改: ${t} (${l}) = ${r}`),!0}else return console.warn(`未知的属性路径类型: ${n.path}`),!1},Li=(u,t)=>{if(t.conditionType==="always")return!0;if(t.condition&&t.condition.attribute){const r=WE(u,t.condition.attribute),a=r===t.condition.value;return console.log(`条件检查: ${t.condition.attribute} = ${r}, 期望: ${t.condition.value}, 结果: ${a}`),a}return!1},GE=(u,t)=>{t!=null&&t.attributeGroups&&t.attributeGroups.forEach(r=>{const a=r.target==="current"?u:null;a&&qE(a,r.property,r.value)})},HE=(u,t,r)=>{if(r!=null&&r.code)try{new Function("node","event",r.code)(u,t)}catch(a){console.error("自定义代码执行失败:",a)}},KE=(u,t,r)=>{if(!(r!=null&&r.processId)||!(r!=null&&r.processData)){console.error("流程配置不完整:",r);return}try{console.log("开始执行流程:",r.processName||r.processId);let a={};if(r.processParams)try{a=JSON.parse(r.processParams)}catch(o){console.error("流程参数解析失败:",o)}console.log("流程数据:",r.processData),console.log("传入参数:",a);const n=new CustomEvent("workflow-execute",{detail:{processId:r.processId,processName:r.processName,processData:r.processData,params:a,triggerNode:u}});window.dispatchEvent(n)}catch(a){console.error("流程执行失败:",a)}},Ui=(u,t)=>{if(t.action)switch(console.log("执行事件动作:",t.action,t.params),t.action){case"attributeChange":GE(u,t.params);break;case"customCode":HE(u,t,t.params);break;case"callProcess":KE(u,t,t.params);break;default:console.warn("未知的事件动作:",t.action)}},YE=(u,t)=>{const r=t.getData();!(r!=null&&r.events)||!Array.isArray(r.events)||r.events.forEach(a=>{const n=a.type;switch(n){case"click":case"dblclick":case"mouseenter":case"mouseleave":u.on(`node:${n}`,({node:o})=>{o.id===t.id&&(console.log(`触发 ${n} 事件:`,a),Li(o,a)&&Ui(o,a))});break;case"change":u.on("node:change:attrs",({node:o})=>{o.id===t.id&&(console.log("检查 change 事件:",a),Li(o,a)&&(console.log("条件满足,触发 change 事件:",a),Ui(o,a)))});break;case"input":u.on("node:change:data",({node:o})=>{o.id===t.id&&(console.log("触发 input 事件:",a),Li(o,a)&&Ui(o,a))});break;case"focus":case"blur":console.warn(`事件类型 ${n} 在预览模式下不支持`);break;default:console.warn(`未知的事件类型: ${n}`)}})},pt={SCADA_EDITOR_DATA:"scada_editor_data"},cr=(u,t)=>{try{const r=JSON.stringify(t);return localStorage.setItem(u,r),!0}catch(r){return console.error(`保存到 localStorage 失败 [${u}]:`,r),!1}},Fi=u=>{try{const t=localStorage.getItem(u);return t?JSON.parse(t):null}catch(t){return console.error(`从 localStorage 读取失败 [${u}]:`,t),null}},lo=u=>{try{localStorage.removeItem(u)}catch(t){console.error(`从 localStorage 删除失败 [${u}]:`,t)}},QE=(u,t)=>{try{const r=JSON.stringify(u,null,2),a=new Blob([r],{type:"application/json;charset=utf-8"}),n=URL.createObjectURL(a),o=document.createElement("a");return o.href=n,o.download=`${t}.json`,o.click(),URL.revokeObjectURL(n),!0}catch(r){return console.error("导出 JSON 文件失败:",r),!1}},zi=(u="")=>{const t=Date.now(),r=Math.random().toString(36).substring(2,11);return u?`${u}_${t}_${r}`:`${t}_${r}`},Xl=()=>zi("evt"),JE=()=>zi("node"),co=(u,t="YYYY-MM-DD HH:mm:ss")=>{const r=new Date(u),a=r.getFullYear(),n=String(r.getMonth()+1).padStart(2,"0"),o=String(r.getDate()).padStart(2,"0"),i=String(r.getHours()).padStart(2,"0"),l=String(r.getMinutes()).padStart(2,"0"),s=String(r.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(a)).replace("MM",n).replace("DD",o).replace("HH",i).replace("mm",l).replace("ss",s)},uo=()=>Date.now(),Zl=(u=50,t=50,r=400,a=300)=>({x:Math.random()*r+u,y:Math.random()*a+t}),Je=(u,t="info",r=3e3)=>{const a=document.createElement("div");a.className=`scada-toast scada-toast-${t}`,a.textContent=u,Object.assign(a.style,{position:"fixed",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 24px",borderRadius:"6px",fontSize:"14px",fontWeight:"500",zIndex:"10000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"80%",wordBreak:"break-word",opacity:"0",transition:"opacity 0.3s ease, transform 0.3s ease"});const o={success:{bg:"#10b981",text:"#fff"},error:{bg:"#ef4444",text:"#fff"},warning:{bg:"#f59e0b",text:"#fff"},info:{bg:"#3b82f6",text:"#fff"}}[t];a.style.backgroundColor=o.bg,a.style.color=o.text,document.body.appendChild(a),requestAnimationFrame(()=>{a.style.opacity="1"}),setTimeout(()=>{a.style.opacity="0",setTimeout(()=>{a.parentNode&&document.body.removeChild(a)},300)},r)};class XE{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}getGraph(){return this.graph}zoomIn(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.min(5,t+.1);je.setZoom(r)}zoomOut(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.max(.1,t-.1);je.setZoom(r)}setZoom(t){if(!this.graph)return;const r=Math.max(.1,Math.min(5,t));je.setZoom(r)}clearAll(t){this.graph&&confirm("确定要清空画布吗?")&&(this.graph.clearCells(),t==null||t(),Je("画布已清空","success"))}getSelectedNodes(){return this.graph?this.graph.getSelectedCells().filter(t=>t.isNode()):[]}validateSelection(t,r){const a=this.getSelectedNodes();return a.length<t?(Je(r,"warning"),null):a}alignLeft(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(a=>a.getPosition().x));t.forEach(a=>{a.setPosition({x:r,y:a.getPosition().y})})}alignCenter(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(n=>n.getPosition().x+n.getSize().width/2),a=r.reduce((n,o)=>n+o,0)/r.length;t.forEach(n=>{const o=a-n.getSize().width/2;n.setPosition({x:o,y:n.getPosition().y})})}alignRight(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(a=>a.getPosition().x+a.getSize().width));t.forEach(a=>{const n=r-a.getSize().width;a.setPosition({x:n,y:a.getPosition().y})})}alignTop(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(a=>a.getPosition().y));t.forEach(a=>{a.setPosition({x:a.getPosition().x,y:r})})}alignMiddle(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(n=>n.getPosition().y+n.getSize().height/2),a=r.reduce((n,o)=>n+o,0)/r.length;t.forEach(n=>{const o=a-n.getSize().height/2;n.setPosition({x:n.getPosition().x,y:o})})}alignBottom(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(a=>a.getPosition().y+a.getSize().height));t.forEach(a=>{const n=r-a.getSize().height;a.setPosition({x:a.getPosition().x,y:n})})}distributeHorizontal(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,s)=>l.getPosition().x-s.getPosition().x),a=r[0],i=(r[r.length-1].getPosition().x-a.getPosition().x)/(r.length-1);r.forEach((l,s)=>{if(s===0||s===r.length-1)return;const c=a.getPosition().x+i*s;l.setPosition({x:c,y:l.getPosition().y})})}distributeVertical(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,s)=>l.getPosition().y-s.getPosition().y),a=r[0],i=(r[r.length-1].getPosition().y-a.getPosition().y)/(r.length-1);r.forEach((l,s)=>{if(s===0||s===r.length-1)return;const c=a.getPosition().y+i*s;l.setPosition({x:l.getPosition().x,y:c})})}selectAll(){this.graph&&this.graph.select(this.graph.getNodes())}clearSelection(){this.graph&&this.graph.unselect(this.graph.getSelectedCells())}calculateFitScale(t,r){const a=je.getConfig(),n=a.size.width,o=a.size.height,i=40,l=t-i,s=r-i,c=l/n,d=s/o;return Math.min(c,d,1)}}const ht=new XE;class ZE{constructor(){ve(this,"animations",new Map)}startAnimation(t,r){if(!t||r.type==="none")return;this.stopAnimation(t.id);const a=t.id;let n=null;switch(r.type){case"blink":n=this.createBlinkAnimation(t,r);break;case"scale":n=this.createScaleAnimation(t,r);break;case"rotate":n=this.createRotateAnimation(t,r);break;case"float":n=this.createFloatAnimation(t,r);break;case"pulse":n=this.createPulseAnimation(t,r);break}n&&this.animations.set(a,n)}stopAnimation(t){const r=this.animations.get(t);r&&(r.stop&&r.stop(),r.intervalId&&clearInterval(r.intervalId),this.animations.delete(t))}createBlinkAnimation(t,r){const a=t.getAttrByPath("body/opacity")||1;let n=!0;const o=setInterval(()=>{n=!n,t.setAttrByPath("body/opacity",n?a:.2),r.loop||(clearInterval(o),t.setAttrByPath("body/opacity",a))},r.duration/2);return{intervalId:o,stop:()=>{clearInterval(o),t.setAttrByPath("body/opacity",a)}}}createScaleAnimation(t,r){const a=t.getSize();let n=!0;const o=.05;let i=1;const l=setInterval(()=>{n?(i+=o,i>=1.2&&(n=!1)):(i-=o,i<=.8&&(n=!0)),t.resize(a.width*i,a.height*i),!r.loop&&i>=.99&&i<=1.01&&(clearInterval(l),t.resize(a.width,a.height))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.resize(a.width,a.height)}}}createRotateAnimation(t,r){let a=0;const n=360/(r.duration/50),o=setInterval(()=>{a=(a+n)%360,t.rotate(a,{absolute:!0}),!r.loop&&a>=360&&(clearInterval(o),t.rotate(0,{absolute:!0}))},50);return{intervalId:o,stop:()=>{clearInterval(o),t.rotate(0,{absolute:!0})}}}createFloatAnimation(t,r){const a=t.position();let n=!0;const o=2;let i=a.y;const l=setInterval(()=>{n?(i-=o,i<=a.y-10&&(n=!1)):(i+=o,i>=a.y+10&&(n=!0)),t.position(a.x,i),!r.loop&&Math.abs(i-a.y)<1&&(clearInterval(l),t.position(a.x,a.y))},r.duration/40);return{intervalId:l,stop:()=>{clearInterval(l),t.position(a.x,a.y)}}}createPulseAnimation(t,r){const a=t.getAttrByPath("body/fill"),n=t.getAttrByPath("body/stroke");let o=0,i=!0;const l=setInterval(()=>{i?(o+=.1,o>=1&&(i=!1)):(o-=.1,o<=0&&(i=!0)),t.setAttrByPath("body/opacity",.5+o*.5),!r.loop&&o<=.05&&(clearInterval(l),t.setAttrByPath("body/fill",a),t.setAttrByPath("body/stroke",n),t.setAttrByPath("body/opacity",1))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.setAttrByPath("body/fill",a),t.setAttrByPath("body/stroke",n),t.setAttrByPath("body/opacity",1)}}}clearAll(){this.animations.forEach((t,r)=>{this.stopAnimation(r)}),this.animations.clear()}}const Lt=new ZE;class ev{constructor(){ve(this,"graph",null);ve(this,"componentCounters",{})}setGraph(t){this.graph=t}generateComponentName(t,r){return this.componentCounters[t]||(this.componentCounters[t]=0),this.componentCounters[t]++,`${r}_${this.componentCounters[t]}`}addNode(t,r){var c,d,h,m;if(!this.graph)return null;const a=$t.getComponent(t);if(!a)return console.error(`未找到组件配置: ${t}`),null;const n=this.generateComponentName(t,a.metadata.name),o={enabled:!1,type:"none",duration:1e3,loop:!0},i=r||Zl(50,50,400,300),l={x:i.x,y:i.y,shape:a.shape,width:a.width,height:a.height,label:a.label,attrs:a.attrs,ports:a.ports,data:{...a.data,componentType:t,componentName:n,props:a.props,animation:o,originalStroke:((d=(c=a.attrs)==null?void 0:c.body)==null?void 0:d.stroke)||"#2563eb",originalStrokeWidth:((m=(h=a.attrs)==null?void 0:h.body)==null?void 0:m.strokeWidth)||2}},s=this.graph.addNode(l);return console.log("[Node] 添加节点:",a.shape,s.id,l),s}updateNode(t,r){if(t&&(r.attrs&&Object.keys(r.attrs).forEach(a=>{const n=r.attrs[a];typeof n=="object"?Object.keys(n).forEach(o=>{t.attr(`${a}/${o}`,n[o])}):t.attr(a,n)}),r.position&&(typeof r.position.x=="number"&&typeof r.position.y=="number"?t.setPosition(r.position):console.error("position 数据格式错误:",r.position)),r.size&&(typeof r.size.width=="number"&&typeof r.size.height=="number"?t.setSize(r.size):console.error("size 数据格式错误:",r.size)),r.data)){const a={...r.data};delete a.position,delete a.size,t.setData(a)}}deleteNode(t){if(!this.graph)return!1;Lt.stopAnimation(t);try{return this.graph.removeNode(t),!0}catch(r){return console.error("删除节点失败:",r),!1}}selectNode(t){if(!this.graph)return!1;const r=this.graph.getCellById(t);return r?(this.graph.select(r),!0):!1}getNodeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isNode()?null:r}getAllNodes(){return this.graph?this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})):[]}cloneNode(t,r={x:20,y:20}){if(!this.graph)return null;try{const a=t.clone();return a.translate(r.x,r.y),this.graph.addNode(a),a}catch(a){return console.error("复制节点失败:",a),null}}deleteNodes(t){if(!this.graph)return 0;let r=0;return t.forEach(a=>{this.deleteNode(a)&&r++}),r}bringToFront(t){const r=this.getNodeById(t);r&&r.toFront()}sendToBack(t){const r=this.getNodeById(t);r&&r.toBack()}}const dr=new ev;class tv{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}applyEdgeAnimation(t,r){if(!t||typeof t.attr!="function"){console.warn("applyEdgeAnimation: edge 对象无效",t);return}if(!r||!r.enabled){t.attr("line/strokeDasharray",void 0),t.attr("circle",void 0),typeof t.stopTransition=="function"&&t.stopTransition("attrs/circle/atConnectionRatio");return}const a=r.duration||2e3;t.attr("circle",{r:4,atConnectionRatio:0,fill:{type:"radialGradient",stops:[{offset:"0%",color:"#FFF"},{offset:"100%",color:t.attr("line/stroke")||"#10b981"}]},stroke:t.attr("line/stroke")||"#10b981",strokeWidth:1});const n=()=>{t.attr("circle/atConnectionRatio",0,{silent:!0}),t.transition("attrs/circle/atConnectionRatio",1,{delay:0,duration:a,timing:"linear",complete:()=>{n()}})};n()}updateEdge(t,r){if(t){if(r.attrs){Object.keys(r.attrs).forEach(o=>{const i=r.attrs[o];typeof i=="object"?Object.keys(i).forEach(l=>{var s,c;t.attr(`${o}/${l}`,i[l]),(c=(s=t.data)==null?void 0:s.originalAttrs)!=null&&c[o]&&(t.data.originalAttrs[o][l]=i[l])}):t.attr(o,i)});const a=t.getAttrs(),n=Object.assign({},t.data,{originalAttrs:a});t.setData(n),t.attr("line/stroke","#3b82f6")}r.router&&t.setRouter(r.router),r.connector&&t.setConnector(r.connector),r.animation&&this.applyEdgeAnimation(t,r.animation),r.data&&t.setData(Object.assign({},t.data,r.data))}}deleteEdge(t){if(!this.graph)return!1;try{return this.graph.removeEdge(t),!0}catch(r){return console.error("删除边失败:",r),!1}}getEdgeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isEdge()?null:r}getAllEdges(){return this.graph?this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId(),data:t.getData()})):[]}applySelectedStyle(t){if(!t)return;const r=t.getAttrs();t.data={...t.data,originalAttrs:r},t.attr("line/stroke","#3b82f6")}restoreOriginalStyle(t){var a,n;if(!t||!((a=t.data)!=null&&a.originalAttrs))return;const r=t.data.originalAttrs;t.attr("line/stroke",((n=r.line)==null?void 0:n.stroke)||"#10b981")}restoreAllEdgeAnimations(){this.graph&&this.graph.getEdges().forEach(t=>{var a;const r=t.getData();(a=r==null?void 0:r.animation)!=null&&a.enabled&&this.applyEdgeAnimation(t,r.animation)})}}const vr=new tv;class rv{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}saveToLocal(){if(!this.graph)return!1;try{const t={cells:this.graph.toJSON().cells,dataSources:He.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config}))};return cr(pt.SCADA_EDITOR_DATA,t),!0}catch(t){return console.error("保存画布数据失败:",t),!1}}loadFromLocal(t){var r;if(!this.graph)return!1;try{const a=Fi(pt.SCADA_EDITOR_DATA);if(!((r=a==null?void 0:a.cells)!=null&&r.length))return!1;const n=this.cleanCellsData(a.cells);return this.graph.fromJSON({cells:n}),t&&this.graph.getEdges().forEach(o=>{var l;const i=o.getData();(l=i==null?void 0:i.animation)!=null&&l.enabled&&t(o)}),!0}catch(a){return console.error("恢复画布数据失败,清空缓存:",a),lo(pt.SCADA_EDITOR_DATA),!1}}cleanCellsData(t){return t.map(r=>{var a;return r.position&&typeof r.position=="object"&&(typeof r.position.x!="number"||typeof r.position.y!="number")&&(r.position={x:100,y:100}),(r.shape==="edge"||r.shape==="animated-edge")&&(r.router==="manhattan"||((a=r.router)==null?void 0:a.name)==="manhattan")&&(r.router={name:"orth",args:{padding:10}}),r})}exportData(){if(!this.graph)return null;try{const t={version:"1.0.0",timestamp:co(uo()),config:{size:je.getConfig().size,background:je.getConfig().background,grid:je.getConfig().grid,guides:je.getConfig().guides,magnetism:je.getConfig().magnetism,zoom:je.getConfig().zoom},cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(r=>({id:r.id,type:r.shape,position:r.getPosition(),size:r.getSize(),label:r.attr("label/text"),data:r.getData()})),edges:this.graph.getEdges().map(r=>({id:r.id,source:r.getSourceCellId(),target:r.getTargetCellId()})),dataSources:He.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config})),workflows:[]};return t.workflows=this.collectReferencedWorkflows(),t}catch(t){return console.error("导出数据失败:",t),null}}collectReferencedWorkflows(){if(!this.graph)return[];const t=new Set;if(this.graph.getNodes().forEach(r=>{const a=r.getData();a!=null&&a.events&&Array.isArray(a.events)&&a.events.forEach(n=>{var o;n.action==="callProcess"&&((o=n.params)!=null&&o.processId)&&t.add(n.params.processId)})}),t.size===0)return[];try{const r=localStorage.getItem("saved-workflows");if(r)return JSON.parse(r).filter(n=>t.has(n.id))}catch(r){console.error("加载流程数据失败:",r)}return[]}importData(t,r){if(!this.graph)return!1;try{if(!t.cells)return Je("无效的JSON文件格式","error"),!1;if(!confirm("导入将清空当前画布,是否继续?"))return!1;this.graph.clearCells(),this.graph.fromJSON({cells:t.cells}),r&&this.graph.getEdges().forEach(n=>{var i;const o=n.getData();(i=o==null?void 0:o.animation)!=null&&i.enabled&&r(n)}),t.config&&je.updateConfig(t.config),this.importDataSources(t.dataSources);const a=this.importWorkflows(t.workflows);return a.imported>0||a.updated>0?Je(`导入成功 画布已加载,流程: 新增${a.imported}个,更新${a.updated}个`,"success"):Je("导入成功","success"),!0}catch(a){return console.error("导入失败",a),Je("导入失败,JSON格式错误","error"),!1}}importDataSources(t){!t||!Array.isArray(t)||(He.disconnectAll(),He.getAllDataSources().forEach(r=>{He.removeDataSource(r.id)}),t.forEach(r=>{const a={id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config,devices:[],status:{connected:!1}};He.addDataSource(a)}),console.log(`[CanvasDataHandler] 已导入 ${t.length} 个数据源`))}importWorkflows(t){if(!t||!Array.isArray(t)||t.length===0)return{imported:0,updated:0};try{const r=localStorage.getItem("saved-workflows"),a=r?JSON.parse(r):[];let n=0,o=0;return t.forEach(i=>{const l=a.findIndex(s=>s.id===i.id);l>=0?(a[l]={...i,updatedAt:Date.now()},o++):(a.push(i),n++)}),localStorage.setItem("saved-workflows",JSON.stringify(a)),{imported:n,updated:o}}catch(r){return console.error("导入流程数据失败:",r),Je("画布导入成功, 但流程数据导入失败","warning"),{imported:0,updated:0}}}exportToFile(t){const r=this.exportData();if(!r)return null;try{const a=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),n=URL.createObjectURL(a),o=document.createElement("a"),i=t||`scada-export-${Date.now()}.json`;return o.href=n,o.download=i,o.click(),URL.revokeObjectURL(n),i}catch(a){return console.error("导出文件失败:",a),null}}clearCache(){lo(pt.SCADA_EDITOR_DATA)}getCanvasData(){return this.graph?{version:"1.0.0",timestamp:co(uo()),config:je.getConfig(),cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})),edges:this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId()}))}:null}}const At=new rv;class ov{constructor(){ve(this,"graph",null);ve(this,"dataCallbackRegistered",!1)}setGraph(t){this.graph=t,t&&!this.dataCallbackRegistered&&this.initDataBinding()}initDataBinding(){this.dataCallbackRegistered||(console.log("[DataBindingService] 初始化数据绑定监听"),He.onData((t,r)=>{this.handleDataUpdate(t,r)}),this.dataCallbackRegistered=!0)}handleDataUpdate(t,r){if(!this.graph){console.warn("[DataBindingService] Graph 未初始化");return}this.graph.getNodes().forEach(n=>{this.updateNodeData(n,t,r)})}updateNodeData(t,r,a){const n=t.getData();if(!(n!=null&&n.dataBinding)||n.dataBinding.dataSourceId!==r||!n.bindings||!Array.isArray(n.bindings)||n.bindings.length===0)return!1;let o=!1;const i={};return n.bindings.forEach(l=>{if(!(!l.enabled&&l.enabled!==void 0)&&!(!l.devicePointId||!l.targetProperty))try{const s=this.extractPointValue(a,l.devicePointId);if(s==null)return;const c=this.applyValueMapping(s,l.mapping);i[l.targetProperty]=c,o=!0}catch(s){console.error("[DataBindingService] 绑定处理错误:",s,l)}}),o?(this.applyUpdatesToNode(t,i),!0):!1}extractPointValue(t,r){if(!(!r||!t)){if(Array.isArray(t)){const a=t.find(n=>n.id===r);if(a&&a.value!==void 0)return a.value}if(t[r]!==void 0)return t[r];if(t.devices&&Array.isArray(t.devices)){for(const a of t.devices)if(a.points&&Array.isArray(a.points)){for(const n of a.points)if(n.id===r)return n.value}}}}applyValueMapping(t,r){if(!r||r.type===ft.DIRECT)return t;try{switch(r.type){case ft.BOOLEAN:return this.applyBooleanMapping(t,r);case ft.RANGE:return this.applyRangeMapping(t,r);case ft.ENUM:return this.applyEnumMapping(t,r);default:return console.warn(`[DataBindingService] 未知的映射类型: ${r.type}`),t}}catch(a){return console.error("[DataBindingService] 值映射错误:",a,{value:t,mapping:r}),t}}applyBooleanMapping(t,r){return!!t?r.trueValue:r.falseValue}applyRangeMapping(t,r){const a=Number(t);if(isNaN(a))return t;if(r.rangeRules&&Array.isArray(r.rangeRules))for(const n of r.rangeRules){const o=n.min!==void 0?Number(n.min):-1/0,i=n.max!==void 0?Number(n.max):1/0;if(a>=o&&a<=i)return n.value}return t}applyEnumMapping(t,r){if(!r.enumMappings)return t;const a=String(t);return r.enumMappings[a]!==void 0?r.enumMappings[a]:t}applyUpdatesToNode(t,r){const a=t.getData(),n={...a,...r};t.setData(n,{overwrite:!0}),t.trigger("change:data",{current:n,previous:a})}getNodeBindings(t){if(!this.graph)return[];const r=this.graph.getCellById(t);if(!r||!r.isNode())return[];const a=r.getData();return(a==null?void 0:a.bindings)||[]}updateNodeBindings(t,r){if(!this.graph)return!1;const a=this.graph.getCellById(t);if(!a||!a.isNode())return!1;const n=a.getData();return a.setData({...n,bindings:r}),console.log(`[DataBindingService] 更新节点 ${t} 的绑定配置:`,r),!0}destroy(){this.graph=null,this.dataCallbackRegistered=!1,console.log("[DataBindingService] 服务已销毁")}}const nv=new ov;class iv{getNodeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"copy",label:"复制",icon:"📋",hotkey:"Ctrl+C"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getEdgeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getCanvasMenuItems(){return[{key:"paste",label:"粘贴",icon:"📋",hotkey:"Ctrl+V",disabled:!0},{key:"divider1",divider:!0},{key:"select-all",label:"全选",icon:"✅",hotkey:"Ctrl+A"},{key:"clear-all",label:"清空画布",icon:"🗑️"}]}getMenuItems(t){switch(t){case"node":return this.getNodeMenuItems();case"edge":return this.getEdgeMenuItems();case"canvas":return this.getCanvasMenuItems();default:return[]}}}const Wi=new iv;class av{constructor(){ve(this,"graph",null);ve(this,"config",null);ve(this,"keydownHandler",null)}initialize(t,r){this.graph=t,this.config=r,this.registerSelectionEvents(),this.registerClickEvents(),this.registerChangeEvents(),this.registerContextMenuEvents(),this.registerKeyboardEvents()}registerSelectionEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r,selectedNodesCount:a}=this.config;this.graph.on("selection:changed",({selected:n})=>{var i,l;const o=n?n.filter(s=>s.isNode()):[];if(a.value=o.length,n&&n.length>0){const s=n[0];if(s.isNode())t.value=s,r.value=null;else if(s.isEdge()){r.value=s,t.value=null;const c=s.getAttrs();s.data={...s.data,originalAttrs:c},s.attr("line/stroke","#3b82f6")}}else{if(r.value&&((i=r.value.data)!=null&&i.originalAttrs)){const s=r.value.data.originalAttrs;r.value.attr("line/stroke",((l=s.line)==null?void 0:l.stroke)||"#10b981")}t.value=null,r.value=null}})}registerClickEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config;this.graph.on("edge:click",({edge:a})=>{this.graph.select(a)}),this.graph.on("blank:click",()=>{r.value=null,t.value=null})}registerChangeEvents(){!this.graph||!this.config||(this.graph.on("node:change:position",()=>{}),this.graph.on("node:change:size",()=>{}),this.graph.on("node:change:data",({node:t})=>{const r=t.getData();if(r.animation)if(r.animation.enabled===!0){const a={type:r.animation.type||"none",duration:r.animation.duration||1e3,loop:r.animation.loop!==!1};Lt.startAnimation(t,a)}else Lt.stopAnimation(t.id)}),this.graph.on("edge:change:data",({edge:t})=>{var a;const r=t.getData();r!=null&&r.animation&&((a=this.config)!=null&&a.applyEdgeAnimation)&&this.config.applyEdgeAnimation(t,r.animation)}))}registerContextMenuEvents(){if(!this.graph||!this.config)return;const{contextMenu:t}=this.config;this.graph.on("cell:contextmenu",({e:r,cell:a})=>{r.preventDefault(),t.value.targetCell=a,t.value.position={x:r.clientX,y:r.clientY},a.isNode()?t.value.items=Wi.getNodeMenuItems():a.isEdge()&&(t.value.items=Wi.getEdgeMenuItems()),t.value.visible=!0}),this.graph.on("blank:contextmenu",({e:r})=>{r.preventDefault(),t.value.targetCell=null,t.value.position={x:r.clientX,y:r.clientY},t.value.items=Wi.getCanvasMenuItems(),t.value.visible=!0})}registerKeyboardEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config,a=this.graph;this.keydownHandler=n=>{if(n.key==="Delete"&&a){if(t.value){const o=t.value.id;Lt.stopAnimation(o),a.removeNode(o),t.value=null}else if(r.value){const o=r.value.id;a.removeEdge(o),r.value=null}}},document.addEventListener("keydown",this.keydownHandler)}destroy(){this.keydownHandler&&(document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.graph=null,this.config=null}}const ec=new av;class sv{constructor(){ve(this,"graph",null);ve(this,"containerRef",null);ve(this,"calculateFitScale",null);ve(this,"updateContainerSizeFn",null)}initialize(t,r,a,n){this.graph=t,this.containerRef=r,this.calculateFitScale=a,this.updateContainerSizeFn=n||null}applyConfigChanges(){if(!this.graph)return;const t=je.getConfig();this.updateBackground(t.background),this.updateSizeAndScale(t.size,t.zoom.scale),this.updateGrid(t.grid),this.graph.translate(t.offset.x,t.offset.y)}updateBackground(t){this.graph&&(t.image?this.graph.drawBackground({color:t.color||"#1e293b",image:t.image,size:t.size||"cover",repeat:t.repeat||"no-repeat",position:"center"}):this.graph.drawBackground({color:t.color||"#1e293b"}))}updateSizeAndScale(t,r){var n;if(!this.graph||!this.containerRef)return;const a=(n=this.containerRef.value)==null?void 0:n.containerRef;if(a){if(this.graph.resize(t.width,t.height),this.updateContainerSizeFn)this.updateContainerSizeFn();else if(a.style.width=`${t.width}px`,a.style.height=`${t.height}px`,this.calculateFitScale){const o=this.calculateFitScale(),i=r>o?r:o;this.graph.scale(i,i),this.graph.centerContent()}console.log("🔄 [Config Watcher] 更新尺寸和X6缩放",{size:t,zoomScale:r,containerTransform:a.style.transform||"none",graphScale:this.graph.scale()})}}updateGrid(t){this.graph&&(t.enabled?(this.graph.drawGrid({type:t.type||"dot",args:{color:t.color||"#475569",thickness:1}}),this.graph.showGrid(),t.size&&this.graph.setGridSize(t.size)):this.graph.hideGrid())}destroy(){this.graph=null,this.containerRef=null,this.calculateFitScale=null,this.updateContainerSizeFn=null}}const tc=new sv,lv=["title"],cv={key:1,class:"properties"},dv={key:2,class:"properties"},uv={class:"tabs"},fv={class:"tab-content"},pv={class:"tab-pane"},hv={class:"property-section"},mv={key:0,class:"empty-hint"},gv={key:1,class:"binding-table"},yv={class:"binding-table-body"},bv={class:"tab-pane"},wv={class:"property-section"},Ev={key:0,class:"empty-hint"},vv={class:"event-list"},qi=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedNode:{},selectedEdge:{},deviceData:{},isCollapsed:{type:Boolean,default:!1}},emits:["updateNode","deleteNode","updateEdge","deleteEdge","update:collapsed"],setup(u,{emit:t}){const r=u,a=t,n=()=>{a("update:collapsed",!r.isCollapsed)},o=e.ref("basic"),i=e.ref([]),l=e.ref(new Set),s=e.ref([]),c=e.ref(new Set),d=e.computed(()=>{if(!r.selectedNode)return[];const P=r.selectedNode.shape;if(!P)return[];const j=$t.getComponentByShape(P);return!j||!j.points?[]:j.points});e.watch(()=>r.selectedNode,P=>{var j,M;if((j=P==null?void 0:P.data)!=null&&j.events){const z=JSON.parse(JSON.stringify(P.data.events));z.forEach(ke=>{ke.id||(ke.id=U())}),i.value=z}else i.value=[];l.value.clear(),(M=P==null?void 0:P.data)!=null&&M.bindings?s.value=JSON.parse(JSON.stringify(P.data.bindings)):s.value=[],c.value.clear()},{immediate:!0});const h=e.ref(0),m=e.ref(0);let p=null,f={x:0,y:0},w={width:0,height:0};e.watch(()=>r.selectedNode,P=>{if(p&&(clearInterval(p),p=null),P){const j=P.getPosition(),M=P.getSize();j&&typeof j.x=="number"&&typeof j.y=="number"?f=j:(f={x:0,y:0},console.warn("节点位置数据异常:",j)),M&&typeof M.width=="number"&&typeof M.height=="number"?w=M:(w={width:0,height:0},console.warn("节点尺寸数据异常:",M)),p=setInterval(()=>{if(r.selectedNode){const z=r.selectedNode.getPosition(),ke=r.selectedNode.getSize();z&&typeof z.x=="number"&&typeof z.y=="number"&&(z.x!==f.x||z.y!==f.y)&&(f=z,h.value++),ke&&typeof ke.width=="number"&&typeof ke.height=="number"&&(ke.width!==w.width||ke.height!==w.height)&&(w=ke,m.value++)}},50)}}),e.onUnmounted(()=>{p&&clearInterval(p)});const N=e.computed(()=>{var j;return h.value,((j=r.selectedNode)==null?void 0:j.getPosition())||{x:0,y:0}}),S=e.computed(()=>{var j;return m.value,((j=r.selectedNode)==null?void 0:j.getSize())||{width:0,height:0}}),b=e.computed(()=>{var j;return((j=r.selectedNode)==null?void 0:j.getAttrs())||{}}),E=(P,j)=>{const M=Number(j.target.value),z=r.selectedNode.getPosition(),ke=P==="x"?{x:M,y:z.y}:{x:z.x,y:M};a("updateNode",{position:ke})},k=(P,j)=>{const M=Number(j.target.value),z=r.selectedNode.getSize(),ke=P==="width"?{width:M,height:z.height}:{width:z.width,height:M};a("updateNode",{size:ke})},v=P=>{const j=P.target.value;a("updateNode",{attrs:{text:{text:j},label:{text:j}}})},V=P=>{const j=P.target.value;a("updateNode",{attrs:{body:{fill:j}}})},T=P=>{const j=P.target.value;a("updateNode",{attrs:{body:{stroke:j}}})},C=P=>{const j=Number(P.target.value);a("updateNode",{attrs:{body:{strokeWidth:j}}})},A=P=>{const j=Number(P.target.value);a("updateNode",{attrs:{body:{opacity:j}}})},I=P=>{const j=P.target.value,M={...r.selectedNode.data,componentName:j};a("updateNode",{data:M})},$=(P,j)=>{if(!r.selectedNode)return;const M=P.split(".");if(M[0]==="attrs"){const z=M.slice(1).join("/");a("updateNode",{attrs:{[z]:j}})}else if(M[0]==="data"){const z=JSON.parse(JSON.stringify(r.selectedNode.data||{}));let ke=z;for(let Ce=1;Ce<M.length-1;Ce++){const Te=M[Ce];ke[Te]||(ke[Te]={}),ke=ke[Te]}ke[M[M.length-1]]=j,console.log("[PropertyPanel] 更新属性:",P,"=",j),console.log("[PropertyPanel] 节点类型:",r.selectedNode.shape),P==="data.presetId"&&r.selectedNode.shape==="echarts-vue"&&console.log("[PropertyPanel] 检测到预设切换,只更新 presetId"),a("updateNode",{data:z})}},x=P=>{if(!r.selectedNode)return;const j={...r.selectedNode.data,dataBinding:P};a("updateNode",{data:j})},U=Xl,Q=()=>{const P={id:U(),name:"",type:"click",conditionType:"always",action:"attributeChange",params:{}};i.value.push(P),de()},W=P=>{i.value.splice(P,1),de()},pe=(P,j,M)=>{const z=M.target.value;i.value[P][j]=z,de()},ne=(P,j,M)=>{const ke=M.target.value;i.value[P].condition||(i.value[P].condition={}),i.value[P].condition[j]=ke,de()},re=(P,j,M)=>{const ke=M.target.value;i.value[P].params||(i.value[P].params={}),i.value[P].params[j]=ke,de()},de=()=>{i.value.forEach(j=>{j.id||(j.id=U())});const P={...r.selectedNode.data,events:i.value};a("updateNode",{data:P})},Z=P=>{l.value.has(P)?l.value.delete(P):l.value.add(P)},se=P=>l.value.has(P),R=()=>{const P={devicePointId:"",targetProperty:"",enabled:!0};s.value.push(P),Y()},ee=P=>{s.value.splice(P,1),Y()},he=(P,j,M)=>{const ke=M.target.value;s.value[P][j]=ke,Y()},Y=()=>{const P={...r.selectedNode.data,bindings:s.value};a("updateNode",{data:P})},Se=P=>{c.value.has(P)?c.value.delete(P):c.value.add(P)},te=P=>c.value.has(P),q=e.ref(!1),le=e.ref(-1),J=e.ref([]),oe=P=>{var M;le.value=P;const j=i.value[P];(M=j.params)!=null&&M.attributeGroups&&Array.isArray(j.params.attributeGroups)?J.value=JSON.parse(JSON.stringify(j.params.attributeGroups)):J.value=[{target:"current",property:"",value:""}],q.value=!0},ie=()=>{q.value=!1},Ee=()=>{J.value.push({target:"current",property:"",value:""})},K=P=>{J.value.splice(P,1)},D=(P,j,M)=>{J.value[P][j]=M},F=()=>{for(const P of J.value)if(!P.property){alert("请为每组配置选择目标属性");return}i.value[le.value].params||(i.value[le.value].params={}),i.value[le.value].params.attributeGroups=JSON.parse(JSON.stringify(J.value)),de(),ie()},ae=e.ref(!1),ue=e.ref(""),fe=e.ref(-1),ge=P=>{var M;fe.value=P;const j=i.value[P];ue.value=((M=j.params)==null?void 0:M.code)||"",ae.value=!0},X=()=>{ae.value=!1},me=()=>{i.value[fe.value].params||(i.value[fe.value].params={}),i.value[fe.value].params.code=ue.value,de(),X()},Ne=e.ref(!1),ce=e.ref(-1),Ve=P=>{ce.value=P,Ne.value=!0},g=()=>{Ne.value=!1},y=P=>{i.value[ce.value].params||(i.value[ce.value].params={});const j=i.value[ce.value].params;j.processId=P.id,j.processName=P.name,j.processData=P.data,de(),g()},_=()=>{var j;if(!r.selectedNode)return[];const P=[];return(j=r.selectedNode.data)!=null&&j.props&&Array.isArray(r.selectedNode.data.props)&&r.selectedNode.data.props.forEach(M=>{M.bindable!==!1&&P.push({key:M.key,label:M.label,type:M.type||"text"})}),P},B=P=>{a("updateEdge",P)},L=()=>{a("deleteEdge")};return(P,j)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["property-panel",{collapsed:u.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:n,title:u.isCollapsed?"展开属性面板":"折叠属性面板"},[...j[4]||(j[4]=[e.createElementVNode("span",{class:"collapse-icon"},"▶",-1)])],8,lv),!u.selectedNode&&!u.selectedEdge?(e.openBlock(),e.createBlock(vo,{key:0})):u.selectedEdge?(e.openBlock(),e.createElementBlock("div",cv,[j[5]||(j[5]=e.createElementVNode("h3",{class:"panel-title"},"连线属性",-1)),e.createVNode(a1,{"selected-edge":u.selectedEdge,onUpdateEdge:B,onDeleteEdge:L},null,8,["selected-edge"])])):u.selectedNode?(e.openBlock(),e.createElementBlock("div",dv,[j[12]||(j[12]=e.createElementVNode("h3",{class:"panel-title"},"节点属性",-1)),e.createElementVNode("div",uv,[e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="basic"}]),onClick:j[0]||(j[0]=M=>o.value="basic")}," 基础 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="binding"}]),onClick:j[1]||(j[1]=M=>o.value="binding")}," 数据绑定 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:o.value==="event"}]),onClick:j[2]||(j[2]=M=>o.value="event")}," 事件 ",2)]),e.createElementVNode("div",fv,[e.withDirectives(e.createVNode(ko,{"selected-node":u.selectedNode,"node-position":N.value,"node-size":S.value,"node-attrs":b.value,onUpdatePosition:E,onUpdateSize:k,onUpdateLabel:v,onUpdateFill:V,onUpdateStroke:T,onUpdateStrokeWidth:C,onUpdateOpacity:A,onUpdateComponentName:I,onUpdateDynamicProp:$},null,8,["selected-node","node-position","node-size","node-attrs"]),[[e.vShow,o.value==="basic"]]),e.withDirectives(e.createElementVNode("div",pv,[e.createVNode(Ib,{"selected-node":u.selectedNode,onUpdateDataSource:x},null,8,["selected-node"]),j[9]||(j[9]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",hv,[e.createElementVNode("div",{class:"section-header"},[j[6]||(j[6]=e.createElementVNode("h4",null,"点位映射",-1)),e.createElementVNode("button",{class:"btn-add",onClick:R},"+ 添加映射")]),s.value.length===0?(e.openBlock(),e.createElementBlock("div",mv,[...j[7]||(j[7]=[e.createElementVNode("span",null,"暂无点位映射,请先选择设备后点击上方按钮添加",-1)])])):(e.openBlock(),e.createElementBlock("div",gv,[j[8]||(j[8]=e.createStaticVNode('<div class="binding-table-header" data-v-d49d2451><div class="binding-col-point" data-v-d49d2451>组件点位</div><div class="binding-col-property" data-v-d49d2451>目标属性</div><div class="binding-col-mapping" data-v-d49d2451>值映射</div><div class="binding-col-actions" data-v-d49d2451>操作</div></div>',1)),e.createElementVNode("div",yv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(M,z)=>(e.openBlock(),e.createBlock(Mi,{key:z,binding:M,index:z,"is-collapsed":te(z),"node-properties":_(),"component-points":d.value,onToggleCollapse:ke=>Se(z),onRemove:ke=>ee(z),onUpdateField:(ke,Ce)=>he(z,ke,Ce)},null,8,["binding","index","is-collapsed","node-properties","component-points","onToggleCollapse","onRemove","onUpdateField"]))),128))])]))])],512),[[e.vShow,o.value==="binding"]]),e.withDirectives(e.createElementVNode("div",bv,[e.createElementVNode("div",wv,[e.createElementVNode("div",{class:"section-header"},[j[10]||(j[10]=e.createElementVNode("h4",null,"节点事件",-1)),e.createElementVNode("button",{class:"btn-add",onClick:Q},"+ 添加事件")]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Ev,[...j[11]||(j[11]=[e.createElementVNode("span",null,"暂无事件,点击上方按钮添加",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",vv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(M,z)=>(e.openBlock(),e.createBlock(Oi,{key:z,event:M,index:z,"is-collapsed":se(z),"node-properties":_(),onToggleCollapse:ke=>Z(z),onRemove:ke=>W(z),onUpdateField:(ke,Ce)=>pe(z,ke,Ce),onUpdateCondition:(ke,Ce)=>ne(z,ke,Ce),onUpdateParams:(ke,Ce)=>re(z,ke,Ce),onOpenAttributeConfig:ke=>oe(z),onOpenCustomCode:ke=>ge(z),onOpenWorkflowSelector:ke=>Ve(z)},null,8,["event","index","is-collapsed","node-properties","onToggleCollapse","onRemove","onUpdateField","onUpdateCondition","onUpdateParams","onOpenAttributeConfig","onOpenCustomCode","onOpenWorkflowSelector"]))),128))])])],512),[[e.vShow,o.value==="event"]])])])):e.createCommentVNode("",!0)],2),q.value?(e.openBlock(),e.createBlock(Ri,{key:0,"attribute-groups":J.value,"node-properties":_(),onClose:ie,onSave:F,onAddGroup:Ee,onRemoveGroup:K,onUpdateGroup:D},null,8,["attribute-groups","node-properties"])):e.createCommentVNode("",!0),ae.value?(e.openBlock(),e.createBlock(ji,{key:1,code:ue.value,"onUpdate:code":j[3]||(j[3]=M=>ue.value=M),"selected-node":u.selectedNode,onClose:X,onSave:me},null,8,["code","selected-node"])):e.createCommentVNode("",!0),Ne.value?(e.openBlock(),e.createBlock(UE,{key:2,onClose:g,onSelect:y})):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-d49d2451"]]);function Gi(u){const t=u.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4?"=".repeat(4-t.length%4):"",a=t+r,n=(typeof atob<"u"?atob:i=>Buffer.from(i,"base64").toString("binary"))(a),o=new Uint8Array(n.length);for(let i=0;i<n.length;i++)o[i]=n.charCodeAt(i);return o}function rc(u){const t=new ArrayBuffer(u.byteLength);return new Uint8Array(t).set(u),t}function kv(u){const t=u.replace("-----BEGIN PUBLIC KEY-----","").replace("-----END PUBLIC KEY-----","").replace(/\s+/g,""),r=(typeof atob<"u"?atob:n=>Buffer.from(n,"base64").toString("binary"))(t),a=new Uint8Array(r.length);for(let n=0;n<r.length;n++)a[n]=r.charCodeAt(n);return a.buffer}async function _v(u){const t=kv(u);return await crypto.subtle.importKey("spki",t,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])}async function Nv(u,t){try{const[r,a]=u.split(".");if(!r||!a)return!1;const n=await _v(t),o=Gi(r),i=Gi(a),l=rc(o),s=rc(i);return await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},n,s,l)}catch{return!1}}async function Sv(u,t){const r=await Nv(u,t);if(!r)return null;const a=u.split(".")[0],n=Gi(a),o=new TextDecoder().decode(n),i=JSON.parse(o),l=i.expiryDate?new Date().getTime()<=new Date(i.expiryDate).getTime():!0;return{company:i.company||"未知",expiryDate:i.expiryDate,isValid:!!(r&&l)}}const xv={key:0,class:"scada-footer"},Vv={key:1,class:"scada-footer"},Cv={class:"footer-content"},Iv={class:"footer-left"},Av={class:"copyright",style:{color:"#94a3b8 !important"}},Tv={key:0,class:"divider",style:{color:"#475569 !important"}},$v={key:1,class:"license",style:{color:"#94a3b8 !important"}},Bv={key:0,class:"footer-right"},Dv={class:"text",style:{color:"#94a3b8 !important"}},Pv={key:2,class:"scada-footer"},Ov={class:"footer-content"},Mv={class:"footer-left"},Rv={class:"authorized-text",style:{color:"#10b981 !important"}},jv={class:"footer-right"},Lv={key:0,class:"expiry-text",style:{color:"#94a3b8 !important"}},Uv={key:1,class:"expiry-text",style:{color:"#94a3b8 !important"}},Fv=Me(e.defineComponent({__name:"Footer",props:{authCode:{default:""},publicKeyPem:{default:void 0},customFooter:{default:void 0}},setup(u){const t=u,r=e.ref(null),a=e.ref(!1);e.watch(()=>[t.authCode,t.publicKeyPem],async()=>{if(!t.authCode||!t.publicKeyPem){a.value=!1,r.value=null;return}const o=await Sv(t.authCode,t.publicKeyPem);a.value=!!(o!=null&&o.isValid),r.value=o||null},{immediate:!0});const n=e.computed(()=>a.value);return(o,i)=>{var l,s;return n.value?u.customFooter?(e.openBlock(),e.createElementBlock("footer",Vv,[e.createElementVNode("div",Cv,[e.createElementVNode("div",Iv,[e.createElementVNode("span",Av,e.toDisplayString(u.customFooter.copyright),1),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",Tv,"|")):e.createCommentVNode("",!0),u.customFooter.license?(e.openBlock(),e.createElementBlock("span",$v,e.toDisplayString(u.customFooter.license),1)):e.createCommentVNode("",!0)]),u.customFooter.contact?(e.openBlock(),e.createElementBlock("div",Bv,[e.createElementVNode("span",Dv,e.toDisplayString(u.customFooter.contact),1)])):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("footer",Pv,[e.createElementVNode("div",Ov,[e.createElementVNode("div",Mv,[i[1]||(i[1]=e.createElementVNode("span",{class:"authorized-icon"},"✅",-1)),e.createElementVNode("span",Rv,"已授权: "+e.toDisplayString(((l=r.value)==null?void 0:l.company)||"未知"),1)]),e.createElementVNode("div",jv,[(s=r.value)!=null&&s.expiryDate?(e.openBlock(),e.createElementBlock("span",Lv," 📅 有效期至: "+e.toDisplayString(r.value.expiryDate),1)):(e.openBlock(),e.createElementBlock("span",Uv," ∞ 永久授权 "))])])])):(e.openBlock(),e.createElementBlock("footer",xv,[...i[0]||(i[0]=[e.createStaticVNode('<div class="footer-content" data-v-7fd5ce26><div class="footer-left" data-v-7fd5ce26><span class="copyright" style="color:#94a3b8 !important;" data-v-7fd5ce26>© 2025 leoncheng</span><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><span class="license" style="color:#94a3b8 !important;" data-v-7fd5ce26>仅供学习研究使用,禁止商业用途</span></div><div class="footer-right" data-v-7fd5ce26><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📧</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>nywqs@outlook.com</span></div><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📱</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>18637762001</span></div></div></div>',1)])]))}}}),[["__scopeId","data-v-7fd5ce26"]]);var Ut=(u=>(u.START="start",u.END="end",u.GET_PROPERTY="getProperty",u.SET_PROPERTY="setProperty",u.CONDITION="condition",u.HTTP_REQUEST="httpRequest",u.CUSTOM_CODE="customCode",u.TIMER="timer",u.CLEAR_TIMER="clearTimer",u))(Ut||{});const zv={class:"dialog-body"},Wv={class:"search-box"},qv={class:"element-list"},Gv=["onClick"],Hv={class:"element-icon"},Kv={class:"element-info"},Yv={class:"element-name"},Qv={class:"element-type"},Jv={key:0,class:"element-check"},Xv={key:0,class:"empty-state"},Zv={class:"dialog-footer"},ek=["disabled"],oc=Me(e.defineComponent({__name:"ElementSelector",props:{visible:{type:Boolean},elements:{default:()=>[]}},emits:["close","select"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(""),o=e.ref(null),i=e.computed(()=>{if(!n.value)return r.elements;const d=n.value.toLowerCase();return r.elements.filter(h=>h.name.toLowerCase().includes(d)||h.id.toLowerCase().includes(d)||h.type.toLowerCase().includes(d))}),l=d=>{o.value=d},s=()=>{n.value="",o.value=null,a("close")},c=()=>{o.value&&(a("select",o.value),s())};return(d,h)=>u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"element-selector-overlay",onClick:s},[e.createElementVNode("div",{class:"element-selector-dialog",onClick:h[1]||(h[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"dialog-header"},[h[2]||(h[2]=e.createElementVNode("h3",null,"选择图元",-1)),e.createElementVNode("button",{class:"btn-close",onClick:s},"×")]),e.createElementVNode("div",zv,[e.createElementVNode("div",Wv,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=m=>n.value=m),type:"text",placeholder:"搜索图元名称或ID..."},null,512),[[e.vModelText,n.value]])]),e.createElementVNode("div",qv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>{var p,f;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["element-item",{active:((p=o.value)==null?void 0:p.id)===m.id}]),onClick:w=>l(m)},[e.createElementVNode("div",Hv,e.toDisplayString(m.icon),1),e.createElementVNode("div",Kv,[e.createElementVNode("div",Yv,e.toDisplayString(m.name),1),e.createElementVNode("div",Qv,e.toDisplayString(m.type),1)]),((f=o.value)==null?void 0:f.id)===m.id?(e.openBlock(),e.createElementBlock("div",Jv," ✓ ")):e.createCommentVNode("",!0)],10,Gv)}),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("div",Xv,[...h[3]||(h[3]=[e.createElementVNode("p",null,"未找到图元",-1),e.createElementVNode("p",{class:"empty-hint"},"请尝试其他搜索关键词",-1)])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Zv,[e.createElementVNode("button",{class:"btn-secondary",onClick:s},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!o.value,onClick:c}," 确定 ",8,ek)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-882704dd"]]),tk={class:"node-config"},rk={class:"config-group"},ok={class:"element-selector"},nk={class:"config-group"},ik=["disabled"],ak=["value"],sk=Me(e.defineComponent({__name:"GetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||""}),o=e.ref(""),i=e.ref(!1),l=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const p=l.value.find(f=>f.id===n.elementId);return(p==null?void 0:p.properties)||[]}),d=()=>{a("update:modelValue",{...n})},h=()=>{s&&(l.value=s.getElements()),i.value=!0},m=p=>{n.elementId=p.id,o.value=p.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(l.value=s.getElements()),n.elementId){const p=l.value.find(f=>f.id===n.elementId);p&&(o.value=p.name)}}),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",tk,[e.createElementVNode("div",rk,[f[3]||(f[3]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",ok,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",nk,[f[5]||(f[5]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[4]||(f[4]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,ak))),128))],40,ik),[[e.vModelSelect,n.propertyName]])])]),e.createVNode(oc,{visible:i.value,elements:l.value,onClose:f[2]||(f[2]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-fa65eb56"]]),lk={class:"node-config"},ck={class:"config-group"},dk={class:"element-selector"},uk={class:"config-group"},fk=["disabled"],pk=["value"],hk={class:"config-group"},mk=Me(e.defineComponent({__name:"SetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||"",value:r.modelValue.value||""}),o=e.ref(""),i=e.ref(!1),l=e.ref([]),s=e.inject("canvasElementService"),c=e.computed(()=>{if(!n.elementId)return[];const p=l.value.find(f=>f.id===n.elementId);return(p==null?void 0:p.properties)||[]}),d=()=>{a("update:modelValue",{...n})},h=()=>{s&&(l.value=s.getElements()),i.value=!0},m=p=>{n.elementId=p.id,o.value=p.name,n.propertyName="",d()};return e.onMounted(()=>{if(s&&(l.value=s.getElements()),n.elementId){const p=l.value.find(f=>f.id===n.elementId);p&&(o.value=p.name)}}),(p,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",lk,[e.createElementVNode("div",ck,[f[4]||(f[4]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",dk,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>o.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,o.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",uk,[f[6]||(f[6]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.propertyName=w),onChange:d,disabled:!n.elementId},[f[5]||(f[5]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,pk))),128))],40,fk),[[e.vModelSelect,n.propertyName]])]),e.createElementVNode("div",hk,[f[7]||(f[7]=e.createElementVNode("label",null,"属性值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[2]||(f[2]=w=>n.value=w),type:"text",placeholder:"请输入属性值",onInput:d},null,544),[[e.vModelText,n.value]])])]),e.createVNode(oc,{visible:i.value,elements:l.value,onClose:f[3]||(f[3]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-42e029d4"]]),gk={class:"node-config"},yk={class:"config-group"},bk={class:"config-group"},wk={class:"branches-section"},Ek={class:"branch-list"},vk={class:"branch-header"},kk={class:"branch-number"},_k=["onClick"],Nk={key:0,class:"branch-config"},Sk={class:"config-row"},xk=["onUpdate:modelValue"],Vk={key:0,class:"config-row"},Ck=["onUpdate:modelValue"],Ik={key:1,class:"config-row"},Ak=["onUpdate:modelValue","type"],Tk={key:1,class:"default-branch-label"},$k=Me(e.defineComponent({__name:"ConditionConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,o=()=>r.modelValue.branches&&r.modelValue.branches.length>0?r.modelValue.branches:(r.modelValue.dataType||"boolean")==="boolean"?[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],i=e.reactive({sourceNodeId:r.modelValue.sourceNodeId||"prev",dataType:r.modelValue.dataType||"boolean",branches:o()}),l=()=>{a("update:modelValue",{...i})},s=()=>{i.dataType==="boolean"?i.branches=[{id:n(),label:"True",value:!0},{id:n(),label:"False",value:!1,isDefault:!0}]:i.branches=[{id:n(),label:"分支1",operator:"eq",value:""},{id:n(),label:"默认",isDefault:!0}],l()},c=()=>{const h={id:n(),label:`分支${i.branches.length}`,operator:"eq",value:""},m=i.branches.findIndex(p=>p.isDefault);m>-1?i.branches.splice(m,0,h):i.branches.push(h),l()},d=h=>{i.branches.length>2&&(i.branches.splice(h,1),l())};return(h,m)=>(e.openBlock(),e.createElementBlock("div",gk,[e.createElementVNode("div",yk,[m[3]||(m[3]=e.createElementVNode("label",null,"数据来源节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[0]||(m[0]=p=>i.sourceNodeId=p),onChange:l},[...m[2]||(m[2]=[e.createElementVNode("option",{value:""},"请选择数据来源节点",-1),e.createElementVNode("option",{value:"prev"},"上一个节点",-1)])],544),[[e.vModelSelect,i.sourceNodeId]])]),e.createElementVNode("div",bk,[m[5]||(m[5]=e.createElementVNode("label",null,"数据类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[1]||(m[1]=p=>i.dataType=p),onChange:s},[...m[4]||(m[4]=[e.createElementVNode("option",{value:"boolean"},"布尔类型",-1),e.createElementVNode("option",{value:"number"},"数字类型",-1),e.createElementVNode("option",{value:"string"},"字符串类型",-1),e.createElementVNode("option",{value:"any"},"自定义",-1)])],544),[[e.vModelSelect,i.dataType]])]),e.createElementVNode("div",wk,[e.createElementVNode("div",{class:"section-header"},[m[6]||(m[6]=e.createElementVNode("label",null,"条件分支",-1)),e.createElementVNode("button",{class:"btn-add",onClick:c},"添加分支")]),e.createElementVNode("div",Ek,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.branches,(p,f)=>(e.openBlock(),e.createElementBlock("div",{key:p.id,class:"branch-item"},[e.createElementVNode("div",vk,[e.createElementVNode("span",kk,"分支 "+e.toDisplayString(f+1),1),!p.isDefault&&i.branches&&i.branches.length>1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-remove",onClick:w=>d(f)},"×",8,_k)):e.createCommentVNode("",!0)]),p.isDefault?(e.openBlock(),e.createElementBlock("div",Tk," 默认分支(其他情况) ")):(e.openBlock(),e.createElementBlock("div",Nk,[e.createElementVNode("div",Sk,[m[7]||(m[7]=e.createElementVNode("label",null,"分支标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>p.label=w,type:"text",placeholder:"如: >10, =A, True",onInput:l},null,40,xk),[[e.vModelText,p.label]])]),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Vk,[m[9]||(m[9]=e.createElementVNode("label",null,"运算符",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":w=>p.operator=w,onChange:l},[...m[8]||(m[8]=[e.createStaticVNode('<option value="eq" data-v-15975920>等于 (==)</option><option value="ne" data-v-15975920>不等于 (!=)</option><option value="gt" data-v-15975920>大于 (&gt;)</option><option value="gte" data-v-15975920>大于等于 (&gt;=)</option><option value="lt" data-v-15975920>小于 (&lt;)</option><option value="lte" data-v-15975920>小于等于 (&lt;=)</option><option value="contains" data-v-15975920>包含</option><option value="notContains" data-v-15975920>不包含</option>',8)])],40,Ck),[[e.vModelSelect,p.operator]])])):e.createCommentVNode("",!0),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Ik,[m[10]||(m[10]=e.createElementVNode("label",null,"比较值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>p.value=w,type:i.dataType==="number"?"number":"text",placeholder:"请输入比较值",onInput:l},null,40,Ak),[[e.vModelDynamic,p.value]])])):e.createCommentVNode("",!0)]))]))),128))])])]))}}),[["__scopeId","data-v-15975920"]]),Bk={class:"node-config"},Dk={class:"config-group"},Pk={class:"config-group"},Ok={class:"config-group"},Mk={class:"config-group"},Rk={class:"config-group"},jk=Me(e.defineComponent({__name:"HttpRequestConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({url:r.modelValue.url||"",method:r.modelValue.method||"GET",headers:r.modelValue.headers||{},body:r.modelValue.body||"",outputVariable:r.modelValue.outputVariable||""}),o=e.ref(JSON.stringify(n.headers,null,2)),i=()=>{a("update:modelValue",{...n})},l=()=>{try{n.headers=JSON.parse(o.value),i()}catch{}};return e.watch(()=>r.modelValue.headers,s=>{s&&(o.value=JSON.stringify(s,null,2))}),(s,c)=>(e.openBlock(),e.createElementBlock("div",Bk,[e.createElementVNode("div",Dk,[c[5]||(c[5]=e.createElementVNode("label",null,"请求URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=d=>n.url=d),type:"text",placeholder:"请输入请求URL",onInput:i},null,544),[[e.vModelText,n.url]])]),e.createElementVNode("div",Pk,[c[7]||(c[7]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":c[1]||(c[1]=d=>n.method=d),onChange:i},[...c[6]||(c[6]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1),e.createElementVNode("option",{value:"PUT"},"PUT",-1),e.createElementVNode("option",{value:"DELETE"},"DELETE",-1)])],544),[[e.vModelSelect,n.method]])]),e.createElementVNode("div",Ok,[c[8]||(c[8]=e.createElementVNode("label",null,"请求头 (JSON格式)",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[2]||(c[2]=d=>o.value=d),rows:"3",placeholder:'{"Content-Type": "application/json"}',onInput:l},null,544),[[e.vModelText,o.value]])]),e.createElementVNode("div",Mk,[c[9]||(c[9]=e.createElementVNode("label",null,"请求体",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[3]||(c[3]=d=>n.body=d),rows:"4",placeholder:"请输入请求体内容",onInput:i},null,544),[[e.vModelText,n.body]])]),e.createElementVNode("div",Rk,[c[10]||(c[10]=e.createElementVNode("label",null,"输出变量",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[4]||(c[4]=d=>n.outputVariable=d),type:"text",placeholder:"请输入输出变量名",onInput:i},null,544),[[e.vModelText,n.outputVariable]])])]))}}),[["__scopeId","data-v-4c312eea"]]),Lk={class:"node-config"},Uk={class:"config-group"},Fk=Me(e.defineComponent({__name:"CustomCodeConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({code:r.modelValue.code||""}),o=()=>{a("update:modelValue",{...n})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",Lk,[e.createElementVNode("div",Uk,[l[1]||(l[1]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":l[0]||(l[0]=s=>n.code=s),rows:"10",placeholder:"请输入JavaScript代码",onInput:o},null,544),[[e.vModelText,n.code]])]),l[2]||(l[2]=e.createElementVNode("div",{class:"code-hint"},[e.createElementVNode("p",null,"提示:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"可以使用 context 对象访问上下文变量"),e.createElementVNode("li",null,"使用 return 返回结果")])],-1))]))}}),[["__scopeId","data-v-f7115383"]]),zk={class:"node-config"},Wk={class:"config-group"},qk={class:"config-group"},Gk=Me(e.defineComponent({__name:"TimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({interval:r.modelValue.interval||1e3,unit:r.modelValue.unit||"ms"}),o=()=>{a("update:modelValue",{...n})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",zk,[e.createElementVNode("div",Wk,[l[2]||(l[2]=e.createElementVNode("label",null,"时间间隔",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=s=>n.interval=s),type:"number",min:"1",placeholder:"请输入时间间隔",onInput:o},null,544),[[e.vModelText,n.interval,void 0,{number:!0}]])]),e.createElementVNode("div",qk,[l[4]||(l[4]=e.createElementVNode("label",null,"时间单位",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":l[1]||(l[1]=s=>n.unit=s),onChange:o},[...l[3]||(l[3]=[e.createElementVNode("option",{value:"ms"},"毫秒 (ms)",-1),e.createElementVNode("option",{value:"s"},"秒 (s)",-1),e.createElementVNode("option",{value:"m"},"分钟 (m)",-1),e.createElementVNode("option",{value:"h"},"小时 (h)",-1)])],544),[[e.vModelSelect,n.unit]])])]))}}),[["__scopeId","data-v-323381bc"]]),Hk={class:"node-config"},Kk={class:"config-group"},Yk=["value"],Qk={key:0,class:"timer-hint warning"},Jk={key:1,class:"timer-hint"},Xk=Me(e.defineComponent({__name:"ClearTimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(u,{emit:t}){const r=u,a=t,n=e.reactive({timerId:r.modelValue.timerId||""}),o=e.ref([]),i=e.inject("getGraph"),l=()=>{if(!i)return[];const c=i();if(!c)return[];const d=c.getNodes(),h=[];return d.forEach(m=>{const p=m.getData();if((p==null?void 0:p.nodeType)==="timer"){const f=m.getAttrByPath("label/text")||"定时器";h.push({id:m.id,label:f})}}),h};e.onMounted(()=>{o.value=l()}),e.watch(()=>r.modelValue,()=>{o.value=l()},{deep:!0});const s=()=>{a("update:modelValue",{...n})};return(c,d)=>(e.openBlock(),e.createElementBlock("div",Hk,[e.createElementVNode("div",Kk,[d[2]||(d[2]=e.createElementVNode("label",null,"选择定时器节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":d[0]||(d[0]=h=>n.timerId=h),onChange:s},[d[1]||(d[1]=e.createElementVNode("option",{value:""},"请选择要清除的定时器",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,h=>(e.openBlock(),e.createElementBlock("option",{key:h.id,value:h.id},e.toDisplayString(h.label),9,Yk))),128))],544),[[e.vModelSelect,n.timerId]])]),o.value.length===0?(e.openBlock(),e.createElementBlock("div",Qk,[...d[3]||(d[3]=[e.createElementVNode("p",null,"提示:当前流程中没有定时器节点",-1)])])):(e.openBlock(),e.createElementBlock("div",Jk,[...d[4]||(d[4]=[e.createElementVNode("p",null,"提示:选择要清除的定时器节点",-1)])]))]))}}),[["__scopeId","data-v-d102fb63"]]),Zk={[Ut.GET_PROPERTY]:sk,[Ut.SET_PROPERTY]:mk,[Ut.CONDITION]:$k,[Ut.HTTP_REQUEST]:jk,[Ut.CUSTOM_CODE]:Fk,[Ut.TIMER]:Gk,[Ut.CLEAR_TIMER]:Xk};function e2(u){return Zk[u]||null}const t2={class:"property-panel"},r2={key:0,class:"property-content"},o2={class:"property-group"},n2=["value"],i2={class:"property-group"},a2=["value"],s2={key:0,class:"divider"},l2={key:1,class:"property-empty"},c2=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedCell:{}},emits:["update:label","update:config"],setup(u,{emit:t}){const r=u,a=t,n=()=>{var d,h,m;return((m=(h=(d=r.selectedCell)==null?void 0:d.cell)==null?void 0:h.model)==null?void 0:m.graph)||null};e.provide("getGraph",n);const o=e.ref({}),i=e.computed(()=>r.selectedCell?e2(r.selectedCell.nodeType):null);e.watch(()=>r.selectedCell,d=>{if(d!=null&&d.cell){const h=d.cell.getData();o.value=(h==null?void 0:h.config)||{}}else o.value={}},{immediate:!0});const l=d=>{const h=d.target;a("update:label",h.value)},s=d=>{var h;if(o.value=d,(h=r.selectedCell)!=null&&h.cell){const m=r.selectedCell.cell.getData()||{};r.selectedCell.cell.setData({...m,config:d}),r.selectedCell.nodeType==="condition"&&d.branches&&c(d.branches)}a("update:config",d)},c=d=>{var A,I;if(!((A=r.selectedCell)!=null&&A.cell))return;const h=r.selectedCell.cell,m=(I=h.model)==null?void 0:I.graph;if(!m)return;const p=[];m.getConnectedEdges(h,{outgoing:!0}).forEach($=>{const x=$.getSourcePortId(),U=$.getTargetCell(),Q=$.getTargetPortId();x&&U&&p.push({sourcePortId:x,targetCell:U,targetPortId:Q})});const w=p.length>0?p[0].targetCell:null,N=p.length>0?p[0].targetPortId:"port-in";h.getPorts().forEach($=>{$.group==="out"&&h.removePort($.id)});const b=30,E=60,k=Math.max(d.length,1),v=Math.max(E,k*b),V=h.size(),T=h.position(),C=v-V.height;C!==0&&h.position(T.x,T.y-C/2),h.resize(V.width,v),d.forEach(($,x)=>{h.addPort({id:`port-out-${x}`,group:"out",attrs:{circle:{r:5,magnet:!0,stroke:"#34d399",strokeWidth:2,fill:"#1e293b"},portLabel:{text:$.label||`分支${x+1}`,fontSize:10,fill:"#94a3b8"}}})}),setTimeout(()=>{w&&d.forEach(($,x)=>{m.addEdge({source:{cell:h,port:`port-out-${x}`},target:{cell:w,port:N},labels:[{attrs:{label:{text:$.label||`分支${x+1}`,fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#34d399",strokeWidth:1,rx:4,ry:4}},position:.5}]})})},100)};return(d,h)=>(e.openBlock(),e.createElementBlock("div",t2,[h[4]||(h[4]=e.createElementVNode("h3",null,"属性配置",-1)),u.selectedCell?(e.openBlock(),e.createElementBlock("div",r2,[e.createElementVNode("div",o2,[h[1]||(h[1]=e.createElementVNode("label",null,"节点名称",-1)),e.createElementVNode("input",{value:u.selectedCell.label,type:"text",placeholder:"输入节点名称",onInput:l},null,40,n2)]),e.createElementVNode("div",i2,[h[2]||(h[2]=e.createElementVNode("label",null,"节点类型",-1)),e.createElementVNode("input",{value:u.selectedCell.nodeType,type:"text",readonly:"",disabled:""},null,8,a2)]),i.value?(e.openBlock(),e.createElementBlock("div",s2)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,modelValue:o.value,"onUpdate:modelValue":[h[0]||(h[0]=m=>o.value=m),s]},null,8,["modelValue"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",l2,[...h[3]||(h[3]=[e.createElementVNode("div",{class:"empty-text"},"选择节点以配置属性",-1)])]))]))}}),[["__scopeId","data-v-8304acbc"]]),d2={class:"toolbar"},u2={class:"toolbar-right"},f2=Me(e.defineComponent({__name:"WorkflowToolbar",props:{showClose:{type:Boolean}},emits:["clear","validate","save","close"],setup(u){return(t,r)=>(e.openBlock(),e.createElementBlock("div",d2,[r[5]||(r[5]=e.createElementVNode("div",{class:"toolbar-left"},[e.createElementVNode("h2",null,"流程编排")],-1)),e.createElementVNode("div",u2,[e.createElementVNode("button",{class:"btn-secondary",onClick:r[0]||(r[0]=a=>t.$emit("clear"))},"清空"),e.createElementVNode("button",{class:"btn-secondary",onClick:r[1]||(r[1]=a=>t.$emit("validate"))},"验证"),e.createElementVNode("button",{class:"btn-primary",onClick:r[2]||(r[2]=a=>t.$emit("save"))},"保存"),u.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:r[3]||(r[3]=a=>t.$emit("close")),title:"关闭"},[...r[4]||(r[4]=[e.createElementVNode("span",{class:"close-icon"},"×",-1)])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-b3e0a4fc"]]),p2={class:"menu-header"},h2={class:"menu-list"},m2=["onClick"],g2={class:"menu-item-info"},y2={class:"menu-item-name"},b2={class:"menu-item-desc"},w2=Me(e.defineComponent({__name:"AddNodeMenu",props:{visible:{type:Boolean},position:{},nodeTypes:{}},emits:["close","select"],setup(u,{emit:t}){const r=u,a=t,n=e.computed(()=>r.nodeTypes.filter(i=>i.type!=="start"&&i.type!=="end")),o=i=>{a("select",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",null,[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-overlay",onClick:l[0]||(l[0]=s=>i.$emit("close"))})):e.createCommentVNode("",!0),u.visible?(e.openBlock(),e.createElementBlock("div",{key:1,class:"add-node-menu",style:e.normalizeStyle({left:u.position.x+"px",top:u.position.y+"px"})},[e.createElementVNode("div",p2,[l[2]||(l[2]=e.createElementVNode("span",null,"选择节点类型",-1)),e.createElementVNode("button",{class:"btn-close",onClick:l[1]||(l[1]=s=>i.$emit("close"))},"×")]),e.createElementVNode("div",h2,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.type,class:"menu-item",onClick:c=>o(s)},[e.createElementVNode("div",{class:e.normalizeClass(["menu-item-icon",`node-icon-${s.type}`])},e.toDisplayString(s.icon),3),e.createElementVNode("div",g2,[e.createElementVNode("div",y2,e.toDisplayString(s.name),1),e.createElementVNode("div",b2,e.toDisplayString(s.description),1)])],8,m2))),128))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-aa6fccf8"]]);class E2{constructor(){ve(this,"graph",null)}setGraph(t){this.graph=t}getElements(){return this.graph?this.graph.getNodes().map(r=>{const a=r.getData()||{},n=a.type||r.shape,o=$t.getComponent(n),i=this.getElementProperties(r,o);return{id:r.id,name:a.componentName||r.getAttrByPath("label/text")||`图元_${r.id.slice(0,8)}`,type:(o==null?void 0:o.metadata.name)||n,icon:(o==null?void 0:o.metadata.icon)||"📦",properties:i}}):(console.warn("画布实例未初始化"),[])}getElementProperties(t,r){const a=[],n=new Set;return r!=null&&r.props&&r.props.forEach(o=>{const i=o.path.split("."),l=i[i.length-1];l&&!n.has(l)&&(a.push({key:l,label:o.label||l}),n.add(l))}),a}getElementById(t){return this.getElements().find(a=>a.id===t)||null}searchElements(t){const r=this.getElements(),a=t.toLowerCase();return r.filter(n=>n.name.toLowerCase().includes(a)||n.id.toLowerCase().includes(a)||n.type.toLowerCase().includes(a))}}const nc=new E2,v2={class:"workflow-editor"},k2={class:"editor-main"},_2={class:"canvas-area"},N2=Me(e.defineComponent({__name:"WorkflowEditor",props:{scadaGraph:{default:null},showClose:{type:Boolean,default:!1}},emits:["close"],setup(u){const t=u,r=e.ref([{type:"start",name:"开始",icon:"▶",description:"流程起点",color:"#52c41a"},{type:"end",name:"结束",icon:"⏹",description:"流程终点",color:"#ff4d4f"},{type:"getProperty",name:"获取图元属性",icon:"📥",description:"获取图元的属性值",color:"#1890ff"},{type:"setProperty",name:"设置图元属性",icon:"📤",description:"设置图元的属性值",color:"#13c2c2"},{type:"condition",name:"条件节点",icon:"◆",description:"条件分支判断",color:"#faad14"},{type:"httpRequest",name:"http请求",icon:"🌐",description:"HTTP网络请求",color:"#722ed1"},{type:"customCode",name:"自定义代码",icon:"💻",description:"执行自定义JavaScript代码",color:"#eb2f96"},{type:"timer",name:"定时器节点",icon:"⏰",description:"设置定时执行",color:"#52c41a"},{type:"clearTimer",name:"清除定时器",icon:"🗑",description:"清除定时器",color:"#ff4d4f"}]),a=e.ref();let n=null;t.scadaGraph&&nc.setGraph(t.scadaGraph),e.provide("canvasElementService",nc);const o=e.ref(null),i=e.ref(!1),l=e.ref({x:0,y:0});let s=null;const c=()=>{r.value.forEach(E=>{const k={inherit:"rect",width:150,height:60,markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"icon"},{tagName:"text",selector:"label"}],attrs:{body:{strokeWidth:1,stroke:E.color,fill:"#ffffff",rx:6,ry:6},icon:{text:E.icon,fontSize:24,fill:E.color,refX:20,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"},label:{text:E.name,fontSize:14,fill:"#333333",refX:75,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"}},ports:{groups:{in:{position:"left",attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"}}},out:{position:{name:"right"},attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"},portLabel:{fontSize:10,fill:"#94a3b8"}},markup:[{tagName:"circle",selector:"circle"},{tagName:"text",selector:"portLabel"}],label:{position:{name:"right",args:{x:10,y:0}}}}},items:[]},data:{nodeType:E.type}};E.type==="start"?k.ports.items=[{id:"port-out",group:"out"}]:E.type==="end"?k.ports.items=[{id:"port-in",group:"in"}]:E.type==="condition"?k.ports.items=[{id:"port-in",group:"in"},{id:"port-out-0",group:"out",args:{text:"True"}},{id:"port-out-1",group:"out",args:{text:"False"}}]:k.ports.items=[{id:"port-in",group:"in"},{id:"port-out",group:"out"}],Le.Graph.registerNode(E.type,k,!0)})},d=()=>{if(!a.value)return;c(),n=new Le.Graph({container:a.value,width:a.value.clientWidth,height:a.value.clientHeight,grid:{size:10,visible:!0,type:"dot",args:{color:"#333",thickness:1}},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:"manhattan",connector:{name:"rounded",args:{radius:8}},anchor:"center",connectionPoint:"anchor",snap:{radius:20},allowBlank:!1,allowLoop:!1,allowNode:!1,createEdge(){return new Le.Shape.Edge({attrs:{line:{stroke:"#64748b",strokeWidth:3,targetMarker:{name:"block",width:12,height:8,fill:"#64748b"}}},zIndex:0})},validateConnection({targetMagnet:k}){return!!k}},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#34d399",stroke:"#34d399"}}}}}),n.use(new Gt.Selection({enabled:!0,rubberband:!1,showNodeSelectionBox:!0,showEdgeSelectionBox:!0,multiple:!0,movable:!0,strict:!1}));const E=k=>{var v;if(console.log("键盘事件触发:",k.key,"selectedCell存在:",!!o.value),k.key==="Delete"||k.key==="Backspace"){if(!n){console.log("graph不存在,无法删除");return}if((v=o.value)!=null&&v.cell){k.preventDefault();const T=o.value.cell;console.log("删除选中的节点:",o.value.label);const C=n.getIncomingEdges(T),A=n.getOutgoingEdges(T);C&&C.length>0&&A&&A.length>0&&C.forEach(I=>{const $=I.getSourceCell(),x=I.getSourcePortId();A.forEach(U=>{const Q=U.getTargetCell(),W=U.getTargetPortId();$&&Q&&n&&(n.addEdge({source:{cell:$,port:x},target:{cell:Q,port:W}}),console.log("已连接前后节点"))})}),n.removeCells([T]),o.value=null,console.log("已删除节点");return}const V=n.getSelectedCells();console.log("选中的cells数量:",V.length,V),V.length?(k.preventDefault(),n.removeCells(V),console.log("已删除cells")):console.log("没有选中的cells")}};document.addEventListener("keydown",E),n.on("node:click",({node:k})=>{var T;const v=k.getAttrByPath("label/text")||"",V=((T=k.getData())==null?void 0:T.nodeType)||k.shape||"";o.value={label:v,nodeType:V,cell:k},console.log("节点已点击,保存到selectedCell:",v)}),n.on("blank:click",()=>{o.value=null,n&&n.cleanSelection()}),n.on("edge:mouseenter",({edge:k})=>{k.setAttrs({line:{stroke:"#10b981",strokeWidth:4}}),k.addTools([{name:"button",args:{markup:[{tagName:"circle",selector:"button",attrs:{r:12,stroke:"#10b981",strokeWidth:2,fill:"#1e293b",cursor:"pointer"}},{tagName:"path",selector:"icon",attrs:{d:"M -5 0 L 5 0 M 0 -5 L 0 5",stroke:"#10b981",strokeWidth:2,fill:"none",pointerEvents:"none"}}],distance:.5,onClick:({e:v,view:V})=>{s=V.cell,i.value=!0,l.value={x:v.clientX,y:v.clientY}}}},{name:"vertices"}])}),n.on("edge:mouseleave",({edge:k})=>{k.setAttrs({line:{stroke:"#64748b",strokeWidth:3}}),k.removeTools()}),n.on("edge:connected",({isNew:k,edge:v})=>{k&&v.setAttrs({line:{stroke:"#64748b",strokeWidth:3}})}),n.on("node:selected",({node:k})=>{k.toFront()}),n.on("edge:selected",({edge:k})=>{k.toFront()}),h()},h=()=>{if(!n)return;const E=n.addNode({shape:"start",x:100,y:200,label:"开始",data:{nodeType:"start"}}),k=n.addNode({shape:"end",x:500,y:200,label:"结束",data:{nodeType:"end"}});n.addEdge({source:{cell:E,port:"port-out"},target:{cell:k,port:"port-in"}})},m=E=>{var k;(k=o.value)!=null&&k.cell&&(o.value.label=E,o.value.cell.setAttrByPath("label/text",E))},p=E=>{if(!n||!s)return;const k=s.getSourceCell(),v=s.getTargetCell();if(!k||!v)return;const V=k.position(),T=v.position(),C=(V.x+T.x)/2,A=(V.y+T.y)/2,I=n.addNode({shape:E.type,x:C,y:A,label:E.name,data:{nodeType:E.type}});s.remove(),n.addEdge({source:{cell:k,port:"port-out"},target:{cell:I,port:"port-in"}}),E.type==="condition"?(n.addEdge({source:{cell:I,port:"port-out-0"},target:{cell:v,port:"port-in"},labels:[{attrs:{label:{text:"True",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]}),n.addEdge({source:{cell:I,port:"port-out-1"},target:{cell:v,port:"port-in"},labels:[{attrs:{label:{text:"False",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]})):n.addEdge({source:{cell:I,port:"port-out"},target:{cell:v,port:"port-in"}}),i.value=!1,s=null},f=()=>{n&&n.clearCells()},w=()=>{if(!n)return console.log("画布不存在"),{errors:["画布不存在"],warnings:[]};const E=[],k=[],v=n.getNodes(),V=v.filter(C=>{var A;return((A=C.getData())==null?void 0:A.nodeType)==="start"});return V.length===0?E.push("流程中缺少开始节点"):V.length>1&&k.push("流程中有多个开始节点"),v.filter(C=>{var A;return((A=C.getData())==null?void 0:A.nodeType)==="end"}).length===0&&k.push("流程中缺少结束节点"),v.forEach(C=>{const A=C.getData(),I=A==null?void 0:A.nodeType,$=(A==null?void 0:A.config)||{},x=C.getAttrByPath("label/text")||"未命名节点";(I==="getProperty"||I==="setProperty")&&($.elementId||E.push(`节点「${x}」未配置图元`),$.propertyName||E.push(`节点「${x}」未配置属性`),I==="setProperty"&&!$.value&&k.push(`节点「${x}」未配置属性值`)),I==="httpRequest"&&($.url||E.push(`节点「${x}」未配置请求URL`)),I==="condition"&&(!$.branches||$.branches.length===0)&&E.push(`节点「${x}」未配置条件分支`),I==="timer"&&(!$.interval||$.interval<=0)&&E.push(`节点「${x}」未配置有效的时间间隔`),I==="clearTimer"&&($.timerId||E.push(`节点「${x}」未选择定时器`)),I==="customCode"&&($.code||k.push(`节点「${x}」未编写代码`))}),v.forEach(C=>{var $;const A=($=C.getData())==null?void 0:$.nodeType,I=C.getAttrByPath("label/text")||"未命名节点";if(A==="start"&&n){const x=n.getOutgoingEdges(C);(!x||x.length===0)&&E.push(`开始节点「${I}」没有连接到下一个节点`)}if(A==="end"&&n){const x=n.getOutgoingEdges(C);x&&x.length>0&&k.push(`结束节点「${I}」不应该有输出连线`)}if(A!=="start"&&A!=="end"&&n){const x=n.getIncomingEdges(C),U=n.getOutgoingEdges(C);(!x||x.length===0)&&k.push(`节点「${I}」没有输入连线`),A!=="clearTimer"&&(!U||U.length===0)&&k.push(`节点「${I}」没有输出连线`)}}),n&&v.forEach(C=>{var U;const A=n.getIncomingEdges(C),I=n.getOutgoingEdges(C),$=(U=C.getData())==null?void 0:U.nodeType,x=C.getAttrByPath("label/text")||"未命名节点";$!=="start"&&(!A||A.length===0)&&(!I||I.length===0)&&k.push(`节点「${x}」是孤立节点`)}),{errors:E,warnings:k}},N=()=>{const{errors:E,warnings:k}=w();if(E.length===0&&k.length===0)alert("✓ 流程验证通过!"),console.log("流程验证通过");else{let v="";E.length>0&&(v+=`错误:
44
- `+E.map(V=>" • "+V).join(`
45
- `)),k.length>0&&(v&&(v+=`
43
+ }`,class:"code-textarea code-textarea-full"},null,40,bE)]),e.createElementVNode("div",wE,[e.createElementVNode("div",EE,[u[7]||(u[7]=e.createElementVNode("label",null,"组件预览",-1)),e.createElementVNode("div",vE,[(h=o.value)!=null&&h.success?(e.openBlock(),e.createElementBlock("span",kE,"✓ 执行成功")):(m=o.value)!=null&&m.error?(e.openBlock(),e.createElementBlock("span",_E,"✗ 执行失败")):e.createCommentVNode("",!0)])]),e.createElementVNode("div",NE,[o.value?o.value.error?(e.openBlock(),e.createElementBlock("div",xE,[u[8]||(u[8]=e.createElementVNode("div",{class:"error-title"},"错误信息:",-1)),e.createElementVNode("div",VE,e.toDisplayString(o.value.error),1)])):(e.openBlock(),e.createElementBlock("div",CE,[e.createElementVNode("div",{ref_key:"previewContainer",ref:s,class:"node-preview"},null,512),o.value.logs.length>0?(e.openBlock(),e.createElementBlock("div",AE,[u[9]||(u[9]=e.createElementVNode("div",{class:"console-title"},"控制台输出:",-1)),e.createElementVNode("div",IE,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value.logs,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:p,class:"log-item"},e.toDisplayString(f),1))),128))])])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",SE,' 点击"测试执行"按钮查看组件预览效果 '))])])]),e.createElementVNode("div",TE,[e.createElementVNode("button",{class:"btn-cancel",onClick:u[2]||(u[2]=f=>c.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-confirm",onClick:u[3]||(u[3]=f=>c.$emit("save"))},"确定")])])])}}}),[["__scopeId","data-v-add3567b"]]),BE={class:"dialog-container"},DE={class:"dialog-header"},PE={class:"dialog-body"},OE={key:0,class:"empty-state"},ME={key:1,class:"workflow-list"},RE=["onClick"],jE={class:"workflow-info"},LE={class:"workflow-name"},UE={class:"workflow-meta"},FE={class:"workflow-id"},zE={class:"workflow-date"},WE={class:"workflow-actions"},qE=["onClick"],GE={class:"dialog-footer"},HE=["disabled"],KE=Me(e.defineComponent({__name:"WorkflowSelectorDialog",emits:["close","select"],setup(d,{emit:t}){const r=t,s=e.ref([]),o=e.ref(null),n=()=>{try{const u=localStorage.getItem("saved-workflows");u&&(s.value=JSON.parse(u))}catch(u){console.error("加载流程列表失败:",u)}},i=u=>{o.value=u},l=u=>{},a=()=>{o.value&&r("select",o.value)},c=u=>new Date(u).toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"});return e.onMounted(()=>{n()}),(u,h)=>(e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:h[2]||(h[2]=e.withModifiers(m=>u.$emit("close"),["self"]))},[e.createElementVNode("div",BE,[e.createElementVNode("div",DE,[h[3]||(h[3]=e.createElementVNode("h3",null,"选择流程",-1)),e.createElementVNode("button",{class:"btn-close",onClick:h[0]||(h[0]=m=>u.$emit("close"))},"×")]),e.createElementVNode("div",PE,[s.value.length===0?(e.openBlock(),e.createElementBlock("div",OE,[...h[4]||(h[4]=[e.createElementVNode("p",null,"暂无已保存的流程",-1),e.createElementVNode("p",{class:"hint"},"请先在流程编辑器中创建并保存流程",-1)])])):(e.openBlock(),e.createElementBlock("div",ME,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,m=>{var f;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["workflow-item",{selected:((f=o.value)==null?void 0:f.id)===m.id}]),onClick:p=>i(m)},[e.createElementVNode("div",jE,[e.createElementVNode("div",LE,e.toDisplayString(m.name),1),e.createElementVNode("div",UE,[e.createElementVNode("span",FE,"ID: "+e.toDisplayString(m.id),1),e.createElementVNode("span",zE,e.toDisplayString(c(m.createdAt)),1)])]),e.createElementVNode("div",WE,[e.createElementVNode("button",{class:"btn-icon",onClick:e.withModifiers(p=>l(),["stop"]),title:"预览"}," 👁️ ",8,qE)])],10,RE)}),128))]))]),e.createElementVNode("div",GE,[e.createElementVNode("button",{class:"btn-secondary",onClick:h[1]||(h[1]=m=>u.$emit("close"))},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!o.value,onClick:a}," 确定 ",8,HE)])])]))}}),[["__scopeId","data-v-73644904"]]),QE=(d,t)=>{const r=t.split(".");let s=d;for(const o of r)if(s&&typeof s=="object"&&o in s)s=s[o];else return;return s},YE=(d,t,r)=>{const s=t.split(".");let o=d;for(let n=0;n<s.length-1;n++)o[s[n]]||(o[s[n]]={}),o=o[s[n]];o[s[s.length-1]]=r},JE=(d,t)=>{var n;const r=d.getData(),s=(n=r==null?void 0:r.props)==null?void 0:n.find(i=>i.key===t);if(!s||!s.path)return;const o=s.path.split(".");if(o[0]==="attrs"){const i=o.slice(1).join("/");return d.attr(i)}else if(o[0]==="data"){const i=o.slice(1).join(".");return QE(d.getData(),i)}},XE=(d,t,r)=>{var i;const s=d.getData(),o=(i=s==null?void 0:s.props)==null?void 0:i.find(l=>l.key===t);if(!o||!o.path)return console.warn(`未找到属性配置: ${t}`),!1;const n=o.path.split(".");if(n[0]==="attrs"){const l=n.slice(1).join("/");return d.setAttrByPath(l,r),console.log(`属性已更改: ${t} (${l}) = ${r}`),!0}else if(n[0]==="data"){const l=n.slice(1).join("."),a=d.getData()||{};return YE(a,l,r),d.setData(a),console.log(`数据已更改: ${t} (${l}) = ${r}`),!0}else return console.warn(`未知的属性路径类型: ${o.path}`),!1},zi=(d,t)=>{if(t.conditionType==="always")return!0;if(t.condition&&t.condition.attribute){const r=JE(d,t.condition.attribute),s=r===t.condition.value;return console.log(`条件检查: ${t.condition.attribute} = ${r}, 期望: ${t.condition.value}, 结果: ${s}`),s}return!1},ZE=(d,t)=>{t!=null&&t.attributeGroups&&t.attributeGroups.forEach(r=>{const s=r.target==="current"?d:null;s&&XE(s,r.property,r.value)})},ev=(d,t,r)=>{if(r!=null&&r.code)try{new Function("node","event",r.code)(d,t)}catch(s){console.error("自定义代码执行失败:",s)}},tv=(d,t,r)=>{if(!(r!=null&&r.processId)||!(r!=null&&r.processData)){console.error("流程配置不完整:",r);return}try{console.log("开始执行流程:",r.processName||r.processId);let s={};if(r.processParams)try{s=JSON.parse(r.processParams)}catch(n){console.error("流程参数解析失败:",n)}console.log("流程数据:",r.processData),console.log("传入参数:",s);const o=new CustomEvent("workflow-execute",{detail:{processId:r.processId,processName:r.processName,processData:r.processData,params:s,triggerNode:d}});window.dispatchEvent(o)}catch(s){console.error("流程执行失败:",s)}},Wi=(d,t)=>{if(t.action)switch(console.log("执行事件动作:",t.action,t.params),t.action){case"attributeChange":ZE(d,t.params);break;case"customCode":ev(d,t,t.params);break;case"callProcess":tv(d,t,t.params);break;default:console.warn("未知的事件动作:",t.action)}},rv=(d,t)=>{const r=t.getData();!(r!=null&&r.events)||!Array.isArray(r.events)||r.events.forEach(s=>{const o=s.type;switch(o){case"click":case"dblclick":case"mouseenter":case"mouseleave":d.on(`node:${o}`,({node:n})=>{n.id===t.id&&(console.log(`触发 ${o} 事件:`,s),zi(n,s)&&Wi(n,s))});break;case"change":d.on("node:change:attrs",({node:n})=>{n.id===t.id&&(console.log("检查 change 事件:",s),zi(n,s)&&(console.log("条件满足,触发 change 事件:",s),Wi(n,s)))});break;case"input":d.on("node:change:data",({node:n})=>{n.id===t.id&&(console.log("触发 input 事件:",s),zi(n,s)&&Wi(n,s))});break;case"focus":case"blur":console.warn(`事件类型 ${o} 在预览模式下不支持`);break;default:console.warn(`未知的事件类型: ${o}`)}})},ht={SCADA_EDITOR_DATA:"scada_editor_data"},ur=(d,t)=>{try{const r=JSON.stringify(t);return localStorage.setItem(d,r),!0}catch(r){return console.error(`保存到 localStorage 失败 [${d}]:`,r),!1}},qi=d=>{try{const t=localStorage.getItem(d);return t?JSON.parse(t):null}catch(t){return console.error(`从 localStorage 读取失败 [${d}]:`,t),null}},uo=d=>{try{localStorage.removeItem(d)}catch(t){console.error(`从 localStorage 删除失败 [${d}]:`,t)}},ov=(d,t)=>{try{const r=JSON.stringify(d,null,2),s=new Blob([r],{type:"application/json;charset=utf-8"}),o=URL.createObjectURL(s),n=document.createElement("a");return n.href=o,n.download=`${t}.json`,n.click(),URL.revokeObjectURL(o),!0}catch(r){return console.error("导出 JSON 文件失败:",r),!1}},Gi=(d="")=>{const t=Date.now(),r=Math.random().toString(36).substring(2,11);return d?`${d}_${t}_${r}`:`${t}_${r}`},rc=()=>Gi("evt"),nv=()=>Gi("node"),fo=(d,t="YYYY-MM-DD HH:mm:ss")=>{const r=new Date(d),s=r.getFullYear(),o=String(r.getMonth()+1).padStart(2,"0"),n=String(r.getDate()).padStart(2,"0"),i=String(r.getHours()).padStart(2,"0"),l=String(r.getMinutes()).padStart(2,"0"),a=String(r.getSeconds()).padStart(2,"0");return t.replace("YYYY",String(s)).replace("MM",o).replace("DD",n).replace("HH",i).replace("mm",l).replace("ss",a)},po=()=>Date.now(),oc=(d=50,t=50,r=400,s=300)=>({x:Math.random()*r+d,y:Math.random()*s+t}),Xe=(d,t="info",r=3e3)=>{const s=document.createElement("div");s.className=`scada-toast scada-toast-${t}`,s.textContent=d,Object.assign(s.style,{position:"fixed",top:"20px",left:"50%",transform:"translateX(-50%)",padding:"12px 24px",borderRadius:"6px",fontSize:"14px",fontWeight:"500",zIndex:"10000",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",maxWidth:"80%",wordBreak:"break-word",opacity:"0",transition:"opacity 0.3s ease, transform 0.3s ease"});const n={success:{bg:"#10b981",text:"#fff"},error:{bg:"#ef4444",text:"#fff"},warning:{bg:"#f59e0b",text:"#fff"},info:{bg:"#3b82f6",text:"#fff"}}[t];s.style.backgroundColor=n.bg,s.style.color=n.text,document.body.appendChild(s),requestAnimationFrame(()=>{s.style.opacity="1"}),setTimeout(()=>{s.style.opacity="0",setTimeout(()=>{s.parentNode&&document.body.removeChild(s)},300)},r)};class iv{constructor(){he(this,"graph",null)}setGraph(t){this.graph=t}getGraph(){return this.graph}zoomIn(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.min(5,t+.1);je.setZoom(r)}zoomOut(){if(!this.graph)return;const t=je.getConfig().zoom.scale,r=Math.max(.1,t-.1);je.setZoom(r)}setZoom(t){if(!this.graph)return;const r=Math.max(.1,Math.min(5,t));je.setZoom(r)}clearAll(t){this.graph&&confirm("确定要清空画布吗?")&&(this.graph.clearCells(),t==null||t(),Xe("画布已清空","success"))}getSelectedNodes(){return this.graph?this.graph.getSelectedCells().filter(t=>t.isNode()):[]}validateSelection(t,r){const s=this.getSelectedNodes();return s.length<t?(Xe(r,"warning"),null):s}alignLeft(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(s=>s.getPosition().x));t.forEach(s=>{s.setPosition({x:r,y:s.getPosition().y})})}alignCenter(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(o=>o.getPosition().x+o.getSize().width/2),s=r.reduce((o,n)=>o+n,0)/r.length;t.forEach(o=>{const n=s-o.getSize().width/2;o.setPosition({x:n,y:o.getPosition().y})})}alignRight(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(s=>s.getPosition().x+s.getSize().width));t.forEach(s=>{const o=r-s.getSize().width;s.setPosition({x:o,y:s.getPosition().y})})}alignTop(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.min(...t.map(s=>s.getPosition().y));t.forEach(s=>{s.setPosition({x:s.getPosition().x,y:r})})}alignMiddle(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=t.map(o=>o.getPosition().y+o.getSize().height/2),s=r.reduce((o,n)=>o+n,0)/r.length;t.forEach(o=>{const n=s-o.getSize().height/2;o.setPosition({x:o.getPosition().x,y:n})})}alignBottom(){const t=this.validateSelection(2,"请选择至少两个节点");if(!t)return;const r=Math.max(...t.map(s=>s.getPosition().y+s.getSize().height));t.forEach(s=>{const o=r-s.getSize().height;s.setPosition({x:s.getPosition().x,y:o})})}distributeHorizontal(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,a)=>l.getPosition().x-a.getPosition().x),s=r[0],i=(r[r.length-1].getPosition().x-s.getPosition().x)/(r.length-1);r.forEach((l,a)=>{if(a===0||a===r.length-1)return;const c=s.getPosition().x+i*a;l.setPosition({x:c,y:l.getPosition().y})})}distributeVertical(){const t=this.validateSelection(3,"请选择至少三个节点");if(!t)return;const r=t.sort((l,a)=>l.getPosition().y-a.getPosition().y),s=r[0],i=(r[r.length-1].getPosition().y-s.getPosition().y)/(r.length-1);r.forEach((l,a)=>{if(a===0||a===r.length-1)return;const c=s.getPosition().y+i*a;l.setPosition({x:l.getPosition().x,y:c})})}selectAll(){this.graph&&this.graph.select(this.graph.getNodes())}clearSelection(){this.graph&&this.graph.unselect(this.graph.getSelectedCells())}calculateFitScale(t,r){const s=je.getConfig(),o=s.size.width,n=s.size.height,i=40,l=t-i,a=r-i,c=l/o,u=a/n;return Math.min(c,u,1)}}const mt=new iv;class sv{constructor(){he(this,"animations",new Map)}startAnimation(t,r){if(!t||r.type==="none")return;this.stopAnimation(t.id);const s=t.id;let o=null;switch(r.type){case"blink":o=this.createBlinkAnimation(t,r);break;case"scale":o=this.createScaleAnimation(t,r);break;case"rotate":o=this.createRotateAnimation(t,r);break;case"float":o=this.createFloatAnimation(t,r);break;case"pulse":o=this.createPulseAnimation(t,r);break}o&&this.animations.set(s,o)}stopAnimation(t){const r=this.animations.get(t);r&&(r.stop&&r.stop(),r.intervalId&&clearInterval(r.intervalId),this.animations.delete(t))}createBlinkAnimation(t,r){const s=t.getAttrByPath("body/opacity")||1;let o=!0;const n=setInterval(()=>{o=!o,t.setAttrByPath("body/opacity",o?s:.2),r.loop||(clearInterval(n),t.setAttrByPath("body/opacity",s))},r.duration/2);return{intervalId:n,stop:()=>{clearInterval(n),t.setAttrByPath("body/opacity",s)}}}createScaleAnimation(t,r){const s=t.getSize();let o=!0;const n=.05;let i=1;const l=setInterval(()=>{o?(i+=n,i>=1.2&&(o=!1)):(i-=n,i<=.8&&(o=!0)),t.resize(s.width*i,s.height*i),!r.loop&&i>=.99&&i<=1.01&&(clearInterval(l),t.resize(s.width,s.height))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.resize(s.width,s.height)}}}createRotateAnimation(t,r){let s=0;const o=360/(r.duration/50),n=setInterval(()=>{s=(s+o)%360,t.rotate(s,{absolute:!0}),!r.loop&&s>=360&&(clearInterval(n),t.rotate(0,{absolute:!0}))},50);return{intervalId:n,stop:()=>{clearInterval(n),t.rotate(0,{absolute:!0})}}}createFloatAnimation(t,r){const s=t.position();let o=!0;const n=2;let i=s.y;const l=setInterval(()=>{o?(i-=n,i<=s.y-10&&(o=!1)):(i+=n,i>=s.y+10&&(o=!0)),t.position(s.x,i),!r.loop&&Math.abs(i-s.y)<1&&(clearInterval(l),t.position(s.x,s.y))},r.duration/40);return{intervalId:l,stop:()=>{clearInterval(l),t.position(s.x,s.y)}}}createPulseAnimation(t,r){const s=t.getAttrByPath("body/fill"),o=t.getAttrByPath("body/stroke");let n=0,i=!0;const l=setInterval(()=>{i?(n+=.1,n>=1&&(i=!1)):(n-=.1,n<=0&&(i=!0)),t.setAttrByPath("body/opacity",.5+n*.5),!r.loop&&n<=.05&&(clearInterval(l),t.setAttrByPath("body/fill",s),t.setAttrByPath("body/stroke",o),t.setAttrByPath("body/opacity",1))},r.duration/20);return{intervalId:l,stop:()=>{clearInterval(l),t.setAttrByPath("body/fill",s),t.setAttrByPath("body/stroke",o),t.setAttrByPath("body/opacity",1)}}}clearAll(){this.animations.forEach((t,r)=>{this.stopAnimation(r)}),this.animations.clear()}}const Ut=new sv;class av{constructor(){he(this,"graph",null);he(this,"componentCounters",{})}setGraph(t){this.graph=t}generateComponentName(t,r){return this.componentCounters[t]||(this.componentCounters[t]=0),this.componentCounters[t]++,`${r}_${this.componentCounters[t]}`}async addNode(t,r){var c,u,h,m;if(!this.graph)return null;const s=await bt.getComponent(t);if(!s)return console.error(`未找到组件配置: ${t}`),null;const o=this.generateComponentName(t,s.metadata.name),n={enabled:!1,type:"none",duration:1e3,loop:!0},i=r||oc(50,50,400,300),l={x:i.x,y:i.y,shape:s.shape,width:s.width,height:s.height,label:s.label,attrs:s.attrs,ports:s.ports,data:{...s.data,componentType:t,componentName:o,props:s.props,animation:n,originalStroke:((u=(c=s.attrs)==null?void 0:c.body)==null?void 0:u.stroke)||"#2563eb",originalStrokeWidth:((m=(h=s.attrs)==null?void 0:h.body)==null?void 0:m.strokeWidth)||2}},a=this.graph.addNode(l);return console.log("[Node] 添加节点:",s.shape,a.id,l),a}updateNode(t,r){if(t&&(r.attrs&&Object.keys(r.attrs).forEach(s=>{const o=r.attrs[s];typeof o=="object"?Object.keys(o).forEach(n=>{t.attr(`${s}/${n}`,o[n])}):t.attr(s,o)}),r.position&&(typeof r.position.x=="number"&&typeof r.position.y=="number"?t.setPosition(r.position):console.error("position 数据格式错误:",r.position)),r.size&&(typeof r.size.width=="number"&&typeof r.size.height=="number"?t.setSize(r.size):console.error("size 数据格式错误:",r.size)),r.data)){const s={...r.data};delete s.position,delete s.size,t.setData(s)}}deleteNode(t){if(!this.graph)return!1;Ut.stopAnimation(t);try{return this.graph.removeNode(t),!0}catch(r){return console.error("删除节点失败:",r),!1}}selectNode(t){if(!this.graph)return!1;const r=this.graph.getCellById(t);return r?(this.graph.select(r),!0):!1}getNodeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isNode()?null:r}getAllNodes(){return this.graph?this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})):[]}cloneNode(t,r={x:20,y:20}){if(!this.graph)return null;try{const s=t.clone();return s.translate(r.x,r.y),this.graph.addNode(s),s}catch(s){return console.error("复制节点失败:",s),null}}deleteNodes(t){if(!this.graph)return 0;let r=0;return t.forEach(s=>{this.deleteNode(s)&&r++}),r}bringToFront(t){const r=this.getNodeById(t);r&&r.toFront()}sendToBack(t){const r=this.getNodeById(t);r&&r.toBack()}}const fr=new av;class lv{constructor(){he(this,"graph",null)}setGraph(t){this.graph=t}applyEdgeAnimation(t,r){if(!t||typeof t.attr!="function"){console.warn("applyEdgeAnimation: edge 对象无效",t);return}if(!r||!r.enabled){t.attr("line/strokeDasharray",void 0),t.attr("circle",void 0),typeof t.stopTransition=="function"&&t.stopTransition("attrs/circle/atConnectionRatio");return}const s=r.duration||2e3;t.attr("circle",{r:4,atConnectionRatio:0,fill:{type:"radialGradient",stops:[{offset:"0%",color:"#FFF"},{offset:"100%",color:t.attr("line/stroke")||"#10b981"}]},stroke:t.attr("line/stroke")||"#10b981",strokeWidth:1});const o=()=>{t.attr("circle/atConnectionRatio",0,{silent:!0}),t.transition("attrs/circle/atConnectionRatio",1,{delay:0,duration:s,timing:"linear",complete:()=>{o()}})};o()}updateEdge(t,r){if(t){if(r.attrs){Object.keys(r.attrs).forEach(n=>{const i=r.attrs[n];typeof i=="object"?Object.keys(i).forEach(l=>{var a,c;t.attr(`${n}/${l}`,i[l]),(c=(a=t.data)==null?void 0:a.originalAttrs)!=null&&c[n]&&(t.data.originalAttrs[n][l]=i[l])}):t.attr(n,i)});const s=t.getAttrs(),o=Object.assign({},t.data,{originalAttrs:s});t.setData(o),t.attr("line/stroke","#3b82f6")}r.router&&t.setRouter(r.router),r.connector&&t.setConnector(r.connector),r.animation&&this.applyEdgeAnimation(t,r.animation),r.data&&t.setData(Object.assign({},t.data,r.data))}}deleteEdge(t){if(!this.graph)return!1;try{return this.graph.removeEdge(t),!0}catch(r){return console.error("删除边失败:",r),!1}}getEdgeById(t){if(!this.graph)return null;const r=this.graph.getCellById(t);return!r||!r.isEdge()?null:r}getAllEdges(){return this.graph?this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId(),data:t.getData()})):[]}applySelectedStyle(t){if(!t)return;const r=t.getAttrs();t.data={...t.data,originalAttrs:r},t.attr("line/stroke","#3b82f6")}restoreOriginalStyle(t){var s,o;if(!t||!((s=t.data)!=null&&s.originalAttrs))return;const r=t.data.originalAttrs;t.attr("line/stroke",((o=r.line)==null?void 0:o.stroke)||"#10b981")}restoreAllEdgeAnimations(){this.graph&&this.graph.getEdges().forEach(t=>{var s;const r=t.getData();(s=r==null?void 0:r.animation)!=null&&s.enabled&&this.applyEdgeAnimation(t,r.animation)})}}const _r=new lv;class cv{constructor(){he(this,"graph",null)}setGraph(t){this.graph=t}saveToLocal(){if(!this.graph)return!1;try{const t={cells:this.graph.toJSON().cells,dataSources:Ke.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config}))};return ur(ht.SCADA_EDITOR_DATA,t),!0}catch(t){return console.error("保存画布数据失败:",t),!1}}loadFromLocal(t){var r;if(!this.graph)return!1;try{const s=qi(ht.SCADA_EDITOR_DATA);if(!((r=s==null?void 0:s.cells)!=null&&r.length))return!1;const o=this.cleanCellsData(s.cells);return this.graph.fromJSON({cells:o}),t&&this.graph.getEdges().forEach(n=>{var l;const i=n.getData();(l=i==null?void 0:i.animation)!=null&&l.enabled&&t(n)}),!0}catch(s){return console.error("恢复画布数据失败,清空缓存:",s),uo(ht.SCADA_EDITOR_DATA),!1}}cleanCellsData(t){return t.map(r=>{var s;return r.position&&typeof r.position=="object"&&(typeof r.position.x!="number"||typeof r.position.y!="number")&&(r.position={x:100,y:100}),(r.shape==="edge"||r.shape==="animated-edge")&&(r.router==="manhattan"||((s=r.router)==null?void 0:s.name)==="manhattan")&&(r.router={name:"orth",args:{padding:10}}),r})}exportData(){if(!this.graph)return null;try{const t={version:"1.0.0",timestamp:fo(po()),config:{size:je.getConfig().size,background:je.getConfig().background,grid:je.getConfig().grid,guides:je.getConfig().guides,magnetism:je.getConfig().magnetism,zoom:je.getConfig().zoom},cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(r=>({id:r.id,type:r.shape,position:r.getPosition(),size:r.getSize(),label:r.attr("label/text"),data:r.getData()})),edges:this.graph.getEdges().map(r=>({id:r.id,source:r.getSourceCellId(),target:r.getTargetCellId()})),dataSources:Ke.getAllDataSources().map(r=>({id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config})),workflows:[]};return t.workflows=this.collectReferencedWorkflows(),t}catch(t){return console.error("导出数据失败:",t),null}}collectReferencedWorkflows(){if(!this.graph)return[];const t=new Set;if(this.graph.getNodes().forEach(r=>{const s=r.getData();s!=null&&s.events&&Array.isArray(s.events)&&s.events.forEach(o=>{var n;o.action==="callProcess"&&((n=o.params)!=null&&n.processId)&&t.add(o.params.processId)})}),t.size===0)return[];try{const r=localStorage.getItem("saved-workflows");if(r)return JSON.parse(r).filter(o=>t.has(o.id))}catch(r){console.error("加载流程数据失败:",r)}return[]}importData(t,r){if(!this.graph)return!1;try{if(!t.cells)return Xe("无效的JSON文件格式","error"),!1;if(!confirm("导入将清空当前画布,是否继续?"))return!1;this.graph.clearCells(),this.graph.fromJSON({cells:t.cells}),r&&this.graph.getEdges().forEach(o=>{var i;const n=o.getData();(i=n==null?void 0:n.animation)!=null&&i.enabled&&r(o)}),t.config&&je.updateConfig(t.config),this.importDataSources(t.dataSources);const s=this.importWorkflows(t.workflows);return s.imported>0||s.updated>0?Xe(`导入成功 画布已加载,流程: 新增${s.imported}个,更新${s.updated}个`,"success"):Xe("导入成功","success"),!0}catch(s){return console.error("导入失败",s),Xe("导入失败,JSON格式错误","error"),!1}}importDataSources(t){!t||!Array.isArray(t)||(Ke.disconnectAll(),Ke.getAllDataSources().forEach(r=>{Ke.removeDataSource(r.id)}),t.forEach(r=>{const s={id:r.id,name:r.name,type:r.type,enabled:r.enabled,config:r.config,devices:[],status:{connected:!1}};Ke.addDataSource(s)}),console.log(`[CanvasDataHandler] 已导入 ${t.length} 个数据源`))}importWorkflows(t){if(!t||!Array.isArray(t)||t.length===0)return{imported:0,updated:0};try{const r=localStorage.getItem("saved-workflows"),s=r?JSON.parse(r):[];let o=0,n=0;return t.forEach(i=>{const l=s.findIndex(a=>a.id===i.id);l>=0?(s[l]={...i,updatedAt:Date.now()},n++):(s.push(i),o++)}),localStorage.setItem("saved-workflows",JSON.stringify(s)),{imported:o,updated:n}}catch(r){return console.error("导入流程数据失败:",r),Xe("画布导入成功, 但流程数据导入失败","warning"),{imported:0,updated:0}}}exportToFile(t){const r=this.exportData();if(!r)return null;try{const s=new Blob([JSON.stringify(r,null,2)],{type:"application/json"}),o=URL.createObjectURL(s),n=document.createElement("a"),i=t||`scada-export-${Date.now()}.json`;return n.href=o,n.download=i,n.click(),URL.revokeObjectURL(o),i}catch(s){return console.error("导出文件失败:",s),null}}clearCache(){uo(ht.SCADA_EDITOR_DATA)}getCanvasData(){return this.graph?{version:"1.0.0",timestamp:fo(po()),config:je.getConfig(),cells:this.graph.toJSON().cells,nodes:this.graph.getNodes().map(t=>({id:t.id,type:t.shape,position:t.getPosition(),size:t.getSize(),label:t.attr("label/text"),data:t.getData()})),edges:this.graph.getEdges().map(t=>({id:t.id,source:t.getSourceCellId(),target:t.getTargetCellId()}))}:null}}const $t=new cv;class dv{constructor(){he(this,"graph",null);he(this,"dataCallbackRegistered",!1);he(this,"updateQueue",new Map);he(this,"flushTimer",null);he(this,"FLUSH_DELAY",16)}setGraph(t){this.graph=t,t&&!this.dataCallbackRegistered&&this.initDataBinding()}initDataBinding(){this.dataCallbackRegistered||(Ke.onData((t,r)=>{this.handleDataUpdate(t,r)}),this.dataCallbackRegistered=!0)}handleDataUpdate(t,r){if(!this.graph){console.warn("[DataBindingService] Graph 未初始化");return}this.graph.getNodes().forEach(o=>{this.updateNodeData(o,t,r)}),this.scheduleFlush()}updateNodeData(t,r,s){const o=t.getData();if(!(o!=null&&o.dataBinding)||o.dataBinding.dataSourceId!==r||!o.bindings||!Array.isArray(o.bindings)||o.bindings.length===0)return!1;let n=!1;const i={};return o.bindings.forEach(l=>{if(!(!l.enabled&&l.enabled!==void 0)&&!(!l.devicePointId||!l.targetProperty))try{const a=this.extractPointValue(s,l.devicePointId);if(a==null)return;const c=this.applyValueMapping(a,l.mapping);i[l.targetProperty]=c,n=!0}catch(a){console.error("[DataBindingService] 绑定处理错误:",a,l)}}),n?(this.queueUpdates(t.id,i),!0):!1}queueUpdates(t,r){const s=this.updateQueue.get(t)||{};this.updateQueue.set(t,{...s,...r})}scheduleFlush(){this.flushTimer||(this.flushTimer=window.setTimeout(()=>{this.flush(),this.flushTimer=null},this.FLUSH_DELAY))}flush(){this.updateQueue.size!==0&&requestAnimationFrame(()=>{const t=performance.now();this.updateQueue.forEach((s,o)=>{if(!this.graph)return;const n=this.graph.getCellById(o);n&&n.isNode()&&this.applyUpdatesToNode(n,s)});const r=performance.now()-t;r>16&&console.warn(`[DataBindingService] 批量更新耗时 ${r.toFixed(2)}ms, 超过一帧时间`),this.updateQueue.clear()})}extractPointValue(t,r){if(!(!r||!t)){if(Array.isArray(t)){const s=t.find(o=>o.id===r);if(s&&s.value!==void 0)return s.value}if(t[r]!==void 0)return t[r];if(t.devices&&Array.isArray(t.devices)){for(const s of t.devices)if(s.points&&Array.isArray(s.points)){for(const o of s.points)if(o.id===r)return o.value}}}}applyValueMapping(t,r){if(!r||r.type===pt.DIRECT)return t;try{switch(r.type){case pt.BOOLEAN:return this.applyBooleanMapping(t,r);case pt.RANGE:return this.applyRangeMapping(t,r);case pt.ENUM:return this.applyEnumMapping(t,r);default:return console.warn(`[DataBindingService] 未知的映射类型: ${r.type}`),t}}catch(s){return console.error("[DataBindingService] 值映射错误:",s,{value:t,mapping:r}),t}}applyBooleanMapping(t,r){return!!t?r.trueValue:r.falseValue}applyRangeMapping(t,r){const s=Number(t);if(isNaN(s))return t;if(r.rangeRules&&Array.isArray(r.rangeRules))for(const o of r.rangeRules){const n=o.min!==void 0?Number(o.min):-1/0,i=o.max!==void 0?Number(o.max):1/0;if(s>=n&&s<=i)return o.value}return t}applyEnumMapping(t,r){if(!r.enumMappings)return t;const s=String(t);return r.enumMappings[s]!==void 0?r.enumMappings[s]:t}applyUpdatesToNode(t,r){const s=t.getData(),o={...s,...r};t.setData(o,{overwrite:!0}),t.trigger("change:data",{current:o,previous:s})}getNodeBindings(t){if(!this.graph)return[];const r=this.graph.getCellById(t);if(!r||!r.isNode())return[];const s=r.getData();return(s==null?void 0:s.bindings)||[]}updateNodeBindings(t,r){if(!this.graph)return!1;const s=this.graph.getCellById(t);if(!s||!s.isNode())return!1;const o=s.getData();return s.setData({...o,bindings:r}),console.log(`[DataBindingService] 更新节点 ${t} 的绑定配置:`,r),!0}destroy(){this.flushTimer&&(clearTimeout(this.flushTimer),this.flushTimer=null),this.updateQueue.clear(),this.graph=null,this.dataCallbackRegistered=!1,console.log("[DataBindingService] 服务已销毁")}}const uv=new dv;class fv{getNodeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"copy",label:"复制",icon:"📋",hotkey:"Ctrl+C"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getEdgeMenuItems(){return[{key:"delete",label:"删除",icon:"❌",hotkey:"Delete"},{key:"divider1",divider:!0},{key:"to-front",label:"置于顶层",icon:"⬆️"},{key:"to-back",label:"置于底层",icon:"⬇️"}]}getCanvasMenuItems(){return[{key:"paste",label:"粘贴",icon:"📋",hotkey:"Ctrl+V",disabled:!0},{key:"divider1",divider:!0},{key:"select-all",label:"全选",icon:"✅",hotkey:"Ctrl+A"},{key:"clear-all",label:"清空画布",icon:"🗑️"}]}getMenuItems(t){switch(t){case"node":return this.getNodeMenuItems();case"edge":return this.getEdgeMenuItems();case"canvas":return this.getCanvasMenuItems();default:return[]}}}const Hi=new fv;class pv{constructor(){he(this,"graph",null);he(this,"config",null);he(this,"keydownHandler",null)}initialize(t,r){this.graph=t,this.config=r,this.registerSelectionEvents(),this.registerClickEvents(),this.registerChangeEvents(),this.registerContextMenuEvents(),this.registerKeyboardEvents()}registerSelectionEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r,selectedNodesCount:s}=this.config;this.graph.on("selection:changed",({selected:o})=>{var i,l;const n=o?o.filter(a=>a.isNode()):[];if(s.value=n.length,o&&o.length>0){const a=o[0];if(a.isNode())t.value=a,r.value=null;else if(a.isEdge()){r.value=a,t.value=null;const c=a.getAttrs();a.data={...a.data,originalAttrs:c},a.attr("line/stroke","#3b82f6")}}else{if(r.value&&((i=r.value.data)!=null&&i.originalAttrs)){const a=r.value.data.originalAttrs;r.value.attr("line/stroke",((l=a.line)==null?void 0:l.stroke)||"#10b981")}t.value=null,r.value=null}})}registerClickEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config;this.graph.on("edge:click",({edge:s})=>{this.graph.select(s)}),this.graph.on("blank:click",()=>{r.value=null,t.value=null})}registerChangeEvents(){!this.graph||!this.config||(this.graph.on("node:change:position",()=>{}),this.graph.on("node:change:size",()=>{}),this.graph.on("node:change:data",({node:t})=>{const r=t.getData();if(r.animation)if(r.animation.enabled===!0){const s={type:r.animation.type||"none",duration:r.animation.duration||1e3,loop:r.animation.loop!==!1};Ut.startAnimation(t,s)}else Ut.stopAnimation(t.id)}),this.graph.on("edge:change:data",({edge:t})=>{var s;const r=t.getData();r!=null&&r.animation&&((s=this.config)!=null&&s.applyEdgeAnimation)&&this.config.applyEdgeAnimation(t,r.animation)}))}registerContextMenuEvents(){if(!this.graph||!this.config)return;const{contextMenu:t}=this.config;this.graph.on("cell:contextmenu",({e:r,cell:s})=>{r.preventDefault(),t.value.targetCell=s,t.value.position={x:r.clientX,y:r.clientY},s.isNode()?t.value.items=Hi.getNodeMenuItems():s.isEdge()&&(t.value.items=Hi.getEdgeMenuItems()),t.value.visible=!0}),this.graph.on("blank:contextmenu",({e:r})=>{r.preventDefault(),t.value.targetCell=null,t.value.position={x:r.clientX,y:r.clientY},t.value.items=Hi.getCanvasMenuItems(),t.value.visible=!0})}registerKeyboardEvents(){if(!this.graph||!this.config)return;const{selectedNode:t,selectedEdge:r}=this.config,s=this.graph;this.keydownHandler=o=>{if(o.key==="Delete"&&s){if(t.value){const n=t.value.id;Ut.stopAnimation(n),s.removeNode(n),t.value=null}else if(r.value){const n=r.value.id;s.removeEdge(n),r.value=null}}},document.addEventListener("keydown",this.keydownHandler)}destroy(){this.keydownHandler&&(document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null),this.graph=null,this.config=null}}const nc=new pv;class hv{constructor(){he(this,"graph",null);he(this,"containerRef",null);he(this,"calculateFitScale",null);he(this,"updateContainerSizeFn",null)}initialize(t,r,s,o){this.graph=t,this.containerRef=r,this.calculateFitScale=s,this.updateContainerSizeFn=o||null}applyConfigChanges(){if(!this.graph)return;const t=je.getConfig();this.updateBackground(t.background),this.updateSizeAndScale(t.size,t.zoom.scale),this.updateGrid(t.grid),this.graph.translate(t.offset.x,t.offset.y)}updateBackground(t){this.graph&&(t.image?this.graph.drawBackground({color:t.color||"#1e293b",image:t.image,size:t.size||"cover",repeat:t.repeat||"no-repeat",position:"center"}):this.graph.drawBackground({color:t.color||"#1e293b"}))}updateSizeAndScale(t,r){var o;if(!this.graph||!this.containerRef)return;const s=(o=this.containerRef.value)==null?void 0:o.containerRef;if(s){if(this.graph.resize(t.width,t.height),this.updateContainerSizeFn)this.updateContainerSizeFn();else if(s.style.width=`${t.width}px`,s.style.height=`${t.height}px`,this.calculateFitScale){const n=this.calculateFitScale(),i=r>n?r:n;this.graph.scale(i,i),this.graph.centerContent()}}}updateGrid(t){this.graph&&(t.enabled?(this.graph.drawGrid({type:t.type||"dot",args:{color:t.color||"#475569",thickness:1}}),this.graph.showGrid(),t.size&&this.graph.setGridSize(t.size)):this.graph.hideGrid())}destroy(){this.graph=null,this.containerRef=null,this.calculateFitScale=null,this.updateContainerSizeFn=null}}const ic=new hv;var Ft=(d=>(d.PARSE_DEVICE_DATA="PARSE_DEVICE_DATA",d.TRANSFORM_BINDING_DATA="TRANSFORM_BINDING_DATA",d.BATCH_CALCULATE="BATCH_CALCULATE",d.ERROR="ERROR",d))(Ft||{});self.onmessage=d=>{const{id:t,type:r,payload:s}=d.data;try{let o;switch(r){case"PARSE_DEVICE_DATA":o=mv(s);break;case"TRANSFORM_BINDING_DATA":o=bv(s);break;case"BATCH_CALCULATE":o=vv(s);break;default:throw new Error(`未知的消息类型: ${r}`)}const n={id:t,type:r,result:o};self.postMessage(n)}catch(o){const n={id:t,type:"ERROR",error:o.message};self.postMessage(n)}};function mv(d){return Array.isArray(d.devices)?d.devices.map(t=>({id:t.id||t.deviceId,name:t.name||t.deviceName,points:gv(t.points||t.data||[])})):Array.isArray(d)?[{id:"default",name:"Default Device",points:d.map(t=>({id:t.id,value:t.value,quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString()}))}]:d}function gv(d){return d.map(t=>typeof t=="object"&&t.id!==void 0?{id:t.id,value:t.value,dataType:yv(t.value),quality:t.quality||"good",timestamp:t.timestamp||new Date().toISOString()}:t)}function yv(d){return typeof d=="number"?"number":typeof d=="boolean"?"boolean":typeof d=="string"?"string":"unknown"}function bv(d){const{bindings:t,deviceData:r}=d,s=[];return t.forEach(o=>{const n=wv(r,o.devicePointId);if(n!==void 0){const i=Ev(n,o.mapping);s.push({nodeId:o.nodeId,targetProperty:o.targetProperty,value:i})}}),s}function wv(d,t){if(Array.isArray(d)){const r=d.find(s=>s.id===t);return r==null?void 0:r.value}if(d[t]!==void 0)return d[t];if(d.devices&&Array.isArray(d.devices)){for(const r of d.devices)if(r.points&&Array.isArray(r.points)){const s=r.points.find(o=>o.id===t);if(s)return s.value}}}function Ev(d,t){var r;if(!t||t.type==="DIRECT")return d;switch(t.type){case"BOOLEAN":return d?t.trueValue:t.falseValue;case"RANGE":const s=Number(d);if(t.rangeRules&&Array.isArray(t.rangeRules))for(const n of t.rangeRules){const i=n.min!==void 0?Number(n.min):-1/0,l=n.max!==void 0?Number(n.max):1/0;if(s>=i&&s<=l)return n.value}return d;case"ENUM":const o=String(d);return((r=t.enumMappings)==null?void 0:r[o])??d;default:return d}}function vv(d){const{calculations:t}=d;return t.map(r=>{switch(r.type){case"average":return kv(r.params.values);case"sum":return _v(r.params.values);case"interpolate":return Nv(r.params.from,r.params.to,r.params.t);default:return null}})}function kv(d){return d.length===0?0:d.reduce((t,r)=>t+r,0)/d.length}function _v(d){return d.reduce((t,r)=>t+r,0)}function Nv(d,t,r){return d+(t-d)*Math.max(0,Math.min(1,r))}class Sv{constructor(){he(this,"worker",null);he(this,"pendingTasks",new Map);he(this,"messageIdCounter",0);he(this,"TASK_TIMEOUT",5e3);he(this,"handleMessage",t=>{const{id:r,type:s,result:o,error:n}=t.data,i=this.pendingTasks.get(r);i&&(clearTimeout(i.timeout),this.pendingTasks.delete(r),s===Ft.ERROR||n?i.reject(new Error(n||"未知错误")):i.resolve(o))});he(this,"handleError",t=>{console.error("[WorkerManager] Worker 错误:",t),this.pendingTasks.forEach(r=>{clearTimeout(r.timeout),r.reject(new Error("Worker 执行错误"))}),this.pendingTasks.clear()})}init(){if(!this.worker)try{this.worker=new Worker(new URL("/assets/dataProcessor.worker-DerLDc7p.js",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:wo&&wo.tagName.toUpperCase()==="SCRIPT"&&wo.src||new URL("scada-engine.umd.js",document.baseURI).href),{type:"module"}),this.worker.onmessage=this.handleMessage,this.worker.onerror=this.handleError,console.log("[WorkerManager] Worker 已初始化")}catch(t){console.error("[WorkerManager] Worker 初始化失败:",t),console.warn("[WorkerManager] 将使用主线程处理数据")}}sendMessage(t,r){return new Promise((s,o)=>{if(!this.worker){console.warn("[WorkerManager] Worker 不可用,使用主线程处理"),s(this.fallbackProcess(t,r));return}const n=`task_${++this.messageIdCounter}`,i=window.setTimeout(()=>{this.pendingTasks.delete(n),o(new Error(`任务超时: ${t}`))},this.TASK_TIMEOUT);this.pendingTasks.set(n,{resolve:s,reject:o,timeout:i});const l={id:n,type:t,payload:r};this.worker.postMessage(l)})}fallbackProcess(t,r){switch(t){case Ft.PARSE_DEVICE_DATA:return r;case Ft.TRANSFORM_BINDING_DATA:return[];case Ft.BATCH_CALCULATE:return[];default:return null}}async parseDeviceData(t){return this.sendMessage(Ft.PARSE_DEVICE_DATA,t)}async transformBindingData(t,r){return this.sendMessage(Ft.TRANSFORM_BINDING_DATA,{bindings:t,deviceData:r})}async batchCalculate(t){return this.sendMessage(Ft.BATCH_CALCULATE,{calculations:t})}getStatus(){return{isActive:this.worker!==null,pendingTasks:this.pendingTasks.size}}terminate(){this.worker&&(this.worker.terminate(),this.worker=null),this.pendingTasks.forEach(t=>{clearTimeout(t.timeout),t.reject(new Error("Worker 已终止"))}),this.pendingTasks.clear(),console.log("[WorkerManager] Worker 已终止")}}const xv=new Sv;typeof window<"u"&&xv.init();const Vv=["title"],Cv={key:1,class:"properties"},Av={key:2,class:"properties"},Iv={class:"tabs"},Tv={class:"tab-content"},$v={class:"tab-pane"},Bv={class:"property-section"},Dv={key:0,class:"empty-hint"},Pv={key:1,class:"binding-table"},Ov={class:"binding-table-body"},Mv={class:"tab-pane"},Rv={class:"property-section"},jv={key:0,class:"empty-hint"},Lv={class:"event-list"},Ki=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedNode:{},selectedEdge:{},deviceData:{},isCollapsed:{type:Boolean,default:!1}},emits:["updateNode","deleteNode","updateEdge","deleteEdge","update:collapsed"],setup(d,{emit:t}){const r=d,s=t,o=()=>{s("update:collapsed",!r.isCollapsed)},n=e.ref("basic"),i=e.ref([]),l=e.ref(new Set),a=e.ref([]),c=e.ref(new Set),u=e.computed(()=>{if(!r.selectedNode)return[];const E=r.selectedNode.shape;if(!E)return[];const x=bt.getComponentByShape(E);return!x||!x.points?[]:x.points});e.watch(()=>r.selectedNode,(E,x)=>{var P,j;if(x&&(x.off("change:position"),x.off("change:size")),(P=E==null?void 0:E.data)!=null&&P.events){const te=JSON.parse(JSON.stringify(E.data.events));te.forEach(G=>{G.id||(G.id=I())}),i.value=te}else i.value=[];l.value.clear(),(j=E==null?void 0:E.data)!=null&&j.bindings?a.value=JSON.parse(JSON.stringify(E.data.bindings)):a.value=[],c.value.clear(),E&&(E.on("change:position",()=>{h.value++}),E.on("change:size",()=>{m.value++}))},{immediate:!0});const h=e.ref(0),m=e.ref(0),f=e.computed(()=>{var x;return h.value,((x=r.selectedNode)==null?void 0:x.getPosition())||{x:0,y:0}}),p=e.computed(()=>{var x;return m.value,((x=r.selectedNode)==null?void 0:x.getSize())||{width:0,height:0}}),w=e.computed(()=>{var x;return((x=r.selectedNode)==null?void 0:x.getAttrs())||{}}),N=(E,x)=>{const P=Number(x.target.value),j=r.selectedNode.getPosition(),te=E==="x"?{x:P,y:j.y}:{x:j.x,y:P};s("updateNode",{position:te})},S=(E,x)=>{const P=Number(x.target.value),j=r.selectedNode.getSize(),te=E==="width"?{width:P,height:j.height}:{width:j.width,height:P};s("updateNode",{size:te})},y=E=>{const x=E.target.value;s("updateNode",{attrs:{text:{text:x},label:{text:x}}})},v=E=>{const x=E.target.value;s("updateNode",{attrs:{body:{fill:x}}})},_=E=>{const x=E.target.value;s("updateNode",{attrs:{body:{stroke:x}}})},k=E=>{const x=Number(E.target.value);s("updateNode",{attrs:{body:{strokeWidth:x}}})},C=E=>{const x=Number(E.target.value);s("updateNode",{attrs:{body:{opacity:x}}})},$=E=>{const x=E.target.value,P={...r.selectedNode.data,componentName:x};s("updateNode",{data:P})},A=(E,x)=>{if(!r.selectedNode)return;const P=E.split(".");if(P[0]==="attrs"){const j=P.slice(1).join("/");s("updateNode",{attrs:{[j]:x}})}else if(P[0]==="data"){const j=JSON.parse(JSON.stringify(r.selectedNode.data||{}));let te=j;for(let G=1;G<P.length-1;G++){const ee=P[G];te[ee]||(te[ee]={}),te=te[ee]}te[P[P.length-1]]=x,E==="data.presetId"&&r.selectedNode.shape,s("updateNode",{data:j})}},T=E=>{if(!r.selectedNode)return;const x={...r.selectedNode.data,dataBinding:E};s("updateNode",{data:x})},I=rc,B=()=>{const E={id:I(),name:"",type:"click",conditionType:"always",action:"attributeChange",params:{}};i.value.push(E),de()},V=E=>{i.value.splice(E,1),de()},L=(E,x,P)=>{const j=P.target.value;i.value[E][x]=j,de()},K=(E,x,P)=>{const te=P.target.value;i.value[E].condition||(i.value[E].condition={}),i.value[E].condition[x]=te,de()},U=(E,x,P)=>{const te=P.target.value;i.value[E].params||(i.value[E].params={}),i.value[E].params[x]=te,de()},de=()=>{i.value.forEach(x=>{x.id||(x.id=I())});const E={...r.selectedNode.data,events:i.value};s("updateNode",{data:E})},ne=E=>{l.value.has(E)?l.value.delete(E):l.value.add(E)},re=E=>l.value.has(E),fe=()=>{const E={devicePointId:"",targetProperty:"",enabled:!0};a.value.push(E),M()},Y=E=>{a.value.splice(E,1),M()},ae=(E,x,P)=>{const te=P.target.value;a.value[E][x]=te,M()},M=()=>{const E={...r.selectedNode.data,bindings:a.value};s("updateNode",{data:E})},J=E=>{c.value.has(E)?c.value.delete(E):c.value.add(E)},me=E=>c.value.has(E),H=e.ref(!1),Ne=e.ref(-1),Z=e.ref([]),q=E=>{var P;Ne.value=E;const x=i.value[E];(P=x.params)!=null&&P.attributeGroups&&Array.isArray(x.params.attributeGroups)?Z.value=JSON.parse(JSON.stringify(x.params.attributeGroups)):Z.value=[{target:"current",property:"",value:""}],H.value=!0},le=()=>{H.value=!1},X=()=>{Z.value.push({target:"current",property:"",value:""})},oe=E=>{Z.value.splice(E,1)},ie=(E,x,P)=>{Z.value[E][x]=P},ve=()=>{for(const E of Z.value)if(!E.property){alert("请为每组配置选择目标属性");return}i.value[Ne.value].params||(i.value[Ne.value].params={}),i.value[Ne.value].params.attributeGroups=JSON.parse(JSON.stringify(Z.value)),de(),le()},F=e.ref(!1),D=e.ref(""),R=e.ref(-1),se=E=>{var P;R.value=E;const x=i.value[E];D.value=((P=x.params)==null?void 0:P.code)||"",F.value=!0},ue=()=>{F.value=!1},pe=()=>{i.value[R.value].params||(i.value[R.value].params={}),i.value[R.value].params.code=D.value,de(),ue()},ye=e.ref(!1),Q=e.ref(-1),ge=E=>{Q.value=E,ye.value=!0},ke=()=>{ye.value=!1},ce=E=>{i.value[Q.value].params||(i.value[Q.value].params={});const x=i.value[Q.value].params;x.processId=E.id,x.processName=E.name,x.processData=E.data,de(),ke()},xe=()=>{var x;if(!r.selectedNode)return[];const E=[];return(x=r.selectedNode.data)!=null&&x.props&&Array.isArray(r.selectedNode.data.props)&&r.selectedNode.data.props.forEach(P=>{P.bindable!==!1&&E.push({key:P.key,label:P.label,type:P.type||"text"})}),E},g=E=>{s("updateEdge",E)},b=()=>{s("deleteEdge")};return(E,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",{class:e.normalizeClass(["property-panel",{collapsed:d.isCollapsed}])},[e.createElementVNode("button",{class:"collapse-btn",onClick:o,title:d.isCollapsed?"展开属性面板":"折叠属性面板"},[...x[4]||(x[4]=[e.createElementVNode("span",{class:"collapse-icon"},"▶",-1)])],8,Vv),!d.selectedNode&&!d.selectedEdge?(e.openBlock(),e.createBlock(No,{key:0})):d.selectedEdge?(e.openBlock(),e.createElementBlock("div",Cv,[x[5]||(x[5]=e.createElementVNode("h3",{class:"panel-title"},"连线属性",-1)),e.createVNode(p1,{"selected-edge":d.selectedEdge,onUpdateEdge:g,onDeleteEdge:b},null,8,["selected-edge"])])):d.selectedNode?(e.openBlock(),e.createElementBlock("div",Av,[x[12]||(x[12]=e.createElementVNode("h3",{class:"panel-title"},"节点属性",-1)),e.createElementVNode("div",Iv,[e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:n.value==="basic"}]),onClick:x[0]||(x[0]=P=>n.value="basic")}," 基础 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:n.value==="binding"}]),onClick:x[1]||(x[1]=P=>n.value="binding")}," 数据绑定 ",2),e.createElementVNode("button",{class:e.normalizeClass(["tab-btn",{active:n.value==="event"}]),onClick:x[2]||(x[2]=P=>n.value="event")}," 事件 ",2)]),e.createElementVNode("div",Tv,[e.withDirectives(e.createVNode(So,{"selected-node":d.selectedNode,"node-position":f.value,"node-size":p.value,"node-attrs":w.value,onUpdatePosition:N,onUpdateSize:S,onUpdateLabel:y,onUpdateFill:v,onUpdateStroke:_,onUpdateStrokeWidth:k,onUpdateOpacity:C,onUpdateComponentName:$,onUpdateDynamicProp:A},null,8,["selected-node","node-position","node-size","node-attrs"]),[[e.vShow,n.value==="basic"]]),e.withDirectives(e.createElementVNode("div",$v,[e.createVNode(Ob,{"selected-node":d.selectedNode,onUpdateDataSource:T},null,8,["selected-node"]),x[9]||(x[9]=e.createElementVNode("div",{class:"divider"},null,-1)),e.createElementVNode("div",Bv,[e.createElementVNode("div",{class:"section-header"},[x[6]||(x[6]=e.createElementVNode("h4",null,"点位映射",-1)),e.createElementVNode("button",{class:"btn-add",onClick:fe},"+ 添加映射")]),a.value.length===0?(e.openBlock(),e.createElementBlock("div",Dv,[...x[7]||(x[7]=[e.createElementVNode("span",null,"暂无点位映射,请先选择设备后点击上方按钮添加",-1)])])):(e.openBlock(),e.createElementBlock("div",Pv,[x[8]||(x[8]=e.createStaticVNode('<div class="binding-table-header" data-v-eb21bd6a><div class="binding-col-point" data-v-eb21bd6a>组件点位</div><div class="binding-col-property" data-v-eb21bd6a>目标属性</div><div class="binding-col-mapping" data-v-eb21bd6a>值映射</div><div class="binding-col-actions" data-v-eb21bd6a>操作</div></div>',1)),e.createElementVNode("div",Ov,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(P,j)=>(e.openBlock(),e.createBlock(Li,{key:j,binding:P,index:j,"is-collapsed":me(j),"node-properties":xe(),"component-points":u.value,onToggleCollapse:te=>J(j),onRemove:te=>Y(j),onUpdateField:(te,G)=>ae(j,te,G)},null,8,["binding","index","is-collapsed","node-properties","component-points","onToggleCollapse","onRemove","onUpdateField"]))),128))])]))])],512),[[e.vShow,n.value==="binding"]]),e.withDirectives(e.createElementVNode("div",Mv,[e.createElementVNode("div",Rv,[e.createElementVNode("div",{class:"section-header"},[x[10]||(x[10]=e.createElementVNode("h4",null,"节点事件",-1)),e.createElementVNode("button",{class:"btn-add",onClick:B},"+ 添加事件")]),i.value.length===0?(e.openBlock(),e.createElementBlock("div",jv,[...x[11]||(x[11]=[e.createElementVNode("span",null,"暂无事件,点击上方按钮添加",-1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Lv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(P,j)=>(e.openBlock(),e.createBlock(ji,{key:j,event:P,index:j,"is-collapsed":re(j),"node-properties":xe(),onToggleCollapse:te=>ne(j),onRemove:te=>V(j),onUpdateField:(te,G)=>L(j,te,G),onUpdateCondition:(te,G)=>K(j,te,G),onUpdateParams:(te,G)=>U(j,te,G),onOpenAttributeConfig:te=>q(j),onOpenCustomCode:te=>se(j),onOpenWorkflowSelector:te=>ge(j)},null,8,["event","index","is-collapsed","node-properties","onToggleCollapse","onRemove","onUpdateField","onUpdateCondition","onUpdateParams","onOpenAttributeConfig","onOpenCustomCode","onOpenWorkflowSelector"]))),128))])])],512),[[e.vShow,n.value==="event"]])])])):e.createCommentVNode("",!0)],2),H.value?(e.openBlock(),e.createBlock(Ui,{key:0,"attribute-groups":Z.value,"node-properties":xe(),onClose:le,onSave:ve,onAddGroup:X,onRemoveGroup:oe,onUpdateGroup:ie},null,8,["attribute-groups","node-properties"])):e.createCommentVNode("",!0),F.value?(e.openBlock(),e.createBlock(Fi,{key:1,code:D.value,"onUpdate:code":x[3]||(x[3]=P=>D.value=P),"selected-node":d.selectedNode,onClose:ue,onSave:pe},null,8,["code","selected-node"])):e.createCommentVNode("",!0),ye.value?(e.openBlock(),e.createBlock(KE,{key:2,onClose:ke,onSelect:ce})):e.createCommentVNode("",!0)],64))}}),[["__scopeId","data-v-eb21bd6a"]]);function Qi(d){const t=d.replace(/-/g,"+").replace(/_/g,"/"),r=t.length%4?"=".repeat(4-t.length%4):"",s=t+r,o=(typeof atob<"u"?atob:i=>Buffer.from(i,"base64").toString("binary"))(s),n=new Uint8Array(o.length);for(let i=0;i<o.length;i++)n[i]=o.charCodeAt(i);return n}function sc(d){const t=new ArrayBuffer(d.byteLength);return new Uint8Array(t).set(d),t}function Uv(d){const t=d.replace("-----BEGIN PUBLIC KEY-----","").replace("-----END PUBLIC KEY-----","").replace(/\s+/g,""),r=(typeof atob<"u"?atob:o=>Buffer.from(o,"base64").toString("binary"))(t),s=new Uint8Array(r.length);for(let o=0;o<r.length;o++)s[o]=r.charCodeAt(o);return s.buffer}async function Fv(d){const t=Uv(d);return await crypto.subtle.importKey("spki",t,{name:"ECDSA",namedCurve:"P-256"},!1,["verify"])}async function zv(d,t){try{const[r,s]=d.split(".");if(!r||!s)return!1;const o=await Fv(t),n=Qi(r),i=Qi(s),l=sc(n),a=sc(i);return await crypto.subtle.verify({name:"ECDSA",hash:{name:"SHA-256"}},o,a,l)}catch{return!1}}async function Wv(d,t){const r=await zv(d,t);if(!r)return null;const s=d.split(".")[0],o=Qi(s),n=new TextDecoder().decode(o),i=JSON.parse(n),l=i.expiryDate?new Date().getTime()<=new Date(i.expiryDate).getTime():!0;return{company:i.company||"未知",expiryDate:i.expiryDate,isValid:!!(r&&l)}}const qv={key:0,class:"scada-footer"},Gv={key:1,class:"scada-footer"},Hv={class:"footer-content"},Kv={class:"footer-left"},Qv={class:"copyright",style:{color:"#94a3b8 !important"}},Yv={key:0,class:"divider",style:{color:"#475569 !important"}},Jv={key:1,class:"license",style:{color:"#94a3b8 !important"}},Xv={key:0,class:"footer-right"},Zv={class:"text",style:{color:"#94a3b8 !important"}},ek={key:2,class:"scada-footer"},tk={class:"footer-content"},rk={class:"footer-left"},ok={class:"authorized-text",style:{color:"#10b981 !important"}},nk={class:"footer-right"},ik={key:0,class:"expiry-text",style:{color:"#94a3b8 !important"}},sk={key:1,class:"expiry-text",style:{color:"#94a3b8 !important"}},ak=Me(e.defineComponent({__name:"Footer",props:{authCode:{default:""},publicKeyPem:{default:void 0},customFooter:{default:void 0}},setup(d){const t=d,r=e.ref(null),s=e.ref(!1);e.watch(()=>[t.authCode,t.publicKeyPem],async()=>{if(!t.authCode||!t.publicKeyPem){s.value=!1,r.value=null;return}const n=await Wv(t.authCode,t.publicKeyPem);s.value=!!(n!=null&&n.isValid),r.value=n||null},{immediate:!0});const o=e.computed(()=>s.value);return(n,i)=>{var l,a;return o.value?d.customFooter?(e.openBlock(),e.createElementBlock("footer",Gv,[e.createElementVNode("div",Hv,[e.createElementVNode("div",Kv,[e.createElementVNode("span",Qv,e.toDisplayString(d.customFooter.copyright),1),d.customFooter.license?(e.openBlock(),e.createElementBlock("span",Yv,"|")):e.createCommentVNode("",!0),d.customFooter.license?(e.openBlock(),e.createElementBlock("span",Jv,e.toDisplayString(d.customFooter.license),1)):e.createCommentVNode("",!0)]),d.customFooter.contact?(e.openBlock(),e.createElementBlock("div",Xv,[e.createElementVNode("span",Zv,e.toDisplayString(d.customFooter.contact),1)])):e.createCommentVNode("",!0)])])):(e.openBlock(),e.createElementBlock("footer",ek,[e.createElementVNode("div",tk,[e.createElementVNode("div",rk,[i[1]||(i[1]=e.createElementVNode("span",{class:"authorized-icon"},"✅",-1)),e.createElementVNode("span",ok,"已授权: "+e.toDisplayString(((l=r.value)==null?void 0:l.company)||"未知"),1)]),e.createElementVNode("div",nk,[(a=r.value)!=null&&a.expiryDate?(e.openBlock(),e.createElementBlock("span",ik," 📅 有效期至: "+e.toDisplayString(r.value.expiryDate),1)):(e.openBlock(),e.createElementBlock("span",sk," ∞ 永久授权 "))])])])):(e.openBlock(),e.createElementBlock("footer",qv,[...i[0]||(i[0]=[e.createStaticVNode('<div class="footer-content" data-v-7fd5ce26><div class="footer-left" data-v-7fd5ce26><span class="copyright" style="color:#94a3b8 !important;" data-v-7fd5ce26>© 2025 leoncheng</span><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><span class="license" style="color:#94a3b8 !important;" data-v-7fd5ce26>仅供学习研究使用,禁止商业用途</span></div><div class="footer-right" data-v-7fd5ce26><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📧</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>nywqs@outlook.com</span></div><span class="divider" style="color:#475569 !important;" data-v-7fd5ce26>|</span><div class="contact-item" data-v-7fd5ce26><span class="icon" data-v-7fd5ce26>📱</span><span class="text" style="color:#94a3b8 !important;" data-v-7fd5ce26>18637762001</span></div></div></div>',1)])]))}}}),[["__scopeId","data-v-7fd5ce26"]]);var zt=(d=>(d.START="start",d.END="end",d.GET_PROPERTY="getProperty",d.SET_PROPERTY="setProperty",d.CONDITION="condition",d.HTTP_REQUEST="httpRequest",d.CUSTOM_CODE="customCode",d.TIMER="timer",d.CLEAR_TIMER="clearTimer",d))(zt||{});const lk={class:"dialog-body"},ck={class:"search-box"},dk={class:"element-list"},uk=["onClick"],fk={class:"element-icon"},pk={class:"element-info"},hk={class:"element-name"},mk={class:"element-type"},gk={key:0,class:"element-check"},yk={key:0,class:"empty-state"},bk={class:"dialog-footer"},wk=["disabled"],ac=Me(e.defineComponent({__name:"ElementSelector",props:{visible:{type:Boolean},elements:{default:()=>[]}},emits:["close","select"],setup(d,{emit:t}){const r=d,s=t,o=e.ref(""),n=e.ref(null),i=e.computed(()=>{if(!o.value)return r.elements;const u=o.value.toLowerCase();return r.elements.filter(h=>h.name.toLowerCase().includes(u)||h.id.toLowerCase().includes(u)||h.type.toLowerCase().includes(u))}),l=u=>{n.value=u},a=()=>{o.value="",n.value=null,s("close")},c=()=>{n.value&&(s("select",n.value),a())};return(u,h)=>d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"element-selector-overlay",onClick:a},[e.createElementVNode("div",{class:"element-selector-dialog",onClick:h[1]||(h[1]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("div",{class:"dialog-header"},[h[2]||(h[2]=e.createElementVNode("h3",null,"选择图元",-1)),e.createElementVNode("button",{class:"btn-close",onClick:a},"×")]),e.createElementVNode("div",lk,[e.createElementVNode("div",ck,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=m=>o.value=m),type:"text",placeholder:"搜索图元名称或ID..."},null,512),[[e.vModelText,o.value]])]),e.createElementVNode("div",dk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>{var f,p;return e.openBlock(),e.createElementBlock("div",{key:m.id,class:e.normalizeClass(["element-item",{active:((f=n.value)==null?void 0:f.id)===m.id}]),onClick:w=>l(m)},[e.createElementVNode("div",fk,e.toDisplayString(m.icon),1),e.createElementVNode("div",pk,[e.createElementVNode("div",hk,e.toDisplayString(m.name),1),e.createElementVNode("div",mk,e.toDisplayString(m.type),1)]),((p=n.value)==null?void 0:p.id)===m.id?(e.openBlock(),e.createElementBlock("div",gk," ✓ ")):e.createCommentVNode("",!0)],10,uk)}),128)),i.value.length===0?(e.openBlock(),e.createElementBlock("div",yk,[...h[3]||(h[3]=[e.createElementVNode("p",null,"未找到图元",-1),e.createElementVNode("p",{class:"empty-hint"},"请尝试其他搜索关键词",-1)])])):e.createCommentVNode("",!0)])]),e.createElementVNode("div",bk,[e.createElementVNode("button",{class:"btn-secondary",onClick:a},"取消"),e.createElementVNode("button",{class:"btn-primary",disabled:!n.value,onClick:c}," 确定 ",8,wk)])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-b1e8fcae"]]),Ek={class:"node-config"},vk={class:"config-group"},kk={class:"element-selector"},_k={class:"config-group"},Nk=["disabled"],Sk=["value"],xk=Me(e.defineComponent({__name:"GetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||""}),n=e.ref(""),i=e.ref(!1),l=e.ref([]),a=e.inject("canvasElementService"),c=e.computed(()=>{if(!o.elementId)return[];const f=l.value.find(p=>p.id===o.elementId);return(f==null?void 0:f.properties)||[]}),u=()=>{s("update:modelValue",{...o})},h=async()=>{a&&(l.value=await a.getElements()),i.value=!0},m=f=>{o.elementId=f.id,n.value=f.name,o.propertyName="",u()};return e.onMounted(async()=>{if(a&&(l.value=await a.getElements()),o.elementId){const f=l.value.find(p=>p.id===o.elementId);f&&(n.value=f.name)}}),(f,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Ek,[e.createElementVNode("div",vk,[p[3]||(p[3]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",kk,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=w=>n.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,n.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",_k,[p[5]||(p[5]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[1]||(p[1]=w=>o.propertyName=w),onChange:u,disabled:!o.elementId},[p[4]||(p[4]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,Sk))),128))],40,Nk),[[e.vModelSelect,o.propertyName]])])]),e.createVNode(ac,{visible:i.value,elements:l.value,onClose:p[2]||(p[2]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-05825d9e"]]),Vk={class:"node-config"},Ck={class:"config-group"},Ak={class:"element-selector"},Ik={class:"config-group"},Tk=["disabled"],$k=["value"],Bk={class:"config-group"},Dk=Me(e.defineComponent({__name:"SetPropertyConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({elementId:r.modelValue.elementId||"",propertyName:r.modelValue.propertyName||"",value:r.modelValue.value||""}),n=e.ref(""),i=e.ref(!1),l=e.ref([]),a=e.inject("canvasElementService"),c=e.computed(()=>{if(!o.elementId)return[];const f=l.value.find(p=>p.id===o.elementId);return(f==null?void 0:f.properties)||[]}),u=()=>{s("update:modelValue",{...o})},h=async()=>{a&&(l.value=await a.getElements()),i.value=!0},m=f=>{o.elementId=f.id,n.value=f.name,o.propertyName="",u()};return e.onMounted(async()=>{if(a&&(l.value=await a.getElements()),o.elementId){const f=l.value.find(p=>p.id===o.elementId);f&&(n.value=f.name)}}),(f,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",Vk,[e.createElementVNode("div",Ck,[p[4]||(p[4]=e.createElementVNode("label",null,"图元选择",-1)),e.createElementVNode("div",Ak,[e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=w=>n.value=w),type:"text",placeholder:"点击选择按钮从画布中选择图元",readonly:""},null,512),[[e.vModelText,n.value]]),e.createElementVNode("button",{class:"btn-select",onClick:h}," 选择图元 ")])]),e.createElementVNode("div",Ik,[p[6]||(p[6]=e.createElementVNode("label",null,"属性选择",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[1]||(p[1]=w=>o.propertyName=w),onChange:u,disabled:!o.elementId},[p[5]||(p[5]=e.createElementVNode("option",{value:""},"请先选择图元",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,w=>(e.openBlock(),e.createElementBlock("option",{key:w.key,value:w.key},e.toDisplayString(w.label),9,$k))),128))],40,Tk),[[e.vModelSelect,o.propertyName]])]),e.createElementVNode("div",Bk,[p[7]||(p[7]=e.createElementVNode("label",null,"属性值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[2]||(p[2]=w=>o.value=w),type:"text",placeholder:"请输入属性值",onInput:u},null,544),[[e.vModelText,o.value]])])]),e.createVNode(ac,{visible:i.value,elements:l.value,onClose:p[3]||(p[3]=w=>i.value=!1),onSelect:m},null,8,["visible","elements"])],64))}}),[["__scopeId","data-v-d5115177"]]),Pk={class:"node-config"},Ok={class:"config-group"},Mk={class:"config-group"},Rk={class:"branches-section"},jk={class:"branch-list"},Lk={class:"branch-header"},Uk={class:"branch-number"},Fk=["onClick"],zk={key:0,class:"branch-config"},Wk={class:"config-row"},qk=["onUpdate:modelValue"],Gk={key:0,class:"config-row"},Hk=["onUpdate:modelValue"],Kk={key:1,class:"config-row"},Qk=["onUpdate:modelValue","type"],Yk={key:1,class:"default-branch-label"},Jk=Me(e.defineComponent({__name:"ConditionConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=()=>`branch_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,n=()=>r.modelValue.branches&&r.modelValue.branches.length>0?r.modelValue.branches:(r.modelValue.dataType||"boolean")==="boolean"?[{id:o(),label:"True",value:!0},{id:o(),label:"False",value:!1,isDefault:!0}]:[{id:o(),label:"分支1",operator:"eq",value:""},{id:o(),label:"默认",isDefault:!0}],i=e.reactive({sourceNodeId:r.modelValue.sourceNodeId||"prev",dataType:r.modelValue.dataType||"boolean",branches:n()}),l=()=>{s("update:modelValue",{...i})},a=()=>{i.dataType==="boolean"?i.branches=[{id:o(),label:"True",value:!0},{id:o(),label:"False",value:!1,isDefault:!0}]:i.branches=[{id:o(),label:"分支1",operator:"eq",value:""},{id:o(),label:"默认",isDefault:!0}],l()},c=()=>{const h={id:o(),label:`分支${i.branches.length}`,operator:"eq",value:""},m=i.branches.findIndex(f=>f.isDefault);m>-1?i.branches.splice(m,0,h):i.branches.push(h),l()},u=h=>{i.branches.length>2&&(i.branches.splice(h,1),l())};return(h,m)=>(e.openBlock(),e.createElementBlock("div",Pk,[e.createElementVNode("div",Ok,[m[3]||(m[3]=e.createElementVNode("label",null,"数据来源节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[0]||(m[0]=f=>i.sourceNodeId=f),onChange:l},[...m[2]||(m[2]=[e.createElementVNode("option",{value:""},"请选择数据来源节点",-1),e.createElementVNode("option",{value:"prev"},"上一个节点",-1)])],544),[[e.vModelSelect,i.sourceNodeId]])]),e.createElementVNode("div",Mk,[m[5]||(m[5]=e.createElementVNode("label",null,"数据类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":m[1]||(m[1]=f=>i.dataType=f),onChange:a},[...m[4]||(m[4]=[e.createElementVNode("option",{value:"boolean"},"布尔类型",-1),e.createElementVNode("option",{value:"number"},"数字类型",-1),e.createElementVNode("option",{value:"string"},"字符串类型",-1),e.createElementVNode("option",{value:"any"},"自定义",-1)])],544),[[e.vModelSelect,i.dataType]])]),e.createElementVNode("div",Rk,[e.createElementVNode("div",{class:"section-header"},[m[6]||(m[6]=e.createElementVNode("label",null,"条件分支",-1)),e.createElementVNode("button",{class:"btn-add",onClick:c},"添加分支")]),e.createElementVNode("div",jk,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.branches,(f,p)=>(e.openBlock(),e.createElementBlock("div",{key:f.id,class:"branch-item"},[e.createElementVNode("div",Lk,[e.createElementVNode("span",Uk,"分支 "+e.toDisplayString(p+1),1),!f.isDefault&&i.branches&&i.branches.length>1?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-remove",onClick:w=>u(p)},"×",8,Fk)):e.createCommentVNode("",!0)]),f.isDefault?(e.openBlock(),e.createElementBlock("div",Yk," 默认分支(其他情况) ")):(e.openBlock(),e.createElementBlock("div",zk,[e.createElementVNode("div",Wk,[m[7]||(m[7]=e.createElementVNode("label",null,"分支标签",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>f.label=w,type:"text",placeholder:"如: >10, =A, True",onInput:l},null,40,qk),[[e.vModelText,f.label]])]),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Gk,[m[9]||(m[9]=e.createElementVNode("label",null,"运算符",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":w=>f.operator=w,onChange:l},[...m[8]||(m[8]=[e.createStaticVNode('<option value="eq" data-v-15975920>等于 (==)</option><option value="ne" data-v-15975920>不等于 (!=)</option><option value="gt" data-v-15975920>大于 (&gt;)</option><option value="gte" data-v-15975920>大于等于 (&gt;=)</option><option value="lt" data-v-15975920>小于 (&lt;)</option><option value="lte" data-v-15975920>小于等于 (&lt;=)</option><option value="contains" data-v-15975920>包含</option><option value="notContains" data-v-15975920>不包含</option>',8)])],40,Hk),[[e.vModelSelect,f.operator]])])):e.createCommentVNode("",!0),i.dataType!=="boolean"?(e.openBlock(),e.createElementBlock("div",Kk,[m[10]||(m[10]=e.createElementVNode("label",null,"比较值",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w=>f.value=w,type:i.dataType==="number"?"number":"text",placeholder:"请输入比较值",onInput:l},null,40,Qk),[[e.vModelDynamic,f.value]])])):e.createCommentVNode("",!0)]))]))),128))])])]))}}),[["__scopeId","data-v-15975920"]]),Xk={class:"node-config"},Zk={class:"config-group"},e_={class:"config-group"},t_={class:"config-group"},r_={class:"config-group"},o_={class:"config-group"},n_=Me(e.defineComponent({__name:"HttpRequestConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({url:r.modelValue.url||"",method:r.modelValue.method||"GET",headers:r.modelValue.headers||{},body:r.modelValue.body||"",outputVariable:r.modelValue.outputVariable||""}),n=e.ref(JSON.stringify(o.headers,null,2)),i=()=>{s("update:modelValue",{...o})},l=()=>{try{o.headers=JSON.parse(n.value),i()}catch{}};return e.watch(()=>r.modelValue.headers,a=>{a&&(n.value=JSON.stringify(a,null,2))}),(a,c)=>(e.openBlock(),e.createElementBlock("div",Xk,[e.createElementVNode("div",Zk,[c[5]||(c[5]=e.createElementVNode("label",null,"请求URL",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[0]||(c[0]=u=>o.url=u),type:"text",placeholder:"请输入请求URL",onInput:i},null,544),[[e.vModelText,o.url]])]),e.createElementVNode("div",e_,[c[7]||(c[7]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":c[1]||(c[1]=u=>o.method=u),onChange:i},[...c[6]||(c[6]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1),e.createElementVNode("option",{value:"PUT"},"PUT",-1),e.createElementVNode("option",{value:"DELETE"},"DELETE",-1)])],544),[[e.vModelSelect,o.method]])]),e.createElementVNode("div",t_,[c[8]||(c[8]=e.createElementVNode("label",null,"请求头 (JSON格式)",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[2]||(c[2]=u=>n.value=u),rows:"3",placeholder:'{"Content-Type": "application/json"}',onInput:l},null,544),[[e.vModelText,n.value]])]),e.createElementVNode("div",r_,[c[9]||(c[9]=e.createElementVNode("label",null,"请求体",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":c[3]||(c[3]=u=>o.body=u),rows:"4",placeholder:"请输入请求体内容",onInput:i},null,544),[[e.vModelText,o.body]])]),e.createElementVNode("div",o_,[c[10]||(c[10]=e.createElementVNode("label",null,"输出变量",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":c[4]||(c[4]=u=>o.outputVariable=u),type:"text",placeholder:"请输入输出变量名",onInput:i},null,544),[[e.vModelText,o.outputVariable]])])]))}}),[["__scopeId","data-v-4c312eea"]]),i_={class:"node-config"},s_={class:"config-group"},a_=Me(e.defineComponent({__name:"CustomCodeConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({code:r.modelValue.code||""}),n=()=>{s("update:modelValue",{...o})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",i_,[e.createElementVNode("div",s_,[l[1]||(l[1]=e.createElementVNode("label",null,"JavaScript代码",-1)),e.withDirectives(e.createElementVNode("textarea",{"onUpdate:modelValue":l[0]||(l[0]=a=>o.code=a),rows:"10",placeholder:"请输入JavaScript代码",onInput:n},null,544),[[e.vModelText,o.code]])]),l[2]||(l[2]=e.createElementVNode("div",{class:"code-hint"},[e.createElementVNode("p",null,"提示:"),e.createElementVNode("ul",null,[e.createElementVNode("li",null,"可以使用 context 对象访问上下文变量"),e.createElementVNode("li",null,"使用 return 返回结果")])],-1))]))}}),[["__scopeId","data-v-f7115383"]]),l_={class:"node-config"},c_={class:"config-group"},d_={class:"config-group"},u_=Me(e.defineComponent({__name:"TimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({interval:r.modelValue.interval||1e3,unit:r.modelValue.unit||"ms"}),n=()=>{s("update:modelValue",{...o})};return(i,l)=>(e.openBlock(),e.createElementBlock("div",l_,[e.createElementVNode("div",c_,[l[2]||(l[2]=e.createElementVNode("label",null,"时间间隔",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":l[0]||(l[0]=a=>o.interval=a),type:"number",min:"1",placeholder:"请输入时间间隔",onInput:n},null,544),[[e.vModelText,o.interval,void 0,{number:!0}]])]),e.createElementVNode("div",d_,[l[4]||(l[4]=e.createElementVNode("label",null,"时间单位",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":l[1]||(l[1]=a=>o.unit=a),onChange:n},[...l[3]||(l[3]=[e.createElementVNode("option",{value:"ms"},"毫秒 (ms)",-1),e.createElementVNode("option",{value:"s"},"秒 (s)",-1),e.createElementVNode("option",{value:"m"},"分钟 (m)",-1),e.createElementVNode("option",{value:"h"},"小时 (h)",-1)])],544),[[e.vModelSelect,o.unit]])])]))}}),[["__scopeId","data-v-323381bc"]]),f_={class:"node-config"},p_={class:"config-group"},h_=["value"],m_={key:0,class:"timer-hint warning"},g_={key:1,class:"timer-hint"},y_=Me(e.defineComponent({__name:"ClearTimerConfig",props:{modelValue:{}},emits:["update:modelValue"],setup(d,{emit:t}){const r=d,s=t,o=e.reactive({timerId:r.modelValue.timerId||""}),n=e.ref([]),i=e.inject("getGraph"),l=()=>{if(!i)return[];const c=i();if(!c)return[];const u=c.getNodes(),h=[];return u.forEach(m=>{const f=m.getData();if((f==null?void 0:f.nodeType)==="timer"){const p=m.getAttrByPath("label/text")||"定时器";h.push({id:m.id,label:p})}}),h};e.onMounted(()=>{n.value=l()}),e.watch(()=>r.modelValue,()=>{n.value=l()},{deep:!0});const a=()=>{s("update:modelValue",{...o})};return(c,u)=>(e.openBlock(),e.createElementBlock("div",f_,[e.createElementVNode("div",p_,[u[2]||(u[2]=e.createElementVNode("label",null,"选择定时器节点",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":u[0]||(u[0]=h=>o.timerId=h),onChange:a},[u[1]||(u[1]=e.createElementVNode("option",{value:""},"请选择要清除的定时器",-1)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,h=>(e.openBlock(),e.createElementBlock("option",{key:h.id,value:h.id},e.toDisplayString(h.label),9,h_))),128))],544),[[e.vModelSelect,o.timerId]])]),n.value.length===0?(e.openBlock(),e.createElementBlock("div",m_,[...u[3]||(u[3]=[e.createElementVNode("p",null,"提示:当前流程中没有定时器节点",-1)])])):(e.openBlock(),e.createElementBlock("div",g_,[...u[4]||(u[4]=[e.createElementVNode("p",null,"提示:选择要清除的定时器节点",-1)])]))]))}}),[["__scopeId","data-v-d102fb63"]]),b_={[zt.GET_PROPERTY]:xk,[zt.SET_PROPERTY]:Dk,[zt.CONDITION]:Jk,[zt.HTTP_REQUEST]:n_,[zt.CUSTOM_CODE]:a_,[zt.TIMER]:u_,[zt.CLEAR_TIMER]:y_};function w_(d){return b_[d]||null}const E_={class:"property-panel"},v_={key:0,class:"property-content"},k_={class:"property-group"},__=["value"],N_={class:"property-group"},S_=["value"],x_={key:0,class:"divider"},V_={key:1,class:"property-empty"},C_=Me(e.defineComponent({__name:"PropertyPanel",props:{selectedCell:{}},emits:["update:label","update:config"],setup(d,{emit:t}){const r=d,s=t,o=()=>{var u,h,m;return((m=(h=(u=r.selectedCell)==null?void 0:u.cell)==null?void 0:h.model)==null?void 0:m.graph)||null};e.provide("getGraph",o);const n=e.ref({}),i=e.computed(()=>r.selectedCell?w_(r.selectedCell.nodeType):null);e.watch(()=>r.selectedCell,u=>{if(u!=null&&u.cell){const h=u.cell.getData();n.value=(h==null?void 0:h.config)||{}}else n.value={}},{immediate:!0});const l=u=>{const h=u.target;s("update:label",h.value)},a=u=>{var h;if(n.value=u,(h=r.selectedCell)!=null&&h.cell){const m=r.selectedCell.cell.getData()||{};r.selectedCell.cell.setData({...m,config:u}),r.selectedCell.nodeType==="condition"&&u.branches&&c(u.branches)}s("update:config",u)},c=u=>{var T,I;if(!((T=r.selectedCell)!=null&&T.cell))return;const h=r.selectedCell.cell,m=(I=h.model)==null?void 0:I.graph;if(!m)return;const f=[];m.getConnectedEdges(h,{outgoing:!0}).forEach(B=>{const V=B.getSourcePortId(),L=B.getTargetCell(),K=B.getTargetPortId();V&&L&&f.push({sourcePortId:V,targetCell:L,targetPortId:K})});const w=f.length>0?f[0].targetCell:null,N=f.length>0?f[0].targetPortId:"port-in";h.getPorts().forEach(B=>{B.group==="out"&&h.removePort(B.id)});const y=30,v=60,_=Math.max(u.length,1),k=Math.max(v,_*y),C=h.size(),$=h.position(),A=k-C.height;A!==0&&h.position($.x,$.y-A/2),h.resize(C.width,k),u.forEach((B,V)=>{h.addPort({id:`port-out-${V}`,group:"out",attrs:{circle:{r:5,magnet:!0,stroke:"#34d399",strokeWidth:2,fill:"#1e293b"},portLabel:{text:B.label||`分支${V+1}`,fontSize:10,fill:"#94a3b8"}}})}),setTimeout(()=>{w&&u.forEach((B,V)=>{m.addEdge({source:{cell:h,port:`port-out-${V}`},target:{cell:w,port:N},labels:[{attrs:{label:{text:B.label||`分支${V+1}`,fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#34d399",strokeWidth:1,rx:4,ry:4}},position:.5}]})})},100)};return(u,h)=>(e.openBlock(),e.createElementBlock("div",E_,[h[4]||(h[4]=e.createElementVNode("h3",null,"属性配置",-1)),d.selectedCell?(e.openBlock(),e.createElementBlock("div",v_,[e.createElementVNode("div",k_,[h[1]||(h[1]=e.createElementVNode("label",null,"节点名称",-1)),e.createElementVNode("input",{value:d.selectedCell.label,type:"text",placeholder:"输入节点名称",onInput:l},null,40,__)]),e.createElementVNode("div",N_,[h[2]||(h[2]=e.createElementVNode("label",null,"节点类型",-1)),e.createElementVNode("input",{value:d.selectedCell.nodeType,type:"text",readonly:"",disabled:""},null,8,S_)]),i.value?(e.openBlock(),e.createElementBlock("div",x_)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,modelValue:n.value,"onUpdate:modelValue":[h[0]||(h[0]=m=>n.value=m),a]},null,8,["modelValue"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",V_,[...h[3]||(h[3]=[e.createElementVNode("div",{class:"empty-text"},"选择节点以配置属性",-1)])]))]))}}),[["__scopeId","data-v-8304acbc"]]),A_={class:"toolbar"},I_={class:"toolbar-right"},T_=Me(e.defineComponent({__name:"WorkflowToolbar",props:{showClose:{type:Boolean}},emits:["clear","validate","save","close"],setup(d){return(t,r)=>(e.openBlock(),e.createElementBlock("div",A_,[r[5]||(r[5]=e.createElementVNode("div",{class:"toolbar-left"},[e.createElementVNode("h2",null,"流程编排")],-1)),e.createElementVNode("div",I_,[e.createElementVNode("button",{class:"btn-secondary",onClick:r[0]||(r[0]=s=>t.$emit("clear"))},"清空"),e.createElementVNode("button",{class:"btn-secondary",onClick:r[1]||(r[1]=s=>t.$emit("validate"))},"验证"),e.createElementVNode("button",{class:"btn-primary",onClick:r[2]||(r[2]=s=>t.$emit("save"))},"保存"),d.showClose?(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-close",onClick:r[3]||(r[3]=s=>t.$emit("close")),title:"关闭"},[...r[4]||(r[4]=[e.createElementVNode("span",{class:"close-icon"},"×",-1)])])):e.createCommentVNode("",!0)])]))}}),[["__scopeId","data-v-b3e0a4fc"]]),$_={class:"menu-header"},B_={class:"menu-list"},D_=["onClick"],P_={class:"menu-item-info"},O_={class:"menu-item-name"},M_={class:"menu-item-desc"},R_=Me(e.defineComponent({__name:"AddNodeMenu",props:{visible:{type:Boolean},position:{},nodeTypes:{}},emits:["close","select"],setup(d,{emit:t}){const r=d,s=t,o=e.computed(()=>r.nodeTypes.filter(i=>i.type!=="start"&&i.type!=="end")),n=i=>{s("select",i)};return(i,l)=>(e.openBlock(),e.createElementBlock("div",null,[d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:"menu-overlay",onClick:l[0]||(l[0]=a=>i.$emit("close"))})):e.createCommentVNode("",!0),d.visible?(e.openBlock(),e.createElementBlock("div",{key:1,class:"add-node-menu",style:e.normalizeStyle({left:d.position.x+"px",top:d.position.y+"px"})},[e.createElementVNode("div",$_,[l[2]||(l[2]=e.createElementVNode("span",null,"选择节点类型",-1)),e.createElementVNode("button",{class:"btn-close",onClick:l[1]||(l[1]=a=>i.$emit("close"))},"×")]),e.createElementVNode("div",B_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,a=>(e.openBlock(),e.createElementBlock("div",{key:a.type,class:"menu-item",onClick:c=>n(a)},[e.createElementVNode("div",{class:e.normalizeClass(["menu-item-icon",`node-icon-${a.type}`])},e.toDisplayString(a.icon),3),e.createElementVNode("div",P_,[e.createElementVNode("div",O_,e.toDisplayString(a.name),1),e.createElementVNode("div",M_,e.toDisplayString(a.description),1)])],8,D_))),128))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-aa6fccf8"]]);class j_{constructor(){he(this,"graph",null)}setGraph(t){this.graph=t}async getElements(){if(!this.graph)return console.warn("画布实例未初始化"),[];const t=this.graph.getNodes();return await Promise.all(t.map(async s=>{const o=s.getData()||{},n=o.type||s.shape,i=await bt.getComponent(n),l=this.getElementProperties(s,i);return{id:s.id,name:o.componentName||s.getAttrByPath("label/text")||`图元_${s.id.slice(0,8)}`,type:(i==null?void 0:i.metadata.name)||n,icon:(i==null?void 0:i.metadata.icon)||"📦",properties:l}}))}getElementProperties(t,r){const s=[],o=new Set;return r!=null&&r.props&&r.props.forEach(n=>{const i=n.path.split("."),l=i[i.length-1];l&&!o.has(l)&&(s.push({key:l,label:n.label||l}),o.add(l))}),s}async getElementById(t){return(await this.getElements()).find(s=>s.id===t)||null}async searchElements(t){const r=await this.getElements(),s=t.toLowerCase();return r.filter(o=>o.name.toLowerCase().includes(s)||o.id.toLowerCase().includes(s)||o.type.toLowerCase().includes(s))}}const lc=new j_,L_={class:"workflow-editor"},U_={class:"editor-main"},F_={class:"canvas-area"},z_=Me(e.defineComponent({__name:"WorkflowEditor",props:{scadaGraph:{default:null},showClose:{type:Boolean,default:!1}},emits:["close"],setup(d){const t=d,r=e.ref([{type:"start",name:"开始",icon:"▶",description:"流程起点",color:"#52c41a"},{type:"end",name:"结束",icon:"⏹",description:"流程终点",color:"#ff4d4f"},{type:"getProperty",name:"获取图元属性",icon:"📥",description:"获取图元的属性值",color:"#1890ff"},{type:"setProperty",name:"设置图元属性",icon:"📤",description:"设置图元的属性值",color:"#13c2c2"},{type:"condition",name:"条件节点",icon:"◆",description:"条件分支判断",color:"#faad14"},{type:"httpRequest",name:"http请求",icon:"🌐",description:"HTTP网络请求",color:"#722ed1"},{type:"customCode",name:"自定义代码",icon:"💻",description:"执行自定义JavaScript代码",color:"#eb2f96"},{type:"timer",name:"定时器节点",icon:"⏰",description:"设置定时执行",color:"#52c41a"},{type:"clearTimer",name:"清除定时器",icon:"🗑",description:"清除定时器",color:"#ff4d4f"}]),s=e.ref();let o=null;t.scadaGraph&&lc.setGraph(t.scadaGraph),e.provide("canvasElementService",lc);const n=e.ref(null),i=e.ref(!1),l=e.ref({x:0,y:0});let a=null;const c=()=>{r.value.forEach(v=>{const _={inherit:"rect",width:150,height:60,markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"icon"},{tagName:"text",selector:"label"}],attrs:{body:{strokeWidth:1,stroke:v.color,fill:"#ffffff",rx:6,ry:6},icon:{text:v.icon,fontSize:24,fill:v.color,refX:20,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"},label:{text:v.name,fontSize:14,fill:"#333333",refX:75,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"}},ports:{groups:{in:{position:"left",attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"}}},out:{position:{name:"right"},attrs:{circle:{r:5,magnet:!0,stroke:"#10b981",strokeWidth:2,fill:"#1e293b"},portLabel:{fontSize:10,fill:"#94a3b8"}},markup:[{tagName:"circle",selector:"circle"},{tagName:"text",selector:"portLabel"}],label:{position:{name:"right",args:{x:10,y:0}}}}},items:[]},data:{nodeType:v.type}};v.type==="start"?_.ports.items=[{id:"port-out",group:"out"}]:v.type==="end"?_.ports.items=[{id:"port-in",group:"in"}]:v.type==="condition"?_.ports.items=[{id:"port-in",group:"in"},{id:"port-out-0",group:"out",args:{text:"True"}},{id:"port-out-1",group:"out",args:{text:"False"}}]:_.ports.items=[{id:"port-in",group:"in"},{id:"port-out",group:"out"}],Le.Graph.registerNode(v.type,_,!0)})},u=()=>{if(!s.value)return;c(),o=new Le.Graph({container:s.value,width:s.value.clientWidth,height:s.value.clientHeight,grid:{size:10,visible:!0,type:"dot",args:{color:"#333",thickness:1}},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:"manhattan",connector:{name:"rounded",args:{radius:8}},anchor:"center",connectionPoint:"anchor",snap:{radius:20},allowBlank:!1,allowLoop:!1,allowNode:!1,createEdge(){return new Le.Shape.Edge({attrs:{line:{stroke:"#64748b",strokeWidth:3,targetMarker:{name:"block",width:12,height:8,fill:"#64748b"}}},zIndex:0})},validateConnection({targetMagnet:_}){return!!_}},highlighting:{magnetAvailable:{name:"stroke",args:{attrs:{fill:"#34d399",stroke:"#34d399"}}}}}),o.use(new Kt.Selection({enabled:!0,rubberband:!1,showNodeSelectionBox:!0,showEdgeSelectionBox:!0,multiple:!0,movable:!0,strict:!1}));const v=_=>{var k;if(console.log("键盘事件触发:",_.key,"selectedCell存在:",!!n.value),_.key==="Delete"||_.key==="Backspace"){if(!o){console.log("graph不存在,无法删除");return}if((k=n.value)!=null&&k.cell){_.preventDefault();const $=n.value.cell;console.log("删除选中的节点:",n.value.label);const A=o.getIncomingEdges($),T=o.getOutgoingEdges($);A&&A.length>0&&T&&T.length>0&&A.forEach(I=>{const B=I.getSourceCell(),V=I.getSourcePortId();T.forEach(L=>{const K=L.getTargetCell(),U=L.getTargetPortId();B&&K&&o&&(o.addEdge({source:{cell:B,port:V},target:{cell:K,port:U}}),console.log("已连接前后节点"))})}),o.removeCells([$]),n.value=null,console.log("已删除节点");return}const C=o.getSelectedCells();console.log("选中的cells数量:",C.length,C),C.length?(_.preventDefault(),o.removeCells(C),console.log("已删除cells")):console.log("没有选中的cells")}};document.addEventListener("keydown",v),o.on("node:click",({node:_})=>{var $;const k=_.getAttrByPath("label/text")||"",C=(($=_.getData())==null?void 0:$.nodeType)||_.shape||"";n.value={label:k,nodeType:C,cell:_},console.log("节点已点击,保存到selectedCell:",k)}),o.on("blank:click",()=>{n.value=null,o&&o.cleanSelection()}),o.on("edge:mouseenter",({edge:_})=>{_.setAttrs({line:{stroke:"#10b981",strokeWidth:4}}),_.addTools([{name:"button",args:{markup:[{tagName:"circle",selector:"button",attrs:{r:12,stroke:"#10b981",strokeWidth:2,fill:"#1e293b",cursor:"pointer"}},{tagName:"path",selector:"icon",attrs:{d:"M -5 0 L 5 0 M 0 -5 L 0 5",stroke:"#10b981",strokeWidth:2,fill:"none",pointerEvents:"none"}}],distance:.5,onClick:({e:k,view:C})=>{a=C.cell,i.value=!0,l.value={x:k.clientX,y:k.clientY}}}},{name:"vertices"}])}),o.on("edge:mouseleave",({edge:_})=>{_.setAttrs({line:{stroke:"#64748b",strokeWidth:3}}),_.removeTools()}),o.on("edge:connected",({isNew:_,edge:k})=>{_&&k.setAttrs({line:{stroke:"#64748b",strokeWidth:3}})}),o.on("node:selected",({node:_})=>{_.toFront()}),o.on("edge:selected",({edge:_})=>{_.toFront()}),h()},h=()=>{if(!o)return;const v=o.addNode({shape:"start",x:100,y:200,label:"开始",data:{nodeType:"start"}}),_=o.addNode({shape:"end",x:500,y:200,label:"结束",data:{nodeType:"end"}});o.addEdge({source:{cell:v,port:"port-out"},target:{cell:_,port:"port-in"}})},m=v=>{var _;(_=n.value)!=null&&_.cell&&(n.value.label=v,n.value.cell.setAttrByPath("label/text",v))},f=v=>{if(!o||!a)return;const _=a.getSourceCell(),k=a.getTargetCell();if(!_||!k)return;const C=_.position(),$=k.position(),A=(C.x+$.x)/2,T=(C.y+$.y)/2,I=o.addNode({shape:v.type,x:A,y:T,label:v.name,data:{nodeType:v.type}});a.remove(),o.addEdge({source:{cell:_,port:"port-out"},target:{cell:I,port:"port-in"}}),v.type==="condition"?(o.addEdge({source:{cell:I,port:"port-out-0"},target:{cell:k,port:"port-in"},labels:[{attrs:{label:{text:"True",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]}),o.addEdge({source:{cell:I,port:"port-out-1"},target:{cell:k,port:"port-in"},labels:[{attrs:{label:{text:"False",fill:"#e2e8f0",fontSize:12},rect:{fill:"#334155",stroke:"#64748b",strokeWidth:1,rx:4,ry:4}},position:.5}]})):o.addEdge({source:{cell:I,port:"port-out"},target:{cell:k,port:"port-in"}}),i.value=!1,a=null},p=()=>{o&&o.clearCells()},w=()=>{if(!o)return console.log("画布不存在"),{errors:["画布不存在"],warnings:[]};const v=[],_=[],k=o.getNodes(),C=k.filter(A=>{var T;return((T=A.getData())==null?void 0:T.nodeType)==="start"});return C.length===0?v.push("流程中缺少开始节点"):C.length>1&&_.push("流程中有多个开始节点"),k.filter(A=>{var T;return((T=A.getData())==null?void 0:T.nodeType)==="end"}).length===0&&_.push("流程中缺少结束节点"),k.forEach(A=>{const T=A.getData(),I=T==null?void 0:T.nodeType,B=(T==null?void 0:T.config)||{},V=A.getAttrByPath("label/text")||"未命名节点";(I==="getProperty"||I==="setProperty")&&(B.elementId||v.push(`节点「${V}」未配置图元`),B.propertyName||v.push(`节点「${V}」未配置属性`),I==="setProperty"&&!B.value&&_.push(`节点「${V}」未配置属性值`)),I==="httpRequest"&&(B.url||v.push(`节点「${V}」未配置请求URL`)),I==="condition"&&(!B.branches||B.branches.length===0)&&v.push(`节点「${V}」未配置条件分支`),I==="timer"&&(!B.interval||B.interval<=0)&&v.push(`节点「${V}」未配置有效的时间间隔`),I==="clearTimer"&&(B.timerId||v.push(`节点「${V}」未选择定时器`)),I==="customCode"&&(B.code||_.push(`节点「${V}」未编写代码`))}),k.forEach(A=>{var B;const T=(B=A.getData())==null?void 0:B.nodeType,I=A.getAttrByPath("label/text")||"未命名节点";if(T==="start"&&o){const V=o.getOutgoingEdges(A);(!V||V.length===0)&&v.push(`开始节点「${I}」没有连接到下一个节点`)}if(T==="end"&&o){const V=o.getOutgoingEdges(A);V&&V.length>0&&_.push(`结束节点「${I}」不应该有输出连线`)}if(T!=="start"&&T!=="end"&&o){const V=o.getIncomingEdges(A),L=o.getOutgoingEdges(A);(!V||V.length===0)&&_.push(`节点「${I}」没有输入连线`),T!=="clearTimer"&&(!L||L.length===0)&&_.push(`节点「${I}」没有输出连线`)}}),o&&k.forEach(A=>{var L;const T=o.getIncomingEdges(A),I=o.getOutgoingEdges(A),B=(L=A.getData())==null?void 0:L.nodeType,V=A.getAttrByPath("label/text")||"未命名节点";B!=="start"&&(!T||T.length===0)&&(!I||I.length===0)&&_.push(`节点「${V}」是孤立节点`)}),{errors:v,warnings:_}},N=()=>{const{errors:v,warnings:_}=w();if(v.length===0&&_.length===0)alert("✓ 流程验证通过!"),console.log("流程验证通过");else{let k="";v.length>0&&(k+=`错误:
44
+ `+v.map(C=>" • "+C).join(`
45
+ `)),_.length>0&&(k&&(k+=`
46
46
 
47
- `),v+=`警告:
48
- `+k.map(V=>" • "+V).join(`
49
- `)),alert(v),console.log("验证结果:",{errors:E,warnings:k})}},S=()=>{if(!n)return;const{errors:E,warnings:k}=w();if(E.length>0){let $=`流程验证失败,无法保存!
47
+ `),k+=`警告:
48
+ `+_.map(C=>" • "+C).join(`
49
+ `)),alert(k),console.log("验证结果:",{errors:v,warnings:_})}},S=()=>{if(!o)return;const{errors:v,warnings:_}=w();if(v.length>0){let B=`流程验证失败,无法保存!
50
50
 
51
- `;$+=`错误:
52
- `+E.map(x=>" • "+x).join(`
53
- `),k.length>0&&($+=`
51
+ `;B+=`错误:
52
+ `+v.map(V=>" • "+V).join(`
53
+ `),_.length>0&&(B+=`
54
54
 
55
55
  警告:
56
- `+k.map(x=>" • "+x).join(`
57
- `)),alert($);return}if(k.length>0){let $=`流程存在以下警告:
56
+ `+_.map(V=>" • "+V).join(`
57
+ `)),alert(B);return}if(_.length>0){let B=`流程存在以下警告:
58
58
 
59
- `;if($+=k.map(x=>" • "+x).join(`
60
- `),$+=`
59
+ `;if(B+=_.map(V=>" • "+V).join(`
60
+ `),B+=`
61
61
 
62
- 是否继续保存?`,!confirm($))return}const v=prompt("请输入流程名称:","未命名流程");if(!v||!v.trim())return;const V=n.toJSON(),T=n.getNodes().map($=>({id:$.id,shape:$.shape,position:$.getPosition(),size:$.getSize(),attrs:$.getAttrs(),data:$.getData()})),C=n.getEdges().map($=>({id:$.id,source:$.getSourceCellId(),target:$.getTargetCellId(),attrs:$.getAttrs(),data:$.getData()})),I={id:"workflow_"+Date.now(),name:v.trim(),data:{...V,nodes:T,edges:C},createdAt:Date.now(),updatedAt:Date.now()};try{const $=localStorage.getItem("saved-workflows"),x=$?JSON.parse($):[];x.push(I),localStorage.setItem("saved-workflows",JSON.stringify(x)),alert("✓ 流程保存成功!"),console.log("流程已保存:",I)}catch($){console.error("保存流程失败:",$),alert("保存失败,请重试")}};e.onMounted(()=>{d(),window.addEventListener("resize",b)});const b=()=>{!n||!a.value||n.resize(a.value.clientWidth,a.value.clientHeight)};return e.onBeforeUnmount(()=>{window.removeEventListener("resize",b);const E=k=>{if(k.key==="Delete"||k.key==="Backspace"){if(!n)return;const v=n.getSelectedCells();v.length&&(k.preventDefault(),n.removeCells(v),o.value&&v.includes(o.value.cell)&&(o.value=null))}};document.removeEventListener("keydown",E),n&&n.dispose()}),(E,k)=>(e.openBlock(),e.createElementBlock("div",v2,[e.createVNode(f2,{"show-close":u.showClose,onClear:f,onValidate:N,onSave:S,onClose:k[0]||(k[0]=v=>E.$emit("close"))},null,8,["show-close"]),e.createElementVNode("div",k2,[e.createElementVNode("div",_2,[e.createElementVNode("div",{id:"workflow-container",ref_key:"containerRef",ref:a},null,512)]),e.createVNode(c2,{"selected-cell":o.value,"onUpdate:label":m},null,8,["selected-cell"])]),e.createVNode(w2,{visible:i.value,position:l.value,"node-types":r.value,onClose:k[1]||(k[1]=v=>i.value=!1),onSelect:p},null,8,["visible","position","node-types"])]))}}),[["__scopeId","data-v-649349a2"]]),S2={key:0,class:"workflow-dialog-overlay"},x2={class:"workflow-dialog"},V2=Me(e.defineComponent({__name:"WorkflowDialog",props:{visible:{type:Boolean},scadaGraph:{default:null}},emits:["update:visible","close"],setup(u,{emit:t}){const r=u,a=t;e.watch(()=>r.visible,i=>{i?document.body.style.overflow="hidden":document.body.style.overflow=""});const n=()=>{a("update:visible",!1),a("close")},o=i=>{i.key==="Escape"&&r.visible&&n()};return typeof window<"u"&&window.addEventListener("keydown",o),(i,l)=>u.visible?(e.openBlock(),e.createElementBlock("div",S2,[e.createElementVNode("div",x2,[e.createVNode(N2,{"scada-graph":u.scadaGraph,"show-close":!0,onClose:n},null,8,["scada-graph"])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-4e7f6ab7"]]),C2={class:"dialog-container"},I2={class:"dialog-body"},A2={class:"datasource-list-panel"},T2={class:"datasource-list"},$2={key:0,class:"empty-hint"},B2=["onClick"],D2={class:"datasource-header"},P2={class:"datasource-info"},O2={class:"datasource-name"},M2={class:"datasource-type"},R2=["title"],j2={class:"datasource-meta"},L2={class:"device-count"},U2={class:"datasource-detail-panel"},F2={key:0,class:"empty-state"},z2={key:1,class:"detail-content"},W2={class:"detail-header"},q2={class:"detail-actions"},G2={class:"detail-form"},H2={class:"form-section"},K2={class:"form-item"},Y2={class:"form-item"},Q2=["disabled"],J2={class:"form-item"},X2={class:"switch"},Z2={key:0,class:"form-section"},e_={class:"form-item"},t_={class:"form-item"},r_={class:"form-item"},o_={class:"form-item"},n_={class:"form-item"},i_={key:1,class:"form-section"},a_={class:"form-item"},s_={key:2,class:"form-section"},l_={class:"form-item"},c_={class:"form-item"},d_={class:"form-item"},u_={key:3,class:"form-section"},f_={class:"form-item"},p_={class:"form-item"},h_={key:4,class:"form-section"},m_={class:"device-list"},g_={class:"device-info"},y_={class:"device-name"},b_={class:"device-id"},w_={class:"point-count"},E_={key:5,class:"form-section"},v_={class:"status-info"},k_={class:"status-row"},__={key:0,class:"status-row"},N_={class:"status-value"},S_={key:1,class:"status-row error"},x_={class:"status-value"},V_=Me(e.defineComponent({__name:"DataSourceDialog",props:{dataSources:{}},emits:["close","save","delete","add"],setup(u,{emit:t}){const r=t,a=e.ref(null),n=e.ref(!1),o=e.ref({name:"",type:"MQTT",enabled:!0,config:{broker:"",topic:"",clientId:"",username:"",password:"",wsUrl:"",url:"",method:"GET",pollInterval:5e3,sseUrl:"",eventType:""}}),i=m=>{a.value=m,n.value=!1,o.value={name:m.name,type:m.type,enabled:m.enabled,config:{...m.config}}},l=()=>{a.value=null,n.value=!0,o.value={name:"",type:"MQTT",enabled:!0,config:{broker:"mqtt://broker.emqx.io",topic:"/devices/+/data",clientId:"scada_"+Date.now(),username:"",password:""}}},s=()=>{if(!o.value.name){alert("请输入数据源名称");return}n.value?(r("add",{name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config}),n.value=!1):a.value&&r("save",{...a.value,name:o.value.name,type:o.value.type,enabled:o.value.enabled,config:o.value.config})},c=()=>{a.value&&confirm(`确定要删除数据源"${a.value.name}"吗?`)&&(r("delete",a.value.id),a.value=null,n.value=!1)},d=()=>{r("close")},h=m=>new Date(m).toLocaleString("zh-CN");return(m,p)=>{var f;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:e.withModifiers(d,["self"])},[e.createElementVNode("div",C2,[e.createElementVNode("div",{class:"dialog-header"},[p[14]||(p[14]=e.createElementVNode("h3",null,"数据源管理",-1)),e.createElementVNode("button",{class:"btn-close",onClick:d},"✕")]),e.createElementVNode("div",I2,[e.createElementVNode("div",A2,[e.createElementVNode("div",{class:"panel-header"},[p[15]||(p[15]=e.createElementVNode("span",null,"数据源列表",-1)),e.createElementVNode("button",{class:"btn-add",onClick:l},"+ 添加")]),e.createElementVNode("div",T2,[u.dataSources.length===0?(e.openBlock(),e.createElementBlock("div",$2," 暂无数据源 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.dataSources,w=>{var N,S,b;return e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["datasource-item",{active:((N=a.value)==null?void 0:N.id)===w.id}]),onClick:E=>i(w)},[e.createElementVNode("div",D2,[e.createElementVNode("div",P2,[e.createElementVNode("span",O2,e.toDisplayString(w.name),1),e.createElementVNode("span",M2,e.toDisplayString(w.type),1)]),e.createElementVNode("span",{class:e.normalizeClass(["status-dot",(S=w.status)!=null&&S.connected?"connected":"disconnected"]),title:(b=w.status)!=null&&b.connected?"已连接":"未连接"},null,10,R2)]),e.createElementVNode("div",j2,[e.createElementVNode("span",L2,e.toDisplayString(w.devices.length)+" 个设备",1)])],10,B2)}),128))])]),e.createElementVNode("div",U2,[!a.value&&!n.value?(e.openBlock(),e.createElementBlock("div",F2,[...p[16]||(p[16]=[e.createElementVNode("p",null,"请选择左侧数据源查看详情",-1)])])):(e.openBlock(),e.createElementBlock("div",z2,[e.createElementVNode("div",W2,[e.createElementVNode("h4",null,e.toDisplayString(n.value?"新建数据源":"数据源详情"),1),e.createElementVNode("div",q2,[n.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-secondary",onClick:c}," 删除 ")),e.createElementVNode("button",{class:"btn-primary",onClick:s},e.toDisplayString(n.value?"创建":"保存"),1)])]),e.createElementVNode("div",G2,[e.createElementVNode("div",H2,[p[22]||(p[22]=e.createElementVNode("h5",null,"基本信息",-1)),e.createElementVNode("div",K2,[p[17]||(p[17]=e.createElementVNode("label",null,"名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=w=>o.value.name=w),type:"text",placeholder:"例如:主机房 MQTT"},null,512),[[e.vModelText,o.value.name]])]),e.createElementVNode("div",Y2,[p[19]||(p[19]=e.createElementVNode("label",null,"类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[1]||(p[1]=w=>o.value.type=w),disabled:!n.value},[...p[18]||(p[18]=[e.createElementVNode("option",{value:"MQTT"},"MQTT",-1),e.createElementVNode("option",{value:"WebSocket"},"WebSocket",-1),e.createElementVNode("option",{value:"HTTP"},"HTTP",-1),e.createElementVNode("option",{value:"SSE"},"SSE",-1)])],8,Q2),[[e.vModelSelect,o.value.type]])]),e.createElementVNode("div",J2,[p[21]||(p[21]=e.createElementVNode("label",null,"启用",-1)),e.createElementVNode("label",X2,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":p[2]||(p[2]=w=>o.value.enabled=w)},null,512),[[e.vModelCheckbox,o.value.enabled]]),p[20]||(p[20]=e.createElementVNode("span",{class:"slider"},null,-1))])])]),o.value.type==="MQTT"?(e.openBlock(),e.createElementBlock("div",Z2,[p[29]||(p[29]=e.createElementVNode("h5",null,"MQTT 配置",-1)),e.createElementVNode("div",e_,[p[23]||(p[23]=e.createElementVNode("label",null,"Broker 地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[3]||(p[3]=w=>o.value.config.broker=w),type:"text",placeholder:"mqtt://broker.emqx.io 或 ws://broker.emqx.io:8083/mqtt"},null,512),[[e.vModelText,o.value.config.broker]]),p[24]||(p[24]=e.createElementVNode("span",{class:"form-hint"},"💡 浏览器会自动转换为 WebSocket,EMQX 公共服务器使用 8083 端口",-1))]),e.createElementVNode("div",t_,[p[25]||(p[25]=e.createElementVNode("label",null,"订阅主题",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[4]||(p[4]=w=>o.value.config.topic=w),type:"text",placeholder:"/devices/+/data"},null,512),[[e.vModelText,o.value.config.topic]])]),e.createElementVNode("div",r_,[p[26]||(p[26]=e.createElementVNode("label",null,"客户端 ID",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[5]||(p[5]=w=>o.value.config.clientId=w),type:"text",placeholder:"自动生成"},null,512),[[e.vModelText,o.value.config.clientId]])]),e.createElementVNode("div",o_,[p[27]||(p[27]=e.createElementVNode("label",null,"用户名",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[6]||(p[6]=w=>o.value.config.username=w),type:"text",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.username]])]),e.createElementVNode("div",n_,[p[28]||(p[28]=e.createElementVNode("label",null,"密码",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[7]||(p[7]=w=>o.value.config.password=w),type:"password",placeholder:"可选"},null,512),[[e.vModelText,o.value.config.password]])])])):e.createCommentVNode("",!0),o.value.type==="WebSocket"?(e.openBlock(),e.createElementBlock("div",i_,[p[31]||(p[31]=e.createElementVNode("h5",null,"WebSocket 配置",-1)),e.createElementVNode("div",a_,[p[30]||(p[30]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[8]||(p[8]=w=>o.value.config.wsUrl=w),type:"text",placeholder:"ws://localhost:8080"},null,512),[[e.vModelText,o.value.config.wsUrl]])])])):e.createCommentVNode("",!0),o.value.type==="HTTP"?(e.openBlock(),e.createElementBlock("div",s_,[p[36]||(p[36]=e.createElementVNode("h5",null,"HTTP 配置",-1)),e.createElementVNode("div",l_,[p[32]||(p[32]=e.createElementVNode("label",null,"接口地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[9]||(p[9]=w=>o.value.config.url=w),type:"text",placeholder:"https://api.example.com/data"},null,512),[[e.vModelText,o.value.config.url]])]),e.createElementVNode("div",c_,[p[34]||(p[34]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":p[10]||(p[10]=w=>o.value.config.method=w)},[...p[33]||(p[33]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1)])],512),[[e.vModelSelect,o.value.config.method]])]),e.createElementVNode("div",d_,[p[35]||(p[35]=e.createElementVNode("label",null,"轮询间隔 (ms)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[11]||(p[11]=w=>o.value.config.pollInterval=w),type:"number",min:"1000",step:"1000"},null,512),[[e.vModelText,o.value.config.pollInterval,void 0,{number:!0}]])])])):e.createCommentVNode("",!0),o.value.type==="SSE"?(e.openBlock(),e.createElementBlock("div",u_,[p[39]||(p[39]=e.createElementVNode("h5",null,"SSE 配置",-1)),e.createElementVNode("div",f_,[p[37]||(p[37]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[12]||(p[12]=w=>o.value.config.sseUrl=w),type:"text",placeholder:"https://api.example.com/events"},null,512),[[e.vModelText,o.value.config.sseUrl]])]),e.createElementVNode("div",p_,[p[38]||(p[38]=e.createElementVNode("label",null,"事件类型",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[13]||(p[13]=w=>o.value.config.eventType=w),type:"text",placeholder:"留空表示所有事件"},null,512),[[e.vModelText,o.value.config.eventType]])])])):e.createCommentVNode("",!0),a.value&&a.value.devices.length>0?(e.openBlock(),e.createElementBlock("div",h_,[p[40]||(p[40]=e.createElementVNode("h5",null,"已接收设备",-1)),e.createElementVNode("div",m_,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.devices,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:"device-item"},[e.createElementVNode("div",g_,[e.createElementVNode("span",y_,e.toDisplayString(w.name),1),e.createElementVNode("span",b_,e.toDisplayString(w.id),1)]),e.createElementVNode("span",w_,e.toDisplayString(w.points.length)+" 个点位",1)]))),128))])])):e.createCommentVNode("",!0),(f=a.value)!=null&&f.status?(e.openBlock(),e.createElementBlock("div",E_,[p[44]||(p[44]=e.createElementVNode("h5",null,"连接状态",-1)),e.createElementVNode("div",v_,[e.createElementVNode("div",k_,[p[41]||(p[41]=e.createElementVNode("span",null,"状态:",-1)),e.createElementVNode("span",{class:e.normalizeClass(["status-badge",a.value.status.connected?"connected":"disconnected"])},e.toDisplayString(a.value.status.connected?"已连接":"未连接"),3)]),a.value.status.lastUpdate?(e.openBlock(),e.createElementBlock("div",__,[p[42]||(p[42]=e.createElementVNode("span",null,"最后更新:",-1)),e.createElementVNode("span",N_,e.toDisplayString(h(a.value.status.lastUpdate)),1)])):e.createCommentVNode("",!0),a.value.status.error?(e.openBlock(),e.createElementBlock("div",S_,[p[43]||(p[43]=e.createElementVNode("span",null,"错误:",-1)),e.createElementVNode("span",x_,e.toDisplayString(a.value.status.error),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])]))])])])])}}}),[["__scopeId","data-v-b12950a1"]]),C_=["onClick"],I_={key:0,class:"scada-menu-icon"},A_={class:"scada-menu-text"},T_={key:1,class:"scada-menu-hotkey"},$_=e.defineComponent({__name:"ContextMenu",props:{visible:{type:Boolean,default:!1},position:{default:()=>({x:0,y:0})},menuItems:{default:()=>[]}},emits:["update:visible","menu-click"],setup(u,{emit:t}){const r=u,a=t,n=e.ref(),o=e.computed(()=>({position:"fixed",left:r.position.x+"px",top:r.position.y+"px",zIndex:99999,background:"#1f1f1f",border:"1px solid #3c3c3c",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.5)",minWidth:"180px",padding:"6px 0",userSelect:"none",pointerEvents:"auto",margin:"0",boxSizing:"border-box",color:"#fff",fontSize:"13px"})),i=d=>d.divider?{height:"1px",margin:"4px 8px",padding:"0",backgroundColor:"#3c3c3c",border:"none"}:{display:"flex",alignItems:"center",padding:"6px 12px",fontSize:"13px",color:d.disabled?"#666666":"#fff",cursor:d.disabled?"not-allowed":"pointer",margin:"0",border:"none",lineHeight:"1.2",minHeight:"28px",backgroundColor:"transparent"},l=d=>{var h;d.disabled||d.divider||(a("menu-click",d.key),(h=d.onClick)==null||h.call(d),a("update:visible",!1))},s=d=>{n.value&&!n.value.contains(d.target)&&a("update:visible",!1)},c=()=>{};return e.watch(()=>r.visible,d=>{d?(setTimeout(c,0),setTimeout(()=>{document.addEventListener("click",s,!0),document.addEventListener("contextmenu",s,!0)},50)):(document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0))}),e.onUnmounted(()=>{document.removeEventListener("click",s,!0),document.removeEventListener("contextmenu",s,!0)}),(d,h)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[u.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:n,class:"scada-context-menu",style:e.normalizeStyle(o.value),onClick:h[0]||(h[0]=e.withModifiers(()=>{},["stop"])),onContextmenu:h[1]||(h[1]=e.withModifiers(()=>{},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.menuItems,m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:e.normalizeClass(["scada-context-menu-item",{disabled:m.disabled,divider:m.divider}]),style:e.normalizeStyle(i(m)),onClick:p=>l(m)},[m.divider?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[m.icon?(e.openBlock(),e.createElementBlock("span",I_,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",A_,e.toDisplayString(m.label),1),m.hotkey?(e.openBlock(),e.createElementBlock("span",T_,e.toDisplayString(m.hotkey),1)):e.createCommentVNode("",!0)],64))],14,C_))),128))],36)):e.createCommentVNode("",!0)]))}}),B_={class:"scada-layout","data-scada-theme":"dark"},D_={class:"scada-canvas-container"},ic=Me(e.defineComponent({name:"ScadaCanvas",inheritAttrs:!0,__name:"ScadaCanvas",props:{authCode:{default:""},customFooter:{default:void 0},previewMode:{type:Boolean,default:!1},onSave:{type:Function,default:void 0},deviceData:{default:()=>({})},dataSource:{default:()=>({})}},emits:["preview"],setup(u,{expose:t,emit:r}){const a=u,n=r,o=e.ref(null),i=e.ref(null),l=e.ref(null),s=e.ref(0),c=e.ref(null),d=e.ref(!1),h=e.ref(!1),m=e.ref(!1),p=e.ref(!1);let f=null;const w=e.ref({visible:!1,position:{x:0,y:0},items:[],targetCell:null}),N=e.ref([]),S=e.computed(()=>a.deviceData&&Object.keys(a.deviceData).length>0?a.deviceData:{devices:He.getAllDevices().map(D=>({...D.device,_dataSourceId:D.dataSourceId,_dataSourceName:D.dataSourceName}))}),b=()=>{var y,_;const K=(_=(y=o.value)==null?void 0:y.containerRef)==null?void 0:_.parentElement;if(!K)return 1;const D=je.getConfig(),F=D.size.width,ae=D.size.height,ue=K.clientWidth,fe=K.clientHeight,ge=40,X=ue-ge,me=fe-ge,Ne=F/ae,ce=X/me;let Ve;return Ne>ce?Ve=X/F:Ve=me/ae,Math.min(Ve,1)},E=()=>{var y;if(!((y=o.value)!=null&&y.containerRef))return null;const K=je.getConfig(),D=K.size.width,F=K.size.height,ae=D/F,ue=o.value.containerRef.parentElement;if(!ue)return null;const fe=ue.clientWidth,ge=ue.clientHeight,X=40,me=fe-X,Ne=ge-X,ce=me/Ne;let Ve,g;return ae>ce?(Ve=me,g=me/ae):(g=Ne,Ve=Ne*ae),Ve=Math.min(Ve,D),g=Math.min(g,F),{width:Ve,height:g,canvasWidth:D,canvasHeight:F}},k=()=>{var fe;if(!f||!((fe=o.value)!=null&&fe.containerRef))return;const K=o.value.containerRef,D=E();if(!D)return;const{width:F,height:ae,canvasWidth:ue}=D;if(K.style.width=`${F}px`,K.style.height=`${ae}px`,f){const ge=F/ue;f.scale(ge,ge),f.centerContent(),je.updateByPath("zoom.scale",Number(ge.toFixed(2)))}};e.onMounted(()=>{var me,Ne,ce;if(!((me=o.value)!=null&&me.containerRef))return;const K=je.getConfig(),D=()=>{const Ve=window.innerWidth;Ve<1024?(m.value=!0,p.value=!0):Ve<1440&&(m.value=!0,p.value=!1)};D(),window.addEventListener("resize",D),Le.Graph.registerEdge("animated-edge",{inherit:"edge",markup:[{tagName:"path",selector:"line",attrs:{fill:"none"}},{tagName:"path",selector:"wrap",attrs:{fill:"none",stroke:"rgba(0,0,0,0)",strokeWidth:20}},{tagName:"circle",selector:"circle"}],attrs:{line:{connection:!0,stroke:"#10b981",strokeWidth:2,targetMarker:{name:"block",width:8,height:6}},wrap:{connection:!0,strokeLinecap:"round",strokeLinejoin:"round"}}},!0);const F=$t.getAllComponents();Object.values(F).forEach(Ve=>{Ve.component&&Sc({shape:Ve.shape,width:Ve.width,height:Ve.height,component:Ve.component,ports:Ve.ports})});const ae=o.value.containerRef,ue=K.size.width,fe=K.size.height,ge=b();console.log("🎬 [Canvas Init] 初始化画布",{initialScale:ge,canvasSize:{width:ue,height:fe},containerElement:(Ne=o.value)==null?void 0:Ne.containerRef});const X=()=>{k()};if(window.addEventListener("resize",X),f=new Le.Graph({container:ae,width:ue,height:fe,background:K.background.image?{color:K.background.color||"#1e293b",image:K.background.image,size:K.background.size||"cover",repeat:K.background.repeat||"no-repeat",position:"center"}:{color:K.background.color||"#1e293b"},grid:K.grid.enabled?{size:K.grid.size,visible:!0,type:K.grid.type||"dot",args:{color:K.grid.color||"#475569",thickness:1}}:!1,interacting:{nodeMovable:!a.previewMode},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:{name:"orth",args:{padding:10}},connector:{name:"rounded",args:{radius:8}},snap:K.magnetism.enabled?{radius:K.magnetism.threshold||10}:!1,allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,highlight:!0,createEdge(){return f.createEdge({shape:"animated-edge",zIndex:0})},validateConnection({targetMagnet:Ve}){return!!Ve}}}),!a.previewMode){console.log("🎯 [Selection Plugin] 初始化框选插件"),f.use(new Gt.Selection({enabled:!0,movable:!0,rubberband:!0,showNodeSelectionBox:!1,showEdgeSelectionBox:!1,multiple:!0,pointerEvents:"none"})),f.on("selection:changed",({selected:g})=>{console.log("✅ [Selection] 选中变化:",g.length,"个元素")});let Ve=!1;f.on("blank:mousedown",g=>{Ve=!0;const{e:y,x:_,y:B}=g;console.log("🖱️ [Rubberband Start]",{clientX:y.clientX,clientY:y.clientY,graphX:_,graphY:B,containerTransform:ae.style.transform,containerRect:ae.getBoundingClientRect()})}),f.on("blank:mousemove",g=>{if(Ve){const{e:y,x:_,y:B}=g;console.log("🖱️ [Rubberband Move]",{clientX:y.clientX,clientY:y.clientY,graphX:_,graphY:B})}}),f.on("blank:mouseup",()=>{Ve&&(Ve=!1,console.log("🖱️ [Rubberband End]"))})}if(K.guides.enabled&&f.use(new go.Snapline({enabled:!0,sharp:!0,clean:!0})),Promise.resolve().then(()=>{setTimeout(()=>{k()},100)}),ht.setGraph(f),dr.setGraph(f),vr.setGraph(f),At.setGraph(f),nv.setGraph(f),tc.initialize(f,o,b,()=>{k()}),!a.previewMode){const Ve=Fi(pt.SCADA_EDITOR_DATA);if(((ce=Ve==null?void 0:Ve.cells)==null?void 0:ce.length)>0)try{const g=Ve.cells.map(y=>{var _;return y.position&&typeof y.position=="object"&&(typeof y.position.x!="number"||typeof y.position.y!="number")&&(y.position={x:100,y:100}),(y.shape==="edge"||y.shape==="animated-edge")&&(y.router==="manhattan"||((_=y.router)==null?void 0:_.name)==="manhattan")&&(y.router={name:"orth",args:{padding:10}}),y});f.fromJSON({cells:g}),f.getEdges().forEach(y=>{var B;const _=y.getData();(B=_==null?void 0:_.animation)!=null&&B.enabled&&$(y,_.animation)})}catch(g){console.error("恢复画布数据失败,清空缓存:",g),lo(pt.SCADA_EDITOR_DATA)}try{const g=localStorage.getItem("scada-data-sources");if(g){const y=JSON.parse(g);Array.isArray(y)&&y.length>0&&(y.forEach(_=>{const B={id:_.id,name:_.name,type:_.type,enabled:_.enabled!==!1,config:_.config,devices:[],status:{connected:!1}};He.addDataSource(B)}),N.value=He.getAllDataSources())}}catch(g){console.error("[恢复数据源失败:",g)}}ec.initialize(f,{selectedNode:i,selectedEdge:l,selectedNodesCount:s,contextMenu:w,applyEdgeAnimation:$}),e.onUnmounted(()=>{ec.destroy(),window.removeEventListener("resize",X),window.removeEventListener("resize",D)})}),e.onUnmounted(()=>{if(He.disconnectAll(),f){Lt.clearAll();const K={cells:f.toJSON().cells,dataSources:He.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}))};cr(pt.SCADA_EDITOR_DATA,K),f.dispose()}}),e.watch(()=>je.getConfig(),()=>tc.applyConfigChanges(),{deep:!0}),e.watch([m,p],()=>{setTimeout(()=>{f&&k()},350)});const v=K=>{const D=dr.addNode(K);D&&f&&(f.cleanSelection(),f.select(D),cr(pt.SCADA_EDITOR_DATA,f.toJSON()))},V=K=>{i.value&&(dr.updateNode(i.value,K),f&&cr(pt.SCADA_EDITOR_DATA,f.toJSON()))},T=()=>{if(!i.value||!f)return;const K=i.value.id;dr.deleteNode(K),i.value=null,cr(pt.SCADA_EDITOR_DATA,f.toJSON())},C=K=>{l.value&&vr.updateEdge(l.value,K)},A=()=>{l.value&&(vr.deleteEdge(l.value.id),l.value=null)},I=K=>{var F,ae;if(!f)return;const D=w.value.targetCell;switch(K){case"delete":D&&(D.isNode()?(dr.deleteNode(D.id),((F=i.value)==null?void 0:F.id)===D.id&&(i.value=null)):D.isEdge()&&(vr.deleteEdge(D.id),((ae=l.value)==null?void 0:ae.id)===D.id&&(l.value=null)),At.saveToLocal());break;case"copy":if(D!=null&&D.isNode()){const ue=dr.cloneNode(D);ue&&f&&(f.cleanSelection(),f.select(ue),At.saveToLocal())}break;case"to-front":D&&(D.toFront(),At.saveToLocal());break;case"to-back":D&&(D.toBack(),At.saveToLocal());break;case"select-all":f.select(f.getNodes());break;case"clear-all":x();break}},$=(K,D)=>{vr.applyEdgeAnimation(K,D)},x=()=>{f&&confirm("确定要清空画布吗?")&&(Lt.clearAll(),f.clearCells(),i.value=null,At.clearCache(),Je("画布已清空","success"))},U=()=>ht.zoomIn(),Q=()=>ht.zoomOut(),W=()=>ht.alignLeft(),pe=()=>ht.alignCenter(),ne=()=>ht.alignRight(),re=()=>ht.alignTop(),de=()=>ht.alignMiddle(),Z=()=>ht.alignBottom(),se=()=>ht.distributeHorizontal(),R=()=>ht.distributeVertical(),ee=async()=>{if(!f){Je("画布未初始化","error");return}try{if(a.onSave){const D=a.onSave();D instanceof Promise&&await D;return}At.exportToFile(`scada-canvas-${new Date().getTime()}.json`)?Je("保存成功","success"):Je("保存失败","error")}catch(K){console.error("保存失败",K),Je("保存失败,请查看控制台","error")}},he=()=>{c.value&&c.value.click()},Y=K=>{var ue;const F=(ue=K.target.files)==null?void 0:ue[0];if(!F){Je("请选择文件","error");return}const ae=new FileReader;ae.onload=fe=>{var ge;try{const X=JSON.parse((ge=fe.target)==null?void 0:ge.result);At.importData(X,Ne=>{var Ve;const ce=Ne.getData();(Ve=ce==null?void 0:ce.animation)!=null&&Ve.enabled&&$(Ne,ce.animation)})&&(N.value=He.getAllDataSources()),c.value&&(c.value.value="")}catch(X){console.error("导入失败",X),Je("导入失败,JSON格式错误","error"),c.value&&(c.value.value="")}},ae.readAsText(F)},Se=()=>{if(!f){Je("画布未初始化","error");return}n("preview")},te=()=>{d.value=!0},q=()=>{h.value=!0,N.value=He.getAllDataSources();const K=setInterval(()=>{if(!h.value){clearInterval(K);return}N.value=He.getAllDataSources()},1e3)},le=()=>{try{const K=He.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}));localStorage.setItem("scada-data-sources",JSON.stringify(K))}catch(K){console.error("保存数据源失败:",K)}},J=K=>{const D={id:"ds_"+Date.now(),...K,devices:[],status:{connected:!1}};He.addDataSource(D),setTimeout(()=>{N.value=He.getAllDataSources(),le()},1e3),Je(`数据源 "${D.name}" 创建成功`,"success")},oe=K=>{He.updateDataSource(K.id,K),N.value=He.getAllDataSources(),le(),Je(`数据源 "${K.name}" 更新成功`,"success")},ie=K=>{const D=He.getDataSource(K);He.removeDataSource(K),N.value=He.getAllDataSources(),le(),Je(`数据源 "${D==null?void 0:D.name}" 已删除`,"success")},Ee=()=>{if(!f){Je("画布未初始化","error");return}try{const K=At.exportToFile("scada-export.json");K?Je(`已导出为 ${K}`,"success"):Je("导出失败","error")}catch(K){console.error("导出失败",K),Je("导出失败,请查看控制台","error")}};return t({save:ee,importFile:he,exportFile:Ee,preview:Se,workflow:te,zoomIn:U,zoomOut:Q,clearAll:x,alignLeft:W,alignCenter:pe,alignRight:ne,alignTop:re,alignMiddle:de,alignBottom:Z,distributeHorizontal:se,distributeVertical:R,addNode:v,updateNode:V,deleteNode:T,getSelectedNode:()=>i.value,selectNode:K=>{if(!f)return!1;const D=f.getCellById(K);return D?(f.select(D),!0):!1},clearSelection:()=>{f&&(f.unselect(f.getSelectedCells()),i.value=null)},getGraph:()=>f,getCanvasData:()=>f?{version:"1.0.0",timestamp:co(uo()),config:je.getConfig(),cells:f.toJSON().cells,nodes:f.getNodes().map(K=>({id:K.id,type:K.shape,position:K.getPosition(),size:K.getSize(),label:K.attr("label/text"),data:K.getData()})),edges:f.getEdges().map(K=>({id:K.id,source:K.getSourceCellId(),target:K.getTargetCellId()}))}:null,loadCanvasData:K=>{if(!f)return!1;try{return f.clearCells(),f.fromJSON({cells:K.cells}),K.config&&je.updateConfig(K.config),f.getEdges().forEach(D=>{var ae;const F=D.getData();(ae=F==null?void 0:F.animation)!=null&&ae.enabled&&$(D,F.animation)}),!0}catch(D){return console.error("加载画布数据失败:",D),!1}},getAllNodes:()=>f?f.getNodes().map(K=>({id:K.id,type:K.shape,position:K.getPosition(),size:K.getSize(),label:K.attr("label/text"),data:K.getData()})):[],getNodeById:K=>{if(!f)return null;const D=f.getCellById(K);if(!D||!D.isNode())return null;const F=D;return{id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()}},getConfigManager:()=>je,updateCanvasConfig:K=>{je.updateConfig(K)},setZoom:K=>{je.setZoom(K)},setCanvasSize:(K,D)=>{je.updateSize({width:K,height:D})},setBackgroundColor:K=>{je.updateBackground({color:K})},updateDeviceData:K=>{f&&(K!=null&&K.devices)&&K.devices.forEach(D=>{var F;(F=D.points)==null||F.forEach(ae=>{f&&f.getNodes().forEach(ue=>{const fe=ue.getData();fe!=null&&fe.bindings&&Object.entries(fe.bindings).forEach(([ge,X])=>{if(X.deviceId===D.id&&X.dataPoint===ae.id){const me=ae.value;if(ge==="attrs/text/text")ue.attr("text/text",me);else if(ge==="attrs/body/fill")ue.attr("body/fill",me);else{const Ne=ge.split(".");let ce=ue;for(let g=0;g<Ne.length-1;g++)ce=ce[Ne[g]];const Ve=Ne[Ne.length-1];ce&&Ve&&(ce[Ve]=me)}}})})})})},getAnimationEngine:()=>Lt}),(K,D)=>(e.openBlock(),e.createElementBlock("div",B_,[a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(yo,{key:0,"selected-nodes-count":s.value,onSave:ee,onImport:he,onWorkflow:te,onDataSource:q,onPreview:Se,onExport:Ee,onZoomIn:U,onZoomOut:Q,onClearAll:x,onAlignLeft:W,onAlignCenter:pe,onAlignRight:ne,onAlignTop:re,onAlignMiddle:de,onAlignBottom:Z,onDistributeHorizontal:se,onDistributeVertical:R},null,8,["selected-nodes-count"])),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"fileInputRef",ref:c,type:"file",accept:".json",style:{display:"none"},onChange:Y},null,544)),e.createElementVNode("div",D_,[a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Eo,{key:0,"is-collapsed":m.value,"onUpdate:collapsed":D[0]||(D[0]=F=>m.value=F),onAddComponent:v},null,8,["is-collapsed"])),e.createVNode(Em,{ref_key:"canvasAreaRef",ref:o},null,512),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(qi,{key:1,ref:"propertyPanelRef","selected-node":i.value,"selected-edge":l.value,"device-data":S.value,"is-collapsed":p.value,"onUpdate:collapsed":D[1]||(D[1]=F=>p.value=F),onUpdateNode:V,onDeleteNode:T,onUpdateEdge:C,onDeleteEdge:A},null,8,["selected-node","selected-edge","device-data","is-collapsed"]))]),e.createVNode(Fv,{"auth-code":u.authCode,"custom-footer":u.customFooter},null,8,["auth-code","custom-footer"]),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V2,{key:2,visible:d.value,"onUpdate:visible":D[2]||(D[2]=F=>d.value=F),"scada-graph":e.unref(f),onClose:D[3]||(D[3]=F=>d.value=!1)},null,8,["visible","scada-graph"])),h.value&&!a.previewMode?(e.openBlock(),e.createBlock(V_,{key:3,"data-sources":N.value,onClose:D[4]||(D[4]=F=>h.value=!1),onAdd:J,onSave:oe,onDelete:ie},null,8,["data-sources"])):e.createCommentVNode("",!0),a.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock($_,{key:4,visible:w.value.visible,"onUpdate:visible":D[5]||(D[5]=F=>w.value.visible=F),position:w.value.position,"menu-items":w.value.items,onMenuClick:I},null,8,["visible","position","menu-items"]))]))}}),[["__scopeId","data-v-8b9db2e8"]]);var ac=(u=>(u.BOOLEAN="boolean",u.NUMBER="number",u.STRING="string",u))(ac||{}),sc=(u=>(u.READ="read",u.WRITE="write",u.READ_WRITE="readWrite",u))(sc||{}),lc=(u=>(u.ONLINE="online",u.OFFLINE="offline",u.ERROR="error",u.MAINTENANCE="maintenance",u))(lc||{}),cc=(u=>(u.PLC="plc",u.SENSOR="sensor",u.ACTUATOR="actuator",u.METER="meter",u.CAMERA="camera",u.OTHER="other",u))(cc||{});const P_={ScadaCanvas:ic,PropertyPanel:qi,Header:yo,ComponentLibrary:Eo,CanvasConfigPanel:vo,BindingCard:Mi,EventCard:Oi,BasicPropertiesTab:ko,AttributeConfigDialog:Ri,CustomCodeDialog:ji},dc=u=>{Object.entries(P_).forEach(([t,r])=>{u.component(t,r)})},O_={install:dc,version:"1.0.0"};Ae.AttributeConfigDialog=Ri,Ae.BasicComponents=td,Ae.BasicPropertiesTab=ko,Ae.BindingCard=Mi,Ae.CanvasConfigPanel=vo,Ae.ComponentLibrary=Eo,Ae.CustomCodeDialog=ji,Ae.DeviceStatus=lc,Ae.DeviceType=cc,Ae.EventCard=Oi,Ae.Header=yo,Ae.IoTComponents=om,Ae.PointAccessMode=sc,Ae.PointDataType=ac,Ae.PropertyPanel=qi,Ae.STORAGE_KEYS=pt,Ae.ScadaCanvas=ic,Ae.animationEngine=Lt,Ae.canvasConfigItems=im,Ae.canvasConfigManager=je,Ae.componentRegistry=$t,Ae.default=O_,Ae.defaultCanvasConfig=wo,Ae.exportToJSON=QE,Ae.formatTimestamp=co,Ae.generateEventId=Xl,Ae.generateNodeId=JE,Ae.generateUniqueId=zi,Ae.getCurrentTimestamp=uo,Ae.install=dc,Ae.loadFromLocal=Fi,Ae.randomPosition=Zl,Ae.registerNodeEvents=YE,Ae.removeFromLocal=lo,Ae.saveToLocal=cr,Ae.showMessage=Je,Ae.sizePresetMap=ur,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
62
+ 是否继续保存?`,!confirm(B))return}const k=prompt("请输入流程名称:","未命名流程");if(!k||!k.trim())return;const C=o.toJSON(),$=o.getNodes().map(B=>({id:B.id,shape:B.shape,position:B.getPosition(),size:B.getSize(),attrs:B.getAttrs(),data:B.getData()})),A=o.getEdges().map(B=>({id:B.id,source:B.getSourceCellId(),target:B.getTargetCellId(),attrs:B.getAttrs(),data:B.getData()})),I={id:"workflow_"+Date.now(),name:k.trim(),data:{...C,nodes:$,edges:A},createdAt:Date.now(),updatedAt:Date.now()};try{const B=localStorage.getItem("saved-workflows"),V=B?JSON.parse(B):[];V.push(I),localStorage.setItem("saved-workflows",JSON.stringify(V)),alert("✓ 流程保存成功!"),console.log("流程已保存:",I)}catch(B){console.error("保存流程失败:",B),alert("保存失败,请重试")}};e.onMounted(()=>{u(),window.addEventListener("resize",y)});const y=()=>{!o||!s.value||o.resize(s.value.clientWidth,s.value.clientHeight)};return e.onBeforeUnmount(()=>{window.removeEventListener("resize",y);const v=_=>{if(_.key==="Delete"||_.key==="Backspace"){if(!o)return;const k=o.getSelectedCells();k.length&&(_.preventDefault(),o.removeCells(k),n.value&&k.includes(n.value.cell)&&(n.value=null))}};document.removeEventListener("keydown",v),o&&o.dispose()}),(v,_)=>(e.openBlock(),e.createElementBlock("div",L_,[e.createVNode(T_,{"show-close":d.showClose,onClear:p,onValidate:N,onSave:S,onClose:_[0]||(_[0]=k=>v.$emit("close"))},null,8,["show-close"]),e.createElementVNode("div",U_,[e.createElementVNode("div",F_,[e.createElementVNode("div",{id:"workflow-container",ref_key:"containerRef",ref:s},null,512)]),e.createVNode(C_,{"selected-cell":n.value,"onUpdate:label":m},null,8,["selected-cell"])]),e.createVNode(R_,{visible:i.value,position:l.value,"node-types":r.value,onClose:_[1]||(_[1]=k=>i.value=!1),onSelect:f},null,8,["visible","position","node-types"])]))}}),[["__scopeId","data-v-649349a2"]]),W_={key:0,class:"workflow-dialog-overlay"},q_={class:"workflow-dialog"},G_=Me(e.defineComponent({__name:"WorkflowDialog",props:{visible:{type:Boolean},scadaGraph:{default:null}},emits:["update:visible","close"],setup(d,{emit:t}){const r=d,s=t;e.watch(()=>r.visible,i=>{i?document.body.style.overflow="hidden":document.body.style.overflow=""});const o=()=>{s("update:visible",!1),s("close")},n=i=>{i.key==="Escape"&&r.visible&&o()};return typeof window<"u"&&window.addEventListener("keydown",n),(i,l)=>d.visible?(e.openBlock(),e.createElementBlock("div",W_,[e.createElementVNode("div",q_,[e.createVNode(z_,{"scada-graph":d.scadaGraph,"show-close":!0,onClose:o},null,8,["scada-graph"])])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-4e7f6ab7"]]),H_={class:"dialog-container"},K_={class:"dialog-body"},Q_={class:"datasource-list-panel"},Y_={class:"datasource-list"},J_={key:0,class:"empty-hint"},X_=["onClick"],Z_={class:"datasource-header"},e2={class:"datasource-info"},t2={class:"datasource-name"},r2={class:"datasource-type"},o2=["title"],n2={class:"datasource-meta"},i2={class:"device-count"},s2={class:"datasource-detail-panel"},a2={key:0,class:"empty-state"},l2={key:1,class:"detail-content"},c2={class:"detail-header"},d2={class:"detail-actions"},u2={class:"detail-form"},f2={class:"form-section"},p2={class:"form-item"},h2={class:"form-item"},m2=["disabled"],g2={class:"form-item"},y2={class:"switch"},b2={key:0,class:"form-section"},w2={class:"form-item"},E2={class:"form-item"},v2={class:"form-item"},k2={class:"form-item"},_2={class:"form-item"},N2={key:1,class:"form-section"},S2={class:"form-item"},x2={key:2,class:"form-section"},V2={class:"form-item"},C2={class:"form-item"},A2={class:"form-item"},I2={key:3,class:"form-section"},T2={class:"form-item"},$2={class:"form-item"},B2={key:4,class:"form-section"},D2={class:"device-list"},P2={class:"device-info"},O2={class:"device-name"},M2={class:"device-id"},R2={class:"point-count"},j2={key:5,class:"form-section"},L2={class:"status-info"},U2={class:"status-row"},F2={key:0,class:"status-row"},z2={class:"status-value"},W2={key:1,class:"status-row error"},q2={class:"status-value"},G2=Me(e.defineComponent({__name:"DataSourceDialog",props:{dataSources:{}},emits:["close","save","delete","add"],setup(d,{emit:t}){const r=t,s=e.ref(null),o=e.ref(!1),n=e.ref({name:"",type:"MQTT",enabled:!0,config:{broker:"",topic:"",clientId:"",username:"",password:"",wsUrl:"",url:"",method:"GET",pollInterval:5e3,sseUrl:"",eventType:""}}),i=m=>{s.value=m,o.value=!1,n.value={name:m.name,type:m.type,enabled:m.enabled,config:{...m.config}}},l=()=>{s.value=null,o.value=!0,n.value={name:"",type:"MQTT",enabled:!0,config:{broker:"mqtt://broker.emqx.io",topic:"/devices/+/data",clientId:"scada_"+Date.now(),username:"",password:""}}},a=()=>{if(!n.value.name){alert("请输入数据源名称");return}o.value?(r("add",{name:n.value.name,type:n.value.type,enabled:n.value.enabled,config:n.value.config}),o.value=!1):s.value&&r("save",{...s.value,name:n.value.name,type:n.value.type,enabled:n.value.enabled,config:n.value.config})},c=()=>{s.value&&confirm(`确定要删除数据源"${s.value.name}"吗?`)&&(r("delete",s.value.id),s.value=null,o.value=!1)},u=()=>{r("close")},h=m=>new Date(m).toLocaleString("zh-CN");return(m,f)=>{var p;return e.openBlock(),e.createElementBlock("div",{class:"dialog-overlay",onClick:e.withModifiers(u,["self"])},[e.createElementVNode("div",H_,[e.createElementVNode("div",{class:"dialog-header"},[f[14]||(f[14]=e.createElementVNode("h3",null,"数据源管理",-1)),e.createElementVNode("button",{class:"btn-close",onClick:u},"✕")]),e.createElementVNode("div",K_,[e.createElementVNode("div",Q_,[e.createElementVNode("div",{class:"panel-header"},[f[15]||(f[15]=e.createElementVNode("span",null,"数据源列表",-1)),e.createElementVNode("button",{class:"btn-add",onClick:l},"+ 添加")]),e.createElementVNode("div",Y_,[d.dataSources.length===0?(e.openBlock(),e.createElementBlock("div",J_," 暂无数据源 ")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.dataSources,w=>{var N,S,y;return e.openBlock(),e.createElementBlock("div",{key:w.id,class:e.normalizeClass(["datasource-item",{active:((N=s.value)==null?void 0:N.id)===w.id}]),onClick:v=>i(w)},[e.createElementVNode("div",Z_,[e.createElementVNode("div",e2,[e.createElementVNode("span",t2,e.toDisplayString(w.name),1),e.createElementVNode("span",r2,e.toDisplayString(w.type),1)]),e.createElementVNode("span",{class:e.normalizeClass(["status-dot",(S=w.status)!=null&&S.connected?"connected":"disconnected"]),title:(y=w.status)!=null&&y.connected?"已连接":"未连接"},null,10,o2)]),e.createElementVNode("div",n2,[e.createElementVNode("span",i2,e.toDisplayString(w.devices.length)+" 个设备",1)])],10,X_)}),128))])]),e.createElementVNode("div",s2,[!s.value&&!o.value?(e.openBlock(),e.createElementBlock("div",a2,[...f[16]||(f[16]=[e.createElementVNode("p",null,"请选择左侧数据源查看详情",-1)])])):(e.openBlock(),e.createElementBlock("div",l2,[e.createElementVNode("div",c2,[e.createElementVNode("h4",null,e.toDisplayString(o.value?"新建数据源":"数据源详情"),1),e.createElementVNode("div",d2,[o.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("button",{key:0,class:"btn-secondary",onClick:c}," 删除 ")),e.createElementVNode("button",{class:"btn-primary",onClick:a},e.toDisplayString(o.value?"创建":"保存"),1)])]),e.createElementVNode("div",u2,[e.createElementVNode("div",f2,[f[22]||(f[22]=e.createElementVNode("h5",null,"基本信息",-1)),e.createElementVNode("div",p2,[f[17]||(f[17]=e.createElementVNode("label",null,"名称",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[0]||(f[0]=w=>n.value.name=w),type:"text",placeholder:"例如:主机房 MQTT"},null,512),[[e.vModelText,n.value.name]])]),e.createElementVNode("div",h2,[f[19]||(f[19]=e.createElementVNode("label",null,"类型",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[1]||(f[1]=w=>n.value.type=w),disabled:!o.value},[...f[18]||(f[18]=[e.createElementVNode("option",{value:"MQTT"},"MQTT",-1),e.createElementVNode("option",{value:"WebSocket"},"WebSocket",-1),e.createElementVNode("option",{value:"HTTP"},"HTTP",-1),e.createElementVNode("option",{value:"SSE"},"SSE",-1)])],8,m2),[[e.vModelSelect,n.value.type]])]),e.createElementVNode("div",g2,[f[21]||(f[21]=e.createElementVNode("label",null,"启用",-1)),e.createElementVNode("label",y2,[e.withDirectives(e.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":f[2]||(f[2]=w=>n.value.enabled=w)},null,512),[[e.vModelCheckbox,n.value.enabled]]),f[20]||(f[20]=e.createElementVNode("span",{class:"slider"},null,-1))])])]),n.value.type==="MQTT"?(e.openBlock(),e.createElementBlock("div",b2,[f[29]||(f[29]=e.createElementVNode("h5",null,"MQTT 配置",-1)),e.createElementVNode("div",w2,[f[23]||(f[23]=e.createElementVNode("label",null,"Broker 地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[3]||(f[3]=w=>n.value.config.broker=w),type:"text",placeholder:"mqtt://broker.emqx.io 或 ws://broker.emqx.io:8083/mqtt"},null,512),[[e.vModelText,n.value.config.broker]]),f[24]||(f[24]=e.createElementVNode("span",{class:"form-hint"},"💡 浏览器会自动转换为 WebSocket,EMQX 公共服务器使用 8083 端口",-1))]),e.createElementVNode("div",E2,[f[25]||(f[25]=e.createElementVNode("label",null,"订阅主题",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[4]||(f[4]=w=>n.value.config.topic=w),type:"text",placeholder:"/devices/+/data"},null,512),[[e.vModelText,n.value.config.topic]])]),e.createElementVNode("div",v2,[f[26]||(f[26]=e.createElementVNode("label",null,"客户端 ID",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[5]||(f[5]=w=>n.value.config.clientId=w),type:"text",placeholder:"自动生成"},null,512),[[e.vModelText,n.value.config.clientId]])]),e.createElementVNode("div",k2,[f[27]||(f[27]=e.createElementVNode("label",null,"用户名",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[6]||(f[6]=w=>n.value.config.username=w),type:"text",placeholder:"可选"},null,512),[[e.vModelText,n.value.config.username]])]),e.createElementVNode("div",_2,[f[28]||(f[28]=e.createElementVNode("label",null,"密码",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[7]||(f[7]=w=>n.value.config.password=w),type:"password",placeholder:"可选"},null,512),[[e.vModelText,n.value.config.password]])])])):e.createCommentVNode("",!0),n.value.type==="WebSocket"?(e.openBlock(),e.createElementBlock("div",N2,[f[31]||(f[31]=e.createElementVNode("h5",null,"WebSocket 配置",-1)),e.createElementVNode("div",S2,[f[30]||(f[30]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[8]||(f[8]=w=>n.value.config.wsUrl=w),type:"text",placeholder:"ws://localhost:8080"},null,512),[[e.vModelText,n.value.config.wsUrl]])])])):e.createCommentVNode("",!0),n.value.type==="HTTP"?(e.openBlock(),e.createElementBlock("div",x2,[f[36]||(f[36]=e.createElementVNode("h5",null,"HTTP 配置",-1)),e.createElementVNode("div",V2,[f[32]||(f[32]=e.createElementVNode("label",null,"接口地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[9]||(f[9]=w=>n.value.config.url=w),type:"text",placeholder:"https://api.example.com/data"},null,512),[[e.vModelText,n.value.config.url]])]),e.createElementVNode("div",C2,[f[34]||(f[34]=e.createElementVNode("label",null,"请求方法",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":f[10]||(f[10]=w=>n.value.config.method=w)},[...f[33]||(f[33]=[e.createElementVNode("option",{value:"GET"},"GET",-1),e.createElementVNode("option",{value:"POST"},"POST",-1)])],512),[[e.vModelSelect,n.value.config.method]])]),e.createElementVNode("div",A2,[f[35]||(f[35]=e.createElementVNode("label",null,"轮询间隔 (ms)",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[11]||(f[11]=w=>n.value.config.pollInterval=w),type:"number",min:"1000",step:"1000"},null,512),[[e.vModelText,n.value.config.pollInterval,void 0,{number:!0}]])])])):e.createCommentVNode("",!0),n.value.type==="SSE"?(e.openBlock(),e.createElementBlock("div",I2,[f[39]||(f[39]=e.createElementVNode("h5",null,"SSE 配置",-1)),e.createElementVNode("div",T2,[f[37]||(f[37]=e.createElementVNode("label",null,"服务地址",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[12]||(f[12]=w=>n.value.config.sseUrl=w),type:"text",placeholder:"https://api.example.com/events"},null,512),[[e.vModelText,n.value.config.sseUrl]])]),e.createElementVNode("div",$2,[f[38]||(f[38]=e.createElementVNode("label",null,"事件类型",-1)),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":f[13]||(f[13]=w=>n.value.config.eventType=w),type:"text",placeholder:"留空表示所有事件"},null,512),[[e.vModelText,n.value.config.eventType]])])])):e.createCommentVNode("",!0),s.value&&s.value.devices.length>0?(e.openBlock(),e.createElementBlock("div",B2,[f[40]||(f[40]=e.createElementVNode("h5",null,"已接收设备",-1)),e.createElementVNode("div",D2,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value.devices,w=>(e.openBlock(),e.createElementBlock("div",{key:w.id,class:"device-item"},[e.createElementVNode("div",P2,[e.createElementVNode("span",O2,e.toDisplayString(w.name),1),e.createElementVNode("span",M2,e.toDisplayString(w.id),1)]),e.createElementVNode("span",R2,e.toDisplayString(w.points.length)+" 个点位",1)]))),128))])])):e.createCommentVNode("",!0),(p=s.value)!=null&&p.status?(e.openBlock(),e.createElementBlock("div",j2,[f[44]||(f[44]=e.createElementVNode("h5",null,"连接状态",-1)),e.createElementVNode("div",L2,[e.createElementVNode("div",U2,[f[41]||(f[41]=e.createElementVNode("span",null,"状态:",-1)),e.createElementVNode("span",{class:e.normalizeClass(["status-badge",s.value.status.connected?"connected":"disconnected"])},e.toDisplayString(s.value.status.connected?"已连接":"未连接"),3)]),s.value.status.lastUpdate?(e.openBlock(),e.createElementBlock("div",F2,[f[42]||(f[42]=e.createElementVNode("span",null,"最后更新:",-1)),e.createElementVNode("span",z2,e.toDisplayString(h(s.value.status.lastUpdate)),1)])):e.createCommentVNode("",!0),s.value.status.error?(e.openBlock(),e.createElementBlock("div",W2,[f[43]||(f[43]=e.createElementVNode("span",null,"错误:",-1)),e.createElementVNode("span",q2,e.toDisplayString(s.value.status.error),1)])):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)])]))])])])])}}}),[["__scopeId","data-v-b12950a1"]]),H2=["onClick"],K2={key:0,class:"scada-menu-icon"},Q2={class:"scada-menu-text"},Y2={key:1,class:"scada-menu-hotkey"},J2=e.defineComponent({__name:"ContextMenu",props:{visible:{type:Boolean,default:!1},position:{default:()=>({x:0,y:0})},menuItems:{default:()=>[]}},emits:["update:visible","menu-click"],setup(d,{emit:t}){const r=d,s=t,o=e.ref(),n=e.computed(()=>({position:"fixed",left:r.position.x+"px",top:r.position.y+"px",zIndex:99999,background:"#1f1f1f",border:"1px solid #3c3c3c",borderRadius:"4px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.5)",minWidth:"180px",padding:"6px 0",userSelect:"none",pointerEvents:"auto",margin:"0",boxSizing:"border-box",color:"#fff",fontSize:"13px"})),i=u=>u.divider?{height:"1px",margin:"4px 8px",padding:"0",backgroundColor:"#3c3c3c",border:"none"}:{display:"flex",alignItems:"center",padding:"6px 12px",fontSize:"13px",color:u.disabled?"#666666":"#fff",cursor:u.disabled?"not-allowed":"pointer",margin:"0",border:"none",lineHeight:"1.2",minHeight:"28px",backgroundColor:"transparent"},l=u=>{var h;u.disabled||u.divider||(s("menu-click",u.key),(h=u.onClick)==null||h.call(u),s("update:visible",!1))},a=u=>{o.value&&!o.value.contains(u.target)&&s("update:visible",!1)},c=()=>{};return e.watch(()=>r.visible,u=>{u?(setTimeout(c,0),setTimeout(()=>{document.addEventListener("click",a,!0),document.addEventListener("contextmenu",a,!0)},50)):(document.removeEventListener("click",a,!0),document.removeEventListener("contextmenu",a,!0))}),e.onUnmounted(()=>{document.removeEventListener("click",a,!0),document.removeEventListener("contextmenu",a,!0)}),(u,h)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[d.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"menuRef",ref:o,class:"scada-context-menu",style:e.normalizeStyle(n.value),onClick:h[0]||(h[0]=e.withModifiers(()=>{},["stop"])),onContextmenu:h[1]||(h[1]=e.withModifiers(()=>{},["prevent"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.menuItems,m=>(e.openBlock(),e.createElementBlock("div",{key:m.key,class:e.normalizeClass(["scada-context-menu-item",{disabled:m.disabled,divider:m.divider}]),style:e.normalizeStyle(i(m)),onClick:f=>l(m)},[m.divider?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[m.icon?(e.openBlock(),e.createElementBlock("span",K2,e.toDisplayString(m.icon),1)):e.createCommentVNode("",!0),e.createElementVNode("span",Q2,e.toDisplayString(m.label),1),m.hotkey?(e.openBlock(),e.createElementBlock("span",Y2,e.toDisplayString(m.hotkey),1)):e.createCommentVNode("",!0)],64))],14,H2))),128))],36)):e.createCommentVNode("",!0)]))}}),X2={class:"scada-layout","data-scada-theme":"dark"},Z2={class:"scada-canvas-container"},cc=Me(e.defineComponent({name:"ScadaCanvas",inheritAttrs:!0,__name:"ScadaCanvas",props:{authCode:{default:""},customFooter:{default:void 0},previewMode:{type:Boolean,default:!1},onSave:{type:Function,default:void 0},deviceData:{default:()=>({})},dataSource:{default:()=>({})}},emits:["preview"],setup(d,{expose:t,emit:r}){const s=d,o=r,n=e.ref(null),i=e.ref(null),l=e.ref(null),a=e.ref(0),c=e.ref(null),u=e.ref(!1),h=e.ref(!1),m=e.ref(!1),f=e.ref(!1);let p=null;const w=e.ref({visible:!1,position:{x:0,y:0},items:[],targetCell:null}),N=e.ref([]),S=e.computed(()=>s.deviceData&&Object.keys(s.deviceData).length>0?s.deviceData:{devices:Ke.getAllDevices().map(D=>({...D.device,_dataSourceId:D.dataSourceId,_dataSourceName:D.dataSourceName}))}),y=()=>{var b,E;const F=(E=(b=n.value)==null?void 0:b.containerRef)==null?void 0:E.parentElement;if(!F)return 1;const D=je.getConfig(),R=D.size.width,se=D.size.height,ue=F.clientWidth,pe=F.clientHeight,ye=40,Q=ue-ye,ge=pe-ye,ke=R/se,ce=Q/ge;let xe;return ke>ce?xe=Q/R:xe=ge/se,Math.min(xe,1)},v=()=>{var b;if(!((b=n.value)!=null&&b.containerRef))return null;const F=je.getConfig(),D=F.size.width,R=F.size.height,se=D/R,ue=n.value.containerRef.parentElement;if(!ue)return null;const pe=ue.clientWidth,ye=ue.clientHeight,Q=40,ge=pe-Q,ke=ye-Q,ce=ge/ke;let xe,g;return se>ce?(xe=ge,g=ge/se):(g=ke,xe=ke*se),xe=Math.min(xe,D),g=Math.min(g,R),{width:xe,height:g,canvasWidth:D,canvasHeight:R}},_=()=>{var pe;if(!p||!((pe=n.value)!=null&&pe.containerRef))return;const F=n.value.containerRef,D=v();if(!D)return;const{width:R,height:se,canvasWidth:ue}=D;if(F.style.width=`${R}px`,F.style.height=`${se}px`,p){const ye=R/ue;p.scale(ye,ye),p.centerContent(),je.updateByPath("zoom.scale",Number(ye.toFixed(2)))}};e.onMounted(async()=>{var Q,ge;if(!((Q=n.value)!=null&&Q.containerRef))return;const F=je.getConfig(),D=()=>{const ke=window.innerWidth;ke<1024?(m.value=!0,f.value=!0):ke<1440&&(m.value=!0,f.value=!1)};D(),window.addEventListener("resize",D),Le.Graph.registerEdge("animated-edge",{inherit:"edge",markup:[{tagName:"path",selector:"line",attrs:{fill:"none"}},{tagName:"path",selector:"wrap",attrs:{fill:"none",stroke:"rgba(0,0,0,0)",strokeWidth:20}},{tagName:"circle",selector:"circle"}],attrs:{line:{connection:!0,stroke:"#10b981",strokeWidth:2,targetMarker:{name:"block",width:8,height:6}},wrap:{connection:!0,strokeLinecap:"round",strokeLinejoin:"round"}}},!0);const R=bt.getAllComponents();Object.values(R).forEach(ke=>{ke.component&&is({shape:ke.shape,width:ke.width,height:ke.height,component:ke.component,ports:ke.ports})});const se=n.value.containerRef,ue=F.size.width,pe=F.size.height;y();const ye=()=>{_()};if(window.addEventListener("resize",ye),p=new Le.Graph({container:se,width:ue,height:pe,background:F.background.image?{color:F.background.color||"#1e293b",image:F.background.image,size:F.background.size||"cover",repeat:F.background.repeat||"no-repeat",position:"center"}:{color:F.background.color||"#1e293b"},grid:F.grid.enabled?{size:F.grid.size,visible:!0,type:F.grid.type||"dot",args:{color:F.grid.color||"#475569",thickness:1}}:!1,interacting:{nodeMovable:!s.previewMode},panning:{enabled:!0,modifiers:"shift"},mousewheel:{enabled:!0,modifiers:["ctrl","meta"]},connecting:{router:{name:"orth",args:{padding:10}},connector:{name:"rounded",args:{radius:8}},snap:F.magnetism.enabled?{radius:F.magnetism.threshold||10}:!1,allowBlank:!1,allowLoop:!1,allowNode:!1,allowEdge:!1,highlight:!0,createEdge(){return p.createEdge({shape:"animated-edge",zIndex:0})},validateConnection({targetMagnet:ke}){return!!ke}}}),s.previewMode||p.use(new Kt.Selection({enabled:!0,movable:!0,rubberband:!0,showNodeSelectionBox:!1,showEdgeSelectionBox:!1,multiple:!0,pointerEvents:"none"})),F.guides.enabled&&p.use(new bo.Snapline({enabled:!0,sharp:!0,clean:!0})),Promise.resolve().then(()=>{setTimeout(()=>{_()},100)}),mt.setGraph(p),fr.setGraph(p),_r.setGraph(p),$t.setGraph(p),uv.setGraph(p),ic.initialize(p,n,y,()=>{_()}),await bt.preloadAllComponents(),!s.previewMode){const ke=qi(ht.SCADA_EDITOR_DATA);if(((ge=ke==null?void 0:ke.cells)==null?void 0:ge.length)>0)try{const ce=ke.cells.map(xe=>{var g;return xe.position&&typeof xe.position=="object"&&(typeof xe.position.x!="number"||typeof xe.position.y!="number")&&(xe.position={x:100,y:100}),(xe.shape==="edge"||xe.shape==="animated-edge")&&(xe.router==="manhattan"||((g=xe.router)==null?void 0:g.name)==="manhattan")&&(xe.router={name:"orth",args:{padding:10}}),xe});p.fromJSON({cells:ce}),p.getEdges().forEach(xe=>{var b;const g=xe.getData();(b=g==null?void 0:g.animation)!=null&&b.enabled&&B(xe,g.animation)})}catch(ce){console.error("恢复画布数据失败,清空缓存:",ce),uo(ht.SCADA_EDITOR_DATA)}try{const ce=localStorage.getItem("scada-data-sources");if(ce){const xe=JSON.parse(ce);Array.isArray(xe)&&xe.length>0&&(xe.forEach(g=>{const b={id:g.id,name:g.name,type:g.type,enabled:g.enabled!==!1,config:g.config,devices:[],status:{connected:!1}};Ke.addDataSource(b)}),N.value=Ke.getAllDataSources())}}catch(ce){console.error("[恢复数据源失败:",ce)}}nc.initialize(p,{selectedNode:i,selectedEdge:l,selectedNodesCount:a,contextMenu:w,applyEdgeAnimation:B}),e.onUnmounted(()=>{nc.destroy(),window.removeEventListener("resize",ye),window.removeEventListener("resize",D)})}),e.onUnmounted(()=>{if(Ke.disconnectAll(),p){Ut.clearAll();const F={cells:p.toJSON().cells,dataSources:Ke.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}))};ur(ht.SCADA_EDITOR_DATA,F),p.dispose()}}),e.watch(()=>je.getConfig(),()=>ic.applyConfigChanges(),{deep:!0}),e.watch([m,f],()=>{setTimeout(()=>{p&&_()},350)});const k=async F=>{const D=await fr.addNode(F);D&&p&&(p.cleanSelection(),p.select(D),ur(ht.SCADA_EDITOR_DATA,p.toJSON()))},C=F=>{i.value&&(fr.updateNode(i.value,F),p&&ur(ht.SCADA_EDITOR_DATA,p.toJSON()))},$=()=>{if(!i.value||!p)return;const F=i.value.id;fr.deleteNode(F),i.value=null,ur(ht.SCADA_EDITOR_DATA,p.toJSON())},A=F=>{l.value&&_r.updateEdge(l.value,F)},T=()=>{l.value&&(_r.deleteEdge(l.value.id),l.value=null)},I=F=>{var R,se;if(!p)return;const D=w.value.targetCell;switch(F){case"delete":D&&(D.isNode()?(fr.deleteNode(D.id),((R=i.value)==null?void 0:R.id)===D.id&&(i.value=null)):D.isEdge()&&(_r.deleteEdge(D.id),((se=l.value)==null?void 0:se.id)===D.id&&(l.value=null)),$t.saveToLocal());break;case"copy":if(D!=null&&D.isNode()){const ue=fr.cloneNode(D);ue&&p&&(p.cleanSelection(),p.select(ue),$t.saveToLocal())}break;case"to-front":D&&(D.toFront(),$t.saveToLocal());break;case"to-back":D&&(D.toBack(),$t.saveToLocal());break;case"select-all":p.select(p.getNodes());break;case"clear-all":V();break}},B=(F,D)=>{_r.applyEdgeAnimation(F,D)},V=()=>{p&&confirm("确定要清空画布吗?")&&(Ut.clearAll(),p.clearCells(),i.value=null,$t.clearCache(),Xe("画布已清空","success"))},L=()=>mt.zoomIn(),K=()=>mt.zoomOut(),U=()=>mt.alignLeft(),de=()=>mt.alignCenter(),ne=()=>mt.alignRight(),re=()=>mt.alignTop(),fe=()=>mt.alignMiddle(),Y=()=>mt.alignBottom(),ae=()=>mt.distributeHorizontal(),M=()=>mt.distributeVertical(),J=async()=>{if(!p){Xe("画布未初始化","error");return}try{if(s.onSave){const D=s.onSave();D instanceof Promise&&await D;return}$t.exportToFile(`scada-canvas-${new Date().getTime()}.json`)?Xe("保存成功","success"):Xe("保存失败","error")}catch(F){console.error("保存失败",F),Xe("保存失败,请查看控制台","error")}},me=()=>{c.value&&c.value.click()},H=F=>{var ue;const R=(ue=F.target.files)==null?void 0:ue[0];if(!R){Xe("请选择文件","error");return}const se=new FileReader;se.onload=pe=>{var ye;try{const Q=JSON.parse((ye=pe.target)==null?void 0:ye.result);$t.importData(Q,ke=>{var xe;const ce=ke.getData();(xe=ce==null?void 0:ce.animation)!=null&&xe.enabled&&B(ke,ce.animation)})&&(N.value=Ke.getAllDataSources()),c.value&&(c.value.value="")}catch(Q){console.error("导入失败",Q),Xe("导入失败,JSON格式错误","error"),c.value&&(c.value.value="")}},se.readAsText(R)},Ne=()=>{if(!p){Xe("画布未初始化","error");return}o("preview")},Z=()=>{u.value=!0},q=()=>{h.value=!0,N.value=Ke.getAllDataSources();const F=setInterval(()=>{if(!h.value){clearInterval(F);return}N.value=Ke.getAllDataSources()},1e3)},le=()=>{try{const F=Ke.getAllDataSources().map(D=>({id:D.id,name:D.name,type:D.type,enabled:D.enabled,config:D.config}));localStorage.setItem("scada-data-sources",JSON.stringify(F))}catch(F){console.error("保存数据源失败:",F)}},X=F=>{const D={id:"ds_"+Date.now(),...F,devices:[],status:{connected:!1}};Ke.addDataSource(D),setTimeout(()=>{N.value=Ke.getAllDataSources(),le()},1e3),Xe(`数据源 "${D.name}" 创建成功`,"success")},oe=F=>{Ke.updateDataSource(F.id,F),N.value=Ke.getAllDataSources(),le(),Xe(`数据源 "${F.name}" 更新成功`,"success")},ie=F=>{const D=Ke.getDataSource(F);Ke.removeDataSource(F),N.value=Ke.getAllDataSources(),le(),Xe(`数据源 "${D==null?void 0:D.name}" 已删除`,"success")},ve=()=>{if(!p){Xe("画布未初始化","error");return}try{const F=$t.exportToFile("scada-export.json");F?Xe(`已导出为 ${F}`,"success"):Xe("导出失败","error")}catch(F){console.error("导出失败",F),Xe("导出失败,请查看控制台","error")}};return t({save:J,importFile:me,exportFile:ve,preview:Ne,workflow:Z,zoomIn:L,zoomOut:K,clearAll:V,alignLeft:U,alignCenter:de,alignRight:ne,alignTop:re,alignMiddle:fe,alignBottom:Y,distributeHorizontal:ae,distributeVertical:M,addNode:k,updateNode:C,deleteNode:$,getSelectedNode:()=>i.value,selectNode:F=>{if(!p)return!1;const D=p.getCellById(F);return D?(p.select(D),!0):!1},clearSelection:()=>{p&&(p.unselect(p.getSelectedCells()),i.value=null)},getGraph:()=>p,getCanvasData:()=>p?{version:"1.0.0",timestamp:fo(po()),config:je.getConfig(),cells:p.toJSON().cells,nodes:p.getNodes().map(F=>({id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()})),edges:p.getEdges().map(F=>({id:F.id,source:F.getSourceCellId(),target:F.getTargetCellId()}))}:null,loadCanvasData:F=>{if(!p)return!1;try{return p.clearCells(),p.fromJSON({cells:F.cells}),F.config&&je.updateConfig(F.config),p.getEdges().forEach(D=>{var se;const R=D.getData();(se=R==null?void 0:R.animation)!=null&&se.enabled&&B(D,R.animation)}),!0}catch(D){return console.error("加载画布数据失败:",D),!1}},getAllNodes:()=>p?p.getNodes().map(F=>({id:F.id,type:F.shape,position:F.getPosition(),size:F.getSize(),label:F.attr("label/text"),data:F.getData()})):[],getNodeById:F=>{if(!p)return null;const D=p.getCellById(F);if(!D||!D.isNode())return null;const R=D;return{id:R.id,type:R.shape,position:R.getPosition(),size:R.getSize(),label:R.attr("label/text"),data:R.getData()}},getConfigManager:()=>je,updateCanvasConfig:F=>{je.updateConfig(F)},setZoom:F=>{je.setZoom(F)},setCanvasSize:(F,D)=>{je.updateSize({width:F,height:D})},setBackgroundColor:F=>{je.updateBackground({color:F})},updateDeviceData:F=>{p&&(F!=null&&F.devices)&&F.devices.forEach(D=>{var R;(R=D.points)==null||R.forEach(se=>{p&&p.getNodes().forEach(ue=>{const pe=ue.getData();pe!=null&&pe.bindings&&Object.entries(pe.bindings).forEach(([ye,Q])=>{if(Q.deviceId===D.id&&Q.dataPoint===se.id){const ge=se.value;if(ye==="attrs/text/text")ue.attr("text/text",ge);else if(ye==="attrs/body/fill")ue.attr("body/fill",ge);else{const ke=ye.split(".");let ce=ue;for(let g=0;g<ke.length-1;g++)ce=ce[ke[g]];const xe=ke[ke.length-1];ce&&xe&&(ce[xe]=ge)}}})})})})},getAnimationEngine:()=>Ut}),(F,D)=>(e.openBlock(),e.createElementBlock("div",X2,[s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Eo,{key:0,"selected-nodes-count":a.value,onSave:J,onImport:me,onWorkflow:Z,onDataSource:q,onPreview:Ne,onExport:ve,onZoomIn:L,onZoomOut:K,onClearAll:V,onAlignLeft:U,onAlignCenter:de,onAlignRight:ne,onAlignTop:re,onAlignMiddle:fe,onAlignBottom:Y,onDistributeHorizontal:ae,onDistributeVertical:M},null,8,["selected-nodes-count"])),s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("input",{key:1,ref_key:"fileInputRef",ref:c,type:"file",accept:".json",style:{display:"none"},onChange:H},null,544)),e.createElementVNode("div",Z2,[s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(_o,{key:0,"is-collapsed":m.value,"onUpdate:collapsed":D[0]||(D[0]=R=>m.value=R),onAddComponent:k},null,8,["is-collapsed"])),e.createVNode(Vm,{ref_key:"canvasAreaRef",ref:n},null,512),s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(Ki,{key:1,ref:"propertyPanelRef","selected-node":i.value,"selected-edge":l.value,"device-data":S.value,"is-collapsed":f.value,"onUpdate:collapsed":D[1]||(D[1]=R=>f.value=R),onUpdateNode:C,onDeleteNode:$,onUpdateEdge:A,onDeleteEdge:T},null,8,["selected-node","selected-edge","device-data","is-collapsed"]))]),e.createVNode(ak,{"auth-code":d.authCode,"custom-footer":d.customFooter},null,8,["auth-code","custom-footer"]),s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(G_,{key:2,visible:u.value,"onUpdate:visible":D[2]||(D[2]=R=>u.value=R),"scada-graph":e.unref(p),onClose:D[3]||(D[3]=R=>u.value=!1)},null,8,["visible","scada-graph"])),h.value&&!s.previewMode?(e.openBlock(),e.createBlock(G2,{key:3,"data-sources":N.value,onClose:D[4]||(D[4]=R=>h.value=!1),onAdd:X,onSave:oe,onDelete:ie},null,8,["data-sources"])):e.createCommentVNode("",!0),s.previewMode?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(J2,{key:4,visible:w.value.visible,"onUpdate:visible":D[5]||(D[5]=R=>w.value.visible=R),position:w.value.position,"menu-items":w.value.items,onMenuClick:I},null,8,["visible","position","menu-items"]))]))}}),[["__scopeId","data-v-3379e637"]]);var dc=(d=>(d.BOOLEAN="boolean",d.NUMBER="number",d.STRING="string",d))(dc||{}),uc=(d=>(d.READ="read",d.WRITE="write",d.READ_WRITE="readWrite",d))(uc||{}),fc=(d=>(d.ONLINE="online",d.OFFLINE="offline",d.ERROR="error",d.MAINTENANCE="maintenance",d))(fc||{}),pc=(d=>(d.PLC="plc",d.SENSOR="sensor",d.ACTUATOR="actuator",d.METER="meter",d.CAMERA="camera",d.OTHER="other",d))(pc||{});const eN={ScadaCanvas:cc,PropertyPanel:Ki,Header:Eo,ComponentLibrary:_o,CanvasConfigPanel:No,BindingCard:Li,EventCard:ji,BasicPropertiesTab:So,AttributeConfigDialog:Ui,CustomCodeDialog:Fi},hc=d=>{Object.entries(eN).forEach(([t,r])=>{d.component(t,r)})},tN={install:hc,version:"1.0.0"};Ae.AttributeConfigDialog=Ui,Ae.BasicComponents=nd,Ae.BasicPropertiesTab=So,Ae.BindingCard=Li,Ae.CanvasConfigPanel=No,Ae.ComponentLibrary=_o,Ae.CustomCodeDialog=Fi,Ae.DeviceStatus=fc,Ae.DeviceType=pc,Ae.EventCard=ji,Ae.Header=Eo,Ae.IoTComponents=dm,Ae.PointAccessMode=uc,Ae.PointDataType=dc,Ae.PropertyPanel=Ki,Ae.STORAGE_KEYS=ht,Ae.ScadaCanvas=cc,Ae.animationEngine=Ut,Ae.canvasConfigItems=fm,Ae.canvasConfigManager=je,Ae.componentRegistry=bt,Ae.default=tN,Ae.defaultCanvasConfig=ko,Ae.exportToJSON=ov,Ae.formatTimestamp=fo,Ae.generateEventId=rc,Ae.generateNodeId=nv,Ae.generateUniqueId=Gi,Ae.getCurrentTimestamp=po,Ae.install=hc,Ae.loadFromLocal=qi,Ae.randomPosition=oc,Ae.registerNodeEvents=rv,Ae.removeFromLocal=uo,Ae.saveToLocal=ur,Ae.showMessage=Xe,Ae.sizePresetMap=pr,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});