app-v3-scripts-editor 1.29.2 → 1.29.3

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.
@@ -120519,7 +120519,7 @@ var aAt = "scripts_editor_3c0va90", sAt = "scripts_editor_3c0va91", lAt = "scrip
120519
120519
  function Dfe(e) {
120520
120520
  return Tr({ attr: { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }, child: [{ tag: "path", attr: { d: "M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20" }, child: [] }, { tag: "path", attr: { d: "M8 11h8" }, child: [] }, { tag: "path", attr: { d: "M8 7h6" }, child: [] }] })(e);
120521
120521
  }
120522
- const pAt = "1.29.2", mAt = {
120522
+ const pAt = "1.29.3", mAt = {
120523
120523
  version: pAt
120524
120524
  };
120525
120525
  var cm = /* @__PURE__ */ ((e) => (e.BOT = "bot", e.CLONE = "clone", e))(cm || {});
@@ -123134,9 +123134,9 @@ const y2t = () => {
123134
123134
  }
123135
123135
  ),
123136
123136
  /* @__PURE__ */ b("div", { className: r6 }),
123137
- /* @__PURE__ */ b("button", { type: "button", className: Wu, onClick: () => t(), children: /* @__PURE__ */ b(xAt, { size: 18 }) }),
123138
- /* @__PURE__ */ b(y2t, {}),
123139
123137
  /* @__PURE__ */ b("button", { type: "button", className: Wu, onClick: () => n(), children: /* @__PURE__ */ b(wAt, { size: 18 }) }),
123138
+ /* @__PURE__ */ b(y2t, {}),
123139
+ /* @__PURE__ */ b("button", { type: "button", className: Wu, onClick: () => t(), children: /* @__PURE__ */ b(xAt, { size: 18 }) }),
123140
123140
  /* @__PURE__ */ b("div", { className: r6 }),
123141
123141
  /* @__PURE__ */ b(
123142
123142
  "button",
@@ -853,7 +853,7 @@ See https://s-c.sh/2BAXzed for more info.`),window[Sw]+=1);const ui=({showArrowO
853
853
  ***************************************************************************** */function xse(e,t){const[n,r]=E.useState(null),o=E.useMemo(()=>Object.entries(t).flat(),[t]);return E.useEffect(()=>{if(!(e!=null&&e.current))return;const i=A$.create(Object.assign(Object.assign({},t),{container:e.current}));return r(i),()=>{i.destroy()}},[e,...o]),n}const Ise=/^on([A-Z])/,Sft=e=>Ise.test(e);function Eft(e,t){const n=E.useMemo(()=>Object.entries(t).flat(),[t]);E.useEffect(()=>{if(!e)return;const r=Object.entries(t);if(!r.length)return;const o=r.map(([i,a])=>{const s=i.replace(Ise,(l,c)=>c.toLowerCase());return e.on(s,(...l)=>a(e,...l))});return()=>{o.forEach(i=>i())}},[e,...n])}E.memo(e=>{const t=E.useRef(null),[n,r]=function(o){return E.useMemo(()=>{const i=Object.assign({},o),a=Object.assign({},o);for(const s in i)Sft(s)?delete i[s]:delete a[s];return[i,a]},[o])}(e);return Eft(xse(t,n),r),p.jsx("div",{ref:t})});function Nse(e){var{container:t}=e;const n=xse(t,function(o,i){var a={};for(var s in o)Object.prototype.hasOwnProperty.call(o,s)&&i.indexOf(s)<0&&(a[s]=o[s]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function"){var l=0;for(s=Object.getOwnPropertySymbols(o);l<s.length;l++)i.indexOf(s[l])<0&&Object.prototype.propertyIsEnumerable.call(o,s[l])&&(a[s[l]]=o[s[l]])}return a}(e,["container"])),r=function(o){const[i,a]=E.useState(!1),[s,l]=E.useState(!1),[c,u]=E.useState(!1),[d,f]=E.useState(0);return E.useEffect(()=>{if(!o)return;const h=[o.on("load",()=>{a(!1),l(!1),f(0)}),o.on("ready",()=>{a(!0),l(!1),u(!1),f(0)}),o.on("finish",()=>{u(!0)}),o.on("play",()=>{l(!0)}),o.on("pause",()=>{l(!1)}),o.on("timeupdate",()=>{f(o.getCurrentTime())}),o.on("destroy",()=>{a(!1),l(!1)})];return()=>{h.forEach(m=>m())}},[o]),E.useMemo(()=>({isReady:i,isPlaying:s,hasFinished:c,currentTime:d}),[s,c,d,i])}(n);return E.useMemo(()=>Object.assign(Object.assign({},r),{wavesurfer:n}),[r,n])}function S$(e,t,n,r){return new(n||(n=Promise))(function(o,i){function a(c){try{l(r.next(c))}catch(u){i(u)}}function s(c){try{l(r.throw(c))}catch(u){i(u)}}function l(c){var u;c.done?o(c.value):(u=c.value,u instanceof n?u:new n(function(d){d(u)})).then(a,s)}l((r=r.apply(e,[])).next())})}typeof SuppressedError=="function"&&SuppressedError;let Ose=class{constructor(){this.listeners={}}on(t,n,r){if(this.listeners[t]||(this.listeners[t]=new Set),r==null?void 0:r.once){const o=(...i)=>{this.un(t,o),n(...i)};return this.listeners[t].add(o),()=>this.un(t,o)}return this.listeners[t].add(n),()=>this.un(t,n)}un(t,n){var r;(r=this.listeners[t])===null||r===void 0||r.delete(n)}once(t,n){return this.on(t,n,{once:!0})}unAll(){this.listeners={}}emit(t,...n){this.listeners[t]&&this.listeners[t].forEach(r=>r(...n))}},wft=class extends Ose{constructor(t){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=t}onInit(){}_init(t){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}},xft=class extends Ose{constructor(){super(...arguments),this.animationFrameId=null,this.isRunning=!1}start(){if(this.isRunning)return;this.isRunning=!0;const t=()=>{this.isRunning&&(this.emit("tick"),this.animationFrameId=requestAnimationFrame(t))};t()}stop(){this.isRunning=!1,this.animationFrameId!==null&&(cancelAnimationFrame(this.animationFrameId),this.animationFrameId=null)}destroy(){this.stop()}};const Ift=["audio/webm","audio/wav","audio/mpeg","audio/mp4","audio/mp3"];let Nft=class Lfe extends wft{constructor(t){var n,r,o,i,a,s;super(Object.assign(Object.assign({},t),{audioBitsPerSecond:(n=t.audioBitsPerSecond)!==null&&n!==void 0?n:128e3,scrollingWaveform:(r=t.scrollingWaveform)!==null&&r!==void 0&&r,scrollingWaveformWindow:(o=t.scrollingWaveformWindow)!==null&&o!==void 0?o:5,continuousWaveform:(i=t.continuousWaveform)!==null&&i!==void 0&&i,renderRecordedAudio:(a=t.renderRecordedAudio)===null||a===void 0||a,mediaRecorderTimeslice:(s=t.mediaRecorderTimeslice)!==null&&s!==void 0?s:void 0})),this.stream=null,this.mediaRecorder=null,this.dataWindow=null,this.isWaveformPaused=!1,this.lastStartTime=0,this.lastDuration=0,this.duration=0,this.micStream=null,this.recordedBlobUrl=null,this.timer=new xft,this.subscriptions.push(this.timer.on("tick",()=>{const l=performance.now()-this.lastStartTime;this.duration=this.isPaused()?this.duration:this.lastDuration+l,this.emit("record-progress",this.duration)}))}static create(t){return new Lfe(t||{})}renderMicStream(t){var n;const r=new AudioContext,o=r.createMediaStreamSource(t),i=r.createAnalyser();o.connect(i),this.options.continuousWaveform&&(i.fftSize=32);const a=i.frequencyBinCount,s=new Float32Array(a);let l=0;this.wavesurfer&&((n=this.originalOptions)!==null&&n!==void 0||(this.originalOptions=Object.assign({},this.wavesurfer.options)),this.wavesurfer.options.interact=!1,this.options.scrollingWaveform&&(this.wavesurfer.options.cursorWidth=0));const c=setInterval(()=>{var u,d,f,h;if(!this.isWaveformPaused){if(i.getFloatTimeDomainData(s),this.options.scrollingWaveform){const m=Math.floor((this.options.scrollingWaveformWindow||0)*r.sampleRate),y=Math.min(m,this.dataWindow?this.dataWindow.length+a:a),v=new Float32Array(m);if(this.dataWindow){const b=Math.max(0,m-this.dataWindow.length);v.set(this.dataWindow.slice(-y+a),b)}v.set(s,m-a),this.dataWindow=v}else if(this.options.continuousWaveform){if(!this.dataWindow){const y=this.options.continuousWaveformDuration?Math.round(100*this.options.continuousWaveformDuration):((d=(u=this.wavesurfer)===null||u===void 0?void 0:u.getWidth())!==null&&d!==void 0?d:0)*window.devicePixelRatio;this.dataWindow=new Float32Array(y)}let m=0;for(let y=0;y<a;y++){const v=Math.abs(s[y]);v>m&&(m=v)}if(l+1>this.dataWindow.length){const y=new Float32Array(2*this.dataWindow.length);y.set(this.dataWindow,0),this.dataWindow=y}this.dataWindow[l]=m,l++}else this.dataWindow=s;if(this.wavesurfer){const m=((h=(f=this.dataWindow)===null||f===void 0?void 0:f.length)!==null&&h!==void 0?h:0)/100;this.wavesurfer.load("",[this.dataWindow],this.options.scrollingWaveform?this.options.scrollingWaveformWindow:m).then(()=>{this.wavesurfer&&this.options.continuousWaveform&&(this.wavesurfer.setTime(this.getDuration()/1e3),this.wavesurfer.options.minPxPerSec||this.wavesurfer.setOptions({minPxPerSec:this.wavesurfer.getWidth()/this.wavesurfer.getDuration()}))}).catch(y=>{console.error("Error rendering real-time recording data:",y)})}}},10);return{onDestroy:()=>{clearInterval(c),o==null||o.disconnect(),r==null||r.close()},onEnd:()=>{this.isWaveformPaused=!0,this.stopMic()}}}startMic(t){return S$(this,void 0,void 0,function*(){let n;this.micStream&&this.stopMic();try{n=yield navigator.mediaDevices.getUserMedia({audio:t==null||t})}catch(o){throw new Error("Error accessing the microphone: "+o.message)}const r=this.renderMicStream(n);return this.micStream=r,this.unsubscribeDestroy=this.once("destroy",r.onDestroy),this.unsubscribeRecordEnd=this.once("record-end",r.onEnd),this.stream=n,n})}stopMic(){var t,n,r;(t=this.micStream)===null||t===void 0||t.onDestroy(),(n=this.unsubscribeDestroy)===null||n===void 0||n.call(this),(r=this.unsubscribeRecordEnd)===null||r===void 0||r.call(this),this.micStream=null,this.unsubscribeDestroy=void 0,this.unsubscribeRecordEnd=void 0,this.stream&&(this.stream.getTracks().forEach(o=>o.stop()),this.stream=null,this.mediaRecorder=null)}startRecording(t){return S$(this,void 0,void 0,function*(){const n=this.stream||(yield this.startMic(t));this.dataWindow=null;const r=this.mediaRecorder||new MediaRecorder(n,{mimeType:this.options.mimeType||Ift.find(a=>MediaRecorder.isTypeSupported(a)),audioBitsPerSecond:this.options.audioBitsPerSecond});this.mediaRecorder=r,this.stopRecording();const o=[];r.ondataavailable=a=>{a.data.size>0&&o.push(a.data),this.emit("record-data-available",a.data)};const i=a=>{var s;const l=new Blob(o,{type:r.mimeType});this.emit(a,l),this.options.renderRecordedAudio&&(this.applyOriginalOptionsIfNeeded(),this.recordedBlobUrl&&URL.revokeObjectURL(this.recordedBlobUrl),this.recordedBlobUrl=URL.createObjectURL(l),(s=this.wavesurfer)===null||s===void 0||s.load(this.recordedBlobUrl))};r.onpause=()=>i("record-pause"),r.onstop=()=>i("record-end"),r.start(this.options.mediaRecorderTimeslice),this.lastStartTime=performance.now(),this.lastDuration=0,this.duration=0,this.isWaveformPaused=!1,this.timer.start(),this.emit("record-start")})}getDuration(){return this.duration}isRecording(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="recording"}isPaused(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)==="paused"}isActive(){var t;return((t=this.mediaRecorder)===null||t===void 0?void 0:t.state)!=="inactive"}stopRecording(){var t;this.isActive()&&((t=this.mediaRecorder)===null||t===void 0||t.stop(),this.timer.stop())}pauseRecording(){var t,n;this.isRecording()&&(this.isWaveformPaused=!0,(t=this.mediaRecorder)===null||t===void 0||t.requestData(),(n=this.mediaRecorder)===null||n===void 0||n.pause(),this.timer.stop(),this.lastDuration=this.duration)}resumeRecording(){var t;this.isPaused()&&(this.isWaveformPaused=!1,(t=this.mediaRecorder)===null||t===void 0||t.resume(),this.timer.start(),this.lastStartTime=performance.now(),this.emit("record-resume"))}static getAvailableAudioDevices(){return S$(this,void 0,void 0,function*(){return navigator.mediaDevices.enumerateDevices().then(t=>t.filter(n=>n.kind==="audioinput"))})}destroy(){this.applyOriginalOptionsIfNeeded(),super.destroy(),this.stopRecording(),this.stopMic(),this.recordedBlobUrl&&(URL.revokeObjectURL(this.recordedBlobUrl),this.recordedBlobUrl=null)}applyOriginalOptionsIfNeeded(){this.wavesurfer&&this.originalOptions&&(this.wavesurfer.setOptions(this.originalOptions),delete this.originalOptions)}};const Tse=()=>{const{axiosInstance:e,context:{COMPANY_ID:t,CALLBOTSCENARIO_ID:n}}=En(),{error:r}=jw();return mb({mutationFn:async({audio:o})=>{var a,s,l;if(!t||!n)throw new Error("COMPANY_ID and CALLBOTSCENARIO_ID are required");const i=new FormData;i.append("raw_file",o);try{return(await e.postForm(`/company/${t}/callbotscenario/${n}/file`,i)).data}catch(c){const u=c;throw r((l=(s=(a=u.response)==null?void 0:a.data)==null?void 0:s.raw_file)==null?void 0:l[0]),u}},onError:o=>{console.error("Upload audio error:",o)}})},kse=60*10,Vw=({onStartRecord:e,onFinishRecord:t})=>{const n=E.useRef(null),r=E.useRef(null),o=E.useRef(null),[i,a]=E.useState(!1),[s,l]=E.useState(0),{mutateAsync:c,isPending:u}=Tse(),d=m=>{const y=Math.floor(m/60).toString().padStart(2,"0"),v=(m%60).toString().padStart(2,"0");return`${y}:${v}`};Nse({container:n,waveColor:"#b0dfff",progressColor:"#30b4ff",height:50,plugins:E.useMemo(()=>{const m=Nft.create({renderRecordedAudio:!1,continuousWaveform:!1,scrollingWaveform:!0,continuousWaveformDuration:30});return m.on("record-progress",y=>{const v=Math.floor(y/1e3);l(v),v>=kse&&f()}),m.on("record-start",()=>console.log("🎤 Recording started")),m.on("record-end",()=>console.log("✅ Recording finished")),m.on("record-data-available",async y=>{const v=`${Aje("recording")}.webm`,b=new File([y],v,{type:y.type}),A=await c({audio:b});t==null||t(A)}),r.current=m,[m]},[])});const f=()=>{r.current&&(r.current.stopRecording(),a(!1),o.current&&(clearTimeout(o.current),o.current=null))},h=()=>{r.current&&r.current.startRecording().then(()=>{a(!0),e==null||e(),l(0),o.current=setTimeout(()=>{f()},kse*1e3)}).catch(m=>console.error("Start recording failed:",m))};return p.jsxs(Je,{gap:12,align:"center",style:{flex:1},children:[i?p.jsx(It,{type:"text",onClick:f,disabled:u,style:{width:"40px",height:"32px",borderRadius:"8px",backgroundColor:Kn.speakBlock.background,border:`1px solid ${Kn.speakBlock.border}`,display:"flex",alignItems:"center",justifyContent:"center",padding:0},children:p.jsx("div",{style:{width:"12px",height:"12px",backgroundColor:Kn.common.red,borderRadius:"2px"}})}):p.jsx(It,{icon:u?p.jsx(As,{}):p.jsx(zN,{}),onClick:h,disabled:u,loading:u,children:u?"Đang tải lên...":"Ghi âm"}),p.jsx("div",{ref:n,style:{width:"100%",height:50,overflow:"hidden",opacity:i?1:0,pointerEvents:i?"auto":"none",transition:"opacity 0.2s"}}),i&&p.jsx("div",{style:{fontSize:14,fontWeight:500,minWidth:40,textAlign:"right"},children:d(s)})]})};var Oft="scripts_editor_14vtnyz0",Tft="scripts_editor_14vtnyz1",kft="scripts_editor_14vtnyz2";const E$=({url:e,className:t,formPath:n,onDelete:r})=>{const o=te.useFormInstance();if(!e||e==="")return p.jsx(bf,{message:"Không có file âm thanh",description:"Vui lòng tải lên file âm thanh hoặc ghi âm",type:"info",showIcon:!0,icon:p.jsx(zN,{})});const i=()=>{n&&n.forEach(a=>{o.setFieldValue(a,void 0)}),r==null||r()};return p.jsx("div",{className:t,children:p.jsxs("div",{className:Tft,children:[p.jsxs("audio",{controls:!0,preload:"auto","aria-label":"Audio playback",src:e,style:{height:32,maxWidth:"260px"},children:[p.jsx("track",{kind:"captions",src:"",label:"Captions"}),"Trình duyệt của bạn không hỗ trợ phát âm thanh."]}),n&&p.jsx(It,{className:kft,danger:!0,icon:p.jsx(Oa,{}),"aria-label":"Delete audio",style:{marginLeft:"8px"},onClick:i})]})})};var Mft="scripts_editor_1v7rh6r0";const Mse=({content:e})=>p.jsx("div",{className:Mft,children:e}),$ft=({prefixPaths:e=[]})=>p.jsxs(p.Fragment,{children:[p.jsx(Mse,{content:"Cắt file audio tự động có thể không chính xác bằng cắt file audio thủ công."}),p.jsx(te.Item,{name:[...e,"record","trim"],valuePropName:"checked",children:p.jsx($r,{children:p.jsxs(Je,{align:"center",gap:8,children:["Tự động cắt file ghi âm",p.jsx(pr,{title:"Hệ thống tự động cắt phần đầu và phần cuối không có âm thanh",children:p.jsx(Vu,{})})]})})}),p.jsx(te.Item,{name:[...e,"record","autoGender"],valuePropName:"checked",children:p.jsx($r,{children:p.jsxs(Je,{align:"center",gap:8,children:["Tự động tạo file ghi âm nam/nữ",p.jsx(pr,{title:`Hệ thống tự động tạo file ghi âm nam/nữ từ file ghi âm gốc,
854
854
  sử dụng trong tính năng nhận diện giới tính`,children:p.jsx(Vu,{})})]})})}),p.jsx(Je,{justify:"center",children:p.jsx(It,{type:"primary",children:"Áp dụng"})})]});let $se=class{constructor(){this.listeners={}}on(t,n,r){if(this.listeners[t]||(this.listeners[t]=new Set),r==null?void 0:r.once){const o=(...i)=>{this.un(t,o),n(...i)};return this.listeners[t].add(o),()=>this.un(t,o)}return this.listeners[t].add(n),()=>this.un(t,n)}un(t,n){var r;(r=this.listeners[t])===null||r===void 0||r.delete(n)}once(t,n){return this.on(t,n,{once:!0})}unAll(){this.listeners={}}emit(t,...n){this.listeners[t]&&this.listeners[t].forEach(r=>r(...n))}},_ft=class extends $se{constructor(t){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=t}onInit(){}_init(t){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}};function Hw(e,t,n,r,o=3,i=0,a=100){if(!e)return()=>{};const s=matchMedia("(pointer: coarse)").matches;let l=()=>{};const c=u=>{if(u.button!==i)return;u.preventDefault(),u.stopPropagation();let d=u.clientX,f=u.clientY,h=!1;const m=Date.now(),y=C=>{if(C.preventDefault(),C.stopPropagation(),s&&Date.now()-m<a)return;const x=C.clientX,I=C.clientY,N=x-d,k=I-f;if(h||Math.abs(N)>o||Math.abs(k)>o){const O=e.getBoundingClientRect(),{left:M,top:$}=O;h||(n==null||n(d-M,f-$),h=!0),t(N,k,x-M,I-$),d=x,f=I}},v=C=>{if(h){const x=C.clientX,I=C.clientY,N=e.getBoundingClientRect(),{left:k,top:O}=N;r==null||r(x-k,I-O)}l()},b=C=>{C.relatedTarget&&C.relatedTarget!==document.documentElement||v(C)},A=C=>{h&&(C.stopPropagation(),C.preventDefault())},S=C=>{h&&C.preventDefault()};document.addEventListener("pointermove",y),document.addEventListener("pointerup",v),document.addEventListener("pointerout",b),document.addEventListener("pointercancel",b),document.addEventListener("touchmove",S,{passive:!1}),document.addEventListener("click",A,{capture:!0}),l=()=>{document.removeEventListener("pointermove",y),document.removeEventListener("pointerup",v),document.removeEventListener("pointerout",b),document.removeEventListener("pointercancel",b),document.removeEventListener("touchmove",S),setTimeout(()=>{document.removeEventListener("click",A,{capture:!0})},10)}};return e.addEventListener("pointerdown",c),()=>{l(),e.removeEventListener("pointerdown",c)}}function _se(e,t){const n=t.xmlns?document.createElementNS(t.xmlns,e):document.createElement(e);for(const[r,o]of Object.entries(t))if(r==="children"&&o)for(const[i,a]of Object.entries(o))a instanceof Node?n.appendChild(a):typeof a=="string"?n.appendChild(document.createTextNode(a)):n.appendChild(_se(i,a));else r==="style"?Object.assign(n.style,o):r==="textContent"?n.textContent=o:n.setAttribute(r,o.toString());return n}function by(e,t,n){const r=_se(e,t||{});return n==null||n.appendChild(r),r}let Pse=class extends $se{constructor(t,n,r=0){var o,i,a,s,l,c,u,d,f,h;super(),this.totalDuration=n,this.numberOfChannels=r,this.element=null,this.minLength=0,this.maxLength=1/0,this.contentEditable=!1,this.subscriptions=[],this.updatingSide=void 0,this.isRemoved=!1,this.subscriptions=[],this.id=t.id||`region-${Math.random().toString(32).slice(2)}`,this.start=this.clampPosition(t.start),this.end=this.clampPosition((o=t.end)!==null&&o!==void 0?o:t.start),this.drag=(i=t.drag)===null||i===void 0||i,this.resize=(a=t.resize)===null||a===void 0||a,this.resizeStart=(s=t.resizeStart)===null||s===void 0||s,this.resizeEnd=(l=t.resizeEnd)===null||l===void 0||l,this.color=(c=t.color)!==null&&c!==void 0?c:"rgba(0, 0, 0, 0.1)",this.minLength=(u=t.minLength)!==null&&u!==void 0?u:this.minLength,this.maxLength=(d=t.maxLength)!==null&&d!==void 0?d:this.maxLength,this.channelIdx=(f=t.channelIdx)!==null&&f!==void 0?f:-1,this.contentEditable=(h=t.contentEditable)!==null&&h!==void 0?h:this.contentEditable,this.element=this.initElement(),this.setContent(t.content),this.setPart(),this.renderPosition(),this.initMouseEvents()}clampPosition(t){return Math.max(0,Math.min(this.totalDuration,t))}setPart(){var t;const n=this.start===this.end;(t=this.element)===null||t===void 0||t.setAttribute("part",`${n?"marker":"region"} ${this.id}`)}addResizeHandles(t){const n={position:"absolute",zIndex:"2",width:"6px",height:"100%",top:"0",cursor:"ew-resize",wordBreak:"keep-all"},r=by("div",{part:"region-handle region-handle-left",style:Object.assign(Object.assign({},n),{left:"0",borderLeft:"2px solid rgba(0, 0, 0, 0.5)",borderRadius:"2px 0 0 2px"})},t),o=by("div",{part:"region-handle region-handle-right",style:Object.assign(Object.assign({},n),{right:"0",borderRight:"2px solid rgba(0, 0, 0, 0.5)",borderRadius:"0 2px 2px 0"})},t);this.subscriptions.push(Hw(r,i=>this.onResize(i,"start"),()=>null,()=>this.onEndResizing("start"),1),Hw(o,i=>this.onResize(i,"end"),()=>null,()=>this.onEndResizing("end"),1))}removeResizeHandles(t){const n=t.querySelector('[part*="region-handle-left"]'),r=t.querySelector('[part*="region-handle-right"]');n&&t.removeChild(n),r&&t.removeChild(r)}initElement(){if(this.isRemoved)return null;const t=this.start===this.end;let n=0,r=100;this.channelIdx>=0&&this.numberOfChannels>0&&this.channelIdx<this.numberOfChannels&&(r=100/this.numberOfChannels,n=r*this.channelIdx);const o=by("div",{style:{position:"absolute",top:`${n}%`,height:`${r}%`,backgroundColor:t?"none":this.color,borderLeft:t?"2px solid "+this.color:"none",borderRadius:"2px",boxSizing:"border-box",transition:"background-color 0.2s ease",cursor:this.drag?"grab":"default",pointerEvents:"all"}});return!t&&this.resize&&this.addResizeHandles(o),o}renderPosition(){if(!this.element)return;const t=this.start/this.totalDuration,n=(this.totalDuration-this.end)/this.totalDuration;this.element.style.left=100*t+"%",this.element.style.right=100*n+"%"}toggleCursor(t){var n;this.drag&&(!((n=this.element)===null||n===void 0)&&n.style)&&(this.element.style.cursor=t?"grabbing":"grab")}initMouseEvents(){const{element:t}=this;t&&(t.addEventListener("click",n=>this.emit("click",n)),t.addEventListener("mouseenter",n=>this.emit("over",n)),t.addEventListener("mouseleave",n=>this.emit("leave",n)),t.addEventListener("dblclick",n=>this.emit("dblclick",n)),t.addEventListener("pointerdown",()=>this.toggleCursor(!0)),t.addEventListener("pointerup",()=>this.toggleCursor(!1)),this.subscriptions.push(Hw(t,n=>this.onMove(n),()=>this.toggleCursor(!0),()=>{this.toggleCursor(!1),this.drag&&this.emit("update-end")})),this.contentEditable&&this.content&&(this.contentClickListener=n=>this.onContentClick(n),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener)))}_onUpdate(t,n,r){var o;if(!(!((o=this.element)===null||o===void 0)&&o.parentElement))return;const{width:i}=this.element.parentElement.getBoundingClientRect(),a=t/i*this.totalDuration;let s=n&&n!=="start"?this.start:this.start+a,l=n&&n!=="end"?this.end:this.end+a;const c=r!==void 0;c&&this.updatingSide&&this.updatingSide!==n&&(this.updatingSide==="start"?s=r:l=r),s=Math.max(0,s),l=Math.min(this.totalDuration,l);const u=l-s;this.updatingSide=n;const d=u>=this.minLength&&u<=this.maxLength;s<=l&&(d||c)&&(this.start=s,this.end=l,this.renderPosition(),this.emit("update",n))}onMove(t){this.drag&&this._onUpdate(t)}onResize(t,n){this.resize&&(this.resizeStart||n!=="start")&&(this.resizeEnd||n!=="end")&&this._onUpdate(t,n)}onEndResizing(t){this.resize&&(this.emit("update-end",t),this.updatingSide=void 0)}onContentClick(t){t.stopPropagation(),t.target.focus(),this.emit("click",t)}onContentBlur(){this.emit("update-end")}_setTotalDuration(t){this.totalDuration=t,this.renderPosition()}play(t){this.emit("play",t&&this.end!==this.start?this.end:void 0)}getContent(t=!1){var n;return t?this.content||void 0:this.element instanceof HTMLElement?((n=this.content)===null||n===void 0?void 0:n.innerHTML)||void 0:""}setContent(t){var n;if(this.element)if(this.content&&this.contentEditable&&(this.contentClickListener&&this.content.removeEventListener("click",this.contentClickListener),this.contentBlurListener&&this.content.removeEventListener("blur",this.contentBlurListener)),(n=this.content)===null||n===void 0||n.remove(),t){if(typeof t=="string"){const r=this.start===this.end;this.content=by("div",{style:{padding:`0.2em ${r?.2:.4}em`,display:"inline-block"},textContent:t})}else this.content=t;this.contentEditable&&(this.content.contentEditable="true",this.contentClickListener=r=>this.onContentClick(r),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener)),this.content.setAttribute("part","region-content"),this.element.appendChild(this.content),this.emit("content-changed")}else this.content=void 0}setOptions(t){var n,r;if(this.element){if(t.color&&(this.color=t.color,this.element.style.backgroundColor=this.color),t.drag!==void 0&&(this.drag=t.drag,this.element.style.cursor=this.drag?"grab":"default"),t.start!==void 0||t.end!==void 0){const o=this.start===this.end;this.start=this.clampPosition((n=t.start)!==null&&n!==void 0?n:this.start),this.end=this.clampPosition((r=t.end)!==null&&r!==void 0?r:o?this.start:this.end),this.renderPosition(),this.setPart()}if(t.content&&this.setContent(t.content),t.id&&(this.id=t.id,this.setPart()),t.resize!==void 0&&t.resize!==this.resize){const o=this.start===this.end;this.resize=t.resize,this.resize&&!o?this.addResizeHandles(this.element):this.removeResizeHandles(this.element)}t.resizeStart!==void 0&&(this.resizeStart=t.resizeStart),t.resizeEnd!==void 0&&(this.resizeEnd=t.resizeEnd)}}remove(){this.isRemoved=!0,this.emit("remove"),this.subscriptions.forEach(t=>t()),this.element&&(this.element.remove(),this.element=null)}};class w$ extends _ft{constructor(t){super(t),this.regions=[],this.regionsContainer=this.initRegionsContainer()}static create(t){return new w$(t)}onInit(){if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");this.wavesurfer.getWrapper().appendChild(this.regionsContainer),this.subscriptions.push(this.wavesurfer.on("ready",n=>{this.regions.forEach(r=>r._setTotalDuration(n))}));let t=[];this.subscriptions.push(this.wavesurfer.on("timeupdate",n=>{const r=this.regions.filter(o=>o.start<=n&&(o.end===o.start?o.start+.05:o.end)>=n);r.forEach(o=>{t.includes(o)||this.emit("region-in",o)}),t.forEach(o=>{r.includes(o)||this.emit("region-out",o)}),t=r}))}initRegionsContainer(){return by("div",{part:"regions-container",style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",zIndex:"5",pointerEvents:"none"}})}getRegions(){return this.regions}avoidOverlapping(t){t.content&&setTimeout(()=>{const n=t.content,r=n.getBoundingClientRect(),o=this.regions.map(i=>{if(i===t||!i.content)return 0;const a=i.content.getBoundingClientRect();return r.left<a.left+a.width&&a.left<r.left+r.width?a.height:0}).reduce((i,a)=>i+a,0);n.style.marginTop=`${o}px`},10)}adjustScroll(t){var n,r;if(!t.element)return;const o=(r=(n=this.wavesurfer)===null||n===void 0?void 0:n.getWrapper())===null||r===void 0?void 0:r.parentElement;if(!o)return;const{clientWidth:i,scrollWidth:a}=o;if(a<=i)return;const s=o.getBoundingClientRect(),l=t.element.getBoundingClientRect(),c=l.left-s.left,u=l.right-s.left;c<0?o.scrollLeft+=c:u>i&&(o.scrollLeft+=u-i)}virtualAppend(t,n,r){const o=()=>{if(!this.wavesurfer)return;const i=this.wavesurfer.getWidth(),a=this.wavesurfer.getScroll(),s=n.clientWidth,l=this.wavesurfer.getDuration(),c=Math.round(t.start/l*s),u=c+(Math.round((t.end-t.start)/l*s)||1)>a&&c<a+i;u&&!r.parentElement?n.appendChild(r):!u&&r.parentElement&&r.remove()};setTimeout(()=>{if(!this.wavesurfer||!t.element)return;o();const i=this.wavesurfer.on("scroll",o),a=this.wavesurfer.on("zoom",o);this.subscriptions.push(i,a),t.once("remove",()=>{i(),a()})},0)}saveRegion(t){if(!t.element)return;this.virtualAppend(t,this.regionsContainer,t.element),this.avoidOverlapping(t),this.regions.push(t);const n=[t.on("update",r=>{r||this.adjustScroll(t),this.emit("region-update",t,r)}),t.on("update-end",r=>{this.avoidOverlapping(t),this.emit("region-updated",t,r)}),t.on("play",r=>{var o;(o=this.wavesurfer)===null||o===void 0||o.play(t.start,r)}),t.on("click",r=>{this.emit("region-clicked",t,r)}),t.on("dblclick",r=>{this.emit("region-double-clicked",t,r)}),t.on("content-changed",()=>{this.emit("region-content-changed",t)}),t.once("remove",()=>{n.forEach(r=>r()),this.regions=this.regions.filter(r=>r!==t),this.emit("region-removed",t)})];this.subscriptions.push(...n),this.emit("region-created",t)}addRegion(t){var n,r;if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");const o=this.wavesurfer.getDuration(),i=(r=(n=this.wavesurfer)===null||n===void 0?void 0:n.getDecodedData())===null||r===void 0?void 0:r.numberOfChannels,a=new Pse(t,o,i);return this.emit("region-initialized",a),o?this.saveRegion(a):this.subscriptions.push(this.wavesurfer.once("ready",s=>{a._setTotalDuration(s),this.saveRegion(a)})),a}enableDragSelection(t,n=3){var r;const o=(r=this.wavesurfer)===null||r===void 0?void 0:r.getWrapper();if(!(o&&o instanceof HTMLElement))return()=>{};let i=null,a=0,s=0;return Hw(o,(l,c,u)=>{i&&i._onUpdate(l,u>a?"end":"start",s)},l=>{var c,u;if(a=l,!this.wavesurfer)return;const d=this.wavesurfer.getDuration(),f=(u=(c=this.wavesurfer)===null||c===void 0?void 0:c.getDecodedData())===null||u===void 0?void 0:u.numberOfChannels,{width:h}=this.wavesurfer.getWrapper().getBoundingClientRect();s=a/h*d;const m=l/h*d,y=(l+5)/h*d;i=new Pse(Object.assign(Object.assign({},t),{start:m,end:y}),d,f),this.emit("region-initialized",i),i.element&&this.regionsContainer.appendChild(i.element)},()=>{i&&(this.saveRegion(i),i.updatingSide=void 0,i=null)},n)}clearRegions(){this.regions.slice().forEach(t=>t.remove()),this.regions=[]}destroy(){this.clearRegions(),super.destroy(),this.regionsContainer.remove()}}let Pft=class{constructor(){this.listeners={}}on(t,n,r){if(this.listeners[t]||(this.listeners[t]=new Set),r==null?void 0:r.once){const o=(...i)=>{this.un(t,o),n(...i)};return this.listeners[t].add(o),()=>this.un(t,o)}return this.listeners[t].add(n),()=>this.un(t,n)}un(t,n){var r;(r=this.listeners[t])===null||r===void 0||r.delete(n)}once(t,n){return this.on(t,n,{once:!0})}unAll(){this.listeners={}}emit(t,...n){this.listeners[t]&&this.listeners[t].forEach(r=>r(...n))}},Dft=class extends Pft{constructor(t){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=t}onInit(){}_init(t){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}};function Dse(e,t){const n=t.xmlns?document.createElementNS(t.xmlns,e):document.createElement(e);for(const[r,o]of Object.entries(t))if(r==="children"&&o)for(const[i,a]of Object.entries(o))a instanceof Node?n.appendChild(a):typeof a=="string"?n.appendChild(document.createTextNode(a)):n.appendChild(Dse(i,a));else r==="style"?Object.assign(n.style,o):r==="textContent"?n.textContent=o:n.setAttribute(r,o.toString());return n}function x$(e,t,n){return Dse(e,t||{})}const Lft={height:20,timeOffset:0,formatTimeCallback:e=>e/60>1?`${Math.floor(e/60)}:${`${(e=Math.round(e%60))<10?"0":""}${e}`}`:`${Math.round(1e3*e)/1e3}`};class I$ extends Dft{constructor(t){super(t||{}),this.unsubscribeNotches=[],this.notchElements=new Map,this.options=Object.assign({},Lft,t),this.timelineWrapper=this.initTimelineWrapper()}static create(t){return new I$(t)}onInit(){var t;if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");let n=this.wavesurfer.getWrapper();if(this.options.container instanceof HTMLElement)n=this.options.container;else if(typeof this.options.container=="string"){const r=document.querySelector(this.options.container);if(!r)throw Error(`No Timeline container found matching ${this.options.container}`);n=r}this.options.insertPosition?(n.firstElementChild||n).insertAdjacentElement(this.options.insertPosition,this.timelineWrapper):n.appendChild(this.timelineWrapper),this.subscriptions.push(this.wavesurfer.on("redraw",()=>this.initTimeline())),(!((t=this.wavesurfer)===null||t===void 0)&&t.getDuration()||this.options.duration)&&this.initTimeline()}destroy(){this.unsubscribeNotches.forEach(t=>t()),this.unsubscribeNotches=[],this.timelineWrapper.remove(),super.destroy()}initTimelineWrapper(){return x$("div",{part:"timeline-wrapper",style:{pointerEvents:"none"}})}defaultTimeInterval(t){return t>=25?1:5*t>=25?5:15*t>=25?15:60*Math.ceil(.5/t)}defaultPrimaryLabelInterval(t){return t>=25?10:5*t>=25?6:4}defaultSecondaryLabelInterval(t){return t>=25?5:2}virtualAppend(t,n,r){if(this.notchElements.set(r,{start:t,width:r.clientWidth,wasVisible:!1}),!this.wavesurfer)return;const o=this.wavesurfer.getScroll(),i=o+this.wavesurfer.getWidth(),a=this.notchElements.get(r),s=t>=o&&t+a.width<i;a.wasVisible=s,s&&n.appendChild(r)}updateVisibleNotches(t,n,r){this.notchElements.forEach((o,i)=>{const a=o.start>=t&&o.start+o.width<n;a!==o.wasVisible&&(o.wasVisible=a,a?r.appendChild(i):i.remove())})}initTimeline(){var t,n,r,o,i,a,s,l;this.unsubscribeNotches.forEach(S=>S()),this.unsubscribeNotches=[],this.notchElements.clear();const c=(r=(n=(t=this.wavesurfer)===null||t===void 0?void 0:t.getDuration())!==null&&n!==void 0?n:this.options.duration)!==null&&r!==void 0?r:0,u=(((o=this.wavesurfer)===null||o===void 0?void 0:o.getWrapper().scrollWidth)||this.timelineWrapper.scrollWidth)/c,d=(i=this.options.timeInterval)!==null&&i!==void 0?i:this.defaultTimeInterval(u),f=(a=this.options.primaryLabelInterval)!==null&&a!==void 0?a:this.defaultPrimaryLabelInterval(u),h=this.options.primaryLabelSpacing,m=(s=this.options.secondaryLabelInterval)!==null&&s!==void 0?s:this.defaultSecondaryLabelInterval(u),y=this.options.secondaryLabelSpacing,v=this.options.insertPosition==="beforebegin",b=x$("div",{style:Object.assign({height:`${this.options.height}px`,overflow:"hidden",fontSize:this.options.height/2+"px",whiteSpace:"nowrap"},v?{position:"absolute",top:"0",left:"0",right:"0",zIndex:"2"}:{position:"relative"})});b.setAttribute("part","timeline"),typeof this.options.style=="string"?b.setAttribute("style",b.getAttribute("style")+this.options.style):typeof this.options.style=="object"&&Object.assign(b.style,this.options.style);const A=x$("div",{style:{width:"0",height:"50%",display:"flex",flexDirection:"column",justifyContent:v?"flex-start":"flex-end",top:v?"0":"auto",bottom:v?"auto":"0",overflow:"visible",borderLeft:"1px solid currentColor",opacity:`${(l=this.options.secondaryLabelOpacity)!==null&&l!==void 0?l:.25}`,position:"absolute",zIndex:"1"}});for(let S=0,C=0;S<c;S+=d,C++){const x=A.cloneNode(),I=Math.round(100*S)%Math.round(100*f)==0||h&&C%h==0,N=Math.round(100*S)%Math.round(100*m)==0||y&&C%y==0;(I||N)&&(x.style.height="100%",x.style.textIndent="3px",x.textContent=this.options.formatTimeCallback(S),I&&(x.style.opacity="1"));const k=I?"primary":N?"secondary":"tick";x.setAttribute("part",`timeline-notch timeline-notch-${k}`);const O=Math.round(100*(S+this.options.timeOffset))/100*u;x.style.left=`${O}px`,this.virtualAppend(O,b,x)}this.timelineWrapper.innerHTML="",this.timelineWrapper.appendChild(b),this.wavesurfer&&this.unsubscribeNotches.push(this.wavesurfer.on("scroll",(S,C,x,I)=>{this.updateVisibleNotches(x,I,b)})),this.emit("ready")}}class Bft{constructor(){this.listeners={}}on(t,n,r){if(this.listeners[t]||(this.listeners[t]=new Set),r==null?void 0:r.once){const o=(...i)=>{this.un(t,o),n(...i)};return this.listeners[t].add(o),()=>this.un(t,o)}return this.listeners[t].add(n),()=>this.un(t,n)}un(t,n){var r;(r=this.listeners[t])===null||r===void 0||r.delete(n)}once(t,n){return this.on(t,n,{once:!0})}unAll(){this.listeners={}}emit(t,...n){this.listeners[t]&&this.listeners[t].forEach(r=>r(...n))}}class Fft extends Bft{constructor(t){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=t}onInit(){}_init(t){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach(t=>t()),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}}const jft={scale:.5,deltaThreshold:5,exponentialZooming:!1,iterations:20};class N$ extends Fft{constructor(t){super(t||{}),this.wrapper=void 0,this.container=null,this.accumulatedDelta=0,this.pointerTime=0,this.oldX=0,this.endZoom=0,this.startZoom=0,this.onWheel=n=>{if(this.wavesurfer&&this.container&&!(Math.abs(n.deltaX)>=Math.abs(n.deltaY))&&(n.preventDefault(),this.accumulatedDelta+=-n.deltaY,this.startZoom===0&&this.options.exponentialZooming&&(this.startZoom=this.wavesurfer.getWrapper().clientWidth/this.wavesurfer.getDuration()),this.options.deltaThreshold===0||Math.abs(this.accumulatedDelta)>=this.options.deltaThreshold)){const r=this.wavesurfer.getDuration(),o=this.wavesurfer.options.minPxPerSec===0?this.wavesurfer.getWrapper().scrollWidth/r:this.wavesurfer.options.minPxPerSec,i=n.clientX-this.container.getBoundingClientRect().left,a=this.container.clientWidth,s=this.wavesurfer.getScroll();i===this.oldX&&this.oldX!==0||(this.pointerTime=(s+i)/o),this.oldX=i;const l=this.calculateNewZoom(o,this.accumulatedDelta),c=a/l*(i/a);l*r<a?(this.wavesurfer.zoom(a/r),this.container.scrollLeft=0):(this.wavesurfer.zoom(l),this.container.scrollLeft=(this.pointerTime-c)*l),this.accumulatedDelta=0}},this.calculateNewZoom=(n,r)=>{let o;if(this.options.exponentialZooming){const i=r>0?Math.pow(this.endZoom/this.startZoom,1/(this.options.iterations-1)):Math.pow(this.startZoom/this.endZoom,1/(this.options.iterations-1));o=Math.max(0,n*i)}else o=Math.max(0,n+r*this.options.scale);return Math.min(o,this.options.maxZoom)},this.options=Object.assign({},jft,t)}static create(t){return new N$(t)}onInit(){var t;this.wrapper=(t=this.wavesurfer)===null||t===void 0?void 0:t.getWrapper(),this.wrapper&&(this.container=this.wrapper.parentElement,this.container.addEventListener("wheel",this.onWheel),this.options.maxZoom===void 0&&(this.options.maxZoom=this.container.clientWidth),this.endZoom=this.options.maxZoom)}destroy(){this.container&&this.container.removeEventListener("wheel",this.onWheel),super.destroy()}}const Lse=e=>[e/60,e%60].map(t=>`0${Math.floor(t)}`.slice(-2)).join(":"),zft=({prefixPaths:e=[]})=>{const t=E.useRef(null),n=E.useRef(null),r=E.useRef(null),[o,i]=E.useState(0),[a,s]=E.useState(0),[l,c]=E.useState(!1),[u,d]=E.useState(null),f=te.useFormInstance(),h=f.getFieldValue([...e,"title"]),m=f.getFieldValue([...e,"record","transcript_original"]),{wavesurfer:y}=Nse({container:t,height:60,waveColor:"#b0dfff",progressColor:"#30b4ff",interact:!0,dragToSeek:!1,url:f.getFieldValue([...e,"record","default_record"]),plugins:E.useMemo(()=>{const b=N$.create({scale:.5,maxZoom:100,deltaThreshold:5,exponentialZooming:!0}),A=I$.create({insertPosition:"afterend",height:15,timeInterval:1,primaryLabelInterval:5,secondaryLabelInterval:1,style:{fontSize:"10px"}}),S=w$.create({dragSelection:!1});return r.current=A,n.current=S,[b,A,S]},[])});E.useEffect(()=>{if(!y)return;const b=n.current;if(b)return b.enableDragSelection({slop:5}),b.on("region-created",A=>{console.log("🟢 Created region:",A.start,A.end),Object.assign(A.element.style,{border:"2px solid rgba(255,165,0,0.8)",borderRadius:"6px",backgroundColor:"transparent",boxSizing:"border-box"}),A.element.querySelectorAll('[part~="region-handle"]').forEach(S=>{Object.assign(S.style,{border:"none",background:"transparent",borderRadius:"0"})})}),b.on("region-updated",A=>{console.log("✏️ Updated region:",A.start,A.end)}),b.on("region-clicked",(A,S)=>{S.stopPropagation(),b.getRegions().forEach(C=>{Object.assign(C.element.style,{border:"2px solid rgba(255,165,0,0.8)",backgroundColor:"transparent"}),C.element.classList.remove("wavesurfer-region-active")}),Object.assign(A.element.style,{border:"2px solid rgba(255,165,0,0.8)",backgroundColor:"rgba(255,165,0,0.25)"}),A.element.classList.add("wavesurfer-region-active"),d(A)}),y.on("audioprocess",A=>s(A)),y.on("ready",()=>i(y.getDuration())),y.on("play",()=>c(!0)),y.on("pause",()=>c(!1)),()=>{b.unAll()}},[y]);const v=E.useCallback(()=>{y==null||y.playPause()},[y]);return E.useEffect(()=>{const b=A=>{u&&(A.key==="Delete"||A.key==="Backspace")&&(A.preventDefault(),u.remove(),d(null))};return window.addEventListener("keydown",b),()=>{window.removeEventListener("keydown",b)}},[u]),p.jsxs(p.Fragment,{children:[p.jsx(Mse,{content:p.jsxs("ul",{style:{margin:0,paddingLeft:10},children:[p.jsx("li",{children:"Cắt thủ công áp dụng cho từng file audio."}),p.jsx("li",{children:"Kéo vị trí khung anh/chị để cắt từ anh/chị từ audio gốc."}),p.jsx("li",{children:"Kéo nút || trên thanh công cụ để cắt bỏ phần đầu và phần cuối không mong muốn."})]})}),p.jsx(Ni,{children:p.jsxs(Je,{vertical:!0,gap:20,align:"center",children:[p.jsxs(Zn,{style:{width:"100%"},children:[p.jsx(bt,{span:4,children:p.jsx(xe.Text,{strong:!0,children:h})}),p.jsx(bt,{span:20,children:p.jsx(xe.Text,{italic:!0,type:"secondary",children:m})})]}),p.jsxs(Zn,{style:{width:"100%"},children:[p.jsx(bt,{span:5,style:{display:"flex",alignItems:"center"},children:p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(It,{size:"large",icon:l?p.jsx(VQ,{}):p.jsx(RQ,{}),type:"primary",onClick:v}),p.jsxs(xe.Text,{strong:!0,children:[Lse(a),"/",Lse(o)]})]})}),p.jsx(bt,{span:19,children:p.jsx("div",{ref:t})})]}),p.jsx(It,{icon:p.jsx(Gu,{}),style:{color:"white",backgroundColor:Kn.button.volcano},children:"Tạo file nam/nữ"})]})})]})},Vft=({onConfirm:e})=>{const{isOpen:t,onToggle:n}=po(),r=()=>{e(),n()};return p.jsx(ju,{open:t,title:"Khôi phục tất cả audio gốc",description:"Bạn có chắc chắn muốn khôi phục audio gốc",onConfirm:r,onCancel:n,okText:"Có",cancelText:"Không",children:p.jsx(It,{onClick:n,className:"float-right",type:"link",icon:p.jsx(UQ,{}),children:"Khôi phục tất cả audio gốc"})})},Hft=({prefixPaths:e=[]})=>{const t=te.useFormInstance();return te.useWatch([...e,"record","volume"],t),te.useWatch([...e,"record","speed"],t),p.jsxs(p.Fragment,{children:[p.jsxs(Zn,{gutter:8,align:"middle",children:[p.jsx(bt,{xs:20,sm:18,md:20,children:p.jsx(te.Item,{name:[...e,"record","volume"],label:"Âm lượng",labelCol:{span:4},labelAlign:"left",children:p.jsx(AN,{min:.1,max:2,step:.1,tooltip:{open:!1}})})}),p.jsx(bt,{xs:4,sm:6,md:4,children:p.jsx(te.Item,{name:[...e,"record","volume"],labelAlign:"left",children:p.jsx(ai,{min:.1,max:2,step:.1,style:{width:"100%"}})})})]}),p.jsxs(Zn,{gutter:8,align:"middle",children:[p.jsx(bt,{xs:20,sm:18,md:20,children:p.jsx(te.Item,{name:[...e,"record","speed"],label:"Tốc độ",labelCol:{span:4},labelAlign:"left",children:p.jsx(AN,{min:.1,max:2,step:.1,tooltip:{open:!1}})})}),p.jsx(bt,{xs:4,sm:6,md:4,children:p.jsx(te.Item,{name:[...e,"record","speed"],labelAlign:"left",children:p.jsx(ai,{min:.1,max:2,step:.1,style:{width:"100%"}})})})]}),p.jsx(Je,{justify:"center",children:p.jsx(It,{type:"primary",children:"Áp dụng"})})]})},Wft=({prefixPaths:e=[]})=>{const[t,n]=E.useState(!0),{isOpen:r,onOpen:o,onToggle:i}=po(),s=te.useFormInstance().getFieldValue([...e,"title"]);return p.jsxs(p.Fragment,{children:[p.jsx(It,{type:"text",onClick:o,icon:p.jsx(ug,{})}),p.jsx(Yr,{title:"Chỉnh sửa file ghi âm",open:r,onCancel:i,onOk:i,destroyOnHidden:!0,width:900,footer:[p.jsx(It,{type:"primary",onClick:i,children:"Hoàn thành"},"submit")],children:p.jsxs(Je,{vertical:!0,gap:12,children:[p.jsxs(Je,{justify:"space-between",children:[p.jsx(xe.Paragraph,{strong:!0,children:`File ghi âm ${s}`}),p.jsx(Vft,{onConfirm:()=>{}})]}),p.jsxs(Xa,{theme:{components:{Collapse:{headerBg:Kn.collapseHeaderBg.background}}},children:[p.jsx(VC,{size:"small",defaultActiveKey:["1"],items:[{key:"1",label:"Âm lượng & Tốc độ",children:p.jsx(Hft,{})}]}),p.jsx(VC,{size:"small",defaultActiveKey:["1"],items:[{key:"1",label:p.jsxs(Ln,{children:[p.jsx(xe.Text,{children:"Trim audio & cắt file nam/nữ"}),p.jsx(Ui,{icon:p.jsx(JA,{}),color:"volcano",onClick:l=>{l.stopPropagation(),l.preventDefault(),n(!t)},children:t?"Cắt file thủ công":"Cắt file tự động"})]}),children:t?p.jsx($ft,{}):p.jsx(zft,{})}]})]})]})})]})},{TextArea:Rft}=jt,Kft=({placeholder:e="Vui lòng tải lên ghi âm để cá nhân hoá",rows:t=4})=>{const n=Df(),r=E.useRef(null),{isOpen:o,onOpen:i,onClose:a}=po(),[s,l]=E.useState(""),[c,u]=E.useState("confirm"),d=S=>{},f=S=>{var N;const C=r.current;if(!C)return;const x=(N=C.resizableTextArea)==null?void 0:N.textArea;if(!x)return;const I=x.value.substring(x.selectionStart,x.selectionEnd);I.trim()?(l(I),u("confirm"),i()):a()},h=()=>{u("configure")},m=()=>{a(),l(""),u("confirm")},y=()=>{var M;const S=r.current;if(!S)return;const C=(M=S.resizableTextArea)==null?void 0:M.textArea;if(!C)return;const x=C.value,I=x.substring(0,C.selectionStart),N=x.substring(C.selectionEnd),k=prompt("Nhập tên biến"),O=I+`{{${k}}}`+N;n.setFieldValue(["record","transcript_personalize"],O),n.submit(),a(),l(""),u("confirm")},v=()=>{a(),l(""),u("confirm")},b=()=>p.jsxs("div",{style:{minWidth:"300px"},children:[p.jsx("div",{style:{marginBottom:"16px"},children:p.jsxs(xe.Text,{children:["Bạn muốn thay thế cụm từ ",p.jsx("strong",{children:s})," bằng biến?"]})}),p.jsx($o,{isOpen:c==="configure",children:p.jsx("div",{children:p.jsx("div",{style:{padding:"16px",backgroundColor:"#f5f5f5",borderRadius:"8px"},children:p.jsx("p",{children:"TODO: Component tìm kiếm tên trường"})})})})]}),A=()=>c==="confirm"?{onConfirm:h,onCancel:m,okText:"Thêm biến",cancelText:"Hủy"}:{onConfirm:y,onCancel:v,okText:"Thêm biến",cancelText:"Hủy"};return p.jsxs(p.Fragment,{children:[p.jsx(ju,{title:b(),...A(),open:o,icon:!1,children:p.jsx(xe.Text,{type:"secondary",children:"Xoá cụm từ trong kịch bản, sau đó điền biến vào chỗ vừa xoá bằng cách nhập {{ten_bien}}."})}),p.jsx(Rft,{ref:r,placeholder:e,rows:t,value:n.getFieldValue(["record","transcript_personalize"]),onChange:d,onMouseUp:f,style:{width:"100%",border:"none",borderRadius:aG.block.rounded.borderRadius,backgroundColor:Kn.common.gray,padding:"12px",marginTop:"12px",fontSize:"14px",lineHeight:"1.5",resize:"none"}})]})},Ww=({onUploadSuccess:e,fieldName:t="audio",disabled:n=!1,beforeUpload:r})=>{const{mutateAsync:o,isPending:i}=Tse(),a=jw(),s=async c=>await o({audio:c}),l={name:t,accept:".mp3,.wav,.m4a",showUploadList:!1,beforeUpload:async c=>{if(r==null||r(),!["audio/mp3","audio/mpeg","audio/wav","audio/x-wav","audio/m4a","audio/x-m4a"].includes(c.type))return a.error("Chỉ chấp nhận file audio (mp3, wav, m4a)"),!1;if(!(c.size/1024/1024<50))return a.error("File phải nhỏ hơn 50MB!"),!1;try{const f=await s(c);e==null||e(f)}catch(f){a.error("Tải lên audio thất bại!"),console.error("Upload error:",f)}return!1}};return p.jsx(Ag,{...l,children:p.jsx(It,{icon:i?p.jsx(As,{}):p.jsx(GN,{}),disabled:n||i,loading:i,children:i?"Đang tải lên...":"Tải lên"})})},{TextArea:O$}=jt,{Text:Cy,Paragraph:wSt}=xe,Qft=({prefixPaths:e=[]})=>{const[t,n]=E.useState(),r=te.useWatch([...e,"record","detect_gender"]),o=te.useWatch([...e,"record","personalize"]),i=Df(),a=te.useWatch([...e,"record","default_record"],i),s=te.useWatch([...e,"record","male_record"],i),l=te.useWatch([...e,"record","female_record"],i);return p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{name:[...e,"record","default_record"],valuePropName:"checked",style:{marginBottom:"8px",paddingTop:8},className:Oft,label:p.jsxs(Je,{justify:"space-between",align:"center",style:{width:"100%"},children:[p.jsx(pr,{placement:"right",title:p.jsxs(p.Fragment,{children:["Nếu bạn ghi âm, node này sẽ sử dụng file ghi âm khi gọi",p.jsx("br",{}),"Nếu bạn bỏ trống, node này sử dụng giọng bot"]}),children:p.jsx(Cy,{strong:!0,children:"Ghi âm"})}),p.jsx(pr,{title:"Cập nhật nội dung văn bản theo file ghi âm",children:p.jsx(It,{size:"small",icon:p.jsx(OQ,{}),type:"primary",onClick:()=>{const c=i.getFieldValue([...e,"record","transcript_original"]);i.setFieldValue([...e,"machine","content"],c)}})})]}),children:p.jsxs("div",{children:[p.jsx($o,{isOpen:!a,children:p.jsxs(Je,{align:"center",gap:12,children:[t?null:p.jsx(Ww,{beforeUpload:()=>{n(!1)},onUploadSuccess:({file:c,transcript_text:u,transcript:d})=>{i.setFieldValue([...e,"record","default_record"],c),i.setFieldValue([...e,"record","transcript_original"],u),i.setFieldValue([...e,"record","transcript_with_timestamp"],d),i.submit()}}),t||dt.isUndefined(t)?p.jsx(Vw,{onStartRecord:()=>{n(!0)},onFinishRecord:({file:c,transcript_text:u,transcript:d})=>{i.setFieldValue([...e,"record","default_record"],c),i.setFieldValue([...e,"record","transcript_original"],u),i.setFieldValue([...e,"record","transcript_with_timestamp"],d),i.submit(),n(void 0)}}):null]})}),p.jsx($o,{isOpen:!!a,children:p.jsx(E$,{onDelete:()=>{n(void 0),i.submit()},url:a,formPath:[[...e,"record","default_record"],[...e,"record","transcript_original"],[...e,"record","transcript_with_timestamp"]]})})]})}),a?p.jsxs(p.Fragment,{children:[p.jsxs(Je,{justify:"space-between",align:"center",children:[p.jsx(te.Item,{name:[...e,"record","detect_gender"],valuePropName:"checked",style:{marginBottom:"0px"},children:p.jsx($r,{disabled:!!o,children:p.jsx(pr,{title:o?"Tắt cá nhân hoá nội dung để dùng tính năng này":null,children:p.jsx(Cy,{strong:!0,children:"Cá nhân hoá giới tính"})})})}),o||!r?null:p.jsx(Wft,{})]}),p.jsx($o,{isOpen:r,children:p.jsxs(Zn,{gutter:[0,16],children:[p.jsx(te.Item,{name:[...e,"record","male_record"],noStyle:!0,children:p.jsxs(Ln,{direction:"vertical",size:0,wrap:!0,style:{width:"100%"},children:[p.jsx(Cy,{children:"Khách hàng nam"}),p.jsx($o,{isOpen:!s,children:p.jsxs(Je,{align:"center",gap:12,children:[t?null:p.jsx(Ww,{onUploadSuccess:({file:c})=>{i.setFieldValue([...e,"record","male_record"],c),i.submit()}}),t||dt.isUndefined(t)?p.jsx(Vw,{onStartRecord:()=>{n(!0)},onFinishRecord:({file:c})=>{i.setFieldValue([...e,"record","male_record"],c),i.submit(),n(void 0)}}):null]})}),p.jsx($o,{isOpen:!!s,children:p.jsx(E$,{url:s,formPath:[[...e,"record","male_record"]],onDelete:()=>{i.submit()}})})]})}),p.jsx(te.Item,{name:[...e,"record","female_record"],noStyle:!0,children:p.jsxs(Ln,{direction:"vertical",size:0,wrap:!0,style:{width:"100%"},children:[p.jsx(Cy,{children:"Khách hàng nữ"}),p.jsx($o,{isOpen:!l,children:p.jsxs(Je,{align:"center",gap:12,children:[t?null:p.jsx(Ww,{onUploadSuccess:({file:c})=>{i.setFieldValue([...e,"record","female_record"],c),i.submit()}}),t||dt.isUndefined(t)?p.jsx(Vw,{onStartRecord:()=>{n(!0)},onFinishRecord:({file:c})=>{i.setFieldValue([...e,"record","female_record"],c),i.submit(),n(void 0)}}):null]})}),p.jsx($o,{isOpen:!!l,children:p.jsx(E$,{url:l,formPath:[[...e,"record","female_record"]],onDelete:()=>{i.submit()}})})]})})]})}),p.jsx(Qi,{style:{margin:"8px 0"}}),p.jsx(te.Item,{name:[...e,"record","personalize"],valuePropName:"checked",style:{marginBottom:"8px"},children:p.jsx($r,{disabled:!!r,onChange:c=>{console.log("e",c.target.checked),c.target.checked?i.setFieldValue([...e,"record","transcript_personalize"],i.getFieldValue([...e,"record","transcript_original"])):i.setFieldValue([...e,"record","transcript_personalize"],void 0)},children:p.jsx(pr,{title:r?"Tắt cá nhân hoá giới tính để dùng tính năng này":null,children:p.jsx(Cy,{strong:!0,children:"Cá nhân hoá nội dung"})})})}),p.jsx($o,{isOpen:o,children:p.jsx(Kft,{})})]}):null,p.jsx(te.Item,{name:[...e,"record","transcript_with_timestamp"],label:"Transcript với timestamp",hidden:!0,children:p.jsx(O$,{placeholder:"<span start='0.0' end='0.3'>em</span> ...",rows:2})}),p.jsx(te.Item,{name:[...e,"record","transcript_original"],label:"Transcript gốc",hidden:!0,children:p.jsx(O$,{placeholder:"Em chào anh chị ạ",rows:2})}),p.jsx(te.Item,{name:[...e,"record","transcript_personalize"],label:"Transcript cá nhân hóa",hidden:!0,children:p.jsx(O$,{placeholder:"Em chào {{name}} ạ",rows:2})})]})},{TextArea:qft}=jt,Uft=({prefixPaths:e=[]})=>{const t=te.useFormInstance(),n=te.useWatch([...e,"record","default_record"],t);return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:Cse,children:[p.jsx(te.Item,{name:[...e,"machine","content"],style:{marginBottom:"8px"},children:p.jsx(qft,{placeholder:"Nhập kịch bản",rows:4,className:b$})}),p.jsx(pr,{className:mft,placement:"left",title:`Khi đã tải lên file ghi âm, bot sẽ ưu tiên sử dụng nội dung
855
855
  của file ghi âm, mà không dùng nội dung văn bản này.`,children:p.jsx(Vu,{})}),n?p.jsx(Sse,{className:Ase,record:n}):null]}),p.jsx(Qft,{})]})},{TextArea:Gft}=jt,Yft=({prefixPaths:e=[]})=>p.jsx(te.Item,{name:[...e,"prompt","content"],noStyle:!0,children:p.jsx(Gft,{placeholder:"Nhập prompt",rows:4,className:b$})}),Xft=({id:e})=>{const{getNode:t,setNodes:n}=kn(),r=Qr(),{infos:o,errors:i}=ah(e),a=o.length!==0||i.length!==0,{data:s}=t(e),l=s,[c]=te.useForm(),u=te.useWatch(["type"],c)||qo.MACHINE_AND_RECORD,d=h=>{r(e,h)},f=E.useMemo(()=>dt.debounce(()=>{c.submit()},500),[c]);return E.useEffect(()=>()=>{f.cancel()},[f]),p.jsx("div",{className:gft,children:p.jsxs(te,{form:c,layout:"vertical",initialValues:{...l},onFinish:d,onValuesChange:f,children:[p.jsx(te.Item,{name:["title"],noStyle:!0,children:p.jsx(jt,{type:"hidden"})}),p.jsxs(Ln,{direction:"vertical",size:"small",style:{width:"100%"},children:[p.jsx(te.Item,{name:["type"],noStyle:!0,children:p.jsx(ag,{size:"middle",block:!0,options:[{label:p.jsxs(Je,{align:"center",gap:12,justify:"center",children:[p.jsx(zc,{}),"Câu cố định"]}),value:qo.MACHINE_AND_RECORD},{label:p.jsxs(Je,{align:"center",gap:12,justify:"center",children:[p.jsx(Gu,{}),"Prompt"]}),value:qo.PROMPT}]})}),p.jsx($o,{isOpen:u===qo.MACHINE_AND_RECORD,children:p.jsx(Uft,{})}),p.jsx($o,{isOpen:u===qo.PROMPT,children:p.jsx(Yft,{})}),p.jsxs(Os,{visible:a,children:[p.jsx(Qi,{style:{margin:"4px 0"}}),!dt.isEmpty(o)&&p.jsx("div",{className:bse,children:o.map(h=>p.jsx(bf,{message:h.title,description:h.description,type:"info",showIcon:!0,closable:!0,style:{width:"100%",padding:"12px",margin:"12px 0"}},h.title))}),!dt.isEmpty(i)&&p.jsx("div",{className:bse,children:i.map(h=>p.jsx(bf,{style:{width:"100%",padding:"12px"},message:h.title,description:h.description,type:"error",showIcon:!0,closable:!0},h.title))})]})]})]})})},T$=({id:e,data:t,mini:n})=>{var y,v;const{displayComponent:r,nodeId:o,closeModal:i}=Cr(),a=Qr(),{errors:s}=ah(e),l=t.title||"Node nói",c=t.type||qo.MACHINE_AND_RECORD,u=E.useMemo(()=>{var b,A;return c===qo.MACHINE_AND_RECORD?((b=t==null?void 0:t.machine)==null?void 0:b.content)??"":((A=t==null?void 0:t.prompt)==null?void 0:A.content)??""},[c,t]),[d,f]=E.useState(u);E.useEffect(()=>{f(u)},[u]);const h=E.useMemo(()=>dt.debounce(b=>{c===qo.MACHINE_AND_RECORD?a(e,{...t,machine:{...t.machine,content:b}}):a(e,{...t,prompt:{...t.prompt,content:b}})},300),[c,e,t]),m=b=>{b.target.closest(`button, [role="button"], input, textarea, .${ko}-modal-wrap, audio`)||(b.stopPropagation(),b.preventDefault(),r(p.jsx(Xft,{id:e}),"Cài đặt node nói",()=>{},e))};return n?p.jsx("div",{className:fft,children:p.jsx("div",{className:gse,children:p.jsx("div",{className:vse,children:p.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[p.jsx("span",{className:yse,children:p.jsx(c2,{})}),p.jsx("span",{className:hft,children:l})]})})})}):p.jsx("div",{className:dft,onClick:m,onKeyDown:b=>{(b.key==="Enter"||b.key===" ")&&m(b)},children:p.jsxs("div",{className:`${gse} ${o===e?mse.active:mse.default}`,children:[p.jsxs("div",{className:vse,children:[p.jsxs(Ln,{size:4,children:[p.jsx("span",{className:yse,children:p.jsx(c2,{})}),p.jsx(Tg,{id:e,color:Kn.common.red})]}),p.jsx(qf,{id:e,deleteBtnColor:Kn.common.red})]}),p.jsxs(Je,{gap:6,vertical:!0,style:{width:"100%"},children:[p.jsx(ag,{block:!0,size:"small",style:{width:"100%",fontSize:12},value:c,options:[{label:p.jsxs(Je,{align:"center",gap:12,justify:"center",children:[p.jsx(zc,{size:12}),"Câu cố định"]}),value:qo.MACHINE_AND_RECORD,disabled:c===qo.PROMPT},{label:p.jsxs(Je,{align:"center",gap:12,justify:"center",children:[p.jsx(Gu,{size:12}),"Prompt"]}),value:qo.PROMPT,disabled:c===qo.MACHINE_AND_RECORD}]}),p.jsx($o,{isOpen:!dt.isEmpty(s),children:p.jsx("div",{className:pft,children:s.map(b=>p.jsx(bf,{message:b.title,type:"error",showIcon:!0,closable:!0,style:{width:"100%"}},`alert-${e}-${b.title}`))})})]}),p.jsxs("div",{className:Cse,children:[p.jsx(jt.TextArea,{onWheelCapture:b=>{b.stopPropagation()},rows:4,autoSize:{minRows:4,maxRows:4},placeholder:"Vui lòng nhập nội dung",className:b$,onFocus:()=>i(),value:d,onChange:b=>{const A=b.target.value;f(A),h(A)}}),(y=t.record)!=null&&y.default_record?p.jsx(Sse,{className:Ase,record:(v=t.record)==null?void 0:v.default_record,style:{right:2}}):null]})]})})};var Zft="scripts_editor_1b2l0x40",Jft="scripts_editor_1b2l0x41",Bse="scripts_editor_1b2l0x42",Fse="scripts_editor_1b2l0x43",jse="scripts_editor_1b2l0x44",zse="scripts_editor_1b2l0x45",eht="scripts_editor_1b2l0x46",tht="scripts_editor_1b2l0x49",Vse="scripts_editor_1b2l0x4a",Hse="scripts_editor_1b2l0x4d",nht="scripts_editor_flqrya0",rht="scripts_editor_flqrya1",oht="scripts_editor_flqrya2 scripts_editor_flqrya1",Wse="scripts_editor_flqrya3",iht="scripts_editor_flqrya4",aht="scripts_editor_flqrya5 scripts_editor_flqrya4";const Rse=({mini:e})=>e?p.jsxs("div",{className:oht,children:[p.jsx("span",{className:Wse,children:p.jsx(XU,{style:{fontSize:"20px"}})}),p.jsx("span",{className:aht,children:"Bắt đầu"})]}):p.jsx("div",{className:nht,children:p.jsxs("div",{className:rht,children:[p.jsx("span",{className:Wse,children:p.jsx(XU,{})}),p.jsx("span",{className:iht,children:"Bắt đầu"})]})}),sht=({id:e,data:t})=>p.jsxs(vo,{nodeId:e,children:[p.jsx(Vn,{type:"source",position:Qt.Right}),p.jsx(Rse,{id:e,data:t})]}),lht=({id:e})=>{const t=rbe(),n=ibe(),{fitView:r}=kn(),o=u0e({id:e},t,n),i=c0e({id:e},t,n),a=E.useCallback(c=>{r({nodes:[{id:c}],padding:.2,duration:700})},[r]),s=E.useCallback(c=>c.length===0?p.jsx(xe.Text,{type:"secondary",children:"Không có node nào"}):p.jsx(Os,{wrapperTag:u=>p.jsx(Ln,{...u,direction:"vertical",wrap:!0,size:0,style:{width:"100%"}}),children:c.map(u=>{const d={id:u.id,data:u.data,mini:!0};let f=p.jsx(xe.Text,{children:"NODE_NOT_IMPLEMENTED"},u.id);return u.type===Be.START&&(f=p.jsx(Rse,{...d})),u.type===Be.SPEAK&&(f=p.jsx(T$,{...d})),u.type===Be.LISTEN&&(f=p.jsx(y$,{...d})),u.type===Be.TRANSFER&&(f=p.jsx(k$,{...d})),p.jsx("div",{onMouseDown:h=>(h.stopPropagation(),a(u.id)),style:{width:"100%",border:"none",background:"transparent",padding:0,margin:0,cursor:"pointer",outline:"none",textAlign:"left"},children:f},u.id)})}),[a]),l=[{key:"1",label:p.jsx("b",{children:"Mối quan hệ"}),children:p.jsxs(Ln,{wrap:!0,direction:"vertical",size:8,style:{width:"100%"},children:[p.jsx(xe.Text,{strong:!0,type:"secondary",children:"Node trước"}),s(o),p.jsx(xe.Text,{strong:!0,type:"secondary",children:"Node sau"}),s(i),p.jsx(xe.Text,{strong:!0,type:"secondary",children:"Node cha"}),s([])]}),styles:{header:{padding:"0px 0px 12px 0px"},body:{padding:0}}}];return p.jsx(VC,{ghost:!0,items:l})},cht=()=>p.jsxs(p.Fragment,{children:[p.jsx(xe.Text,{strong:!0,children:"Cài đặt tổng đài"}),p.jsx(te.Item,{label:"Chọn nhánh nội bộ",name:["external","value"],style:{marginBottom:12},children:p.jsx(jt,{placeholder:"Nhập số điện thoại"})}),p.jsx(te.Item,{noStyle:!0,name:["external","maximum_try"],children:p.jsx(ai,{addonBefore:"Chờ tối đa",addonAfter:"giây",min:1,max:300,placeholder:"30",style:{width:"100%"}})})]}),uht=()=>p.jsxs(p.Fragment,{children:[p.jsx(xe.Text,{strong:!0,children:"Cài đặt tổng đài"}),p.jsx(te.Item,{label:"Chọn nhánh nội bộ",name:["internal","value"],style:{marginBottom:12},children:p.jsx(jt,{placeholder:"Chọn nhánh nội bộ hoặc nhập số điện thoại"})}),p.jsx(te.Item,{noStyle:!0,name:["internal","maximum_try"],children:p.jsx(ai,{addonBefore:"Chờ tối đa",addonAfter:"giây",min:1,max:300,placeholder:"30",style:{width:"100%"}})})]}),dht=({id:e})=>{const{getNode:t}=kn(),{data:n}=t(e),r=n,[o]=te.useForm(),[i,a]=E.useState(r.type),{infos:s}=ah(e),l=Qr(),c=d=>{l(e,d)},u=E.useMemo(()=>dt.debounce(()=>{o.submit()},500),[o]);return E.useEffect(()=>()=>{u.cancel()},[u]),E.useEffect(()=>{o.setFieldsValue({...r}),a(r.type)},[r,o]),p.jsxs(te,{form:o,layout:"vertical",onFinish:c,onBlur:()=>{o.submit()},onChange:()=>{u()},children:[p.jsx(te.Item,{name:"type",noStyle:!0,children:p.jsx(ag,{value:i,onChange:d=>{a(d)},options:[{label:"Tổng đài",value:ml.INTERNAL},{label:"Điện thoại",value:ml.EXTERNAL}],block:!0})}),p.jsxs(Ln,{direction:"vertical",size:8,style:{width:"100%",marginTop:16},children:[p.jsx($o,{isOpen:i===ml.INTERNAL,children:p.jsx(uht,{})}),p.jsx($o,{isOpen:i===ml.EXTERNAL,children:p.jsx(cht,{})}),!dt.isEmpty(s)&&p.jsx(Os,{children:s.map(d=>p.jsx(bf,{message:d.title,description:d.description,type:"info",showIcon:!0,closable:!0,style:{padding:"12px",margin:"12px 0"}},d.title))})]}),p.jsx(Qi,{}),p.jsx(lht,{id:e}),p.jsx("div",{style:{height:"200px"}})]})},k$=({id:e,data:t,mini:n,group:r})=>{const{displayComponent:o}=Cr(),i=t.title||"Chuyển máy",a=t.type||ml.INTERNAL,s=jv(),l=u=>{var d;(d=u.target)!=null&&d.closest("button")||(u.stopPropagation(),u.preventDefault(),o(p.jsx(dht,{id:e}),"Cài đặt chuyển máy"),s(e))},c=E.useMemo(()=>a===ml.INTERNAL?"Tổng đài":a===ml.EXTERNAL?"Điện thoại":"UNKNOWN",[a]);return n?p.jsx("div",{className:Jft,children:p.jsx("div",{className:Bse,children:p.jsxs("div",{className:Fse,children:[p.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[p.jsx("span",{className:jse,children:p.jsx(HQ,{})}),p.jsx("span",{className:zse,children:i})]}),p.jsx("div",{className:eht,children:c})]})})}):p.jsx("div",{className:Zft,onClick:l,onKeyDown:u=>{(u.key==="Enter"||u.key===" ")&&l(u)},children:p.jsxs("div",{className:Bse,children:[p.jsxs("div",{className:Fse,children:[p.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[p.jsx("span",{className:jse,children:p.jsx(dje,{})}),p.jsx("span",{className:zse,children:i}),p.jsx(Tg,{id:e,color:Kn.icon.transferCall})]}),p.jsx(qf,{id:e,deleteBtnColor:Kn.icon.transferCall})]}),!r&&p.jsx("div",{className:tht,children:p.jsxs(Os,{children:[p.jsxs("div",{className:Vse,children:["Chuyển máy thành công",p.jsx(Vn,{type:"target",id:`${e}_success`,position:Qt.Right,className:Hse,style:{top:"50%",right:"8%"}})]}),p.jsxs("div",{className:Vse,children:["Chuyển máy thất bại",p.jsx(Vn,{type:"target",id:`${e}_failed`,position:Qt.Right,className:Hse,style:{top:"75%",right:"8%"}})]})]})})]})})},fht=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(Vn,{type:"target",position:Qt.Left}),p.jsx(k$,{id:t,data:e})]}),hht=[Be.SPEAK,Be.TRANSFER],pht=e=>{const t=nse(e);return{verifyAddable:E.useCallback(r=>{const o=hht.includes(r);let i=!0;const a=[];return o||(i=!1,a.push("Block này không hỗ trợ thêm vào nhóm")),t.filter(s=>s.type===Be.SPEAK).length>0&&r===Be.SPEAK&&(i=!1,a.push("Nhóm chỉ có thể chứa tối đa 1 block nói")),t.filter(s=>s.type===Be.TRANSFER).length>0&&r===Be.TRANSFER&&(i=!1,a.push("Nhóm chỉ có thể chứa tối đa 1 block chuyển máy")),{allowed:i,errors:a}},[t])}};var ght="scripts_editor_dxvfua1",mht="scripts_editor_dxvfua2",vht="scripts_editor_dxvfua3",yht="scripts_editor_dxvfua4",bht="scripts_editor_dxvfua5 scripts_editor_dxvfua4";const{Text:Kse}=xe,Cht=({id:e,data:t})=>{const[n]=Fw(),{setNodes:r}=kn(),{screenToFlowPosition:o}=kn(),i=nse(e),{verifyAddable:a}=pht(e),{error:s}=jw(),l=i.length>0,c=h=>{h.preventDefault(),h.dataTransfer.dropEffect="move"},u=h=>`${e}_${h.toLowerCase()}_${Hf()}`,d=h=>{if(h.preventDefault(),!n)return;const m=a(n);if(!m.allowed){m.errors.forEach(b=>{s({content:b,key:b})});return}const y=o({x:h.clientX,y:h.clientY}),v={id:u(n),type:n,position:y,data:{title:Ig[n],...Wf[n]},deletable:!0,...Q0[n],parentId:e,extent:"parent",hidden:!0};r(b=>b.concat(v))},f=E.useMemo(()=>i.map(h=>h.type===Be.SPEAK?p.jsx(T$,{...h,data:h.data,group:!0},h.id):h.type===Be.LISTEN?p.jsx(y$,{...h,data:h.data,group:!0},h.id):h.type===Be.TRANSFER?p.jsx(k$,{...h,data:h.data,group:!0},h.id):p.jsx(p.Fragment,{})),[i]);return p.jsx("div",{children:p.jsxs(Ni,{className:ght,styles:{body:{padding:"8px",display:"flex",flex:1,flexDirection:"column",height:"100%",minHeight:"100%"}},children:[p.jsxs("div",{className:`${mht} drag-handle__custom`,children:[p.jsxs("div",{className:vht,children:[p.jsx(Ldt,{size:16,color:Kn.common.black}),p.jsx(Kse,{strong:!0,children:t.title}),p.jsx(Tg,{id:e,color:Kn.common.black})]}),p.jsx(qf,{id:e,deleteBtnColor:Kn.common.black})]}),p.jsx(Ln,{direction:"vertical",size:8,children:f}),p.jsx("button",{className:l?yht:bht,onDragOver:c,onDrop:d,type:"button","data-group-drop-zone":"true",children:p.jsx(Kse,{children:"Thả block vào đây"})}),p.jsxs(Ln,{direction:"vertical",size:8,style:{marginTop:8},children:[p.jsxs(Ni,{styles:{body:{padding:"12px"}},children:["Thực hiện thành công",p.jsx(Vn,{type:"source",position:Qt.Right})]}),p.jsxs(Ni,{styles:{body:{padding:"12px"}},children:["Thực hiện thất bại",p.jsx(Vn,{type:"source",position:Qt.Right})]})]})]})})},Aht=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(Vn,{type:"target",position:Qt.Left}),p.jsx(Cht,{id:t,data:e})]});var Sht="scripts_editor_1300n210",Eht="scripts_editor_1300n211",wht="scripts_editor_1300n212",xht="scripts_editor_1300n213",Iht="scripts_editor_1300n215",Nht="scripts_editor_1300n217",Oht="scripts_editor_1300n218",Tht="scripts_editor_1300n219",kht="scripts_editor_1300n21a",Mht="scripts_editor_1300n21b",$ht="scripts_editor_1300n21c",_ht="scripts_editor_1300n21d";const M$={SEND_IN_APP_WEB:"Gửi thông báo trong app"},Pht={SEND_IN_APP_WEB:"Gửi thông báo trong app"},Dht=dt.keys(M$),Lht=()=>{const e=te.useFormInstance(),t=te.useWatch("type",e);return p.jsxs("div",{children:[p.jsx(jt.Search,{placeholder:"Tìm kiếm hành động",allowClear:!0,onSearch:n=>{console.log("🚀 ~ e:",n)},style:{marginBottom:12}}),p.jsx(te.Item,{name:"type",label:null,children:p.jsx(Pn.Group,{className:Nht,children:p.jsx(Ln,{direction:"vertical",className:Oht,size:12,children:Dht.map(n=>p.jsxs(Pn,{value:n,className:Tht,children:[p.jsxs("div",{className:kht,children:[p.jsx(xe.Title,{level:5,style:{margin:0},children:M$[n]}),p.jsx(xe.Text,{type:"secondary",children:Pht[n]})]}),t===n&&p.jsxs("div",{className:Mht,children:[p.jsx("div",{className:$ht}),p.jsx(Ko,{className:_ht})]})]},n))})})})]})},Bht=({id:e,outputs:t})=>{const{getNode:n}=kn();Qr();const r=n(e);r==null||r.data;const o=[{title:e,key:e,icon:p.jsx(qi,{}),children:ha(t??[]).map(i=>({...i,icon:()=>{var s;const a=_i[((s=i.meta)==null?void 0:s.iconType)??""]??null;return a?p.jsx(a,{}):void 0}}))}];return p.jsx(ki,{showLine:!0,showIcon:!0,switcherIcon:p.jsx(mi,{}),defaultExpandedKeys:[e],treeData:o})},Fht=()=>p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{name:"to",label:"Người nhận thông báo",children:p.jsx(my,{mode:"multiple",placeholder:"Chọn người nhận thông báo",variableFilterTypes:[_r.singleuserproperty,_r.multiuserproperty]})}),p.jsx(te.Item,{name:"subject",label:"Tiêu đề thông báo",children:p.jsx(Zo,{placeholder:"Nhập tiêu đề thông báo"})}),p.jsx(te.Item,{name:"content",label:"Nội dung thông báo",children:p.jsx(Zo,{rows:4,placeholder:"Nhập nội dung thông báo"})})]}),jht=()=>p.jsxs(Je,{vertical:!0,gap:12,children:[p.jsx(xe.Text,{strong:!0,children:"Gửi thông báo"}),p.jsx(It,{type:"primary",icon:p.jsx(k2,{}),children:"Gửi thử"})]}),zht=({id:e})=>{var y;const{getNode:t,setNodes:n}=kn(),r=Qr(),{data:o}=t(e),i=o,[a]=te.useForm(),[s,l]=E.useState("1"),c=te.useWatch("type",a);Ji({form:a,type:c});const{data:u}=as({type:Be.NOTIFICATION,action:c??""});E.useEffect(()=>{var v,b;r(e,{output:((b=(v=u==null?void 0:u.data)==null?void 0:v.outputs)==null?void 0:b.map(A=>{var S;return{...A,object:e,node_type:Be.NOTIFICATION,order:i==null?void 0:i.order,output_mode:((S=u==null?void 0:u.data)==null?void 0:S.output_mode)??[]}}))||[]})},[u==null?void 0:u.data,i==null?void 0:i.order,e,r]),E.useEffect(()=>{c&&l("2")},[c]);const d=E.useRef(!0);E.useEffect(()=>{if(d.current){const v=dt.cloneDeep(i);a.setFieldsValue({...v}),d.current=!1}},[i]);const f=v=>{const b=Oh(oh(v));r(e,{...v,variables:b})},h=E.useMemo(()=>dt.debounce(()=>{a.submit()},500),[a]);E.useEffect(()=>()=>{h.cancel()},[h]);const m=[{key:"1",label:"Hành động",children:p.jsx(Lht,{})},{key:"2",label:"Cài đặt",children:p.jsx(Fht,{}),disabled:!c},{key:"3",label:"Kiểm thử",children:p.jsx(jht,{}),disabled:!c},{key:"4",label:"Đầu ra",children:p.jsx(Bht,{id:e,outputs:(y=u==null?void 0:u.data)==null?void 0:y.outputs}),disabled:!c}];return p.jsx("div",{className:Iht,children:p.jsxs(te,{form:a,layout:"vertical",onFinish:f,onValuesChange:h,children:[p.jsx(te.Item,{name:["title"],noStyle:!0,children:p.jsx(jt,{type:"hidden"})}),p.jsx(io,{activeKey:s,onChange:l,items:m})]})})},Vht=({id:e,data:t,mini:n})=>{const{mode:r}=En(),{displayComponent:o}=Cr(),i=t.title||"Thông báo",{optionMap:a}=xd(e),{data:s}=Tw(),l=E.useMemo(()=>{var f;const d=new Map;return(f=s==null?void 0:s.data)==null||f.forEach(h=>{d.set(h.id,h.full_name||h.email||h.id)}),d},[s==null?void 0:s.data]),c=E.useMemo(()=>{var d;return(d=t==null?void 0:t.to)==null?void 0:d.map((f,h)=>{const m=_a(f);if(!m)return null;const y=typeof f=="string"?l.get(f)??f:JT(f)??l.get(m)??m;if(m.match(ns)){const b=m.split("."),A=b.find(eo),S=b.filter(I=>!eo(I)).join("."),C=a.get(S),x=C?Ps(C,m,A):tm(m);if(x)return p.jsx(tu,{showTooltip:!1,closable:!1,data:x,style:{marginBottom:4,display:"inline-flex"}},`var-${S}-${h}`)}return p.jsx(xe.Paragraph,{style:{marginBottom:4},children:y},`notification-${m}-${h}`)})},[t==null?void 0:t.to,a,l]),u=d=>{const f=d.target;f!=null&&f.closest(`button, [role="button"], .${ko}-modal-wrap, input, textarea`)||(d.stopPropagation(),d.preventDefault(),o(r==="history"?p.jsx(Xi,{id:e}):p.jsx(zht,{id:e}),i,()=>{},e))};return n?p.jsx(p.Fragment,{}):p.jsx("div",{className:Sht,onClick:u,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&u(d)},children:p.jsxs("div",{className:`${Eht}`,children:[p.jsxs(Je,{align:"center",justify:"space-between",style:{width:"100%"},children:[p.jsxs(Je,{align:"center",justify:"flex-start",style:{width:"100%"},gap:12,children:[p.jsx("div",{className:wht,children:p.jsx(x2,{color:"#096DD9",variant:"Bold",size:24,className:xht})}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:i})]}),p.jsx(Zi,{id:e,data:t})]}),p.jsxs(Zn,{gutter:[12,6],style:{width:"100%"},children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Hành động"})}),p.jsx(bt,{span:16,children:p.jsx(xe.Text,{children:M$[t.type]})}),p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Người nhận"})}),p.jsx(bt,{span:16,children:p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{ellipsis:{rows:1,expanded:!1,tooltip:{children:c,styles:{body:{width:"fit-content"}},showArrow:!1,color:"#FFF"}},style:{marginBottom:"unset"},children:p.jsx(xe.Text,{children:c})})})})]})]})})},Hht=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(Vn,{type:"target",position:Qt.Left}),p.jsx(Vht,{id:t,data:e}),p.jsx(Vn,{type:"source",position:Qt.Right})]});var Qse="scripts_editor_1csgg250",qse="scripts_editor_1csgg251",Use="scripts_editor_1csgg252",Gse="scripts_editor_1csgg253",Wht="scripts_editor_1csgg254",Yse="scripts_editor_1csgg255",Xse="scripts_editor_1csgg257",Zse="scripts_editor_1csgg258",Jse="scripts_editor_1csgg259",ele="scripts_editor_1csgg25a",tle="scripts_editor_1csgg25b",nle="scripts_editor_1csgg25c",rle="scripts_editor_1csgg25d",Ay=(e=>(e.CREATE="CREATE",e.GET="GET",e.UPDATE="UPDATE",e))(Ay||{});const $$={CREATE:"Thêm đơn hàng",UPDATE:"Cập nhật đơn hàng",GET:"Lấy dữ liệu đơn hàng"},Rht={CREATE:"Khi tạo đơn hàng mới",UPDATE:"Khi cập nhật đơn hàng",GET:"Khi lấy thông tin đơn hàng"},Kht=dt.keys($$),Qht=()=>{const e=te.useFormInstance(),t=te.useWatch("type",e);return p.jsxs("div",{children:[p.jsx(jt.Search,{placeholder:"Tìm kiếm hành động",allowClear:!0,onSearch:n=>{console.log("🚀 ~ e:",n)},style:{marginBottom:12}}),p.jsx(te.Item,{name:"type",label:null,children:p.jsx(Pn.Group,{className:Xse,children:p.jsx(Ln,{direction:"vertical",className:Zse,size:12,children:Kht.map(n=>p.jsxs(Pn,{value:n,className:Jse,children:[p.jsxs("div",{className:ele,children:[p.jsx(xe.Title,{level:5,style:{margin:0},children:$$[n]}),p.jsx(xe.Text,{type:"secondary",children:Rht[n]})]}),t===n&&p.jsxs("div",{className:tle,children:[p.jsx("div",{className:nle}),p.jsx(Ko,{className:rle})]})]},n))})})})]})},qht=()=>p.jsx(km,{title:"Thêm đơn hàng mới",model:"crmorder",formListName:"update_fields"}),Uht=()=>p.jsxs(p.Fragment,{children:[p.jsx(xe.Paragraph,{strong:!0,children:"Lấy thông tin các đơn hàng đáp ứng điều kiện sau:"}),p.jsx(ou,{model:"crmorder"})]}),Ght=({id:e,outputs:t})=>{const n=[{title:e,key:e,icon:p.jsx(qi,{}),children:ha(t??[]).map(r=>({...r,icon:()=>{var i;const o=_i[((i=r.meta)==null?void 0:i.iconType)??""]??null;return o?p.jsx(o,{}):void 0}}))}];return p.jsx(ki,{showLine:!0,showIcon:!0,switcherIcon:p.jsx(mi,{}),defaultExpandedKeys:[e],treeData:n})},Yht=()=>p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Chọn đơn hàng"}),name:"crmorder",children:p.jsx(Lh,{mode:"multiple",placeholder:"Chọn nguồn dữ liệu đơn hàng",nodeFilter:e=>e.node_type===Be.ACTION_CRMORDER||e.node_type===Be.TRIGGER_CRMORDER})}),p.jsx(xe.Paragraph,{strong:!0,children:"Cập nhật khi đơn hàng mới đáp ứng các điều kiện sau:"}),p.jsxs(Je,{vertical:!0,gap:12,children:[p.jsx(ou,{model:"crmorder"}),p.jsx(km,{title:"Cập nhật dữ liệu",model:"crmorder",formListName:"update_fields"})]})]}),Xht=({id:e})=>{var v;const{getNode:t,setNodes:n}=kn(),r=Qr(),{data:o}=t(e),i=o,[a]=te.useForm(),[s,l]=E.useState("1"),c=te.useWatch("type",a);Ji({form:a,type:c});const{data:u}=as({type:Be.ACTION_CRMORDER,action:c??""});E.useEffect(()=>{var b,A;r(e,{output:((A=(b=u==null?void 0:u.data)==null?void 0:b.outputs)==null?void 0:A.map(S=>{var C;return{...S,object:e,node_type:Be.ACTION_CRMORDER,order:i==null?void 0:i.order,output_mode:((C=u==null?void 0:u.data)==null?void 0:C.output_mode)??[]}}))||[]})},[u==null?void 0:u.data,i==null?void 0:i.order,e,r]),E.useEffect(()=>{c&&l("2")},[c]);const d=E.useRef(!0);E.useEffect(()=>{if(d.current){const b=dt.cloneDeep(i),A=rh(b==null?void 0:b.object,(b==null?void 0:b.groups)??[],(b==null?void 0:b.filter_type)??"AND");a.setFieldsValue({...b,...A}),d.current=!1}},[i]);const f=()=>{switch(c){case Ay.CREATE:return p.jsx(qht,{});case Ay.UPDATE:return p.jsx(Yht,{});case Ay.GET:return p.jsx(Uht,{});default:return null}},h=b=>{var C;const A=Jg((C=(b==null?void 0:b.groups)??[])==null?void 0:C.map(x=>{var I;return{...x,conditions:(I=x==null?void 0:x.conditions)==null?void 0:I.filter(N=>!dt.isEmpty(N))}})),S=Oh(oh(b));r(e,{...b,groups:A,variables:S})},m=E.useMemo(()=>dt.debounce(()=>{a.submit()},500),[a]);E.useEffect(()=>()=>{m.cancel()},[m]);const y=[{key:"1",label:"Hành động",children:p.jsx(Qht,{})},{key:"2",label:"Cài đặt",children:f()},{key:"3",label:"Đầu ra",children:p.jsx(Ght,{outputs:(v=u==null?void 0:u.data)==null?void 0:v.outputs,id:e})}];return p.jsx("div",{className:Yse,children:p.jsxs(te,{form:a,layout:"vertical",initialValues:{...i},onFinish:h,onValuesChange:m,children:[p.jsx(te.Item,{hidden:!0,name:["title"]}),p.jsx(io,{activeKey:s,onChange:l,items:y})]})})},Zht=({id:e,data:t,mini:n})=>{var s,l;const{mode:r}=En(),{displayComponent:o}=Cr(),i=t.title||"Đơn hàng",a=c=>{const u=c.target;u!=null&&u.closest(`button, [role="button"], .${ko}-modal-wrap, input, textarea`)||(c.stopPropagation(),c.preventDefault(),o(r==="history"?p.jsx(Xi,{id:e}):p.jsx(Xht,{id:e}),i,()=>{},e))};return n?p.jsx(p.Fragment,{}):p.jsx(p.Fragment,{children:p.jsx("div",{className:Qse,onClick:a,onKeyDown:c=>{(c.key==="Enter"||c.key===" ")&&a(c)},children:p.jsxs("div",{className:`${qse}`,children:[p.jsxs(Je,{align:"center",justify:"space-between",style:{width:"100%"},children:[p.jsxs(Je,{align:"center",justify:"flex-start",style:{width:"100%"},gap:12,children:[p.jsx("div",{className:Use,children:p.jsx(zf,{className:Gse})}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:i})]}),p.jsx(Zi,{id:e,data:t})]}),p.jsxs(Zn,{gutter:[12,6],style:{width:"100%"},children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Hành động"})}),p.jsx(bt,{span:16,children:$$[t.type]}),(t==null?void 0:t.type)===Ay.GET?p.jsxs(p.Fragment,{children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Điều kiện"})}),p.jsx(bt,{span:16,children:p.jsx(bm,{nodeId:e,groups:t==null?void 0:t.groups})})]}):p.jsxs(p.Fragment,{children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Dữ liệu"})}),p.jsx(bt,{span:16,children:p.jsxs(xe.Paragraph,{style:{marginBottom:0},ellipsis:{rows:2,expanded:!1,tooltip:(s=t==null?void 0:t.update_fields)==null?void 0:s.map(c=>c.name).join(", ")},children:[p.jsx(xe.Text,{strong:!0,children:(l=t==null?void 0:t.update_fields)==null?void 0:l.map(c=>c.name).join(", ")})," "]})})]})]})]})})})},Jht=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(Vn,{type:"target",position:Qt.Left}),p.jsx(Zht,{id:t,data:e}),p.jsx(Vn,{type:"source",position:Qt.Right})]}),ept=({id:e,outputs:t})=>{const n=[{title:e,key:e,icon:p.jsx(qi,{}),children:ha(t).map(r=>({...r,icon:()=>{var i;const o=_i[((i=r.meta)==null?void 0:i.iconType)??""]??null;return o?p.jsx(o,{}):void 0}}))}];return p.jsx(ki,{showLine:!0,showIcon:!0,switcherIcon:p.jsx(mi,{}),defaultExpandedKeys:[e],treeData:n})};var Rw=(e=>(e.CREATED="created",e.UPDATED="updated",e.DELETED="deleted",e.TIME="TIME",e))(Rw||{}),Lm=(e=>(e.SAME_DAY="SAME_DAY",e.BEFORE="BEFORE",e.AFTER="AFTER",e))(Lm||{}),fc=(e=>(e.AT_EVENT="AT_EVENT",e.BEFORE_EVENT="BEFORE_EVENT",e.AFTER_EVENT="AFTER_EVENT",e.FIXED_TIME="FIXED_TIME",e))(fc||{});const Kw={created:"Đơn hàng mới được tạo",updated:"Đơn hàng được cập nhật",deleted:"Đơn hàng bị xóa",TIME:"Tại thời điểm của 1 trường dữ liệu"},tpt={created:"Khi có đơn hàng mới được tạo",updated:"Khi có đơn hàng được cập nhật",deleted:"Khi có đơn hàng bị xóa",TIME:"Kích hoạt theo thời gian đã định"},npt=dt.keys(Kw),_$={SAME_DAY:"Ngày diễn ra sự kiện",BEFORE:"Trước ngày diễn ra sự kiện",AFTER:"Sau ngày diễn ra sự kiện"},rpt=dt.keys(_$),ole={AT_EVENT:"Thời gian sự kiện",BEFORE_EVENT:"Trước sự kiện",AFTER_EVENT:"Sau sự kiện",FIXED_TIME:"Thời gian cố định"},opt=dt.keys(ole),ipt=()=>p.jsx(te.Item,{shouldUpdate:(e,t)=>e.type!==t.type,noStyle:!0,children:({getFieldValue:e})=>{const t=e("type");return t===Rw.TIME?p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Trường dữ liệu thời gian"}),name:"time_field",getValueProps:n=>({value:n==null?void 0:n.id,dataDefault:n}),getValueFromEvent:(n,r)=>{var o;return(o=Array.isArray(r)?r[0]:r)==null?void 0:o.data},children:p.jsx(Pw,{modal:"crmorder",propertyType:[Ar.date,Ar.datetime]})}),p.jsx(xe.Paragraph,{style:{marginBottom:"8px"},strong:!0,children:"Thời gian kích hoạt"}),p.jsx(te.Item,{shouldUpdate:(n,r)=>n.date_config_value!==r.date_config_value,noStyle:!0,children:({getFieldValue:n})=>{const o=(n("date_config_value")??Lm.SAME_DAY)!==Lm.SAME_DAY;return p.jsxs(Zn,{gutter:12,style:{alignItems:"baseline"},children:[p.jsx(bt,{span:3,children:p.jsx(te.Item,{label:"Ngày",labelCol:{span:24},wrapperCol:{span:0}})}),p.jsx(bt,{span:o?12:21,children:p.jsx(te.Item,{name:"date_config_value",initialValue:Lm.SAME_DAY,children:p.jsx(Sn,{options:rpt.map(i=>({value:i,label:_$[i],key:i})),placeholder:"Thời gian kích hoạt"})})}),o&&p.jsx(bt,{span:9,children:p.jsx(te.Item,{name:"date_config_offset",initialValue:1,children:p.jsx(ai,{min:1,style:{width:"100%"},suffix:"Ngày",controls:!1})})})]})}}),p.jsx(te.Item,{shouldUpdate:(n,r)=>n.time_config_value!==r.time_config_value||n.time_field!==r.time_field,noStyle:!0,children:({getFieldValue:n})=>{const r=n("time_config_value")??fc.BEFORE_EVENT,o=n("time_field"),i=r!==fc.AT_EVENT;return p.jsxs(Zn,{gutter:12,style:{alignItems:"baseline"},children:[p.jsx(bt,{span:3,children:p.jsx(te.Item,{label:"Giờ",labelCol:{span:24},wrapperCol:{span:0}})}),p.jsx(bt,{span:(o==null?void 0:o.variant_config)===Ar.date?0:i?12:21,children:p.jsx(te.Item,{name:"time_config_value",initialValue:fc.BEFORE_EVENT,children:p.jsx(Sn,{options:opt.map(a=>({value:a,label:ole[a],key:a}))})})}),(i||(o==null?void 0:o.variant_config)===Ar.date||(o==null?void 0:o.variant_config)===Ar.datetime)&&p.jsx(bt,{span:(o==null?void 0:o.variant_config)===Ar.date?21:i?9:0,children:p.jsx(te.Item,{noStyle:!0,shouldUpdate:(a,s)=>a.time_config_value!==s.time_config_value,children:({getFieldValue:a})=>a("time_config_value")===fc.FIXED_TIME||(o==null?void 0:o.variant_config)===Ar.date?p.jsx(te.Item,{name:"time_config_fixed_time",initialValue:Wn("08:30",Eo),children:p.jsx(Ku,{style:{width:"100%"},placeholder:"Chọn giờ",format:Eo,minuteStep:5,allowClear:!1})}):p.jsxs(Ln.Compact,{block:!0,children:[p.jsx(te.Item,{name:"time_config_offset",initialValue:10,children:p.jsx(ai,{style:{width:"100%"},min:1,controls:!1})}),p.jsx(te.Item,{name:"time_config_offset_unit",initialValue:"MINUTES",children:p.jsx(Sn,{options:[{label:"Giờ",value:"HOURS"},{label:"Phút",value:"MINUTES"}]})})]})})})]})}})]}):p.jsxs(p.Fragment,{children:[t===Rw.UPDATED?p.jsx(te.Item,{label:"Trường dữ liệu thay đổi",name:"change_field_id",children:p.jsx(Pw,{modal:"crmorder"})}):null,p.jsxs(xe.Title,{level:5,style:{margin:"unset"},children:["Kích hoạt khi ",Kw[t]," đáp ứng các điều kiện sau:"]}),p.jsx(ou,{model:"crmorder"})]})}}),apt=()=>{const e=te.useFormInstance(),t=te.useWatch("type",e);return p.jsxs("div",{children:[p.jsx(jt.Search,{placeholder:"Tìm kiếm hành động trigger",allowClear:!0,onSearch:n=>{console.log("🚀 ~ e:",n)},style:{marginBottom:12}}),p.jsx(te.Item,{name:"type",label:null,children:p.jsx(Pn.Group,{className:Xse,children:p.jsx(Ln,{direction:"vertical",className:Zse,size:12,children:npt.map(n=>p.jsxs(Pn,{value:n,className:Jse,children:[p.jsxs("div",{className:ele,children:[p.jsx(xe.Title,{level:5,style:{margin:0},children:Kw[n]}),p.jsx(xe.Text,{type:"secondary",children:tpt[n]})]}),t===n&&p.jsxs("div",{className:tle,children:[p.jsx("div",{className:nle}),p.jsx(Ko,{className:rle})]})]},n))})})})]})},spt=({id:e})=>{var y;const{getNode:t,setNodes:n}=kn(),r=Qr(),{data:o}=t(e),i=o,[a]=te.useForm(),[s,l]=E.useState("1"),c=te.useWatch("type",a);Ji({form:a,type:c});const{data:u}=as({type:Be.TRIGGER_CRMORDER,action:c??""});E.useEffect(()=>{var v,b;r(e,{output:((b=(v=u==null?void 0:u.data)==null?void 0:v.outputs)==null?void 0:b.map(A=>{var S;return{...A,object:e,node_type:Be.TRIGGER_CRMORDER,order:i==null?void 0:i.order,output_mode:((S=u==null?void 0:u.data)==null?void 0:S.output_mode)??[]}}))||[]})},[u==null?void 0:u.data,i==null?void 0:i.order,e,r]),E.useEffect(()=>{c&&l("2")},[c]);const d=E.useRef(!0);E.useEffect(()=>{if(d.current){const v=dt.cloneDeep(i),b=rh(v.object??"",v.groups??[],v.filter_type??"AND"),A=v==null?void 0:v.date_config,S=v==null?void 0:v.time_config;a.setFieldsValue({...v,...b,time_field:{id:v.time_field,name:v==null?void 0:v.time_field_name,slug:v==null?void 0:v.time_field_slug,variant_config:v==null?void 0:v.time_field_type},date_config_value:A==null?void 0:A.relative_type,date_config_offset:A==null?void 0:A.offset_value,time_config_value:S==null?void 0:S.execution_mode,time_config_fixed_time:S!=null&&S.fixed_time_value?Wn(S==null?void 0:S.fixed_time_value,Eo):void 0,time_config_offset:S==null?void 0:S.relative_value,time_config_offset_unit:S==null?void 0:S.relative_unit}),d.current=!1}},[i]);const f=v=>{var B;const{time_field:b,date_config_value:A,date_config_offset:S,time_config_value:C,time_config_fixed_time:x,time_config_offset:I,time_config_offset_unit:N,...k}=v,O=Jg((B=v.groups??[])==null?void 0:B.map(P=>{var _;return{...P,conditions:(_=P==null?void 0:P.conditions)==null?void 0:_.filter(L=>!dt.isEmpty(L))}})),M={relative_type:A,offset_value:A!==Lm.SAME_DAY?S:void 0},$={execution_mode:C,fixed_time_value:C===fc.FIXED_TIME||(b==null?void 0:b.variant_config)===Ar.date?Wn(x).format(Eo):void 0,relative_value:C!==fc.FIXED_TIME&&C!==fc.AT_EVENT?I:void 0,relative_unit:C!==fc.FIXED_TIME&&C!==fc.AT_EVENT?N:void 0};r(e,{...k,groups:O,time_field:b==null?void 0:b.id,time_field_type:b==null?void 0:b.variant_config,time_field_slug:b==null?void 0:b.slug,time_field_name:b==null?void 0:b.name,date_config:M,time_config:$})},h=E.useMemo(()=>dt.debounce(()=>{a.submit()},500),[a]);E.useEffect(()=>()=>{h.cancel()},[h]);const m=[{key:"1",label:"Trigger",children:p.jsx(apt,{})},{key:"2",label:"Cài đặt",children:p.jsx(ipt,{}),disabled:!c},{key:"3",label:"Đầu ra",children:p.jsx(ept,{outputs:(y=u==null?void 0:u.data)==null?void 0:y.outputs,id:e}),disabled:!c}];return p.jsx("div",{className:Yse,children:p.jsxs(te,{form:a,layout:"vertical",onFinish:f,onValuesChange:h,children:[p.jsx(te.Item,{name:["title"],noStyle:!0,children:p.jsx(jt,{type:"hidden"})}),p.jsx(io,{activeKey:s,onChange:l,items:m})]})})},lpt=({id:e,data:t,mini:n})=>{var h,m;const{mode:r}=En(),{displayComponent:o}=Cr(),i=t.title||"Đơn hàng",a=t.type,s=t==null?void 0:t.date_config,l=(t==null?void 0:t.date_config_value)??(s==null?void 0:s.relative_type),c=(t==null?void 0:t.date_config_offset)??(s==null?void 0:s.offset_value),d=`${(l?_$[l]:void 0)??""} ${l!==Lm.SAME_DAY&&c!=null?`${c} ngày`:""}`.trim(),f=y=>{const v=y.target;v!=null&&v.closest(`button, [role="button"], .${ko}-modal-wrap, input, textarea`)||(y.stopPropagation(),y.preventDefault(),o(r==="history"?p.jsx(Xi,{id:e}):p.jsx(spt,{id:e}),i,()=>{},e))};return n?p.jsx(p.Fragment,{}):p.jsx(p.Fragment,{children:p.jsx("div",{className:Qse,onClick:f,onKeyDown:y=>{(y.key==="Enter"||y.key===" ")&&f(y)},children:p.jsxs("div",{className:`${qse}`,children:[p.jsxs(Je,{align:"center",justify:"space-between",style:{width:"100%"},children:[p.jsxs(Je,{align:"center",justify:"flex-start",style:{width:"100%"},gap:12,children:[p.jsxs("div",{className:Use,children:[p.jsx(zf,{className:Gse}),p.jsx(Yl,{size:14,className:Wht,variant:"Bold",color:"#000"})]}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:i})]}),p.jsx(Zi,{id:e,data:t})]}),p.jsxs(Zn,{gutter:[12,6],style:{width:"100%"},children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Hành động"})}),p.jsx(bt,{span:16,children:p.jsx(xe.Text,{children:Kw[a]})}),p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Điều kiện"})}),p.jsx(bt,{span:16,children:(t==null?void 0:t.type)!==Rw.TIME?p.jsx(bm,{nodeId:e,groups:t==null?void 0:t.groups}):p.jsxs(Je,{vertical:!0,gap:4,style:{minWidth:0},children:[p.jsxs(xe.Paragraph,{style:{marginBottom:0},ellipsis:{rows:1,expanded:!1,tooltip:((h=t==null?void 0:t.time_field)==null?void 0:h.name)||(t==null?void 0:t.time_field_name)},children:[p.jsx(xe.Text,{strong:!0,children:((m=t==null?void 0:t.time_field)==null?void 0:m.name)||(t==null?void 0:t.time_field_name)})," "]}),p.jsx(xe.Paragraph,{style:{marginBottom:0},ellipsis:{rows:1,expanded:!1,tooltip:d},children:p.jsx(xe.Text,{strong:!0,children:d})})]})})]})]})})})},cpt=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(lpt,{id:t,data:e}),p.jsx(Vn,{type:"source",position:Qt.Right})]});var upt="scripts_editor_1osrdyg0",dpt="scripts_editor_1osrdyg1",fpt="scripts_editor_1osrdyg2",hpt="scripts_editor_1osrdyg3",ppt="scripts_editor_1osrdyg4",gpt="scripts_editor_1osrdyg5",mpt="scripts_editor_1osrdyg7",vpt="scripts_editor_1osrdyg8",ypt="scripts_editor_1osrdyg9",bpt="scripts_editor_1osrdyga",Cpt="scripts_editor_1osrdygb",Apt="scripts_editor_1osrdygc",Spt="scripts_editor_1osrdygd",ile="scripts_editor_1osrdygg",iu=(e=>(e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.PERIODIC="PERIODIC",e))(iu||{}),P$=(e=>(e.DEFAULT_2_YEARS="DEFAULT_2_YEARS",e.CUSTOM="CUSTOM",e))(P$||{}),ale=(e=>(e.FIRST_DAY="FIRST_DAY",e.LAST_DAY="LAST_DAY",e.CUSTOM="CUSTOM",e))(ale||{}),sle=(e=>(e.MINUTE="MINUTE",e.HOUR="HOUR",e.DAY="DAY",e))(sle||{});const D$={DAILY:"Kích hoạt hàng ngày",WEEKLY:"Kích hoạt hàng tuần",MONTHLY:"Kích hoạt hàng tháng",PERIODIC:"Kích hoạt theo chu kỳ"},Ept={DAILY:"Kích hoạt hàng ngày",WEEKLY:"Kích hoạt hàng tuần",MONTHLY:"Kích hoạt hàng tháng",PERIODIC:"Kích hoạt theo chu kỳ"},wpt=dt.keys(D$),lle={DEFAULT_2_YEARS:"Mặc định: 2 năm kể từ ngày sản xuất",CUSTOM:"Tùy chỉnh"},xpt=dt.keys(lle),Qw={MON:"Thứ 2",FRI:"Thứ 6",TUE:"Thứ 3",SAT:"Thứ 7",WED:"Thứ 4",SUN:"Chủ Nhật",THU:"Thứ 5"},Ipt=dt.keys(Qw),qw={FIRST_DAY:"Ngày đầu tiên của tháng",LAST_DAY:"Ngày cuối cùng của tháng",CUSTOM:"Tuỳ chỉnh"},Npt=dt.keys(qw),Uw={MINUTE:"Phút",HOUR:"Giờ",DAY:"Ngày"},Opt=dt.keys(Uw),Tpt=()=>{const e=te.useFormInstance(),t=te.useWatch("type",e);return p.jsxs("div",{children:[p.jsx(jt.Search,{placeholder:"Tìm kiếm hành động",allowClear:!0,onSearch:n=>{console.log("🚀 ~ e:",n)},style:{marginBottom:12}}),p.jsx(te.Item,{name:"type",label:null,children:p.jsx(Pn.Group,{className:mpt,children:p.jsx(Ln,{direction:"vertical",className:vpt,size:12,children:wpt.map(n=>p.jsxs(Pn,{value:n,className:ypt,children:[p.jsxs("div",{className:bpt,children:[p.jsx(xe.Title,{level:5,style:{margin:0},children:D$[n]}),p.jsx(xe.Text,{type:"secondary",children:Ept[n]})]}),t===n&&p.jsxs("div",{className:Cpt,children:[p.jsx("div",{className:Apt}),p.jsx(Ko,{className:Spt})]})]},n))})})})]})},kpt=({id:e,outputs:t})=>{const n=[{title:e,key:e,icon:p.jsx(qi,{}),children:ha(t??[]).map(r=>({...r,icon:()=>{var i;const o=_i[((i=r.meta)==null?void 0:i.iconType)??""]??null;return o?p.jsx(o,{}):void 0}}))}];return p.jsx(ki,{showLine:!0,showIcon:!0,switcherIcon:p.jsx(mi,{}),defaultExpandedKeys:[e],treeData:n})},Mpt=()=>p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.type!==t.type,children:({getFieldValue:e})=>e("type")===iu.WEEKLY?p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Ngày trong tuần"}),name:["config","days_of_week"],children:p.jsx($r.Group,{style:{display:"grid",gridTemplateColumns:"repeat(2, minmax(100px, 1fr))",rowGap:8},options:Ipt.map(t=>({label:Qw[t],value:t}))})}):null}),p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.type!==t.type,children:({getFieldValue:e})=>e("type")===iu.MONTHLY?p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Ngày trong tháng"}),name:["config","month_day_type"],children:p.jsx(Pn.Group,{className:ile,children:Npt.map(t=>p.jsx(Pn,{value:t,children:qw[t]},t))})}):null}),p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>{var n,r;return((n=e.config)==null?void 0:n.month_day_type)!==((r=t.config)==null?void 0:r.month_day_type)},children:({getFieldValue:e})=>e(["config","month_day_type"])===ale.CUSTOM?p.jsx(te.Item,{label:null,name:["config","specific_day"],rules:[{required:!0,message:"Vui lòng chọn ngày"}],children:p.jsx(ai,{style:{width:"100%"},min:1,max:31,placeholder:"Chọn ngày"})}):null}),p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.type!==t.type,children:({getFieldValue:e})=>e("type")===iu.PERIODIC?p.jsxs(p.Fragment,{children:[p.jsx(xe.Text,{strong:!0,children:"Kích hoạt mỗi"}),p.jsxs(Zn,{gutter:6,children:[p.jsx(bt,{span:12,children:p.jsx(te.Item,{name:["config","interval_value"],label:null,rules:[{required:!0,message:"Vui lòng nhập giá trị"}],children:p.jsx(ai,{style:{width:"100%"},min:1,placeholder:"Nhập giá trị"})})}),p.jsx(bt,{span:12,children:p.jsx(te.Item,{name:["config","interval_unit"],label:null,initialValue:sle.MINUTE,rules:[{required:!0,message:"Vui lòng chọn đơn vị"}],children:p.jsx(Sn,{placeholder:"Chọn đơn vị",options:Opt.map(t=>({label:Uw[t],value:t}))})})})]})]}):null}),p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>e.type!==t.type,children:({getFieldValue:e})=>e("type")!==iu.PERIODIC?p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Thời gian"}),name:["config","trigger_time"],children:p.jsx(Ku,{style:{width:"100%"},placeholder:"Chọn giờ",format:Eo,allowClear:!0,minuteStep:5})}):null}),p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Hiệu lực"}),name:["validity","validity_type"],children:p.jsx(Pn.Group,{className:ile,children:xpt.map(e=>p.jsx(Pn,{value:e,children:lle[e]},e))})}),p.jsx(te.Item,{noStyle:!0,shouldUpdate:(e,t)=>{var n,r;return((n=e.validity)==null?void 0:n.validity_type)!==((r=t.validity)==null?void 0:r.validity_type)},children:({getFieldValue:e})=>e(["validity","validity_type"])===P$.CUSTOM?p.jsx(te.Item,{label:p.jsx(xe.Text,{strong:!0,children:"Ngày kết thúc"}),name:["validity","validity_end_date"],rules:[{required:!0,message:"Vui lòng chọn ngày"}],children:p.jsx(Bu,{style:{width:"100%"},placeholder:"Chọn ngày",allowClear:!0,format:Nh})}):null})]}),$pt=({id:e})=>{var y;const{getNode:t,setNodes:n}=kn(),r=Qr(),{data:o}=t(e),i=o,[a]=te.useForm(),[s,l]=E.useState("1"),c=te.useWatch("type",a);Ji({form:a,type:c,getResetValues:()=>({validity:{validity_type:P$.DEFAULT_2_YEARS}})});const{data:u}=as({type:Be.SCHEDULE_AT,action:c??""});E.useEffect(()=>{var v,b;r(e,{output:((b=(v=u==null?void 0:u.data)==null?void 0:v.outputs)==null?void 0:b.map(A=>{var S;return{...A,object:e,node_type:Be.SCHEDULE_AT,order:i==null?void 0:i.order,output_mode:((S=u==null?void 0:u.data)==null?void 0:S.output_mode)??[]}}))||[]})},[u==null?void 0:u.data,i==null?void 0:i.order,e,r]),E.useEffect(()=>{c&&l("2")},[c]);const d=E.useRef(!0);E.useEffect(()=>{var v,b;if(d.current){const A=dt.cloneDeep(i);(v=A==null?void 0:A.validity)!=null&&v.validity_end_date&&(A.validity.validity_end_date=Wn(A.validity.validity_end_date,Nh)),(b=A==null?void 0:A.config)!=null&&b.trigger_time&&(A.config.trigger_time=Wn(A.config.trigger_time,Eo)),a.setFieldsValue({...A}),d.current=!1}},[i]);const f=v=>{const{config:b,validity:A}=v;A!=null&&A.validity_end_date&&(v.validity.validity_end_date=Wn(A.validity_end_date).format(Nh)),b!=null&&b.trigger_time&&(v.config.trigger_time=Wn(b.trigger_time).format("HH:mm")),r(e,v)},h=E.useMemo(()=>dt.debounce(()=>{a.submit()},500),[a]);E.useEffect(()=>()=>{h.cancel()},[h]);const m=[{key:"1",label:"Hành động",children:p.jsx(Tpt,{})},{key:"2",label:"Cài đặt",children:p.jsx(Mpt,{}),disabled:!c},{key:"3",label:"Đầu ra",children:p.jsx(kpt,{outputs:(y=u==null?void 0:u.data)==null?void 0:y.outputs,id:e}),disabled:!c}];return p.jsx("div",{className:gpt,children:p.jsxs(te,{form:a,layout:"vertical",onFinish:f,onValuesChange:h,children:[p.jsx(te.Item,{name:["title"],noStyle:!0,children:p.jsx(jt,{type:"hidden"})}),p.jsx(io,{activeKey:s,onChange:l,items:m})]})})},_pt=({id:e,data:t,mini:n})=>{var l,c,u;const{mode:r}=En(),{displayComponent:o}=Cr(),i=t.title||"Thông báo",a=d=>{const f=d.target;f!=null&&f.closest(`button, [role="button"], .${ko}-modal-wrap, input, textarea`)||(d.stopPropagation(),d.preventDefault(),o(r==="history"?p.jsx(Xi,{id:e}):p.jsx($pt,{id:e}),i,()=>{},e))};if(n)return p.jsx(p.Fragment,{});const s=E.useMemo(()=>{var d,f,h,m,y,v,b,A,S,C,x,I,N,k,O,M,$,B;switch(t.type){case iu.DAILY:return p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{ellipsis:{rows:1,expanded:!1,tooltip:(d=t==null?void 0:t.config)!=null&&d.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):void 0},style:{marginBottom:"unset"},children:p.jsx(xe.Text,{children:(f=t==null?void 0:t.config)!=null&&f.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):""})})});case iu.WEEKLY:return p.jsxs(Je,{vertical:!0,gap:6,children:[p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{style:{marginBottom:"unset"},ellipsis:{rows:1,expanded:!1,tooltip:(y=(m=(h=t==null?void 0:t.config)==null?void 0:h.days_of_week)==null?void 0:m.map(P=>Qw[P]))==null?void 0:y.join(", ")},children:p.jsx(xe.Text,{children:(A=(b=(v=t==null?void 0:t.config)==null?void 0:v.days_of_week)==null?void 0:b.map(P=>Qw[P]))==null?void 0:A.join(", ")})})}),p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{style:{marginBottom:"unset"},ellipsis:{rows:1,expanded:!1,tooltip:(S=t==null?void 0:t.config)!=null&&S.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):void 0},children:p.jsx(xe.Text,{children:(C=t==null?void 0:t.config)!=null&&C.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):""})})})]});case iu.MONTHLY:return p.jsxs(Je,{vertical:!0,gap:6,children:[p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{style:{marginBottom:"unset"},ellipsis:{rows:1,expanded:!1,tooltip:qw[(x=t==null?void 0:t.config)==null?void 0:x.month_day_type]},children:p.jsx(xe.Text,{children:qw[(I=t==null?void 0:t.config)==null?void 0:I.month_day_type]})})}),p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{style:{marginBottom:"unset"},ellipsis:{rows:1,expanded:!1,tooltip:(N=t==null?void 0:t.config)!=null&&N.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):void 0},children:p.jsx(xe.Text,{children:(k=t==null?void 0:t.config)!=null&&k.trigger_time?Wn(t.config.trigger_time,Eo).format(Eo):""})})})]});case iu.PERIODIC:return p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{style:{marginBottom:"unset"},ellipsis:{rows:1,expanded:!1,tooltip:`Mỗi ${(O=t==null?void 0:t.config)==null?void 0:O.interval_value} ${Uw[(M=t==null?void 0:t.config)==null?void 0:M.interval_unit]}`},children:p.jsxs(xe.Text,{children:["Mỗi ",($=t==null?void 0:t.config)==null?void 0:$.interval_value," ",Uw[(B=t==null?void 0:t.config)==null?void 0:B.interval_unit]]})})})}},[t]);return p.jsx("div",{className:upt,onClick:a,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&a(d)},children:p.jsxs("div",{className:`${dpt}`,children:[p.jsxs(Je,{align:"center",justify:"space-between",style:{width:"100%"},children:[p.jsxs(Je,{align:"center",justify:"flex-start",style:{width:"100%"},gap:12,children:[p.jsxs("div",{className:fpt,children:[p.jsx(N2,{color:"#096DD9",variant:"Bold",size:24,className:hpt}),p.jsx(Yl,{size:14,className:ppt,variant:"Bold",color:"#000"})]}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:i})]}),p.jsx(Zi,{id:e,data:t})]}),p.jsxs(Zn,{gutter:[12,6],style:{width:"100%"},children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Hành động"})}),p.jsx(bt,{span:16,children:p.jsx(xe.Text,{children:D$[t.type]})}),p.jsx(bt,{span:8,children:p.jsx(xe.Text,{type:"secondary",children:"Thời gian"})}),p.jsx(bt,{span:16,children:s}),(l=t==null?void 0:t.validity)!=null&&l.validity_end_date?p.jsxs(p.Fragment,{children:[p.jsx(bt,{span:8,children:p.jsx(xe.Text,{ellipsis:{tooltip:"Ngày hết hạn"},type:"secondary",children:"Ngày hết hạn"})}),p.jsx(bt,{span:16,children:p.jsx(Je,{style:{minWidth:0},children:p.jsx(xe.Paragraph,{ellipsis:{rows:1,expanded:!1,tooltip:(c=t==null?void 0:t.validity)!=null&&c.validity_end_date?Wn(t.validity.validity_end_date,Nh).format(Nh):void 0},children:p.jsx(xe.Text,{children:(u=t==null?void 0:t.validity)!=null&&u.validity_end_date?Wn(t.validity.validity_end_date,Nh).format(Nh):""})})})})]}):null]})]})})},Ppt=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(_pt,{id:t,data:e}),p.jsx(Vn,{type:"source",position:Qt.Right})]}),Dpt=({data:e,id:t})=>p.jsxs(vo,{nodeId:t,children:[p.jsx(Vn,{type:"target",position:Qt.Left}),p.jsx(T$,{id:t,data:e}),p.jsx(Vn,{type:"source",position:Qt.Right})]}),cle={[Be.AGENT]:Kqe,[Be.SPEAK]:Dpt,[Be.START]:sht,[Be.LISTEN]:uft,[Be.TRANSFER]:fht,[Be.GROUP]:Aht,[Be.CONDITION]:Jct,[Be.TRIGGER_CONTACT]:Dut,[Be.TRIGGER_CRMORDER]:cpt,[Be.TRIGGER_CALLBOT]:dlt,[Be.SCHEDULE_AT]:Ppt,[Be.CATCH_HOOK]:$ct,[Be.CALLBOT_CUSTOMER]:uct,[Be.ACTION_CONTACT]:put,[Be.CONTACT_ASSIGN]:xut,[Be.ACTION_CRMORDER]:Jht,[Be.ACTION_CALLBOT]:rlt,[Be.EMAIL]:Pdt,[Be.DELAY]:ndt,[Be.BRANCH]:Qat,[Be.AI_AGENT]:fGe,[Be.NOTIFICATION]:Hht,[Be.AUTO_FLOW_HTTP_REQUEST]:hot},Gw=e=>{switch(e.type){case Be.AGENT:return Kn.agentBlock.background;case Be.START:return Kn.startBlock.background;case Be.SPEAK:return Kn.speakBlock.background;case Be.LISTEN:return Kn.listenBlock.background;case Be.TRANSFER:return Kn.icon.transferCall;case Be.CRM:return Kn.icon.getData;case Be.HTTP_REQUEST:return Kn.icon.httpRequest;case Be.CONDITION:return Kn.icon.condition;case Be.GROUP:return Kn.groupBlock.background;case Be.DELAY:case Be.BRANCH:case Be.AI_AGENT:case Be.AUTO_FLOW_HTTP_REQUEST:return Kn.delayBlock.backgroundNoGradient;case Be.TRIGGER_CONTACT:case Be.ACTION_CONTACT:case Be.TRIGGER_CRMORDER:case Be.ACTION_CRMORDER:case Be.TRIGGER_CALLBOT:case Be.ACTION_CALLBOT:case Be.EMAIL:case Be.NOTIFICATION:case Be.SCHEDULE_AT:case Be.CATCH_HOOK:case Be.CONTACT_ASSIGN:case Be.CALLBOT_CUSTOMER:return Kn.contactBlock.backgroundNoGradient;default:return Kn.common.gray}},ule=[Be.AGENT,Be.SPEAK,Be.LISTEN,Be.TRANSFER,Be.CRM,Be.HTTP_REQUEST,Be.CONDITION,Be.GROUP],dle=[Be.TRIGGER_CONTACT,Be.ACTION_CONTACT,Be.CONTACT_ASSIGN,Be.TRIGGER_CRMORDER,Be.ACTION_CRMORDER,Be.SCHEDULE_AT,Be.TRIGGER_CALLBOT,Be.ACTION_CALLBOT,Be.EMAIL,Be.DELAY,Be.BRANCH,Be.AI_AGENT,Be.NOTIFICATION,Be.CATCH_HOOK,Be.AUTO_FLOW_HTTP_REQUEST,Be.CALLBOT_CUSTOMER],Yw=[{key:Be.AGENT,label:"Agent",icon:xs,group:1},{key:Be.SPEAK,label:"Node nói",icon:UN,group:1},{key:Be.LISTEN,label:"Node nghe",icon:jN,group:1},{key:Be.TRANSFER,label:"Chuyển máy",icon:JU,group:1},{key:Be.CRM,label:"CRM",icon:RN,group:2},{key:Be.HTTP_REQUEST,label:`HTTP
856
- Request`,icon:Ff,group:2},{key:Be.CONDITION,label:"Điều kiện",icon:s2,group:2},{key:Be.GROUP,label:"Nhóm",icon:QN,group:2}],L$=[{label:"Trigger",key:"trigger",icon:Yl,iconProps:{variant:"Bold"},group:1,color:"#FAAD14",items:[{key:Be.SCHEDULE_AT,label:"Hẹn lịch",description:"Hẹn lịch",icon:N2,group:"Hành động",color:"#096DD9",iconProps:{variant:"Bold"}},{key:Be.CATCH_HOOK,label:"Catch hook",description:"Catch hook",icon:Q6,group:"Hành động",color:"#096DD9",iconProps:{variant:"Bold"}},{key:Be.TRIGGER_CONTACT,label:"Liên hệ",description:"Liên hệ thay đổi",icon:Uu,group:"CRM",color:"#096DD9"},{key:Be.TRIGGER_CALLBOT,label:"Callbot",description:"Chiến dịch được tạo",icon:xs,group:"Đa kênh",color:"#096DD9"},{key:Be.CALLBOT_CUSTOMER,label:"Khách hàng Callbot",description:"Khách hàng trong chiến dịch",icon:xs,group:"Đa kênh",color:"#096DD9"},{key:Be.TRIGGER_CRMORDER,label:"Đơn hàng",description:"Đơn hàng thay đổi",icon:zf,group:"CRM",color:"#096DD9"}]},{label:"CRM",key:"crm",icon:W6,iconProps:{variant:"Bold"},group:2,color:"#1D39C4",items:[{key:Be.ACTION_CONTACT,label:"Liên hệ",description:"Thực hiện hành động với liên hệ",icon:Uu,color:"#096DD9"},{key:Be.ACTION_CRMORDER,label:"Đơn hàng",description:"Thực hiện hành động với đơn hàng",icon:zf,color:"#096DD9"},{key:Be.CONTACT_ASSIGN,label:"Gán nhân viên",description:"Tự động gán nhân viên phụ trách",icon:Uu,color:"#096DD9"},{key:Be.ACTION_CALLBOT,label:"Callbot",description:"Thực hiện hành động với chiến dịch",icon:xs,color:"#096DD9"}]},{label:"Đa kênh",key:"chat",icon:LU,iconProps:{variant:"Bold"},group:2,color:"#08979C",items:[{key:Be.EMAIL,label:"Email",description:"Gửi email",icon:w2,iconProps:{variant:"Bold"},color:"#096DD9"},{key:Be.NOTIFICATION,label:"Thông báo",description:"Gửi thông báo",icon:x2,iconProps:{variant:"Bold"},color:"#096DD9"}]},{label:"Logic",key:"logic",icon:D0,group:2,color:"#D46B08",items:[{key:Be.DELAY,label:"Hẹn giờ",description:"Hẹn giờ",icon:K6,color:"#D4380D"},{key:Be.BRANCH,label:"Rẽ nhánh",description:"Rẽ nhánh",icon:D0,color:"#D4380D"},{key:Be.AI_AGENT,label:"AI Agent",description:"AI Agent",icon:I2,iconProps:{variant:"Bold"},color:"#D4380D"},{key:Be.AUTO_FLOW_HTTP_REQUEST,label:"HTTP Request",description:"HTTP Request",icon:Ff,iconProps:{variant:"Bold"},color:"#D4380D"}]},{label:"Tích hợp",key:"integration",icon:Ff,group:2,color:"#08979C",items:[]}],hc={[Be.AGENT]:"#FAAD14",[Be.START]:"none",[Be.SPEAK]:"#d7268a",[Be.LISTEN]:"#d2691e",[Be.TRANSFER]:"#20b2aa",[Be.CRM]:"#1890ff",[Be.HTTP_REQUEST]:"#20b2aa",[Be.CONDITION]:"#1890ff",[Be.GROUP]:"#8c8c8c",[Be.TRIGGER_CONTACT]:"#1890FF",[Be.SCHEDULE_AT]:"#1890FF",[Be.TRIGGER_CALLBOT]:"#1890FF",[Be.TRIGGER_CRMORDER]:"#1890FF",[Be.ACTION_CONTACT]:"#1890FF",[Be.ACTION_CALLBOT]:"#1890FF",[Be.ACTION_CRMORDER]:"#1890FF",[Be.EMAIL]:"#1890FF",[Be.DELAY]:"#D4380D",[Be.BRANCH]:"#D4380D",[Be.AI_AGENT]:"#D4380D",[Be.NOTIFICATION]:"#1890FF",[Be.CATCH_HOOK]:"#1890FF",[Be.CONTACT_ASSIGN]:"#1890FF",[Be.AUTO_FLOW_HTTP_REQUEST]:"#D4380D",[Be.CALLBOT_CUSTOMER]:"#1890FF"},Lpt=e=>!!e&&typeof e=="object"&&"id"in e&&(typeof e.id=="string"||typeof e.id=="number"),Bpt=({blockType:e,nodeData:t})=>{if(e!==Be.SPEAK){if(e===Be.LISTEN||e===Be.AGENT){const n=Array.isArray(t.conditions)?t.conditions.filter(Lpt):[];return n.length===1?n[0].id.toString():null}return null}};var fle="scripts_editor_223f7c0",hle="scripts_editor_223f7c2";const Fpt=({id:e,sourceX:t,sourceY:n,targetX:r,targetY:o,sourcePosition:i,targetPosition:a,style:s,markerEnd:l})=>{const{mode:c}=En(),{isOpen:u,onOpen:d,onClose:f}=po(),{setEdges:h,setNodes:m}=kn(),[y,v,b]=qb({sourceX:t,sourceY:n,sourcePosition:i,targetX:r,targetY:o,targetPosition:a}),A=[...Yw.filter(x=>x.key!==Be.AGENT).map(x=>({label:p.jsxs(Ln,{align:"center",size:8,children:[E.createElement(x.icon,{style:{color:hc[x.key]}}),x.label]}),key:x.key}))],S=x=>{x.preventDefault(),d()},C=({key:x})=>{const I=x,N={id:`${I.toLowerCase()}_${Hf()}`,type:I,position:{x:v,y:b},data:{title:Ig[I],...Wf[I]},deletable:!0,...Q0[I]},k=Bpt({blockType:I,nodeData:N.data});m(O=>O.concat(N)),h(O=>{const M=O.find(D=>D.id===e);if(!M)return O;const{source:$,sourceHandle:B,target:P,targetHandle:_}=M,L=O.filter(D=>D.id!==e);return L.push({id:`${$}_${N.id}_${Hf()}`,source:$,sourceHandle:B,target:N.id,type:"autoCallButton"}),k!==null&&L.push({id:`${N.id}_${P}_${Hf()}`,source:N.id,sourceHandle:k,target:P,targetHandle:_,type:"autoCallButton"}),L}),f()};return p.jsxs(p.Fragment,{children:[p.jsx(bp,{path:y,markerEnd:l,style:s??{}}),p.jsx(SB,{children:c!=="edit"?null:p.jsx(pr,{title:"Thêm nút",children:p.jsx("div",{className:`${fle} nodrag nopan ${u?hle:""}`,style:{transform:`translate(-50%, -50%) translate(${v}px,${b}px)`},children:p.jsx(hl,{onOpenChange:x=>{x?d():f()},menu:{items:A,onClick:C},open:u,trigger:["click"],children:p.jsx(It,{onClick:S,type:"text",size:"large",style:{padding:4},children:p.jsx(B0,{style:{fontSize:24}})})})})})})]})},jpt=new Set([Be.ACTION_CONTACT,Be.ACTION_CRMORDER,Be.CONTACT_ASSIGN,Be.EMAIL,Be.DELAY,Be.BRANCH,Be.AI_AGENT,Be.NOTIFICATION]),zpt=new Set([Be.ACTION_CONTACT,Be.ACTION_CRMORDER,Be.EMAIL,Be.DELAY,Be.AI_AGENT,Be.NOTIFICATION]),Vpt=e=>!!e&&typeof e=="object"&&"id"in e&&typeof e.id=="string"&&"conditions"in e&&Array.isArray(e.conditions),Hpt=e=>{if(!jpt.has(e))return null},Wpt=({blockType:e,nodeId:t,nodeData:n})=>{if(!zpt.has(e)){if(e===Be.BRANCH){const i=[...(Array.isArray(n.groups)?n.groups:[]).filter(Vpt).filter(a=>a.conditions.length>0).map(a=>a.id),`branch_group_default_${t}`];return i.length===1?i[0]:null}return null}},Rpt={autoCallButton:Fpt,autoFlowButton:e=>{const{id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,style:l,markerEnd:c}=e,{mode:u}=En(),{isOpen:d,onOpen:f,onClose:h}=po(),{setEdges:m,setNodes:y}=kn(),[v,b,A]=E.useMemo(()=>qb({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s}),[n,r,o,i,a,s]),S=E.useMemo(()=>L$.filter(k=>k.group!==1).map(k=>({key:k.key,label:p.jsxs(Ln,{align:"center",size:8,children:[p.jsx("span",{style:{color:k.color||hc[k.key]},children:p.jsx(k.icon,{...k.iconProps,size:20})}),p.jsx("span",{children:k.label})]}),children:k.items.map(O=>({key:O.key,label:p.jsxs(Ln,{align:"center",size:8,children:[p.jsx("span",{style:{color:O.color||hc[O.key]},children:p.jsx(O.icon,{...O.iconProps,size:14})}),p.jsx("span",{children:O.label})]})}))})),[]),C=E.useCallback(k=>({id:`${k.toLowerCase()}_${Hf()}`,type:k,position:{x:b,y:A},data:{title:Ig[k],...Wf[k]},deletable:!0,...Q0[k]}),[b,A]),x=E.useCallback(({key:k})=>{const O=k,M=C(O),$=Hpt(O),B=Wpt({blockType:O,nodeId:M.id,nodeData:M.data});y(P=>[...P,M]),m(P=>{const _=P.find(q=>q.id===t);if(!_)return P;const{source:L,sourceHandle:D,target:F,targetHandle:z}=_,V=Hf(),R=P.filter(q=>q.id!==t);return $!==null&&R.push({id:`${L}_${M.id}_${V}`,source:L,sourceHandle:D,target:M.id,targetHandle:$,type:"autoFlowButton"}),B!==null&&R.push({id:`${M.id}_${F}_${V}`,source:M.id,sourceHandle:B,target:F,targetHandle:z,type:"autoFlowButton"}),R}),h()},[t,C,y,m,h]),I=E.useCallback(k=>{k.preventDefault(),f()},[f]),N=E.useMemo(()=>({transform:`translate(-50%, -50%) translate(${b}px,${A}px)`}),[b,A]);return p.jsxs(p.Fragment,{children:[p.jsx(bp,{path:v,markerEnd:c,style:l}),p.jsx(SB,{children:u!=="edit"?null:p.jsx(pr,{title:"Thêm nút",children:p.jsx("div",{className:`${fle} nodrag nopan ${d?hle:""}`,style:N,children:p.jsx(hl,{open:d,trigger:["click"],menu:{items:S,onClick:x},onOpenChange:k=>k?f():h(),children:p.jsx(It,{onClick:I,type:"text",size:"large",style:{padding:4},children:p.jsx(B0,{style:{fontSize:24}})})})})})})]})}};function Kpt(){const{getNodes:e,getEdges:t}=kn(),n=jw();return{isValidConnection:E.useCallback(o=>{const i=e(),a=t(),s=i.find(c=>c.id===o.target);return a.some(c=>c.source===o.source&&(c.sourceHandle?c.sourceHandle===o.sourceHandle:!0))?(n.error({key:"output-used",content:"Output này đã được nối rồi"}),!1):(s==null?void 0:s.id)===o.source?(n.error({key:"self-loop",content:"Không thể kết nối node vào chính nó"}),!1):!0},[t,e,n])}}const Qpt=()=>E.useCallback(({deletedNodeId:e,deletedNodeIds:t,edges:n,defaultEdgeType:r})=>{const o=n.filter(l=>l.target===e&&!t.has(l.source)),i=n.filter(l=>l.source===e&&!t.has(l.target));if(o.length!==1||i.length!==1)return null;const[a]=o,[s]=i;return a.source===s.target?null:{source:a.source,sourceHandle:a.sourceHandle??null,target:s.target,targetHandle:s.targetHandle??null,type:s.type||a.type||r}},[]),qpt=()=>{const e=Qpt();return E.useCallback(({deletedNodes:t,edges:n,defaultEdgeType:r})=>{const o=new Set(t.map(i=>i.id));return t.flatMap(i=>{const a=e({deletedNodeId:i.id,deletedNodeIds:o,edges:n,defaultEdgeType:r});return a?[a]:[]})},[e])},Upt=e=>E.useMemo(()=>e.map((t,n)=>{var o,i;const r=n+1;return{...t,data:{...t.data,order:r,output:Array.isArray((o=t.data)==null?void 0:o.output)?t.data.output.map(a=>({...a,order:r})):(i=t.data)==null?void 0:i.output}}}),[e]);var Gpt="scripts_editor_3c0va90",Ypt="scripts_editor_3c0va91",Xpt="scripts_editor_3c0va93",Zpt="scripts_editor_3c0va94",Jpt="scripts_editor_3c0va95",egt="scripts_editor_3c0va96",kd="scripts_editor_3c0va97",tgt="scripts_editor_3c0va98",ngt="scripts_editor_3c0va99",ple="scripts_editor_3c0va9a";function gle(e){return br({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"},child:[]},{tag:"path",attr:{d:"M8 11h8"},child:[]},{tag:"path",attr:{d:"M8 7h6"},child:[]}]})(e)}const rgt={version:"1.29.2"};var Bm=(e=>(e.BOT="bot",e.CLONE="clone",e))(Bm||{});function B$(e){const t=e.getState(),{nodes:n,edges:r,transform:o}=t;return{nodes:n,edges:r,viewport:{x:o[0],y:o[1],zoom:o[2]}}}function ogt({cb:e,delay:t=1e3,enabled:n=!0}){const r=Vr(),o=E.useRef(e),i=E.useRef(B$(r)),a=E.useRef(i.current.viewport.zoom);E.useEffect(()=>{o.current=n?e:void 0},[e,n]);const s=E.useCallback(()=>{var y;if(!n)return;const u=B$(r),d=i.current,f=dt.isEqual(u.nodes,d.nodes),h=dt.isEqual(u.edges,d.edges),m=dt.isEqual(u.viewport,d.viewport);f&&h&&m||(i.current=u,a.current=u.viewport.zoom,(y=o.current)==null||y.call(o,u))},[r,n]),l=E.useMemo(()=>dt.debounce(s,t),[s,t]);E.useEffect(()=>{const u=r.subscribe(()=>l());return()=>{l.cancel(),u()}},[r,l]),lbe({onChange:({zoom:u})=>{n&&u!==a.current&&(a.current=u,l())}});const c=E.useCallback(()=>{const u=B$(r);i.current=u,a.current=u.viewport.zoom},[r]);return{commit:l,resetCommitState:c}}const mle=e=>{let t;const n=new Set,r=(c,u)=>{const d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){const f=t;t=u??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(h=>h(t,f))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>l,subscribe:c=>(n.add(c),()=>n.delete(c))},l=t=e(r,o,s);return s},igt=e=>e?mle(e):mle,agt=e=>e;function sgt(e,t=agt){const n=E.useSyncExternalStore(e.subscribe,E.useCallback(()=>t(e.getState()),[e,t]),E.useCallback(()=>t(e.getInitialState()),[e,t]));return E.useDebugValue(n),n}const vle=e=>{const t=igt(e),n=r=>sgt(t,r);return Object.assign(n,t),n},yle=e=>e?vle(e):vle,ble=yle(e=>({mode:"trackpad",toggleMode:()=>e(t=>({mode:t.mode==="trackpad"?"mouse":"trackpad"}))}));function Cle(){const e=ble(o=>o.mode),t=ble(o=>o.toggleMode),{mode:n}=En(),r=E.useMemo(()=>({...e==="trackpad"?{panOnScroll:!0,panOnDrag:!1,zoomOnScroll:!1,zoomOnPinch:!0,zoomOnDoubleClick:!1}:{panOnScroll:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!1,zoomOnDoubleClick:!1},...n==="view"||n==="history"?{nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:n==="history"}:{nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0}}),[e,n]);return{mode:e,toggleMode:t,flowProps:r}}const Ale={history:[],currentStep:-1,canUndo:!1,canRedo:!1},F$=e=>{try{const t=e.nodes.map(o=>({id:o.id,position:o.position})),n=e.edges.map(o=>({id:o.id,source:o.source,target:o.target})),r=e.viewport;return JSON.stringify({nodes:t,edges:n,viewport:r})}catch{return JSON.stringify(e)}},Sy=yle((e,t)=>({instances:{},pushSnapshot:(n,r)=>e(o=>{const i=o.instances[n]??Ale,a=F$(r),s=i.history[i.currentStep];if(s&&F$(s)===a)return o;const l=i.history.slice(0,i.currentStep+1).concat(r),c=l.length-1;return{instances:{...o.instances,[n]:{history:l,currentStep:c,canUndo:c>0,canRedo:c<l.length-1}}}}),applySnapshot:(n,r)=>{const o=t().instances[n];return!o||r<0||r>=o.history.length?null:(e(i=>({instances:{...i.instances,[n]:{...o,currentStep:r,canUndo:r>0,canRedo:r<o.history.length-1}}})),o.history[r])},reset:(n,r)=>e(o=>({instances:{...o.instances,[n]:{history:r?[r]:[],currentStep:r?0:-1,canUndo:!1,canRedo:!1}}})),remove:n=>e(r=>{const{[n]:o,...i}=r.instances;return{instances:i}})}));function Sle(e){const t=Sy(a=>a.instances[e]??Ale),n=Sy(a=>a.pushSnapshot),r=Sy(a=>a.applySnapshot),o=Sy(a=>a.reset),i=Sy(a=>a.remove);return{history:t.history,currentStep:t.currentStep,canUndo:t.canUndo,canRedo:t.canRedo,pushSnapshot:a=>n(e,a),undo:()=>r(e,t.currentStep-1),redo:()=>r(e,t.currentStep+1),goTo:a=>r(e,a),reset:a=>o(e,a),dispose:()=>i(e)}}const lgt=e=>{const{canUndo:t,canRedo:n,undo:r,redo:o}=Sle(e),{setNodes:i,setEdges:a,setViewport:s}=kn(),l=E.useCallback(d=>{d&&(i==null||i(d.nodes??[]),a==null||a(d.edges??[]),d.viewport&&(s==null||s(d.viewport)))},[i,a,s]),c=E.useCallback(()=>{if(!t)return;const d=r();l(d)},[t,r,l]),u=E.useCallback(()=>{if(!n)return;const d=o();l(d)},[n,o,l]);return{canUndo:t,canRedo:n,undo:c,redo:u}},cgt=(e,t)=>{const{getNodes:n,getEdges:r,getViewport:o}=kn(),{pushSnapshot:i}=Sle(e),a=E.useRef(null),s=E.useRef(null),l=E.useRef(!1),c=t==null?void 0:t.snapshotDebounceMs,u=E.useCallback(()=>{const f={nodes:n()??[],edges:r()??[],viewport:o?o():null},h=F$(f);s.current!==h&&(s.current=h,i(f))},[n,r,o,i,e]),d=E.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=window.setTimeout(()=>{u(),a.current=null},c)},[c,u]);return E.useEffect(()=>{l.current||(l.current=!0,u())},[]),E.useEffect(()=>()=>{a.current&&window.clearTimeout(a.current)},[]),{takeSnapshotNow:u,takeSnapshotDebounced:d}};function ugt(e){return br({attr:{t:"1569683610100",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M841 370c3-3.3 2.7-8.3-0.6-11.3-1.5-1.3-3.4-2.1-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6c-2.9 3.4-7.9 3.8-11.3 0.9-0.9-0.8-1.6-1.7-2.1-2.8l-63.5-141.3c-1.3-2.9-4.1-4.7-7.3-4.7H380.7l0.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H284l-89 429.9c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4 0.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 0.9 0.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6c4.4 0 8-3.6 8-8 0-1.2-0.3-2.4-0.8-3.5l-95.2-198.9c-1.4-2.9-0.9-6.4 1.3-8.8L841 370z"},child:[]}]})(e)}function dgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]},{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"},child:[]}]})(e)}function fgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z"},child:[]}]})(e)}function hgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]},{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"},child:[]}]})(e)}function pgt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9 18h3v-2H9c-1.654 0-3-1.346-3-3s1.346-3 3-3h6v3l5-4-5-4v3H9c-2.757 0-5 2.243-5 5s2.243 5 5 5z"},child:[]}]})(e)}function ggt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9 10h6c1.654 0 3 1.346 3 3s-1.346 3-3 3h-3v2h3c2.757 0 5-2.243 5-5s-2.243-5-5-5H9V5L4 9l5 4v-3z"},child:[]}]})(e)}function mgt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm0 2 .001 4H4V5h16zM4 19v-8h16.001l.001 8H4z"},child:[]},{tag:"path",attr:{d:"M14 6h2v2h-2zm3 0h2v2h-2z"},child:[]}]})(e)}function vgt(e){return br({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"},child:[]}]})(e)}var j$,Ele;function z$(){if(Ele)return j$;Ele=1;var e="\0",t="\0",n="";class r{constructor(u){jo(this,"_isDirected",!0);jo(this,"_isMultigraph",!1);jo(this,"_isCompound",!1);jo(this,"_label");jo(this,"_defaultNodeLabelFn",()=>{});jo(this,"_defaultEdgeLabelFn",()=>{});jo(this,"_nodes",{});jo(this,"_in",{});jo(this,"_preds",{});jo(this,"_out",{});jo(this,"_sucs",{});jo(this,"_edgeObjs",{});jo(this,"_edgeLabels",{});jo(this,"_nodeCount",0);jo(this,"_edgeCount",0);jo(this,"_parent");jo(this,"_children");u&&(this._isDirected=Object.hasOwn(u,"directed")?u.directed:!0,this._isMultigraph=Object.hasOwn(u,"multigraph")?u.multigraph:!1,this._isCompound=Object.hasOwn(u,"compound")?u.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(u){return this._label=u,this}graph(){return this._label}setDefaultNodeLabel(u){return this._defaultNodeLabelFn=u,typeof u!="function"&&(this._defaultNodeLabelFn=()=>u),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var u=this;return this.nodes().filter(d=>Object.keys(u._in[d]).length===0)}sinks(){var u=this;return this.nodes().filter(d=>Object.keys(u._out[d]).length===0)}setNodes(u,d){var f=arguments,h=this;return u.forEach(function(m){f.length>1?h.setNode(m,d):h.setNode(m)}),this}setNode(u,d){return Object.hasOwn(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=d),this):(this._nodes[u]=arguments.length>1?d:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=t,this._children[u]={},this._children[t][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)}node(u){return this._nodes[u]}hasNode(u){return Object.hasOwn(this._nodes,u)}removeNode(u){var d=this;if(Object.hasOwn(this._nodes,u)){var f=h=>d.removeEdge(d._edgeObjs[h]);delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],this.children(u).forEach(function(h){d.setParent(h)}),delete this._children[u]),Object.keys(this._in[u]).forEach(f),delete this._in[u],delete this._preds[u],Object.keys(this._out[u]).forEach(f),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this}setParent(u,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d===void 0)d=t;else{d+="";for(var f=d;f!==void 0;f=this.parent(f))if(f===u)throw new Error("Setting "+d+" as parent of "+u+" would create a cycle");this.setNode(d)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=d,this._children[d][u]=!0,this}_removeFromParentsChildList(u){delete this._children[this._parent[u]][u]}parent(u){if(this._isCompound){var d=this._parent[u];if(d!==t)return d}}children(u=t){if(this._isCompound){var d=this._children[u];if(d)return Object.keys(d)}else{if(u===t)return this.nodes();if(this.hasNode(u))return[]}}predecessors(u){var d=this._preds[u];if(d)return Object.keys(d)}successors(u){var d=this._sucs[u];if(d)return Object.keys(d)}neighbors(u){var d=this.predecessors(u);if(d){const h=new Set(d);for(var f of this.successors(u))h.add(f);return Array.from(h.values())}}isLeaf(u){var d;return this.isDirected()?d=this.successors(u):d=this.neighbors(u),d.length===0}filterNodes(u){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([y,v]){u(y)&&d.setNode(y,v)}),Object.values(this._edgeObjs).forEach(function(y){d.hasNode(y.v)&&d.hasNode(y.w)&&d.setEdge(y,f.edge(y))});var h={};function m(y){var v=f.parent(y);return v===void 0||d.hasNode(v)?(h[y]=v,v):v in h?h[v]:m(v)}return this._isCompound&&d.nodes().forEach(y=>d.setParent(y,m(y))),d}setDefaultEdgeLabel(u){return this._defaultEdgeLabelFn=u,typeof u!="function"&&(this._defaultEdgeLabelFn=()=>u),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(u,d){var f=this,h=arguments;return u.reduce(function(m,y){return h.length>1?f.setEdge(m,y,d):f.setEdge(m,y),y}),this}setEdge(){var u,d,f,h,m=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(u=y.v,d=y.w,f=y.name,arguments.length===2&&(h=arguments[1],m=!0)):(u=y,d=arguments[1],f=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),u=""+u,d=""+d,f!==void 0&&(f=""+f);var v=a(this._isDirected,u,d,f);if(Object.hasOwn(this._edgeLabels,v))return m&&(this._edgeLabels[v]=h),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(d),this._edgeLabels[v]=m?h:this._defaultEdgeLabelFn(u,d,f);var b=s(this._isDirected,u,d,f);return u=b.v,d=b.w,Object.freeze(b),this._edgeObjs[v]=b,o(this._preds[d],u),o(this._sucs[u],d),this._in[d][v]=b,this._out[u][v]=b,this._edgeCount++,this}edge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f);return this._edgeLabels[h]}edgeAsObj(){const u=this.edge(...arguments);return typeof u!="object"?{label:u}:u}hasEdge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f);return Object.hasOwn(this._edgeLabels,h)}removeEdge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f),m=this._edgeObjs[h];return m&&(u=m.v,d=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],i(this._preds[d],u),i(this._sucs[u],d),delete this._in[d][h],delete this._out[u][h],this._edgeCount--),this}inEdges(u,d){var f=this._in[u];if(f){var h=Object.values(f);return d?h.filter(m=>m.v===d):h}}outEdges(u,d){var f=this._out[u];if(f){var h=Object.values(f);return d?h.filter(m=>m.w===d):h}}nodeEdges(u,d){var f=this.inEdges(u,d);if(f)return f.concat(this.outEdges(u,d))}}function o(c,u){c[u]?c[u]++:c[u]=1}function i(c,u){--c[u]||delete c[u]}function a(c,u,d,f){var h=""+u,m=""+d;if(!c&&h>m){var y=h;h=m,m=y}return h+n+m+n+(f===void 0?e:f)}function s(c,u,d,f){var h=""+u,m=""+d;if(!c&&h>m){var y=h;h=m,m=y}var v={v:h,w:m};return f&&(v.name=f),v}function l(c,u){return a(c,u.v,u.w,u.name)}return j$=r,j$}var V$,wle;function ygt(){return wle||(wle=1,V$="2.2.4"),V$}var H$,xle;function bgt(){return xle||(xle=1,H$={Graph:z$(),version:ygt()}),H$}var W$,Ile;function Cgt(){if(Ile)return W$;Ile=1;var e=z$();W$={write:t,read:o};function t(i){var a={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:n(i),edges:r(i)};return i.graph()!==void 0&&(a.value=structuredClone(i.graph())),a}function n(i){return i.nodes().map(function(a){var s=i.node(a),l=i.parent(a),c={v:a};return s!==void 0&&(c.value=s),l!==void 0&&(c.parent=l),c})}function r(i){return i.edges().map(function(a){var s=i.edge(a),l={v:a.v,w:a.w};return a.name!==void 0&&(l.name=a.name),s!==void 0&&(l.value=s),l})}function o(i){var a=new e(i.options).setGraph(i.value);return i.nodes.forEach(function(s){a.setNode(s.v,s.value),s.parent&&a.setParent(s.v,s.parent)}),i.edges.forEach(function(s){a.setEdge({v:s.v,w:s.w,name:s.name},s.value)}),a}return W$}var R$,Nle;function Agt(){if(Nle)return R$;Nle=1,R$=e;function e(t){var n={},r=[],o;function i(a){Object.hasOwn(n,a)||(n[a]=!0,o.push(a),t.successors(a).forEach(i),t.predecessors(a).forEach(i))}return t.nodes().forEach(function(a){o=[],i(a),o.length&&r.push(o)}),r}return R$}var K$,Ole;function Tle(){if(Ole)return K$;Ole=1;class e{constructor(){jo(this,"_arr",[]);jo(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var o=this._keyIndices;if(n=String(n),!Object.hasOwn(o,n)){var i=this._arr,a=i.length;return o[n]=a,i.push({key:n,priority:r}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var o=this._keyIndices[n];if(r>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[o].priority+" New: "+r);this._arr[o].priority=r,this._decrease(o)}_heapify(n){var r=this._arr,o=2*n,i=o+1,a=n;o<r.length&&(a=r[o].priority<r[a].priority?o:a,i<r.length&&(a=r[i].priority<r[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var r=this._arr,o=r[n].priority,i;n!==0&&(i=n>>1,!(r[i].priority<o));)this._swap(n,i),n=i}_swap(n,r){var o=this._arr,i=this._keyIndices,a=o[n],s=o[r];o[n]=s,o[r]=a,i[s.key]=n,i[a.key]=r}}return K$=e,K$}var Q$,kle;function Mle(){if(kle)return Q$;kle=1;var e=Tle();Q$=n;var t=()=>1;function n(o,i,a,s){return r(o,String(i),a||t,s||function(l){return o.outEdges(l)})}function r(o,i,a,s){var l={},c=new e,u,d,f=function(h){var m=h.v!==u?h.v:h.w,y=l[m],v=a(h),b=d.distance+v;if(v<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+v);b<y.distance&&(y.distance=b,y.predecessor=u,c.decrease(m,b))};for(o.nodes().forEach(function(h){var m=h===i?0:Number.POSITIVE_INFINITY;l[h]={distance:m},c.add(h,m)});c.size()>0&&(u=c.removeMin(),d=l[u],d.distance!==Number.POSITIVE_INFINITY);)s(u).forEach(f);return l}return Q$}var q$,$le;function Sgt(){if($le)return q$;$le=1;var e=Mle();q$=t;function t(n,r,o){return n.nodes().reduce(function(i,a){return i[a]=e(n,a,r,o),i},{})}return q$}var U$,_le;function Ple(){if(_le)return U$;_le=1,U$=e;function e(t){var n=0,r=[],o={},i=[];function a(s){var l=o[s]={onStack:!0,lowlink:n,index:n++};if(r.push(s),t.successors(s).forEach(function(d){Object.hasOwn(o,d)?o[d].onStack&&(l.lowlink=Math.min(l.lowlink,o[d].index)):(a(d),l.lowlink=Math.min(l.lowlink,o[d].lowlink))}),l.lowlink===l.index){var c=[],u;do u=r.pop(),o[u].onStack=!1,c.push(u);while(s!==u);i.push(c)}}return t.nodes().forEach(function(s){Object.hasOwn(o,s)||a(s)}),i}return U$}var G$,Dle;function Egt(){if(Dle)return G$;Dle=1;var e=Ple();G$=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return G$}var Y$,Lle;function wgt(){if(Lle)return Y$;Lle=1,Y$=t;var e=()=>1;function t(r,o,i){return n(r,o||e,i||function(a){return r.outEdges(a)})}function n(r,o,i){var a={},s=r.nodes();return s.forEach(function(l){a[l]={},a[l][l]={distance:0},s.forEach(function(c){l!==c&&(a[l][c]={distance:Number.POSITIVE_INFINITY})}),i(l).forEach(function(c){var u=c.v===l?c.w:c.v,d=o(c);a[l][u]={distance:d,predecessor:l}})}),s.forEach(function(l){var c=a[l];s.forEach(function(u){var d=a[u];s.forEach(function(f){var h=d[l],m=c[f],y=d[f],v=h.distance+m.distance;v<y.distance&&(y.distance=v,y.predecessor=m.predecessor)})})}),a}return Y$}var X$,Ble;function Fle(){if(Ble)return X$;Ble=1;function e(n){var r={},o={},i=[];function a(s){if(Object.hasOwn(o,s))throw new t;Object.hasOwn(r,s)||(o[s]=!0,r[s]=!0,n.predecessors(s).forEach(a),delete o[s],i.push(s))}if(n.sinks().forEach(a),Object.keys(r).length!==n.nodeCount())throw new t;return i}class t extends Error{constructor(){super(...arguments)}}return X$=e,e.CycleException=t,X$}var Z$,jle;function xgt(){if(jle)return Z$;jle=1;var e=Fle();Z$=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Z$}var J$,zle;function Vle(){if(zle)return J$;zle=1,J$=e;function e(o,i,a){Array.isArray(i)||(i=[i]);var s=o.isDirected()?d=>o.successors(d):d=>o.neighbors(d),l=a==="post"?t:n,c=[],u={};return i.forEach(d=>{if(!o.hasNode(d))throw new Error("Graph does not have node: "+d);l(d,s,u,c)}),c}function t(o,i,a,s){for(var l=[[o,!1]];l.length>0;){var c=l.pop();c[1]?s.push(c[0]):Object.hasOwn(a,c[0])||(a[c[0]]=!0,l.push([c[0],!0]),r(i(c[0]),u=>l.push([u,!1])))}}function n(o,i,a,s){for(var l=[o];l.length>0;){var c=l.pop();Object.hasOwn(a,c)||(a[c]=!0,s.push(c),r(i(c),u=>l.push(u)))}}function r(o,i){for(var a=o.length;a--;)i(o[a],a,o);return o}return J$}var e7,Hle;function Igt(){if(Hle)return e7;Hle=1;var e=Vle();e7=t;function t(n,r){return e(n,r,"post")}return e7}var t7,Wle;function Ngt(){if(Wle)return t7;Wle=1;var e=Vle();t7=t;function t(n,r){return e(n,r,"pre")}return t7}var n7,Rle;function Ogt(){if(Rle)return n7;Rle=1;var e=z$(),t=Tle();n7=n;function n(r,o){var i=new e,a={},s=new t,l;function c(d){var f=d.v===l?d.w:d.v,h=s.priority(f);if(h!==void 0){var m=o(d);m<h&&(a[f]=l,s.decrease(f,m))}}if(r.nodeCount()===0)return i;r.nodes().forEach(function(d){s.add(d,Number.POSITIVE_INFINITY),i.setNode(d)}),s.decrease(r.nodes()[0],0);for(var u=!1;s.size()>0;){if(l=s.removeMin(),Object.hasOwn(a,l))i.setEdge(l,a[l]);else{if(u)throw new Error("Input graph is not connected: "+r);u=!0}r.nodeEdges(l).forEach(c)}return i}return n7}var r7,Kle;function Tgt(){return Kle||(Kle=1,r7={components:Agt(),dijkstra:Mle(),dijkstraAll:Sgt(),findCycles:Egt(),floydWarshall:wgt(),isAcyclic:xgt(),postorder:Igt(),preorder:Ngt(),prim:Ogt(),tarjan:Ple(),topsort:Fle()}),r7}var o7,Qle;function xl(){if(Qle)return o7;Qle=1;var e=bgt();return o7={Graph:e.Graph,json:Cgt(),alg:Tgt(),version:e.version},o7}var i7,qle;function kgt(){if(qle)return i7;qle=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,i=o._prev;if(i!==o)return t(i),i}enqueue(o){let i=this._sentinel;o._prev&&o._next&&t(o),o._next=i._next,i._next._prev=o,i._next=o,o._prev=i}toString(){let o=[],i=this._sentinel,a=i._prev;for(;a!==i;)o.push(JSON.stringify(a,n)),a=a._prev;return"["+o.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,o){if(r!=="_next"&&r!=="_prev")return o}return i7=e,i7}var a7,Ule;function Mgt(){if(Ule)return a7;Ule=1;let e=xl().Graph,t=kgt();a7=r;let n=()=>1;function r(c,u){if(c.nodeCount()<=1)return[];let d=a(c,u||n);return o(d.graph,d.buckets,d.zeroIdx).flatMap(h=>c.outEdges(h.v,h.w))}function o(c,u,d){let f=[],h=u[u.length-1],m=u[0],y;for(;c.nodeCount();){for(;y=m.dequeue();)i(c,u,d,y);for(;y=h.dequeue();)i(c,u,d,y);if(c.nodeCount()){for(let v=u.length-2;v>0;--v)if(y=u[v].dequeue(),y){f=f.concat(i(c,u,d,y,!0));break}}}return f}function i(c,u,d,f,h){let m=h?[]:void 0;return c.inEdges(f.v).forEach(y=>{let v=c.edge(y),b=c.node(y.v);h&&m.push({v:y.v,w:y.w}),b.out-=v,s(u,d,b)}),c.outEdges(f.v).forEach(y=>{let v=c.edge(y),b=y.w,A=c.node(b);A.in-=v,s(u,d,A)}),c.removeNode(f.v),m}function a(c,u){let d=new e,f=0,h=0;c.nodes().forEach(v=>{d.setNode(v,{v,in:0,out:0})}),c.edges().forEach(v=>{let b=d.edge(v.v,v.w)||0,A=u(v),S=b+A;d.setEdge(v.v,v.w,S),h=Math.max(h,d.node(v.v).out+=A),f=Math.max(f,d.node(v.w).in+=A)});let m=l(h+f+3).map(()=>new t),y=f+1;return d.nodes().forEach(v=>{s(m,y,d.node(v))}),{graph:d,buckets:m,zeroIdx:y}}function s(c,u,d){d.out?d.in?c[d.out-d.in+u].enqueue(d):c[c.length-1].enqueue(d):c[0].enqueue(d)}function l(c){const u=[];for(let d=0;d<c;d++)u.push(d);return u}return a7}var s7,Gle;function ei(){if(Gle)return s7;Gle=1;let e=xl().Graph;s7={addBorderNode:u,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:s,intersectRect:a,mapValues:I,maxRank:m,normalizeRanks:l,notime:b,partition:y,pick:x,predecessorWeights:i,range:C,removeEmptyRanks:c,simplify:n,successorWeights:o,time:v,uniqueId:S,zipObject:N};function t(k,O,M,$){for(var B=$;k.hasNode(B);)B=S($);return M.dummy=O,k.setNode(B,M),B}function n(k){let O=new e().setGraph(k.graph());return k.nodes().forEach(M=>O.setNode(M,k.node(M))),k.edges().forEach(M=>{let $=O.edge(M.v,M.w)||{weight:0,minlen:1},B=k.edge(M);O.setEdge(M.v,M.w,{weight:$.weight+B.weight,minlen:Math.max($.minlen,B.minlen)})}),O}function r(k){let O=new e({multigraph:k.isMultigraph()}).setGraph(k.graph());return k.nodes().forEach(M=>{k.children(M).length||O.setNode(M,k.node(M))}),k.edges().forEach(M=>{O.setEdge(M,k.edge(M))}),O}function o(k){let O=k.nodes().map(M=>{let $={};return k.outEdges(M).forEach(B=>{$[B.w]=($[B.w]||0)+k.edge(B).weight}),$});return N(k.nodes(),O)}function i(k){let O=k.nodes().map(M=>{let $={};return k.inEdges(M).forEach(B=>{$[B.v]=($[B.v]||0)+k.edge(B).weight}),$});return N(k.nodes(),O)}function a(k,O){let M=k.x,$=k.y,B=O.x-M,P=O.y-$,_=k.width/2,L=k.height/2;if(!B&&!P)throw new Error("Not possible to find intersection inside of the rectangle");let D,F;return Math.abs(P)*_>Math.abs(B)*L?(P<0&&(L=-L),D=L*B/P,F=L):(B<0&&(_=-_),D=_,F=_*P/B),{x:M+D,y:$+F}}function s(k){let O=C(m(k)+1).map(()=>[]);return k.nodes().forEach(M=>{let $=k.node(M),B=$.rank;B!==void 0&&(O[B][$.order]=M)}),O}function l(k){let O=k.nodes().map($=>{let B=k.node($).rank;return B===void 0?Number.MAX_VALUE:B}),M=h(Math.min,O);k.nodes().forEach($=>{let B=k.node($);Object.hasOwn(B,"rank")&&(B.rank-=M)})}function c(k){let O=k.nodes().map(_=>k.node(_).rank),M=h(Math.min,O),$=[];k.nodes().forEach(_=>{let L=k.node(_).rank-M;$[L]||($[L]=[]),$[L].push(_)});let B=0,P=k.graph().nodeRankFactor;Array.from($).forEach((_,L)=>{_===void 0&&L%P!==0?--B:_!==void 0&&B&&_.forEach(D=>k.node(D).rank+=B)})}function u(k,O,M,$){let B={width:0,height:0};return arguments.length>=4&&(B.rank=M,B.order=$),t(k,"border",B,O)}function d(k,O=f){const M=[];for(let $=0;$<k.length;$+=O){const B=k.slice($,$+O);M.push(B)}return M}const f=65535;function h(k,O){if(O.length>f){const M=d(O);return k.apply(null,M.map($=>k.apply(null,$)))}else return k.apply(null,O)}function m(k){const M=k.nodes().map($=>{let B=k.node($).rank;return B===void 0?Number.MIN_VALUE:B});return h(Math.max,M)}function y(k,O){let M={lhs:[],rhs:[]};return k.forEach($=>{O($)?M.lhs.push($):M.rhs.push($)}),M}function v(k,O){let M=Date.now();try{return O()}finally{console.log(k+" time: "+(Date.now()-M)+"ms")}}function b(k,O){return O()}let A=0;function S(k){var O=++A;return k+(""+O)}function C(k,O,M=1){O==null&&(O=k,k=0);let $=P=>P<O;M<0&&($=P=>O<P);const B=[];for(let P=k;$(P);P+=M)B.push(P);return B}function x(k,O){const M={};for(const $ of O)k[$]!==void 0&&(M[$]=k[$]);return M}function I(k,O){let M=O;return typeof O=="string"&&(M=$=>$[O]),Object.entries(k).reduce(($,[B,P])=>($[B]=M(P,B),$),{})}function N(k,O){return k.reduce((M,$,B)=>(M[$]=O[B],M),{})}return s7}var l7,Yle;function $gt(){if(Yle)return l7;Yle=1;let e=Mgt(),t=ei().uniqueId;l7={run:n,undo:o};function n(i){(i.graph().acyclicer==="greedy"?e(i,s(i)):r(i)).forEach(l=>{let c=i.edge(l);i.removeEdge(l),c.forwardName=l.name,c.reversed=!0,i.setEdge(l.w,l.v,c,t("rev"))});function s(l){return c=>l.edge(c).weight}}function r(i){let a=[],s={},l={};function c(u){Object.hasOwn(l,u)||(l[u]=!0,s[u]=!0,i.outEdges(u).forEach(d=>{Object.hasOwn(s,d.w)?a.push(d):c(d.w)}),delete s[u])}return i.nodes().forEach(c),a}function o(i){i.edges().forEach(a=>{let s=i.edge(a);if(s.reversed){i.removeEdge(a);let l=s.forwardName;delete s.reversed,delete s.forwardName,i.setEdge(a.w,a.v,s,l)}})}return l7}var c7,Xle;function _gt(){if(Xle)return c7;Xle=1;let e=ei();c7={run:t,undo:r};function t(o){o.graph().dummyChains=[],o.edges().forEach(i=>n(o,i))}function n(o,i){let a=i.v,s=o.node(a).rank,l=i.w,c=o.node(l).rank,u=i.name,d=o.edge(i),f=d.labelRank;if(c===s+1)return;o.removeEdge(i);let h,m,y;for(y=0,++s;s<c;++y,++s)d.points=[],m={width:0,height:0,edgeLabel:d,edgeObj:i,rank:s},h=e.addDummyNode(o,"edge",m,"_d"),s===f&&(m.width=d.width,m.height=d.height,m.dummy="edge-label",m.labelpos=d.labelpos),o.setEdge(a,h,{weight:d.weight},u),y===0&&o.graph().dummyChains.push(h),a=h;o.setEdge(a,l,{weight:d.weight},u)}function r(o){o.graph().dummyChains.forEach(i=>{let a=o.node(i),s=a.edgeLabel,l;for(o.setEdge(a.edgeObj,s);a.dummy;)l=o.successors(i)[0],o.removeNode(i),s.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(s.x=a.x,s.y=a.y,s.width=a.width,s.height=a.height),i=l,a=o.node(i)})}return c7}var u7,Zle;function Xw(){if(Zle)return u7;Zle=1;const{applyWithChunking:e}=ei();u7={longestPath:t,slack:n};function t(r){var o={};function i(a){var s=r.node(a);if(Object.hasOwn(o,a))return s.rank;o[a]=!0;let l=r.outEdges(a).map(u=>u==null?Number.POSITIVE_INFINITY:i(u.w)-r.edge(u).minlen);var c=e(Math.min,l);return c===Number.POSITIVE_INFINITY&&(c=0),s.rank=c}r.sources().forEach(i)}function n(r,o){return r.node(o.w).rank-r.node(o.v).rank-r.edge(o).minlen}return u7}var d7,Jle;function ece(){if(Jle)return d7;Jle=1;var e=xl().Graph,t=Xw().slack;d7=n;function n(a){var s=new e({directed:!1}),l=a.nodes()[0],c=a.nodeCount();s.setNode(l,{});for(var u,d;r(s,a)<c;)u=o(s,a),d=s.hasNode(u.v)?t(a,u):-t(a,u),i(s,a,d);return s}function r(a,s){function l(c){s.nodeEdges(c).forEach(u=>{var d=u.v,f=c===d?u.w:d;!a.hasNode(f)&&!t(s,u)&&(a.setNode(f,{}),a.setEdge(c,f,{}),l(f))})}return a.nodes().forEach(l),a.nodeCount()}function o(a,s){return s.edges().reduce((c,u)=>{let d=Number.POSITIVE_INFINITY;return a.hasNode(u.v)!==a.hasNode(u.w)&&(d=t(s,u)),d<c[0]?[d,u]:c},[Number.POSITIVE_INFINITY,null])[1]}function i(a,s,l){a.nodes().forEach(c=>s.node(c).rank+=l)}return d7}var f7,tce;function Pgt(){if(tce)return f7;tce=1;var e=ece(),t=Xw().slack,n=Xw().longestPath,r=xl().alg.preorder,o=xl().alg.postorder,i=ei().simplify;f7=a,a.initLowLimValues=u,a.initCutValues=s,a.calcCutValue=c,a.leaveEdge=f,a.enterEdge=h,a.exchangeEdges=m;function a(A){A=i(A),n(A);var S=e(A);u(S),s(S,A);for(var C,x;C=f(S);)x=h(S,A,C),m(S,A,C,x)}function s(A,S){var C=o(A,A.nodes());C=C.slice(0,C.length-1),C.forEach(x=>l(A,S,x))}function l(A,S,C){var x=A.node(C),I=x.parent;A.edge(C,I).cutvalue=c(A,S,C)}function c(A,S,C){var x=A.node(C),I=x.parent,N=!0,k=S.edge(C,I),O=0;return k||(N=!1,k=S.edge(I,C)),O=k.weight,S.nodeEdges(C).forEach(M=>{var $=M.v===C,B=$?M.w:M.v;if(B!==I){var P=$===N,_=S.edge(M).weight;if(O+=P?_:-_,v(A,C,B)){var L=A.edge(C,B).cutvalue;O+=P?-L:L}}}),O}function u(A,S){arguments.length<2&&(S=A.nodes()[0]),d(A,{},1,S)}function d(A,S,C,x,I){var N=C,k=A.node(x);return S[x]=!0,A.neighbors(x).forEach(O=>{Object.hasOwn(S,O)||(C=d(A,S,C,O,x))}),k.low=N,k.lim=C++,I?k.parent=I:delete k.parent,C}function f(A){return A.edges().find(S=>A.edge(S).cutvalue<0)}function h(A,S,C){var x=C.v,I=C.w;S.hasEdge(x,I)||(x=C.w,I=C.v);var N=A.node(x),k=A.node(I),O=N,M=!1;N.lim>k.lim&&(O=k,M=!0);var $=S.edges().filter(B=>M===b(A,A.node(B.v),O)&&M!==b(A,A.node(B.w),O));return $.reduce((B,P)=>t(S,P)<t(S,B)?P:B)}function m(A,S,C,x){var I=C.v,N=C.w;A.removeEdge(I,N),A.setEdge(x.v,x.w,{}),u(A),s(A,S),y(A,S)}function y(A,S){var C=A.nodes().find(I=>!S.node(I).parent),x=r(A,C);x=x.slice(1),x.forEach(I=>{var N=A.node(I).parent,k=S.edge(I,N),O=!1;k||(k=S.edge(N,I),O=!0),S.node(I).rank=S.node(N).rank+(O?k.minlen:-k.minlen)})}function v(A,S,C){return A.hasEdge(S,C)}function b(A,S,C){return C.low<=S.lim&&S.lim<=C.lim}return f7}var h7,nce;function Dgt(){if(nce)return h7;nce=1;var e=Xw(),t=e.longestPath,n=ece(),r=Pgt();h7=o;function o(l){var c=l.graph().ranker;if(c instanceof Function)return c(l);switch(l.graph().ranker){case"network-simplex":s(l);break;case"tight-tree":a(l);break;case"longest-path":i(l);break;case"none":break;default:s(l)}}var i=t;function a(l){t(l),n(l)}function s(l){r(l)}return h7}var p7,rce;function Lgt(){if(rce)return p7;rce=1,p7=e;function e(r){let o=n(r);r.graph().dummyChains.forEach(i=>{let a=r.node(i),s=a.edgeObj,l=t(r,o,s.v,s.w),c=l.path,u=l.lca,d=0,f=c[d],h=!0;for(;i!==s.w;){if(a=r.node(i),h){for(;(f=c[d])!==u&&r.node(f).maxRank<a.rank;)d++;f===u&&(h=!1)}if(!h){for(;d<c.length-1&&r.node(f=c[d+1]).minRank<=a.rank;)d++;f=c[d]}r.setParent(i,f),i=r.successors(i)[0]}})}function t(r,o,i,a){let s=[],l=[],c=Math.min(o[i].low,o[a].low),u=Math.max(o[i].lim,o[a].lim),d,f;d=i;do d=r.parent(d),s.push(d);while(d&&(o[d].low>c||u>o[d].lim));for(f=d,d=a;(d=r.parent(d))!==f;)l.push(d);return{path:s.concat(l.reverse()),lca:f}}function n(r){let o={},i=0;function a(s){let l=i;r.children(s).forEach(a),o[s]={low:l,lim:i++}}return r.children().forEach(a),o}return p7}var g7,oce;function Bgt(){if(oce)return g7;oce=1;let e=ei();g7={run:t,cleanup:i};function t(a){let s=e.addDummyNode(a,"root",{},"_root"),l=r(a),c=Object.values(l),u=e.applyWithChunking(Math.max,c)-1,d=2*u+1;a.graph().nestingRoot=s,a.edges().forEach(h=>a.edge(h).minlen*=d);let f=o(a)+1;a.children().forEach(h=>n(a,s,d,f,u,l,h)),a.graph().nodeRankFactor=d}function n(a,s,l,c,u,d,f){let h=a.children(f);if(!h.length){f!==s&&a.setEdge(s,f,{weight:0,minlen:l});return}let m=e.addBorderNode(a,"_bt"),y=e.addBorderNode(a,"_bb"),v=a.node(f);a.setParent(m,f),v.borderTop=m,a.setParent(y,f),v.borderBottom=y,h.forEach(b=>{n(a,s,l,c,u,d,b);let A=a.node(b),S=A.borderTop?A.borderTop:b,C=A.borderBottom?A.borderBottom:b,x=A.borderTop?c:2*c,I=S!==C?1:u-d[f]+1;a.setEdge(m,S,{weight:x,minlen:I,nestingEdge:!0}),a.setEdge(C,y,{weight:x,minlen:I,nestingEdge:!0})}),a.parent(f)||a.setEdge(s,m,{weight:0,minlen:u+d[f]})}function r(a){var s={};function l(c,u){var d=a.children(c);d&&d.length&&d.forEach(f=>l(f,u+1)),s[c]=u}return a.children().forEach(c=>l(c,1)),s}function o(a){return a.edges().reduce((s,l)=>s+a.edge(l).weight,0)}function i(a){var s=a.graph();a.removeNode(s.nestingRoot),delete s.nestingRoot,a.edges().forEach(l=>{var c=a.edge(l);c.nestingEdge&&a.removeEdge(l)})}return g7}var m7,ice;function Fgt(){if(ice)return m7;ice=1;let e=ei();m7=t;function t(r){function o(i){let a=r.children(i),s=r.node(i);if(a.length&&a.forEach(o),Object.hasOwn(s,"minRank")){s.borderLeft=[],s.borderRight=[];for(let l=s.minRank,c=s.maxRank+1;l<c;++l)n(r,"borderLeft","_bl",i,s,l),n(r,"borderRight","_br",i,s,l)}}r.children().forEach(o)}function n(r,o,i,a,s,l){let c={width:0,height:0,rank:l,borderType:o},u=s[o][l-1],d=e.addDummyNode(r,"border",c,i);s[o][l]=d,r.setParent(d,a),u&&r.setEdge(u,d,{weight:1})}return m7}var v7,ace;function jgt(){if(ace)return v7;ace=1,v7={adjust:e,undo:t};function e(l){let c=l.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&n(l)}function t(l){let c=l.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&o(l),(c==="lr"||c==="rl")&&(a(l),n(l))}function n(l){l.nodes().forEach(c=>r(l.node(c))),l.edges().forEach(c=>r(l.edge(c)))}function r(l){let c=l.width;l.width=l.height,l.height=c}function o(l){l.nodes().forEach(c=>i(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(i),Object.hasOwn(u,"y")&&i(u)})}function i(l){l.y=-l.y}function a(l){l.nodes().forEach(c=>s(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(s),Object.hasOwn(u,"x")&&s(u)})}function s(l){let c=l.x;l.x=l.y,l.y=c}return v7}var y7,sce;function zgt(){if(sce)return y7;sce=1;let e=ei();y7=t;function t(n){let r={},o=n.nodes().filter(u=>!n.children(u).length),i=o.map(u=>n.node(u).rank),a=e.applyWithChunking(Math.max,i),s=e.range(a+1).map(()=>[]);function l(u){if(r[u])return;r[u]=!0;let d=n.node(u);s[d.rank].push(u),n.successors(u).forEach(l)}return o.sort((u,d)=>n.node(u).rank-n.node(d).rank).forEach(l),s}return y7}var b7,lce;function Vgt(){if(lce)return b7;lce=1;let e=ei().zipObject;b7=t;function t(r,o){let i=0;for(let a=1;a<o.length;++a)i+=n(r,o[a-1],o[a]);return i}function n(r,o,i){let a=e(i,i.map((f,h)=>h)),s=o.flatMap(f=>r.outEdges(f).map(h=>({pos:a[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),l=1;for(;l<i.length;)l<<=1;let c=2*l-1;l-=1;let u=new Array(c).fill(0),d=0;return s.forEach(f=>{let h=f.pos+l;u[h]+=f.weight;let m=0;for(;h>0;)h%2&&(m+=u[h+1]),h=h-1>>1,u[h]+=f.weight;d+=f.weight*m}),d}return b7}var C7,cce;function Hgt(){if(cce)return C7;cce=1,C7=e;function e(t,n=[]){return n.map(r=>{let o=t.inEdges(r);if(o.length){let i=o.reduce((a,s)=>{let l=t.edge(s),c=t.node(s.v);return{sum:a.sum+l.weight*c.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}return C7}var A7,uce;function Wgt(){if(uce)return A7;uce=1;let e=ei();A7=t;function t(o,i){let a={};o.forEach((l,c)=>{let u=a[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:c};l.barycenter!==void 0&&(u.barycenter=l.barycenter,u.weight=l.weight)}),i.edges().forEach(l=>{let c=a[l.v],u=a[l.w];c!==void 0&&u!==void 0&&(u.indegree++,c.out.push(a[l.w]))});let s=Object.values(a).filter(l=>!l.indegree);return n(s)}function n(o){let i=[];function a(l){return c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&r(l,c)}}function s(l){return c=>{c.in.push(l),--c.indegree===0&&o.push(c)}}for(;o.length;){let l=o.pop();i.push(l),l.in.reverse().forEach(a(l)),l.out.forEach(s(l))}return i.filter(l=>!l.merged).map(l=>e.pick(l,["vs","i","barycenter","weight"]))}function r(o,i){let a=0,s=0;o.weight&&(a+=o.barycenter*o.weight,s+=o.weight),i.weight&&(a+=i.barycenter*i.weight,s+=i.weight),o.vs=i.vs.concat(o.vs),o.barycenter=a/s,o.weight=s,o.i=Math.min(i.i,o.i),i.merged=!0}return A7}var S7,dce;function Rgt(){if(dce)return S7;dce=1;let e=ei();S7=t;function t(o,i){let a=e.partition(o,m=>Object.hasOwn(m,"barycenter")),s=a.lhs,l=a.rhs.sort((m,y)=>y.i-m.i),c=[],u=0,d=0,f=0;s.sort(r(!!i)),f=n(c,l,f),s.forEach(m=>{f+=m.vs.length,c.push(m.vs),u+=m.barycenter*m.weight,d+=m.weight,f=n(c,l,f)});let h={vs:c.flat(!0)};return d&&(h.barycenter=u/d,h.weight=d),h}function n(o,i,a){let s;for(;i.length&&(s=i[i.length-1]).i<=a;)i.pop(),o.push(s.vs),a++;return a}function r(o){return(i,a)=>i.barycenter<a.barycenter?-1:i.barycenter>a.barycenter?1:o?a.i-i.i:i.i-a.i}return S7}var E7,fce;function Kgt(){if(fce)return E7;fce=1;let e=Hgt(),t=Wgt(),n=Rgt();E7=r;function r(a,s,l,c){let u=a.children(s),d=a.node(s),f=d?d.borderLeft:void 0,h=d?d.borderRight:void 0,m={};f&&(u=u.filter(A=>A!==f&&A!==h));let y=e(a,u);y.forEach(A=>{if(a.children(A.v).length){let S=r(a,A.v,l,c);m[A.v]=S,Object.hasOwn(S,"barycenter")&&i(A,S)}});let v=t(y,l);o(v,m);let b=n(v,c);if(f&&(b.vs=[f,b.vs,h].flat(!0),a.predecessors(f).length)){let A=a.node(a.predecessors(f)[0]),S=a.node(a.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+A.order+S.order)/(b.weight+2),b.weight+=2}return b}function o(a,s){a.forEach(l=>{l.vs=l.vs.flatMap(c=>s[c]?s[c].vs:c)})}function i(a,s){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight):(a.barycenter=s.barycenter,a.weight=s.weight)}return E7}var w7,hce;function Qgt(){if(hce)return w7;hce=1;let e=xl().Graph,t=ei();w7=n;function n(o,i,a){let s=r(o),l=new e({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(c=>o.node(c));return o.nodes().forEach(c=>{let u=o.node(c),d=o.parent(c);(u.rank===i||u.minRank<=i&&i<=u.maxRank)&&(l.setNode(c),l.setParent(c,d||s),o[a](c).forEach(f=>{let h=f.v===c?f.w:f.v,m=l.edge(h,c),y=m!==void 0?m.weight:0;l.setEdge(h,c,{weight:o.edge(f).weight+y})}),Object.hasOwn(u,"minRank")&&l.setNode(c,{borderLeft:u.borderLeft[i],borderRight:u.borderRight[i]}))}),l}function r(o){for(var i;o.hasNode(i=t.uniqueId("_root")););return i}return w7}var x7,pce;function qgt(){if(pce)return x7;pce=1,x7=e;function e(t,n,r){let o={},i;r.forEach(a=>{let s=t.parent(a),l,c;for(;s;){if(l=t.parent(s),l?(c=o[l],o[l]=s):(c=i,i=s),c&&c!==s){n.setEdge(c,s);return}s=l}})}return x7}var I7,gce;function Ugt(){if(gce)return I7;gce=1;let e=zgt(),t=Vgt(),n=Kgt(),r=Qgt(),o=qgt(),i=xl().Graph,a=ei();I7=s;function s(d,f){if(f&&typeof f.customOrder=="function"){f.customOrder(d,s);return}let h=a.maxRank(d),m=l(d,a.range(1,h+1),"inEdges"),y=l(d,a.range(h-1,-1,-1),"outEdges"),v=e(d);if(u(d,v),f&&f.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,A;for(let S=0,C=0;C<4;++S,++C){c(S%2?m:y,S%4>=2),v=a.buildLayerMatrix(d);let x=t(d,v);x<b&&(C=0,A=Object.assign({},v),b=x)}u(d,A)}function l(d,f,h){return f.map(function(m){return r(d,m,h)})}function c(d,f){let h=new i;d.forEach(function(m){let y=m.graph().root,v=n(m,y,h,f);v.vs.forEach((b,A)=>m.node(b).order=A),o(m,h,v.vs)})}function u(d,f){Object.values(f).forEach(h=>h.forEach((m,y)=>d.node(m).order=y))}return I7}var N7,mce;function Ggt(){if(mce)return N7;mce=1;let e=xl().Graph,t=ei();N7={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:i,hasConflict:a,verticalAlignment:s,horizontalCompaction:l,alignCoordinates:d,findSmallestWidthAlignment:u,balance:f};function n(v,b){let A={};function S(C,x){let I=0,N=0,k=C.length,O=x[x.length-1];return x.forEach((M,$)=>{let B=o(v,M),P=B?v.node(B).order:k;(B||M===O)&&(x.slice(N,$+1).forEach(_=>{v.predecessors(_).forEach(L=>{let D=v.node(L),F=D.order;(F<I||P<F)&&!(D.dummy&&v.node(_).dummy)&&i(A,L,_)})}),N=$+1,I=P)}),x}return b.length&&b.reduce(S),A}function r(v,b){let A={};function S(x,I,N,k,O){let M;t.range(I,N).forEach($=>{M=x[$],v.node(M).dummy&&v.predecessors(M).forEach(B=>{let P=v.node(B);P.dummy&&(P.order<k||P.order>O)&&i(A,B,M)})})}function C(x,I){let N=-1,k,O=0;return I.forEach((M,$)=>{if(v.node(M).dummy==="border"){let B=v.predecessors(M);B.length&&(k=v.node(B[0]).order,S(I,O,$,N,k),O=$,N=k)}S(I,O,I.length,k,x.length)}),I}return b.length&&b.reduce(C),A}function o(v,b){if(v.node(b).dummy)return v.predecessors(b).find(A=>v.node(A).dummy)}function i(v,b,A){if(b>A){let C=b;b=A,A=C}let S=v[b];S||(v[b]=S={}),S[A]=!0}function a(v,b,A){if(b>A){let S=b;b=A,A=S}return!!v[b]&&Object.hasOwn(v[b],A)}function s(v,b,A,S){let C={},x={},I={};return b.forEach(N=>{N.forEach((k,O)=>{C[k]=k,x[k]=k,I[k]=O})}),b.forEach(N=>{let k=-1;N.forEach(O=>{let M=S(O);if(M.length){M=M.sort((B,P)=>I[B]-I[P]);let $=(M.length-1)/2;for(let B=Math.floor($),P=Math.ceil($);B<=P;++B){let _=M[B];x[O]===O&&k<I[_]&&!a(A,O,_)&&(x[_]=O,x[O]=C[O]=C[_],k=I[_])}}})}),{root:C,align:x}}function l(v,b,A,S,C){let x={},I=c(v,b,A,C),N=C?"borderLeft":"borderRight";function k($,B){let P=I.nodes(),_=P.pop(),L={};for(;_;)L[_]?$(_):(L[_]=!0,P.push(_),P=P.concat(B(_))),_=P.pop()}function O($){x[$]=I.inEdges($).reduce((B,P)=>Math.max(B,x[P.v]+I.edge(P)),0)}function M($){let B=I.outEdges($).reduce((_,L)=>Math.min(_,x[L.w]-I.edge(L)),Number.POSITIVE_INFINITY),P=v.node($);B!==Number.POSITIVE_INFINITY&&P.borderType!==N&&(x[$]=Math.max(x[$],B))}return k(O,I.predecessors.bind(I)),k(M,I.successors.bind(I)),Object.keys(S).forEach($=>x[$]=x[A[$]]),x}function c(v,b,A,S){let C=new e,x=v.graph(),I=m(x.nodesep,x.edgesep,S);return b.forEach(N=>{let k;N.forEach(O=>{let M=A[O];if(C.setNode(M),k){var $=A[k],B=C.edge($,M);C.setEdge($,M,Math.max(I(v,O,k),B||0))}k=O})}),C}function u(v,b){return Object.values(b).reduce((A,S)=>{let C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([N,k])=>{let O=y(v,N)/2;C=Math.max(k+O,C),x=Math.min(k-O,x)});const I=C-x;return I<A[0]&&(A=[I,S]),A},[Number.POSITIVE_INFINITY,null])[1]}function d(v,b){let A=Object.values(b),S=t.applyWithChunking(Math.min,A),C=t.applyWithChunking(Math.max,A);["u","d"].forEach(x=>{["l","r"].forEach(I=>{let N=x+I,k=v[N];if(k===b)return;let O=Object.values(k),M=S-t.applyWithChunking(Math.min,O);I!=="l"&&(M=C-t.applyWithChunking(Math.max,O)),M&&(v[N]=t.mapValues(k,$=>$+M))})})}function f(v,b){return t.mapValues(v.ul,(A,S)=>{if(b)return v[b.toLowerCase()][S];{let C=Object.values(v).map(x=>x[S]).sort((x,I)=>x-I);return(C[1]+C[2])/2}})}function h(v){let b=t.buildLayerMatrix(v),A=Object.assign(n(v,b),r(v,b)),S={},C;["u","d"].forEach(I=>{C=I==="u"?b:Object.values(b).reverse(),["l","r"].forEach(N=>{N==="r"&&(C=C.map($=>Object.values($).reverse()));let k=(I==="u"?v.predecessors:v.successors).bind(v),O=s(v,C,A,k),M=l(v,C,O.root,O.align,N==="r");N==="r"&&(M=t.mapValues(M,$=>-$)),S[I+N]=M})});let x=u(v,S);return d(S,x),f(S,v.graph().align)}function m(v,b,A){return(S,C,x)=>{let I=S.node(C),N=S.node(x),k=0,O;if(k+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":O=-I.width/2;break;case"r":O=I.width/2;break}if(O&&(k+=A?O:-O),O=0,k+=(I.dummy?b:v)/2,k+=(N.dummy?b:v)/2,k+=N.width/2,Object.hasOwn(N,"labelpos"))switch(N.labelpos.toLowerCase()){case"l":O=N.width/2;break;case"r":O=-N.width/2;break}return O&&(k+=A?O:-O),O=0,k}}function y(v,b){return v.node(b).width}return N7}var O7,vce;function Ygt(){if(vce)return O7;vce=1;let e=ei(),t=Ggt().positionX;O7=n;function n(o){o=e.asNonCompoundGraph(o),r(o),Object.entries(t(o)).forEach(([i,a])=>o.node(i).x=a)}function r(o){let i=e.buildLayerMatrix(o),a=o.graph().ranksep,s=0;i.forEach(l=>{const c=l.reduce((u,d)=>{const f=o.node(d).height;return u>f?u:f},0);l.forEach(u=>o.node(u).y=s+c/2),s+=c+a})}return O7}var T7,yce;function Xgt(){if(yce)return T7;yce=1;let e=$gt(),t=_gt(),n=Dgt(),r=ei().normalizeRanks,o=Lgt(),i=ei().removeEmptyRanks,a=Bgt(),s=Fgt(),l=jgt(),c=Ugt(),u=Ygt(),d=ei(),f=xl().Graph;T7=h;function h(H,Q){let W=Q&&Q.debugTiming?d.time:d.notime;W("layout",()=>{let G=W(" buildLayoutGraph",()=>k(H));W(" runLayout",()=>m(G,W,Q)),W(" updateInputGraph",()=>y(H,G))})}function m(H,Q,W){Q(" makeSpaceForEdgeLabels",()=>O(H)),Q(" removeSelfEdges",()=>z(H)),Q(" acyclic",()=>e.run(H)),Q(" nestingGraph.run",()=>a.run(H)),Q(" rank",()=>n(d.asNonCompoundGraph(H))),Q(" injectEdgeLabelProxies",()=>M(H)),Q(" removeEmptyRanks",()=>i(H)),Q(" nestingGraph.cleanup",()=>a.cleanup(H)),Q(" normalizeRanks",()=>r(H)),Q(" assignRankMinMax",()=>$(H)),Q(" removeEdgeLabelProxies",()=>B(H)),Q(" normalize.run",()=>t.run(H)),Q(" parentDummyChains",()=>o(H)),Q(" addBorderSegments",()=>s(H)),Q(" order",()=>c(H,W)),Q(" insertSelfEdges",()=>V(H)),Q(" adjustCoordinateSystem",()=>l.adjust(H)),Q(" position",()=>u(H)),Q(" positionSelfEdges",()=>R(H)),Q(" removeBorderNodes",()=>F(H)),Q(" normalize.undo",()=>t.undo(H)),Q(" fixupEdgeLabelCoords",()=>L(H)),Q(" undoCoordinateSystem",()=>l.undo(H)),Q(" translateGraph",()=>P(H)),Q(" assignNodeIntersects",()=>_(H)),Q(" reversePoints",()=>D(H)),Q(" acyclic.undo",()=>e.undo(H))}function y(H,Q){H.nodes().forEach(W=>{let G=H.node(W),J=Q.node(W);G&&(G.x=J.x,G.y=J.y,G.rank=J.rank,Q.children(W).length&&(G.width=J.width,G.height=J.height))}),H.edges().forEach(W=>{let G=H.edge(W),J=Q.edge(W);G.points=J.points,Object.hasOwn(J,"x")&&(G.x=J.x,G.y=J.y)}),H.graph().width=Q.graph().width,H.graph().height=Q.graph().height}let v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},A=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],C={width:0,height:0},x=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},N=["labelpos"];function k(H){let Q=new f({multigraph:!0,compound:!0}),W=K(H.graph());return Q.setGraph(Object.assign({},b,q(W,v),d.pick(W,A))),H.nodes().forEach(G=>{let J=K(H.node(G));const U=q(J,S);Object.keys(C).forEach(ee=>{U[ee]===void 0&&(U[ee]=C[ee])}),Q.setNode(G,U),Q.setParent(G,H.parent(G))}),H.edges().forEach(G=>{let J=K(H.edge(G));Q.setEdge(G,Object.assign({},I,q(J,x),d.pick(J,N)))}),Q}function O(H){let Q=H.graph();Q.ranksep/=2,H.edges().forEach(W=>{let G=H.edge(W);G.minlen*=2,G.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?G.width+=G.labeloffset:G.height+=G.labeloffset)})}function M(H){H.edges().forEach(Q=>{let W=H.edge(Q);if(W.width&&W.height){let G=H.node(Q.v),U={rank:(H.node(Q.w).rank-G.rank)/2+G.rank,e:Q};d.addDummyNode(H,"edge-proxy",U,"_ep")}})}function $(H){let Q=0;H.nodes().forEach(W=>{let G=H.node(W);G.borderTop&&(G.minRank=H.node(G.borderTop).rank,G.maxRank=H.node(G.borderBottom).rank,Q=Math.max(Q,G.maxRank))}),H.graph().maxRank=Q}function B(H){H.nodes().forEach(Q=>{let W=H.node(Q);W.dummy==="edge-proxy"&&(H.edge(W.e).labelRank=W.rank,H.removeNode(Q))})}function P(H){let Q=Number.POSITIVE_INFINITY,W=0,G=Number.POSITIVE_INFINITY,J=0,U=H.graph(),ee=U.marginx||0,oe=U.marginy||0;function X(Z){let ie=Z.x,ne=Z.y,pe=Z.width,de=Z.height;Q=Math.min(Q,ie-pe/2),W=Math.max(W,ie+pe/2),G=Math.min(G,ne-de/2),J=Math.max(J,ne+de/2)}H.nodes().forEach(Z=>X(H.node(Z))),H.edges().forEach(Z=>{let ie=H.edge(Z);Object.hasOwn(ie,"x")&&X(ie)}),Q-=ee,G-=oe,H.nodes().forEach(Z=>{let ie=H.node(Z);ie.x-=Q,ie.y-=G}),H.edges().forEach(Z=>{let ie=H.edge(Z);ie.points.forEach(ne=>{ne.x-=Q,ne.y-=G}),Object.hasOwn(ie,"x")&&(ie.x-=Q),Object.hasOwn(ie,"y")&&(ie.y-=G)}),U.width=W-Q+ee,U.height=J-G+oe}function _(H){H.edges().forEach(Q=>{let W=H.edge(Q),G=H.node(Q.v),J=H.node(Q.w),U,ee;W.points?(U=W.points[0],ee=W.points[W.points.length-1]):(W.points=[],U=J,ee=G),W.points.unshift(d.intersectRect(G,U)),W.points.push(d.intersectRect(J,ee))})}function L(H){H.edges().forEach(Q=>{let W=H.edge(Q);if(Object.hasOwn(W,"x"))switch((W.labelpos==="l"||W.labelpos==="r")&&(W.width-=W.labeloffset),W.labelpos){case"l":W.x-=W.width/2+W.labeloffset;break;case"r":W.x+=W.width/2+W.labeloffset;break}})}function D(H){H.edges().forEach(Q=>{let W=H.edge(Q);W.reversed&&W.points.reverse()})}function F(H){H.nodes().forEach(Q=>{if(H.children(Q).length){let W=H.node(Q),G=H.node(W.borderTop),J=H.node(W.borderBottom),U=H.node(W.borderLeft[W.borderLeft.length-1]),ee=H.node(W.borderRight[W.borderRight.length-1]);W.width=Math.abs(ee.x-U.x),W.height=Math.abs(J.y-G.y),W.x=U.x+W.width/2,W.y=G.y+W.height/2}}),H.nodes().forEach(Q=>{H.node(Q).dummy==="border"&&H.removeNode(Q)})}function z(H){H.edges().forEach(Q=>{if(Q.v===Q.w){var W=H.node(Q.v);W.selfEdges||(W.selfEdges=[]),W.selfEdges.push({e:Q,label:H.edge(Q)}),H.removeEdge(Q)}})}function V(H){var Q=d.buildLayerMatrix(H);Q.forEach(W=>{var G=0;W.forEach((J,U)=>{var ee=H.node(J);ee.order=U+G,(ee.selfEdges||[]).forEach(oe=>{d.addDummyNode(H,"selfedge",{width:oe.label.width,height:oe.label.height,rank:ee.rank,order:U+ ++G,e:oe.e,label:oe.label},"_se")}),delete ee.selfEdges})})}function R(H){H.nodes().forEach(Q=>{var W=H.node(Q);if(W.dummy==="selfedge"){var G=H.node(W.e.v),J=G.x+G.width/2,U=G.y,ee=W.x-J,oe=G.height/2;H.setEdge(W.e,W.label),H.removeNode(Q),W.label.points=[{x:J+2*ee/3,y:U-oe},{x:J+5*ee/6,y:U-oe},{x:J+ee,y:U},{x:J+5*ee/6,y:U+oe},{x:J+2*ee/3,y:U+oe}],W.label.x=W.x,W.label.y=W.y}})}function q(H,Q){return d.mapValues(d.pick(H,Q),Number)}function K(H){var Q={};return H&&Object.entries(H).forEach(([W,G])=>{typeof W=="string"&&(W=W.toLowerCase()),Q[W]=G}),Q}return T7}var k7,bce;function Zgt(){if(bce)return k7;bce=1;let e=ei(),t=xl().Graph;k7={debugOrdering:n};function n(r){let o=e.buildLayerMatrix(r),i=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(a=>{i.setNode(a,{label:a}),i.setParent(a,"layer"+r.node(a).rank)}),r.edges().forEach(a=>i.setEdge(a.v,a.w,{},a.name)),o.forEach((a,s)=>{let l="layer"+s;i.setNode(l,{rank:"same"}),a.reduce((c,u)=>(i.setEdge(c,u,{style:"invis"}),u))}),i}return k7}var M7,Cce;function Jgt(){return Cce||(Cce=1,M7="1.1.5"),M7}var $7,Ace;function emt(){return Ace||(Ace=1,$7={graphlib:xl(),layout:Xgt(),debug:Zgt(),util:{time:ei().time,notime:ei().notime},version:Jgt()}),$7}var tmt=emt();const Sce=Hi(tmt),nmt=()=>{const{getNodes:e,getEdges:t,setNodes:n,setEdges:r,fitView:o}=kn(),i=s=>{const l=document.querySelector(`[data-id="${s}"]`);if(!l)return{width:180,height:60};const c=l.getBoundingClientRect();return{width:Math.max(60,c.width),height:Math.max(30,c.height)}};return{layout:(s="LR")=>{const l=e(),c=t();l.length&&requestAnimationFrame(()=>{const u=s==="LR",d=new Sce.graphlib.Graph;d.setDefaultEdgeLabel(()=>({})),d.setGraph({rankdir:s,ranksep:120,nodesep:80}),l.forEach(h=>{const{width:m,height:y}=i(h.id);d.setNode(h.id,{width:m,height:y})}),c.forEach(h=>d.setEdge(h.source,h.target)),Sce.layout(d);const f=l.map(h=>{const m=d.node(h.id),{width:y,height:v}=i(h.id);return{...h,position:{x:m.x-y/2,y:m.y-v/2},targetPosition:u?"left":"top",sourcePosition:u?"right":"bottom"}});n(f),r(c),requestAnimationFrame(()=>o({duration:400,padding:.3}))})}}};var rmt="scripts_editor_k7c3wx0",Md="scripts_editor_k7c3wx1",omt="scripts_editor_k7c3wx2",_7="scripts_editor_k7c3wx3",imt="scripts_editor_k7c3wx4";const amt=()=>{const e=Vr(),[t,n]=E.useState(()=>e.getState().transform[2]);return E.useEffect(()=>{let r=e.getState().transform[2];return e.subscribe(i=>{const a=i.transform[2];a!==r&&(r=a,n(a))})},[e]),p.jsxs("span",{className:imt,children:[Math.round(t*100)/2,"%"]})},smt=E.memo(()=>{const{instanceId:e}=En(),{zoomIn:t,zoomOut:n,fitView:r}=kn(),{layout:o}=nmt(),{undo:i,redo:a,canUndo:s,canRedo:l}=lgt(e),{mode:c,toggleMode:u}=Cle(),{mode:d}=En();return p.jsxs("div",{className:rmt,children:[p.jsx("button",{type:"button",disabled:!s||d==="view",className:Md,onClick:i,children:p.jsx(ggt,{size:18})}),p.jsx("button",{type:"button",disabled:!l||d==="view",className:Md,onClick:a,children:p.jsx(pgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:Md,onClick:()=>o(),children:p.jsx(fje,{})}),p.jsx("button",{type:"button",className:Md,onClick:()=>r({padding:.2}),children:p.jsx(fgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:Md,onClick:()=>t(),children:p.jsx(hgt,{size:18})}),p.jsx(amt,{}),p.jsx("button",{type:"button",className:Md,onClick:()=>n(),children:p.jsx(dgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:`${Md} ${c==="trackpad"?omt:""}`,onClick:u,children:p.jsx(mgt,{size:18})}),p.jsx("button",{type:"button",className:Md,children:p.jsx(vgt,{size:18})})]})});var P7,Ece;function wce(){if(Ece)return P7;Ece=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,o=typeof r=="function"&&r.prototype||e;return n===o}return P7=t,P7}var D7,xce;function lmt(){if(xce)return D7;xce=1;function e(t,n){return function(r){return t(n(r))}}return D7=e,D7}var L7,Ice;function cmt(){if(Ice)return L7;Ice=1;var e=lmt(),t=e(Object.keys,Object);return L7=t,L7}var B7,Nce;function umt(){if(Nce)return B7;Nce=1;var e=wce(),t=cmt(),n=Object.prototype,r=n.hasOwnProperty;function o(i){if(!e(i))return t(i);var a=[];for(var s in Object(i))r.call(i,s)&&s!="constructor"&&a.push(s);return a}return B7=o,B7}var F7,Oce;function Tce(){if(Oce)return F7;Oce=1;var e=gy(),t=Ew(),n="[object AsyncFunction]",r="[object Function]",o="[object GeneratorFunction]",i="[object Proxy]";function a(s){if(!t(s))return!1;var l=e(s);return l==r||l==o||l==n||l==i}return F7=a,F7}var j7,kce;function dmt(){if(kce)return j7;kce=1;var e=ru(),t=e["__core-js_shared__"];return j7=t,j7}var z7,Mce;function fmt(){if(Mce)return z7;Mce=1;var e=dmt(),t=function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function n(r){return!!t&&t in r}return z7=n,z7}var V7,$ce;function _ce(){if($ce)return V7;$ce=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return V7=n,V7}var H7,Pce;function hmt(){if(Pce)return H7;Pce=1;var e=Tce(),t=fmt(),n=Ew(),r=_ce(),o=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=RegExp("^"+l.call(c).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(f){if(!n(f)||t(f))return!1;var h=e(f)?u:i;return h.test(r(f))}return H7=d,H7}var W7,Dce;function pmt(){if(Dce)return W7;Dce=1;function e(t,n){return t==null?void 0:t[n]}return W7=e,W7}var R7,Lce;function Ey(){if(Lce)return R7;Lce=1;var e=hmt(),t=pmt();function n(r,o){var i=t(r,o);return e(i)?i:void 0}return R7=n,R7}var K7,Bce;function gmt(){if(Bce)return K7;Bce=1;var e=Ey(),t=ru(),n=e(t,"DataView");return K7=n,K7}var Q7,Fce;function mmt(){if(Fce)return Q7;Fce=1;var e=Ey(),t=ru(),n=e(t,"Map");return Q7=n,Q7}var q7,jce;function vmt(){if(jce)return q7;jce=1;var e=Ey(),t=ru(),n=e(t,"Promise");return q7=n,q7}var U7,zce;function ymt(){if(zce)return U7;zce=1;var e=Ey(),t=ru(),n=e(t,"Set");return U7=n,U7}var G7,Vce;function bmt(){if(Vce)return G7;Vce=1;var e=Ey(),t=ru(),n=e(t,"WeakMap");return G7=n,G7}var Y7,Hce;function Cmt(){if(Hce)return Y7;Hce=1;var e=gmt(),t=mmt(),n=vmt(),r=ymt(),o=bmt(),i=gy(),a=_ce(),s="[object Map]",l="[object Object]",c="[object Promise]",u="[object Set]",d="[object WeakMap]",f="[object DataView]",h=a(e),m=a(t),y=a(n),v=a(r),b=a(o),A=i;return(e&&A(new e(new ArrayBuffer(1)))!=f||t&&A(new t)!=s||n&&A(n.resolve())!=c||r&&A(new r)!=u||o&&A(new o)!=d)&&(A=function(S){var C=i(S),x=C==l?S.constructor:void 0,I=x?a(x):"";if(I)switch(I){case h:return f;case m:return s;case y:return c;case v:return u;case b:return d}return C}),Y7=A,Y7}var X7,Wce;function Amt(){if(Wce)return X7;Wce=1;var e=gy(),t=ww(),n="[object Arguments]";function r(o){return t(o)&&e(o)==n}return X7=r,X7}var Z7,Rce;function Smt(){if(Rce)return Z7;Rce=1;var e=Amt(),t=ww(),n=Object.prototype,r=n.hasOwnProperty,o=n.propertyIsEnumerable,i=e(function(){return arguments}())?e:function(a){return t(a)&&r.call(a,"callee")&&!o.call(a,"callee")};return Z7=i,Z7}var J7,Kce;function Emt(){if(Kce)return J7;Kce=1;var e=Array.isArray;return J7=e,J7}var e_,Qce;function qce(){if(Qce)return e_;Qce=1;var e=9007199254740991;function t(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=e}return e_=t,e_}var t_,Uce;function wmt(){if(Uce)return t_;Uce=1;var e=Tce(),t=qce();function n(r){return r!=null&&t(r.length)&&!e(r)}return t_=n,t_}var wy={exports:{}},n_,Gce;function xmt(){if(Gce)return n_;Gce=1;function e(){return!1}return n_=e,n_}wy.exports;var Yce;function Imt(){return Yce||(Yce=1,function(e,t){var n=ru(),r=xmt(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,s=a?n.Buffer:void 0,l=s?s.isBuffer:void 0,c=l||r;e.exports=c}(wy,wy.exports)),wy.exports}var r_,Xce;function Nmt(){if(Xce)return r_;Xce=1;var e=gy(),t=qce(),n=ww(),r="[object Arguments]",o="[object Array]",i="[object Boolean]",a="[object Date]",s="[object Error]",l="[object Function]",c="[object Map]",u="[object Number]",d="[object Object]",f="[object RegExp]",h="[object Set]",m="[object String]",y="[object WeakMap]",v="[object ArrayBuffer]",b="[object DataView]",A="[object Float32Array]",S="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",I="[object Int32Array]",N="[object Uint8Array]",k="[object Uint8ClampedArray]",O="[object Uint16Array]",M="[object Uint32Array]",$={};$[A]=$[S]=$[C]=$[x]=$[I]=$[N]=$[k]=$[O]=$[M]=!0,$[r]=$[o]=$[v]=$[i]=$[b]=$[a]=$[s]=$[l]=$[c]=$[u]=$[d]=$[f]=$[h]=$[m]=$[y]=!1;function B(P){return n(P)&&t(P.length)&&!!$[e(P)]}return r_=B,r_}var o_,Zce;function Omt(){if(Zce)return o_;Zce=1;function e(t){return function(n){return t(n)}}return o_=e,o_}var xy={exports:{}};xy.exports;var Jce;function Tmt(){return Jce||(Jce=1,function(e,t){var n=jie(),r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,i=o&&o.exports===r,a=i&&n.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s}(xy,xy.exports)),xy.exports}var i_,eue;function kmt(){if(eue)return i_;eue=1;var e=Nmt(),t=Omt(),n=Tmt(),r=n&&n.isTypedArray,o=r?t(r):e;return i_=o,i_}var a_,tue;function Mmt(){if(tue)return a_;tue=1;var e=umt(),t=Cmt(),n=Smt(),r=Emt(),o=wmt(),i=Imt(),a=wce(),s=kmt(),l="[object Map]",c="[object Set]",u=Object.prototype,d=u.hasOwnProperty;function f(h){if(h==null)return!0;if(o(h)&&(r(h)||typeof h=="string"||typeof h.splice=="function"||i(h)||s(h)||n(h)))return!h.length;var m=t(h);if(m==l||m==c)return!h.size;if(a(h))return!e(h).length;for(var y in h)if(d.call(h,y))return!1;return!0}return a_=f,a_}var $mt=Mmt();const _mt=Hi($mt);var nue="scripts_editor_ohkkdt0",Zw="scripts_editor_ohkkdt1",s_="scripts_editor_ohkkdt2",Pmt="scripts_editor_ohkkdt3",rue="scripts_editor_ohkkdt4",oue="scripts_editor_ohkkdt5",Dmt="scripts_editor_ohkkdt6",Lmt="scripts_editor_ohkkdt7",Bmt="scripts_editor_ohkkdt8";const iue=e=>p.jsx(Ln,{...e,direction:"vertical",size:10}),aue=E.memo(({keyId:e,Icon:t,label:n,active:r,color:o,isLongLabel:i,onDragStart:a})=>{const s=E.useCallback(l=>a(l,e),[a,e]);return p.jsxs(It,{draggable:!0,type:"text",style:{minHeight:i?62:52},className:r?`${s_} ${Pmt} `:`${s_}`,onDragStart:s,children:[p.jsx("span",{className:rue,style:{color:o},children:p.jsx(t,{})}),p.jsx("span",{className:oue,children:n})]},e)},(e,t)=>e.keyId===t.keyId&&e.label===t.label&&e.active===t.active&&e.color===t.color&&e.isLongLabel===t.isLongLabel&&e.onDragStart===t.onDragStart),Fmt=()=>{const[e,t]=Fw(),{BLOCKS_ENABLED:n}=En(),r=E.useCallback((a,s)=>{a.dataTransfer.effectAllowed="move",requestAnimationFrame(()=>t(s))},[t]);if(_mt(n))return null;const o=E.useMemo(()=>Yw.filter(a=>(n==null?void 0:n.includes(a.key))&&a.group===1),[n]),i=E.useMemo(()=>Yw.filter(a=>(n==null?void 0:n.includes(a.key))&&a.group===2),[n]);return p.jsxs("div",{className:nue,children:[p.jsx(Os,{className:Zw,wrapperTag:iue,children:o.map(a=>{const s=a.icon,l=a.active,c=a.label.includes(`
856
+ Request`,icon:Ff,group:2},{key:Be.CONDITION,label:"Điều kiện",icon:s2,group:2},{key:Be.GROUP,label:"Nhóm",icon:QN,group:2}],L$=[{label:"Trigger",key:"trigger",icon:Yl,iconProps:{variant:"Bold"},group:1,color:"#FAAD14",items:[{key:Be.SCHEDULE_AT,label:"Hẹn lịch",description:"Hẹn lịch",icon:N2,group:"Hành động",color:"#096DD9",iconProps:{variant:"Bold"}},{key:Be.CATCH_HOOK,label:"Catch hook",description:"Catch hook",icon:Q6,group:"Hành động",color:"#096DD9",iconProps:{variant:"Bold"}},{key:Be.TRIGGER_CONTACT,label:"Liên hệ",description:"Liên hệ thay đổi",icon:Uu,group:"CRM",color:"#096DD9"},{key:Be.TRIGGER_CALLBOT,label:"Callbot",description:"Chiến dịch được tạo",icon:xs,group:"Đa kênh",color:"#096DD9"},{key:Be.CALLBOT_CUSTOMER,label:"Khách hàng Callbot",description:"Khách hàng trong chiến dịch",icon:xs,group:"Đa kênh",color:"#096DD9"},{key:Be.TRIGGER_CRMORDER,label:"Đơn hàng",description:"Đơn hàng thay đổi",icon:zf,group:"CRM",color:"#096DD9"}]},{label:"CRM",key:"crm",icon:W6,iconProps:{variant:"Bold"},group:2,color:"#1D39C4",items:[{key:Be.ACTION_CONTACT,label:"Liên hệ",description:"Thực hiện hành động với liên hệ",icon:Uu,color:"#096DD9"},{key:Be.ACTION_CRMORDER,label:"Đơn hàng",description:"Thực hiện hành động với đơn hàng",icon:zf,color:"#096DD9"},{key:Be.CONTACT_ASSIGN,label:"Gán nhân viên",description:"Tự động gán nhân viên phụ trách",icon:Uu,color:"#096DD9"},{key:Be.ACTION_CALLBOT,label:"Callbot",description:"Thực hiện hành động với chiến dịch",icon:xs,color:"#096DD9"}]},{label:"Đa kênh",key:"chat",icon:LU,iconProps:{variant:"Bold"},group:2,color:"#08979C",items:[{key:Be.EMAIL,label:"Email",description:"Gửi email",icon:w2,iconProps:{variant:"Bold"},color:"#096DD9"},{key:Be.NOTIFICATION,label:"Thông báo",description:"Gửi thông báo",icon:x2,iconProps:{variant:"Bold"},color:"#096DD9"}]},{label:"Logic",key:"logic",icon:D0,group:2,color:"#D46B08",items:[{key:Be.DELAY,label:"Hẹn giờ",description:"Hẹn giờ",icon:K6,color:"#D4380D"},{key:Be.BRANCH,label:"Rẽ nhánh",description:"Rẽ nhánh",icon:D0,color:"#D4380D"},{key:Be.AI_AGENT,label:"AI Agent",description:"AI Agent",icon:I2,iconProps:{variant:"Bold"},color:"#D4380D"},{key:Be.AUTO_FLOW_HTTP_REQUEST,label:"HTTP Request",description:"HTTP Request",icon:Ff,iconProps:{variant:"Bold"},color:"#D4380D"}]},{label:"Tích hợp",key:"integration",icon:Ff,group:2,color:"#08979C",items:[]}],hc={[Be.AGENT]:"#FAAD14",[Be.START]:"none",[Be.SPEAK]:"#d7268a",[Be.LISTEN]:"#d2691e",[Be.TRANSFER]:"#20b2aa",[Be.CRM]:"#1890ff",[Be.HTTP_REQUEST]:"#20b2aa",[Be.CONDITION]:"#1890ff",[Be.GROUP]:"#8c8c8c",[Be.TRIGGER_CONTACT]:"#1890FF",[Be.SCHEDULE_AT]:"#1890FF",[Be.TRIGGER_CALLBOT]:"#1890FF",[Be.TRIGGER_CRMORDER]:"#1890FF",[Be.ACTION_CONTACT]:"#1890FF",[Be.ACTION_CALLBOT]:"#1890FF",[Be.ACTION_CRMORDER]:"#1890FF",[Be.EMAIL]:"#1890FF",[Be.DELAY]:"#D4380D",[Be.BRANCH]:"#D4380D",[Be.AI_AGENT]:"#D4380D",[Be.NOTIFICATION]:"#1890FF",[Be.CATCH_HOOK]:"#1890FF",[Be.CONTACT_ASSIGN]:"#1890FF",[Be.AUTO_FLOW_HTTP_REQUEST]:"#D4380D",[Be.CALLBOT_CUSTOMER]:"#1890FF"},Lpt=e=>!!e&&typeof e=="object"&&"id"in e&&(typeof e.id=="string"||typeof e.id=="number"),Bpt=({blockType:e,nodeData:t})=>{if(e!==Be.SPEAK){if(e===Be.LISTEN||e===Be.AGENT){const n=Array.isArray(t.conditions)?t.conditions.filter(Lpt):[];return n.length===1?n[0].id.toString():null}return null}};var fle="scripts_editor_223f7c0",hle="scripts_editor_223f7c2";const Fpt=({id:e,sourceX:t,sourceY:n,targetX:r,targetY:o,sourcePosition:i,targetPosition:a,style:s,markerEnd:l})=>{const{mode:c}=En(),{isOpen:u,onOpen:d,onClose:f}=po(),{setEdges:h,setNodes:m}=kn(),[y,v,b]=qb({sourceX:t,sourceY:n,sourcePosition:i,targetX:r,targetY:o,targetPosition:a}),A=[...Yw.filter(x=>x.key!==Be.AGENT).map(x=>({label:p.jsxs(Ln,{align:"center",size:8,children:[E.createElement(x.icon,{style:{color:hc[x.key]}}),x.label]}),key:x.key}))],S=x=>{x.preventDefault(),d()},C=({key:x})=>{const I=x,N={id:`${I.toLowerCase()}_${Hf()}`,type:I,position:{x:v,y:b},data:{title:Ig[I],...Wf[I]},deletable:!0,...Q0[I]},k=Bpt({blockType:I,nodeData:N.data});m(O=>O.concat(N)),h(O=>{const M=O.find(D=>D.id===e);if(!M)return O;const{source:$,sourceHandle:B,target:P,targetHandle:_}=M,L=O.filter(D=>D.id!==e);return L.push({id:`${$}_${N.id}_${Hf()}`,source:$,sourceHandle:B,target:N.id,type:"autoCallButton"}),k!==null&&L.push({id:`${N.id}_${P}_${Hf()}`,source:N.id,sourceHandle:k,target:P,targetHandle:_,type:"autoCallButton"}),L}),f()};return p.jsxs(p.Fragment,{children:[p.jsx(bp,{path:y,markerEnd:l,style:s??{}}),p.jsx(SB,{children:c!=="edit"?null:p.jsx(pr,{title:"Thêm nút",children:p.jsx("div",{className:`${fle} nodrag nopan ${u?hle:""}`,style:{transform:`translate(-50%, -50%) translate(${v}px,${b}px)`},children:p.jsx(hl,{onOpenChange:x=>{x?d():f()},menu:{items:A,onClick:C},open:u,trigger:["click"],children:p.jsx(It,{onClick:S,type:"text",size:"large",style:{padding:4},children:p.jsx(B0,{style:{fontSize:24}})})})})})})]})},jpt=new Set([Be.ACTION_CONTACT,Be.ACTION_CRMORDER,Be.CONTACT_ASSIGN,Be.EMAIL,Be.DELAY,Be.BRANCH,Be.AI_AGENT,Be.NOTIFICATION]),zpt=new Set([Be.ACTION_CONTACT,Be.ACTION_CRMORDER,Be.EMAIL,Be.DELAY,Be.AI_AGENT,Be.NOTIFICATION]),Vpt=e=>!!e&&typeof e=="object"&&"id"in e&&typeof e.id=="string"&&"conditions"in e&&Array.isArray(e.conditions),Hpt=e=>{if(!jpt.has(e))return null},Wpt=({blockType:e,nodeId:t,nodeData:n})=>{if(!zpt.has(e)){if(e===Be.BRANCH){const i=[...(Array.isArray(n.groups)?n.groups:[]).filter(Vpt).filter(a=>a.conditions.length>0).map(a=>a.id),`branch_group_default_${t}`];return i.length===1?i[0]:null}return null}},Rpt={autoCallButton:Fpt,autoFlowButton:e=>{const{id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,style:l,markerEnd:c}=e,{mode:u}=En(),{isOpen:d,onOpen:f,onClose:h}=po(),{setEdges:m,setNodes:y}=kn(),[v,b,A]=E.useMemo(()=>qb({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s}),[n,r,o,i,a,s]),S=E.useMemo(()=>L$.filter(k=>k.group!==1).map(k=>({key:k.key,label:p.jsxs(Ln,{align:"center",size:8,children:[p.jsx("span",{style:{color:k.color||hc[k.key]},children:p.jsx(k.icon,{...k.iconProps,size:20})}),p.jsx("span",{children:k.label})]}),children:k.items.map(O=>({key:O.key,label:p.jsxs(Ln,{align:"center",size:8,children:[p.jsx("span",{style:{color:O.color||hc[O.key]},children:p.jsx(O.icon,{...O.iconProps,size:14})}),p.jsx("span",{children:O.label})]})}))})),[]),C=E.useCallback(k=>({id:`${k.toLowerCase()}_${Hf()}`,type:k,position:{x:b,y:A},data:{title:Ig[k],...Wf[k]},deletable:!0,...Q0[k]}),[b,A]),x=E.useCallback(({key:k})=>{const O=k,M=C(O),$=Hpt(O),B=Wpt({blockType:O,nodeId:M.id,nodeData:M.data});y(P=>[...P,M]),m(P=>{const _=P.find(q=>q.id===t);if(!_)return P;const{source:L,sourceHandle:D,target:F,targetHandle:z}=_,V=Hf(),R=P.filter(q=>q.id!==t);return $!==null&&R.push({id:`${L}_${M.id}_${V}`,source:L,sourceHandle:D,target:M.id,targetHandle:$,type:"autoFlowButton"}),B!==null&&R.push({id:`${M.id}_${F}_${V}`,source:M.id,sourceHandle:B,target:F,targetHandle:z,type:"autoFlowButton"}),R}),h()},[t,C,y,m,h]),I=E.useCallback(k=>{k.preventDefault(),f()},[f]),N=E.useMemo(()=>({transform:`translate(-50%, -50%) translate(${b}px,${A}px)`}),[b,A]);return p.jsxs(p.Fragment,{children:[p.jsx(bp,{path:v,markerEnd:c,style:l}),p.jsx(SB,{children:u!=="edit"?null:p.jsx(pr,{title:"Thêm nút",children:p.jsx("div",{className:`${fle} nodrag nopan ${d?hle:""}`,style:N,children:p.jsx(hl,{open:d,trigger:["click"],menu:{items:S,onClick:x},onOpenChange:k=>k?f():h(),children:p.jsx(It,{onClick:I,type:"text",size:"large",style:{padding:4},children:p.jsx(B0,{style:{fontSize:24}})})})})})})]})}};function Kpt(){const{getNodes:e,getEdges:t}=kn(),n=jw();return{isValidConnection:E.useCallback(o=>{const i=e(),a=t(),s=i.find(c=>c.id===o.target);return a.some(c=>c.source===o.source&&(c.sourceHandle?c.sourceHandle===o.sourceHandle:!0))?(n.error({key:"output-used",content:"Output này đã được nối rồi"}),!1):(s==null?void 0:s.id)===o.source?(n.error({key:"self-loop",content:"Không thể kết nối node vào chính nó"}),!1):!0},[t,e,n])}}const Qpt=()=>E.useCallback(({deletedNodeId:e,deletedNodeIds:t,edges:n,defaultEdgeType:r})=>{const o=n.filter(l=>l.target===e&&!t.has(l.source)),i=n.filter(l=>l.source===e&&!t.has(l.target));if(o.length!==1||i.length!==1)return null;const[a]=o,[s]=i;return a.source===s.target?null:{source:a.source,sourceHandle:a.sourceHandle??null,target:s.target,targetHandle:s.targetHandle??null,type:s.type||a.type||r}},[]),qpt=()=>{const e=Qpt();return E.useCallback(({deletedNodes:t,edges:n,defaultEdgeType:r})=>{const o=new Set(t.map(i=>i.id));return t.flatMap(i=>{const a=e({deletedNodeId:i.id,deletedNodeIds:o,edges:n,defaultEdgeType:r});return a?[a]:[]})},[e])},Upt=e=>E.useMemo(()=>e.map((t,n)=>{var o,i;const r=n+1;return{...t,data:{...t.data,order:r,output:Array.isArray((o=t.data)==null?void 0:o.output)?t.data.output.map(a=>({...a,order:r})):(i=t.data)==null?void 0:i.output}}}),[e]);var Gpt="scripts_editor_3c0va90",Ypt="scripts_editor_3c0va91",Xpt="scripts_editor_3c0va93",Zpt="scripts_editor_3c0va94",Jpt="scripts_editor_3c0va95",egt="scripts_editor_3c0va96",kd="scripts_editor_3c0va97",tgt="scripts_editor_3c0va98",ngt="scripts_editor_3c0va99",ple="scripts_editor_3c0va9a";function gle(e){return br({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20"},child:[]},{tag:"path",attr:{d:"M8 11h8"},child:[]},{tag:"path",attr:{d:"M8 7h6"},child:[]}]})(e)}const rgt={version:"1.29.3"};var Bm=(e=>(e.BOT="bot",e.CLONE="clone",e))(Bm||{});function B$(e){const t=e.getState(),{nodes:n,edges:r,transform:o}=t;return{nodes:n,edges:r,viewport:{x:o[0],y:o[1],zoom:o[2]}}}function ogt({cb:e,delay:t=1e3,enabled:n=!0}){const r=Vr(),o=E.useRef(e),i=E.useRef(B$(r)),a=E.useRef(i.current.viewport.zoom);E.useEffect(()=>{o.current=n?e:void 0},[e,n]);const s=E.useCallback(()=>{var y;if(!n)return;const u=B$(r),d=i.current,f=dt.isEqual(u.nodes,d.nodes),h=dt.isEqual(u.edges,d.edges),m=dt.isEqual(u.viewport,d.viewport);f&&h&&m||(i.current=u,a.current=u.viewport.zoom,(y=o.current)==null||y.call(o,u))},[r,n]),l=E.useMemo(()=>dt.debounce(s,t),[s,t]);E.useEffect(()=>{const u=r.subscribe(()=>l());return()=>{l.cancel(),u()}},[r,l]),lbe({onChange:({zoom:u})=>{n&&u!==a.current&&(a.current=u,l())}});const c=E.useCallback(()=>{const u=B$(r);i.current=u,a.current=u.viewport.zoom},[r]);return{commit:l,resetCommitState:c}}const mle=e=>{let t;const n=new Set,r=(c,u)=>{const d=typeof c=="function"?c(t):c;if(!Object.is(d,t)){const f=t;t=u??(typeof d!="object"||d===null)?d:Object.assign({},t,d),n.forEach(h=>h(t,f))}},o=()=>t,s={setState:r,getState:o,getInitialState:()=>l,subscribe:c=>(n.add(c),()=>n.delete(c))},l=t=e(r,o,s);return s},igt=e=>e?mle(e):mle,agt=e=>e;function sgt(e,t=agt){const n=E.useSyncExternalStore(e.subscribe,E.useCallback(()=>t(e.getState()),[e,t]),E.useCallback(()=>t(e.getInitialState()),[e,t]));return E.useDebugValue(n),n}const vle=e=>{const t=igt(e),n=r=>sgt(t,r);return Object.assign(n,t),n},yle=e=>e?vle(e):vle,ble=yle(e=>({mode:"trackpad",toggleMode:()=>e(t=>({mode:t.mode==="trackpad"?"mouse":"trackpad"}))}));function Cle(){const e=ble(o=>o.mode),t=ble(o=>o.toggleMode),{mode:n}=En(),r=E.useMemo(()=>({...e==="trackpad"?{panOnScroll:!0,panOnDrag:!1,zoomOnScroll:!1,zoomOnPinch:!0,zoomOnDoubleClick:!1}:{panOnScroll:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!1,zoomOnDoubleClick:!1},...n==="view"||n==="history"?{nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:n==="history"}:{nodesDraggable:!0,nodesConnectable:!0,elementsSelectable:!0}}),[e,n]);return{mode:e,toggleMode:t,flowProps:r}}const Ale={history:[],currentStep:-1,canUndo:!1,canRedo:!1},F$=e=>{try{const t=e.nodes.map(o=>({id:o.id,position:o.position})),n=e.edges.map(o=>({id:o.id,source:o.source,target:o.target})),r=e.viewport;return JSON.stringify({nodes:t,edges:n,viewport:r})}catch{return JSON.stringify(e)}},Sy=yle((e,t)=>({instances:{},pushSnapshot:(n,r)=>e(o=>{const i=o.instances[n]??Ale,a=F$(r),s=i.history[i.currentStep];if(s&&F$(s)===a)return o;const l=i.history.slice(0,i.currentStep+1).concat(r),c=l.length-1;return{instances:{...o.instances,[n]:{history:l,currentStep:c,canUndo:c>0,canRedo:c<l.length-1}}}}),applySnapshot:(n,r)=>{const o=t().instances[n];return!o||r<0||r>=o.history.length?null:(e(i=>({instances:{...i.instances,[n]:{...o,currentStep:r,canUndo:r>0,canRedo:r<o.history.length-1}}})),o.history[r])},reset:(n,r)=>e(o=>({instances:{...o.instances,[n]:{history:r?[r]:[],currentStep:r?0:-1,canUndo:!1,canRedo:!1}}})),remove:n=>e(r=>{const{[n]:o,...i}=r.instances;return{instances:i}})}));function Sle(e){const t=Sy(a=>a.instances[e]??Ale),n=Sy(a=>a.pushSnapshot),r=Sy(a=>a.applySnapshot),o=Sy(a=>a.reset),i=Sy(a=>a.remove);return{history:t.history,currentStep:t.currentStep,canUndo:t.canUndo,canRedo:t.canRedo,pushSnapshot:a=>n(e,a),undo:()=>r(e,t.currentStep-1),redo:()=>r(e,t.currentStep+1),goTo:a=>r(e,a),reset:a=>o(e,a),dispose:()=>i(e)}}const lgt=e=>{const{canUndo:t,canRedo:n,undo:r,redo:o}=Sle(e),{setNodes:i,setEdges:a,setViewport:s}=kn(),l=E.useCallback(d=>{d&&(i==null||i(d.nodes??[]),a==null||a(d.edges??[]),d.viewport&&(s==null||s(d.viewport)))},[i,a,s]),c=E.useCallback(()=>{if(!t)return;const d=r();l(d)},[t,r,l]),u=E.useCallback(()=>{if(!n)return;const d=o();l(d)},[n,o,l]);return{canUndo:t,canRedo:n,undo:c,redo:u}},cgt=(e,t)=>{const{getNodes:n,getEdges:r,getViewport:o}=kn(),{pushSnapshot:i}=Sle(e),a=E.useRef(null),s=E.useRef(null),l=E.useRef(!1),c=t==null?void 0:t.snapshotDebounceMs,u=E.useCallback(()=>{const f={nodes:n()??[],edges:r()??[],viewport:o?o():null},h=F$(f);s.current!==h&&(s.current=h,i(f))},[n,r,o,i,e]),d=E.useCallback(()=>{a.current&&window.clearTimeout(a.current),a.current=window.setTimeout(()=>{u(),a.current=null},c)},[c,u]);return E.useEffect(()=>{l.current||(l.current=!0,u())},[]),E.useEffect(()=>()=>{a.current&&window.clearTimeout(a.current)},[]),{takeSnapshotNow:u,takeSnapshotDebounced:d}};function ugt(e){return br({attr:{t:"1569683610100",viewBox:"0 0 1024 1024",version:"1.1"},child:[{tag:"path",attr:{d:"M841 370c3-3.3 2.7-8.3-0.6-11.3-1.5-1.3-3.4-2.1-5.3-2.1h-72.6c-2.4 0-4.6 1-6.1 2.8L633.5 504.6c-2.9 3.4-7.9 3.8-11.3 0.9-0.9-0.8-1.6-1.7-2.1-2.8l-63.5-141.3c-1.3-2.9-4.1-4.7-7.3-4.7H380.7l0.9-4.7 8-42.3c10.5-55.4 38-81.4 85.8-81.4 18.6 0 35.5 1.7 48.8 4.7l14.1-66.8c-22.6-4.7-35.2-6.1-54.9-6.1-103.3 0-156.4 44.3-175.9 147.3l-9.4 49.4h-97.6c-3.8 0-7.1 2.7-7.8 6.4L181.9 415c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H284l-89 429.9c-0.9 4.3 1.9 8.6 6.2 9.5 0.5 0.1 1.1 0.2 1.6 0.2H269c3.8 0 7.1-2.7 7.8-6.4l89.7-433.1h135.8l68.2 139.1c1.4 2.9 1 6.4-1.2 8.8l-180.6 203c-2.9 3.3-2.6 8.4 0.7 11.3 1.5 1.3 3.4 2 5.3 2h72.7c2.4 0 4.6-1 6.1-2.8l123.7-146.7c2.8-3.4 7.9-3.8 11.3-1 0.9 0.8 1.6 1.7 2.1 2.8L676.4 784c1.3 2.8 4.1 4.7 7.3 4.7h64.6c4.4 0 8-3.6 8-8 0-1.2-0.3-2.4-0.8-3.5l-95.2-198.9c-1.4-2.9-0.9-6.4 1.3-8.8L841 370z"},child:[]}]})(e)}function dgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M696 480H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]},{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"},child:[]}]})(e)}function fgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M952 792H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0-632H72c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h880c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM848 660c8.8 0 16-7.2 16-16V380c0-8.8-7.2-16-16-16H176c-8.8 0-16 7.2-16 16v264c0 8.8 7.2 16 16 16h672zM232 436h560v152H232V436z"},child:[]}]})(e)}function hgt(e){return br({attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M696 480H544V328c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v152H328c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h152v152c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V544h152c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8z"},child:[]},{tag:"path",attr:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"},child:[]}]})(e)}function pgt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9 18h3v-2H9c-1.654 0-3-1.346-3-3s1.346-3 3-3h6v3l5-4-5-4v3H9c-2.757 0-5 2.243-5 5s2.243 5 5 5z"},child:[]}]})(e)}function ggt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M9 10h6c1.654 0 3 1.346 3 3s-1.346 3-3 3h-3v2h3c2.757 0 5-2.243 5-5s-2.243-5-5-5H9V5L4 9l5 4v-3z"},child:[]}]})(e)}function mgt(e){return br({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M20 3H4c-1.103 0-2 .897-2 2v14c0 1.103.897 2 2 2h16c1.103 0 2-.897 2-2V5c0-1.103-.897-2-2-2zm0 2 .001 4H4V5h16zM4 19v-8h16.001l.001 8H4z"},child:[]},{tag:"path",attr:{d:"M14 6h2v2h-2zm3 0h2v2h-2z"},child:[]}]})(e)}function vgt(e){return br({attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{d:"M256 76c48.1 0 93.3 18.7 127.3 52.7S436 207.9 436 256s-18.7 93.3-52.7 127.3S304.1 436 256 436c-48.1 0-93.3-18.7-127.3-52.7S76 304.1 76 256s18.7-93.3 52.7-127.3S207.9 76 256 76m0-28C141.1 48 48 141.1 48 256s93.1 208 208 208 208-93.1 208-208S370.9 48 256 48z"},child:[]},{tag:"path",attr:{d:"M256.7 160c37.5 0 63.3 20.8 63.3 50.7 0 19.8-9.6 33.5-28.1 44.4-17.4 10.1-23.3 17.5-23.3 30.3v7.9h-34.7l-.3-8.6c-1.7-20.6 5.5-33.4 23.6-44 16.9-10.1 24-16.5 24-28.9s-12-21.5-26.9-21.5c-15.1 0-26 9.8-26.8 24.6H192c.7-32.2 24.5-54.9 64.7-54.9zm-26.3 171.4c0-11.5 9.6-20.6 21.4-20.6 11.9 0 21.5 9 21.5 20.6s-9.6 20.6-21.5 20.6-21.4-9-21.4-20.6z"},child:[]}]})(e)}var j$,Ele;function z$(){if(Ele)return j$;Ele=1;var e="\0",t="\0",n="";class r{constructor(u){jo(this,"_isDirected",!0);jo(this,"_isMultigraph",!1);jo(this,"_isCompound",!1);jo(this,"_label");jo(this,"_defaultNodeLabelFn",()=>{});jo(this,"_defaultEdgeLabelFn",()=>{});jo(this,"_nodes",{});jo(this,"_in",{});jo(this,"_preds",{});jo(this,"_out",{});jo(this,"_sucs",{});jo(this,"_edgeObjs",{});jo(this,"_edgeLabels",{});jo(this,"_nodeCount",0);jo(this,"_edgeCount",0);jo(this,"_parent");jo(this,"_children");u&&(this._isDirected=Object.hasOwn(u,"directed")?u.directed:!0,this._isMultigraph=Object.hasOwn(u,"multigraph")?u.multigraph:!1,this._isCompound=Object.hasOwn(u,"compound")?u.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(u){return this._label=u,this}graph(){return this._label}setDefaultNodeLabel(u){return this._defaultNodeLabelFn=u,typeof u!="function"&&(this._defaultNodeLabelFn=()=>u),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var u=this;return this.nodes().filter(d=>Object.keys(u._in[d]).length===0)}sinks(){var u=this;return this.nodes().filter(d=>Object.keys(u._out[d]).length===0)}setNodes(u,d){var f=arguments,h=this;return u.forEach(function(m){f.length>1?h.setNode(m,d):h.setNode(m)}),this}setNode(u,d){return Object.hasOwn(this._nodes,u)?(arguments.length>1&&(this._nodes[u]=d),this):(this._nodes[u]=arguments.length>1?d:this._defaultNodeLabelFn(u),this._isCompound&&(this._parent[u]=t,this._children[u]={},this._children[t][u]=!0),this._in[u]={},this._preds[u]={},this._out[u]={},this._sucs[u]={},++this._nodeCount,this)}node(u){return this._nodes[u]}hasNode(u){return Object.hasOwn(this._nodes,u)}removeNode(u){var d=this;if(Object.hasOwn(this._nodes,u)){var f=h=>d.removeEdge(d._edgeObjs[h]);delete this._nodes[u],this._isCompound&&(this._removeFromParentsChildList(u),delete this._parent[u],this.children(u).forEach(function(h){d.setParent(h)}),delete this._children[u]),Object.keys(this._in[u]).forEach(f),delete this._in[u],delete this._preds[u],Object.keys(this._out[u]).forEach(f),delete this._out[u],delete this._sucs[u],--this._nodeCount}return this}setParent(u,d){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(d===void 0)d=t;else{d+="";for(var f=d;f!==void 0;f=this.parent(f))if(f===u)throw new Error("Setting "+d+" as parent of "+u+" would create a cycle");this.setNode(d)}return this.setNode(u),this._removeFromParentsChildList(u),this._parent[u]=d,this._children[d][u]=!0,this}_removeFromParentsChildList(u){delete this._children[this._parent[u]][u]}parent(u){if(this._isCompound){var d=this._parent[u];if(d!==t)return d}}children(u=t){if(this._isCompound){var d=this._children[u];if(d)return Object.keys(d)}else{if(u===t)return this.nodes();if(this.hasNode(u))return[]}}predecessors(u){var d=this._preds[u];if(d)return Object.keys(d)}successors(u){var d=this._sucs[u];if(d)return Object.keys(d)}neighbors(u){var d=this.predecessors(u);if(d){const h=new Set(d);for(var f of this.successors(u))h.add(f);return Array.from(h.values())}}isLeaf(u){var d;return this.isDirected()?d=this.successors(u):d=this.neighbors(u),d.length===0}filterNodes(u){var d=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});d.setGraph(this.graph());var f=this;Object.entries(this._nodes).forEach(function([y,v]){u(y)&&d.setNode(y,v)}),Object.values(this._edgeObjs).forEach(function(y){d.hasNode(y.v)&&d.hasNode(y.w)&&d.setEdge(y,f.edge(y))});var h={};function m(y){var v=f.parent(y);return v===void 0||d.hasNode(v)?(h[y]=v,v):v in h?h[v]:m(v)}return this._isCompound&&d.nodes().forEach(y=>d.setParent(y,m(y))),d}setDefaultEdgeLabel(u){return this._defaultEdgeLabelFn=u,typeof u!="function"&&(this._defaultEdgeLabelFn=()=>u),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(u,d){var f=this,h=arguments;return u.reduce(function(m,y){return h.length>1?f.setEdge(m,y,d):f.setEdge(m,y),y}),this}setEdge(){var u,d,f,h,m=!1,y=arguments[0];typeof y=="object"&&y!==null&&"v"in y?(u=y.v,d=y.w,f=y.name,arguments.length===2&&(h=arguments[1],m=!0)):(u=y,d=arguments[1],f=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),u=""+u,d=""+d,f!==void 0&&(f=""+f);var v=a(this._isDirected,u,d,f);if(Object.hasOwn(this._edgeLabels,v))return m&&(this._edgeLabels[v]=h),this;if(f!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(u),this.setNode(d),this._edgeLabels[v]=m?h:this._defaultEdgeLabelFn(u,d,f);var b=s(this._isDirected,u,d,f);return u=b.v,d=b.w,Object.freeze(b),this._edgeObjs[v]=b,o(this._preds[d],u),o(this._sucs[u],d),this._in[d][v]=b,this._out[u][v]=b,this._edgeCount++,this}edge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f);return this._edgeLabels[h]}edgeAsObj(){const u=this.edge(...arguments);return typeof u!="object"?{label:u}:u}hasEdge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f);return Object.hasOwn(this._edgeLabels,h)}removeEdge(u,d,f){var h=arguments.length===1?l(this._isDirected,arguments[0]):a(this._isDirected,u,d,f),m=this._edgeObjs[h];return m&&(u=m.v,d=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],i(this._preds[d],u),i(this._sucs[u],d),delete this._in[d][h],delete this._out[u][h],this._edgeCount--),this}inEdges(u,d){var f=this._in[u];if(f){var h=Object.values(f);return d?h.filter(m=>m.v===d):h}}outEdges(u,d){var f=this._out[u];if(f){var h=Object.values(f);return d?h.filter(m=>m.w===d):h}}nodeEdges(u,d){var f=this.inEdges(u,d);if(f)return f.concat(this.outEdges(u,d))}}function o(c,u){c[u]?c[u]++:c[u]=1}function i(c,u){--c[u]||delete c[u]}function a(c,u,d,f){var h=""+u,m=""+d;if(!c&&h>m){var y=h;h=m,m=y}return h+n+m+n+(f===void 0?e:f)}function s(c,u,d,f){var h=""+u,m=""+d;if(!c&&h>m){var y=h;h=m,m=y}var v={v:h,w:m};return f&&(v.name=f),v}function l(c,u){return a(c,u.v,u.w,u.name)}return j$=r,j$}var V$,wle;function ygt(){return wle||(wle=1,V$="2.2.4"),V$}var H$,xle;function bgt(){return xle||(xle=1,H$={Graph:z$(),version:ygt()}),H$}var W$,Ile;function Cgt(){if(Ile)return W$;Ile=1;var e=z$();W$={write:t,read:o};function t(i){var a={options:{directed:i.isDirected(),multigraph:i.isMultigraph(),compound:i.isCompound()},nodes:n(i),edges:r(i)};return i.graph()!==void 0&&(a.value=structuredClone(i.graph())),a}function n(i){return i.nodes().map(function(a){var s=i.node(a),l=i.parent(a),c={v:a};return s!==void 0&&(c.value=s),l!==void 0&&(c.parent=l),c})}function r(i){return i.edges().map(function(a){var s=i.edge(a),l={v:a.v,w:a.w};return a.name!==void 0&&(l.name=a.name),s!==void 0&&(l.value=s),l})}function o(i){var a=new e(i.options).setGraph(i.value);return i.nodes.forEach(function(s){a.setNode(s.v,s.value),s.parent&&a.setParent(s.v,s.parent)}),i.edges.forEach(function(s){a.setEdge({v:s.v,w:s.w,name:s.name},s.value)}),a}return W$}var R$,Nle;function Agt(){if(Nle)return R$;Nle=1,R$=e;function e(t){var n={},r=[],o;function i(a){Object.hasOwn(n,a)||(n[a]=!0,o.push(a),t.successors(a).forEach(i),t.predecessors(a).forEach(i))}return t.nodes().forEach(function(a){o=[],i(a),o.length&&r.push(o)}),r}return R$}var K$,Ole;function Tle(){if(Ole)return K$;Ole=1;class e{constructor(){jo(this,"_arr",[]);jo(this,"_keyIndices",{})}size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var o=this._keyIndices;if(n=String(n),!Object.hasOwn(o,n)){var i=this._arr,a=i.length;return o[n]=a,i.push({key:n,priority:r}),this._decrease(a),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var o=this._keyIndices[n];if(r>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[o].priority+" New: "+r);this._arr[o].priority=r,this._decrease(o)}_heapify(n){var r=this._arr,o=2*n,i=o+1,a=n;o<r.length&&(a=r[o].priority<r[a].priority?o:a,i<r.length&&(a=r[i].priority<r[a].priority?i:a),a!==n&&(this._swap(n,a),this._heapify(a)))}_decrease(n){for(var r=this._arr,o=r[n].priority,i;n!==0&&(i=n>>1,!(r[i].priority<o));)this._swap(n,i),n=i}_swap(n,r){var o=this._arr,i=this._keyIndices,a=o[n],s=o[r];o[n]=s,o[r]=a,i[s.key]=n,i[a.key]=r}}return K$=e,K$}var Q$,kle;function Mle(){if(kle)return Q$;kle=1;var e=Tle();Q$=n;var t=()=>1;function n(o,i,a,s){return r(o,String(i),a||t,s||function(l){return o.outEdges(l)})}function r(o,i,a,s){var l={},c=new e,u,d,f=function(h){var m=h.v!==u?h.v:h.w,y=l[m],v=a(h),b=d.distance+v;if(v<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+v);b<y.distance&&(y.distance=b,y.predecessor=u,c.decrease(m,b))};for(o.nodes().forEach(function(h){var m=h===i?0:Number.POSITIVE_INFINITY;l[h]={distance:m},c.add(h,m)});c.size()>0&&(u=c.removeMin(),d=l[u],d.distance!==Number.POSITIVE_INFINITY);)s(u).forEach(f);return l}return Q$}var q$,$le;function Sgt(){if($le)return q$;$le=1;var e=Mle();q$=t;function t(n,r,o){return n.nodes().reduce(function(i,a){return i[a]=e(n,a,r,o),i},{})}return q$}var U$,_le;function Ple(){if(_le)return U$;_le=1,U$=e;function e(t){var n=0,r=[],o={},i=[];function a(s){var l=o[s]={onStack:!0,lowlink:n,index:n++};if(r.push(s),t.successors(s).forEach(function(d){Object.hasOwn(o,d)?o[d].onStack&&(l.lowlink=Math.min(l.lowlink,o[d].index)):(a(d),l.lowlink=Math.min(l.lowlink,o[d].lowlink))}),l.lowlink===l.index){var c=[],u;do u=r.pop(),o[u].onStack=!1,c.push(u);while(s!==u);i.push(c)}}return t.nodes().forEach(function(s){Object.hasOwn(o,s)||a(s)}),i}return U$}var G$,Dle;function Egt(){if(Dle)return G$;Dle=1;var e=Ple();G$=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return G$}var Y$,Lle;function wgt(){if(Lle)return Y$;Lle=1,Y$=t;var e=()=>1;function t(r,o,i){return n(r,o||e,i||function(a){return r.outEdges(a)})}function n(r,o,i){var a={},s=r.nodes();return s.forEach(function(l){a[l]={},a[l][l]={distance:0},s.forEach(function(c){l!==c&&(a[l][c]={distance:Number.POSITIVE_INFINITY})}),i(l).forEach(function(c){var u=c.v===l?c.w:c.v,d=o(c);a[l][u]={distance:d,predecessor:l}})}),s.forEach(function(l){var c=a[l];s.forEach(function(u){var d=a[u];s.forEach(function(f){var h=d[l],m=c[f],y=d[f],v=h.distance+m.distance;v<y.distance&&(y.distance=v,y.predecessor=m.predecessor)})})}),a}return Y$}var X$,Ble;function Fle(){if(Ble)return X$;Ble=1;function e(n){var r={},o={},i=[];function a(s){if(Object.hasOwn(o,s))throw new t;Object.hasOwn(r,s)||(o[s]=!0,r[s]=!0,n.predecessors(s).forEach(a),delete o[s],i.push(s))}if(n.sinks().forEach(a),Object.keys(r).length!==n.nodeCount())throw new t;return i}class t extends Error{constructor(){super(...arguments)}}return X$=e,e.CycleException=t,X$}var Z$,jle;function xgt(){if(jle)return Z$;jle=1;var e=Fle();Z$=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Z$}var J$,zle;function Vle(){if(zle)return J$;zle=1,J$=e;function e(o,i,a){Array.isArray(i)||(i=[i]);var s=o.isDirected()?d=>o.successors(d):d=>o.neighbors(d),l=a==="post"?t:n,c=[],u={};return i.forEach(d=>{if(!o.hasNode(d))throw new Error("Graph does not have node: "+d);l(d,s,u,c)}),c}function t(o,i,a,s){for(var l=[[o,!1]];l.length>0;){var c=l.pop();c[1]?s.push(c[0]):Object.hasOwn(a,c[0])||(a[c[0]]=!0,l.push([c[0],!0]),r(i(c[0]),u=>l.push([u,!1])))}}function n(o,i,a,s){for(var l=[o];l.length>0;){var c=l.pop();Object.hasOwn(a,c)||(a[c]=!0,s.push(c),r(i(c),u=>l.push(u)))}}function r(o,i){for(var a=o.length;a--;)i(o[a],a,o);return o}return J$}var e7,Hle;function Igt(){if(Hle)return e7;Hle=1;var e=Vle();e7=t;function t(n,r){return e(n,r,"post")}return e7}var t7,Wle;function Ngt(){if(Wle)return t7;Wle=1;var e=Vle();t7=t;function t(n,r){return e(n,r,"pre")}return t7}var n7,Rle;function Ogt(){if(Rle)return n7;Rle=1;var e=z$(),t=Tle();n7=n;function n(r,o){var i=new e,a={},s=new t,l;function c(d){var f=d.v===l?d.w:d.v,h=s.priority(f);if(h!==void 0){var m=o(d);m<h&&(a[f]=l,s.decrease(f,m))}}if(r.nodeCount()===0)return i;r.nodes().forEach(function(d){s.add(d,Number.POSITIVE_INFINITY),i.setNode(d)}),s.decrease(r.nodes()[0],0);for(var u=!1;s.size()>0;){if(l=s.removeMin(),Object.hasOwn(a,l))i.setEdge(l,a[l]);else{if(u)throw new Error("Input graph is not connected: "+r);u=!0}r.nodeEdges(l).forEach(c)}return i}return n7}var r7,Kle;function Tgt(){return Kle||(Kle=1,r7={components:Agt(),dijkstra:Mle(),dijkstraAll:Sgt(),findCycles:Egt(),floydWarshall:wgt(),isAcyclic:xgt(),postorder:Igt(),preorder:Ngt(),prim:Ogt(),tarjan:Ple(),topsort:Fle()}),r7}var o7,Qle;function xl(){if(Qle)return o7;Qle=1;var e=bgt();return o7={Graph:e.Graph,json:Cgt(),alg:Tgt(),version:e.version},o7}var i7,qle;function kgt(){if(qle)return i7;qle=1;class e{constructor(){let o={};o._next=o._prev=o,this._sentinel=o}dequeue(){let o=this._sentinel,i=o._prev;if(i!==o)return t(i),i}enqueue(o){let i=this._sentinel;o._prev&&o._next&&t(o),o._next=i._next,i._next._prev=o,i._next=o,o._prev=i}toString(){let o=[],i=this._sentinel,a=i._prev;for(;a!==i;)o.push(JSON.stringify(a,n)),a=a._prev;return"["+o.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,o){if(r!=="_next"&&r!=="_prev")return o}return i7=e,i7}var a7,Ule;function Mgt(){if(Ule)return a7;Ule=1;let e=xl().Graph,t=kgt();a7=r;let n=()=>1;function r(c,u){if(c.nodeCount()<=1)return[];let d=a(c,u||n);return o(d.graph,d.buckets,d.zeroIdx).flatMap(h=>c.outEdges(h.v,h.w))}function o(c,u,d){let f=[],h=u[u.length-1],m=u[0],y;for(;c.nodeCount();){for(;y=m.dequeue();)i(c,u,d,y);for(;y=h.dequeue();)i(c,u,d,y);if(c.nodeCount()){for(let v=u.length-2;v>0;--v)if(y=u[v].dequeue(),y){f=f.concat(i(c,u,d,y,!0));break}}}return f}function i(c,u,d,f,h){let m=h?[]:void 0;return c.inEdges(f.v).forEach(y=>{let v=c.edge(y),b=c.node(y.v);h&&m.push({v:y.v,w:y.w}),b.out-=v,s(u,d,b)}),c.outEdges(f.v).forEach(y=>{let v=c.edge(y),b=y.w,A=c.node(b);A.in-=v,s(u,d,A)}),c.removeNode(f.v),m}function a(c,u){let d=new e,f=0,h=0;c.nodes().forEach(v=>{d.setNode(v,{v,in:0,out:0})}),c.edges().forEach(v=>{let b=d.edge(v.v,v.w)||0,A=u(v),S=b+A;d.setEdge(v.v,v.w,S),h=Math.max(h,d.node(v.v).out+=A),f=Math.max(f,d.node(v.w).in+=A)});let m=l(h+f+3).map(()=>new t),y=f+1;return d.nodes().forEach(v=>{s(m,y,d.node(v))}),{graph:d,buckets:m,zeroIdx:y}}function s(c,u,d){d.out?d.in?c[d.out-d.in+u].enqueue(d):c[c.length-1].enqueue(d):c[0].enqueue(d)}function l(c){const u=[];for(let d=0;d<c;d++)u.push(d);return u}return a7}var s7,Gle;function ei(){if(Gle)return s7;Gle=1;let e=xl().Graph;s7={addBorderNode:u,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:s,intersectRect:a,mapValues:I,maxRank:m,normalizeRanks:l,notime:b,partition:y,pick:x,predecessorWeights:i,range:C,removeEmptyRanks:c,simplify:n,successorWeights:o,time:v,uniqueId:S,zipObject:N};function t(k,O,M,$){for(var B=$;k.hasNode(B);)B=S($);return M.dummy=O,k.setNode(B,M),B}function n(k){let O=new e().setGraph(k.graph());return k.nodes().forEach(M=>O.setNode(M,k.node(M))),k.edges().forEach(M=>{let $=O.edge(M.v,M.w)||{weight:0,minlen:1},B=k.edge(M);O.setEdge(M.v,M.w,{weight:$.weight+B.weight,minlen:Math.max($.minlen,B.minlen)})}),O}function r(k){let O=new e({multigraph:k.isMultigraph()}).setGraph(k.graph());return k.nodes().forEach(M=>{k.children(M).length||O.setNode(M,k.node(M))}),k.edges().forEach(M=>{O.setEdge(M,k.edge(M))}),O}function o(k){let O=k.nodes().map(M=>{let $={};return k.outEdges(M).forEach(B=>{$[B.w]=($[B.w]||0)+k.edge(B).weight}),$});return N(k.nodes(),O)}function i(k){let O=k.nodes().map(M=>{let $={};return k.inEdges(M).forEach(B=>{$[B.v]=($[B.v]||0)+k.edge(B).weight}),$});return N(k.nodes(),O)}function a(k,O){let M=k.x,$=k.y,B=O.x-M,P=O.y-$,_=k.width/2,L=k.height/2;if(!B&&!P)throw new Error("Not possible to find intersection inside of the rectangle");let D,F;return Math.abs(P)*_>Math.abs(B)*L?(P<0&&(L=-L),D=L*B/P,F=L):(B<0&&(_=-_),D=_,F=_*P/B),{x:M+D,y:$+F}}function s(k){let O=C(m(k)+1).map(()=>[]);return k.nodes().forEach(M=>{let $=k.node(M),B=$.rank;B!==void 0&&(O[B][$.order]=M)}),O}function l(k){let O=k.nodes().map($=>{let B=k.node($).rank;return B===void 0?Number.MAX_VALUE:B}),M=h(Math.min,O);k.nodes().forEach($=>{let B=k.node($);Object.hasOwn(B,"rank")&&(B.rank-=M)})}function c(k){let O=k.nodes().map(_=>k.node(_).rank),M=h(Math.min,O),$=[];k.nodes().forEach(_=>{let L=k.node(_).rank-M;$[L]||($[L]=[]),$[L].push(_)});let B=0,P=k.graph().nodeRankFactor;Array.from($).forEach((_,L)=>{_===void 0&&L%P!==0?--B:_!==void 0&&B&&_.forEach(D=>k.node(D).rank+=B)})}function u(k,O,M,$){let B={width:0,height:0};return arguments.length>=4&&(B.rank=M,B.order=$),t(k,"border",B,O)}function d(k,O=f){const M=[];for(let $=0;$<k.length;$+=O){const B=k.slice($,$+O);M.push(B)}return M}const f=65535;function h(k,O){if(O.length>f){const M=d(O);return k.apply(null,M.map($=>k.apply(null,$)))}else return k.apply(null,O)}function m(k){const M=k.nodes().map($=>{let B=k.node($).rank;return B===void 0?Number.MIN_VALUE:B});return h(Math.max,M)}function y(k,O){let M={lhs:[],rhs:[]};return k.forEach($=>{O($)?M.lhs.push($):M.rhs.push($)}),M}function v(k,O){let M=Date.now();try{return O()}finally{console.log(k+" time: "+(Date.now()-M)+"ms")}}function b(k,O){return O()}let A=0;function S(k){var O=++A;return k+(""+O)}function C(k,O,M=1){O==null&&(O=k,k=0);let $=P=>P<O;M<0&&($=P=>O<P);const B=[];for(let P=k;$(P);P+=M)B.push(P);return B}function x(k,O){const M={};for(const $ of O)k[$]!==void 0&&(M[$]=k[$]);return M}function I(k,O){let M=O;return typeof O=="string"&&(M=$=>$[O]),Object.entries(k).reduce(($,[B,P])=>($[B]=M(P,B),$),{})}function N(k,O){return k.reduce((M,$,B)=>(M[$]=O[B],M),{})}return s7}var l7,Yle;function $gt(){if(Yle)return l7;Yle=1;let e=Mgt(),t=ei().uniqueId;l7={run:n,undo:o};function n(i){(i.graph().acyclicer==="greedy"?e(i,s(i)):r(i)).forEach(l=>{let c=i.edge(l);i.removeEdge(l),c.forwardName=l.name,c.reversed=!0,i.setEdge(l.w,l.v,c,t("rev"))});function s(l){return c=>l.edge(c).weight}}function r(i){let a=[],s={},l={};function c(u){Object.hasOwn(l,u)||(l[u]=!0,s[u]=!0,i.outEdges(u).forEach(d=>{Object.hasOwn(s,d.w)?a.push(d):c(d.w)}),delete s[u])}return i.nodes().forEach(c),a}function o(i){i.edges().forEach(a=>{let s=i.edge(a);if(s.reversed){i.removeEdge(a);let l=s.forwardName;delete s.reversed,delete s.forwardName,i.setEdge(a.w,a.v,s,l)}})}return l7}var c7,Xle;function _gt(){if(Xle)return c7;Xle=1;let e=ei();c7={run:t,undo:r};function t(o){o.graph().dummyChains=[],o.edges().forEach(i=>n(o,i))}function n(o,i){let a=i.v,s=o.node(a).rank,l=i.w,c=o.node(l).rank,u=i.name,d=o.edge(i),f=d.labelRank;if(c===s+1)return;o.removeEdge(i);let h,m,y;for(y=0,++s;s<c;++y,++s)d.points=[],m={width:0,height:0,edgeLabel:d,edgeObj:i,rank:s},h=e.addDummyNode(o,"edge",m,"_d"),s===f&&(m.width=d.width,m.height=d.height,m.dummy="edge-label",m.labelpos=d.labelpos),o.setEdge(a,h,{weight:d.weight},u),y===0&&o.graph().dummyChains.push(h),a=h;o.setEdge(a,l,{weight:d.weight},u)}function r(o){o.graph().dummyChains.forEach(i=>{let a=o.node(i),s=a.edgeLabel,l;for(o.setEdge(a.edgeObj,s);a.dummy;)l=o.successors(i)[0],o.removeNode(i),s.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(s.x=a.x,s.y=a.y,s.width=a.width,s.height=a.height),i=l,a=o.node(i)})}return c7}var u7,Zle;function Xw(){if(Zle)return u7;Zle=1;const{applyWithChunking:e}=ei();u7={longestPath:t,slack:n};function t(r){var o={};function i(a){var s=r.node(a);if(Object.hasOwn(o,a))return s.rank;o[a]=!0;let l=r.outEdges(a).map(u=>u==null?Number.POSITIVE_INFINITY:i(u.w)-r.edge(u).minlen);var c=e(Math.min,l);return c===Number.POSITIVE_INFINITY&&(c=0),s.rank=c}r.sources().forEach(i)}function n(r,o){return r.node(o.w).rank-r.node(o.v).rank-r.edge(o).minlen}return u7}var d7,Jle;function ece(){if(Jle)return d7;Jle=1;var e=xl().Graph,t=Xw().slack;d7=n;function n(a){var s=new e({directed:!1}),l=a.nodes()[0],c=a.nodeCount();s.setNode(l,{});for(var u,d;r(s,a)<c;)u=o(s,a),d=s.hasNode(u.v)?t(a,u):-t(a,u),i(s,a,d);return s}function r(a,s){function l(c){s.nodeEdges(c).forEach(u=>{var d=u.v,f=c===d?u.w:d;!a.hasNode(f)&&!t(s,u)&&(a.setNode(f,{}),a.setEdge(c,f,{}),l(f))})}return a.nodes().forEach(l),a.nodeCount()}function o(a,s){return s.edges().reduce((c,u)=>{let d=Number.POSITIVE_INFINITY;return a.hasNode(u.v)!==a.hasNode(u.w)&&(d=t(s,u)),d<c[0]?[d,u]:c},[Number.POSITIVE_INFINITY,null])[1]}function i(a,s,l){a.nodes().forEach(c=>s.node(c).rank+=l)}return d7}var f7,tce;function Pgt(){if(tce)return f7;tce=1;var e=ece(),t=Xw().slack,n=Xw().longestPath,r=xl().alg.preorder,o=xl().alg.postorder,i=ei().simplify;f7=a,a.initLowLimValues=u,a.initCutValues=s,a.calcCutValue=c,a.leaveEdge=f,a.enterEdge=h,a.exchangeEdges=m;function a(A){A=i(A),n(A);var S=e(A);u(S),s(S,A);for(var C,x;C=f(S);)x=h(S,A,C),m(S,A,C,x)}function s(A,S){var C=o(A,A.nodes());C=C.slice(0,C.length-1),C.forEach(x=>l(A,S,x))}function l(A,S,C){var x=A.node(C),I=x.parent;A.edge(C,I).cutvalue=c(A,S,C)}function c(A,S,C){var x=A.node(C),I=x.parent,N=!0,k=S.edge(C,I),O=0;return k||(N=!1,k=S.edge(I,C)),O=k.weight,S.nodeEdges(C).forEach(M=>{var $=M.v===C,B=$?M.w:M.v;if(B!==I){var P=$===N,_=S.edge(M).weight;if(O+=P?_:-_,v(A,C,B)){var L=A.edge(C,B).cutvalue;O+=P?-L:L}}}),O}function u(A,S){arguments.length<2&&(S=A.nodes()[0]),d(A,{},1,S)}function d(A,S,C,x,I){var N=C,k=A.node(x);return S[x]=!0,A.neighbors(x).forEach(O=>{Object.hasOwn(S,O)||(C=d(A,S,C,O,x))}),k.low=N,k.lim=C++,I?k.parent=I:delete k.parent,C}function f(A){return A.edges().find(S=>A.edge(S).cutvalue<0)}function h(A,S,C){var x=C.v,I=C.w;S.hasEdge(x,I)||(x=C.w,I=C.v);var N=A.node(x),k=A.node(I),O=N,M=!1;N.lim>k.lim&&(O=k,M=!0);var $=S.edges().filter(B=>M===b(A,A.node(B.v),O)&&M!==b(A,A.node(B.w),O));return $.reduce((B,P)=>t(S,P)<t(S,B)?P:B)}function m(A,S,C,x){var I=C.v,N=C.w;A.removeEdge(I,N),A.setEdge(x.v,x.w,{}),u(A),s(A,S),y(A,S)}function y(A,S){var C=A.nodes().find(I=>!S.node(I).parent),x=r(A,C);x=x.slice(1),x.forEach(I=>{var N=A.node(I).parent,k=S.edge(I,N),O=!1;k||(k=S.edge(N,I),O=!0),S.node(I).rank=S.node(N).rank+(O?k.minlen:-k.minlen)})}function v(A,S,C){return A.hasEdge(S,C)}function b(A,S,C){return C.low<=S.lim&&S.lim<=C.lim}return f7}var h7,nce;function Dgt(){if(nce)return h7;nce=1;var e=Xw(),t=e.longestPath,n=ece(),r=Pgt();h7=o;function o(l){var c=l.graph().ranker;if(c instanceof Function)return c(l);switch(l.graph().ranker){case"network-simplex":s(l);break;case"tight-tree":a(l);break;case"longest-path":i(l);break;case"none":break;default:s(l)}}var i=t;function a(l){t(l),n(l)}function s(l){r(l)}return h7}var p7,rce;function Lgt(){if(rce)return p7;rce=1,p7=e;function e(r){let o=n(r);r.graph().dummyChains.forEach(i=>{let a=r.node(i),s=a.edgeObj,l=t(r,o,s.v,s.w),c=l.path,u=l.lca,d=0,f=c[d],h=!0;for(;i!==s.w;){if(a=r.node(i),h){for(;(f=c[d])!==u&&r.node(f).maxRank<a.rank;)d++;f===u&&(h=!1)}if(!h){for(;d<c.length-1&&r.node(f=c[d+1]).minRank<=a.rank;)d++;f=c[d]}r.setParent(i,f),i=r.successors(i)[0]}})}function t(r,o,i,a){let s=[],l=[],c=Math.min(o[i].low,o[a].low),u=Math.max(o[i].lim,o[a].lim),d,f;d=i;do d=r.parent(d),s.push(d);while(d&&(o[d].low>c||u>o[d].lim));for(f=d,d=a;(d=r.parent(d))!==f;)l.push(d);return{path:s.concat(l.reverse()),lca:f}}function n(r){let o={},i=0;function a(s){let l=i;r.children(s).forEach(a),o[s]={low:l,lim:i++}}return r.children().forEach(a),o}return p7}var g7,oce;function Bgt(){if(oce)return g7;oce=1;let e=ei();g7={run:t,cleanup:i};function t(a){let s=e.addDummyNode(a,"root",{},"_root"),l=r(a),c=Object.values(l),u=e.applyWithChunking(Math.max,c)-1,d=2*u+1;a.graph().nestingRoot=s,a.edges().forEach(h=>a.edge(h).minlen*=d);let f=o(a)+1;a.children().forEach(h=>n(a,s,d,f,u,l,h)),a.graph().nodeRankFactor=d}function n(a,s,l,c,u,d,f){let h=a.children(f);if(!h.length){f!==s&&a.setEdge(s,f,{weight:0,minlen:l});return}let m=e.addBorderNode(a,"_bt"),y=e.addBorderNode(a,"_bb"),v=a.node(f);a.setParent(m,f),v.borderTop=m,a.setParent(y,f),v.borderBottom=y,h.forEach(b=>{n(a,s,l,c,u,d,b);let A=a.node(b),S=A.borderTop?A.borderTop:b,C=A.borderBottom?A.borderBottom:b,x=A.borderTop?c:2*c,I=S!==C?1:u-d[f]+1;a.setEdge(m,S,{weight:x,minlen:I,nestingEdge:!0}),a.setEdge(C,y,{weight:x,minlen:I,nestingEdge:!0})}),a.parent(f)||a.setEdge(s,m,{weight:0,minlen:u+d[f]})}function r(a){var s={};function l(c,u){var d=a.children(c);d&&d.length&&d.forEach(f=>l(f,u+1)),s[c]=u}return a.children().forEach(c=>l(c,1)),s}function o(a){return a.edges().reduce((s,l)=>s+a.edge(l).weight,0)}function i(a){var s=a.graph();a.removeNode(s.nestingRoot),delete s.nestingRoot,a.edges().forEach(l=>{var c=a.edge(l);c.nestingEdge&&a.removeEdge(l)})}return g7}var m7,ice;function Fgt(){if(ice)return m7;ice=1;let e=ei();m7=t;function t(r){function o(i){let a=r.children(i),s=r.node(i);if(a.length&&a.forEach(o),Object.hasOwn(s,"minRank")){s.borderLeft=[],s.borderRight=[];for(let l=s.minRank,c=s.maxRank+1;l<c;++l)n(r,"borderLeft","_bl",i,s,l),n(r,"borderRight","_br",i,s,l)}}r.children().forEach(o)}function n(r,o,i,a,s,l){let c={width:0,height:0,rank:l,borderType:o},u=s[o][l-1],d=e.addDummyNode(r,"border",c,i);s[o][l]=d,r.setParent(d,a),u&&r.setEdge(u,d,{weight:1})}return m7}var v7,ace;function jgt(){if(ace)return v7;ace=1,v7={adjust:e,undo:t};function e(l){let c=l.graph().rankdir.toLowerCase();(c==="lr"||c==="rl")&&n(l)}function t(l){let c=l.graph().rankdir.toLowerCase();(c==="bt"||c==="rl")&&o(l),(c==="lr"||c==="rl")&&(a(l),n(l))}function n(l){l.nodes().forEach(c=>r(l.node(c))),l.edges().forEach(c=>r(l.edge(c)))}function r(l){let c=l.width;l.width=l.height,l.height=c}function o(l){l.nodes().forEach(c=>i(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(i),Object.hasOwn(u,"y")&&i(u)})}function i(l){l.y=-l.y}function a(l){l.nodes().forEach(c=>s(l.node(c))),l.edges().forEach(c=>{let u=l.edge(c);u.points.forEach(s),Object.hasOwn(u,"x")&&s(u)})}function s(l){let c=l.x;l.x=l.y,l.y=c}return v7}var y7,sce;function zgt(){if(sce)return y7;sce=1;let e=ei();y7=t;function t(n){let r={},o=n.nodes().filter(u=>!n.children(u).length),i=o.map(u=>n.node(u).rank),a=e.applyWithChunking(Math.max,i),s=e.range(a+1).map(()=>[]);function l(u){if(r[u])return;r[u]=!0;let d=n.node(u);s[d.rank].push(u),n.successors(u).forEach(l)}return o.sort((u,d)=>n.node(u).rank-n.node(d).rank).forEach(l),s}return y7}var b7,lce;function Vgt(){if(lce)return b7;lce=1;let e=ei().zipObject;b7=t;function t(r,o){let i=0;for(let a=1;a<o.length;++a)i+=n(r,o[a-1],o[a]);return i}function n(r,o,i){let a=e(i,i.map((f,h)=>h)),s=o.flatMap(f=>r.outEdges(f).map(h=>({pos:a[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),l=1;for(;l<i.length;)l<<=1;let c=2*l-1;l-=1;let u=new Array(c).fill(0),d=0;return s.forEach(f=>{let h=f.pos+l;u[h]+=f.weight;let m=0;for(;h>0;)h%2&&(m+=u[h+1]),h=h-1>>1,u[h]+=f.weight;d+=f.weight*m}),d}return b7}var C7,cce;function Hgt(){if(cce)return C7;cce=1,C7=e;function e(t,n=[]){return n.map(r=>{let o=t.inEdges(r);if(o.length){let i=o.reduce((a,s)=>{let l=t.edge(s),c=t.node(s.v);return{sum:a.sum+l.weight*c.order,weight:a.weight+l.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}return C7}var A7,uce;function Wgt(){if(uce)return A7;uce=1;let e=ei();A7=t;function t(o,i){let a={};o.forEach((l,c)=>{let u=a[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:c};l.barycenter!==void 0&&(u.barycenter=l.barycenter,u.weight=l.weight)}),i.edges().forEach(l=>{let c=a[l.v],u=a[l.w];c!==void 0&&u!==void 0&&(u.indegree++,c.out.push(a[l.w]))});let s=Object.values(a).filter(l=>!l.indegree);return n(s)}function n(o){let i=[];function a(l){return c=>{c.merged||(c.barycenter===void 0||l.barycenter===void 0||c.barycenter>=l.barycenter)&&r(l,c)}}function s(l){return c=>{c.in.push(l),--c.indegree===0&&o.push(c)}}for(;o.length;){let l=o.pop();i.push(l),l.in.reverse().forEach(a(l)),l.out.forEach(s(l))}return i.filter(l=>!l.merged).map(l=>e.pick(l,["vs","i","barycenter","weight"]))}function r(o,i){let a=0,s=0;o.weight&&(a+=o.barycenter*o.weight,s+=o.weight),i.weight&&(a+=i.barycenter*i.weight,s+=i.weight),o.vs=i.vs.concat(o.vs),o.barycenter=a/s,o.weight=s,o.i=Math.min(i.i,o.i),i.merged=!0}return A7}var S7,dce;function Rgt(){if(dce)return S7;dce=1;let e=ei();S7=t;function t(o,i){let a=e.partition(o,m=>Object.hasOwn(m,"barycenter")),s=a.lhs,l=a.rhs.sort((m,y)=>y.i-m.i),c=[],u=0,d=0,f=0;s.sort(r(!!i)),f=n(c,l,f),s.forEach(m=>{f+=m.vs.length,c.push(m.vs),u+=m.barycenter*m.weight,d+=m.weight,f=n(c,l,f)});let h={vs:c.flat(!0)};return d&&(h.barycenter=u/d,h.weight=d),h}function n(o,i,a){let s;for(;i.length&&(s=i[i.length-1]).i<=a;)i.pop(),o.push(s.vs),a++;return a}function r(o){return(i,a)=>i.barycenter<a.barycenter?-1:i.barycenter>a.barycenter?1:o?a.i-i.i:i.i-a.i}return S7}var E7,fce;function Kgt(){if(fce)return E7;fce=1;let e=Hgt(),t=Wgt(),n=Rgt();E7=r;function r(a,s,l,c){let u=a.children(s),d=a.node(s),f=d?d.borderLeft:void 0,h=d?d.borderRight:void 0,m={};f&&(u=u.filter(A=>A!==f&&A!==h));let y=e(a,u);y.forEach(A=>{if(a.children(A.v).length){let S=r(a,A.v,l,c);m[A.v]=S,Object.hasOwn(S,"barycenter")&&i(A,S)}});let v=t(y,l);o(v,m);let b=n(v,c);if(f&&(b.vs=[f,b.vs,h].flat(!0),a.predecessors(f).length)){let A=a.node(a.predecessors(f)[0]),S=a.node(a.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+A.order+S.order)/(b.weight+2),b.weight+=2}return b}function o(a,s){a.forEach(l=>{l.vs=l.vs.flatMap(c=>s[c]?s[c].vs:c)})}function i(a,s){a.barycenter!==void 0?(a.barycenter=(a.barycenter*a.weight+s.barycenter*s.weight)/(a.weight+s.weight),a.weight+=s.weight):(a.barycenter=s.barycenter,a.weight=s.weight)}return E7}var w7,hce;function Qgt(){if(hce)return w7;hce=1;let e=xl().Graph,t=ei();w7=n;function n(o,i,a){let s=r(o),l=new e({compound:!0}).setGraph({root:s}).setDefaultNodeLabel(c=>o.node(c));return o.nodes().forEach(c=>{let u=o.node(c),d=o.parent(c);(u.rank===i||u.minRank<=i&&i<=u.maxRank)&&(l.setNode(c),l.setParent(c,d||s),o[a](c).forEach(f=>{let h=f.v===c?f.w:f.v,m=l.edge(h,c),y=m!==void 0?m.weight:0;l.setEdge(h,c,{weight:o.edge(f).weight+y})}),Object.hasOwn(u,"minRank")&&l.setNode(c,{borderLeft:u.borderLeft[i],borderRight:u.borderRight[i]}))}),l}function r(o){for(var i;o.hasNode(i=t.uniqueId("_root")););return i}return w7}var x7,pce;function qgt(){if(pce)return x7;pce=1,x7=e;function e(t,n,r){let o={},i;r.forEach(a=>{let s=t.parent(a),l,c;for(;s;){if(l=t.parent(s),l?(c=o[l],o[l]=s):(c=i,i=s),c&&c!==s){n.setEdge(c,s);return}s=l}})}return x7}var I7,gce;function Ugt(){if(gce)return I7;gce=1;let e=zgt(),t=Vgt(),n=Kgt(),r=Qgt(),o=qgt(),i=xl().Graph,a=ei();I7=s;function s(d,f){if(f&&typeof f.customOrder=="function"){f.customOrder(d,s);return}let h=a.maxRank(d),m=l(d,a.range(1,h+1),"inEdges"),y=l(d,a.range(h-1,-1,-1),"outEdges"),v=e(d);if(u(d,v),f&&f.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,A;for(let S=0,C=0;C<4;++S,++C){c(S%2?m:y,S%4>=2),v=a.buildLayerMatrix(d);let x=t(d,v);x<b&&(C=0,A=Object.assign({},v),b=x)}u(d,A)}function l(d,f,h){return f.map(function(m){return r(d,m,h)})}function c(d,f){let h=new i;d.forEach(function(m){let y=m.graph().root,v=n(m,y,h,f);v.vs.forEach((b,A)=>m.node(b).order=A),o(m,h,v.vs)})}function u(d,f){Object.values(f).forEach(h=>h.forEach((m,y)=>d.node(m).order=y))}return I7}var N7,mce;function Ggt(){if(mce)return N7;mce=1;let e=xl().Graph,t=ei();N7={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:i,hasConflict:a,verticalAlignment:s,horizontalCompaction:l,alignCoordinates:d,findSmallestWidthAlignment:u,balance:f};function n(v,b){let A={};function S(C,x){let I=0,N=0,k=C.length,O=x[x.length-1];return x.forEach((M,$)=>{let B=o(v,M),P=B?v.node(B).order:k;(B||M===O)&&(x.slice(N,$+1).forEach(_=>{v.predecessors(_).forEach(L=>{let D=v.node(L),F=D.order;(F<I||P<F)&&!(D.dummy&&v.node(_).dummy)&&i(A,L,_)})}),N=$+1,I=P)}),x}return b.length&&b.reduce(S),A}function r(v,b){let A={};function S(x,I,N,k,O){let M;t.range(I,N).forEach($=>{M=x[$],v.node(M).dummy&&v.predecessors(M).forEach(B=>{let P=v.node(B);P.dummy&&(P.order<k||P.order>O)&&i(A,B,M)})})}function C(x,I){let N=-1,k,O=0;return I.forEach((M,$)=>{if(v.node(M).dummy==="border"){let B=v.predecessors(M);B.length&&(k=v.node(B[0]).order,S(I,O,$,N,k),O=$,N=k)}S(I,O,I.length,k,x.length)}),I}return b.length&&b.reduce(C),A}function o(v,b){if(v.node(b).dummy)return v.predecessors(b).find(A=>v.node(A).dummy)}function i(v,b,A){if(b>A){let C=b;b=A,A=C}let S=v[b];S||(v[b]=S={}),S[A]=!0}function a(v,b,A){if(b>A){let S=b;b=A,A=S}return!!v[b]&&Object.hasOwn(v[b],A)}function s(v,b,A,S){let C={},x={},I={};return b.forEach(N=>{N.forEach((k,O)=>{C[k]=k,x[k]=k,I[k]=O})}),b.forEach(N=>{let k=-1;N.forEach(O=>{let M=S(O);if(M.length){M=M.sort((B,P)=>I[B]-I[P]);let $=(M.length-1)/2;for(let B=Math.floor($),P=Math.ceil($);B<=P;++B){let _=M[B];x[O]===O&&k<I[_]&&!a(A,O,_)&&(x[_]=O,x[O]=C[O]=C[_],k=I[_])}}})}),{root:C,align:x}}function l(v,b,A,S,C){let x={},I=c(v,b,A,C),N=C?"borderLeft":"borderRight";function k($,B){let P=I.nodes(),_=P.pop(),L={};for(;_;)L[_]?$(_):(L[_]=!0,P.push(_),P=P.concat(B(_))),_=P.pop()}function O($){x[$]=I.inEdges($).reduce((B,P)=>Math.max(B,x[P.v]+I.edge(P)),0)}function M($){let B=I.outEdges($).reduce((_,L)=>Math.min(_,x[L.w]-I.edge(L)),Number.POSITIVE_INFINITY),P=v.node($);B!==Number.POSITIVE_INFINITY&&P.borderType!==N&&(x[$]=Math.max(x[$],B))}return k(O,I.predecessors.bind(I)),k(M,I.successors.bind(I)),Object.keys(S).forEach($=>x[$]=x[A[$]]),x}function c(v,b,A,S){let C=new e,x=v.graph(),I=m(x.nodesep,x.edgesep,S);return b.forEach(N=>{let k;N.forEach(O=>{let M=A[O];if(C.setNode(M),k){var $=A[k],B=C.edge($,M);C.setEdge($,M,Math.max(I(v,O,k),B||0))}k=O})}),C}function u(v,b){return Object.values(b).reduce((A,S)=>{let C=Number.NEGATIVE_INFINITY,x=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([N,k])=>{let O=y(v,N)/2;C=Math.max(k+O,C),x=Math.min(k-O,x)});const I=C-x;return I<A[0]&&(A=[I,S]),A},[Number.POSITIVE_INFINITY,null])[1]}function d(v,b){let A=Object.values(b),S=t.applyWithChunking(Math.min,A),C=t.applyWithChunking(Math.max,A);["u","d"].forEach(x=>{["l","r"].forEach(I=>{let N=x+I,k=v[N];if(k===b)return;let O=Object.values(k),M=S-t.applyWithChunking(Math.min,O);I!=="l"&&(M=C-t.applyWithChunking(Math.max,O)),M&&(v[N]=t.mapValues(k,$=>$+M))})})}function f(v,b){return t.mapValues(v.ul,(A,S)=>{if(b)return v[b.toLowerCase()][S];{let C=Object.values(v).map(x=>x[S]).sort((x,I)=>x-I);return(C[1]+C[2])/2}})}function h(v){let b=t.buildLayerMatrix(v),A=Object.assign(n(v,b),r(v,b)),S={},C;["u","d"].forEach(I=>{C=I==="u"?b:Object.values(b).reverse(),["l","r"].forEach(N=>{N==="r"&&(C=C.map($=>Object.values($).reverse()));let k=(I==="u"?v.predecessors:v.successors).bind(v),O=s(v,C,A,k),M=l(v,C,O.root,O.align,N==="r");N==="r"&&(M=t.mapValues(M,$=>-$)),S[I+N]=M})});let x=u(v,S);return d(S,x),f(S,v.graph().align)}function m(v,b,A){return(S,C,x)=>{let I=S.node(C),N=S.node(x),k=0,O;if(k+=I.width/2,Object.hasOwn(I,"labelpos"))switch(I.labelpos.toLowerCase()){case"l":O=-I.width/2;break;case"r":O=I.width/2;break}if(O&&(k+=A?O:-O),O=0,k+=(I.dummy?b:v)/2,k+=(N.dummy?b:v)/2,k+=N.width/2,Object.hasOwn(N,"labelpos"))switch(N.labelpos.toLowerCase()){case"l":O=N.width/2;break;case"r":O=-N.width/2;break}return O&&(k+=A?O:-O),O=0,k}}function y(v,b){return v.node(b).width}return N7}var O7,vce;function Ygt(){if(vce)return O7;vce=1;let e=ei(),t=Ggt().positionX;O7=n;function n(o){o=e.asNonCompoundGraph(o),r(o),Object.entries(t(o)).forEach(([i,a])=>o.node(i).x=a)}function r(o){let i=e.buildLayerMatrix(o),a=o.graph().ranksep,s=0;i.forEach(l=>{const c=l.reduce((u,d)=>{const f=o.node(d).height;return u>f?u:f},0);l.forEach(u=>o.node(u).y=s+c/2),s+=c+a})}return O7}var T7,yce;function Xgt(){if(yce)return T7;yce=1;let e=$gt(),t=_gt(),n=Dgt(),r=ei().normalizeRanks,o=Lgt(),i=ei().removeEmptyRanks,a=Bgt(),s=Fgt(),l=jgt(),c=Ugt(),u=Ygt(),d=ei(),f=xl().Graph;T7=h;function h(H,Q){let W=Q&&Q.debugTiming?d.time:d.notime;W("layout",()=>{let G=W(" buildLayoutGraph",()=>k(H));W(" runLayout",()=>m(G,W,Q)),W(" updateInputGraph",()=>y(H,G))})}function m(H,Q,W){Q(" makeSpaceForEdgeLabels",()=>O(H)),Q(" removeSelfEdges",()=>z(H)),Q(" acyclic",()=>e.run(H)),Q(" nestingGraph.run",()=>a.run(H)),Q(" rank",()=>n(d.asNonCompoundGraph(H))),Q(" injectEdgeLabelProxies",()=>M(H)),Q(" removeEmptyRanks",()=>i(H)),Q(" nestingGraph.cleanup",()=>a.cleanup(H)),Q(" normalizeRanks",()=>r(H)),Q(" assignRankMinMax",()=>$(H)),Q(" removeEdgeLabelProxies",()=>B(H)),Q(" normalize.run",()=>t.run(H)),Q(" parentDummyChains",()=>o(H)),Q(" addBorderSegments",()=>s(H)),Q(" order",()=>c(H,W)),Q(" insertSelfEdges",()=>V(H)),Q(" adjustCoordinateSystem",()=>l.adjust(H)),Q(" position",()=>u(H)),Q(" positionSelfEdges",()=>R(H)),Q(" removeBorderNodes",()=>F(H)),Q(" normalize.undo",()=>t.undo(H)),Q(" fixupEdgeLabelCoords",()=>L(H)),Q(" undoCoordinateSystem",()=>l.undo(H)),Q(" translateGraph",()=>P(H)),Q(" assignNodeIntersects",()=>_(H)),Q(" reversePoints",()=>D(H)),Q(" acyclic.undo",()=>e.undo(H))}function y(H,Q){H.nodes().forEach(W=>{let G=H.node(W),J=Q.node(W);G&&(G.x=J.x,G.y=J.y,G.rank=J.rank,Q.children(W).length&&(G.width=J.width,G.height=J.height))}),H.edges().forEach(W=>{let G=H.edge(W),J=Q.edge(W);G.points=J.points,Object.hasOwn(J,"x")&&(G.x=J.x,G.y=J.y)}),H.graph().width=Q.graph().width,H.graph().height=Q.graph().height}let v=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},A=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],C={width:0,height:0},x=["minlen","weight","width","height","labeloffset"],I={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},N=["labelpos"];function k(H){let Q=new f({multigraph:!0,compound:!0}),W=K(H.graph());return Q.setGraph(Object.assign({},b,q(W,v),d.pick(W,A))),H.nodes().forEach(G=>{let J=K(H.node(G));const U=q(J,S);Object.keys(C).forEach(ee=>{U[ee]===void 0&&(U[ee]=C[ee])}),Q.setNode(G,U),Q.setParent(G,H.parent(G))}),H.edges().forEach(G=>{let J=K(H.edge(G));Q.setEdge(G,Object.assign({},I,q(J,x),d.pick(J,N)))}),Q}function O(H){let Q=H.graph();Q.ranksep/=2,H.edges().forEach(W=>{let G=H.edge(W);G.minlen*=2,G.labelpos.toLowerCase()!=="c"&&(Q.rankdir==="TB"||Q.rankdir==="BT"?G.width+=G.labeloffset:G.height+=G.labeloffset)})}function M(H){H.edges().forEach(Q=>{let W=H.edge(Q);if(W.width&&W.height){let G=H.node(Q.v),U={rank:(H.node(Q.w).rank-G.rank)/2+G.rank,e:Q};d.addDummyNode(H,"edge-proxy",U,"_ep")}})}function $(H){let Q=0;H.nodes().forEach(W=>{let G=H.node(W);G.borderTop&&(G.minRank=H.node(G.borderTop).rank,G.maxRank=H.node(G.borderBottom).rank,Q=Math.max(Q,G.maxRank))}),H.graph().maxRank=Q}function B(H){H.nodes().forEach(Q=>{let W=H.node(Q);W.dummy==="edge-proxy"&&(H.edge(W.e).labelRank=W.rank,H.removeNode(Q))})}function P(H){let Q=Number.POSITIVE_INFINITY,W=0,G=Number.POSITIVE_INFINITY,J=0,U=H.graph(),ee=U.marginx||0,oe=U.marginy||0;function X(Z){let ie=Z.x,ne=Z.y,pe=Z.width,de=Z.height;Q=Math.min(Q,ie-pe/2),W=Math.max(W,ie+pe/2),G=Math.min(G,ne-de/2),J=Math.max(J,ne+de/2)}H.nodes().forEach(Z=>X(H.node(Z))),H.edges().forEach(Z=>{let ie=H.edge(Z);Object.hasOwn(ie,"x")&&X(ie)}),Q-=ee,G-=oe,H.nodes().forEach(Z=>{let ie=H.node(Z);ie.x-=Q,ie.y-=G}),H.edges().forEach(Z=>{let ie=H.edge(Z);ie.points.forEach(ne=>{ne.x-=Q,ne.y-=G}),Object.hasOwn(ie,"x")&&(ie.x-=Q),Object.hasOwn(ie,"y")&&(ie.y-=G)}),U.width=W-Q+ee,U.height=J-G+oe}function _(H){H.edges().forEach(Q=>{let W=H.edge(Q),G=H.node(Q.v),J=H.node(Q.w),U,ee;W.points?(U=W.points[0],ee=W.points[W.points.length-1]):(W.points=[],U=J,ee=G),W.points.unshift(d.intersectRect(G,U)),W.points.push(d.intersectRect(J,ee))})}function L(H){H.edges().forEach(Q=>{let W=H.edge(Q);if(Object.hasOwn(W,"x"))switch((W.labelpos==="l"||W.labelpos==="r")&&(W.width-=W.labeloffset),W.labelpos){case"l":W.x-=W.width/2+W.labeloffset;break;case"r":W.x+=W.width/2+W.labeloffset;break}})}function D(H){H.edges().forEach(Q=>{let W=H.edge(Q);W.reversed&&W.points.reverse()})}function F(H){H.nodes().forEach(Q=>{if(H.children(Q).length){let W=H.node(Q),G=H.node(W.borderTop),J=H.node(W.borderBottom),U=H.node(W.borderLeft[W.borderLeft.length-1]),ee=H.node(W.borderRight[W.borderRight.length-1]);W.width=Math.abs(ee.x-U.x),W.height=Math.abs(J.y-G.y),W.x=U.x+W.width/2,W.y=G.y+W.height/2}}),H.nodes().forEach(Q=>{H.node(Q).dummy==="border"&&H.removeNode(Q)})}function z(H){H.edges().forEach(Q=>{if(Q.v===Q.w){var W=H.node(Q.v);W.selfEdges||(W.selfEdges=[]),W.selfEdges.push({e:Q,label:H.edge(Q)}),H.removeEdge(Q)}})}function V(H){var Q=d.buildLayerMatrix(H);Q.forEach(W=>{var G=0;W.forEach((J,U)=>{var ee=H.node(J);ee.order=U+G,(ee.selfEdges||[]).forEach(oe=>{d.addDummyNode(H,"selfedge",{width:oe.label.width,height:oe.label.height,rank:ee.rank,order:U+ ++G,e:oe.e,label:oe.label},"_se")}),delete ee.selfEdges})})}function R(H){H.nodes().forEach(Q=>{var W=H.node(Q);if(W.dummy==="selfedge"){var G=H.node(W.e.v),J=G.x+G.width/2,U=G.y,ee=W.x-J,oe=G.height/2;H.setEdge(W.e,W.label),H.removeNode(Q),W.label.points=[{x:J+2*ee/3,y:U-oe},{x:J+5*ee/6,y:U-oe},{x:J+ee,y:U},{x:J+5*ee/6,y:U+oe},{x:J+2*ee/3,y:U+oe}],W.label.x=W.x,W.label.y=W.y}})}function q(H,Q){return d.mapValues(d.pick(H,Q),Number)}function K(H){var Q={};return H&&Object.entries(H).forEach(([W,G])=>{typeof W=="string"&&(W=W.toLowerCase()),Q[W]=G}),Q}return T7}var k7,bce;function Zgt(){if(bce)return k7;bce=1;let e=ei(),t=xl().Graph;k7={debugOrdering:n};function n(r){let o=e.buildLayerMatrix(r),i=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(a=>{i.setNode(a,{label:a}),i.setParent(a,"layer"+r.node(a).rank)}),r.edges().forEach(a=>i.setEdge(a.v,a.w,{},a.name)),o.forEach((a,s)=>{let l="layer"+s;i.setNode(l,{rank:"same"}),a.reduce((c,u)=>(i.setEdge(c,u,{style:"invis"}),u))}),i}return k7}var M7,Cce;function Jgt(){return Cce||(Cce=1,M7="1.1.5"),M7}var $7,Ace;function emt(){return Ace||(Ace=1,$7={graphlib:xl(),layout:Xgt(),debug:Zgt(),util:{time:ei().time,notime:ei().notime},version:Jgt()}),$7}var tmt=emt();const Sce=Hi(tmt),nmt=()=>{const{getNodes:e,getEdges:t,setNodes:n,setEdges:r,fitView:o}=kn(),i=s=>{const l=document.querySelector(`[data-id="${s}"]`);if(!l)return{width:180,height:60};const c=l.getBoundingClientRect();return{width:Math.max(60,c.width),height:Math.max(30,c.height)}};return{layout:(s="LR")=>{const l=e(),c=t();l.length&&requestAnimationFrame(()=>{const u=s==="LR",d=new Sce.graphlib.Graph;d.setDefaultEdgeLabel(()=>({})),d.setGraph({rankdir:s,ranksep:120,nodesep:80}),l.forEach(h=>{const{width:m,height:y}=i(h.id);d.setNode(h.id,{width:m,height:y})}),c.forEach(h=>d.setEdge(h.source,h.target)),Sce.layout(d);const f=l.map(h=>{const m=d.node(h.id),{width:y,height:v}=i(h.id);return{...h,position:{x:m.x-y/2,y:m.y-v/2},targetPosition:u?"left":"top",sourcePosition:u?"right":"bottom"}});n(f),r(c),requestAnimationFrame(()=>o({duration:400,padding:.3}))})}}};var rmt="scripts_editor_k7c3wx0",Md="scripts_editor_k7c3wx1",omt="scripts_editor_k7c3wx2",_7="scripts_editor_k7c3wx3",imt="scripts_editor_k7c3wx4";const amt=()=>{const e=Vr(),[t,n]=E.useState(()=>e.getState().transform[2]);return E.useEffect(()=>{let r=e.getState().transform[2];return e.subscribe(i=>{const a=i.transform[2];a!==r&&(r=a,n(a))})},[e]),p.jsxs("span",{className:imt,children:[Math.round(t*100)/2,"%"]})},smt=E.memo(()=>{const{instanceId:e}=En(),{zoomIn:t,zoomOut:n,fitView:r}=kn(),{layout:o}=nmt(),{undo:i,redo:a,canUndo:s,canRedo:l}=lgt(e),{mode:c,toggleMode:u}=Cle(),{mode:d}=En();return p.jsxs("div",{className:rmt,children:[p.jsx("button",{type:"button",disabled:!s||d==="view",className:Md,onClick:i,children:p.jsx(ggt,{size:18})}),p.jsx("button",{type:"button",disabled:!l||d==="view",className:Md,onClick:a,children:p.jsx(pgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:Md,onClick:()=>o(),children:p.jsx(fje,{})}),p.jsx("button",{type:"button",className:Md,onClick:()=>r({padding:.2}),children:p.jsx(fgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:Md,onClick:()=>n(),children:p.jsx(dgt,{size:18})}),p.jsx(amt,{}),p.jsx("button",{type:"button",className:Md,onClick:()=>t(),children:p.jsx(hgt,{size:18})}),p.jsx("div",{className:_7}),p.jsx("button",{type:"button",className:`${Md} ${c==="trackpad"?omt:""}`,onClick:u,children:p.jsx(mgt,{size:18})}),p.jsx("button",{type:"button",className:Md,children:p.jsx(vgt,{size:18})})]})});var P7,Ece;function wce(){if(Ece)return P7;Ece=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,o=typeof r=="function"&&r.prototype||e;return n===o}return P7=t,P7}var D7,xce;function lmt(){if(xce)return D7;xce=1;function e(t,n){return function(r){return t(n(r))}}return D7=e,D7}var L7,Ice;function cmt(){if(Ice)return L7;Ice=1;var e=lmt(),t=e(Object.keys,Object);return L7=t,L7}var B7,Nce;function umt(){if(Nce)return B7;Nce=1;var e=wce(),t=cmt(),n=Object.prototype,r=n.hasOwnProperty;function o(i){if(!e(i))return t(i);var a=[];for(var s in Object(i))r.call(i,s)&&s!="constructor"&&a.push(s);return a}return B7=o,B7}var F7,Oce;function Tce(){if(Oce)return F7;Oce=1;var e=gy(),t=Ew(),n="[object AsyncFunction]",r="[object Function]",o="[object GeneratorFunction]",i="[object Proxy]";function a(s){if(!t(s))return!1;var l=e(s);return l==r||l==o||l==n||l==i}return F7=a,F7}var j7,kce;function dmt(){if(kce)return j7;kce=1;var e=ru(),t=e["__core-js_shared__"];return j7=t,j7}var z7,Mce;function fmt(){if(Mce)return z7;Mce=1;var e=dmt(),t=function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""}();function n(r){return!!t&&t in r}return z7=n,z7}var V7,$ce;function _ce(){if($ce)return V7;$ce=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return V7=n,V7}var H7,Pce;function hmt(){if(Pce)return H7;Pce=1;var e=Tce(),t=fmt(),n=Ew(),r=_ce(),o=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,a=Function.prototype,s=Object.prototype,l=a.toString,c=s.hasOwnProperty,u=RegExp("^"+l.call(c).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function d(f){if(!n(f)||t(f))return!1;var h=e(f)?u:i;return h.test(r(f))}return H7=d,H7}var W7,Dce;function pmt(){if(Dce)return W7;Dce=1;function e(t,n){return t==null?void 0:t[n]}return W7=e,W7}var R7,Lce;function Ey(){if(Lce)return R7;Lce=1;var e=hmt(),t=pmt();function n(r,o){var i=t(r,o);return e(i)?i:void 0}return R7=n,R7}var K7,Bce;function gmt(){if(Bce)return K7;Bce=1;var e=Ey(),t=ru(),n=e(t,"DataView");return K7=n,K7}var Q7,Fce;function mmt(){if(Fce)return Q7;Fce=1;var e=Ey(),t=ru(),n=e(t,"Map");return Q7=n,Q7}var q7,jce;function vmt(){if(jce)return q7;jce=1;var e=Ey(),t=ru(),n=e(t,"Promise");return q7=n,q7}var U7,zce;function ymt(){if(zce)return U7;zce=1;var e=Ey(),t=ru(),n=e(t,"Set");return U7=n,U7}var G7,Vce;function bmt(){if(Vce)return G7;Vce=1;var e=Ey(),t=ru(),n=e(t,"WeakMap");return G7=n,G7}var Y7,Hce;function Cmt(){if(Hce)return Y7;Hce=1;var e=gmt(),t=mmt(),n=vmt(),r=ymt(),o=bmt(),i=gy(),a=_ce(),s="[object Map]",l="[object Object]",c="[object Promise]",u="[object Set]",d="[object WeakMap]",f="[object DataView]",h=a(e),m=a(t),y=a(n),v=a(r),b=a(o),A=i;return(e&&A(new e(new ArrayBuffer(1)))!=f||t&&A(new t)!=s||n&&A(n.resolve())!=c||r&&A(new r)!=u||o&&A(new o)!=d)&&(A=function(S){var C=i(S),x=C==l?S.constructor:void 0,I=x?a(x):"";if(I)switch(I){case h:return f;case m:return s;case y:return c;case v:return u;case b:return d}return C}),Y7=A,Y7}var X7,Wce;function Amt(){if(Wce)return X7;Wce=1;var e=gy(),t=ww(),n="[object Arguments]";function r(o){return t(o)&&e(o)==n}return X7=r,X7}var Z7,Rce;function Smt(){if(Rce)return Z7;Rce=1;var e=Amt(),t=ww(),n=Object.prototype,r=n.hasOwnProperty,o=n.propertyIsEnumerable,i=e(function(){return arguments}())?e:function(a){return t(a)&&r.call(a,"callee")&&!o.call(a,"callee")};return Z7=i,Z7}var J7,Kce;function Emt(){if(Kce)return J7;Kce=1;var e=Array.isArray;return J7=e,J7}var e_,Qce;function qce(){if(Qce)return e_;Qce=1;var e=9007199254740991;function t(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=e}return e_=t,e_}var t_,Uce;function wmt(){if(Uce)return t_;Uce=1;var e=Tce(),t=qce();function n(r){return r!=null&&t(r.length)&&!e(r)}return t_=n,t_}var wy={exports:{}},n_,Gce;function xmt(){if(Gce)return n_;Gce=1;function e(){return!1}return n_=e,n_}wy.exports;var Yce;function Imt(){return Yce||(Yce=1,function(e,t){var n=ru(),r=xmt(),o=t&&!t.nodeType&&t,i=o&&!0&&e&&!e.nodeType&&e,a=i&&i.exports===o,s=a?n.Buffer:void 0,l=s?s.isBuffer:void 0,c=l||r;e.exports=c}(wy,wy.exports)),wy.exports}var r_,Xce;function Nmt(){if(Xce)return r_;Xce=1;var e=gy(),t=qce(),n=ww(),r="[object Arguments]",o="[object Array]",i="[object Boolean]",a="[object Date]",s="[object Error]",l="[object Function]",c="[object Map]",u="[object Number]",d="[object Object]",f="[object RegExp]",h="[object Set]",m="[object String]",y="[object WeakMap]",v="[object ArrayBuffer]",b="[object DataView]",A="[object Float32Array]",S="[object Float64Array]",C="[object Int8Array]",x="[object Int16Array]",I="[object Int32Array]",N="[object Uint8Array]",k="[object Uint8ClampedArray]",O="[object Uint16Array]",M="[object Uint32Array]",$={};$[A]=$[S]=$[C]=$[x]=$[I]=$[N]=$[k]=$[O]=$[M]=!0,$[r]=$[o]=$[v]=$[i]=$[b]=$[a]=$[s]=$[l]=$[c]=$[u]=$[d]=$[f]=$[h]=$[m]=$[y]=!1;function B(P){return n(P)&&t(P.length)&&!!$[e(P)]}return r_=B,r_}var o_,Zce;function Omt(){if(Zce)return o_;Zce=1;function e(t){return function(n){return t(n)}}return o_=e,o_}var xy={exports:{}};xy.exports;var Jce;function Tmt(){return Jce||(Jce=1,function(e,t){var n=jie(),r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,i=o&&o.exports===r,a=i&&n.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s}(xy,xy.exports)),xy.exports}var i_,eue;function kmt(){if(eue)return i_;eue=1;var e=Nmt(),t=Omt(),n=Tmt(),r=n&&n.isTypedArray,o=r?t(r):e;return i_=o,i_}var a_,tue;function Mmt(){if(tue)return a_;tue=1;var e=umt(),t=Cmt(),n=Smt(),r=Emt(),o=wmt(),i=Imt(),a=wce(),s=kmt(),l="[object Map]",c="[object Set]",u=Object.prototype,d=u.hasOwnProperty;function f(h){if(h==null)return!0;if(o(h)&&(r(h)||typeof h=="string"||typeof h.splice=="function"||i(h)||s(h)||n(h)))return!h.length;var m=t(h);if(m==l||m==c)return!h.size;if(a(h))return!e(h).length;for(var y in h)if(d.call(h,y))return!1;return!0}return a_=f,a_}var $mt=Mmt();const _mt=Hi($mt);var nue="scripts_editor_ohkkdt0",Zw="scripts_editor_ohkkdt1",s_="scripts_editor_ohkkdt2",Pmt="scripts_editor_ohkkdt3",rue="scripts_editor_ohkkdt4",oue="scripts_editor_ohkkdt5",Dmt="scripts_editor_ohkkdt6",Lmt="scripts_editor_ohkkdt7",Bmt="scripts_editor_ohkkdt8";const iue=e=>p.jsx(Ln,{...e,direction:"vertical",size:10}),aue=E.memo(({keyId:e,Icon:t,label:n,active:r,color:o,isLongLabel:i,onDragStart:a})=>{const s=E.useCallback(l=>a(l,e),[a,e]);return p.jsxs(It,{draggable:!0,type:"text",style:{minHeight:i?62:52},className:r?`${s_} ${Pmt} `:`${s_}`,onDragStart:s,children:[p.jsx("span",{className:rue,style:{color:o},children:p.jsx(t,{})}),p.jsx("span",{className:oue,children:n})]},e)},(e,t)=>e.keyId===t.keyId&&e.label===t.label&&e.active===t.active&&e.color===t.color&&e.isLongLabel===t.isLongLabel&&e.onDragStart===t.onDragStart),Fmt=()=>{const[e,t]=Fw(),{BLOCKS_ENABLED:n}=En(),r=E.useCallback((a,s)=>{a.dataTransfer.effectAllowed="move",requestAnimationFrame(()=>t(s))},[t]);if(_mt(n))return null;const o=E.useMemo(()=>Yw.filter(a=>(n==null?void 0:n.includes(a.key))&&a.group===1),[n]),i=E.useMemo(()=>Yw.filter(a=>(n==null?void 0:n.includes(a.key))&&a.group===2),[n]);return p.jsxs("div",{className:nue,children:[p.jsx(Os,{className:Zw,wrapperTag:iue,children:o.map(a=>{const s=a.icon,l=a.active,c=a.label.includes(`
857
857
  `)||a.label.length>9;return p.jsx(aue,{keyId:a.key,Icon:s,label:a.label,active:l,color:hc[a.key],isLongLabel:c,onDragStart:r})})}),p.jsx(Os,{className:Zw,wrapperTag:iue,children:i.map(a=>{const s=a.icon,l=a.active,c=a.label.includes(`
858
858
  `)||a.label.length>9;return p.jsx(aue,{keyId:a.key,Icon:s,label:a.label,active:l,color:hc[a.key],isLongLabel:c,onDragStart:r})})})]})},jmt=E.memo(Fmt),zmt=e=>{const{BLOCKS_ENABLED:t}=En(),[n,r]=Fw(),o=(c,u)=>{c.dataTransfer.effectAllowed="move",requestAnimationFrame(()=>r(u))},i=e.filter(c=>t.includes(c.key)),a={},s=[];i.forEach(c=>{c.group?(a[c.group]||(a[c.group]=[]),a[c.group].push(c)):s.push(c)});const l=c=>{const u=c.icon,d=c.iconProps||{},f=[Be.BRANCH,Be.DELAY,Be.AI_AGENT,Be.AUTO_FLOW_HTTP_REQUEST].includes(c.key);return p.jsx(It,{className:Dmt,draggable:!0,onDragStart:h=>o(h,c.key),icon:p.jsx("div",{className:`${Lmt} ${f?Bmt:""}`,style:{color:c.color??hc[c.key]},children:p.jsx(u,{...d})}),children:p.jsxs(Je,{vertical:!0,align:"flex-start",justify:"center",style:{minWidth:0},children:[p.jsx(xe.Text,{strong:!0,ellipsis:{tooltip:c.label,expanded:!1},children:c.label}),p.jsx(xe.Text,{ellipsis:{tooltip:c.description,expanded:!1},type:"secondary",style:{fontSize:12},children:c.description})]})},c.key)};return p.jsxs(p.Fragment,{children:[s.map(l),Object.entries(a).map(([c,u])=>p.jsxs("div",{children:[p.jsx(xe.Text,{type:"secondary",strong:!0,style:{fontSize:13,marginLeft:8},children:c}),u.map(l)]},c))]})},Vmt=()=>{const{BLOCKS_ENABLED:e}=En();if(dt.isEmpty(e))return p.jsx(p.Fragment,{});const t=a=>{var s;return(s=a.items)!=null&&s.length?a.items.some(l=>e.includes(l.key)):e.includes(a.key)},n=a=>L$.filter(s=>s.group===a).filter(s=>t(s)),r=a=>{var u;const s=a.icon,l=a.iconProps||{},c=a.label.includes(`
859
859
  `)||a.label.length>9;return p.jsx(Pc,{content:(u=a.items)!=null&&u.length?zmt(a.items):null,overlayInnerStyle:{padding:8},trigger:"hover",placement:"rightTop",children:p.jsxs(It,{type:"text",className:s_,style:{minHeight:c?64:58,minWidth:c?64:58},children:[p.jsx("span",{className:rue,style:{color:a.color||hc[a.key]},children:p.jsx(s,{...l})}),p.jsx("span",{className:oue,children:a.label})]})},a.key)},o=n(1),i=n(2);return p.jsxs("div",{className:nue,children:[o.length>0&&p.jsx(Os,{className:Zw,wrapperTag:a=>p.jsx(Ln,{...a,direction:"vertical",size:10,style:{}}),children:o.map(r)}),i.length>0&&p.jsx(Os,{className:Zw,wrapperTag:a=>p.jsx(Ln,{...a,direction:"vertical",size:10}),children:i.map(r)})]})},Hmt=E.memo(Vmt),Wmt=()=>p.jsxs("div",{children:[p.jsx(te.Item,{name:"personalization",valuePropName:"checked",label:null,style:{marginBottom:8},children:p.jsx($r,{children:p.jsxs(Je,{gap:12,align:"center",children:["Cá nhân hoá",p.jsx(pr,{title:"Cá nhân hoá",children:p.jsx(Vu,{color:"red"})}),p.jsx(Ui,{icon:p.jsx(FQ,{}),color:"default",children:"Chưa kích hoạt"})]})})}),p.jsx(te.Item,{name:"voice_induction_wait_until_finish_speaking",valuePropName:"checked",label:null,style:{marginBottom:8},children:p.jsx($r,{children:p.jsxs(Je,{gap:12,align:"center",children:["Cảm ứng giọng nói - Chờ khách nói hết",p.jsx(pr,{title:"Cảm ứng giọng nói - Chờ khách nói hết",children:p.jsx(Vu,{color:"red"})}),p.jsx(Ui,{icon:p.jsx(jl,{}),color:"success",children:"Đã kích hoạt"})]})})}),p.jsx(te.Item,{name:"voice_induction_interrupt",valuePropName:"checked",label:null,style:{marginBottom:8},children:p.jsx($r,{children:p.jsxs(Je,{gap:12,align:"center",children:["Cảm ứng giọng nói - Cho phép xen ngang",p.jsx(pr,{title:"Cảm ứng giọng nói - Cho phép xen ngang",children:p.jsx(Vu,{color:"red"})}),p.jsx(Ui,{icon:p.jsx(jl,{}),color:"success",children:"Đã kích hoạt"})]})})}),p.jsx(te.Item,{name:"gender_identity",valuePropName:"checked",label:null,style:{marginBottom:8},children:p.jsx($r,{children:p.jsxs(Je,{gap:12,align:"center",children:["Nhận diện giới tính",p.jsx(pr,{title:"Nhận diện giới tính",children:p.jsx(Vu,{color:"red"})}),p.jsx(Ui,{icon:p.jsx(jl,{}),color:"success",children:"Đã kích hoạt"})]})})})]}),Rmt=()=>p.jsxs("div",{children:[p.jsx(xe.Paragraph,{type:"secondary",children:"Nếu bạn dùng node agent thì bạn nên điền prompt. Bạn có thể không dùng prompt đối với kịch bản dùng giọng ghi âm."}),p.jsx(te.Item,{name:"al_model",label:"AI Model",layout:"vertical",children:p.jsx(see,{})}),p.jsx(te.Item,{name:"prompt_system",className:tgt,label:p.jsxs(Je,{align:"center",justify:"space-between",style:{width:"100%"},children:[p.jsx(xe.Text,{children:"Prompt hệ thống"}),p.jsxs(Ln,{children:[p.jsx(It,{type:"text",icon:p.jsx(zY,{})}),p.jsx(It,{type:"text",icon:p.jsx(jY,{})}),p.jsx(It,{type:"text",icon:p.jsx(Gu,{})})]})]}),layout:"vertical",children:p.jsx(jt.TextArea,{placeholder:"Nhập prompt hệ thống",rows:4,className:ngt})})]}),Kmt=()=>p.jsxs("div",{children:[p.jsx(te.Item,{name:"background_sound_sound",label:"Âm thanh nền",layout:"vertical",children:p.jsx(Sn,{placeholder:"Chọn âm thanh nền",options:[]})}),p.jsx(te.Item,{name:"is_conjunction",valuePropName:"checked",label:null,children:p.jsxs(Je,{vertical:!0,align:"flex-start",gap:8,children:[p.jsx($r,{children:"Sử dụng từ nối ở tất cả các node bot nghe"}),p.jsx(xe.Text,{className:ple,style:{marginLeft:24},children:"Trong khi phân loại ý định, bot sẽ nói từ nối trước node bot nói tiếp theo để hội thoại tự nhiên hơn. Ví dụ: Dạ vâng ạ, dạ vâng,..."}),p.jsx(It,{type:"link",icon:p.jsx(KN,{}),style:{marginLeft:8},children:"Tuỳ chỉnh từ nối"})]})}),p.jsx(te.Item,{name:"special_sound",label:p.jsxs(Je,{vertical:!0,children:[p.jsx(xe.Text,{children:"Từ đặc biệt"}),p.jsx(xe.Text,{className:ple,style:{fontSize:12},children:"Thêm từ đặc biệt như tên riêng để nâng cao vốn từ của model"})]}),layout:"vertical",children:p.jsx(jt,{placeholder:"Nhập từ sau đó bấm enter"})})]}),Qmt="infinite_filter_voice",qmt=({enabled:e=!0})=>{const{axiosInstance:t,context:{COMPANY_ID:n}}=En();return ms({queryKey:[Qmt,n??""],queryFn:({pageParam:r=1})=>t.get("/voice"),enabled:e,staleTime:1e3*60*10,refetchOnMount:!1,retry:1})},Umt=({dataDefault:e,...t})=>{const[n,r]=E.useState([]),{data:o,isLoading:i}=qmt({enabled:!0});E.useEffect(()=>{const s=[...e?dt.isArray(e)?e:[e]:[],...(o==null?void 0:o.data)||[]],l=dt.uniqBy(s,"id");r(l)},[o==null?void 0:o.data,e]);const a=E.useMemo(()=>n.map(({title:s,id:l})=>({value:l,label:s,key:l})),[n]);return p.jsx(Sn,{options:a,allowClear:!0,showSearch:!0,filterOption:!1,loading:i,placeholder:"Chọn giọng bot",style:{width:"100%"},...t})},Gmt=()=>{const{isOpen:e,onOpen:t,onClose:n}=po(),[r]=te.useForm(),o=i=>{console.log("🚀 ~ values:",i),n()};return p.jsxs(p.Fragment,{children:[p.jsx(It,{onClick:t,type:"primary",icon:p.jsx(zc,{}),children:"Sinh file audio nghe trước"}),p.jsx(Yr,{open:e,onCancel:n,title:"Nhập giá trị của biến",width:500,destroyOnHidden:!0,footer:[p.jsx(It,{onClick:n,children:"Hủy"},"cancel"),p.jsx(It,{onClick:n,children:"Thực hiện với giá trị mặc định"},"default"),p.jsx(It,{type:"primary",onClick:r.submit,children:"Thực hiện"},"submit")],children:p.jsxs(te,{form:r,name:"generate-audio-file",onFinish:o,children:[p.jsx(te.Item,{name:"item1",label:"Item 1",children:p.jsx(jt,{placeholder:"Nhập giá trị"})}),p.jsx(te.Item,{name:"item1",label:"Item 1",children:p.jsx(jt,{placeholder:"Nhập giá trị"})}),p.jsx(te.Item,{name:"item1",label:"Item 1",children:p.jsx(jt,{placeholder:"Nhập giá trị"})}),p.jsx(te.Item,{name:"item1",label:"Item 1",children:p.jsx(jt,{placeholder:"Nhập giá trị"})})]})})]})},Ymt=()=>{const e=te.useFormInstance(),t=te.useWatch("voice_choice",e);return p.jsxs(p.Fragment,{children:[p.jsx(te.Item,{label:null,name:"voice_choice",children:p.jsxs(Pn.Group,{style:{width:"100%"},children:[p.jsxs(Zn,{gutter:12,children:[p.jsx(bt,{span:18,children:p.jsxs(Je,{vertical:!0,gap:8,children:[p.jsx(Pn,{value:Bm.BOT,children:"Sử dụng giọng bot"}),p.jsx($o,{isOpen:t===Bm.BOT,children:p.jsx(te.Item,{label:null,name:"bot_voice",children:p.jsx(Umt,{})})})]})}),p.jsx(bt,{span:6,children:p.jsx($o,{isOpen:t===Bm.BOT,children:p.jsxs(Je,{gap:12,children:[p.jsx(te.Item,{label:"Tốc độ",name:"speed_bot_voice",layout:"vertical",children:p.jsx(ai,{min:.1,max:2,step:.1,style:{width:"100%"}})}),p.jsx(te.Item,{label:"Âm lượng",name:"volume_bot_voice",layout:"vertical",children:p.jsx(ai,{min:.1,max:2,step:.1,style:{width:"100%"}})})]})})})]}),p.jsx(Pn,{value:Bm.CLONE,children:"Sử dụng giọng nhân bản"})]})}),p.jsx(Gmt,{})]})},Jw={fileIcons:{XLS:"data:image/png;base64,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gKxECAAAkJUIAQAAshIhAABAViIEAADISoQAAABZiRAAACArEQIAAGQlQgAAgKxECAAAkJUIAQAAshIhAABAViIEAADISoQAAABZiRAAACArEQIAAGQlQgAAgKxmA2pXvjcGve3BRmyPIvIaFJ+Nsng26J7cr6Wi3FZ9DXggWL/0ZwjQIiKEJrileui5JWiZ4r3ZH1bpqGJr9Vq6K9gAn4xAuxjHAgAAshIhAABAViIEAADISoQAAABZiRAAACArEQIAAGQlQgAAgKxECAAAkJUIAQAAshIhAABAViIEAADISoQAAABZiRAAACArEQIAAGQlQgAAgKxECAAAkJUIAQAAshIhAABAViIEAADISoQAAABZiRAAACArEQIAAGQlQgAAgKxECAAAkJUIAQAAshIhAABAViIEAADIajagbmU8GEX5YLABvT+p/iBviZyK8t7qf7ungg4qvhpZlWeqH/YE61cW26KIgwHQEiKE+hXFU9EbHg3Wbzh6iMurVx4VIR01LCKrsng2ZnwN2JCi3B4Dww1Ae/iKBQAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACyEiEAAEBWIgQAAMhKhAAAAFmJEAAAICsRAgAAZCVCAACArEQIAACQlQgBAACymg2oW1neFcPezmAjboncBr0HAsahKLdVXwO+GmzE1gBoERFC/YrYXv24PWgb4ciYFOkB2usJYIoYxwIAALISIQAAQFYiBAAAyEqEAAAAWYkQAAAgKxECAABkJUIAAICsRAgAAJCVCAEAALISIQAA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",XLSX:"data:image/png;base64,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",CSV:"data:image/png;base64,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",TXT:"data:image/png;base64,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"}},Fm=e=>{switch(e){case"file":return E.createElement(Bdt);case"link":return E.createElement(mje);case"text":return E.createElement(vje);case"google":return E.createElement(Ddt)}};function Xmt(e,t){var o;const n=(o=e==null?void 0:e.split(".").pop())==null?void 0:o.toLowerCase();let r="";switch(n){case"xls":r=Jw.fileIcons.XLS;break;case"xlsx":r=Jw.fileIcons.XLSX;break;case"csv":r=Jw.fileIcons.CSV;break;case"txt":r=Jw.fileIcons.TXT;break}return r}var Iy=(e=>(e.NONE="Không",e.DAILY="Hàng ngày",e.WEEKLY="Hàng tuần",e.MONTHLY="Hàng tháng",e))(Iy||{});const ex=[{id:"1",title:"https://ucall.vn/",type:"link",created_at:"2024-06-10T10:00:00Z",auto_updated:"Không"},{id:"2",title:"hlf.xlsx",type:"file",created_at:"2024-06-11T10:00:00Z",auto_updated:"Hàng ngày"},{id:"3",title:"Vinhomes Green Paradise Cần Giờ",type:"text",created_at:"2024-06-11T10:00:00Z",auto_updated:"Hàng tuần"},{id:"4",title:"Tên file Google Docs",type:"google",created_at:"2024-06-11T10:00:00Z",auto_updated:"Hàng tháng"}];var Zmt="scripts_editor_7uh0go0",Jmt="scripts_editor_7uh0go1";const evt=E.forwardRef((e,t)=>{const{token:{colorPrimary:n}}=pU.useToken(),{isOpen:r,onClose:o,onToggle:i}=po(),[a,s]=E.useState([]),l=u=>{try{const d=u.file;s(f=>[...f,d]),u.onSuccess&&u.onSuccess({})}catch{u.file.name}};E.useImperativeHandle(t,()=>({onToggle:()=>{i()}}));const c=()=>{o()};return p.jsx(Yr,{open:r,title:"Thêm kiến thức từ file",onCancel:c,onOk:c,cancelText:"Hủy",okText:"Lưu",destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:c,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:c,children:"Lưu"})]}),children:p.jsxs(Je,{vertical:!0,gap:12,children:[p.jsxs(Ag.Dragger,{accept:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel, text/csv, text/plain",name:"file",customRequest:l,multiple:!0,height:180,showUploadList:!1,children:[p.jsx("p",{className:"scripts-editor-upload-drag-icon",children:p.jsx(qN,{})}),p.jsx("p",{className:"scripts-editor-upload-text",children:"Click hoặc kéo thả file vào đây để upload"}),p.jsx("p",{className:"scripts-editor-upload-hint",children:"Hỗ trợ định dạng file doc, docx, txt, csv, xlsx, xls, pdf"})]}),a==null?void 0:a.map(u=>p.jsxs("div",{className:Jmt,children:[p.jsxs(Je,{align:"center",gap:8,children:[p.jsx(e2,{preview:!1,src:Xmt(u.name),width:26,height:26,alt:"file icon"}),p.jsx(xe.Text,{className:"!text-xs",style:{color:n},children:u.name})]}),p.jsx(It,{type:"text",icon:p.jsx(Oa,{}),danger:!0,onClick:()=>{s(d=>d.filter(f=>f.uid!==u.uid))}})]}))]})})}),tvt=E.forwardRef((e,t)=>{const{isOpen:n,onClose:r,onToggle:o}=po(),[i]=te.useForm();E.useImperativeHandle(t,()=>({onToggle:()=>{o()}}));const a=()=>{r()},s=()=>{};return p.jsx(Yr,{open:n,title:"Thêm kiến thức từ URL",onCancel:a,onOk:i.submit,cancelText:"Hủy",okText:"Lưu",destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:a,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:i.submit,children:"Lưu"})]}),children:p.jsxs(te,{form:i,onFinish:s,name:"knowledge-by-url-form",layout:"vertical",preserve:!1,children:[p.jsx(te.Item,{label:"URL",name:"url",rules:[{required:!0,message:"Vui lòng nhập URL!"}],children:p.jsx(jt.TextArea,{rows:4,placeholder:"Nhập URLs, bấm enter để xuống dòng và điền URL tiếp theo"})}),p.jsx(te.Item,{label:"Tự động cập nhật",name:"auto_updated",initialValue:Iy.NONE,children:p.jsx(Sn,{placeholder:"Chọn tần suất cập nhật",options:Object.values(Iy).map(l=>({label:l,value:l}))})}),p.jsx(bf,{message:"Dự kiến xử lý dữ liệu cần 0,5 block",type:"info",showIcon:!0})]})})}),nvt=E.forwardRef((e,t)=>{const{isOpen:n,onClose:r,onToggle:o}=po(),[i]=te.useForm();E.useImperativeHandle(t,()=>({onToggle:()=>{o()}}));const a=()=>{r()},s=()=>{};return p.jsx(Yr,{open:n,title:"Thêm kiến thức từ URL",onCancel:a,onOk:i.submit,cancelText:"Hủy",okText:"Lưu",destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:a,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:i.submit,children:"Lưu"})]}),children:p.jsx(te,{form:i,onFinish:s,name:"knowledge-by-url-form",layout:"vertical",preserve:!1,children:p.jsx(te.Item,{label:"Nội dung",name:"content",rules:[{required:!0,message:"Vui lòng nhập nội dung"}],children:p.jsx(jt.TextArea,{rows:4,placeholder:"Nhập nội dung"})})})})}),rvt=[{key:"1",name:"ABC",file_type:"Docs",created_at:"2024-06-10T10:00:00Z"},{key:"2",name:"ABC",file_type:"Sheets",created_at:"2024-06-10T10:00:00Z"},{key:"3",name:"ABC",file_type:"Docs",created_at:"2024-06-10T10:00:00Z"}],ovt=E.forwardRef((e,t)=>{const{isOpen:n,onClose:r,onToggle:o}=po(),[i]=te.useForm();E.useImperativeHandle(t,()=>({onToggle:()=>{o()}}));const a=()=>{r()},s=()=>{},l=[{title:"Tên file",dataIndex:"name"},{title:"Kiểu file",dataIndex:"file_type"},{title:"Ngày khởi tạo",dataIndex:"created_at",render:(u,d)=>p.jsx(xe.Text,{children:Wn(d.created_at).format(Moe)})}],c={onChange:(u,d)=>{console.log(`selectedRowKeys: ${u}`,"selectedRows: ",d)},getCheckboxProps:u=>({disabled:u.name==="Disabled User",name:u.name})};return p.jsx(Yr,{open:n,title:"Thêm kiến thức từ Google",onCancel:a,onOk:i.submit,cancelText:"Hủy",okText:"Lưu",destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:a,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:i.submit,children:"Lưu"})]}),children:p.jsxs(te,{form:i,onFinish:s,name:"knowledge-by-google-form",layout:"vertical",preserve:!1,children:[p.jsx(te.Item,{layout:"horizontal",label:"Tài khoản",name:"account",rules:[{required:!0,message:"Vui lòng chọn tài khoản!"}],children:p.jsx(Sn,{style:{width:200},placeholder:"Chọn tài khoản",popupRender:u=>p.jsxs(p.Fragment,{children:[u,p.jsx(Qi,{}),p.jsx(It,{style:{width:"100%"},type:"primary",children:"Tích hợp Google mới"})]})})}),p.jsx(ts,{rowSelection:{type:"checkbox",...c},columns:l,dataSource:rvt}),p.jsx(hg,{icon:p.jsx(e2,{preview:!1,src:"/assets/images/empty.png",width:140,height:120,alt:"file icon"}),title:null,extra:p.jsx(It,{type:"primary",children:"Tích hợp tài khoản Google"})}),p.jsx(te.Item,{label:"Tự động cập nhật",name:"auto_updated",initialValue:Iy.NONE,children:p.jsx(Sn,{placeholder:"Chọn tần suất cập nhật",options:Object.values(Iy).map(u=>({label:u,value:u}))})})]})})}),ivt=()=>{const e=E.useRef(null),t=E.useRef(null),n=E.useRef(null),r=E.useRef(null),o=[{key:"1",label:"URL(s)",icon:Fm("link"),onClick:()=>{var i;return(i=e.current)==null?void 0:i.onToggle()}},{key:"2",label:"Tải file",icon:Fm("file"),onClick:()=>{var i;return(i=t.current)==null?void 0:i.onToggle()}},{key:"3",label:"Nhập văn bản",icon:Fm("text"),onClick:()=>{var i;return(i=n.current)==null?void 0:i.onToggle()}},{key:"4",label:"Google Drive",icon:Fm("google"),onClick:()=>{var i;return(i=r.current)==null?void 0:i.onToggle()}}];return p.jsxs(p.Fragment,{children:[p.jsx(hl,{menu:{items:o},trigger:["click"],children:p.jsx(It,{icon:p.jsx(vi,{}),type:"primary",children:"Thêm kiến thức"})}),p.jsx(tvt,{ref:e}),p.jsx(evt,{ref:t}),p.jsx(nvt,{ref:n}),p.jsx(ovt,{ref:r})]})},avt=()=>{const{isOpen:e,onOpen:t,onClose:n}=po(),r=(o,i,a)=>console.log(a==null?void 0:a.source,o);return p.jsxs(p.Fragment,{children:[p.jsx(It,{icon:p.jsx(Fdt,{}),onClick:t,children:"Chọn từ thư viện"}),p.jsxs(Yr,{open:e,onCancel:n,footer:null,closeIcon:null,children:[p.jsx(jt.Search,{placeholder:"Tìm kiếm",allowClear:!0,onSearch:r}),p.jsx(Je,{gap:4,vertical:!0,style:{marginTop:12},children:ex==null?void 0:ex.map(o=>p.jsxs(Je,{gap:8,className:Zmt,align:"center",children:[Fm(o.type),p.jsx(xe.Text,{children:o.title})]},o.id))})]})]})},svt=()=>{const e=[{title:"Kiến thức",dataIndex:"title",key:"title",render:(t,n)=>p.jsxs(Je,{align:"center",gap:8,children:[Fm(n.type),p.jsx(xe.Text,{children:n.title})]})},{title:"Ngày khởi tạo",dataIndex:"created_at",key:"created_at",render:(t,n)=>p.jsx(xe.Text,{children:Wn(n.created_at).format(Moe)})},{title:"Tự động cập nhật",dataIndex:"auto_updated",key:"auto_updated"},{title:"Hành động",dataIndex:"action",key:"action",render:()=>p.jsxs(Je,{align:"center",children:[p.jsx(ju,{title:null,description:"Bạn có chắc chắn muốn lưu vào thư viện?",okText:"Có",cancelText:"Không",children:p.jsx(It,{size:"large",type:"text",icon:p.jsx(HN,{})})}),p.jsx(It,{size:"large",type:"text",icon:p.jsx(qQ,{})}),p.jsx(It,{size:"large",type:"text",icon:p.jsx(Oa,{}),danger:!0})]})}];return p.jsxs(Je,{gap:16,vertical:!0,children:[p.jsxs(Je,{align:"center",justify:"space-between",children:[p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(gle,{className:kd}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:"Kiến thức"})]}),p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(avt,{}),p.jsx(ivt,{})]})]}),p.jsx(ts,{dataSource:ex,columns:e})]})},lvt=[{id:1,title:"Họ và tên",data_type:"string",description:"Tên người dùng",default_value:"Quý khác",global_identification:!0}],cvt=()=>{const e=po(),t=[{title:"Tên biến",dataIndex:"title",key:"title",render:(n,r)=>p.jsxs(Je,{align:"center",gap:8,children:[p.jsx(xe.Text,{children:r.title}),p.jsx(xe.Text,{type:"secondary",children:r.data_type})]})},{title:"Mô tả",dataIndex:"description",key:"description"},{title:"Giá trị mặc định",dataIndex:"default_value",key:"default_value"},{title:"Nhận diện trong toàn bộ hội thoại",dataIndex:"global_identification",key:"global_identification",align:"center",render:(n,r)=>r!=null&&r.global_identification?p.jsx(VN,{style:{fontSize:20},twoToneColor:"#A0D911"}):null},{title:"Hành động",dataIndex:"action",key:"action",render:()=>p.jsxs(Je,{align:"center",children:[p.jsx(ju,{title:null,description:"Bạn có chắc chắn muốn lưu vào thư viện?",okText:"Có",cancelText:"Không",children:p.jsx(It,{size:"large",type:"text",icon:p.jsx(HN,{})})}),p.jsx(It,{size:"large",type:"text",icon:p.jsx(ug,{})}),p.jsx(It,{size:"large",type:"text",icon:p.jsx(Oa,{}),danger:!0})]})}];return p.jsxs(Je,{gap:16,vertical:!0,children:[p.jsxs(Je,{align:"center",justify:"space-between",children:[p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(ugt,{className:kd}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:"Kiến thức"})]}),p.jsx(It,{icon:p.jsx(vi,{}),type:"primary",onClick:e.onOpen,children:"Thêm biến"}),p.jsx(RY,{disclosure:e})]}),p.jsx(ts,{dataSource:lvt,columns:t})]})};function uvt(){const{axiosInstance:e,context:{COMPANY_ID:t}}=En(),n=yv();return mb({mutationFn:async({SCENARIO_ID:r,INTENT_ID:o})=>e.delete(`/company/${t}/callbotscenario/${r}/intent/${o}`),onSuccess:(r,o)=>{n.setQueryData(lS(t,o.SCENARIO_ID),i=>i&&{...i,data:i.data.filter(a=>{var s;return((s=a.id)==null?void 0:s.toString())!==o.INTENT_ID})})},onError:r=>{var a;const o=(a=r.response)==null?void 0:a.data,i=(o==null?void 0:o.error_messages)??"Đã có lỗi xảy ra";_0.error(i)}})}const sue=({initialValues:e,modalTitle:t="Thêm ý định",submitText:n="Lưu",buttonProps:r,buttonText:o="Thêm ý định mới",loading:i,onSubmit:a})=>{const{isOpen:s,onOpen:l,onClose:c}=po(),[u]=te.useForm();E.useEffect(()=>{if(!s){u.resetFields();return}u.setFieldsValue({name:e==null?void 0:e.name,description:e==null?void 0:e.description,keywords:e==null?void 0:e.keywords,is_conversion:e==null?void 0:e.is_conversion})},[u,e,s]);const d=()=>{u.resetFields(),c()},f=async h=>{await(a==null?void 0:a(h)),d()};return p.jsxs(p.Fragment,{children:[p.jsx(It,{icon:p.jsx(vi,{}),type:"primary",onClick:l,...r,children:o}),p.jsx(Yr,{open:s,title:t,onCancel:d,cancelText:"Hủy",okText:n,destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:d,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:u.submit,loading:i,children:n})]}),children:p.jsxs(te,{form:u,onFinish:f,name:"intent-form",layout:"vertical",preserve:!1,children:[p.jsx(te.Item,{label:"Tên ý định",name:"name",rules:[{required:!0,message:"Vui lòng nhập tên ý định"}],children:p.jsx(jt,{placeholder:"Nhập tên ý định"})}),p.jsx(te.Item,{label:"Mô tả",name:"description",children:p.jsx(jt.TextArea,{autoSize:{minRows:1,maxRows:6},placeholder:"Nhập mô tả"})}),p.jsx(te.Item,{label:"Từ khoá",name:"keywords",children:p.jsx(jt.TextArea,{autoSize:{minRows:1,maxRows:6},placeholder:"Nhập từ khoá, cách nhau bởi dấu phẩy"})}),p.jsx(te.Item,{name:"is_conversion",valuePropName:"checked",label:null,initialValue:!1,children:p.jsx($r,{children:"Đặt làm chuyển đổi"})})]})})]})},dvt=()=>{const{context:e}=En(),t=OO(),n=e.CALLBOTSCENARIO_ID,{data:r,isLoading:o}=IO({SCENARIO_ID:n}),{mutateAsync:i,isPending:a}=TO(),{mutateAsync:s,isPending:l}=NO(),{mutateAsync:c,isPending:u}=uvt(),d=async y=>{await i({SCENARIO_ID:n,name:y.name,description:y.description,keywords:y.keywords,is_conversion:y.is_conversion})},f=async(y,v)=>{const b=await s({SCENARIO_ID:n,INTENT_ID:y,name:v.name,description:v.description,keywords:v.keywords,is_conversion:v.is_conversion});t({dataKey:"conditions",item:b.data})},h=async y=>{await c({SCENARIO_ID:n,INTENT_ID:y})},m=[{title:"Ý định",dataIndex:"name",key:"name"},{title:"Mô tả",dataIndex:"description",key:"description"},{title:"Từ khoá",dataIndex:"keywords",key:"keywords"},{title:"Đặt làm chuyển đổi",dataIndex:"is_conversion",key:"is_conversion",align:"center",render:(y,v)=>v!=null&&v.is_conversion?p.jsx(VN,{style:{fontSize:20},twoToneColor:"#A0D911"}):null},{title:"Hành động",dataIndex:"action",key:"action",render:(y,v)=>{var A;const b=((A=v.id)==null?void 0:A.toString())??"";return p.jsxs(Je,{align:"center",children:[p.jsx(sue,{buttonProps:{size:"large",type:"text",icon:p.jsx(ug,{})},buttonText:null,modalTitle:"Cập nhật ý định",submitText:"Cập nhật",initialValues:v,loading:l,onSubmit:S=>f(b,S)}),p.jsx(ju,{title:null,description:"Bạn có chắc chắn muốn xoá ý định này?",okText:"Có",cancelText:"Không",disabled:v.is_using,onConfirm:()=>h(b),children:p.jsx(It,{size:"large",type:"text",icon:p.jsx(Oa,{}),danger:!0,disabled:v.is_using||u})})]})}}];return p.jsxs(Je,{gap:16,vertical:!0,children:[p.jsxs(Je,{align:"center",justify:"space-between",children:[p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(aWe,{className:kd}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:"Ý định"})]}),p.jsx(sue,{loading:a,onSubmit:d})]}),p.jsx(ts,{rowKey:y=>{var v;return((v=y.id)==null?void 0:v.toString())??""},dataSource:(r==null?void 0:r.data)??[],columns:m,loading:o,pagination:!1})]})},fvt=()=>p.jsx(Je,{vertical:!0,gap:12,children:p.jsxs(Je,{align:"center",justify:"space-between",children:[p.jsx(xe.Title,{level:5,children:"Danh sách audio"}),p.jsxs(Ln,{children:[p.jsx(It,{icon:p.jsx(zc,{}),children:"Sinh file audio nghe trước"}),p.jsx(It,{icon:p.jsx(ug,{}),type:"primary",children:"Tuỳ chỉnh audio"})]})]})}),hvt=()=>{const{isOpen:e,onOpen:t,onClose:n}=po(),[r]=te.useForm(),[o,i]=E.useState(),a=l=>{console.log("Form values:",l),n()},s=te.useWatch("voice",r);return console.log("🚀 ~ voice:",s),p.jsxs(p.Fragment,{children:[p.jsx(It,{icon:p.jsx(vi,{}),onClick:t,type:"primary",children:"Thêm từ nối"}),p.jsx(Yr,{open:e,title:"Thêm ý định",onCancel:n,cancelText:"Hủy",okText:"Lưu",destroyOnHidden:!0,footer:p.jsxs(Je,{align:"center",justify:"center",gap:8,children:[p.jsx(It,{onClick:n,children:"Hủy"}),p.jsx(It,{type:"primary",onClick:r.submit,children:"Lưu"})]}),children:p.jsxs(te,{form:r,onFinish:a,name:"variable-form",layout:"vertical",preserve:!1,children:[p.jsx(te.Item,{label:"Tên câu nối",name:"title",rules:[{required:!0,message:"Vui lòng nhập tên câu nối"}],children:p.jsx(jt,{placeholder:"Nhập tên câu nối"})}),p.jsx(te.Item,{label:"Phân loại",name:"classify",children:p.jsx(Sn,{options:[],placeholder:"Chọn mục phân loại"})}),p.jsx(te.Item,{label:"Từ khoá",name:"keyword",children:p.jsx(jt,{placeholder:"Nhập từ khoá"})}),p.jsx(te.Item,{name:"voice",label:null,children:p.jsxs(Pn.Group,{style:{display:"flex",flexDirection:"column",gap:12},children:[p.jsx(Pn,{value:"bot",children:"Giọng bot"}),p.jsx(Pn,{value:"voice_cloning",children:"Giọng nhân bản(voice cloning)"}),p.jsx(Pn,{value:"record",children:"Giọng ghi âm"})]})}),p.jsx($o,{isOpen:s==="record",children:p.jsxs(Je,{align:"center",gap:12,children:[o?null:p.jsx(Ww,{beforeUpload:()=>{i(!1)},onUploadSuccess:({file:l,transcript_text:c,transcript:u})=>{r.setFieldValue(["record","default_record"],l),r.setFieldValue(["record","transcript_original"],c),r.setFieldValue(["record","transcript_with_timestamp"],u),r.submit()}}),o||dt.isUndefined(o)?p.jsx(Vw,{onStartRecord:()=>{i(!0)},onFinishRecord:({file:l,transcript_text:c,transcript:u})=>{r.setFieldValue(["record","default_record"],l),r.setFieldValue(["record","transcript_original"],c),r.setFieldValue(["record","transcript_with_timestamp"],u),r.submit(),i(void 0)}}):null]})})]})})]})},pvt=()=>p.jsx(Je,{vertical:!0,gap:12,children:p.jsxs(Je,{align:"center",justify:"space-between",children:[p.jsx(xe.Title,{level:5,children:"Danh sách từ nối"}),p.jsx(hvt,{})]})}),gvt=()=>{const e=[{key:"1",label:"Node bot nói",children:p.jsx(fvt,{})},{key:"2",label:"Từ nối",children:p.jsx(pvt,{})}];return p.jsxs(Je,{gap:16,vertical:!0,children:[p.jsxs(Je,{align:"center",gap:12,children:[p.jsx(iWe,{className:kd}),p.jsx(xe.Title,{level:5,style:{margin:"unset"},children:"Audio"})]}),p.jsx(io,{type:"card",items:e})]})},mvt=()=>{const e=[{label:"Kiến thức",key:"1",children:p.jsx(svt,{})},{label:"Biến",key:"2",children:p.jsx(cvt,{})},{label:"Ý định",key:"3",children:p.jsx(dvt,{})},{label:"Audio",key:"4",children:p.jsx(gvt,{})}];return p.jsx(io,{defaultActiveKey:"1",tabPosition:"left",items:e})},vvt=rgt.version,yvt=Xx(),bvt=e=>`${e.toLowerCase()}_${Hf()}`,Cvt=[{key:"1",label:p.jsxs(Je,{gap:12,align:"center",children:[p.jsx(c2,{className:kd}),p.jsx(xe.Text,{style:{marginBottom:0},strong:!0,children:"Cài đặt giọng nói"})]}),children:p.jsx(Ymt,{})},{key:"2",label:p.jsxs(Je,{gap:12,align:"center",children:[p.jsx(gle,{className:kd}),p.jsx(xe.Text,{style:{marginBottom:0},strong:!0,children:"Prompt"})]}),children:p.jsx(Rmt,{})},{key:"3",label:p.jsxs(Je,{gap:12,align:"center",children:[p.jsx(zc,{className:kd}),p.jsx(xe.Text,{style:{marginBottom:0},strong:!0,children:"Cài đặt âm thanh"})]}),children:p.jsx(Kmt,{})},{key:"4",label:p.jsxs(Je,{gap:12,align:"center",children:[p.jsx(XQ,{className:kd}),p.jsx(xe.Text,{style:{marginBottom:0},strong:!0,children:"Cài đặt nâng cao"})]}),children:p.jsx(Wmt,{})}],Avt=E.forwardRef((e,t)=>{const n=e.type,{reactFlowRef:r,instanceId:o,mode:i}=En(),[a,s]=abe([]),[l,c]=sbe(nG),[u,d]=E.useState(),{screenToFlowPosition:f,fitView:h,addEdges:m}=kn(),{isValidConnection:y}=Kpt(),[v]=Fw(),b=tk(),{flowProps:A}=Cle(),{takeSnapshotDebounced:S,takeSnapshotNow:C}=cgt(o,{snapshotDebounceMs:150}),{isOpen:x,onToggle:I,onClose:N}=po(),{isOpen:k,onToggle:O,onClose:M}=po(),[$]=te.useForm(),B=E.useRef(null),P=E.useRef(!1),_=Upt(a),L=E.useMemo(()=>n==="autocall"?"autoCallButton":"autoFlowButton",[n]),D=qpt(),{resetCommitState:F}=ogt({cb:(X,Z)=>{var ie;!P.current||i==="view"||(ie=B.current)==null||ie.call(B,X,Z)},enabled:!0}),z=e.onAlertsChange||(()=>{}),V=E.useCallback(X=>(S(),c(Z=>Ub({...X,type:n==="autocall"?"autoCallButton":"autoFlowButton"},Z))),[c]),R=E.useCallback(X=>{X.preventDefault(),X.dataTransfer.dropEffect="move"},[]),q=E.useCallback(X=>{if(X.preventDefault(),!v||X.target.closest('[data-group-drop-zone="true"]'))return;const ne=f({x:X.clientX,y:X.clientY}),de={id:bvt(v),type:v,position:ne,data:{title:Ig[v],...Wf[v]},deletable:!0,...Q0[v]};s(Ne=>Ne.concat(de))},[f,v,s]),K=E.useCallback(X=>{h({nodes:[{id:X}],padding:.2,duration:700})},[h]),H=E.useCallback(X=>{s(Z=>s4(X,Z)),S()},[]),Q=E.useCallback(X=>{c(Z=>l4(X,Z)),S()},[]),W=E.useCallback(X=>{const Z=D({deletedNodes:X,edges:l,defaultEdgeType:L});Z.length!==0&&c(ie=>Z.reduce((ne,pe)=>Ub(pe,ne),ie))},[L,l,c]),G=(X,Z)=>{Z&&$.setFieldsValue(Z),P.current=!1;const ie=Array.isArray(X.nodes)&&!dt.isEmpty(X.nodes)?X.nodes:n==="autocall"?tG:[],ne=Array.isArray(X.edges)?X.edges.map(pe=>({...pe,selectable:i==="edit"})):[];s(ie),c(ne),requestAnimationFrame(()=>{X.viewport?u.setViewport(X.viewport):u.fitView({padding:.2,duration:0,maxZoom:1}),requestAnimationFrame(()=>{F(),P.current=!0})})};E.useImperativeHandle(t,()=>({getFlowJson:()=>({flow:{...u==null?void 0:u.toObject(),type:n==="autocall"?"autocall":"autoflow",version:vvt},globalSetting:$.getFieldsValue()}),loadFlowJson:(X,Z)=>{if(!X)return!0;if(!u)throw new Error("React Flow instance is not ready yet.");return G(X,Z),!0},moveToNode:X=>{K(X)},toggleGlobalSetting:()=>{I()},toggleResourceCMS:()=>{O()},useFlowChange:(X,Z)=>{B.current=Z?X:null},instanceId:o})),E.useEffect(()=>(u&&e.onReady&&e.onReady(!0),()=>{e.onReady&&e.onReady(!1)}),[u]),E2(()=>{z(b)},[b]);const J=E.useCallback(X=>{d(X)},[]),U=X=>{var Z;(Z=B.current)==null||Z.call(B,void 0,X),N()},ee=E.useCallback((X,Z)=>{var Ie;if(!(Z!=null&&Z.fromNode))return;const{clientX:ie,clientY:ne}=X,pe=f({x:ie,y:ne}),de=a.find(je=>{const{x:Pe,y:Ce}=je.position,{width:$e=0,height:Ve=0}=je.measured;return pe.x>=Pe&&pe.x<=Pe+$e&&pe.y>=Ce&&pe.y<=Ce+Ve});if(!de)return;const Ne={source:Z.fromNode.id,sourceHandle:(Ie=Z.fromHandle)==null?void 0:Ie.id,target:de.id};if(y(Ne))return S(),c(je=>{var Pe;return Ub({source:Z.fromNode.id,target:de.id,sourceHandle:(Pe=Z.fromHandle)==null?void 0:Pe.id,type:n==="autocall"?"autoCallButton":"autoFlowButton"},je)})},[a,f,c,n,S]),oe=E.useMemo(()=>i!=="edit"?null:n==="autocall"?p.jsx(jmt,{}):p.jsx(Hmt,{}),[i,n]);return p.jsxs("div",{className:Gpt,children:[p.jsx("div",{className:Ypt,children:p.jsxs("div",{className:Xpt,ref:r,children:[p.jsxs(ebe,{nodes:_,edges:l,nodeTypes:cle,edgeTypes:Rpt,onNodesChange:H,onNodesDelete:W,onEdgesChange:Q,isValidConnection:y,onConnect:V,onConnectEnd:ee,onInit:J,onDrop:q,onDragOver:R,onNodeDragStop:()=>{C()},connectionMode:df.Strict,style:{backgroundColor:"#F6F9FF"},...A,children:[p.jsx(smt,{}),p.jsx(Mbe,{nodeColor:Gw,pannable:!0,zoomable:!0,maskColor:"#F7F7F7",nodeStrokeWidth:4,nodeStrokeColor:X=>{if(!Gw(X))return"transparent";const Z=Gw(X);return Z.startsWith("linear-gradient")?Z:bi(Z).darken(.25).hex()},nodeBorderRadius:12,className:Zpt})]}),oe]})}),p.jsx(KA,{title:"Cài đặt kịch bản",open:x,extra:p.jsxs(Ln,{children:[p.jsx(It,{onClick:N,children:"Huỷ"}),p.jsx(It,{type:"primary",onClick:$.submit,icon:p.jsx(YQ,{}),children:"Lưu cài đặt"})]}),width:800,onClose:N,className:Jpt,children:p.jsx(te,{form:$,name:"form-global-setting",onFinish:U,initialValues:{voice_choice:Bm.BOT,speed_bot_voice:1,volume_bot_voice:1},children:p.jsx(VC,{rootClassName:egt,expandIconPosition:"right",items:Cvt,bordered:!1,defaultActiveKey:["1"]})})}),p.jsx(Yr,{title:"Tài nguyên",open:k,onCancel:M,cancelText:"Đóng",width:1200,centered:!0,destroyOnHidden:!0,children:p.jsx(mvt,{})})]})}),lue=E.forwardRef((e,t)=>{const{AUTOFLOW_ID:n,CALLBOTSCENARIO_ID:r}=e.context,o=e.type==="autoflow"&&!n,i=e.type==="autocall"&&!r;if(o||i){const a=o?"Missing AutoFlow ID":"Missing CallBotScenario ID";return p.jsx(Je,{justify:"center",align:"center",style:{height:"100%"},children:p.jsx(hg,{status:"error",title:a})})}return p.jsx("section",{className:"scripts-editor-global",children:p.jsx(Xfe,{cache:yvt,hashPriority:"high",children:p.jsx(Xa,{theme:{token:{colorPrimary:Kn.common.primary},components:{Button:{primaryShadow:"unset"}}},prefixCls:ko,iconPrefixCls:zBe,children:p.jsx(KG,{...e,BLOCKS_ENABLED:e.BLOCKS_ENABLED||(e.type==="autocall"?ule:dle),instanceId:e.instanceId||Sje(),children:p.jsx(ype,{client:jBe,children:p.jsx(zdt,{children:p.jsx(AB,{children:p.jsx(jdt,{children:p.jsx(Tje,{children:p.jsx(Avt,{ref:t,onAlertsChange:e.onAlertsChange,type:e.type,onReady:e.onReady})})})})})})})})})})});lue.displayName="ScriptEditor";const Svt=(e,t)=>e===t?!0:!e||!t||e.length!==t.length?!1:e.every((n,r)=>n===t[r]),Evt=(e,t)=>e.BASE_URL===t.BASE_URL&&e.AUTHORIZATION_HEADER===t.AUTHORIZATION_HEADER&&e.type===t.type&&e.instanceId===t.instanceId&&e.mode===t.mode&&e.onReady===t.onReady&&e.context.COMPANY_ID===t.context.COMPANY_ID&&e.context.AUTOFLOW_ID===t.context.AUTOFLOW_ID&&e.context.CALLBOTSCENARIO_ID===t.context.CALLBOTSCENARIO_ID&&Svt(e.BLOCKS_ENABLED,t.BLOCKS_ENABLED),wvt=E.memo(lue,Evt);pn.BlockType=Be,pn.BlockTypeIcons=q6,pn.BlockTypeLabels=wg,pn.DEFAULT_AUTOFLOW_SIDEBAR_BUTTONS=dle,pn.DEFAULT_CALLBOT_SIDEBAR_BUTTONS=ule,pn.INTENTS=K0,pn.InstanceContextProvider=KG,pn.LISTEN_TYPE=Vc,pn.SPEAK_TYPE=qo,pn.ScriptEditor=wvt,pn.TRANSFER_TYPE=ml,pn.autoCallSidebarButtons=Yw,pn.autoFlowSidebarButtons=L$,pn.eventBus=f$,pn.getNodeColor=Gw,pn.iconColors=hc,pn.initialData=Wf,pn.initialEdges=nG,pn.initialNodeProps=Q0,pn.initialNodes=tG,pn.initialTitles=Ig,pn.nodeTypes=cle,pn.useAlert=ah,pn.useAlerts=tk,pn.useEvent=h$,pn.useInstanceContext=En,pn.useInstanceId=QG,Object.defineProperty(pn,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "app-v3-scripts-editor",
3
3
  "private": false,
4
- "version": "1.29.2",
4
+ "version": "1.29.3",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/ucall-asia/app-v3-scripts-editor.git"