@arudovwen/form-builder-react 1.9.11 → 1.9.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(we,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(we=typeof globalThis!="undefined"?globalThis:we||self,a(we.FormBuilder={},we.jsxRuntime,we.React,we.uuid,we.sonner,we.ReactDOM,we.reactHookForm,we.resolvers,we.yup,we.CurrencyInput,we.react,we.axios,we.Papa,we.XLSX,we.DatePicker,we.reactRouterDom))})(this,function(we,a,S,Le,Ee,pr,Ze,Ss,gr,li,re,je,yr,xr,Sr,wr){"use strict";function ws(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const R=ws(gr),Ns=ws(xr),Ie=S.createContext(void 0),Cs={title:"",description:"",id:Le.v4(),questionData:[],disabled:!1,isHidden:!1},As=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=S.useState(!1),[l,r]=S.useState({}),[d,u]=S.useState({}),[c,b]=S.useState([Cs]),[m,h]=S.useState(()=>{try{const F=sessionStorage.getItem("editor_past");return F?JSON.parse(F):[]}catch(F){return[]}}),[v,p]=S.useState(()=>{try{const F=sessionStorage.getItem("editor_future");return F?JSON.parse(F):[]}catch(F){return[]}});S.useEffect(()=>{n&&n(c)},[c,n]),S.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(F){console.warn("Could not save editor_past to sessionStorage",F)}},[m]),S.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(F){console.warn("Could not save editor_future to sessionStorage",F)}},[v]);const y=S.useRef(Date.now()),g=S.useCallback(F=>{b(j=>{const H=typeof F=="function"?F(j):F;if(JSON.stringify(j)!==JSON.stringify(H)){const $=Date.now();h(W=>{if(W.length>0&&JSON.stringify(W[W.length-1])===JSON.stringify(j))return W;if($-y.current<800&&W.length>0)return y.current=$,W;y.current=$;const Z=[...W,j];return Z.length>20?Z.slice(Z.length-20):Z}),p([])}return H})},[]),x=S.useCallback(()=>{if(m.length===0)return;const F=m[m.length-1],j=m.slice(0,m.length-1);h(j),p([c,...v]),b(F),i==null||i("UNDO",null)},[m,v,c,i]),f=S.useCallback(()=>{if(v.length===0)return;const F=v[0],j=v.slice(1);p(j),h([...m,c]),b(F),i==null||i("REDO",null)},[m,v,c,i]),N=c,A=m.length>0,w=v.length>0,[C,k]=S.useState(!1),[E,_]=S.useState(null),[T,P]=S.useState([0]),[K,M]=S.useState(""),[L,I]=S.useState(0),D=S.useCallback(()=>{},[]),O=S.useCallback(()=>{const F=Le.v4();g(j=>[...j,{...Cs,id:F}]),_(F),P([N.length]),i==null||i("ADD_SECTION",{sectionId:F})},[N,i,g]),B=S.useCallback(F=>{g(o==="isDeleted"||o==="soft"?j=>j.map(H=>{var $;return H.id===F?{...H,isDeleted:!0,questionData:($=H==null?void 0:H.questionData)==null?void 0:$.map(W=>({...W,isDeleted:!0}))}:H}):j=>j.filter(H=>H.id!==F)),_(null),i==null||i("REMOVE_SECTION",{sectionId:F})},[o,i,g]),U=S.useCallback((F,j)=>{const H=N.find(W=>W.id===j),$=H==null?void 0:H.questionData.find(W=>W.id===F);$&&(g(W=>W==null?void 0:W.map(Z=>{var J;return Z.id!==j?Z:o==="isDeleted"||o==="soft"?{...Z,questionData:(J=Z==null?void 0:Z.questionData)==null?void 0:J.map(ie=>{if($.type==="grid"){if(ie.gridId===$.id||ie.id===$.id)return{...ie,isDeleted:!0}}else if(ie.id===F)return{...ie,isDeleted:!0};return ie})}:{...Z,questionData:Z==null?void 0:Z.questionData.filter(ie=>$.type==="grid"?ie.gridId!==$.id&&ie.id!==$.id:ie.id!==F)}})),i==null||i("REMOVE_ELEMENT",{sectionId:j,elementId:F}))},[N,o,g,i]),q=S.useCallback((F,j)=>{const H=N.find(J=>J.id===j);if(!H)return;const $=H==null?void 0:H.questionData.findIndex(J=>J.id===F);if($===-1)return;const W=H==null?void 0:H.questionData[$],Z=(J,ie={})=>({...JSON.parse(JSON.stringify(J)),id:Le.v4(),...ie});g(J=>J==null?void 0:J.map(ie=>{var ce;if(ie.id!==j)return ie;const se=[...ie.questionData];if(W.type==="grid"){const me=(ce=se==null?void 0:se.map((Pe,ke)=>({e:Pe,i:ke})).filter(({e:Pe})=>Pe.id===W.id||Pe.gridId===W.id))==null?void 0:ce.map(({i:Pe})=>Pe),ye=me.length?Math.max(...me)+1:$+1,pe=Le.v4(),De=Z(W,{});De.id=pe;const ve=se.filter(Pe=>Pe.gridId===W.id),ue=ve==null?void 0:ve.map(Pe=>Z(Pe,{gridId:pe})),Te=[...se.slice(0,ye),De,...ue,...se.slice(ye)];return{...ie,questionData:Te}}else if(W.gridId){const me={...W};delete me.gridId,delete me.gridPosition;const ye=Z(me,{}),pe=se.reduce((ve,ue,Te)=>ue.id===W.gridId||ue.gridId===W.gridId?Te:ve,$),De=[...se.slice(0,pe+1),ye,...se.slice(pe+1)];return{...ie,questionData:De}}else{const me=Z(W,{}),ye=[...se.slice(0,$+1),me,...se.slice($+1)];return{...ie,questionData:ye}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:j,elementId:F})},[N,g,i]),G=S.useCallback((F,j)=>{const H=N.find(J=>J.id===j);if(!H)return;const $=H==null?void 0:H.questionData.findIndex(J=>J.id===F);if($===-1)return;const W=H==null?void 0:H.questionData[$];let Z=null;if(W.type==="grid"){const J=H.questionData.filter(ie=>ie.gridId===W.id);Z={type:"FORM_BUILDER_CLIPBOARD",element:W,children:J,timestamp:Date.now()}}else if(W.gridId){const J={...W};delete J.gridId,delete J.gridPosition,Z={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else Z={type:"FORM_BUILDER_CLIPBOARD",element:W,timestamp:Date.now()};if(Z){const J=JSON.stringify(Z);try{localStorage.setItem("form_builder_clipboard",J),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(J).catch(()=>{}),Ee.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:j,elementId:F})}catch(ie){console.warn("Could not copy element to clipboard",ie),Ee.toast.error("Failed to copy element")}}},[N,i]),V=S.useCallback(async(F,j,H)=>{let $="";if(H&&H.includes("FORM_BUILDER_CLIPBOARD")&&($=H),!$&&navigator.clipboard&&navigator.clipboard.readText)try{const W=await navigator.clipboard.readText();W&&W.includes("FORM_BUILDER_CLIPBOARD")&&($=W)}catch(W){console.warn("Could not parse clipboard data",W)}if($||($=localStorage.getItem("form_builder_clipboard")||""),!$){Ee.toast.error("Nothing to paste. Copy an element first.");return}try{const W=JSON.parse($);if((W==null?void 0:W.type)!=="FORM_BUILDER_CLIPBOARD"||!(W!=null&&W.element)){Ee.toast.error("Invalid clipboard data.");return}if(W.timestamp&&Date.now()-W.timestamp>6e4){Ee.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const Z=(J,ie={})=>({...JSON.parse(JSON.stringify(J)),id:Le.v4(),...ie});g(J=>J==null?void 0:J.map(ie=>{if(ie.id!==F)return ie;const ce=[...[...ie.questionData]];if(W.element.type==="grid"){const me=Le.v4(),ye=Z(W.element,{id:me,sectionId:F}),pe=(W.children||[]).map(De=>Z(De,{gridId:me,sectionId:F}));j!==void 0?ce.splice(j,0,ye,...pe):ce.push(ye,...pe)}else{const me=Z(W.element,{sectionId:F});j!==void 0?ce.splice(j,0,me):ce.push(me)}return{...ie,questionData:ce}})),Ee.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:F})}catch(W){console.warn("Could not paste element from clipboard",W),Ee.toast.error("Failed to paste element")}},[g,i]),X=S.useCallback((F,j)=>{g(H=>H==null?void 0:H.map($=>$.id===j?{...$,questionData:F}:$)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:j})},[g,i]),oe=S.useCallback((F,j)=>{g(H=>H==null?void 0:H.map($=>$.id===j?{...$,questionData:[...($==null?void 0:$.questionData)||[],F]}:$)),i==null||i("ADD_ELEMENT",{sectionId:j,element:F})},[g,i]),ne=S.useCallback((F,j,H)=>{g($=>$==null?void 0:$.map(W=>W.id===j?{...W,questionData:[...((W==null?void 0:W.questionData)||[]).slice(0,H),F,...((W==null?void 0:W.questionData)||[]).slice(H)]}:W)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:j,element:F,index:H})},[g,i]),Q=S.useCallback((F,j,H)=>{g($=>$==null?void 0:$.map(W=>{var Z;return W.id===H?{...W,questionData:(Z=W==null?void 0:W.questionData)==null?void 0:Z.map(J=>{var ie;return J.type==="grid"&&J.gridData?{...J,gridData:(ie=J.gridData)==null?void 0:ie.map((se,ce)=>ce===F?{...se,...j}:se).concat(F>=J.gridData.length?{...j}:[])}:J})}:W})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:H,gridIndex:F,element:j})},[g,i]),Y=S.useCallback((F,j)=>{g(H=>H==null?void 0:H.map($=>{var W;return $.id===j?{...$,questionData:(W=$==null?void 0:$.questionData)==null?void 0:W.map(Z=>Z.id===F.id?{...Z,...F}:Z)}:$})),i==null||i("UPDATE_ELEMENT",{sectionId:j,value:F})},[g,i]),ee=S.useCallback(F=>{const{draggedId:j,sectionId:H,targetIndex:$,targetId:W,targetGridId:Z,targetCol:J}=F;g(ie=>{var De;let se=null,ce=[],me=null,ye=-1;for(const ve of ie){const ue=(De=ve.questionData)==null?void 0:De.findIndex(Te=>Te.id===j);if(ue!==-1){se=ve.questionData[ue],me=ve.id,ye=ue,se.type==="grid"&&(ce=ve.questionData.filter(Te=>Te.gridId===se.id));break}}if(!se||Z!==void 0&&se.type==="grid")return ie;const pe={...se,sectionId:H};return ie.map(ve=>{var Te,Pe;let ue=[...ve.questionData||[]];if(ve.id!==me&&ve.id!==H)return ve;if(me===H&&ve.id===H){const ke=ye;if(Z!==void 0&&J!==void 0){const Be=ue.findIndex(Ne=>{var Me;return Ne.id!==j&&Ne.gridId===Z&&((Me=Ne.gridPosition)==null?void 0:Me.col)===J});let ge=ue.map(Ne=>Ne.id===j?{...pe,gridId:Z,gridPosition:{col:J}}:Ne);return Be!==-1&&(ge=ge.map((Ne,Me)=>{if(Me!==Be)return Ne;const rn={...Ne};return delete rn.gridId,delete rn.gridPosition,rn})),{...ve,questionData:ge}}if(pe.gridId&&$!==void 0&&Z===void 0){const Be={...pe};delete Be.gridId,delete Be.gridPosition;const ge=((Pe=(Te=ie.find(Me=>Me.id===H))==null?void 0:Te.questionData)==null?void 0:Pe.filter(Me=>Me.gridId!==j))||[],Ne=Math.min($,ge.length);return ge.splice(Ne,0,Be),{...ve,questionData:ge}}if(!pe.gridId&&$!==void 0&&Z===void 0&&!W){ue.splice(ke,1);const Be=Math.min($,ue.length);return ue.splice(Be,0,pe),{...ve,questionData:ue}}if(W){const Be=ue.findIndex(ge=>ge.id===W);return Be===-1?ve:(ue.splice(ke,1),ue.splice(Be,0,pe),{...ve,questionData:ue})}return ve}if(ve.id===me&&ve.id!==H)return ue.splice(ye,1),ce.length>0&&(ue=ue.filter(ke=>ke.gridId!==se.id)),{...ve,questionData:ue};if(ve.id===H&&ve.id!==me){const ke=ce.map(ge=>({...ge,sectionId:H}));if(Z!==void 0&&J!==void 0){const ge=ue.findIndex(Me=>{var rn;return Me.gridId===Z&&((rn=Me.gridPosition)==null?void 0:rn.col)===J}),Ne={...pe,gridId:Z,gridPosition:{col:J}};if(ge!==-1){const Me={...ue[ge]};delete Me.gridId,delete Me.gridPosition,ue[ge]=Me,ue.push(Ne,...ke)}else ue.push(Ne,...ke);return{...ve,questionData:ue}}if($!==void 0&&Z===void 0&&!W){const ge={...pe};delete ge.gridId,delete ge.gridPosition;const Ne=Math.min($,ue.length);return ue.splice(Ne,0,ge,...ke),{...ve,questionData:ue}}if(W){const ge={...pe};delete ge.gridId,delete ge.gridPosition;const Ne=ue.findIndex(Me=>Me.id===W);return Ne!==-1?ue.splice(Ne,0,ge,...ke):ue.push(ge,...ke),{...ve,questionData:ue}}const Be={...pe};return delete Be.gridId,delete Be.gridPosition,ue.push(Be,...ke),{...ve,questionData:ue}}return ve})}),i==null||i("MOVE_ELEMENT",F)},[g,i]),te=S.useCallback((F,j)=>{g(H=>H==null?void 0:H.map($=>$.id===j?{...$,...F}:$)),i==null||i("UPDATE_SECTION",{sectionId:j,value:F})},[g,i]),z=S.useMemo(()=>({deleteMode:o,formData:N,setFormData:g,handleDragStop:D,removeElement:U,elementData:d,setElementData:u,updateElementPosition:X,addElement:oe,addElementInPosition:ne,updateElement:Y,addSection:O,removeSection:B,updateSection:te,isDragging:C,setIsDragging:k,selectedSection:E,setSelectedSection:_,activeSections:T,setActiveSections:P,updateGridElement:Q,answerData:l,setAnswerData:r,uploadUrl:K,setUploadUrl:M,apiActivityCount:L,setApiActivityCount:I,duplicateElement:q,moveElement:ee,showPreview:s,setShowPreview:t,undo:x,redo:f,canUndo:A,canRedo:w,copyElement:G,pasteElement:V}),[o,N,D,U,d,X,oe,ne,Y,O,B,te,C,E,T,Q,l,K,L,q,ee,s,x,f,A,w,G,V]);return a.jsx(Ie.Provider,{value:z,children:e})};function ks(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=ks(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function be(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=ks(e))&&(o&&(o+=" "),o+=n);return o}function Nr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Es=Object.freeze({left:0,top:0,width:16,height:16}),ri=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),no=Object.freeze({...Es,...ri}),io=Object.freeze({...no,body:"",hidden:!1});function Cr(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ms(e,n){const i=Cr(e,n);for(const o in io)o in ri?o in e&&!(o in i)&&(i[o]=ri[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Ar(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ms(o[r]||s[r],t)}return l(n),i.forEach(l),Ms(e,t)}function Ts(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=Nr(e);for(const s in o){const t=o[s];t&&(n(s,Ar(e,s,t)),i.push(s))}return i}const kr={provider:"",aliases:{},not_found:{},...Es};function oo(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Ps(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!oo(e,kr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!oo(t,io))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!oo(t,io))return null}return n}const Ls=Object.create(null);function Er(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function gn(e,n){const i=Ls[e]||(Ls[e]=Object.create(null));return i[n]||(i[n]=Er(e,n))}function Bs(e,n){return Ps(n)?Ts(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Mr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Is=/^[a-z0-9]+(-[a-z0-9]+)*$/,di=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!ui(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!ui(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!ui(r,i)?null:r}return null},ui=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let _n=!1;function Ds(e){return typeof e=="boolean"&&(_n=e),_n}function _s(e){const n=typeof e=="string"?di(e,!0,_n):e;if(n){const i=gn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Tr(e,n){const i=di(e,!0,_n);if(!i)return!1;const o=gn(i.provider,i.prefix);return n?Mr(o,i.name,n):(o.missing.add(i.name),!0)}function Pr(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),_n&&!n&&!e.prefix){let s=!1;return Ps(e)&&(e.prefix="",Ts(e,(t,l)=>{Tr(t,l)&&(s=!0)})),s}const i=e.prefix;if(!ui({prefix:i,name:"a"}))return!1;const o=gn(n,i);return!!Bs(o,e)}const Os=Object.freeze({width:null,height:null}),Ks=Object.freeze({...Os,...ri}),Lr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Br=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Hs(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(Lr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=Br.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Ir(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Dr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function _r(e,n,i){const o=Ir(e);return Dr(o.defs,n+o.content+i)}const Or=e=>e==="unset"||e==="undefined"||e==="none";function Kr(e,n){const i={...no,...e},o={...Ks,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(p=>{const y=[],g=p.hFlip,x=p.vFlip;let f=p.rotate;g?x?f+=2:(y.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),y.push("scale(-1 1)"),s.top=s.left=0):x&&(y.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),y.push("scale(1 -1)"),s.top=s.left=0);let N;switch(f<0&&(f-=Math.floor(f/4)*4),f=f%4,f){case 1:N=s.height/2+s.top,y.unshift("rotate(90 "+N.toString()+" "+N.toString()+")");break;case 2:y.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:N=s.width/2+s.left,y.unshift("rotate(-90 "+N.toString()+" "+N.toString()+")");break}f%2===1&&(s.left!==s.top&&(N=s.left,s.left=s.top,s.top=N),s.width!==s.height&&(N=s.width,s.width=s.height,s.height=N)),y.length&&(t=_r(t,'<g transform="'+y.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let c,b;l===null?(b=r===null?"1em":r==="auto"?u:r,c=Hs(b,d/u)):(c=l==="auto"?d:l,b=r===null?Hs(c,u/d):r==="auto"?u:r);const m={},h=(p,y)=>{Or(y)||(m[p]=y.toString())};h("width",c),h("height",b);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Hr=/\sid="(\S+)"/g,Fr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Gr=0;function Vr(e,n=Fr){const i=[];let o;for(;o=Hr.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+(Gr++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const so=Object.create(null);function zr(e,n){so[e]=n}function ao(e){return so[e]||so[""]}function to(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const lo=Object.create(null),On=["https://api.simplesvg.com","https://api.unisvg.com"],ci=[];for(;On.length>0;)On.length===1||Math.random()>.5?ci.push(On.shift()):ci.push(On.pop());lo[""]=to({resources:["https://api.iconify.design"].concat(ci)});function $r(e,n){const i=to(n);return i===null?!1:(lo[e]=i,!0)}function ro(e){return lo[e]}let Fs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function jr(e,n){const i=ro(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Wr(e){return e===404}const Ur=(e,n,i)=>{const o=[],s=jr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function qr(e){if(typeof e=="string"){const n=ro(e);if(n)return n.path}return"/"}const Yr={prepare:Ur,send:(e,n,i)=>{if(!Fs){i("abort",424);return}let o=qr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;Fs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Wr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function Gs(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Jr(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||Gs([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Zr=0;function Xr(e,n,i){const o=Zr++,s=Gs.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function Qr(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=gn(t,l));let c;r in u.icons?c=n.loaded:l===""||u.missing.has(r)?c=n.missing:c=n.pending;const b={provider:t,prefix:l,name:r};c.push(b)}),n}function Rr(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?di(s,n,i):s;t&&o.push(t)}),o}const ed={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function nd(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let w=e.resources.slice(0);for(l=[];w.length>1;){const C=Math.floor(Math.random()*w.length);l.push(w[C]),w=w.slice(0,C).concat(w.slice(C+1))}l=l.concat(w)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,c,b=null,m=[],h=[];typeof o=="function"&&h.push(o);function v(){b&&(clearTimeout(b),b=null)}function p(){d==="pending"&&(d="aborted"),v(),m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function y(w,C){C&&(h=[]),typeof w=="function"&&h.push(w)}function g(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:y,abort:p}}function x(){d="failed",h.forEach(w=>{w(void 0,c)})}function f(){m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function N(w,C,k){const E=C!=="success";switch(m=m.filter(_=>_!==w),d){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){c=k,x();return}if(E){c=k,m.length||(l.length?A():x());return}if(v(),f(),!e.random){const _=e.resources.indexOf(w.resource);_!==-1&&_!==e.index&&(e.index=_)}d="completed",h.forEach(_=>{_(k)})}function A(){if(d!=="pending")return;v();const w=l.shift();if(w===void 0){if(m.length){b=setTimeout(()=>{v(),d==="pending"&&(f(),x())},e.timeout);return}x();return}const C={status:"pending",resource:w,callback:(k,E)=>{N(C,k,E)}};m.push(C),u++,b=setTimeout(A,e.rotate),i(w,n,C.callback)}return setTimeout(A),g}function Vs(e){const n={...ed,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const c=nd(n,r,d,(b,m)=>{o(),u&&u(b,m)});return i.push(c),c}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function zs(){}const uo=Object.create(null);function id(e){if(!uo[e]){const n=ro(e);if(!n)return;const i=Vs(n),o={config:n,redundancy:i};uo[e]=o}return uo[e]}function od(e,n,i){let o,s;if(typeof e=="string"){const t=ao(e);if(!t)return i(void 0,424),zs;s=t.send;const l=id(e);l&&(o=l.redundancy)}else{const t=to(e);if(t){o=Vs(t);const l=e.resources?e.resources[0]:"",r=ao(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),zs):o.query(n,s,i)().abort}function $s(){}function sd(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Jr(e)}))}function ad(e){const n=[],i=[];return e.forEach(o=>{(o.match(Is)?n:i).push(o)}),{valid:n,invalid:i}}function Kn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!Bs(e,i).length){o();return}}catch(s){console.error(s)}o(),sd(e)}function js(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function td(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){js(e.loadIcons(s,o,i),c=>{Kn(e,s,c)});return}if(t){s.forEach(c=>{const b=t(c,o,i);js(b,m=>{const h=m?{prefix:o,icons:{[c]:m}}:null;Kn(e,[c],h)})});return}const{valid:l,invalid:r}=ad(s);if(r.length&&Kn(e,r,null),!l.length)return;const d=o.match(Is)?ao(i):null;if(!d){Kn(e,l,null);return}d.prepare(i,o,l).forEach(c=>{od(i,c,b=>{Kn(e,c.icons,b)})})}))}const ld=(e,n)=>{const i=Rr(e,!0,Ds()),o=Qr(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,$s)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:c}=d;if(c===r&&u===l)return;l=u,r=c,t.push(gn(u,c));const b=s[u]||(s[u]=Object.create(null));b[c]||(b[c]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:c,name:b}=d,m=gn(u,c),h=m.pendingIcons||(m.pendingIcons=new Set);h.has(b)||(h.add(b),s[u][c].push(b))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&td(d,u)}),n?Xr(n,o,t):$s};function rd(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in Os?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const dd=/[\s,]+/;function ud(e,n){n.split(dd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function cd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function bd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function md(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function vd(e){return"data:image/svg+xml,"+md(e)}function fd(e){return'url("'+vd(e)+'")'}let Hn;function hd(){try{Hn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Hn=null}}function pd(e){return Hn===void 0&&hd(),Hn?Hn.createHTML(e):e}const Ws={...Ks,inline:!1},gd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},yd={display:"inline-block"},co={backgroundColor:"currentColor"},Us={backgroundColor:"transparent"},qs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Ys={WebkitMask:co,mask:co,background:Us};for(const e in Ys){const n=Ys[e];for(const i in qs)n[e+i]=qs[i]}const xd={...Ws,inline:!0};function Js(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Sd=(e,n,i)=>{const o=n.inline?xd:Ws,s=rd(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?gd:{}};if(i){const y=di(i,!1,!0);if(y){const g=["iconify"],x=["provider","prefix"];for(const f of x)y[f]&&g.push("iconify--"+y[f]);d.className=g.join(" ")}}for(let y in n){const g=n[y];if(g!==void 0)switch(y){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=g;break;case"className":d[y]=(d[y]?d[y]+" ":"")+g;break;case"inline":case"hFlip":case"vFlip":s[y]=g===!0||g==="true"||g===1;break;case"flip":typeof g=="string"&&ud(s,g);break;case"color":l.color=g;break;case"rotate":typeof g=="string"?s[y]=cd(g):typeof g=="number"&&(s[y]=g);break;case"ariaHidden":case"aria-hidden":g!==!0&&g!=="true"&&delete d["aria-hidden"];break;default:o[y]===void 0&&(d[y]=g)}}const u=Kr(e,s),c=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,c);let y=0,g=n.id;return typeof g=="string"&&(g=g.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:pd(Vr(u.body,g?()=>g+"ID"+y++:"iconifyReact"))},S.createElement("svg",d)}const{body:b,width:m,height:h}=e,v=t==="mask"||(t==="bg"?!1:b.indexOf("currentColor")!==-1),p=bd(b,{...c,width:m+"",height:h+""});return d.style={...l,"--svg":fd(p),width:Js(c.width),height:Js(c.height),...yd,...v?co:Us,...r},S.createElement("span",d)};if(Ds(!0),zr("",Yr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Pr(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;$r(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Zs(e){const[n,i]=S.useState(!!e.ssr),[o,s]=S.useState({});function t(h){if(h){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const p=_s(v);if(p)return{name:v,data:p}}return{name:""}}const[l,r]=S.useState(t(!!e.ssr));function d(){const h=o.callback;h&&(h(),s({}))}function u(h){if(JSON.stringify(l)!==JSON.stringify(h))return d(),r(h),!0}function c(){var h;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const p=_s(v);if(u({name:v,data:p}))if(p===void 0){const y=ld([v],c);s({callback:y})}else p&&((h=e.onLoad)===null||h===void 0||h.call(e,v))}S.useEffect(()=>(i(!0),d),[]),S.useEffect(()=>{n&&c()},[e.icon,n]);const{name:b,data:m}=l;return m?Sd({...no,...m},e,b):e.children?e.children:e.fallback?e.fallback:S.createElement("span",{})}const Xs=S.forwardRef((e,n)=>Zs({...e,_ref:n}));S.forwardRef((e,n)=>Zs({inline:!0,...e,_ref:n}));function le({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(Xs,{icon:e,className:n})})}function bo(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Ss.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Ss.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,c){if(u[c.path]||(u[c.path]={message:c.message,type:c.type}),d){var b=u[c.path].types,m=b&&b[c.type];u[c.path]=Ze.appendErrors(c.path,d,u,c.type,m?[].concat(m,c.message):c.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const wd=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=be("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,c=be("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),b=be({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:be(c,b),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})},de=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:c,prefix:b,disabled:m,watch:h,min:v,max:p,description:y,onChange:g,readOnly:x})=>{var N,A,w,C;const f=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(li,{onValueChange:k=>{d(n,k!=null?k:null),i&&i(n),c&&c(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:b,disabled:m,readOnly:x}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(N=o[n])==null?void 0:N.message})]});if(["checkbox","radio"].includes(t)){const k=h==null?void 0:h(n);let E=!1;return k!=null&&(t==="checkbox"?Array.isArray(k)?E=k.includes(u):typeof k=="boolean"?E=k:E=k==u:E=k==u),a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${y?"items-start":"items-center"}`,children:[a.jsx("input",{...f,type:t,value:u||"",disabled:m,readOnly:x,className:"peer sr-only"}),a.jsx("div",{className:`
1
+ (function(Ee,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(Ee=typeof globalThis!="undefined"?globalThis:Ee||self,a(Ee.FormBuilder={},Ee.jsxRuntime,Ee.React,Ee.uuid,Ee.sonner,Ee.ReactDOM,Ee.reactHookForm,Ee.resolvers,Ee.yup,Ee.CurrencyInput,Ee.react,Ee.axios,Ee.Papa,Ee.XLSX,Ee.DatePicker,Ee.reactRouterDom))})(this,function(Ee,a,w,Me,Ne,xr,Re,Cs,Sr,ui,be,qe,wr,Nr,Cr,Ar){"use strict";function As(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const oe=As(Sr),ks=As(Nr),De=w.createContext(void 0),Es={title:"",description:"",id:Me.v4(),questionData:[],disabled:!1,isHidden:!1},Ms=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=w.useState(!1),[l,r]=w.useState({}),[d,u]=w.useState({}),[c,b]=w.useState([Es]),[m,f]=w.useState(()=>{try{const G=sessionStorage.getItem("editor_past");return G?JSON.parse(G):[]}catch(G){return[]}}),[v,h]=w.useState(()=>{try{const G=sessionStorage.getItem("editor_future");return G?JSON.parse(G):[]}catch(G){return[]}});w.useEffect(()=>{n&&n(c)},[c,n]),w.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(G){console.warn("Could not save editor_past to sessionStorage",G)}},[m]),w.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(G){console.warn("Could not save editor_future to sessionStorage",G)}},[v]);const y=w.useRef(Date.now()),g=w.useCallback(G=>{b(Y=>{const $=typeof G=="function"?G(Y):G;if(JSON.stringify(Y)!==JSON.stringify($)){const W=Date.now();f(F=>{if(F.length>0&&JSON.stringify(F[F.length-1])===JSON.stringify(Y))return F;if(W-y.current<800&&F.length>0)return y.current=W,F;y.current=W;const X=[...F,Y];return X.length>20?X.slice(X.length-20):X}),h([])}return $})},[]),S=w.useCallback(()=>{if(m.length===0)return;const G=m[m.length-1],Y=m.slice(0,m.length-1);f(Y),h([c,...v]),b(G),i==null||i("UNDO",null)},[m,v,c,i]),p=w.useCallback(()=>{if(v.length===0)return;const G=v[0],Y=v.slice(1);h(Y),f([...m,c]),b(G),i==null||i("REDO",null)},[m,v,c,i]),x=c,A=m.length>0,N=v.length>0,[C,k]=w.useState(!1),[E,_]=w.useState(null),[M,L]=w.useState([0]),[H,T]=w.useState(""),[P,I]=w.useState(0),B=w.useCallback(()=>{},[]),O=w.useCallback(()=>{const G=Me.v4();g(Y=>[...Y,{...Es,id:G}]),_(G),L([x.length]),i==null||i("ADD_SECTION",{sectionId:G})},[x,i,g]),D=w.useCallback(G=>{g(o==="isDeleted"||o==="soft"?Y=>Y.map($=>{var W;return $.id===G?{...$,isDeleted:!0,questionData:(W=$==null?void 0:$.questionData)==null?void 0:W.map(F=>({...F,isDeleted:!0}))}:$}):Y=>Y.filter($=>$.id!==G)),_(null),i==null||i("REMOVE_SECTION",{sectionId:G})},[o,i,g]),j=w.useCallback((G,Y)=>{const $=x.find(F=>F.id===Y),W=$==null?void 0:$.questionData.find(F=>F.id===G);W&&(g(F=>F==null?void 0:F.map(X=>{var J;return X.id!==Y?X:o==="isDeleted"||o==="soft"?{...X,questionData:(J=X==null?void 0:X.questionData)==null?void 0:J.map(ne=>{if(W.type==="grid"){if(ne.gridId===W.id||ne.id===W.id)return{...ne,isDeleted:!0}}else if(ne.id===G)return{...ne,isDeleted:!0};return ne})}:{...X,questionData:X==null?void 0:X.questionData.filter(ne=>W.type==="grid"?ne.gridId!==W.id&&ne.id!==W.id:ne.id!==G)}})),i==null||i("REMOVE_ELEMENT",{sectionId:Y,elementId:G}))},[x,o,g,i]),q=w.useCallback((G,Y)=>{const $=x.find(J=>J.id===Y);if(!$)return;const W=$==null?void 0:$.questionData.findIndex(J=>J.id===G);if(W===-1)return;const F=$==null?void 0:$.questionData[W],X=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{var fe;if(ne.id!==Y)return ne;const me=[...ne.questionData];if(F.type==="grid"){const pe=(fe=me==null?void 0:me.map((Oe,He)=>({e:Oe,i:He})).filter(({e:Oe})=>Oe.id===F.id||Oe.gridId===F.id))==null?void 0:fe.map(({i:Oe})=>Oe),ye=pe.length?Math.max(...pe)+1:W+1,le=Me.v4(),xe=X(F,{});xe.id=le;const ge=me.filter(Oe=>Oe.gridId===F.id),ve=ge==null?void 0:ge.map(Oe=>X(Oe,{gridId:le})),_e=[...me.slice(0,ye),xe,...ve,...me.slice(ye)];return{...ne,questionData:_e}}else if(F.gridId){const pe={...F};delete pe.gridId,delete pe.gridPosition;const ye=X(pe,{}),le=me.reduce((ge,ve,_e)=>ve.id===F.gridId||ve.gridId===F.gridId?_e:ge,W),xe=[...me.slice(0,le+1),ye,...me.slice(le+1)];return{...ne,questionData:xe}}else{const pe=X(F,{}),ye=[...me.slice(0,W+1),pe,...me.slice(W+1)];return{...ne,questionData:ye}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:Y,elementId:G})},[x,g,i]),K=w.useCallback((G,Y)=>{const $=x.find(J=>J.id===Y);if(!$)return;const W=$==null?void 0:$.questionData.findIndex(J=>J.id===G);if(W===-1)return;const F=$==null?void 0:$.questionData[W];let X=null;if(F.type==="grid"){const J=$.questionData.filter(ne=>ne.gridId===F.id);X={type:"FORM_BUILDER_CLIPBOARD",element:F,children:J,timestamp:Date.now()}}else if(F.gridId){const J={...F};delete J.gridId,delete J.gridPosition,X={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else X={type:"FORM_BUILDER_CLIPBOARD",element:F,timestamp:Date.now()};if(X){const J=JSON.stringify(X);try{localStorage.setItem("form_builder_clipboard",J),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(J).catch(()=>{}),Ne.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:Y,elementId:G})}catch(ne){console.warn("Could not copy element to clipboard",ne),Ne.toast.error("Failed to copy element")}}},[x,i]),V=w.useCallback(async(G,Y,$)=>{let W="";if($&&$.includes("FORM_BUILDER_CLIPBOARD")&&(W=$),!W&&navigator.clipboard&&navigator.clipboard.readText)try{const F=await navigator.clipboard.readText();F&&F.includes("FORM_BUILDER_CLIPBOARD")&&(W=F)}catch(F){console.warn("Could not parse clipboard data",F)}if(W||(W=localStorage.getItem("form_builder_clipboard")||""),!W){Ne.toast.error("Nothing to paste. Copy an element first.");return}try{const F=JSON.parse(W);if((F==null?void 0:F.type)!=="FORM_BUILDER_CLIPBOARD"||!(F!=null&&F.element)){Ne.toast.error("Invalid clipboard data.");return}if(F.timestamp&&Date.now()-F.timestamp>6e4){Ne.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const X=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Me.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{if(ne.id!==G)return ne;const fe=[...[...ne.questionData]];if(F.element.type==="grid"){const pe=Me.v4(),ye=X(F.element,{id:pe,sectionId:G}),le=(F.children||[]).map(xe=>X(xe,{gridId:pe,sectionId:G}));Y!==void 0?fe.splice(Y,0,ye,...le):fe.push(ye,...le)}else{const pe=X(F.element,{sectionId:G});Y!==void 0?fe.splice(Y,0,pe):fe.push(pe)}return{...ne,questionData:fe}})),Ne.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:G})}catch(F){console.warn("Could not paste element from clipboard",F),Ne.toast.error("Failed to paste element")}},[g,i]),Z=w.useCallback(G=>{const Y=x.find(F=>F.id===G);if(!Y)return;const $={type:"FORM_BUILDER_SECTION_CLIPBOARD",section:{title:Y.title,description:Y.description,disabled:Y.disabled,isDisabled:Y.isDisabled,isHidden:Y.isHidden,questionData:Y.questionData||[]},timestamp:Date.now()},W=JSON.stringify($);try{localStorage.setItem("form_builder_section_clipboard",W),localStorage.setItem("form_builder_clipboard",W),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(W).catch(()=>{}),Ne.toast.success("Section copied to clipboard"),i==null||i("COPY_SECTION",{sectionId:G})}catch(F){console.warn("Could not copy section to clipboard",F),Ne.toast.error("Failed to copy section")}},[x,i]),te=w.useCallback(G=>{const Y=x.findIndex(fe=>fe.id===G);if(Y===-1)return;const $=x[Y],W=(fe,pe={})=>({...JSON.parse(JSON.stringify(fe)),...pe}),F=Me.v4(),X=$.questionData||[],J=new Map,ne=X.map(fe=>{const pe=Me.v4();return J.set(fe.id,pe),W(fe,{id:pe,sectionId:F})});ne.forEach(fe=>{fe.gridId&&J.has(fe.gridId)&&(fe.gridId=J.get(fe.gridId))});const me=W($,{id:F,title:$.title?`${$.title} (Copy)`:"Section (Copy)",questionData:ne});g(fe=>{const pe=[...fe];return pe.splice(Y+1,0,me),pe}),_(F),L(fe=>Array.from(new Set([...fe,Y+1]))),Ne.toast.success("Section duplicated"),i==null||i("DUPLICATE_SECTION",{sectionId:G,newSectionId:F})},[x,i,L,g,_]),se=w.useCallback(async(G,Y)=>{let $="";if(Y&&Y.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&($=Y),!$&&navigator.clipboard&&navigator.clipboard.readText)try{const W=await navigator.clipboard.readText();W&&W.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&($=W)}catch(W){console.warn("Could not read system clipboard",W)}if($||($=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard")||""),!$){Ne.toast.error("Nothing to paste. Copy a section first.");return}try{const W=JSON.parse($);if((W==null?void 0:W.type)!=="FORM_BUILDER_SECTION_CLIPBOARD"||!(W!=null&&W.section)){Ne.toast.error("Invalid section clipboard data.");return}const F=(ye,le={})=>({...JSON.parse(JSON.stringify(ye)),...le}),X=Me.v4(),J=W.section,ne=J.questionData||[],me=new Map,fe=ne.map(ye=>{const le=Me.v4();return me.set(ye.id,le),F(ye,{id:le,sectionId:X})});fe.forEach(ye=>{ye.gridId&&me.has(ye.gridId)&&(ye.gridId=me.get(ye.gridId))});const pe=F(J,{id:X,title:J.title?`${J.title} (Copy)`:"Section (Copy)",questionData:fe});g(ye=>{const le=[...ye];return G!==void 0&&G>=0&&G<=le.length?(le.splice(G,0,pe),le):[...le,pe]}),_(X),L(ye=>{const le=G!==void 0?G:x.length;return Array.from(new Set([...ye,le]))}),Ne.toast.success("Section pasted successfully"),i==null||i("PASTE_SECTION",{sectionId:X})}catch(W){console.error("Failed to paste section",W),Ne.toast.error("Failed to paste section.")}},[x.length,i,L,g,_]),ie=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,questionData:G}:W)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:Y})},[g,i]),U=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,questionData:[...(W==null?void 0:W.questionData)||[],G]}:W)),i==null||i("ADD_ELEMENT",{sectionId:Y,element:G})},[g,i]),ee=w.useCallback((G,Y,$)=>{g(W=>W==null?void 0:W.map(F=>F.id===Y?{...F,questionData:[...((F==null?void 0:F.questionData)||[]).slice(0,$),G,...((F==null?void 0:F.questionData)||[]).slice($)]}:F)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:Y,element:G,index:$})},[g,i]),de=w.useCallback((G,Y,$)=>{g(W=>W==null?void 0:W.map(F=>{var X;return F.id===$?{...F,questionData:(X=F==null?void 0:F.questionData)==null?void 0:X.map(J=>{var ne;return J.type==="grid"&&J.gridData?{...J,gridData:(ne=J.gridData)==null?void 0:ne.map((me,fe)=>fe===G?{...me,...Y}:me).concat(G>=J.gridData.length?{...Y}:[])}:J})}:F})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:$,gridIndex:G,element:Y})},[g,i]),z=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>{var F;return W.id===Y?{...W,questionData:(F=W==null?void 0:W.questionData)==null?void 0:F.map(X=>X.id===G.id?{...X,...G}:X)}:W})),i==null||i("UPDATE_ELEMENT",{sectionId:Y,value:G})},[g,i]),R=w.useCallback(G=>{const{draggedId:Y,sectionId:$,targetIndex:W,targetId:F,targetGridId:X,targetCol:J}=G;g(ne=>{var xe;let me=null,fe=[],pe=null,ye=-1;for(const ge of ne){const ve=(xe=ge.questionData)==null?void 0:xe.findIndex(_e=>_e.id===Y);if(ve!==-1){me=ge.questionData[ve],pe=ge.id,ye=ve,me.type==="grid"&&(fe=ge.questionData.filter(_e=>_e.gridId===me.id));break}}if(!me||X!==void 0&&me.type==="grid")return ne;const le={...me,sectionId:$};return ne.map(ge=>{var _e,Oe;let ve=[...ge.questionData||[]];if(ge.id!==pe&&ge.id!==$)return ge;if(pe===$&&ge.id===$){const He=ye;if(X!==void 0&&J!==void 0){const Ie=ve.findIndex(Te=>{var Be;return Te.id!==Y&&Te.gridId===X&&((Be=Te.gridPosition)==null?void 0:Be.col)===J});let Ce=ve.map(Te=>Te.id===Y?{...le,gridId:X,gridPosition:{col:J}}:Te);return Ie!==-1&&(Ce=Ce.map((Te,Be)=>{if(Be!==Ie)return Te;const cn={...Te};return delete cn.gridId,delete cn.gridPosition,cn})),{...ge,questionData:Ce}}if(le.gridId&&W!==void 0&&X===void 0){const Ie={...le};delete Ie.gridId,delete Ie.gridPosition;const Ce=((Oe=(_e=ne.find(Be=>Be.id===$))==null?void 0:_e.questionData)==null?void 0:Oe.filter(Be=>Be.gridId!==Y))||[],Te=Math.min(W,Ce.length);return Ce.splice(Te,0,Ie),{...ge,questionData:Ce}}if(!le.gridId&&W!==void 0&&X===void 0&&!F){ve.splice(He,1);const Ie=Math.min(W,ve.length);return ve.splice(Ie,0,le),{...ge,questionData:ve}}if(F){const Ie=ve.findIndex(Ce=>Ce.id===F);return Ie===-1?ge:(ve.splice(He,1),ve.splice(Ie,0,le),{...ge,questionData:ve})}return ge}if(ge.id===pe&&ge.id!==$)return ve.splice(ye,1),fe.length>0&&(ve=ve.filter(He=>He.gridId!==me.id)),{...ge,questionData:ve};if(ge.id===$&&ge.id!==pe){const He=fe.map(Ce=>({...Ce,sectionId:$}));if(X!==void 0&&J!==void 0){const Ce=ve.findIndex(Be=>{var cn;return Be.gridId===X&&((cn=Be.gridPosition)==null?void 0:cn.col)===J}),Te={...le,gridId:X,gridPosition:{col:J}};if(Ce!==-1){const Be={...ve[Ce]};delete Be.gridId,delete Be.gridPosition,ve[Ce]=Be,ve.push(Te,...He)}else ve.push(Te,...He);return{...ge,questionData:ve}}if(W!==void 0&&X===void 0&&!F){const Ce={...le};delete Ce.gridId,delete Ce.gridPosition;const Te=Math.min(W,ve.length);return ve.splice(Te,0,Ce,...He),{...ge,questionData:ve}}if(F){const Ce={...le};delete Ce.gridId,delete Ce.gridPosition;const Te=ve.findIndex(Be=>Be.id===F);return Te!==-1?ve.splice(Te,0,Ce,...He):ve.push(Ce,...He),{...ge,questionData:ve}}const Ie={...le};return delete Ie.gridId,delete Ie.gridPosition,ve.push(Ie,...He),{...ge,questionData:ve}}return ge})}),i==null||i("MOVE_ELEMENT",G)},[g,i]),ae=w.useCallback((G,Y)=>{g($=>$==null?void 0:$.map(W=>W.id===Y?{...W,...G}:W)),i==null||i("UPDATE_SECTION",{sectionId:Y,value:G})},[g,i]),Q=w.useMemo(()=>({deleteMode:o,formData:x,setFormData:g,handleDragStop:B,removeElement:j,elementData:d,setElementData:u,updateElementPosition:ie,addElement:U,addElementInPosition:ee,updateElement:z,addSection:O,removeSection:D,updateSection:ae,isDragging:C,setIsDragging:k,selectedSection:E,setSelectedSection:_,activeSections:M,setActiveSections:L,updateGridElement:de,answerData:l,setAnswerData:r,uploadUrl:H,setUploadUrl:T,apiActivityCount:P,setApiActivityCount:I,duplicateElement:q,moveElement:R,showPreview:s,setShowPreview:t,undo:S,redo:p,canUndo:A,canRedo:N,copyElement:K,pasteElement:V,copySection:Z,pasteSection:se,duplicateSection:te}),[o,x,B,j,d,ie,U,ee,z,O,D,ae,C,E,M,de,l,H,P,q,R,s,S,p,A,N,K,V,Z,se,te]);return a.jsx(De.Provider,{value:Q,children:e})};function Ts(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=Ts(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function he(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ts(e))&&(o&&(o+=" "),o+=n);return o}function kr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Ps=Object.freeze({left:0,top:0,width:16,height:16}),ci=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),so=Object.freeze({...Ps,...ci}),ao=Object.freeze({...so,body:"",hidden:!1});function Er(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ls(e,n){const i=Er(e,n);for(const o in ao)o in ci?o in e&&!(o in i)&&(i[o]=ci[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Mr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ls(o[r]||s[r],t)}return l(n),i.forEach(l),Ls(e,t)}function Bs(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=kr(e);for(const s in o){const t=o[s];t&&(n(s,Mr(e,s,t)),i.push(s))}return i}const Tr={provider:"",aliases:{},not_found:{},...Ps};function to(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Is(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!to(e,Tr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!to(t,ao))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!to(t,ao))return null}return n}const Ds=Object.create(null);function Pr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function Sn(e,n){const i=Ds[e]||(Ds[e]=Object.create(null));return i[n]||(i[n]=Pr(e,n))}function _s(e,n){return Is(n)?Bs(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Lr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Os=/^[a-z0-9]+(-[a-z0-9]+)*$/,bi=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!mi(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!mi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!mi(r,i)?null:r}return null},mi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Fn=!1;function Hs(e){return typeof e=="boolean"&&(Fn=e),Fn}function Fs(e){const n=typeof e=="string"?bi(e,!0,Fn):e;if(n){const i=Sn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Br(e,n){const i=bi(e,!0,Fn);if(!i)return!1;const o=Sn(i.provider,i.prefix);return n?Lr(o,i.name,n):(o.missing.add(i.name),!0)}function Ir(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Fn&&!n&&!e.prefix){let s=!1;return Is(e)&&(e.prefix="",Bs(e,(t,l)=>{Br(t,l)&&(s=!0)})),s}const i=e.prefix;if(!mi({prefix:i,name:"a"}))return!1;const o=Sn(n,i);return!!_s(o,e)}const Ks=Object.freeze({width:null,height:null}),Gs=Object.freeze({...Ks,...ci}),Dr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,_r=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Vs(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(Dr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=_r.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Or(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Hr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Fr(e,n,i){const o=Or(e);return Hr(o.defs,n+o.content+i)}const Kr=e=>e==="unset"||e==="undefined"||e==="none";function Gr(e,n){const i={...so,...e},o={...Gs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(h=>{const y=[],g=h.hFlip,S=h.vFlip;let p=h.rotate;g?S?p+=2:(y.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),y.push("scale(-1 1)"),s.top=s.left=0):S&&(y.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),y.push("scale(1 -1)"),s.top=s.left=0);let x;switch(p<0&&(p-=Math.floor(p/4)*4),p=p%4,p){case 1:x=s.height/2+s.top,y.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:y.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:x=s.width/2+s.left,y.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}p%2===1&&(s.left!==s.top&&(x=s.left,s.left=s.top,s.top=x),s.width!==s.height&&(x=s.width,s.width=s.height,s.height=x)),y.length&&(t=Fr(t,'<g transform="'+y.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let c,b;l===null?(b=r===null?"1em":r==="auto"?u:r,c=Vs(b,d/u)):(c=l==="auto"?d:l,b=r===null?Vs(c,u/d):r==="auto"?u:r);const m={},f=(h,y)=>{Kr(y)||(m[h]=y.toString())};f("width",c),f("height",b);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Vr=/\sid="(\S+)"/g,zr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let $r=0;function jr(e,n=zr){const i=[];let o;for(;o=Vr.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+($r++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const lo=Object.create(null);function Wr(e,n){lo[e]=n}function ro(e){return lo[e]||lo[""]}function uo(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const co=Object.create(null),Kn=["https://api.simplesvg.com","https://api.unisvg.com"],vi=[];for(;Kn.length>0;)Kn.length===1||Math.random()>.5?vi.push(Kn.shift()):vi.push(Kn.pop());co[""]=uo({resources:["https://api.iconify.design"].concat(vi)});function Ur(e,n){const i=uo(n);return i===null?!1:(co[e]=i,!0)}function bo(e){return co[e]}let zs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function qr(e,n){const i=bo(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Yr(e){return e===404}const Jr=(e,n,i)=>{const o=[],s=qr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Zr(e){if(typeof e=="string"){const n=bo(e);if(n)return n.path}return"/"}const Xr={prepare:Jr,send:(e,n,i)=>{if(!zs){i("abort",424);return}let o=Zr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;zs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Yr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function $s(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Qr(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||$s([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Rr=0;function ed(e,n,i){const o=Rr++,s=$s.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function nd(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=Sn(t,l));let c;r in u.icons?c=n.loaded:l===""||u.missing.has(r)?c=n.missing:c=n.pending;const b={provider:t,prefix:l,name:r};c.push(b)}),n}function id(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?bi(s,n,i):s;t&&o.push(t)}),o}const od={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sd(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let N=e.resources.slice(0);for(l=[];N.length>1;){const C=Math.floor(Math.random()*N.length);l.push(N[C]),N=N.slice(0,C).concat(N.slice(C+1))}l=l.concat(N)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,c,b=null,m=[],f=[];typeof o=="function"&&f.push(o);function v(){b&&(clearTimeout(b),b=null)}function h(){d==="pending"&&(d="aborted"),v(),m.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),m=[]}function y(N,C){C&&(f=[]),typeof N=="function"&&f.push(N)}function g(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:y,abort:h}}function S(){d="failed",f.forEach(N=>{N(void 0,c)})}function p(){m.forEach(N=>{N.status==="pending"&&(N.status="aborted")}),m=[]}function x(N,C,k){const E=C!=="success";switch(m=m.filter(_=>_!==N),d){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){c=k,S();return}if(E){c=k,m.length||(l.length?A():S());return}if(v(),p(),!e.random){const _=e.resources.indexOf(N.resource);_!==-1&&_!==e.index&&(e.index=_)}d="completed",f.forEach(_=>{_(k)})}function A(){if(d!=="pending")return;v();const N=l.shift();if(N===void 0){if(m.length){b=setTimeout(()=>{v(),d==="pending"&&(p(),S())},e.timeout);return}S();return}const C={status:"pending",resource:N,callback:(k,E)=>{x(C,k,E)}};m.push(C),u++,b=setTimeout(A,e.rotate),i(N,n,C.callback)}return setTimeout(A),g}function js(e){const n={...od,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const c=sd(n,r,d,(b,m)=>{o(),u&&u(b,m)});return i.push(c),c}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function Ws(){}const mo=Object.create(null);function ad(e){if(!mo[e]){const n=bo(e);if(!n)return;const i=js(n),o={config:n,redundancy:i};mo[e]=o}return mo[e]}function td(e,n,i){let o,s;if(typeof e=="string"){const t=ro(e);if(!t)return i(void 0,424),Ws;s=t.send;const l=ad(e);l&&(o=l.redundancy)}else{const t=uo(e);if(t){o=js(t);const l=e.resources?e.resources[0]:"",r=ro(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Ws):o.query(n,s,i)().abort}function Us(){}function ld(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Qr(e)}))}function rd(e){const n=[],i=[];return e.forEach(o=>{(o.match(Os)?n:i).push(o)}),{valid:n,invalid:i}}function Gn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!_s(e,i).length){o();return}}catch(s){console.error(s)}o(),ld(e)}function qs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function dd(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){qs(e.loadIcons(s,o,i),c=>{Gn(e,s,c)});return}if(t){s.forEach(c=>{const b=t(c,o,i);qs(b,m=>{const f=m?{prefix:o,icons:{[c]:m}}:null;Gn(e,[c],f)})});return}const{valid:l,invalid:r}=rd(s);if(r.length&&Gn(e,r,null),!l.length)return;const d=o.match(Os)?ro(i):null;if(!d){Gn(e,l,null);return}d.prepare(i,o,l).forEach(c=>{td(i,c,b=>{Gn(e,c.icons,b)})})}))}const ud=(e,n)=>{const i=id(e,!0,Hs()),o=nd(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Us)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:c}=d;if(c===r&&u===l)return;l=u,r=c,t.push(Sn(u,c));const b=s[u]||(s[u]=Object.create(null));b[c]||(b[c]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:c,name:b}=d,m=Sn(u,c),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(b)||(f.add(b),s[u][c].push(b))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&dd(d,u)}),n?ed(n,o,t):Us};function cd(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in Ks?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const bd=/[\s,]+/;function md(e,n){n.split(bd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function vd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function fd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function hd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function pd(e){return"data:image/svg+xml,"+hd(e)}function gd(e){return'url("'+pd(e)+'")'}let Vn;function yd(){try{Vn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Vn=null}}function xd(e){return Vn===void 0&&yd(),Vn?Vn.createHTML(e):e}const Ys={...Gs,inline:!1},Sd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},wd={display:"inline-block"},vo={backgroundColor:"currentColor"},Js={backgroundColor:"transparent"},Zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Xs={WebkitMask:vo,mask:vo,background:Js};for(const e in Xs){const n=Xs[e];for(const i in Zs)n[e+i]=Zs[i]}const Nd={...Ys,inline:!0};function Qs(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Cd=(e,n,i)=>{const o=n.inline?Nd:Ys,s=cd(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?Sd:{}};if(i){const y=bi(i,!1,!0);if(y){const g=["iconify"],S=["provider","prefix"];for(const p of S)y[p]&&g.push("iconify--"+y[p]);d.className=g.join(" ")}}for(let y in n){const g=n[y];if(g!==void 0)switch(y){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=g;break;case"className":d[y]=(d[y]?d[y]+" ":"")+g;break;case"inline":case"hFlip":case"vFlip":s[y]=g===!0||g==="true"||g===1;break;case"flip":typeof g=="string"&&md(s,g);break;case"color":l.color=g;break;case"rotate":typeof g=="string"?s[y]=vd(g):typeof g=="number"&&(s[y]=g);break;case"ariaHidden":case"aria-hidden":g!==!0&&g!=="true"&&delete d["aria-hidden"];break;default:o[y]===void 0&&(d[y]=g)}}const u=Gr(e,s),c=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,c);let y=0,g=n.id;return typeof g=="string"&&(g=g.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:xd(jr(u.body,g?()=>g+"ID"+y++:"iconifyReact"))},w.createElement("svg",d)}const{body:b,width:m,height:f}=e,v=t==="mask"||(t==="bg"?!1:b.indexOf("currentColor")!==-1),h=fd(b,{...c,width:m+"",height:f+""});return d.style={...l,"--svg":gd(h),width:Qs(c.width),height:Qs(c.height),...wd,...v?vo:Js,...r},w.createElement("span",d)};if(Hs(!0),Wr("",Xr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ir(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;Ur(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Rs(e){const[n,i]=w.useState(!!e.ssr),[o,s]=w.useState({});function t(f){if(f){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const h=Fs(v);if(h)return{name:v,data:h}}return{name:""}}const[l,r]=w.useState(t(!!e.ssr));function d(){const f=o.callback;f&&(f(),s({}))}function u(f){if(JSON.stringify(l)!==JSON.stringify(f))return d(),r(f),!0}function c(){var f;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const h=Fs(v);if(u({name:v,data:h}))if(h===void 0){const y=ud([v],c);s({callback:y})}else h&&((f=e.onLoad)===null||f===void 0||f.call(e,v))}w.useEffect(()=>(i(!0),d),[]),w.useEffect(()=>{n&&c()},[e.icon,n]);const{name:b,data:m}=l;return m?Cd({...so,...m},e,b):e.children?e.children:e.fallback?e.fallback:w.createElement("span",{})}const ea=w.forwardRef((e,n)=>Rs({...e,_ref:n}));w.forwardRef((e,n)=>Rs({inline:!0,...e,_ref:n}));function re({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(ea,{icon:e,className:n})})}function fo(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Cs.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Cs.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,c){if(u[c.path]||(u[c.path]={message:c.message,type:c.type}),d){var b=u[c.path].types,m=b&&b[c.type];u[c.path]=Re.appendErrors(c.path,d,u,c.type,m?[].concat(m,c.message):c.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ad=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=he("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,c=he("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),b=he({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:he(c,b),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})},ce=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:c,prefix:b,disabled:m,watch:f,min:v,max:h,description:y,onChange:g,readOnly:S})=>{var x,A,N,C;const p=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(ui,{onValueChange:k=>{d(n,k!=null?k:null),i&&i(n),c&&c(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:b,disabled:m,readOnly:S}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(x=o[n])==null?void 0:x.message})]});if(["checkbox","radio"].includes(t)){const k=f==null?void 0:f(n);let E=!1;return k!=null&&(t==="checkbox"?Array.isArray(k)?E=k.includes(u):typeof k=="boolean"?E=k:E=k==u:E=k==u),a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${y?"items-start":"items-center"}`,children:[a.jsx("input",{...p,type:t,value:u||"",disabled:m,readOnly:S,className:"peer sr-only"}),a.jsx("div",{className:`
2
2
  w-[18px] h-[18px] flex items-center justify-center
3
3
  border rounded-md transition-all duration-200
4
4
  ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}
@@ -6,24 +6,24 @@
6
6
  peer-checked:border-[#7F56D9]
7
7
  peer-disabled:opacity-60
8
8
  peer-disabled:cursor-not-allowed
9
- `,children:E&&a.jsx(le,{icon:"bi:check-lg",iconClass:"w-4 h-4 text-white"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),y&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:y})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(A=o[n])==null?void 0:A.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...f,onChange:k=>{var E;(E=f.onChange)==null||E.call(f,k),g==null||g(k)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:x,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(w=o[n])==null?void 0:w.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...f,onChange:k=>{var E;(E=f.onChange)==null||E.call(f,k),g==null||g(k)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:x,min:v,max:p,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},bi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),Nd={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},We=(e,n=e)=>({label:e,value:n,id:Le.v4()}),he=e=>({...Nd,...e}),Cd=bi==null?void 0:bi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Ad=[he({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),he({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),he({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),he({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[We("Placeholder 1","placeholder_1")]}),he({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[We("Placeholder 1","placeholder_1")]}),he({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),he({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),he({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),he({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),he({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),he({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),he({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),he({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[We("Checkbox Option","option")]}),he({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),he({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[We("Radio Option","")]}),he({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),he({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),he({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Cd,showState:!1}),he({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),he({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Le.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),he({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),he({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),he({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),he({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),he({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),he({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[We("Option 1","option_1"),We("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),he({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),he({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[We("Option 1","option_1"),We("Option 2","option_2")]}),he({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[We("Image 1","image_1"),We("Image 2","image_2")]})],kd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Ed=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice","date","time","file"],layoutAndInfo:["basicText","divider"]}),Md=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Td=["amount"],Pd=["text","number"],Ld=["text","number","amount","date","time","password"],Bd=["amount"],mi=["grid","section","divider","spacer","basicText"],Id=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Dd=["dataLookup"],_d=["tableInput"],mo=["basicText"],Od=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Kd=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],nn=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:c,subText:b,labelClass:m="text-[10px]",loading:h,disabled:v})=>{const[p,y]=S.useState(u?[]:null),g=S.useRef(!1),x=S.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(C=>{var k;return typeof w.value=="object"?((k=w.value)==null?void 0:k.id)===(C==null?void 0:C.id):w.value===C})):[]:e.find(w=>{var C;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((C=w.value)==null?void 0:C.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]),f=S.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(x==null?void 0:x.length)<r.length:x===null,[r,e,x,u]);S.useEffect(()=>{if(g.current){g.current=!1;return}if(u&&Array.isArray(x)&&Array.isArray(p)){const w=p==null?void 0:p.map(k=>k.value),C=x==null?void 0:x.map(k=>k.value);JSON.stringify(w)!==JSON.stringify(C)&&y(x)}else(x==null?void 0:x.value)!==(p==null?void 0:p.value)&&y(x)},[x,u]);const N=S.useCallback(w=>{var C;if(g.current=!0,y(w),s){const k=u?Array.isArray(w)?w==null?void 0:w.map(E=>E.value):[]:(C=w==null?void 0:w.value)!=null?C:null;s(t,k),d==null||d(t)}o&&!g.current&&o(t)},[s,t,d,o,u]),A=S.useMemo(()=>h?"Fetching data...":p?u&&Array.isArray(p)?p.length>0?p==null?void 0:p.map(w=>w.label).join(", "):n:(p==null?void 0:p.label)||n:n,[p,h,n,u]);return a.jsxs("div",{className:"relative",children:[!c&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),c&&l&&a.jsx("label",{className:be("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(re.Listbox,{value:p,onChange:N,multiple:u,disabled:v||h,children:a.jsxs("div",{className:"relative",children:[a.jsxs(re.Listbox.Button,{className:"field-control",disabled:v||h,children:[a.jsx("span",{className:be("block text-sm text-left truncate",{"opacity-60":!p||h}),children:A}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(le,{icon:"lucide:chevron-down"})})]}),a.jsx(re.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(re.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,C)=>{var k;return a.jsx(re.Listbox.Option,{value:w,className:({active:E})=>be("select-option",{active:E}),children:({selected:E})=>a.jsx("div",{className:be("option-text",{selected:E}),children:w.label})},`${((k=w.value)==null?void 0:k.id)||w.value}-${C}`)})})})]})}),!i&&b&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:b}),f&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Hd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=S.useState((e==null?void 0:e.length)>0?e:[{value:""}]);S.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const c=[...o];c[u]={...c[u],value:d},s(c),n&&n(c)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((c,b)=>b!==d);s(u),n&&n(u)}return S.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(li,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:c=>t(c,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const Fd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),Ce=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},Qs=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},Gd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
9
+ `,children:E&&a.jsx(re,{icon:"bi:check-lg",iconClass:"w-4 h-4 text-white"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),y&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:y})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(A=o[n])==null?void 0:A.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...p,onChange:k=>{var E;(E=p.onChange)==null||E.call(p,k),g==null||g(k)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:S,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(N=o[n])==null?void 0:N.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...p,onChange:k=>{var E;(E=p.onChange)==null||E.call(p,k),g==null||g(k)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:S,min:v,max:h,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},fi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),kd={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},Ye=(e,n=e)=>({label:e,value:n,id:Me.v4()}),we=e=>({...kd,...e}),Ed=fi==null?void 0:fi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Md=[we({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),we({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),we({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),we({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Ye("Placeholder 1","placeholder_1")]}),we({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[Ye("Placeholder 1","placeholder_1")]}),we({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),we({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),we({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),we({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),we({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),we({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),we({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),we({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[Ye("Checkbox Option","option")]}),we({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),we({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Ye("Radio Option","")]}),we({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),we({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),we({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Ed,showState:!1}),we({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),we({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Me.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),we({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),we({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),we({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),we({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),we({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),we({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),we({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),we({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")]}),we({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[Ye("Image 1","image_1"),Ye("Image 2","image_2")]})],Td=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Pd=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice"],layoutAndInfo:["basicText","divider"]}),Ld=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Bd=["amount"],Id=["text","number"],Dd=["text","number","amount","date","time","password"],_d=["amount"],hi=["grid","section","divider","spacer","basicText"],Od=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Hd=["dataLookup"],Fd=["tableInput"],ho=["basicText"],Kd=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Gd=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],an=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:c,subText:b,labelClass:m="text-[10px]",loading:f,disabled:v})=>{const[h,y]=w.useState(u?[]:null),g=w.useRef(!1),S=w.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(N=>r.some(C=>{var k;return typeof N.value=="object"?((k=N.value)==null?void 0:k.id)===(C==null?void 0:C.id):N.value===C})):[]:e.find(N=>{var C;return typeof N.value=="string"&&typeof r=="string"?N.value.toLowerCase()===r.toLowerCase():typeof N.value=="object"&&typeof r=="object"?((C=N.value)==null?void 0:C.id)===(r==null?void 0:r.id):N.value===r})||null,[r,e,u]),p=w.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(S==null?void 0:S.length)<r.length:S===null,[r,e,S,u]);w.useEffect(()=>{if(g.current){g.current=!1;return}if(u&&Array.isArray(S)&&Array.isArray(h)){const N=h==null?void 0:h.map(k=>k.value),C=S==null?void 0:S.map(k=>k.value);JSON.stringify(N)!==JSON.stringify(C)&&y(S)}else(S==null?void 0:S.value)!==(h==null?void 0:h.value)&&y(S)},[S,u]);const x=w.useCallback(N=>{var C;if(g.current=!0,y(N),s){const k=u?Array.isArray(N)?N==null?void 0:N.map(E=>E.value):[]:(C=N==null?void 0:N.value)!=null?C:null;s(t,k),d==null||d(t)}o&&!g.current&&o(t)},[s,t,d,o,u]),A=w.useMemo(()=>f?"Fetching data...":h?u&&Array.isArray(h)?h.length>0?h==null?void 0:h.map(N=>N.label).join(", "):n:(h==null?void 0:h.label)||n:n,[h,f,n,u]);return a.jsxs("div",{className:"relative",children:[!c&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),c&&l&&a.jsx("label",{className:he("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(be.Listbox,{value:h,onChange:x,multiple:u,disabled:v||f,children:a.jsxs("div",{className:"relative",children:[a.jsxs(be.Listbox.Button,{className:"field-control",disabled:v||f,children:[a.jsx("span",{className:he("block text-sm text-left truncate",{"opacity-60":!h||f}),children:A}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(re,{icon:"lucide:chevron-down"})})]}),a.jsx(be.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((N,C)=>{var k;return a.jsx(be.Listbox.Option,{value:N,className:({active:E})=>he("select-option",{active:E}),children:({selected:E})=>a.jsx("div",{className:he("option-text",{selected:E}),children:N.label})},`${((k=N.value)==null?void 0:k.id)||N.value}-${C}`)})})})]})}),!i&&b&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:b}),p&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Vd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=w.useState((e==null?void 0:e.length)>0?e:[{value:""}]);w.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const c=[...o];c[u]={...c[u],value:d},s(c),n&&n(c)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((c,b)=>b!==d);s(u),n&&n(u)}return w.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:c=>t(c,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const zd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),Pe=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},na=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},$d=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
10
10
  "data": [
11
11
  { "label": "Option 1", "value": "1" },
12
12
  { "label": "Option 2", "value": "2" }
13
13
  ]
14
- }`})})]})]})}),Rs=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),vo=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:Rs((i=n.label)!=null?i:"")}}),fo=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:Rs((i=n.headerName)!=null?i:"")}}),ea=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=S.useState(""),l=Ce("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const c=new FileReader;u.name.endsWith(".csv")?(c.onload=b=>{const m=b.target.result,h=yr.parse(m,{header:!0});e(n,(o==="dataGrid"?fo:vo)(h.data))},c.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(c.onload=b=>{const m=new Uint8Array(b.target.result),h=Ns.read(m,{type:"array"}),v=h.SheetNames[0],p=h.Sheets[v],y=Ns.utils.sheet_to_json(p);e(n,(o==="dataGrid"?fo:vo)(y))},c.readAsArrayBuffer(u)):Ee.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},Vd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
14
+ }`})})]})]})}),ia=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),po=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:ia((i=n.label)!=null?i:"")}}),go=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:ia((i=n.headerName)!=null?i:"")}}),oa=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=w.useState(""),l=Pe("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const c=new FileReader;u.name.endsWith(".csv")?(c.onload=b=>{const m=b.target.result,f=wr.parse(m,{header:!0});e(n,(o==="dataGrid"?go:po)(f.data))},c.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(c.onload=b=>{const m=new Uint8Array(b.target.result),f=ks.read(m,{type:"array"}),v=f.SheetNames[0],h=f.Sheets[v],y=ks.utils.sheet_to_json(h);e(n,(o==="dataGrid"?go:po)(y))},c.readAsArrayBuffer(u)):Ne.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},jd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
15
15
  "data": [
16
16
  { "field": "Name", "headerName": "name", editable:true },
17
17
  ]
18
- }`})})]})]})}),zd=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
18
+ }`})})]})]})}),Wd=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
19
19
  "data": [
20
20
  { "name": "Document Name", "id": "documentMainId", ...restObject },
21
21
  ]
22
- }`})})]})})}),$d=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function jd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ho=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const p=new Date(v);return isNaN(p.getTime())?null:p},c=u(e),[b,m]=S.useState(c);S.useEffect(()=>{const v=u(e);(v&&b&&v.getTime()!==b.getTime()||!v&&b||v&&!b)&&m(v)},[e]),S.useEffect(()=>{n&&n(s,b)},[b,n,s]);const h=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(Sr,{showIcon:!0,icon:a.jsx(jd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:b,onChange:h,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function na(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isDeleted)))!=null?o:[]}function po({element:e,validationData:n,placeholder:i}){var w;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,c]=S.useState(""),[b,m]=S.useState([]),[h,v]=S.useState(!1),p=d?e.apiUrl:void 0;S.useEffect(()=>{if(!p)return;const C=new AbortController,k=setTimeout(()=>{(async()=>{var _,T;v(!0);try{const P=Ce("token"),K={...P?{headers:{Authorization:`Bearer ${P}`}}:{},signal:C.signal,params:u?{search:u}:{}};let L=(await je.get(p,K)).data;if(L&&!Array.isArray(L)&&(L.data&&Array.isArray(L.data)?L=L.data:(_=L.data)!=null&&_.data&&Array.isArray(L.data.data)?L=L.data.data:L.results&&Array.isArray(L.results)?L=L.results:(T=L.data)!=null&&T.results&&Array.isArray(L.data.results)?L=L.data.results:L.items&&Array.isArray(L.items)&&(L=L.items)),Array.isArray(L)){const I=L.map(D=>typeof D=="string"?{label:D,value:D}:{label:D.label||D.name||String(D.id||D.value),value:String(D.value||D.id||D.name)});m(I)}}catch(P){je.isCancel(P)||console.error("Failed to fetch options",P)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(k),C.abort()}},[p,u]);const y=p?b:(w=e==null?void 0:e.options)!=null?w:[],g=C=>C.map(k=>typeof k=="object"&&k!==null&&"value"in k?k:y.find(_=>String(_.value)===String(k))||{label:String(k),value:k}),[x,f]=S.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?g(C):[]});S.useEffect(()=>{o(e.id)},[e.id,o]),S.useEffect(()=>{if(!l)return;const C=l(k=>{const E=k[e.id];E!==void 0&&f(Array.isArray(E)?g(E):[])});return()=>{var k;return(k=C.unsubscribe)==null?void 0:k.call(C)}},[l,e.id,y]);const N=S.useMemo(()=>{if(u==="")return y;const C=u.toLowerCase();return y.filter(k=>k.label.toLowerCase().includes(C))},[u,y]),A=(C,k)=>{k.stopPropagation();const E=x.filter(_=>_.value!==C.value);f(E),s==null||s(e.id,E.map(_=>_.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(re.Combobox,{value:x||[],onChange:C=>{f(C),s==null||s(e.id,C.map(k=>k.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(re.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[x.map((C,k)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:E=>A(C,E),className:"custom-select__chip-remove",children:a.jsx(le,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},k)),!t&&a.jsx(re.Combobox.Input,{className:"multiselect-search",onChange:C=>c(C.target.value),onFocus:()=>c(""),displayValue:()=>"",placeholder:x.length===0?i!=null?i:"Select options...":"Search..."}),t&&x.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(re.Combobox.Button,{className:"select-icon",children:h?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(le,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(re.Transition,{as:S.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>c(""),children:a.jsx(re.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:h&&b.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):N.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):N.map((C,k)=>a.jsx(re.Combobox.Option,{value:C,className:({active:E})=>`select-option ${E?"active":""}`,children:({selected:E})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${E?"selected":""}`,children:C.label}),E?a.jsx("span",{className:"text-blue-600",children:a.jsx(le,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},k))})})]})})})}const go=["text","number","boolean"],ia=["equals","not_equals","contains","not_contains"],Wd=["greater","less"];function Ud({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=S.useContext(Ie),l=o("visibilityDependentFields")||[],r=S.useMemo(()=>{var u;return(u=na(t).filter(c=>c.id!==s))==null?void 0:u.map(c=>{const b=l.find(m=>m.id===c.id);return{id:c.id,value:c.id,label:c.inputLabel,sectionId:c.sectionId,fieldType:(b==null?void 0:b.fieldType)||"text",operator:(b==null?void 0:b.operator)||"equals",fieldValue:(b==null?void 0:b.fieldValue)!==void 0?b.fieldValue:""}})},[t,l,s]),d=(u,c,b)=>{const m=l==null?void 0:l.map((h,v)=>v===u?{...h,[c]:b}:h);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(po,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,c)=>{var v,p,y,g;const b=na(t).find(x=>x.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(b==null?void 0:b.type),h=(b==null?void 0:b.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(re.Listbox,{value:u.fieldType,onChange:x=>d(c,"fieldType",x),children:[a.jsxs(re.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(le,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(re.Transition,{as:S.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(re.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:go==null?void 0:go.map(x=>a.jsx(re.Listbox.Option,{value:x,className:({active:f})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${f?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:x},x))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(re.Listbox,{value:u.operator,onChange:x=>d(c,"operator",x),children:[a.jsxs(re.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(le,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(re.Transition,{as:S.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(re.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...ia,...Wd]:ia)==null?void 0:v.map(x=>a.jsx(re.Listbox.Option,{value:x,className:({active:f})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${f?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:x.replace("_"," ")},x))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&h.length>0?a.jsx("div",{className:"relative",children:a.jsxs(re.Listbox,{value:(p=u.fieldValue)!=null?p:"",onChange:x=>d(c,"fieldValue",x),children:[a.jsxs(re.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((y=h.find(x=>x.value===u.fieldValue))==null?void 0:y.label)||"Select value"}),a.jsx(le,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(re.Transition,{as:S.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(re.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:h.map((x,f)=>a.jsx(re.Listbox.Option,{value:x.value,className:({active:N})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${N?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:x.label},f))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:x=>d(c,"fieldValue",x.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(re.Listbox,{value:(g=u.fieldValue)!=null?g:"",onChange:x=>d(c,"fieldValue",x),children:[a.jsxs(re.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(le,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(re.Transition,{as:S.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(re.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(re.Listbox.Option,{value:!0,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(re.Listbox.Option,{value:!1,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function oa(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function qd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function Yd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=S.useState(()=>oa(e)),[l,r]=S.useState(null),[d,u]=S.useState(!1),[c,b]=S.useState(""),[m,h]=S.useState(null),v=S.useRef(null),p=S.useRef(null),y=S.useRef(new Map);S.useEffect(()=>{const E=oa(e);t(E)},[]);const g=S.useCallback(E=>{n(qd(E))},[n]),x=(E,_)=>{const T=[...s];T[E]={type:"operator",value:_},t(T),g(T)},f=E=>{const _=s.filter((T,P)=>P!==E);t(_),g(_)},N=E=>{h(E),b(""),u(!0)},A=(E,_)=>{const T=_!==void 0?_:m!=null?m:s.length,P=[...s],K=P.slice(0,T),M=P.slice(T),L=[...K,{type:"field",id:E.id,display:E.display},...M],I=w(L);t(I),g(I),u(!1),h(null)};function w(E){const _=[];if(E.length===0)return[{type:"operator",value:""}];E[0].type==="field"&&_.push({type:"operator",value:""});for(let T=0;T<E.length;T++)_.push(E[T]),E[T].type==="field"&&(T+1>=E.length||E[T+1].type==="field")&&_.push({type:"operator",value:""});return _}const C=i.filter(E=>E.display.toLowerCase().includes(c.toLowerCase())),k=s.every(E=>E.type==="operator"&&E.value.trim()==="");return a.jsxs("div",{className:"relative",ref:p,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var _;const E=[...s].reverse().findIndex(T=>T.type==="operator");if(E!==-1){const T=s.length-1-E;(_=y.current.get(T))==null||_.focus()}},children:[k&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((E,_)=>E.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[E.display,a.jsx("button",{type:"button",onMouseDown:T=>{T.preventDefault(),f(_)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${E.display}`,children:"×"})]},_):a.jsx("input",{ref:T=>{T?y.current.set(_,T):y.current.delete(_)},type:"text",value:E.value,onChange:T=>x(_,T.target.value),onFocus:()=>r(_),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(E.value.length*9+8,l===_?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${_}`},_)),a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),N(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!k&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(E=>E.type==="field"?`[${E.display}]`:E.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:c,onChange:E=>b(E.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:E=>{E.key==="Escape"&&u(!1),E.key==="Enter"&&C.length>0&&A(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(E=>a.jsxs("div",{onMouseDown:_=>{_.preventDefault(),A(E)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:E.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[E.id.slice(0,8),"..."]})]},E.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(E=>a.jsxs("button",{type:"button",onMouseDown:_=>{_.preventDefault(),A(E,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",E.display]},E.id))})]})}const Jd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],Zd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Jd.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},Xd={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function sa({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=S.useState(!1),[t,l]=S.useState("unknown"),[r,d]=S.useState(null);S.useEffect(()=>{e&&l(Zd(e))},[e]),S.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const h=atob(e.split(",")[1]),v=new ArrayBuffer(h.length),p=new Uint8Array(v);for(let x=0;x<h.length;x++)p[x]=h.charCodeAt(x);const y=new Blob([v],{type:"application/pdf"}),g=URL.createObjectURL(y);return d(g),()=>URL.revokeObjectURL(g)}catch(h){console.error("Error creating blob URL:",h)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},c=()=>s(!1),b=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(h,v="download"){if(!h)return;if(h.startsWith("data:")){const y=document.createElement("a");y.href=h,y.download=v,document.body.appendChild(y),y.click(),document.body.removeChild(y);return}const p=document.createElement("a");p.href=h,p.setAttribute("download",v),document.body.appendChild(p),p.click(),document.body.removeChild(p)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${b}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center ",children:a.jsx(le,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx(le,{icon:Xd[t],iconClass:"text-4xl"}),a.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:b})]}),a.jsxs("div",{className:"flex gap-x-1 items-center",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${b}`,children:a.jsx(le,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(le,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:c,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:h=>h.stopPropagation(),children:[a.jsx("button",{onClick:c,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:b,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:b,className:"w-full h-[80vh] rounded border"}):null]})})]})}function aa({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=S.useContext(Ie),u=S.useRef(null),[c,b]=S.useState(s),[m,h]=S.useState(!1);S.useEffect(()=>{b(s)},[s]);const v=S.useMemo(()=>t==null?void 0:t.map(w=>w.value).join(", "),[t]),p=S.useMemo(()=>t==null?void 0:t.map(w=>w.label).join(", "),[t]),y=S.useCallback(async w=>{var E,_;const C=Ce("token"),k=((E=Ce("orgData"))==null?void 0:E.id)||Ce("organizationId");try{const{data:T}=await je.post(r,{...w,service:"FORM",organizationId:k||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(_=T==null?void 0:T.data)==null?void 0:_.url}catch(T){throw console.error("File upload error:",T),T}},[r]),g=S.useCallback(w=>new Promise((C,k)=>{const E=new FileReader;E.onloadend=async()=>{try{const _=E.result.replace(/^data:.*;base64,/,""),T=r?await y({base64:_,ext:`.${w.name.split(".").pop()}`,fileName:w.name}):E.result;C({base64:T,type:w.type,name:w.name})}catch(_){k(_)}},E.onerror=()=>k(new Error("File read failed")),E.readAsDataURL(w)}),[r,y]),x=S.useCallback(w=>{var E;const C=v?(E=v.split(","))==null?void 0:E.map(_=>_.trim()):[],k=l*1024*1024;for(const _ of w){if(_.size>k)return Ee.toast.error(`File "${_.name}" exceeds ${l}MB limit (${(_.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(T=>{if(T.endsWith("/*")){const P=T.split("/")[0];return _.type.startsWith(`${P}/`)}return _.type===T||_.name.toLowerCase().endsWith(T.replace("*",""))}))return Ee.toast.error(`File "${_.name}" is not an allowed type. Allowed: ${p||"any"}`),!1}return!0},[v,p,l]),f=S.useCallback(async w=>{const C=Array.from(w.target.files||[]);if(!(!C.length||m)){if(!x(C)){u.current&&(u.current.value="");return}try{h(!0),d==null||d(_=>_+1);const k=await Promise.all(C==null?void 0:C.map(g)),E=o&&c?[...c,...k]:k;b(E),e(E),Ee.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(k){console.error("Upload error:",k)}finally{h(!1),d==null||d(k=>Math.max(0,k-1)),u.current&&(u.current.value="")}}},[m,x,g,e,o,c,d]),N=S.useCallback(w=>{m||(u.current&&(u.current.value=""),b(C=>{const k=w===void 0?null:(C==null?void 0:C.filter((E,_)=>_!==w))||null;return e(k),k}),i==null||i())},[i,e,m]),A=c&&c.length>0;return a.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&!(A&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:f,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
22
+ }`})})]})})}),Ud=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function qd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const yo=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const h=new Date(v);return isNaN(h.getTime())?null:h},c=u(e),[b,m]=w.useState(c);w.useEffect(()=>{const v=u(e);(v&&b&&v.getTime()!==b.getTime()||!v&&b||v&&!b)&&m(v)},[e]),w.useEffect(()=>{n&&n(s,b)},[b,n,s]);const f=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(Cr,{showIcon:!0,icon:a.jsx(qd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:b,onChange:f,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function sa(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isDeleted)))!=null?o:[]}function xo({element:e,validationData:n,placeholder:i}){var N;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,c]=w.useState(""),[b,m]=w.useState([]),[f,v]=w.useState(!1),h=d?e.apiUrl:void 0;w.useEffect(()=>{if(!h)return;const C=new AbortController,k=setTimeout(()=>{(async()=>{var _,M;v(!0);try{const L=Pe("token"),H={...L?{headers:{Authorization:`Bearer ${L}`}}:{},signal:C.signal,params:u?{search:u}:{}};let P=(await qe.get(h,H)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(_=P.data)!=null&&_.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(M=P.data)!=null&&M.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const I=P.map(B=>typeof B=="string"?{label:B,value:B}:{label:B.label||B.name||String(B.id||B.value),value:String(B.value||B.id||B.name)});m(I)}}catch(L){qe.isCancel(L)||console.error("Failed to fetch options",L)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(k),C.abort()}},[h,u]);const y=h?b:(N=e==null?void 0:e.options)!=null?N:[],g=C=>C.map(k=>typeof k=="object"&&k!==null&&"value"in k?k:y.find(_=>String(_.value)===String(k))||{label:String(k),value:k}),[S,p]=w.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?g(C):[]});w.useEffect(()=>{o(e.id)},[e.id,o]),w.useEffect(()=>{if(!l)return;const C=l(k=>{const E=k[e.id];E!==void 0&&p(Array.isArray(E)?g(E):[])});return()=>{var k;return(k=C.unsubscribe)==null?void 0:k.call(C)}},[l,e.id,y]);const x=w.useMemo(()=>{if(u==="")return y;const C=u.toLowerCase();return y.filter(k=>k.label.toLowerCase().includes(C))},[u,y]),A=(C,k)=>{k.stopPropagation();const E=S.filter(_=>_.value!==C.value);p(E),s==null||s(e.id,E.map(_=>_.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(be.Combobox,{value:S||[],onChange:C=>{p(C),s==null||s(e.id,C.map(k=>k.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(be.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[S.map((C,k)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:E=>A(C,E),className:"custom-select__chip-remove",children:a.jsx(re,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},k)),!t&&a.jsx(be.Combobox.Input,{className:"multiselect-search",onChange:C=>c(C.target.value),onFocus:()=>c(""),displayValue:()=>"",placeholder:S.length===0?i!=null?i:"Select options...":"Search..."}),t&&S.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(be.Combobox.Button,{className:"select-icon",children:f?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(re,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(be.Transition,{as:w.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>c(""),children:a.jsx(be.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:f&&b.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):x.map((C,k)=>a.jsx(be.Combobox.Option,{value:C,className:({active:E})=>`select-option ${E?"active":""}`,children:({selected:E})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${E?"selected":""}`,children:C.label}),E?a.jsx("span",{className:"text-blue-600",children:a.jsx(re,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},k))})})]})})})}const So=["text","number","boolean"],aa=["equals","not_equals","contains","not_contains"],Yd=["greater","less"];function Jd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=w.useContext(De),l=o("visibilityDependentFields")||[],r=w.useMemo(()=>{var u;return(u=sa(t).filter(c=>c.id!==s))==null?void 0:u.map(c=>{const b=l.find(m=>m.id===c.id);return{id:c.id,value:c.id,label:c.inputLabel,sectionId:c.sectionId,fieldType:(b==null?void 0:b.fieldType)||"text",operator:(b==null?void 0:b.operator)||"equals",fieldValue:(b==null?void 0:b.fieldValue)!==void 0?b.fieldValue:""}})},[t,l,s]),d=(u,c,b)=>{const m=l==null?void 0:l.map((f,v)=>v===u?{...f,[c]:b}:f);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(xo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,c)=>{var v,h,y,g;const b=sa(t).find(S=>S.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(b==null?void 0:b.type),f=(b==null?void 0:b.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:u.fieldType,onChange:S=>d(c,"fieldType",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:So==null?void 0:So.map(S=>a.jsx(be.Listbox.Option,{value:S,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S},S))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:u.operator,onChange:S=>d(c,"operator",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...aa,...Yd]:aa)==null?void 0:v.map(S=>a.jsx(be.Listbox.Option,{value:S,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S.replace("_"," ")},S))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&f.length>0?a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:(h=u.fieldValue)!=null?h:"",onChange:S=>d(c,"fieldValue",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((y=f.find(S=>S.value===u.fieldValue))==null?void 0:y.label)||"Select value"}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:f.map((S,p)=>a.jsx(be.Listbox.Option,{value:S.value,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:S.label},p))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:S=>d(c,"fieldValue",S.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(be.Listbox,{value:(g=u.fieldValue)!=null?g:"",onChange:S=>d(c,"fieldValue",S),children:[a.jsxs(be.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(re,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(be.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(be.Listbox.Option,{value:!0,className:({active:S})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${S?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(be.Listbox.Option,{value:!1,className:({active:S})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${S?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function ta(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function Zd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function Xd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=w.useState(()=>ta(e)),[l,r]=w.useState(null),[d,u]=w.useState(!1),[c,b]=w.useState(""),[m,f]=w.useState(null),v=w.useRef(null),h=w.useRef(null),y=w.useRef(new Map);w.useEffect(()=>{const E=ta(e);t(E)},[]);const g=w.useCallback(E=>{n(Zd(E))},[n]),S=(E,_)=>{const M=[...s];M[E]={type:"operator",value:_},t(M),g(M)},p=E=>{const _=s.filter((M,L)=>L!==E);t(_),g(_)},x=E=>{f(E),b(""),u(!0)},A=(E,_)=>{const M=_!==void 0?_:m!=null?m:s.length,L=[...s],H=L.slice(0,M),T=L.slice(M),P=[...H,{type:"field",id:E.id,display:E.display},...T],I=N(P);t(I),g(I),u(!1),f(null)};function N(E){const _=[];if(E.length===0)return[{type:"operator",value:""}];E[0].type==="field"&&_.push({type:"operator",value:""});for(let M=0;M<E.length;M++)_.push(E[M]),E[M].type==="field"&&(M+1>=E.length||E[M+1].type==="field")&&_.push({type:"operator",value:""});return _}const C=i.filter(E=>E.display.toLowerCase().includes(c.toLowerCase())),k=s.every(E=>E.type==="operator"&&E.value.trim()==="");return a.jsxs("div",{className:"relative",ref:h,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var _;const E=[...s].reverse().findIndex(M=>M.type==="operator");if(E!==-1){const M=s.length-1-E;(_=y.current.get(M))==null||_.focus()}},children:[k&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((E,_)=>E.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[E.display,a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),p(_)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${E.display}`,children:"×"})]},_):a.jsx("input",{ref:M=>{M?y.current.set(_,M):y.current.delete(_)},type:"text",value:E.value,onChange:M=>S(_,M.target.value),onFocus:()=>r(_),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(E.value.length*9+8,l===_?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${_}`},_)),a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),x(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!k&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(E=>E.type==="field"?`[${E.display}]`:E.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:c,onChange:E=>b(E.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:E=>{E.key==="Escape"&&u(!1),E.key==="Enter"&&C.length>0&&A(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(E=>a.jsxs("div",{onMouseDown:_=>{_.preventDefault(),A(E)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:E.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[E.id.slice(0,8),"..."]})]},E.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(E=>a.jsxs("button",{type:"button",onMouseDown:_=>{_.preventDefault(),A(E,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",E.display]},E.id))})]})}const Qd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],Rd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Qd.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},eu={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function la({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=w.useState(!1),[t,l]=w.useState("unknown"),[r,d]=w.useState(null);w.useEffect(()=>{e&&l(Rd(e))},[e]),w.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),v=new ArrayBuffer(f.length),h=new Uint8Array(v);for(let S=0;S<f.length;S++)h[S]=f.charCodeAt(S);const y=new Blob([v],{type:"application/pdf"}),g=URL.createObjectURL(y);return d(g),()=>URL.revokeObjectURL(g)}catch(f){console.error("Error creating blob URL:",f)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},c=()=>s(!1),b=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,v="download"){if(!f)return;if(f.startsWith("data:")){const y=document.createElement("a");y.href=f,y.download=v,document.body.appendChild(y),y.click(),document.body.removeChild(y);return}const h=document.createElement("a");h.href=f,h.setAttribute("download",v),document.body.appendChild(h),h.click(),document.body.removeChild(h)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${b}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center ",children:a.jsx(re,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx(re,{icon:eu[t],iconClass:"text-4xl"}),a.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:b})]}),a.jsxs("div",{className:"flex gap-x-1 items-center",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${b}`,children:a.jsx(re,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(re,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:c,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:f=>f.stopPropagation(),children:[a.jsx("button",{onClick:c,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:b,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:b,className:"w-full h-[80vh] rounded border"}):null]})})]})}function ra({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=w.useContext(De),u=w.useRef(null),[c,b]=w.useState(s),[m,f]=w.useState(!1);w.useEffect(()=>{b(s)},[s]);const v=w.useMemo(()=>t==null?void 0:t.map(N=>N.value).join(", "),[t]),h=w.useMemo(()=>t==null?void 0:t.map(N=>N.label).join(", "),[t]),y=w.useCallback(async N=>{var E,_;const C=Pe("token"),k=((E=Pe("orgData"))==null?void 0:E.id)||Pe("organizationId");try{const{data:M}=await qe.post(r,{...N,service:"FORM",organizationId:k||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(_=M==null?void 0:M.data)==null?void 0:_.url}catch(M){throw console.error("File upload error:",M),M}},[r]),g=w.useCallback(N=>new Promise((C,k)=>{const E=new FileReader;E.onloadend=async()=>{try{const _=E.result.replace(/^data:.*;base64,/,""),M=r?await y({base64:_,ext:`.${N.name.split(".").pop()}`,fileName:N.name}):E.result;C({base64:M,type:N.type,name:N.name})}catch(_){k(_)}},E.onerror=()=>k(new Error("File read failed")),E.readAsDataURL(N)}),[r,y]),S=w.useCallback(N=>{var E;const C=v?(E=v.split(","))==null?void 0:E.map(_=>_.trim()):[],k=l*1024*1024;for(const _ of N){if(_.size>k)return Ne.toast.error(`File "${_.name}" exceeds ${l}MB limit (${(_.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(M=>{if(M.endsWith("/*")){const L=M.split("/")[0];return _.type.startsWith(`${L}/`)}return _.type===M||_.name.toLowerCase().endsWith(M.replace("*",""))}))return Ne.toast.error(`File "${_.name}" is not an allowed type. Allowed: ${h||"any"}`),!1}return!0},[v,h,l]),p=w.useCallback(async N=>{const C=Array.from(N.target.files||[]);if(!(!C.length||m)){if(!S(C)){u.current&&(u.current.value="");return}try{f(!0),d==null||d(_=>_+1);const k=await Promise.all(C==null?void 0:C.map(g)),E=o&&c?[...c,...k]:k;b(E),e(E),Ne.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(k){console.error("Upload error:",k)}finally{f(!1),d==null||d(k=>Math.max(0,k-1)),u.current&&(u.current.value="")}}},[m,S,g,e,o,c,d]),x=w.useCallback(N=>{m||(u.current&&(u.current.value=""),b(C=>{const k=N===void 0?null:(C==null?void 0:C.filter((E,_)=>_!==N))||null;return e(k),k}),i==null||i())},[i,e,m]),A=c&&c.length>0;return a.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&!(A&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:p,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
23
23
  file:rounded-[6px] file:py-[6px] file:border-0\r
24
24
  file:text-sm file:font-semibold\r
25
25
  file:bg-blue-50 file:text-blue-700\r
26
- hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),A&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>N(),disabled:m,"aria-label":"Remove all files",children:a.jsx(le,{icon:"lets-icons:trash-duotone"})})]}),(A||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${A?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof c=="object"&&(c==null?void 0:c.map((w,C)=>a.jsx(sa,{fileUrl:w.base64,fileName:w.name,removeFile:()=>N(C)},`${w.name}-${C}`)))]})]})}const Qd=R.object().shape({inputLabel:R.string().nullable(),minLabel:R.string().nullable(),maxLabel:R.string().nullable(),placeholder:R.string().nullable(),description:R.string().nullable(),isReadOnly:R.boolean(),isDisabled:R.boolean(),isRequired:R.boolean(),requiredMessage:R.string().nullable(),minLengthMessage:R.string().nullable(),maxLengthMessage:R.string().nullable(),maxLength:R.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:R.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:R.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:R.boolean(),inputType:R.string().nullable(),maxAmountMessage:R.string().nullable(),maxAmount:R.string().nullable(),options:R.array().of(R.object().shape({label:R.string().nullable(),value:R.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:R.array().of(R.object().shape({label:R.string().nullable(),value:R.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:R.string().nullable(),url:R.string().nullable(),method:R.string().nullable(),denominators:R.mixed().nullable(),responseType:R.string().nullable(),minAmount:R.string().nullable(),heading:R.string().nullable(),minAmountMessage:R.string().nullable(),columns:R.number().nullable().max(4).min(2),value:R.mixed().nullable(),customClass:R.string().nullable(),elementClass:R.string().nullable(),apiUrl:R.string().nullable(),selectType:R.string().default("list"),dateType:R.string().default("basic"),validationUrl:R.string(),signatureLink:R.string(),minDate:R.string().nullable(),maxDate:R.string().nullable(),canHaveDateRange:R.boolean(),allowYearPicker:R.boolean(),is24Hour:R.boolean(),isHidden:R.boolean(),visibilityDependentFields:R.array().nullable(),isMultiple:R.boolean(),acceptedFiles:R.array(),maxFileSize:R.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:R.boolean(),formula:R.string().nullable(),fetchExternalResults:R.boolean(),externalApiUrl:R.string().nullable(),valueSource:R.string().nullable(),sourceFieldId:R.string().nullable()}),Rd=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],eu=({isOpen:e,onClose:n,element:i})=>{var Q,Y,ee,te;const o=Rd.filter(z=>!mi.includes(i.inputType)||z.key!=="validation"),{updateElement:s,formData:t}=S.useContext(Ie),[l,r]=S.useState("basic"),[d,u]=S.useState(!1),[c,b]=S.useState("manual"),m=((ee=(Y=(Q=t==null?void 0:t.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:Q.flatMap(z=>(z==null?void 0:z.questionData)||[]))==null?void 0:Y.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:ee.length)||0,h=S.useMemo(()=>{var z;return((z=t==null?void 0:t.filter(F=>!(F!=null&&F.isDeleted)))==null?void 0:z.flatMap(F=>(F==null?void 0:F.questionData)||[]).filter(F=>{var j;return!(F!=null&&F.isDeleted)&&F.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((j=F.type)==null?void 0:j.toLowerCase())}).map(F=>({id:F.id,display:F.inputLabel||F.label||"Unnamed"})))||[]},[m,i==null?void 0:i.id]),v=Ce("config"),{register:p,handleSubmit:y,control:g,setValue:x,watch:f,trigger:N,formState:{errors:A,isSubmitting:w,isValid:C},reset:k}=Ze.useForm({resolver:bo(Qd),defaultValues:{...i,options:i.options||[]}}),E=f(),{fields:_,append:T,remove:P}=Ze.useFieldArray({control:g,name:"options"}),{fields:K,append:M,remove:L}=Ze.useFieldArray({control:g,name:"options1"}),{fields:I,append:D,remove:O}=Ze.useFieldArray({control:g,name:"dataColumns"});S.useEffect(()=>{e||k()},[e,k]);const B=z=>{s(z,i.sectionId),n()},U=S.useRef(null),q=S.useCallback(async()=>{var F;if(!E.apiUrl||!/^https?:\/\//.test(E.apiUrl)){Ee.toast.info("Please provide a valid API URL");return}U.current&&U.current.abort();const z=new AbortController;U.current=z;try{u(!0);const H={headers:{Authorization:`Bearer ${Ce("token")}`},signal:z.signal,defaultMessage:"Unable to load options"},{status:$,data:W}=await je.get(E.apiUrl,H);if($!==200||!W){Ee.toast.error("Unexpected response from server.");return}const Z=W.data||W.record||W.result;if(!Array.isArray(Z)){Ee.toast.error("Expected an array in response (data, record, or result).");return}((F=i.type)==null?void 0:F.toLowerCase())==="datagrid"?x("dataColumns",fo(Z)):x("options",vo(Z))}catch(j){je.isCancel(j)||console.error(j)}finally{U.current===z&&u(!1)}},[i.type,x,E.apiUrl]),G=["manual","api","sheet"];function V(){c==="api"&&q()}const X=()=>{var z,F;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:G==null?void 0:G.map(j=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:H=>b(H.target.value),value:j})," ",a.jsxs("span",{children:[j," options"]})]},j))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(de,{watch:f,label:"Load Options from Api",name:"apiUrl",errors:A,register:p,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx(Gd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(ea,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:x,name:"options"})}),c==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((z=i==null?void 0:i.type)==null?void 0:z.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),_==null?void 0:_.map((j,H)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:H===0?"Label":"",name:`options.${H}.label`,register:p,errors:A,element:i,placeholder:"Label",onChange:$=>{const Z=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`options.${H}.value`,Z,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:H===0?"Value":"",name:`options.${H}.value`,register:p,errors:A,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:_.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${H===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>P(H),children:a.jsx(le,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[H===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(aa,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:$=>{$&&$.length>0?x(`options.${H}.imageUrl`,$[0].base64,{shouldDirty:!0,shouldValidate:!0}):x(`options.${H}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:f(`options.${H}.imageUrl`)?[{base64:f(`options.${H}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(de,{watch:f,label:"",name:`options.${H}.imageUrl`,register:p,errors:A,element:i})})]})]})]},j.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",id:Le.v4()}),children:[a.jsx(le,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((F=i==null?void 0:i.type)==null?void 0:F.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),K==null?void 0:K.map((j,H)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:H===0?"Label":"",name:`options1.${H}.label`,register:p,errors:A,element:i,placeholder:"Label",onChange:$=>{const Z=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`options1.${H}.value`,Z,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:H===0?"Value":"",name:`options1.${H}.value`,register:p,errors:A,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:H===0?"Key":"",name:`options1.${H}.key`,register:p,errors:A,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:K.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>L(H),children:a.jsx(le,{icon:"iconamoon:sign-times-fill"})})]},j.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>M({label:"",value:"",key:"",id:Le.v4()}),children:[a.jsx(le,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},oe=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:G==null?void 0:G.map(z=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:F=>b(F.target.value),value:z,checked:z===c})," ",a.jsxs("span",{children:[z," options"]})]},z))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(de,{watch:f,label:"Load Columns from Api",name:"apiUrl",errors:A,register:p,className:"!w-full",placeholder:"https://example.com/columns"}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(Vd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(ea,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:x,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:I==null?void 0:I.map((z,F)=>{var j,H;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(nn,{label:F===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:p,name:`dataColumns.${F}.type`,setValue:x,trigger:N,value:E.dataColumns[F].type})}),a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:F===0?"Display header":"",name:`dataColumns.${F}.headerName`,register:p,onChange:$=>{const Z=$.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`dataColumns.${F}.field`,Z,{shouldValidate:!0,shouldDirty:!0})},errors:A,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:F===0?"Field key":"",name:`dataColumns.${F}.field`,register:p,errors:A,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(F),children:a.jsx(le,{icon:"iconamoon:sign-times-fill"})})]}),((H=(j=E.dataColumns)==null?void 0:j[F])==null?void 0:H.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Options API URL",name:`dataColumns.${F}.optionsUrl`,register:p,errors:A,element:i,placeholder:"https://api.example.com/options"})})})]},z.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>D({headerName:"",field:"",editable:!0,id:Le.v4(),type:"text",validate:!1}),children:[a.jsx(le,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),ne=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:z=>z.stopPropagation(),onPointerDown:z=>z.stopPropagation(),onDragStart:z=>{z.preventDefault(),z.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(le,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(wd,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:y(B),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[l==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[mo.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(de,{watch:f,label:"Value",name:"value",register:p,errors:A,element:i})}),!mo.includes(i.inputType)&&!mi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(de,{watch:f,label:"Label",name:"inputLabel",register:p,errors:A,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(de,{watch:f,label:"Child Label",name:"childLabel",register:p,errors:A,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(de,{watch:f,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:p,errors:A,element:i,placeholder:"Not at all likely"}),a.jsx(de,{watch:f,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:p,errors:A,element:i,placeholder:"Extremely likely"})]})]}),Ld.includes(i.inputType)&&a.jsx(de,{watch:f,label:"Placeholder",name:"placeholder",register:p,errors:A,element:i}),Td.includes(i.inputType)&&a.jsx(de,{watch:f,label:"Prefix",name:"prefix",register:p,errors:A,element:i}),Od.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(nn,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:p,name:"valueSource",setValue:x,trigger:N,value:f("valueSource")||"manual"}),f("valueSource")==="field"&&a.jsx(nn,{label:"Source Field",options:h.map(z=>({label:z.display,value:z.id})),register:p,name:"sourceFieldId",setValue:x,trigger:N,value:f("sourceFieldId")})]}),Dd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(Fd,{}),a.jsx(de,{watch:f,label:"Api Url",name:"url",register:p,errors:A,element:i}),a.jsx(nn,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:p,name:"method",setValue:x,trigger:N,value:f("method")}),a.jsx(nn,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:p,name:"responseType",setValue:x,trigger:N,value:f("responseType")})]}),_d.includes(i.inputType)&&a.jsx(Hd,{onChange:z=>{x("denominators",z)},value:f("denominators")}),!mo.includes(i.inputType)&&!mi.includes(i.inputType)&&a.jsx(de,{watch:f,label:"Short Description",name:"description",register:p,errors:A,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(nn,{label:"Date Format",options:Md,register:p,name:"dateFormat",setValue:x,trigger:N,value:f("dateFormat")}),a.jsx(de,{watch:f,label:"Allow Range",name:"canHaveDateRange",register:p,errors:A,element:i,type:"checkbox",value:E.canHaveDateRange}),(E==null?void 0:E.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(ho,{name:"minDate",value:E==null?void 0:E.minDate,onGetValue:x,placeholder:"Select min date"}),a.jsx(ho,{name:"maxDate",value:E==null?void 0:E.minDate,onGetValue:x,placeholder:"Select max date",minDate:E==null?void 0:E.minDate})]}),a.jsx(de,{watch:f,label:"Allow Year Picker",name:"allowYearPicker",register:p,errors:A,element:i,type:"checkbox",value:E.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(de,{watch:f,label:"24 Hour Format",name:"is24Hour",register:p,errors:A,element:i,type:"checkbox",value:E.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(de,{watch:f,label:"Allow States",name:"showState",register:p,errors:A,element:i,type:"checkbox",value:E.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(nn,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:p,name:"selectType",setValue:x,trigger:N,value:f("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(de,{watch:f,label:"Minimum Options Checked",name:"minChecked",register:p,errors:A,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(de,{watch:f,label:"Require All Checked",name:"requireAllChecked",register:p,errors:A,element:i,type:"checkbox",value:E.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(de,{watch:f,label:"Number of columns (max: 4)",name:"columns",register:p,errors:A,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(de,{watch:f,label:"Document Options Url",name:"url",register:p,errors:A,element:i})," ",a.jsx(zd,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(de,{watch:f,label:"Document Validation Url",name:"validationUrl",register:p,errors:A,element:i}),a.jsx($d,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(de,{watch:f,label:"Signature Page Url",name:"signatureLink",register:p,errors:A,element:i})})]}),i.type.toLowerCase()==="datagrid"&&oe(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(de,{watch:f,label:"Allow Multiple Uploads",name:"isMultiple",register:p,errors:A,element:i,type:"checkbox",value:E.isMultiple}),a.jsx(po,{element:{options:Kd,id:"acceptedFiles",value:E==null?void 0:E.acceptedFiles},validationData:{register:p,setValue:x,trigger:N,watch:f},placeholder:"Choose file types"}),a.jsx(de,{watch:f,label:"Max File Size (MB)",name:"maxFileSize",register:p,errors:A,element:i,type:"number"})]}),Id.includes(i.inputType)&&X(),!["spacer","divider","section","grid"].includes((te=i.type)==null?void 0:te.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Disabled",name:"isDisabled",register:p,errors:A,element:i,type:"checkbox",value:E.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Read Only",name:"isReadOnly",register:p,errors:A,element:i,type:"checkbox",value:E.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(de,{watch:f,label:"Toggle Visibility",name:"isHidden",register:p,errors:A,element:i,type:"checkbox",value:E.isHidden})})," ",E.isHidden&&a.jsx(Ud,{register:p,setValue:x,trigger:N,watch:f,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(Yd,{value:f("formula")||"",onChange:z=>x("formula",z,{shouldValidate:!0,shouldDirty:!0}),fields:h,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(de,{watch:f,label:"Fetch results from external API",name:"fetchExternalResults",register:p,errors:A,element:i,type:"checkbox",value:E.fetchExternalResults}),E.fetchExternalResults&&a.jsx(de,{watch:f,label:"External API URL (returns options results)",name:"externalApiUrl",register:p,errors:A,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!mi.includes(i.type.toLowerCase())&&l==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Required",name:"isRequired",register:p,errors:A,element:i,type:"checkbox",value:E.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Error message text",name:"requiredMessage",register:p,errors:A,element:i})})]}),Pd.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Min Length",name:"minLength",register:p,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Error message text",name:"minLengthMessage",register:p,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Max Length",name:"maxLength",register:p,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Error message text",name:"maxLengthMessage",register:p,errors:A,element:i})})]})]}),Bd.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Min Amount",name:"minAmount",register:p,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Error message text",name:"minAmountMessage",register:p,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(de,{watch:f,label:"Max Amount",name:"maxAmount",register:p,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(de,{watch:f,label:"Error message text",name:"maxAmountMessage",register:p,errors:A,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!C||w,style:{background:(v==null?void 0:v.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||w?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||w?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:w?"Saving...":"Save"})]})]})]})});return document.body?pr.createPortal(ne,document.body):ne},yo=S.memo(({state:e,element:n,children:i})=>{var b,m;const[o,s]=S.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=S.useContext(Ie),u=S.useMemo(()=>{var h;return(h=n==null?void 0:n.acceptedFiles)==null?void 0:h.map(v=>v.label).join(", ")},[n]),c=S.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(eu,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((b=n.type)==null?void 0:b.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:h=>r({...n,isRequired:h.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(le,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(le,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(le,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:c,title:"Remove",children:a.jsx(le,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});yo.displayName="ElementContainer";function nu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),S.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(ho,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const iu=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=S.useState(e||null),d=Ce("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";S.useEffect(()=>{e!==l&&r(e||null)},[e]);const c=x=>{r(x),n&&n(o,x)},b=t?Array.from({length:24},(x,f)=>f.toString().padStart(2,"0")):Array.from({length:12},(x,f)=>(f===0?12:f).toString().padStart(2,"0")),m=Array.from({length:60},(x,f)=>f.toString().padStart(2,"0")),h=["AM","PM"];let v="12",p="00",y="AM";if(l){const[x,f]=l.split(" ");if(x){const[N,A]=x.split(":");N&&(v=N.padStart(2,"0")),A&&(p=A.padStart(2,"0"))}f&&(y=f.toUpperCase())}const g=(x,f,N)=>{const A=t?`${x}:${f}`:`${x}:${f} ${N}`;c(A)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
26
+ hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),A&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>x(),disabled:m,"aria-label":"Remove all files",children:a.jsx(re,{icon:"lets-icons:trash-duotone"})})]}),(A||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${A?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof c=="object"&&(c==null?void 0:c.map((N,C)=>a.jsx(la,{fileUrl:N.base64,fileName:N.name,removeFile:()=>x(C)},`${N.name}-${C}`)))]})]})}const nu=oe.object().shape({inputLabel:oe.string().nullable(),minLabel:oe.string().nullable(),maxLabel:oe.string().nullable(),placeholder:oe.string().nullable(),description:oe.string().nullable(),isReadOnly:oe.boolean(),isDisabled:oe.boolean(),isRequired:oe.boolean(),requiredMessage:oe.string().nullable(),minLengthMessage:oe.string().nullable(),maxLengthMessage:oe.string().nullable(),maxLength:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:oe.boolean(),inputType:oe.string().nullable(),maxAmountMessage:oe.string().nullable(),maxAmount:oe.string().nullable(),options:oe.array().of(oe.object().shape({label:oe.string().nullable(),value:oe.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:oe.array().of(oe.object().shape({label:oe.string().nullable(),value:oe.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:oe.string().nullable(),url:oe.string().nullable(),method:oe.string().nullable(),denominators:oe.mixed().nullable(),responseType:oe.string().nullable(),minAmount:oe.string().nullable(),heading:oe.string().nullable(),minAmountMessage:oe.string().nullable(),columns:oe.number().nullable().max(4).min(2),value:oe.mixed().nullable(),customClass:oe.string().nullable(),elementClass:oe.string().nullable(),apiUrl:oe.string().nullable(),selectType:oe.string().default("list"),dateType:oe.string().default("basic"),validationUrl:oe.string(),signatureLink:oe.string(),minDate:oe.string().nullable(),maxDate:oe.string().nullable(),canHaveDateRange:oe.boolean(),allowYearPicker:oe.boolean(),is24Hour:oe.boolean(),isHidden:oe.boolean(),visibilityDependentFields:oe.array().nullable(),isMultiple:oe.boolean(),acceptedFiles:oe.array(),maxFileSize:oe.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:oe.boolean(),formula:oe.string().nullable(),fetchExternalResults:oe.boolean(),externalApiUrl:oe.string().nullable(),valueSource:oe.string().nullable(),sourceFieldId:oe.string().nullable()}),iu=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],ou=({isOpen:e,onClose:n,element:i})=>{var ie,U,ee,de;const o=iu.filter(z=>!hi.includes(i.inputType)||z.key!=="validation"),{updateElement:s,formData:t}=w.useContext(De),[l,r]=w.useState("basic"),[d,u]=w.useState(!1),[c,b]=w.useState("manual"),m=((ee=(U=(ie=t==null?void 0:t.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:ie.flatMap(z=>(z==null?void 0:z.questionData)||[]))==null?void 0:U.filter(z=>!(z!=null&&z.isDeleted)))==null?void 0:ee.length)||0,f=w.useMemo(()=>{var z;return((z=t==null?void 0:t.filter(R=>!(R!=null&&R.isDeleted)))==null?void 0:z.flatMap(R=>(R==null?void 0:R.questionData)||[]).filter(R=>{var ae;return!(R!=null&&R.isDeleted)&&R.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((ae=R.type)==null?void 0:ae.toLowerCase())}).map(R=>({id:R.id,display:R.inputLabel||R.label||"Unnamed"})))||[]},[m,i==null?void 0:i.id]),v=Pe("config"),{register:h,handleSubmit:y,control:g,setValue:S,watch:p,trigger:x,formState:{errors:A,isSubmitting:N,isValid:C},reset:k}=Re.useForm({resolver:fo(nu),defaultValues:{...i,options:i.options||[]}}),E=p(),{fields:_,append:M,remove:L}=Re.useFieldArray({control:g,name:"options"}),{fields:H,append:T,remove:P}=Re.useFieldArray({control:g,name:"options1"}),{fields:I,append:B,remove:O}=Re.useFieldArray({control:g,name:"dataColumns"});w.useEffect(()=>{e||k()},[e,k]);const D=z=>{s(z,i.sectionId),n()},j=w.useRef(null),q=w.useCallback(async()=>{var R;if(!E.apiUrl||!/^https?:\/\//.test(E.apiUrl)){Ne.toast.info("Please provide a valid API URL");return}j.current&&j.current.abort();const z=new AbortController;j.current=z;try{u(!0);const Q={headers:{Authorization:`Bearer ${Pe("token")}`},signal:z.signal,defaultMessage:"Unable to load options"},{status:G,data:Y}=await qe.get(E.apiUrl,Q);if(G!==200||!Y){Ne.toast.error("Unexpected response from server.");return}const $=Y.data||Y.record||Y.result;if(!Array.isArray($)){Ne.toast.error("Expected an array in response (data, record, or result).");return}((R=i.type)==null?void 0:R.toLowerCase())==="datagrid"?S("dataColumns",go($)):S("options",po($))}catch(ae){qe.isCancel(ae)||console.error(ae)}finally{j.current===z&&u(!1)}},[i.type,S,E.apiUrl]),K=["manual","api","sheet"];function V(){c==="api"&&q()}const Z=()=>{var z,R;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(ae=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:Q=>b(Q.target.value),value:ae})," ",a.jsxs("span",{children:[ae," options"]})]},ae))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ce,{watch:p,label:"Load Options from Api",name:"apiUrl",errors:A,register:h,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx($d,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:S,name:"options"})}),c==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((z=i==null?void 0:i.type)==null?void 0:z.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),_==null?void 0:_.map((ae,Q)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Label":"",name:`options.${Q}.label`,register:h,errors:A,element:i,placeholder:"Label",onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options.${Q}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Value":"",name:`options.${Q}.value`,register:h,errors:A,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:_.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${Q===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>L(Q),children:a.jsx(re,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[Q===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ra,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:G=>{G&&G.length>0?S(`options.${Q}.imageUrl`,G[0].base64,{shouldDirty:!0,shouldValidate:!0}):S(`options.${Q}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:p(`options.${Q}.imageUrl`)?[{base64:p(`options.${Q}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(ce,{watch:p,label:"",name:`options.${Q}.imageUrl`,register:h,errors:A,element:i})})]})]})]},ae.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>M({label:"",value:"",id:Me.v4()}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((R=i==null?void 0:i.type)==null?void 0:R.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),H==null?void 0:H.map((ae,Q)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Label":"",name:`options1.${Q}.label`,register:h,errors:A,element:i,placeholder:"Label",onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options1.${Q}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Value":"",name:`options1.${Q}.value`,register:h,errors:A,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:Q===0?"Key":"",name:`options1.${Q}.key`,register:h,errors:A,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:H.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>P(Q),children:a.jsx(re,{icon:"iconamoon:sign-times-fill"})})]},ae.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",key:"",id:Me.v4()}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},te=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:K==null?void 0:K.map(z=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:R=>b(R.target.value),value:z,checked:z===c})," ",a.jsxs("span",{children:[z," options"]})]},z))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ce,{watch:p,label:"Load Columns from Api",name:"apiUrl",errors:A,register:h,className:"!w-full",placeholder:"https://example.com/columns"}),d&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:V,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(jd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:S,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:I==null?void 0:I.map((z,R)=>{var ae,Q;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(an,{label:R===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:h,name:`dataColumns.${R}.type`,setValue:S,trigger:x,value:E.dataColumns[R].type})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:R===0?"Display header":"",name:`dataColumns.${R}.headerName`,register:h,onChange:G=>{const $=G.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`dataColumns.${R}.field`,$,{shouldValidate:!0,shouldDirty:!0})},errors:A,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:R===0?"Field key":"",name:`dataColumns.${R}.field`,register:h,errors:A,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:I.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(R),children:a.jsx(re,{icon:"iconamoon:sign-times-fill"})})]}),((Q=(ae=E.dataColumns)==null?void 0:ae[R])==null?void 0:Q.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Options API URL",name:`dataColumns.${R}.optionsUrl`,register:h,errors:A,element:i,placeholder:"https://api.example.com/options"})})})]},z.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>B({headerName:"",field:"",editable:!0,id:Me.v4(),type:"text",validate:!1}),children:[a.jsx(re,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),se=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:z=>z.stopPropagation(),onPointerDown:z=>z.stopPropagation(),onDragStart:z=>{z.preventDefault(),z.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(re,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(Ad,{tabs:o,setActiveTab:r,activeTab:l,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:y(D),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[l==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ho.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(ce,{watch:p,label:"Value",name:"value",register:h,errors:A,element:i})}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Label",name:"inputLabel",register:h,errors:A,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(ce,{watch:p,label:"Child Label",name:"childLabel",register:h,errors:A,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:h,errors:A,element:i,placeholder:"Not at all likely"}),a.jsx(ce,{watch:p,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:h,errors:A,element:i,placeholder:"Extremely likely"})]})]}),Dd.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Placeholder",name:"placeholder",register:h,errors:A,element:i}),Bd.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Prefix",name:"prefix",register:h,errors:A,element:i}),Kd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(an,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:h,name:"valueSource",setValue:S,trigger:x,value:p("valueSource")||"manual"}),p("valueSource")==="field"&&a.jsx(an,{label:"Source Field",options:f.map(z=>({label:z.display,value:z.id})),register:h,name:"sourceFieldId",setValue:S,trigger:x,value:p("sourceFieldId")})]}),Hd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(zd,{}),a.jsx(ce,{watch:p,label:"Api Url",name:"url",register:h,errors:A,element:i}),a.jsx(an,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:h,name:"method",setValue:S,trigger:x,value:p("method")}),a.jsx(an,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:h,name:"responseType",setValue:S,trigger:x,value:p("responseType")})]}),Fd.includes(i.inputType)&&a.jsx(Vd,{onChange:z=>{S("denominators",z)},value:p("denominators")}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsx(ce,{watch:p,label:"Short Description",name:"description",register:h,errors:A,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(an,{label:"Date Format",options:Ld,register:h,name:"dateFormat",setValue:S,trigger:x,value:p("dateFormat")}),a.jsx(ce,{watch:p,label:"Allow Range",name:"canHaveDateRange",register:h,errors:A,element:i,type:"checkbox",value:E.canHaveDateRange}),(E==null?void 0:E.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(yo,{name:"minDate",value:E==null?void 0:E.minDate,onGetValue:S,placeholder:"Select min date"}),a.jsx(yo,{name:"maxDate",value:E==null?void 0:E.minDate,onGetValue:S,placeholder:"Select max date",minDate:E==null?void 0:E.minDate})]}),a.jsx(ce,{watch:p,label:"Allow Year Picker",name:"allowYearPicker",register:h,errors:A,element:i,type:"checkbox",value:E.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(ce,{watch:p,label:"24 Hour Format",name:"is24Hour",register:h,errors:A,element:i,type:"checkbox",value:E.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(ce,{watch:p,label:"Allow States",name:"showState",register:h,errors:A,element:i,type:"checkbox",value:E.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(an,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:h,name:"selectType",setValue:S,trigger:x,value:p("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Minimum Options Checked",name:"minChecked",register:h,errors:A,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(ce,{watch:p,label:"Require All Checked",name:"requireAllChecked",register:h,errors:A,element:i,type:"checkbox",value:E.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(ce,{watch:p,label:"Number of columns (max: 4)",name:"columns",register:h,errors:A,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ce,{watch:p,label:"Document Options Url",name:"url",register:h,errors:A,element:i})," ",a.jsx(Wd,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ce,{watch:p,label:"Document Validation Url",name:"validationUrl",register:h,errors:A,element:i}),a.jsx(Ud,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(ce,{watch:p,label:"Signature Page Url",name:"signatureLink",register:h,errors:A,element:i})})]}),i.type.toLowerCase()==="datagrid"&&te(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(ce,{watch:p,label:"Allow Multiple Uploads",name:"isMultiple",register:h,errors:A,element:i,type:"checkbox",value:E.isMultiple}),a.jsx(xo,{element:{options:Gd,id:"acceptedFiles",value:E==null?void 0:E.acceptedFiles},validationData:{register:h,setValue:S,trigger:x,watch:p},placeholder:"Choose file types"}),a.jsx(ce,{watch:p,label:"Max File Size (MB)",name:"maxFileSize",register:h,errors:A,element:i,type:"number"})]}),Od.includes(i.inputType)&&Z(),!["spacer","divider","section","grid"].includes((de=i.type)==null?void 0:de.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Disabled",name:"isDisabled",register:h,errors:A,element:i,type:"checkbox",value:E.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Read Only",name:"isReadOnly",register:h,errors:A,element:i,type:"checkbox",value:E.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(ce,{watch:p,label:"Toggle Visibility",name:"isHidden",register:h,errors:A,element:i,type:"checkbox",value:E.isHidden})})," ",E.isHidden&&a.jsx(Jd,{register:h,setValue:S,trigger:x,watch:p,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(Xd,{value:p("formula")||"",onChange:z=>S("formula",z,{shouldValidate:!0,shouldDirty:!0}),fields:f,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(ce,{watch:p,label:"Fetch results from external API",name:"fetchExternalResults",register:h,errors:A,element:i,type:"checkbox",value:E.fetchExternalResults}),E.fetchExternalResults&&a.jsx(ce,{watch:p,label:"External API URL (returns options results)",name:"externalApiUrl",register:h,errors:A,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!hi.includes(i.type.toLowerCase())&&l==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Required",name:"isRequired",register:h,errors:A,element:i,type:"checkbox",value:E.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"requiredMessage",register:h,errors:A,element:i})})]}),Id.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Min Length",name:"minLength",register:h,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"minLengthMessage",register:h,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Max Length",name:"maxLength",register:h,errors:A,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"maxLengthMessage",register:h,errors:A,element:i})})]})]}),_d.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Min Amount",name:"minAmount",register:h,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"minAmountMessage",register:h,errors:A,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ce,{watch:p,label:"Max Amount",name:"maxAmount",register:h,errors:A,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ce,{watch:p,label:"Error message text",name:"maxAmountMessage",register:h,errors:A,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!C||N,style:{background:(v==null?void 0:v.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!C||N?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!C||N?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:N?"Saving...":"Save"})]})]})]})});return document.body?xr.createPortal(se,document.body):se},wo=w.memo(({state:e,element:n,children:i})=>{var b,m;const[o,s]=w.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=w.useContext(De),u=w.useMemo(()=>{var f;return(f=n==null?void 0:n.acceptedFiles)==null?void 0:f.map(v=>v.label).join(", ")},[n]),c=w.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(ou,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((b=n.type)==null?void 0:b.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:f=>r({...n,isRequired:f.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(re,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(re,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(re,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:c,title:"Remove",children:a.jsx(re,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});wo.displayName="ElementContainer";function su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(yo,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const au=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=w.useState(e||null),d=Pe("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";w.useEffect(()=>{e!==l&&r(e||null)},[e]);const c=S=>{r(S),n&&n(o,S)},b=t?Array.from({length:24},(S,p)=>p.toString().padStart(2,"0")):Array.from({length:12},(S,p)=>(p===0?12:p).toString().padStart(2,"0")),m=Array.from({length:60},(S,p)=>p.toString().padStart(2,"0")),f=["AM","PM"];let v="12",h="00",y="AM";if(l){const[S,p]=l.split(" ");if(S){const[x,A]=S.split(":");x&&(v=x.padStart(2,"0")),A&&(h=A.padStart(2,"0"))}p&&(y=p.toUpperCase())}const g=(S,p,x)=>{const A=t?`${S}:${p}`:`${S}:${p} ${x}`;c(A)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
27
27
  .hide-time-scrollbar::-webkit-scrollbar {
28
28
  display: none;
29
29
  }
@@ -31,11 +31,11 @@
31
31
  -ms-overflow-style: none;
32
32
  scrollbar-width: none;
33
33
  }
34
- `}),a.jsx(re.Popover,{className:"relative w-full",children:({open:x})=>a.jsxs(a.Fragment,{children:[a.jsxs(re.Popover.Button,{disabled:i,className:be(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(le,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(re.Transition,{show:x,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(re.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:b.map(f=>a.jsx("button",{type:"button",onClick:()=>g(f,p,y),style:v===f?{backgroundColor:u}:{},className:be("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===f?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:f},f))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(f=>a.jsx("button",{type:"button",onClick:()=>g(v,f,y),style:p===f?{backgroundColor:u}:{},className:be("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",p===f?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:f},f))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:h.map(f=>a.jsx("button",{type:"button",onClick:()=>g(v,p,f),style:y===f?{backgroundColor:u}:{},className:be("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",y===f?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:f},f))})]})]})})]})})]})};function ou({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),S.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(iu,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function xo({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return S.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:be("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function su({element:e,validationData:n}){var c;const[i,o]=S.useState((c=e==null?void 0:e.value)!=null?c:null),{register:s=()=>({}),setValue:t,isReadOnly:l,watch:r}=n||{};S.useEffect(()=>{s(e.id)},[e.id,s]),S.useEffect(()=>{if(r){const b=r(m=>{o(m[e.id])});return()=>{var m;return(m=b.unsubscribe)==null?void 0:m.call(b)}}},[r,e.id]);const d=S.useCallback(b=>{t==null||t(e.id,b),o(b)},[e.id,t]),u=()=>{t==null||t(e.id,null),o(null)};return a.jsxs("div",{children:[!l&&a.jsx(aa,{onFileLoaded:d,disabled:l,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),l&&a.jsx(a.Fragment,{children:i?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((b,m)=>a.jsx("div",{children:a.jsx(sa,{fileUrl:b.base64,fileName:b.name})},m))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function au({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=S.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return S.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:be("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function tu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:be("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(de,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function lu(){return a.jsx("div",{children:"SectionInput"})}function ru({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:be("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(de,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const yn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function Fn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,c]=S.useState(null),[b,m]=S.useState([]),[h,v]=S.useState(!1),p=S.useRef(!0);S.useEffect(()=>{const w=new AbortController,C=i!=null?i:o;let k="";u!==null?k=u:C&&(k=String(C));const E=async()=>{var P,K;if(n){v(!0);try{const M=Ce("token"),L={...M?{headers:{Authorization:`Bearer ${M}`}}:{},signal:w.signal,params:k?{search:k}:{}};let D=(await je.get(n,L)).data;if(D&&!Array.isArray(D)&&(D.data&&Array.isArray(D.data)?D=D.data:(P=D.data)!=null&&P.data&&Array.isArray(D.data.data)?D=D.data.data:D.results&&Array.isArray(D.results)?D=D.results:(K=D.data)!=null&&K.results&&Array.isArray(D.data.results)?D=D.data.results:D.items&&Array.isArray(D.items)&&(D=D.items)),Array.isArray(D)){const O=D.map(B=>{var G,V,X,oe,ne,Q,Y,ee,te,z,F,j,H,$;if(typeof B=="string")return{label:B,value:B};const U=(te=(Q=(ne=(oe=(X=(V=(G=B.label)!=null?G:B.name)!=null?V:B.title)!=null?X:B.productName)!=null?oe:B.description)!=null?ne:B.text)!=null?Q:B.displayName)!=null?te:String((ee=(Y=B.id)!=null?Y:B.value)!=null?ee:""),q=String(($=(H=(j=(F=(z=B.value)!=null?z:B.id)!=null?F:B.key)!=null?j:B.code)!=null?H:B.name)!=null?$:"");return{label:String(U),value:String(q)}});m(O)}}catch(M){je.isCancel(M)||console.error("Failed to fetch options",M)}finally{w.signal.aborted||v(!1)}}},_=p.current&&C?0:400;p.current=!1;const T=setTimeout(()=>{E()},_);return()=>{clearTimeout(T),w.abort()}},[n,u,i,o]);const y=n?b:e,g=S.useMemo(()=>{const w=i!=null?i:o;if(w==null||w==="")return null;const C=y.find(k=>String(k.value)===String(w)||String(k.label)===String(w));return C||{label:s||(yn(w)?"":String(w)),value:String(w)}},[i,o,s,y]),[x,f]=S.useState(g);S.useEffect(()=>{const w=i!==void 0?i:o;if(w!==void 0)if(w===null||w==="")f(null);else{const C=y.find(k=>String(k.value)===String(w)||String(k.label)===String(w));f(C||(k=>k&&(String(k.value)===String(w)||String(k.label)===String(w))?{label:s||(k.label&&!yn(k.label)?k.label:yn(w)?"":String(w)),value:String(w)}:{label:s||(yn(w)?"":String(w)),value:String(w)}))}},[i,o,s,y]);const N=S.useMemo(()=>{let w=y;if(x&&!w.some(k=>String(k.value)===String(x.value)||String(k.label)===String(x.label))&&(w=[x,...w]),!u)return w;const C=u.toLowerCase();return w.filter(k=>k.label.toLowerCase().includes(C))},[u,y,x]),A=S.useCallback(w=>{f(w),t(r,w)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(re.Combobox,{value:x,onChange:A,disabled:l,by:(w,C)=>w&&C?String(w.value)===String(C.value)||String(w.label)===String(C.label):w===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(re.ComboboxInput,{className:`field-control ${d}`,displayValue:w=>{if(w!=null&&w.label&&!yn(w.label))return w.label;if(s)return s;if(w!=null&&w.label)return w.label;const C=i!=null?i:o;return C&&!yn(C)?String(C):""},onChange:w=>c(w.target.value),placeholder:h?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(re.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:h?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(le,{icon:"octicon:chevron-down-12"})})]}),a.jsx(re.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:h?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):N.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):N==null?void 0:N.map((w,C)=>a.jsx(re.ComboboxOption,{value:w,className:({active:k,selected:E})=>be("select-option",{active:k,selected:E}),children:({selected:k})=>a.jsx("div",{className:be("option-text",{selected:k}),children:w.label})},`${w.value}-${C}`))})]})})}function du({element:e,validationData:n}){var c,b,m,h;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isViewer:l}=n||{};let r,d;if(t){const v=t();r=v[e.id];const p=v[`${e.id}_metaData`];d=(p==null?void 0:p.label)||(p==null?void 0:p.name)||((b=(c=e==null?void 0:e.metaData)==null?void 0:c.responseObject)==null?void 0:b.label)}S.useEffect(()=>{i(e.id)},[e.id,i]);const u=l?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!l?a.jsx(nn,{options:(m=e==null?void 0:e.options)!=null?m:[],register:i,name:e.id,setValue:s,trigger:o,value:r,className:be("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(Fn,{name:e.id,options:(h=e==null?void 0:e.options)!=null?h:[],apiUrl:u,value:r,selectedLabel:d,onGetValue:(v,p)=>{var y;s==null||s(v,(y=p==null?void 0:p.value)!=null?y:""),p&&(s==null||s(`${v}_metaData`,p)),o&&o(v)},readOnly:n==null?void 0:n.isReadOnly})})}function uu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return S.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:be("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function cu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return S.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(de,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function bu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const mu=({imageUrl:e})=>{const[n,i]=S.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},vu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function fu({element:e,validationData:n}){var w;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=S.useState(),[r,d]=S.useState(!1),[u,c]=S.useState(!1),[b,m]=S.useState(""),h=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;S.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(h)},[h,v,e.valueSource,e.id,o]);const[p,y]=S.useState("");S.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:x,responseType:f}=e||{},N=S.useRef(null),A=S.useCallback(async C=>{var E,_,T,P,K,M,L,I,D,O,B,U,q,G;if(!g||typeof g!="string"||!g.trim()||!x)return;N.current&&N.current.abort();const k=new AbortController;N.current=k,d(!0),m(""),c(!1);try{let V;const X={headers:{Authorization:`Bearer ${Ce("token")}`},signal:k.signal};if(x.toLowerCase()==="get"){const oe=`${g}?value=${C}`;V=await je.get(oe,X)}else if(x.toLowerCase()==="post")V=await je.post(g,{value:C},X);else throw new Error("Unsupported HTTP method");if(V.status===200)if(((_=(E=V==null?void 0:V.data)==null?void 0:E.data)==null?void 0:_.status)===!1||((T=V==null?void 0:V.data)==null?void 0:T.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),c(!1);else if(c(!0),f==="string"){let ne=((K=(P=V==null?void 0:V.data)==null?void 0:P.data)==null?void 0:K.description)||((M=V==null?void 0:V.data)==null?void 0:M.description)||((L=V==null?void 0:V.data)==null?void 0:L.data)||(V==null?void 0:V.data)||"Validation successful";typeof ne=="object"&&ne!==null&&(ne=JSON.stringify(ne)),m(ne)}else{const ne=((D=(I=V==null?void 0:V.data)==null?void 0:I.data)==null?void 0:D.description)||((O=V==null?void 0:V.data)==null?void 0:O.description)||((B=V==null?void 0:V.data)==null?void 0:B.data)||(V==null?void 0:V.data)||{};y(ne),typeof ne=="object"&&ne!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,ne)}}catch(V){if(!je.isCancel(V)){console.error("Error validating input:",V);let X=((q=(U=V==null?void 0:V.response)==null?void 0:U.data)==null?void 0:q.message)||((G=V==null?void 0:V.response)==null?void 0:G.data)||"Unable to validate input";typeof X=="object"&&X!==null&&(X=JSON.stringify(X)),m(X),c(!1)}}finally{N.current===k&&d(!1)}},[x,f,g]);return S.useEffect(()=>{if(t){const C=setTimeout(()=>{A(t)},700);return()=>clearTimeout(C)}},[A,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:be("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(le,{icon:"gg:check-o"})})]})]}),b&&f==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:b}),f==="object"&&p&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(w=Object.entries(p))==null?void 0:w.map(([C,k])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:vu(C)}),bu(k)?a.jsx(mu,{imageUrl:k}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(k)})]},C))})]})}function hu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=S.useState([...i]);function l(u,c){t(b=>{const m=[...b];return m[c]={...m[c],value:u},m})}function r(u,c){return parseFloat(u)*parseFloat(c)||0}const d=S.useMemo(()=>s.reduce((u,c)=>{const b=r(c.key,c.value);return u+b},0),[s]);return S.useEffect(()=>{e&&e(s)},[s]),S.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((c,b)=>({key:c.value,value:Array.isArray(i)&&i[b]?i[b].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,c)=>{var b,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(b=parseFloat(u.key))==null?void 0:b.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(li,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:h=>l(h,c),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},c+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function pu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return S.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(hu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function gu({element:e}){return a.jsx("div",{className:be("py-6",e==null?void 0:e.customClass)})}function yu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:be("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function xu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Su({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function wu({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var h;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:c}=s(e.id,l.field);let b="border-gray-300";l.validate&&((c==null?void 0:c.isValid)===!1?b="border-red-500 bg-red-50":(c==null?void 0:c.isValid)===!0&&(b="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${b}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(li,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const p=v==="yes",y=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:y,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:y,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===p,onChange:()=>o(p,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:p?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(Fn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,p)=>o((p==null?void 0:p.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&c?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",c.data&&`[${c.data}]`]}),c.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(h=c.error)!=null?h:"",children:"✗"})]}):l.type==="select"?a.jsx(Fn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(le,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const Nu=S.memo(wu);function Cu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=S.useState(e),l=Ce("config"),r=S.useRef(s);r.current=s,S.useEffect(()=>{t(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const d=S.useCallback((m,h,v)=>{const p=r.current.map(y=>y.id===h?{...y,[v]:m}:y);t(p),n==null||n(p)},[n]),u=S.useCallback(()=>{const m=Le.v4(),h=o.reduce((p,y)=>(p[y.field]=y.field==="id"?m:"",p),{}),v=[...r.current,{id:m,...h}];t(v),n==null||n(v)},[o,n]),c=S.useCallback(m=>{const h=r.current.filter(v=>v.id!==m);t(h),n==null||n(h)},[n]),b=S.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,h)=>{var v;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(v=m.headerName)!=null?v:String(m.field),m.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${h}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(m=>a.jsx(Nu,{row:m,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:b,deleteRow:c},m.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:u,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Au({element:e,validationData:n}){var h;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=s&&s(e==null?void 0:e.id)||{},r=Array.isArray(l)?l:(h=l==null?void 0:l.rows)!=null?h:[];S.useEffect(()=>{i(e.id)},[e.id,i]);const d=S.useRef(""),u=S.useRef(e==null?void 0:e.id),c=S.useRef(e==null?void 0:e.dataColumns),b=S.useRef(o);u.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,b.current=o;const m=S.useCallback(v=>{var y;const p=JSON.stringify(v);p!==d.current&&(d.current=p,(y=b.current)==null||y.call(b,u.current,{rows:v,columns:c.current}))},[]);return a.jsx(Cu,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const ta=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:c=!1,isFloatingLabel:b=!1,subText:m,labelClass:h="",loading:v,disabled:p})=>{const[y,g]=S.useState(c?[]:null),x=be("custom-select__control",e),f=S.useMemo(()=>n,[n]);S.useEffect(()=>{const A=n==null?void 0:n.find(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d});g(A||null)},[d,n]);const N=S.useMemo(()=>d==null||d===""||!n||n.length===0?!1:c&&Array.isArray(d)?Array.isArray(y)&&y.length<d.length:!n.some(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d}),[d,n,y,c]);return S.useEffect(()=>{y&&t&&s&&(t(l,y==null?void 0:y.value),s(l),u==null||u(l))},[l,y,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!b&&a.jsx("label",{className:"custom-select__label",children:r}),b&&r&&a.jsx("label",{className:be("custom-select__floating-label",h),children:r}),a.jsx(re.Listbox,{value:y,onChange:g,multiple:c,disabled:p,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(re.Listbox.Button,{className:x,disabled:p,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(y==null?void 0:y.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(le,{icon:"lucide:chevron-down"})})]}),a.jsx(re.Transition,{as:S.Fragment,leave:"custom-select__transition",children:a.jsx(re.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:f==null?void 0:f.map((A,w)=>a.jsx(re.Listbox.Option,{value:A,className:({active:C})=>be("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:be("custom-select__option-label",C&&"custom-select__option--selected"),children:A.label})},w))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),N&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},ku=({element:e,validationData:n})=>{var p;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{},r=(p=e==null?void 0:e.id)!=null?p:"cascadeValue",[d,u]=S.useState(""),[c,b]=S.useState(""),m=(y,g)=>{const x=y&&g?`${y}_${g}`:"";s==null||s(r,x),o==null||o(r)},h=(y,g)=>{y==="first"?(u(g),b(""),m(g,"")):(b(g),m(d,g))};S.useEffect(()=>{if(t){const y=t(r);if(y!=null&&y.includes("_")){const[g,x]=y.split("_");u(g),b(x)}}},[t,r]);const v=S.useMemo(()=>{var y;return(y=e.options1)==null?void 0:y.filter(g=>g.key===d)},[e.options1,d]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(r)}),a.jsx("div",{className:"relative",children:a.jsx(ta,{setValue:(y,g)=>h("first",g),options:e.options,name:`${r}`,register:i,value:d})}),d&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(ta,{setValue:(y,g)=>h("second",g),options:v,name:`${r}`,register:i,value:c})]})]})},Eu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var g;const{register:d=()=>({}),trigger:u,setValue:c,watch:b,isReadOnly:m}=r||{},h=(g=b==null?void 0:b(l.id))!=null?g:0,[v,p]=S.useState(null);S.useEffect(()=>{h==null&&(c==null||c(l.id,e))},[]);const y=x=>{if(!i&&!m){const f=x+1;c==null||c(l.id,f),u==null||u(l.id),o==null||o(f)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(x,f)=>{const N=v!==null?f<=v:f<h;return a.jsx(Xs,{icon:N?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${N?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&p(f),onMouseLeave:()=>!(i||m)&&p(null),onClick:()=>y(f)},f)})]})};function Mu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:be("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function la({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=S.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,p]=r.split(",").map(y=>y.trim());return{country:p,state:v}}return{country:r,state:""}},[r]),c=S.useRef(r),b=S.useMemo(()=>{var v,p;return d?((p=(v=bi.find(y=>y.name===d))==null?void 0:v.states)==null?void 0:p.map(y=>({label:y.name,value:y.name})))||[]:[]},[d]),m=(v,p)=>{const g=(p==null?void 0:p.value)||"";o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)},h=(v,p)=>{const y=(p==null?void 0:p.value)||"",g=y?`${y}, ${d}`:d;o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)};return S.useEffect(()=>{c.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(Fn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),b.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(Fn,{options:b,onGetValue:h,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const So=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Tu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:c,description:b,onChange:m,onError:h}){const[v,p]=S.useState(""),[y,g]=S.useState(null),[x,f]=S.useState(""),N=S.useMemo(()=>{var T;return(T=So==null?void 0:So.slice().sort((P,K)=>P.label.localeCompare(K.label)))==null?void 0:T.map(P=>({...P,phone:`+${P.phone}`}))},[]),A=S.useMemo(()=>v?N.filter(T=>`${T.label} ${T.phone}`.toLowerCase().includes(v.toLowerCase())):N,[v,N]),w=(y==null?void 0:y.min)||10,C=(y==null?void 0:y.max)||10,k=()=>x?`${(y==null?void 0:y.phone)||"+234"}-${x}`:"",E=T=>{if(!T||typeof T!="string")return{code:"+234",number:""};const P=T.split(/[-\s]/);return{code:P[0],number:P.slice(1).join(" ")}};S.useEffect(()=>{if(l){const T=k();if(l!==T){const P=E(l);g(N.find(K=>K.phone===P.code)||N[0]),f(P.number)}}},[l,N]);const _=S.useMemo(()=>{if(r)return r;const T=x.length;return o&&T===0?"Phone number is required":T>0&&!/^\d+$/.test(x)?"Phone number must contain only digits":T>0&&T<w?`Minimum length is ${w}`:T>C?`Maximum length is ${C}`:""},[r,x,w,C,o]);return S.useEffect(()=>{const T=k();T!==l&&(m==null||m(T))},[x,y]),S.useEffect(()=>{h==null||h(_||null)},[_]),a.jsxs("div",{className:`relative formGroup ${_&&!u?"has-error":""} ${c?"flex":""} ${!_&&x.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${c?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(le,{icon:"lucide:phone-call"}),a.jsx(re.Combobox,{value:y,onChange:g,children:a.jsxs("div",{className:"relative",children:[a.jsx(re.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:T=>(T==null?void 0:T.phone)||"+234",placeholder:"+234",onChange:T=>p(T.target.value)}),a.jsx(re.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(le,{icon:"lucide:chevron-down"})}),a.jsx(re.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:A==null?void 0:A.map((T,P)=>a.jsxs(re.Combobox.Option,{value:T,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[T.phone," - ",T.label]},`${T.code}+ ${P}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:x,disabled:d,readOnly:u,onChange:T=>{const P=T.target.value.replace(/\D/g,"");f(P)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:w}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!_&&x.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(le,{icon:"bi:check-lg"})})})]})]}),b&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:b})]})}function Pu({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return S.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Tu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function Lu({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;S.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),c=d?u?d:`https://${d}`:"",b=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[b&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:be("field-control",b&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:c,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Bu({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=S.useMemo(()=>{const c=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(h=>h.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(h=>{const v=/@\[.*?\]\((.*?)\)/.exec(h);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...c,...m]))},[s]),l=i?i(t):[],r=S.useMemo(()=>{if(!s)return"";let u=s,c=!1;if(t.forEach((b,m)=>{const h=l[m],v=Number(h);(isNaN(v)||h===void 0||h===null||h==="")&&(c=!0),u=u.replace(new RegExp(`\\{\\{${b}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${b}\\)`,"g"),String(v||0))}),c)return"";try{const b=u.replace(/[^0-9+\-*/().\s]/g,"");if(!b)return"";const m=new Function(`return ${b}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(b){return"Error"}},[s,t,l]);return S.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:be("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Iu({element:e,validationData:n,state:i}){var h;const{register:o,watch:s,setValue:t}=n||{},[l,r]=S.useState({}),[d,u]=S.useState(0),c=s?s(e.id):null,b=!!(c||n!=null&&n.showResults);S.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const y=await fetch(e.externalApiUrl);if(!y.ok)return;const g=await y.json();let x={};Array.isArray(g)?g.forEach(N=>{const A=N.value||N.id||N.option,w=N.count||N.votes||N.value||0;A&&(x[A]=Number(w))}):typeof g=="object"&&(x=g),r(x);const f=Object.values(x).reduce((N,A)=>N+Number(A),0);u(f)}catch(y){console.error("Failed to fetch polling results",y)}};v();const p=setInterval(v,1e4);return()=>clearInterval(p)},[e.fetchExternalResults,e.externalApiUrl]),S.useEffect(()=>{e.fetchExternalResults||(c?(r({[c]:1}),u(1)):(r({}),u(0)))},[c,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(h=e.options)==null?void 0:h.map(v=>{const p=l[v.value]||0,y=d>0?Math.round(p/d*100):0,g=c===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:be("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",g?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[b&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${y}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:be("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",g?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:g&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:be("font-medium text-sm",g?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),b&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[y,"%"]}),g&&a.jsx(le,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),b&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ra={textField:xo,longText:uu,selectField:du,multiSelect:po,numberField:xo,amountField:cu,date:nu,time:ou,password:au,checkbox:ru,radio:tu,email:xo,file:su,dataGrid:Au,section:lu,dataLookup:fu,tableInput:pu,spacer:gu,divider:yu,header:xu,basicText:Su,phoneField:Pu,cascadeSelect:ku,rating:Eu,matrix:Mu,country:la,bank:la,url:Lu,calculatedField:Bu,polling:Iu,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:be("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=S.useState(r||e.options||[]);S.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const c=m=>{if(o||n==="edit"||m===0)return;const h=[...d],v=h[m-1];h[m-1]=h[m],h[m]=v,u(h),typeof l=="function"&&l(e.id,h,{shouldValidate:!0,shouldDirty:!0})},b=m=>{if(o||n==="edit"||m===d.length-1)return;const h=[...d],v=h[m+1];h[m+1]=h[m],h[m]=v,u(h),typeof l=="function"&&l(e.id,h,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,h)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>c(h),disabled:o||n==="edit"||h===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(le,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>b(h),disabled:o||n==="edit"||h===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(le,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:h+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=c=>{o||n==="edit"||typeof l=="function"&&l(e.id,c,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(c=>a.jsxs("div",{onClick:()=>d(c.value),className:be("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===c.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:c.imageUrl?a.jsx("img",{src:c.imageUrl,alt:c.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(le,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:be("p-3 text-center text-sm font-medium",r===c.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:c.label})]},c.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},da="edit",Du=(e,n)=>{var o;const i=ra[e.type];return i?a.jsx(yo,{element:e,state:da,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:da,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},vi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:be("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),_u=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:c,removeElement:b}=S.useContext(Ie),m=S.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[h,v]=S.useState(null);S.useEffect(()=>{const N=()=>{v(null),d(!1)};return document.addEventListener("dragend",N),()=>document.removeEventListener("dragend",N)},[d]);const p=S.useCallback((N,A)=>{N.preventDefault(),N.stopPropagation(),N.dataTransfer.dropEffect="move",v(A)},[]),y=S.useCallback((N,A)=>{N.preventDefault(),N.stopPropagation(),v(A)},[]),g=S.useCallback((N,A)=>{const w=N.relatedTarget;w&&N.currentTarget.contains(w)||v(C=>C===A?null:C)},[]),x=S.useCallback((N,A)=>{var k;N.preventDefault(),N.stopPropagation(),d(!1),v(null);const w=A+1,C=N.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:w});return}try{const E=N.dataTransfer.getData("properties");if(!E)return;const _=JSON.parse(E);if((_==null?void 0:_.type)==="grid")return;const T=l.find(M=>M.id===n),P=(k=T==null?void 0:T.questionData)==null?void 0:k.find(M=>{var L;return!M.isDeleted&&M.gridId===e.id&&((L=M.gridPosition)==null?void 0:L.col)===w});P&&b(P.id,n);const K={..._,id:Le.v4(),sectionId:n,gridId:e.id,gridPosition:{col:w}};r(K,n)}catch(E){console.error("Drop failed in grid:",E),d(!1)}},[r,e.id,l,n,d,u]),f=(N,A,w)=>{var L,I,D;const C=N+1,k=(I=(L=l.find(O=>O.id===n))==null?void 0:L.questionData)==null?void 0:I.find(O=>{var B;return!O.isDeleted&&O.gridId===e.id&&((B=O.gridPosition)==null?void 0:B.col)===C}),E=(D=k==null?void 0:k.id)!=null?D:null,_=Array.isArray(i)&&i.find(O=>{var B;return((B=O==null?void 0:O.props)==null?void 0:B.col)===C}),T=c&&h===N,P=!!_,K=c&&!!t,M=P&&E&&w==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",E),O.dataTransfer.setData("properties",E),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${N}`,...M,onDrop:O=>x(O,N),onDragEnter:O=>y(O,N),onDragOver:O=>p(O,N),onDragLeave:O=>g(O,N),className:be("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",w==="edit"?"py-3 ":"",P&&w==="edit"&&"cursor-grab active:cursor-grabbing border-none",A,!K&&!T&&"bg-white border-gray-200 text-gray-300",K&&!T&&!P&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",K&&!T&&P&&"bg-white border-orange-200 border-dashed",T&&!P&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",T&&P&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[P&&w==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(le,{icon:"ph:dots-six-bold"})}),T&&!P&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(le,{icon:"ph:plus-bold"}),"Drop here"]}),T&&P&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:be("w-full select-none min-w-0",T&&"opacity-50 pointer-events-none"),children:_||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:w==="edit"&&a.jsx(le,{icon:"ph:plus-bold"})})})]})},N)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((N,A)=>f(A,o,s))})})},fi=S.memo(_u),Ou="edit";function wo({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=S.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:be("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(le,{icon:"octicon:plus-16"}),"Drop here"]})})}function Ku({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=S.useContext(Ie),[r,d]=S.useState(null),u=S.useMemo(()=>{var x;return((x=i.find(f=>f.id===n))==null?void 0:x.questionData)||[]},[i,n]),c=S.useCallback((x,f)=>{x.dataTransfer.setData("elementId",f),x.dataTransfer.setData("properties",f),x.dataTransfer.effectAllowed="move",d(f),s(!0)},[s]),b=S.useCallback(()=>{d(null),s(!1)},[s]);S.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=S.useCallback(x=>{x.preventDefault(),x.stopPropagation();const f=x.dataTransfer.getData("elementId"),N=x.currentTarget.id;if(!f||!N||f===N){b();return}const A=u.find(C=>C.id===f),w=u.findIndex(C=>C.id===N);A!=null&&A.gridId&&w!==-1?l({draggedId:f,sectionId:n,targetIndex:w}):l({draggedId:f,sectionId:n,targetId:N}),d(null),s(!1)},[n,l,s,b,u]),h=S.useCallback((x,f)=>{x.preventDefault(),x.stopPropagation(),s(!1);const N=x.dataTransfer.getData("elementId");if(N){l({draggedId:N,sectionId:n,targetIndex:f}),d(null);return}try{const A=JSON.parse(x.dataTransfer.getData("properties"));if((A==null?void 0:A.type)==="section")return;const w={...A,id:Le.v4(),sectionId:n};t(w,n,f),d(null)}catch(A){console.error("Drop error:",A)}},[t,n,s,l]),v=S.useCallback((x,f=!1)=>a.jsx("div",{id:x.id,draggable:!0,onDragStart:N=>c(N,x.id),onDragOver:f?void 0:N=>{N.preventDefault(),N.stopPropagation()},onDrop:f?void 0:m,onDragEnd:b,className:be("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===x.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Du(x,n)},x.id),[r,m,n,c,b]),p=S.useMemo(()=>(e==null?void 0:e.reduce((x,f)=>(f.gridId&&!f.isDeleted&&(x[f.gridId]=x[f.gridId]||[],x[f.gridId].push(f)),x),{}))||{},[e]),y=S.useMemo(()=>(e==null?void 0:e.filter(x=>!x.isDeleted))||[],[e]);if(!y.length)return a.jsx("div",{onDragOver:x=>x.preventDefault(),onDrop:x=>h(x,0),onDragEnd:b,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const g=y.filter(x=>!x.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(wo,{index:0,isDragging:o,onDrop:h,onDragEnd:b}),g.map(x=>{const f=u.findIndex(N=>N.id===x.id);if(x.type==="grid"){const N=p[x.id]||[],A=r===x.id,w=!!r&&!A;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:x.id,draggable:!0,onDragStart:C=>c(C,x.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:b,className:be("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",A?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":w?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(yo,{element:x,state:"edit",children:a.jsx(fi,{element:x,sectionId:n,state:Ou,draggedElementId:r,children:N==null?void 0:N.map(C=>{var k;return a.jsx(vi,{col:(k=C.gridPosition)==null?void 0:k.col,children:v(C,!0)},C.id)})})})}),a.jsx(wo,{index:f+1,isDragging:o,onDrop:h,onDragEnd:b})]},x.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(x),a.jsx(wo,{index:f+1,isDragging:o,onDrop:h,onDragEnd:b})]},x.id)})]})}const Hu=S.memo(Ku),Fu=R.object({title:R.string(),description:R.string(),disabled:R.boolean().default(!1),isHidden:R.boolean().default(!1)}).required(),No=Ce("config"),Gu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=S.useContext(Ie),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:c}=Ze.useForm({resolver:bo(Fu),defaultValues:i});if(S.useEffect(()=>{e||c()},[e,c]),!e)return null;const b=h=>{o(h,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(le,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(b),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(de,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(de,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(de,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(de,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(No==null?void 0:No.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},Vu=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(le,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,zu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],$u=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,formDataLength:d,onDragOver:u,setIsDragging:c,isDragging:b,onReorderSection:m})=>{var y,g;const h=S.useRef(null),v=S.useRef((y=e==null?void 0:e.questionData)==null?void 0:y.length),p=S.useRef(b);return S.useEffect(()=>{var x,f;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>v.current&&!b&&!p.current){const N=document.getElementById("section-container");N&&requestAnimationFrame(()=>{N.scrollTo({top:N.scrollHeight,behavior:"smooth"})})}v.current=(f=e==null?void 0:e.questionData)==null?void 0:f.length},[(g=e==null?void 0:e.questionData)==null?void 0:g.length,b]),S.useEffect(()=>{p.current=b},[b]),a.jsx("div",{ref:h,onDragOver:x=>{x.dataTransfer.types.includes("sectionid")&&x.preventDefault()},onDrop:x=>{const f=x.dataTransfer.getData("sectionid");f&&(x.preventDefault(),x.stopPropagation(),m&&m(f,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
- ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:x=>{x.dataTransfer.setData("sectionid",e.id),x.dataTransfer.effectAllowed="move",c(!0)},onDragEnd:()=>c(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(le,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>l(e),children:a.jsx(le,{icon:"fluent:edit-28-regular"})}),d>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>r(e.id),children:a.jsx(le,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(le,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:u,onDragEnd:()=>c(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(Hu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},ju=({onAddTemplate:e,templates:n})=>{var T;const i=[...zu,...n||[]],[o,s]=S.useState(!1),[t,l]=S.useState(!1),r=S.useRef(null),d=S.useRef(null),{removeSection:u,addSection:c,formData:b,setIsDragging:m,setSelectedSection:h,selectedSection:v,activeSections:p,setActiveSections:y,setFormData:g,isDragging:x,pasteElement:f}=S.useContext(Ie);S.useEffect(()=>{const P=K=>{var L;const M=K.target;if(!(M.tagName==="INPUT"||M.tagName==="TEXTAREA"||M.isContentEditable)&&v){const I=((L=K.clipboardData)==null?void 0:L.getData("text"))||"";f(v,void 0,I)}};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,f]);const N=S.useRef((b==null?void 0:b.length)||0);S.useEffect(()=>{var P;h(((P=b[0])==null?void 0:P.id)||null)},[]),S.useEffect(()=>{(b==null?void 0:b.length)>N.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),N.current=(b==null?void 0:b.length)||0},[b==null?void 0:b.length]);const A=S.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),w=S.useCallback((P,K)=>{g(M=>{const L=M.findIndex(B=>B.id===P),I=M.findIndex(B=>B.id===K);if(L===-1||I===-1||L===I)return M;const D=[...M],[O]=D.splice(L,1);return D.splice(I,0,O),D})},[g]);function C(P){p.includes(P)?y(K=>K.filter(M=>M!==P)):y(K=>[...K,P])}function k(P){r.current=P,s(!0)}const E=P=>{var M,L,I,D;const K=(O,B={})=>({...JSON.parse(JSON.stringify(O)),...B});if(P.sections&&Array.isArray(P.sections)){const B=P.sections.filter(Boolean).map(q=>{var X;const G=Le.v4(),V=(X=q.questionData)==null?void 0:X.map(oe=>K(oe,{id:Le.v4(),sectionId:G}));if(V){const oe=new Map;q.questionData.forEach((ne,Q)=>{oe.set(ne.id,V[Q].id)}),V.forEach(ne=>{ne.gridId&&oe.has(ne.gridId)&&(ne.gridId=oe.get(ne.gridId))})}return K(q,{id:G,questionData:V||[]})});b.length===1&&b[0].title===""&&b[0].description===""&&(!((M=b[0])!=null&&M.questionData)||((I=(L=b[0])==null?void 0:L.questionData)==null?void 0:I.length)===0)?(g(B),B.length>0&&h((D=B[0])==null?void 0:D.id)):g(q=>[...q,...B])}},_=Ce("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx(Gu,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=b==null?void 0:b.filter(P=>!(P!=null&&P.isDeleted)))==null?void 0:T.map((P,K)=>{var M;return a.jsx($u,{section:P,index:K,selectedSection:v,setSelectedSection:h,activeSections:p,toggleSection:C,handleSectionEdit:k,removeSection:u,formDataLength:((M=b==null?void 0:b.filter(L=>!(L!=null&&L.isDeleted)))==null?void 0:M.length)||0,onDragOver:A,setIsDragging:m,isDragging:x,onReorderSection:w},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4",children:[a.jsxs("button",{type:"button",onClick:()=>c(),style:{color:(_==null?void 0:_.buttonColor)||"#333"},className:"text-sm font-medium",children:["+ Add section"," "]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(_==null?void 0:_.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(Vu,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:E})]})},Wu=()=>{const{formData:e,uploadUrl:n}=S.useContext(Ie),[i,o]=S.useState("multi"),s=Ce("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Eo,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t)})})]})},Co=({loadingClass:e})=>{const n=be("h-full w-full min-h-[300px] flex justify-center items-center",e);return S.useEffect(()=>{const i=Ce("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Uu=S.lazy(()=>Promise.resolve().then(()=>Lg));function qu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=S.useContext(Ie);S.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),S.useEffect(()=>{r(n)},[n,r]);const c=S.useCallback(b=>{b.preventDefault();try{const m=JSON.parse(b.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:b=>b.preventDefault(),onDrop:b=>c(b),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(ju,{onAddTemplate:i,templates:o}):a.jsx(S.Suspense,{fallback:a.jsx(Co,{loadingClass:"!w-full !h-full"}),children:a.jsx(Uu,{formData:u})})}),s==="canvas"&&a.jsx(re.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Wu,{})})})]})}const Yu=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],Ju=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],Zu=({formType:e="default"})=>{const[n,i]=S.useState(""),[o,s]=S.useState(!1),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d}=S.useContext(Ie);S.useEffect(()=>{const f=()=>{try{const A=localStorage.getItem("form_builder_clipboard");if(A){const w=JSON.parse(A);(w==null?void 0:w.type)==="FORM_BUILDER_CLIPBOARD"&&(w!=null&&w.timestamp)?Date.now()-w.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(!1)):s(!0):s(!1)}else s(!1)}catch(A){s(!1)}};f();const N=setInterval(f,1e3);return()=>clearInterval(N)},[]);const u=S.useCallback((f,N)=>{if(!r){Ee.toast.error("Please select a section to add an element.");return}f.dataTransfer.setData("properties",JSON.stringify(N)),f.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function c(f){if(!r){Ee.toast.error("Please select a section to add an element.");return}const N={...f,id:Le.v4(),sectionId:r};l(N,r)}const b=Ce("config")||{},m=b.elementColor,h=b.elementBgColor,v=b.elementBorderColor,p=Ad.filter(f=>f.label.toLowerCase().includes(n.toLowerCase())),y=e==="poll"?Ju:Yu,g=e==="poll"?Ed:kd,x=y==null?void 0:y.map(f=>({title:f.title,elements:p.filter(N=>{var A;return(A=g[f.key])==null?void 0:A.includes(N.type)})})).filter(f=>f.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:f=>i(f.target.value),name:"search",id:"search",autoComplete:"off"}),o&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors",onClick:()=>{if(!r){Ee.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(le,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:x==null?void 0:x.map((f,N)=>{var A;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:f.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(A=f.elements)==null?void 0:A.map(w=>a.jsx("li",{onDragStart:C=>u(C,w),onDragEnd:()=>t(!1),onClick:()=>c(w),style:{borderColor:v,backgroundColor:h},className:`cursor-move text-[#475467] flex justify-between items-center \r
34
+ `}),a.jsx(be.Popover,{className:"relative w-full",children:({open:S})=>a.jsxs(a.Fragment,{children:[a.jsxs(be.Popover.Button,{disabled:i,className:he(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(re,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(be.Transition,{show:S,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(be.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:b.map(p=>a.jsx("button",{type:"button",onClick:()=>g(p,h,y),style:v===p?{backgroundColor:u}:{},className:he("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(p=>a.jsx("button",{type:"button",onClick:()=>g(v,p,y),style:h===p?{backgroundColor:u}:{},className:he("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",h===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:f.map(p=>a.jsx("button",{type:"button",onClick:()=>g(v,h,p),style:y===p?{backgroundColor:u}:{},className:he("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",y===p?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:p},p))})]})]})})]})})]})};function tu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:s}=n||{};let t;return s&&(t=s()[e.id]),w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(au,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function No({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:he("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function lu({element:e,validationData:n}){var c;const[i,o]=w.useState((c=e==null?void 0:e.value)!=null?c:null),{register:s=()=>({}),setValue:t,isReadOnly:l,watch:r}=n||{};w.useEffect(()=>{s(e.id)},[e.id,s]),w.useEffect(()=>{if(r){const b=r(m=>{o(m[e.id])});return()=>{var m;return(m=b.unsubscribe)==null?void 0:m.call(b)}}},[r,e.id]);const d=w.useCallback(b=>{t==null||t(e.id,b),o(b)},[e.id,t]),u=()=>{t==null||t(e.id,null),o(null)};return a.jsxs("div",{children:[!l&&a.jsx(ra,{onFileLoaded:d,disabled:l,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),l&&a.jsx(a.Fragment,{children:i?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((b,m)=>a.jsx("div",{children:a.jsx(la,{fileUrl:b.base64,fileName:b.name})},m))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function ru({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=w.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsxs("div",{className:"relative w-full",children:[a.jsx("input",{placeholder:e.placeholder,type:t?"text":"password",className:he("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none",title:t?"Hide password":"Show password",children:a.jsx(re,{icon:t?"fluent:eye-off-24-regular":"fluent:eye-24-regular",iconClass:"text-lg"})})]})}function du({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:he("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function uu(){return a.jsx("div",{children:"SectionInput"})}function cu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:he("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const wn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function zn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,c]=w.useState(null),[b,m]=w.useState([]),[f,v]=w.useState(!1),h=w.useRef(!0);w.useEffect(()=>{const N=new AbortController,C=i!=null?i:o;let k="";u!==null?k=u:C&&(k=String(C));const E=async()=>{var L,H;if(n){v(!0);try{const T=Pe("token"),P={...T?{headers:{Authorization:`Bearer ${T}`}}:{},signal:N.signal,params:k?{search:k}:{}};let B=(await qe.get(n,P)).data;if(B&&!Array.isArray(B)&&(B.data&&Array.isArray(B.data)?B=B.data:(L=B.data)!=null&&L.data&&Array.isArray(B.data.data)?B=B.data.data:B.results&&Array.isArray(B.results)?B=B.results:(H=B.data)!=null&&H.results&&Array.isArray(B.data.results)?B=B.data.results:B.items&&Array.isArray(B.items)&&(B=B.items)),Array.isArray(B)){const O=B.map(D=>{var K,V,Z,te,se,ie,U,ee,de,z,R,ae,Q,G;if(typeof D=="string")return{label:D,value:D};const j=(de=(ie=(se=(te=(Z=(V=(K=D.label)!=null?K:D.name)!=null?V:D.title)!=null?Z:D.productName)!=null?te:D.description)!=null?se:D.text)!=null?ie:D.displayName)!=null?de:String((ee=(U=D.id)!=null?U:D.value)!=null?ee:""),q=String((G=(Q=(ae=(R=(z=D.value)!=null?z:D.id)!=null?R:D.key)!=null?ae:D.code)!=null?Q:D.name)!=null?G:"");return{label:String(j),value:String(q)}});m(O)}}catch(T){qe.isCancel(T)||console.error("Failed to fetch options",T)}finally{N.signal.aborted||v(!1)}}},_=h.current&&C?0:400;h.current=!1;const M=setTimeout(()=>{E()},_);return()=>{clearTimeout(M),N.abort()}},[n,u,i,o]);const y=n?b:e,g=w.useMemo(()=>{const N=i!=null?i:o;if(N==null||N==="")return null;const C=y.find(k=>String(k.value)===String(N)||String(k.label)===String(N));return C||{label:s||(wn(N)?"":String(N)),value:String(N)}},[i,o,s,y]),[S,p]=w.useState(g);w.useEffect(()=>{const N=i!==void 0?i:o;if(N!==void 0)if(N===null||N==="")p(null);else{const C=y.find(k=>String(k.value)===String(N)||String(k.label)===String(N));p(C||(k=>k&&(String(k.value)===String(N)||String(k.label)===String(N))?{label:s||(k.label&&!wn(k.label)?k.label:wn(N)?"":String(N)),value:String(N)}:{label:s||(wn(N)?"":String(N)),value:String(N)}))}},[i,o,s,y]);const x=w.useMemo(()=>{let N=y;if(S&&!N.some(k=>String(k.value)===String(S.value)||String(k.label)===String(S.label))&&(N=[S,...N]),!u)return N;const C=u.toLowerCase();return N.filter(k=>k.label.toLowerCase().includes(C))},[u,y,S]),A=w.useCallback(N=>{p(N),t(r,N)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(be.Combobox,{value:S,onChange:A,disabled:l,by:(N,C)=>N&&C?String(N.value)===String(C.value)||String(N.label)===String(C.label):N===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(be.ComboboxInput,{className:`field-control ${d}`,displayValue:N=>{if(N!=null&&N.label&&!wn(N.label))return N.label;if(s)return s;if(N!=null&&N.label)return N.label;const C=i!=null?i:o;return C&&!wn(C)?String(C):""},onChange:N=>c(N.target.value),placeholder:f?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(be.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:f?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(re,{icon:"octicon:chevron-down-12"})})]}),a.jsx(be.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:f?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):x==null?void 0:x.map((N,C)=>a.jsx(be.ComboboxOption,{value:N,className:({active:k,selected:E})=>he("select-option",{active:k,selected:E}),children:({selected:k})=>a.jsx("div",{className:he("option-text",{selected:k}),children:N.label})},`${N.value}-${C}`))})]})})}function bu({element:e,validationData:n}){var c,b,m,f;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isViewer:l}=n||{};let r,d;if(t){const v=t();r=v[e.id];const h=v[`${e.id}_metaData`];d=(h==null?void 0:h.label)||(h==null?void 0:h.name)||((b=(c=e==null?void 0:e.metaData)==null?void 0:c.responseObject)==null?void 0:b.label)}w.useEffect(()=>{i(e.id)},[e.id,i]);const u=l?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!l?a.jsx(an,{options:(m=e==null?void 0:e.options)!=null?m:[],register:i,name:e.id,setValue:s,trigger:o,value:r,className:he("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(zn,{name:e.id,options:(f=e==null?void 0:e.options)!=null?f:[],apiUrl:u,value:r,selectedLabel:d,onGetValue:(v,h)=>{var y;s==null||s(v,(y=h==null?void 0:h.value)!=null?y:""),h&&(s==null||s(`${v}_metaData`,h)),o&&o(v)},readOnly:n==null?void 0:n.isReadOnly})})}function mu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return w.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:he("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function vu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return w.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(ce,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function fu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const hu=({imageUrl:e})=>{const[n,i]=w.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},pu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function gu({element:e,validationData:n}){var N;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=w.useState(),[r,d]=w.useState(!1),[u,c]=w.useState(!1),[b,m]=w.useState(""),f=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;w.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(f)},[f,v,e.valueSource,e.id,o]);const[h,y]=w.useState("");w.useEffect(()=>{i(e.id)},[e.id,i]);const{url:g,method:S,responseType:p}=e||{},x=w.useRef(null),A=w.useCallback(async C=>{var E,_,M,L,H,T,P,I,B,O,D,j,q,K;if(!g||typeof g!="string"||!g.trim()||!S)return;x.current&&x.current.abort();const k=new AbortController;x.current=k,d(!0),m(""),c(!1);try{let V;const Z={headers:{Authorization:`Bearer ${Pe("token")}`},signal:k.signal};if(S.toLowerCase()==="get"){const te=`${g}?value=${C}`;V=await qe.get(te,Z)}else if(S.toLowerCase()==="post")V=await qe.post(g,{value:C},Z);else throw new Error("Unsupported HTTP method");if(V.status===200)if(((_=(E=V==null?void 0:V.data)==null?void 0:E.data)==null?void 0:_.status)===!1||((M=V==null?void 0:V.data)==null?void 0:M.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),c(!1);else if(c(!0),p==="string"){let se=((H=(L=V==null?void 0:V.data)==null?void 0:L.data)==null?void 0:H.description)||((T=V==null?void 0:V.data)==null?void 0:T.description)||((P=V==null?void 0:V.data)==null?void 0:P.data)||(V==null?void 0:V.data)||"Validation successful";typeof se=="object"&&se!==null&&(se=JSON.stringify(se)),m(se)}else{const se=((B=(I=V==null?void 0:V.data)==null?void 0:I.data)==null?void 0:B.description)||((O=V==null?void 0:V.data)==null?void 0:O.description)||((D=V==null?void 0:V.data)==null?void 0:D.data)||(V==null?void 0:V.data)||{};y(se),typeof se=="object"&&se!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,se)}}catch(V){if(!qe.isCancel(V)){console.error("Error validating input:",V);let Z=((q=(j=V==null?void 0:V.response)==null?void 0:j.data)==null?void 0:q.message)||((K=V==null?void 0:V.response)==null?void 0:K.data)||"Unable to validate input";typeof Z=="object"&&Z!==null&&(Z=JSON.stringify(Z)),m(Z),c(!1)}}finally{x.current===k&&d(!1)}},[S,p,g]);return w.useEffect(()=>{if(t){const C=setTimeout(()=>{A(t)},700);return()=>clearTimeout(C)}},[A,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:he("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(re,{icon:"gg:check-o"})})]})]}),b&&p==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:b}),p==="object"&&h&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(N=Object.entries(h))==null?void 0:N.map(([C,k])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:pu(C)}),fu(k)?a.jsx(hu,{imageUrl:k}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(k)})]},C))})]})}function yu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=w.useState([...i]);function l(u,c){t(b=>{const m=[...b];return m[c]={...m[c],value:u},m})}function r(u,c){return parseFloat(u)*parseFloat(c)||0}const d=w.useMemo(()=>s.reduce((u,c)=>{const b=r(c.key,c.value);return u+b},0),[s]);return w.useEffect(()=>{e&&e(s)},[s]),w.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((c,b)=>({key:c.value,value:Array.isArray(i)&&i[b]?i[b].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,c)=>{var b,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(b=parseFloat(u.key))==null?void 0:b.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>l(f,c),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},c+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function xu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return w.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(yu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function Su({element:e}){return a.jsx("div",{className:he("py-6",e==null?void 0:e.customClass)})}function wu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:he("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function Nu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Cu({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function Au({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var f;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:c}=s(e.id,l.field);let b="border-gray-300";l.validate&&((c==null?void 0:c.isValid)===!1?b="border-red-500 bg-red-50":(c==null?void 0:c.isValid)===!0&&(b="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${b}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(ui,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const h=v==="yes",y=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:y,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:y,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===h,onChange:()=>o(h,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:h?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,h)=>o((h==null?void 0:h.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&c?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",c.data&&`[${c.data}]`]}),c.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=c.error)!=null?f:"",children:"✗"})]}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(re,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const ku=w.memo(Au);function Eu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=w.useState(e),l=Pe("config"),r=w.useRef(s);r.current=s,w.useEffect(()=>{t(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const d=w.useCallback((m,f,v)=>{const h=r.current.map(y=>y.id===f?{...y,[v]:m}:y);t(h),n==null||n(h)},[n]),u=w.useCallback(()=>{const m=Me.v4(),f=o.reduce((h,y)=>(h[y.field]=y.field==="id"?m:"",h),{}),v=[...r.current,{id:m,...f}];t(v),n==null||n(v)},[o,n]),c=w.useCallback(m=>{const f=r.current.filter(v=>v.id!==m);t(f),n==null||n(f)},[n]),b=w.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,f)=>{var v;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(v=m.headerName)!=null?v:String(m.field),m.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${f}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(m=>a.jsx(ku,{row:m,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:b,deleteRow:c},m.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:u,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Mu({element:e,validationData:n}){var f;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=s&&s(e==null?void 0:e.id)||{},r=Array.isArray(l)?l:(f=l==null?void 0:l.rows)!=null?f:[];w.useEffect(()=>{i(e.id)},[e.id,i]);const d=w.useRef(""),u=w.useRef(e==null?void 0:e.id),c=w.useRef(e==null?void 0:e.dataColumns),b=w.useRef(o);u.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,b.current=o;const m=w.useCallback(v=>{var y;const h=JSON.stringify(v);h!==d.current&&(d.current=h,(y=b.current)==null||y.call(b,u.current,{rows:v,columns:c.current}))},[]);return a.jsx(Eu,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const da=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:c=!1,isFloatingLabel:b=!1,subText:m,labelClass:f="",loading:v,disabled:h})=>{const[y,g]=w.useState(c?[]:null),S=he("custom-select__control",e),p=w.useMemo(()=>n,[n]);w.useEffect(()=>{const A=n==null?void 0:n.find(N=>{var C;return typeof N.value=="string"&&typeof d=="string"?N.value.toLowerCase()===d.toLowerCase():typeof N.value=="object"&&typeof d=="object"?((C=N.value)==null?void 0:C.id)===(d==null?void 0:d.id):N.value===d});g(A||null)},[d,n]);const x=w.useMemo(()=>d==null||d===""||!n||n.length===0?!1:c&&Array.isArray(d)?Array.isArray(y)&&y.length<d.length:!n.some(N=>{var C;return typeof N.value=="string"&&typeof d=="string"?N.value.toLowerCase()===d.toLowerCase():typeof N.value=="object"&&typeof d=="object"?((C=N.value)==null?void 0:C.id)===(d==null?void 0:d.id):N.value===d}),[d,n,y,c]);return w.useEffect(()=>{y&&t&&s&&(t(l,y==null?void 0:y.value),s(l),u==null||u(l))},[l,y,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!b&&a.jsx("label",{className:"custom-select__label",children:r}),b&&r&&a.jsx("label",{className:he("custom-select__floating-label",f),children:r}),a.jsx(be.Listbox,{value:y,onChange:g,multiple:c,disabled:h,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(be.Listbox.Button,{className:S,disabled:h,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(y==null?void 0:y.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(re,{icon:"lucide:chevron-down"})})]}),a.jsx(be.Transition,{as:w.Fragment,leave:"custom-select__transition",children:a.jsx(be.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:p==null?void 0:p.map((A,N)=>a.jsx(be.Listbox.Option,{value:A,className:({active:C})=>he("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:he("custom-select__option-label",C&&"custom-select__option--selected"),children:A.label})},N))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),x&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},Tu=({element:e,validationData:n})=>{var h;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{},r=(h=e==null?void 0:e.id)!=null?h:"cascadeValue",[d,u]=w.useState(""),[c,b]=w.useState(""),m=(y,g)=>{const S=y&&g?`${y}_${g}`:"";s==null||s(r,S),o==null||o(r)},f=(y,g)=>{y==="first"?(u(g),b(""),m(g,"")):(b(g),m(d,g))};w.useEffect(()=>{if(t){const y=t(r);if(y!=null&&y.includes("_")){const[g,S]=y.split("_");u(g),b(S)}}},[t,r]);const v=w.useMemo(()=>{var y;return(y=e.options1)==null?void 0:y.filter(g=>g.key===d)},[e.options1,d]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(r)}),a.jsx("div",{className:"relative",children:a.jsx(da,{setValue:(y,g)=>f("first",g),options:e.options,name:`${r}`,register:i,value:d})}),d&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(da,{setValue:(y,g)=>f("second",g),options:v,name:`${r}`,register:i,value:c})]})]})},Pu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var g;const{register:d=()=>({}),trigger:u,setValue:c,watch:b,isReadOnly:m}=r||{},f=(g=b==null?void 0:b(l.id))!=null?g:0,[v,h]=w.useState(null);w.useEffect(()=>{f==null&&(c==null||c(l.id,e))},[]);const y=S=>{if(!i&&!m){const p=S+1;c==null||c(l.id,p),u==null||u(l.id),o==null||o(p)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(S,p)=>{const x=v!==null?p<=v:p<f;return a.jsx(ea,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&h(p),onMouseLeave:()=>!(i||m)&&h(null),onClick:()=>y(p)},p)})]})};function Lu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:he("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function ua({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=w.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,h]=r.split(",").map(y=>y.trim());return{country:h,state:v}}return{country:r,state:""}},[r]),c=w.useRef(r),b=w.useMemo(()=>{var v,h;return d?((h=(v=fi.find(y=>y.name===d))==null?void 0:v.states)==null?void 0:h.map(y=>({label:y.name,value:y.name})))||[]:[]},[d]),m=(v,h)=>{const g=(h==null?void 0:h.value)||"";o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)},f=(v,h)=>{const y=(h==null?void 0:h.value)||"",g=y?`${y}, ${d}`:d;o&&g!==c.current&&(o(e.id,g),s==null||s(e.id),c.current=g)};return w.useEffect(()=>{c.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(zn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),b.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(zn,{options:b,onGetValue:f,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const Co=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Bu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:c,description:b,onChange:m,onError:f}){const[v,h]=w.useState(""),[y,g]=w.useState(null),[S,p]=w.useState(""),x=w.useMemo(()=>{var M;return(M=Co==null?void 0:Co.slice().sort((L,H)=>L.label.localeCompare(H.label)))==null?void 0:M.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=w.useMemo(()=>v?x.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(v.toLowerCase())):x,[v,x]),N=(y==null?void 0:y.min)||10,C=(y==null?void 0:y.max)||10,k=()=>S?`${(y==null?void 0:y.phone)||"+234"}-${S}`:"",E=M=>{if(!M||typeof M!="string")return{code:"+234",number:""};const L=M.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};w.useEffect(()=>{if(l){const M=k();if(l!==M){const L=E(l);g(x.find(H=>H.phone===L.code)||x[0]),p(L.number)}}},[l,x]);const _=w.useMemo(()=>{if(r)return r;const M=S.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(S)?"Phone number must contain only digits":M>0&&M<N?`Minimum length is ${N}`:M>C?`Maximum length is ${C}`:""},[r,S,N,C,o]);return w.useEffect(()=>{const M=k();M!==l&&(m==null||m(M))},[S,y]),w.useEffect(()=>{f==null||f(_||null)},[_]),a.jsxs("div",{className:`relative formGroup ${_&&!u?"has-error":""} ${c?"flex":""} ${!_&&S.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${c?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(re,{icon:"lucide:phone-call"}),a.jsx(be.Combobox,{value:y,onChange:g,children:a.jsxs("div",{className:"relative",children:[a.jsx(be.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:M=>(M==null?void 0:M.phone)||"+234",placeholder:"+234",onChange:M=>h(M.target.value)}),a.jsx(be.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(re,{icon:"lucide:chevron-down"})}),a.jsx(be.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:A==null?void 0:A.map((M,L)=>a.jsxs(be.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${L}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:S,disabled:d,readOnly:u,onChange:M=>{const L=M.target.value.replace(/\D/g,"");p(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:N}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!_&&S.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(re,{icon:"bi:check-lg"})})})]})]}),b&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:b})]})}function Iu({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return w.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Bu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function Du({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;w.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),c=d?u?d:`https://${d}`:"",b=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[b&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:he("field-control",b&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:c,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function _u({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=w.useMemo(()=>{const c=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const v=/@\[.*?\]\((.*?)\)/.exec(f);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...c,...m]))},[s]),l=i?i(t):[],r=w.useMemo(()=>{if(!s)return"";let u=s,c=!1;if(t.forEach((b,m)=>{const f=l[m],v=Number(f);(isNaN(v)||f===void 0||f===null||f==="")&&(c=!0),u=u.replace(new RegExp(`\\{\\{${b}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${b}\\)`,"g"),String(v||0))}),c)return"";try{const b=u.replace(/[^0-9+\-*/().\s]/g,"");if(!b)return"";const m=new Function(`return ${b}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(b){return"Error"}},[s,t,l]);return w.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:he("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Ou({element:e,validationData:n,state:i}){var f;const{register:o,watch:s,setValue:t}=n||{},[l,r]=w.useState({}),[d,u]=w.useState(0),c=s?s(e.id):null,b=!!(c||n!=null&&n.showResults);w.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const y=await fetch(e.externalApiUrl);if(!y.ok)return;const g=await y.json();let S={};Array.isArray(g)?g.forEach(x=>{const A=x.value||x.id||x.option,N=x.count||x.votes||x.value||0;A&&(S[A]=Number(N))}):typeof g=="object"&&(S=g),r(S);const p=Object.values(S).reduce((x,A)=>x+Number(A),0);u(p)}catch(y){console.error("Failed to fetch polling results",y)}};v();const h=setInterval(v,1e4);return()=>clearInterval(h)},[e.fetchExternalResults,e.externalApiUrl]),w.useEffect(()=>{e.fetchExternalResults||(c?(r({[c]:1}),u(1)):(r({}),u(0)))},[c,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(v=>{const h=l[v.value]||0,y=d>0?Math.round(h/d*100):0,g=c===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:he("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",g?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[b&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${y}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:he("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",g?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:g&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:he("font-medium text-sm",g?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),b&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[y,"%"]}),g&&a.jsx(re,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),b&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ca={textField:No,longText:mu,selectField:bu,multiSelect:xo,numberField:No,amountField:vu,date:su,time:tu,password:ru,checkbox:cu,radio:du,email:No,file:lu,dataGrid:Mu,section:uu,dataLookup:gu,tableInput:xu,spacer:Su,divider:wu,header:Nu,basicText:Cu,phoneField:Iu,cascadeSelect:Tu,rating:Pu,matrix:Lu,country:ua,bank:ua,url:Du,calculatedField:_u,polling:Ou,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:he("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=w.useState(r||e.options||[]);w.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const c=m=>{if(o||n==="edit"||m===0)return;const f=[...d],v=f[m-1];f[m-1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})},b=m=>{if(o||n==="edit"||m===d.length-1)return;const f=[...d],v=f[m+1];f[m+1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,f)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>c(f),disabled:o||n==="edit"||f===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(re,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>b(f),disabled:o||n==="edit"||f===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(re,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:f+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=c=>{o||n==="edit"||typeof l=="function"&&l(e.id,c,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(c=>a.jsxs("div",{onClick:()=>d(c.value),className:he("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===c.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:c.imageUrl?a.jsx("img",{src:c.imageUrl,alt:c.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(re,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:he("p-3 text-center text-sm font-medium",r===c.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:c.label})]},c.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},ba="edit",Hu=(e,n)=>{var o;const i=ca[e.type];return i?a.jsx(wo,{element:e,state:ba,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:ba,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},pi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:he("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Fu=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:c,removeElement:b}=w.useContext(De),m=w.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,v]=w.useState(null);w.useEffect(()=>{const x=()=>{v(null),d(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[d]);const h=w.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",v(A)},[]),y=w.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),v(A)},[]),g=w.useCallback((x,A)=>{const N=x.relatedTarget;N&&x.currentTarget.contains(N)||v(C=>C===A?null:C)},[]),S=w.useCallback((x,A)=>{var k;x.preventDefault(),x.stopPropagation(),d(!1),v(null);const N=A+1,C=x.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:N});return}try{const E=x.dataTransfer.getData("properties");if(!E)return;const _=JSON.parse(E);if((_==null?void 0:_.type)==="grid")return;const M=l.find(T=>T.id===n),L=(k=M==null?void 0:M.questionData)==null?void 0:k.find(T=>{var P;return!T.isDeleted&&T.gridId===e.id&&((P=T.gridPosition)==null?void 0:P.col)===N});L&&b(L.id,n);const H={..._,id:Me.v4(),sectionId:n,gridId:e.id,gridPosition:{col:N}};r(H,n)}catch(E){console.error("Drop failed in grid:",E),d(!1)}},[r,e.id,l,n,d,u]),p=(x,A,N)=>{var P,I,B;const C=x+1,k=(I=(P=l.find(O=>O.id===n))==null?void 0:P.questionData)==null?void 0:I.find(O=>{var D;return!O.isDeleted&&O.gridId===e.id&&((D=O.gridPosition)==null?void 0:D.col)===C}),E=(B=k==null?void 0:k.id)!=null?B:null,_=Array.isArray(i)&&i.find(O=>{var D;return((D=O==null?void 0:O.props)==null?void 0:D.col)===C}),M=c&&f===x,L=!!_,H=c&&!!t,T=L&&E&&N==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",E),O.dataTransfer.setData("properties",E),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:O=>S(O,x),onDragEnter:O=>y(O,x),onDragOver:O=>h(O,x),onDragLeave:O=>g(O,x),className:he("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",N==="edit"?"py-3 ":"",L&&N==="edit"&&"cursor-grab active:cursor-grabbing border-none",A,!H&&!M&&"bg-white border-gray-200 text-gray-300",H&&!M&&!L&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",H&&!M&&L&&"bg-white border-orange-200 border-dashed",M&&!L&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",M&&L&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[L&&N==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(re,{icon:"ph:dots-six-bold"})}),M&&!L&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(re,{icon:"ph:plus-bold"}),"Drop here"]}),M&&L&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:he("w-full select-none min-w-0",M&&"opacity-50 pointer-events-none"),children:_||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:N==="edit"&&a.jsx(re,{icon:"ph:plus-bold"})})})]})},x)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((x,A)=>p(A,o,s))})})},gi=w.memo(Fu),Ku="edit";function Ao({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=w.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:he("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(re,{icon:"octicon:plus-16"}),"Drop here"]})})}function Gu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=w.useContext(De),[r,d]=w.useState(null),u=w.useMemo(()=>{var S;return((S=i.find(p=>p.id===n))==null?void 0:S.questionData)||[]},[i,n]),c=w.useCallback((S,p)=>{S.dataTransfer.setData("elementId",p),S.dataTransfer.setData("properties",p),S.dataTransfer.effectAllowed="move",d(p),s(!0)},[s]),b=w.useCallback(()=>{d(null),s(!1)},[s]);w.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=w.useCallback(S=>{S.preventDefault(),S.stopPropagation();const p=S.dataTransfer.getData("elementId"),x=S.currentTarget.id;if(!p||!x||p===x){b();return}const A=u.find(C=>C.id===p),N=u.findIndex(C=>C.id===x);A!=null&&A.gridId&&N!==-1?l({draggedId:p,sectionId:n,targetIndex:N}):l({draggedId:p,sectionId:n,targetId:x}),d(null),s(!1)},[n,l,s,b,u]),f=w.useCallback((S,p)=>{S.preventDefault(),S.stopPropagation(),s(!1);const x=S.dataTransfer.getData("elementId");if(x){l({draggedId:x,sectionId:n,targetIndex:p}),d(null);return}try{const A=JSON.parse(S.dataTransfer.getData("properties"));if((A==null?void 0:A.type)==="section")return;const N={...A,id:Me.v4(),sectionId:n};t(N,n,p),d(null)}catch(A){console.error("Drop error:",A)}},[t,n,s,l]),v=w.useCallback((S,p=!1)=>a.jsx("div",{id:S.id,draggable:!0,onDragStart:x=>c(x,S.id),onDragOver:p?void 0:x=>{x.preventDefault(),x.stopPropagation()},onDrop:p?void 0:m,onDragEnd:b,className:he("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===S.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Hu(S,n)},S.id),[r,m,n,c,b]),h=w.useMemo(()=>(e==null?void 0:e.reduce((S,p)=>(p.gridId&&!p.isDeleted&&(S[p.gridId]=S[p.gridId]||[],S[p.gridId].push(p)),S),{}))||{},[e]),y=w.useMemo(()=>(e==null?void 0:e.filter(S=>!S.isDeleted))||[],[e]);if(!y.length)return a.jsx("div",{onDragOver:S=>S.preventDefault(),onDrop:S=>f(S,0),onDragEnd:b,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const g=y.filter(S=>!S.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(Ao,{index:0,isDragging:o,onDrop:f,onDragEnd:b}),g.map(S=>{const p=u.findIndex(x=>x.id===S.id);if(S.type==="grid"){const x=h[S.id]||[],A=r===S.id,N=!!r&&!A;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:S.id,draggable:!0,onDragStart:C=>c(C,S.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:b,className:he("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",A?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":N?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(wo,{element:S,state:"edit",children:a.jsx(gi,{element:S,sectionId:n,state:Ku,draggedElementId:r,children:x==null?void 0:x.map(C=>{var k;return a.jsx(pi,{col:(k=C.gridPosition)==null?void 0:k.col,children:v(C,!0)},C.id)})})})}),a.jsx(Ao,{index:p+1,isDragging:o,onDrop:f,onDragEnd:b})]},S.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(S),a.jsx(Ao,{index:p+1,isDragging:o,onDrop:f,onDragEnd:b})]},S.id)})]})}const Vu=w.memo(Gu),zu=oe.object({title:oe.string(),description:oe.string(),disabled:oe.boolean().default(!1),isHidden:oe.boolean().default(!1),sendEmptyWhenHidden:oe.boolean().default(!1)}).required(),ko=Pe("config"),$u=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=w.useContext(De),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:c}=Re.useForm({resolver:fo(zu),defaultValues:i});if(w.useEffect(()=>{e||c()},[e,c]),!e)return null;const b=f=>{o(f,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(re,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(b),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(ce,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(ce,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(ce,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(ce,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"}),a.jsx(ce,{label:"Send Empty When Hidden",name:"sendEmptyWhenHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.sendEmptyWhenHidden,description:"Submits empty values for this section's fields when hidden"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(ko==null?void 0:ko.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},ju=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(re,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Wu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],Uu=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,copySection:d,duplicateSection:u,formDataLength:c,onDragOver:b,setIsDragging:m,isDragging:f,onReorderSection:v})=>{var S,p;const h=w.useRef(null),y=w.useRef((S=e==null?void 0:e.questionData)==null?void 0:S.length),g=w.useRef(f);return w.useEffect(()=>{var x,A;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>y.current&&!f&&!g.current){const N=document.getElementById("section-container");N&&requestAnimationFrame(()=>{N.scrollTo({top:N.scrollHeight,behavior:"smooth"})})}y.current=(A=e==null?void 0:e.questionData)==null?void 0:A.length},[(p=e==null?void 0:e.questionData)==null?void 0:p.length,f]),w.useEffect(()=>{g.current=f},[f]),a.jsx("div",{ref:h,onDragOver:x=>{x.dataTransfer.types.includes("sectionid")&&x.preventDefault()},onDrop:x=>{const A=x.dataTransfer.getData("sectionid");A&&(x.preventDefault(),x.stopPropagation(),v&&v(A,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
+ ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:x=>{x.dataTransfer.setData("sectionid",e.id),x.dataTransfer.effectAllowed="move",m(!0)},onDragEnd:()=>m(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(re,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Copy section to clipboard",onClick:x=>{x.stopPropagation(),d==null||d(e.id)},children:a.jsx(re,{icon:"fluent:copy-20-regular"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Duplicate section",onClick:x=>{x.stopPropagation(),u==null||u(e.id)},children:a.jsx(re,{icon:"lucide:copy-plus"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Edit section",onClick:()=>l(e),children:a.jsx(re,{icon:"fluent:edit-28-regular"})}),c>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-red-50 text-gray-600 hover:text-red-600 transition-colors",title:"Delete section",onClick:()=>r(e.id),children:a.jsx(re,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(re,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:b,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(Vu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},qu=({onAddTemplate:e,templates:n})=>{var T;const i=[...Wu,...n||[]],[o,s]=w.useState(!1),[t,l]=w.useState(!1),r=w.useRef(null),d=w.useRef(null),{removeSection:u,addSection:c,formData:b,setIsDragging:m,setSelectedSection:f,selectedSection:v,activeSections:h,setActiveSections:y,setFormData:g,isDragging:S,pasteElement:p,copySection:x,pasteSection:A,duplicateSection:N}=w.useContext(De);w.useEffect(()=>{const P=I=>{var D;const B=I.target;if(B.tagName==="INPUT"||B.tagName==="TEXTAREA"||B.isContentEditable)return;const O=((D=I.clipboardData)==null?void 0:D.getData("text"))||"";O.includes("FORM_BUILDER_SECTION_CLIPBOARD")?A(void 0,O):v&&p(v,void 0,O)};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,p,A]);const C=w.useRef((b==null?void 0:b.length)||0);w.useEffect(()=>{var P;f(((P=b[0])==null?void 0:P.id)||null)},[]),w.useEffect(()=>{(b==null?void 0:b.length)>C.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),C.current=(b==null?void 0:b.length)||0},[b==null?void 0:b.length]);const k=w.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),E=w.useCallback((P,I)=>{g(B=>{const O=B.findIndex(K=>K.id===P),D=B.findIndex(K=>K.id===I);if(O===-1||D===-1||O===D)return B;const j=[...B],[q]=j.splice(O,1);return j.splice(D,0,q),j})},[g]);function _(P){h.includes(P)?y(I=>I.filter(B=>B!==P)):y(I=>[...I,P])}function M(P){r.current=P,s(!0)}const L=P=>{var B,O,D,j;const I=(q,K={})=>({...JSON.parse(JSON.stringify(q)),...K});if(P.sections&&Array.isArray(P.sections)){const K=P.sections.filter(Boolean).map(Z=>{var ie;const te=Me.v4(),se=(ie=Z.questionData)==null?void 0:ie.map(U=>I(U,{id:Me.v4(),sectionId:te}));if(se){const U=new Map;Z.questionData.forEach((ee,de)=>{U.set(ee.id,se[de].id)}),se.forEach(ee=>{ee.gridId&&U.has(ee.gridId)&&(ee.gridId=U.get(ee.gridId))})}return I(Z,{id:te,questionData:se||[]})});b.length===1&&b[0].title===""&&b[0].description===""&&(!((B=b[0])!=null&&B.questionData)||((D=(O=b[0])==null?void 0:O.questionData)==null?void 0:D.length)===0)?(g(K),K.length>0&&f((j=K[0])==null?void 0:j.id)):g(Z=>[...Z,...K])}},H=Pe("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx($u,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=b==null?void 0:b.filter(P=>!(P!=null&&P.isDeleted)))==null?void 0:T.map((P,I)=>{var B;return a.jsx(Uu,{section:P,index:I,selectedSection:v,setSelectedSection:f,activeSections:h,toggleSection:_,handleSectionEdit:M,removeSection:u,copySection:x,duplicateSection:N,formDataLength:((B=b==null?void 0:b.filter(O=>!(O!=null&&O.isDeleted)))==null?void 0:B.length)||0,onDragOver:k,setIsDragging:m,isDragging:S,onReorderSection:E},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4 flex-wrap gap-y-2",children:[a.jsx("button",{type:"button",onClick:()=>c(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline",children:"+ Add section"}),a.jsxs("button",{type:"button",onClick:()=>A(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline flex items-center gap-1",title:"Paste section from clipboard",children:[a.jsx(re,{icon:"lucide:clipboard-paste",iconClass:"text-sm"}),"Paste section"]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(ju,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:L})]})},Yu=()=>{const{formData:e,uploadUrl:n}=w.useContext(De),[i,o]=w.useState("multi"),s=Pe("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Po,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n||"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t)})})]})},Eo=({loadingClass:e})=>{const n=he("h-full w-full min-h-[300px] flex justify-center items-center",e);return w.useEffect(()=>{const i=Pe("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Ju=w.lazy(()=>Promise.resolve().then(()=>Dg));function Zu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=w.useContext(De);w.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),w.useEffect(()=>{r(n)},[n,r]);const c=w.useCallback(b=>{b.preventDefault();try{const m=JSON.parse(b.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:b=>b.preventDefault(),onDrop:b=>c(b),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(qu,{onAddTemplate:i,templates:o}):a.jsx(w.Suspense,{fallback:a.jsx(Eo,{loadingClass:"!w-full !h-full"}),children:a.jsx(Ju,{formData:u})})}),s==="canvas"&&a.jsx(be.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Yu,{})})})]})}const Xu=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],Qu=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],Ru=({formType:e="default"})=>{const[n,i]=w.useState(""),[o,s]=w.useState(null),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d,pasteSection:u}=w.useContext(De);w.useEffect(()=>{const x=()=>{try{const N=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard");if(N){const C=JSON.parse(N);(C==null?void 0:C.type)==="FORM_BUILDER_SECTION_CLIPBOARD"&&(C!=null&&C.section)?s("section"):(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.element)?(C==null?void 0:C.timestamp)&&Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(null)):s("element"):s(null)}else s(null)}catch(N){s(null)}};x();const A=setInterval(x,1e3);return()=>clearInterval(A)},[]);const c=w.useCallback((x,A)=>{if(!r){Ne.toast.error("Please select a section to add an element.");return}x.dataTransfer.setData("properties",JSON.stringify(A)),x.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function b(x){if(!r){Ne.toast.error("Please select a section to add an element.");return}const A={...x,id:Me.v4(),sectionId:r};l(A,r)}const m=Pe("config")||{},f=m.elementColor,v=m.elementBgColor,h=m.elementBorderColor,y=Md.filter(x=>x.label.toLowerCase().includes(n.toLowerCase())),g=e==="poll"?Qu:Xu,S=e==="poll"?Pd:Td,p=g==null?void 0:g.map(x=>({title:x.title,elements:y.filter(A=>{var N;return(N=S[x.key])==null?void 0:N.includes(A.type)})})).filter(x=>x.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:x=>i(x.target.value),name:"search",id:"search",autoComplete:"off"}),o==="section"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-purple-50 text-purple-700 hover:bg-purple-100 rounded-lg text-sm font-medium transition-colors border border-purple-200",onClick:()=>{typeof u=="function"&&u()},title:"Paste copied section",children:[a.jsx(re,{icon:"lucide:clipboard-paste"}),"Paste Section (Ctrl+V)"]}),o==="element"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors border border-blue-200",onClick:()=>{if(!r){Ne.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(re,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:p==null?void 0:p.map((x,A)=>{var N;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:x.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(N=x.elements)==null?void 0:N.map(C=>a.jsx("li",{onDragStart:k=>c(k,C),onDragEnd:()=>t(!1),onClick:()=>b(C),style:{borderColor:h,backgroundColor:v},className:`cursor-move text-[#475467] flex justify-between items-center \r
36
36
  border-[1.5px] border-[#98A2B3] rounded-lg py-2 px-2 shadow-custom\r
37
37
  hover:shadow-lg transition-all duration-200\r
38
- active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:m},children:a.jsx(le,{icon:w.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:m},className:"text-xs font-medium text-center",children:w.label})]})},w.type))})]},N)})})})]})},Xu=S.memo(Zu),Ue=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:c="button",style:b,onClick:m})=>{const h=be("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(le,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(le,{icon:s})})]});return u?a.jsx("div",{className:h,children:v()}):d?a.jsx(wr.Link,{to:d,className:h,children:v()}):a.jsx("button",{disabled:n,type:c,className:h,"data-testid":"btn",onClick:m,style:b,children:v()})};function Qu(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const Ru=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=S.useContext(Ie);if(!e)return null;const s=Ce("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(Qu,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Eo,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function ec(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function nc({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:c}){const{formData:b,setShowPreview:m,showPreview:h,undo:v,redo:p,canUndo:y,canRedo:g}=S.useContext(Ie),[x,f]=S.useState(!1),[N,A]=S.useState(!1),[w,C]=S.useState(e||""),k=Ce("config");function E(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(P){console.warn("Could not save formData to localStorage",P)}i==null||i(b)}function _(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(P){console.warn("Could not save formData to localStorage",P)}o==null||o(b)}function T(){A(!1),r&&w!==e&&r(w.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(ec,{})})," ",N?a.jsx("input",{type:"text",value:w,onChange:P=>C(P.target.value),onBlur:T,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>A(!0),children:w||"Untitled"})]}),x&&a.jsx(Ru,{isOpen:x,onClose:()=>f(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(le,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(le,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Ue,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${y?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!y}),a.jsx(Ue,{onClick:p,text:"",btnClass:`!px-2 bg-transparent redo ${g?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!g}),c&&a.jsx(Ue,{onClick:c,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(k==null?void 0:k.buttonColor)||"#333"}}),a.jsx(Ue,{onClick:()=>m(P=>!P),text:h?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:h?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Ue,{onClick:E,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Ue,{onClick:_,text:"Publish",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function ic({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:h,uploadUrl:v,onAddTemplate:p,templates:y,onShowVersion:g,formType:x="default"}){const[f,N]=S.useState("canvas");return a.jsxs(As,{onChange:n,onLogAction:i,deleteMode:s||(t==null?void 0:t.deleteMode)||"remove",children:[a.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[f==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(Xu,{formType:x})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${f==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(nc,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:h,viewMode:f,setViewMode:N,onShowVersion:g})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(Co,{loadingClass:"!w-full !h-[800px]"}):a.jsx(qu,{questionData:o,uploadUrl:v,onAddTemplate:p,templates:y,viewMode:f})})]})]})})]})}const oc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:c,previewLoading:b,saveLoading:m,publishLoading:h,onTitleChange:v,uploadUrl:p,onAddTemplate:y,templates:g,onShowVersion:x,formType:f})=>(S.useEffect(()=>{l&&Qs("config",l)},[l]),a.jsx(ic,{onSubmit:e,onChange:n,onLogAction:i,onPublish:c,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:b,saveLoading:m,publishLoading:h,onTitleChange:v,uploadUrl:p,onAddTemplate:y,templates:g,onShowVersion:x,formType:f})),on={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},sc=e=>({textField:R.string().nullable(),longText:R.string().nullable(),numberField:R.number().nullable().transform(i=>isNaN(i)?null:i),amountField:R.number().nullable().transform(i=>isNaN(i)?null:i),selectField:R.string().nullable(),checkbox:R.mixed().nullable(),radio:R.mixed().nullable(),matrix:R.mixed().nullable(),email:R.string().nullable().test("email-format",on.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:R.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:R.string().nullable().test("url-format",on.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||R.mixed().nullable(),ac=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||on.required):e.required(i||on.required):e,tc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||on.minLength(n))),i&&(t=t.max(i,s||on.maxLength(i))),t},lc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||on.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||on.maxAmount(i))),t},Ao=(e,n)=>{if(e!=null&&e.isDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function rc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isDeleted||!Ao(r,o))return;const{id:d,type:u,isRequired:c,requiredMessage:b}=r,m=!!(r.isDisabled||r.disabled),h=!!(n||r.isReadOnly||r.readOnly);if(m||h||i){s[d]=R.mixed().notRequired().nullable();return}let v=sc(u);v=ac(v,c,b),u==="textField"||u==="longText"||u==="email"||u==="url"?v=tc(v,r):(u==="numberField"||u==="amountField")&&(v=lc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",p=>{var x;if(p==null||p===""||Array.isArray(p)&&p.length===0)return!c;const g=((x=r.options)==null?void 0:x.length)||0;return Array.isArray(p)?p.length>=g:g<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,p=>p==null||p===""||Array.isArray(p)&&p.length===0?!c:Array.isArray(p)?p.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),R.object().shape(s)}const ua=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},dc=({results:e})=>{var o,s,t,l,r,d,u;const[n,i]=S.useState(!0);return e?a.jsxs("div",{className:"mt-4 w-full",children:[n&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((o=e.responsesData)==null?void 0:o.options)&&e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b)),e.type==="rating"&&((s=e.responsesData)==null?void 0:s.options)&&a.jsxs(a.Fragment,{children:[((t=e.responsesData)==null?void 0:t.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b))]}),e.type==="matrix"&&((l=e.responsesData)==null?void 0:l.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,b)=>{var m;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(m=c.columns)==null?void 0:m.map((h,v)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:h.label}),a.jsxs("span",{children:[Math.round(h.percentage),"% (",h.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${h.percentage}%`}})})]},v))})]},b)})}),e.type==="ranking"&&((r=e.responsesData)==null?void 0:r.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,b)=>{var m,h;return((m=c.averageRank)!=null?m:1/0)-((h=b.averageRank)!=null?h:1/0)}).map((c,b)=>{var m,h;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(m=c.averageRank)!=null?m:b+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:ua(c.label),children:ua(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(h=c.pointsPercentage)!=null?h:c.percentage}%`}})})]})]},b)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((d=e.responsesData)==null?void 0:d.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((u=e.responsesData)==null?void 0:u.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},b))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>i(!n),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(le,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),n?"Hide Results":"Show Results"]})]}):null},xn=({element:e,validationData:n})=>{var l;const i=ra[e.type],{answerData:o}=S.useContext(Ie),s=S.useMemo(()=>{var r;return(r=e==null?void 0:e.acceptedFiles)==null?void 0:r.map(d=>d.label).join(", ")},[e]),t=S.useMemo(()=>Ao(e,o),[o,e]);return i?a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description}),(n==null?void 0:n.showResults)&&((l=n==null?void 0:n.pollResults)==null?void 0:l[e.id])&&a.jsx(dc,{results:n.pollResults[e.id]})]}):null},Sn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function uc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(fi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(vi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(xn,{element:l,validationData:Sn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:be("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(xn,{element:s,validationData:Sn(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function cc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const c=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(b=>b.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(fi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:c==null?void 0:c.map(b=>{var m,h,v;return a.jsxs(vi,{col:(m=b.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(xn,{element:b,validationData:Sn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(h=n==null?void 0:n.errors)==null?void 0:h[b.id])==null?void 0:v.message})]},b.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:be("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(xn,{element:t,validationData:Sn(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const ko=Ce("config");function bc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),i())},d=c=>{var b;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(fi,{element:c,customClass:"p-0 min-h-[60px] border-none w-full",children:(b=c.gridChildren)==null?void 0:b.map(m=>{var h,v,p;return a.jsxs(vi,{col:(h=m.gridPosition)==null?void 0:h.col,customClass:"p-0",children:[a.jsx(xn,{element:m,validationData:Sn(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(p=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:p.message})]},m.id)})})},c.id)},u=c=>{var b,m;return a.jsxs("div",{className:be("group relative grid gap-y-[6px] min-w-0 w-full",c.elementClass),children:[a.jsx(xn,{element:c,validationData:Sn(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(b=n==null?void 0:n.errors)==null?void 0:b[c.id])==null?void 0:m.message})]},c.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(re.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Ue,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(ko==null?void 0:ko.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-medium text-sm ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(le,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function mc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const vc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:c,showResults:b})=>{var Y,ee,te,z,F,j,H,$,W,Z;const{setAnswerData:m,setUploadUrl:h,apiActivityCount:v}=S.useContext(Ie),[p,y]=S.useState(0),[g,x]=S.useState(0),f=S.useMemo(()=>e.filter(J=>!J.isHidden&&!J.isDeleted).map(J=>{var ce;const ie=J.isDisabled||J.disabled,se=((ce=J==null?void 0:J.questionData)==null?void 0:ce.filter(me=>!me.isDeleted))||[];return ie?{...J,questionData:se.map(me=>({...me,isDisabled:!0}))}:{...J,questionData:se}}),[e]),N=(Y=f==null?void 0:f.length)!=null?Y:0,A=Ce("config"),w=S.useCallback(async(J,ie,se)=>{const ce=rc({formData:f,isReadOnly:t,ignoreValidation:i,answerData:J});return bo(ce)(J,ie,se)},[f,t,i]),C=Ze.useForm({resolver:w,mode:"onSubmit",defaultValues:{}}),{register:k,setValue:E,control:_,handleSubmit:T,reset:P,getValues:K,watch:M,formState:{errors:L,isSubmitting:I},trigger:D,setError:O,clearErrors:B}=C,U=Ze.useWatch({control:_}),q=S.useMemo(()=>U,[JSON.stringify(U)]),G=S.useMemo(()=>{if(l!=="conversational")return[];const J=[];return f.forEach(ie=>{var se;(se=ie==null?void 0:ie.questionData)==null||se.forEach(ce=>{var me;if(Ao(ce,q))if(ce.type==="grid"){const ye=(me=ie==null?void 0:ie.questionData)==null?void 0:me.filter(pe=>pe.gridId===ce.id);J.push({...ce,gridChildren:ye})}else ce.gridId||J.push(ce)})}),J},[f,q,l]),V=S.useCallback(J=>{s&&s(J)},[s]);S.useEffect(()=>{h(u)},[h,u]),S.useEffect(()=>{if(!(f!=null&&f.length)||!s)return;const J=f.flatMap(ie=>{var se;return(se=ie==null?void 0:ie.questionData)==null?void 0:se.map(ce=>({id:ce.id,value:q[ce.id]||"",sectionId:ie.id,type:ce.type,metaData:{prefix:ce.prefix,dateFormat:ce.dateFormat,...q[`${ce.id}_metaData`]?{responseObject:q[`${ce.id}_metaData`]}:{}}}))});V(J),m(q)},[q,f,V,s,m]),S.useEffect(()=>{n!=null&&n.length&&P(mc(n))},[n,P]);const X=S.useCallback(J=>{const ie=f.flatMap(se=>{var ce;return(ce=se==null?void 0:se.questionData)==null?void 0:ce.map(me=>({id:me.id,value:J[me.id]||"",sectionId:se.id,type:me.type,metaData:{prefix:me.prefix,dateFormat:me.dateFormat,...J[`${me.id}_metaData`]?{responseObject:J[`${me.id}_metaData`]}:{}}}))});Object.keys(L).length>0||o==null||o(ie)},[L,f,o]),oe=S.useCallback(async()=>{var J,ie;if(l==="conversational"){if(!i){const se=G[g];if(!se)return;const ce=se.gridChildren?se.gridChildren.map(ye=>ye.id):[se.id];if(!await D(ce))return}g<G.length-1?x(se=>se+1):T(X)();return}if(!i){const se=(ie=(J=f==null?void 0:f[p])==null?void 0:J.questionData)==null?void 0:ie.map(me=>me.id);if(!await D(se))return}y(se=>se+1)},[p,g,G,f,i,D,l,T,X]),ne=S.useCallback(()=>{if(l==="conversational"){x(J=>Math.max(0,J-1));return}y(J=>J-1)},[l]),Q=S.useMemo(()=>({register:k,setValue:E,watch:M,errors:L,trigger:D,isSubmitting:I,isReadOnly:t,getValues:K,setError:O,clearErrors:B,apiActivityCount:v,pollResults:c,showResults:b,isViewer:!0}),[k,E,M,L,D,I,t,K,O,B,v,c,b]);return a.jsxs(Ze.FormProvider,{...C,children:[a.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:T(X),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((ee=f==null?void 0:f[p])==null?void 0:ee.title)||((te=f==null?void 0:f[p])==null?void 0:te.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((z=f[p])==null?void 0:z.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(F=f[p])==null?void 0:F.title}),((j=f[p])==null?void 0:j.description)&&a.jsx("p",{className:"text-sm",children:(H=f[p])==null?void 0:H.description})]}),l==="multi"?a.jsx(cc,{form_data:f,options:Q,current:p}):l==="conversational"?a.jsx(bc,{element:G[g],options:Q,onNext:oe,onPrev:ne,isFirst:g===0,isLast:g===G.length-1,isReadOnly:t}):a.jsx(uc,{form_data:f,options:Q})]},l==="conversational"?`conv-${g}`:($=f==null?void 0:f[p])==null?void 0:$.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",p>0&&a.jsxs("button",{type:"button",onClick:ne,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[a.jsx(le,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),p<N-1&&a.jsx(Ue,{type:"button",text:"Next",onClick:oe,style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(p===N-1||t)&&!i&&((W=typeof r=="function"?r({isUploading:v>0,isSubmitting:I,hasErrors:Object.keys(L).length>0}):r)!=null?W:a.jsx(Ue,{isDisabled:I||Object.keys(L).length>0||v>0,isLoading:I,type:"submit",text:"Submit",style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((Z=typeof r=="function"?r({isUploading:v>0,isSubmitting:I,hasErrors:Object.keys(L).length>0}):r)!=null?Z:a.jsx(Ue,{isDisabled:I||Object.keys(L).length>0||v>0,isLoading:I,type:"submit",text:"Submit",style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&G.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(g+1)/G.length*100}%`,background:(A==null?void 0:A.buttonColor)||"#2563EB"}})})]})]})},fc=S.memo(vc);function Eo({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:c,uploadUrl:b,pollResults:m,showResults:h}){S.useEffect(()=>{l&&Qs("config",l)},[l]);const v=S.useCallback(p=>{c&&c(p)},[c]);return t?a.jsx(Co,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(As,{children:a.jsx(fc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:v,uploadUrl:b,pollResults:m,showResults:h,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Ae(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Ae(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var hc={value:()=>{}};function hi(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new pi(i)}function pi(e){this._=e}function pc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}pi.prototype=hi.prototype={constructor:pi,on:function(e,n){var i=this._,o=pc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=gc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=ca(i[s],e.name,n);else if(n==null)for(s in i)i[s]=ca(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new pi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function gc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function ca(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=hc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Mo="http://www.w3.org/1999/xhtml";const ba={svg:"http://www.w3.org/2000/svg",xhtml:Mo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function gi(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),ba.hasOwnProperty(n)?{space:ba[n],local:e}:e}function yc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Mo&&n.documentElement.namespaceURI===Mo?n.createElement(e):n.createElementNS(i,e)}}function xc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ma(e){var n=gi(e);return(n.local?xc:yc)(n)}function Sc(){}function To(e){return e==null?Sc:function(){return this.querySelector(e)}}function wc(e){typeof e!="function"&&(e=To(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,c=0;c<l;++c)(d=t[c])&&(u=e.call(d,d.__data__,c,t))&&("__data__"in d&&(u.__data__=d.__data__),r[c]=u);return new Oe(o,this._parents)}function Nc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Cc(){return[]}function va(e){return e==null?Cc:function(){return this.querySelectorAll(e)}}function Ac(e){return function(){return Nc(e.apply(this,arguments))}}function kc(e){typeof e=="function"?e=Ac(e):e=va(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Oe(o,s)}function fa(e){return function(){return this.matches(e)}}function ha(e){return function(n){return n.matches(e)}}var Ec=Array.prototype.find;function Mc(e){return function(){return Ec.call(this.children,e)}}function Tc(){return this.firstElementChild}function Pc(e){return this.select(e==null?Tc:Mc(typeof e=="function"?e:ha(e)))}var Lc=Array.prototype.filter;function Bc(){return Array.from(this.children)}function Ic(e){return function(){return Lc.call(this.children,e)}}function Dc(e){return this.selectAll(e==null?Bc:Ic(typeof e=="function"?e:ha(e)))}function _c(e){typeof e!="function"&&(e=fa(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Oe(o,this._parents)}function pa(e){return new Array(e.length)}function Oc(){return new Oe(this._enter||this._groups.map(pa),this._parents)}function yi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}yi.prototype={constructor:yi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Kc(e){return function(){return e}}function Hc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new yi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function Fc(e,n,i,o,s,t,l){var r,d,u=new Map,c=n.length,b=t.length,m=new Array(c),h;for(r=0;r<c;++r)(d=n[r])&&(m[r]=h=l.call(d,d.__data__,r,n)+"",u.has(h)?s[r]=d:u.set(h,d));for(r=0;r<b;++r)h=l.call(e,t[r],r,t)+"",(d=u.get(h))?(o[r]=d,d.__data__=t[r],u.delete(h)):i[r]=new yi(e,t[r]);for(r=0;r<c;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function Gc(e){return e.__data__}function Vc(e,n){if(!arguments.length)return Array.from(this,Gc);var i=n?Fc:Hc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Kc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var c=o[u],b=s[u],m=b.length,h=zc(e.call(c,c&&c.__data__,u,o)),v=h.length,p=r[u]=new Array(v),y=l[u]=new Array(v),g=d[u]=new Array(m);i(c,b,p,y,g,h,n);for(var x=0,f=0,N,A;x<v;++x)if(N=p[x]){for(x>=f&&(f=x+1);!(A=y[f])&&++f<v;);N._next=A||null}}return l=new Oe(l,o),l._enter=r,l._exit=d,l}function zc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function $c(){return new Oe(this._exit||this._groups.map(pa),this._parents)}function jc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Wc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],c=o[d],b=u.length,m=r[d]=new Array(b),h,v=0;v<b;++v)(h=u[v]||c[v])&&(m[v]=h);for(;d<s;++d)r[d]=i[d];return new Oe(r,this._parents)}function Uc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function qc(e){e||(e=Yc);function n(b,m){return b&&m?e(b.__data__,m.__data__):!b-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,c=0;c<r;++c)(u=l[c])&&(d[c]=u);d.sort(n)}return new Oe(s,this._parents).order()}function Yc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Jc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Zc(){return Array.from(this)}function Xc(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function Qc(){let e=0;for(const n of this)++e;return e}function Rc(){return!this.node()}function eb(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function nb(e){return function(){this.removeAttribute(e)}}function ib(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ob(e,n){return function(){this.setAttribute(e,n)}}function sb(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function ab(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function tb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function lb(e,n){var i=gi(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?ib:nb:typeof n=="function"?i.local?tb:ab:i.local?sb:ob)(i,n))}function ga(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function rb(e){return function(){this.style.removeProperty(e)}}function db(e,n,i){return function(){this.style.setProperty(e,n,i)}}function ub(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function cb(e,n,i){return arguments.length>1?this.each((n==null?rb:typeof n=="function"?ub:db)(e,n,i==null?"":i)):wn(this.node(),e)}function wn(e,n){return e.style.getPropertyValue(n)||ga(e).getComputedStyle(e,null).getPropertyValue(n)}function bb(e){return function(){delete this[e]}}function mb(e,n){return function(){this[e]=n}}function vb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function fb(e,n){return arguments.length>1?this.each((n==null?bb:typeof n=="function"?vb:mb)(e,n)):this.node()[e]}function ya(e){return e.trim().split(/^|\s+/)}function Po(e){return e.classList||new xa(e)}function xa(e){this._node=e,this._names=ya(e.getAttribute("class")||"")}xa.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Sa(e,n){for(var i=Po(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function wa(e,n){for(var i=Po(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function hb(e){return function(){Sa(this,e)}}function pb(e){return function(){wa(this,e)}}function gb(e,n){return function(){(n.apply(this,arguments)?Sa:wa)(this,e)}}function yb(e,n){var i=ya(e+"");if(arguments.length<2){for(var o=Po(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?gb:n?hb:pb)(i,n))}function xb(){this.textContent=""}function Sb(e){return function(){this.textContent=e}}function wb(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function Nb(e){return arguments.length?this.each(e==null?xb:(typeof e=="function"?wb:Sb)(e)):this.node().textContent}function Cb(){this.innerHTML=""}function Ab(e){return function(){this.innerHTML=e}}function kb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Eb(e){return arguments.length?this.each(e==null?Cb:(typeof e=="function"?kb:Ab)(e)):this.node().innerHTML}function Mb(){this.nextSibling&&this.parentNode.appendChild(this)}function Tb(){return this.each(Mb)}function Pb(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Lb(){return this.each(Pb)}function Bb(e){var n=typeof e=="function"?e:ma(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ib(){return null}function Db(e,n){var i=typeof e=="function"?e:ma(e),o=n==null?Ib:typeof n=="function"?n:To(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function _b(){var e=this.parentNode;e&&e.removeChild(this)}function Ob(){return this.each(_b)}function Kb(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Hb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Fb(e){return this.select(e?Hb:Kb)}function Gb(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Vb(e){return function(n){e.call(this,n,this.__data__)}}function zb(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function $b(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function jb(e,n,i){return function(){var o=this.__on,s,t=Vb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Wb(e,n,i){var o=zb(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,c;d<u;++d)for(s=0,c=r[d];s<t;++s)if((l=o[s]).type===c.type&&l.name===c.name)return c.value}return}for(r=n?jb:$b,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function Na(e,n,i){var o=ga(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Ub(e,n){return function(){return Na(this,e,n)}}function qb(e,n){return function(){return Na(this,e,n.apply(this,arguments))}}function Yb(e,n){return this.each((typeof n=="function"?qb:Ub)(e,n))}function*Jb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ca=[null];function Oe(e,n){this._groups=e,this._parents=n}function Gn(){return new Oe([[document.documentElement]],Ca)}function Zb(){return this}Oe.prototype=Gn.prototype={constructor:Oe,select:wc,selectAll:kc,selectChild:Pc,selectChildren:Dc,filter:_c,data:Vc,enter:Oc,exit:$c,join:jc,merge:Wc,selection:Zb,order:Uc,sort:qc,call:Jc,nodes:Zc,node:Xc,size:Qc,empty:Rc,each:eb,attr:lb,style:cb,property:fb,classed:yb,text:Nb,html:Eb,raise:Tb,lower:Lb,append:Bb,insert:Db,remove:Ob,clone:Fb,datum:Gb,on:Wb,dispatch:Yb,[Symbol.iterator]:Jb};function Ke(e){return typeof e=="string"?new Oe([[document.querySelector(e)]],[document.documentElement]):new Oe([[e]],Ca)}function Xb(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Fe(e,n){if(e=Xb(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const Qb={passive:!1},Vn={capture:!0,passive:!1};function Lo(e){e.stopImmediatePropagation()}function Nn(e){e.preventDefault(),e.stopImmediatePropagation()}function Aa(e){var n=e.document.documentElement,i=Ke(e).on("dragstart.drag",Nn,Vn);"onselectstart"in n?i.on("selectstart.drag",Nn,Vn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function ka(e,n){var i=e.document.documentElement,o=Ke(e).on("dragstart.drag",null);n&&(o.on("click.drag",Nn,Vn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const xi=e=>()=>e;function Bo(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Bo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Rb(e){return!e.ctrlKey&&!e.button}function em(){return this.parentNode}function nm(e,n){return n==null?{x:e.x,y:e.y}:n}function im(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ea(){var e=Rb,n=em,i=nm,o=im,s={},t=hi("start","drag","end"),l=0,r,d,u,c,b=0;function m(N){N.on("mousedown.drag",h).filter(o).on("touchstart.drag",y).on("touchmove.drag",g,Qb).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(N,A){if(!(c||!e.call(this,N,A))){var w=f(this,n.call(this,N,A),N,A,"mouse");w&&(Ke(N.view).on("mousemove.drag",v,Vn).on("mouseup.drag",p,Vn),Aa(N.view),Lo(N),u=!1,r=N.clientX,d=N.clientY,w("start",N))}}function v(N){if(Nn(N),!u){var A=N.clientX-r,w=N.clientY-d;u=A*A+w*w>b}s.mouse("drag",N)}function p(N){Ke(N.view).on("mousemove.drag mouseup.drag",null),ka(N.view,u),Nn(N),s.mouse("end",N)}function y(N,A){if(e.call(this,N,A)){var w=N.changedTouches,C=n.call(this,N,A),k=w.length,E,_;for(E=0;E<k;++E)(_=f(this,C,N,A,w[E].identifier,w[E]))&&(Lo(N),_("start",N,w[E]))}}function g(N){var A=N.changedTouches,w=A.length,C,k;for(C=0;C<w;++C)(k=s[A[C].identifier])&&(Nn(N),k("drag",N,A[C]))}function x(N){var A=N.changedTouches,w=A.length,C,k;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),C=0;C<w;++C)(k=s[A[C].identifier])&&(Lo(N),k("end",N,A[C]))}function f(N,A,w,C,k,E){var _=t.copy(),T=Fe(E||w,A),P,K,M;if((M=i.call(N,new Bo("beforestart",{sourceEvent:w,target:m,identifier:k,active:l,x:T[0],y:T[1],dx:0,dy:0,dispatch:_}),C))!=null)return P=M.x-T[0]||0,K=M.y-T[1]||0,function L(I,D,O){var B=T,U;switch(I){case"start":s[k]=L,U=l++;break;case"end":delete s[k],--l;case"drag":T=Fe(O||D,A),U=l;break}_.call(I,N,new Bo(I,{sourceEvent:D,subject:M,target:m,identifier:k,active:U,x:T[0]+P,y:T[1]+K,dx:T[0]-B[0],dy:T[1]-B[1],dispatch:_}),C)}}return m.filter=function(N){return arguments.length?(e=typeof N=="function"?N:xi(!!N),m):e},m.container=function(N){return arguments.length?(n=typeof N=="function"?N:xi(N),m):n},m.subject=function(N){return arguments.length?(i=typeof N=="function"?N:xi(N),m):i},m.touchable=function(N){return arguments.length?(o=typeof N=="function"?N:xi(!!N),m):o},m.on=function(){var N=t.on.apply(t,arguments);return N===t?m:N},m.clickDistance=function(N){return arguments.length?(b=(N=+N)*N,m):Math.sqrt(b)},m}function Io(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Ma(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function zn(){}var $n=.7,Si=1/$n,Cn="\\s*([+-]?\\d+)\\s*",jn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",qe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",om=/^#([0-9a-f]{3,8})$/,sm=new RegExp(`^rgb\\(${Cn},${Cn},${Cn}\\)$`),am=new RegExp(`^rgb\\(${qe},${qe},${qe}\\)$`),tm=new RegExp(`^rgba\\(${Cn},${Cn},${Cn},${jn}\\)$`),lm=new RegExp(`^rgba\\(${qe},${qe},${qe},${jn}\\)$`),rm=new RegExp(`^hsl\\(${jn},${qe},${qe}\\)$`),dm=new RegExp(`^hsla\\(${jn},${qe},${qe},${jn}\\)$`),Ta={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Io(zn,dn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Pa,formatHex:Pa,formatHex8:um,formatHsl:cm,formatRgb:La,toString:La});function Pa(){return this.rgb().formatHex()}function um(){return this.rgb().formatHex8()}function cm(){return Oa(this).formatHsl()}function La(){return this.rgb().formatRgb()}function dn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=om.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?Ba(n):i===3?new _e(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?wi(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?wi(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=sm.exec(e))?new _e(n[1],n[2],n[3],1):(n=am.exec(e))?new _e(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=tm.exec(e))?wi(n[1],n[2],n[3],n[4]):(n=lm.exec(e))?wi(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=rm.exec(e))?_a(n[1],n[2]/100,n[3]/100,1):(n=dm.exec(e))?_a(n[1],n[2]/100,n[3]/100,n[4]):Ta.hasOwnProperty(e)?Ba(Ta[e]):e==="transparent"?new _e(NaN,NaN,NaN,0):null}function Ba(e){return new _e(e>>16&255,e>>8&255,e&255,1)}function wi(e,n,i,o){return o<=0&&(e=n=i=NaN),new _e(e,n,i,o)}function bm(e){return e instanceof zn||(e=dn(e)),e?(e=e.rgb(),new _e(e.r,e.g,e.b,e.opacity)):new _e}function Do(e,n,i,o){return arguments.length===1?bm(e):new _e(e,n,i,o==null?1:o)}function _e(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Io(_e,Do,Ma(zn,{brighter(e){return e=e==null?Si:Math.pow(Si,e),new _e(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?$n:Math.pow($n,e),new _e(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new _e(un(this.r),un(this.g),un(this.b),Ni(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ia,formatHex:Ia,formatHex8:mm,formatRgb:Da,toString:Da}));function Ia(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}`}function mm(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}${cn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Da(){const e=Ni(this.opacity);return`${e===1?"rgb(":"rgba("}${un(this.r)}, ${un(this.g)}, ${un(this.b)}${e===1?")":`, ${e})`}`}function Ni(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function un(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function cn(e){return e=un(e),(e<16?"0":"")+e.toString(16)}function _a(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Ge(e,n,i,o)}function Oa(e){if(e instanceof Ge)return new Ge(e.h,e.s,e.l,e.opacity);if(e instanceof zn||(e=dn(e)),!e)return new Ge;if(e instanceof Ge)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new Ge(l,r,d,e.opacity)}function vm(e,n,i,o){return arguments.length===1?Oa(e):new Ge(e,n,i,o==null?1:o)}function Ge(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Io(Ge,vm,Ma(zn,{brighter(e){return e=e==null?Si:Math.pow(Si,e),new Ge(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?$n:Math.pow($n,e),new Ge(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new _e(_o(e>=240?e-240:e+120,s,o),_o(e,s,o),_o(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new Ge(Ka(this.h),Ci(this.s),Ci(this.l),Ni(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Ni(this.opacity);return`${e===1?"hsl(":"hsla("}${Ka(this.h)}, ${Ci(this.s)*100}%, ${Ci(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ka(e){return e=(e||0)%360,e<0?e+360:e}function Ci(e){return Math.max(0,Math.min(1,e||0))}function _o(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Oo=e=>()=>e;function fm(e,n){return function(i){return e+i*n}}function hm(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function pm(e){return(e=+e)==1?Ha:function(n,i){return i-n?hm(n,i,e):Oo(isNaN(n)?i:n)}}function Ha(e,n){var i=n-e;return i?fm(e,i):Oo(isNaN(e)?n:e)}const Ai=function e(n){var i=pm(n);function o(s,t){var l=i((s=Do(s)).r,(t=Do(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Ha(s.opacity,t.opacity);return function(c){return s.r=l(c),s.g=r(c),s.b=d(c),s.opacity=u(c),s+""}}return o.gamma=e,o}(1);function gm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function ym(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function xm(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Wn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Sm(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Ye(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function wm(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Wn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Ko=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ho=new RegExp(Ko.source,"g");function Nm(e){return function(){return e}}function Cm(e){return function(n){return e(n)+""}}function Fa(e,n){var i=Ko.lastIndex=Ho.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Ko.exec(e))&&(s=Ho.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Ye(o,s)})),i=Ho.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Cm(d[0].x):Nm(n):(n=d.length,function(u){for(var c=0,b;c<n;++c)r[(b=d[c]).i]=b.x(u);return r.join("")})}function Wn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Oo(n):(i==="number"?Ye:i==="string"?(o=dn(n))?(n=o,Ai):Fa:n instanceof dn?Ai:n instanceof Date?Sm:ym(n)?gm:Array.isArray(n)?xm:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?wm:Ye)(e,n)}var Ga=180/Math.PI,Fo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Va(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*Ga,skewX:Math.atan(d)*Ga,scaleX:l,scaleY:r}}var ki;function Am(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Fo:Va(n.a,n.b,n.c,n.d,n.e,n.f)}function km(e){return e==null||(ki||(ki=document.createElementNS("http://www.w3.org/2000/svg","g")),ki.setAttribute("transform",e),!(e=ki.transform.baseVal.consolidate()))?Fo:(e=e.matrix,Va(e.a,e.b,e.c,e.d,e.e,e.f))}function za(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,c,b,m,h,v){if(u!==b||c!==m){var p=h.push("translate(",null,n,null,i);v.push({i:p-4,x:Ye(u,b)},{i:p-2,x:Ye(c,m)})}else(b||m)&&h.push("translate("+b+n+m+i)}function l(u,c,b,m){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),m.push({i:b.push(s(b)+"rotate(",null,o)-2,x:Ye(u,c)})):c&&b.push(s(b)+"rotate("+c+o)}function r(u,c,b,m){u!==c?m.push({i:b.push(s(b)+"skewX(",null,o)-2,x:Ye(u,c)}):c&&b.push(s(b)+"skewX("+c+o)}function d(u,c,b,m,h,v){if(u!==b||c!==m){var p=h.push(s(h)+"scale(",null,",",null,")");v.push({i:p-4,x:Ye(u,b)},{i:p-2,x:Ye(c,m)})}else(b!==1||m!==1)&&h.push(s(h)+"scale("+b+","+m+")")}return function(u,c){var b=[],m=[];return u=e(u),c=e(c),t(u.translateX,u.translateY,c.translateX,c.translateY,b,m),l(u.rotate,c.rotate,b,m),r(u.skewX,c.skewX,b,m),d(u.scaleX,u.scaleY,c.scaleX,c.scaleY,b,m),u=c=null,function(h){for(var v=-1,p=m.length,y;++v<p;)b[(y=m[v]).i]=y.x(h);return b.join("")}}}var Em=za(Am,"px, ","px)","deg)"),Mm=za(km,", ",")",")"),Tm=1e-12;function $a(e){return((e=Math.exp(e))+1/e)/2}function Pm(e){return((e=Math.exp(e))-1/e)/2}function Lm(e){return((e=Math.exp(2*e))-1)/(e+1)}const Ei=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],c=l[0],b=l[1],m=l[2],h=c-r,v=b-d,p=h*h+v*v,y,g;if(p<Tm)g=Math.log(m/u)/n,y=function(C){return[r+C*h,d+C*v,u*Math.exp(n*C*g)]};else{var x=Math.sqrt(p),f=(m*m-u*u+o*p)/(2*u*i*x),N=(m*m-u*u-o*p)/(2*m*i*x),A=Math.log(Math.sqrt(f*f+1)-f),w=Math.log(Math.sqrt(N*N+1)-N);g=(w-A)/n,y=function(C){var k=C*g,E=$a(A),_=u/(i*x)*(E*Lm(n*k+A)-Pm(A));return[r+_*h,d+_*v,u*E/$a(n*k+A)]}}return y.duration=g*1e3*n/Math.SQRT2,y}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var An=0,Un=0,qn=0,ja=1e3,Mi,Yn,Ti=0,bn=0,Pi=0,Jn=typeof performance=="object"&&performance.now?performance:Date,Wa=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Go(){return bn||(Wa(Bm),bn=Jn.now()+Pi)}function Bm(){bn=0}function Li(){this._call=this._time=this._next=null}Li.prototype=Ua.prototype={constructor:Li,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?Go():+i)+(n==null?0:+n),!this._next&&Yn!==this&&(Yn?Yn._next=this:Mi=this,Yn=this),this._call=e,this._time=i,Vo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Vo())}};function Ua(e,n,i){var o=new Li;return o.restart(e,n,i),o}function Im(){Go(),++An;for(var e=Mi,n;e;)(n=bn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--An}function qa(){bn=(Ti=Jn.now())+Pi,An=Un=0;try{Im()}finally{An=0,_m(),bn=0}}function Dm(){var e=Jn.now(),n=e-Ti;n>ja&&(Pi-=n,Ti=e)}function _m(){for(var e,n=Mi,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Mi=i);Yn=e,Vo(o)}function Vo(e){if(!An){Un&&(Un=clearTimeout(Un));var n=e-bn;n>24?(e<1/0&&(Un=setTimeout(qa,e-Jn.now()-Pi)),qn&&(qn=clearInterval(qn))):(qn||(Ti=Jn.now(),qn=setInterval(Dm,ja)),An=1,Wa(qa))}}function Ya(e,n,i){var o=new Li;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Om=hi("start","end","cancel","interrupt"),Km=[],Ja=0,Za=1,zo=2,Bi=3,Xa=4,$o=5,Ii=6;function Di(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;Hm(e,i,{name:n,index:o,group:s,on:Om,tween:Km,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Ja})}function jo(e,n){var i=Ve(e,n);if(i.state>Ja)throw new Error("too late; already scheduled");return i}function Je(e,n){var i=Ve(e,n);if(i.state>Bi)throw new Error("too late; already running");return i}function Ve(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function Hm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ua(t,0,i.time);function t(u){i.state=Za,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var c,b,m,h;if(i.state!==Za)return d();for(c in o)if(h=o[c],h.name===i.name){if(h.state===Bi)return Ya(l);h.state===Xa?(h.state=Ii,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[c]):+c<n&&(h.state=Ii,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[c])}if(Ya(function(){i.state===Bi&&(i.state=Xa,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=zo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===zo){for(i.state=Bi,s=new Array(m=i.tween.length),c=0,b=-1;c<m;++c)(h=i.tween[c].value.call(e,e.__data__,i.index,i.group))&&(s[++b]=h);s.length=b+1}}function r(u){for(var c=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=$o,1),b=-1,m=s.length;++b<m;)s[b].call(e,c);i.state===$o&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Ii,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function _i(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>zo&&o.state<$o,o.state=Ii,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function Fm(e){return this.each(function(){_i(this,e)})}function Gm(e,n){var i,o;return function(){var s=Je(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function Vm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=Je(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function zm(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=Ve(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Gm:Vm)(i,e,n))}function Wo(e,n,i){var o=e._id;return e.each(function(){var s=Je(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return Ve(s,o).value[n]}}function Qa(e,n){var i;return(typeof n=="number"?Ye:n instanceof dn?Ai:(i=dn(n))?(n=i,Ai):Fa)(e,n)}function $m(e){return function(){this.removeAttribute(e)}}function jm(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Wm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Um(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function qm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Ym(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Jm(e,n){var i=gi(e),o=i==="transform"?Mm:Qa;return this.attrTween(e,typeof n=="function"?(i.local?Ym:qm)(i,o,Wo(this,"attr."+e,n)):n==null?(i.local?jm:$m)(i):(i.local?Um:Wm)(i,o,n))}function Zm(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function Xm(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function Qm(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&Xm(e,t)),i}return s._value=n,s}function Rm(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&Zm(e,t)),i}return s._value=n,s}function ev(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=gi(e);return this.tween(i,(o.local?Qm:Rm)(o,n))}function nv(e,n){return function(){jo(this,e).delay=+n.apply(this,arguments)}}function iv(e,n){return n=+n,function(){jo(this,e).delay=n}}function ov(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?nv:iv)(n,e)):Ve(this.node(),n).delay}function sv(e,n){return function(){Je(this,e).duration=+n.apply(this,arguments)}}function av(e,n){return n=+n,function(){Je(this,e).duration=n}}function tv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?sv:av)(n,e)):Ve(this.node(),n).duration}function lv(e,n){if(typeof n!="function")throw new Error;return function(){Je(this,e).ease=n}}function rv(e){var n=this._id;return arguments.length?this.each(lv(n,e)):Ve(this.node(),n).ease}function dv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Je(this,e).ease=i}}function uv(e){if(typeof e!="function")throw new Error;return this.each(dv(this._id,e))}function cv(e){typeof e!="function"&&(e=fa(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Xe(o,this._parents,this._name,this._id)}function bv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],c=d.length,b=l[r]=new Array(c),m,h=0;h<c;++h)(m=d[h]||u[h])&&(b[h]=m);for(;r<o;++r)l[r]=n[r];return new Xe(l,this._parents,this._name,this._id)}function mv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function vv(e,n,i){var o,s,t=mv(n)?jo:Je;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function fv(e,n){var i=this._id;return arguments.length<2?Ve(this.node(),i).on.on(e):this.each(vv(i,e,n))}function hv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function pv(){return this.on("end.remove",hv(this._id))}function gv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=To(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),c,b,m=0;m<d;++m)(c=r[m])&&(b=e.call(c,c.__data__,m,r))&&("__data__"in c&&(b.__data__=c.__data__),u[m]=b,Di(u[m],n,i,m,u,Ve(c,i)));return new Xe(t,this._parents,n,i)}function yv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=va(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,c,b=0;b<u;++b)if(c=d[b]){for(var m=e.call(c,c.__data__,b,d),h,v=Ve(c,i),p=0,y=m.length;p<y;++p)(h=m[p])&&Di(h,n,i,p,m,v);t.push(m),l.push(c)}return new Xe(t,l,n,i)}var xv=Gn.prototype.constructor;function Sv(){return new xv(this._groups,this._parents)}function wv(e,n){var i,o,s;return function(){var t=wn(this,e),l=(this.style.removeProperty(e),wn(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function Ra(e){return function(){this.style.removeProperty(e)}}function Nv(e,n,i){var o,s=i+"",t;return function(){var l=wn(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Cv(e,n,i){var o,s,t;return function(){var l=wn(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),wn(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Av(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Je(this,e),u=d.on,c=d.value[t]==null?r||(r=Ra(n)):void 0;(u!==i||s!==c)&&(o=(i=u).copy()).on(l,s=c),d.on=o}}function kv(e,n,i){var o=(e+="")=="transform"?Em:Qa;return n==null?this.styleTween(e,wv(e,o)).on("end.style."+e,Ra(e)):typeof n=="function"?this.styleTween(e,Cv(e,o,Wo(this,"style."+e,n))).each(Av(this._id,e)):this.styleTween(e,Nv(e,o,n),i).on("end.style."+e,null)}function Ev(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Mv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Ev(e,l,i)),o}return t._value=n,t}function Tv(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Mv(e,n,i==null?"":i))}function Pv(e){return function(){this.textContent=e}}function Lv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function Bv(e){return this.tween("text",typeof e=="function"?Lv(Wo(this,"text",e)):Pv(e==null?"":e+""))}function Iv(e){return function(n){this.textContent=e.call(this,n)}}function Dv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Iv(s)),n}return o._value=e,o}function _v(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Dv(e))}function Ov(){for(var e=this._name,n=this._id,i=et(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var c=Ve(d,n);Di(d,e,i,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Xe(o,this._parents,e,i)}function Kv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=Je(this,o),c=u.on;c!==e&&(n=(e=c).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var Hv=0;function Xe(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function et(){return++Hv}var Qe=Gn.prototype;Xe.prototype={constructor:Xe,select:gv,selectAll:yv,selectChild:Qe.selectChild,selectChildren:Qe.selectChildren,filter:cv,merge:bv,selection:Sv,transition:Ov,call:Qe.call,nodes:Qe.nodes,node:Qe.node,size:Qe.size,empty:Qe.empty,each:Qe.each,on:fv,attr:Jm,attrTween:ev,style:kv,styleTween:Tv,text:Bv,textTween:_v,remove:pv,tween:zm,delay:ov,duration:tv,ease:rv,easeVarying:uv,end:Kv,[Symbol.iterator]:Qe[Symbol.iterator]};function Fv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Gv={time:null,delay:0,duration:250,ease:Fv};function Vv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function zv(e){var n,i;e instanceof Xe?(n=e._id,e=e._name):(n=et(),(i=Gv).time=Go(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Di(d,e,n,u,l,i||Vv(d,n));return new Xe(o,this._parents,e,n)}Gn.prototype.interrupt=Fm,Gn.prototype.transition=zv;const Oi=e=>()=>e;function $v(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function Re(e,n,i){this.k=e,this.x=n,this.y=i}Re.prototype={constructor:Re,scale:function(e){return e===1?this:new Re(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Re(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Ki=new Re(1,0,0);nt.prototype=Re.prototype;function nt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Ki;return e.__zoom}function Uo(e){e.stopImmediatePropagation()}function Zn(e){e.preventDefault(),e.stopImmediatePropagation()}function jv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Wv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function it(){return this.__zoom||Ki}function Uv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function qv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Yv(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function ot(){var e=jv,n=Wv,i=Yv,o=Uv,s=qv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Ei,u=hi("start","zoom","end"),c,b,m,h=500,v=150,p=0,y=10;function g(M){M.property("__zoom",it).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",T).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",K).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(M,L,I,D){var O=M.selection?M.selection():M;O.property("__zoom",it),M!==O?A(M,L,I,D):O.interrupt().each(function(){w(this,arguments).event(D).start().zoom(null,typeof L=="function"?L.apply(this,arguments):L).end()})},g.scaleBy=function(M,L,I,D){g.scaleTo(M,function(){var O=this.__zoom.k,B=typeof L=="function"?L.apply(this,arguments):L;return O*B},I,D)},g.scaleTo=function(M,L,I,D){g.transform(M,function(){var O=n.apply(this,arguments),B=this.__zoom,U=I==null?N(O):typeof I=="function"?I.apply(this,arguments):I,q=B.invert(U),G=typeof L=="function"?L.apply(this,arguments):L;return i(f(x(B,G),U,q),O,l)},I,D)},g.translateBy=function(M,L,I,D){g.transform(M,function(){return i(this.__zoom.translate(typeof L=="function"?L.apply(this,arguments):L,typeof I=="function"?I.apply(this,arguments):I),n.apply(this,arguments),l)},null,D)},g.translateTo=function(M,L,I,D,O){g.transform(M,function(){var B=n.apply(this,arguments),U=this.__zoom,q=D==null?N(B):typeof D=="function"?D.apply(this,arguments):D;return i(Ki.translate(q[0],q[1]).scale(U.k).translate(typeof L=="function"?-L.apply(this,arguments):-L,typeof I=="function"?-I.apply(this,arguments):-I),B,l)},D,O)};function x(M,L){return L=Math.max(t[0],Math.min(t[1],L)),L===M.k?M:new Re(L,M.x,M.y)}function f(M,L,I){var D=L[0]-I[0]*M.k,O=L[1]-I[1]*M.k;return D===M.x&&O===M.y?M:new Re(M.k,D,O)}function N(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function A(M,L,I,D){M.on("start.zoom",function(){w(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(D).end()}).tween("zoom",function(){var O=this,B=arguments,U=w(O,B).event(D),q=n.apply(O,B),G=I==null?N(q):typeof I=="function"?I.apply(O,B):I,V=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),X=O.__zoom,oe=typeof L=="function"?L.apply(O,B):L,ne=d(X.invert(G).concat(V/X.k),oe.invert(G).concat(V/oe.k));return function(Q){if(Q===1)Q=oe;else{var Y=ne(Q),ee=V/Y[2];Q=new Re(ee,G[0]-Y[0]*ee,G[1]-Y[1]*ee)}U.zoom(null,Q)}})}function w(M,L,I){return!I&&M.__zooming||new C(M,L)}function C(M,L){this.that=M,this.args=L,this.active=0,this.sourceEvent=null,this.extent=n.apply(M,L),this.taps=0}C.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,L){return this.mouse&&M!=="mouse"&&(this.mouse[1]=L.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=L.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=L.invert(this.touch1[0])),this.that.__zoom=L,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var L=Ke(this.that).datum();u.call(M,this.that,new $v(M,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:u}),L)}};function k(M,...L){if(!e.apply(this,arguments))return;var I=w(this,L).event(M),D=this.__zoom,O=Math.max(t[0],Math.min(t[1],D.k*Math.pow(2,o.apply(this,arguments)))),B=Fe(M);if(I.wheel)(I.mouse[0][0]!==B[0]||I.mouse[0][1]!==B[1])&&(I.mouse[1]=D.invert(I.mouse[0]=B)),clearTimeout(I.wheel);else{if(D.k===O)return;I.mouse=[B,D.invert(B)],_i(this),I.start()}Zn(M),I.wheel=setTimeout(U,v),I.zoom("mouse",i(f(x(D,O),I.mouse[0],I.mouse[1]),I.extent,l));function U(){I.wheel=null,I.end()}}function E(M,...L){if(m||!e.apply(this,arguments))return;var I=M.currentTarget,D=w(this,L,!0).event(M),O=Ke(M.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",V,!0),B=Fe(M,I),U=M.clientX,q=M.clientY;Aa(M.view),Uo(M),D.mouse=[B,this.__zoom.invert(B)],_i(this),D.start();function G(X){if(Zn(X),!D.moved){var oe=X.clientX-U,ne=X.clientY-q;D.moved=oe*oe+ne*ne>p}D.event(X).zoom("mouse",i(f(D.that.__zoom,D.mouse[0]=Fe(X,I),D.mouse[1]),D.extent,l))}function V(X){O.on("mousemove.zoom mouseup.zoom",null),ka(X.view,D.moved),Zn(X),D.event(X).end()}}function _(M,...L){if(e.apply(this,arguments)){var I=this.__zoom,D=Fe(M.changedTouches?M.changedTouches[0]:M,this),O=I.invert(D),B=I.k*(M.shiftKey?.5:2),U=i(f(x(I,B),D,O),n.apply(this,L),l);Zn(M),r>0?Ke(this).transition().duration(r).call(A,U,D,M):Ke(this).call(g.transform,U,D,M)}}function T(M,...L){if(e.apply(this,arguments)){var I=M.touches,D=I.length,O=w(this,L,M.changedTouches.length===D).event(M),B,U,q,G;for(Uo(M),U=0;U<D;++U)q=I[U],G=Fe(q,this),G=[G,this.__zoom.invert(G),q.identifier],O.touch0?!O.touch1&&O.touch0[2]!==G[2]&&(O.touch1=G,O.taps=0):(O.touch0=G,B=!0,O.taps=1+!!c);c&&(c=clearTimeout(c)),B&&(O.taps<2&&(b=G[0],c=setTimeout(function(){c=null},h)),_i(this),O.start())}}function P(M,...L){if(this.__zooming){var I=w(this,L).event(M),D=M.changedTouches,O=D.length,B,U,q,G;for(Zn(M),B=0;B<O;++B)U=D[B],q=Fe(U,this),I.touch0&&I.touch0[2]===U.identifier?I.touch0[0]=q:I.touch1&&I.touch1[2]===U.identifier&&(I.touch1[0]=q);if(U=I.that.__zoom,I.touch1){var V=I.touch0[0],X=I.touch0[1],oe=I.touch1[0],ne=I.touch1[1],Q=(Q=oe[0]-V[0])*Q+(Q=oe[1]-V[1])*Q,Y=(Y=ne[0]-X[0])*Y+(Y=ne[1]-X[1])*Y;U=x(U,Math.sqrt(Q/Y)),q=[(V[0]+oe[0])/2,(V[1]+oe[1])/2],G=[(X[0]+ne[0])/2,(X[1]+ne[1])/2]}else if(I.touch0)q=I.touch0[0],G=I.touch0[1];else return;I.zoom("touch",i(f(U,q,G),I.extent,l))}}function K(M,...L){if(this.__zooming){var I=w(this,L).event(M),D=M.changedTouches,O=D.length,B,U;for(Uo(M),m&&clearTimeout(m),m=setTimeout(function(){m=null},h),B=0;B<O;++B)U=D[B],I.touch0&&I.touch0[2]===U.identifier?delete I.touch0:I.touch1&&I.touch1[2]===U.identifier&&delete I.touch1;if(I.touch1&&!I.touch0&&(I.touch0=I.touch1,delete I.touch1),I.touch0)I.touch0[1]=this.__zoom.invert(I.touch0[0]);else if(I.end(),I.taps===2&&(U=Fe(U,this),Math.hypot(b[0]-U[0],b[1]-U[1])<y)){var q=Ke(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return g.wheelDelta=function(M){return arguments.length?(o=typeof M=="function"?M:Oi(+M),g):o},g.filter=function(M){return arguments.length?(e=typeof M=="function"?M:Oi(!!M),g):e},g.touchable=function(M){return arguments.length?(s=typeof M=="function"?M:Oi(!!M),g):s},g.extent=function(M){return arguments.length?(n=typeof M=="function"?M:Oi([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),g):n},g.scaleExtent=function(M){return arguments.length?(t[0]=+M[0],t[1]=+M[1],g):[t[0],t[1]]},g.translateExtent=function(M){return arguments.length?(l[0][0]=+M[0][0],l[1][0]=+M[1][0],l[0][1]=+M[0][1],l[1][1]=+M[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(M){return arguments.length?(i=M,g):i},g.duration=function(M){return arguments.length?(r=+M,g):r},g.interpolate=function(M){return arguments.length?(d=M,g):d},g.on=function(){var M=u.on.apply(u,arguments);return M===u?g:M},g.clickDistance=function(M){return arguments.length?(p=(M=+M)*M,g):Math.sqrt(p)},g.tapDistance=function(M){return arguments.length?(y=+M,g):y},g}const He={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Xn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],st=["Enter"," ","Escape"],at={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var kn;(function(e){e.Strict="strict",e.Loose="loose"})(kn||(kn={}));var mn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(mn||(mn={}));var Qn;(function(e){e.Partial="partial",e.Full="full"})(Qn||(Qn={}));const tt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var sn;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(sn||(sn={}));var En;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(En||(En={}));var ae;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ae||(ae={}));const lt={[ae.Left]:ae.Right,[ae.Right]:ae.Left,[ae.Top]:ae.Bottom,[ae.Bottom]:ae.Top};function rt(e){return e===null?null:e?"valid":"invalid"}const dt=e=>"id"in e&&"source"in e&&"target"in e,Jv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),qo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Rn=(e,n=[0,0])=>{var r;const{width:i,height:o}=en(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},Zv=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):qo(s)?s:n.nodeLookup.get(s.id));const r=l?Gi(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Hi(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Fi(i)},ei=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=Hi(i,Gi(s)),o=!0)}),o?Fi(i):{x:0,y:0,width:0,height:0}},Yo=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,h,v,p,y,g;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,c=n.height/s,b=[];for(const x of e.values()){const{measured:f,selectable:N=!0,hidden:A=!1}=x;if(l&&!N||A)continue;const w=(v=(h=(m=f.width)!=null?m:x.width)!=null?h:x.initialWidth)!=null?v:0,C=(g=(y=(p=f.height)!=null?p:x.height)!=null?y:x.initialHeight)!=null?g:0,{x:k,y:E}=x.internals.positionAbsolute,_=vt(r,d,u,c,k,E,w,C),T=w*C,P=t&&_>0;(!x.internals.handleBounds||P||_>=T||x.dragging)&&b.push(x)}return b},Xv=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function Qv(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function Rv({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var c,b,m;if(e.size===0)return!0;const r=Qv(e,l),d=ei(r),u=Xo(d,n,i,(c=l==null?void 0:l.minZoom)!=null?c:s,(b=l==null?void 0:l.maxZoom)!=null?b:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function ut({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var h,v,p;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},c=(h=l.origin)!=null?h:o;let b=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",He.error005());else{const y=r.measured.width,g=r.measured.height;y&&g&&(b=[[d,u],[d+y,u+g]])}else r&&fn(l.extent)&&(b=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=fn(b)?vn(n,b,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",He.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*c[0],y:m.y-u+((p=l.measured.height)!=null?p:0)*c[1]},positionAbsolute:m}}async function ef({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const h=t.has(m.id),v=!h&&m.parentId&&l.find(p=>p.id===m.parentId);(h||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),c=Xv(l,d);for(const m of d)r.has(m.id)&&!c.find(v=>v.id===m.id)&&c.push(m);if(!s)return{edges:c,nodes:l};const b=await s({nodes:l,edges:c});return typeof b=="boolean"?b?{edges:c,nodes:l}:{edges:[],nodes:[]}:b}const Mn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),vn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Mn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Mn(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function ct(e,n,i){const{width:o,height:s}=en(i),{x:t,y:l}=i.internals.positionAbsolute;return vn(e,[[t,l],[t+o,l+s]],n)}const bt=(e,n,i)=>e<n?Mn(Math.abs(e-n),1,n)/n:e>i?-Mn(Math.abs(e-i),1,n)/n:0,Jo=(e,n,i=15,o=40)=>{const s=bt(e.x,o,n.width-o)*i,t=bt(e.y,o,n.height-o)*i;return[s,t]},Hi=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Zo=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),Fi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),ni=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=qo(e)?e.internals.positionAbsolute:Rn(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0}},Gi=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=qo(e)?e.internals.positionAbsolute:Rn(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0)}},mt=(e,n)=>Fi(Hi(Zo(e),Zo(n))),vt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},Vi=(e,n)=>vt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),ft=e=>ze(e.width)&&ze(e.height)&&ze(e.x)&&ze(e.y),ze=e=>!isNaN(e)&&isFinite(e),ht=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ii=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),oi=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ii(r,l):r},Tn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function Pn(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function nf(e,n,i){var o,s,t,l,r,d,u,c;if(typeof e=="string"||typeof e=="number"){const b=Pn(e,i),m=Pn(e,n);return{top:b,right:m,bottom:b,left:m,x:m*2,y:b*2}}if(typeof e=="object"){const b=Pn((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=Pn((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),h=Pn((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=Pn((c=(u=e.right)!=null?u:e.x)!=null?c:0,n);return{top:b,right:v,bottom:m,left:h,x:h+v,y:b+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function of(e,n,i,o,s,t){const{x:l,y:r}=Tn(e,[n,i,o]),{x:d,y:u}=Tn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),c=s-d,b=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(c),bottom:Math.floor(b)}}const Xo=(e,n,i,o,s,t)=>{const l=nf(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),c=Mn(u,o,s),b=e.x+e.width/2,m=e.y+e.height/2,h=n/2-b*c,v=i/2-m*c,p=of(e,h,v,c,n,i),y={left:Math.min(p.left-l.left,0),top:Math.min(p.top-l.top,0),right:Math.min(p.right-l.right,0),bottom:Math.min(p.bottom-l.bottom,0)};return{x:h-y.left+y.right,y:v-y.top+y.bottom,zoom:c}},si=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function fn(e){return e!=null&&e!=="parent"}function en(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function pt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function gt(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function yt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function sf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function af(e){return{...at,...e||{}}}function ai(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var c,b;const{x:t,y:l}=$e(e),r=oi({x:t-((c=s==null?void 0:s.left)!=null?c:0),y:l-((b=s==null?void 0:s.top)!=null?b:0)},o),{x:d,y:u}=i?ii(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const Qo=e=>({width:e.offsetWidth,height:e.offsetHeight}),xt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},tf=["INPUT","SELECT","TEXTAREA"];function St(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:tf.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const wt=e=>"clientX"in e,$e=(e,n)=>{var t,l,r,d;const i=wt(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},Nt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...Qo(l)}})};function Ct({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,c=Math.abs(d-e),b=Math.abs(u-n);return[d,u,c,b]}function zi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function At({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case ae.Left:return[n-zi(n-o,t),i];case ae.Right:return[n+zi(o-n,t),i];case ae.Top:return[n,i-zi(i-s,t)];case ae.Bottom:return[n,i+zi(s-i,t)]}}function kt({sourceX:e,sourceY:n,sourcePosition:i=ae.Bottom,targetX:o,targetY:s,targetPosition:t=ae.Top,curvature:l=.25}){const[r,d]=At({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,c]=At({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[b,m,h,v]=Ct({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:c});return[`M${e},${n} C${r},${d} ${u},${c} ${o},${s}`,b,m,h,v]}function Et({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function lf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function rf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Hi(Gi(e),Gi(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Vi(l,Fi(t))>0}const df=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,uf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),cf=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",He.error006()),n;const o=i.getEdgeId||df;let s;return dt(e)?s={...e}:s={...e,id:o(e)},uf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Mt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Et({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Tt={[ae.Left]:{x:-1,y:0},[ae.Right]:{x:1,y:0},[ae.Top]:{x:0,y:-1},[ae.Bottom]:{x:0,y:1}},bf=({source:e,sourcePosition:n=ae.Bottom,target:i})=>n===ae.Left||n===ae.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},Pt=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function mf({source:e,sourcePosition:n=ae.Bottom,target:i,targetPosition:o=ae.Top,center:s,offset:t,stepPosition:l}){var k,E,_,T;const r=Tt[n],d=Tt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},c={x:i.x+d.x*t,y:i.y+d.y*t},b=bf({source:u,sourcePosition:n,target:c}),m=b.x!==0?"x":"y",h=b[m];let v=[],p,y;const g={x:0,y:0},x={x:0,y:0},[,,f,N]=Et({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(p=(k=s.x)!=null?k:u.x+(c.x-u.x)*l,y=(E=s.y)!=null?E:(u.y+c.y)/2):(p=(_=s.x)!=null?_:(u.x+c.x)/2,y=(T=s.y)!=null?T:u.y+(c.y-u.y)*l);const P=[{x:p,y:u.y},{x:p,y:c.y}],K=[{x:u.x,y},{x:c.x,y}];r[m]===h?v=m==="x"?P:K:v=m==="x"?K:P}else{const P=[{x:u.x,y:c.y}],K=[{x:c.x,y:u.y}];if(m==="x"?v=r.x===h?K:P:v=r.y===h?P:K,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const B=Math.min(t-1,t-O);r[m]===h?g[m]=(u[m]>e[m]?-1:1)*B:x[m]=(c[m]>i[m]?-1:1)*B}}if(n!==o){const O=m==="x"?"y":"x",B=r[m]===d[O],U=u[O]>c[O],q=u[O]<c[O];(r[m]===1&&(!B&&U||B&&q)||r[m]!==1&&(!B&&q||B&&U))&&(v=m==="x"?P:K)}const M={x:u.x+g.x,y:u.y+g.y},L={x:c.x+x.x,y:c.y+x.y},I=Math.max(Math.abs(M.x-v[0].x),Math.abs(L.x-v[0].x)),D=Math.max(Math.abs(M.y-v[0].y),Math.abs(L.y-v[0].y));I>=D?(p=(M.x+L.x)/2,y=v[0].y):(p=v[0].x,y=(M.y+L.y)/2)}const A={x:u.x+g.x,y:u.y+g.y},w={x:c.x+x.x,y:c.y+x.y};return[[e,...A.x!==v[0].x||A.y!==v[0].y?[A]:[],...v,...w.x!==v[v.length-1].x||w.y!==v[v.length-1].y?[w]:[],i],p,y,f,N]}function vf(e,n,i,o){const s=Math.min(Pt(e,n)/2,Pt(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,c=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*c}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function Ro({sourceX:e,sourceY:n,sourcePosition:i=ae.Bottom,targetX:o,targetY:s,targetPosition:t=ae.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:c=.5}){const[b,m,h,v,p]=mf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:c});let y=`M${b[0].x} ${b[0].y}`;for(let g=1;g<b.length-1;g++)y+=vf(b[g-1],b[g],b[g+1],l);return y+=`L${b[b.length-1].x} ${b[b.length-1].y}`,[y,m,h,v,p]}function Lt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function ff(e){var b,m,h,v,p;const{sourceNode:n,targetNode:i}=e;if(!Lt(n)||!Lt(i))return null;const o=n.internals.handleBounds||Bt(n.handles),s=i.internals.handleBounds||Bt(i.handles),t=It((b=o==null?void 0:o.source)!=null?b:[],e.sourceHandle),l=It(e.connectionMode===kn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((h=s==null?void 0:s.target)!=null?h:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(p=e.onError)==null||p.call(e,"008",He.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||ae.Bottom,d=(l==null?void 0:l.position)||ae.Top,u=hn(n,t,r),c=hn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y,sourcePosition:r,targetPosition:d}}function Bt(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function hn(e,n,i=ae.Left,o=!1){var u,c,b;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((c=n==null?void 0:n.y)!=null?c:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:en(e);if(o)return{x:s+l/2,y:t+r/2};switch((b=n==null?void 0:n.position)!=null?b:i){case ae.Top:return{x:s+l/2,y:t};case ae.Right:return{x:s+l,y:t+r/2};case ae.Bottom:return{x:s+l/2,y:t+r};case ae.Left:return{x:s,y:t+r/2}}}function It(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function es(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function hf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=es(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Dt=1e3,pf=10,ns={nodeOrigin:[0,0],nodeExtent:Xn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},gf={...ns,checkEquality:!0};function is(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function yf(e,n,i){const o=is(ns,i);for(const s of e.values())if(s.parentId)as(s,e,n,o);else{const t=Rn(s,o.nodeOrigin),l=fn(s.extent)?s.extent:o.nodeExtent,r=vn(t,l,en(s));s.internals.positionAbsolute=r}}function xf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function os(e){return e==="manual"}function ss(e,n,i,o={}){var c,b,m;const s=is(gf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!os(s.zIndexMode)?Dt:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const h of e){let v=l.get(h.id);if(s.checkEquality&&h===(v==null?void 0:v.internals.userNode))n.set(h.id,v);else{const p=Rn(h,s.nodeOrigin),y=fn(h.extent)?h.extent:s.nodeExtent,g=vn(p,y,en(h));v={...s.defaults,...h,measured:{width:(c=h.measured)==null?void 0:c.width,height:(b=h.measured)==null?void 0:b.height},internals:{positionAbsolute:g,handleBounds:xf(h,v),z:_t(h,r,s.zIndexMode),userNode:h}},n.set(h.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),h.parentId&&as(v,n,i,o,t),u||(u=(m=h.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Sf(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function as(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=is(ns,o),u=e.parentId,c=n.get(u);if(!c){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Sf(e,i),s&&!c.parentId&&c.internals.rootParentIndex===void 0&&d==="auto"&&(c.internals.rootParentIndex=++s.i,c.internals.z=c.internals.z+s.i*pf),s&&c.internals.rootParentIndex!==void 0&&(s.i=c.internals.rootParentIndex);const b=t&&!os(d)?Dt:0,{x:m,y:h,z:v}=wf(e,c,l,r,b,d),{positionAbsolute:p}=e.internals,y=m!==p.x||h!==p.y;(y||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:m,y:h}:p,z:v}})}function _t(e,n,i){const o=ze(e.zIndex)?e.zIndex:0;return os(i)?o:o+(e.selected?n:0)}function wf(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=en(e),u=Rn(e,i),c=fn(e.extent)?vn(u,e.extent,d):u;let b=vn({x:l+c.x,y:r+c.y},o,d);e.extent==="parent"&&(b=ct(b,d,n));const m=_t(e,s,t),h=(v=n.internals.z)!=null?v:0;return{x:b.x,y:b.y,z:h>=m?h+1:m}}function ts(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const c=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:ni(u),b=mt(c,d.rect);t.set(d.parentId,{expandedRect:b,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},c)=>{var N,A;const b=u.internals.positionAbsolute,m=en(u),h=(N=u.origin)!=null?N:o,v=d.x<b.x?Math.round(Math.abs(b.x-d.x)):0,p=d.y<b.y?Math.round(Math.abs(b.y-d.y)):0,y=Math.max(m.width,Math.round(d.width)),g=Math.max(m.height,Math.round(d.height)),x=(y-m.width)*h[0],f=(g-m.height)*h[1];(v>0||p>0||x||f)&&(s.push({id:c,type:"position",position:{x:u.position.x-v+x,y:u.position.y-p+f}}),(A=i.get(c))==null||A.forEach(w=>{e.some(C=>C.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+v,y:w.position.y+p}})})),(m.width<d.width||m.height<d.height||v||p)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:y+(v?h[0]*v-x:0),height:g+(p?h[1]*p-f:0)}})}),s}function Nf(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],c=window.getComputedStyle(r),{m22:b}=new window.DOMMatrixReadOnly(c.transform),m=[];for(const h of e.values()){const v=n.get(h.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const p=Qo(h.nodeElement),y=v.measured.width!==p.width||v.measured.height!==p.height;if(!!(p.width&&p.height&&(y||!v.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),f=fn(v.extent)?v.extent:t;let{positionAbsolute:N}=v.internals;v.parentId&&v.extent==="parent"?N=ct(N,p,n.get(v.parentId)):f&&(N=vn(N,f,p));const A={...v,measured:p,internals:{...v.internals,positionAbsolute:N,handleBounds:{source:Nt("source",h.nodeElement,x,b,v.id),target:Nt("target",h.nodeElement,x,b,v.id)}}};n.set(v.id,A),v.parentId&&as(A,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,y&&(u.push({id:v.id,type:"dimensions",dimensions:p}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:ni(A,s)}))}}if(m.length>0){const h=ts(m,n,i,s);u.push(...h)}return{changes:u,updatedInternals:d}}async function Cf({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Ot(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Kt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,c=`${t}-${r}--${s}-${l}`;Ot("source",d,c,e,s,l),Ot("target",d,u,e,t,r),n.set(o.id,o)}}function Ht(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Ht(i,n):!1}function Ft(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Af(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Ht(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function ls({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,c]of n){const b=(l=i.get(u))==null?void 0:l.internals.userNode;b&&s.push({...b,position:c.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function kf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=ii(t,n);return{x:l.x-t.x,y:l.y-t.y}}function Ef({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},c=null,b=!1,m=null,h=!1,v=!1,p=null;function y({noDragClassName:x,handleSelector:f,domNode:N,isSelectable:A,nodeId:w,nodeClickDistance:C=0}){m=Ke(N);function k({x:P,y:K}){const{nodeLookup:M,nodeExtent:L,snapGrid:I,snapToGrid:D,nodeOrigin:O,onNodeDrag:B,onSelectionDrag:U,onError:q,updateNodePositions:G}=n();t={x:P,y:K};let V=!1;const X=r.size>1,oe=X&&L?Zo(ei(r)):null,ne=X&&D?kf({dragItems:r,snapGrid:I,x:P,y:K}):null;for(const[Q,Y]of r){if(!M.has(Q))continue;let ee={x:P-Y.distance.x,y:K-Y.distance.y};D&&(ee=ne?{x:Math.round(ee.x+ne.x),y:Math.round(ee.y+ne.y)}:ii(ee,I));let te=null;if(X&&L&&!Y.extent&&oe){const{positionAbsolute:j}=Y.internals,H=j.x-oe.x+L[0][0],$=j.x+Y.measured.width-oe.x2+L[1][0],W=j.y-oe.y+L[0][1],Z=j.y+Y.measured.height-oe.y2+L[1][1];te=[[H,W],[$,Z]]}const{position:z,positionAbsolute:F}=ut({nodeId:Q,nextPosition:ee,nodeLookup:M,nodeExtent:te||L,nodeOrigin:O,onError:q});V=V||Y.position.x!==z.x||Y.position.y!==z.y,Y.position=z,Y.internals.positionAbsolute=F}if(v=v||V,!!V&&(G(r,!0),p&&(o||B||!w&&U))){const[Q,Y]=ls({nodeId:w,dragItems:r,nodeLookup:M});o==null||o(p,r,Q,Y),B==null||B(p,Q,Y),w||U==null||U(p,Y)}}async function E(){var O,B;if(!c)return;const{transform:P,panBy:K,autoPanSpeed:M,autoPanOnNodeDrag:L}=n();if(!L){d=!1,cancelAnimationFrame(l);return}const[I,D]=Jo(u,c,M);(I!==0||D!==0)&&(t.x=((O=t.x)!=null?O:0)-I/P[2],t.y=((B=t.y)!=null?B:0)-D/P[2],await K({x:I,y:D})&&k(t)),l=requestAnimationFrame(E)}function _(P){var X;const{nodeLookup:K,multiSelectionActive:M,nodesDraggable:L,transform:I,snapGrid:D,snapToGrid:O,selectNodesOnDrag:B,onNodeDragStart:U,onSelectionDragStart:q,unselectNodesAndEdges:G}=n();b=!0,(!B||!A)&&!M&&w&&((X=K.get(w))!=null&&X.selected||G()),A&&B&&w&&(e==null||e(w));const V=ai(P.sourceEvent,{transform:I,snapGrid:D,snapToGrid:O,containerBounds:c});if(t=V,r=Af(K,L,V,w),r.size>0&&(i||U||!w&&q)){const[oe,ne]=ls({nodeId:w,dragItems:r,nodeLookup:K});i==null||i(P.sourceEvent,r,oe,ne),U==null||U(P.sourceEvent,oe,ne),w||q==null||q(P.sourceEvent,ne)}}const T=Ea().clickDistance(C).on("start",P=>{const{domNode:K,nodeDragThreshold:M,transform:L,snapGrid:I,snapToGrid:D}=n();c=(K==null?void 0:K.getBoundingClientRect())||null,h=!1,v=!1,p=P.sourceEvent,M===0&&_(P),t=ai(P.sourceEvent,{transform:L,snapGrid:I,snapToGrid:D,containerBounds:c}),u=$e(P.sourceEvent,c)}).on("drag",P=>{const{autoPanOnNodeDrag:K,transform:M,snapGrid:L,snapToGrid:I,nodeDragThreshold:D,nodeLookup:O}=n(),B=ai(P.sourceEvent,{transform:M,snapGrid:L,snapToGrid:I,containerBounds:c});if(p=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||w&&!O.has(w))&&(h=!0),!h){if(!d&&K&&b&&(d=!0,E()),!b){const U=$e(P.sourceEvent,c),q=U.x-u.x,G=U.y-u.y;Math.sqrt(q*q+G*G)>D&&_(P)}(t.x!==B.xSnapped||t.y!==B.ySnapped)&&r&&b&&(u=$e(P.sourceEvent,c),k(B))}}).on("end",P=>{if(!b||h){h&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,b=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:K,updateNodePositions:M,onNodeDragStop:L,onSelectionDragStop:I}=n();if(v&&(M(r,!1),v=!1),s||L||!w&&I){const[D,O]=ls({nodeId:w,dragItems:r,nodeLookup:K,dragging:!1});s==null||s(P.sourceEvent,r,D,O),L==null||L(P.sourceEvent,D,O),w||I==null||I(P.sourceEvent,O)}}}).filter(P=>{const K=P.target;return!P.button&&(!x||!Ft(K,`.${x}`,N))&&(!f||Ft(K,f,N))});m.call(T)}function g(){m==null||m.on(".drag",null)}return{update:y,destroy:g}}function Mf(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())Vi(s,ni(t))>0&&o.push(t);return o}const Tf=250;function Pf(e,n,i,o){var r,d,u,c,b;let s=[],t=1/0;const l=Mf(e,i,n+Tf);for(const m of l){const h=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(c=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?c:[]];for(const v of h){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x:p,y}=hn(m,v,v.position,!0),g=Math.sqrt(Math.pow(p-e.x,2)+Math.pow(y-e.y,2));g>n||(g<t?(s=[{...v,x:p,y}],t=g):g===t&&s.push({...v,x:p,y}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(b=s.find(h=>h.type===m))!=null?b:s[0]}return s[0]}function Gt(e,n,i,o,s,t=!1){var u,c,b,m,h,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(b=(c=l.internals.handleBounds)==null?void 0:c.source)!=null?b:[],...(h=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?h:[]],d=(v=i?r==null?void 0:r.find(p=>p.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...hn(l,d,d.position,!0)}:d}function Vt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Lf(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const zt=()=>!0;function Bf(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:c,flowId:b,panBy:m,cancelConnection:h,onConnectStart:v,onConnect:p,onConnectEnd:y,isValidConnection:g=zt,onReconnectEnd:x,updateConnection:f,getTransform:N,getFromHandle:A,autoPanSpeed:w,dragThreshold:C=1,handleDomNode:k}){const E=xt(e.target);let _=0,T;const{x:P,y:K}=$e(e),M=Vt(t,k),L=r==null?void 0:r.getBoundingClientRect();let I=!1;if(!L||!M)return;const D=Gt(s,M,o,d,n);if(!D)return;let O=$e(e,L),B=!1,U=null,q=!1,G=null;function V(){if(!c||!L)return;const[z,F]=Jo(O,L,w);m({x:z,y:F}),_=requestAnimationFrame(V)}const X={...D,nodeId:s,type:M,position:D.position},oe=d.get(s);let Q={inProgress:!0,isValid:null,from:hn(oe,X,ae.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:oe,to:O,toHandle:null,toPosition:lt[X.position],toNode:null,pointer:O};function Y(){I=!0,f(Q),v==null||v(e,{nodeId:s,handleId:o,handleType:M})}C===0&&Y();function ee(z){if(!I){const{x:Z,y:J}=$e(z),ie=Z-P,se=J-K;if(!(ie*ie+se*se>C*C))return;Y()}if(!A()||!X){te(z);return}const F=N();O=$e(z,L),T=Pf(oi(O,F,!1,[1,1]),i,d,X),B||(V(),B=!0);const j=$t(z,{handle:T,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:g,doc:E,lib:u,flowId:b,nodeLookup:d});G=j.handleDomNode,U=j.connection,q=Lf(!!T,j.isValid);const H=d.get(s),$=H?hn(H,X,ae.Left,!0):Q.from,W={...Q,from:$,isValid:q,to:j.toHandle&&q?Tn({x:j.toHandle.x,y:j.toHandle.y},F):O,toHandle:j.toHandle,toPosition:q&&j.toHandle?j.toHandle.position:lt[X.position],toNode:j.toHandle?d.get(j.toHandle.nodeId):null,pointer:O};f(W),Q=W}function te(z){if(!("touches"in z&&z.touches.length>0)){if(I){(T||G)&&U&&q&&(p==null||p(U));const{inProgress:F,...j}=Q,H={...j,toPosition:Q.toHandle?Q.toPosition:null};y==null||y(z,H),t&&(x==null||x(z,H))}h(),cancelAnimationFrame(_),B=!1,q=!1,U=null,G=null,E.removeEventListener("mousemove",ee),E.removeEventListener("mouseup",te),E.removeEventListener("touchmove",ee),E.removeEventListener("touchend",te)}}E.addEventListener("mousemove",ee),E.addEventListener("mouseup",te),E.addEventListener("touchmove",ee),E.addEventListener("touchend",te)}function $t(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=zt,nodeLookup:c}){const b=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:h,y:v}=$e(e),p=l.elementFromPoint(h,v),y=p!=null&&p.classList.contains(`${r}-flow__handle`)?p:m,g={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=Vt(void 0,y),f=y.getAttribute("data-nodeid"),N=y.getAttribute("data-handleid"),A=y.classList.contains("connectable"),w=y.classList.contains("connectableend");if(!f||!x)return g;const C={source:b?f:o,sourceHandle:b?N:s,target:b?o:f,targetHandle:b?s:N};g.connection=C;const E=A&&w&&(i===kn.Strict?b&&x==="source"||!b&&x==="target":f!==o||N!==s);g.isValid=E&&u(C),g.toHandle=Gt(f,x,N,c,i,!0)}return g}const rs={onPointerDown:Bf,isValid:$t};function If({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ke(e);function t({translateExtent:r,width:d,height:u,zoomStep:c=1,pannable:b=!0,zoomable:m=!0,inversePan:h=!1}){const v=f=>{if(f.sourceEvent.type!=="wheel"||!n)return;const N=i(),A=f.sourceEvent.ctrlKey&&si()?10:1,w=-f.sourceEvent.deltaY*(f.sourceEvent.deltaMode===1?.05:f.sourceEvent.deltaMode?1:.002)*c,C=N[2]*Math.pow(2,w*A);n.scaleTo(C)};let p=[0,0];const y=f=>{var N,A;(f.sourceEvent.type==="mousedown"||f.sourceEvent.type==="touchstart")&&(p=[(N=f.sourceEvent.clientX)!=null?N:f.sourceEvent.touches[0].clientX,(A=f.sourceEvent.clientY)!=null?A:f.sourceEvent.touches[0].clientY])},g=f=>{var _,T;const N=i();if(f.sourceEvent.type!=="mousemove"&&f.sourceEvent.type!=="touchmove"||!n)return;const A=[(_=f.sourceEvent.clientX)!=null?_:f.sourceEvent.touches[0].clientX,(T=f.sourceEvent.clientY)!=null?T:f.sourceEvent.touches[0].clientY],w=[A[0]-p[0],A[1]-p[1]];p=A;const C=o()*Math.max(N[2],Math.log(N[2]))*(h?-1:1),k={x:N[0]-w[0]*C,y:N[1]-w[1]*C},E=[[0,0],[d,u]];n.setViewportConstrained({x:k.x,y:k.y,zoom:N[2]},E,r)},x=ot().on("start",y).on("zoom",b?g:null).on("zoom.wheel",m?v:null);s.call(x,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:Fe}}const $i=e=>({x:e.x,y:e.y,zoom:e.k}),ds=({x:e,y:n,zoom:i})=>Ki.translate(e,n).scale(i),Ln=(e,n)=>e.target.closest(`.${n}`),jt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Df=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,us=(e,n=0,i=Df,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Wt=e=>{const n=e.ctrlKey&&si()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function _f({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return c=>{if(Ln(c,n))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();const b=i.property("__zoom").k||1;if(c.ctrlKey&&l){const y=Fe(c),g=Wt(c),x=b*Math.pow(2,g);o.scaleTo(i,x,y,c);return}const m=c.deltaMode===1?20:1;let h=s===mn.Vertical?0:c.deltaX*m,v=s===mn.Horizontal?0:c.deltaY*m;!si()&&c.shiftKey&&s!==mn.Vertical&&(h=c.deltaY*m,v=0),o.translateBy(i,-(h/b)*t,-(v/b)*t,{internal:!0});const p=$i(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(c,p),e.panScrollTimeout=setTimeout(()=>{u==null||u(c,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(c,p))}}function Of({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Ln(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Kf({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=$i(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function Hf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&jt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,$i(t.transform)))}}function Ff({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&jt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=$i(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Gf({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:c}){return b=>{var y;const m=e||n,h=i&&b.ctrlKey,v=b.type==="wheel";if(b.button===1&&b.type==="mousedown"&&(Ln(b,`${u}-flow__node`)||Ln(b,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||c&&!v||Ln(b,r)&&v||Ln(b,d)&&(!v||s&&v&&!e)||!i&&b.ctrlKey&&v)return!1;if(!i&&b.type==="touchstart"&&((y=b.touches)==null?void 0:y.length)>1)return b.preventDefault(),!1;if(!m&&!s&&!h&&v||!o&&(b.type==="mousedown"||b.type==="touchstart")||Array.isArray(o)&&!o.includes(b.button)&&b.type==="mousedown")return!1;const p=Array.isArray(o)&&o.includes(b.button)||!b.button||b.button<=1;return(!b.ctrlKey||v)&&p}}function Vf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),b=ot().scaleExtent([n,i]).translateExtent(o),m=Ke(e).call(b);x({x:s.x,y:s.y,zoom:Mn(s.zoom,n,i)},[[0,0],[c.width,c.height]],o);const h=m.on("wheel.zoom"),v=m.on("dblclick.zoom");b.wheelDelta(Wt);async function p(T,P){return m?new Promise(K=>{b==null||b.interpolate((P==null?void 0:P.interpolate)==="linear"?Wn:Ei).transform(us(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),T)}):!1}function y({noWheelClassName:T,noPanClassName:P,onPaneContextMenu:K,userSelectionActive:M,panOnScroll:L,panOnDrag:I,panOnScrollMode:D,panOnScrollSpeed:O,preventScrolling:B,zoomOnPinch:U,zoomOnScroll:q,zoomOnDoubleClick:G,zoomActivationKeyPressed:V,lib:X,onTransformChange:oe,connectionInProgress:ne,paneClickDistance:Q,selectionOnDrag:Y}){M&&!u.isZoomingOrPanning&&g();const ee=L&&!V&&!M;b.clickDistance(Y?1/0:!ze(Q)||Q<0?0:Q);const te=ee?_f({zoomPanValues:u,noWheelClassName:T,d3Selection:m,d3Zoom:b,panOnScrollMode:D,panOnScrollSpeed:O,zoomOnPinch:U,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):Of({noWheelClassName:T,preventScrolling:B,d3ZoomHandler:h});m.on("wheel.zoom",te,{passive:!1});const z=Kf({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});b.on("start",z);const F=Hf({zoomPanValues:u,panOnDrag:I,onPaneContextMenu:!!K,onPanZoom:t,onTransformChange:oe});b.on("zoom",F);const j=Ff({zoomPanValues:u,panOnDrag:I,panOnScroll:L,onPaneContextMenu:K,onPanZoomEnd:r,onDraggingChange:d});b.on("end",j);const H=Gf({zoomActivationKeyPressed:V,panOnDrag:I,zoomOnScroll:q,panOnScroll:L,zoomOnDoubleClick:G,zoomOnPinch:U,userSelectionActive:M,noPanClassName:P,noWheelClassName:T,lib:X,connectionInProgress:ne});b.filter(H),G?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function g(){b.on("zoom",null)}async function x(T,P,K){const M=ds(T),L=b==null?void 0:b.constrain()(M,P,K);return L&&await p(L),L}async function f(T,P){const K=ds(T);return await p(K,P),K}function N(T){if(m){const P=ds(T),K=m.property("__zoom");(K.k!==T.zoom||K.x!==T.x||K.y!==T.y)&&(b==null||b.transform(m,P,null,{sync:!0}))}}function A(){const T=m?nt(m.node()):{x:0,y:0,k:1};return{x:T.x,y:T.y,zoom:T.k}}async function w(T,P){return m?new Promise(K=>{b==null||b.interpolate((P==null?void 0:P.interpolate)==="linear"?Wn:Ei).scaleTo(us(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),T)}):!1}async function C(T,P){return m?new Promise(K=>{b==null||b.interpolate((P==null?void 0:P.interpolate)==="linear"?Wn:Ei).scaleBy(us(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),T)}):!1}function k(T){b==null||b.scaleExtent(T)}function E(T){b==null||b.translateExtent(T)}function _(T){const P=!ze(T)||T<0?0:T;b==null||b.clickDistance(P)}return{update:y,destroy:g,setViewport:f,setViewportConstrained:x,getViewport:A,scaleTo:w,scaleBy:C,setScaleExtent:k,setTranslateExtent:E,syncViewport:N,setClickDistance:_}}var Bn;(function(e){e.Line="line",e.Handle="handle"})(Bn||(Bn={}));function zf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Ut(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function an(e,n){return Math.max(0,n-e)}function tn(e,n){return Math.max(0,e-n)}function ji(e,n,i){return Math.max(0,n-e,e-i)}function qt(e,n){return e?!n:n}function $f(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:c,isVertical:b}=n,m=c&&b,{xSnapped:h,ySnapped:v}=i,{minWidth:p,maxWidth:y,minHeight:g,maxHeight:x}=o,{x:f,y:N,width:A,height:w,aspectRatio:C}=e;let k=Math.floor(c?h-e.pointerX:0),E=Math.floor(b?v-e.pointerY:0);const _=A+(d?-k:k),T=w+(u?-E:E),P=-t[0]*A,K=-t[1]*w;let M=ji(_,p,y),L=ji(T,g,x);if(l){let O=0,B=0;d&&k<0?O=an(f+k+P,l[0][0]):!d&&k>0&&(O=tn(f+_+P,l[1][0])),u&&E<0?B=an(N+E+K,l[0][1]):!u&&E>0&&(B=tn(N+T+K,l[1][1])),M=Math.max(M,O),L=Math.max(L,B)}if(r){let O=0,B=0;d&&k>0?O=tn(f+k,r[0][0]):!d&&k<0&&(O=an(f+_,r[1][0])),u&&E>0?B=tn(N+E,r[0][1]):!u&&E<0&&(B=an(N+T,r[1][1])),M=Math.max(M,O),L=Math.max(L,B)}if(s){if(c){const O=ji(_/C,g,x)*C;if(M=Math.max(M,O),l){let B=0;!d&&!u||d&&!u&&m?B=tn(N+K+_/C,l[1][1])*C:B=an(N+K+(d?k:-k)/C,l[0][1])*C,M=Math.max(M,B)}if(r){let B=0;!d&&!u||d&&!u&&m?B=an(N+_/C,r[1][1])*C:B=tn(N+(d?k:-k)/C,r[0][1])*C,M=Math.max(M,B)}}if(b){const O=ji(T*C,p,y)/C;if(L=Math.max(L,O),l){let B=0;!d&&!u||u&&!d&&m?B=tn(f+T*C+P,l[1][0])/C:B=an(f+(u?E:-E)*C+P,l[0][0])/C,L=Math.max(L,B)}if(r){let B=0;!d&&!u||u&&!d&&m?B=an(f+T*C,r[1][0])/C:B=tn(f+(u?E:-E)*C,r[0][0])/C,L=Math.max(L,B)}}}E=E+(E<0?L:-L),k=k+(k<0?M:-M),s&&(m?_>T*C?E=(qt(d,u)?-k:k)/C:k=(qt(d,u)?-E:E)*C:c?(E=k/C,u=d):(k=E*C,d=u));const I=d?f+k:f,D=u?N+E:N;return{width:A+(d?-k:k),height:w+(u?-E:E),x:t[0]*k*(d?-1:1)+I,y:t[1]*E*(u?-1:1)+D}}const Yt={width:0,height:0,x:0,y:0},jf={...Yt,pointerX:0,pointerY:0,aspectRatio:1};function Wf(e,n,i){var u,c;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(c=e.measured.height)!=null?c:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Uf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ke(e);let l={controlDirection:Ut("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:c,keepAspectRatio:b,resizeDirection:m,onResizeStart:h,onResize:v,onResizeEnd:p,shouldResize:y}){let g={...Yt},x={...jf};l={boundaries:c,resizeDirection:m,keepAspectRatio:b,controlDirection:Ut(u)};let f,N=null,A=[],w,C,k,E=!1;const _=Ea().on("start",T=>{var U,q,G,V,X,oe;const{nodeLookup:P,transform:K,snapGrid:M,snapToGrid:L,nodeOrigin:I,paneDomNode:D}=i();if(f=P.get(n),!f)return;N=(U=D==null?void 0:D.getBoundingClientRect())!=null?U:null;const{xSnapped:O,ySnapped:B}=ai(T.sourceEvent,{transform:K,snapGrid:M,snapToGrid:L,containerBounds:N});g={width:(q=f.measured.width)!=null?q:0,height:(G=f.measured.height)!=null?G:0,x:(V=f.position.x)!=null?V:0,y:(X=f.position.y)!=null?X:0},x={...g,pointerX:O,pointerY:B,aspectRatio:g.width/g.height},w=void 0,C=fn(f.extent)?f.extent:void 0,f.parentId&&(f.extent==="parent"||f.expandParent)&&(w=P.get(f.parentId)),w&&f.extent==="parent"&&(C=[[0,0],[w.measured.width,w.measured.height]]),A=[],k=void 0;for(const[ne,Q]of P)if(Q.parentId===n&&(A.push({id:ne,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const Y=Wf(Q,f,(oe=Q.origin)!=null?oe:I);k?k=[[Math.min(Y[0][0],k[0][0]),Math.min(Y[0][1],k[0][1])],[Math.max(Y[1][0],k[1][0]),Math.max(Y[1][1],k[1][1])]]:k=Y}h==null||h(T,{...g})}).on("drag",T=>{var $,W,Z;const{transform:P,snapGrid:K,snapToGrid:M,nodeOrigin:L}=i(),I=ai(T.sourceEvent,{transform:P,snapGrid:K,snapToGrid:M,containerBounds:N}),D=[];if(!f)return;const{x:O,y:B,width:U,height:q}=g,G={},V=($=f.origin)!=null?$:L,{width:X,height:oe,x:ne,y:Q}=$f(x,l.controlDirection,I,l.boundaries,l.keepAspectRatio,V,C,k),Y=X!==U,ee=oe!==q,te=ne!==O&&Y,z=Q!==B&&ee;if(!te&&!z&&!Y&&!ee)return;if((te||z||V[0]===1||V[1]===1)&&(G.x=te?ne:g.x,G.y=z?Q:g.y,g.x=G.x,g.y=G.y,A.length>0)){const J=ne-O,ie=Q-B;for(const se of A)se.position={x:se.position.x-J+V[0]*(X-U),y:se.position.y-ie+V[1]*(oe-q)},D.push(se)}if((Y||ee)&&(G.width=Y&&(!l.resizeDirection||l.resizeDirection==="horizontal")?X:g.width,G.height=ee&&(!l.resizeDirection||l.resizeDirection==="vertical")?oe:g.height,g.width=G.width,g.height=G.height),w&&f.expandParent){const J=V[0]*((W=G.width)!=null?W:0);G.x&&G.x<J&&(g.x=J,x.x=x.x-(G.x-J));const ie=V[1]*((Z=G.height)!=null?Z:0);G.y&&G.y<ie&&(g.y=ie,x.y=x.y-(G.y-ie))}const F=zf({width:g.width,prevWidth:U,height:g.height,prevHeight:q,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),j={...g,direction:F};(y==null?void 0:y(T,j))!==!1&&(E=!0,v==null||v(T,j),o(G,D))}).on("end",T=>{E&&(p==null||p(T,{...g}),s==null||s({...g}),E=!1)});t.call(_)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function qf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Wi={exports:{}},cs={},Ui={exports:{}},bs={};/**
38
+ active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:f},children:a.jsx(re,{icon:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:f},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},A)})})})]})},ec=w.memo(Ru),Je=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:c="button",style:b,onClick:m})=>{const f=he("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(re,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(re,{icon:s})})]});return u?a.jsx("div",{className:f,children:v()}):d?a.jsx(Ar.Link,{to:d,className:f,children:v()}):a.jsx("button",{disabled:n,type:c,className:f,"data-testid":"btn",onClick:m,style:b,children:v()})};function nc(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ic=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=w.useContext(De);if(!e)return null;const s=Pe("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(nc,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Po,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function oc(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function sc({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:c}){const{formData:b,setShowPreview:m,showPreview:f,undo:v,redo:h,canUndo:y,canRedo:g}=w.useContext(De),[S,p]=w.useState(!1),[x,A]=w.useState(!1),[N,C]=w.useState(e||""),k=Pe("config");function E(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(L){console.warn("Could not save formData to localStorage",L)}i==null||i(b)}function _(){try{localStorage.setItem("formData",JSON.stringify(b))}catch(L){console.warn("Could not save formData to localStorage",L)}o==null||o(b)}function M(){A(!1),r&&N!==e&&r(N.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(oc,{})})," ",x?a.jsx("input",{type:"text",value:N,onChange:L=>C(L.target.value),onBlur:M,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>A(!0),children:N||"Untitled"})]}),S&&a.jsx(ic,{isOpen:S,onClose:()=>p(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(re,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(re,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Je,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${y?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!y}),a.jsx(Je,{onClick:h,text:"",btnClass:`!px-2 bg-transparent redo ${g?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!g}),c&&a.jsx(Je,{onClick:c,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(k==null?void 0:k.buttonColor)||"#333"}}),a.jsx(Je,{onClick:()=>m(L=>!L),text:f?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:f?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Je,{onClick:E,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Je,{onClick:_,text:"Publish",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function ac({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:v,onAddTemplate:h,templates:y,onShowVersion:g,formType:S="default"}){const[p,x]=w.useState("canvas");return a.jsxs(Ms,{onChange:n,onLogAction:i,deleteMode:s||(t==null?void 0:t.deleteMode)||"remove",children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[p==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(ec,{formType:S})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${p==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(sc,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:c,saveLoading:b,publishLoading:m,onTitleChange:f,viewMode:p,setViewMode:x,onShowVersion:g})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(Eo,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Zu,{questionData:o,uploadUrl:v,onAddTemplate:h,templates:y,viewMode:p})})]})]})})]})}const tc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:c,previewLoading:b,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:h,onAddTemplate:y,templates:g,onShowVersion:S,formType:p})=>(w.useEffect(()=>{l&&na("config",l)},[l]),a.jsx(ac,{onSubmit:e,onChange:n,onLogAction:i,onPublish:c,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:b,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:h,onAddTemplate:y,templates:g,onShowVersion:S,formType:p})),tn={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},lc=e=>({textField:oe.string().nullable(),longText:oe.string().nullable(),numberField:oe.number().nullable().transform(i=>isNaN(i)?null:i),amountField:oe.number().nullable().transform(i=>isNaN(i)?null:i),selectField:oe.string().nullable(),checkbox:oe.mixed().nullable(),radio:oe.mixed().nullable(),matrix:oe.mixed().nullable(),email:oe.string().nullable().test("email-format",tn.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:oe.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:oe.string().nullable().test("url-format",tn.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||oe.mixed().nullable(),rc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||tn.required):e.required(i||tn.required):e,dc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||tn.minLength(n))),i&&(t=t.max(i,s||tn.maxLength(i))),t},uc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||tn.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||tn.maxAmount(i))),t},Mo=(e,n)=>{if(e!=null&&e.isDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function cc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isDeleted||!Mo(r,o))return;const{id:d,type:u,isRequired:c,requiredMessage:b}=r,m=!!(r.isDisabled||r.disabled),f=!!(n||r.isReadOnly||r.readOnly);if(m||f||i){s[d]=oe.mixed().notRequired().nullable();return}let v=lc(u);v=rc(v,c,b),u==="textField"||u==="longText"||u==="email"||u==="url"?v=dc(v,r):(u==="numberField"||u==="amountField")&&(v=uc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",h=>{var S;if(h==null||h===""||Array.isArray(h)&&h.length===0)return!c;const g=((S=r.options)==null?void 0:S.length)||0;return Array.isArray(h)?h.length>=g:g<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,h=>h==null||h===""||Array.isArray(h)&&h.length===0?!c:Array.isArray(h)?h.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),oe.object().shape(s)}const ma=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},bc=({results:e})=>{var o,s,t,l,r,d,u;const[n,i]=w.useState(!0);return e?a.jsxs("div",{className:"mt-4 w-full",children:[n&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((o=e.responsesData)==null?void 0:o.options)&&e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b)),e.type==="rating"&&((s=e.responsesData)==null?void 0:s.options)&&a.jsxs(a.Fragment,{children:[((t=e.responsesData)==null?void 0:t.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},b))]}),e.type==="matrix"&&((l=e.responsesData)==null?void 0:l.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,b)=>{var m;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(m=c.columns)==null?void 0:m.map((f,v)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:f.label}),a.jsxs("span",{children:[Math.round(f.percentage),"% (",f.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${f.percentage}%`}})})]},v))})]},b)})}),e.type==="ranking"&&((r=e.responsesData)==null?void 0:r.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,b)=>{var m,f;return((m=c.averageRank)!=null?m:1/0)-((f=b.averageRank)!=null?f:1/0)}).map((c,b)=>{var m,f;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(m=c.averageRank)!=null?m:b+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:ma(c.label),children:ma(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(f=c.pointsPercentage)!=null?f:c.percentage}%`}})})]})]},b)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((d=e.responsesData)==null?void 0:d.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((u=e.responsesData)==null?void 0:u.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,b)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},b))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>i(!n),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(re,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),n?"Hide Results":"Show Results"]})]}):null},Nn=({element:e,validationData:n})=>{var l;const i=ca[e.type],{answerData:o}=w.useContext(De),s=w.useMemo(()=>{var r;return(r=e==null?void 0:e.acceptedFiles)==null?void 0:r.map(d=>d.label).join(", ")},[e]),t=w.useMemo(()=>Mo(e,o),[o,e]);return i?a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description}),(n==null?void 0:n.showResults)&&((l=n==null?void 0:n.pollResults)==null?void 0:l[e.id])&&a.jsx(bc,{results:n.pollResults[e.id]})]}):null},Cn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function mc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(pi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(Nn,{element:l,validationData:Cn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(Nn,{element:s,validationData:Cn(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function vc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const c=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(b=>b.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:c==null?void 0:c.map(b=>{var m,f,v;return a.jsxs(pi,{col:(m=b.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(Nn,{element:b,validationData:Cn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(f=n==null?void 0:n.errors)==null?void 0:f[b.id])==null?void 0:v.message})]},b.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(Nn,{element:t,validationData:Cn(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const To=Pe("config");function fc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=c=>{c.key==="Enter"&&!c.shiftKey&&(c.preventDefault(),i())},d=c=>{var b;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(gi,{element:c,customClass:"p-0 min-h-[60px] border-none w-full",children:(b=c.gridChildren)==null?void 0:b.map(m=>{var f,v,h;return a.jsxs(pi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[a.jsx(Nn,{element:m,validationData:Cn(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(h=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:h.message})]},m.id)})})},c.id)},u=c=>{var b,m;return a.jsxs("div",{className:he("group relative grid gap-y-[6px] min-w-0 w-full",c.elementClass),children:[a.jsx(Nn,{element:c,validationData:Cn(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(b=n==null?void 0:n.errors)==null?void 0:b[c.id])==null?void 0:m.message})]},c.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(be.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Je,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(To==null?void 0:To.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-medium text-sm ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(re,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function hc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const pc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:c,showResults:b,sendHiddenSectionsAsEmpty:m=!1})=>{var ee,de,z,R,ae,Q,G,Y,$,W;const{setAnswerData:f,setUploadUrl:v,apiActivityCount:h}=w.useContext(De),[y,g]=w.useState(0),[S,p]=w.useState(0),x=w.useMemo(()=>e.filter(F=>!F.isHidden&&!F.isDeleted).map(F=>{var ne;const X=F.isDisabled||F.disabled,J=((ne=F==null?void 0:F.questionData)==null?void 0:ne.filter(me=>!me.isDeleted))||[];return X?{...F,questionData:J.map(me=>({...me,isDisabled:!0}))}:{...F,questionData:J}}),[e]),A=(ee=x==null?void 0:x.length)!=null?ee:0,N=Pe("config"),C=w.useCallback(async(F,X,J)=>{const ne=cc({formData:x,isReadOnly:t,ignoreValidation:i,answerData:F});return fo(ne)(F,X,J)},[x,t,i]),k=Re.useForm({resolver:C,mode:"onSubmit",defaultValues:{}}),{register:E,setValue:_,control:M,handleSubmit:L,reset:H,getValues:T,watch:P,formState:{errors:I,isSubmitting:B},trigger:O,setError:D,clearErrors:j}=k,q=Re.useWatch({control:M}),K=w.useMemo(()=>q,[JSON.stringify(q)]),V=w.useMemo(()=>{if(l!=="conversational")return[];const F=[];return x.forEach(X=>{var J;(J=X==null?void 0:X.questionData)==null||J.forEach(ne=>{var me;if(Mo(ne,K))if(ne.type==="grid"){const fe=(me=X==null?void 0:X.questionData)==null?void 0:me.filter(pe=>pe.gridId===ne.id);F.push({...ne,gridChildren:fe})}else ne.gridId||F.push(ne)})}),F},[x,K,l]),Z=w.useCallback(F=>{s&&s(F)},[s]);w.useEffect(()=>{v(u)},[v,u]),w.useEffect(()=>{if(!(e!=null&&e.length)||!s)return;const F={...T?T():{},...K||{}},X=e.filter(J=>!(J!=null&&J.isDeleted)).flatMap(J=>{var pe,ye;const ne=!!(J!=null&&J.isHidden),me=!!(m||J!=null&&J.sendEmptyWhenHidden||J!=null&&J.clearWhenHidden),fe=ne&&me;return((ye=(pe=J==null?void 0:J.questionData)==null?void 0:pe.filter(le=>!(le!=null&&le.isDeleted)))==null?void 0:ye.map(le=>{var ve;const xe=F[le.id]!==void 0?F[le.id]:le.value!==void 0&&le.value!==null?le.value:"",ge=F[`${le.id}_metaData`]||((ve=le.metaData)==null?void 0:ve.responseObject);return{id:le.id,value:fe?"":xe!=null?xe:"",sectionId:J.id,type:le.type,metaData:{prefix:le.prefix,dateFormat:le.dateFormat,...fe||!ge?{}:{responseObject:ge}}}}))||[]});Z(X),f(F)},[K,e,Z,s,f,m,T]),w.useEffect(()=>{n!=null&&n.length&&H(hc(n))},[n,H]);const te=w.useCallback(F=>{const X={...T?T():{},...F||{}},J=e.filter(ne=>!(ne!=null&&ne.isDeleted)).flatMap(ne=>{var ye,le;const me=!!(ne!=null&&ne.isHidden),fe=!!(m||ne!=null&&ne.sendEmptyWhenHidden||ne!=null&&ne.clearWhenHidden),pe=me&&fe;return((le=(ye=ne==null?void 0:ne.questionData)==null?void 0:ye.filter(xe=>!(xe!=null&&xe.isDeleted)))==null?void 0:le.map(xe=>{var _e;const ge=X[xe.id]!==void 0?X[xe.id]:xe.value!==void 0&&xe.value!==null?xe.value:"",ve=X[`${xe.id}_metaData`]||((_e=xe.metaData)==null?void 0:_e.responseObject);return{id:xe.id,value:pe?"":ge!=null?ge:"",sectionId:ne.id,type:xe.type,metaData:{prefix:xe.prefix,dateFormat:xe.dateFormat,...pe||!ve?{}:{responseObject:ve}}}}))||[]});Object.keys(I).length>0||o==null||o(J)},[I,e,T,o,m]),se=w.useCallback(async()=>{var F,X;if(l==="conversational"){if(!i){const J=V[S];if(!J)return;const ne=J.gridChildren?J.gridChildren.map(fe=>fe.id):[J.id];if(!await O(ne))return}S<V.length-1?p(J=>J+1):L(te)();return}if(!i){const J=(X=(F=x==null?void 0:x[y])==null?void 0:F.questionData)==null?void 0:X.map(me=>me.id);if(!await O(J))return}g(J=>J+1)},[y,S,V,x,i,O,l,L,te]),ie=w.useCallback(()=>{if(l==="conversational"){p(F=>Math.max(0,F-1));return}g(F=>F-1)},[l]),U=w.useMemo(()=>({register:E,setValue:_,watch:P,errors:I,trigger:O,isSubmitting:B,isReadOnly:t,getValues:T,setError:D,clearErrors:j,apiActivityCount:h,pollResults:c,showResults:b,isViewer:!0}),[E,_,P,I,O,B,t,T,D,j,h,c,b]);return a.jsxs(Re.FormProvider,{...k,children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:L(te),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((de=x==null?void 0:x[y])==null?void 0:de.title)||((z=x==null?void 0:x[y])==null?void 0:z.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((R=x[y])==null?void 0:R.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(ae=x[y])==null?void 0:ae.title}),((Q=x[y])==null?void 0:Q.description)&&a.jsx("p",{className:"text-sm",children:(G=x[y])==null?void 0:G.description})]}),l==="multi"?a.jsx(vc,{form_data:x,options:U,current:y}):l==="conversational"?a.jsx(fc,{element:V[S],options:U,onNext:se,onPrev:ie,isFirst:S===0,isLast:S===V.length-1,isReadOnly:t}):a.jsx(mc,{form_data:x,options:U})]},l==="conversational"?`conv-${S}`:(Y=x==null?void 0:x[y])==null?void 0:Y.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",y>0&&a.jsxs("button",{type:"button",onClick:ie,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[a.jsx(re,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),y<A-1&&a.jsx(Je,{type:"button",text:"Next",onClick:se,style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(y===A-1||t)&&!i&&(($=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(I).length>0}):r)!=null?$:a.jsx(Je,{isDisabled:B||Object.keys(I).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((W=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(I).length>0}):r)!=null?W:a.jsx(Je,{isDisabled:B||Object.keys(I).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&V.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(S+1)/V.length*100}%`,background:(N==null?void 0:N.buttonColor)||"#2563EB"}})})]})]})},gc=w.memo(pc);function Po({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:c,uploadUrl:b,pollResults:m,showResults:f,sendHiddenSectionsAsEmpty:v=!1}){w.useEffect(()=>{l&&na("config",l)},[l]);const h=w.useCallback(y=>{c&&c(y)},[c]);return t?a.jsx(Eo,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Ms,{children:a.jsx(gc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:h,uploadUrl:b,pollResults:m,showResults:f,sendHiddenSectionsAsEmpty:v,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Le(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Le(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var yc={value:()=>{}};function yi(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new xi(i)}function xi(e){this._=e}function xc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}xi.prototype=yi.prototype={constructor:xi,on:function(e,n){var i=this._,o=xc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=Sc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=va(i[s],e.name,n);else if(n==null)for(s in i)i[s]=va(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new xi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function Sc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function va(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=yc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Lo="http://www.w3.org/1999/xhtml";const fa={svg:"http://www.w3.org/2000/svg",xhtml:Lo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Si(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),fa.hasOwnProperty(n)?{space:fa[n],local:e}:e}function wc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Lo&&n.documentElement.namespaceURI===Lo?n.createElement(e):n.createElementNS(i,e)}}function Nc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ha(e){var n=Si(e);return(n.local?Nc:wc)(n)}function Cc(){}function Bo(e){return e==null?Cc:function(){return this.querySelector(e)}}function Ac(e){typeof e!="function"&&(e=Bo(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,c=0;c<l;++c)(d=t[c])&&(u=e.call(d,d.__data__,c,t))&&("__data__"in d&&(u.__data__=d.__data__),r[c]=u);return new Ke(o,this._parents)}function kc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ec(){return[]}function pa(e){return e==null?Ec:function(){return this.querySelectorAll(e)}}function Mc(e){return function(){return kc(e.apply(this,arguments))}}function Tc(e){typeof e=="function"?e=Mc(e):e=pa(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Ke(o,s)}function ga(e){return function(){return this.matches(e)}}function ya(e){return function(n){return n.matches(e)}}var Pc=Array.prototype.find;function Lc(e){return function(){return Pc.call(this.children,e)}}function Bc(){return this.firstElementChild}function Ic(e){return this.select(e==null?Bc:Lc(typeof e=="function"?e:ya(e)))}var Dc=Array.prototype.filter;function _c(){return Array.from(this.children)}function Oc(e){return function(){return Dc.call(this.children,e)}}function Hc(e){return this.selectAll(e==null?_c:Oc(typeof e=="function"?e:ya(e)))}function Fc(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Ke(o,this._parents)}function xa(e){return new Array(e.length)}function Kc(){return new Ke(this._enter||this._groups.map(xa),this._parents)}function wi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}wi.prototype={constructor:wi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Gc(e){return function(){return e}}function Vc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new wi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function zc(e,n,i,o,s,t,l){var r,d,u=new Map,c=n.length,b=t.length,m=new Array(c),f;for(r=0;r<c;++r)(d=n[r])&&(m[r]=f=l.call(d,d.__data__,r,n)+"",u.has(f)?s[r]=d:u.set(f,d));for(r=0;r<b;++r)f=l.call(e,t[r],r,t)+"",(d=u.get(f))?(o[r]=d,d.__data__=t[r],u.delete(f)):i[r]=new wi(e,t[r]);for(r=0;r<c;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function $c(e){return e.__data__}function jc(e,n){if(!arguments.length)return Array.from(this,$c);var i=n?zc:Vc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Gc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var c=o[u],b=s[u],m=b.length,f=Wc(e.call(c,c&&c.__data__,u,o)),v=f.length,h=r[u]=new Array(v),y=l[u]=new Array(v),g=d[u]=new Array(m);i(c,b,h,y,g,f,n);for(var S=0,p=0,x,A;S<v;++S)if(x=h[S]){for(S>=p&&(p=S+1);!(A=y[p])&&++p<v;);x._next=A||null}}return l=new Ke(l,o),l._enter=r,l._exit=d,l}function Wc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Uc(){return new Ke(this._exit||this._groups.map(xa),this._parents)}function qc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Yc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],c=o[d],b=u.length,m=r[d]=new Array(b),f,v=0;v<b;++v)(f=u[v]||c[v])&&(m[v]=f);for(;d<s;++d)r[d]=i[d];return new Ke(r,this._parents)}function Jc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function Zc(e){e||(e=Xc);function n(b,m){return b&&m?e(b.__data__,m.__data__):!b-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,c=0;c<r;++c)(u=l[c])&&(d[c]=u);d.sort(n)}return new Ke(s,this._parents).order()}function Xc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Qc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Rc(){return Array.from(this)}function eb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function nb(){let e=0;for(const n of this)++e;return e}function ib(){return!this.node()}function ob(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function sb(e){return function(){this.removeAttribute(e)}}function ab(e){return function(){this.removeAttributeNS(e.space,e.local)}}function tb(e,n){return function(){this.setAttribute(e,n)}}function lb(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function rb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function db(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function ub(e,n){var i=Si(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?ab:sb:typeof n=="function"?i.local?db:rb:i.local?lb:tb)(i,n))}function Sa(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function cb(e){return function(){this.style.removeProperty(e)}}function bb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function mb(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function vb(e,n,i){return arguments.length>1?this.each((n==null?cb:typeof n=="function"?mb:bb)(e,n,i==null?"":i)):An(this.node(),e)}function An(e,n){return e.style.getPropertyValue(n)||Sa(e).getComputedStyle(e,null).getPropertyValue(n)}function fb(e){return function(){delete this[e]}}function hb(e,n){return function(){this[e]=n}}function pb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function gb(e,n){return arguments.length>1?this.each((n==null?fb:typeof n=="function"?pb:hb)(e,n)):this.node()[e]}function wa(e){return e.trim().split(/^|\s+/)}function Io(e){return e.classList||new Na(e)}function Na(e){this._node=e,this._names=wa(e.getAttribute("class")||"")}Na.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ca(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Aa(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function yb(e){return function(){Ca(this,e)}}function xb(e){return function(){Aa(this,e)}}function Sb(e,n){return function(){(n.apply(this,arguments)?Ca:Aa)(this,e)}}function wb(e,n){var i=wa(e+"");if(arguments.length<2){for(var o=Io(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?Sb:n?yb:xb)(i,n))}function Nb(){this.textContent=""}function Cb(e){return function(){this.textContent=e}}function Ab(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function kb(e){return arguments.length?this.each(e==null?Nb:(typeof e=="function"?Ab:Cb)(e)):this.node().textContent}function Eb(){this.innerHTML=""}function Mb(e){return function(){this.innerHTML=e}}function Tb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Pb(e){return arguments.length?this.each(e==null?Eb:(typeof e=="function"?Tb:Mb)(e)):this.node().innerHTML}function Lb(){this.nextSibling&&this.parentNode.appendChild(this)}function Bb(){return this.each(Lb)}function Ib(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Db(){return this.each(Ib)}function _b(e){var n=typeof e=="function"?e:ha(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Ob(){return null}function Hb(e,n){var i=typeof e=="function"?e:ha(e),o=n==null?Ob:typeof n=="function"?n:Bo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Fb(){var e=this.parentNode;e&&e.removeChild(this)}function Kb(){return this.each(Fb)}function Gb(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Vb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function zb(e){return this.select(e?Vb:Gb)}function $b(e){return arguments.length?this.property("__data__",e):this.node().__data__}function jb(e){return function(n){e.call(this,n,this.__data__)}}function Wb(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function Ub(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function qb(e,n,i){return function(){var o=this.__on,s,t=jb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Yb(e,n,i){var o=Wb(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,c;d<u;++d)for(s=0,c=r[d];s<t;++s)if((l=o[s]).type===c.type&&l.name===c.name)return c.value}return}for(r=n?qb:Ub,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function ka(e,n,i){var o=Sa(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Jb(e,n){return function(){return ka(this,e,n)}}function Zb(e,n){return function(){return ka(this,e,n.apply(this,arguments))}}function Xb(e,n){return this.each((typeof n=="function"?Zb:Jb)(e,n))}function*Qb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ea=[null];function Ke(e,n){this._groups=e,this._parents=n}function $n(){return new Ke([[document.documentElement]],Ea)}function Rb(){return this}Ke.prototype=$n.prototype={constructor:Ke,select:Ac,selectAll:Tc,selectChild:Ic,selectChildren:Hc,filter:Fc,data:jc,enter:Kc,exit:Uc,join:qc,merge:Yc,selection:Rb,order:Jc,sort:Zc,call:Qc,nodes:Rc,node:eb,size:nb,empty:ib,each:ob,attr:ub,style:vb,property:gb,classed:wb,text:kb,html:Pb,raise:Bb,lower:Db,append:_b,insert:Hb,remove:Kb,clone:zb,datum:$b,on:Yb,dispatch:Xb,[Symbol.iterator]:Qb};function Ge(e){return typeof e=="string"?new Ke([[document.querySelector(e)]],[document.documentElement]):new Ke([[e]],Ea)}function em(e){let n;for(;n=e.sourceEvent;)e=n;return e}function ze(e,n){if(e=em(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const nm={passive:!1},jn={capture:!0,passive:!1};function Do(e){e.stopImmediatePropagation()}function kn(e){e.preventDefault(),e.stopImmediatePropagation()}function Ma(e){var n=e.document.documentElement,i=Ge(e).on("dragstart.drag",kn,jn);"onselectstart"in n?i.on("selectstart.drag",kn,jn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ta(e,n){var i=e.document.documentElement,o=Ge(e).on("dragstart.drag",null);n&&(o.on("click.drag",kn,jn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ni=e=>()=>e;function _o(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}_o.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function im(e){return!e.ctrlKey&&!e.button}function om(){return this.parentNode}function sm(e,n){return n==null?{x:e.x,y:e.y}:n}function am(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pa(){var e=im,n=om,i=sm,o=am,s={},t=yi("start","drag","end"),l=0,r,d,u,c,b=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",y).on("touchmove.drag",g,nm).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,A){if(!(c||!e.call(this,x,A))){var N=p(this,n.call(this,x,A),x,A,"mouse");N&&(Ge(x.view).on("mousemove.drag",v,jn).on("mouseup.drag",h,jn),Ma(x.view),Do(x),u=!1,r=x.clientX,d=x.clientY,N("start",x))}}function v(x){if(kn(x),!u){var A=x.clientX-r,N=x.clientY-d;u=A*A+N*N>b}s.mouse("drag",x)}function h(x){Ge(x.view).on("mousemove.drag mouseup.drag",null),Ta(x.view,u),kn(x),s.mouse("end",x)}function y(x,A){if(e.call(this,x,A)){var N=x.changedTouches,C=n.call(this,x,A),k=N.length,E,_;for(E=0;E<k;++E)(_=p(this,C,x,A,N[E].identifier,N[E]))&&(Do(x),_("start",x,N[E]))}}function g(x){var A=x.changedTouches,N=A.length,C,k;for(C=0;C<N;++C)(k=s[A[C].identifier])&&(kn(x),k("drag",x,A[C]))}function S(x){var A=x.changedTouches,N=A.length,C,k;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),C=0;C<N;++C)(k=s[A[C].identifier])&&(Do(x),k("end",x,A[C]))}function p(x,A,N,C,k,E){var _=t.copy(),M=ze(E||N,A),L,H,T;if((T=i.call(x,new _o("beforestart",{sourceEvent:N,target:m,identifier:k,active:l,x:M[0],y:M[1],dx:0,dy:0,dispatch:_}),C))!=null)return L=T.x-M[0]||0,H=T.y-M[1]||0,function P(I,B,O){var D=M,j;switch(I){case"start":s[k]=P,j=l++;break;case"end":delete s[k],--l;case"drag":M=ze(O||B,A),j=l;break}_.call(I,x,new _o(I,{sourceEvent:B,subject:T,target:m,identifier:k,active:j,x:M[0]+L,y:M[1]+H,dx:M[0]-D[0],dy:M[1]-D[1],dispatch:_}),C)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ni(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ni(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:Ni(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:Ni(!!x),m):o},m.on=function(){var x=t.on.apply(t,arguments);return x===t?m:x},m.clickDistance=function(x){return arguments.length?(b=(x=+x)*x,m):Math.sqrt(b)},m}function Oo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function La(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function Wn(){}var Un=.7,Ci=1/Un,En="\\s*([+-]?\\d+)\\s*",qn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ze="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",tm=/^#([0-9a-f]{3,8})$/,lm=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),rm=new RegExp(`^rgb\\(${Ze},${Ze},${Ze}\\)$`),dm=new RegExp(`^rgba\\(${En},${En},${En},${qn}\\)$`),um=new RegExp(`^rgba\\(${Ze},${Ze},${Ze},${qn}\\)$`),cm=new RegExp(`^hsl\\(${qn},${Ze},${Ze}\\)$`),bm=new RegExp(`^hsla\\(${qn},${Ze},${Ze},${qn}\\)$`),Ba={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Oo(Wn,bn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ia,formatHex:Ia,formatHex8:mm,formatHsl:vm,formatRgb:Da,toString:Da});function Ia(){return this.rgb().formatHex()}function mm(){return this.rgb().formatHex8()}function vm(){return Ka(this).formatHsl()}function Da(){return this.rgb().formatRgb()}function bn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=tm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?_a(n):i===3?new Fe(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ai(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ai(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=lm.exec(e))?new Fe(n[1],n[2],n[3],1):(n=rm.exec(e))?new Fe(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=dm.exec(e))?Ai(n[1],n[2],n[3],n[4]):(n=um.exec(e))?Ai(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=cm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,1):(n=bm.exec(e))?Fa(n[1],n[2]/100,n[3]/100,n[4]):Ba.hasOwnProperty(e)?_a(Ba[e]):e==="transparent"?new Fe(NaN,NaN,NaN,0):null}function _a(e){return new Fe(e>>16&255,e>>8&255,e&255,1)}function Ai(e,n,i,o){return o<=0&&(e=n=i=NaN),new Fe(e,n,i,o)}function fm(e){return e instanceof Wn||(e=bn(e)),e?(e=e.rgb(),new Fe(e.r,e.g,e.b,e.opacity)):new Fe}function Ho(e,n,i,o){return arguments.length===1?fm(e):new Fe(e,n,i,o==null?1:o)}function Fe(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Oo(Fe,Ho,La(Wn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new Fe(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Fe(mn(this.r),mn(this.g),mn(this.b),ki(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oa,formatHex:Oa,formatHex8:hm,formatRgb:Ha,toString:Ha}));function Oa(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}`}function hm(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}${vn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ha(){const e=ki(this.opacity);return`${e===1?"rgb(":"rgba("}${mn(this.r)}, ${mn(this.g)}, ${mn(this.b)}${e===1?")":`, ${e})`}`}function ki(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vn(e){return e=mn(e),(e<16?"0":"")+e.toString(16)}function Fa(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new $e(e,n,i,o)}function Ka(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof Wn||(e=bn(e)),!e)return new $e;if(e instanceof $e)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new $e(l,r,d,e.opacity)}function pm(e,n,i,o){return arguments.length===1?Ka(e):new $e(e,n,i,o==null?1:o)}function $e(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Oo($e,pm,La(Wn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new Fe(Fo(e>=240?e-240:e+120,s,o),Fo(e,s,o),Fo(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new $e(Ga(this.h),Ei(this.s),Ei(this.l),ki(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ki(this.opacity);return`${e===1?"hsl(":"hsla("}${Ga(this.h)}, ${Ei(this.s)*100}%, ${Ei(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Ga(e){return e=(e||0)%360,e<0?e+360:e}function Ei(e){return Math.max(0,Math.min(1,e||0))}function Fo(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Ko=e=>()=>e;function gm(e,n){return function(i){return e+i*n}}function ym(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function xm(e){return(e=+e)==1?Va:function(n,i){return i-n?ym(n,i,e):Ko(isNaN(n)?i:n)}}function Va(e,n){var i=n-e;return i?gm(e,i):Ko(isNaN(e)?n:e)}const Mi=function e(n){var i=xm(n);function o(s,t){var l=i((s=Ho(s)).r,(t=Ho(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Va(s.opacity,t.opacity);return function(c){return s.r=l(c),s.g=r(c),s.b=d(c),s.opacity=u(c),s+""}}return o.gamma=e,o}(1);function Sm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function wm(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Nm(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Yn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Cm(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Xe(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function Am(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Yn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Go=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vo=new RegExp(Go.source,"g");function km(e){return function(){return e}}function Em(e){return function(n){return e(n)+""}}function za(e,n){var i=Go.lastIndex=Vo.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Go.exec(e))&&(s=Vo.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Xe(o,s)})),i=Vo.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Em(d[0].x):km(n):(n=d.length,function(u){for(var c=0,b;c<n;++c)r[(b=d[c]).i]=b.x(u);return r.join("")})}function Yn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ko(n):(i==="number"?Xe:i==="string"?(o=bn(n))?(n=o,Mi):za:n instanceof bn?Mi:n instanceof Date?Cm:wm(n)?Sm:Array.isArray(n)?Nm:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Am:Xe)(e,n)}var $a=180/Math.PI,zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ja(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*$a,skewX:Math.atan(d)*$a,scaleX:l,scaleY:r}}var Ti;function Mm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?zo:ja(n.a,n.b,n.c,n.d,n.e,n.f)}function Tm(e){return e==null||(Ti||(Ti=document.createElementNS("http://www.w3.org/2000/svg","g")),Ti.setAttribute("transform",e),!(e=Ti.transform.baseVal.consolidate()))?zo:(e=e.matrix,ja(e.a,e.b,e.c,e.d,e.e,e.f))}function Wa(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,c,b,m,f,v){if(u!==b||c!==m){var h=f.push("translate(",null,n,null,i);v.push({i:h-4,x:Xe(u,b)},{i:h-2,x:Xe(c,m)})}else(b||m)&&f.push("translate("+b+n+m+i)}function l(u,c,b,m){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),m.push({i:b.push(s(b)+"rotate(",null,o)-2,x:Xe(u,c)})):c&&b.push(s(b)+"rotate("+c+o)}function r(u,c,b,m){u!==c?m.push({i:b.push(s(b)+"skewX(",null,o)-2,x:Xe(u,c)}):c&&b.push(s(b)+"skewX("+c+o)}function d(u,c,b,m,f,v){if(u!==b||c!==m){var h=f.push(s(f)+"scale(",null,",",null,")");v.push({i:h-4,x:Xe(u,b)},{i:h-2,x:Xe(c,m)})}else(b!==1||m!==1)&&f.push(s(f)+"scale("+b+","+m+")")}return function(u,c){var b=[],m=[];return u=e(u),c=e(c),t(u.translateX,u.translateY,c.translateX,c.translateY,b,m),l(u.rotate,c.rotate,b,m),r(u.skewX,c.skewX,b,m),d(u.scaleX,u.scaleY,c.scaleX,c.scaleY,b,m),u=c=null,function(f){for(var v=-1,h=m.length,y;++v<h;)b[(y=m[v]).i]=y.x(f);return b.join("")}}}var Pm=Wa(Mm,"px, ","px)","deg)"),Lm=Wa(Tm,", ",")",")"),Bm=1e-12;function Ua(e){return((e=Math.exp(e))+1/e)/2}function Im(e){return((e=Math.exp(e))-1/e)/2}function Dm(e){return((e=Math.exp(2*e))-1)/(e+1)}const Pi=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],c=l[0],b=l[1],m=l[2],f=c-r,v=b-d,h=f*f+v*v,y,g;if(h<Bm)g=Math.log(m/u)/n,y=function(C){return[r+C*f,d+C*v,u*Math.exp(n*C*g)]};else{var S=Math.sqrt(h),p=(m*m-u*u+o*h)/(2*u*i*S),x=(m*m-u*u-o*h)/(2*m*i*S),A=Math.log(Math.sqrt(p*p+1)-p),N=Math.log(Math.sqrt(x*x+1)-x);g=(N-A)/n,y=function(C){var k=C*g,E=Ua(A),_=u/(i*S)*(E*Dm(n*k+A)-Im(A));return[r+_*f,d+_*v,u*E/Ua(n*k+A)]}}return y.duration=g*1e3*n/Math.SQRT2,y}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var Mn=0,Jn=0,Zn=0,qa=1e3,Li,Xn,Bi=0,fn=0,Ii=0,Qn=typeof performance=="object"&&performance.now?performance:Date,Ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $o(){return fn||(Ya(_m),fn=Qn.now()+Ii)}function _m(){fn=0}function Di(){this._call=this._time=this._next=null}Di.prototype=Ja.prototype={constructor:Di,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?$o():+i)+(n==null?0:+n),!this._next&&Xn!==this&&(Xn?Xn._next=this:Li=this,Xn=this),this._call=e,this._time=i,jo()},stop:function(){this._call&&(this._call=null,this._time=1/0,jo())}};function Ja(e,n,i){var o=new Di;return o.restart(e,n,i),o}function Om(){$o(),++Mn;for(var e=Li,n;e;)(n=fn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mn}function Za(){fn=(Bi=Qn.now())+Ii,Mn=Jn=0;try{Om()}finally{Mn=0,Fm(),fn=0}}function Hm(){var e=Qn.now(),n=e-Bi;n>qa&&(Ii-=n,Bi=e)}function Fm(){for(var e,n=Li,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Li=i);Xn=e,jo(o)}function jo(e){if(!Mn){Jn&&(Jn=clearTimeout(Jn));var n=e-fn;n>24?(e<1/0&&(Jn=setTimeout(Za,e-Qn.now()-Ii)),Zn&&(Zn=clearInterval(Zn))):(Zn||(Bi=Qn.now(),Zn=setInterval(Hm,qa)),Mn=1,Ya(Za))}}function Xa(e,n,i){var o=new Di;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Km=yi("start","end","cancel","interrupt"),Gm=[],Qa=0,Ra=1,Wo=2,_i=3,et=4,Uo=5,Oi=6;function Hi(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;Vm(e,i,{name:n,index:o,group:s,on:Km,tween:Gm,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Qa})}function qo(e,n){var i=je(e,n);if(i.state>Qa)throw new Error("too late; already scheduled");return i}function Qe(e,n){var i=je(e,n);if(i.state>_i)throw new Error("too late; already running");return i}function je(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function Vm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ja(t,0,i.time);function t(u){i.state=Ra,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var c,b,m,f;if(i.state!==Ra)return d();for(c in o)if(f=o[c],f.name===i.name){if(f.state===_i)return Xa(l);f.state===et?(f.state=Oi,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[c]):+c<n&&(f.state=Oi,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[c])}if(Xa(function(){i.state===_i&&(i.state=et,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Wo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Wo){for(i.state=_i,s=new Array(m=i.tween.length),c=0,b=-1;c<m;++c)(f=i.tween[c].value.call(e,e.__data__,i.index,i.group))&&(s[++b]=f);s.length=b+1}}function r(u){for(var c=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Uo,1),b=-1,m=s.length;++b<m;)s[b].call(e,c);i.state===Uo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Oi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Fi(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>Wo&&o.state<Uo,o.state=Oi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function zm(e){return this.each(function(){Fi(this,e)})}function $m(e,n){var i,o;return function(){var s=Qe(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function jm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=Qe(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function Wm(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=je(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?$m:jm)(i,e,n))}function Yo(e,n,i){var o=e._id;return e.each(function(){var s=Qe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return je(s,o).value[n]}}function nt(e,n){var i;return(typeof n=="number"?Xe:n instanceof bn?Mi:(i=bn(n))?(n=i,Mi):za)(e,n)}function Um(e){return function(){this.removeAttribute(e)}}function qm(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Ym(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Jm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function Zm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Xm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Qm(e,n){var i=Si(e),o=i==="transform"?Lm:nt;return this.attrTween(e,typeof n=="function"?(i.local?Xm:Zm)(i,o,Yo(this,"attr."+e,n)):n==null?(i.local?qm:Um)(i):(i.local?Jm:Ym)(i,o,n))}function Rm(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function ev(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function nv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&ev(e,t)),i}return s._value=n,s}function iv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&Rm(e,t)),i}return s._value=n,s}function ov(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=Si(e);return this.tween(i,(o.local?nv:iv)(o,n))}function sv(e,n){return function(){qo(this,e).delay=+n.apply(this,arguments)}}function av(e,n){return n=+n,function(){qo(this,e).delay=n}}function tv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?sv:av)(n,e)):je(this.node(),n).delay}function lv(e,n){return function(){Qe(this,e).duration=+n.apply(this,arguments)}}function rv(e,n){return n=+n,function(){Qe(this,e).duration=n}}function dv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?lv:rv)(n,e)):je(this.node(),n).duration}function uv(e,n){if(typeof n!="function")throw new Error;return function(){Qe(this,e).ease=n}}function cv(e){var n=this._id;return arguments.length?this.each(uv(n,e)):je(this.node(),n).ease}function bv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Qe(this,e).ease=i}}function mv(e){if(typeof e!="function")throw new Error;return this.each(bv(this._id,e))}function vv(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new en(o,this._parents,this._name,this._id)}function fv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],c=d.length,b=l[r]=new Array(c),m,f=0;f<c;++f)(m=d[f]||u[f])&&(b[f]=m);for(;r<o;++r)l[r]=n[r];return new en(l,this._parents,this._name,this._id)}function hv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function pv(e,n,i){var o,s,t=hv(n)?qo:Qe;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function gv(e,n){var i=this._id;return arguments.length<2?je(this.node(),i).on.on(e):this.each(pv(i,e,n))}function yv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function xv(){return this.on("end.remove",yv(this._id))}function Sv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Bo(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),c,b,m=0;m<d;++m)(c=r[m])&&(b=e.call(c,c.__data__,m,r))&&("__data__"in c&&(b.__data__=c.__data__),u[m]=b,Hi(u[m],n,i,m,u,je(c,i)));return new en(t,this._parents,n,i)}function wv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=pa(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,c,b=0;b<u;++b)if(c=d[b]){for(var m=e.call(c,c.__data__,b,d),f,v=je(c,i),h=0,y=m.length;h<y;++h)(f=m[h])&&Hi(f,n,i,h,m,v);t.push(m),l.push(c)}return new en(t,l,n,i)}var Nv=$n.prototype.constructor;function Cv(){return new Nv(this._groups,this._parents)}function Av(e,n){var i,o,s;return function(){var t=An(this,e),l=(this.style.removeProperty(e),An(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function it(e){return function(){this.style.removeProperty(e)}}function kv(e,n,i){var o,s=i+"",t;return function(){var l=An(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Ev(e,n,i){var o,s,t;return function(){var l=An(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),An(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Mv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Qe(this,e),u=d.on,c=d.value[t]==null?r||(r=it(n)):void 0;(u!==i||s!==c)&&(o=(i=u).copy()).on(l,s=c),d.on=o}}function Tv(e,n,i){var o=(e+="")=="transform"?Pm:nt;return n==null?this.styleTween(e,Av(e,o)).on("end.style."+e,it(e)):typeof n=="function"?this.styleTween(e,Ev(e,o,Yo(this,"style."+e,n))).each(Mv(this._id,e)):this.styleTween(e,kv(e,o,n),i).on("end.style."+e,null)}function Pv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Lv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Pv(e,l,i)),o}return t._value=n,t}function Bv(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Lv(e,n,i==null?"":i))}function Iv(e){return function(){this.textContent=e}}function Dv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function _v(e){return this.tween("text",typeof e=="function"?Dv(Yo(this,"text",e)):Iv(e==null?"":e+""))}function Ov(e){return function(n){this.textContent=e.call(this,n)}}function Hv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Ov(s)),n}return o._value=e,o}function Fv(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Hv(e))}function Kv(){for(var e=this._name,n=this._id,i=ot(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var c=je(d,n);Hi(d,e,i,u,l,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new en(o,this._parents,e,i)}function Gv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=Qe(this,o),c=u.on;c!==e&&(n=(e=c).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var Vv=0;function en(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function ot(){return++Vv}var nn=$n.prototype;en.prototype={constructor:en,select:Sv,selectAll:wv,selectChild:nn.selectChild,selectChildren:nn.selectChildren,filter:vv,merge:fv,selection:Cv,transition:Kv,call:nn.call,nodes:nn.nodes,node:nn.node,size:nn.size,empty:nn.empty,each:nn.each,on:gv,attr:Qm,attrTween:ov,style:Tv,styleTween:Bv,text:_v,textTween:Fv,remove:xv,tween:Wm,delay:tv,duration:dv,ease:cv,easeVarying:mv,end:Gv,[Symbol.iterator]:nn[Symbol.iterator]};function zv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var $v={time:null,delay:0,duration:250,ease:zv};function jv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function Wv(e){var n,i;e instanceof en?(n=e._id,e=e._name):(n=ot(),(i=$v).time=$o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Hi(d,e,n,u,l,i||jv(d,n));return new en(o,this._parents,e,n)}$n.prototype.interrupt=zm,$n.prototype.transition=Wv;const Ki=e=>()=>e;function Uv(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function on(e,n,i){this.k=e,this.x=n,this.y=i}on.prototype={constructor:on,scale:function(e){return e===1?this:new on(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new on(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Gi=new on(1,0,0);st.prototype=on.prototype;function st(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Gi;return e.__zoom}function Jo(e){e.stopImmediatePropagation()}function Rn(e){e.preventDefault(),e.stopImmediatePropagation()}function qv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Yv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function at(){return this.__zoom||Gi}function Jv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Zv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xv(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function tt(){var e=qv,n=Yv,i=Xv,o=Jv,s=Zv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Pi,u=yi("start","zoom","end"),c,b,m,f=500,v=150,h=0,y=10;function g(T){T.property("__zoom",at).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(T,P,I,B){var O=T.selection?T.selection():T;O.property("__zoom",at),T!==O?A(T,P,I,B):O.interrupt().each(function(){N(this,arguments).event(B).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},g.scaleBy=function(T,P,I,B){g.scaleTo(T,function(){var O=this.__zoom.k,D=typeof P=="function"?P.apply(this,arguments):P;return O*D},I,B)},g.scaleTo=function(T,P,I,B){g.transform(T,function(){var O=n.apply(this,arguments),D=this.__zoom,j=I==null?x(O):typeof I=="function"?I.apply(this,arguments):I,q=D.invert(j),K=typeof P=="function"?P.apply(this,arguments):P;return i(p(S(D,K),j,q),O,l)},I,B)},g.translateBy=function(T,P,I,B){g.transform(T,function(){return i(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof I=="function"?I.apply(this,arguments):I),n.apply(this,arguments),l)},null,B)},g.translateTo=function(T,P,I,B,O){g.transform(T,function(){var D=n.apply(this,arguments),j=this.__zoom,q=B==null?x(D):typeof B=="function"?B.apply(this,arguments):B;return i(Gi.translate(q[0],q[1]).scale(j.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof I=="function"?-I.apply(this,arguments):-I),D,l)},B,O)};function S(T,P){return P=Math.max(t[0],Math.min(t[1],P)),P===T.k?T:new on(P,T.x,T.y)}function p(T,P,I){var B=P[0]-I[0]*T.k,O=P[1]-I[1]*T.k;return B===T.x&&O===T.y?T:new on(T.k,B,O)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function A(T,P,I,B){T.on("start.zoom",function(){N(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){N(this,arguments).event(B).end()}).tween("zoom",function(){var O=this,D=arguments,j=N(O,D).event(B),q=n.apply(O,D),K=I==null?x(q):typeof I=="function"?I.apply(O,D):I,V=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),Z=O.__zoom,te=typeof P=="function"?P.apply(O,D):P,se=d(Z.invert(K).concat(V/Z.k),te.invert(K).concat(V/te.k));return function(ie){if(ie===1)ie=te;else{var U=se(ie),ee=V/U[2];ie=new on(ee,K[0]-U[0]*ee,K[1]-U[1]*ee)}j.zoom(null,ie)}})}function N(T,P,I){return!I&&T.__zooming||new C(T,P)}function C(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,P),this.taps=0}C.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=Ge(this.that).datum();u.call(T,this.that,new Uv(T,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:u}),P)}};function k(T,...P){if(!e.apply(this,arguments))return;var I=N(this,P).event(T),B=this.__zoom,O=Math.max(t[0],Math.min(t[1],B.k*Math.pow(2,o.apply(this,arguments)))),D=ze(T);if(I.wheel)(I.mouse[0][0]!==D[0]||I.mouse[0][1]!==D[1])&&(I.mouse[1]=B.invert(I.mouse[0]=D)),clearTimeout(I.wheel);else{if(B.k===O)return;I.mouse=[D,B.invert(D)],Fi(this),I.start()}Rn(T),I.wheel=setTimeout(j,v),I.zoom("mouse",i(p(S(B,O),I.mouse[0],I.mouse[1]),I.extent,l));function j(){I.wheel=null,I.end()}}function E(T,...P){if(m||!e.apply(this,arguments))return;var I=T.currentTarget,B=N(this,P,!0).event(T),O=Ge(T.view).on("mousemove.zoom",K,!0).on("mouseup.zoom",V,!0),D=ze(T,I),j=T.clientX,q=T.clientY;Ma(T.view),Jo(T),B.mouse=[D,this.__zoom.invert(D)],Fi(this),B.start();function K(Z){if(Rn(Z),!B.moved){var te=Z.clientX-j,se=Z.clientY-q;B.moved=te*te+se*se>h}B.event(Z).zoom("mouse",i(p(B.that.__zoom,B.mouse[0]=ze(Z,I),B.mouse[1]),B.extent,l))}function V(Z){O.on("mousemove.zoom mouseup.zoom",null),Ta(Z.view,B.moved),Rn(Z),B.event(Z).end()}}function _(T,...P){if(e.apply(this,arguments)){var I=this.__zoom,B=ze(T.changedTouches?T.changedTouches[0]:T,this),O=I.invert(B),D=I.k*(T.shiftKey?.5:2),j=i(p(S(I,D),B,O),n.apply(this,P),l);Rn(T),r>0?Ge(this).transition().duration(r).call(A,j,B,T):Ge(this).call(g.transform,j,B,T)}}function M(T,...P){if(e.apply(this,arguments)){var I=T.touches,B=I.length,O=N(this,P,T.changedTouches.length===B).event(T),D,j,q,K;for(Jo(T),j=0;j<B;++j)q=I[j],K=ze(q,this),K=[K,this.__zoom.invert(K),q.identifier],O.touch0?!O.touch1&&O.touch0[2]!==K[2]&&(O.touch1=K,O.taps=0):(O.touch0=K,D=!0,O.taps=1+!!c);c&&(c=clearTimeout(c)),D&&(O.taps<2&&(b=K[0],c=setTimeout(function(){c=null},f)),Fi(this),O.start())}}function L(T,...P){if(this.__zooming){var I=N(this,P).event(T),B=T.changedTouches,O=B.length,D,j,q,K;for(Rn(T),D=0;D<O;++D)j=B[D],q=ze(j,this),I.touch0&&I.touch0[2]===j.identifier?I.touch0[0]=q:I.touch1&&I.touch1[2]===j.identifier&&(I.touch1[0]=q);if(j=I.that.__zoom,I.touch1){var V=I.touch0[0],Z=I.touch0[1],te=I.touch1[0],se=I.touch1[1],ie=(ie=te[0]-V[0])*ie+(ie=te[1]-V[1])*ie,U=(U=se[0]-Z[0])*U+(U=se[1]-Z[1])*U;j=S(j,Math.sqrt(ie/U)),q=[(V[0]+te[0])/2,(V[1]+te[1])/2],K=[(Z[0]+se[0])/2,(Z[1]+se[1])/2]}else if(I.touch0)q=I.touch0[0],K=I.touch0[1];else return;I.zoom("touch",i(p(j,q,K),I.extent,l))}}function H(T,...P){if(this.__zooming){var I=N(this,P).event(T),B=T.changedTouches,O=B.length,D,j;for(Jo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),D=0;D<O;++D)j=B[D],I.touch0&&I.touch0[2]===j.identifier?delete I.touch0:I.touch1&&I.touch1[2]===j.identifier&&delete I.touch1;if(I.touch1&&!I.touch0&&(I.touch0=I.touch1,delete I.touch1),I.touch0)I.touch0[1]=this.__zoom.invert(I.touch0[0]);else if(I.end(),I.taps===2&&(j=ze(j,this),Math.hypot(b[0]-j[0],b[1]-j[1])<y)){var q=Ge(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return g.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:Ki(+T),g):o},g.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ki(!!T),g):e},g.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Ki(!!T),g):s},g.extent=function(T){return arguments.length?(n=typeof T=="function"?T:Ki([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),g):n},g.scaleExtent=function(T){return arguments.length?(t[0]=+T[0],t[1]=+T[1],g):[t[0],t[1]]},g.translateExtent=function(T){return arguments.length?(l[0][0]=+T[0][0],l[1][0]=+T[1][0],l[0][1]=+T[0][1],l[1][1]=+T[1][1],g):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},g.constrain=function(T){return arguments.length?(i=T,g):i},g.duration=function(T){return arguments.length?(r=+T,g):r},g.interpolate=function(T){return arguments.length?(d=T,g):d},g.on=function(){var T=u.on.apply(u,arguments);return T===u?g:T},g.clickDistance=function(T){return arguments.length?(h=(T=+T)*T,g):Math.sqrt(h)},g.tapDistance=function(T){return arguments.length?(y=+T,g):y},g}const Ve={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ei=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],lt=["Enter"," ","Escape"],rt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Tn;(function(e){e.Strict="strict",e.Loose="loose"})(Tn||(Tn={}));var hn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(hn||(hn={}));var ni;(function(e){e.Partial="partial",e.Full="full"})(ni||(ni={}));const dt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ln;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ln||(ln={}));var Pn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Pn||(Pn={}));var ue;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ue||(ue={}));const ut={[ue.Left]:ue.Right,[ue.Right]:ue.Left,[ue.Top]:ue.Bottom,[ue.Bottom]:ue.Top};function ct(e){return e===null?null:e?"valid":"invalid"}const bt=e=>"id"in e&&"source"in e&&"target"in e,Qv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ii=(e,n=[0,0])=>{var r;const{width:i,height:o}=sn(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},Rv=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):Zo(s)?s:n.nodeLookup.get(s.id));const r=l?$i(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Vi(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zi(i)},oi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=Vi(i,$i(s)),o=!0)}),o?zi(i):{x:0,y:0,width:0,height:0}},Xo=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,f,v,h,y,g;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,c=n.height/s,b=[];for(const S of e.values()){const{measured:p,selectable:x=!0,hidden:A=!1}=S;if(l&&!x||A)continue;const N=(v=(f=(m=p.width)!=null?m:S.width)!=null?f:S.initialWidth)!=null?v:0,C=(g=(y=(h=p.height)!=null?h:S.height)!=null?y:S.initialHeight)!=null?g:0,{x:k,y:E}=S.internals.positionAbsolute,_=pt(r,d,u,c,k,E,N,C),M=N*C,L=t&&_>0;(!S.internals.handleBounds||L||_>=M||S.dragging)&&b.push(S)}return b},ef=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function nf(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function of({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var c,b,m;if(e.size===0)return!0;const r=nf(e,l),d=oi(r),u=es(d,n,i,(c=l==null?void 0:l.minZoom)!=null?c:s,(b=l==null?void 0:l.maxZoom)!=null?b:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function mt({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var f,v,h;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},c=(f=l.origin)!=null?f:o;let b=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",Ve.error005());else{const y=r.measured.width,g=r.measured.height;y&&g&&(b=[[d,u],[d+y,u+g]])}else r&&gn(l.extent)&&(b=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=gn(b)?pn(n,b,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",Ve.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*c[0],y:m.y-u+((h=l.measured.height)!=null?h:0)*c[1]},positionAbsolute:m}}async function sf({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const f=t.has(m.id),v=!f&&m.parentId&&l.find(h=>h.id===m.parentId);(f||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),c=ef(l,d);for(const m of d)r.has(m.id)&&!c.find(v=>v.id===m.id)&&c.push(m);if(!s)return{edges:c,nodes:l};const b=await s({nodes:l,edges:c});return typeof b=="boolean"?b?{edges:c,nodes:l}:{edges:[],nodes:[]}:b}const Ln=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),pn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Ln(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Ln(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function vt(e,n,i){const{width:o,height:s}=sn(i),{x:t,y:l}=i.internals.positionAbsolute;return pn(e,[[t,l],[t+o,l+s]],n)}const ft=(e,n,i)=>e<n?Ln(Math.abs(e-n),1,n)/n:e>i?-Ln(Math.abs(e-i),1,n)/n:0,Qo=(e,n,i=15,o=40)=>{const s=ft(e.x,o,n.width-o)*i,t=ft(e.y,o,n.height-o)*i;return[s,t]},Vi=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Ro=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),zi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),si=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0}},$i=(e,n=[0,0])=>{var s,t,l,r,d,u,c,b;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((b=(c=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?c:e.initialHeight)!=null?b:0)}},ht=(e,n)=>zi(Vi(Ro(e),Ro(n))),pt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},ji=(e,n)=>pt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),gt=e=>We(e.width)&&We(e.height)&&We(e.x)&&We(e.y),We=e=>!isNaN(e)&&isFinite(e),yt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ai=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ti=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ai(r,l):r},Bn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function In(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function af(e,n,i){var o,s,t,l,r,d,u,c;if(typeof e=="string"||typeof e=="number"){const b=In(e,i),m=In(e,n);return{top:b,right:m,bottom:b,left:m,x:m*2,y:b*2}}if(typeof e=="object"){const b=In((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=In((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),f=In((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=In((c=(u=e.right)!=null?u:e.x)!=null?c:0,n);return{top:b,right:v,bottom:m,left:f,x:f+v,y:b+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function tf(e,n,i,o,s,t){const{x:l,y:r}=Bn(e,[n,i,o]),{x:d,y:u}=Bn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),c=s-d,b=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(c),bottom:Math.floor(b)}}const es=(e,n,i,o,s,t)=>{const l=af(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),c=Ln(u,o,s),b=e.x+e.width/2,m=e.y+e.height/2,f=n/2-b*c,v=i/2-m*c,h=tf(e,f,v,c,n,i),y={left:Math.min(h.left-l.left,0),top:Math.min(h.top-l.top,0),right:Math.min(h.right-l.right,0),bottom:Math.min(h.bottom-l.bottom,0)};return{x:f-y.left+y.right,y:v-y.top+y.bottom,zoom:c}},li=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function gn(e){return e!=null&&e!=="parent"}function sn(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function xt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function St(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function wt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function lf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function rf(e){return{...rt,...e||{}}}function ri(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var c,b;const{x:t,y:l}=Ue(e),r=ti({x:t-((c=s==null?void 0:s.left)!=null?c:0),y:l-((b=s==null?void 0:s.top)!=null?b:0)},o),{x:d,y:u}=i?ai(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},df=["INPUT","SELECT","TEXTAREA"];function Ct(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:df.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const At=e=>"clientX"in e,Ue=(e,n)=>{var t,l,r,d;const i=At(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},kt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...ns(l)}})};function Et({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,c=Math.abs(d-e),b=Math.abs(u-n);return[d,u,c,b]}function Wi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Mt({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case ue.Left:return[n-Wi(n-o,t),i];case ue.Right:return[n+Wi(o-n,t),i];case ue.Top:return[n,i-Wi(i-s,t)];case ue.Bottom:return[n,i+Wi(s-i,t)]}}function Tt({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,curvature:l=.25}){const[r,d]=Mt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,c]=Mt({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[b,m,f,v]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:c});return[`M${e},${n} C${r},${d} ${u},${c} ${o},${s}`,b,m,f,v]}function Pt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function uf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function cf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Vi($i(e),$i(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return ji(l,zi(t))>0}const bf=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,mf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),vf=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",Ve.error006()),n;const o=i.getEdgeId||bf;let s;return bt(e)?s={...e}:s={...e,id:o(e)},mf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Lt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Pt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Bt={[ue.Left]:{x:-1,y:0},[ue.Right]:{x:1,y:0},[ue.Top]:{x:0,y:-1},[ue.Bottom]:{x:0,y:1}},ff=({source:e,sourcePosition:n=ue.Bottom,target:i})=>n===ue.Left||n===ue.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},It=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function hf({source:e,sourcePosition:n=ue.Bottom,target:i,targetPosition:o=ue.Top,center:s,offset:t,stepPosition:l}){var k,E,_,M;const r=Bt[n],d=Bt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},c={x:i.x+d.x*t,y:i.y+d.y*t},b=ff({source:u,sourcePosition:n,target:c}),m=b.x!==0?"x":"y",f=b[m];let v=[],h,y;const g={x:0,y:0},S={x:0,y:0},[,,p,x]=Pt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(h=(k=s.x)!=null?k:u.x+(c.x-u.x)*l,y=(E=s.y)!=null?E:(u.y+c.y)/2):(h=(_=s.x)!=null?_:(u.x+c.x)/2,y=(M=s.y)!=null?M:u.y+(c.y-u.y)*l);const L=[{x:h,y:u.y},{x:h,y:c.y}],H=[{x:u.x,y},{x:c.x,y}];r[m]===f?v=m==="x"?L:H:v=m==="x"?H:L}else{const L=[{x:u.x,y:c.y}],H=[{x:c.x,y:u.y}];if(m==="x"?v=r.x===f?H:L:v=r.y===f?L:H,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const D=Math.min(t-1,t-O);r[m]===f?g[m]=(u[m]>e[m]?-1:1)*D:S[m]=(c[m]>i[m]?-1:1)*D}}if(n!==o){const O=m==="x"?"y":"x",D=r[m]===d[O],j=u[O]>c[O],q=u[O]<c[O];(r[m]===1&&(!D&&j||D&&q)||r[m]!==1&&(!D&&q||D&&j))&&(v=m==="x"?L:H)}const T={x:u.x+g.x,y:u.y+g.y},P={x:c.x+S.x,y:c.y+S.y},I=Math.max(Math.abs(T.x-v[0].x),Math.abs(P.x-v[0].x)),B=Math.max(Math.abs(T.y-v[0].y),Math.abs(P.y-v[0].y));I>=B?(h=(T.x+P.x)/2,y=v[0].y):(h=v[0].x,y=(T.y+P.y)/2)}const A={x:u.x+g.x,y:u.y+g.y},N={x:c.x+S.x,y:c.y+S.y};return[[e,...A.x!==v[0].x||A.y!==v[0].y?[A]:[],...v,...N.x!==v[v.length-1].x||N.y!==v[v.length-1].y?[N]:[],i],h,y,p,x]}function pf(e,n,i,o){const s=Math.min(It(e,n)/2,It(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,c=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*c}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function is({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:c=.5}){const[b,m,f,v,h]=hf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:c});let y=`M${b[0].x} ${b[0].y}`;for(let g=1;g<b.length-1;g++)y+=pf(b[g-1],b[g],b[g+1],l);return y+=`L${b[b.length-1].x} ${b[b.length-1].y}`,[y,m,f,v,h]}function Dt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function gf(e){var b,m,f,v,h;const{sourceNode:n,targetNode:i}=e;if(!Dt(n)||!Dt(i))return null;const o=n.internals.handleBounds||_t(n.handles),s=i.internals.handleBounds||_t(i.handles),t=Ot((b=o==null?void 0:o.source)!=null?b:[],e.sourceHandle),l=Ot(e.connectionMode===Tn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((f=s==null?void 0:s.target)!=null?f:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(h=e.onError)==null||h.call(e,"008",Ve.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||ue.Bottom,d=(l==null?void 0:l.position)||ue.Top,u=yn(n,t,r),c=yn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y,sourcePosition:r,targetPosition:d}}function _t(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function yn(e,n,i=ue.Left,o=!1){var u,c,b;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((c=n==null?void 0:n.y)!=null?c:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:sn(e);if(o)return{x:s+l/2,y:t+r/2};switch((b=n==null?void 0:n.position)!=null?b:i){case ue.Top:return{x:s+l/2,y:t};case ue.Right:return{x:s+l,y:t+r/2};case ue.Bottom:return{x:s+l/2,y:t+r};case ue.Left:return{x:s,y:t+r/2}}}function Ot(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function os(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function yf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=os(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Ht=1e3,xf=10,ss={nodeOrigin:[0,0],nodeExtent:ei,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Sf={...ss,checkEquality:!0};function as(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function wf(e,n,i){const o=as(ss,i);for(const s of e.values())if(s.parentId)rs(s,e,n,o);else{const t=ii(s,o.nodeOrigin),l=gn(s.extent)?s.extent:o.nodeExtent,r=pn(t,l,sn(s));s.internals.positionAbsolute=r}}function Nf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function ts(e){return e==="manual"}function ls(e,n,i,o={}){var c,b,m;const s=as(Sf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!ts(s.zIndexMode)?Ht:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let v=l.get(f.id);if(s.checkEquality&&f===(v==null?void 0:v.internals.userNode))n.set(f.id,v);else{const h=ii(f,s.nodeOrigin),y=gn(f.extent)?f.extent:s.nodeExtent,g=pn(h,y,sn(f));v={...s.defaults,...f,measured:{width:(c=f.measured)==null?void 0:c.width,height:(b=f.measured)==null?void 0:b.height},internals:{positionAbsolute:g,handleBounds:Nf(f,v),z:Ft(f,r,s.zIndexMode),userNode:f}},n.set(f.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),f.parentId&&rs(v,n,i,o,t),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Cf(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function rs(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=as(ss,o),u=e.parentId,c=n.get(u);if(!c){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Cf(e,i),s&&!c.parentId&&c.internals.rootParentIndex===void 0&&d==="auto"&&(c.internals.rootParentIndex=++s.i,c.internals.z=c.internals.z+s.i*xf),s&&c.internals.rootParentIndex!==void 0&&(s.i=c.internals.rootParentIndex);const b=t&&!ts(d)?Ht:0,{x:m,y:f,z:v}=Af(e,c,l,r,b,d),{positionAbsolute:h}=e.internals,y=m!==h.x||f!==h.y;(y||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:m,y:f}:h,z:v}})}function Ft(e,n,i){const o=We(e.zIndex)?e.zIndex:0;return ts(i)?o:o+(e.selected?n:0)}function Af(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=sn(e),u=ii(e,i),c=gn(e.extent)?pn(u,e.extent,d):u;let b=pn({x:l+c.x,y:r+c.y},o,d);e.extent==="parent"&&(b=vt(b,d,n));const m=Ft(e,s,t),f=(v=n.internals.z)!=null?v:0;return{x:b.x,y:b.y,z:f>=m?f+1:m}}function ds(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const c=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:si(u),b=ht(c,d.rect);t.set(d.parentId,{expandedRect:b,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},c)=>{var x,A;const b=u.internals.positionAbsolute,m=sn(u),f=(x=u.origin)!=null?x:o,v=d.x<b.x?Math.round(Math.abs(b.x-d.x)):0,h=d.y<b.y?Math.round(Math.abs(b.y-d.y)):0,y=Math.max(m.width,Math.round(d.width)),g=Math.max(m.height,Math.round(d.height)),S=(y-m.width)*f[0],p=(g-m.height)*f[1];(v>0||h>0||S||p)&&(s.push({id:c,type:"position",position:{x:u.position.x-v+S,y:u.position.y-h+p}}),(A=i.get(c))==null||A.forEach(N=>{e.some(C=>C.id===N.id)||s.push({id:N.id,type:"position",position:{x:N.position.x+v,y:N.position.y+h}})})),(m.width<d.width||m.height<d.height||v||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:y+(v?f[0]*v-S:0),height:g+(h?f[1]*h-p:0)}})}),s}function kf(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],c=window.getComputedStyle(r),{m22:b}=new window.DOMMatrixReadOnly(c.transform),m=[];for(const f of e.values()){const v=n.get(f.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const h=ns(f.nodeElement),y=v.measured.width!==h.width||v.measured.height!==h.height;if(!!(h.width&&h.height&&(y||!v.internals.handleBounds||f.force))){const S=f.nodeElement.getBoundingClientRect(),p=gn(v.extent)?v.extent:t;let{positionAbsolute:x}=v.internals;v.parentId&&v.extent==="parent"?x=vt(x,h,n.get(v.parentId)):p&&(x=pn(x,p,h));const A={...v,measured:h,internals:{...v.internals,positionAbsolute:x,handleBounds:{source:kt("source",f.nodeElement,S,b,v.id),target:kt("target",f.nodeElement,S,b,v.id)}}};n.set(v.id,A),v.parentId&&rs(A,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,y&&(u.push({id:v.id,type:"dimensions",dimensions:h}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:si(A,s)}))}}if(m.length>0){const f=ds(m,n,i,s);u.push(...f)}return{changes:u,updatedInternals:d}}async function Ef({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Kt(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Gt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,c=`${t}-${r}--${s}-${l}`;Kt("source",d,c,e,s,l),Kt("target",d,u,e,t,r),n.set(o.id,o)}}function Vt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Vt(i,n):!1}function zt(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Mf(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Vt(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function us({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,c]of n){const b=(l=i.get(u))==null?void 0:l.internals.userNode;b&&s.push({...b,position:c.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function Tf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=ai(t,n);return{x:l.x-t.x,y:l.y-t.y}}function Pf({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},c=null,b=!1,m=null,f=!1,v=!1,h=null;function y({noDragClassName:S,handleSelector:p,domNode:x,isSelectable:A,nodeId:N,nodeClickDistance:C=0}){m=Ge(x);function k({x:L,y:H}){const{nodeLookup:T,nodeExtent:P,snapGrid:I,snapToGrid:B,nodeOrigin:O,onNodeDrag:D,onSelectionDrag:j,onError:q,updateNodePositions:K}=n();t={x:L,y:H};let V=!1;const Z=r.size>1,te=Z&&P?Ro(oi(r)):null,se=Z&&B?Tf({dragItems:r,snapGrid:I,x:L,y:H}):null;for(const[ie,U]of r){if(!T.has(ie))continue;let ee={x:L-U.distance.x,y:H-U.distance.y};B&&(ee=se?{x:Math.round(ee.x+se.x),y:Math.round(ee.y+se.y)}:ai(ee,I));let de=null;if(Z&&P&&!U.extent&&te){const{positionAbsolute:ae}=U.internals,Q=ae.x-te.x+P[0][0],G=ae.x+U.measured.width-te.x2+P[1][0],Y=ae.y-te.y+P[0][1],$=ae.y+U.measured.height-te.y2+P[1][1];de=[[Q,Y],[G,$]]}const{position:z,positionAbsolute:R}=mt({nodeId:ie,nextPosition:ee,nodeLookup:T,nodeExtent:de||P,nodeOrigin:O,onError:q});V=V||U.position.x!==z.x||U.position.y!==z.y,U.position=z,U.internals.positionAbsolute=R}if(v=v||V,!!V&&(K(r,!0),h&&(o||D||!N&&j))){const[ie,U]=us({nodeId:N,dragItems:r,nodeLookup:T});o==null||o(h,r,ie,U),D==null||D(h,ie,U),N||j==null||j(h,U)}}async function E(){var O,D;if(!c)return;const{transform:L,panBy:H,autoPanSpeed:T,autoPanOnNodeDrag:P}=n();if(!P){d=!1,cancelAnimationFrame(l);return}const[I,B]=Qo(u,c,T);(I!==0||B!==0)&&(t.x=((O=t.x)!=null?O:0)-I/L[2],t.y=((D=t.y)!=null?D:0)-B/L[2],await H({x:I,y:B})&&k(t)),l=requestAnimationFrame(E)}function _(L){var Z;const{nodeLookup:H,multiSelectionActive:T,nodesDraggable:P,transform:I,snapGrid:B,snapToGrid:O,selectNodesOnDrag:D,onNodeDragStart:j,onSelectionDragStart:q,unselectNodesAndEdges:K}=n();b=!0,(!D||!A)&&!T&&N&&((Z=H.get(N))!=null&&Z.selected||K()),A&&D&&N&&(e==null||e(N));const V=ri(L.sourceEvent,{transform:I,snapGrid:B,snapToGrid:O,containerBounds:c});if(t=V,r=Mf(H,P,V,N),r.size>0&&(i||j||!N&&q)){const[te,se]=us({nodeId:N,dragItems:r,nodeLookup:H});i==null||i(L.sourceEvent,r,te,se),j==null||j(L.sourceEvent,te,se),N||q==null||q(L.sourceEvent,se)}}const M=Pa().clickDistance(C).on("start",L=>{const{domNode:H,nodeDragThreshold:T,transform:P,snapGrid:I,snapToGrid:B}=n();c=(H==null?void 0:H.getBoundingClientRect())||null,f=!1,v=!1,h=L.sourceEvent,T===0&&_(L),t=ri(L.sourceEvent,{transform:P,snapGrid:I,snapToGrid:B,containerBounds:c}),u=Ue(L.sourceEvent,c)}).on("drag",L=>{const{autoPanOnNodeDrag:H,transform:T,snapGrid:P,snapToGrid:I,nodeDragThreshold:B,nodeLookup:O}=n(),D=ri(L.sourceEvent,{transform:T,snapGrid:P,snapToGrid:I,containerBounds:c});if(h=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||N&&!O.has(N))&&(f=!0),!f){if(!d&&H&&b&&(d=!0,E()),!b){const j=Ue(L.sourceEvent,c),q=j.x-u.x,K=j.y-u.y;Math.sqrt(q*q+K*K)>B&&_(L)}(t.x!==D.xSnapped||t.y!==D.ySnapped)&&r&&b&&(u=Ue(L.sourceEvent,c),k(D))}}).on("end",L=>{if(!b||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,b=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:H,updateNodePositions:T,onNodeDragStop:P,onSelectionDragStop:I}=n();if(v&&(T(r,!1),v=!1),s||P||!N&&I){const[B,O]=us({nodeId:N,dragItems:r,nodeLookup:H,dragging:!1});s==null||s(L.sourceEvent,r,B,O),P==null||P(L.sourceEvent,B,O),N||I==null||I(L.sourceEvent,O)}}}).filter(L=>{const H=L.target;return!L.button&&(!S||!zt(H,`.${S}`,x))&&(!p||zt(H,p,x))});m.call(M)}function g(){m==null||m.on(".drag",null)}return{update:y,destroy:g}}function Lf(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())ji(s,si(t))>0&&o.push(t);return o}const Bf=250;function If(e,n,i,o){var r,d,u,c,b;let s=[],t=1/0;const l=Lf(e,i,n+Bf);for(const m of l){const f=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(c=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?c:[]];for(const v of f){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x:h,y}=yn(m,v,v.position,!0),g=Math.sqrt(Math.pow(h-e.x,2)+Math.pow(y-e.y,2));g>n||(g<t?(s=[{...v,x:h,y}],t=g):g===t&&s.push({...v,x:h,y}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(b=s.find(f=>f.type===m))!=null?b:s[0]}return s[0]}function $t(e,n,i,o,s,t=!1){var u,c,b,m,f,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(b=(c=l.internals.handleBounds)==null?void 0:c.source)!=null?b:[],...(f=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],d=(v=i?r==null?void 0:r.find(h=>h.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...yn(l,d,d.position,!0)}:d}function jt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Df(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Wt=()=>!0;function _f(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:c,flowId:b,panBy:m,cancelConnection:f,onConnectStart:v,onConnect:h,onConnectEnd:y,isValidConnection:g=Wt,onReconnectEnd:S,updateConnection:p,getTransform:x,getFromHandle:A,autoPanSpeed:N,dragThreshold:C=1,handleDomNode:k}){const E=Nt(e.target);let _=0,M;const{x:L,y:H}=Ue(e),T=jt(t,k),P=r==null?void 0:r.getBoundingClientRect();let I=!1;if(!P||!T)return;const B=$t(s,T,o,d,n);if(!B)return;let O=Ue(e,P),D=!1,j=null,q=!1,K=null;function V(){if(!c||!P)return;const[z,R]=Qo(O,P,N);m({x:z,y:R}),_=requestAnimationFrame(V)}const Z={...B,nodeId:s,type:T,position:B.position},te=d.get(s);let ie={inProgress:!0,isValid:null,from:yn(te,Z,ue.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:te,to:O,toHandle:null,toPosition:ut[Z.position],toNode:null,pointer:O};function U(){I=!0,p(ie),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}C===0&&U();function ee(z){if(!I){const{x:$,y:W}=Ue(z),F=$-L,X=W-H;if(!(F*F+X*X>C*C))return;U()}if(!A()||!Z){de(z);return}const R=x();O=Ue(z,P),M=If(ti(O,R,!1,[1,1]),i,d,Z),D||(V(),D=!0);const ae=Ut(z,{handle:M,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:g,doc:E,lib:u,flowId:b,nodeLookup:d});K=ae.handleDomNode,j=ae.connection,q=Df(!!M,ae.isValid);const Q=d.get(s),G=Q?yn(Q,Z,ue.Left,!0):ie.from,Y={...ie,from:G,isValid:q,to:ae.toHandle&&q?Bn({x:ae.toHandle.x,y:ae.toHandle.y},R):O,toHandle:ae.toHandle,toPosition:q&&ae.toHandle?ae.toHandle.position:ut[Z.position],toNode:ae.toHandle?d.get(ae.toHandle.nodeId):null,pointer:O};p(Y),ie=Y}function de(z){if(!("touches"in z&&z.touches.length>0)){if(I){(M||K)&&j&&q&&(h==null||h(j));const{inProgress:R,...ae}=ie,Q={...ae,toPosition:ie.toHandle?ie.toPosition:null};y==null||y(z,Q),t&&(S==null||S(z,Q))}f(),cancelAnimationFrame(_),D=!1,q=!1,j=null,K=null,E.removeEventListener("mousemove",ee),E.removeEventListener("mouseup",de),E.removeEventListener("touchmove",ee),E.removeEventListener("touchend",de)}}E.addEventListener("mousemove",ee),E.addEventListener("mouseup",de),E.addEventListener("touchmove",ee),E.addEventListener("touchend",de)}function Ut(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=Wt,nodeLookup:c}){const b=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:v}=Ue(e),h=l.elementFromPoint(f,v),y=h!=null&&h.classList.contains(`${r}-flow__handle`)?h:m,g={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const S=jt(void 0,y),p=y.getAttribute("data-nodeid"),x=y.getAttribute("data-handleid"),A=y.classList.contains("connectable"),N=y.classList.contains("connectableend");if(!p||!S)return g;const C={source:b?p:o,sourceHandle:b?x:s,target:b?o:p,targetHandle:b?s:x};g.connection=C;const E=A&&N&&(i===Tn.Strict?b&&S==="source"||!b&&S==="target":p!==o||x!==s);g.isValid=E&&u(C),g.toHandle=$t(p,S,x,c,i,!0)}return g}const cs={onPointerDown:_f,isValid:Ut};function Of({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ge(e);function t({translateExtent:r,width:d,height:u,zoomStep:c=1,pannable:b=!0,zoomable:m=!0,inversePan:f=!1}){const v=p=>{if(p.sourceEvent.type!=="wheel"||!n)return;const x=i(),A=p.sourceEvent.ctrlKey&&li()?10:1,N=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*c,C=x[2]*Math.pow(2,N*A);n.scaleTo(C)};let h=[0,0];const y=p=>{var x,A;(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(h=[(x=p.sourceEvent.clientX)!=null?x:p.sourceEvent.touches[0].clientX,(A=p.sourceEvent.clientY)!=null?A:p.sourceEvent.touches[0].clientY])},g=p=>{var _,M;const x=i();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!n)return;const A=[(_=p.sourceEvent.clientX)!=null?_:p.sourceEvent.touches[0].clientX,(M=p.sourceEvent.clientY)!=null?M:p.sourceEvent.touches[0].clientY],N=[A[0]-h[0],A[1]-h[1]];h=A;const C=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),k={x:x[0]-N[0]*C,y:x[1]-N[1]*C},E=[[0,0],[d,u]];n.setViewportConstrained({x:k.x,y:k.y,zoom:x[2]},E,r)},S=tt().on("start",y).on("zoom",b?g:null).on("zoom.wheel",m?v:null);s.call(S,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:ze}}const Ui=e=>({x:e.x,y:e.y,zoom:e.k}),bs=({x:e,y:n,zoom:i})=>Gi.translate(e,n).scale(i),Dn=(e,n)=>e.target.closest(`.${n}`),qt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Hf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ms=(e,n=0,i=Hf,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Yt=e=>{const n=e.ctrlKey&&li()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Ff({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return c=>{if(Dn(c,n))return c.ctrlKey&&c.preventDefault(),!1;c.preventDefault(),c.stopImmediatePropagation();const b=i.property("__zoom").k||1;if(c.ctrlKey&&l){const y=ze(c),g=Yt(c),S=b*Math.pow(2,g);o.scaleTo(i,S,y,c);return}const m=c.deltaMode===1?20:1;let f=s===hn.Vertical?0:c.deltaX*m,v=s===hn.Horizontal?0:c.deltaY*m;!li()&&c.shiftKey&&s!==hn.Vertical&&(f=c.deltaY*m,v=0),o.translateBy(i,-(f/b)*t,-(v/b)*t,{internal:!0});const h=Ui(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(c,h),e.panScrollTimeout=setTimeout(()=>{u==null||u(c,h),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(c,h))}}function Kf({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Dn(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Gf({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=Ui(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function Vf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&qt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,Ui(t.transform)))}}function zf({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&qt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Ui(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function $f({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:c}){return b=>{var y;const m=e||n,f=i&&b.ctrlKey,v=b.type==="wheel";if(b.button===1&&b.type==="mousedown"&&(Dn(b,`${u}-flow__node`)||Dn(b,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||c&&!v||Dn(b,r)&&v||Dn(b,d)&&(!v||s&&v&&!e)||!i&&b.ctrlKey&&v)return!1;if(!i&&b.type==="touchstart"&&((y=b.touches)==null?void 0:y.length)>1)return b.preventDefault(),!1;if(!m&&!s&&!f&&v||!o&&(b.type==="mousedown"||b.type==="touchstart")||Array.isArray(o)&&!o.includes(b.button)&&b.type==="mousedown")return!1;const h=Array.isArray(o)&&o.includes(b.button)||!b.button||b.button<=1;return(!b.ctrlKey||v)&&h}}function jf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},c=e.getBoundingClientRect(),b=tt().scaleExtent([n,i]).translateExtent(o),m=Ge(e).call(b);S({x:s.x,y:s.y,zoom:Ln(s.zoom,n,i)},[[0,0],[c.width,c.height]],o);const f=m.on("wheel.zoom"),v=m.on("dblclick.zoom");b.wheelDelta(Yt);async function h(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).transform(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function y({noWheelClassName:M,noPanClassName:L,onPaneContextMenu:H,userSelectionActive:T,panOnScroll:P,panOnDrag:I,panOnScrollMode:B,panOnScrollSpeed:O,preventScrolling:D,zoomOnPinch:j,zoomOnScroll:q,zoomOnDoubleClick:K,zoomActivationKeyPressed:V,lib:Z,onTransformChange:te,connectionInProgress:se,paneClickDistance:ie,selectionOnDrag:U}){T&&!u.isZoomingOrPanning&&g();const ee=P&&!V&&!T;b.clickDistance(U?1/0:!We(ie)||ie<0?0:ie);const de=ee?Ff({zoomPanValues:u,noWheelClassName:M,d3Selection:m,d3Zoom:b,panOnScrollMode:B,panOnScrollSpeed:O,zoomOnPinch:j,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):Kf({noWheelClassName:M,preventScrolling:D,d3ZoomHandler:f});m.on("wheel.zoom",de,{passive:!1});const z=Gf({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});b.on("start",z);const R=Vf({zoomPanValues:u,panOnDrag:I,onPaneContextMenu:!!H,onPanZoom:t,onTransformChange:te});b.on("zoom",R);const ae=zf({zoomPanValues:u,panOnDrag:I,panOnScroll:P,onPaneContextMenu:H,onPanZoomEnd:r,onDraggingChange:d});b.on("end",ae);const Q=$f({zoomActivationKeyPressed:V,panOnDrag:I,zoomOnScroll:q,panOnScroll:P,zoomOnDoubleClick:K,zoomOnPinch:j,userSelectionActive:T,noPanClassName:L,noWheelClassName:M,lib:Z,connectionInProgress:se});b.filter(Q),K?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function g(){b.on("zoom",null)}async function S(M,L,H){const T=bs(M),P=b==null?void 0:b.constrain()(T,L,H);return P&&await h(P),P}async function p(M,L){const H=bs(M);return await h(H,L),H}function x(M){if(m){const L=bs(M),H=m.property("__zoom");(H.k!==M.zoom||H.x!==M.x||H.y!==M.y)&&(b==null||b.transform(m,L,null,{sync:!0}))}}function A(){const M=m?st(m.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function N(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleTo(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}async function C(M,L){return m?new Promise(H=>{b==null||b.interpolate((L==null?void 0:L.interpolate)==="linear"?Yn:Pi).scaleBy(ms(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),M)}):!1}function k(M){b==null||b.scaleExtent(M)}function E(M){b==null||b.translateExtent(M)}function _(M){const L=!We(M)||M<0?0:M;b==null||b.clickDistance(L)}return{update:y,destroy:g,setViewport:p,setViewportConstrained:S,getViewport:A,scaleTo:N,scaleBy:C,setScaleExtent:k,setTranslateExtent:E,syncViewport:x,setClickDistance:_}}var _n;(function(e){e.Line="line",e.Handle="handle"})(_n||(_n={}));function Wf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Jt(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function rn(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function qi(e,n,i){return Math.max(0,n-e,e-i)}function Zt(e,n){return e?!n:n}function Uf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:c,isVertical:b}=n,m=c&&b,{xSnapped:f,ySnapped:v}=i,{minWidth:h,maxWidth:y,minHeight:g,maxHeight:S}=o,{x:p,y:x,width:A,height:N,aspectRatio:C}=e;let k=Math.floor(c?f-e.pointerX:0),E=Math.floor(b?v-e.pointerY:0);const _=A+(d?-k:k),M=N+(u?-E:E),L=-t[0]*A,H=-t[1]*N;let T=qi(_,h,y),P=qi(M,g,S);if(l){let O=0,D=0;d&&k<0?O=rn(p+k+L,l[0][0]):!d&&k>0&&(O=dn(p+_+L,l[1][0])),u&&E<0?D=rn(x+E+H,l[0][1]):!u&&E>0&&(D=dn(x+M+H,l[1][1])),T=Math.max(T,O),P=Math.max(P,D)}if(r){let O=0,D=0;d&&k>0?O=dn(p+k,r[0][0]):!d&&k<0&&(O=rn(p+_,r[1][0])),u&&E>0?D=dn(x+E,r[0][1]):!u&&E<0&&(D=rn(x+M,r[1][1])),T=Math.max(T,O),P=Math.max(P,D)}if(s){if(c){const O=qi(_/C,g,S)*C;if(T=Math.max(T,O),l){let D=0;!d&&!u||d&&!u&&m?D=dn(x+H+_/C,l[1][1])*C:D=rn(x+H+(d?k:-k)/C,l[0][1])*C,T=Math.max(T,D)}if(r){let D=0;!d&&!u||d&&!u&&m?D=rn(x+_/C,r[1][1])*C:D=dn(x+(d?k:-k)/C,r[0][1])*C,T=Math.max(T,D)}}if(b){const O=qi(M*C,h,y)/C;if(P=Math.max(P,O),l){let D=0;!d&&!u||u&&!d&&m?D=dn(p+M*C+L,l[1][0])/C:D=rn(p+(u?E:-E)*C+L,l[0][0])/C,P=Math.max(P,D)}if(r){let D=0;!d&&!u||u&&!d&&m?D=rn(p+M*C,r[1][0])/C:D=dn(p+(u?E:-E)*C,r[0][0])/C,P=Math.max(P,D)}}}E=E+(E<0?P:-P),k=k+(k<0?T:-T),s&&(m?_>M*C?E=(Zt(d,u)?-k:k)/C:k=(Zt(d,u)?-E:E)*C:c?(E=k/C,u=d):(k=E*C,d=u));const I=d?p+k:p,B=u?x+E:x;return{width:A+(d?-k:k),height:N+(u?-E:E),x:t[0]*k*(d?-1:1)+I,y:t[1]*E*(u?-1:1)+B}}const Xt={width:0,height:0,x:0,y:0},qf={...Xt,pointerX:0,pointerY:0,aspectRatio:1};function Yf(e,n,i){var u,c;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(c=e.measured.height)!=null?c:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Jf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ge(e);let l={controlDirection:Jt("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:c,keepAspectRatio:b,resizeDirection:m,onResizeStart:f,onResize:v,onResizeEnd:h,shouldResize:y}){let g={...Xt},S={...qf};l={boundaries:c,resizeDirection:m,keepAspectRatio:b,controlDirection:Jt(u)};let p,x=null,A=[],N,C,k,E=!1;const _=Pa().on("start",M=>{var j,q,K,V,Z,te;const{nodeLookup:L,transform:H,snapGrid:T,snapToGrid:P,nodeOrigin:I,paneDomNode:B}=i();if(p=L.get(n),!p)return;x=(j=B==null?void 0:B.getBoundingClientRect())!=null?j:null;const{xSnapped:O,ySnapped:D}=ri(M.sourceEvent,{transform:H,snapGrid:T,snapToGrid:P,containerBounds:x});g={width:(q=p.measured.width)!=null?q:0,height:(K=p.measured.height)!=null?K:0,x:(V=p.position.x)!=null?V:0,y:(Z=p.position.y)!=null?Z:0},S={...g,pointerX:O,pointerY:D,aspectRatio:g.width/g.height},N=void 0,C=gn(p.extent)?p.extent:void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(N=L.get(p.parentId)),N&&p.extent==="parent"&&(C=[[0,0],[N.measured.width,N.measured.height]]),A=[],k=void 0;for(const[se,ie]of L)if(ie.parentId===n&&(A.push({id:se,position:{...ie.position},extent:ie.extent}),ie.extent==="parent"||ie.expandParent)){const U=Yf(ie,p,(te=ie.origin)!=null?te:I);k?k=[[Math.min(U[0][0],k[0][0]),Math.min(U[0][1],k[0][1])],[Math.max(U[1][0],k[1][0]),Math.max(U[1][1],k[1][1])]]:k=U}f==null||f(M,{...g})}).on("drag",M=>{var G,Y,$;const{transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P}=i(),I=ri(M.sourceEvent,{transform:L,snapGrid:H,snapToGrid:T,containerBounds:x}),B=[];if(!p)return;const{x:O,y:D,width:j,height:q}=g,K={},V=(G=p.origin)!=null?G:P,{width:Z,height:te,x:se,y:ie}=Uf(S,l.controlDirection,I,l.boundaries,l.keepAspectRatio,V,C,k),U=Z!==j,ee=te!==q,de=se!==O&&U,z=ie!==D&&ee;if(!de&&!z&&!U&&!ee)return;if((de||z||V[0]===1||V[1]===1)&&(K.x=de?se:g.x,K.y=z?ie:g.y,g.x=K.x,g.y=K.y,A.length>0)){const W=se-O,F=ie-D;for(const X of A)X.position={x:X.position.x-W+V[0]*(Z-j),y:X.position.y-F+V[1]*(te-q)},B.push(X)}if((U||ee)&&(K.width=U&&(!l.resizeDirection||l.resizeDirection==="horizontal")?Z:g.width,K.height=ee&&(!l.resizeDirection||l.resizeDirection==="vertical")?te:g.height,g.width=K.width,g.height=K.height),N&&p.expandParent){const W=V[0]*((Y=K.width)!=null?Y:0);K.x&&K.x<W&&(g.x=W,S.x=S.x-(K.x-W));const F=V[1]*(($=K.height)!=null?$:0);K.y&&K.y<F&&(g.y=F,S.y=S.y-(K.y-F))}const R=Wf({width:g.width,prevWidth:j,height:g.height,prevHeight:q,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),ae={...g,direction:R};(y==null?void 0:y(M,ae))!==!1&&(E=!0,v==null||v(M,ae),o(K,B))}).on("end",M=>{E&&(h==null||h(M,{...g}),s==null||s({...g}),E=!1)});t.call(_)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Zf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yi={exports:{}},vs={},Ji={exports:{}},fs={};/**
39
39
  * @license React
40
40
  * use-sync-external-store-shim.production.js
41
41
  *
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * This source code is licensed under the MIT license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
- */var Jt;function Yf(){if(Jt)return bs;Jt=1;var e=S;function n(b,m){return b===m&&(b!==0||1/b===1/m)||b!==b&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(b,m){var h=m(),v=o({inst:{value:h,getSnapshot:m}}),p=v[0].inst,y=v[1];return t(function(){p.value=h,p.getSnapshot=m,d(p)&&y({inst:p})},[b,h,m]),s(function(){return d(p)&&y({inst:p}),b(function(){d(p)&&y({inst:p})})},[b]),l(h),h}function d(b){var m=b.getSnapshot;b=b.value;try{var h=m();return!i(b,h)}catch(v){return!0}}function u(b,m){return m()}var c=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return bs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,bs}var ms={};/**
46
+ */var Qt;function Xf(){if(Qt)return fs;Qt=1;var e=w;function n(b,m){return b===m&&(b!==0||1/b===1/m)||b!==b&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(b,m){var f=m(),v=o({inst:{value:f,getSnapshot:m}}),h=v[0].inst,y=v[1];return t(function(){h.value=f,h.getSnapshot=m,d(h)&&y({inst:h})},[b,f,m]),s(function(){return d(h)&&y({inst:h}),b(function(){d(h)&&y({inst:h})})},[b]),l(f),f}function d(b){var m=b.getSnapshot;b=b.value;try{var f=m();return!i(b,f)}catch(v){return!0}}function u(b,m){return m()}var c=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return fs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:c,fs}var hs={};/**
47
47
  * @license React
48
48
  * use-sync-external-store-shim.development.js
49
49
  *
@@ -51,7 +51,7 @@
51
51
  *
52
52
  * This source code is licensed under the MIT license found in the
53
53
  * LICENSE file in the root directory of this source tree.
54
- */var Zt;function Jf(){return Zt||(Zt=1,process.env.NODE_ENV!=="production"&&function(){function e(h,v){return h===v&&(h!==0||1/h===1/v)||h!==h&&v!==v}function n(h,v){c||s.startTransition===void 0||(c=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var p=v();if(!b){var y=v();t(p,y)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),b=!0)}y=l({inst:{value:p,getSnapshot:v}});var g=y[0].inst,x=y[1];return d(function(){g.value=p,g.getSnapshot=v,i(g)&&x({inst:g})},[h,p,v]),r(function(){return i(g)&&x({inst:g}),h(function(){i(g)&&x({inst:g})})},[h]),u(p),p}function i(h){var v=h.getSnapshot;h=h.value;try{var p=v();return!t(h,p)}catch(y){return!0}}function o(h,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=S,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,c=!1,b=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;ms.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ms}var Xt;function Qt(){return Xt||(Xt=1,process.env.NODE_ENV==="production"?Ui.exports=Yf():Ui.exports=Jf()),Ui.exports}/**
54
+ */var Rt;function Qf(){return Rt||(Rt=1,process.env.NODE_ENV!=="production"&&function(){function e(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function n(f,v){c||s.startTransition===void 0||(c=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var h=v();if(!b){var y=v();t(h,y)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),b=!0)}y=l({inst:{value:h,getSnapshot:v}});var g=y[0].inst,S=y[1];return d(function(){g.value=h,g.getSnapshot=v,i(g)&&S({inst:g})},[f,h,v]),r(function(){return i(g)&&S({inst:g}),f(function(){i(g)&&S({inst:g})})},[f]),u(h),h}function i(f){var v=f.getSnapshot;f=f.value;try{var h=v();return!t(f,h)}catch(y){return!0}}function o(f,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=w,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,c=!1,b=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;hs.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),hs}var el;function nl(){return el||(el=1,process.env.NODE_ENV==="production"?Ji.exports=Xf():Ji.exports=Qf()),Ji.exports}/**
55
55
  * @license React
56
56
  * use-sync-external-store-shim/with-selector.production.js
57
57
  *
@@ -59,7 +59,7 @@
59
59
  *
60
60
  * This source code is licensed under the MIT license found in the
61
61
  * LICENSE file in the root directory of this source tree.
62
- */var Rt;function Zf(){if(Rt)return cs;Rt=1;var e=S,n=Qt();function i(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return cs.useSyncExternalStoreWithSelector=function(u,c,b,m,h){var v=t(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=r(function(){function g(w){if(!x){if(x=!0,f=w,w=m(w),h!==void 0&&p.hasValue){var C=p.value;if(h(C,w))return N=C}return N=w}if(C=N,o(f,w))return C;var k=m(w);return h!==void 0&&h(C,k)?(f=w,C):(f=w,N=k)}var x=!1,f,N,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,h]);var y=s(u,v[0],v[1]);return l(function(){p.hasValue=!0,p.value=y},[y]),d(y),y},cs}var vs={};/**
62
+ */var il;function Rf(){if(il)return vs;il=1;var e=w,n=nl();function i(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return vs.useSyncExternalStoreWithSelector=function(u,c,b,m,f){var v=t(null);if(v.current===null){var h={hasValue:!1,value:null};v.current=h}else h=v.current;v=r(function(){function g(N){if(!S){if(S=!0,p=N,N=m(N),f!==void 0&&h.hasValue){var C=h.value;if(f(C,N))return x=C}return x=N}if(C=x,o(p,N))return C;var k=m(N);return f!==void 0&&f(C,k)?(p=N,C):(p=N,x=k)}var S=!1,p,x,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,f]);var y=s(u,v[0],v[1]);return l(function(){h.hasValue=!0,h.value=y},[y]),d(y),y},vs}var ps={};/**
63
63
  * @license React
64
64
  * use-sync-external-store-shim/with-selector.development.js
65
65
  *
@@ -67,10 +67,10 @@
67
67
  *
68
68
  * This source code is licensed under the MIT license found in the
69
69
  * LICENSE file in the root directory of this source tree.
70
- */var el;function Xf(){return el||(el=1,process.env.NODE_ENV!=="production"&&function(){function e(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=S,i=Qt(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;vs.useSyncExternalStoreWithSelector=function(u,c,b,m,h){var v=t(null);if(v.current===null){var p={hasValue:!1,value:null};v.current=p}else p=v.current;v=r(function(){function g(w){if(!x){if(x=!0,f=w,w=m(w),h!==void 0&&p.hasValue){var C=p.value;if(h(C,w))return N=C}return N=w}if(C=N,o(f,w))return C;var k=m(w);return h!==void 0&&h(C,k)?(f=w,C):(f=w,N=k)}var x=!1,f,N,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,h]);var y=s(u,v[0],v[1]);return l(function(){p.hasValue=!0,p.value=y},[y]),d(y),y},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),vs}var nl;function Qf(){return nl||(nl=1,process.env.NODE_ENV==="production"?Wi.exports=Zf():Wi.exports=Xf()),Wi.exports}var Rf=Qf();const eh=qf(Rf),nh={},il=e=>{let n;const i=new Set,o=(c,b)=>{const m=typeof c=="function"?c(n):c;if(!Object.is(m,n)){const h=n;n=(b!=null?b:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,h))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:c=>(i.add(c),()=>i.delete(c)),destroy:()=>{(nh?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},ih=e=>e?il(e):il,{useDebugValue:oh}=S,{useSyncExternalStoreWithSelector:sh}=eh,ah=e=>e;function ol(e,n=ah,i){const o=sh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return oh(o),o}const sl=(e,n)=>{const i=ih(e),o=(s,t=n)=>ol(i,s,t);return Object.assign(o,i),o},th=(e,n)=>e?sl(e,n):sl;function xe(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const qi=S.createContext(null),lh=qi.Provider,al=He.error001("react");function fe(e,n){const i=S.useContext(qi);if(i===null)throw new Error(al);return ol(i,e,n)}function Se(){const e=S.useContext(qi);if(e===null)throw new Error(al);return S.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const tl={display:"none"},rh={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ll="react-flow__node-desc",rl="react-flow__edge-desc",dh="react-flow__aria-live",uh=e=>e.ariaLiveMessage,ch=e=>e.ariaLabelConfig;function bh({rfId:e}){const n=fe(uh);return a.jsx("div",{id:`${dh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:rh,children:n})}function mh({rfId:e,disableKeyboardA11y:n}){const i=fe(ch);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${ll}-${e}`,style:tl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${rl}-${e}`,style:tl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(bh,{rfId:e})]})}const Yi=S.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Ae(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Yi.displayName="Panel";const dl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function vh({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Yi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${dl}`,children:a.jsx("a",{href:dl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const fh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},Ji=e=>e.id;function hh(e,n){return xe(e.selectedNodes.map(Ji),n.selectedNodes.map(Ji))&&xe(e.selectedEdges.map(Ji),n.selectedEdges.map(Ji))}function ph({onSelectionChange:e}){const n=Se(),{selectedNodes:i,selectedEdges:o}=fe(fh,hh);return S.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const gh=e=>!!e.onSelectionChangeHandlers;function yh({onSelectionChange:e}){const n=fe(gh);return e||n?a.jsx(ph,{onSelectionChange:e}):null}const ul=[0,0],xh={x:0,y:0,zoom:1},cl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Sh=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),bl={translateExtent:Xn,nodeOrigin:ul,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function wh(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=fe(Sh,xe),u=Se();S.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{c.current=bl,r()}),[]);const c=S.useRef(bl);return S.useEffect(()=>{for(const b of cl){const m=e[b],h=c.current[b];m!==h&&typeof e[b]!="undefined"&&(b==="nodes"?n(m):b==="edges"?i(m):b==="minZoom"?o(m):b==="maxZoom"?s(m):b==="translateExtent"?t(m):b==="nodeExtent"?l(m):b==="ariaLabelConfig"?u.setState({ariaLabelConfig:af(m)}):b==="fitView"?u.setState({fitViewQueued:m}):b==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[b]:m}))}c.current=e},cl.map(b=>e[b])),null}function ml(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Nh(e){var o;const[n,i]=S.useState(e==="system"?null:e);return S.useEffect(()=>{if(e!=="system"){i(e);return}const s=ml(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=ml())!=null&&o.matches?"dark":"light"}const vl=typeof document!="undefined"?document:null;function ti(e=null,n={target:vl,actInsideInputWithModifier:!0}){const[i,o]=S.useState(!1),s=S.useRef(!1),t=S.useRef(new Set([])),[l,r]=S.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(b=>typeof b=="string").map(b=>b.replace("+",`
70
+ */var ol;function eh(){return ol||(ol=1,process.env.NODE_ENV!=="production"&&function(){function e(u,c){return u===c&&(u!==0||1/u===1/c)||u!==u&&c!==c}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=w,i=nl(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ps.useSyncExternalStoreWithSelector=function(u,c,b,m,f){var v=t(null);if(v.current===null){var h={hasValue:!1,value:null};v.current=h}else h=v.current;v=r(function(){function g(N){if(!S){if(S=!0,p=N,N=m(N),f!==void 0&&h.hasValue){var C=h.value;if(f(C,N))return x=C}return x=N}if(C=x,o(p,N))return C;var k=m(N);return f!==void 0&&f(C,k)?(p=N,C):(p=N,x=k)}var S=!1,p,x,A=b===void 0?null:b;return[function(){return g(c())},A===null?void 0:function(){return g(A())}]},[c,b,m,f]);var y=s(u,v[0],v[1]);return l(function(){h.hasValue=!0,h.value=y},[y]),d(y),y},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ps}var sl;function nh(){return sl||(sl=1,process.env.NODE_ENV==="production"?Yi.exports=Rf():Yi.exports=eh()),Yi.exports}var ih=nh();const oh=Zf(ih),sh={},al=e=>{let n;const i=new Set,o=(c,b)=>{const m=typeof c=="function"?c(n):c;if(!Object.is(m,n)){const f=n;n=(b!=null?b:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,f))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:c=>(i.add(c),()=>i.delete(c)),destroy:()=>{(sh?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},ah=e=>e?al(e):al,{useDebugValue:th}=w,{useSyncExternalStoreWithSelector:lh}=oh,rh=e=>e;function tl(e,n=rh,i){const o=lh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return th(o),o}const ll=(e,n)=>{const i=ah(e),o=(s,t=n)=>tl(i,s,t);return Object.assign(o,i),o},dh=(e,n)=>e?ll(e,n):ll;function Ae(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const Zi=w.createContext(null),uh=Zi.Provider,rl=Ve.error001("react");function Se(e,n){const i=w.useContext(Zi);if(i===null)throw new Error(rl);return tl(i,e,n)}function ke(){const e=w.useContext(Zi);if(e===null)throw new Error(rl);return w.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const dl={display:"none"},ch={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ul="react-flow__node-desc",cl="react-flow__edge-desc",bh="react-flow__aria-live",mh=e=>e.ariaLiveMessage,vh=e=>e.ariaLabelConfig;function fh({rfId:e}){const n=Se(mh);return a.jsx("div",{id:`${bh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:ch,children:n})}function hh({rfId:e,disableKeyboardA11y:n}){const i=Se(vh);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${ul}-${e}`,style:dl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${cl}-${e}`,style:dl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(fh,{rfId:e})]})}const Xi=w.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Le(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Xi.displayName="Panel";const bl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function ph({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Xi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${bl}`,children:a.jsx("a",{href:bl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const gh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},Qi=e=>e.id;function yh(e,n){return Ae(e.selectedNodes.map(Qi),n.selectedNodes.map(Qi))&&Ae(e.selectedEdges.map(Qi),n.selectedEdges.map(Qi))}function xh({onSelectionChange:e}){const n=ke(),{selectedNodes:i,selectedEdges:o}=Se(gh,yh);return w.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const Sh=e=>!!e.onSelectionChangeHandlers;function wh({onSelectionChange:e}){const n=Se(Sh);return e||n?a.jsx(xh,{onSelectionChange:e}):null}const ml=[0,0],Nh={x:0,y:0,zoom:1},vl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Ch=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:ei,nodeOrigin:ml,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Ah(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=Se(Ch,Ae),u=ke();w.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{c.current=fl,r()}),[]);const c=w.useRef(fl);return w.useEffect(()=>{for(const b of vl){const m=e[b],f=c.current[b];m!==f&&typeof e[b]!="undefined"&&(b==="nodes"?n(m):b==="edges"?i(m):b==="minZoom"?o(m):b==="maxZoom"?s(m):b==="translateExtent"?t(m):b==="nodeExtent"?l(m):b==="ariaLabelConfig"?u.setState({ariaLabelConfig:rf(m)}):b==="fitView"?u.setState({fitViewQueued:m}):b==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[b]:m}))}c.current=e},vl.map(b=>e[b])),null}function hl(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function kh(e){var o;const[n,i]=w.useState(e==="system"?null:e);return w.useEffect(()=>{if(e!=="system"){i(e);return}const s=hl(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=hl())!=null&&o.matches?"dark":"light"}const pl=typeof document!="undefined"?document:null;function di(e=null,n={target:pl,actInsideInputWithModifier:!0}){const[i,o]=w.useState(!1),s=w.useRef(!1),t=w.useRef(new Set([])),[l,r]=w.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(b=>typeof b=="string").map(b=>b.replace("+",`
71
71
  `).replace(`
72
72
 
73
73
  `,`
74
74
  +`).split(`
75
- `)),c=u.reduce((b,m)=>b.concat(...m),[]);return[u,c]}return[[],[]]},[e]);return S.useEffect(()=>{var c,b;const d=(c=n==null?void 0:n.target)!=null?c:vl,u=(b=n==null?void 0:n.actInsideInputWithModifier)!=null?b:!0;if(e!==null){const m=p=>{var x,f;if(s.current=p.ctrlKey||p.metaKey||p.shiftKey||p.altKey,(!s.current||s.current&&!u)&&St(p))return!1;const g=hl(p.code,r);if(t.current.add(p[g]),fl(l,t.current,!1)){const N=((f=(x=p.composedPath)==null?void 0:x.call(p))==null?void 0:f[0])||p.target,A=(N==null?void 0:N.nodeName)==="BUTTON"||(N==null?void 0:N.nodeName)==="A";n.preventDefault!==!1&&(s.current||!A)&&p.preventDefault(),o(!0)}},h=p=>{const y=hl(p.code,r);fl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(p[y]),p.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",h),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",h),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function fl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function hl(e,n){return n.includes(e)?"code":"key"}const Ch=()=>{const e=Se();return S.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=Xo(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,h;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},c=(m=i.snapGrid)!=null?m:s,b=(h=i.snapToGrid)!=null?h:t;return oi(u,o,b,c)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Tn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function pl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Ah(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Ah(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function gl(e,n){return pl(e,n)}function yl(e,n){return pl(e,n)}function pn(e,n){return{id:e,type:"select",selected:n}}function In(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(pn(t.id,l)))}return o}function xl({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function Sl(e){return{id:e.id,type:"remove"}}const kh=ht("React Flow","https://reactflow.dev/");function Eh(e,n,i={}){var o;return cf(e,n,{...i,onError:(o=i.onError)!=null?o:kh})}const wl=e=>Jv(e),Mh=e=>dt(e);function Nl(e){return S.forwardRef(e)}const Th=typeof window!="undefined"?S.useLayoutEffect:S.useEffect;function Cl(e){const[n,i]=S.useState(BigInt(0)),[o]=S.useState(()=>Ph(()=>i(s=>s+BigInt(1))));return Th(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Ph(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Al=S.createContext(null);function Lh({children:e}){const n=Se(),i=S.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:c,onNodesChange:b,nodeLookup:m,fitViewQueued:h,onNodesChangeMiddlewareMap:v}=n.getState();let p=d;for(const g of r)p=typeof g=="function"?g(p):g;let y=xl({items:p,lookup:m});for(const g of v.values())y=g(y);c&&u(p),y.length>0?b==null||b(y):h&&window.requestAnimationFrame(()=>{const{fitViewQueued:g,nodes:x,setNodes:f}=n.getState();g&&f(x)})},[]),o=Cl(i),s=S.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:c,onEdgesChange:b,edgeLookup:m}=n.getState();let h=d;for(const v of r)h=typeof v=="function"?v(h):v;c?u(h):b&&b(xl({items:h,lookup:m}))},[]),t=Cl(s),l=S.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Al.Provider,{value:l,children:e})}function Bh(){const e=S.useContext(Al);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Ih=e=>!!e.panZoom;function fs(){const e=Ch(),n=Se(),i=Bh(),o=fe(Ih),s=S.useMemo(()=>{const t=b=>n.getState().nodeLookup.get(b),l=b=>{i.nodeQueue.push(b)},r=b=>{i.edgeQueue.push(b)},d=b=>{var g,x,f,N;const{nodeLookup:m,nodeOrigin:h}=n.getState(),v=wl(b)?b:m.get(b.id),p=v.parentId?gt(v.position,v.measured,v.parentId,m,h):v.position,y={...v,position:p,width:(x=(g=v.measured)==null?void 0:g.width)!=null?x:v.width,height:(N=(f=v.measured)==null?void 0:f.height)!=null?N:v.height};return ni(y)},u=(b,m,h={replace:!1})=>{l(v=>v.map(p=>{if(p.id===b){const y=typeof m=="function"?m(p):m;return h.replace&&wl(y)?y:{...p,...y}}return p}))},c=(b,m,h={replace:!1})=>{r(v=>v.map(p=>{if(p.id===b){const y=typeof m=="function"?m(p):m;return h.replace&&Mh(y)?y:{...p,...y}}return p}))};return{getNodes:()=>n.getState().nodes.map(b=>({...b})),getNode:b=>{var m;return(m=t(b))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:b=[]}=n.getState();return b.map(m=>({...m}))},getEdge:b=>n.getState().edgeLookup.get(b),setNodes:l,setEdges:r,addNodes:b=>{const m=Array.isArray(b)?b:[b];i.nodeQueue.push(h=>[...h,...m])},addEdges:b=>{const m=Array.isArray(b)?b:[b];i.edgeQueue.push(h=>[...h,...m])},toObject:()=>{const{nodes:b=[],edges:m=[],transform:h}=n.getState(),[v,p,y]=h;return{nodes:b.map(g=>({...g})),edges:m.map(g=>({...g})),viewport:{x:v,y:p,zoom:y}}},deleteElements:async({nodes:b=[],edges:m=[]})=>{const{nodes:h,edges:v,onNodesDelete:p,onEdgesDelete:y,triggerNodeChanges:g,triggerEdgeChanges:x,onDelete:f,onBeforeDelete:N}=n.getState(),{nodes:A,edges:w}=await ef({nodesToRemove:b,edgesToRemove:m,nodes:h,edges:v,onBeforeDelete:N}),C=w.length>0,k=A.length>0;if(C){const E=w.map(Sl);y==null||y(w),x(E)}if(k){const E=A.map(Sl);p==null||p(A),g(E)}return(k||C)&&(f==null||f({nodes:A,edges:w})),{deletedNodes:A,deletedEdges:w}},getIntersectingNodes:(b,m=!0,h)=>{const v=ft(b),p=v?b:d(b),y=h!==void 0;return p?(h||n.getState().nodes).filter(g=>{const x=n.getState().nodeLookup.get(g.id);if(x&&!v&&(g.id===b.id||!x.internals.positionAbsolute))return!1;const f=ni(y?g:x),N=Vi(f,p);return m&&N>0||N>=f.width*f.height||N>=p.width*p.height}):[]},isNodeIntersecting:(b,m,h=!0)=>{const p=ft(b)?b:d(b);if(!p)return!1;const y=Vi(p,m);return h&&y>0||y>=m.width*m.height||y>=p.width*p.height},updateNode:u,updateNodeData:(b,m,h={replace:!1})=>{u(b,v=>{const p=typeof m=="function"?m(v):m;return h.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},h)},updateEdge:c,updateEdgeData:(b,m,h={replace:!1})=>{c(b,v=>{const p=typeof m=="function"?m(v):m;return h.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},h)},getNodesBounds:b=>{const{nodeLookup:m,nodeOrigin:h}=n.getState();return Zv(b,{nodeLookup:m,nodeOrigin:h})},getHandleConnections:({type:b,id:m,nodeId:h})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${h}-${b}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?p:[])},getNodeConnections:({type:b,handleId:m,nodeId:h})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${h}${b?m?`-${b}-${m}`:`-${b}`:""}`))==null?void 0:v.values())!=null?p:[])},fitView:async b=>{var h;const m=(h=n.getState().fitViewResolver)!=null?h:sf();return n.setState({fitViewQueued:!0,fitViewOptions:b,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return S.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const kl=e=>e.selected,Dh=typeof window!="undefined"?window:void 0;function _h({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=Se(),{deleteElements:o}=fs(),s=ti(e,{actInsideInputWithModifier:!1}),t=ti(n,{target:Dh});S.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(kl),edges:l.filter(kl)}),i.setState({nodesSelectionActive:!1})}},[s]),S.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function Oh(e){const n=Se();S.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=Qo(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",He.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const Zi={position:"absolute",width:"100%",height:"100%",top:0,left:0},Kh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Hh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=mn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:c,maxZoom:b,zoomActivationKeyCode:m,preventScrolling:h=!0,children:v,noWheelClassName:p,noPanClassName:y,onViewportChange:g,isControlledViewport:x,paneClickDistance:f,selectionOnDrag:N}){const A=Se(),w=S.useRef(null),{userSelectionActive:C,lib:k,connectionInProgress:E}=fe(Kh,xe),_=ti(m),T=S.useRef();Oh(w);const P=S.useCallback(K=>{g==null||g({x:K[0],y:K[1],zoom:K[2]}),x||A.setState({transform:K})},[g,x]);return S.useEffect(()=>{if(w.current){T.current=Vf({domNode:w.current,minZoom:c,maxZoom:b,translateExtent:u,viewport:d,onDraggingChange:I=>A.setState(D=>D.paneDragging===I?D:{paneDragging:I}),onPanZoomStart:(I,D)=>{const{onViewportChangeStart:O,onMoveStart:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoom:(I,D)=>{const{onViewportChange:O,onMove:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoomEnd:(I,D)=>{const{onViewportChangeEnd:O,onMoveEnd:B}=A.getState();B==null||B(I,D),O==null||O(D)}});const{x:K,y:M,zoom:L}=T.current.getViewport();return A.setState({panZoom:T.current,transform:[K,M,L],domNode:w.current.closest(".react-flow")}),()=>{var I;(I=T.current)==null||I.destroy()}}},[]),S.useEffect(()=>{var K;(K=T.current)==null||K.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:_,preventScrolling:h,noPanClassName:y,userSelectionActive:C,noWheelClassName:p,lib:k,onTransformChange:P,connectionInProgress:E,selectionOnDrag:N,paneClickDistance:f})},[e,n,i,o,s,t,l,r,_,h,y,C,p,k,P,E,N,f]),a.jsx("div",{className:"react-flow__renderer",ref:w,style:Zi,children:v})}const Fh=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Gh(){const{userSelectionActive:e,userSelectionRect:n}=fe(Fh,xe);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const hs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},Vh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function zh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Qn.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:b,onPaneMouseEnter:m,onPaneMouseMove:h,onPaneMouseLeave:v,children:p}){const y=S.useRef(0),g=Se(),{userSelectionActive:x,elementsSelectable:f,dragging:N,panBy:A,autoPanSpeed:w}=fe(Vh,xe),C=f&&(e||x),k=S.useRef(null),E=S.useRef(),_=S.useRef(new Set),T=S.useRef(new Set),P=S.useRef(!1),K=S.useRef(!1),M=S.useRef({x:0,y:0}),L=S.useRef(!1),I=Y=>{if(K.current||P.current||g.getState().connection.inProgress){K.current=!1,P.current=!1;return}u==null||u(Y),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},D=Y=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){Y.preventDefault();return}c==null||c(Y)},O=b?Y=>b(Y):void 0,B=Y=>{K.current&&(Y.stopPropagation(),K.current=!1)},U=Y=>{var Z,J;const{domNode:ee,transform:te}=g.getState();if(E.current=ee==null?void 0:ee.getBoundingClientRect(),!E.current)return;const z=Y.target===k.current;if(!z&&!!Y.target.closest(".nokey")||!e||!(l&&z||n)||Y.button!==0||!Y.isPrimary)return;(J=(Z=Y.target)==null?void 0:Z.setPointerCapture)==null||J.call(Z,Y.pointerId),K.current=!1;const{x:H,y:$}=$e(Y.nativeEvent,E.current),W=oi({x:H,y:$},te);g.setState({userSelectionRect:{width:0,height:0,startX:W.x,startY:W.y,x:H,y:$}}),z||(Y.stopPropagation(),Y.preventDefault())};function q(Y,ee){var De,ve;const{userSelectionRect:te}=g.getState();if(!te)return;const{transform:z,nodeLookup:F,edgeLookup:j,connectionLookup:H,triggerNodeChanges:$,triggerEdgeChanges:W,defaultEdgeOptions:Z}=g.getState(),J={x:te.startX,y:te.startY},{x:ie,y:se}=Tn(J,z),ce={startX:J.x,startY:J.y,x:Y<ie?Y:ie,y:ee<se?ee:se,width:Math.abs(Y-ie),height:Math.abs(ee-se)},me=_.current,ye=T.current;_.current=new Set(Yo(F,ce,z,i===Qn.Partial,!0).map(ue=>ue.id)),T.current=new Set;const pe=(De=Z==null?void 0:Z.selectable)!=null?De:!0;for(const ue of _.current){const Te=H.get(ue);if(Te)for(const{edgeId:Pe}of Te.values()){const ke=j.get(Pe);ke&&((ve=ke.selectable)!=null?ve:pe)&&T.current.add(Pe)}}if(!yt(me,_.current)){const ue=In(F,_.current,!0);$(ue)}if(!yt(ye,T.current)){const ue=In(j,T.current);W(ue)}g.setState({userSelectionRect:ce,userSelectionActive:!0,nodesSelectionActive:!1})}function G(){if(!s||!E.current)return;const[Y,ee]=Jo(M.current,E.current,w);A({x:Y,y:ee}).then(te=>{if(!K.current||!te){y.current=requestAnimationFrame(G);return}const{x:z,y:F}=M.current;q(z,F),y.current=requestAnimationFrame(G)})}const V=()=>{cancelAnimationFrame(y.current),y.current=0,L.current=!1};S.useEffect(()=>()=>V(),[]);const X=Y=>{const{userSelectionRect:ee,transform:te,resetSelectedElements:z}=g.getState();if(!E.current||!ee)return;const{x:F,y:j}=$e(Y.nativeEvent,E.current);M.current={x:F,y:j};const H=Tn({x:ee.startX,y:ee.startY},te);if(!K.current){const $=n?0:t;if(Math.hypot(F-H.x,j-H.y)<=$)return;z(),r==null||r(Y)}K.current=!0,L.current||(G(),L.current=!0),q(F,j)},oe=Y=>{var ee,te;if(!C){Y.target===k.current&&g.getState().connection.inProgress&&(P.current=!0);return}Y.button===0&&((te=(ee=Y.target)==null?void 0:ee.releasePointerCapture)==null||te.call(ee,Y.pointerId),!x&&Y.target===k.current&&g.getState().userSelectionRect&&(I==null||I(Y)),g.setState({userSelectionActive:!1,userSelectionRect:null}),K.current&&(d==null||d(Y),g.setState({nodesSelectionActive:_.current.size>0})),V())},ne=Y=>{var ee,te;(te=(ee=Y.target)==null?void 0:ee.releasePointerCapture)==null||te.call(ee,Y.pointerId),V()},Q=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Ae(["react-flow__pane",{draggable:Q,dragging:N,selection:e}]),onClick:C?void 0:hs(I,k),onContextMenu:hs(D,k),onWheel:hs(O,k),onPointerEnter:C?void 0:m,onPointerMove:C?X:h,onPointerUp:oe,onPointerCancel:C?ne:void 0,onPointerDownCapture:C?U:void 0,onClickCapture:C?B:void 0,onPointerLeave:v,ref:k,style:Zi,children:[p,a.jsx(Gh,{})]})}function ps({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",He.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var c;return(c=o==null?void 0:o.current)==null?void 0:c.blur()})):s([e])}function El({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=Se(),[d,u]=S.useState(!1),c=S.useRef();return S.useEffect(()=>{c.current=Ef({getStoreItems:()=>r.getState(),onNodeMouseDown:b=>{ps({id:b,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),S.useEffect(()=>{if(!(n||!e.current||!c.current))return c.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var b;(b=c.current)==null||b.destroy()}},[i,o,n,t,e,s,l]),d}const $h=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Ml(){const e=Se();return S.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:c}=e.getState(),b=new Map,m=$h(l),h=s?t[0]:5,v=s?t[1]:5,p=i.direction.x*h*i.factor,y=i.direction.y*v*i.factor;for(const[,g]of u){if(!m(g))continue;let x={x:g.internals.positionAbsolute.x+p,y:g.internals.positionAbsolute.y+y};s&&(x=ii(x,t));const{position:f,positionAbsolute:N}=ut({nodeId:g.id,nextPosition:x,nodeLookup:u,nodeExtent:o,nodeOrigin:c,onError:r});g.position=f,g.internals.positionAbsolute=N,b.set(g.id,g)}d(b)},[])}const gs=S.createContext(null),jh=gs.Provider;gs.Consumer;const Tl=()=>S.useContext(gs),Wh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Pl=S.createContext(null);function Uh({children:e}){const n=fe(Wh,xe);return a.jsx(Pl.Provider,{value:n,children:e})}function qh(){const e=S.useContext(Pl);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Yh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Jh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Yh;const c=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:c,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===kn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:c&&u}};function Zh({type:e="source",position:n=ae.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:c,onTouchStart:b,...m},h){var L,I;const v=l||null,p=e==="target",y=Se(),g=Tl(),{connectOnClick:x,noPanClassName:f,rfId:N}=qh(),{connectingFrom:A,connectingTo:w,clickConnecting:C,isPossibleEndHandle:k,connectionInProcess:E,clickConnectionInProcess:_,valid:T}=fe(Jh(g,v,e),xe);g||(I=(L=y.getState()).onError)==null||I.call(L,"010",He.error010());const P=D=>{const{defaultEdgeOptions:O,onConnect:B,hasDefaultEdges:U}=y.getState(),q={...O,...D};if(U){const{edges:G,setEdges:V,onError:X}=y.getState();V(Eh(q,G,{onError:X}))}B==null||B(q),r==null||r(q)},K=D=>{if(!g)return;const O=wt(D.nativeEvent);if(s&&(O&&D.button===0||!O)){const B=y.getState();rs.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:B.autoPanOnConnect,connectionMode:B.connectionMode,connectionRadius:B.connectionRadius,domNode:B.domNode,nodeLookup:B.nodeLookup,lib:B.lib,isTarget:p,handleId:v,nodeId:g,flowId:B.rfId,panBy:B.panBy,cancelConnection:B.cancelConnection,onConnectStart:B.onConnectStart,onConnectEnd:(...U)=>{var q,G;return(G=(q=y.getState()).onConnectEnd)==null?void 0:G.call(q,...U)},updateConnection:B.updateConnection,onConnect:P,isValidConnection:i||((...U)=>{var q,G,V;return(V=(G=(q=y.getState()).isValidConnection)==null?void 0:G.call(q,...U))!=null?V:!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:B.autoPanSpeed,dragThreshold:B.connectionDragThreshold})}O?c==null||c(D):b==null||b(D)},M=D=>{const{onClickConnectStart:O,onClickConnectEnd:B,connectionClickStartHandle:U,connectionMode:q,isValidConnection:G,lib:V,rfId:X,nodeLookup:oe,connection:ne}=y.getState();if(!g||!U&&!s)return;if(!U){O==null||O(D.nativeEvent,{nodeId:g,handleId:v,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:g,type:e,id:v}});return}const Q=xt(D.target),Y=i||G,{connection:ee,isValid:te}=rs.isValid(D.nativeEvent,{handle:{nodeId:g,id:v,type:e},connectionMode:q,fromNodeId:U.nodeId,fromHandleId:U.id||null,fromType:U.type,isValidConnection:Y,flowId:X,doc:Q,lib:V,nodeLookup:oe});te&&ee&&P(ee);const z=structuredClone(ne);delete z.inProgress,z.toPosition=z.toHandle?z.toHandle.position:null,B==null||B(D,z),y.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":g,"data-handlepos":n,"data-id":`${N}-${g}-${v}-${e}`,className:Ae(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",f,u,{source:!p,target:p,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:A,connectingto:w,valid:T,connectionindicator:o&&(!E||k)&&(E||_?t:s)}]),onMouseDown:K,onTouchStart:K,onClick:x?M:void 0,ref:h,...m,children:d})}const Dn=S.memo(Nl(Zh));function Xh({data:e,isConnectable:n,sourcePosition:i=ae.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Dn,{type:"source",position:i,isConnectable:n})]})}function Qh({data:e,isConnectable:n,targetPosition:i=ae.Top,sourcePosition:o=ae.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Dn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Dn,{type:"source",position:o,isConnectable:n})]})}function Rh(){return null}function ep({data:e,isConnectable:n,targetPosition:i=ae.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Dn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Xi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Ll={input:Xh,default:Qh,output:ep,group:Rh};function np(e){var n,i,o,s,t,l,r,d,u,c;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(c=e.height)!=null?c:(u=e.style)==null?void 0:u.height}}const ip=e=>{const{width:n,height:i,x:o,y:s}=ei(e.nodeLookup,{filter:t=>!!t.selected});return{width:ze(n)?n:null,height:ze(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function op({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=Se(),{width:s,height:t,transformString:l,userSelectionActive:r}=fe(ip,xe),d=Ml(),u=S.useRef(null);S.useEffect(()=>{var h;i||(h=u.current)==null||h.focus({preventScroll:!0})},[i]);const c=!r&&s!==null&&t!==null;if(El({nodeRef:u,disabled:!c}),!c)return null;const b=e?h=>{const v=o.getState().nodes.filter(p=>p.selected);e(h,v)}:void 0,m=h=>{Object.prototype.hasOwnProperty.call(Xi,h.key)&&(h.preventDefault(),d({direction:Xi[h.key],factor:h.shiftKey?4:1}))};return a.jsx("div",{className:Ae(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:b,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const Bl=typeof window!="undefined"?window:void 0,sp=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Il({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:c,selectionMode:b,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:v,panActivationKeyCode:p,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:x,zoomOnPinch:f,panOnScroll:N,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:k,autoPanOnSelection:E,defaultViewport:_,translateExtent:T,minZoom:P,maxZoom:K,preventScrolling:M,onSelectionContextMenu:L,noWheelClassName:I,noPanClassName:D,disableKeyboardA11y:O,onViewportChange:B,isControlledViewport:U}){const{nodesSelectionActive:q,userSelectionActive:G}=fe(sp,xe),V=ti(u,{target:Bl}),X=ti(p,{target:Bl}),oe=X||k,ne=X||N,Q=c&&oe!==!0,Y=V||G||Q;return _h({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(Hh,{onPaneContextMenu:t,elementsSelectable:g,zoomOnScroll:x,zoomOnPinch:f,panOnScroll:ne,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:!V&&oe,defaultViewport:_,translateExtent:T,minZoom:P,maxZoom:K,zoomActivationKeyCode:y,preventScrolling:M,noWheelClassName:I,noPanClassName:D,onViewportChange:B,isControlledViewport:U,paneClickDistance:r,selectionOnDrag:Q,children:a.jsxs(zh,{onSelectionStart:m,onSelectionEnd:h,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:oe,autoPanOnSelection:E,isSelecting:!!Y,selectionMode:b,selectionKeyPressed:V,paneClickDistance:r,selectionOnDrag:Q,children:[e,q&&a.jsx(op,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:O})]})})}Il.displayName="FlowRenderer";const ap=S.memo(Il),tp=e=>n=>e?Yo(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function lp(e){return fe(S.useCallback(tp(e),[e]),xe)}const rp=e=>e.updateNodeInternals;function dp(){const e=fe(rp),[n]=S.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return S.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function up({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=Se(),t=S.useRef(null),l=S.useRef(null),r=S.useRef(e.sourcePosition),d=S.useRef(e.targetPosition),u=S.useRef(n),c=i&&!!e.internals.handleBounds;return S.useEffect(()=>{t.current&&!e.hidden&&(!c||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[c,e.hidden]),S.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),S.useEffect(()=>{if(t.current){const b=u.current!==n,m=r.current!==e.sourcePosition,h=d.current!==e.targetPosition;(b||m||h)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function cp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:c,resizeObserver:b,noDragClassName:m,noPanClassName:h,disableKeyboardA11y:v,rfId:p,nodeTypes:y,nodeClickDistance:g,onError:x}){var Y,ee,te;const{node:f,internals:N,isParent:A}=fe(z=>{const F=z.nodeLookup.get(e),j=z.parentLookup.has(e);return{node:F,internals:F.internals,isParent:j}},xe);let w=f.type||"default",C=(y==null?void 0:y[w])||Ll[w];C===void 0&&(x==null||x("003",He.error003(w)),w="default",C=(y==null?void 0:y.default)||Ll.default);const k=!!(f.draggable||r&&typeof f.draggable=="undefined"),E=!!(f.selectable||d&&typeof f.selectable=="undefined"),_=!!(f.connectable||u&&typeof f.connectable=="undefined"),T=!!(f.focusable||c&&typeof f.focusable=="undefined"),P=Se(),K=pt(f),M=up({node:f,nodeType:w,hasDimensions:K,resizeObserver:b}),L=El({nodeRef:M,disabled:f.hidden||!k,noDragClassName:m,handleSelector:f.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:g}),I=Ml();if(f.hidden)return null;const D=en(f),O=np(f),B=E||k||n||i||o||s,U=i?z=>i(z,{...N.userNode}):void 0,q=o?z=>o(z,{...N.userNode}):void 0,G=s?z=>s(z,{...N.userNode}):void 0,V=t?z=>t(z,{...N.userNode}):void 0,X=l?z=>l(z,{...N.userNode}):void 0,oe=z=>{const{selectNodesOnDrag:F,nodeDragThreshold:j}=P.getState();E&&(!F||!k||j>0)&&ps({id:e,store:P,nodeRef:M}),n&&n(z,{...N.userNode})},ne=z=>{if(!(St(z.nativeEvent)||v)){if(st.includes(z.key)&&E){const F=z.key==="Escape";ps({id:e,store:P,unselect:F,nodeRef:M})}else if(k&&f.selected&&Object.prototype.hasOwnProperty.call(Xi,z.key)){z.preventDefault();const{ariaLabelConfig:F}=P.getState();P.setState({ariaLiveMessage:F["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~N.positionAbsolute.x,y:~~N.positionAbsolute.y})}),I({direction:Xi[z.key],factor:z.shiftKey?4:1})}}},Q=()=>{var Z;if(v||!((Z=M.current)!=null&&Z.matches(":focus-visible")))return;const{transform:z,width:F,height:j,autoPanOnNodeFocus:H,setCenter:$}=P.getState();if(!H)return;Yo(new Map([[e,f]]),{x:0,y:0,width:F,height:j},z,!0).length>0||$(f.position.x+D.width/2,f.position.y+D.height/2,{zoom:z[2]})};return a.jsx("div",{className:Ae(["react-flow__node",`react-flow__node-${w}`,{[h]:k},f.className,{selected:f.selected,selectable:E,parent:A,draggable:k,dragging:L}]),ref:M,style:{zIndex:N.z,transform:`translate(${N.positionAbsolute.x}px,${N.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:K?"visible":"hidden",...f.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:U,onMouseMove:q,onMouseLeave:G,onContextMenu:V,onClick:oe,onDoubleClick:X,onKeyDown:T?ne:void 0,tabIndex:T?0:void 0,onFocus:T?Q:void 0,role:(Y=f.ariaRole)!=null?Y:T?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${ll}-${p}`,"aria-label":f.ariaLabel,...f.domAttributes,children:a.jsx(jh,{value:e,children:a.jsx(C,{id:e,data:f.data,type:w,positionAbsoluteX:N.positionAbsolute.x,positionAbsoluteY:N.positionAbsolute.y,selected:(ee=f.selected)!=null?ee:!1,selectable:E,draggable:k,deletable:(te=f.deletable)!=null?te:!0,isConnectable:_,sourcePosition:f.sourcePosition,targetPosition:f.targetPosition,dragging:L,dragHandle:f.dragHandle,zIndex:N.z,parentId:f.parentId,...D})})})}var bp=S.memo(cp);const mp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Dl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=fe(mp,xe),l=lp(e.onlyRenderVisibleElements),r=dp();return a.jsx("div",{className:"react-flow__nodes",style:Zi,children:l.map(d=>a.jsx(bp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Dl.displayName="NodeRenderer";const vp=S.memo(Dl);function fp(e){return fe(S.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&rf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),xe)}const hp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},pp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},_l={[En.Arrow]:hp,[En.ArrowClosed]:pp};function gp(e){const n=Se();return S.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(_l,e)?_l[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",He.error009(e)),null)},[e])}const yp=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=gp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Ol=({defaultColor:e,rfId:n})=>{const i=fe(t=>t.edges),o=fe(t=>t.defaultEdgeOptions),s=S.useMemo(()=>hf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(yp,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Ol.displayName="MarkerDefinitions";var xp=S.memo(Ol);function Kl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...c}){const[b,m]=S.useState({x:1,y:0,width:0,height:0}),h=Ae(["react-flow__edge-textwrapper",u]),v=S.useRef(null);return S.useEffect(()=>{if(v.current){const p=v.current.getBBox();m({x:p.x,y:p.y,width:p.width,height:p.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-b.width/2} ${n-b.height/2})`,className:h,visibility:b.width?"visible":"hidden",...c,children:[s&&a.jsx("rect",{width:b.width+2*l[0],x:-l[0],y:-l[1],height:b.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:b.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Kl.displayName="EdgeText";const Sp=S.memo(Kl);function Qi({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...c}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...c,d:e,fill:"none",className:Ae(["react-flow__edge-path",c.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&ze(n)&&ze(i)?a.jsx(Sp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Hl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ae.Left||e===ae.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function Fl({sourceX:e,sourceY:n,sourcePosition:i=ae.Bottom,targetX:o,targetY:s,targetPosition:t=ae.Top}){const[l,r]=Hl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Hl({pos:t,x1:o,y1:s,x2:e,y2:n}),[c,b,m,h]=Ct({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,c,b,m,h]}function Gl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:g})=>{const[x,f,N]=Fl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),A=e.isInternal?void 0:n;return a.jsx(Qi,{id:A,path:x,labelX:f,labelY:N,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:g})})}const wp=Gl({isInternal:!1}),Vl=Gl({isInternal:!0});wp.displayName="SimpleBezierEdge",Vl.displayName="SimpleBezierEdgeInternal";function zl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,sourcePosition:h=ae.Bottom,targetPosition:v=ae.Top,markerEnd:p,markerStart:y,pathOptions:g,interactionWidth:x})=>{const[f,N,A]=Ro({sourceX:i,sourceY:o,sourcePosition:h,targetX:s,targetY:t,targetPosition:v,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset,stepPosition:g==null?void 0:g.stepPosition}),w=e.isInternal?void 0:n;return a.jsx(Qi,{id:w,path:f,labelX:N,labelY:A,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:p,markerStart:y,interactionWidth:x})})}const $l=zl({isInternal:!1}),jl=zl({isInternal:!0});$l.displayName="SmoothStepEdge",jl.displayName="SmoothStepEdgeInternal";function Wl(e){return S.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx($l,{...i,id:o,pathOptions:S.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const Np=Wl({isInternal:!1}),Ul=Wl({isInternal:!0});Np.displayName="StepEdge",Ul.displayName="StepEdgeInternal";function ql(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:h,markerStart:v,interactionWidth:p})=>{const[y,g,x]=Mt({sourceX:i,sourceY:o,targetX:s,targetY:t}),f=e.isInternal?void 0:n;return a.jsx(Qi,{id:f,path:y,labelX:g,labelY:x,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:h,markerStart:v,interactionWidth:p})})}const Cp=ql({isInternal:!1}),Yl=ql({isInternal:!0});Cp.displayName="StraightEdge",Yl.displayName="StraightEdgeInternal";function Jl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=ae.Bottom,targetPosition:r=ae.Top,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,pathOptions:g,interactionWidth:x})=>{const[f,N,A]=kt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:g==null?void 0:g.curvature}),w=e.isInternal?void 0:n;return a.jsx(Qi,{id:w,path:f,labelX:N,labelY:A,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:x})})}const Ap=Jl({isInternal:!1}),Zl=Jl({isInternal:!0});Ap.displayName="BezierEdge",Zl.displayName="BezierEdgeInternal";const Xl={default:Zl,straight:Yl,step:Ul,smoothstep:jl,simplebezier:Vl},Ql={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},kp=(e,n,i)=>i===ae.Left?e-n:i===ae.Right?e+n:e,Ep=(e,n,i)=>i===ae.Top?e-n:i===ae.Bottom?e+n:e,Rl="react-flow__edgeupdater";function er({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Ae([Rl,`${Rl}-${r}`]),cx:kp(n,o,e),cy:Ep(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Mp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:c,onReconnectEnd:b,setReconnecting:m,setUpdateHover:h}){const v=Se(),p=(N,A)=>{if(N.button!==0)return;const{autoPanOnConnect:w,domNode:C,connectionMode:k,connectionRadius:E,lib:_,onConnectStart:T,cancelConnection:P,nodeLookup:K,rfId:M,panBy:L,updateConnection:I}=v.getState(),D=A.type==="target",O=(q,G)=>{m(!1),b==null||b(q,i,A.type,G)},B=q=>u==null?void 0:u(i,q),U=(q,G)=>{m(!0),c==null||c(N,i,A.type),T==null||T(q,G)};rs.onPointerDown(N.nativeEvent,{autoPanOnConnect:w,connectionMode:k,connectionRadius:E,domNode:C,handleId:A.id,nodeId:A.nodeId,nodeLookup:K,isTarget:D,edgeUpdaterType:A.type,lib:_,flowId:M,cancelConnection:P,panBy:L,isValidConnection:(...q)=>{var G,V,X;return(X=(V=(G=v.getState()).isValidConnection)==null?void 0:V.call(G,...q))!=null?X:!0},onConnect:B,onConnectStart:U,onConnectEnd:(...q)=>{var G,V;return(V=(G=v.getState()).onConnectEnd)==null?void 0:V.call(G,...q)},onReconnectEnd:O,updateConnection:I,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:N.currentTarget})},y=N=>{var A;return p(N,{nodeId:i.target,id:(A=i.targetHandle)!=null?A:null,type:"target"})},g=N=>{var A;return p(N,{nodeId:i.source,id:(A=i.sourceHandle)!=null?A:null,type:"source"})},x=()=>h(!0),f=()=>h(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(er,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:y,onMouseEnter:x,onMouseOut:f,type:"source"}),(e===!0||e==="target")&&a.jsx(er,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:g,onMouseEnter:x,onMouseOut:f,type:"target"})]})}function Tp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:h,rfId:v,edgeTypes:p,noPanClassName:y,onError:g,disableKeyboardA11y:x}){var F,j;let f=fe(H=>H.edgeLookup.get(e));const N=fe(H=>H.defaultEdgeOptions);f=N?{...N,...f}:f;let A=f.type||"default",w=(p==null?void 0:p[A])||Xl[A];w===void 0&&(g==null||g("011",He.error011(A)),A="default",w=(p==null?void 0:p.default)||Xl.default);const C=!!(f.focusable||n&&typeof f.focusable=="undefined"),k=typeof b!="undefined"&&(f.reconnectable||i&&typeof f.reconnectable=="undefined"),E=!!(f.selectable||o&&typeof f.selectable=="undefined"),_=S.useRef(null),[T,P]=S.useState(!1),[K,M]=S.useState(!1),L=Se(),{zIndex:I=f.zIndex,sourceX:D,sourceY:O,targetX:B,targetY:U,sourcePosition:q,targetPosition:G}=fe(S.useCallback(H=>{const $=H.nodeLookup.get(f.source),W=H.nodeLookup.get(f.target);if(!$||!W)return Ql;const Z=ff({id:e,sourceNode:$,targetNode:W,sourceHandle:f.sourceHandle||null,targetHandle:f.targetHandle||null,connectionMode:H.connectionMode,onError:g}),J=lf({selected:f.selected,zIndex:f.zIndex,sourceNode:$,targetNode:W,elevateOnSelect:H.elevateEdgesOnSelect,zIndexMode:H.zIndexMode});return{...Z||Ql,zIndex:J}},[f.source,f.target,f.sourceHandle,f.targetHandle,f.selected,f.zIndex]),xe),V=S.useMemo(()=>f.markerStart?`url('#${es(f.markerStart,v)}')`:void 0,[f.markerStart,v]),X=S.useMemo(()=>f.markerEnd?`url('#${es(f.markerEnd,v)}')`:void 0,[f.markerEnd,v]);if(f.hidden||D===null||O===null||B===null||U===null)return null;const oe=H=>{var J;const{addSelectedEdges:$,unselectNodesAndEdges:W,multiSelectionActive:Z}=L.getState();E&&(L.setState({nodesSelectionActive:!1}),f.selected&&Z?(W({nodes:[],edges:[f]}),(J=_.current)==null||J.blur()):$([e])),s&&s(H,f)},ne=t?H=>{t(H,{...f})}:void 0,Q=l?H=>{l(H,{...f})}:void 0,Y=r?H=>{r(H,{...f})}:void 0,ee=d?H=>{d(H,{...f})}:void 0,te=u?H=>{u(H,{...f})}:void 0,z=H=>{var $;if(!x&&st.includes(H.key)&&E){const{unselectNodesAndEdges:W,addSelectedEdges:Z}=L.getState();H.key==="Escape"?(($=_.current)==null||$.blur(),W({edges:[f]})):Z([e])}};return a.jsx("svg",{style:{zIndex:I},children:a.jsxs("g",{className:Ae(["react-flow__edge",`react-flow__edge-${A}`,f.className,y,{selected:f.selected,animated:f.animated,inactive:!E&&!s,updating:T,selectable:E}]),onClick:oe,onDoubleClick:ne,onContextMenu:Q,onMouseEnter:Y,onMouseMove:ee,onMouseLeave:te,onKeyDown:C?z:void 0,tabIndex:C?0:void 0,role:(F=f.ariaRole)!=null?F:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":f.ariaLabel===null?void 0:f.ariaLabel||`Edge from ${f.source} to ${f.target}`,"aria-describedby":C?`${rl}-${v}`:void 0,ref:_,...f.domAttributes,children:[!K&&a.jsx(w,{id:e,source:f.source,target:f.target,type:f.type,selected:f.selected,animated:f.animated,selectable:E,deletable:(j=f.deletable)!=null?j:!0,label:f.label,labelStyle:f.labelStyle,labelShowBg:f.labelShowBg,labelBgStyle:f.labelBgStyle,labelBgPadding:f.labelBgPadding,labelBgBorderRadius:f.labelBgBorderRadius,sourceX:D,sourceY:O,targetX:B,targetY:U,sourcePosition:q,targetPosition:G,data:f.data,style:f.style,sourceHandleId:f.sourceHandle,targetHandleId:f.targetHandle,markerStart:V,markerEnd:X,pathOptions:"pathOptions"in f?f.pathOptions:void 0,interactionWidth:f.interactionWidth}),k&&a.jsx(Mp,{edge:f,isReconnectable:k,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:h,sourceX:D,sourceY:O,targetX:B,targetY:U,sourcePosition:q,targetPosition:G,setUpdateHover:P,setReconnecting:M})]})})}var Pp=S.memo(Tp);const Lp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function nr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:c,reconnectRadius:b,onEdgeDoubleClick:m,onReconnectStart:h,onReconnectEnd:v,disableKeyboardA11y:p}){const{edgesFocusable:y,edgesReconnectable:g,elementsSelectable:x,onError:f}=fe(Lp,xe),N=fp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(xp,{defaultColor:e,rfId:i}),N.map(A=>a.jsx(Pp,{id:A,edgesFocusable:y,edgesReconnectable:g,elementsSelectable:x,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:c,reconnectRadius:b,onDoubleClick:m,onReconnectStart:h,onReconnectEnd:v,rfId:i,onError:f,edgeTypes:o,disableKeyboardA11y:p},A))]})}nr.displayName="EdgeRenderer";const Bp=S.memo(nr),Ip=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Dp({children:e}){const n=fe(Ip);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function _p(e){const n=fs(),i=S.useRef(!1);S.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Op=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Kp(e){const n=fe(Op),i=Se();return S.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Hp(e){return e.connection.inProgress?{...e.connection,to:oi(e.connection.to,e.transform)}:{...e.connection}}function Fp(e){return Hp}function Gp(e){const n=Fp();return fe(n,xe)}const Vp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function zp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=fe(Vp,xe);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Ae(["react-flow__connection",rt(r)]),children:a.jsx(ir,{style:n,type:i,CustomComponent:o,isValid:r})})})}const ir=({style:e,type:n=sn.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:c,toHandle:b,toPosition:m,pointer:h}=Gp();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:rt(o),toNode:c,toHandle:b,pointer:h});let v="";const p={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case sn.Bezier:[v]=kt(p);break;case sn.SimpleBezier:[v]=Fl(p);break;case sn.Step:[v]=Ro({...p,borderRadius:0});break;case sn.SmoothStep:[v]=Ro(p);break;default:[v]=Mt(p)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ir.displayName="ConnectionLine";const $p={};function or(e=$p){const n=S.useRef(e),i=Se();S.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",He.error002());break}n.current=e}},[e])}function jp(){const e=Se(),n=S.useRef(!1);S.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",He.error013("react"))),n.current=!0}},[])}function sr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,onSelectionContextMenu:b,onSelectionStart:m,onSelectionEnd:h,connectionLineType:v,connectionLineStyle:p,connectionLineComponent:y,connectionLineContainerStyle:g,selectionKeyCode:x,selectionOnDrag:f,selectionMode:N,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,deleteKeyCode:k,onlyRenderVisibleElements:E,elementsSelectable:_,defaultViewport:T,translateExtent:P,minZoom:K,maxZoom:M,preventScrolling:L,defaultMarkerColor:I,zoomOnScroll:D,zoomOnPinch:O,panOnScroll:B,panOnScrollSpeed:U,panOnScrollMode:q,zoomOnDoubleClick:G,panOnDrag:V,autoPanOnSelection:X,onPaneClick:oe,onPaneMouseEnter:ne,onPaneMouseMove:Q,onPaneMouseLeave:Y,onPaneScroll:ee,onPaneContextMenu:te,paneClickDistance:z,nodeClickDistance:F,onEdgeContextMenu:j,onEdgeMouseEnter:H,onEdgeMouseMove:$,onEdgeMouseLeave:W,reconnectRadius:Z,onReconnect:J,onReconnectStart:ie,onReconnectEnd:se,noDragClassName:ce,noWheelClassName:me,noPanClassName:ye,disableKeyboardA11y:pe,nodeExtent:De,rfId:ve,viewport:ue,onViewportChange:Te}){return or(e),or(n),jp(),_p(i),Kp(ue),a.jsx(ap,{onPaneClick:oe,onPaneMouseEnter:ne,onPaneMouseMove:Q,onPaneMouseLeave:Y,onPaneContextMenu:te,onPaneScroll:ee,paneClickDistance:z,deleteKeyCode:k,selectionKeyCode:x,selectionOnDrag:f,selectionMode:N,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:D,zoomOnPinch:O,zoomOnDoubleClick:G,panOnScroll:B,panOnScrollSpeed:U,panOnScrollMode:q,panOnDrag:V,autoPanOnSelection:X,defaultViewport:T,translateExtent:P,minZoom:K,maxZoom:M,onSelectionContextMenu:b,preventScrolling:L,noDragClassName:ce,noWheelClassName:me,noPanClassName:ye,disableKeyboardA11y:pe,onViewportChange:Te,isControlledViewport:!!ue,children:a.jsxs(Dp,{children:[a.jsx(Bp,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:J,onReconnectStart:ie,onReconnectEnd:se,onlyRenderVisibleElements:E,onEdgeContextMenu:j,onEdgeMouseEnter:H,onEdgeMouseMove:$,onEdgeMouseLeave:W,reconnectRadius:Z,defaultMarkerColor:I,noPanClassName:ye,disableKeyboardA11y:pe,rfId:ve}),a.jsx(zp,{style:p,type:v,component:y,containerStyle:g}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(vp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,nodeClickDistance:F,onlyRenderVisibleElements:E,noPanClassName:ye,noDragClassName:ce,disableKeyboardA11y:pe,nodeExtent:De,rfId:ve}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}sr.displayName="GraphView";const Wp=S.memo(sr),Up=ht("React Flow","https://reactflow.dev/"),ar=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:c,nodeExtent:b,zIndexMode:m="basic"}={})=>{var C,k,E;const h=new Map,v=new Map,p=new Map,y=new Map,g=(C=o!=null?o:n)!=null?C:[],x=(k=i!=null?i:e)!=null?k:[],f=c!=null?c:[0,0],N=b!=null?b:Xn;Kt(p,y,g);const{nodesInitialized:A}=ss(x,h,v,{nodeOrigin:f,nodeExtent:N,zIndexMode:m});let w=[0,0,1];if(l&&s&&t){const _=ei(h,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:T,y:P,zoom:K}=Xo(_,s,t,d,u,(E=r==null?void 0:r.padding)!=null?E:.1);w=[T,P,K]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:w,nodes:x,nodesInitialized:A,nodeLookup:h,parentLookup:v,edges:g,edgeLookup:y,connectionLookup:p,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:Xn,nodeExtent:N,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:kn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:f,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...tt},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Up,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:at,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},qp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m})=>th((h,v)=>{async function p(){const{nodeLookup:y,panZoom:g,fitViewOptions:x,fitViewResolver:f,width:N,height:A,minZoom:w,maxZoom:C}=v();g&&(await Rv({nodes:y,width:N,height:A,panZoom:g,minZoom:w,maxZoom:C},x),f==null||f.resolve(!0),h({fitViewResolver:null}))}return{...ar({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:y=>{const{nodeLookup:g,parentLookup:x,nodeOrigin:f,elevateNodesOnSelect:N,fitViewQueued:A,zIndexMode:w,nodesSelectionActive:C}=v(),{nodesInitialized:k,hasSelectedNodes:E}=ss(y,g,x,{nodeOrigin:f,nodeExtent:b,elevateNodesOnSelect:N,checkEquality:!0,zIndexMode:w}),_=C&&E;A&&k?(p(),h({nodes:y,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:_})):h({nodes:y,nodesInitialized:k,nodesSelectionActive:_})},setEdges:y=>{const{connectionLookup:g,edgeLookup:x}=v();Kt(g,x,y),h({edges:y})},setDefaultNodesAndEdges:(y,g)=>{if(y){const{setNodes:x}=v();x(y),h({hasDefaultNodes:!0})}if(g){const{setEdges:x}=v();x(g),h({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:g,nodeLookup:x,parentLookup:f,domNode:N,nodeOrigin:A,nodeExtent:w,debug:C,fitViewQueued:k,zIndexMode:E}=v(),{changes:_,updatedInternals:T}=Nf(y,x,f,N,A,w,E);T&&(yf(x,f,{nodeOrigin:A,nodeExtent:w,zIndexMode:E}),k?(p(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),(_==null?void 0:_.length)>0&&(C&&console.log("React Flow: trigger node changes",_),g==null||g(_)))},updateNodePositions:(y,g=!1)=>{var E,_;const x=[];let f=[];const{nodeLookup:N,triggerNodeChanges:A,connection:w,updateConnection:C,onNodesChangeMiddlewareMap:k}=v();for(const[T,P]of y){const K=N.get(T),M=!!(K!=null&&K.expandParent&&(K!=null&&K.parentId)&&(P!=null&&P.position)),L={id:T,type:"position",position:M?{x:Math.max(0,P.position.x),y:Math.max(0,P.position.y)}:P.position,dragging:g};if(K&&w.inProgress&&w.fromNode.id===K.id){const I=hn(K,w.fromHandle,ae.Left,!0);C({...w,from:I})}M&&K.parentId&&x.push({id:T,parentId:K.parentId,rect:{...P.internals.positionAbsolute,width:(E=P.measured.width)!=null?E:0,height:(_=P.measured.height)!=null?_:0}}),f.push(L)}if(x.length>0){const{parentLookup:T,nodeOrigin:P}=v(),K=ts(x,N,T,P);f.push(...K)}for(const T of k.values())f=T(f);A(f)},triggerNodeChanges:y=>{const{onNodesChange:g,setNodes:x,nodes:f,hasDefaultNodes:N,debug:A}=v();if(y!=null&&y.length){if(N){const w=gl(y,f);x(w)}A&&console.log("React Flow: trigger node changes",y),g==null||g(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:g,setEdges:x,edges:f,hasDefaultEdges:N,debug:A}=v();if(y!=null&&y.length){if(N){const w=yl(y,f);x(w)}A&&console.log("React Flow: trigger edge changes",y),g==null||g(y)}},addSelectedNodes:y=>{const{multiSelectionActive:g,edgeLookup:x,nodeLookup:f,triggerNodeChanges:N,triggerEdgeChanges:A}=v();if(g){const w=y.map(C=>pn(C,!0));N(w);return}N(In(f,new Set([...y]),!0)),A(In(x))},addSelectedEdges:y=>{const{multiSelectionActive:g,edgeLookup:x,nodeLookup:f,triggerNodeChanges:N,triggerEdgeChanges:A}=v();if(g){const w=y.map(C=>pn(C,!0));A(w);return}A(In(x,new Set([...y]))),N(In(f,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:g}={})=>{const{edges:x,nodes:f,nodeLookup:N,triggerNodeChanges:A,triggerEdgeChanges:w}=v(),C=y||f,k=g||x,E=[];for(const T of C){if(!T.selected)continue;const P=N.get(T.id);P&&(P.selected=!1),E.push(pn(T.id,!1))}const _=[];for(const T of k)T.selected&&_.push(pn(T.id,!1));A(E),w(_)},setMinZoom:y=>{const{panZoom:g,maxZoom:x}=v();g==null||g.setScaleExtent([y,x]),h({minZoom:y})},setMaxZoom:y=>{const{panZoom:g,minZoom:x}=v();g==null||g.setScaleExtent([x,y]),h({maxZoom:y})},setTranslateExtent:y=>{var g;(g=v().panZoom)==null||g.setTranslateExtent(y),h({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:g,triggerNodeChanges:x,triggerEdgeChanges:f,elementsSelectable:N}=v();if(!N)return;const A=g.reduce((C,k)=>k.selected?[...C,pn(k.id,!1)]:C,[]),w=y.reduce((C,k)=>k.selected?[...C,pn(k.id,!1)]:C,[]);x(A),f(w)},setNodeExtent:y=>{const{nodes:g,nodeLookup:x,parentLookup:f,nodeOrigin:N,elevateNodesOnSelect:A,nodeExtent:w,zIndexMode:C}=v();y[0][0]===w[0][0]&&y[0][1]===w[0][1]&&y[1][0]===w[1][0]&&y[1][1]===w[1][1]||(ss(g,x,f,{nodeOrigin:N,nodeExtent:y,elevateNodesOnSelect:A,checkEquality:!1,zIndexMode:C}),h({nodeExtent:y}))},panBy:y=>{const{transform:g,width:x,height:f,panZoom:N,translateExtent:A}=v();return Cf({delta:y,panZoom:N,transform:g,translateExtent:A,width:x,height:f})},setCenter:async(y,g,x)=>{const{width:f,height:N,maxZoom:A,panZoom:w}=v();if(!w)return!1;const C=typeof(x==null?void 0:x.zoom)!="undefined"?x.zoom:A;return await w.setViewport({x:f/2-y*C,y:N/2-g*C,zoom:C},{duration:x==null?void 0:x.duration,ease:x==null?void 0:x.ease,interpolate:x==null?void 0:x.interpolate}),!0},cancelConnection:()=>{h({connection:{...tt}})},updateConnection:y=>{h({connection:y})},reset:()=>h({...ar()})}},Object.is);function Yp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m,children:h}){const[v]=S.useState(()=>qp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:c,nodeExtent:b,zIndexMode:m}));return a.jsx(lh,{value:v,children:a.jsx(Lh,{children:a.jsx(Uh,{children:h})})})}function Jp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:h}){return S.useContext(qi)?a.jsx(a.Fragment,{children:e}):a.jsx(Yp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:h,children:e})}const Zp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Xp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:c,onMoveStart:b,onMoveEnd:m,onConnect:h,onConnectStart:v,onConnectEnd:p,onClickConnectStart:y,onClickConnectEnd:g,onNodeMouseEnter:x,onNodeMouseMove:f,onNodeMouseLeave:N,onNodeContextMenu:A,onNodeDoubleClick:w,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onNodesDelete:_,onEdgesDelete:T,onDelete:P,onSelectionChange:K,onSelectionDragStart:M,onSelectionDrag:L,onSelectionDragStop:I,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onBeforeDelete:U,connectionMode:q,connectionLineType:G=sn.Bezier,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:oe,deleteKeyCode:ne="Backspace",selectionKeyCode:Q="Shift",selectionOnDrag:Y=!1,selectionMode:ee=Qn.Full,panActivationKeyCode:te="Space",multiSelectionKeyCode:z=si()?"Meta":"Control",zoomActivationKeyCode:F=si()?"Meta":"Control",snapToGrid:j,snapGrid:H,onlyRenderVisibleElements:$=!1,selectNodesOnDrag:W,nodesDraggable:Z,autoPanOnNodeFocus:J,nodesConnectable:ie,nodesFocusable:se,nodeOrigin:ce=ul,edgesFocusable:me,edgesReconnectable:ye,elementsSelectable:pe=!0,defaultViewport:De=xh,minZoom:ve=.5,maxZoom:ue=2,translateExtent:Te=Xn,preventScrolling:Pe=!0,nodeExtent:ke,defaultMarkerColor:Be="#b1b1b7",zoomOnScroll:ge=!0,zoomOnPinch:Ne=!0,panOnScroll:Me=!1,panOnScrollSpeed:rn=.5,panOnScrollMode:Bg=mn.Free,zoomOnDoubleClick:Ig=!0,panOnDrag:Dg=!0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Kg,onPaneMouseLeave:Hg,onPaneScroll:Fg,onPaneContextMenu:Gg,paneClickDistance:Vg=1,nodeClickDistance:zg=0,children:$g,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg=10,onNodesChange:Rg,onEdgesChange:e0,noDragClassName:n0="nodrag",noWheelClassName:i0="nowheel",noPanClassName:ur="nopan",fitView:cr,fitViewOptions:br,connectOnClick:o0,attributionPosition:s0,proOptions:a0,defaultEdgeOptions:t0,elevateNodesOnSelect:l0=!0,elevateEdgesOnSelect:r0=!1,disableKeyboardA11y:mr=!1,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanOnSelection:c0=!0,autoPanSpeed:b0,connectionRadius:m0,isValidConnection:v0,onError:f0,style:h0,id:vr,nodeDragThreshold:p0,connectionDragThreshold:g0,viewport:y0,onViewportChange:x0,width:S0,height:w0,colorMode:N0="light",debug:C0,onScroll:eo,ariaLabelConfig:A0,zIndexMode:fr="basic",...k0},E0){const xs=vr||"1",M0=Nh(N0),T0=S.useCallback(hr=>{hr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),eo==null||eo(hr)},[eo]);return a.jsx("div",{"data-testid":"rf__wrapper",...k0,onScroll:T0,style:{...h0,...Zp},ref:E0,className:Ae(["react-flow",s,M0]),id:vr,role:"application",children:a.jsxs(Jp,{nodes:e,edges:n,width:S0,height:w0,fitView:cr,fitViewOptions:br,minZoom:ve,maxZoom:ue,nodeOrigin:ce,nodeExtent:ke,zIndexMode:fr,children:[a.jsx(wh,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:h,onConnectStart:v,onConnectEnd:p,onClickConnectStart:y,onClickConnectEnd:g,nodesDraggable:Z,autoPanOnNodeFocus:J,nodesConnectable:ie,nodesFocusable:se,edgesFocusable:me,edgesReconnectable:ye,elementsSelectable:pe,elevateNodesOnSelect:l0,elevateEdgesOnSelect:r0,minZoom:ve,maxZoom:ue,nodeExtent:ke,onNodesChange:Rg,onEdgesChange:e0,snapToGrid:j,snapGrid:H,connectionMode:q,translateExtent:Te,connectOnClick:o0,defaultEdgeOptions:t0,fitView:cr,fitViewOptions:br,onNodesDelete:_,onEdgesDelete:T,onDelete:P,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onSelectionDrag:L,onSelectionDragStart:M,onSelectionDragStop:I,onMove:c,onMoveStart:b,onMoveEnd:m,noPanClassName:ur,nodeOrigin:ce,rfId:xs,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanSpeed:b0,onError:f0,connectionRadius:m0,isValidConnection:v0,selectNodesOnDrag:W,nodeDragThreshold:p0,connectionDragThreshold:g0,onBeforeDelete:U,debug:C0,ariaLabelConfig:A0,zIndexMode:fr}),a.jsx(Wp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:x,onNodeMouseMove:f,onNodeMouseLeave:N,onNodeContextMenu:A,onNodeDoubleClick:w,nodeTypes:t,edgeTypes:l,connectionLineType:G,connectionLineStyle:V,connectionLineComponent:X,connectionLineContainerStyle:oe,selectionKeyCode:Q,selectionOnDrag:Y,selectionMode:ee,deleteKeyCode:ne,multiSelectionKeyCode:z,panActivationKeyCode:te,zoomActivationKeyCode:F,onlyRenderVisibleElements:$,defaultViewport:De,translateExtent:Te,minZoom:ve,maxZoom:ue,preventScrolling:Pe,zoomOnScroll:ge,zoomOnPinch:Ne,zoomOnDoubleClick:Ig,panOnScroll:Me,panOnScrollSpeed:rn,panOnScrollMode:Bg,panOnDrag:Dg,autoPanOnSelection:c0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Kg,onPaneMouseLeave:Hg,onPaneScroll:Fg,onPaneContextMenu:Gg,paneClickDistance:Vg,nodeClickDistance:zg,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg,defaultMarkerColor:Be,noDragClassName:n0,noWheelClassName:i0,noPanClassName:ur,rfId:xs,disableKeyboardA11y:mr,nodeExtent:ke,viewport:y0,onViewportChange:x0}),a.jsx(yh,{onSelectionChange:K}),$g,a.jsx(vh,{proOptions:a0,position:s0}),a.jsx(mh,{rfId:xs,disableKeyboardA11y:mr})]})})}var Qp=Nl(Xp);function Rp(e){const[n,i]=S.useState(e),o=S.useCallback(s=>i(t=>gl(s,t)),[]);return[n,i,o]}function eg(e){const[n,i]=S.useState(e),o=S.useCallback(s=>i(t=>yl(s,t)),[]);return[n,i,o]}function ng({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Ae(["react-flow__background-pattern",i,o])})}function ig({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Ae(["react-flow__background-pattern","dots",n])})}var ln;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ln||(ln={}));const og={[ln.Dots]:1,[ln.Lines]:1,[ln.Cross]:6},sg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function tr({id:e,variant:n=ln.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:c}){const b=S.useRef(null),{transform:m,patternId:h}=fe(sg,xe),v=o||og[n],p=n===ln.Dots,y=n===ln.Cross,g=Array.isArray(i)?i:[i,i],x=[g[0]*m[2]||1,g[1]*m[2]||1],f=v*m[2],N=Array.isArray(t)?t:[t,t],A=y?[f,f]:x,w=[N[0]*m[2]||1+A[0]/2,N[1]*m[2]||1+A[1]/2],C=`${h}${e||""}`;return a.jsxs("svg",{className:Ae(["react-flow__background",u]),style:{...d,...Zi,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:b,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%x[0],y:m[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:p?a.jsx(ig,{radius:f/2,className:c}):a.jsx(ng,{dimensions:A,lineWidth:s,variant:n,className:c})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}tr.displayName="Background";const ag=S.memo(tr);function tg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function lg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function rg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function dg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function ug(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ri({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Ae(["react-flow__controls-button",n]),...i,children:e})}const cg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function lr({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:c,position:b="bottom-left",orientation:m="vertical","aria-label":h}){const v=Se(),{isInteractive:p,minZoomReached:y,maxZoomReached:g,ariaLabelConfig:x}=fe(cg,xe),{zoomIn:f,zoomOut:N,fitView:A}=fs(),w=()=>{f(),t==null||t()},C=()=>{N(),l==null||l()},k=()=>{A(s),r==null||r()},E=()=>{v.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),d==null||d(!p)},_=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Yi,{className:Ae(["react-flow__controls",_,u]),position:b,style:e,"data-testid":"rf__controls","aria-label":h!=null?h:x["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(Ri,{onClick:w,className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:g,children:a.jsx(tg,{})}),a.jsx(Ri,{onClick:C,className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:y,children:a.jsx(lg,{})})]}),i&&a.jsx(Ri,{className:"react-flow__controls-fitview",onClick:k,title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:a.jsx(rg,{})}),o&&a.jsx(Ri,{className:"react-flow__controls-interactive",onClick:E,title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:p?a.jsx(ug,{}):a.jsx(dg,{})}),c]})}lr.displayName="Controls";const bg=S.memo(lr);function mg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:c,shapeRendering:b,selected:m,onClick:h}){const{background:v,backgroundColor:p}=t||{},y=l||v||p;return a.jsx("rect",{className:Ae(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:c,ry:c,width:o,height:s,style:{fill:y,stroke:r,strokeWidth:d},shapeRendering:b,onClick:h?g=>h(g,e):void 0})}const vg=S.memo(mg),fg=e=>e.nodes.map(n=>n.id),ys=e=>e instanceof Function?e:()=>e;function hg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=vg,onClick:l}){const r=fe(fg,xe),d=ys(n),u=ys(e),c=ys(i),b=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(gg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:c,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:b},m))})}function pg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:c,y:b,width:m,height:h}=fe(v=>{const p=v.nodeLookup.get(e);if(!p)return{node:void 0,x:0,y:0,width:0,height:0};const y=p.internals.userNode,{x:g,y:x}=p.internals.positionAbsolute,{width:f,height:N}=en(y);return{node:y,x:g,y:x,width:f,height:N}},xe);return!u||u.hidden||!pt(u)?null:a.jsx(r,{x:c,y:b,width:m,height:h,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const gg=S.memo(pg);var yg=S.memo(hg);const xg=200,Sg=150,wg=e=>!e.hidden,Ng=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?mt(ei(e.nodeLookup,{filter:wg}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Cg="react-flow__minimap-desc";function rr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:c,maskStrokeWidth:b,position:m="bottom-right",onClick:h,onNodeClick:v,pannable:p=!1,zoomable:y=!1,ariaLabel:g,inversePan:x,zoomStep:f=1,offsetScale:N=5}){var j,H;const A=Se(),w=S.useRef(null),{boundingRect:C,viewBB:k,rfId:E,panZoom:_,translateExtent:T,flowWidth:P,flowHeight:K,ariaLabelConfig:M}=fe(Ng,xe),L=(j=e==null?void 0:e.width)!=null?j:xg,I=(H=e==null?void 0:e.height)!=null?H:Sg,D=C.width/L,O=C.height/I,B=Math.max(D,O),U=B*L,q=B*I,G=N*B,V=C.x-(U-C.width)/2-G,X=C.y-(q-C.height)/2-G,oe=U+G*2,ne=q+G*2,Q=`${Cg}-${E}`,Y=S.useRef(0),ee=S.useRef();Y.current=B,S.useEffect(()=>{if(w.current&&_)return ee.current=If({domNode:w.current,panZoom:_,getTransform:()=>A.getState().transform,getViewScale:()=>Y.current}),()=>{var $;($=ee.current)==null||$.destroy()}},[_]),S.useEffect(()=>{var $;($=ee.current)==null||$.update({translateExtent:T,width:P,height:K,inversePan:x,pannable:p,zoomStep:f,zoomable:y})},[p,y,x,f,T,P,K]);const te=h?$=>{var J;const[W,Z]=((J=ee.current)==null?void 0:J.pointer($))||[0,0];h($,{x:W,y:Z})}:void 0,z=v?S.useCallback(($,W)=>{const Z=A.getState().nodeLookup.get(W).internals.userNode;v($,Z)},[]):void 0,F=g!=null?g:M["minimap.ariaLabel"];return a.jsx(Yi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-width-props":typeof b=="number"?b*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Ae(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:L,height:I,viewBox:`${V} ${X} ${oe} ${ne}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":Q,ref:w,onClick:te,children:[F&&a.jsx("title",{id:Q,children:F}),a.jsx(yg,{onClick:z,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-G},${X-G}h${oe+G*2}v${ne+G*2}h${-oe-G*2}z
76
- M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}rr.displayName="MiniMap";const Ag=S.memo(rr),kg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Eg={[Bn.Line]:"right",[Bn.Handle]:"bottom-right"};function Mg({nodeId:e,position:n,variant:i=Bn.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:b=!1,resizeDirection:m,autoScale:h=!0,shouldResize:v,onResizeStart:p,onResize:y,onResizeEnd:g}){const x=Tl(),f=typeof e=="string"?e:x,N=Se(),A=S.useRef(null),w=i===Bn.Handle,C=fe(S.useCallback(kg(w&&h),[w,h]),xe),k=S.useRef(null),E=n!=null?n:Eg[i];S.useEffect(()=>{if(!(!A.current||!f))return k.current||(k.current=Uf({domNode:A.current,nodeId:f,getStoreItems:()=>{const{nodeLookup:T,transform:P,snapGrid:K,snapToGrid:M,nodeOrigin:L,domNode:I}=N.getState();return{nodeLookup:T,transform:P,snapGrid:K,snapToGrid:M,nodeOrigin:L,paneDomNode:I}},onChange:(T,P)=>{var U,q,G,V,X,oe,ne;const{triggerNodeChanges:K,nodeLookup:M,parentLookup:L,nodeOrigin:I}=N.getState(),D=[],O={x:T.x,y:T.y},B=M.get(f);if(B&&B.expandParent&&B.parentId){const Q=(U=B.origin)!=null?U:I,Y=(G=(q=T.width)!=null?q:B.measured.width)!=null?G:0,ee=(X=(V=T.height)!=null?V:B.measured.height)!=null?X:0,te={id:B.id,parentId:B.parentId,rect:{width:Y,height:ee,...gt({x:(oe=T.x)!=null?oe:B.position.x,y:(ne=T.y)!=null?ne:B.position.y},{width:Y,height:ee},B.parentId,M,Q)}},z=ts([te],M,L,I);D.push(...z),O.x=T.x?Math.max(Q[0]*Y,T.x):void 0,O.y=T.y?Math.max(Q[1]*ee,T.y):void 0}if(O.x!==void 0&&O.y!==void 0){const Q={id:f,type:"position",position:{...O}};D.push(Q)}if(T.width!==void 0&&T.height!==void 0){const Y={id:f,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:T.width,height:T.height}};D.push(Y)}for(const Q of P){const Y={...Q,type:"position"};D.push(Y)}K(D)},onEnd:({width:T,height:P})=>{const K={id:f,type:"dimensions",resizing:!1,dimensions:{width:T,height:P}};N.getState().triggerNodeChanges([K])}})),k.current.update({controlPosition:E,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:c},keepAspectRatio:b,resizeDirection:m,onResizeStart:p,onResize:y,onResizeEnd:g,shouldResize:v}),()=>{var T;(T=k.current)==null||T.destroy()}},[E,r,d,u,c,b,p,y,g,v]);const _=E.split("-");return a.jsx("div",{className:Ae(["react-flow__resize-control","nodrag",..._,i,o]),ref:A,style:{...s,scale:C,...l&&{[w?"backgroundColor":"borderColor"]:l}},children:t})}S.memo(Mg);const dr=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Tg={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Dn,{type:"target",position:n||ae.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(le,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Dn,{type:"source",position:i||ae.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function Pg({formData:e}){const{nodes:n,edges:i}=S.useMemo(()=>{var m,h;const u=[],c=[];let b=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||m.forEach((v,p)=>{var w;const y=dr[p%dr.length],g=((w=v==null?void 0:v.questionData)==null?void 0:w.filter(C=>!(C!=null&&C.isDeleted)))||[],x=p*400,f=0,N=320,A=60+g.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${p+1}`},position:{x,y:f},style:{width:N,height:A,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),g.forEach((C,k)=>{const E=C.id;u.push({id:E,type:"customField",parentId:v.id,extent:"parent",targetPosition:ae.Top,sourcePosition:ae.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:y},position:{x:20,y:40+k*110}}),b&&!C.isHidden&&c.push({id:`e-${b}-${E}`,source:b,target:E,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:En.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(b=E)})}),(h=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||h.forEach(v=>{var p,y;(y=(p=v==null?void 0:v.questionData)==null?void 0:p.filter(g=>!(g!=null&&g.isDeleted)))==null||y.forEach(g=>{var x;g.isHidden&&((x=g.visibilityDependentFields)==null?void 0:x.length)>0&&g.visibilityDependentFields.forEach(f=>{c.push({id:`e-cond-${f.id}-${g.id}`,source:f.id,target:g.id,type:"smoothstep",animated:!0,label:`if ${f.operator} '${f.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:En.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:c}},[e]),[o,s,t]=Rp(n),[l,r,d]=eg(i);return S.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(Qp,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Tg,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(ag,{color:"#e2e8f0",gap:16}),a.jsx(bg,{}),a.jsx(Ag,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const Lg=Object.freeze(Object.defineProperty({__proto__:null,default:Pg},Symbol.toStringTag,{value:"Module"}));we.FormBuilder=oc,we.FormViewer=Eo,Object.defineProperty(we,Symbol.toStringTag,{value:"Module"})});
75
+ `)),c=u.reduce((b,m)=>b.concat(...m),[]);return[u,c]}return[[],[]]},[e]);return w.useEffect(()=>{var c,b;const d=(c=n==null?void 0:n.target)!=null?c:pl,u=(b=n==null?void 0:n.actInsideInputWithModifier)!=null?b:!0;if(e!==null){const m=h=>{var S,p;if(s.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!s.current||s.current&&!u)&&Ct(h))return!1;const g=yl(h.code,r);if(t.current.add(h[g]),gl(l,t.current,!1)){const x=((p=(S=h.composedPath)==null?void 0:S.call(h))==null?void 0:p[0])||h.target,A=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(s.current||!A)&&h.preventDefault(),o(!0)}},f=h=>{const y=yl(h.code,r);gl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(h[y]),h.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",f),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",f),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function gl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function yl(e,n){return n.includes(e)?"code":"key"}const Eh=()=>{const e=ke();return w.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=es(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,f;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},c=(m=i.snapGrid)!=null?m:s,b=(f=i.snapToGrid)!=null?f:t;return ti(u,o,b,c)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Bn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function xl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Mh(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Mh(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function Sl(e,n){return xl(e,n)}function wl(e,n){return xl(e,n)}function xn(e,n){return{id:e,type:"select",selected:n}}function On(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(xn(t.id,l)))}return o}function Nl({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function Cl(e){return{id:e.id,type:"remove"}}const Th=yt("React Flow","https://reactflow.dev/");function Ph(e,n,i={}){var o;return vf(e,n,{...i,onError:(o=i.onError)!=null?o:Th})}const Al=e=>Qv(e),Lh=e=>bt(e);function kl(e){return w.forwardRef(e)}const Bh=typeof window!="undefined"?w.useLayoutEffect:w.useEffect;function El(e){const[n,i]=w.useState(BigInt(0)),[o]=w.useState(()=>Ih(()=>i(s=>s+BigInt(1))));return Bh(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Ih(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Ml=w.createContext(null);function Dh({children:e}){const n=ke(),i=w.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:c,onNodesChange:b,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:v}=n.getState();let h=d;for(const g of r)h=typeof g=="function"?g(h):g;let y=Nl({items:h,lookup:m});for(const g of v.values())y=g(y);c&&u(h),y.length>0?b==null||b(y):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:g,nodes:S,setNodes:p}=n.getState();g&&p(S)})},[]),o=El(i),s=w.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:c,onEdgesChange:b,edgeLookup:m}=n.getState();let f=d;for(const v of r)f=typeof v=="function"?v(f):v;c?u(f):b&&b(Nl({items:f,lookup:m}))},[]),t=El(s),l=w.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Ml.Provider,{value:l,children:e})}function _h(){const e=w.useContext(Ml);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Oh=e=>!!e.panZoom;function gs(){const e=Eh(),n=ke(),i=_h(),o=Se(Oh),s=w.useMemo(()=>{const t=b=>n.getState().nodeLookup.get(b),l=b=>{i.nodeQueue.push(b)},r=b=>{i.edgeQueue.push(b)},d=b=>{var g,S,p,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),v=Al(b)?b:m.get(b.id),h=v.parentId?St(v.position,v.measured,v.parentId,m,f):v.position,y={...v,position:h,width:(S=(g=v.measured)==null?void 0:g.width)!=null?S:v.width,height:(x=(p=v.measured)==null?void 0:p.height)!=null?x:v.height};return si(y)},u=(b,m,f={replace:!1})=>{l(v=>v.map(h=>{if(h.id===b){const y=typeof m=="function"?m(h):m;return f.replace&&Al(y)?y:{...h,...y}}return h}))},c=(b,m,f={replace:!1})=>{r(v=>v.map(h=>{if(h.id===b){const y=typeof m=="function"?m(h):m;return f.replace&&Lh(y)?y:{...h,...y}}return h}))};return{getNodes:()=>n.getState().nodes.map(b=>({...b})),getNode:b=>{var m;return(m=t(b))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:b=[]}=n.getState();return b.map(m=>({...m}))},getEdge:b=>n.getState().edgeLookup.get(b),setNodes:l,setEdges:r,addNodes:b=>{const m=Array.isArray(b)?b:[b];i.nodeQueue.push(f=>[...f,...m])},addEdges:b=>{const m=Array.isArray(b)?b:[b];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:b=[],edges:m=[],transform:f}=n.getState(),[v,h,y]=f;return{nodes:b.map(g=>({...g})),edges:m.map(g=>({...g})),viewport:{x:v,y:h,zoom:y}}},deleteElements:async({nodes:b=[],edges:m=[]})=>{const{nodes:f,edges:v,onNodesDelete:h,onEdgesDelete:y,triggerNodeChanges:g,triggerEdgeChanges:S,onDelete:p,onBeforeDelete:x}=n.getState(),{nodes:A,edges:N}=await sf({nodesToRemove:b,edgesToRemove:m,nodes:f,edges:v,onBeforeDelete:x}),C=N.length>0,k=A.length>0;if(C){const E=N.map(Cl);y==null||y(N),S(E)}if(k){const E=A.map(Cl);h==null||h(A),g(E)}return(k||C)&&(p==null||p({nodes:A,edges:N})),{deletedNodes:A,deletedEdges:N}},getIntersectingNodes:(b,m=!0,f)=>{const v=gt(b),h=v?b:d(b),y=f!==void 0;return h?(f||n.getState().nodes).filter(g=>{const S=n.getState().nodeLookup.get(g.id);if(S&&!v&&(g.id===b.id||!S.internals.positionAbsolute))return!1;const p=si(y?g:S),x=ji(p,h);return m&&x>0||x>=p.width*p.height||x>=h.width*h.height}):[]},isNodeIntersecting:(b,m,f=!0)=>{const h=gt(b)?b:d(b);if(!h)return!1;const y=ji(h,m);return f&&y>0||y>=m.width*m.height||y>=h.width*h.height},updateNode:u,updateNodeData:(b,m,f={replace:!1})=>{u(b,v=>{const h=typeof m=="function"?m(v):m;return f.replace?{...v,data:h}:{...v,data:{...v.data,...h}}},f)},updateEdge:c,updateEdgeData:(b,m,f={replace:!1})=>{c(b,v=>{const h=typeof m=="function"?m(v):m;return f.replace?{...v,data:h}:{...v,data:{...v.data,...h}}},f)},getNodesBounds:b=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return Rv(b,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:b,id:m,nodeId:f})=>{var v,h;return Array.from((h=(v=n.getState().connectionLookup.get(`${f}-${b}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?h:[])},getNodeConnections:({type:b,handleId:m,nodeId:f})=>{var v,h;return Array.from((h=(v=n.getState().connectionLookup.get(`${f}${b?m?`-${b}-${m}`:`-${b}`:""}`))==null?void 0:v.values())!=null?h:[])},fitView:async b=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:lf();return n.setState({fitViewQueued:!0,fitViewOptions:b,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return w.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Tl=e=>e.selected,Hh=typeof window!="undefined"?window:void 0;function Fh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ke(),{deleteElements:o}=gs(),s=di(e,{actInsideInputWithModifier:!1}),t=di(n,{target:Hh});w.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Tl),edges:l.filter(Tl)}),i.setState({nodesSelectionActive:!1})}},[s]),w.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function Kh(e){const n=ke();w.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=ns(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Ve.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const Ri={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Vh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=hn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:c,maxZoom:b,zoomActivationKeyCode:m,preventScrolling:f=!0,children:v,noWheelClassName:h,noPanClassName:y,onViewportChange:g,isControlledViewport:S,paneClickDistance:p,selectionOnDrag:x}){const A=ke(),N=w.useRef(null),{userSelectionActive:C,lib:k,connectionInProgress:E}=Se(Gh,Ae),_=di(m),M=w.useRef();Kh(N);const L=w.useCallback(H=>{g==null||g({x:H[0],y:H[1],zoom:H[2]}),S||A.setState({transform:H})},[g,S]);return w.useEffect(()=>{if(N.current){M.current=jf({domNode:N.current,minZoom:c,maxZoom:b,translateExtent:u,viewport:d,onDraggingChange:I=>A.setState(B=>B.paneDragging===I?B:{paneDragging:I}),onPanZoomStart:(I,B)=>{const{onViewportChangeStart:O,onMoveStart:D}=A.getState();D==null||D(I,B),O==null||O(B)},onPanZoom:(I,B)=>{const{onViewportChange:O,onMove:D}=A.getState();D==null||D(I,B),O==null||O(B)},onPanZoomEnd:(I,B)=>{const{onViewportChangeEnd:O,onMoveEnd:D}=A.getState();D==null||D(I,B),O==null||O(B)}});const{x:H,y:T,zoom:P}=M.current.getViewport();return A.setState({panZoom:M.current,transform:[H,T,P],domNode:N.current.closest(".react-flow")}),()=>{var I;(I=M.current)==null||I.destroy()}}},[]),w.useEffect(()=>{var H;(H=M.current)==null||H.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:_,preventScrolling:f,noPanClassName:y,userSelectionActive:C,noWheelClassName:h,lib:k,onTransformChange:L,connectionInProgress:E,selectionOnDrag:x,paneClickDistance:p})},[e,n,i,o,s,t,l,r,_,f,y,C,h,k,L,E,x,p]),a.jsx("div",{className:"react-flow__renderer",ref:N,style:Ri,children:v})}const zh=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function $h(){const{userSelectionActive:e,userSelectionRect:n}=Se(zh,Ae);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const ys=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},jh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Wh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=ni.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:c,onPaneScroll:b,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:v,children:h}){const y=w.useRef(0),g=ke(),{userSelectionActive:S,elementsSelectable:p,dragging:x,panBy:A,autoPanSpeed:N}=Se(jh,Ae),C=p&&(e||S),k=w.useRef(null),E=w.useRef(),_=w.useRef(new Set),M=w.useRef(new Set),L=w.useRef(!1),H=w.useRef(!1),T=w.useRef({x:0,y:0}),P=w.useRef(!1),I=U=>{if(H.current||L.current||g.getState().connection.inProgress){H.current=!1,L.current=!1;return}u==null||u(U),g.getState().resetSelectedElements(),g.setState({nodesSelectionActive:!1})},B=U=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){U.preventDefault();return}c==null||c(U)},O=b?U=>b(U):void 0,D=U=>{H.current&&(U.stopPropagation(),H.current=!1)},j=U=>{var $,W;const{domNode:ee,transform:de}=g.getState();if(E.current=ee==null?void 0:ee.getBoundingClientRect(),!E.current)return;const z=U.target===k.current;if(!z&&!!U.target.closest(".nokey")||!e||!(l&&z||n)||U.button!==0||!U.isPrimary)return;(W=($=U.target)==null?void 0:$.setPointerCapture)==null||W.call($,U.pointerId),H.current=!1;const{x:Q,y:G}=Ue(U.nativeEvent,E.current),Y=ti({x:Q,y:G},de);g.setState({userSelectionRect:{width:0,height:0,startX:Y.x,startY:Y.y,x:Q,y:G}}),z||(U.stopPropagation(),U.preventDefault())};function q(U,ee){var pe,ye;const{userSelectionRect:de}=g.getState();if(!de)return;const{transform:z,nodeLookup:R,edgeLookup:ae,connectionLookup:Q,triggerNodeChanges:G,triggerEdgeChanges:Y,defaultEdgeOptions:$}=g.getState(),W={x:de.startX,y:de.startY},{x:F,y:X}=Bn(W,z),J={startX:W.x,startY:W.y,x:U<F?U:F,y:ee<X?ee:X,width:Math.abs(U-F),height:Math.abs(ee-X)},ne=_.current,me=M.current;_.current=new Set(Xo(R,J,z,i===ni.Partial,!0).map(le=>le.id)),M.current=new Set;const fe=(pe=$==null?void 0:$.selectable)!=null?pe:!0;for(const le of _.current){const xe=Q.get(le);if(xe)for(const{edgeId:ge}of xe.values()){const ve=ae.get(ge);ve&&((ye=ve.selectable)!=null?ye:fe)&&M.current.add(ge)}}if(!wt(ne,_.current)){const le=On(R,_.current,!0);G(le)}if(!wt(me,M.current)){const le=On(ae,M.current);Y(le)}g.setState({userSelectionRect:J,userSelectionActive:!0,nodesSelectionActive:!1})}function K(){if(!s||!E.current)return;const[U,ee]=Qo(T.current,E.current,N);A({x:U,y:ee}).then(de=>{if(!H.current||!de){y.current=requestAnimationFrame(K);return}const{x:z,y:R}=T.current;q(z,R),y.current=requestAnimationFrame(K)})}const V=()=>{cancelAnimationFrame(y.current),y.current=0,P.current=!1};w.useEffect(()=>()=>V(),[]);const Z=U=>{const{userSelectionRect:ee,transform:de,resetSelectedElements:z}=g.getState();if(!E.current||!ee)return;const{x:R,y:ae}=Ue(U.nativeEvent,E.current);T.current={x:R,y:ae};const Q=Bn({x:ee.startX,y:ee.startY},de);if(!H.current){const G=n?0:t;if(Math.hypot(R-Q.x,ae-Q.y)<=G)return;z(),r==null||r(U)}H.current=!0,P.current||(K(),P.current=!0),q(R,ae)},te=U=>{var ee,de;if(!C){U.target===k.current&&g.getState().connection.inProgress&&(L.current=!0);return}U.button===0&&((de=(ee=U.target)==null?void 0:ee.releasePointerCapture)==null||de.call(ee,U.pointerId),!S&&U.target===k.current&&g.getState().userSelectionRect&&(I==null||I(U)),g.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(d==null||d(U),g.setState({nodesSelectionActive:_.current.size>0})),V())},se=U=>{var ee,de;(de=(ee=U.target)==null?void 0:ee.releasePointerCapture)==null||de.call(ee,U.pointerId),V()},ie=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Le(["react-flow__pane",{draggable:ie,dragging:x,selection:e}]),onClick:C?void 0:ys(I,k),onContextMenu:ys(B,k),onWheel:ys(O,k),onPointerEnter:C?void 0:m,onPointerMove:C?Z:f,onPointerUp:te,onPointerCancel:C?se:void 0,onPointerDownCapture:C?j:void 0,onClickCapture:C?D:void 0,onPointerLeave:v,ref:k,style:Ri,children:[h,a.jsx($h,{})]})}function xs({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Ve.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var c;return(c=o==null?void 0:o.current)==null?void 0:c.blur()})):s([e])}function Pl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=ke(),[d,u]=w.useState(!1),c=w.useRef();return w.useEffect(()=>{c.current=Pf({getStoreItems:()=>r.getState(),onNodeMouseDown:b=>{xs({id:b,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),w.useEffect(()=>{if(!(n||!e.current||!c.current))return c.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var b;(b=c.current)==null||b.destroy()}},[i,o,n,t,e,s,l]),d}const Uh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Ll(){const e=ke();return w.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:c}=e.getState(),b=new Map,m=Uh(l),f=s?t[0]:5,v=s?t[1]:5,h=i.direction.x*f*i.factor,y=i.direction.y*v*i.factor;for(const[,g]of u){if(!m(g))continue;let S={x:g.internals.positionAbsolute.x+h,y:g.internals.positionAbsolute.y+y};s&&(S=ai(S,t));const{position:p,positionAbsolute:x}=mt({nodeId:g.id,nextPosition:S,nodeLookup:u,nodeExtent:o,nodeOrigin:c,onError:r});g.position=p,g.internals.positionAbsolute=x,b.set(g.id,g)}d(b)},[])}const Ss=w.createContext(null),qh=Ss.Provider;Ss.Consumer;const Bl=()=>w.useContext(Ss),Yh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Il=w.createContext(null);function Jh({children:e}){const n=Se(Yh,Ae);return a.jsx(Il.Provider,{value:n,children:e})}function Zh(){const e=w.useContext(Il);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Xh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Qh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Xh;const c=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:c,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===Tn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:c&&u}};function Rh({type:e="source",position:n=ue.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:c,onTouchStart:b,...m},f){var P,I;const v=l||null,h=e==="target",y=ke(),g=Bl(),{connectOnClick:S,noPanClassName:p,rfId:x}=Zh(),{connectingFrom:A,connectingTo:N,clickConnecting:C,isPossibleEndHandle:k,connectionInProcess:E,clickConnectionInProcess:_,valid:M}=Se(Qh(g,v,e),Ae);g||(I=(P=y.getState()).onError)==null||I.call(P,"010",Ve.error010());const L=B=>{const{defaultEdgeOptions:O,onConnect:D,hasDefaultEdges:j}=y.getState(),q={...O,...B};if(j){const{edges:K,setEdges:V,onError:Z}=y.getState();V(Ph(q,K,{onError:Z}))}D==null||D(q),r==null||r(q)},H=B=>{if(!g)return;const O=At(B.nativeEvent);if(s&&(O&&B.button===0||!O)){const D=y.getState();cs.onPointerDown(B.nativeEvent,{handleDomNode:B.currentTarget,autoPanOnConnect:D.autoPanOnConnect,connectionMode:D.connectionMode,connectionRadius:D.connectionRadius,domNode:D.domNode,nodeLookup:D.nodeLookup,lib:D.lib,isTarget:h,handleId:v,nodeId:g,flowId:D.rfId,panBy:D.panBy,cancelConnection:D.cancelConnection,onConnectStart:D.onConnectStart,onConnectEnd:(...j)=>{var q,K;return(K=(q=y.getState()).onConnectEnd)==null?void 0:K.call(q,...j)},updateConnection:D.updateConnection,onConnect:L,isValidConnection:i||((...j)=>{var q,K,V;return(V=(K=(q=y.getState()).isValidConnection)==null?void 0:K.call(q,...j))!=null?V:!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:D.autoPanSpeed,dragThreshold:D.connectionDragThreshold})}O?c==null||c(B):b==null||b(B)},T=B=>{const{onClickConnectStart:O,onClickConnectEnd:D,connectionClickStartHandle:j,connectionMode:q,isValidConnection:K,lib:V,rfId:Z,nodeLookup:te,connection:se}=y.getState();if(!g||!j&&!s)return;if(!j){O==null||O(B.nativeEvent,{nodeId:g,handleId:v,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:g,type:e,id:v}});return}const ie=Nt(B.target),U=i||K,{connection:ee,isValid:de}=cs.isValid(B.nativeEvent,{handle:{nodeId:g,id:v,type:e},connectionMode:q,fromNodeId:j.nodeId,fromHandleId:j.id||null,fromType:j.type,isValidConnection:U,flowId:Z,doc:ie,lib:V,nodeLookup:te});de&&ee&&L(ee);const z=structuredClone(se);delete z.inProgress,z.toPosition=z.toHandle?z.toHandle.position:null,D==null||D(B,z),y.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":g,"data-handlepos":n,"data-id":`${x}-${g}-${v}-${e}`,className:Le(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",p,u,{source:!h,target:h,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:A,connectingto:N,valid:M,connectionindicator:o&&(!E||k)&&(E||_?t:s)}]),onMouseDown:H,onTouchStart:H,onClick:S?T:void 0,ref:f,...m,children:d})}const Hn=w.memo(kl(Rh));function ep({data:e,isConnectable:n,sourcePosition:i=ue.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:i,isConnectable:n})]})}function np({data:e,isConnectable:n,targetPosition:i=ue.Top,sourcePosition:o=ue.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:o,isConnectable:n})]})}function ip(){return null}function op({data:e,isConnectable:n,targetPosition:i=ue.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const eo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Dl={input:ep,default:np,output:op,group:ip};function sp(e){var n,i,o,s,t,l,r,d,u,c;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(c=e.height)!=null?c:(u=e.style)==null?void 0:u.height}}const ap=e=>{const{width:n,height:i,x:o,y:s}=oi(e.nodeLookup,{filter:t=>!!t.selected});return{width:We(n)?n:null,height:We(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function tp({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=ke(),{width:s,height:t,transformString:l,userSelectionActive:r}=Se(ap,Ae),d=Ll(),u=w.useRef(null);w.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const c=!r&&s!==null&&t!==null;if(Pl({nodeRef:u,disabled:!c}),!c)return null;const b=e?f=>{const v=o.getState().nodes.filter(h=>h.selected);e(f,v)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(eo,f.key)&&(f.preventDefault(),d({direction:eo[f.key],factor:f.shiftKey?4:1}))};return a.jsx("div",{className:Le(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:b,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const _l=typeof window!="undefined"?window:void 0,lp=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ol({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:c,selectionMode:b,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:v,panActivationKeyCode:h,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:S,zoomOnPinch:p,panOnScroll:x,panOnScrollSpeed:A,panOnScrollMode:N,zoomOnDoubleClick:C,panOnDrag:k,autoPanOnSelection:E,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,preventScrolling:T,onSelectionContextMenu:P,noWheelClassName:I,noPanClassName:B,disableKeyboardA11y:O,onViewportChange:D,isControlledViewport:j}){const{nodesSelectionActive:q,userSelectionActive:K}=Se(lp,Ae),V=di(u,{target:_l}),Z=di(h,{target:_l}),te=Z||k,se=Z||x,ie=c&&te!==!0,U=V||K||ie;return Fh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(Vh,{onPaneContextMenu:t,elementsSelectable:g,zoomOnScroll:S,zoomOnPinch:p,panOnScroll:se,panOnScrollSpeed:A,panOnScrollMode:N,zoomOnDoubleClick:C,panOnDrag:!V&&te,defaultViewport:_,translateExtent:M,minZoom:L,maxZoom:H,zoomActivationKeyCode:y,preventScrolling:T,noWheelClassName:I,noPanClassName:B,onViewportChange:D,isControlledViewport:j,paneClickDistance:r,selectionOnDrag:ie,children:a.jsxs(Wh,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:te,autoPanOnSelection:E,isSelecting:!!U,selectionMode:b,selectionKeyPressed:V,paneClickDistance:r,selectionOnDrag:ie,children:[e,q&&a.jsx(tp,{onSelectionContextMenu:P,noPanClassName:B,disableKeyboardA11y:O})]})})}Ol.displayName="FlowRenderer";const rp=w.memo(Ol),dp=e=>n=>e?Xo(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function up(e){return Se(w.useCallback(dp(e),[e]),Ae)}const cp=e=>e.updateNodeInternals;function bp(){const e=Se(cp),[n]=w.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return w.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function mp({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=ke(),t=w.useRef(null),l=w.useRef(null),r=w.useRef(e.sourcePosition),d=w.useRef(e.targetPosition),u=w.useRef(n),c=i&&!!e.internals.handleBounds;return w.useEffect(()=>{t.current&&!e.hidden&&(!c||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[c,e.hidden]),w.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),w.useEffect(()=>{if(t.current){const b=u.current!==n,m=r.current!==e.sourcePosition,f=d.current!==e.targetPosition;(b||m||f)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function vp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:c,resizeObserver:b,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:v,rfId:h,nodeTypes:y,nodeClickDistance:g,onError:S}){var U,ee,de;const{node:p,internals:x,isParent:A}=Se(z=>{const R=z.nodeLookup.get(e),ae=z.parentLookup.has(e);return{node:R,internals:R.internals,isParent:ae}},Ae);let N=p.type||"default",C=(y==null?void 0:y[N])||Dl[N];C===void 0&&(S==null||S("003",Ve.error003(N)),N="default",C=(y==null?void 0:y.default)||Dl.default);const k=!!(p.draggable||r&&typeof p.draggable=="undefined"),E=!!(p.selectable||d&&typeof p.selectable=="undefined"),_=!!(p.connectable||u&&typeof p.connectable=="undefined"),M=!!(p.focusable||c&&typeof p.focusable=="undefined"),L=ke(),H=xt(p),T=mp({node:p,nodeType:N,hasDimensions:H,resizeObserver:b}),P=Pl({nodeRef:T,disabled:p.hidden||!k,noDragClassName:m,handleSelector:p.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:g}),I=Ll();if(p.hidden)return null;const B=sn(p),O=sp(p),D=E||k||n||i||o||s,j=i?z=>i(z,{...x.userNode}):void 0,q=o?z=>o(z,{...x.userNode}):void 0,K=s?z=>s(z,{...x.userNode}):void 0,V=t?z=>t(z,{...x.userNode}):void 0,Z=l?z=>l(z,{...x.userNode}):void 0,te=z=>{const{selectNodesOnDrag:R,nodeDragThreshold:ae}=L.getState();E&&(!R||!k||ae>0)&&xs({id:e,store:L,nodeRef:T}),n&&n(z,{...x.userNode})},se=z=>{if(!(Ct(z.nativeEvent)||v)){if(lt.includes(z.key)&&E){const R=z.key==="Escape";xs({id:e,store:L,unselect:R,nodeRef:T})}else if(k&&p.selected&&Object.prototype.hasOwnProperty.call(eo,z.key)){z.preventDefault();const{ariaLabelConfig:R}=L.getState();L.setState({ariaLiveMessage:R["node.a11yDescription.ariaLiveMessage"]({direction:z.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),I({direction:eo[z.key],factor:z.shiftKey?4:1})}}},ie=()=>{var $;if(v||!(($=T.current)!=null&&$.matches(":focus-visible")))return;const{transform:z,width:R,height:ae,autoPanOnNodeFocus:Q,setCenter:G}=L.getState();if(!Q)return;Xo(new Map([[e,p]]),{x:0,y:0,width:R,height:ae},z,!0).length>0||G(p.position.x+B.width/2,p.position.y+B.height/2,{zoom:z[2]})};return a.jsx("div",{className:Le(["react-flow__node",`react-flow__node-${N}`,{[f]:k},p.className,{selected:p.selected,selectable:E,parent:A,draggable:k,dragging:P}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:D?"all":"none",visibility:H?"visible":"hidden",...p.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:j,onMouseMove:q,onMouseLeave:K,onContextMenu:V,onClick:te,onDoubleClick:Z,onKeyDown:M?se:void 0,tabIndex:M?0:void 0,onFocus:M?ie:void 0,role:(U=p.ariaRole)!=null?U:M?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${ul}-${h}`,"aria-label":p.ariaLabel,...p.domAttributes,children:a.jsx(qh,{value:e,children:a.jsx(C,{id:e,data:p.data,type:N,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(ee=p.selected)!=null?ee:!1,selectable:E,draggable:k,deletable:(de=p.deletable)!=null?de:!0,isConnectable:_,sourcePosition:p.sourcePosition,targetPosition:p.targetPosition,dragging:P,dragHandle:p.dragHandle,zIndex:x.z,parentId:p.parentId,...B})})})}var fp=w.memo(vp);const hp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Hl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=Se(hp,Ae),l=up(e.onlyRenderVisibleElements),r=bp();return a.jsx("div",{className:"react-flow__nodes",style:Ri,children:l.map(d=>a.jsx(fp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Hl.displayName="NodeRenderer";const pp=w.memo(Hl);function gp(e){return Se(w.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&cf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),Ae)}const yp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},xp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Fl={[Pn.Arrow]:yp,[Pn.ArrowClosed]:xp};function Sp(e){const n=ke();return w.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Fl,e)?Fl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",Ve.error009(e)),null)},[e])}const wp=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=Sp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Kl=({defaultColor:e,rfId:n})=>{const i=Se(t=>t.edges),o=Se(t=>t.defaultEdgeOptions),s=w.useMemo(()=>yf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(wp,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Kl.displayName="MarkerDefinitions";var Np=w.memo(Kl);function Gl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...c}){const[b,m]=w.useState({x:1,y:0,width:0,height:0}),f=Le(["react-flow__edge-textwrapper",u]),v=w.useRef(null);return w.useEffect(()=>{if(v.current){const h=v.current.getBBox();m({x:h.x,y:h.y,width:h.width,height:h.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-b.width/2} ${n-b.height/2})`,className:f,visibility:b.width?"visible":"hidden",...c,children:[s&&a.jsx("rect",{width:b.width+2*l[0],x:-l[0],y:-l[1],height:b.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:b.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Gl.displayName="EdgeText";const Cp=w.memo(Gl);function no({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...c}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...c,d:e,fill:"none",className:Le(["react-flow__edge-path",c.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&We(n)&&We(i)?a.jsx(Cp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Vl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ue.Left||e===ue.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function zl({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top}){const[l,r]=Vl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Vl({pos:t,x1:o,y1:s,x2:e,y2:n}),[c,b,m,f]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,c,b,m,f]}function $l(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:g})=>{const[S,p,x]=zl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),A=e.isInternal?void 0:n;return a.jsx(no,{id:A,path:S,labelX:p,labelY:x,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:g})})}const Ap=$l({isInternal:!1}),jl=$l({isInternal:!0});Ap.displayName="SimpleBezierEdge",jl.displayName="SimpleBezierEdgeInternal";function Wl(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,sourcePosition:f=ue.Bottom,targetPosition:v=ue.Top,markerEnd:h,markerStart:y,pathOptions:g,interactionWidth:S})=>{const[p,x,A]=is({sourceX:i,sourceY:o,sourcePosition:f,targetX:s,targetY:t,targetPosition:v,borderRadius:g==null?void 0:g.borderRadius,offset:g==null?void 0:g.offset,stepPosition:g==null?void 0:g.stepPosition}),N=e.isInternal?void 0:n;return a.jsx(no,{id:N,path:p,labelX:x,labelY:A,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:h,markerStart:y,interactionWidth:S})})}const Ul=Wl({isInternal:!1}),ql=Wl({isInternal:!0});Ul.displayName="SmoothStepEdge",ql.displayName="SmoothStepEdgeInternal";function Yl(e){return w.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(Ul,{...i,id:o,pathOptions:w.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const kp=Yl({isInternal:!1}),Jl=Yl({isInternal:!0});kp.displayName="StepEdge",Jl.displayName="StepEdgeInternal";function Zl(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:v,interactionWidth:h})=>{const[y,g,S]=Lt({sourceX:i,sourceY:o,targetX:s,targetY:t}),p=e.isInternal?void 0:n;return a.jsx(no,{id:p,path:y,labelX:g,labelY:S,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:c,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:v,interactionWidth:h})})}const Ep=Zl({isInternal:!1}),Xl=Zl({isInternal:!0});Ep.displayName="StraightEdge",Xl.displayName="StraightEdgeInternal";function Ql(e){return w.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=ue.Bottom,targetPosition:r=ue.Top,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,pathOptions:g,interactionWidth:S})=>{const[p,x,A]=Tt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:g==null?void 0:g.curvature}),N=e.isInternal?void 0:n;return a.jsx(no,{id:N,path:p,labelX:x,labelY:A,label:d,labelStyle:u,labelShowBg:c,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:h,markerStart:y,interactionWidth:S})})}const Mp=Ql({isInternal:!1}),Rl=Ql({isInternal:!0});Mp.displayName="BezierEdge",Rl.displayName="BezierEdgeInternal";const er={default:Rl,straight:Xl,step:Jl,smoothstep:ql,simplebezier:jl},nr={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Tp=(e,n,i)=>i===ue.Left?e-n:i===ue.Right?e+n:e,Pp=(e,n,i)=>i===ue.Top?e-n:i===ue.Bottom?e+n:e,ir="react-flow__edgeupdater";function or({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Le([ir,`${ir}-${r}`]),cx:Tp(n,o,e),cy:Pp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Lp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:c,onReconnectEnd:b,setReconnecting:m,setUpdateHover:f}){const v=ke(),h=(x,A)=>{if(x.button!==0)return;const{autoPanOnConnect:N,domNode:C,connectionMode:k,connectionRadius:E,lib:_,onConnectStart:M,cancelConnection:L,nodeLookup:H,rfId:T,panBy:P,updateConnection:I}=v.getState(),B=A.type==="target",O=(q,K)=>{m(!1),b==null||b(q,i,A.type,K)},D=q=>u==null?void 0:u(i,q),j=(q,K)=>{m(!0),c==null||c(x,i,A.type),M==null||M(q,K)};cs.onPointerDown(x.nativeEvent,{autoPanOnConnect:N,connectionMode:k,connectionRadius:E,domNode:C,handleId:A.id,nodeId:A.nodeId,nodeLookup:H,isTarget:B,edgeUpdaterType:A.type,lib:_,flowId:T,cancelConnection:L,panBy:P,isValidConnection:(...q)=>{var K,V,Z;return(Z=(V=(K=v.getState()).isValidConnection)==null?void 0:V.call(K,...q))!=null?Z:!0},onConnect:D,onConnectStart:j,onConnectEnd:(...q)=>{var K,V;return(V=(K=v.getState()).onConnectEnd)==null?void 0:V.call(K,...q)},onReconnectEnd:O,updateConnection:I,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},y=x=>{var A;return h(x,{nodeId:i.target,id:(A=i.targetHandle)!=null?A:null,type:"target"})},g=x=>{var A;return h(x,{nodeId:i.source,id:(A=i.sourceHandle)!=null?A:null,type:"source"})},S=()=>f(!0),p=()=>f(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(or,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:y,onMouseEnter:S,onMouseOut:p,type:"source"}),(e===!0||e==="target")&&a.jsx(or,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:g,onMouseEnter:S,onMouseOut:p,type:"target"})]})}function Bp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,rfId:v,edgeTypes:h,noPanClassName:y,onError:g,disableKeyboardA11y:S}){var R,ae;let p=Se(Q=>Q.edgeLookup.get(e));const x=Se(Q=>Q.defaultEdgeOptions);p=x?{...x,...p}:p;let A=p.type||"default",N=(h==null?void 0:h[A])||er[A];N===void 0&&(g==null||g("011",Ve.error011(A)),A="default",N=(h==null?void 0:h.default)||er.default);const C=!!(p.focusable||n&&typeof p.focusable=="undefined"),k=typeof b!="undefined"&&(p.reconnectable||i&&typeof p.reconnectable=="undefined"),E=!!(p.selectable||o&&typeof p.selectable=="undefined"),_=w.useRef(null),[M,L]=w.useState(!1),[H,T]=w.useState(!1),P=ke(),{zIndex:I=p.zIndex,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K}=Se(w.useCallback(Q=>{const G=Q.nodeLookup.get(p.source),Y=Q.nodeLookup.get(p.target);if(!G||!Y)return nr;const $=gf({id:e,sourceNode:G,targetNode:Y,sourceHandle:p.sourceHandle||null,targetHandle:p.targetHandle||null,connectionMode:Q.connectionMode,onError:g}),W=uf({selected:p.selected,zIndex:p.zIndex,sourceNode:G,targetNode:Y,elevateOnSelect:Q.elevateEdgesOnSelect,zIndexMode:Q.zIndexMode});return{...$||nr,zIndex:W}},[p.source,p.target,p.sourceHandle,p.targetHandle,p.selected,p.zIndex]),Ae),V=w.useMemo(()=>p.markerStart?`url('#${os(p.markerStart,v)}')`:void 0,[p.markerStart,v]),Z=w.useMemo(()=>p.markerEnd?`url('#${os(p.markerEnd,v)}')`:void 0,[p.markerEnd,v]);if(p.hidden||B===null||O===null||D===null||j===null)return null;const te=Q=>{var W;const{addSelectedEdges:G,unselectNodesAndEdges:Y,multiSelectionActive:$}=P.getState();E&&(P.setState({nodesSelectionActive:!1}),p.selected&&$?(Y({nodes:[],edges:[p]}),(W=_.current)==null||W.blur()):G([e])),s&&s(Q,p)},se=t?Q=>{t(Q,{...p})}:void 0,ie=l?Q=>{l(Q,{...p})}:void 0,U=r?Q=>{r(Q,{...p})}:void 0,ee=d?Q=>{d(Q,{...p})}:void 0,de=u?Q=>{u(Q,{...p})}:void 0,z=Q=>{var G;if(!S&&lt.includes(Q.key)&&E){const{unselectNodesAndEdges:Y,addSelectedEdges:$}=P.getState();Q.key==="Escape"?((G=_.current)==null||G.blur(),Y({edges:[p]})):$([e])}};return a.jsx("svg",{style:{zIndex:I},children:a.jsxs("g",{className:Le(["react-flow__edge",`react-flow__edge-${A}`,p.className,y,{selected:p.selected,animated:p.animated,inactive:!E&&!s,updating:M,selectable:E}]),onClick:te,onDoubleClick:se,onContextMenu:ie,onMouseEnter:U,onMouseMove:ee,onMouseLeave:de,onKeyDown:C?z:void 0,tabIndex:C?0:void 0,role:(R=p.ariaRole)!=null?R:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":p.ariaLabel===null?void 0:p.ariaLabel||`Edge from ${p.source} to ${p.target}`,"aria-describedby":C?`${cl}-${v}`:void 0,ref:_,...p.domAttributes,children:[!H&&a.jsx(N,{id:e,source:p.source,target:p.target,type:p.type,selected:p.selected,animated:p.animated,selectable:E,deletable:(ae=p.deletable)!=null?ae:!0,label:p.label,labelStyle:p.labelStyle,labelShowBg:p.labelShowBg,labelBgStyle:p.labelBgStyle,labelBgPadding:p.labelBgPadding,labelBgBorderRadius:p.labelBgBorderRadius,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K,data:p.data,style:p.style,sourceHandleId:p.sourceHandle,targetHandleId:p.targetHandle,markerStart:V,markerEnd:Z,pathOptions:"pathOptions"in p?p.pathOptions:void 0,interactionWidth:p.interactionWidth}),k&&a.jsx(Lp,{edge:p,isReconnectable:k,reconnectRadius:c,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,sourceX:B,sourceY:O,targetX:D,targetY:j,sourcePosition:q,targetPosition:K,setUpdateHover:L,setReconnecting:T})]})})}var Ip=w.memo(Bp);const Dp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function sr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:c,reconnectRadius:b,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,disableKeyboardA11y:h}){const{edgesFocusable:y,edgesReconnectable:g,elementsSelectable:S,onError:p}=Se(Dp,Ae),x=gp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(Np,{defaultColor:e,rfId:i}),x.map(A=>a.jsx(Ip,{id:A,edgesFocusable:y,edgesReconnectable:g,elementsSelectable:S,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:c,reconnectRadius:b,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,rfId:i,onError:p,edgeTypes:o,disableKeyboardA11y:h},A))]})}sr.displayName="EdgeRenderer";const _p=w.memo(sr),Op=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Hp({children:e}){const n=Se(Op);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Fp(e){const n=gs(),i=w.useRef(!1);w.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Kp=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Gp(e){const n=Se(Kp),i=ke();return w.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Vp(e){return e.connection.inProgress?{...e.connection,to:ti(e.connection.to,e.transform)}:{...e.connection}}function zp(e){return Vp}function $p(e){const n=zp();return Se(n,Ae)}const jp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Wp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=Se(jp,Ae);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Le(["react-flow__connection",ct(r)]),children:a.jsx(ar,{style:n,type:i,CustomComponent:o,isValid:r})})})}const ar=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:c,toHandle:b,toPosition:m,pointer:f}=$p();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:ct(o),toNode:c,toHandle:b,pointer:f});let v="";const h={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[v]=Tt(h);break;case ln.SimpleBezier:[v]=zl(h);break;case ln.Step:[v]=is({...h,borderRadius:0});break;case ln.SmoothStep:[v]=is(h);break;default:[v]=Lt(h)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ar.displayName="ConnectionLine";const Up={};function tr(e=Up){const n=w.useRef(e),i=ke();w.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Ve.error002());break}n.current=e}},[e])}function qp(){const e=ke(),n=w.useRef(!1);w.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Ve.error013("react"))),n.current=!0}},[])}function lr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,onSelectionContextMenu:b,onSelectionStart:m,onSelectionEnd:f,connectionLineType:v,connectionLineStyle:h,connectionLineComponent:y,connectionLineContainerStyle:g,selectionKeyCode:S,selectionOnDrag:p,selectionMode:x,multiSelectionKeyCode:A,panActivationKeyCode:N,zoomActivationKeyCode:C,deleteKeyCode:k,onlyRenderVisibleElements:E,elementsSelectable:_,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,preventScrolling:P,defaultMarkerColor:I,zoomOnScroll:B,zoomOnPinch:O,panOnScroll:D,panOnScrollSpeed:j,panOnScrollMode:q,zoomOnDoubleClick:K,panOnDrag:V,autoPanOnSelection:Z,onPaneClick:te,onPaneMouseEnter:se,onPaneMouseMove:ie,onPaneMouseLeave:U,onPaneScroll:ee,onPaneContextMenu:de,paneClickDistance:z,nodeClickDistance:R,onEdgeContextMenu:ae,onEdgeMouseEnter:Q,onEdgeMouseMove:G,onEdgeMouseLeave:Y,reconnectRadius:$,onReconnect:W,onReconnectStart:F,onReconnectEnd:X,noDragClassName:J,noWheelClassName:ne,noPanClassName:me,disableKeyboardA11y:fe,nodeExtent:pe,rfId:ye,viewport:le,onViewportChange:xe}){return tr(e),tr(n),qp(),Fp(i),Gp(le),a.jsx(rp,{onPaneClick:te,onPaneMouseEnter:se,onPaneMouseMove:ie,onPaneMouseLeave:U,onPaneContextMenu:de,onPaneScroll:ee,paneClickDistance:z,deleteKeyCode:k,selectionKeyCode:S,selectionOnDrag:p,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:A,panActivationKeyCode:N,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:B,zoomOnPinch:O,zoomOnDoubleClick:K,panOnScroll:D,panOnScrollSpeed:j,panOnScrollMode:q,panOnDrag:V,autoPanOnSelection:Z,defaultViewport:M,translateExtent:L,minZoom:H,maxZoom:T,onSelectionContextMenu:b,preventScrolling:P,noDragClassName:J,noWheelClassName:ne,noPanClassName:me,disableKeyboardA11y:fe,onViewportChange:xe,isControlledViewport:!!le,children:a.jsxs(Hp,{children:[a.jsx(_p,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:W,onReconnectStart:F,onReconnectEnd:X,onlyRenderVisibleElements:E,onEdgeContextMenu:ae,onEdgeMouseEnter:Q,onEdgeMouseMove:G,onEdgeMouseLeave:Y,reconnectRadius:$,defaultMarkerColor:I,noPanClassName:me,disableKeyboardA11y:fe,rfId:ye}),a.jsx(Wp,{style:h,type:v,component:y,containerStyle:g}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(pp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:c,nodeClickDistance:R,onlyRenderVisibleElements:E,noPanClassName:me,noDragClassName:J,disableKeyboardA11y:fe,nodeExtent:pe,rfId:ye}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}lr.displayName="GraphView";const Yp=w.memo(lr),Jp=yt("React Flow","https://reactflow.dev/"),rr=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:c,nodeExtent:b,zIndexMode:m="basic"}={})=>{var C,k,E;const f=new Map,v=new Map,h=new Map,y=new Map,g=(C=o!=null?o:n)!=null?C:[],S=(k=i!=null?i:e)!=null?k:[],p=c!=null?c:[0,0],x=b!=null?b:ei;Gt(h,y,g);const{nodesInitialized:A}=ls(S,f,v,{nodeOrigin:p,nodeExtent:x,zIndexMode:m});let N=[0,0,1];if(l&&s&&t){const _=oi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:M,y:L,zoom:H}=es(_,s,t,d,u,(E=r==null?void 0:r.padding)!=null?E:.1);N=[M,L,H]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:N,nodes:S,nodesInitialized:A,nodeLookup:f,parentLookup:v,edges:g,edgeLookup:y,connectionLookup:h,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:ei,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Tn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:p,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...dt},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Jp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:rt,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Zp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m})=>dh((f,v)=>{async function h(){const{nodeLookup:y,panZoom:g,fitViewOptions:S,fitViewResolver:p,width:x,height:A,minZoom:N,maxZoom:C}=v();g&&(await of({nodes:y,width:x,height:A,panZoom:g,minZoom:N,maxZoom:C},S),p==null||p.resolve(!0),f({fitViewResolver:null}))}return{...rr({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:c,nodeExtent:b,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:y=>{const{nodeLookup:g,parentLookup:S,nodeOrigin:p,elevateNodesOnSelect:x,fitViewQueued:A,zIndexMode:N,nodesSelectionActive:C}=v(),{nodesInitialized:k,hasSelectedNodes:E}=ls(y,g,S,{nodeOrigin:p,nodeExtent:b,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:N}),_=C&&E;A&&k?(h(),f({nodes:y,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:_})):f({nodes:y,nodesInitialized:k,nodesSelectionActive:_})},setEdges:y=>{const{connectionLookup:g,edgeLookup:S}=v();Gt(g,S,y),f({edges:y})},setDefaultNodesAndEdges:(y,g)=>{if(y){const{setNodes:S}=v();S(y),f({hasDefaultNodes:!0})}if(g){const{setEdges:S}=v();S(g),f({hasDefaultEdges:!0})}},updateNodeInternals:y=>{const{triggerNodeChanges:g,nodeLookup:S,parentLookup:p,domNode:x,nodeOrigin:A,nodeExtent:N,debug:C,fitViewQueued:k,zIndexMode:E}=v(),{changes:_,updatedInternals:M}=kf(y,S,p,x,A,N,E);M&&(wf(S,p,{nodeOrigin:A,nodeExtent:N,zIndexMode:E}),k?(h(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(_==null?void 0:_.length)>0&&(C&&console.log("React Flow: trigger node changes",_),g==null||g(_)))},updateNodePositions:(y,g=!1)=>{var E,_;const S=[];let p=[];const{nodeLookup:x,triggerNodeChanges:A,connection:N,updateConnection:C,onNodesChangeMiddlewareMap:k}=v();for(const[M,L]of y){const H=x.get(M),T=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(L!=null&&L.position)),P={id:M,type:"position",position:T?{x:Math.max(0,L.position.x),y:Math.max(0,L.position.y)}:L.position,dragging:g};if(H&&N.inProgress&&N.fromNode.id===H.id){const I=yn(H,N.fromHandle,ue.Left,!0);C({...N,from:I})}T&&H.parentId&&S.push({id:M,parentId:H.parentId,rect:{...L.internals.positionAbsolute,width:(E=L.measured.width)!=null?E:0,height:(_=L.measured.height)!=null?_:0}}),p.push(P)}if(S.length>0){const{parentLookup:M,nodeOrigin:L}=v(),H=ds(S,x,M,L);p.push(...H)}for(const M of k.values())p=M(p);A(p)},triggerNodeChanges:y=>{const{onNodesChange:g,setNodes:S,nodes:p,hasDefaultNodes:x,debug:A}=v();if(y!=null&&y.length){if(x){const N=Sl(y,p);S(N)}A&&console.log("React Flow: trigger node changes",y),g==null||g(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:g,setEdges:S,edges:p,hasDefaultEdges:x,debug:A}=v();if(y!=null&&y.length){if(x){const N=wl(y,p);S(N)}A&&console.log("React Flow: trigger edge changes",y),g==null||g(y)}},addSelectedNodes:y=>{const{multiSelectionActive:g,edgeLookup:S,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const N=y.map(C=>xn(C,!0));x(N);return}x(On(p,new Set([...y]),!0)),A(On(S))},addSelectedEdges:y=>{const{multiSelectionActive:g,edgeLookup:S,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(g){const N=y.map(C=>xn(C,!0));A(N);return}A(On(S,new Set([...y]))),x(On(p,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:g}={})=>{const{edges:S,nodes:p,nodeLookup:x,triggerNodeChanges:A,triggerEdgeChanges:N}=v(),C=y||p,k=g||S,E=[];for(const M of C){if(!M.selected)continue;const L=x.get(M.id);L&&(L.selected=!1),E.push(xn(M.id,!1))}const _=[];for(const M of k)M.selected&&_.push(xn(M.id,!1));A(E),N(_)},setMinZoom:y=>{const{panZoom:g,maxZoom:S}=v();g==null||g.setScaleExtent([y,S]),f({minZoom:y})},setMaxZoom:y=>{const{panZoom:g,minZoom:S}=v();g==null||g.setScaleExtent([S,y]),f({maxZoom:y})},setTranslateExtent:y=>{var g;(g=v().panZoom)==null||g.setTranslateExtent(y),f({translateExtent:y})},resetSelectedElements:()=>{const{edges:y,nodes:g,triggerNodeChanges:S,triggerEdgeChanges:p,elementsSelectable:x}=v();if(!x)return;const A=g.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]),N=y.reduce((C,k)=>k.selected?[...C,xn(k.id,!1)]:C,[]);S(A),p(N)},setNodeExtent:y=>{const{nodes:g,nodeLookup:S,parentLookup:p,nodeOrigin:x,elevateNodesOnSelect:A,nodeExtent:N,zIndexMode:C}=v();y[0][0]===N[0][0]&&y[0][1]===N[0][1]&&y[1][0]===N[1][0]&&y[1][1]===N[1][1]||(ls(g,S,p,{nodeOrigin:x,nodeExtent:y,elevateNodesOnSelect:A,checkEquality:!1,zIndexMode:C}),f({nodeExtent:y}))},panBy:y=>{const{transform:g,width:S,height:p,panZoom:x,translateExtent:A}=v();return Ef({delta:y,panZoom:x,transform:g,translateExtent:A,width:S,height:p})},setCenter:async(y,g,S)=>{const{width:p,height:x,maxZoom:A,panZoom:N}=v();if(!N)return!1;const C=typeof(S==null?void 0:S.zoom)!="undefined"?S.zoom:A;return await N.setViewport({x:p/2-y*C,y:x/2-g*C,zoom:C},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{f({connection:{...dt}})},updateConnection:y=>{f({connection:y})},reset:()=>f({...rr()})}},Object.is);function Xp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:c,nodeExtent:b,zIndexMode:m,children:f}){const[v]=w.useState(()=>Zp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:c,nodeExtent:b,zIndexMode:m}));return a.jsx(uh,{value:v,children:a.jsx(Dh,{children:a.jsx(Jh,{children:f})})})}function Qp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:f}){return w.useContext(Zi)?a.jsx(a.Fragment,{children:e}):a.jsx(Xp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:c,nodeOrigin:b,nodeExtent:m,zIndexMode:f,children:e})}const Rp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function eg({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:c,onMoveStart:b,onMoveEnd:m,onConnect:f,onConnectStart:v,onConnectEnd:h,onClickConnectStart:y,onClickConnectEnd:g,onNodeMouseEnter:S,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:N,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onSelectionChange:H,onSelectionDragStart:T,onSelectionDrag:P,onSelectionDragStop:I,onSelectionContextMenu:B,onSelectionStart:O,onSelectionEnd:D,onBeforeDelete:j,connectionMode:q,connectionLineType:K=ln.Bezier,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:te,deleteKeyCode:se="Backspace",selectionKeyCode:ie="Shift",selectionOnDrag:U=!1,selectionMode:ee=ni.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:z=li()?"Meta":"Control",zoomActivationKeyCode:R=li()?"Meta":"Control",snapToGrid:ae,snapGrid:Q,onlyRenderVisibleElements:G=!1,selectNodesOnDrag:Y,nodesDraggable:$,autoPanOnNodeFocus:W,nodesConnectable:F,nodesFocusable:X,nodeOrigin:J=ml,edgesFocusable:ne,edgesReconnectable:me,elementsSelectable:fe=!0,defaultViewport:pe=Nh,minZoom:ye=.5,maxZoom:le=2,translateExtent:xe=ei,preventScrolling:ge=!0,nodeExtent:ve,defaultMarkerColor:_e="#b1b1b7",zoomOnScroll:Oe=!0,zoomOnPinch:He=!0,panOnScroll:Ie=!1,panOnScrollSpeed:Ce=.5,panOnScrollMode:Te=hn.Free,zoomOnDoubleClick:Be=!0,panOnDrag:cn=!0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Hg,onPaneMouseLeave:Fg,onPaneScroll:Kg,onPaneContextMenu:Gg,paneClickDistance:Vg=1,nodeClickDistance:zg=0,children:$g,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg=10,onNodesChange:Rg,onEdgesChange:e0,noDragClassName:n0="nodrag",noWheelClassName:i0="nowheel",noPanClassName:mr="nopan",fitView:vr,fitViewOptions:fr,connectOnClick:o0,attributionPosition:s0,proOptions:a0,defaultEdgeOptions:t0,elevateNodesOnSelect:l0=!0,elevateEdgesOnSelect:r0=!1,disableKeyboardA11y:hr=!1,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanOnSelection:c0=!0,autoPanSpeed:b0,connectionRadius:m0,isValidConnection:v0,onError:f0,style:h0,id:pr,nodeDragThreshold:p0,connectionDragThreshold:g0,viewport:y0,onViewportChange:x0,width:S0,height:w0,colorMode:N0="light",debug:C0,onScroll:oo,ariaLabelConfig:A0,zIndexMode:gr="basic",...k0},E0){const Ns=pr||"1",M0=kh(N0),T0=w.useCallback(yr=>{yr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),oo==null||oo(yr)},[oo]);return a.jsx("div",{"data-testid":"rf__wrapper",...k0,onScroll:T0,style:{...h0,...Rp},ref:E0,className:Le(["react-flow",s,M0]),id:pr,role:"application",children:a.jsxs(Qp,{nodes:e,edges:n,width:S0,height:w0,fitView:vr,fitViewOptions:fr,minZoom:ye,maxZoom:le,nodeOrigin:J,nodeExtent:ve,zIndexMode:gr,children:[a.jsx(Ah,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:v,onConnectEnd:h,onClickConnectStart:y,onClickConnectEnd:g,nodesDraggable:$,autoPanOnNodeFocus:W,nodesConnectable:F,nodesFocusable:X,edgesFocusable:ne,edgesReconnectable:me,elementsSelectable:fe,elevateNodesOnSelect:l0,elevateEdgesOnSelect:r0,minZoom:ye,maxZoom:le,nodeExtent:ve,onNodesChange:Rg,onEdgesChange:e0,snapToGrid:ae,snapGrid:Q,connectionMode:q,translateExtent:xe,connectOnClick:o0,defaultEdgeOptions:t0,fitView:vr,fitViewOptions:fr,onNodesDelete:_,onEdgesDelete:M,onDelete:L,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:E,onSelectionDrag:P,onSelectionDragStart:T,onSelectionDragStop:I,onMove:c,onMoveStart:b,onMoveEnd:m,noPanClassName:mr,nodeOrigin:J,rfId:Ns,autoPanOnConnect:d0,autoPanOnNodeDrag:u0,autoPanSpeed:b0,onError:f0,connectionRadius:m0,isValidConnection:v0,selectNodesOnDrag:Y,nodeDragThreshold:p0,connectionDragThreshold:g0,onBeforeDelete:j,debug:C0,ariaLabelConfig:A0,zIndexMode:gr}),a.jsx(Yp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:S,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:N,nodeTypes:t,edgeTypes:l,connectionLineType:K,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:te,selectionKeyCode:ie,selectionOnDrag:U,selectionMode:ee,deleteKeyCode:se,multiSelectionKeyCode:z,panActivationKeyCode:de,zoomActivationKeyCode:R,onlyRenderVisibleElements:G,defaultViewport:pe,translateExtent:xe,minZoom:ye,maxZoom:le,preventScrolling:ge,zoomOnScroll:Oe,zoomOnPinch:He,zoomOnDoubleClick:Be,panOnScroll:Ie,panOnScrollSpeed:Ce,panOnScrollMode:Te,panOnDrag:cn,autoPanOnSelection:c0,onPaneClick:_g,onPaneMouseEnter:Og,onPaneMouseMove:Hg,onPaneMouseLeave:Fg,onPaneScroll:Kg,onPaneContextMenu:Gg,paneClickDistance:Vg,nodeClickDistance:zg,onSelectionContextMenu:B,onSelectionStart:O,onSelectionEnd:D,onReconnect:jg,onReconnectStart:Wg,onReconnectEnd:Ug,onEdgeContextMenu:qg,onEdgeDoubleClick:Yg,onEdgeMouseEnter:Jg,onEdgeMouseMove:Zg,onEdgeMouseLeave:Xg,reconnectRadius:Qg,defaultMarkerColor:_e,noDragClassName:n0,noWheelClassName:i0,noPanClassName:mr,rfId:Ns,disableKeyboardA11y:hr,nodeExtent:ve,viewport:y0,onViewportChange:x0}),a.jsx(wh,{onSelectionChange:H}),$g,a.jsx(ph,{proOptions:a0,position:s0}),a.jsx(hh,{rfId:Ns,disableKeyboardA11y:hr})]})})}var ng=kl(eg);function ig(e){const[n,i]=w.useState(e),o=w.useCallback(s=>i(t=>Sl(s,t)),[]);return[n,i,o]}function og(e){const[n,i]=w.useState(e),o=w.useCallback(s=>i(t=>wl(s,t)),[]);return[n,i,o]}function sg({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Le(["react-flow__background-pattern",i,o])})}function ag({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Le(["react-flow__background-pattern","dots",n])})}var un;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(un||(un={}));const tg={[un.Dots]:1,[un.Lines]:1,[un.Cross]:6},lg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function dr({id:e,variant:n=un.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:c}){const b=w.useRef(null),{transform:m,patternId:f}=Se(lg,Ae),v=o||tg[n],h=n===un.Dots,y=n===un.Cross,g=Array.isArray(i)?i:[i,i],S=[g[0]*m[2]||1,g[1]*m[2]||1],p=v*m[2],x=Array.isArray(t)?t:[t,t],A=y?[p,p]:S,N=[x[0]*m[2]||1+A[0]/2,x[1]*m[2]||1+A[1]/2],C=`${f}${e||""}`;return a.jsxs("svg",{className:Le(["react-flow__background",u]),style:{...d,...Ri,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:b,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${N[0]},-${N[1]})`,children:h?a.jsx(ag,{radius:p/2,className:c}):a.jsx(sg,{dimensions:A,lineWidth:s,variant:n,className:c})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}dr.displayName="Background";const rg=w.memo(dr);function dg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function ug(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function cg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function bg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function mg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function io({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Le(["react-flow__controls-button",n]),...i,children:e})}const vg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ur({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:c,position:b="bottom-left",orientation:m="vertical","aria-label":f}){const v=ke(),{isInteractive:h,minZoomReached:y,maxZoomReached:g,ariaLabelConfig:S}=Se(vg,Ae),{zoomIn:p,zoomOut:x,fitView:A}=gs(),N=()=>{p(),t==null||t()},C=()=>{x(),l==null||l()},k=()=>{A(s),r==null||r()},E=()=>{v.setState({nodesDraggable:!h,nodesConnectable:!h,elementsSelectable:!h}),d==null||d(!h)},_=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Xi,{className:Le(["react-flow__controls",_,u]),position:b,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:S["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(io,{onClick:N,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:g,children:a.jsx(dg,{})}),a.jsx(io,{onClick:C,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:y,children:a.jsx(ug,{})})]}),i&&a.jsx(io,{className:"react-flow__controls-fitview",onClick:k,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:a.jsx(cg,{})}),o&&a.jsx(io,{className:"react-flow__controls-interactive",onClick:E,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:h?a.jsx(mg,{}):a.jsx(bg,{})}),c]})}ur.displayName="Controls";const fg=w.memo(ur);function hg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:c,shapeRendering:b,selected:m,onClick:f}){const{background:v,backgroundColor:h}=t||{},y=l||v||h;return a.jsx("rect",{className:Le(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:c,ry:c,width:o,height:s,style:{fill:y,stroke:r,strokeWidth:d},shapeRendering:b,onClick:f?g=>f(g,e):void 0})}const pg=w.memo(hg),gg=e=>e.nodes.map(n=>n.id),ws=e=>e instanceof Function?e:()=>e;function yg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=pg,onClick:l}){const r=Se(gg,Ae),d=ws(n),u=ws(e),c=ws(i),b=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(Sg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:c,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:b},m))})}function xg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:c,y:b,width:m,height:f}=Se(v=>{const h=v.nodeLookup.get(e);if(!h)return{node:void 0,x:0,y:0,width:0,height:0};const y=h.internals.userNode,{x:g,y:S}=h.internals.positionAbsolute,{width:p,height:x}=sn(y);return{node:y,x:g,y:S,width:p,height:x}},Ae);return!u||u.hidden||!xt(u)?null:a.jsx(r,{x:c,y:b,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const Sg=w.memo(xg);var wg=w.memo(yg);const Ng=200,Cg=150,Ag=e=>!e.hidden,kg=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?ht(oi(e.nodeLookup,{filter:Ag}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Eg="react-flow__minimap-desc";function cr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:c,maskStrokeWidth:b,position:m="bottom-right",onClick:f,onNodeClick:v,pannable:h=!1,zoomable:y=!1,ariaLabel:g,inversePan:S,zoomStep:p=1,offsetScale:x=5}){var ae,Q;const A=ke(),N=w.useRef(null),{boundingRect:C,viewBB:k,rfId:E,panZoom:_,translateExtent:M,flowWidth:L,flowHeight:H,ariaLabelConfig:T}=Se(kg,Ae),P=(ae=e==null?void 0:e.width)!=null?ae:Ng,I=(Q=e==null?void 0:e.height)!=null?Q:Cg,B=C.width/P,O=C.height/I,D=Math.max(B,O),j=D*P,q=D*I,K=x*D,V=C.x-(j-C.width)/2-K,Z=C.y-(q-C.height)/2-K,te=j+K*2,se=q+K*2,ie=`${Eg}-${E}`,U=w.useRef(0),ee=w.useRef();U.current=D,w.useEffect(()=>{if(N.current&&_)return ee.current=Of({domNode:N.current,panZoom:_,getTransform:()=>A.getState().transform,getViewScale:()=>U.current}),()=>{var G;(G=ee.current)==null||G.destroy()}},[_]),w.useEffect(()=>{var G;(G=ee.current)==null||G.update({translateExtent:M,width:L,height:H,inversePan:S,pannable:h,zoomStep:p,zoomable:y})},[h,y,S,p,M,L,H]);const de=f?G=>{var W;const[Y,$]=((W=ee.current)==null?void 0:W.pointer(G))||[0,0];f(G,{x:Y,y:$})}:void 0,z=v?w.useCallback((G,Y)=>{const $=A.getState().nodeLookup.get(Y).internals.userNode;v(G,$)},[]):void 0,R=g!=null?g:T["minimap.ariaLabel"];return a.jsx(Xi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof c=="string"?c:void 0,"--xy-minimap-mask-stroke-width-props":typeof b=="number"?b*D:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Le(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:P,height:I,viewBox:`${V} ${Z} ${te} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ie,ref:N,onClick:de,children:[R&&a.jsx("title",{id:ie,children:R}),a.jsx(wg,{onClick:z,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-K},${Z-K}h${te+K*2}v${se+K*2}h${-te-K*2}z
76
+ M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}cr.displayName="MiniMap";const Mg=w.memo(cr),Tg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Pg={[_n.Line]:"right",[_n.Handle]:"bottom-right"};function Lg({nodeId:e,position:n,variant:i=_n.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:c=Number.MAX_VALUE,keepAspectRatio:b=!1,resizeDirection:m,autoScale:f=!0,shouldResize:v,onResizeStart:h,onResize:y,onResizeEnd:g}){const S=Bl(),p=typeof e=="string"?e:S,x=ke(),A=w.useRef(null),N=i===_n.Handle,C=Se(w.useCallback(Tg(N&&f),[N,f]),Ae),k=w.useRef(null),E=n!=null?n:Pg[i];w.useEffect(()=>{if(!(!A.current||!p))return k.current||(k.current=Jf({domNode:A.current,nodeId:p,getStoreItems:()=>{const{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,domNode:I}=x.getState();return{nodeLookup:M,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,paneDomNode:I}},onChange:(M,L)=>{var j,q,K,V,Z,te,se;const{triggerNodeChanges:H,nodeLookup:T,parentLookup:P,nodeOrigin:I}=x.getState(),B=[],O={x:M.x,y:M.y},D=T.get(p);if(D&&D.expandParent&&D.parentId){const ie=(j=D.origin)!=null?j:I,U=(K=(q=M.width)!=null?q:D.measured.width)!=null?K:0,ee=(Z=(V=M.height)!=null?V:D.measured.height)!=null?Z:0,de={id:D.id,parentId:D.parentId,rect:{width:U,height:ee,...St({x:(te=M.x)!=null?te:D.position.x,y:(se=M.y)!=null?se:D.position.y},{width:U,height:ee},D.parentId,T,ie)}},z=ds([de],T,P,I);B.push(...z),O.x=M.x?Math.max(ie[0]*U,M.x):void 0,O.y=M.y?Math.max(ie[1]*ee,M.y):void 0}if(O.x!==void 0&&O.y!==void 0){const ie={id:p,type:"position",position:{...O}};B.push(ie)}if(M.width!==void 0&&M.height!==void 0){const U={id:p,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};B.push(U)}for(const ie of L){const U={...ie,type:"position"};B.push(U)}H(B)},onEnd:({width:M,height:L})=>{const H={id:p,type:"dimensions",resizing:!1,dimensions:{width:M,height:L}};x.getState().triggerNodeChanges([H])}})),k.current.update({controlPosition:E,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:c},keepAspectRatio:b,resizeDirection:m,onResizeStart:h,onResize:y,onResizeEnd:g,shouldResize:v}),()=>{var M;(M=k.current)==null||M.destroy()}},[E,r,d,u,c,b,h,y,g,v]);const _=E.split("-");return a.jsx("div",{className:Le(["react-flow__resize-control","nodrag",..._,i,o]),ref:A,style:{...s,scale:C,...l&&{[N?"backgroundColor":"borderColor"]:l}},children:t})}w.memo(Lg);const br=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Bg={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Hn,{type:"target",position:n||ue.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(re,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Hn,{type:"source",position:i||ue.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function Ig({formData:e}){const{nodes:n,edges:i}=w.useMemo(()=>{var m,f;const u=[],c=[];let b=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||m.forEach((v,h)=>{var N;const y=br[h%br.length],g=((N=v==null?void 0:v.questionData)==null?void 0:N.filter(C=>!(C!=null&&C.isDeleted)))||[],S=h*400,p=0,x=320,A=60+g.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${h+1}`},position:{x:S,y:p},style:{width:x,height:A,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),g.forEach((C,k)=>{const E=C.id;u.push({id:E,type:"customField",parentId:v.id,extent:"parent",targetPosition:ue.Top,sourcePosition:ue.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:y},position:{x:20,y:40+k*110}}),b&&!C.isHidden&&c.push({id:`e-${b}-${E}`,source:b,target:E,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(b=E)})}),(f=e==null?void 0:e.filter(v=>!(v!=null&&v.isDeleted)))==null||f.forEach(v=>{var h,y;(y=(h=v==null?void 0:v.questionData)==null?void 0:h.filter(g=>!(g!=null&&g.isDeleted)))==null||y.forEach(g=>{var S;g.isHidden&&((S=g.visibilityDependentFields)==null?void 0:S.length)>0&&g.visibilityDependentFields.forEach(p=>{c.push({id:`e-cond-${p.id}-${g.id}`,source:p.id,target:g.id,type:"smoothstep",animated:!0,label:`if ${p.operator} '${p.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:c}},[e]),[o,s,t]=ig(n),[l,r,d]=og(i);return w.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(ng,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Bg,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(rg,{color:"#e2e8f0",gap:16}),a.jsx(fg,{}),a.jsx(Mg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const Dg=Object.freeze(Object.defineProperty({__proto__:null,default:Ig},Symbol.toStringTag,{value:"Module"}));Ee.FormBuilder=tc,Ee.FormViewer=Po,Object.defineProperty(Ee,Symbol.toStringTag,{value:"Module"})});