@arudovwen/form-builder-react 1.9.10 → 1.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form-builder.es.js +1 -1
- package/dist/form-builder.umd.js +15 -15
- package/dist/{index-C09au66N.js → index-CfQGMBe3.js} +2975 -2896
- package/dist/{logic-flow-v4466BPC.js → logic-flow-IDTRl8aO.js} +1 -1
- package/package.json +1 -1
- package/types/components/CustomSearchSelect.d.ts +2 -1
- package/types/components/viewer/validation.d.ts +2 -1
package/dist/form-builder.umd.js
CHANGED
|
@@ -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,hr,Ze,xs,pr,ti,re,je,gr,yr,xr,Sr){"use strict";function Ss(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 ee=Ss(pr),ws=Ss(yr),Ie=S.createContext(void 0),Ns={title:"",description:"",id:Le.v4(),questionData:[],disabled:!1,isHidden:!1},Cs=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=S.useState(!1),[l,r]=S.useState({}),[d,u]=S.useState({}),[b,c]=S.useState([Ns]),[m,h]=S.useState(()=>{try{const G=sessionStorage.getItem("editor_past");return G?JSON.parse(G):[]}catch(G){return[]}}),[v,p]=S.useState(()=>{try{const G=sessionStorage.getItem("editor_future");return G?JSON.parse(G):[]}catch(G){return[]}});S.useEffect(()=>{n&&n(b)},[b,n]),S.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(G){console.warn("Could not save editor_past to sessionStorage",G)}},[m]),S.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(G){console.warn("Could not save editor_future to sessionStorage",G)}},[v]);const y=S.useRef(Date.now()),g=S.useCallback(G=>{c(F=>{const H=typeof G=="function"?G(F):G;if(JSON.stringify(F)!==JSON.stringify(H)){const j=Date.now();h($=>{if($.length>0&&JSON.stringify($[$.length-1])===JSON.stringify(F))return $;if(j-y.current<800&&$.length>0)return y.current=j,$;y.current=j;const Q=[...$,F];return Q.length>20?Q.slice(Q.length-20):Q}),p([])}return H})},[]),x=S.useCallback(()=>{if(m.length===0)return;const G=m[m.length-1],F=m.slice(0,m.length-1);h(F),p([b,...v]),c(G),i==null||i("UNDO",null)},[m,v,b,i]),f=S.useCallback(()=>{if(v.length===0)return;const G=v[0],F=v.slice(1);p(F),h([...m,b]),c(G),i==null||i("REDO",null)},[m,v,b,i]),w=b,N=m.length>0,C=v.length>0,[A,E]=S.useState(!1),[k,I]=S.useState(null),[M,P]=S.useState([0]),[K,T]=S.useState(""),[B,L]=S.useState(0),O=S.useCallback(()=>{},[]),_=S.useCallback(()=>{const G=Le.v4();g(F=>[...F,{...Ns,id:G}]),I(G),P([w.length]),i==null||i("ADD_SECTION",{sectionId:G})},[w,i,g]),D=S.useCallback(G=>{g(o==="isDeleted"||o==="soft"?F=>F.map(H=>{var j;return H.id===G?{...H,isDeleted:!0,questionData:(j=H==null?void 0:H.questionData)==null?void 0:j.map($=>({...$,isDeleted:!0}))}:H}):F=>F.filter(H=>H.id!==G)),I(null),i==null||i("REMOVE_SECTION",{sectionId:G})},[o,i,g]),W=S.useCallback((G,F)=>{const H=w.find($=>$.id===F),j=H==null?void 0:H.questionData.find($=>$.id===G);j&&(g($=>$==null?void 0:$.map(Q=>{var J;return Q.id!==F?Q:o==="isDeleted"||o==="soft"?{...Q,questionData:(J=Q==null?void 0:Q.questionData)==null?void 0:J.map(ne=>{if(j.type==="grid"){if(ne.gridId===j.id||ne.id===j.id)return{...ne,isDeleted:!0}}else if(ne.id===G)return{...ne,isDeleted:!0};return ne})}:{...Q,questionData:Q==null?void 0:Q.questionData.filter(ne=>j.type==="grid"?ne.gridId!==j.id&&ne.id!==j.id:ne.id!==G)}})),i==null||i("REMOVE_ELEMENT",{sectionId:F,elementId:G}))},[w,o,g,i]),U=S.useCallback((G,F)=>{const H=w.find(J=>J.id===F);if(!H)return;const j=H==null?void 0:H.questionData.findIndex(J=>J.id===G);if(j===-1)return;const $=H==null?void 0:H.questionData[j],Q=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Le.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{var ce;if(ne.id!==F)return ne;const ae=[...ne.questionData];if($.type==="grid"){const me=(ce=ae==null?void 0:ae.map((Pe,ke)=>({e:Pe,i:ke})).filter(({e:Pe})=>Pe.id===$.id||Pe.gridId===$.id))==null?void 0:ce.map(({i:Pe})=>Pe),ye=me.length?Math.max(...me)+1:j+1,pe=Le.v4(),De=Q($,{});De.id=pe;const ve=ae.filter(Pe=>Pe.gridId===$.id),de=ve==null?void 0:ve.map(Pe=>Q(Pe,{gridId:pe})),Te=[...ae.slice(0,ye),De,...de,...ae.slice(ye)];return{...ne,questionData:Te}}else if($.gridId){const me={...$};delete me.gridId,delete me.gridPosition;const ye=Q(me,{}),pe=ae.reduce((ve,de,Te)=>de.id===$.gridId||de.gridId===$.gridId?Te:ve,j),De=[...ae.slice(0,pe+1),ye,...ae.slice(pe+1)];return{...ne,questionData:De}}else{const me=Q($,{}),ye=[...ae.slice(0,j+1),me,...ae.slice(j+1)];return{...ne,questionData:ye}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:F,elementId:G})},[w,g,i]),V=S.useCallback((G,F)=>{const H=w.find(J=>J.id===F);if(!H)return;const j=H==null?void 0:H.questionData.findIndex(J=>J.id===G);if(j===-1)return;const $=H==null?void 0:H.questionData[j];let Q=null;if($.type==="grid"){const J=H.questionData.filter(ne=>ne.gridId===$.id);Q={type:"FORM_BUILDER_CLIPBOARD",element:$,children:J,timestamp:Date.now()}}else if($.gridId){const J={...$};delete J.gridId,delete J.gridPosition,Q={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else Q={type:"FORM_BUILDER_CLIPBOARD",element:$,timestamp:Date.now()};if(Q){const J=JSON.stringify(Q);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:F,elementId:G})}catch(ne){console.warn("Could not copy element to clipboard",ne),Ee.toast.error("Failed to copy element")}}},[w,i]),z=S.useCallback(async(G,F,H)=>{let j="";if(H&&H.includes("FORM_BUILDER_CLIPBOARD")&&(j=H),!j&&navigator.clipboard&&navigator.clipboard.readText)try{const $=await navigator.clipboard.readText();$&&$.includes("FORM_BUILDER_CLIPBOARD")&&(j=$)}catch($){console.warn("Could not parse clipboard data",$)}if(j||(j=localStorage.getItem("form_builder_clipboard")||""),!j){Ee.toast.error("Nothing to paste. Copy an element first.");return}try{const $=JSON.parse(j);if(($==null?void 0:$.type)!=="FORM_BUILDER_CLIPBOARD"||!($!=null&&$.element)){Ee.toast.error("Invalid clipboard data.");return}if($.timestamp&&Date.now()-$.timestamp>6e4){Ee.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const Q=(J,ne={})=>({...JSON.parse(JSON.stringify(J)),id:Le.v4(),...ne});g(J=>J==null?void 0:J.map(ne=>{if(ne.id!==G)return ne;const ce=[...[...ne.questionData]];if($.element.type==="grid"){const me=Le.v4(),ye=Q($.element,{id:me,sectionId:G}),pe=($.children||[]).map(De=>Q(De,{gridId:me,sectionId:G}));F!==void 0?ce.splice(F,0,ye,...pe):ce.push(ye,...pe)}else{const me=Q($.element,{sectionId:G});F!==void 0?ce.splice(F,0,me):ce.push(me)}return{...ne,questionData:ce}})),Ee.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:G})}catch($){console.warn("Could not paste element from clipboard",$),Ee.toast.error("Failed to paste element")}},[g,i]),X=S.useCallback((G,F)=>{g(H=>H==null?void 0:H.map(j=>j.id===F?{...j,questionData:G}:j)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:F})},[g,i]),se=S.useCallback((G,F)=>{g(H=>H==null?void 0:H.map(j=>j.id===F?{...j,questionData:[...(j==null?void 0:j.questionData)||[],G]}:j)),i==null||i("ADD_ELEMENT",{sectionId:F,element:G})},[g,i]),oe=S.useCallback((G,F,H)=>{g(j=>j==null?void 0:j.map($=>$.id===F?{...$,questionData:[...(($==null?void 0:$.questionData)||[]).slice(0,H),G,...(($==null?void 0:$.questionData)||[]).slice(H)]}:$)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:F,element:G,index:H})},[g,i]),R=S.useCallback((G,F,H)=>{g(j=>j==null?void 0:j.map($=>{var Q;return $.id===H?{...$,questionData:(Q=$==null?void 0:$.questionData)==null?void 0:Q.map(J=>{var ne;return J.type==="grid"&&J.gridData?{...J,gridData:(ne=J.gridData)==null?void 0:ne.map((ae,ce)=>ce===G?{...ae,...F}:ae).concat(G>=J.gridData.length?{...F}:[])}:J})}:$})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:H,gridIndex:G,element:F})},[g,i]),Y=S.useCallback((G,F)=>{g(H=>H==null?void 0:H.map(j=>{var $;return j.id===F?{...j,questionData:($=j==null?void 0:j.questionData)==null?void 0:$.map(Q=>Q.id===G.id?{...Q,...G}:Q)}:j})),i==null||i("UPDATE_ELEMENT",{sectionId:F,value:G})},[g,i]),ie=S.useCallback(G=>{const{draggedId:F,sectionId:H,targetIndex:j,targetId:$,targetGridId:Q,targetCol:J}=G;g(ne=>{var De;let ae=null,ce=[],me=null,ye=-1;for(const ve of ne){const de=(De=ve.questionData)==null?void 0:De.findIndex(Te=>Te.id===F);if(de!==-1){ae=ve.questionData[de],me=ve.id,ye=de,ae.type==="grid"&&(ce=ve.questionData.filter(Te=>Te.gridId===ae.id));break}}if(!ae||Q!==void 0&&ae.type==="grid")return ne;const pe={...ae,sectionId:H};return ne.map(ve=>{var Te,Pe;let de=[...ve.questionData||[]];if(ve.id!==me&&ve.id!==H)return ve;if(me===H&&ve.id===H){const ke=ye;if(Q!==void 0&&J!==void 0){const Be=de.findIndex(Ne=>{var Me;return Ne.id!==F&&Ne.gridId===Q&&((Me=Ne.gridPosition)==null?void 0:Me.col)===J});let ge=de.map(Ne=>Ne.id===F?{...pe,gridId:Q,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&&j!==void 0&&Q===void 0){const Be={...pe};delete Be.gridId,delete Be.gridPosition;const ge=((Pe=(Te=ne.find(Me=>Me.id===H))==null?void 0:Te.questionData)==null?void 0:Pe.filter(Me=>Me.gridId!==F))||[],Ne=Math.min(j,ge.length);return ge.splice(Ne,0,Be),{...ve,questionData:ge}}if(!pe.gridId&&j!==void 0&&Q===void 0&&!$){de.splice(ke,1);const Be=Math.min(j,de.length);return de.splice(Be,0,pe),{...ve,questionData:de}}if($){const Be=de.findIndex(ge=>ge.id===$);return Be===-1?ve:(de.splice(ke,1),de.splice(Be,0,pe),{...ve,questionData:de})}return ve}if(ve.id===me&&ve.id!==H)return de.splice(ye,1),ce.length>0&&(de=de.filter(ke=>ke.gridId!==ae.id)),{...ve,questionData:de};if(ve.id===H&&ve.id!==me){const ke=ce.map(ge=>({...ge,sectionId:H}));if(Q!==void 0&&J!==void 0){const ge=de.findIndex(Me=>{var rn;return Me.gridId===Q&&((rn=Me.gridPosition)==null?void 0:rn.col)===J}),Ne={...pe,gridId:Q,gridPosition:{col:J}};if(ge!==-1){const Me={...de[ge]};delete Me.gridId,delete Me.gridPosition,de[ge]=Me,de.push(Ne,...ke)}else de.push(Ne,...ke);return{...ve,questionData:de}}if(j!==void 0&&Q===void 0&&!$){const ge={...pe};delete ge.gridId,delete ge.gridPosition;const Ne=Math.min(j,de.length);return de.splice(Ne,0,ge,...ke),{...ve,questionData:de}}if($){const ge={...pe};delete ge.gridId,delete ge.gridPosition;const Ne=de.findIndex(Me=>Me.id===$);return Ne!==-1?de.splice(Ne,0,ge,...ke):de.push(ge,...ke),{...ve,questionData:de}}const Be={...pe};return delete Be.gridId,delete Be.gridPosition,de.push(Be,...ke),{...ve,questionData:de}}return ve})}),i==null||i("MOVE_ELEMENT",G)},[g,i]),Z=S.useCallback((G,F)=>{g(H=>H==null?void 0:H.map(j=>j.id===F?{...j,...G}:j)),i==null||i("UPDATE_SECTION",{sectionId:F,value:G})},[g,i]),q=S.useMemo(()=>({deleteMode:o,formData:w,setFormData:g,handleDragStop:O,removeElement:W,elementData:d,setElementData:u,updateElementPosition:X,addElement:se,addElementInPosition:oe,updateElement:Y,addSection:_,removeSection:D,updateSection:Z,isDragging:A,setIsDragging:E,selectedSection:k,setSelectedSection:I,activeSections:M,setActiveSections:P,updateGridElement:R,answerData:l,setAnswerData:r,uploadUrl:K,setUploadUrl:T,apiActivityCount:B,setApiActivityCount:L,duplicateElement:U,moveElement:ie,showPreview:s,setShowPreview:t,undo:x,redo:f,canUndo:N,canRedo:C,copyElement:V,pasteElement:z}),[o,w,O,W,d,X,se,oe,Y,_,D,Z,A,k,M,R,l,K,B,U,ie,s,x,f,N,C,V,z]);return a.jsx(Ie.Provider,{value:q,children:e})};function As(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=As(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=As(e))&&(o&&(o+=" "),o+=n);return o}function wr(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 ks=Object.freeze({left:0,top:0,width:16,height:16}),li=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),eo=Object.freeze({...ks,...li}),no=Object.freeze({...eo,body:"",hidden:!1});function Nr(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 Es(e,n){const i=Nr(e,n);for(const o in no)o in li?o in e&&!(o in i)&&(i[o]=li[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Cr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Es(o[r]||s[r],t)}return l(n),i.forEach(l),Es(e,t)}function Ms(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=wr(e);for(const s in o){const t=o[s];t&&(n(s,Cr(e,s,t)),i.push(s))}return i}const Ar={provider:"",aliases:{},not_found:{},...ks};function io(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Ts(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!io(e,Ar))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!io(t,no))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]||!io(t,no))return null}return n}const Ps=Object.create(null);function kr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function gn(e,n){const i=Ps[e]||(Ps[e]=Object.create(null));return i[n]||(i[n]=kr(e,n))}function Ls(e,n){return Ts(n)?Ms(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Er(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Bs=/^[a-z0-9]+(-[a-z0-9]+)*$/,ri=(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&&!di(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&&!di(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!di(r,i)?null:r}return null},di=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Dn=!1;function Is(e){return typeof e=="boolean"&&(Dn=e),Dn}function Ds(e){const n=typeof e=="string"?ri(e,!0,Dn):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 Mr(e,n){const i=ri(e,!0,Dn);if(!i)return!1;const o=gn(i.provider,i.prefix);return n?Er(o,i.name,n):(o.missing.add(i.name),!0)}function Tr(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Dn&&!n&&!e.prefix){let s=!1;return Ts(e)&&(e.prefix="",Ms(e,(t,l)=>{Mr(t,l)&&(s=!0)})),s}const i=e.prefix;if(!di({prefix:i,name:"a"}))return!1;const o=gn(n,i);return!!Ls(o,e)}const _s=Object.freeze({width:null,height:null}),Os=Object.freeze({..._s,...li}),Pr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Lr=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Ks(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(Pr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=Lr.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 Br(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 Ir(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Dr(e,n,i){const o=Br(e);return Ir(o.defs,n+o.content+i)}const _r=e=>e==="unset"||e==="undefined"||e==="none";function Or(e,n){const i={...eo,...e},o={...Os,...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 w;switch(f<0&&(f-=Math.floor(f/4)*4),f=f%4,f){case 1:w=s.height/2+s.top,y.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:y.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:w=s.width/2+s.left,y.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")");break}f%2===1&&(s.left!==s.top&&(w=s.left,s.left=s.top,s.top=w),s.width!==s.height&&(w=s.width,s.width=s.height,s.height=w)),y.length&&(t=Dr(t,'<g transform="'+y.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let b,c;l===null?(c=r===null?"1em":r==="auto"?u:r,b=Ks(c,d/u)):(b=l==="auto"?d:l,c=r===null?Ks(b,u/d):r==="auto"?u:r);const m={},h=(p,y)=>{_r(y)||(m[p]=y.toString())};h("width",b),h("height",c);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Kr=/\sid="(\S+)"/g,Hr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Fr=0;function Gr(e,n=Hr){const i=[];let o;for(;o=Kr.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+(Fr++).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 oo=Object.create(null);function Vr(e,n){oo[e]=n}function so(e){return oo[e]||oo[""]}function ao(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 to=Object.create(null),_n=["https://api.simplesvg.com","https://api.unisvg.com"],ui=[];for(;_n.length>0;)_n.length===1||Math.random()>.5?ui.push(_n.shift()):ui.push(_n.pop());to[""]=ao({resources:["https://api.iconify.design"].concat(ui)});function zr(e,n){const i=ao(n);return i===null?!1:(to[e]=i,!0)}function lo(e){return to[e]}let Hs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function $r(e,n){const i=lo(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 jr(e){return e===404}const Wr=(e,n,i)=>{const o=[],s=$r(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 Ur(e){if(typeof e=="string"){const n=lo(e);if(n)return n.path}return"/"}const qr={prepare:Wr,send:(e,n,i)=>{if(!Hs){i("abort",424);return}let o=Ur(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;Hs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(jr(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 Fs(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Yr(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||Fs([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Jr=0;function Zr(e,n,i){const o=Jr++,s=Fs.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 Xr(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 b;r in u.icons?b=n.loaded:l===""||u.missing.has(r)?b=n.missing:b=n.pending;const c={provider:t,prefix:l,name:r};b.push(c)}),n}function Qr(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?ri(s,n,i):s;t&&o.push(t)}),o}const Rr={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function ed(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 C=e.resources.slice(0);for(l=[];C.length>1;){const A=Math.floor(Math.random()*C.length);l.push(C[A]),C=C.slice(0,A).concat(C.slice(A+1))}l=l.concat(C)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,b,c=null,m=[],h=[];typeof o=="function"&&h.push(o);function v(){c&&(clearTimeout(c),c=null)}function p(){d==="pending"&&(d="aborted"),v(),m.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),m=[]}function y(C,A){A&&(h=[]),typeof C=="function"&&h.push(C)}function g(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:y,abort:p}}function x(){d="failed",h.forEach(C=>{C(void 0,b)})}function f(){m.forEach(C=>{C.status==="pending"&&(C.status="aborted")}),m=[]}function w(C,A,E){const k=A!=="success";switch(m=m.filter(I=>I!==C),d){case"pending":break;case"failed":if(k||!e.dataAfterTimeout)return;break;default:return}if(A==="abort"){b=E,x();return}if(k){b=E,m.length||(l.length?N():x());return}if(v(),f(),!e.random){const I=e.resources.indexOf(C.resource);I!==-1&&I!==e.index&&(e.index=I)}d="completed",h.forEach(I=>{I(E)})}function N(){if(d!=="pending")return;v();const C=l.shift();if(C===void 0){if(m.length){c=setTimeout(()=>{v(),d==="pending"&&(f(),x())},e.timeout);return}x();return}const A={status:"pending",resource:C,callback:(E,k)=>{w(A,E,k)}};m.push(A),u++,c=setTimeout(N,e.rotate),i(C,n,A.callback)}return setTimeout(N),g}function Gs(e){const n={...Rr,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const b=ed(n,r,d,(c,m)=>{o(),u&&u(c,m)});return i.push(b),b}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 Vs(){}const ro=Object.create(null);function nd(e){if(!ro[e]){const n=lo(e);if(!n)return;const i=Gs(n),o={config:n,redundancy:i};ro[e]=o}return ro[e]}function id(e,n,i){let o,s;if(typeof e=="string"){const t=so(e);if(!t)return i(void 0,424),Vs;s=t.send;const l=nd(e);l&&(o=l.redundancy)}else{const t=ao(e);if(t){o=Gs(t);const l=e.resources?e.resources[0]:"",r=so(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Vs):o.query(n,s,i)().abort}function zs(){}function od(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Yr(e)}))}function sd(e){const n=[],i=[];return e.forEach(o=>{(o.match(Bs)?n:i).push(o)}),{valid:n,invalid:i}}function On(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(!Ls(e,i).length){o();return}}catch(s){console.error(s)}o(),od(e)}function $s(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function ad(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)){$s(e.loadIcons(s,o,i),b=>{On(e,s,b)});return}if(t){s.forEach(b=>{const c=t(b,o,i);$s(c,m=>{const h=m?{prefix:o,icons:{[b]:m}}:null;On(e,[b],h)})});return}const{valid:l,invalid:r}=sd(s);if(r.length&&On(e,r,null),!l.length)return;const d=o.match(Bs)?so(i):null;if(!d){On(e,l,null);return}d.prepare(i,o,l).forEach(b=>{id(i,b,c=>{On(e,b.icons,c)})})}))}const td=(e,n)=>{const i=Qr(e,!0,Is()),o=Xr(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,zs)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:b}=d;if(b===r&&u===l)return;l=u,r=b,t.push(gn(u,b));const c=s[u]||(s[u]=Object.create(null));c[b]||(c[b]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:b,name:c}=d,m=gn(u,b),h=m.pendingIcons||(m.pendingIcons=new Set);h.has(c)||(h.add(c),s[u][b].push(c))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&ad(d,u)}),n?Zr(n,o,t):zs};function ld(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in _s?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const rd=/[\s,]+/;function dd(e,n){n.split(rd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function ud(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 cd(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 bd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function md(e){return"data:image/svg+xml,"+bd(e)}function vd(e){return'url("'+md(e)+'")'}let Kn;function fd(){try{Kn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Kn=null}}function hd(e){return Kn===void 0&&fd(),Kn?Kn.createHTML(e):e}const js={...Os,inline:!1},pd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},gd={display:"inline-block"},uo={backgroundColor:"currentColor"},Ws={backgroundColor:"transparent"},Us={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},qs={WebkitMask:uo,mask:uo,background:Ws};for(const e in qs){const n=qs[e];for(const i in Us)n[e+i]=Us[i]}const yd={...js,inline:!0};function Ys(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const xd=(e,n,i)=>{const o=n.inline?yd:js,s=ld(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?pd:{}};if(i){const y=ri(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"&&dd(s,g);break;case"color":l.color=g;break;case"rotate":typeof g=="string"?s[y]=ud(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=Or(e,s),b=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,b);let y=0,g=n.id;return typeof g=="string"&&(g=g.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:hd(Gr(u.body,g?()=>g+"ID"+y++:"iconifyReact"))},S.createElement("svg",d)}const{body:c,width:m,height:h}=e,v=t==="mask"||(t==="bg"?!1:c.indexOf("currentColor")!==-1),p=cd(c,{...b,width:m+"",height:h+""});return d.style={...l,"--svg":vd(p),width:Ys(b.width),height:Ys(b.height),...gd,...v?uo:Ws,...r},S.createElement("span",d)};if(Is(!0),Vr("",qr),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"||!Tr(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;zr(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Js(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=Ds(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 b(){var h;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const p=Ds(v);if(u({name:v,data:p}))if(p===void 0){const y=td([v],b);s({callback:y})}else p&&((h=e.onLoad)===null||h===void 0||h.call(e,v))}S.useEffect(()=>(i(!0),d),[]),S.useEffect(()=>{n&&b()},[e.icon,n]);const{name:c,data:m}=l;return m?xd({...eo,...m},e,c):e.children?e.children:e.fallback?e.fallback:S.createElement("span",{})}const Zs=S.forwardRef((e,n)=>Js({...e,_ref:n}));S.forwardRef((e,n)=>Js({inline:!0,...e,_ref:n}));function le({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(Zs,{icon:e,className:n})})}function co(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&&xs.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:xs.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,b){if(u[b.path]||(u[b.path]={message:b.message,type:b.type}),d){var c=u[b.path].types,m=c&&c[b.type];u[b.path]=Ze.appendErrors(b.path,d,u,b.type,m?[].concat(m,b.message):b.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Sd=({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,b=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),c=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(b,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})},ue=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:b,prefix:c,disabled:m,watch:h,min:v,max:p,description:y,onChange:g,readOnly:x})=>{var w,N,C,A;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(ti,{onValueChange:E=>{d(n,E!=null?E:null),i&&i(n),b&&b(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:c,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:(w=o[n])==null?void 0:w.message})]});if(["checkbox","radio"].includes(t)){const E=h==null?void 0:h(n);let k=!1;return E!=null&&(t==="checkbox"?Array.isArray(E)?k=E.includes(u):typeof E=="boolean"?k=E:k=E==u:k=E==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(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:`
|
|
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:k&&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:(N=o[n])==null?void 0:N.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:E=>{var k;(k=f.onChange)==null||k.call(f,E),g==null||g(E)},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:(C=o[n])==null?void 0:C.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:E=>{var k;(k=f.onChange)==null||k.call(f,E),g==null||g(E)},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:(A=o[n])==null?void 0:A.message})]})},ci=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}]}]`),wd={...{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=>({...wd,...e}),Nd=ci==null?void 0:ci.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Cd=[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:Nd,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")]})],Ad=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"]}),kd=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice","date","time","file"],layoutAndInfo:["basicText","divider"]}),Ed=[{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"}],Md=["amount"],Td=["text","number"],Pd=["text","number","amount","date","time","password"],Ld=["amount"],bi=["grid","section","divider","spacer","basicText"],Bd=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Id=["dataLookup"],Dd=["tableInput"],bo=["basicText"],_d=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Od=[{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:b,subText:c,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(C=>r.some(A=>{var E;return typeof C.value=="object"?((E=C.value)==null?void 0:E.id)===(A==null?void 0:A.id):C.value===A})):[]:e.find(C=>{var A;return typeof C.value=="string"&&typeof r=="string"?C.value.toLowerCase()===r.toLowerCase():typeof C.value=="object"&&typeof r=="object"?((A=C.value)==null?void 0:A.id)===(r==null?void 0:r.id):C.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 C=p==null?void 0:p.map(E=>E.value),A=x==null?void 0:x.map(E=>E.value);JSON.stringify(C)!==JSON.stringify(A)&&y(x)}else(x==null?void 0:x.value)!==(p==null?void 0:p.value)&&y(x)},[x,u]);const w=S.useCallback(C=>{var A;if(g.current=!0,y(C),s){const E=u?Array.isArray(C)?C==null?void 0:C.map(k=>k.value):[]:(A=C==null?void 0:C.value)!=null?A:null;s(t,E),d==null||d(t)}o&&!g.current&&o(t)},[s,t,d,o,u]),N=S.useMemo(()=>h?"Fetching data...":p?u&&Array.isArray(p)?p.length>0?p==null?void 0:p.map(C=>C.label).join(", "):n:(p==null?void 0:p.label)||n:n,[p,h,n,u]);return a.jsxs("div",{className:"relative",children:[!b&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),b&&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:w,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:N}),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((C,A)=>{var E;return a.jsx(re.Listbox.Option,{value:C,className:({active:k})=>be("select-option",{active:k}),children:({selected:k})=>a.jsx("div",{className:be("option-text",{selected:k}),children:C.label})},`${((E=C.value)==null?void 0:E.id)||C.value}-${A}`)})})})]})}),!i&&c&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),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 Kd({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 b=[...o];b[u]={...b[u],value:d},s(b),n&&n(b)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((b,c)=>c!==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(ti,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:b=>t(b,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 Hd=()=>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}},Xs=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},Fd=()=>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(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:`{
|
|
10
10
|
"data": [
|
|
11
11
|
{ "label": "Option 1", "value": "1" },
|
|
12
12
|
{ "label": "Option 2", "value": "2" }
|
|
13
13
|
]
|
|
14
|
-
}`})})]})]})}),
|
|
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:`{
|
|
15
15
|
"data": [
|
|
16
16
|
{ "field": "Name", "headerName": "name", editable:true },
|
|
17
17
|
]
|
|
18
|
-
}`})})]})]})}),
|
|
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:`{
|
|
19
19
|
"data": [
|
|
20
20
|
{ "name": "Document Name", "id": "documentMainId", ...restObject },
|
|
21
21
|
]
|
|
22
|
-
}`})})]})})}),zd=()=>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 $d({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 fo=({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},b=u(e),[c,m]=S.useState(b);S.useEffect(()=>{const v=u(e);(v&&c&&v.getTime()!==c.getTime()||!v&&c||v&&!c)&&m(v)},[e]),S.useEffect(()=>{n&&n(s,c)},[c,n,s]);const h=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(xr,{showIcon:!0,icon:a.jsx($d,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:c,onChange:h,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function ea(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 ho({element:e,validationData:n,placeholder:i}){var C;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,b]=S.useState(""),[c,m]=S.useState([]),[h,v]=S.useState(!1),p=d?e.apiUrl:void 0;S.useEffect(()=>{if(!p)return;const A=new AbortController,E=setTimeout(()=>{(async()=>{var I,M;v(!0);try{const P=Ce("token"),K={...P?{headers:{Authorization:`Bearer ${P}`}}:{},signal:A.signal,params:u?{search:u}:{}};let B=(await je.get(p,K)).data;if(B&&!Array.isArray(B)&&(B.data&&Array.isArray(B.data)?B=B.data:(I=B.data)!=null&&I.data&&Array.isArray(B.data.data)?B=B.data.data:B.results&&Array.isArray(B.results)?B=B.results:(M=B.data)!=null&&M.results&&Array.isArray(B.data.results)?B=B.data.results:B.items&&Array.isArray(B.items)&&(B=B.items)),Array.isArray(B)){const L=B.map(O=>typeof O=="string"?{label:O,value:O}:{label:O.label||O.name||String(O.id||O.value),value:String(O.value||O.id||O.name)});m(L)}}catch(P){je.isCancel(P)||console.error("Failed to fetch options",P)}finally{A.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(E),A.abort()}},[p,u]);const y=p?c:(C=e==null?void 0:e.options)!=null?C:[],g=A=>A.map(E=>typeof E=="object"&&E!==null&&"value"in E?E:y.find(I=>String(I.value)===String(E))||{label:String(E),value:E}),[x,f]=S.useState(()=>{const A=r==null?void 0:r(e.id);return Array.isArray(A)?g(A):[]});S.useEffect(()=>{o(e.id)},[e.id,o]),S.useEffect(()=>{if(!l)return;const A=l(E=>{const k=E[e.id];k!==void 0&&f(Array.isArray(k)?g(k):[])});return()=>{var E;return(E=A.unsubscribe)==null?void 0:E.call(A)}},[l,e.id,y]);const w=S.useMemo(()=>{if(u==="")return y;const A=u.toLowerCase();return y.filter(E=>E.label.toLowerCase().includes(A))},[u,y]),N=(A,E)=>{E.stopPropagation();const k=x.filter(I=>I.value!==A.value);f(k),s==null||s(e.id,k.map(I=>I.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(re.Combobox,{value:x||[],onChange:A=>{f(A),s==null||s(e.id,A.map(E=>E.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((A,E)=>a.jsxs("span",{className:"custom-select__chip",children:[A.label,!t&&a.jsx("button",{type:"button",onClick:k=>N(A,k),className:"custom-select__chip-remove",children:a.jsx(le,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},E)),!t&&a.jsx(re.Combobox.Input,{className:"multiselect-search",onChange:A=>b(A.target.value),onFocus:()=>b(""),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:()=>b(""),children:a.jsx(re.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:h&&c.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):w.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):w.map((A,E)=>a.jsx(re.Combobox.Option,{value:A,className:({active:k})=>`select-option ${k?"active":""}`,children:({selected:k})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${k?"selected":""}`,children:A.label}),k?a.jsx("span",{className:"text-blue-600",children:a.jsx(le,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},E))})})]})})})}const po=["text","number","boolean"],na=["equals","not_equals","contains","not_contains"],jd=["greater","less"];function Wd({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=ea(t).filter(b=>b.id!==s))==null?void 0:u.map(b=>{const c=l.find(m=>m.id===b.id);return{id:b.id,value:b.id,label:b.inputLabel,sectionId:b.sectionId,fieldType:(c==null?void 0:c.fieldType)||"text",operator:(c==null?void 0:c.operator)||"equals",fieldValue:(c==null?void 0:c.fieldValue)!==void 0?c.fieldValue:""}})},[t,l,s]),d=(u,b,c)=>{const m=l==null?void 0:l.map((h,v)=>v===u?{...h,[b]:c}: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(ho,{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,b)=>{var v,p,y,g;const c=ea(t).find(x=>x.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(c==null?void 0:c.type),h=(c==null?void 0:c.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(b,"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:po==null?void 0:po.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(b,"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"?[...na,...jd]:na)==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(b,"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:w})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${w?"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(b,"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(b,"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 ia(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 Ud(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function qd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=S.useState(()=>ia(e)),[l,r]=S.useState(null),[d,u]=S.useState(!1),[b,c]=S.useState(""),[m,h]=S.useState(null),v=S.useRef(null),p=S.useRef(null),y=S.useRef(new Map);S.useEffect(()=>{const k=ia(e);t(k)},[]);const g=S.useCallback(k=>{n(Ud(k))},[n]),x=(k,I)=>{const M=[...s];M[k]={type:"operator",value:I},t(M),g(M)},f=k=>{const I=s.filter((M,P)=>P!==k);t(I),g(I)},w=k=>{h(k),c(""),u(!0)},N=(k,I)=>{const M=I!==void 0?I:m!=null?m:s.length,P=[...s],K=P.slice(0,M),T=P.slice(M),B=[...K,{type:"field",id:k.id,display:k.display},...T],L=C(B);t(L),g(L),u(!1),h(null)};function C(k){const I=[];if(k.length===0)return[{type:"operator",value:""}];k[0].type==="field"&&I.push({type:"operator",value:""});for(let M=0;M<k.length;M++)I.push(k[M]),k[M].type==="field"&&(M+1>=k.length||k[M+1].type==="field")&&I.push({type:"operator",value:""});return I}const A=i.filter(k=>k.display.toLowerCase().includes(b.toLowerCase())),E=s.every(k=>k.type==="operator"&&k.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 I;const k=[...s].reverse().findIndex(M=>M.type==="operator");if(k!==-1){const M=s.length-1-k;(I=y.current.get(M))==null||I.focus()}},children:[E&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((k,I)=>k.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:[k.display,a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),f(I)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${k.display}`,children:"×"})]},I):a.jsx("input",{ref:M=>{M?y.current.set(I,M):y.current.delete(I)},type:"text",value:k.value,onChange:M=>x(I,M.target.value),onFocus:()=>r(I),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(k.value.length*9+8,l===I?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${I}`},I)),a.jsx("button",{type:"button",onMouseDown:k=>{k.preventDefault(),w(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:"@"})})]}),!E&&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(k=>k.type==="field"?`[${k.display}]`:k.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:b,onChange:k=>c(k.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:k=>{k.key==="Escape"&&u(!1),k.key==="Enter"&&A.length>0&&N(A[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[A.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),A.map(k=>a.jsxs("div",{onMouseDown:I=>{I.preventDefault(),N(k)},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:k.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[k.id.slice(0,8),"..."]})]},k.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(k=>a.jsxs("button",{type:"button",onMouseDown:I=>{I.preventDefault(),N(k,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:["+ ",k.display]},k.id))})]})}const Yd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],Jd=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Yd.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"},Zd={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 oa({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(Jd(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")},b=()=>s(!1),c=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 ${c}`,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:Zd[t],iconClass:"text-4xl"}),a.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:c})]}),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 ${c}`,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:b,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:b,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:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}function sa({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),[b,c]=S.useState(s),[m,h]=S.useState(!1);S.useEffect(()=>{c(s)},[s]);const v=S.useMemo(()=>t==null?void 0:t.map(C=>C.value).join(", "),[t]),p=S.useMemo(()=>t==null?void 0:t.map(C=>C.label).join(", "),[t]),y=S.useCallback(async C=>{var k,I;const A=Ce("token"),E=((k=Ce("orgData"))==null?void 0:k.id)||Ce("organizationId");try{const{data:M}=await je.post(r,{...C,service:"FORM",organizationId:E||""},{headers:{Authorization:`Bearer ${A}`},defaultMessage:"Failed to upload file(s). Please try again."});return(I=M==null?void 0:M.data)==null?void 0:I.url}catch(M){throw console.error("File upload error:",M),M}},[r]),g=S.useCallback(C=>new Promise((A,E)=>{const k=new FileReader;k.onloadend=async()=>{try{const I=k.result.replace(/^data:.*;base64,/,""),M=r?await y({base64:I,ext:`.${C.name.split(".").pop()}`,fileName:C.name}):k.result;A({base64:M,type:C.type,name:C.name})}catch(I){E(I)}},k.onerror=()=>E(new Error("File read failed")),k.readAsDataURL(C)}),[r,y]),x=S.useCallback(C=>{var k;const A=v?(k=v.split(","))==null?void 0:k.map(I=>I.trim()):[],E=l*1024*1024;for(const I of C){if(I.size>E)return Ee.toast.error(`File "${I.name}" exceeds ${l}MB limit (${(I.size/1024/1024).toFixed(2)}MB)`),!1;if(A.length&&!A.some(M=>{if(M.endsWith("/*")){const P=M.split("/")[0];return I.type.startsWith(`${P}/`)}return I.type===M||I.name.toLowerCase().endsWith(M.replace("*",""))}))return Ee.toast.error(`File "${I.name}" is not an allowed type. Allowed: ${p||"any"}`),!1}return!0},[v,p,l]),f=S.useCallback(async C=>{const A=Array.from(C.target.files||[]);if(!(!A.length||m)){if(!x(A)){u.current&&(u.current.value="");return}try{h(!0),d==null||d(I=>I+1);const E=await Promise.all(A==null?void 0:A.map(g)),k=o&&b?[...b,...E]:E;c(k),e(k),Ee.toast.success(`Successfully uploaded ${A.length} file(s)`)}catch(E){console.error("Upload error:",E)}finally{h(!1),d==null||d(E=>Math.max(0,E-1)),u.current&&(u.current.value="")}}},[m,x,g,e,o,b,d]),w=S.useCallback(C=>{m||(u.current&&(u.current.value=""),c(A=>{const E=C===void 0?null:(A==null?void 0:A.filter((k,I)=>I!==C))||null;return e(E),E}),i==null||i())},[i,e,m]),N=b&&b.length>0;return a.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&!(N&&!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
|
+
}`})})]})})}),$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
|
|
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`}),N&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>w(),disabled:m,"aria-label":"Remove all files",children:a.jsx(le,{icon:"lets-icons:trash-duotone"})})]}),(N||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 ${N?"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 b=="object"&&(b==null?void 0:b.map((C,A)=>a.jsx(oa,{fileUrl:C.base64,fileName:C.name,removeFile:()=>w(A)},`${C.name}-${A}`)))]})]})}const Xd=ee.object().shape({inputLabel:ee.string().nullable(),minLabel:ee.string().nullable(),maxLabel:ee.string().nullable(),placeholder:ee.string().nullable(),description:ee.string().nullable(),isReadOnly:ee.boolean(),isDisabled:ee.boolean(),isRequired:ee.boolean(),requiredMessage:ee.string().nullable(),minLengthMessage:ee.string().nullable(),maxLengthMessage:ee.string().nullable(),maxLength:ee.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:ee.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:ee.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:ee.boolean(),inputType:ee.string().nullable(),maxAmountMessage:ee.string().nullable(),maxAmount:ee.string().nullable(),options:ee.array().of(ee.object().shape({label:ee.string().nullable(),value:ee.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:ee.array().of(ee.object().shape({label:ee.string().nullable(),value:ee.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:ee.string().nullable(),url:ee.string().nullable(),method:ee.string().nullable(),denominators:ee.mixed().nullable(),responseType:ee.string().nullable(),minAmount:ee.string().nullable(),heading:ee.string().nullable(),minAmountMessage:ee.string().nullable(),columns:ee.number().nullable().max(4).min(2),value:ee.mixed().nullable(),customClass:ee.string().nullable(),elementClass:ee.string().nullable(),apiUrl:ee.string().nullable(),selectType:ee.string().default("list"),dateType:ee.string().default("basic"),validationUrl:ee.string(),signatureLink:ee.string(),minDate:ee.string().nullable(),maxDate:ee.string().nullable(),canHaveDateRange:ee.boolean(),allowYearPicker:ee.boolean(),is24Hour:ee.boolean(),isHidden:ee.boolean(),visibilityDependentFields:ee.array().nullable(),isMultiple:ee.boolean(),acceptedFiles:ee.array(),maxFileSize:ee.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:ee.boolean(),formula:ee.string().nullable(),fetchExternalResults:ee.boolean(),externalApiUrl:ee.string().nullable(),valueSource:ee.string().nullable(),sourceFieldId:ee.string().nullable()}),Qd=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],Rd=({isOpen:e,onClose:n,element:i})=>{var R,Y,ie;const o=Qd.filter(Z=>!bi.includes(i.inputType)||Z.key!=="validation"),{updateElement:s,formData:t}=S.useContext(Ie),[l,r]=S.useState("basic"),[d,u]=S.useState(!1),[b,c]=S.useState("manual"),m=((ie=(Y=(R=t==null?void 0:t.filter(Z=>!(Z!=null&&Z.isDeleted)))==null?void 0:R.flatMap(Z=>(Z==null?void 0:Z.questionData)||[]))==null?void 0:Y.filter(Z=>!(Z!=null&&Z.isDeleted)))==null?void 0:ie.length)||0,h=S.useMemo(()=>{var Z;return((Z=t==null?void 0:t.filter(q=>!(q!=null&&q.isDeleted)))==null?void 0:Z.flatMap(q=>(q==null?void 0:q.questionData)||[]).filter(q=>{var G;return!(q!=null&&q.isDeleted)&&q.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((G=q.type)==null?void 0:G.toLowerCase())}).map(q=>({id:q.id,display:q.inputLabel||q.label||"Unnamed"})))||[]},[m,i==null?void 0:i.id]),v=Ce("config"),{register:p,handleSubmit:y,control:g,setValue:x,watch:f,trigger:w,formState:{errors:N,isSubmitting:C,isValid:A},reset:E}=Ze.useForm({resolver:co(Xd),defaultValues:{...i,options:i.options||[]}}),k=f(),{fields:I,append:M,remove:P}=Ze.useFieldArray({control:g,name:"options"}),{fields:K,append:T,remove:B}=Ze.useFieldArray({control:g,name:"options1"}),{fields:L,append:O,remove:_}=Ze.useFieldArray({control:g,name:"dataColumns"});S.useEffect(()=>{e||E()},[e,E]);const D=Z=>{s(Z,i.sectionId),n()},W=S.useRef(null),U=S.useCallback(async()=>{var q;if(!k.apiUrl||!/^https?:\/\//.test(k.apiUrl)){Ee.toast.info("Please provide a valid API URL");return}W.current&&W.current.abort();const Z=new AbortController;W.current=Z;try{u(!0);const F={headers:{Authorization:`Bearer ${Ce("token")}`},signal:Z.signal,defaultMessage:"Unable to load options"},{status:H,data:j}=await je.get(k.apiUrl,F);if(H!==200||!j){Ee.toast.error("Unexpected response from server.");return}const $=j.data||j.record||j.result;if(!Array.isArray($)){Ee.toast.error("Expected an array in response (data, record, or result).");return}((q=i.type)==null?void 0:q.toLowerCase())==="datagrid"?x("dataColumns",vo($)):x("options",mo($))}catch(G){je.isCancel(G)||console.error(G)}finally{W.current===Z&&u(!1)}},[i.type,x,k.apiUrl]),V=["manual","api","sheet"];function z(){b==="api"&&U()}const X=()=>{var Z,q;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:V==null?void 0:V.map(G=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:F=>c(F.target.value),value:G})," ",a.jsxs("span",{children:[G," options"]})]},G))}),b==="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(ue,{watch:f,label:"Load Options from Api",name:"apiUrl",errors:N,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:z,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(Fd,{})]}),b==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(Rs,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:x,name:"options"})}),b==="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"}),I==null?void 0:I.map((G,F)=>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(ue,{watch:f,label:F===0?"Label":"",name:`options.${F}.label`,register:p,errors:N,element:i,placeholder:"Label",onChange:H=>{const $=H.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`options.${F}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:F===0?"Value":"",name:`options.${F}.value`,register:p,errors:N,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:I.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${F===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>P(F),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:[F===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(sa,{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:H=>{H&&H.length>0?x(`options.${F}.imageUrl`,H[0].base64,{shouldDirty:!0,shouldValidate:!0}):x(`options.${F}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:f(`options.${F}.imageUrl`)?[{base64:f(`options.${F}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(ue,{watch:f,label:"",name:`options.${F}.imageUrl`,register:p,errors:N,element:i})})]})]})]},G.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: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:((q=i==null?void 0:i.type)==null?void 0:q.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),K==null?void 0:K.map((G,F)=>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(ue,{watch:f,label:F===0?"Label":"",name:`options1.${F}.label`,register:p,errors:N,element:i,placeholder:"Label",onChange:H=>{const $=H.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`options1.${F}.value`,$,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:F===0?"Value":"",name:`options1.${F}.value`,register:p,errors:N,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:F===0?"Key":"",name:`options1.${F}.key`,register:p,errors:N,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:()=>B(F),children:a.jsx(le,{icon:"iconamoon:sign-times-fill"})})]},G.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:Le.v4()}),children:[a.jsx(le,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},se=()=>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:V==null?void 0:V.map(Z=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:q=>c(q.target.value),value:Z,checked:Z===b})," ",a.jsxs("span",{children:[Z," options"]})]},Z))}),b==="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(ue,{watch:f,label:"Load Columns from Api",name:"apiUrl",errors:N,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:z,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(Gd,{})]}),b==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(Rs,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:x,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:L==null?void 0:L.map((Z,q)=>{var G,F;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:q===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:p,name:`dataColumns.${q}.type`,setValue:x,trigger:w,value:k.dataColumns[q].type})}),a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:q===0?"Display header":"",name:`dataColumns.${q}.headerName`,register:p,onChange:H=>{const $=H.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");x(`dataColumns.${q}.field`,$,{shouldValidate:!0,shouldDirty:!0})},errors:N,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:q===0?"Field key":"",name:`dataColumns.${q}.field`,register:p,errors:N,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:L.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>_(q),children:a.jsx(le,{icon:"iconamoon:sign-times-fill"})})]}),((F=(G=k.dataColumns)==null?void 0:G[q])==null?void 0:F.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Options API URL",name:`dataColumns.${q}.optionsUrl`,register:p,errors:N,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:()=>O({headerName:"",field:"",editable:!0,id:Le.v4(),type:"text",validate:!1}),children:[a.jsx(le,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),oe=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(Sd,{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:[bo.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(ue,{watch:f,label:"Value",name:"value",register:p,errors:N,element:i})}),!bo.includes(i.inputType)&&!bi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(ue,{watch:f,label:"Label",name:"inputLabel",register:p,errors:N,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(ue,{watch:f,label:"Child Label",name:"childLabel",register:p,errors:N,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(ue,{watch:f,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:p,errors:N,element:i,placeholder:"Not at all likely"}),a.jsx(ue,{watch:f,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:p,errors:N,element:i,placeholder:"Extremely likely"})]})]}),Pd.includes(i.inputType)&&a.jsx(ue,{watch:f,label:"Placeholder",name:"placeholder",register:p,errors:N,element:i}),Md.includes(i.inputType)&&a.jsx(ue,{watch:f,label:"Prefix",name:"prefix",register:p,errors:N,element:i}),_d.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:w,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:w,value:f("sourceFieldId")})]}),Id.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(Hd,{}),a.jsx(ue,{watch:f,label:"Api Url",name:"url",register:p,errors:N,element:i}),a.jsx(nn,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:p,name:"method",setValue:x,trigger:w,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:w,value:f("responseType")})]}),Dd.includes(i.inputType)&&a.jsx(Kd,{onChange:Z=>{x("denominators",Z)},value:f("denominators")}),!bo.includes(i.inputType)&&!bi.includes(i.inputType)&&a.jsx(ue,{watch:f,label:"Short Description",name:"description",register:p,errors:N,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(nn,{label:"Date Format",options:Ed,register:p,name:"dateFormat",setValue:x,trigger:w,value:f("dateFormat")}),a.jsx(ue,{watch:f,label:"Allow Range",name:"canHaveDateRange",register:p,errors:N,element:i,type:"checkbox",value:k.canHaveDateRange}),(k==null?void 0:k.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(fo,{name:"minDate",value:k==null?void 0:k.minDate,onGetValue:x,placeholder:"Select min date"}),a.jsx(fo,{name:"maxDate",value:k==null?void 0:k.minDate,onGetValue:x,placeholder:"Select max date",minDate:k==null?void 0:k.minDate})]}),a.jsx(ue,{watch:f,label:"Allow Year Picker",name:"allowYearPicker",register:p,errors:N,element:i,type:"checkbox",value:k.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(ue,{watch:f,label:"24 Hour Format",name:"is24Hour",register:p,errors:N,element:i,type:"checkbox",value:k.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(ue,{watch:f,label:"Allow States",name:"showState",register:p,errors:N,element:i,type:"checkbox",value:k.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:w,value:f("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(ue,{watch:f,label:"Minimum Options Checked",name:"minChecked",register:p,errors:N,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(ue,{watch:f,label:"Require All Checked",name:"requireAllChecked",register:p,errors:N,element:i,type:"checkbox",value:k.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(ue,{watch:f,label:"Number of columns (max: 4)",name:"columns",register:p,errors:N,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(ue,{watch:f,label:"Document Options Url",name:"url",register:p,errors:N,element:i})," ",a.jsx(Vd,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ue,{watch:f,label:"Document Validation Url",name:"validationUrl",register:p,errors:N,element:i}),a.jsx(zd,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(ue,{watch:f,label:"Signature Page Url",name:"signatureLink",register:p,errors:N,element:i})})]}),i.type.toLowerCase()==="datagrid"&&se(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(ue,{watch:f,label:"Allow Multiple Uploads",name:"isMultiple",register:p,errors:N,element:i,type:"checkbox",value:k.isMultiple}),a.jsx(ho,{element:{options:Od,id:"acceptedFiles",value:k==null?void 0:k.acceptedFiles},validationData:{register:p,setValue:x,trigger:w,watch:f},placeholder:"Choose file types"}),a.jsx(ue,{watch:f,label:"Max File Size (MB)",name:"maxFileSize",register:p,errors:N,element:i,type:"number"})]}),Bd.includes(i.inputType)&&X(),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(ue,{watch:f,label:"Toggle Visibility",name:"isHidden",register:p,errors:N,element:i,type:"checkbox",value:k.isHidden})})," ",k.isHidden&&a.jsx(Wd,{register:p,setValue:x,trigger:w,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(qd,{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(ue,{watch:f,label:"Fetch results from external API",name:"fetchExternalResults",register:p,errors:N,element:i,type:"checkbox",value:k.fetchExternalResults}),k.fetchExternalResults&&a.jsx(ue,{watch:f,label:"External API URL (returns options results)",name:"externalApiUrl",register:p,errors:N,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!bi.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(ue,{watch:f,label:"Required",name:"isRequired",register:p,errors:N,element:i,type:"checkbox",value:k.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Error message text",name:"requiredMessage",register:p,errors:N,element:i})})]}),Td.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(ue,{watch:f,label:"Min Length",name:"minLength",register:p,errors:N,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Error message text",name:"minLengthMessage",register:p,errors:N,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ue,{watch:f,label:"Max Length",name:"maxLength",register:p,errors:N,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Error message text",name:"maxLengthMessage",register:p,errors:N,element:i})})]})]}),Ld.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(ue,{watch:f,label:"Min Amount",name:"minAmount",register:p,errors:N,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Error message text",name:"minAmountMessage",register:p,errors:N,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ue,{watch:f,label:"Max Amount",name:"maxAmount",register:p,errors:N,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ue,{watch:f,label:"Error message text",name:"maxAmountMessage",register:p,errors:N,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:!A||C,style:{background:(v==null?void 0:v.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!A||C?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!A||C?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:C?"Saving...":"Save"})]})]})]})});return document.body?hr.createPortal(oe,document.body):oe},go=S.memo(({state:e,element:n,children:i})=>{var c,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]),b=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(Rd,{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:[((c=n.type)==null?void 0:c.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&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:b,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})]})});go.displayName="ElementContainer";function eu({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(fo,{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 nu=({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 b=x=>{r(x),n&&n(o,x)},c=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[w,N]=x.split(":");w&&(v=w.padStart(2,"0")),N&&(p=N.padStart(2,"0"))}f&&(y=f.toUpperCase())}const g=(x,f,w)=>{const N=t?`${x}:${f}`:`${x}:${f} ${w}`;b(N)};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:()=>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:`
|
|
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:c.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 iu({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(nu,{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 yo({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 ou({element:e,validationData:n}){var b;const[i,o]=S.useState((b=e==null?void 0:e.value)!=null?b:null),{register:s=()=>({}),setValue:t,isReadOnly:l,watch:r}=n||{};S.useEffect(()=>{s(e.id)},[e.id,s]),S.useEffect(()=>{if(r){const c=r(m=>{o(m[e.id])});return()=>{var m;return(m=c.unsubscribe)==null?void 0:m.call(c)}}},[r,e.id]);const d=S.useCallback(c=>{t==null||t(e.id,c),o(c)},[e.id,t]),u=()=>{t==null||t(e.id,null),o(null)};return a.jsxs("div",{children:[!l&&a.jsx(sa,{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((c,m)=>a.jsx("div",{children:a.jsx(oa,{fileUrl:c.base64,fileName:c.name})},m))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function su({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 au({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(ue,{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 tu(){return a.jsx("div",{children:"SectionInput"})}function lu({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(ue,{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 Hn({options:e=[],apiUrl:n,value:i,defaultValue:o,onGetValue:s,readOnly:t,name:l,customClass:r}){const[d,u]=S.useState(null),[b,c]=S.useState([]),[m,h]=S.useState(!1),v=S.useRef(!0);S.useEffect(()=>{const N=new AbortController,C=i!=null?i:o;let A="";d!==null?A=d:C&&(A=String(C));const E=async()=>{var M,P;if(n){h(!0);try{const K=Ce("token"),T={...K?{headers:{Authorization:`Bearer ${K}`}}:{},signal:N.signal,params:A?{search:A}:{}};let L=(await je.get(n,T)).data;if(L&&!Array.isArray(L)&&(L.data&&Array.isArray(L.data)?L=L.data:(M=L.data)!=null&&M.data&&Array.isArray(L.data.data)?L=L.data.data:L.results&&Array.isArray(L.results)?L=L.results:(P=L.data)!=null&&P.results&&Array.isArray(L.data.results)?L=L.data.results:L.items&&Array.isArray(L.items)&&(L=L.items)),Array.isArray(L)){const O=L.map(_=>typeof _=="string"?{label:_,value:_}:{label:_.label||_.name||String(_.id||_.value),value:String(_.value||_.id||_.name)});c(O)}}catch(K){je.isCancel(K)||console.error("Failed to fetch options",K)}finally{N.signal.aborted||h(!1)}}},k=v.current&&C?0:400;v.current=!1;const I=setTimeout(()=>{E()},k);return()=>{clearTimeout(I),N.abort()}},[n,d,i,o]);const p=n?b:e,y=S.useMemo(()=>{const N=i!=null?i:o;if(N==null||N==="")return null;const C=p.find(A=>String(A.value)===String(N)||String(A.label)===String(N));return C||{label:String(N),value:String(N)}},[i,o,p]),[g,x]=S.useState(y);S.useEffect(()=>{const N=i!==void 0?i:o;if(N!==void 0)if(N===null||N==="")x(null);else{const C=p.find(A=>String(A.value)===String(N)||String(A.label)===String(N));x(C||(A=>A&&(String(A.value)===String(N)||String(A.label)===String(N))?A:{label:String(N),value:String(N)}))}},[i,o,p]);const f=S.useMemo(()=>{let N=p;if(g&&!N.some(A=>String(A.value)===String(g.value)||String(A.label)===String(g.label))&&(N=[g,...N]),!d)return N;const C=d.toLowerCase();return N.filter(A=>A.label.toLowerCase().includes(C))},[d,p,g]),w=S.useCallback(N=>{x(N),s(l,N)},[l,s]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(re.Combobox,{value:g,onChange:w,disabled:t,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(re.ComboboxInput,{className:`field-control ${r}`,displayValue:N=>(N==null?void 0:N.label)||(typeof(i!=null?i:o)=="string"?String(i!=null?i:o):""),onChange:N=>u(N.target.value),placeholder:m?"Loading...":t?"":"Select an option..."}),!t&&a.jsx(re.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:m?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:m?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):f.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):f==null?void 0:f.map((N,C)=>a.jsx(re.ComboboxOption,{value:N,className:({active:A,selected:E})=>be("select-option",{active:A,selected:E}),children:({selected:A})=>a.jsx("div",{className:be("option-text",{selected:A}),children:N.label})},`${N.value}-${C}`))})]})})}function ru({element:e,validationData:n}){var u,b;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isViewer:l}=n||{};let r;t&&(r=t()[e.id]),S.useEffect(()=>{i(e.id)},[e.id,i]);const d=l?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!l?a.jsx(nn,{options:(u=e==null?void 0:e.options)!=null?u:[],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(Hn,{name:e.id,options:(b=e==null?void 0:e.options)!=null?b:[],apiUrl:d,value:r,onGetValue:(c,m)=>{var h;s==null||s(c,(h=m==null?void 0:m.value)!=null?h:""),o&&o(c)},readOnly:n==null?void 0:n.isReadOnly})})}function du({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 uu({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(ue,{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 cu(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 bu=({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"}})]})})]})},mu=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 vu({element:e,validationData:n}){var C;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=S.useState(),[r,d]=S.useState(!1),[u,b]=S.useState(!1),[c,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||{},w=S.useRef(null),N=S.useCallback(async A=>{var k,I,M,P,K,T,B,L,O,_,D,W,U,V;if(!g||typeof g!="string"||!g.trim()||!x)return;w.current&&w.current.abort();const E=new AbortController;w.current=E,d(!0),m(""),b(!1);try{let z;const X={headers:{Authorization:`Bearer ${Ce("token")}`},signal:E.signal};if(x.toLowerCase()==="get"){const se=`${g}?value=${A}`;z=await je.get(se,X)}else if(x.toLowerCase()==="post")z=await je.post(g,{value:A},X);else throw new Error("Unsupported HTTP method");if(z.status===200)if(((I=(k=z==null?void 0:z.data)==null?void 0:k.data)==null?void 0:I.status)===!1||((M=z==null?void 0:z.data)==null?void 0:M.status)===!1)console.error("Invalid input:",A),m("Unable to validate input"),b(!1);else if(b(!0),f==="string"){let oe=((K=(P=z==null?void 0:z.data)==null?void 0:P.data)==null?void 0:K.description)||((T=z==null?void 0:z.data)==null?void 0:T.description)||((B=z==null?void 0:z.data)==null?void 0:B.data)||(z==null?void 0:z.data)||"Validation successful";typeof oe=="object"&&oe!==null&&(oe=JSON.stringify(oe)),m(oe)}else{const oe=((O=(L=z==null?void 0:z.data)==null?void 0:L.data)==null?void 0:O.description)||((_=z==null?void 0:z.data)==null?void 0:_.description)||((D=z==null?void 0:z.data)==null?void 0:D.data)||(z==null?void 0:z.data)||{};y(oe),typeof oe=="object"&&oe!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,oe)}}catch(z){if(!je.isCancel(z)){console.error("Error validating input:",z);let X=((U=(W=z==null?void 0:z.response)==null?void 0:W.data)==null?void 0:U.message)||((V=z==null?void 0:z.response)==null?void 0:V.data)||"Unable to validate input";typeof X=="object"&&X!==null&&(X=JSON.stringify(X)),m(X),b(!1)}}finally{w.current===E&&d(!1)}},[x,f,g]);return S.useEffect(()=>{if(t){const A=setTimeout(()=>{N(t)},700);return()=>clearTimeout(A)}},[N,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:A=>{e.valueSource!=="field"&&(l(A.target.value),typeof o=="function"&&o(e==null?void 0:e.id,A.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"})})]})]}),c&&f==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),f==="object"&&p&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(C=Object.entries(p))==null?void 0:C.map(([A,E])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:mu(A)}),cu(E)?a.jsx(bu,{imageUrl:E}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(E)})]},A))})]})}function fu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=S.useState([...i]);function l(u,b){t(c=>{const m=[...c];return m[b]={...m[b],value:u},m})}function r(u,b){return parseFloat(u)*parseFloat(b)||0}const d=S.useMemo(()=>s.reduce((u,b)=>{const c=r(b.key,b.value);return u+c},0),[s]);return S.useEffect(()=>{e&&e(s)},[s]),S.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((b,c)=>({key:b.value,value:Array.isArray(i)&&i[c]?i[c].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,b)=>{var c,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:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(ti,{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,b),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()})})]},b+"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 hu({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(fu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function pu({element:e}){return a.jsx("div",{className:be("py-6",e==null?void 0:e.customClass)})}function gu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:be("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function yu({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 xu({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 Su({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:b}=s(e.id,l.field);let c="border-gray-300";l.validate&&((b==null?void 0:b.isValid)===!1?c="border-red-500 bg-red-50":(b==null?void 0:b.isValid)===!0&&(c="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${c}`;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(ti,{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(Hn,{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&&b?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",b.data&&`[${b.data}]`]}),b.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(h=b.error)!=null?h:"",children:"✗"})]}):l.type==="select"?a.jsx(Hn,{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 wu=S.memo(Su);function Nu({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]),b=S.useCallback(m=>{const h=r.current.filter(v=>v.id!==m);t(h),n==null||n(h)},[n]),c=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(wu,{row:m,columns:o,isReadOnly:i,handleCellChange:d,getValidationStatus:c,deleteRow:b},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 Cu({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),b=S.useRef(e==null?void 0:e.dataColumns),c=S.useRef(o);u.current=e==null?void 0:e.id,b.current=e==null?void 0:e.dataColumns,c.current=o;const m=S.useCallback(v=>{var y;const p=JSON.stringify(v);p!==d.current&&(d.current=p,(y=c.current)==null||y.call(c,u.current,{rows:v,columns:b.current}))},[]);return a.jsx(Nu,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const aa=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:b=!1,isFloatingLabel:c=!1,subText:m,labelClass:h="",loading:v,disabled:p})=>{const[y,g]=S.useState(b?[]:null),x=be("custom-select__control",e),f=S.useMemo(()=>n,[n]);S.useEffect(()=>{const N=n==null?void 0:n.find(C=>{var A;return typeof C.value=="string"&&typeof d=="string"?C.value.toLowerCase()===d.toLowerCase():typeof C.value=="object"&&typeof d=="object"?((A=C.value)==null?void 0:A.id)===(d==null?void 0:d.id):C.value===d});g(N||null)},[d,n]);const w=S.useMemo(()=>d==null||d===""||!n||n.length===0?!1:b&&Array.isArray(d)?Array.isArray(y)&&y.length<d.length:!n.some(C=>{var A;return typeof C.value=="string"&&typeof d=="string"?C.value.toLowerCase()===d.toLowerCase():typeof C.value=="object"&&typeof d=="object"?((A=C.value)==null?void 0:A.id)===(d==null?void 0:d.id):C.value===d}),[d,n,y,b]);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&&!c&&a.jsx("label",{className:"custom-select__label",children:r}),c&&r&&a.jsx("label",{className:be("custom-select__floating-label",h),children:r}),a.jsx(re.Listbox,{value:y,onChange:g,multiple:b,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((N,C)=>a.jsx(re.Listbox.Option,{value:N,className:({active:A})=>be("custom-select__option",A&&"custom-select__option--active"),children:({selected:A})=>a.jsx("span",{className:be("custom-select__option-label",A&&"custom-select__option--selected"),children:N.label})},C))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),w&&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})]})},Au=({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(""),[b,c]=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),c(""),m(g,"")):(c(g),m(d,g))};S.useEffect(()=>{if(t){const y=t(r);if(y!=null&&y.includes("_")){const[g,x]=y.split("_");u(g),c(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(aa,{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(aa,{setValue:(y,g)=>h("second",g),options:v,name:`${r}`,register:i,value:b})]})]})},ku=({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:b,watch:c,isReadOnly:m}=r||{},h=(g=c==null?void 0:c(l.id))!=null?g:0,[v,p]=S.useState(null);S.useEffect(()=>{h==null&&(b==null||b(l.id,e))},[]);const y=x=>{if(!i&&!m){const f=x+1;b==null||b(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 w=v!==null?f<=v:f<h;return a.jsx(Zs,{icon:w?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${w?"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 Eu({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 ta({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]),b=S.useRef(r),c=S.useMemo(()=>{var v,p;return d?((p=(v=ci.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!==b.current&&(o(e.id,g),s==null||s(e.id),b.current=g)},h=(v,p)=>{const y=(p==null?void 0:p.value)||"",g=y?`${y}, ${d}`:d;o&&g!==b.current&&(o(e.id,g),s==null||s(e.id),b.current=g)};return S.useEffect(()=>{b.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(Hn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),c.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(Hn,{options:c,onGetValue:h,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const xo=[{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 Mu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:b,description:c,onChange:m,onError:h}){const[v,p]=S.useState(""),[y,g]=S.useState(null),[x,f]=S.useState(""),w=S.useMemo(()=>{var M;return(M=xo==null?void 0:xo.slice().sort((P,K)=>P.label.localeCompare(K.label)))==null?void 0:M.map(P=>({...P,phone:`+${P.phone}`}))},[]),N=S.useMemo(()=>v?w.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(v.toLowerCase())):w,[v,w]),C=(y==null?void 0:y.min)||10,A=(y==null?void 0:y.max)||10,E=()=>x?`${(y==null?void 0:y.phone)||"+234"}-${x}`:"",k=M=>{if(!M||typeof M!="string")return{code:"+234",number:""};const P=M.split(/[-\s]/);return{code:P[0],number:P.slice(1).join(" ")}};S.useEffect(()=>{if(l){const M=E();if(l!==M){const P=k(l);g(w.find(K=>K.phone===P.code)||w[0]),f(P.number)}}},[l,w]);const I=S.useMemo(()=>{if(r)return r;const M=x.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(x)?"Phone number must contain only digits":M>0&&M<C?`Minimum length is ${C}`:M>A?`Maximum length is ${A}`:""},[r,x,C,A,o]);return S.useEffect(()=>{const M=E();M!==l&&(m==null||m(M))},[x,y]),S.useEffect(()=>{h==null||h(I||null)},[I]),a.jsxs("div",{className:`relative formGroup ${I&&!u?"has-error":""} ${b?"flex":""} ${!I&&x.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${b?"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:M=>(M==null?void 0:M.phone)||"+234",placeholder:"+234",onChange:M=>p(M.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:N==null?void 0:N.map((M,P)=>a.jsxs(re.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.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:M=>{const P=M.target.value.replace(/\D/g,"");f(P)},placeholder:n,className:"w-full px-3 outline-none",maxLength:A,minLength:C}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!I&&x.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(le,{icon:"bi:check-lg"})})})]})]}),c&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function Tu({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(Mu,{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 Pu({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),b=d?u?d:`https://${d}`:"",c=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[c&&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",c&&"!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:b,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 Lu({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=S.useMemo(()=>{const b=(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([...b,...m]))},[s]),l=i?i(t):[],r=S.useMemo(()=>{if(!s)return"";let u=s,b=!1;if(t.forEach((c,m)=>{const h=l[m],v=Number(h);(isNaN(v)||h===void 0||h===null||h==="")&&(b=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(v||0))}),b)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const m=new Function(`return ${c}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(c){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 Bu({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),b=s?s(e.id):null,c=!!(b||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(w=>{const N=w.value||w.id||w.option,C=w.count||w.votes||w.value||0;N&&(x[N]=Number(C))}):typeof g=="object"&&(x=g),r(x);const f=Object.values(x).reduce((w,N)=>w+Number(N),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||(b?(r({[b]:1}),u(1)):(r({}),u(0)))},[b,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=b===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:[c&&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"})]}),c&&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)})}),c&&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 la={textField:yo,longText:du,selectField:ru,multiSelect:ho,numberField:yo,amountField:uu,date:eu,time:iu,password:su,checkbox:lu,radio:au,email:yo,file:ou,dataGrid:Cu,section:tu,dataLookup:vu,tableInput:hu,spacer:pu,divider:gu,header:yu,basicText:xu,phoneField:Tu,cascadeSelect:Au,rating:ku,matrix:Eu,country:ta,bank:ta,url:Pu,calculatedField:Lu,polling:Bu,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 b=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})},c=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:()=>b(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:()=>c(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=b=>{o||n==="edit"||typeof l=="function"&&l(e.id,b,{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(b=>a.jsxs("div",{onClick:()=>d(b.value),className:be("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===b.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:b.imageUrl?a.jsx("img",{src:b.imageUrl,alt:b.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===b.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:b.label})]},b.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},ra="edit",Iu=(e,n)=>{var o;const i=la[e.type];return i?a.jsx(go,{element:e,state:ra,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:ra,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]})})},mi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:be("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Du=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:b,removeElement:c}=S.useContext(Ie),m=S.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[h,v]=S.useState(null);S.useEffect(()=>{const w=()=>{v(null),d(!1)};return document.addEventListener("dragend",w),()=>document.removeEventListener("dragend",w)},[d]);const p=S.useCallback((w,N)=>{w.preventDefault(),w.stopPropagation(),w.dataTransfer.dropEffect="move",v(N)},[]),y=S.useCallback((w,N)=>{w.preventDefault(),w.stopPropagation(),v(N)},[]),g=S.useCallback((w,N)=>{const C=w.relatedTarget;C&&w.currentTarget.contains(C)||v(A=>A===N?null:A)},[]),x=S.useCallback((w,N)=>{var E;w.preventDefault(),w.stopPropagation(),d(!1),v(null);const C=N+1,A=w.dataTransfer.getData("elementId");if(A){u({draggedId:A,sectionId:n,targetGridId:e.id,targetCol:C});return}try{const k=w.dataTransfer.getData("properties");if(!k)return;const I=JSON.parse(k);if((I==null?void 0:I.type)==="grid")return;const M=l.find(T=>T.id===n),P=(E=M==null?void 0:M.questionData)==null?void 0:E.find(T=>{var B;return!T.isDeleted&&T.gridId===e.id&&((B=T.gridPosition)==null?void 0:B.col)===C});P&&c(P.id,n);const K={...I,id:Le.v4(),sectionId:n,gridId:e.id,gridPosition:{col:C}};r(K,n)}catch(k){console.error("Drop failed in grid:",k),d(!1)}},[r,e.id,l,n,d,u]),f=(w,N,C)=>{var B,L,O;const A=w+1,E=(L=(B=l.find(_=>_.id===n))==null?void 0:B.questionData)==null?void 0:L.find(_=>{var D;return!_.isDeleted&&_.gridId===e.id&&((D=_.gridPosition)==null?void 0:D.col)===A}),k=(O=E==null?void 0:E.id)!=null?O:null,I=Array.isArray(i)&&i.find(_=>{var D;return((D=_==null?void 0:_.props)==null?void 0:D.col)===A}),M=b&&h===w,P=!!I,K=b&&!!t,T=P&&k&&C==="edit"?{draggable:!0,onDragStart:_=>{_.stopPropagation(),_.dataTransfer.setData("elementId",k),_.dataTransfer.setData("properties",k),_.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}-${w}`,...T,onDrop:_=>x(_,w),onDragEnter:_=>y(_,w),onDragOver:_=>p(_,w),onDragLeave:_=>g(_,w),className:be("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",C==="edit"?"py-3 ":"",P&&C==="edit"&&"cursor-grab active:cursor-grabbing border-none",N,!K&&!M&&"bg-white border-gray-200 text-gray-300",K&&!M&&!P&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",K&&!M&&P&&"bg-white border-orange-200 border-dashed",M&&!P&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",M&&P&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[P&&C==="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"})}),M&&!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"]}),M&&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",M&&"opacity-50 pointer-events-none"),children:I||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:C==="edit"&&a.jsx(le,{icon:"ph:plus-bold"})})})]})},w)};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((w,N)=>f(N,o,s))})})},vi=S.memo(Du),_u="edit";function So({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 Ou({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]),b=S.useCallback((x,f)=>{x.dataTransfer.setData("elementId",f),x.dataTransfer.setData("properties",f),x.dataTransfer.effectAllowed="move",d(f),s(!0)},[s]),c=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"),w=x.currentTarget.id;if(!f||!w||f===w){c();return}const N=u.find(A=>A.id===f),C=u.findIndex(A=>A.id===w);N!=null&&N.gridId&&C!==-1?l({draggedId:f,sectionId:n,targetIndex:C}):l({draggedId:f,sectionId:n,targetId:w}),d(null),s(!1)},[n,l,s,c,u]),h=S.useCallback((x,f)=>{x.preventDefault(),x.stopPropagation(),s(!1);const w=x.dataTransfer.getData("elementId");if(w){l({draggedId:w,sectionId:n,targetIndex:f}),d(null);return}try{const N=JSON.parse(x.dataTransfer.getData("properties"));if((N==null?void 0:N.type)==="section")return;const C={...N,id:Le.v4(),sectionId:n};t(C,n,f),d(null)}catch(N){console.error("Drop error:",N)}},[t,n,s,l]),v=S.useCallback((x,f=!1)=>a.jsx("div",{id:x.id,draggable:!0,onDragStart:w=>b(w,x.id),onDragOver:f?void 0:w=>{w.preventDefault(),w.stopPropagation()},onDrop:f?void 0:m,onDragEnd:c,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:Iu(x,n)},x.id),[r,m,n,b,c]),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:c,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(So,{index:0,isDragging:o,onDrop:h,onDragEnd:c}),g.map(x=>{const f=u.findIndex(w=>w.id===x.id);if(x.type==="grid"){const w=p[x.id]||[],N=r===x.id,C=!!r&&!N;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:x.id,draggable:!0,onDragStart:A=>b(A,x.id),onDragOver:A=>{A.preventDefault(),A.stopPropagation()},onDrop:m,onDragEnd:c,className:be("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",N?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":C?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(go,{element:x,state:"edit",children:a.jsx(vi,{element:x,sectionId:n,state:_u,draggedElementId:r,children:w==null?void 0:w.map(A=>{var E;return a.jsx(mi,{col:(E=A.gridPosition)==null?void 0:E.col,children:v(A,!0)},A.id)})})})}),a.jsx(So,{index:f+1,isDragging:o,onDrop:h,onDragEnd:c})]},x.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(x),a.jsx(So,{index:f+1,isDragging:o,onDrop:h,onDragEnd:c})]},x.id)})]})}const Ku=S.memo(Ou),Hu=ee.object({title:ee.string(),description:ee.string(),disabled:ee.boolean().default(!1),isHidden:ee.boolean().default(!1)}).required(),wo=Ce("config"),Fu=({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:b}=Ze.useForm({resolver:co(Hu),defaultValues:i});if(S.useEffect(()=>{e||b()},[e,b]),!e)return null;const c=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(c),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(ue,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(ue,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(ue,{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(ue,{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:(wo==null?void 0:wo.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"})]})]})]})})},Gu=({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,Vu=[{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"}]}]}],zu=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,formDataLength:d,onDragOver:u,setIsDragging:b,isDragging:c,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(c);return S.useEffect(()=>{var x,f;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>v.current&&!c&&!p.current){const w=document.getElementById("section-container");w&&requestAnimationFrame(()=>{w.scrollTo({top:w.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,c]),S.useEffect(()=>{p.current=c},[c]),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",b(!0)},onDragEnd:()=>b(!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:()=>b(!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(Ku,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},$u=({onAddTemplate:e,templates:n})=>{var M;const i=[...Vu,...n||[]],[o,s]=S.useState(!1),[t,l]=S.useState(!1),r=S.useRef(null),d=S.useRef(null),{removeSection:u,addSection:b,formData:c,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 B;const T=K.target;if(!(T.tagName==="INPUT"||T.tagName==="TEXTAREA"||T.isContentEditable)&&v){const L=((B=K.clipboardData)==null?void 0:B.getData("text"))||"";f(v,void 0,L)}};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,f]);const w=S.useRef((c==null?void 0:c.length)||0);S.useEffect(()=>{var P;h(((P=c[0])==null?void 0:P.id)||null)},[]),S.useEffect(()=>{(c==null?void 0:c.length)>w.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),w.current=(c==null?void 0:c.length)||0},[c==null?void 0:c.length]);const N=S.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),C=S.useCallback((P,K)=>{g(T=>{const B=T.findIndex(D=>D.id===P),L=T.findIndex(D=>D.id===K);if(B===-1||L===-1||B===L)return T;const O=[...T],[_]=O.splice(B,1);return O.splice(L,0,_),O})},[g]);function A(P){p.includes(P)?y(K=>K.filter(T=>T!==P)):y(K=>[...K,P])}function E(P){r.current=P,s(!0)}const k=P=>{var T,B,L,O;const K=(_,D={})=>({...JSON.parse(JSON.stringify(_)),...D});if(P.sections&&Array.isArray(P.sections)){const D=P.sections.filter(Boolean).map(U=>{var X;const V=Le.v4(),z=(X=U.questionData)==null?void 0:X.map(se=>K(se,{id:Le.v4(),sectionId:V}));if(z){const se=new Map;U.questionData.forEach((oe,R)=>{se.set(oe.id,z[R].id)}),z.forEach(oe=>{oe.gridId&&se.has(oe.gridId)&&(oe.gridId=se.get(oe.gridId))})}return K(U,{id:V,questionData:z||[]})});c.length===1&&c[0].title===""&&c[0].description===""&&(!((T=c[0])!=null&&T.questionData)||((L=(B=c[0])==null?void 0:B.questionData)==null?void 0:L.length)===0)?(g(D),D.length>0&&h((O=D[0])==null?void 0:O.id)):g(U=>[...U,...D])}},I=Ce("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx(Fu,{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:[(M=c==null?void 0:c.filter(P=>!(P!=null&&P.isDeleted)))==null?void 0:M.map((P,K)=>{var T;return a.jsx(zu,{section:P,index:K,selectedSection:v,setSelectedSection:h,activeSections:p,toggleSection:A,handleSectionEdit:E,removeSection:u,formDataLength:((T=c==null?void 0:c.filter(B=>!(B!=null&&B.isDeleted)))==null?void 0:T.length)||0,onDragOver:N,setIsDragging:m,isDragging:x,onReorderSection:C},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4",children:[a.jsxs("button",{type:"button",onClick:()=>b(),style:{color:(I==null?void 0:I.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:(I==null?void 0:I.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(Gu,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:k})]})},ju=()=>{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(ko,{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)})})]})},No=({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"})})},Wu=S.lazy(()=>Promise.resolve().then(()=>Pg));function Uu({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 b=S.useCallback(c=>{c.preventDefault();try{const m=JSON.parse(c.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:c=>c.preventDefault(),onDrop:c=>b(c),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx($u,{onAddTemplate:i,templates:o}):a.jsx(S.Suspense,{fallback:a.jsx(No,{loadingClass:"!w-full !h-full"}),children:a.jsx(Wu,{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(ju,{})})})]})}const qu=[{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"}],Yu=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],Ju=({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 N=localStorage.getItem("form_builder_clipboard");if(N){const C=JSON.parse(N);(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.timestamp)?Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(!1)):s(!0):s(!1)}else s(!1)}catch(N){s(!1)}};f();const w=setInterval(f,1e3);return()=>clearInterval(w)},[]);const u=S.useCallback((f,w)=>{if(!r){Ee.toast.error("Please select a section to add an element.");return}f.dataTransfer.setData("properties",JSON.stringify(w)),f.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function b(f){if(!r){Ee.toast.error("Please select a section to add an element.");return}const w={...f,id:Le.v4(),sectionId:r};l(w,r)}const c=Ce("config")||{},m=c.elementColor,h=c.elementBgColor,v=c.elementBorderColor,p=Cd.filter(f=>f.label.toLowerCase().includes(n.toLowerCase())),y=e==="poll"?Yu:qu,g=e==="poll"?kd:Ad,x=y==null?void 0:y.map(f=>({title:f.title,elements:p.filter(w=>{var N;return(N=g[f.key])==null?void 0:N.includes(w.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,w)=>{var N;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:(N=f.elements)==null?void 0:N.map(C=>a.jsx("li",{onDragStart:A=>u(A,C),onDragEnd:()=>t(!1),onClick:()=>b(C),style:{borderColor:v,backgroundColor:h},className:`cursor-move text-[#475467] flex justify-between items-center \r
|
|
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
|
|
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:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:m},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},w)})})})]})},Zu=S.memo(Ju),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:b="button",style:c,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(Sr.Link,{to:d,className:h,children:v()}):a.jsx("button",{disabled:n,type:b,className:h,"data-testid":"btn",onClick:m,style:c,children:v()})};function Xu(){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 Qu=({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(Xu,{})})," ",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(ko,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o})})]})};function Ru(){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 ec({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:b}){const{formData:c,setShowPreview:m,showPreview:h,undo:v,redo:p,canUndo:y,canRedo:g}=S.useContext(Ie),[x,f]=S.useState(!1),[w,N]=S.useState(!1),[C,A]=S.useState(e||""),E=Ce("config");function k(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(P){console.warn("Could not save formData to localStorage",P)}i==null||i(c)}function I(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(P){console.warn("Could not save formData to localStorage",P)}o==null||o(c)}function M(){N(!1),r&&C!==e&&r(C.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:(E==null?void 0:E.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(Ru,{})})," ",w?a.jsx("input",{type:"text",value:C,onChange:P=>A(P.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:()=>N(!0),children:C||"Untitled"})]}),x&&a.jsx(Qu,{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:(E==null?void 0:E.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:(E==null?void 0:E.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:(E==null?void 0:E.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:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:!g}),b&&a.jsx(Ue,{onClick:b,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(E==null?void 0:E.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:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Ue,{onClick:k,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Ue,{onClick:I,text:"Publish",style:{background:(E==null?void 0:E.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 nc({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:h,uploadUrl:v,onAddTemplate:p,templates:y,onShowVersion:g,formType:x="default"}){const[f,w]=S.useState("canvas");return a.jsxs(Cs,{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(Zu,{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(ec,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:h,viewMode:f,setViewMode:w,onShowVersion:g})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(No,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Uu,{questionData:o,uploadUrl:v,onAddTemplate:p,templates:y,viewMode:f})})]})]})})]})}const ic=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:b,previewLoading:c,saveLoading:m,publishLoading:h,onTitleChange:v,uploadUrl:p,onAddTemplate:y,templates:g,onShowVersion:x,formType:f})=>(S.useEffect(()=>{l&&Xs("config",l)},[l]),a.jsx(nc,{onSubmit:e,onChange:n,onLogAction:i,onPublish:b,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:c,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}`},oc=e=>({textField:ee.string().nullable(),longText:ee.string().nullable(),numberField:ee.number().nullable().transform(i=>isNaN(i)?null:i),amountField:ee.number().nullable().transform(i=>isNaN(i)?null:i),selectField:ee.string().nullable(),checkbox:ee.mixed().nullable(),radio:ee.mixed().nullable(),matrix:ee.mixed().nullable(),email:ee.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:ee.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:ee.string().nullable().test("url-format",on.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||ee.mixed().nullable(),sc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||on.required):e.required(i||on.required):e,ac=(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},tc=(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},Co=(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 lc({formData:e,isReadOnly:n,answerData:i}){const o={};return e.forEach(s=>{var t;s!=null&&s.isDeleted||(t=s==null?void 0:s.questionData)==null||t.forEach(l=>{if(l!=null&&l.isDeleted||!Co(l,i))return;const{id:r,type:d,isRequired:u,requiredMessage:b,isDisabled:c}=l;let m=oc(d);m=sc(m,c||n?!1:u,b),d==="textField"||d==="longText"||d==="email"||d==="url"?m=ac(m,l):(d==="numberField"||d==="amountField")&&(m=tc(m,l)),l.requireAllChecked?m=m.test("require-all-checked","All options must be selected",h=>{var y;if(h==null||h===""||Array.isArray(h)&&h.length===0)return!u;const p=((y=l.options)==null?void 0:y.length)||0;return Array.isArray(h)?h.length>=p:p<=1}):l.minChecked&&(m=m.test("min-checked",`Please select at least ${l.minChecked} option(s)`,h=>h==null||h===""||Array.isArray(h)&&h.length===0?!u:Array.isArray(h)?h.length>=l.minChecked:1>=l.minChecked)),o[r]=m})}),ee.object().shape(o)}const da=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},rc=({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((b,c)=>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:b.label}),a.jsxs("span",{children:[Math.round(b.percentage),"% (",b.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:`${b.percentage}%`}})})]},c)),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((b,c)=>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:b.label}),a.jsxs("span",{children:[Math.round(b.percentage),"% (",b.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:`${b.percentage}%`}})})]},c))]}),e.type==="matrix"&&((l=e.responsesData)==null?void 0:l.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((b,c)=>{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:[b.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",b.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(m=b.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))})]},c)})}),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((b,c)=>{var m,h;return((m=b.averageRank)!=null?m:1/0)-((h=c.averageRank)!=null?h:1/0)}).map((b,c)=>{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=b.averageRank)!=null?m:c+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:da(b.label),children:da(b.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[b.points!=null?`${b.points} pts`:""," · ",b.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=b.pointsPercentage)!=null?h:b.percentage}%`}})})]})]},c)})]}),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((b,c)=>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:`${b.percentage}%`},title:`${b.percentage}% (${b.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:b.label})]},c))})]})]})]}),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},yn=({element:e,validationData:n})=>{var l;const i=la[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(()=>Co(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.isReadOnly||e.isDisabled}}),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(rc,{results:n.pollResults[e.id]})]}):null},xn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function dc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(vi,{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(mi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(yn,{element:l,validationData:xn(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(yn,{element:s,validationData:xn(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 uc({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 b=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(vi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:b==null?void 0:b.map(c=>{var m,h,v;return a.jsxs(mi,{col:(m=c.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(yn,{element:c,validationData:xn(c,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[c.id])==null?void 0:v.message})]},c.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(yn,{element:t,validationData:xn(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 Ao=Ce("config");function cc({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=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),i())},d=b=>{var c;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(vi,{element:b,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=b.gridChildren)==null?void 0:c.map(m=>{var h,v,p;return a.jsxs(mi,{col:(h=m.gridPosition)==null?void 0:h.col,customClass:"p-0",children:[a.jsx(yn,{element:m,validationData:xn(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)})})},b.id)},u=b=>{var c,m;return a.jsxs("div",{className:be("group relative grid gap-y-[6px] min-w-0 w-full",b.elementClass),children:[a.jsx(yn,{element:b,validationData:xn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(c=n==null?void 0:n.errors)==null?void 0:c[b.id])==null?void 0:m.message})]},b.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:(Ao==null?void 0:Ao.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 bc(e){return e.reduce((n,i)=>(n[i.id]=i.value,n),{})}const mc=({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:b,showResults:c})=>{var Y,ie,Z,q,G,F,H,j,$,Q;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 ne=J.isDisabled||J.disabled,ae=((ce=J==null?void 0:J.questionData)==null?void 0:ce.filter(me=>!me.isDeleted))||[];return ne?{...J,questionData:ae.map(me=>({...me,isDisabled:!0}))}:{...J,questionData:ae}}),[e]),w=(Y=f==null?void 0:f.length)!=null?Y:0,N=Ce("config"),C=S.useCallback(async(J,ne,ae)=>{const ce=lc({formData:f,isReadOnly:t,answerData:J});return co(ce)(J,ne,ae)},[f,t]),A=Ze.useForm({resolver:C,mode:"onSubmit",defaultValues:{}}),{register:E,setValue:k,control:I,handleSubmit:M,reset:P,getValues:K,watch:T,formState:{errors:B,isSubmitting:L},trigger:O,setError:_,clearErrors:D}=A,W=Ze.useWatch({control:I}),U=S.useMemo(()=>W,[JSON.stringify(W)]),V=S.useMemo(()=>{if(l!=="conversational")return[];const J=[];return f.forEach(ne=>{var ae;(ae=ne==null?void 0:ne.questionData)==null||ae.forEach(ce=>{var me;if(Co(ce,U))if(ce.type==="grid"){const ye=(me=ne==null?void 0:ne.questionData)==null?void 0:me.filter(pe=>pe.gridId===ce.id);J.push({...ce,gridChildren:ye})}else ce.gridId||J.push(ce)})}),J},[f,U,l]),z=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(ne=>{var ae;return(ae=ne==null?void 0:ne.questionData)==null?void 0:ae.map(ce=>({id:ce.id,value:U[ce.id]||"",sectionId:ne.id,type:ce.type,metaData:{prefix:ce.prefix,dateFormat:ce.dateFormat,...U[`${ce.id}_metaData`]?{responseObject:U[`${ce.id}_metaData`]}:{}}}))});z(J),m(U)},[U,f,z,s,m]),S.useEffect(()=>{n!=null&&n.length&&P(bc(n))},[n,P]);const X=S.useCallback(J=>{const ne=f.flatMap(ae=>{var ce;return(ce=ae==null?void 0:ae.questionData)==null?void 0:ce.map(me=>({id:me.id,value:J[me.id]||"",sectionId:ae.id,type:me.type,metaData:{prefix:me.prefix,dateFormat:me.dateFormat,...J[`${me.id}_metaData`]?{responseObject:J[`${me.id}_metaData`]}:{}}}))});Object.keys(B).length>0||o==null||o(ne)},[B,f,o]),se=S.useCallback(async()=>{var J,ne;if(l==="conversational"){if(!i){const ae=V[g];if(!ae)return;const ce=ae.gridChildren?ae.gridChildren.map(ye=>ye.id):[ae.id];if(!await O(ce))return}g<V.length-1?x(ae=>ae+1):M(X)();return}if(!i){const ae=(ne=(J=f==null?void 0:f[p])==null?void 0:J.questionData)==null?void 0:ne.map(me=>me.id);if(!await O(ae))return}y(ae=>ae+1)},[p,g,V,f,i,O,l,M,X]),oe=S.useCallback(()=>{if(l==="conversational"){x(J=>Math.max(0,J-1));return}y(J=>J-1)},[l]),R=S.useMemo(()=>({register:E,setValue:k,watch:T,errors:B,trigger:O,isSubmitting:L,isReadOnly:t,getValues:K,setError:_,clearErrors:D,apiActivityCount:v,pollResults:b,showResults:c,isViewer:!0}),[E,k,T,B,O,L,t,K,_,D,v,b,c]);return a.jsxs(Ze.FormProvider,{...A,children:[a.jsx(Ee.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:M(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"&&(((ie=f==null?void 0:f[p])==null?void 0:ie.title)||((Z=f==null?void 0:f[p])==null?void 0:Z.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((q=f[p])==null?void 0:q.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(G=f[p])==null?void 0:G.title}),((F=f[p])==null?void 0:F.description)&&a.jsx("p",{className:"text-sm",children:(H=f[p])==null?void 0:H.description})]}),l==="multi"?a.jsx(uc,{form_data:f,options:R,current:p}):l==="conversational"?a.jsx(cc,{element:V[g],options:R,onNext:se,onPrev:oe,isFirst:g===0,isLast:g===V.length-1,isReadOnly:t}):a.jsx(dc,{form_data:f,options:R})]},l==="conversational"?`conv-${g}`:(j=f==null?void 0:f[p])==null?void 0:j.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:oe,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<w-1&&a.jsx(Ue,{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"})]}),(p===w-1||t)&&!i&&(($=typeof r=="function"?r({isUploading:v>0,isSubmitting:L,hasErrors:Object.keys(B).length>0}):r)!=null?$:a.jsx(Ue,{isDisabled:L||Object.keys(B).length>0||v>0,isLoading:L,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&&((Q=typeof r=="function"?r({isUploading:v>0,isSubmitting:L,hasErrors:Object.keys(B).length>0}):r)!=null?Q:a.jsx(Ue,{isDisabled:L||Object.keys(B).length>0||v>0,isLoading:L,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:`${(g+1)/V.length*100}%`,background:(N==null?void 0:N.buttonColor)||"#2563EB"}})})]})]})},vc=S.memo(mc);function ko({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:b,uploadUrl:c,pollResults:m,showResults:h}){S.useEffect(()=>{l&&Xs("config",l)},[l]);const v=S.useCallback(p=>{b&&b(p)},[b]);return t?a.jsx(No,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Cs,{children:a.jsx(vc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:v,uploadUrl:c,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 fc={value:()=>{}};function fi(){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 hi(i)}function hi(e){this._=e}function hc(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}})}hi.prototype=fi.prototype={constructor:hi,on:function(e,n){var i=this._,o=hc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=pc(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]=ua(i[s],e.name,n);else if(n==null)for(s in i)i[s]=ua(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 hi(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 pc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function ua(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=fc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Eo="http://www.w3.org/1999/xhtml";const ca={svg:"http://www.w3.org/2000/svg",xhtml:Eo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function pi(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),ca.hasOwnProperty(n)?{space:ca[n],local:e}:e}function gc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Eo&&n.documentElement.namespaceURI===Eo?n.createElement(e):n.createElementNS(i,e)}}function yc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ba(e){var n=pi(e);return(n.local?yc:gc)(n)}function xc(){}function Mo(e){return e==null?xc:function(){return this.querySelector(e)}}function Sc(e){typeof e!="function"&&(e=Mo(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,b=0;b<l;++b)(d=t[b])&&(u=e.call(d,d.__data__,b,t))&&("__data__"in d&&(u.__data__=d.__data__),r[b]=u);return new Oe(o,this._parents)}function wc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Nc(){return[]}function ma(e){return e==null?Nc:function(){return this.querySelectorAll(e)}}function Cc(e){return function(){return wc(e.apply(this,arguments))}}function Ac(e){typeof e=="function"?e=Cc(e):e=ma(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 va(e){return function(){return this.matches(e)}}function fa(e){return function(n){return n.matches(e)}}var kc=Array.prototype.find;function Ec(e){return function(){return kc.call(this.children,e)}}function Mc(){return this.firstElementChild}function Tc(e){return this.select(e==null?Mc:Ec(typeof e=="function"?e:fa(e)))}var Pc=Array.prototype.filter;function Lc(){return Array.from(this.children)}function Bc(e){return function(){return Pc.call(this.children,e)}}function Ic(e){return this.selectAll(e==null?Lc:Bc(typeof e=="function"?e:fa(e)))}function Dc(e){typeof e!="function"&&(e=va(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 ha(e){return new Array(e.length)}function _c(){return new Oe(this._enter||this._groups.map(ha),this._parents)}function gi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}gi.prototype={constructor:gi,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 Oc(e){return function(){return e}}function Kc(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 gi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function Hc(e,n,i,o,s,t,l){var r,d,u=new Map,b=n.length,c=t.length,m=new Array(b),h;for(r=0;r<b;++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<c;++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 gi(e,t[r]);for(r=0;r<b;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function Fc(e){return e.__data__}function Gc(e,n){if(!arguments.length)return Array.from(this,Fc);var i=n?Hc:Kc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Oc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var b=o[u],c=s[u],m=c.length,h=Vc(e.call(b,b&&b.__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(b,c,p,y,g,h,n);for(var x=0,f=0,w,N;x<v;++x)if(w=p[x]){for(x>=f&&(f=x+1);!(N=y[f])&&++f<v;);w._next=N||null}}return l=new Oe(l,o),l._enter=r,l._exit=d,l}function Vc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function zc(){return new Oe(this._exit||this._groups.map(ha),this._parents)}function $c(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 jc(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],b=o[d],c=u.length,m=r[d]=new Array(c),h,v=0;v<c;++v)(h=u[v]||b[v])&&(m[v]=h);for(;d<s;++d)r[d]=i[d];return new Oe(r,this._parents)}function Wc(){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 Uc(e){e||(e=qc);function n(c,m){return c&&m?e(c.__data__,m.__data__):!c-!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,b=0;b<r;++b)(u=l[b])&&(d[b]=u);d.sort(n)}return new Oe(s,this._parents).order()}function qc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Yc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Jc(){return Array.from(this)}function Zc(){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 Xc(){let e=0;for(const n of this)++e;return e}function Qc(){return!this.node()}function Rc(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 eb(e){return function(){this.removeAttribute(e)}}function nb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ib(e,n){return function(){this.setAttribute(e,n)}}function ob(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function sb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function ab(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 tb(e,n){var i=pi(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?nb:eb:typeof n=="function"?i.local?ab:sb:i.local?ob:ib)(i,n))}function pa(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function lb(e){return function(){this.style.removeProperty(e)}}function rb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function db(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function ub(e,n,i){return arguments.length>1?this.each((n==null?lb:typeof n=="function"?db:rb)(e,n,i==null?"":i)):Sn(this.node(),e)}function Sn(e,n){return e.style.getPropertyValue(n)||pa(e).getComputedStyle(e,null).getPropertyValue(n)}function cb(e){return function(){delete this[e]}}function bb(e,n){return function(){this[e]=n}}function mb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function vb(e,n){return arguments.length>1?this.each((n==null?cb:typeof n=="function"?mb:bb)(e,n)):this.node()[e]}function ga(e){return e.trim().split(/^|\s+/)}function To(e){return e.classList||new ya(e)}function ya(e){this._node=e,this._names=ga(e.getAttribute("class")||"")}ya.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 xa(e,n){for(var i=To(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Sa(e,n){for(var i=To(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function fb(e){return function(){xa(this,e)}}function hb(e){return function(){Sa(this,e)}}function pb(e,n){return function(){(n.apply(this,arguments)?xa:Sa)(this,e)}}function gb(e,n){var i=ga(e+"");if(arguments.length<2){for(var o=To(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?pb:n?fb:hb)(i,n))}function yb(){this.textContent=""}function xb(e){return function(){this.textContent=e}}function Sb(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function wb(e){return arguments.length?this.each(e==null?yb:(typeof e=="function"?Sb:xb)(e)):this.node().textContent}function Nb(){this.innerHTML=""}function Cb(e){return function(){this.innerHTML=e}}function Ab(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function kb(e){return arguments.length?this.each(e==null?Nb:(typeof e=="function"?Ab:Cb)(e)):this.node().innerHTML}function Eb(){this.nextSibling&&this.parentNode.appendChild(this)}function Mb(){return this.each(Eb)}function Tb(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pb(){return this.each(Tb)}function Lb(e){var n=typeof e=="function"?e:ba(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Bb(){return null}function Ib(e,n){var i=typeof e=="function"?e:ba(e),o=n==null?Bb:typeof n=="function"?n:Mo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Db(){var e=this.parentNode;e&&e.removeChild(this)}function _b(){return this.each(Db)}function Ob(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Kb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Hb(e){return this.select(e?Kb:Ob)}function Fb(e){return arguments.length?this.property("__data__",e):this.node().__data__}function Gb(e){return function(n){e.call(this,n,this.__data__)}}function Vb(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 zb(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 $b(e,n,i){return function(){var o=this.__on,s,t=Gb(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 jb(e,n,i){var o=Vb(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,b;d<u;++d)for(s=0,b=r[d];s<t;++s)if((l=o[s]).type===b.type&&l.name===b.name)return b.value}return}for(r=n?$b:zb,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function wa(e,n,i){var o=pa(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 Wb(e,n){return function(){return wa(this,e,n)}}function Ub(e,n){return function(){return wa(this,e,n.apply(this,arguments))}}function qb(e,n){return this.each((typeof n=="function"?Ub:Wb)(e,n))}function*Yb(){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 Na=[null];function Oe(e,n){this._groups=e,this._parents=n}function Fn(){return new Oe([[document.documentElement]],Na)}function Jb(){return this}Oe.prototype=Fn.prototype={constructor:Oe,select:Sc,selectAll:Ac,selectChild:Tc,selectChildren:Ic,filter:Dc,data:Gc,enter:_c,exit:zc,join:$c,merge:jc,selection:Jb,order:Wc,sort:Uc,call:Yc,nodes:Jc,node:Zc,size:Xc,empty:Qc,each:Rc,attr:tb,style:ub,property:vb,classed:gb,text:wb,html:kb,raise:Mb,lower:Pb,append:Lb,insert:Ib,remove:_b,clone:Hb,datum:Fb,on:jb,dispatch:qb,[Symbol.iterator]:Yb};function Ke(e){return typeof e=="string"?new Oe([[document.querySelector(e)]],[document.documentElement]):new Oe([[e]],Na)}function Zb(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Fe(e,n){if(e=Zb(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 Xb={passive:!1},Gn={capture:!0,passive:!1};function Po(e){e.stopImmediatePropagation()}function wn(e){e.preventDefault(),e.stopImmediatePropagation()}function Ca(e){var n=e.document.documentElement,i=Ke(e).on("dragstart.drag",wn,Gn);"onselectstart"in n?i.on("selectstart.drag",wn,Gn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Aa(e,n){var i=e.document.documentElement,o=Ke(e).on("dragstart.drag",null);n&&(o.on("click.drag",wn,Gn),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 yi=e=>()=>e;function Lo(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:b}){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:b}})}Lo.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Qb(e){return!e.ctrlKey&&!e.button}function Rb(){return this.parentNode}function em(e,n){return n==null?{x:e.x,y:e.y}:n}function nm(){return navigator.maxTouchPoints||"ontouchstart"in this}function ka(){var e=Qb,n=Rb,i=em,o=nm,s={},t=fi("start","drag","end"),l=0,r,d,u,b,c=0;function m(w){w.on("mousedown.drag",h).filter(o).on("touchstart.drag",y).on("touchmove.drag",g,Xb).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(w,N){if(!(b||!e.call(this,w,N))){var C=f(this,n.call(this,w,N),w,N,"mouse");C&&(Ke(w.view).on("mousemove.drag",v,Gn).on("mouseup.drag",p,Gn),Ca(w.view),Po(w),u=!1,r=w.clientX,d=w.clientY,C("start",w))}}function v(w){if(wn(w),!u){var N=w.clientX-r,C=w.clientY-d;u=N*N+C*C>c}s.mouse("drag",w)}function p(w){Ke(w.view).on("mousemove.drag mouseup.drag",null),Aa(w.view,u),wn(w),s.mouse("end",w)}function y(w,N){if(e.call(this,w,N)){var C=w.changedTouches,A=n.call(this,w,N),E=C.length,k,I;for(k=0;k<E;++k)(I=f(this,A,w,N,C[k].identifier,C[k]))&&(Po(w),I("start",w,C[k]))}}function g(w){var N=w.changedTouches,C=N.length,A,E;for(A=0;A<C;++A)(E=s[N[A].identifier])&&(wn(w),E("drag",w,N[A]))}function x(w){var N=w.changedTouches,C=N.length,A,E;for(b&&clearTimeout(b),b=setTimeout(function(){b=null},500),A=0;A<C;++A)(E=s[N[A].identifier])&&(Po(w),E("end",w,N[A]))}function f(w,N,C,A,E,k){var I=t.copy(),M=Fe(k||C,N),P,K,T;if((T=i.call(w,new Lo("beforestart",{sourceEvent:C,target:m,identifier:E,active:l,x:M[0],y:M[1],dx:0,dy:0,dispatch:I}),A))!=null)return P=T.x-M[0]||0,K=T.y-M[1]||0,function B(L,O,_){var D=M,W;switch(L){case"start":s[E]=B,W=l++;break;case"end":delete s[E],--l;case"drag":M=Fe(_||O,N),W=l;break}I.call(L,w,new Lo(L,{sourceEvent:O,subject:T,target:m,identifier:E,active:W,x:M[0]+P,y:M[1]+K,dx:M[0]-D[0],dy:M[1]-D[1],dispatch:I}),A)}}return m.filter=function(w){return arguments.length?(e=typeof w=="function"?w:yi(!!w),m):e},m.container=function(w){return arguments.length?(n=typeof w=="function"?w:yi(w),m):n},m.subject=function(w){return arguments.length?(i=typeof w=="function"?w:yi(w),m):i},m.touchable=function(w){return arguments.length?(o=typeof w=="function"?w:yi(!!w),m):o},m.on=function(){var w=t.on.apply(t,arguments);return w===t?m:w},m.clickDistance=function(w){return arguments.length?(c=(w=+w)*w,m):Math.sqrt(c)},m}function Bo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Ea(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function Vn(){}var zn=.7,xi=1/zn,Nn="\\s*([+-]?\\d+)\\s*",$n="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",qe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",im=/^#([0-9a-f]{3,8})$/,om=new RegExp(`^rgb\\(${Nn},${Nn},${Nn}\\)$`),sm=new RegExp(`^rgb\\(${qe},${qe},${qe}\\)$`),am=new RegExp(`^rgba\\(${Nn},${Nn},${Nn},${$n}\\)$`),tm=new RegExp(`^rgba\\(${qe},${qe},${qe},${$n}\\)$`),lm=new RegExp(`^hsl\\(${$n},${qe},${qe}\\)$`),rm=new RegExp(`^hsla\\(${$n},${qe},${qe},${$n}\\)$`),Ma={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};Bo(Vn,dn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ta,formatHex:Ta,formatHex8:dm,formatHsl:um,formatRgb:Pa,toString:Pa});function Ta(){return this.rgb().formatHex()}function dm(){return this.rgb().formatHex8()}function um(){return _a(this).formatHsl()}function Pa(){return this.rgb().formatRgb()}function dn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=im.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?La(n):i===3?new _e(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Si(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Si(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=om.exec(e))?new _e(n[1],n[2],n[3],1):(n=sm.exec(e))?new _e(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=am.exec(e))?Si(n[1],n[2],n[3],n[4]):(n=tm.exec(e))?Si(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=lm.exec(e))?Da(n[1],n[2]/100,n[3]/100,1):(n=rm.exec(e))?Da(n[1],n[2]/100,n[3]/100,n[4]):Ma.hasOwnProperty(e)?La(Ma[e]):e==="transparent"?new _e(NaN,NaN,NaN,0):null}function La(e){return new _e(e>>16&255,e>>8&255,e&255,1)}function Si(e,n,i,o){return o<=0&&(e=n=i=NaN),new _e(e,n,i,o)}function cm(e){return e instanceof Vn||(e=dn(e)),e?(e=e.rgb(),new _e(e.r,e.g,e.b,e.opacity)):new _e}function Io(e,n,i,o){return arguments.length===1?cm(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}Bo(_e,Io,Ea(Vn,{brighter(e){return e=e==null?xi:Math.pow(xi,e),new _e(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?zn:Math.pow(zn,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),wi(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:Ba,formatHex:Ba,formatHex8:bm,formatRgb:Ia,toString:Ia}));function Ba(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}`}function bm(){return`#${cn(this.r)}${cn(this.g)}${cn(this.b)}${cn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ia(){const e=wi(this.opacity);return`${e===1?"rgb(":"rgba("}${un(this.r)}, ${un(this.g)}, ${un(this.b)}${e===1?")":`, ${e})`}`}function wi(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 Da(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 _a(e){if(e instanceof Ge)return new Ge(e.h,e.s,e.l,e.opacity);if(e instanceof Vn||(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 mm(e,n,i,o){return arguments.length===1?_a(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}Bo(Ge,mm,Ea(Vn,{brighter(e){return e=e==null?xi:Math.pow(xi,e),new Ge(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?zn:Math.pow(zn,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(Do(e>=240?e-240:e+120,s,o),Do(e,s,o),Do(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new Ge(Oa(this.h),Ni(this.s),Ni(this.l),wi(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=wi(this.opacity);return`${e===1?"hsl(":"hsla("}${Oa(this.h)}, ${Ni(this.s)*100}%, ${Ni(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Oa(e){return e=(e||0)%360,e<0?e+360:e}function Ni(e){return Math.max(0,Math.min(1,e||0))}function Do(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 _o=e=>()=>e;function vm(e,n){return function(i){return e+i*n}}function fm(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 hm(e){return(e=+e)==1?Ka:function(n,i){return i-n?fm(n,i,e):_o(isNaN(n)?i:n)}}function Ka(e,n){var i=n-e;return i?vm(e,i):_o(isNaN(e)?n:e)}const Ci=function e(n){var i=hm(n);function o(s,t){var l=i((s=Io(s)).r,(t=Io(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Ka(s.opacity,t.opacity);return function(b){return s.r=l(b),s.g=r(b),s.b=d(b),s.opacity=u(b),s+""}}return o.gamma=e,o}(1);function pm(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 gm(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ym(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]=jn(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 xm(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 Sm(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]=jn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Oo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ko=new RegExp(Oo.source,"g");function wm(e){return function(){return e}}function Nm(e){return function(n){return e(n)+""}}function Ha(e,n){var i=Oo.lastIndex=Ko.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Oo.exec(e))&&(s=Ko.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=Ko.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Nm(d[0].x):wm(n):(n=d.length,function(u){for(var b=0,c;b<n;++b)r[(c=d[b]).i]=c.x(u);return r.join("")})}function jn(e,n){var i=typeof n,o;return n==null||i==="boolean"?_o(n):(i==="number"?Ye:i==="string"?(o=dn(n))?(n=o,Ci):Ha:n instanceof dn?Ci:n instanceof Date?xm:gm(n)?pm:Array.isArray(n)?ym:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Sm:Ye)(e,n)}var Fa=180/Math.PI,Ho={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ga(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)*Fa,skewX:Math.atan(d)*Fa,scaleX:l,scaleY:r}}var Ai;function Cm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Ho:Ga(n.a,n.b,n.c,n.d,n.e,n.f)}function Am(e){return e==null||(Ai||(Ai=document.createElementNS("http://www.w3.org/2000/svg","g")),Ai.setAttribute("transform",e),!(e=Ai.transform.baseVal.consolidate()))?Ho:(e=e.matrix,Ga(e.a,e.b,e.c,e.d,e.e,e.f))}function Va(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,b,c,m,h,v){if(u!==c||b!==m){var p=h.push("translate(",null,n,null,i);v.push({i:p-4,x:Ye(u,c)},{i:p-2,x:Ye(b,m)})}else(c||m)&&h.push("translate("+c+n+m+i)}function l(u,b,c,m){u!==b?(u-b>180?b+=360:b-u>180&&(u+=360),m.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Ye(u,b)})):b&&c.push(s(c)+"rotate("+b+o)}function r(u,b,c,m){u!==b?m.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Ye(u,b)}):b&&c.push(s(c)+"skewX("+b+o)}function d(u,b,c,m,h,v){if(u!==c||b!==m){var p=h.push(s(h)+"scale(",null,",",null,")");v.push({i:p-4,x:Ye(u,c)},{i:p-2,x:Ye(b,m)})}else(c!==1||m!==1)&&h.push(s(h)+"scale("+c+","+m+")")}return function(u,b){var c=[],m=[];return u=e(u),b=e(b),t(u.translateX,u.translateY,b.translateX,b.translateY,c,m),l(u.rotate,b.rotate,c,m),r(u.skewX,b.skewX,c,m),d(u.scaleX,u.scaleY,b.scaleX,b.scaleY,c,m),u=b=null,function(h){for(var v=-1,p=m.length,y;++v<p;)c[(y=m[v]).i]=y.x(h);return c.join("")}}}var km=Va(Cm,"px, ","px)","deg)"),Em=Va(Am,", ",")",")"),Mm=1e-12;function za(e){return((e=Math.exp(e))+1/e)/2}function Tm(e){return((e=Math.exp(e))-1/e)/2}function Pm(e){return((e=Math.exp(2*e))-1)/(e+1)}const ki=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],b=l[0],c=l[1],m=l[2],h=b-r,v=c-d,p=h*h+v*v,y,g;if(p<Mm)g=Math.log(m/u)/n,y=function(A){return[r+A*h,d+A*v,u*Math.exp(n*A*g)]};else{var x=Math.sqrt(p),f=(m*m-u*u+o*p)/(2*u*i*x),w=(m*m-u*u-o*p)/(2*m*i*x),N=Math.log(Math.sqrt(f*f+1)-f),C=Math.log(Math.sqrt(w*w+1)-w);g=(C-N)/n,y=function(A){var E=A*g,k=za(N),I=u/(i*x)*(k*Pm(n*E+N)-Tm(N));return[r+I*h,d+I*v,u*k/za(n*E+N)]}}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 Cn=0,Wn=0,Un=0,$a=1e3,Ei,qn,Mi=0,bn=0,Ti=0,Yn=typeof performance=="object"&&performance.now?performance:Date,ja=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Fo(){return bn||(ja(Lm),bn=Yn.now()+Ti)}function Lm(){bn=0}function Pi(){this._call=this._time=this._next=null}Pi.prototype=Wa.prototype={constructor:Pi,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?Fo():+i)+(n==null?0:+n),!this._next&&qn!==this&&(qn?qn._next=this:Ei=this,qn=this),this._call=e,this._time=i,Go()},stop:function(){this._call&&(this._call=null,this._time=1/0,Go())}};function Wa(e,n,i){var o=new Pi;return o.restart(e,n,i),o}function Bm(){Fo(),++Cn;for(var e=Ei,n;e;)(n=bn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Cn}function Ua(){bn=(Mi=Yn.now())+Ti,Cn=Wn=0;try{Bm()}finally{Cn=0,Dm(),bn=0}}function Im(){var e=Yn.now(),n=e-Mi;n>$a&&(Ti-=n,Mi=e)}function Dm(){for(var e,n=Ei,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:Ei=i);qn=e,Go(o)}function Go(e){if(!Cn){Wn&&(Wn=clearTimeout(Wn));var n=e-bn;n>24?(e<1/0&&(Wn=setTimeout(Ua,e-Yn.now()-Ti)),Un&&(Un=clearInterval(Un))):(Un||(Mi=Yn.now(),Un=setInterval(Im,$a)),Cn=1,ja(Ua))}}function qa(e,n,i){var o=new Pi;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var _m=fi("start","end","cancel","interrupt"),Om=[],Ya=0,Ja=1,Vo=2,Li=3,Za=4,zo=5,Bi=6;function Ii(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;Km(e,i,{name:n,index:o,group:s,on:_m,tween:Om,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Ya})}function $o(e,n){var i=Ve(e,n);if(i.state>Ya)throw new Error("too late; already scheduled");return i}function Je(e,n){var i=Ve(e,n);if(i.state>Li)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 Km(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Wa(t,0,i.time);function t(u){i.state=Ja,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var b,c,m,h;if(i.state!==Ja)return d();for(b in o)if(h=o[b],h.name===i.name){if(h.state===Li)return qa(l);h.state===Za?(h.state=Bi,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete o[b]):+b<n&&(h.state=Bi,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete o[b])}if(qa(function(){i.state===Li&&(i.state=Za,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Vo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Vo){for(i.state=Li,s=new Array(m=i.tween.length),b=0,c=-1;b<m;++b)(h=i.tween[b].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=h);s.length=c+1}}function r(u){for(var b=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=zo,1),c=-1,m=s.length;++c<m;)s[c].call(e,b);i.state===zo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Bi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Di(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>Vo&&o.state<zo,o.state=Bi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function Hm(e){return this.each(function(){Di(this,e)})}function Fm(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 Gm(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 Vm(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?Fm:Gm)(i,e,n))}function jo(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 Xa(e,n){var i;return(typeof n=="number"?Ye:n instanceof dn?Ci:(i=dn(n))?(n=i,Ci):Ha)(e,n)}function zm(e){return function(){this.removeAttribute(e)}}function $m(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jm(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 Wm(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 Um(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 qm(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 Ym(e,n){var i=pi(e),o=i==="transform"?Em:Xa;return this.attrTween(e,typeof n=="function"?(i.local?qm:Um)(i,o,jo(this,"attr."+e,n)):n==null?(i.local?$m:zm)(i):(i.local?Wm:jm)(i,o,n))}function Jm(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function Zm(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function Xm(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 Qm(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&Jm(e,t)),i}return s._value=n,s}function Rm(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=pi(e);return this.tween(i,(o.local?Xm:Qm)(o,n))}function ev(e,n){return function(){$o(this,e).delay=+n.apply(this,arguments)}}function nv(e,n){return n=+n,function(){$o(this,e).delay=n}}function iv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?ev:nv)(n,e)):Ve(this.node(),n).delay}function ov(e,n){return function(){Je(this,e).duration=+n.apply(this,arguments)}}function sv(e,n){return n=+n,function(){Je(this,e).duration=n}}function av(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?ov:sv)(n,e)):Ve(this.node(),n).duration}function tv(e,n){if(typeof n!="function")throw new Error;return function(){Je(this,e).ease=n}}function lv(e){var n=this._id;return arguments.length?this.each(tv(n,e)):Ve(this.node(),n).ease}function rv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Je(this,e).ease=i}}function dv(e){if(typeof e!="function")throw new Error;return this.each(rv(this._id,e))}function uv(e){typeof e!="function"&&(e=va(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 cv(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],b=d.length,c=l[r]=new Array(b),m,h=0;h<b;++h)(m=d[h]||u[h])&&(c[h]=m);for(;r<o;++r)l[r]=n[r];return new Xe(l,this._parents,this._name,this._id)}function bv(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 mv(e,n,i){var o,s,t=bv(n)?$o:Je;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function vv(e,n){var i=this._id;return arguments.length<2?Ve(this.node(),i).on.on(e):this.each(mv(i,e,n))}function fv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function hv(){return this.on("end.remove",fv(this._id))}function pv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Mo(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),b,c,m=0;m<d;++m)(b=r[m])&&(c=e.call(b,b.__data__,m,r))&&("__data__"in b&&(c.__data__=b.__data__),u[m]=c,Ii(u[m],n,i,m,u,Ve(b,i)));return new Xe(t,this._parents,n,i)}function gv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=ma(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,b,c=0;c<u;++c)if(b=d[c]){for(var m=e.call(b,b.__data__,c,d),h,v=Ve(b,i),p=0,y=m.length;p<y;++p)(h=m[p])&&Ii(h,n,i,p,m,v);t.push(m),l.push(b)}return new Xe(t,l,n,i)}var yv=Fn.prototype.constructor;function xv(){return new yv(this._groups,this._parents)}function Sv(e,n){var i,o,s;return function(){var t=Sn(this,e),l=(this.style.removeProperty(e),Sn(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function Qa(e){return function(){this.style.removeProperty(e)}}function wv(e,n,i){var o,s=i+"",t;return function(){var l=Sn(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Nv(e,n,i){var o,s,t;return function(){var l=Sn(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),Sn(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Cv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Je(this,e),u=d.on,b=d.value[t]==null?r||(r=Qa(n)):void 0;(u!==i||s!==b)&&(o=(i=u).copy()).on(l,s=b),d.on=o}}function Av(e,n,i){var o=(e+="")=="transform"?km:Xa;return n==null?this.styleTween(e,Sv(e,o)).on("end.style."+e,Qa(e)):typeof n=="function"?this.styleTween(e,Nv(e,o,jo(this,"style."+e,n))).each(Cv(this._id,e)):this.styleTween(e,wv(e,o,n),i).on("end.style."+e,null)}function kv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Ev(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&kv(e,l,i)),o}return t._value=n,t}function Mv(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,Ev(e,n,i==null?"":i))}function Tv(e){return function(){this.textContent=e}}function Pv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function Lv(e){return this.tween("text",typeof e=="function"?Pv(jo(this,"text",e)):Tv(e==null?"":e+""))}function Bv(e){return function(n){this.textContent=e.call(this,n)}}function Iv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Bv(s)),n}return o._value=e,o}function Dv(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,Iv(e))}function _v(){for(var e=this._name,n=this._id,i=Ra(),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 b=Ve(d,n);Ii(d,e,i,u,l,{time:b.time+b.delay+b.duration,delay:0,duration:b.duration,ease:b.ease})}return new Xe(o,this._parents,e,i)}function Ov(){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),b=u.on;b!==e&&(n=(e=b).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var Kv=0;function Xe(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function Ra(){return++Kv}var Qe=Fn.prototype;Xe.prototype={constructor:Xe,select:pv,selectAll:gv,selectChild:Qe.selectChild,selectChildren:Qe.selectChildren,filter:uv,merge:cv,selection:xv,transition:_v,call:Qe.call,nodes:Qe.nodes,node:Qe.node,size:Qe.size,empty:Qe.empty,each:Qe.each,on:vv,attr:Ym,attrTween:Rm,style:Av,styleTween:Mv,text:Lv,textTween:Dv,remove:hv,tween:Vm,delay:iv,duration:av,ease:lv,easeVarying:dv,end:Ov,[Symbol.iterator]:Qe[Symbol.iterator]};function Hv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Fv={time:null,delay:0,duration:250,ease:Hv};function Gv(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 Vv(e){var n,i;e instanceof Xe?(n=e._id,e=e._name):(n=Ra(),(i=Fv).time=Fo(),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])&&Ii(d,e,n,u,l,i||Gv(d,n));return new Xe(o,this._parents,e,n)}Fn.prototype.interrupt=Hm,Fn.prototype.transition=Vv;const _i=e=>()=>e;function zv(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 Oi=new Re(1,0,0);et.prototype=Re.prototype;function et(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Oi;return e.__zoom}function Wo(e){e.stopImmediatePropagation()}function Jn(e){e.preventDefault(),e.stopImmediatePropagation()}function $v(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function jv(){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 nt(){return this.__zoom||Oi}function Wv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Uv(){return navigator.maxTouchPoints||"ontouchstart"in this}function qv(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 it(){var e=$v,n=jv,i=qv,o=Wv,s=Uv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=ki,u=fi("start","zoom","end"),b,c,m,h=500,v=150,p=0,y=10;function g(T){T.property("__zoom",nt).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",K).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(T,B,L,O){var _=T.selection?T.selection():T;_.property("__zoom",nt),T!==_?N(T,B,L,O):_.interrupt().each(function(){C(this,arguments).event(O).start().zoom(null,typeof B=="function"?B.apply(this,arguments):B).end()})},g.scaleBy=function(T,B,L,O){g.scaleTo(T,function(){var _=this.__zoom.k,D=typeof B=="function"?B.apply(this,arguments):B;return _*D},L,O)},g.scaleTo=function(T,B,L,O){g.transform(T,function(){var _=n.apply(this,arguments),D=this.__zoom,W=L==null?w(_):typeof L=="function"?L.apply(this,arguments):L,U=D.invert(W),V=typeof B=="function"?B.apply(this,arguments):B;return i(f(x(D,V),W,U),_,l)},L,O)},g.translateBy=function(T,B,L,O){g.transform(T,function(){return i(this.__zoom.translate(typeof B=="function"?B.apply(this,arguments):B,typeof L=="function"?L.apply(this,arguments):L),n.apply(this,arguments),l)},null,O)},g.translateTo=function(T,B,L,O,_){g.transform(T,function(){var D=n.apply(this,arguments),W=this.__zoom,U=O==null?w(D):typeof O=="function"?O.apply(this,arguments):O;return i(Oi.translate(U[0],U[1]).scale(W.k).translate(typeof B=="function"?-B.apply(this,arguments):-B,typeof L=="function"?-L.apply(this,arguments):-L),D,l)},O,_)};function x(T,B){return B=Math.max(t[0],Math.min(t[1],B)),B===T.k?T:new Re(B,T.x,T.y)}function f(T,B,L){var O=B[0]-L[0]*T.k,_=B[1]-L[1]*T.k;return O===T.x&&_===T.y?T:new Re(T.k,O,_)}function w(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function N(T,B,L,O){T.on("start.zoom",function(){C(this,arguments).event(O).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(O).end()}).tween("zoom",function(){var _=this,D=arguments,W=C(_,D).event(O),U=n.apply(_,D),V=L==null?w(U):typeof L=="function"?L.apply(_,D):L,z=Math.max(U[1][0]-U[0][0],U[1][1]-U[0][1]),X=_.__zoom,se=typeof B=="function"?B.apply(_,D):B,oe=d(X.invert(V).concat(z/X.k),se.invert(V).concat(z/se.k));return function(R){if(R===1)R=se;else{var Y=oe(R),ie=z/Y[2];R=new Re(ie,V[0]-Y[0]*ie,V[1]-Y[1]*ie)}W.zoom(null,R)}})}function C(T,B,L){return!L&&T.__zooming||new A(T,B)}function A(T,B){this.that=T,this.args=B,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,B),this.taps=0}A.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,B){return this.mouse&&T!=="mouse"&&(this.mouse[1]=B.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=B.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=B.invert(this.touch1[0])),this.that.__zoom=B,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var B=Ke(this.that).datum();u.call(T,this.that,new zv(T,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:u}),B)}};function E(T,...B){if(!e.apply(this,arguments))return;var L=C(this,B).event(T),O=this.__zoom,_=Math.max(t[0],Math.min(t[1],O.k*Math.pow(2,o.apply(this,arguments)))),D=Fe(T);if(L.wheel)(L.mouse[0][0]!==D[0]||L.mouse[0][1]!==D[1])&&(L.mouse[1]=O.invert(L.mouse[0]=D)),clearTimeout(L.wheel);else{if(O.k===_)return;L.mouse=[D,O.invert(D)],Di(this),L.start()}Jn(T),L.wheel=setTimeout(W,v),L.zoom("mouse",i(f(x(O,_),L.mouse[0],L.mouse[1]),L.extent,l));function W(){L.wheel=null,L.end()}}function k(T,...B){if(m||!e.apply(this,arguments))return;var L=T.currentTarget,O=C(this,B,!0).event(T),_=Ke(T.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",z,!0),D=Fe(T,L),W=T.clientX,U=T.clientY;Ca(T.view),Wo(T),O.mouse=[D,this.__zoom.invert(D)],Di(this),O.start();function V(X){if(Jn(X),!O.moved){var se=X.clientX-W,oe=X.clientY-U;O.moved=se*se+oe*oe>p}O.event(X).zoom("mouse",i(f(O.that.__zoom,O.mouse[0]=Fe(X,L),O.mouse[1]),O.extent,l))}function z(X){_.on("mousemove.zoom mouseup.zoom",null),Aa(X.view,O.moved),Jn(X),O.event(X).end()}}function I(T,...B){if(e.apply(this,arguments)){var L=this.__zoom,O=Fe(T.changedTouches?T.changedTouches[0]:T,this),_=L.invert(O),D=L.k*(T.shiftKey?.5:2),W=i(f(x(L,D),O,_),n.apply(this,B),l);Jn(T),r>0?Ke(this).transition().duration(r).call(N,W,O,T):Ke(this).call(g.transform,W,O,T)}}function M(T,...B){if(e.apply(this,arguments)){var L=T.touches,O=L.length,_=C(this,B,T.changedTouches.length===O).event(T),D,W,U,V;for(Wo(T),W=0;W<O;++W)U=L[W],V=Fe(U,this),V=[V,this.__zoom.invert(V),U.identifier],_.touch0?!_.touch1&&_.touch0[2]!==V[2]&&(_.touch1=V,_.taps=0):(_.touch0=V,D=!0,_.taps=1+!!b);b&&(b=clearTimeout(b)),D&&(_.taps<2&&(c=V[0],b=setTimeout(function(){b=null},h)),Di(this),_.start())}}function P(T,...B){if(this.__zooming){var L=C(this,B).event(T),O=T.changedTouches,_=O.length,D,W,U,V;for(Jn(T),D=0;D<_;++D)W=O[D],U=Fe(W,this),L.touch0&&L.touch0[2]===W.identifier?L.touch0[0]=U:L.touch1&&L.touch1[2]===W.identifier&&(L.touch1[0]=U);if(W=L.that.__zoom,L.touch1){var z=L.touch0[0],X=L.touch0[1],se=L.touch1[0],oe=L.touch1[1],R=(R=se[0]-z[0])*R+(R=se[1]-z[1])*R,Y=(Y=oe[0]-X[0])*Y+(Y=oe[1]-X[1])*Y;W=x(W,Math.sqrt(R/Y)),U=[(z[0]+se[0])/2,(z[1]+se[1])/2],V=[(X[0]+oe[0])/2,(X[1]+oe[1])/2]}else if(L.touch0)U=L.touch0[0],V=L.touch0[1];else return;L.zoom("touch",i(f(W,U,V),L.extent,l))}}function K(T,...B){if(this.__zooming){var L=C(this,B).event(T),O=T.changedTouches,_=O.length,D,W;for(Wo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},h),D=0;D<_;++D)W=O[D],L.touch0&&L.touch0[2]===W.identifier?delete L.touch0:L.touch1&&L.touch1[2]===W.identifier&&delete L.touch1;if(L.touch1&&!L.touch0&&(L.touch0=L.touch1,delete L.touch1),L.touch0)L.touch0[1]=this.__zoom.invert(L.touch0[0]);else if(L.end(),L.taps===2&&(W=Fe(W,this),Math.hypot(c[0]-W[0],c[1]-W[1])<y)){var U=Ke(this).on("dblclick.zoom");U&&U.apply(this,arguments)}}}return g.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:_i(+T),g):o},g.filter=function(T){return arguments.length?(e=typeof T=="function"?T:_i(!!T),g):e},g.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:_i(!!T),g):s},g.extent=function(T){return arguments.length?(n=typeof T=="function"?T:_i([[+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?(p=(T=+T)*T,g):Math.sqrt(p)},g.tapDistance=function(T){return arguments.length?(y=+T,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.`},Zn=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],ot=["Enter"," ","Escape"],st={"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 An;(function(e){e.Strict="strict",e.Loose="loose"})(An||(An={}));var mn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(mn||(mn={}));var Xn;(function(e){e.Partial="partial",e.Full="full"})(Xn||(Xn={}));const at={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 kn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(kn||(kn={}));var te;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(te||(te={}));const tt={[te.Left]:te.Right,[te.Right]:te.Left,[te.Top]:te.Bottom,[te.Bottom]:te.Top};function lt(e){return e===null?null:e?"valid":"invalid"}const rt=e=>"id"in e&&"source"in e&&"target"in e,Yv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Uo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Qn=(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}},Jv=(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):Uo(s)?s:n.nodeLookup.get(s.id));const r=l?Fi(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Ki(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Hi(i)},Rn=(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=Ki(i,Fi(s)),o=!0)}),o?Hi(i):{x:0,y:0,width:0,height:0}},qo=(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,b=n.height/s,c=[];for(const x of e.values()){const{measured:f,selectable:w=!0,hidden:N=!1}=x;if(l&&!w||N)continue;const C=(v=(h=(m=f.width)!=null?m:x.width)!=null?h:x.initialWidth)!=null?v:0,A=(g=(y=(p=f.height)!=null?p:x.height)!=null?y:x.initialHeight)!=null?g:0,{x:E,y:k}=x.internals.positionAbsolute,I=mt(r,d,u,b,E,k,C,A),M=C*A,P=t&&I>0;(!x.internals.handleBounds||P||I>=M||x.dragging)&&c.push(x)}return c},Zv=(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 Xv(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 Qv({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var b,c,m;if(e.size===0)return!0;const r=Xv(e,l),d=Rn(r),u=Zo(d,n,i,(b=l==null?void 0:l.minZoom)!=null?b:s,(c=l==null?void 0:l.maxZoom)!=null?c: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 dt({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},b=(h=l.origin)!=null?h:o;let c=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&&(c=[[d,u],[d+y,u+g]])}else r&&fn(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=fn(c)?vn(n,c,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)*b[0],y:m.y-u+((p=l.measured.height)!=null?p:0)*b[1]},positionAbsolute:m}}async function Rv({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),b=Zv(l,d);for(const m of d)r.has(m.id)&&!b.find(v=>v.id===m.id)&&b.push(m);if(!s)return{edges:b,nodes:l};const c=await s({nodes:l,edges:b});return typeof c=="boolean"?c?{edges:b,nodes:l}:{edges:[],nodes:[]}:c}const En=(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:En(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:En(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function ut(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 ct=(e,n,i)=>e<n?En(Math.abs(e-n),1,n)/n:e>i?-En(Math.abs(e-i),1,n)/n:0,Yo=(e,n,i=15,o=40)=>{const s=ct(e.x,o,n.width-o)*i,t=ct(e.y,o,n.height-o)*i;return[s,t]},Ki=(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)}),Jo=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),Hi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),ei=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Uo(e)?e.internals.positionAbsolute:Qn(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:(c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0}},Fi=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Uo(e)?e.internals.positionAbsolute:Qn(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+((c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0)}},bt=(e,n)=>Hi(Ki(Jo(e),Jo(n))),mt=(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)},Gi=(e,n)=>mt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),vt=e=>ze(e.width)&&ze(e.height)&&ze(e.x)&&ze(e.y),ze=e=>!isNaN(e)&&isFinite(e),ft=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ni=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ii=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ni(r,l):r},Mn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function Tn(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 ef(e,n,i){var o,s,t,l,r,d,u,b;if(typeof e=="string"||typeof e=="number"){const c=Tn(e,i),m=Tn(e,n);return{top:c,right:m,bottom:c,left:m,x:m*2,y:c*2}}if(typeof e=="object"){const c=Tn((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=Tn((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),h=Tn((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=Tn((b=(u=e.right)!=null?u:e.x)!=null?b:0,n);return{top:c,right:v,bottom:m,left:h,x:h+v,y:c+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function nf(e,n,i,o,s,t){const{x:l,y:r}=Mn(e,[n,i,o]),{x:d,y:u}=Mn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),b=s-d,c=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(b),bottom:Math.floor(c)}}const Zo=(e,n,i,o,s,t)=>{const l=ef(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),b=En(u,o,s),c=e.x+e.width/2,m=e.y+e.height/2,h=n/2-c*b,v=i/2-m*b,p=nf(e,h,v,b,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:b}},oi=()=>{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 ht(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 pt(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 gt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function of(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function sf(e){return{...st,...e||{}}}function si(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var b,c;const{x:t,y:l}=$e(e),r=ii({x:t-((b=s==null?void 0:s.left)!=null?b:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?ni(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const Xo=e=>({width:e.offsetWidth,height:e.offsetHeight}),yt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},af=["INPUT","SELECT","TEXTAREA"];function xt(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:af.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const St=e=>"clientX"in e,$e=(e,n)=>{var t,l,r,d;const i=St(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)}},wt=(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,...Xo(l)}})};function Nt({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,b=Math.abs(d-e),c=Math.abs(u-n);return[d,u,b,c]}function Vi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Ct({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case te.Left:return[n-Vi(n-o,t),i];case te.Right:return[n+Vi(o-n,t),i];case te.Top:return[n,i-Vi(i-s,t)];case te.Bottom:return[n,i+Vi(s-i,t)]}}function At({sourceX:e,sourceY:n,sourcePosition:i=te.Bottom,targetX:o,targetY:s,targetPosition:t=te.Top,curvature:l=.25}){const[r,d]=Ct({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,b]=Ct({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[c,m,h,v]=Nt({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:b});return[`M${e},${n} C${r},${d} ${u},${b} ${o},${s}`,c,m,h,v]}function kt({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 tf({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 lf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Ki(Fi(e),Fi(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 Gi(l,Hi(t))>0}const rf=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,df=(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)),uf=(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||rf;let s;return rt(e)?s={...e}:s={...e,id:o(e)},df(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Et({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=kt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Mt={[te.Left]:{x:-1,y:0},[te.Right]:{x:1,y:0},[te.Top]:{x:0,y:-1},[te.Bottom]:{x:0,y:1}},cf=({source:e,sourcePosition:n=te.Bottom,target:i})=>n===te.Left||n===te.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},Tt=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function bf({source:e,sourcePosition:n=te.Bottom,target:i,targetPosition:o=te.Top,center:s,offset:t,stepPosition:l}){var E,k,I,M;const r=Mt[n],d=Mt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},b={x:i.x+d.x*t,y:i.y+d.y*t},c=cf({source:u,sourcePosition:n,target:b}),m=c.x!==0?"x":"y",h=c[m];let v=[],p,y;const g={x:0,y:0},x={x:0,y:0},[,,f,w]=kt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(p=(E=s.x)!=null?E:u.x+(b.x-u.x)*l,y=(k=s.y)!=null?k:(u.y+b.y)/2):(p=(I=s.x)!=null?I:(u.x+b.x)/2,y=(M=s.y)!=null?M:u.y+(b.y-u.y)*l);const P=[{x:p,y:u.y},{x:p,y:b.y}],K=[{x:u.x,y},{x:b.x,y}];r[m]===h?v=m==="x"?P:K:v=m==="x"?K:P}else{const P=[{x:u.x,y:b.y}],K=[{x:b.x,y:u.y}];if(m==="x"?v=r.x===h?K:P:v=r.y===h?P:K,n===o){const _=Math.abs(e[m]-i[m]);if(_<=t){const D=Math.min(t-1,t-_);r[m]===h?g[m]=(u[m]>e[m]?-1:1)*D:x[m]=(b[m]>i[m]?-1:1)*D}}if(n!==o){const _=m==="x"?"y":"x",D=r[m]===d[_],W=u[_]>b[_],U=u[_]<b[_];(r[m]===1&&(!D&&W||D&&U)||r[m]!==1&&(!D&&U||D&&W))&&(v=m==="x"?P:K)}const T={x:u.x+g.x,y:u.y+g.y},B={x:b.x+x.x,y:b.y+x.y},L=Math.max(Math.abs(T.x-v[0].x),Math.abs(B.x-v[0].x)),O=Math.max(Math.abs(T.y-v[0].y),Math.abs(B.y-v[0].y));L>=O?(p=(T.x+B.x)/2,y=v[0].y):(p=v[0].x,y=(T.y+B.y)/2)}const N={x:u.x+g.x,y:u.y+g.y},C={x:b.x+x.x,y:b.y+x.y};return[[e,...N.x!==v[0].x||N.y!==v[0].y?[N]:[],...v,...C.x!==v[v.length-1].x||C.y!==v[v.length-1].y?[C]:[],i],p,y,f,w]}function mf(e,n,i,o){const s=Math.min(Tt(e,n)/2,Tt(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,b=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*b}`}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 Qo({sourceX:e,sourceY:n,sourcePosition:i=te.Bottom,targetX:o,targetY:s,targetPosition:t=te.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:b=.5}){const[c,m,h,v,p]=bf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:b});let y=`M${c[0].x} ${c[0].y}`;for(let g=1;g<c.length-1;g++)y+=mf(c[g-1],c[g],c[g+1],l);return y+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[y,m,h,v,p]}function Pt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function vf(e){var c,m,h,v,p;const{sourceNode:n,targetNode:i}=e;if(!Pt(n)||!Pt(i))return null;const o=n.internals.handleBounds||Lt(n.handles),s=i.internals.handleBounds||Lt(i.handles),t=Bt((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Bt(e.connectionMode===An.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)||te.Bottom,d=(l==null?void 0:l.position)||te.Top,u=hn(n,t,r),b=hn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:b.x,targetY:b.y,sourcePosition:r,targetPosition:d}}function Lt(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=te.Left,o=!1){var u,b,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((b=n==null?void 0:n.y)!=null?b: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((c=n==null?void 0:n.position)!=null?c:i){case te.Top:return{x:s+l/2,y:t};case te.Right:return{x:s+l,y:t+r/2};case te.Bottom:return{x:s+l/2,y:t+r};case te.Left:return{x:s,y:t+r/2}}}function Bt(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function Ro(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function ff(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=Ro(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 It=1e3,hf=10,es={nodeOrigin:[0,0],nodeExtent:Zn,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},pf={...es,checkEquality:!0};function ns(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function gf(e,n,i){const o=ns(es,i);for(const s of e.values())if(s.parentId)ss(s,e,n,o);else{const t=Qn(s,o.nodeOrigin),l=fn(s.extent)?s.extent:o.nodeExtent,r=vn(t,l,en(s));s.internals.positionAbsolute=r}}function yf(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 is(e){return e==="manual"}function os(e,n,i,o={}){var b,c,m;const s=ns(pf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!is(s.zIndexMode)?It: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=Qn(h,s.nodeOrigin),y=fn(h.extent)?h.extent:s.nodeExtent,g=vn(p,y,en(h));v={...s.defaults,...h,measured:{width:(b=h.measured)==null?void 0:b.width,height:(c=h.measured)==null?void 0:c.height},internals:{positionAbsolute:g,handleBounds:yf(h,v),z:Dt(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&&ss(v,n,i,o,t),u||(u=(m=h.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function xf(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 ss(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=ns(es,o),u=e.parentId,b=n.get(u);if(!b){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}xf(e,i),s&&!b.parentId&&b.internals.rootParentIndex===void 0&&d==="auto"&&(b.internals.rootParentIndex=++s.i,b.internals.z=b.internals.z+s.i*hf),s&&b.internals.rootParentIndex!==void 0&&(s.i=b.internals.rootParentIndex);const c=t&&!is(d)?It:0,{x:m,y:h,z:v}=Sf(e,b,l,r,c,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 Dt(e,n,i){const o=ze(e.zIndex)?e.zIndex:0;return is(i)?o:o+(e.selected?n:0)}function Sf(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=en(e),u=Qn(e,i),b=fn(e.extent)?vn(u,e.extent,d):u;let c=vn({x:l+b.x,y:r+b.y},o,d);e.extent==="parent"&&(c=ut(c,d,n));const m=Dt(e,s,t),h=(v=n.internals.z)!=null?v:0;return{x:c.x,y:c.y,z:h>=m?h+1:m}}function as(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 b=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:ei(u),c=bt(b,d.rect);t.set(d.parentId,{expandedRect:c,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},b)=>{var w,N;const c=u.internals.positionAbsolute,m=en(u),h=(w=u.origin)!=null?w:o,v=d.x<c.x?Math.round(Math.abs(c.x-d.x)):0,p=d.y<c.y?Math.round(Math.abs(c.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:b,type:"position",position:{x:u.position.x-v+x,y:u.position.y-p+f}}),(N=i.get(b))==null||N.forEach(C=>{e.some(A=>A.id===C.id)||s.push({id:C.id,type:"position",position:{x:C.position.x+v,y:C.position.y+p}})})),(m.width<d.width||m.height<d.height||v||p)&&s.push({id:b,type:"dimensions",setAttributes:!0,dimensions:{width:y+(v?h[0]*v-x:0),height:g+(p?h[1]*p-f:0)}})}),s}function wf(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=[],b=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(b.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=Xo(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:w}=v.internals;v.parentId&&v.extent==="parent"?w=ut(w,p,n.get(v.parentId)):f&&(w=vn(w,f,p));const N={...v,measured:p,internals:{...v.internals,positionAbsolute:w,handleBounds:{source:wt("source",h.nodeElement,x,c,v.id),target:wt("target",h.nodeElement,x,c,v.id)}}};n.set(v.id,N),v.parentId&&ss(N,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:ei(N,s)}))}}if(m.length>0){const h=as(m,n,i,s);u.push(...h)}return{changes:u,updatedInternals:d}}async function Nf({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 _t(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 Ot(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}`,b=`${t}-${r}--${s}-${l}`;_t("source",d,b,e,s,l),_t("target",d,u,e,t,r),n.set(o.id,o)}}function Kt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Kt(i,n):!1}function Ht(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 Cf(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||!Kt(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 ts({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,b]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:b.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 Af({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=ni(t,n);return{x:l.x-t.x,y:l.y-t.y}}function kf({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},b=null,c=!1,m=null,h=!1,v=!1,p=null;function y({noDragClassName:x,handleSelector:f,domNode:w,isSelectable:N,nodeId:C,nodeClickDistance:A=0}){m=Ke(w);function E({x:P,y:K}){const{nodeLookup:T,nodeExtent:B,snapGrid:L,snapToGrid:O,nodeOrigin:_,onNodeDrag:D,onSelectionDrag:W,onError:U,updateNodePositions:V}=n();t={x:P,y:K};let z=!1;const X=r.size>1,se=X&&B?Jo(Rn(r)):null,oe=X&&O?Af({dragItems:r,snapGrid:L,x:P,y:K}):null;for(const[R,Y]of r){if(!T.has(R))continue;let ie={x:P-Y.distance.x,y:K-Y.distance.y};O&&(ie=oe?{x:Math.round(ie.x+oe.x),y:Math.round(ie.y+oe.y)}:ni(ie,L));let Z=null;if(X&&B&&!Y.extent&&se){const{positionAbsolute:F}=Y.internals,H=F.x-se.x+B[0][0],j=F.x+Y.measured.width-se.x2+B[1][0],$=F.y-se.y+B[0][1],Q=F.y+Y.measured.height-se.y2+B[1][1];Z=[[H,$],[j,Q]]}const{position:q,positionAbsolute:G}=dt({nodeId:R,nextPosition:ie,nodeLookup:T,nodeExtent:Z||B,nodeOrigin:_,onError:U});z=z||Y.position.x!==q.x||Y.position.y!==q.y,Y.position=q,Y.internals.positionAbsolute=G}if(v=v||z,!!z&&(V(r,!0),p&&(o||D||!C&&W))){const[R,Y]=ts({nodeId:C,dragItems:r,nodeLookup:T});o==null||o(p,r,R,Y),D==null||D(p,R,Y),C||W==null||W(p,Y)}}async function k(){var _,D;if(!b)return;const{transform:P,panBy:K,autoPanSpeed:T,autoPanOnNodeDrag:B}=n();if(!B){d=!1,cancelAnimationFrame(l);return}const[L,O]=Yo(u,b,T);(L!==0||O!==0)&&(t.x=((_=t.x)!=null?_:0)-L/P[2],t.y=((D=t.y)!=null?D:0)-O/P[2],await K({x:L,y:O})&&E(t)),l=requestAnimationFrame(k)}function I(P){var X;const{nodeLookup:K,multiSelectionActive:T,nodesDraggable:B,transform:L,snapGrid:O,snapToGrid:_,selectNodesOnDrag:D,onNodeDragStart:W,onSelectionDragStart:U,unselectNodesAndEdges:V}=n();c=!0,(!D||!N)&&!T&&C&&((X=K.get(C))!=null&&X.selected||V()),N&&D&&C&&(e==null||e(C));const z=si(P.sourceEvent,{transform:L,snapGrid:O,snapToGrid:_,containerBounds:b});if(t=z,r=Cf(K,B,z,C),r.size>0&&(i||W||!C&&U)){const[se,oe]=ts({nodeId:C,dragItems:r,nodeLookup:K});i==null||i(P.sourceEvent,r,se,oe),W==null||W(P.sourceEvent,se,oe),C||U==null||U(P.sourceEvent,oe)}}const M=ka().clickDistance(A).on("start",P=>{const{domNode:K,nodeDragThreshold:T,transform:B,snapGrid:L,snapToGrid:O}=n();b=(K==null?void 0:K.getBoundingClientRect())||null,h=!1,v=!1,p=P.sourceEvent,T===0&&I(P),t=si(P.sourceEvent,{transform:B,snapGrid:L,snapToGrid:O,containerBounds:b}),u=$e(P.sourceEvent,b)}).on("drag",P=>{const{autoPanOnNodeDrag:K,transform:T,snapGrid:B,snapToGrid:L,nodeDragThreshold:O,nodeLookup:_}=n(),D=si(P.sourceEvent,{transform:T,snapGrid:B,snapToGrid:L,containerBounds:b});if(p=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||C&&!_.has(C))&&(h=!0),!h){if(!d&&K&&c&&(d=!0,k()),!c){const W=$e(P.sourceEvent,b),U=W.x-u.x,V=W.y-u.y;Math.sqrt(U*U+V*V)>O&&I(P)}(t.x!==D.xSnapped||t.y!==D.ySnapped)&&r&&c&&(u=$e(P.sourceEvent,b),E(D))}}).on("end",P=>{if(!c||h){h&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:K,updateNodePositions:T,onNodeDragStop:B,onSelectionDragStop:L}=n();if(v&&(T(r,!1),v=!1),s||B||!C&&L){const[O,_]=ts({nodeId:C,dragItems:r,nodeLookup:K,dragging:!1});s==null||s(P.sourceEvent,r,O,_),B==null||B(P.sourceEvent,O,_),C||L==null||L(P.sourceEvent,_)}}}).filter(P=>{const K=P.target;return!P.button&&(!x||!Ht(K,`.${x}`,w))&&(!f||Ht(K,f,w))});m.call(M)}function g(){m==null||m.on(".drag",null)}return{update:y,destroy:g}}function Ef(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())Gi(s,ei(t))>0&&o.push(t);return o}const Mf=250;function Tf(e,n,i,o){var r,d,u,b,c;let s=[],t=1/0;const l=Ef(e,i,n+Mf);for(const m of l){const h=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(b=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?b:[]];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(c=s.find(h=>h.type===m))!=null?c:s[0]}return s[0]}function Ft(e,n,i,o,s,t=!1){var u,b,c,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]:[...(c=(b=l.internals.handleBounds)==null?void 0:b.source)!=null?c:[],...(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 Gt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Pf(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const Vt=()=>!0;function Lf(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:b,flowId:c,panBy:m,cancelConnection:h,onConnectStart:v,onConnect:p,onConnectEnd:y,isValidConnection:g=Vt,onReconnectEnd:x,updateConnection:f,getTransform:w,getFromHandle:N,autoPanSpeed:C,dragThreshold:A=1,handleDomNode:E}){const k=yt(e.target);let I=0,M;const{x:P,y:K}=$e(e),T=Gt(t,E),B=r==null?void 0:r.getBoundingClientRect();let L=!1;if(!B||!T)return;const O=Ft(s,T,o,d,n);if(!O)return;let _=$e(e,B),D=!1,W=null,U=!1,V=null;function z(){if(!b||!B)return;const[q,G]=Yo(_,B,C);m({x:q,y:G}),I=requestAnimationFrame(z)}const X={...O,nodeId:s,type:T,position:O.position},se=d.get(s);let R={inProgress:!0,isValid:null,from:hn(se,X,te.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:se,to:_,toHandle:null,toPosition:tt[X.position],toNode:null,pointer:_};function Y(){L=!0,f(R),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}A===0&&Y();function ie(q){if(!L){const{x:Q,y:J}=$e(q),ne=Q-P,ae=J-K;if(!(ne*ne+ae*ae>A*A))return;Y()}if(!N()||!X){Z(q);return}const G=w();_=$e(q,B),M=Tf(ii(_,G,!1,[1,1]),i,d,X),D||(z(),D=!0);const F=zt(q,{handle:M,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:g,doc:k,lib:u,flowId:c,nodeLookup:d});V=F.handleDomNode,W=F.connection,U=Pf(!!M,F.isValid);const H=d.get(s),j=H?hn(H,X,te.Left,!0):R.from,$={...R,from:j,isValid:U,to:F.toHandle&&U?Mn({x:F.toHandle.x,y:F.toHandle.y},G):_,toHandle:F.toHandle,toPosition:U&&F.toHandle?F.toHandle.position:tt[X.position],toNode:F.toHandle?d.get(F.toHandle.nodeId):null,pointer:_};f($),R=$}function Z(q){if(!("touches"in q&&q.touches.length>0)){if(L){(M||V)&&W&&U&&(p==null||p(W));const{inProgress:G,...F}=R,H={...F,toPosition:R.toHandle?R.toPosition:null};y==null||y(q,H),t&&(x==null||x(q,H))}h(),cancelAnimationFrame(I),D=!1,U=!1,W=null,V=null,k.removeEventListener("mousemove",ie),k.removeEventListener("mouseup",Z),k.removeEventListener("touchmove",ie),k.removeEventListener("touchend",Z)}}k.addEventListener("mousemove",ie),k.addEventListener("mouseup",Z),k.addEventListener("touchmove",ie),k.addEventListener("touchend",Z)}function zt(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=Vt,nodeLookup:b}){const c=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=Gt(void 0,y),f=y.getAttribute("data-nodeid"),w=y.getAttribute("data-handleid"),N=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!f||!x)return g;const A={source:c?f:o,sourceHandle:c?w:s,target:c?o:f,targetHandle:c?s:w};g.connection=A;const k=N&&C&&(i===An.Strict?c&&x==="source"||!c&&x==="target":f!==o||w!==s);g.isValid=k&&u(A),g.toHandle=Ft(f,x,w,b,i,!0)}return g}const ls={onPointerDown:Lf,isValid:zt};function Bf({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ke(e);function t({translateExtent:r,width:d,height:u,zoomStep:b=1,pannable:c=!0,zoomable:m=!0,inversePan:h=!1}){const v=f=>{if(f.sourceEvent.type!=="wheel"||!n)return;const w=i(),N=f.sourceEvent.ctrlKey&&oi()?10:1,C=-f.sourceEvent.deltaY*(f.sourceEvent.deltaMode===1?.05:f.sourceEvent.deltaMode?1:.002)*b,A=w[2]*Math.pow(2,C*N);n.scaleTo(A)};let p=[0,0];const y=f=>{var w,N;(f.sourceEvent.type==="mousedown"||f.sourceEvent.type==="touchstart")&&(p=[(w=f.sourceEvent.clientX)!=null?w:f.sourceEvent.touches[0].clientX,(N=f.sourceEvent.clientY)!=null?N:f.sourceEvent.touches[0].clientY])},g=f=>{var I,M;const w=i();if(f.sourceEvent.type!=="mousemove"&&f.sourceEvent.type!=="touchmove"||!n)return;const N=[(I=f.sourceEvent.clientX)!=null?I:f.sourceEvent.touches[0].clientX,(M=f.sourceEvent.clientY)!=null?M:f.sourceEvent.touches[0].clientY],C=[N[0]-p[0],N[1]-p[1]];p=N;const A=o()*Math.max(w[2],Math.log(w[2]))*(h?-1:1),E={x:w[0]-C[0]*A,y:w[1]-C[1]*A},k=[[0,0],[d,u]];n.setViewportConstrained({x:E.x,y:E.y,zoom:w[2]},k,r)},x=it().on("start",y).on("zoom",c?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 zi=e=>({x:e.x,y:e.y,zoom:e.k}),rs=({x:e,y:n,zoom:i})=>Oi.translate(e,n).scale(i),Pn=(e,n)=>e.target.closest(`.${n}`),$t=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),If=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ds=(e,n=0,i=If,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},jt=e=>{const n=e.ctrlKey&&oi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Df({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return b=>{if(Pn(b,n))return b.ctrlKey&&b.preventDefault(),!1;b.preventDefault(),b.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(b.ctrlKey&&l){const y=Fe(b),g=jt(b),x=c*Math.pow(2,g);o.scaleTo(i,x,y,b);return}const m=b.deltaMode===1?20:1;let h=s===mn.Vertical?0:b.deltaX*m,v=s===mn.Horizontal?0:b.deltaY*m;!oi()&&b.shiftKey&&s!==mn.Vertical&&(h=b.deltaY*m,v=0),o.translateBy(i,-(h/c)*t,-(v/c)*t,{internal:!0});const p=zi(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(b,p),e.panScrollTimeout=setTimeout(()=>{u==null||u(b,p),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(b,p))}}function _f({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Pn(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Of({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=zi(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 Kf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&$t(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,zi(t.transform)))}}function Hf({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&&$t(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=zi(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Ff({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:b}){return c=>{var y;const m=e||n,h=i&&c.ctrlKey,v=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Pn(c,`${u}-flow__node`)||Pn(c,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||b&&!v||Pn(c,r)&&v||Pn(c,d)&&(!v||s&&v&&!e)||!i&&c.ctrlKey&&v)return!1;if(!i&&c.type==="touchstart"&&((y=c.touches)==null?void 0:y.length)>1)return c.preventDefault(),!1;if(!m&&!s&&!h&&v||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;const p=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||v)&&p}}function Gf({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},b=e.getBoundingClientRect(),c=it().scaleExtent([n,i]).translateExtent(o),m=Ke(e).call(c);x({x:s.x,y:s.y,zoom:En(s.zoom,n,i)},[[0,0],[b.width,b.height]],o);const h=m.on("wheel.zoom"),v=m.on("dblclick.zoom");c.wheelDelta(jt);async function p(M,P){return m?new Promise(K=>{c==null||c.interpolate((P==null?void 0:P.interpolate)==="linear"?jn:ki).transform(ds(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),M)}):!1}function y({noWheelClassName:M,noPanClassName:P,onPaneContextMenu:K,userSelectionActive:T,panOnScroll:B,panOnDrag:L,panOnScrollMode:O,panOnScrollSpeed:_,preventScrolling:D,zoomOnPinch:W,zoomOnScroll:U,zoomOnDoubleClick:V,zoomActivationKeyPressed:z,lib:X,onTransformChange:se,connectionInProgress:oe,paneClickDistance:R,selectionOnDrag:Y}){T&&!u.isZoomingOrPanning&&g();const ie=B&&!z&&!T;c.clickDistance(Y?1/0:!ze(R)||R<0?0:R);const Z=ie?Df({zoomPanValues:u,noWheelClassName:M,d3Selection:m,d3Zoom:c,panOnScrollMode:O,panOnScrollSpeed:_,zoomOnPinch:W,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):_f({noWheelClassName:M,preventScrolling:D,d3ZoomHandler:h});m.on("wheel.zoom",Z,{passive:!1});const q=Of({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",q);const G=Kf({zoomPanValues:u,panOnDrag:L,onPaneContextMenu:!!K,onPanZoom:t,onTransformChange:se});c.on("zoom",G);const F=Hf({zoomPanValues:u,panOnDrag:L,panOnScroll:B,onPaneContextMenu:K,onPanZoomEnd:r,onDraggingChange:d});c.on("end",F);const H=Ff({zoomActivationKeyPressed:z,panOnDrag:L,zoomOnScroll:U,panOnScroll:B,zoomOnDoubleClick:V,zoomOnPinch:W,userSelectionActive:T,noPanClassName:P,noWheelClassName:M,lib:X,connectionInProgress:oe});c.filter(H),V?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function g(){c.on("zoom",null)}async function x(M,P,K){const T=rs(M),B=c==null?void 0:c.constrain()(T,P,K);return B&&await p(B),B}async function f(M,P){const K=rs(M);return await p(K,P),K}function w(M){if(m){const P=rs(M),K=m.property("__zoom");(K.k!==M.zoom||K.x!==M.x||K.y!==M.y)&&(c==null||c.transform(m,P,null,{sync:!0}))}}function N(){const M=m?et(m.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function C(M,P){return m?new Promise(K=>{c==null||c.interpolate((P==null?void 0:P.interpolate)==="linear"?jn:ki).scaleTo(ds(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),M)}):!1}async function A(M,P){return m?new Promise(K=>{c==null||c.interpolate((P==null?void 0:P.interpolate)==="linear"?jn:ki).scaleBy(ds(m,P==null?void 0:P.duration,P==null?void 0:P.ease,()=>K(!0)),M)}):!1}function E(M){c==null||c.scaleExtent(M)}function k(M){c==null||c.translateExtent(M)}function I(M){const P=!ze(M)||M<0?0:M;c==null||c.clickDistance(P)}return{update:y,destroy:g,setViewport:f,setViewportConstrained:x,getViewport:N,scaleTo:C,scaleBy:A,setScaleExtent:E,setTranslateExtent:k,syncViewport:w,setClickDistance:I}}var Ln;(function(e){e.Line="line",e.Handle="handle"})(Ln||(Ln={}));function Vf({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 Wt(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 $i(e,n,i){return Math.max(0,n-e,e-i)}function Ut(e,n){return e?!n:n}function zf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:b,isVertical:c}=n,m=b&&c,{xSnapped:h,ySnapped:v}=i,{minWidth:p,maxWidth:y,minHeight:g,maxHeight:x}=o,{x:f,y:w,width:N,height:C,aspectRatio:A}=e;let E=Math.floor(b?h-e.pointerX:0),k=Math.floor(c?v-e.pointerY:0);const I=N+(d?-E:E),M=C+(u?-k:k),P=-t[0]*N,K=-t[1]*C;let T=$i(I,p,y),B=$i(M,g,x);if(l){let _=0,D=0;d&&E<0?_=an(f+E+P,l[0][0]):!d&&E>0&&(_=tn(f+I+P,l[1][0])),u&&k<0?D=an(w+k+K,l[0][1]):!u&&k>0&&(D=tn(w+M+K,l[1][1])),T=Math.max(T,_),B=Math.max(B,D)}if(r){let _=0,D=0;d&&E>0?_=tn(f+E,r[0][0]):!d&&E<0&&(_=an(f+I,r[1][0])),u&&k>0?D=tn(w+k,r[0][1]):!u&&k<0&&(D=an(w+M,r[1][1])),T=Math.max(T,_),B=Math.max(B,D)}if(s){if(b){const _=$i(I/A,g,x)*A;if(T=Math.max(T,_),l){let D=0;!d&&!u||d&&!u&&m?D=tn(w+K+I/A,l[1][1])*A:D=an(w+K+(d?E:-E)/A,l[0][1])*A,T=Math.max(T,D)}if(r){let D=0;!d&&!u||d&&!u&&m?D=an(w+I/A,r[1][1])*A:D=tn(w+(d?E:-E)/A,r[0][1])*A,T=Math.max(T,D)}}if(c){const _=$i(M*A,p,y)/A;if(B=Math.max(B,_),l){let D=0;!d&&!u||u&&!d&&m?D=tn(f+M*A+P,l[1][0])/A:D=an(f+(u?k:-k)*A+P,l[0][0])/A,B=Math.max(B,D)}if(r){let D=0;!d&&!u||u&&!d&&m?D=an(f+M*A,r[1][0])/A:D=tn(f+(u?k:-k)*A,r[0][0])/A,B=Math.max(B,D)}}}k=k+(k<0?B:-B),E=E+(E<0?T:-T),s&&(m?I>M*A?k=(Ut(d,u)?-E:E)/A:E=(Ut(d,u)?-k:k)*A:b?(k=E/A,u=d):(E=k*A,d=u));const L=d?f+E:f,O=u?w+k:w;return{width:N+(d?-E:E),height:C+(u?-k:k),x:t[0]*E*(d?-1:1)+L,y:t[1]*k*(u?-1:1)+O}}const qt={width:0,height:0,x:0,y:0},$f={...qt,pointerX:0,pointerY:0,aspectRatio:1};function jf(e,n,i){var u,b;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(b=e.measured.height)!=null?b:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Wf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ke(e);let l={controlDirection:Wt("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:b,keepAspectRatio:c,resizeDirection:m,onResizeStart:h,onResize:v,onResizeEnd:p,shouldResize:y}){let g={...qt},x={...$f};l={boundaries:b,resizeDirection:m,keepAspectRatio:c,controlDirection:Wt(u)};let f,w=null,N=[],C,A,E,k=!1;const I=ka().on("start",M=>{var W,U,V,z,X,se;const{nodeLookup:P,transform:K,snapGrid:T,snapToGrid:B,nodeOrigin:L,paneDomNode:O}=i();if(f=P.get(n),!f)return;w=(W=O==null?void 0:O.getBoundingClientRect())!=null?W:null;const{xSnapped:_,ySnapped:D}=si(M.sourceEvent,{transform:K,snapGrid:T,snapToGrid:B,containerBounds:w});g={width:(U=f.measured.width)!=null?U:0,height:(V=f.measured.height)!=null?V:0,x:(z=f.position.x)!=null?z:0,y:(X=f.position.y)!=null?X:0},x={...g,pointerX:_,pointerY:D,aspectRatio:g.width/g.height},C=void 0,A=fn(f.extent)?f.extent:void 0,f.parentId&&(f.extent==="parent"||f.expandParent)&&(C=P.get(f.parentId)),C&&f.extent==="parent"&&(A=[[0,0],[C.measured.width,C.measured.height]]),N=[],E=void 0;for(const[oe,R]of P)if(R.parentId===n&&(N.push({id:oe,position:{...R.position},extent:R.extent}),R.extent==="parent"||R.expandParent)){const Y=jf(R,f,(se=R.origin)!=null?se:L);E?E=[[Math.min(Y[0][0],E[0][0]),Math.min(Y[0][1],E[0][1])],[Math.max(Y[1][0],E[1][0]),Math.max(Y[1][1],E[1][1])]]:E=Y}h==null||h(M,{...g})}).on("drag",M=>{var j,$,Q;const{transform:P,snapGrid:K,snapToGrid:T,nodeOrigin:B}=i(),L=si(M.sourceEvent,{transform:P,snapGrid:K,snapToGrid:T,containerBounds:w}),O=[];if(!f)return;const{x:_,y:D,width:W,height:U}=g,V={},z=(j=f.origin)!=null?j:B,{width:X,height:se,x:oe,y:R}=zf(x,l.controlDirection,L,l.boundaries,l.keepAspectRatio,z,A,E),Y=X!==W,ie=se!==U,Z=oe!==_&&Y,q=R!==D&&ie;if(!Z&&!q&&!Y&&!ie)return;if((Z||q||z[0]===1||z[1]===1)&&(V.x=Z?oe:g.x,V.y=q?R:g.y,g.x=V.x,g.y=V.y,N.length>0)){const J=oe-_,ne=R-D;for(const ae of N)ae.position={x:ae.position.x-J+z[0]*(X-W),y:ae.position.y-ne+z[1]*(se-U)},O.push(ae)}if((Y||ie)&&(V.width=Y&&(!l.resizeDirection||l.resizeDirection==="horizontal")?X:g.width,V.height=ie&&(!l.resizeDirection||l.resizeDirection==="vertical")?se:g.height,g.width=V.width,g.height=V.height),C&&f.expandParent){const J=z[0]*(($=V.width)!=null?$:0);V.x&&V.x<J&&(g.x=J,x.x=x.x-(V.x-J));const ne=z[1]*((Q=V.height)!=null?Q:0);V.y&&V.y<ne&&(g.y=ne,x.y=x.y-(V.y-ne))}const G=Vf({width:g.width,prevWidth:W,height:g.height,prevHeight:U,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),F={...g,direction:G};(y==null?void 0:y(M,F))!==!1&&(k=!0,v==null||v(M,F),o(V,O))}).on("end",M=>{k&&(p==null||p(M,{...g}),s==null||s({...g}),k=!1)});t.call(I)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Uf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ji={exports:{}},us={},Wi={exports:{}},cs={};/**
|
|
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&ⅇ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={};/**
|
|
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
|
|
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={};/**
|
|
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
|
|
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}/**
|
|
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
|
|
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={};/**
|
|
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
|
|
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("+",`
|
|
71
71
|
`).replace(`
|
|
72
72
|
|
|
73
73
|
`,`
|
|
74
74
|
+`).split(`
|
|
75
|
-
`)),b=u.reduce((c,m)=>c.concat(...m),[]);return[u,b]}return[[],[]]},[e]);return S.useEffect(()=>{var b,c;const d=(b=n==null?void 0:n.target)!=null?b:ml,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!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)&&xt(p))return!1;const g=fl(p.code,r);if(t.current.add(p[g]),vl(l,t.current,!1)){const w=((f=(x=p.composedPath)==null?void 0:x.call(p))==null?void 0:f[0])||p.target,N=(w==null?void 0:w.nodeName)==="BUTTON"||(w==null?void 0:w.nodeName)==="A";n.preventDefault!==!1&&(s.current||!N)&&p.preventDefault(),o(!0)}},h=p=>{const y=fl(p.code,r);vl(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 vl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function fl(e,n){return n.includes(e)?"code":"key"}const Nh=()=>{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=Zo(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},b=(m=i.snapGrid)!=null?m:s,c=(h=i.snapToGrid)!=null?h:t;return ii(u,o,c,b)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Mn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function hl(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)Ch(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 Ch(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 pl(e,n){return hl(e,n)}function gl(e,n){return hl(e,n)}function pn(e,n){return{id:e,type:"select",selected:n}}function Bn(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 yl({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 xl(e){return{id:e.id,type:"remove"}}const Ah=ft("React Flow","https://reactflow.dev/");function kh(e,n,i={}){var o;return uf(e,n,{...i,onError:(o=i.onError)!=null?o:Ah})}const Sl=e=>Yv(e),Eh=e=>rt(e);function wl(e){return S.forwardRef(e)}const Mh=typeof window!="undefined"?S.useLayoutEffect:S.useEffect;function Nl(e){const[n,i]=S.useState(BigInt(0)),[o]=S.useState(()=>Th(()=>i(s=>s+BigInt(1))));return Mh(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Th(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Cl=S.createContext(null);function Ph({children:e}){const n=Se(),i=S.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:b,onNodesChange:c,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=yl({items:p,lookup:m});for(const g of v.values())y=g(y);b&&u(p),y.length>0?c==null||c(y):h&&window.requestAnimationFrame(()=>{const{fitViewQueued:g,nodes:x,setNodes:f}=n.getState();g&&f(x)})},[]),o=Nl(i),s=S.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:b,onEdgesChange:c,edgeLookup:m}=n.getState();let h=d;for(const v of r)h=typeof v=="function"?v(h):v;b?u(h):c&&c(yl({items:h,lookup:m}))},[]),t=Nl(s),l=S.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Cl.Provider,{value:l,children:e})}function Lh(){const e=S.useContext(Cl);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Bh=e=>!!e.panZoom;function vs(){const e=Nh(),n=Se(),i=Lh(),o=fe(Bh),s=S.useMemo(()=>{const t=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var g,x,f,w;const{nodeLookup:m,nodeOrigin:h}=n.getState(),v=Sl(c)?c:m.get(c.id),p=v.parentId?pt(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:(w=(f=v.measured)==null?void 0:f.height)!=null?w:v.height};return ei(y)},u=(c,m,h={replace:!1})=>{l(v=>v.map(p=>{if(p.id===c){const y=typeof m=="function"?m(p):m;return h.replace&&Sl(y)?y:{...p,...y}}return p}))},b=(c,m,h={replace:!1})=>{r(v=>v.map(p=>{if(p.id===c){const y=typeof m=="function"?m(p):m;return h.replace&&Eh(y)?y:{...p,...y}}return p}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var m;return(m=t(c))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(m=>({...m}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const m=Array.isArray(c)?c:[c];i.nodeQueue.push(h=>[...h,...m])},addEdges:c=>{const m=Array.isArray(c)?c:[c];i.edgeQueue.push(h=>[...h,...m])},toObject:()=>{const{nodes:c=[],edges:m=[],transform:h}=n.getState(),[v,p,y]=h;return{nodes:c.map(g=>({...g})),edges:m.map(g=>({...g})),viewport:{x:v,y:p,zoom:y}}},deleteElements:async({nodes:c=[],edges:m=[]})=>{const{nodes:h,edges:v,onNodesDelete:p,onEdgesDelete:y,triggerNodeChanges:g,triggerEdgeChanges:x,onDelete:f,onBeforeDelete:w}=n.getState(),{nodes:N,edges:C}=await Rv({nodesToRemove:c,edgesToRemove:m,nodes:h,edges:v,onBeforeDelete:w}),A=C.length>0,E=N.length>0;if(A){const k=C.map(xl);y==null||y(C),x(k)}if(E){const k=N.map(xl);p==null||p(N),g(k)}return(E||A)&&(f==null||f({nodes:N,edges:C})),{deletedNodes:N,deletedEdges:C}},getIntersectingNodes:(c,m=!0,h)=>{const v=vt(c),p=v?c:d(c),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===c.id||!x.internals.positionAbsolute))return!1;const f=ei(y?g:x),w=Gi(f,p);return m&&w>0||w>=f.width*f.height||w>=p.width*p.height}):[]},isNodeIntersecting:(c,m,h=!0)=>{const p=vt(c)?c:d(c);if(!p)return!1;const y=Gi(p,m);return h&&y>0||y>=m.width*m.height||y>=p.width*p.height},updateNode:u,updateNodeData:(c,m,h={replace:!1})=>{u(c,v=>{const p=typeof m=="function"?m(v):m;return h.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},h)},updateEdge:b,updateEdgeData:(c,m,h={replace:!1})=>{b(c,v=>{const p=typeof m=="function"?m(v):m;return h.replace?{...v,data:p}:{...v,data:{...v.data,...p}}},h)},getNodesBounds:c=>{const{nodeLookup:m,nodeOrigin:h}=n.getState();return Jv(c,{nodeLookup:m,nodeOrigin:h})},getHandleConnections:({type:c,id:m,nodeId:h})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${h}-${c}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?p:[])},getNodeConnections:({type:c,handleId:m,nodeId:h})=>{var v,p;return Array.from((p=(v=n.getState().connectionLookup.get(`${h}${c?m?`-${c}-${m}`:`-${c}`:""}`))==null?void 0:v.values())!=null?p:[])},fitView:async c=>{var h;const m=(h=n.getState().fitViewResolver)!=null?h:of();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return S.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Al=e=>e.selected,Ih=typeof window!="undefined"?window:void 0;function Dh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=Se(),{deleteElements:o}=vs(),s=ai(e,{actInsideInputWithModifier:!1}),t=ai(n,{target:Ih});S.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Al),edges:l.filter(Al)}),i.setState({nodesSelectionActive:!1})}},[s]),S.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function _h(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=Xo(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 Ji={position:"absolute",width:"100%",height:"100%",top:0,left:0},Oh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Kh({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:b,maxZoom:c,zoomActivationKeyCode:m,preventScrolling:h=!0,children:v,noWheelClassName:p,noPanClassName:y,onViewportChange:g,isControlledViewport:x,paneClickDistance:f,selectionOnDrag:w}){const N=Se(),C=S.useRef(null),{userSelectionActive:A,lib:E,connectionInProgress:k}=fe(Oh,xe),I=ai(m),M=S.useRef();_h(C);const P=S.useCallback(K=>{g==null||g({x:K[0],y:K[1],zoom:K[2]}),x||N.setState({transform:K})},[g,x]);return S.useEffect(()=>{if(C.current){M.current=Gf({domNode:C.current,minZoom:b,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:L=>N.setState(O=>O.paneDragging===L?O:{paneDragging:L}),onPanZoomStart:(L,O)=>{const{onViewportChangeStart:_,onMoveStart:D}=N.getState();D==null||D(L,O),_==null||_(O)},onPanZoom:(L,O)=>{const{onViewportChange:_,onMove:D}=N.getState();D==null||D(L,O),_==null||_(O)},onPanZoomEnd:(L,O)=>{const{onViewportChangeEnd:_,onMoveEnd:D}=N.getState();D==null||D(L,O),_==null||_(O)}});const{x:K,y:T,zoom:B}=M.current.getViewport();return N.setState({panZoom:M.current,transform:[K,T,B],domNode:C.current.closest(".react-flow")}),()=>{var L;(L=M.current)==null||L.destroy()}}},[]),S.useEffect(()=>{var K;(K=M.current)==null||K.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:I,preventScrolling:h,noPanClassName:y,userSelectionActive:A,noWheelClassName:p,lib:E,onTransformChange:P,connectionInProgress:k,selectionOnDrag:w,paneClickDistance:f})},[e,n,i,o,s,t,l,r,I,h,y,A,p,E,P,k,w,f]),a.jsx("div",{className:"react-flow__renderer",ref:C,style:Ji,children:v})}const Hh=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Fh(){const{userSelectionActive:e,userSelectionRect:n}=fe(Hh,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 fs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},Gh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Vh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=Xn.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:b,onPaneScroll:c,onPaneMouseEnter:m,onPaneMouseMove:h,onPaneMouseLeave:v,children:p}){const y=S.useRef(0),g=Se(),{userSelectionActive:x,elementsSelectable:f,dragging:w,panBy:N,autoPanSpeed:C}=fe(Gh,xe),A=f&&(e||x),E=S.useRef(null),k=S.useRef(),I=S.useRef(new Set),M=S.useRef(new Set),P=S.useRef(!1),K=S.useRef(!1),T=S.useRef({x:0,y:0}),B=S.useRef(!1),L=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})},O=Y=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){Y.preventDefault();return}b==null||b(Y)},_=c?Y=>c(Y):void 0,D=Y=>{K.current&&(Y.stopPropagation(),K.current=!1)},W=Y=>{var Q,J;const{domNode:ie,transform:Z}=g.getState();if(k.current=ie==null?void 0:ie.getBoundingClientRect(),!k.current)return;const q=Y.target===E.current;if(!q&&!!Y.target.closest(".nokey")||!e||!(l&&q||n)||Y.button!==0||!Y.isPrimary)return;(J=(Q=Y.target)==null?void 0:Q.setPointerCapture)==null||J.call(Q,Y.pointerId),K.current=!1;const{x:H,y:j}=$e(Y.nativeEvent,k.current),$=ii({x:H,y:j},Z);g.setState({userSelectionRect:{width:0,height:0,startX:$.x,startY:$.y,x:H,y:j}}),q||(Y.stopPropagation(),Y.preventDefault())};function U(Y,ie){var De,ve;const{userSelectionRect:Z}=g.getState();if(!Z)return;const{transform:q,nodeLookup:G,edgeLookup:F,connectionLookup:H,triggerNodeChanges:j,triggerEdgeChanges:$,defaultEdgeOptions:Q}=g.getState(),J={x:Z.startX,y:Z.startY},{x:ne,y:ae}=Mn(J,q),ce={startX:J.x,startY:J.y,x:Y<ne?Y:ne,y:ie<ae?ie:ae,width:Math.abs(Y-ne),height:Math.abs(ie-ae)},me=I.current,ye=M.current;I.current=new Set(qo(G,ce,q,i===Xn.Partial,!0).map(de=>de.id)),M.current=new Set;const pe=(De=Q==null?void 0:Q.selectable)!=null?De:!0;for(const de of I.current){const Te=H.get(de);if(Te)for(const{edgeId:Pe}of Te.values()){const ke=F.get(Pe);ke&&((ve=ke.selectable)!=null?ve:pe)&&M.current.add(Pe)}}if(!gt(me,I.current)){const de=Bn(G,I.current,!0);j(de)}if(!gt(ye,M.current)){const de=Bn(F,M.current);$(de)}g.setState({userSelectionRect:ce,userSelectionActive:!0,nodesSelectionActive:!1})}function V(){if(!s||!k.current)return;const[Y,ie]=Yo(T.current,k.current,C);N({x:Y,y:ie}).then(Z=>{if(!K.current||!Z){y.current=requestAnimationFrame(V);return}const{x:q,y:G}=T.current;U(q,G),y.current=requestAnimationFrame(V)})}const z=()=>{cancelAnimationFrame(y.current),y.current=0,B.current=!1};S.useEffect(()=>()=>z(),[]);const X=Y=>{const{userSelectionRect:ie,transform:Z,resetSelectedElements:q}=g.getState();if(!k.current||!ie)return;const{x:G,y:F}=$e(Y.nativeEvent,k.current);T.current={x:G,y:F};const H=Mn({x:ie.startX,y:ie.startY},Z);if(!K.current){const j=n?0:t;if(Math.hypot(G-H.x,F-H.y)<=j)return;q(),r==null||r(Y)}K.current=!0,B.current||(V(),B.current=!0),U(G,F)},se=Y=>{var ie,Z;if(!A){Y.target===E.current&&g.getState().connection.inProgress&&(P.current=!0);return}Y.button===0&&((Z=(ie=Y.target)==null?void 0:ie.releasePointerCapture)==null||Z.call(ie,Y.pointerId),!x&&Y.target===E.current&&g.getState().userSelectionRect&&(L==null||L(Y)),g.setState({userSelectionActive:!1,userSelectionRect:null}),K.current&&(d==null||d(Y),g.setState({nodesSelectionActive:I.current.size>0})),z())},oe=Y=>{var ie,Z;(Z=(ie=Y.target)==null?void 0:ie.releasePointerCapture)==null||Z.call(ie,Y.pointerId),z()},R=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Ae(["react-flow__pane",{draggable:R,dragging:w,selection:e}]),onClick:A?void 0:fs(L,E),onContextMenu:fs(O,E),onWheel:fs(_,E),onPointerEnter:A?void 0:m,onPointerMove:A?X:h,onPointerUp:se,onPointerCancel:A?oe:void 0,onPointerDownCapture:A?W:void 0,onClickCapture:A?D:void 0,onPointerLeave:v,ref:E,style:Ji,children:[p,a.jsx(Fh,{})]})}function hs({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 b;return(b=o==null?void 0:o.current)==null?void 0:b.blur()})):s([e])}function kl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=Se(),[d,u]=S.useState(!1),b=S.useRef();return S.useEffect(()=>{b.current=kf({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{hs({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),S.useEffect(()=>{if(!(n||!e.current||!b.current))return b.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=b.current)==null||c.destroy()}},[i,o,n,t,e,s,l]),d}const zh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function El(){const e=Se();return S.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:b}=e.getState(),c=new Map,m=zh(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=ni(x,t));const{position:f,positionAbsolute:w}=dt({nodeId:g.id,nextPosition:x,nodeLookup:u,nodeExtent:o,nodeOrigin:b,onError:r});g.position=f,g.internals.positionAbsolute=w,c.set(g.id,g)}d(c)},[])}const ps=S.createContext(null),$h=ps.Provider;ps.Consumer;const Ml=()=>S.useContext(ps),jh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Tl=S.createContext(null);function Wh({children:e}){const n=fe(jh,xe);return a.jsx(Tl.Provider,{value:n,children:e})}function Uh(){const e=S.useContext(Tl);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const qh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Yh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return qh;const b=(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:b,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===An.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:b&&u}};function Jh({type:e="source",position:n=te.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:b,onTouchStart:c,...m},h){var B,L;const v=l||null,p=e==="target",y=Se(),g=Ml(),{connectOnClick:x,noPanClassName:f,rfId:w}=Uh(),{connectingFrom:N,connectingTo:C,clickConnecting:A,isPossibleEndHandle:E,connectionInProcess:k,clickConnectionInProcess:I,valid:M}=fe(Yh(g,v,e),xe);g||(L=(B=y.getState()).onError)==null||L.call(B,"010",He.error010());const P=O=>{const{defaultEdgeOptions:_,onConnect:D,hasDefaultEdges:W}=y.getState(),U={..._,...O};if(W){const{edges:V,setEdges:z,onError:X}=y.getState();z(kh(U,V,{onError:X}))}D==null||D(U),r==null||r(U)},K=O=>{if(!g)return;const _=St(O.nativeEvent);if(s&&(_&&O.button===0||!_)){const D=y.getState();ls.onPointerDown(O.nativeEvent,{handleDomNode:O.currentTarget,autoPanOnConnect:D.autoPanOnConnect,connectionMode:D.connectionMode,connectionRadius:D.connectionRadius,domNode:D.domNode,nodeLookup:D.nodeLookup,lib:D.lib,isTarget:p,handleId:v,nodeId:g,flowId:D.rfId,panBy:D.panBy,cancelConnection:D.cancelConnection,onConnectStart:D.onConnectStart,onConnectEnd:(...W)=>{var U,V;return(V=(U=y.getState()).onConnectEnd)==null?void 0:V.call(U,...W)},updateConnection:D.updateConnection,onConnect:P,isValidConnection:i||((...W)=>{var U,V,z;return(z=(V=(U=y.getState()).isValidConnection)==null?void 0:V.call(U,...W))!=null?z:!0}),getTransform:()=>y.getState().transform,getFromHandle:()=>y.getState().connection.fromHandle,autoPanSpeed:D.autoPanSpeed,dragThreshold:D.connectionDragThreshold})}_?b==null||b(O):c==null||c(O)},T=O=>{const{onClickConnectStart:_,onClickConnectEnd:D,connectionClickStartHandle:W,connectionMode:U,isValidConnection:V,lib:z,rfId:X,nodeLookup:se,connection:oe}=y.getState();if(!g||!W&&!s)return;if(!W){_==null||_(O.nativeEvent,{nodeId:g,handleId:v,handleType:e}),y.setState({connectionClickStartHandle:{nodeId:g,type:e,id:v}});return}const R=yt(O.target),Y=i||V,{connection:ie,isValid:Z}=ls.isValid(O.nativeEvent,{handle:{nodeId:g,id:v,type:e},connectionMode:U,fromNodeId:W.nodeId,fromHandleId:W.id||null,fromType:W.type,isValidConnection:Y,flowId:X,doc:R,lib:z,nodeLookup:se});Z&&ie&&P(ie);const q=structuredClone(oe);delete q.inProgress,q.toPosition=q.toHandle?q.toHandle.position:null,D==null||D(O,q),y.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":g,"data-handlepos":n,"data-id":`${w}-${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:A,connectingfrom:N,connectingto:C,valid:M,connectionindicator:o&&(!k||E)&&(k||I?t:s)}]),onMouseDown:K,onTouchStart:K,onClick:x?T:void 0,ref:h,...m,children:d})}const In=S.memo(wl(Jh));function Zh({data:e,isConnectable:n,sourcePosition:i=te.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(In,{type:"source",position:i,isConnectable:n})]})}function Xh({data:e,isConnectable:n,targetPosition:i=te.Top,sourcePosition:o=te.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(In,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(In,{type:"source",position:o,isConnectable:n})]})}function Qh(){return null}function Rh({data:e,isConnectable:n,targetPosition:i=te.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(In,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Zi={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Pl={input:Zh,default:Xh,output:Rh,group:Qh};function ep(e){var n,i,o,s,t,l,r,d,u,b;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:(b=e.height)!=null?b:(u=e.style)==null?void 0:u.height}}const np=e=>{const{width:n,height:i,x:o,y:s}=Rn(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 ip({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=Se(),{width:s,height:t,transformString:l,userSelectionActive:r}=fe(np,xe),d=El(),u=S.useRef(null);S.useEffect(()=>{var h;i||(h=u.current)==null||h.focus({preventScroll:!0})},[i]);const b=!r&&s!==null&&t!==null;if(kl({nodeRef:u,disabled:!b}),!b)return null;const c=e?h=>{const v=o.getState().nodes.filter(p=>p.selected);e(h,v)}:void 0,m=h=>{Object.prototype.hasOwnProperty.call(Zi,h.key)&&(h.preventDefault(),d({direction:Zi[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:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const Ll=typeof window!="undefined"?window:void 0,op=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Bl({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:b,selectionMode:c,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:v,panActivationKeyCode:p,zoomActivationKeyCode:y,elementsSelectable:g,zoomOnScroll:x,zoomOnPinch:f,panOnScroll:w,panOnScrollSpeed:N,panOnScrollMode:C,zoomOnDoubleClick:A,panOnDrag:E,autoPanOnSelection:k,defaultViewport:I,translateExtent:M,minZoom:P,maxZoom:K,preventScrolling:T,onSelectionContextMenu:B,noWheelClassName:L,noPanClassName:O,disableKeyboardA11y:_,onViewportChange:D,isControlledViewport:W}){const{nodesSelectionActive:U,userSelectionActive:V}=fe(op,xe),z=ai(u,{target:Ll}),X=ai(p,{target:Ll}),se=X||E,oe=X||w,R=b&&se!==!0,Y=z||V||R;return Dh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(Kh,{onPaneContextMenu:t,elementsSelectable:g,zoomOnScroll:x,zoomOnPinch:f,panOnScroll:oe,panOnScrollSpeed:N,panOnScrollMode:C,zoomOnDoubleClick:A,panOnDrag:!z&&se,defaultViewport:I,translateExtent:M,minZoom:P,maxZoom:K,zoomActivationKeyCode:y,preventScrolling:T,noWheelClassName:L,noPanClassName:O,onViewportChange:D,isControlledViewport:W,paneClickDistance:r,selectionOnDrag:R,children:a.jsxs(Vh,{onSelectionStart:m,onSelectionEnd:h,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:se,autoPanOnSelection:k,isSelecting:!!Y,selectionMode:c,selectionKeyPressed:z,paneClickDistance:r,selectionOnDrag:R,children:[e,U&&a.jsx(ip,{onSelectionContextMenu:B,noPanClassName:O,disableKeyboardA11y:_})]})})}Bl.displayName="FlowRenderer";const sp=S.memo(Bl),ap=e=>n=>e?qo(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 tp(e){return fe(S.useCallback(ap(e),[e]),xe)}const lp=e=>e.updateNodeInternals;function rp(){const e=fe(lp),[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 dp({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),b=i&&!!e.internals.handleBounds;return S.useEffect(()=>{t.current&&!e.hidden&&(!b||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[b,e.hidden]),S.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),S.useEffect(()=>{if(t.current){const c=u.current!==n,m=r.current!==e.sourcePosition,h=d.current!==e.targetPosition;(c||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 up({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:b,resizeObserver:c,noDragClassName:m,noPanClassName:h,disableKeyboardA11y:v,rfId:p,nodeTypes:y,nodeClickDistance:g,onError:x}){var Y,ie,Z;const{node:f,internals:w,isParent:N}=fe(q=>{const G=q.nodeLookup.get(e),F=q.parentLookup.has(e);return{node:G,internals:G.internals,isParent:F}},xe);let C=f.type||"default",A=(y==null?void 0:y[C])||Pl[C];A===void 0&&(x==null||x("003",He.error003(C)),C="default",A=(y==null?void 0:y.default)||Pl.default);const E=!!(f.draggable||r&&typeof f.draggable=="undefined"),k=!!(f.selectable||d&&typeof f.selectable=="undefined"),I=!!(f.connectable||u&&typeof f.connectable=="undefined"),M=!!(f.focusable||b&&typeof f.focusable=="undefined"),P=Se(),K=ht(f),T=dp({node:f,nodeType:C,hasDimensions:K,resizeObserver:c}),B=kl({nodeRef:T,disabled:f.hidden||!E,noDragClassName:m,handleSelector:f.dragHandle,nodeId:e,isSelectable:k,nodeClickDistance:g}),L=El();if(f.hidden)return null;const O=en(f),_=ep(f),D=k||E||n||i||o||s,W=i?q=>i(q,{...w.userNode}):void 0,U=o?q=>o(q,{...w.userNode}):void 0,V=s?q=>s(q,{...w.userNode}):void 0,z=t?q=>t(q,{...w.userNode}):void 0,X=l?q=>l(q,{...w.userNode}):void 0,se=q=>{const{selectNodesOnDrag:G,nodeDragThreshold:F}=P.getState();k&&(!G||!E||F>0)&&hs({id:e,store:P,nodeRef:T}),n&&n(q,{...w.userNode})},oe=q=>{if(!(xt(q.nativeEvent)||v)){if(ot.includes(q.key)&&k){const G=q.key==="Escape";hs({id:e,store:P,unselect:G,nodeRef:T})}else if(E&&f.selected&&Object.prototype.hasOwnProperty.call(Zi,q.key)){q.preventDefault();const{ariaLabelConfig:G}=P.getState();P.setState({ariaLiveMessage:G["node.a11yDescription.ariaLiveMessage"]({direction:q.key.replace("Arrow","").toLowerCase(),x:~~w.positionAbsolute.x,y:~~w.positionAbsolute.y})}),L({direction:Zi[q.key],factor:q.shiftKey?4:1})}}},R=()=>{var Q;if(v||!((Q=T.current)!=null&&Q.matches(":focus-visible")))return;const{transform:q,width:G,height:F,autoPanOnNodeFocus:H,setCenter:j}=P.getState();if(!H)return;qo(new Map([[e,f]]),{x:0,y:0,width:G,height:F},q,!0).length>0||j(f.position.x+O.width/2,f.position.y+O.height/2,{zoom:q[2]})};return a.jsx("div",{className:Ae(["react-flow__node",`react-flow__node-${C}`,{[h]:E},f.className,{selected:f.selected,selectable:k,parent:N,draggable:E,dragging:B}]),ref:T,style:{zIndex:w.z,transform:`translate(${w.positionAbsolute.x}px,${w.positionAbsolute.y}px)`,pointerEvents:D?"all":"none",visibility:K?"visible":"hidden",...f.style,..._},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:W,onMouseMove:U,onMouseLeave:V,onContextMenu:z,onClick:se,onDoubleClick:X,onKeyDown:M?oe:void 0,tabIndex:M?0:void 0,onFocus:M?R:void 0,role:(Y=f.ariaRole)!=null?Y:M?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${tl}-${p}`,"aria-label":f.ariaLabel,...f.domAttributes,children:a.jsx($h,{value:e,children:a.jsx(A,{id:e,data:f.data,type:C,positionAbsoluteX:w.positionAbsolute.x,positionAbsoluteY:w.positionAbsolute.y,selected:(ie=f.selected)!=null?ie:!1,selectable:k,draggable:E,deletable:(Z=f.deletable)!=null?Z:!0,isConnectable:I,sourcePosition:f.sourcePosition,targetPosition:f.targetPosition,dragging:B,dragHandle:f.dragHandle,zIndex:w.z,parentId:f.parentId,...O})})})}var cp=S.memo(up);const bp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Il(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=fe(bp,xe),l=tp(e.onlyRenderVisibleElements),r=rp();return a.jsx("div",{className:"react-flow__nodes",style:Ji,children:l.map(d=>a.jsx(cp,{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))})}Il.displayName="NodeRenderer";const mp=S.memo(Il);function vp(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&&lf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),xe)}const fp=({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"})},hp=({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"})},Dl={[kn.Arrow]:fp,[kn.ArrowClosed]:hp};function pp(e){const n=Se();return S.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Dl,e)?Dl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",He.error009(e)),null)},[e])}const gp=({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=pp(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},_l=({defaultColor:e,rfId:n})=>{const i=fe(t=>t.edges),o=fe(t=>t.defaultEdgeOptions),s=S.useMemo(()=>ff(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(gp,{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};_l.displayName="MarkerDefinitions";var yp=S.memo(_l);function Ol({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...b}){const[c,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-c.width/2} ${n-c.height/2})`,className:h,visibility:c.width?"visible":"hidden",...b,children:[s&&a.jsx("rect",{width:c.width+2*l[0],x:-l[0],y:-l[1],height:c.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Ol.displayName="EdgeText";const xp=S.memo(Ol);function Xi({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...b}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...b,d:e,fill:"none",className:Ae(["react-flow__edge-path",b.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(xp,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Kl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===te.Left||e===te.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function Hl({sourceX:e,sourceY:n,sourcePosition:i=te.Bottom,targetX:o,targetY:s,targetPosition:t=te.Top}){const[l,r]=Kl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Kl({pos:t,x1:o,y1:s,x2:e,y2:n}),[b,c,m,h]=Nt({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}`,b,c,m,h]}function Fl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:g})=>{const[x,f,w]=Hl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),N=e.isInternal?void 0:n;return a.jsx(Xi,{id:N,path:x,labelX:f,labelY:w,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:g})})}const Sp=Fl({isInternal:!1}),Gl=Fl({isInternal:!0});Sp.displayName="SimpleBezierEdge",Gl.displayName="SimpleBezierEdgeInternal";function Vl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,sourcePosition:h=te.Bottom,targetPosition:v=te.Top,markerEnd:p,markerStart:y,pathOptions:g,interactionWidth:x})=>{const[f,w,N]=Qo({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}),C=e.isInternal?void 0:n;return a.jsx(Xi,{id:C,path:f,labelX:w,labelY:N,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:p,markerStart:y,interactionWidth:x})})}const zl=Vl({isInternal:!1}),$l=Vl({isInternal:!0});zl.displayName="SmoothStepEdge",$l.displayName="SmoothStepEdgeInternal";function jl(e){return S.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(zl,{...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 wp=jl({isInternal:!1}),Wl=jl({isInternal:!0});wp.displayName="StepEdge",Wl.displayName="StepEdgeInternal";function Ul(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:h,markerStart:v,interactionWidth:p})=>{const[y,g,x]=Et({sourceX:i,sourceY:o,targetX:s,targetY:t}),f=e.isInternal?void 0:n;return a.jsx(Xi,{id:f,path:y,labelX:g,labelY:x,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:h,markerStart:v,interactionWidth:p})})}const Np=Ul({isInternal:!1}),ql=Ul({isInternal:!0});Np.displayName="StraightEdge",ql.displayName="StraightEdgeInternal";function Yl(e){return S.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=te.Bottom,targetPosition:r=te.Top,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,pathOptions:g,interactionWidth:x})=>{const[f,w,N]=At({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:g==null?void 0:g.curvature}),C=e.isInternal?void 0:n;return a.jsx(Xi,{id:C,path:f,labelX:w,labelY:N,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:h,style:v,markerEnd:p,markerStart:y,interactionWidth:x})})}const Cp=Yl({isInternal:!1}),Jl=Yl({isInternal:!0});Cp.displayName="BezierEdge",Jl.displayName="BezierEdgeInternal";const Zl={default:Jl,straight:ql,step:Wl,smoothstep:$l,simplebezier:Gl},Xl={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Ap=(e,n,i)=>i===te.Left?e-n:i===te.Right?e+n:e,kp=(e,n,i)=>i===te.Top?e-n:i===te.Bottom?e+n:e,Ql="react-flow__edgeupdater";function Rl({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([Ql,`${Ql}-${r}`]),cx:Ap(n,o,e),cy:kp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Ep({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:b,onReconnectEnd:c,setReconnecting:m,setUpdateHover:h}){const v=Se(),p=(w,N)=>{if(w.button!==0)return;const{autoPanOnConnect:C,domNode:A,connectionMode:E,connectionRadius:k,lib:I,onConnectStart:M,cancelConnection:P,nodeLookup:K,rfId:T,panBy:B,updateConnection:L}=v.getState(),O=N.type==="target",_=(U,V)=>{m(!1),c==null||c(U,i,N.type,V)},D=U=>u==null?void 0:u(i,U),W=(U,V)=>{m(!0),b==null||b(w,i,N.type),M==null||M(U,V)};ls.onPointerDown(w.nativeEvent,{autoPanOnConnect:C,connectionMode:E,connectionRadius:k,domNode:A,handleId:N.id,nodeId:N.nodeId,nodeLookup:K,isTarget:O,edgeUpdaterType:N.type,lib:I,flowId:T,cancelConnection:P,panBy:B,isValidConnection:(...U)=>{var V,z,X;return(X=(z=(V=v.getState()).isValidConnection)==null?void 0:z.call(V,...U))!=null?X:!0},onConnect:D,onConnectStart:W,onConnectEnd:(...U)=>{var V,z;return(z=(V=v.getState()).onConnectEnd)==null?void 0:z.call(V,...U)},onReconnectEnd:_,updateConnection:L,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:w.currentTarget})},y=w=>{var N;return p(w,{nodeId:i.target,id:(N=i.targetHandle)!=null?N:null,type:"target"})},g=w=>{var N;return p(w,{nodeId:i.source,id:(N=i.sourceHandle)!=null?N:null,type:"source"})},x=()=>h(!0),f=()=>h(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(Rl,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:y,onMouseEnter:x,onMouseOut:f,type:"source"}),(e===!0||e==="target")&&a.jsx(Rl,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:g,onMouseEnter:x,onMouseOut:f,type:"target"})]})}function Mp({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:h,rfId:v,edgeTypes:p,noPanClassName:y,onError:g,disableKeyboardA11y:x}){var G,F;let f=fe(H=>H.edgeLookup.get(e));const w=fe(H=>H.defaultEdgeOptions);f=w?{...w,...f}:f;let N=f.type||"default",C=(p==null?void 0:p[N])||Zl[N];C===void 0&&(g==null||g("011",He.error011(N)),N="default",C=(p==null?void 0:p.default)||Zl.default);const A=!!(f.focusable||n&&typeof f.focusable=="undefined"),E=typeof c!="undefined"&&(f.reconnectable||i&&typeof f.reconnectable=="undefined"),k=!!(f.selectable||o&&typeof f.selectable=="undefined"),I=S.useRef(null),[M,P]=S.useState(!1),[K,T]=S.useState(!1),B=Se(),{zIndex:L=f.zIndex,sourceX:O,sourceY:_,targetX:D,targetY:W,sourcePosition:U,targetPosition:V}=fe(S.useCallback(H=>{const j=H.nodeLookup.get(f.source),$=H.nodeLookup.get(f.target);if(!j||!$)return Xl;const Q=vf({id:e,sourceNode:j,targetNode:$,sourceHandle:f.sourceHandle||null,targetHandle:f.targetHandle||null,connectionMode:H.connectionMode,onError:g}),J=tf({selected:f.selected,zIndex:f.zIndex,sourceNode:j,targetNode:$,elevateOnSelect:H.elevateEdgesOnSelect,zIndexMode:H.zIndexMode});return{...Q||Xl,zIndex:J}},[f.source,f.target,f.sourceHandle,f.targetHandle,f.selected,f.zIndex]),xe),z=S.useMemo(()=>f.markerStart?`url('#${Ro(f.markerStart,v)}')`:void 0,[f.markerStart,v]),X=S.useMemo(()=>f.markerEnd?`url('#${Ro(f.markerEnd,v)}')`:void 0,[f.markerEnd,v]);if(f.hidden||O===null||_===null||D===null||W===null)return null;const se=H=>{var J;const{addSelectedEdges:j,unselectNodesAndEdges:$,multiSelectionActive:Q}=B.getState();k&&(B.setState({nodesSelectionActive:!1}),f.selected&&Q?($({nodes:[],edges:[f]}),(J=I.current)==null||J.blur()):j([e])),s&&s(H,f)},oe=t?H=>{t(H,{...f})}:void 0,R=l?H=>{l(H,{...f})}:void 0,Y=r?H=>{r(H,{...f})}:void 0,ie=d?H=>{d(H,{...f})}:void 0,Z=u?H=>{u(H,{...f})}:void 0,q=H=>{var j;if(!x&&ot.includes(H.key)&&k){const{unselectNodesAndEdges:$,addSelectedEdges:Q}=B.getState();H.key==="Escape"?((j=I.current)==null||j.blur(),$({edges:[f]})):Q([e])}};return a.jsx("svg",{style:{zIndex:L},children:a.jsxs("g",{className:Ae(["react-flow__edge",`react-flow__edge-${N}`,f.className,y,{selected:f.selected,animated:f.animated,inactive:!k&&!s,updating:M,selectable:k}]),onClick:se,onDoubleClick:oe,onContextMenu:R,onMouseEnter:Y,onMouseMove:ie,onMouseLeave:Z,onKeyDown:A?q:void 0,tabIndex:A?0:void 0,role:(G=f.ariaRole)!=null?G:A?"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":A?`${ll}-${v}`:void 0,ref:I,...f.domAttributes,children:[!K&&a.jsx(C,{id:e,source:f.source,target:f.target,type:f.type,selected:f.selected,animated:f.animated,selectable:k,deletable:(F=f.deletable)!=null?F:!0,label:f.label,labelStyle:f.labelStyle,labelShowBg:f.labelShowBg,labelBgStyle:f.labelBgStyle,labelBgPadding:f.labelBgPadding,labelBgBorderRadius:f.labelBgBorderRadius,sourceX:O,sourceY:_,targetX:D,targetY:W,sourcePosition:U,targetPosition:V,data:f.data,style:f.style,sourceHandleId:f.sourceHandle,targetHandleId:f.targetHandle,markerStart:z,markerEnd:X,pathOptions:"pathOptions"in f?f.pathOptions:void 0,interactionWidth:f.interactionWidth}),E&&a.jsx(Ep,{edge:f,isReconnectable:E,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:h,sourceX:O,sourceY:_,targetX:D,targetY:W,sourcePosition:U,targetPosition:V,setUpdateHover:P,setReconnecting:T})]})})}var Tp=S.memo(Mp);const Pp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function er({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:b,reconnectRadius:c,onEdgeDoubleClick:m,onReconnectStart:h,onReconnectEnd:v,disableKeyboardA11y:p}){const{edgesFocusable:y,edgesReconnectable:g,elementsSelectable:x,onError:f}=fe(Pp,xe),w=vp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(yp,{defaultColor:e,rfId:i}),w.map(N=>a.jsx(Tp,{id:N,edgesFocusable:y,edgesReconnectable:g,elementsSelectable:x,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:b,reconnectRadius:c,onDoubleClick:m,onReconnectStart:h,onReconnectEnd:v,rfId:i,onError:f,edgeTypes:o,disableKeyboardA11y:p},N))]})}er.displayName="EdgeRenderer";const Lp=S.memo(er),Bp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Ip({children:e}){const n=fe(Bp);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Dp(e){const n=vs(),i=S.useRef(!1);S.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const _p=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Op(e){const n=fe(_p),i=Se();return S.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Kp(e){return e.connection.inProgress?{...e.connection,to:ii(e.connection.to,e.transform)}:{...e.connection}}function Hp(e){return Kp}function Fp(e){const n=Hp();return fe(n,xe)}const Gp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Vp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=fe(Gp,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",lt(r)]),children:a.jsx(nr,{style:n,type:i,CustomComponent:o,isValid:r})})})}const nr=({style:e,type:n=sn.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:b,toHandle:c,toPosition:m,pointer:h}=Fp();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:lt(o),toNode:b,toHandle:c,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]=At(p);break;case sn.SimpleBezier:[v]=Hl(p);break;case sn.Step:[v]=Qo({...p,borderRadius:0});break;case sn.SmoothStep:[v]=Qo(p);break;default:[v]=Et(p)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};nr.displayName="ConnectionLine";const zp={};function ir(e=zp){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 $p(){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 or({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,onSelectionContextMenu:c,onSelectionStart:m,onSelectionEnd:h,connectionLineType:v,connectionLineStyle:p,connectionLineComponent:y,connectionLineContainerStyle:g,selectionKeyCode:x,selectionOnDrag:f,selectionMode:w,multiSelectionKeyCode:N,panActivationKeyCode:C,zoomActivationKeyCode:A,deleteKeyCode:E,onlyRenderVisibleElements:k,elementsSelectable:I,defaultViewport:M,translateExtent:P,minZoom:K,maxZoom:T,preventScrolling:B,defaultMarkerColor:L,zoomOnScroll:O,zoomOnPinch:_,panOnScroll:D,panOnScrollSpeed:W,panOnScrollMode:U,zoomOnDoubleClick:V,panOnDrag:z,autoPanOnSelection:X,onPaneClick:se,onPaneMouseEnter:oe,onPaneMouseMove:R,onPaneMouseLeave:Y,onPaneScroll:ie,onPaneContextMenu:Z,paneClickDistance:q,nodeClickDistance:G,onEdgeContextMenu:F,onEdgeMouseEnter:H,onEdgeMouseMove:j,onEdgeMouseLeave:$,reconnectRadius:Q,onReconnect:J,onReconnectStart:ne,onReconnectEnd:ae,noDragClassName:ce,noWheelClassName:me,noPanClassName:ye,disableKeyboardA11y:pe,nodeExtent:De,rfId:ve,viewport:de,onViewportChange:Te}){return ir(e),ir(n),$p(),Dp(i),Op(de),a.jsx(sp,{onPaneClick:se,onPaneMouseEnter:oe,onPaneMouseMove:R,onPaneMouseLeave:Y,onPaneContextMenu:Z,onPaneScroll:ie,paneClickDistance:q,deleteKeyCode:E,selectionKeyCode:x,selectionOnDrag:f,selectionMode:w,onSelectionStart:m,onSelectionEnd:h,multiSelectionKeyCode:N,panActivationKeyCode:C,zoomActivationKeyCode:A,elementsSelectable:I,zoomOnScroll:O,zoomOnPinch:_,zoomOnDoubleClick:V,panOnScroll:D,panOnScrollSpeed:W,panOnScrollMode:U,panOnDrag:z,autoPanOnSelection:X,defaultViewport:M,translateExtent:P,minZoom:K,maxZoom:T,onSelectionContextMenu:c,preventScrolling:B,noDragClassName:ce,noWheelClassName:me,noPanClassName:ye,disableKeyboardA11y:pe,onViewportChange:Te,isControlledViewport:!!de,children:a.jsxs(Ip,{children:[a.jsx(Lp,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:J,onReconnectStart:ne,onReconnectEnd:ae,onlyRenderVisibleElements:k,onEdgeContextMenu:F,onEdgeMouseEnter:H,onEdgeMouseMove:j,onEdgeMouseLeave:$,reconnectRadius:Q,defaultMarkerColor:L,noPanClassName:ye,disableKeyboardA11y:pe,rfId:ve}),a.jsx(Vp,{style:p,type:v,component:y,containerStyle:g}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(mp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,nodeClickDistance:G,onlyRenderVisibleElements:k,noPanClassName:ye,noDragClassName:ce,disableKeyboardA11y:pe,nodeExtent:De,rfId:ve}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}or.displayName="GraphView";const jp=S.memo(or),Wp=ft("React Flow","https://reactflow.dev/"),sr=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:b,nodeExtent:c,zIndexMode:m="basic"}={})=>{var A,E,k;const h=new Map,v=new Map,p=new Map,y=new Map,g=(A=o!=null?o:n)!=null?A:[],x=(E=i!=null?i:e)!=null?E:[],f=b!=null?b:[0,0],w=c!=null?c:Zn;Ot(p,y,g);const{nodesInitialized:N}=os(x,h,v,{nodeOrigin:f,nodeExtent:w,zIndexMode:m});let C=[0,0,1];if(l&&s&&t){const I=Rn(h,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:M,y:P,zoom:K}=Zo(I,s,t,d,u,(k=r==null?void 0:r.padding)!=null?k:.1);C=[M,P,K]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:C,nodes:x,nodesInitialized:N,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:Zn,nodeExtent:w,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:An.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:{...at},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Wp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:st,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Up=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m})=>ah((h,v)=>{async function p(){const{nodeLookup:y,panZoom:g,fitViewOptions:x,fitViewResolver:f,width:w,height:N,minZoom:C,maxZoom:A}=v();g&&(await Qv({nodes:y,width:w,height:N,panZoom:g,minZoom:C,maxZoom:A},x),f==null||f.resolve(!0),h({fitViewResolver:null}))}return{...sr({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:y=>{const{nodeLookup:g,parentLookup:x,nodeOrigin:f,elevateNodesOnSelect:w,fitViewQueued:N,zIndexMode:C,nodesSelectionActive:A}=v(),{nodesInitialized:E,hasSelectedNodes:k}=os(y,g,x,{nodeOrigin:f,nodeExtent:c,elevateNodesOnSelect:w,checkEquality:!0,zIndexMode:C}),I=A&&k;N&&E?(p(),h({nodes:y,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:I})):h({nodes:y,nodesInitialized:E,nodesSelectionActive:I})},setEdges:y=>{const{connectionLookup:g,edgeLookup:x}=v();Ot(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:w,nodeOrigin:N,nodeExtent:C,debug:A,fitViewQueued:E,zIndexMode:k}=v(),{changes:I,updatedInternals:M}=wf(y,x,f,w,N,C,k);M&&(gf(x,f,{nodeOrigin:N,nodeExtent:C,zIndexMode:k}),E?(p(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),(I==null?void 0:I.length)>0&&(A&&console.log("React Flow: trigger node changes",I),g==null||g(I)))},updateNodePositions:(y,g=!1)=>{var k,I;const x=[];let f=[];const{nodeLookup:w,triggerNodeChanges:N,connection:C,updateConnection:A,onNodesChangeMiddlewareMap:E}=v();for(const[M,P]of y){const K=w.get(M),T=!!(K!=null&&K.expandParent&&(K!=null&&K.parentId)&&(P!=null&&P.position)),B={id:M,type:"position",position:T?{x:Math.max(0,P.position.x),y:Math.max(0,P.position.y)}:P.position,dragging:g};if(K&&C.inProgress&&C.fromNode.id===K.id){const L=hn(K,C.fromHandle,te.Left,!0);A({...C,from:L})}T&&K.parentId&&x.push({id:M,parentId:K.parentId,rect:{...P.internals.positionAbsolute,width:(k=P.measured.width)!=null?k:0,height:(I=P.measured.height)!=null?I:0}}),f.push(B)}if(x.length>0){const{parentLookup:M,nodeOrigin:P}=v(),K=as(x,w,M,P);f.push(...K)}for(const M of E.values())f=M(f);N(f)},triggerNodeChanges:y=>{const{onNodesChange:g,setNodes:x,nodes:f,hasDefaultNodes:w,debug:N}=v();if(y!=null&&y.length){if(w){const C=pl(y,f);x(C)}N&&console.log("React Flow: trigger node changes",y),g==null||g(y)}},triggerEdgeChanges:y=>{const{onEdgesChange:g,setEdges:x,edges:f,hasDefaultEdges:w,debug:N}=v();if(y!=null&&y.length){if(w){const C=gl(y,f);x(C)}N&&console.log("React Flow: trigger edge changes",y),g==null||g(y)}},addSelectedNodes:y=>{const{multiSelectionActive:g,edgeLookup:x,nodeLookup:f,triggerNodeChanges:w,triggerEdgeChanges:N}=v();if(g){const C=y.map(A=>pn(A,!0));w(C);return}w(Bn(f,new Set([...y]),!0)),N(Bn(x))},addSelectedEdges:y=>{const{multiSelectionActive:g,edgeLookup:x,nodeLookup:f,triggerNodeChanges:w,triggerEdgeChanges:N}=v();if(g){const C=y.map(A=>pn(A,!0));N(C);return}N(Bn(x,new Set([...y]))),w(Bn(f,new Set,!0))},unselectNodesAndEdges:({nodes:y,edges:g}={})=>{const{edges:x,nodes:f,nodeLookup:w,triggerNodeChanges:N,triggerEdgeChanges:C}=v(),A=y||f,E=g||x,k=[];for(const M of A){if(!M.selected)continue;const P=w.get(M.id);P&&(P.selected=!1),k.push(pn(M.id,!1))}const I=[];for(const M of E)M.selected&&I.push(pn(M.id,!1));N(k),C(I)},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:w}=v();if(!w)return;const N=g.reduce((A,E)=>E.selected?[...A,pn(E.id,!1)]:A,[]),C=y.reduce((A,E)=>E.selected?[...A,pn(E.id,!1)]:A,[]);x(N),f(C)},setNodeExtent:y=>{const{nodes:g,nodeLookup:x,parentLookup:f,nodeOrigin:w,elevateNodesOnSelect:N,nodeExtent:C,zIndexMode:A}=v();y[0][0]===C[0][0]&&y[0][1]===C[0][1]&&y[1][0]===C[1][0]&&y[1][1]===C[1][1]||(os(g,x,f,{nodeOrigin:w,nodeExtent:y,elevateNodesOnSelect:N,checkEquality:!1,zIndexMode:A}),h({nodeExtent:y}))},panBy:y=>{const{transform:g,width:x,height:f,panZoom:w,translateExtent:N}=v();return Nf({delta:y,panZoom:w,transform:g,translateExtent:N,width:x,height:f})},setCenter:async(y,g,x)=>{const{width:f,height:w,maxZoom:N,panZoom:C}=v();if(!C)return!1;const A=typeof(x==null?void 0:x.zoom)!="undefined"?x.zoom:N;return await C.setViewport({x:f/2-y*A,y:w/2-g*A,zoom:A},{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:{...at}})},updateConnection:y=>{h({connection:y})},reset:()=>h({...sr()})}},Object.is);function qp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m,children:h}){const[v]=S.useState(()=>Up({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:b,nodeExtent:c,zIndexMode:m}));return a.jsx(th,{value:v,children:a.jsx(Ph,{children:a.jsx(Wh,{children:h})})})}function Yp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:h}){return S.useContext(Ui)?a.jsx(a.Fragment,{children:e}):a.jsx(qp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:h,children:e})}const Jp={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Zp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:b,onMoveStart:c,onMoveEnd:m,onConnect:h,onConnectStart:v,onConnectEnd:p,onClickConnectStart:y,onClickConnectEnd:g,onNodeMouseEnter:x,onNodeMouseMove:f,onNodeMouseLeave:w,onNodeContextMenu:N,onNodeDoubleClick:C,onNodeDragStart:A,onNodeDrag:E,onNodeDragStop:k,onNodesDelete:I,onEdgesDelete:M,onDelete:P,onSelectionChange:K,onSelectionDragStart:T,onSelectionDrag:B,onSelectionDragStop:L,onSelectionContextMenu:O,onSelectionStart:_,onSelectionEnd:D,onBeforeDelete:W,connectionMode:U,connectionLineType:V=sn.Bezier,connectionLineStyle:z,connectionLineComponent:X,connectionLineContainerStyle:se,deleteKeyCode:oe="Backspace",selectionKeyCode:R="Shift",selectionOnDrag:Y=!1,selectionMode:ie=Xn.Full,panActivationKeyCode:Z="Space",multiSelectionKeyCode:q=oi()?"Meta":"Control",zoomActivationKeyCode:G=oi()?"Meta":"Control",snapToGrid:F,snapGrid:H,onlyRenderVisibleElements:j=!1,selectNodesOnDrag:$,nodesDraggable:Q,autoPanOnNodeFocus:J,nodesConnectable:ne,nodesFocusable:ae,nodeOrigin:ce=dl,edgesFocusable:me,edgesReconnectable:ye,elementsSelectable:pe=!0,defaultViewport:De=yh,minZoom:ve=.5,maxZoom:de=2,translateExtent:Te=Zn,preventScrolling:Pe=!0,nodeExtent:ke,defaultMarkerColor:Be="#b1b1b7",zoomOnScroll:ge=!0,zoomOnPinch:Ne=!0,panOnScroll:Me=!1,panOnScrollSpeed:rn=.5,panOnScrollMode:Lg=mn.Free,zoomOnDoubleClick:Bg=!0,panOnDrag:Ig=!0,onPaneClick:Dg,onPaneMouseEnter:_g,onPaneMouseMove:Og,onPaneMouseLeave:Kg,onPaneScroll:Hg,onPaneContextMenu:Fg,paneClickDistance:Gg=1,nodeClickDistance:Vg=0,children:zg,onReconnect:$g,onReconnectStart:jg,onReconnectEnd:Wg,onEdgeContextMenu:Ug,onEdgeDoubleClick:qg,onEdgeMouseEnter:Yg,onEdgeMouseMove:Jg,onEdgeMouseLeave:Zg,reconnectRadius:Xg=10,onNodesChange:Qg,onEdgesChange:Rg,noDragClassName:e0="nodrag",noWheelClassName:n0="nowheel",noPanClassName:dr="nopan",fitView:ur,fitViewOptions:cr,connectOnClick:i0,attributionPosition:o0,proOptions:s0,defaultEdgeOptions:a0,elevateNodesOnSelect:t0=!0,elevateEdgesOnSelect:l0=!1,disableKeyboardA11y:br=!1,autoPanOnConnect:r0,autoPanOnNodeDrag:d0,autoPanOnSelection:u0=!0,autoPanSpeed:c0,connectionRadius:b0,isValidConnection:m0,onError:v0,style:f0,id:mr,nodeDragThreshold:h0,connectionDragThreshold:p0,viewport:g0,onViewportChange:y0,width:x0,height:S0,colorMode:w0="light",debug:N0,onScroll:Ri,ariaLabelConfig:C0,zIndexMode:vr="basic",...A0},k0){const ys=mr||"1",E0=wh(w0),M0=S.useCallback(fr=>{fr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Ri==null||Ri(fr)},[Ri]);return a.jsx("div",{"data-testid":"rf__wrapper",...A0,onScroll:M0,style:{...f0,...Jp},ref:k0,className:Ae(["react-flow",s,E0]),id:mr,role:"application",children:a.jsxs(Yp,{nodes:e,edges:n,width:x0,height:S0,fitView:ur,fitViewOptions:cr,minZoom:ve,maxZoom:de,nodeOrigin:ce,nodeExtent:ke,zIndexMode:vr,children:[a.jsx(Sh,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:h,onConnectStart:v,onConnectEnd:p,onClickConnectStart:y,onClickConnectEnd:g,nodesDraggable:Q,autoPanOnNodeFocus:J,nodesConnectable:ne,nodesFocusable:ae,edgesFocusable:me,edgesReconnectable:ye,elementsSelectable:pe,elevateNodesOnSelect:t0,elevateEdgesOnSelect:l0,minZoom:ve,maxZoom:de,nodeExtent:ke,onNodesChange:Qg,onEdgesChange:Rg,snapToGrid:F,snapGrid:H,connectionMode:U,translateExtent:Te,connectOnClick:i0,defaultEdgeOptions:a0,fitView:ur,fitViewOptions:cr,onNodesDelete:I,onEdgesDelete:M,onDelete:P,onNodeDragStart:A,onNodeDrag:E,onNodeDragStop:k,onSelectionDrag:B,onSelectionDragStart:T,onSelectionDragStop:L,onMove:b,onMoveStart:c,onMoveEnd:m,noPanClassName:dr,nodeOrigin:ce,rfId:ys,autoPanOnConnect:r0,autoPanOnNodeDrag:d0,autoPanSpeed:c0,onError:v0,connectionRadius:b0,isValidConnection:m0,selectNodesOnDrag:$,nodeDragThreshold:h0,connectionDragThreshold:p0,onBeforeDelete:W,debug:N0,ariaLabelConfig:C0,zIndexMode:vr}),a.jsx(jp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:x,onNodeMouseMove:f,onNodeMouseLeave:w,onNodeContextMenu:N,onNodeDoubleClick:C,nodeTypes:t,edgeTypes:l,connectionLineType:V,connectionLineStyle:z,connectionLineComponent:X,connectionLineContainerStyle:se,selectionKeyCode:R,selectionOnDrag:Y,selectionMode:ie,deleteKeyCode:oe,multiSelectionKeyCode:q,panActivationKeyCode:Z,zoomActivationKeyCode:G,onlyRenderVisibleElements:j,defaultViewport:De,translateExtent:Te,minZoom:ve,maxZoom:de,preventScrolling:Pe,zoomOnScroll:ge,zoomOnPinch:Ne,zoomOnDoubleClick:Bg,panOnScroll:Me,panOnScrollSpeed:rn,panOnScrollMode:Lg,panOnDrag:Ig,autoPanOnSelection:u0,onPaneClick:Dg,onPaneMouseEnter:_g,onPaneMouseMove:Og,onPaneMouseLeave:Kg,onPaneScroll:Hg,onPaneContextMenu:Fg,paneClickDistance:Gg,nodeClickDistance:Vg,onSelectionContextMenu:O,onSelectionStart:_,onSelectionEnd:D,onReconnect:$g,onReconnectStart:jg,onReconnectEnd:Wg,onEdgeContextMenu:Ug,onEdgeDoubleClick:qg,onEdgeMouseEnter:Yg,onEdgeMouseMove:Jg,onEdgeMouseLeave:Zg,reconnectRadius:Xg,defaultMarkerColor:Be,noDragClassName:e0,noWheelClassName:n0,noPanClassName:dr,rfId:ys,disableKeyboardA11y:br,nodeExtent:ke,viewport:g0,onViewportChange:y0}),a.jsx(gh,{onSelectionChange:K}),zg,a.jsx(mh,{proOptions:s0,position:o0}),a.jsx(bh,{rfId:ys,disableKeyboardA11y:br})]})})}var Xp=wl(Zp);function Qp(e){const[n,i]=S.useState(e),o=S.useCallback(s=>i(t=>pl(s,t)),[]);return[n,i,o]}function Rp(e){const[n,i]=S.useState(e),o=S.useCallback(s=>i(t=>gl(s,t)),[]);return[n,i,o]}function eg({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 ng({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 ig={[ln.Dots]:1,[ln.Lines]:1,[ln.Cross]:6},og=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function ar({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:b}){const c=S.useRef(null),{transform:m,patternId:h}=fe(og,xe),v=o||ig[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],w=Array.isArray(t)?t:[t,t],N=y?[f,f]:x,C=[w[0]*m[2]||1+N[0]/2,w[1]*m[2]||1+N[1]/2],A=`${h}${e||""}`;return a.jsxs("svg",{className:Ae(["react-flow__background",u]),style:{...d,...Ji,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[a.jsx("pattern",{id:A,x:m[0]%x[0],y:m[1]%x[1],width:x[0],height:x[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${C[0]},-${C[1]})`,children:p?a.jsx(ng,{radius:f/2,className:b}):a.jsx(eg,{dimensions:N,lineWidth:s,variant:n,className:b})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${A})`})]})}ar.displayName="Background";const sg=S.memo(ar);function ag(){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 tg(){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 lg(){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 rg(){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 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 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 Qi({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Ae(["react-flow__controls-button",n]),...i,children:e})}const ug=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function tr({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:b,position:c="bottom-left",orientation:m="vertical","aria-label":h}){const v=Se(),{isInteractive:p,minZoomReached:y,maxZoomReached:g,ariaLabelConfig:x}=fe(ug,xe),{zoomIn:f,zoomOut:w,fitView:N}=vs(),C=()=>{f(),t==null||t()},A=()=>{w(),l==null||l()},E=()=>{N(s),r==null||r()},k=()=>{v.setState({nodesDraggable:!p,nodesConnectable:!p,elementsSelectable:!p}),d==null||d(!p)},I=m==="horizontal"?"horizontal":"vertical";return a.jsxs(qi,{className:Ae(["react-flow__controls",I,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":h!=null?h:x["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(Qi,{onClick:C,className:"react-flow__controls-zoomin",title:x["controls.zoomIn.ariaLabel"],"aria-label":x["controls.zoomIn.ariaLabel"],disabled:g,children:a.jsx(ag,{})}),a.jsx(Qi,{onClick:A,className:"react-flow__controls-zoomout",title:x["controls.zoomOut.ariaLabel"],"aria-label":x["controls.zoomOut.ariaLabel"],disabled:y,children:a.jsx(tg,{})})]}),i&&a.jsx(Qi,{className:"react-flow__controls-fitview",onClick:E,title:x["controls.fitView.ariaLabel"],"aria-label":x["controls.fitView.ariaLabel"],children:a.jsx(lg,{})}),o&&a.jsx(Qi,{className:"react-flow__controls-interactive",onClick:k,title:x["controls.interactive.ariaLabel"],"aria-label":x["controls.interactive.ariaLabel"],children:p?a.jsx(dg,{}):a.jsx(rg,{})}),b]})}tr.displayName="Controls";const cg=S.memo(tr);function bg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:b,shapeRendering:c,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:b,ry:b,width:o,height:s,style:{fill:y,stroke:r,strokeWidth:d},shapeRendering:c,onClick:h?g=>h(g,e):void 0})}const mg=S.memo(bg),vg=e=>e.nodes.map(n=>n.id),gs=e=>e instanceof Function?e:()=>e;function fg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=mg,onClick:l}){const r=fe(vg,xe),d=gs(n),u=gs(e),b=gs(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(pg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:b,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:c},m))})}function hg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:b,y:c,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:w}=en(y);return{node:y,x:g,y:x,width:f,height:w}},xe);return!u||u.hidden||!ht(u)?null:a.jsx(r,{x:b,y:c,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 pg=S.memo(hg);var gg=S.memo(fg);const yg=200,xg=150,Sg=e=>!e.hidden,wg=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?bt(Rn(e.nodeLookup,{filter:Sg}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Ng="react-flow__minimap-desc";function lr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:b,maskStrokeWidth:c,position:m="bottom-right",onClick:h,onNodeClick:v,pannable:p=!1,zoomable:y=!1,ariaLabel:g,inversePan:x,zoomStep:f=1,offsetScale:w=5}){var F,H;const N=Se(),C=S.useRef(null),{boundingRect:A,viewBB:E,rfId:k,panZoom:I,translateExtent:M,flowWidth:P,flowHeight:K,ariaLabelConfig:T}=fe(wg,xe),B=(F=e==null?void 0:e.width)!=null?F:yg,L=(H=e==null?void 0:e.height)!=null?H:xg,O=A.width/B,_=A.height/L,D=Math.max(O,_),W=D*B,U=D*L,V=w*D,z=A.x-(W-A.width)/2-V,X=A.y-(U-A.height)/2-V,se=W+V*2,oe=U+V*2,R=`${Ng}-${k}`,Y=S.useRef(0),ie=S.useRef();Y.current=D,S.useEffect(()=>{if(C.current&&I)return ie.current=Bf({domNode:C.current,panZoom:I,getTransform:()=>N.getState().transform,getViewScale:()=>Y.current}),()=>{var j;(j=ie.current)==null||j.destroy()}},[I]),S.useEffect(()=>{var j;(j=ie.current)==null||j.update({translateExtent:M,width:P,height:K,inversePan:x,pannable:p,zoomStep:f,zoomable:y})},[p,y,x,f,M,P,K]);const Z=h?j=>{var J;const[$,Q]=((J=ie.current)==null?void 0:J.pointer(j))||[0,0];h(j,{x:$,y:Q})}:void 0,q=v?S.useCallback((j,$)=>{const Q=N.getState().nodeLookup.get($).internals.userNode;v(j,Q)},[]):void 0,G=g!=null?g:T["minimap.ariaLabel"];return a.jsx(qi,{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 b=="string"?b:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*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:Ae(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:B,height:L,viewBox:`${z} ${X} ${se} ${oe}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":R,ref:C,onClick:Z,children:[G&&a.jsx("title",{id:R,children:G}),a.jsx(gg,{onClick:q,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${z-V},${X-V}h${se+V*2}v${oe+V*2}h${-se-V*2}z
|
|
76
|
-
M${
|
|
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"})});
|