Home
last modified time | relevance | path

Searched refs:setParent (Results 1 – 25 of 120) sorted by last modified time

12345

/plugin/mermaid/
H A Dmermaid.min.js105 You have to call mermaid.initialize.`)},wRt=function(i,a,f){Kt.info("addLink (abc78)",i,a,f);let g,w;for(g=0;g<i.length;g++)for(w=0;w<a.length;w++)bRt(i[g],a[w],f)},mRt=function(i,a){i.forEach(function(f){f==="default"?Qv.defaultInterpolate=a:Qv[f].interpolate=a})},vRt=function(i,a){i.forEach(function(f){if(f>=Qv.length)throw new Error(`The index ${f} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${Qv.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);f==="default"?Qv.defaultStyle=a:(uo.isSubstringInArray("fill",a)===-1&&a.push("fill:none"),Qv[f].style=a)})},yRt=function(i,a){i.split(",").forEach(function(f){wD[f]===void 0&&(wD[f]={id:f,styles:[],textStyles:[]}),a!=null&&a.forEach(function(g){if(g.match("color")){const w=g.replace("fill","bgFill").replace("color","fill");wD[f].textStyles.push(w)}wD[f].styles.push(g)})})},xRt=function(i){Zw=i,Zw.match(/.*</)&&(Zw="RL"),Zw.match(/.*\^/)&&(Zw="BT"),Zw.match(/.*>/)&&(Zw="LR"),Zw.match(/.*v/)&&(Zw="TB"),Zw==="TD"&&(Zw="TB")},jY=function(i,a){i.split(",").forEach(function(f){let g=f;jl[g]!==void 0&&jl[g].classes.push(a),OY[g]!==void 0&&OY[g].classes.push(a)})},hje=function(i,a){i.split(",").forEach(function(f){a!==void 0&&(NY[FY==="gen-1"?zF(f):f]=RY(a))})},fje=function(i,a,f){let g=zF(i);if(Re().securityLevel!=="loose"||a===void 0)return;let w=[];if(typeof f=="string"){w=f.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let v=0;v<w.length;v++){let b=w[v].trim();b.charAt(0)==='"'&&b.charAt(b.length-1)==='"'&&(b=b.substr(1,b.length-2)),w[v]=b}}w.length===0&&w.push(i),jl[i]!==void 0&&(jl[i].haveCallback=!0,BY.push(function(){const v=document.querySelector(`[id="${g}"]`);v!==null&&v.addEventListener("click",function(){uo.runFunc(a,...w)},!1)}))},kRt=function(i,a,f){i.split(",").forEach(function(g){jl[g]!==void 0&&(jl[g].link=uo.formatUrl(a,bD),jl[g].linkTarget=f)}),jY(i,"clickable")},ERt=function(i){if(NY.hasOwnProperty(i))return NY[i]},TRt=function(i,a,f){i.split(",").forEach(function(g){fje(g,a,f)}),jY(i,"clickable")},CRt=function(i){BY.forEach(function(a){a(i)})},SRt=function(){return Zw.trim()},_Rt=function(){return jl},ARt=function(){return Qv},LRt=function(){return wD},DRt=function(i){let a=Tr(".mermaidTooltip");(a._groups||a)[0][0]===null&&(a=Tr("body").append("div").attr("class","mermaidTooltip").style("opacity",0)),Tr(i).select("svg").selectAll("g.node").on("mouseover",function(){const w=Tr(this);if(w.attr("title")===null)return;const b=this.getBoundingClientRect();a.transition().duration(200).style("opacity",".9"),a.text(w.attr("title")).style("left",window.scrollX+b.left+(b.right-b.left)/2+"px").style("top",window.scrollY+b.bottom+"px"),a.html(a.html().replace(/&lt;br\/&gt;/g,"<br/>")),w.classed("hover",!0)}).on("mouseout",function(){a.transition().duration(500).style("opacity",0),Tr(this).classed("hover",!1)})};BY.push(DRt);const MRt=function(i="gen-1"){jl={},wD={},Qv=[],BY=[DRt],Px=[],OY={},PY=0,NY={},apt=!0,FY=i,bD=Re(),ag()},IRt=i=>{FY=i||"gen-2"},ORt=function(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"},NRt=function(i,a,f){let g=i.text.trim(),w=f.text;i===f&&f.text.match(/\s/)&&(g=void 0);function v(M){const F={boolean:{},number:{},string:{}},R=[];let B;return{nodeList:M.filter(function(Y){const nt=typeof Y;return Y.stmt&&Y.stmt==="dir"?(B=Y.value,!1):Y.trim()===""?!1:nt in F?F[nt].hasOwnProperty(Y)?!1:F[nt][Y]=!0:R.includes(Y)?!1:R.push(Y)}),dir:B}}let b=[];const{nodeList:E,dir:S}=v(b.concat.apply(b,a));if(b=E,FY==="gen-1")for(let M=0;M<b.length;M++)b[M]=zF(b[M]);g=g||"subGraph"+PY,w=w||"",w=RY(w),PY=PY+1;const _={id:g,nodes:b,title:w.trim(),classes:[],dir:S,labelType:f.type};return Kt.info("Adding",_.id,_.nodes,_.dir),_.nodes=HRt(_,Px).nodes,Px.push(_),OY[g]=_,g},dje=function(i){for(const[a,f]of Px.entries())if(f.id===i)return a;return-1};let qF=-1;const PRt=[],FRt=function(i,a){const f=Px[a].nodes;if(qF=qF+1,qF>2e3)return;if(PRt[qF]=a,Px[a].id===i)return{result:!0,count:0};let g=0,w=1;for(;g<f.length;){const v=dje(f[g]);if(v>=0){const b=FRt(i,v);if(b.result)return{result:!0,count:w+b.count};w=w+b.count}g=g+1}return{result:!1,count:w}},BRt=function(i){return PRt[i]},RRt=function(){qF=-1,Px.length>0&&FRt("none",Px.length-1)},jRt=function(){return Px},$Rt=()=>apt?(apt=!1,!0):!1,gje=i=>{let a=i.trim(),f="arrow_open";switch(a[0]){case"<":f="arrow_point",a=a.slice(1);break;case"x":f="arrow_cross",a=a.slice(1);break;case"o":f="arrow_circle",a=a.slice(1);break}let g="normal";return a.includes("=")&&(g="thick"),a.includes(".")&&(g="dotted"),{type:f,stroke:g}},pje=(i,a)=>{const f=a.length;let g=0;for(let w=0;w<f;++w)a[w]===i&&++g;return g},bje=i=>{const a=i.trim();let f=a.slice(0,-1),g="arrow_open";switch(a.slice(-1)){case"x":g="arrow_cross",a[0]==="x"&&(g="double_"+g,f=f.slice(1));break;case">":g="arrow_point",a[0]==="<"&&(g="double_"+g,f=f.slice(1));break;case"o":g="arrow_circle",a[0]==="o"&&(g="double_"+g,f=f.slice(1));break}let w="normal",v=f.length-1;f[0]==="="&&(w="thick"),f[0]==="~"&&(w="invisible");let b=pje(".",f);return b&&(w="dotted",v=b),{type:g,stroke:w,length:v}},zRt=(i,a)=>{const f=bje(i);let g;if(a){if(g=gje(a),g.stroke!==f.stroke)return{type:"INVALID",stroke:"INVALID"};if(g.type==="arrow_open")g.type=f.type;else{if(g.type!==f.type)return{type:"INVALID",stroke:"INVALID"};g.type="double_"+g.type}return g.type==="double_arrow"&&(g.type="double_arrow_point"),g.length=f.length,g}return f},qRt=(i,a)=>{let f=!1;return i.forEach(g=>{g.nodes.indexOf(a)>=0&&(f=!0)}),f},HRt=(i,a)=>{const f=[];return i.nodes.forEach((g,w)=>{qRt(a,g)||f.push(i.nodes[w])}),{nodes:f}},VRt={firstGraph:$Rt},A9={defaultConfig:()=>lBt.flowchart,setAccTitle:og,getAccTitle:Xg,getAccDescription:Jg,setAccDescription:Qg,addVertex:pRt,lookUpDomId:zF,addLink:wRt,updateLinkInterpolate:mRt,updateLink:vRt,addClass:yRt,setDirection:xRt,setClass:jY,setTooltip:hje,getTooltip:ERt,setClickEvent:TRt,setLink:kRt,bindFunctions:CRt,getDirection:SRt,getVertices:_Rt,getEdges:ARt,getClasses:LRt,clear:MRt,setGen:IRt,defaultStyle:ORt,addSubGraph:NRt,getDepthFirstPos:BRt,indexNodes:RRt,getSubGraphs:jRt,destructLink:zRt,lex:VRt,exists:qRt,makeUniq:HRt,setDiagramTitle:S2,getDiagramTitle:Zg},wje=Object.freeze(Object.defineProperty({__proto__:null,addClass:yRt,addLink:wRt,addSingleLink:bRt,addSubGraph:NRt,addVertex:pRt,bindFunctions:CRt,clear:MRt,default:A9,defaultStyle:ORt,destructLink:zRt,firstGraph:$Rt,getClasses:LRt,getDepthFirstPos:BRt,getDirection:SRt,getEdges:ARt,getSubGraphs:jRt,getTooltip:ERt,getVertices:_Rt,indexNodes:RRt,lex:VRt,lookUpDomId:zF,setClass:jY,setClickEvent:TRt,setDirection:xRt,setGen:IRt,setLink:kRt,updateLink:vRt,updateLinkInterpolate:mRt},Symbol.toStringTag,{value:"Module"}));var mje="[object Symbol]";function L9(i){return typeof i=="symbol"||e4(i)&&b9(i)==mje}function mD(i,a){for(var f=-1,g=i==null?0:i.length,w=Array(g);++f<g;)w[f]=a(i[f],f,i);return w}var vje=1/0,URt=Yw?Yw.prototype:void 0,GRt=URt?URt.toString:void 0;function KRt(i){if(typeof i=="string")return i;if(s1(i))return mD(i,KRt)+"";if(L9(i))return GRt?GRt.call(i):"";var a=i+"";return a=="0"&&1/i==-vje?"-0":a}var yje=/\s/;function xje(i){for(var a=i.length;a--&&yje.test(i.charAt(a)););return a}var kje=/^\s+/;function Eje(i){return i&&i.slice(0,xje(i)+1).replace(kje,"")}var WRt=0/0,Tje=/^[-+]0x[0-9a-f]+$/i,Cje=/^0b[01]+$/i,Sje=/^0o[0-7]+$/i,_je=parseInt;function Aje(i){if(typeof i=="number")return i;if(L9(i))return WRt;if(T2(i)){var a=typeof i.valueOf=="function"?i.valueOf():i;i=T2(a)?a+"":a}if(typeof i!="string")return i===0?i:+i;i=Eje(i);var f=Cje.test(i);return f||Sje.test(i)?_je(i.slice(2),f?2:8):Tje.test(i)?WRt:+i}var YRt=1/0,Lje=17976931348623157e292;function $Y(i){if(!i)return i===0?i:0;if(i=Aje(i),i===YRt||i===-YRt){var a=i<0?-1:1;return a*Lje}return i===i?i:0}function Dje(i){var a=$Y(i),f=a%1;return a===a?f?a-f:a:0}function Mje(){}function XRt(i,a){for(var f=-1,g=i==null?0:i.length;++f<g&&a(i[f],f,i)!==!1;);return i}function QRt(i,a,f,g){for(var w=i.length,v=f+(g?1:-1);g?v--:++v<w;)if(a(i[v],v,i))return v;return-1}function Ije(i){return i!==i}function Oje(i,a,f){for(var g=f-1,w=i.length;++g<w;)if(i[g]===a)return g;return-1}function Nje(i,a,f){return a===a?Oje(i,a,f):QRt(i,Ije,f)}function Pje(i,a){var f=i==null?0:i.length;return!!f&&Nje(i,a,0)>-1}function A2(i){return p8(i)?wFt(i):xBt(i)}var Fje=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bje=/^\w*$/;function opt(i,a){if(s1(i))return!1;var f=typeof i;return f=="number"||f=="symbol"||f=="boolean"||i==null||L9(i)?!0:Bje.test(i)||!Fje.test(i)||a!=null&&i in Object(a)}var Rje=500;function jje(i){var a=eD(i,function(g){return f.size===Rje&&f.clear(),g}),f=a.cache;return a}var $je=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zje=/\\(\\)?/g,qje=jje(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace($je,function(f,g,w,v){a.push(w?v.replace(zje,"$1"):g||f)}),a});const Hje=qje;function JRt(i){return i==null?"":KRt(i)}function zY(i,a){return s1(i)?i:opt(i,a)?[i]:Hje(JRt(i))}var Vje=1/0;function HF(i){if(typeof i=="string"||L9(i))return i;var a=i+"";return a=="0"&&1/i==-Vje?"-0":a}function qY(i,a){a=zY(a,i);for(var f=0,g=a.length;i!=null&&f<g;)i=i[HF(a[f++])];return f&&f==g?i:void 0}function Uje(i,a,f){var g=i==null?void 0:qY(i,a);return g===void 0?f:g}function cpt(i,a){for(var f=-1,g=a.length,w=i.length;++f<g;)i[w+f]=a[f];return i}var ZRt=Yw?Yw.isConcatSpreadable:void 0;function Gje(i){return s1(i)||nD(i)||!!(ZRt&&i&&i[ZRt])}function HY(i,a,f,g,w){var v=-1,b=i.length;for(f||(f=Gje),w||(w=[]);++v<b;){var E=i[v];a>0&&f(E)?a>1?HY(E,a-1,f,g,w):cpt(w,E):g||(w[w.length]=E)}return w}function vD(i){var a=i==null?0:i.length;return a?HY(i,1):[]}function Kje(i){return xFt(yFt(i,void 0,vD),i+"")}function Wje(i,a,f,g){var w=-1,v=i==null?0:i.length;for(g&&v&&(f=i[++w]);++w<v;)f=a(f,i[w],w,i);return f}function Yje(i,a){return i&&LF(a,A2(a),i)}function Xje(i,a){return i&&LF(a,y9(a),i)}function tjt(i,a){for(var f=-1,g=i==null?0:i.length,w=0,v=[];++f<g;){var b=i[f];a(b,f,i)&&(v[w++]=b)}return v}function ejt(){return[]}var Qje=Object.prototype,Jje=Qje.propertyIsEnumerable,njt=Object.getOwnPropertySymbols,Zje=njt?function(i){return i==null?[]:(i=Object(i),tjt(njt(i),function(a){return Jje.call(i,a)}))}:ejt;const upt=Zje;function t$e(i,a){return LF(i,upt(i),a)}var e$e=Object.getOwnPropertySymbols,n$e=e$e?function(i){for(var a=[];i;)cpt(a,upt(i)),i=vgt(i);return a}:ejt;const rjt=n$e;function r$e(i,a){return LF(i,rjt(i),a)}function ijt(i,a,f){var g=a(i);return s1(i)?g:cpt(g,f(i))}function lpt(i){return ijt(i,A2,upt)}function i$e(i){return ijt(i,y9,rjt)}var s$e=Object.prototype,a$e=s$e.hasOwnProperty;function o$e(i){var a=i.length,f=new i.constructor(a);return a&&typeof i[0]=="string"&&a$e.call(i,"index")&&(f.index=i.index,f.input=i.input),f}function c$e(i,a){var f=a?mgt(i.buffer):i.buffer;return new i.constructor(f,i.byteOffset,i.byteLength)}var u$e=/\w*$/;function l$e(i){var a=new i.constructor(i.source,u$e.exec(i));return a.lastIndex=i.lastIndex,a}var sjt=Yw?Yw.prototype:void 0,ajt=sjt?sjt.valueOf:void 0;function h$e(i){return ajt?Object(ajt.call(i)):{}}var f$e="[object Boolean]",d$e="[object Date]",g$e="[object Map]",p$e="[object Number]",b$e="[object RegExp]",w$e="[object Set]",m$e="[object String]",v$e="[object Symbol]",y$e="[object ArrayBuffer]",x$e="[object DataView]",k$e="[object Float32Array]",E$e="[object Float64Array]",T$e="[object Int8Array]",C$e="[object Int16Array]",S$e="[object Int32Array]",_$e="[object Uint8Array]",A$e="[object Uint8ClampedArray]",L$e="[object Uint16Array]",D$e="[object Uint32Array]";function M$e(i,a,f){var g=i.constructor;switch(a){case y$e:return mgt(i);case f$e:case d$e:return new g(+i);case x$e:return c$e(i,f);case k$e:case E$e:case T$e:case C$e:case S$e:case _$e:case A$e:case L$e:case D$e:return nFt(i,f);case g$e:return new g;case p$e:case m$e:return new g(i);case b$e:return l$e(i);case w$e:return new g;case v$e:return h$e(i)}}var I$e="[object Map]";function O$e(i){return e4(i)&&hD(i)==I$e}var ojt=iD&&iD.isMap,N$e=ojt?iY(ojt):O$e;const P$e=N$e;var F$e="[object Set]";function B$e(i){return e4(i)&&hD(i)==F$e}var cjt=iD&&iD.isSet,R$e=cjt?iY(cjt):B$e;const j$e=R$e;var $$e=1,z$e=2,q$e=4,ujt="[object Arguments]",H$e="[object Array]",V$e="[object Boolean]",U$e="[object Date]",G$e="[object Error]",ljt="[object Function]",K$e="[object GeneratorFunction]",W$e="[object Map]",Y$e="[object Number]",hjt="[object Object]",X$e="[object RegExp]",Q$e="[object Set]",J$e="[object String]",Z$e="[object Symbol]",tze="[object WeakMap]",eze="[object ArrayBuffer]",nze="[object DataView]",rze="[object Float32Array]",ize="[object Float64Array]",sze="[object Int8Array]",aze="[object Int16Array]",oze="[object Int32Array]",cze="[object Uint8Array]",uze="[object Uint8ClampedArray]",lze="[object Uint16Array]",hze="[object Uint32Array]",Tl={};Tl[ujt]=Tl[H$e]=Tl[eze]=Tl[nze]=Tl[V$e]=Tl[U$e]=Tl[rze]=Tl[ize]=Tl[sze]=Tl[aze]=Tl[oze]=Tl[W$e]=Tl[Y$e]=Tl[hjt]=Tl[X$e]=Tl[Q$e]=Tl[J$e]=Tl[Z$e]=Tl[cze]=Tl[uze]=Tl[lze]=Tl[hze]=!0,Tl[G$e]=Tl[ljt]=Tl[tze]=!1;function VF(i,a,f,g,w,v){var b,E=a&$$e,S=a&z$e,_=a&q$e;if(f&&(b=w?f(i,g,w,v):f(i)),b!==void 0)return b;if(!T2(i))return i;var M=s1(i);if(M){if(b=o$e(i),!E)return rFt(i,b)}else{var F=hD(i),R=F==ljt||F==K$e;if(rD(i))return eFt(i,E);if(F==hjt||F==ujt||R&&!w){if(b=S||R?{}:aFt(i),!E)return S?r$e(i,Xje(b,i)):t$e(i,Yje(b,i))}else{if(!Tl[F])return w?i:{};b=M$e(i,F,E)}}v||(v=new Gv);var B=v.get(i);if(B)return B;v.set(i,b),j$e(i)?i.forEach(function(nt){b.add(VF(nt,a,f,nt,i,v))}):P$e(i)&&i.forEach(function(nt,ot){b.set(ot,VF(nt,a,f,ot,i,v))});var z=_?S?i$e:lpt:S?y9:A2,Y=M?void 0:z(i);return XRt(Y||i,function(nt,ot){Y&&(ot=nt,nt=i[ot]),aY(b,ot,VF(nt,a,f,ot,i,v))}),b}var fze=4;function fjt(i){return VF(i,fze)}var dze=1,gze=4;function pze(i){return VF(i,dze|gze)}var bze="__lodash_hash_undefined__";function wze(i){return this.__data__.set(i,bze),this}function mze(i){return this.__data__.has(i)}function UF(i){var a=-1,f=i==null?0:i.length;for(this.__data__=new Ix;++a<f;)this.add(i[a])}UF.prototype.add=UF.prototype.push=wze,UF.prototype.has=mze;function vze(i,a){for(var f=-1,g=i==null?0:i.length;++f<g;)if(a(i[f],f,i))return!0;return!1}function djt(i,a){return i.has(a)}var yze=1,xze=2;function gjt(i,a,f,g,w,v){var b=f&yze,E=i.length,S=a.length;if(E!=S&&!(b&&S>E))return!1;var _=v.get(i),M=v.get(a);if(_&&M)return _==a&&M==i;var F=-1,R=!0,B=f&xze?new UF:void 0;for(v.set(i,a),v.set(a,i);++F<E;){var z=i[F],Y=a[F];if(g)var nt=b?g(Y,z,F,a,i,v):g(z,Y,F,i,a,v);if(nt!==void 0){if(nt)continue;R=!1;break}if(B){if(!vze(a,function(ot,ft){if(!djt(B,ft)&&(z===ot||w(z,ot,f,g,v)))return B.push(ft)})){R=!1;break}}else if(!(z===Y||w(z,Y,f,g,v))){R=!1;break}}return v.delete(i),v.delete(a),R}function kze(i){var a=-1,f=Array(i.size);return i.forEach(function(g,w){f[++a]=[w,g]}),f}function hpt(i){var a=-1,f=Array(i.size);return i.forEach(function(g){f[++a]=g}),f}var Eze=1,Tze=2,Cze="[object Boolean]",Sze="[object Date]",_ze="[object Error]",Aze="[object Map]",Lze="[object Number]",Dze="[object RegExp]",Mze="[object Set]",Ize="[object String]",Oze="[object Symbol]",Nze="[object ArrayBuffer]",Pze="[object DataView]",pjt=Yw?Yw.prototype:void 0,fpt=pjt?pjt.valueOf:void 0;function Fze(i,a,f,g,w,v,b){switch(f){case Pze:if(i.byteLength!=a.byteLength||i.byteOffset!=a.byteOffset)return!1;i=i.buffer,a=a.buffer;case Nze:return!(i.byteLength!=a.byteLength||!v(new nY(i),new nY(a)));case Cze:case Sze:case Lze:return tD(+i,+a);case _ze:return i.name==a.name&&i.message==a.message;case Dze:case Ize:return i==a+"";case Aze:var E=kze;case Mze:var S=g&Eze;if(E||(E=hpt),i.size!=a.size&&!S)return!1;var _=b.get(i);if(_)return _==a;g|=Tze,b.set(i,a);var M=gjt(E(i),E(a),g,w,v,b);return b.delete(i),M;case Oze:if(fpt)return fpt.call(i)==fpt.call(a)}return!1}var Bze=1,Rze=Object.prototype,jze=Rze.hasOwnProperty;function $ze(i,a,f,g,w,v){var b=f&Bze,E=lpt(i),S=E.length,_=lpt(a),M=_.length;if(S!=M&&!b)return!1;for(var F=S;F--;){var R=E[F];if(!(b?R in a:jze.call(a,R)))return!1}var B=v.get(i),z=v.get(a);if(B&&z)return B==a&&z==i;var Y=!0;v.set(i,a),v.set(a,i);for(var nt=b;++F<S;){R=E[F];var ot=i[R],ft=a[R];if(g)var wt=b?g(ft,ot,R,a,i,v):g(ot,ft,R,i,a,v);if(!(wt===void 0?ot===ft||w(ot,ft,f,g,v):wt)){Y=!1;break}nt||(nt=R=="constructor")}if(Y&&!nt){var mt=i.constructor,ct=a.constructor;mt!=ct&&"constructor"in i&&"constructor"in a&&!(typeof mt=="function"&&mt instanceof mt&&typeof ct=="function"&&ct instanceof ct)&&(Y=!1)}return v.delete(i),v.delete(a),Y}var zze=1,bjt="[object Arguments]",wjt="[object Array]",VY="[object Object]",qze=Object.prototype,mjt=qze.hasOwnProperty;function Hze(i,a,f,g,w,v){var b=s1(i),E=s1(a),S=b?wjt:hD(i),_=E?wjt:hD(a);S=S==bjt?VY:S,_=_==bjt?VY:_;var M=S==VY,F=_==VY,R=S==_;if(R&&rD(i)){if(!rD(a))return!1;b=!0,M=!1}if(R&&!M)return v||(v=new Gv),b||sY(i)?gjt(i,a,f,g,w,v):Fze(i,a,S,f,g,w,v);if(!(f&zze)){var B=M&&mjt.call(i,"__wrapped__"),z=F&&mjt.call(a,"__wrapped__");if(B||z){var Y=B?i.value():i,nt=z?a.value():a;return v||(v=new Gv),w(Y,nt,f,g,v)}}return R?(v||(v=new Gv),$ze(i,a,f,g,w,v)):!1}function dpt(i,a,f,g,w){return i===a?!0:i==null||a==null||!e4(i)&&!e4(a)?i!==i&&a!==a:Hze(i,a,f,g,dpt,w)}var Vze=1,Uze=2;function Gze(i,a,f,g){var w=f.length,v=w,b=!g;if(i==null)return!v;for(i=Object(i);w--;){var E=f[w];if(b&&E[2]?E[1]!==i[E[0]]:!(E[0]in i))return!1}for(;++w<v;){E=f[w];var S=E[0],_=i[S],M=E[1];if(b&&E[2]){if(_===void 0&&!(S in i))return!1}else{var F=new Gv;if(g)var R=g(_,M,S,i,a,F);if(!(R===void 0?dpt(M,_,Vze|Uze,g,F):R))return!1}}return!0}function vjt(i){return i===i&&!T2(i)}function Kze(i){for(var a=A2(i),f=a.length;f--;){var g=a[f],w=i[g];a[f]=[g,w,vjt(w)]}return a}function yjt(i,a){return function(f){return f==null?!1:f[i]===a&&(a!==void 0||i in Object(f))}}function Wze(i){var a=Kze(i);return a.length==1&&a[0][2]?yjt(a[0][0],a[0][1]):function(f){return f===i||Gze(f,i,a)}}function Yze(i,a){return i!=null&&a in Object(i)}function xjt(i,a,f){a=zY(a,i);for(var g=-1,w=a.length,v=!1;++g<w;){var b=HF(a[g]);if(!(v=i!=null&&f(i,b)))break;i=i[b]}return v||++g!=w?v:(w=i==null?0:i.length,!!w&&ygt(w)&&oY(b,w)&&(s1(i)||nD(i)))}function kjt(i,a){return i!=null&&xjt(i,a,Yze)}var Xze=1,Qze=2;function Jze(i,a){return opt(i)&&vjt(a)?yjt(HF(i),a):function(f){var g=Uje(f,i);return g===void 0&&g===a?kjt(f,i):dpt(a,g,Xze|Qze)}}function Zze(i){return function(a){return a==null?void 0:a[i]}}function tqe(i){return function(a){return qY(a,i)}}function eqe(i){return opt(i)?Zze(HF(i)):tqe(i)}function k8(i){return typeof i=="function"?i:i==null?x9:typeof i=="object"?s1(i)?Jze(i[0],i[1]):Wze(i):eqe(i)}function gpt(i,a){return i&&wgt(i,a,A2)}function nqe(i,a){return function(f,g){if(f==null)return f;if(!p8(f))return i(f,g);for(var w=f.length,v=a?w:-1,b=Object(f);(a?v--:++v<w)&&g(b[v],v,b)!==!1;);return f}}var rqe=nqe(gpt);const UY=rqe;var iqe=function(){return Uv.Date.now()};const Ejt=iqe;var Tjt=Object.prototype,sqe=Tjt.hasOwnProperty,aqe=cY(function(i,a){i=Object(i);var f=-1,g=a.length,w=g>2?a[2]:void 0;for(w&&DF(a[0],a[1],w)&&(g=1);++f<g;)for(var v=a[f],b=y9(v),E=-1,S=b.length;++E<S;){var _=b[E],M=i[_];(M===void 0||tD(M,Tjt[_])&&!sqe.call(i,_))&&(i[_]=v[_])}return i});const yD=aqe;function oqe(i,a,f){for(var g=-1,w=i==null?0:i.length;++g<w;)if(f(a,i[g]))return!0;return!1}function GY(i){var a=i==null?0:i.length;return a?i[a-1]:void 0}function ppt(i){return typeof i=="function"?i:x9}function yr(i,a){var f=s1(i)?XRt:UY;return f(i,ppt(a))}function cqe(i,a){var f=[];return UY(i,function(g,w,v){a(g,w,v)&&f.push(g)}),f}function Fx(i,a){var f=s1(i)?tjt:cqe;return f(i,k8(a))}function uqe(i){return function(a,f,g){var w=Object(a);if(!p8(a)){var v=k8(f);a=A2(a),f=function(E){return v(w[E],E,w)}}var b=i(a,f,g);return b>-1?w[v?a[b]:b]:void 0}}var lqe=Math.max;function hqe(i,a,f){var g=i==null?0:i.length;if(!g)return-1;var w=f==null?0:Dje(f);return w<0&&(w=lqe(g+w,0)),QRt(i,k8(a),w)}var fqe=uqe(hqe);const bpt=fqe;function Cjt(i,a){var f=-1,g=p8(i)?Array(i.length):[];return UY(i,function(w,v,b){g[++f]=a(w,v,b)}),g}function u1(i,a){var f=s1(i)?mD:Cjt;return f(i,k8(a))}function dqe(i,a){return i==null?i:wgt(i,ppt(a),y9)}function gqe(i,a){return i&&gpt(i,ppt(a))}function pqe(i,a){return i>a}var bqe=Object.prototype,wqe=bqe.hasOwnProperty;function mqe(i,a){return i!=null&&wqe.call(i,a)}function lo(i,a){return i!=null&&xjt(i,a,mqe)}function vqe(i,a){return mD(a,function(f){return i[f]})}function Bx(i){return i==null?[]:vqe(i,A2(i))}function Tf(i){return i===void 0}function Sjt(i,a){return i<a}function KY(i,a){var f={};return a=k8(a),gpt(i,function(g,w,v){eY(f,w,a(g,w,v))}),f}function wpt(i,a,f){for(var g=-1,w=i.length;++g<w;){var v=i[g],b=a(v);if(b!=null&&(E===void 0?b===b&&!L9(b):f(b,E)))var E=b,S=v}return S}function D9(i){return i&&i.length?wpt(i,x9,pqe):void 0}function GF(i){return i&&i.length?wpt(i,x9,Sjt):void 0}function mpt(i,a){return i&&i.length?wpt(i,k8(a),Sjt):void 0}function yqe(i,a,f,g){if(!T2(i))return i;a=zY(a,i);for(var w=-1,v=a.length,b=v-1,E=i;E!=null&&++w<v;){var S=HF(a[w]),_=f;if(S==="__proto__"||S==="constructor"||S==="prototype")return i;if(w!=b){var M=E[S];_=g?g(M,S,E):void 0,_===void 0&&(_=T2(M)?M:oY(a[w+1])?[]:{})}aY(E,S,_),E=E[S]}return i}function xqe(i,a,f){for(var g=-1,w=a.length,v={};++g<w;){var b=a[g],E=qY(i,b);f(E,b)&&yqe(v,zY(b,i),E)}return v}function kqe(i,a){var f=i.length;for(i.sort(a);f--;)i[f]=i[f].value;return i}function Eqe(i,a){if(i!==a){var f=i!==void 0,g=i===null,w=i===i,v=L9(i),b=a!==void 0,E=a===null,S=a===a,_=L9(a);if(!E&&!_&&!v&&i>a||v&&b&&S&&!E&&!_||g&&b&&S||!f&&S||!w)return 1;if(!g&&!v&&!_&&i<a||_&&f&&w&&!g&&!v||E&&f&&w||!b&&w||!S)return-1}return 0}function Tqe(i,a,f){for(var g=-1,w=i.criteria,v=a.criteria,b=w.length,E=f.length;++g<b;){var S=Eqe(w[g],v[g]);if(S){if(g>=E)return S;var _=f[g];return S*(_=="desc"?-1:1)}}return i.index-a.index}function Cqe(i,a,f){a.length?a=mD(a,function(v){return s1(v)?function(b){return qY(b,v.length===1?v[0]:v)}:v}):a=[x9];var g=-1;a=mD(a,iY(k8));var w=Cjt(i,function(v,b,E){var S=mD(a,function(_){return _(v)});return{criteria:S,index:++g,value:v}});return kqe(w,function(v,b){return Tqe(v,b,f)})}function Sqe(i,a){return xqe(i,a,function(f,g){return kjt(i,g)})}var _qe=Kje(function(i,a){return i==null?{}:Sqe(i,a)});const KF=_qe;var Aqe=Math.ceil,Lqe=Math.max;function Dqe(i,a,f,g){for(var w=-1,v=Lqe(Aqe((a-i)/(f||1)),0),b=Array(v);v--;)b[g?v:++w]=i,i+=f;return b}function Mqe(i){return function(a,f,g){return g&&typeof g!="number"&&DF(a,f,g)&&(f=g=void 0),a=$Y(a),f===void 0?(f=a,a=0):f=$Y(f),g=g===void 0?a<f?1:-1:$Y(g),Dqe(a,f,g,i)}}var Iqe=Mqe();const M9=Iqe;function Oqe(i,a,f,g,w){return w(i,function(v,b,E){f=g?(g=!1,v):a(f,v,b,E)}),f}function WF(i,a,f){var g=s1(i)?Wje:Oqe,w=arguments.length<3;return g(i,k8(a),f,w,UY)}var Nqe=cY(function(i,a){if(i==null)return[];var f=a.length;return f>1&&DF(i,a[0],a[1])?a=[]:f>2&&DF(a[0],a[1],a[2])&&(a=[a[0]]),Cqe(i,HY(a,1),[])});const YF=Nqe;var Pqe=1/0,Fqe=lD&&1/hpt(new lD([,-0]))[1]==Pqe?function(i){return new lD(i)}:Mje;const Bqe=Fqe;var Rqe=200;function jqe(i,a,f){var g=-1,w=Pje,v=i.length,b=!0,E=[],S=E;if(f)b=!1,w=oqe;else if(v>=Rqe){var _=a?null:Bqe(i);if(_)return hpt(_);b=!1,w=djt,S=new UF}else S=a?[]:E;t:for(;++g<v;){var M=i[g],F=a?a(M):M;if(M=f||M!==0?M:0,b&&F===F){for(var R=S.length;R--;)if(S[R]===F)continue t;a&&S.push(F),E.push(M)}else w(S,F,f)||(S!==E&&S.push(F),E.push(M))}return E}var $qe=cY(function(i){return jqe(HY(i,1,uFt,!0))});const zqe=$qe;var qqe=0;function WY(i){var a=++qqe;return JRt(i)+a}function Hqe(i,a,f){for(var g=-1,w=i.length,v=a.length,b={};++g<w;){var E=g<v?a[g]:void 0;f(b,i[g],E)}return b}function Vqe(i,a){return Hqe(i||[],a||[],aY)}var Uqe="\0",I9="\0",_jt="";class l1{constructor(a={}){this._isDirected=lo(a,"directed")?a.directed:!0,this._isMultigraph=lo(a,"multigraph")?a.multigraph:!1,this._isCompound=lo(a,"compound")?a.compound:!1,this._label=void 0,this._defaultNodeLabelFn=sD(void 0),this._defaultEdgeLabelFn=sD(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[I9]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(a){return this._label=a,this}graph(){return this._label}setDefaultNodeLabel(a){return ZL(a)||(a=sD(a)),this._defaultNodeLabelFn=a,this}nodeCount(){return this._nodeCount}nodes(){return A2(this._nodes)}sources(){var a=this;return Fx(this.nodes(),function(f){return BF(a._in[f])})}sinks(){var a=this;return Fx(this.nodes(),function(f){return BF(a._out[f])})}setNodes(a,f){var g=arguments,w=this;return yr(a,function(v){g.length>1?w.setNode(v,f):w.setNode(v)}),this}setNode(a,f){return lo(this._nodes,a)?(arguments.length>1&&(this._nodes[a]=f),this):(this._nodes[a]=arguments.length>1?f:this._defaultNodeLabelFn(a),this._isCompound&&(this._parent[a]=I9,this._children[a]={},this._children[I9][a]=!0),this._in[a]={},this._preds[a]={},this._out[a]={},this._sucs[a]={},++this._nodeCount,this)}node(a){return this._nodes[a]}hasNode(a){return lo(this._nodes,a)}removeNode(a){var f=this;if(lo(this._nodes,a)){var g=function(w){f.removeEdge(f._edgeObjs[w])};delete this._nodes[a],this._isCompound&&(this._removeFromParentsChildList(a),delete this._parent[a],yr(this.children(a),function(w){f.setParent(w)}),delete this._children[a]),yr(A2(this._in[a]),g),delete this._in[a],delete this._preds[a],yr(A2(this._out[a]),g),delete this._out[a],delete this._sucs[a],--this._nodeCount}return this}setParent(a,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Tf(f))f=I9;else{f+="";for(var g=f;!Tf(g);g=this.parent(g))if(g===a)throw new Error("Setting "+f+" as parent of "+a+" would create a cycle");this.setNode(f)}return this.setNode(a),this._removeFromParentsChildList(a),this._parent[a]=f,this._children[f][a]=!0,this}_removeFromParentsChildList(a){delete this._children[this._parent[a]][a]}parent(a){if(this._isCompound){var f=this._parent[a];if(f!==I9)return f}}children(a){if(Tf(a)&&(a=I9),this._isCompound){var f=this._children[a];if(f)return A2(f)}else{if(a===I9)return this.nodes();if(this.hasNode(a))return[]}}predecessors(a){var f=this._preds[a];if(f)return A2(f)}successors(a){var f=this._sucs[a];if(f)return A2(f)}neighbors(a){var f=this.predecessors(a);if(f)return zqe(f,this.successors(a))}isLeaf(a){var f;return this.isDirected()?f=this.successors(a):f=this.neighbors(a),f.length===0}filterNodes(a){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var g=this;yr(this._nodes,function(b,E){a(E)&&f.setNode(E,b)}),yr(this._edgeObjs,function(b){f.hasNode(b.v)&&f.hasNode(b.w)&&f.setEdge(b,g.edge(b))});var w={};function v(b){var E=g.parent(b);return E===void 0||f.hasNode(E)?(w[b]=E,E):E in w?w[E]:v(E)}return this._isCompound&&yr(f.nodes(),function(b){f.setParent(b,v(b))}),f}setDefaultEdgeLabel(a){return ZL(a)||(a=sD(a)),this._defaultEdgeLabelFn=a,this}edgeCount(){return this._edgeCount}edges(){return Bx(this._edgeObjs)}setPath(a,f){var g=this,w=arguments;return WF(a,function(v,b){return w.length>1?g.setEdge(v,b,f):g.setEdge(v,b),b}),this}setEdge(){var a,f,g,w,v=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(a=b.v,f=b.w,g=b.name,arguments.length===2&&(w=arguments[1],v=!0)):(a=b,f=arguments[1],g=arguments[3],arguments.length>2&&(w=arguments[2],v=!0)),a=""+a,f=""+f,Tf(g)||(g=""+g);var E=XF(this._isDirected,a,f,g);if(lo(this._edgeLabels,E))return v&&(this._edgeLabels[E]=w),this;if(!Tf(g)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(a),this.setNode(f),this._edgeLabels[E]=v?w:this._defaultEdgeLabelFn(a,f,g);var S=Gqe(this._isDirected,a,f,g);return a=S.v,f=S.w,Object.freeze(S),this._edgeObjs[E]=S,Ajt(this._preds[f],a),Ajt(this._sucs[a],f),this._in[f][E]=S,this._out[a][E]=S,this._edgeCount++,this}edge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g);return this._edgeLabels[w]}hasEdge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g);return lo(this._edgeLabels,w)}removeEdge(a,f,g){var w=arguments.length===1?vpt(this._isDirected,arguments[0]):XF(this._isDirected,a,f,g),v=this._edgeObjs[w];return v&&(a=v.v,f=v.w,delete this._edgeLabels[w],delete this._edgeObjs[w],Ljt(this._preds[f],a),Ljt(this._sucs[a],f),delete this._in[f][w],delete this._out[a][w],this._edgeCount--),this}inEdges(a,f){var g=this._in[a];if(g){var w=Bx(g);return f?Fx(w,function(v){return v.v===f}):w}}outEdges(a,f){var g=this._out[a];if(g){var w=Bx(g);return f?Fx(w,function(v){return v.w===f}):w}}nodeEdges(a,f){var g=this.inEdges(a,f);if(g)return g.concat(this.outEdges(a,f))}}l1.prototype._nodeCount=0,l1.prototype._edgeCount=0;function Ajt(i,a){i[a]?i[a]++:i[a]=1}function Ljt(i,a){--i[a]||delete i[a]}function XF(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}return w+_jt+v+_jt+(Tf(g)?Uqe:g)}function Gqe(i,a,f,g){var w=""+a,v=""+f;if(!i&&w>v){var b=w;w=v,v=b}var E={v:w,w:v};return g&&(E.name=g),E}function vpt(i,a){return XF(i,a.v,a.w,a.name)}class Kqe{constructor(){var a={};a._next=a._prev=a,this._sentinel=a}dequeue(){var a=this._sentinel,f=a._prev;if(f!==a)return Djt(f),f}enqueue(a){var f=this._sentinel;a._prev&&a._next&&Djt(a),a._next=f._next,f._next._prev=a,f._next=a,a._prev=f}toString(){for(var a=[],f=this._sentinel,g=f._prev;g!==f;)a.push(JSON.stringify(g,Wqe)),g=g._prev;return"["+a.join(", ")+"]"}}function Djt(i){i._prev._next=i._next,i._next._prev=i._prev,delete i._next,delete i._prev}function Wqe(i,a){if(i!=="_next"&&i!=="_prev")return a}var Yqe=sD(1);function Xqe(i,a){if(i.nodeCount()<=1)return[];var f=Jqe(i,a||Yqe),g=Qqe(f.graph,f.buckets,f.zeroIdx);return vD(u1(g,function(w){return i.outEdges(w.v,w.w)}))}function Qqe(i,a,f){for(var g=[],w=a[a.length-1],v=a[0],b;i.nodeCount();){for(;b=v.dequeue();)ypt(i,a,f,b);for(;b=w.dequeue();)ypt(i,a,f,b);if(i.nodeCount()){for(var E=a.length-2;E>0;--E)if(b=a[E].dequeue(),b){g=g.concat(ypt(i,a,f,b,!0));break}}}return g}function ypt(i,a,f,g,w){var v=w?[]:void 0;return yr(i.inEdges(g.v),function(b){var E=i.edge(b),S=i.node(b.v);w&&v.push({v:b.v,w:b.w}),S.out-=E,xpt(a,f,S)}),yr(i.outEdges(g.v),function(b){var E=i.edge(b),S=b.w,_=i.node(S);_.in-=E,xpt(a,f,_)}),i.removeNode(g.v),v}function Jqe(i,a){var f=new l1,g=0,w=0;yr(i.nodes(),function(E){f.setNode(E,{v:E,in:0,out:0})}),yr(i.edges(),function(E){var S=f.edge(E.v,E.w)||0,_=a(E),M=S+_;f.setEdge(E.v,E.w,M),w=Math.max(w,f.node(E.v).out+=_),g=Math.max(g,f.node(E.w).in+=_)});var v=M9(w+g+3).map(function(){return new Kqe}),b=g+1;return yr(f.nodes(),function(E){xpt(v,b,f.node(E))}),{graph:f,buckets:v,zeroIdx:b}}function xpt(i,a,f){f.out?f.in?i[f.out-f.in+a].enqueue(f):i[i.length-1].enqueue(f):i[0].enqueue(f)}function Zqe(i){var a=i.graph().acyclicer==="greedy"?Xqe(i,f(i)):tHe(i);yr(a,function(g){var w=i.edge(g);i.removeEdge(g),w.forwardName=g.name,w.reversed=!0,i.setEdge(g.w,g.v,w,WY("rev"))});function f(g){return function(w){return g.edge(w).weight}}}function tHe(i){var a=[],f={},g={};function w(v){lo(g,v)||(g[v]=!0,f[v]=!0,yr(i.outEdges(v),function(b){lo(f,b.w)?a.push(b):w(b.w)}),delete f[v])}return yr(i.nodes(),w),a}function eHe(i){yr(i.edges(),function(a){var f=i.edge(a);if(f.reversed){i.removeEdge(a);var g=f.forwardName;delete f.reversed,delete f.forwardName,i.setEdge(a.w,a.v,f,g)}})}function xD(i,a,f,g){var w;do w=WY(g);while(i.hasNode(w));return f.dummy=a,i.setNode(w,f),w}function nHe(i){var a=new l1().setGraph(i.graph());return yr(i.nodes(),function(f){a.setNode(f,i.node(f))}),yr(i.edges(),function(f){var g=a.edge(f.v,f.w)||{weight:0,minlen:1},w=i.edge(f);a.setEdge(f.v,f.w,{weight:g.weight+w.weight,minlen:Math.max(g.minlen,w.minlen)})}),a}function Mjt(i){var a=new l1({multigraph:i.isMultigraph()}).setGraph(i.graph());return yr(i.nodes(),function(f){i.children(f).length||a.setNode(f,i.node(f))}),yr(i.edges(),function(f){a.setEdge(f,i.edge(f))}),a}function Ijt(i,a){var f=i.x,g=i.y,w=a.x-f,v=a.y-g,b=i.width/2,E=i.height/2;if(!w&&!v)throw new Error("Not possible to find intersection inside of the rectangle");var S,_;return Math.abs(v)*b>Math.abs(w)*E?(v<0&&(E=-E),S=E*w/v,_=E):(w<0&&(b=-b),S=b,_=b*v/w),{x:f+S,y:g+_}}function YY(i){var a=u1(M9(Njt(i)+1),function(){return[]});return yr(i.nodes(),function(f){var g=i.node(f),w=g.rank;Tf(w)||(a[w][g.order]=f)}),a}function rHe(i){var a=GF(u1(i.nodes(),function(f){return i.node(f).rank}));yr(i.nodes(),function(f){var g=i.node(f);lo(g,"rank")&&(g.rank-=a)})}function iHe(i){var a=GF(u1(i.nodes(),function(v){return i.node(v).rank})),f=[];yr(i.nodes(),function(v){var b=i.node(v).rank-a;f[b]||(f[b]=[]),f[b].push(v)});var g=0,w=i.graph().nodeRankFactor;yr(f,function(v,b){Tf(v)&&b%w!==0?--g:g&&yr(v,function(E){i.node(E).rank+=g})})}function Ojt(i,a,f,g){var w={width:0,height:0};return arguments.length>=4&&(w.rank=f,w.order=g),xD(i,"border",w,a)}function Njt(i){return D9(u1(i.nodes(),function(a){var f=i.node(a).rank;if(!Tf(f))return f}))}function sHe(i,a){var f={lhs:[],rhs:[]};return yr(i,function(g){a(g)?f.lhs.push(g):f.rhs.push(g)}),f}function aHe(i,a){var f=Ejt();try{return a()}finally{console.log(i+" time: "+(Ejt()-f)+"ms")}}function oHe(i,a){return a()}function cHe(i){function a(f){var g=i.children(f),w=i.node(f);if(g.length&&yr(g,a),lo(w,"minRank")){w.borderLeft=[],w.borderRight=[];for(var v=w.minRank,b=w.maxRank+1;v<b;++v)Pjt(i,"borderLeft","_bl",f,w,v),Pjt(i,"borderRight","_br",f,w,v)}}yr(i.children(),a)}function Pjt(i,a,f,g,w,v){var b={width:0,height:0,rank:v,borderType:a},E=w[a][v-1],S=xD(i,"border",b,f);w[a][v]=S,i.setParent(S,g),E&&i.setEdge(E,S,{weight:1})}function uHe(i){var a=i.graph().rankdir.toLowerCase();(a==="lr"||a==="rl")&&Fjt(i)}function lHe(i){var a=i.graph().rankdir.toLowerCase();(a==="bt"||a==="rl")&&hHe(i),(a==="lr"||a==="rl")&&(fHe(i),Fjt(i))}function Fjt(i){yr(i.nodes(),function(a){Bjt(i.node(a))}),yr(i.edges(),function(a){Bjt(i.edge(a))})}function Bjt(i){var a=i.width;i.width=i.height,i.height=a}function hHe(i){yr(i.nodes(),function(a){kpt(i.node(a))}),yr(i.edges(),function(a){var f=i.edge(a);yr(f.points,kpt),lo(f,"y")&&kpt(f)})}function kpt(i){i.y=-i.y}function fHe(i){yr(i.nodes(),function(a){Ept(i.node(a))}),yr(i.edges(),function(a){var f=i.edge(a);yr(f.points,Ept),lo(f,"x")&&Ept(f)})}function Ept(i){var a=i.x;i.x=i.y,i.y=a}function dHe(i){i.graph().dummyChains=[],yr(i.edges(),function(a){gHe(i,a)})}function gHe(i,a){var f=a.v,g=i.node(f).rank,w=a.w,v=i.node(w).rank,b=a.name,E=i.edge(a),S=E.labelRank;if(v!==g+1){i.removeEdge(a);var _,M,F;for(F=0,++g;g<v;++F,++g)E.points=[],M={width:0,height:0,edgeLabel:E,edgeObj:a,rank:g},_=xD(i,"edge",M,"_d"),g===S&&(M.width=E.width,M.height=E.height,M.dummy="edge-label",M.labelpos=E.labelpos),i.setEdge(f,_,{weight:E.weight},b),F===0&&i.graph().dummyChains.push(_),f=_;i.setEdge(f,w,{weight:E.weight},b)}}function pHe(i){yr(i.graph().dummyChains,function(a){var f=i.node(a),g=f.edgeLabel,w;for(i.setEdge(f.edgeObj,g);f.dummy;)w=i.successors(a)[0],i.removeNode(a),g.points.push({x:f.x,y:f.y}),f.dummy==="edge-label"&&(g.x=f.x,g.y=f.y,g.width=f.width,g.height=f.height),a=w,f=i.node(a)})}function Tpt(i){var a={};function f(g){var w=i.node(g);if(lo(a,g))return w.rank;a[g]=!0;var v=GF(u1(i.outEdges(g),function(b){return f(b.w)-i.edge(b).minlen}));return(v===Number.POSITIVE_INFINITY||v===void 0||v===null)&&(v=0),w.rank=v}yr(i.sources(),f)}function QF(i,a){return i.node(a.w).rank-i.node(a.v).rank-i.edge(a).minlen}function Rjt(i){var a=new l1({directed:!1}),f=i.nodes()[0],g=i.nodeCount();a.setNode(f,{});for(var w,v;bHe(a,i)<g;)w=wHe(a,i),v=a.hasNode(w.v)?QF(i,w):-QF(i,w),mHe(a,i,v);return a}function bHe(i,a){function f(g){yr(a.nodeEdges(g),function(w){var v=w.v,b=g===v?w.w:v;!i.hasNode(b)&&!QF(a,w)&&(i.setNode(b,{}),i.setEdge(g,b,{}),f(b))})}return yr(i.nodes(),f),i.nodeCount()}function wHe(i,a){return mpt(a.edges(),function(f){if(i.hasNode(f.v)!==i.hasNode(f.w))return QF(a,f)})}function mHe(i,a,f){yr(i.nodes(),function(g){a.node(g).rank+=f})}function vHe(){}vHe.prototype=new Error;function jjt(i,a,f){s1(a)||(a=[a]);var g=(i.isDirected()?i.successors:i.neighbors).bind(i),w=[],v={};return yr(a,function(b){if(!i.hasNode(b))throw new Error("Graph does not have node: "+b);$jt(i,b,f==="post",v,g,w)}),w}function $jt(i,a,f,g,w,v){lo(g,a)||(g[a]=!0,f||v.push(a),yr(w(a),function(b){$jt(i,b,f,g,w,v)}),f&&v.push(a))}function yHe(i,a){return jjt(i,a,"post")}function xHe(i,a){return jjt(i,a,"pre")}O9.initLowLimValues=Spt,O9.initCutValues=Cpt,O9.calcCutValue=zjt,O9.leaveEdge=Hjt,O9.enterEdge=Vjt,O9.exchangeEdges=Ujt;function O9(i){i=nHe(i),Tpt(i);var a=Rjt(i);Spt(a),Cpt(a,i);for(var f,g;f=Hjt(a);)g=Vjt(a,i,f),Ujt(a,i,f,g)}function Cpt(i,a){var f=yHe(i,i.nodes());f=f.slice(0,f.length-1),yr(f,function(g){kHe(i,a,g)})}function kHe(i,a,f){var g=i.node(f),w=g.parent;i.edge(f,w).cutvalue=zjt(i,a,f)}function zjt(i,a,f){var g=i.node(f),w=g.parent,v=!0,b=a.edge(f,w),E=0;return b||(v=!1,b=a.edge(w,f)),E=b.weight,yr(a.nodeEdges(f),function(S){var _=S.v===f,M=_?S.w:S.v;if(M!==w){var F=_===v,R=a.edge(S).weight;if(E+=F?R:-R,THe(i,f,M)){var B=i.edge(f,M).cutvalue;E+=F?-B:B}}}),E}function Spt(i,a){arguments.length<2&&(a=i.nodes()[0]),qjt(i,{},1,a)}function qjt(i,a,f,g,w){var v=f,b=i.node(g);return a[g]=!0,yr(i.neighbors(g),function(E){lo(a,E)||(f=qjt(i,a,f,E,g))}),b.low=v,b.lim=f++,w?b.parent=w:delete b.parent,f}function Hjt(i){return bpt(i.edges(),function(a){return i.edge(a).cutvalue<0})}function Vjt(i,a,f){var g=f.v,w=f.w;a.hasEdge(g,w)||(g=f.w,w=f.v);var v=i.node(g),b=i.node(w),E=v,S=!1;v.lim>b.lim&&(E=b,S=!0);var _=Fx(a.edges(),function(M){return S===Gjt(i,i.node(M.v),E)&&S!==Gjt(i,i.node(M.w),E)});return mpt(_,function(M){return QF(a,M)})}function Ujt(i,a,f,g){var w=f.v,v=f.w;i.removeEdge(w,v),i.setEdge(g.v,g.w,{}),Spt(i),Cpt(i,a),EHe(i,a)}function EHe(i,a){var f=bpt(i.nodes(),function(w){return!a.node(w).parent}),g=xHe(i,f);g=g.slice(1),yr(g,function(w){var v=i.node(w).parent,b=a.edge(w,v),E=!1;b||(b=a.edge(v,w),E=!0),a.node(w).rank=a.node(v).rank+(E?b.minlen:-b.minlen)})}function THe(i,a,f){return i.hasEdge(a,f)}function Gjt(i,a,f){return f.low<=a.lim&&a.lim<=f.lim}function CHe(i){switch(i.graph().ranker){case"network-simplex":Kjt(i);break;case"tight-tree":_He(i);break;case"longest-path":SHe(i);break;default:Kjt(i)}}var SHe=Tpt;function _He(i){Tpt(i),Rjt(i)}function Kjt(i){O9(i)}function AHe(i){var a=xD(i,"root",{},"_root"),f=LHe(i),g=D9(Bx(f))-1,w=2*g+1;i.graph().nestingRoot=a,yr(i.edges(),function(b){i.edge(b).minlen*=w});var v=DHe(i)+1;yr(i.children(),function(b){Wjt(i,a,w,v,g,f,b)}),i.graph().nodeRankFactor=w}function Wjt(i,a,f,g,w,v,b){var E=i.children(b);if(!E.length){b!==a&&i.setEdge(a,b,{weight:0,minlen:f});return}var S=Ojt(i,"_bt"),_=Ojt(i,"_bb"),M=i.node(b);i.setParent(S,b),M.borderTop=S,i.setParent(_,b),M.borderBottom=_,yr(E,function(F){Wjt(i,a,f,g,w,v,F);var R=i.node(F),B=R.borderTop?R.borderTop:F,z=R.borderBottom?R.borderBottom:F,Y=R.borderTop?g:2*g,nt=B!==z?1:w-v[b]+1;i.setEdge(S,B,{weight:Y,minlen:nt,nestingEdge:!0}),i.setEdge(z,_,{weight:Y,minlen:nt,nestingEdge:!0})}),i.parent(b)||i.setEdge(a,S,{weight:0,minlen:w+v[b]})}function LHe(i){var a={};function f(g,w){var v=i.children(g);v&&v.length&&yr(v,function(b){f(b,w+1)}),a[g]=w}return yr(i.children(),function(g){f(g,1)}),a}function DHe(i){return WF(i.edges(),function(a,f){return a+i.edge(f).weight},0)}function MHe(i){var a=i.graph();i.removeNode(a.nestingRoot),delete a.nestingRoot,yr(i.edges(),function(f){var g=i.edge(f);g.nestingEdge&&i.removeEdge(f)})}function IHe(i,a,f){var g={},w;yr(f,function(v){for(var b=i.parent(v),E,S;b;){if(E=i.parent(b),E?(S=g[E],g[E]=b):(S=w,w=b),S&&S!==b){a.setEdge(S,b);return}b=E}})}function OHe(i,a,f){var g=NHe(i),w=new l1({compound:!0}).setGraph({root:g}).setDefaultNodeLabel(function(v){return i.node(v)});return yr(i.nodes(),function(v){var b=i.node(v),E=i.parent(v);(b.rank===a||b.minRank<=a&&a<=b.maxRank)&&(w.setNode(v),w.setParent(v,E||g),yr(i[f](v),function(S){var _=S.v===v?S.w:S.v,M=w.edge(_,v),F=Tf(M)?0:M.weight;w.setEdge(_,v,{weight:i.edge(S).weight+F})}),lo(b,"minRank")&&w.setNode(v,{borderLeft:b.borderLeft[a],borderRight:b.borderRight[a]}))}),w}function NHe(i){for(var a;i.hasNode(a=WY("_root")););return a}function PHe(i,a){for(var f=0,g=1;g<a.length;++g)f+=FHe(i,a[g-1],a[g]);return f}function FHe(i,a,f){for(var g=Vqe(f,u1(f,function(_,M){return M})),w=vD(u1(a,function(_){return YF(u1(i.outEdges(_),function(M){return{pos:g[M.w],weight:i.edge(M).weight}}),"pos")})),v=1;v<f.length;)v<<=1;var b=2*v-1;v-=1;var E=u1(new Array(b),function(){return 0}),S=0;return yr(w.forEach(function(_){var M=_.pos+v;E[M]+=_.weight;for(var F=0;M>0;)M%2&&(F+=E[M+1]),M=M-1>>1,E[M]+=_.weight;S+=_.weight*F})),S}function BHe(i){var a={},f=Fx(i.nodes(),function(E){return!i.children(E).length}),g=D9(u1(f,function(E){return i.node(E).rank})),w=u1(M9(g+1),function(){return[]});function v(E){if(!lo(a,E)){a[E]=!0;var S=i.node(E);w[S.rank].push(E),yr(i.successors(E),v)}}var b=YF(f,function(E){return i.node(E).rank});return yr(b,v),w}function RHe(i,a){return u1(a,function(f){var g=i.inEdges(f);if(g.length){var w=WF(g,function(v,b){var E=i.edge(b),S=i.node(b.v);return{sum:v.sum+E.weight*S.order,weight:v.weight+E.weight}},{sum:0,weight:0});return{v:f,barycenter:w.sum/w.weight,weight:w.weight}}else return{v:f}})}function jHe(i,a){var f={};yr(i,function(w,v){var b=f[w.v]={indegree:0,in:[],out:[],vs:[w.v],i:v};Tf(w.barycenter)||(b.barycenter=w.barycenter,b.weight=w.weight)}),yr(a.edges(),function(w){var v=f[w.v],b=f[w.w];!Tf(v)&&!Tf(b)&&(b.indegree++,v.out.push(f[w.w]))});var g=Fx(f,function(w){return!w.indegree});return $He(g)}function $He(i){var a=[];function f(v){return function(b){b.merged||(Tf(b.barycenter)||Tf(v.barycenter)||b.barycenter>=v.barycenter)&&zHe(v,b)}}function g(v){return function(b){b.in.push(v),--b.indegree===0&&i.push(b)}}for(;i.length;){var w=i.pop();a.push(w),yr(w.in.reverse(),f(w)),yr(w.out,g(w))}return u1(Fx(a,function(v){return!v.merged}),function(v){return KF(v,["vs","i","barycenter","weight"])})}function zHe(i,a){var f=0,g=0;i.weight&&(f+=i.barycenter*i.weight,g+=i.weight),a.weight&&(f+=a.barycenter*a.weight,g+=a.weight),i.vs=a.vs.concat(i.vs),i.barycenter=f/g,i.weight=g,i.i=Math.min(a.i,i.i),a.merged=!0}function qHe(i,a){var f=sHe(i,function(M){return lo(M,"barycenter")}),g=f.lhs,w=YF(f.rhs,function(M){return-M.i}),v=[],b=0,E=0,S=0;g.sort(HHe(!!a)),S=Yjt(v,w,S),yr(g,function(M){S+=M.vs.length,v.push(M.vs),b+=M.barycenter*M.weight,E+=M.weight,S=Yjt(v,w,S)});var _={vs:vD(v)};return E&&(_.barycenter=b/E,_.weight=E),_}function Yjt(i,a,f){for(var g;a.length&&(g=GY(a)).i<=f;)a.pop(),i.push(g.vs),f++;return f}function HHe(i){return function(a,f){return a.barycenter<f.barycenter?-1:a.barycenter>f.barycenter?1:i?f.i-a.i:a.i-f.i}}function Xjt(i,a,f,g){var w=i.children(a),v=i.node(a),b=v?v.borderLeft:void 0,E=v?v.borderRight:void 0,S={};b&&(w=Fx(w,function(z){return z!==b&&z!==E}));var _=RHe(i,w);yr(_,function(z){if(i.children(z.v).length){var Y=Xjt(i,z.v,f,g);S[z.v]=Y,lo(Y,"barycenter")&&UHe(z,Y)}});var M=jHe(_,f);VHe(M,S);var F=qHe(M,g);if(b&&(F.vs=vD([b,F.vs,E]),i.predecessors(b).length)){var R=i.node(i.predecessors(b)[0]),B=i.node(i.predecessors(E)[0]);lo(F,"barycenter")||(F.barycenter=0,F.weight=0),F.barycenter=(F.barycenter*F.weight+R.order+B.order)/(F.weight+2),F.weight+=2}return F}function VHe(i,a){yr(i,function(f){f.vs=vD(f.vs.map(function(g){return a[g]?a[g].vs:g}))})}function UHe(i,a){Tf(i.barycenter)?(i.barycenter=a.barycenter,i.weight=a.weight):(i.barycenter=(i.barycenter*i.weight+a.barycenter*a.weight)/(i.weight+a.weight),i.weight+=a.weight)}function GHe(i){var a=Njt(i),f=Qjt(i,M9(1,a+1),"inEdges"),g=Qjt(i,M9(a-1,-1,-1),"outEdges"),w=BHe(i);Jjt(i,w);for(var v=Number.POSITIVE_INFINITY,b,E=0,S=0;S<4;++E,++S){KHe(E%2?f:g,E%4>=2),w=YY(i);var _=PHe(i,w);_<v&&(S=0,b=pze(w),v=_)}Jjt(i,b)}function Qjt(i,a,f){return u1(a,function(g){return OHe(i,g,f)})}function KHe(i,a){var f=new l1;yr(i,function(g){var w=g.graph().root,v=Xjt(g,w,f,a);yr(v.vs,function(b,E){g.node(b).order=E}),IHe(g,f,v.vs)})}function Jjt(i,a){yr(a,function(f){yr(f,function(g,w){i.node(g).order=w})})}function WHe(i){var a=XHe(i);yr(i.graph().dummyChains,function(f){for(var g=i.node(f),w=g.edgeObj,v=YHe(i,a,w.v,w.w),b=v.path,E=v.lca,S=0,_=b[S],M=!0;f!==w.w;){if(g=i.node(f),M){for(;(_=b[S])!==E&&i.node(_).maxRank<g.rank;)S++;_===E&&(M=!1)}if(!M){for(;S<b.length-1&&i.node(_=b[S+1]).minRank<=g.rank;)S++;_=b[S]}i.setParent(f,_),f=i.successors(f)[0]}})}function YHe(i,a,f,g){var w=[],v=[],b=Math.min(a[f].low,a[g].low),E=Math.max(a[f].lim,a[g].lim),S,_;S=f;do S=i.parent(S),w.push(S);while(S&&(a[S].low>b||E>a[S].lim));for(_=S,S=g;(S=i.parent(S))!==_;)v.push(S);return{path:w.concat(v.reverse()),lca:_}}function XHe(i){var a={},f=0;function g(w){var v=f;yr(i.children(w),g),a[w]={low:v,lim:f++}}return yr(i.children(),g),a}function QHe(i,a){var f={};function g(w,v){var b=0,E=0,S=w.length,_=GY(v);return yr(v,function(M,F){var R=ZHe(i,M),B=R?i.node(R).order:S;(R||M===_)&&(yr(v.slice(E,F+1),function(z){yr(i.predecessors(z),function(Y){var nt=i.node(Y),ot=nt.order;(ot<b||B<ot)&&!(nt.dummy&&i.node(z).dummy)&&Zjt(f,Y,z)})}),E=F+1,b=B)}),v}return WF(a,g),f}function JHe(i,a){var f={};function g(v,b,E,S,_){var M;yr(M9(b,E),function(F){M=v[F],i.node(M).dummy&&yr(i.predecessors(M),function(R){var B=i.node(R);B.dummy&&(B.order<S||B.order>_)&&Zjt(f,R,M)})})}function w(v,b){var E=-1,S,_=0;return yr(b,function(M,F){if(i.node(M).dummy==="border"){var R=i.predecessors(M);R.length&&(S=i.node(R[0]).order,g(b,_,F,E,S),_=F,E=S)}g(b,_,b.length,S,v.length)}),b}return WF(a,w),f}function ZHe(i,a){if(i.node(a).dummy)return bpt(i.predecessors(a),function(f){return i.node(f).dummy})}function Zjt(i,a,f){if(a>f){var g=a;a=f,f=g}var w=i[a];w||(i[a]=w={}),w[f]=!0}function tVe(i,a,f){if(a>f){var g=a;a=f,f=g}return lo(i[a],f)}function eVe(i,a,f,g){var w={},v={},b={};return yr(a,function(E){yr(E,function(S,_){w[S]=S,v[S]=S,b[S]=_})}),yr(a,function(E){var S=-1;yr(E,function(_){var M=g(_);if(M.length){M=YF(M,function(Y){return b[Y]});for(var F=(M.length-1)/2,R=Math.floor(F),B=Math.ceil(F);R<=B;++R){var z=M[R];v[_]===_&&S<b[z]&&!tVe(f,_,z)&&(v[z]=_,v[_]=w[_]=w[z],S=b[z])}}})}),{root:w,align:v}}function nVe(i,a,f,g,w){var v={},b=rVe(i,a,f,w),E=w?"borderLeft":"borderRight";function S(F,R){for(var B=b.nodes(),z=B.pop(),Y={};z;)Y[z]?F(z):(Y[z]=!0,B.push(z),B=B.concat(R(z))),z=B.pop()}function _(F){v[F]=b.inEdges(F).reduce(function(R,B){return Math.max(R,v[B.v]+b.edge(B))},0)}function M(F){var R=b.outEdges(F).reduce(function(z,Y){return Math.min(z,v[Y.w]-b.edge(Y))},Number.POSITIVE_INFINITY),B=i.node(F);R!==Number.POSITIVE_INFINITY&&B.borderType!==E&&(v[F]=Math.max(v[F],R))}return S(_,b.predecessors.bind(b)),S(M,b.successors.bind(b)),yr(g,function(F){v[F]=v[f[F]]}),v}function rVe(i,a,f,g){var w=new l1,v=i.graph(),b=cVe(v.nodesep,v.edgesep,g);return yr(a,function(E){var S;yr(E,function(_){var M=f[_];if(w.setNode(M),S){var F=f[S],R=w.edge(F,M);w.setEdge(F,M,Math.max(b(i,_,S),R||0))}S=_})}),w}function iVe(i,a){return mpt(Bx(a),function(f){var g=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY;return dqe(f,function(v,b){var E=uVe(i,b)/2;g=Math.max(v+E,g),w=Math.min(v-E,w)}),g-w})}function sVe(i,a){var f=Bx(a),g=GF(f),w=D9(f);yr(["u","d"],function(v){yr(["l","r"],function(b){var E=v+b,S=i[E],_;if(S!==a){var M=Bx(S);_=b==="l"?g-GF(M):w-D9(M),_&&(i[E]=KY(S,function(F){return F+_}))}})})}function aVe(i,a){return KY(i.ul,function(f,g){if(a)return i[a.toLowerCase()][g];var w=YF(u1(i,g));return(w[1]+w[2])/2})}function oVe(i){var a=YY(i),f=uY(QHe(i,a),JHe(i,a)),g={},w;yr(["u","d"],function(b){w=b==="u"?a:Bx(a).reverse(),yr(["l","r"],function(E){E==="r"&&(w=u1(w,function(F){return Bx(F).reverse()}));var S=(b==="u"?i.predecessors:i.successors).bind(i),_=eVe(i,w,f,S),M=nVe(i,w,_.root,_.align,E==="r");E==="r"&&(M=KY(M,function(F){return-F})),g[b+E]=M})});var v=iVe(i,g);return sVe(g,v),aVe(g,i.graph().align)}function cVe(i,a,f){return function(g,w,v){var b=g.node(w),E=g.node(v),S=0,_;if(S+=b.width/2,lo(b,"labelpos"))switch(b.labelpos.toLowerCase()){case"l":_=-b.width/2;break;case"r":_=b.width/2;break}if(_&&(S+=f?_:-_),_=0,S+=(b.dummy?a:i)/2,S+=(E.dummy?a:i)/2,S+=E.width/2,lo(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":_=E.width/2;break;case"r":_=-E.width/2;break}return _&&(S+=f?_:-_),_=0,S}}function uVe(i,a){return i.node(a).width}function lVe(i){i=Mjt(i),hVe(i),gqe(oVe(i),function(a,f){i.node(f).x=a})}function hVe(i){var a=YY(i),f=i.graph().ranksep,g=0;yr(a,function(w){var v=D9(u1(w,function(b){return i.node(b).height}));yr(w,function(b){i.node(b).y=g+v/2}),g+=v+f})}function kD(i,a){var f=a&&a.debugTiming?aHe:oHe;f("layout",function(){var g=f(" buildLayoutGraph",function(){return kVe(i)});f(" runLayout",function(){fVe(g,f)}),f(" updateInputGraph",function(){dVe(i,g)})})}function fVe(i,a){a(" makeSpaceForEdgeLabels",function(){EVe(i)}),a(" removeSelfEdges",function(){IVe(i)}),a(" acyclic",function(){Zqe(i)}),a(" nestingGraph.run",function(){AHe(i)}),a(" rank",function(){CHe(Mjt(i))}),a(" injectEdgeLabelProxies",function(){TVe(i)}),a(" removeEmptyRanks",function(){iHe(i)}),a(" nestingGraph.cleanup",function(){MHe(i)}),a(" normalizeRanks",function(){rHe(i)}),a(" assignRankMinMax",function(){CVe(i)}),a(" removeEdgeLabelProxies",function(){SVe(i)}),a(" normalize.run",function(){dHe(i)}),a(" parentDummyChains",function(){WHe(i)}),a(" addBorderSegments",function(){cHe(i)}),a(" order",function(){GHe(i)}),a(" insertSelfEdges",function(){OVe(i)}),a(" adjustCoordinateSystem",function(){uHe(i)}),a(" position",function(){lVe(i)}),a(" positionSelfEdges",function(){NVe(i)}),a(" removeBorderNodes",function(){MVe(i)}),a(" normalize.undo",function(){pHe(i)}),a(" fixupEdgeLabelCoords",function(){LVe(i)}),a(" undoCoordinateSystem",function(){lHe(i)}),a(" translateGraph",function(){_Ve(i)}),a(" assignNodeIntersects",function(){AVe(i)}),a(" reversePoints",function(){DVe(i)}),a(" acyclic.undo",function(){eHe(i)})}function dVe(i,a){yr(i.nodes(),function(f){var g=i.node(f),w=a.node(f);g&&(g.x=w.x,g.y=w.y,a.children(f).length&&(g.width=w.width,g.height=w.height))}),yr(i.edges(),function(f){var g=i.edge(f),w=a.edge(f);g.points=w.points,lo(w,"x")&&(g.x=w.x,g.y=w.y)}),i.graph().width=a.graph().width,i.graph().height=a.graph().height}var gVe=["nodesep","edgesep","ranksep","marginx","marginy"],pVe={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},bVe=["acyclicer","ranker","rankdir","align"],wVe=["width","height"],mVe={width:0,height:0},vVe=["minlen","weight","width","height","labeloffset"],yVe={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},xVe=["labelpos"];function kVe(i){var a=new l1({multigraph:!0,compound:!0}),f=Apt(i.graph());return a.setGraph(uY({},pVe,_pt(f,gVe),KF(f,bVe))),yr(i.nodes(),function(g){var w=Apt(i.node(g));a.setNode(g,yD(_pt(w,wVe),mVe)),a.setParent(g,i.parent(g))}),yr(i.edges(),function(g){var w=Apt(i.edge(g));a.setEdge(g,uY({},yVe,_pt(w,vVe),KF(w,xVe)))}),a}function EVe(i){var a=i.graph();a.ranksep/=2,yr(i.edges(),function(f){var g=i.edge(f);g.minlen*=2,g.labelpos.toLowerCase()!=="c"&&(a.rankdir==="TB"||a.rankdir==="BT"?g.width+=g.labeloffset:g.height+=g.labeloffset)})}function TVe(i){yr(i.edges(),function(a){var f=i.edge(a);if(f.width&&f.height){var g=i.node(a.v),w=i.node(a.w),v={rank:(w.rank-g.rank)/2+g.rank,e:a};xD(i,"edge-proxy",v,"_ep")}})}function CVe(i){var a=0;yr(i.nodes(),function(f){var g=i.node(f);g.borderTop&&(g.minRank=i.node(g.borderTop).rank,g.maxRank=i.node(g.borderBottom).rank,a=D9(a,g.maxRank))}),i.graph().maxRank=a}function SVe(i){yr(i.nodes(),function(a){var f=i.node(a);f.dummy==="edge-proxy"&&(i.edge(f.e).labelRank=f.rank,i.removeNode(a))})}function _Ve(i){var a=Number.POSITIVE_INFINITY,f=0,g=Number.POSITIVE_INFINITY,w=0,v=i.graph(),b=v.marginx||0,E=v.marginy||0;function S(_){var M=_.x,F=_.y,R=_.width,B=_.height;a=Math.min(a,M-R/2),f=Math.max(f,M+R/2),g=Math.min(g,F-B/2),w=Math.max(w,F+B/2)}yr(i.nodes(),function(_){S(i.node(_))}),yr(i.edges(),function(_){var M=i.edge(_);lo(M,"x")&&S(M)}),a-=b,g-=E,yr(i.nodes(),function(_){var M=i.node(_);M.x-=a,M.y-=g}),yr(i.edges(),function(_){var M=i.edge(_);yr(M.points,function(F){F.x-=a,F.y-=g}),lo(M,"x")&&(M.x-=a),lo(M,"y")&&(M.y-=g)}),v.width=f-a+b,v.height=w-g+E}function AVe(i){yr(i.edges(),function(a){var f=i.edge(a),g=i.node(a.v),w=i.node(a.w),v,b;f.points?(v=f.points[0],b=f.points[f.points.length-1]):(f.points=[],v=w,b=g),f.points.unshift(Ijt(g,v)),f.points.push(Ijt(w,b))})}function LVe(i){yr(i.edges(),function(a){var f=i.edge(a);if(lo(f,"x"))switch((f.labelpos==="l"||f.labelpos==="r")&&(f.width-=f.labeloffset),f.labelpos){case"l":f.x-=f.width/2+f.labeloffset;break;case"r":f.x+=f.width/2+f.labeloffset;break}})}function DVe(i){yr(i.edges(),function(a){var f=i.edge(a);f.reversed&&f.points.reverse()})}function MVe(i){yr(i.nodes(),function(a){if(i.children(a).length){var f=i.node(a),g=i.node(f.borderTop),w=i.node(f.borderBottom),v=i.node(GY(f.borderLeft)),b=i.node(GY(f.borderRight));f.width=Math.abs(b.x-v.x),f.height=Math.abs(w.y-g.y),f.x=v.x+f.width/2,f.y=g.y+f.height/2}}),yr(i.nodes(),function(a){i.node(a).dummy==="border"&&i.removeNode(a)})}function IVe(i){yr(i.edges(),function(a){if(a.v===a.w){var f=i.node(a.v);f.selfEdges||(f.selfEdges=[]),f.selfEdges.push({e:a,label:i.edge(a)}),i.removeEdge(a)}})}function OVe(i){var a=YY(i);yr(a,function(f){var g=0;yr(f,function(w,v){var b=i.node(w);b.order=v+g,yr(b.selfEdges,function(E){xD(i,"selfedge",{width:E.label.width,height:E.label.height,rank:b.rank,order:v+ ++g,e:E.e,label:E.label},"_se")}),delete b.selfEdges})})}function NVe(i){yr(i.nodes(),function(a){var f=i.node(a);if(f.dummy==="selfedge"){var g=i.node(f.e.v),w=g.x+g.width/2,v=g.y,b=f.x-w,E=g.height/2;i.setEdge(f.e,f.label),i.removeNode(a),f.label.points=[{x:w+2*b/3,y:v-E},{x:w+5*b/6,y:v-E},{x:w+b,y:v},{x:w+5*b/6,y:v+E},{x:w+2*b/3,y:v+E}],f.label.x=f.x,f.label.y=f.y}})}function _pt(i,a){return KY(KF(i,a),Number)}function Apt(i){var a={};return yr(i,function(f,g){a[g.toLowerCase()]=f}),a}function t$t(i,a){return!!i.children(a).length}function e$t(i){return Lpt(i.v)+":"+Lpt(i.w)+":"+Lpt(i.name)}var PVe=/:/g;function Lpt(i){return i?String(i).replace(PVe,"\\:"):""}function a4(i,a){a&&i.attr("style",a)}function n$t(i,a,f){a&&i.attr("class",a).attr("class",f+" "+i.attr("class"))}function Jv(i,a){var f=a.graph();if(gFt(f)){var g=f.transition;if(ZL(g))return g(i)}return i}var Dpt={normal:BVe,vee:RVe,undirected:jVe};function FVe(i){Dpt=i}function BVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 0 L 10 5 L 0 10 z").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function RVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 0 L 10 5 L 0 10 L 4 5 z").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function jVe(i,a,f,g){var w=i.append("marker").attr("id",a).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerUnits","strokeWidth").attr("markerWidth",8).attr("markerHeight",6).attr("orient","auto"),v=w.append("path").attr("d","M 0 5 L 10 5").style("stroke-width",1).style("stroke-dasharray","1,0");a4(v,f[g+"Style"]),f[g+"Class"]&&v.attr("class",f[g+"Class"])}function Mpt(i,a){var f=i.append("foreignObject").attr("width","100000"),g=f.append("xhtml:div");g.attr("xmlns","http://www.w3.org/1999/xhtml");var w=a.label;switch(typeof w){case"function":g.insert(w);break;case"object":g.insert(function(){return w});break;default:g.html(w)}a4(g,a.labelStyle),g.style("display","inline-block"),g.style("white-space","nowrap");var v=g.node().getBoundingClientRect();return f.attr("width",v.width).attr("height",v.height),f}function $Ve(i,a){var f=i;return f.node().appendChild(a.label),a4(f,a.labelStyle),f}function zVe(i,a){for(var f=i.append("text"),g=qVe(a.label).split(`
108 `),b.style===void 0&&(M.style=M.style||"stroke: #333; stroke-width: 1.5px;fill:none"),M.labelStyle=M.labelStyle.replace("color:","fill:"))),M.id=E,M.class=S+" "+_,M.minlen=b.length||1,a.setEdge(f.db.lookUpDomId(b.start),f.db.lookUpDomId(b.end),M,g)})},wUe={setConf:bUe,addVertices:v$t,addEdges:y$t,getClasses:function(i,a){return Kt.info("Extracting classes"),a.db.getClasses()},draw:function(i,a,f,g){Kt.info("Drawing flowchart");const{securityLevel:w,flowchart:v}=Re();let b;w==="sandbox"&&(b=Tr("#i"+a));const E=Tr(w==="sandbox"?b.nodes()[0].contentDocument.body:"body"),S=w==="sandbox"?b.nodes()[0].contentDocument:document;let _=g.db.getDirection();_===void 0&&(_="TD");const M=v.nodeSpacing||50,F=v.rankSpacing||50,R=new l1({multigraph:!0,compound:!0}).setGraph({rankdir:_,nodesep:M,ranksep:F,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});let B;const z=g.db.getSubGraphs();for(let rt=z.length-1;rt>=0;rt--)B=z[rt],g.db.addVertex(B.id,B.title,"group",void 0,B.classes);const Y=g.db.getVertices();Kt.warn("Get vertices",Y);const nt=g.db.getEdges();let ot=0;for(ot=z.length-1;ot>=0;ot--){B=z[ot],$Ot("cluster").append("text");for(let rt=0;rt<B.nodes.length;rt++)Kt.warn("Setting subgraph",B.nodes[rt],g.db.lookUpDomId(B.nodes[rt]),g.db.lookUpDomId(B.id)),R.setParent(
[all...]
/plugin/struct/jsoneditor/
H A Djsoneditor-minimalist.min.js31 var r=document.createElement("tr");o.appendChild(r);var s=document.createElement("td");r.appendChild(s);var a=document.createElement("div");this.dom.results=a,a.className="jsoneditor-results",s.appendChild(a),s=document.createElement("td"),r.appendChild(s);var l=document.createElement("div");this.dom.input=l,l.className="jsoneditor-frame",l.title="Search fields and values",s.appendChild(l);var c=document.createElement("table");l.appendChild(c);var d=document.createElement("tbody");c.appendChild(d),r=document.createElement("tr"),d.appendChild(r);var h=document.createElement("button");h.className="jsoneditor-refresh",s=document.createElement("td"),s.appendChild(h),r.appendChild(s);var u=document.createElement("input");this.dom.search=u,u.oninput=function(e){n._onDelayedSearch(e)},u.onchange=function(e){n._onSearch()},u.onkeydown=function(e){n._onKeyDown(e)},u.onkeyup=function(e){n._onKeyUp(e)},h.onclick=function(e){u.select()},s=document.createElement("td"),s.appendChild(u),r.appendChild(s);var p=document.createElement("button");p.title="Next result (Enter)",p.className="jsoneditor-next",p.onclick=function(){n.next()},s=document.createElement("td"),s.appendChild(p),r.appendChild(s);var f=document.createElement("button");f.title="Previous result (Shift+Enter)",f.className="jsoneditor-previous",f.onclick=function(){n.previous()},s=document.createElement("td"),s.appendChild(f),r.appendChild(s)}i.prototype.next=function(e){if(void 0!=this.results){var t=void 0!=this.resultIndex?this.resultIndex+1:0;t>this.results.length-1&&(t=0),this._setActiveResult(t,e)}},i.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,n=void 0!=this.resultIndex?this.resultIndex-1:t;0>n&&(n=t),this._setActiveResult(n,e)}},i.prototype._setActiveResult=function(e,t){if(this.activeResult){var n=this.activeResult.node,i=this.activeResult.elem;"field"==i?delete n.searchFieldActive:delete n.searchValueActive,n.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=e;var o=this.results[this.resultIndex].node,r=this.results[this.resultIndex].elem;"field"==r?o.searchFieldActive=!0:o.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],o.updateDom(),o.scrollTo(function(){t&&o.focus(r)})},i.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},i.prototype._onDelayedSearch=function(e){this._clearDelay();var t=this;this.timeout=setTimeout(function(e){t._onSearch()},this.delay)},i.prototype._onSearch=function(e){this._clearDelay();var t=this.dom.search.value,n=t.length>0?t:void 0;if(n!=this.lastText||e)if(this.lastText=n,this.results=this.editor.search(n),this._setActiveResult(void 0),void 0!=n){var i=this.results.length;switch(i){case 0:this.dom.results.innerHTML="no&nbsp;results";break;case 1:this.dom.results.innerHTML="1&nbsp;result";break;default:this.dom.results.innerHTML=i+"&nbsp;results"}}else this.dom.results.innerHTML=""},i.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},i.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},i.prototype.clear=function(){this.dom.search.value="",this._onSearch()},e.exports=i},function(e,t,n){function i(e,t){function n(e,t,o){o.forEach(function(o){if("separator"==o.type){var r=document.createElement("div");r.className="jsoneditor-separator",a=document.createElement("li"),a.appendChild(r),e.appendChild(a)}else{var s={},a=document.createElement("li");e.appendChild(a);var l=document.createElement("button");if(l.className=o.className,s.button=l,o.title&&(l.title=o.title),o.click&&(l.onclick=function(){i.hide(),o.click()}),a.appendChild(l),o.submenu){var c=document.createElement("div");c.className="jsoneditor-icon",l.appendChild(c),l.appendChild(document.createTextNode(o.text));var d;if(o.click){l.className+=" jsoneditor-default";var h=document.createElement("button");s.buttonExpand=h,h.className="jsoneditor-expand",h.innerHTML='<div class="jsoneditor-expand"></div>',a.appendChild(h),o.submenuTitle&&(h.title=o.submenuTitle),d=h}else{var u=document.createElement("div");u.className="jsoneditor-expand",l.appendChild(u),d=l}d.onclick=function(){i._onExpandItem(s),d.focus()};var p=[];s.subItems=p;var f=document.createElement("ul");s.ul=f,f.className="jsoneditor-menu",f.style.height="0",a.appendChild(f),n(f,p,o.submenu)}else l.innerHTML='<div class="jsoneditor-icon"></div>'+o.text;t.push(s)}})}this.dom={};var i=this,o=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.onClose=t?t.close:void 0;var r=document.createElement("div");r.className="jsoneditor-contextmenu-root",o.root=r;var s=document.createElement("div");s.className="jsoneditor-contextmenu",o.menu=s,r.appendChild(s);var a=document.createElement("ul");a.className="jsoneditor-menu",s.appendChild(a),o.list=a,o.items=[];var l=document.createElement("button");o.focusButton=l;var c=document.createElement("li");c.style.overflow="hidden",c.style.height="0",c.appendChild(l),a.appendChild(c),n(a,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var n=24*(e.length+(t.submenu?t.submenu.length:0));i.maxHeight=Math.max(i.maxHeight,n)})}var o=n(3);i.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(n){e.push(n.button),n.buttonExpand&&e.push(n.buttonExpand),n.subItems&&n==t.expandedItem&&n.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},i.visibleMenu=void 0,i.prototype.show=function(e,t){this.hide();var n=!0;if(t){var r=e.getBoundingClientRect(),s=t.getBoundingClientRect();r.bottom+this.maxHeight<s.bottom||r.top-this.maxHeight>s.top&&(n=!1)}if(n){var a=e.offsetHeight;this.dom.menu.style.left="0px",this.dom.menu.style.top=a+"px",this.dom.menu.style.bottom=""}else this.dom.menu.style.left="0px",this.dom.menu.style.top="",this.dom.menu.style.bottom="0px";var l=e.parentNode;l.insertBefore(this.dom.root,l.firstChild);var c=this,d=this.dom.list;this.eventListeners.mousedown=o.addEventListener(window,"mousedown",function(e){var t=e.target;t==d||c._isChildOf(t,d)||(c.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.keydown=o.addEventListener(window,"keydown",function(e){c._onKeyDown(e)}),this.selection=o.getSelection(),this.anchor=e,setTimeout(function(){c.dom.focusButton.focus()},0),i.visibleMenu&&i.visibleMenu.hide(),i.visibleMenu=this},i.prototype.hide=function(){this.dom.root.parentNode&&(this.dom.root.parentNode.removeChild(this.dom.root),this.onClose&&this.onClose());for(var e in this.eventListeners)if(this.eventListeners.hasOwnProperty(e)){var t=this.eventListeners[e];t&&o.removeEventListener(window,e,t),delete this.eventListeners[e]}i.visibleMenu==this&&(i.visibleMenu=void 0)},i.prototype._onExpandItem=function(e){var t=this,n=e==this.expandedItem,i=this.expandedItem;if(i&&(i.ul.style.height="0",i.ul.style.padding="",setTimeout(function(){t.expandedItem!=i&&(i.ul.style.display="",o.removeClassName(i.ul.parentNode,"jsoneditor-selected"))},300),this.expandedItem=void 0),!n){var r=e.ul;r.style.display="block";r.clientHeight;setTimeout(function(){t.expandedItem==e&&(r.style.height=24*r.childNodes.length+"px",r.style.padding="5px 10px")},0),o.addClassName(r.parentNode,"jsoneditor-selected"),this.expandedItem=e}},i.prototype._onKeyDown=function(e){var t,n,i,r,s=e.target,a=e.which,l=!1;27==a?(this.selection&&o.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),l=!0):9==a?e.shiftKey?(t=this._getVisibleButtons(),n=t.indexOf(s),0==n&&(t[t.length-1].focus(),l=!0)):(t=this._getVisibleButtons(),n=t.indexOf(s),n==t.length-1&&(t[0].focus(),l=!0)):37==a?("jsoneditor-expand"==s.className&&(t=this._getVisibleButtons(),n=t.indexOf(s),i=t[n-1],i&&i.focus()),l=!0):38==a?(t=this._getVisibleButtons(),n=t.indexOf(s),i=t[n-1],i&&"jsoneditor-expand"==i.className&&(i=t[n-2]),i||(i=t[t.length-1]),i&&i.focus(),l=!0):39==a?(t=this._getVisibleButtons(),n=t.indexOf(s),r=t[n+1],r&&"jsoneditor-expand"==r.className&&r.focus(),l=!0):40==a&&(t=this._getVisibleButtons(),n=t.indexOf(s),r=t[n+1],r&&"jsoneditor-expand"==r.className&&(r=t[n+2]),r||(r=t[0]),r&&(r.focus(),l=!0),l=!0),l&&(e.stopPropagation(),e.preventDefault())},i.prototype._isChildOf=function(e,t){for(var n=e.parentNode;n;){if(n==t)return!0;n=n.parentNode}return!1},e.exports=i},function(e,t,n){function i(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null)),this._debouncedOnChangeValue=s.debounce(this._onChangeValue.bind(this),i.prototype.DEBOUNCE_INTERVAL),this._debouncedOnChangeField=s.debounce(this._onChangeField.bind(this),i.prototype.DEBOUNCE_INTERVAL)}var o=n(7),r=n(12),s=n(3);i.prototype.DEBOUNCE_INTERVAL=150,i.prototype._updateEditability=function(){if(this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,("tree"===this.editor.options.mode||"form"===this.editor.options.mode)&&"function"==typeof this.editor.options.onEditable)){var e=this.editor.options.onEditable({field:this.field,value:this.value,path:this.getFieldsPath()});"boolean"==typeof e?(this.editable.field=e,this.editable.value=e):("boolean"==typeof e.field&&(this.editable.field=e.field),"boolean"==typeof e.value&&(this.editable.value=e.value))}},i.prototype.getFieldsPath=function(){for(var e=this,t=[];e;){var n=void 0!=e.field?e.field:e.index;void 0!==n&&t.unshift(n),e=e.parent}return t},i.prototype.findNode=function(e){for(var t=s.parsePath(e),n=this;n&&t.length>0;){var i=t.shift();if("number"==typeof i){if("array"!==n.type)throw new Error("Cannot get child node at index "+i+": node is no array");n=n.childs[i]}else{if("object"!==n.type)throw new Error("Cannot get child node "+i+": node is no object");n=n.childs.filter(function(e){return e.field===i})[0]}}return n},i.prototype.findParents=function(){for(var e=[],t=this.parent;t;)e.unshift(t),t=t.parent;return e},i.prototype.setError=function(e,t){this.getDom(),this.error=e;var n=this.dom.tdError;if(e){n||(n=document.createElement("td"),this.dom.tdError=n,this.dom.tdValue.parentNode.appendChild(n));var i=document.createElement("div");i.className="jsoneditor-popover jsoneditor-right",i.appendChild(document.createTextNode(e.message));var o=document.createElement("button");for(o.className="jsoneditor-schema-error",o.appendChild(i),o.onmouseover=o.onfocus=function(){for(var e=["right","above","below","left"],t=0;t<e.length;t++){var n=e[t];i.className="jsoneditor-popover jsoneditor-"+n;var o=this.editor.content.getBoundingClientRect(),r=i.getBoundingClientRect(),a=20,l=s.insideRect(o,r,a);if(l)break}}.bind(this),t&&(o.onclick=function(){t.findParents().forEach(function(e){e.expand(!1)}),t.scrollTo(function(){t.focus()})});n.firstChild;)n.removeChild(n.firstChild);n.appendChild(o)}else n&&(this.dom.tdError.parentNode.removeChild(this.dom.tdError),delete this.dom.tdError)},i.prototype.getIndex=function(){return this.parent?this.parent.childs.indexOf(this):-1},i.prototype.setParent=function(e){this.parent=e},i.prototype.setField=function(e,t){this.field=e,this.previousField=e,this.fieldEditable=t===!0},i.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},i.prototype.setValue=function(e,t){var n,o,r=this.childs;if(r)for(;r.length;)this.removeChild(r[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var s=0,a=e.length;a>s;s++)n=e[s],void 0===n||n instanceof Function||(o=new i(this.editor,{value:n}),this.appendChild(o));this.value=""}else if("object"==this.type){this.childs=[];for(var l in e)e.hasOwnProperty(l)&&(n=e[l],void 0===n||n instanceof Function||(o=new i(this.editor,{field:l,value:n}),this.appendChild(o)));this.value=""}else this.childs=void 0,this.value=e;this.previousValue=this.value},i.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},i.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},i.prototype.getPath=function(){var e=this.parent?this.parent.getPath():[];return e.push(this),e},i.prototype.clone=function(){var e=new i(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(n){var i=n.clone();i.setParent(e),t.push(i)}),e.childs=t}else e.childs=void 0;return e},i.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="jsoneditor-expanded"),this.showChilds(),e!==!1&&this.childs.forEach(function(t){t.expand(e)}))},i.prototype.collapse=function(e){this.childs&&(this.hideChilds(),e!==!1&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="jsoneditor-collapsed"),this.expanded=!1)},i.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,n=t?t.parentNode:void 0;if(n){var i=this.getAppend(),o=t.nextSibling;o?n.insertBefore(i,o):n.appendChild(i),this.childs.forEach(function(e){n.insertBefore(e.getDom(),i),e.showChilds()})}}},i.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},i.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},i.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),n=this.getAppend(),i=n?n.parentNode:void 0;n&&i&&i.insertBefore(t,n),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},i.prototype.moveBefore=function(e,t){if(this._hasChilds()){var n=this.dom.tr?this.dom.tr.parentNode:void 0;if(n){var i=document.createElement("tr");i.style.height=n.clientHeight+"px",n.appendChild(i)}e.parent&&e.parent.removeChild(e),t instanceof a?this.appendChild(e):this.insertBefore(e,t),n&&n.removeChild(i)}},i.prototype.moveTo=function(e,t){if(e.parent==this){var n=this.childs.indexOf(e);t>n&&t++}var i=this.childs[t]||this.append;this.moveBefore(e,i)},i.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var n=this.childs.indexOf(t);if(-1==n)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(n,0,e)}if(this.expanded){var i=e.getDom(),o=t.getDom(),r=o?o.parentNode:void 0;o&&r&&r.insertBefore(i,o),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},i.prototype.insertAfter=function(e,t){if(this._hasChilds()){var n=this.childs.indexOf(t),i=this.childs[n+1];i?this.insertBefore(e,i):this.appendChild(e)}},i.prototype.search=function(e){var t,n=[],i=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var o=String(this.field).toLowerCase();t=o.indexOf(i),-1!=t&&(this.searchField=!0,n.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var r=[];this.childs.forEach(function(t){r=r.concat(t.search(e))}),n=n.concat(r)}if(void 0!=i){var s=!1;0==r.length?this.collapse(s):this.expand(s)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(i),-1!=t&&(this.searchValue=!0,n.push({node:this,elem:"value"}))}this._updateDomValue()}return n},i.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,n=!1;t;)t.expand(n),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},i.focusElement=void 0,i.prototype.focus=function(e){if(i.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),s.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),s.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},i.select=function(e){setTimeout(function(){s.selectContentEditable(e)},0)},i.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},i.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var n=0,i=t.length;i>n;n++)if(t[n].containsNode(e))return!0;return!1},i.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var n=e.clone();e.clearDom(),t?this.insertBefore(n,t):this.appendChild(n)}},i.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var n=this.childs.splice(t,1)[0];return n.parent=null,this.updateDom({updateIndexes:!0}),n}}return void 0},i.prototype._remove=function(e){this.removeChild(e)},i.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var n,i=this.dom.tr?this.dom.tr.parentNode:void 0;n=this.expanded?this.getAppend():this.getDom();var o=n&&n.parentNode?n.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,i&&(o?i.insertBefore(this.getDom(),o):i.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&("string"==e?this.value=String(this.value):this.value=this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},i.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=s.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var n=this._unescapeHTML(this.valueInnerText);t=this._stringCast(n)}t!==this.value&&(this.value=t,this._debouncedOnChangeValue())}catch(i){if(this.value=void 0,e!==!0)throw i}},i.prototype._onChangeValue=function(){var e=this.editor.getSelection();if(e.range){var t=s.textDiff(String(this.value),String(this.previousValue));e.range.startOffset=t.start,e.range.endOffset=t.end}var n=this.editor.getSelection();if(n.range){var i=s.textDiff(String(this.previousValue),String(this.value));n.range.startOffset=i.start,n.range.endOffset=i.end}this.editor._onAction("editValue",{node:this,oldValue:this.previousValue,newValue:this.value,oldSelection:e,newSelection:n}),this.previousValue=this.value},i.prototype._onChangeField=function(){var e=this.editor.getSelection();if(e.range){var t=s.textDiff(this.field,this.previousField);e.range.startOffset=t.start,e.range.endOffset=t.end}var n=this.editor.getSelection();if(n.range){var i=s.textDiff(this.previousField,this.field);n.range.startOffset=i.start,n.range.endOffset=i.end}this.editor._onAction("editField",{node:this,oldValue:this.previousField,newValue:this.field,oldSelection:e,newSelection:n}),this.previousField=this.field},i.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=["jsoneditor-value"],n=this.value,i="auto"==this.type?s.type(n):this.type,o="string"==i&&s.isUrl(n);t.push("jsoneditor-"+i),o&&t.push("jsoneditor-url");var r=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(r&&t.push("jsoneditor-empty"),this.searchValueActive&&t.push("jsoneditor-highlight-active"),this.searchValue&&t.push("jsoneditor-highlight"),e.className=t.join(" "),"array"==i||"object"==i){var a=this.childs?this.childs.length:0;e.title=this.type+" containing "+a+" items"}else o&&this.editable.value?e.title="Ctrl+Click or Ctrl+Enter to open url in new window":e.title="";"boolean"===i?(this.dom.checkbox||(this.dom.checkbox=document.createElement("input"),this.dom.checkbox.type="checkbox",this.dom.tdCheckbox=document.createElement("td"),this.dom.tdCheckbox.className="jsoneditor-tree",this.dom.tdCheckbox.appendChild(this.dom.checkbox),this.dom.tdValue.parentNode.insertBefore(this.dom.tdCheckbox,this.dom.tdValue)),this.dom.checkbox.checked=this.value):this.dom.tdCheckbox&&(this.dom.tdCheckbox.parentNode.removeChild(this.dom.tdCheckbox),delete this.dom.tdCheckbox,delete this.dom.checkbox),s.stripFormatting(e)}},i.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?s.addClassName(e,"jsoneditor-empty"):s.removeClassName(e,"jsoneditor-empty"),this.searchFieldActive?s.addClassName(e,"jsoneditor-highlight-active"):s.removeClassName(e,"jsoneditor-highlight-active"),this.searchField?s.addClassName(e,"jsoneditor-highlight"):s.removeClassName(e,"jsoneditor-highlight"),s.stripFormatting(e)}},i.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=s.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);t!==this.field&&(this.field=t,this._debouncedOnChangeField())}catch(n){if(this.field=void 0,e!==!0)throw n}},i.prototype.validate=function(){var e=[];if("object"===this.type){for(var t={},n=[],i=0;i<this.childs.length;i++){var o=this.childs[i];t[o.field]&&n.push(o.field),t[o.field]=!0}n.length>0&&(e=this.childs.filter(function(e){return-1!==n.indexOf(e.field)}).map(function(e){return{node:e,error:{message:'duplicate key "'+e.field+'"'}}}))}if(this.childs)for(var i=0;i<this.childs.length;i++){var r=this.childs[i].validate();r.length>0&&(e=e.concat(r))}return e},i.prototype.clearDom=function(){this.dom={}},i.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(this._updateEditability(),e.tr=document.createElement("tr"),e.tr.node=this,"tree"===this.editor.options.mode){var t=document.createElement("td");if(this.editable.field&&this.parent){var n=document.createElement("button");e.drag=n,n.className="jsoneditor-dragarea",n.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(n)}e.tr.appendChild(t);var i=document.createElement("td"),o=document.createElement("button");e.menu=o,o.className="jsoneditor-contextmenu",o.title="Click to open the actions menu (Ctrl+M)",i.appendChild(e.menu),e.tr.appendChild(i)}var r=document.createElement("td");return e.tr.appendChild(r),e.tree=this._createDomTree(),r.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},i.onDragStart=function(e,t){if(!Array.isArray(e))return i.onDragStart([e],t);if(0!==e.length){var n=e[0],o=e[e.length-1],r=i.getNodeFromTarget(t.target),a=o._nextSibling(),l=n.editor,c=s.getAbsoluteTop(r.dom.tr)-s.getAbsoluteTop(n.dom.tr);l.mousemove||(l.mousemove=s.addEventListener(window,"mousemove",function(t){i.onDrag(e,t)})),l.mouseup||(l.mouseup=s.addEventListener(window,"mouseup",function(t){i.onDragEnd(e,t)})),l.highlighter.lock(),l.drag={oldCursor:document.body.style.cursor,oldSelection:l.getSelection(),oldBeforeNode:a,mouseX:t.pageX,offsetY:c,level:n.getLevel()},document.body.style.cursor="move",t.preventDefault()}},i.onDrag=function(e,t){if(!Array.isArray(e))return i.onDrag([e],t);if(0!==e.length){var n,o,r,l,c,d,h,u,p,f,m,g,v,y,b=e[0].editor,w=t.pageY-b.drag.offsetY,x=t.pageX,_=!1,E=e[0];if(n=E.dom.tr,p=s.getAbsoluteTop(n),g=n.offsetHeight,p>w){o=n;do o=o.previousSibling,h=i.getNodeFromTarget(o),f=o?s.getAbsoluteTop(o):0;while(o&&f>w);h&&!h.parent&&(h=void 0),h||(d=n.parentNode.firstChild,o=d?d.nextSibling:void 0,h=i.getNodeFromTarget(o),h==E&&(h=void 0)),h&&(o=h.dom.tr,f=o?s.getAbsoluteTop(o):0,w>f+g&&(h=void 0)),h&&(e.forEach(function(e){h.parent.moveBefore(e,h)}),_=!0)}else{var C=e[e.length-1];if(c=C.expanded&&C.append?C.append.getDom():C.dom.tr,l=c?c.nextSibling:void 0){m=s.getAbsoluteTop(l),r=l;do u=i.getNodeFromTarget(r),r&&(v=r.nextSibling?s.getAbsoluteTop(r.nextSibling):0,y=r?v-m:0,u.parent.childs.length==e.length&&u.parent.childs[e.length-1]==C&&(p+=27)),r=r.nextSibling;while(r&&w>p+y);if(u&&u.parent){var j=x-b.drag.mouseX,S=Math.round(j/24/2),k=b.drag.level+S,N=u.getLevel();for(o=u.dom.tr.previousSibling;k>N&&o;){h=i.getNodeFromTarget(o);var A=e.some(function(e){return e===h||h._isChildOf(e)});if(A);else{if(!(h instanceof a))break;var O=h.parent.childs;if(O.length==e.length&&O[e.length-1]==C)break;u=i.getNodeFromTarget(o),N=u.getLevel()}o=o.previousSibling}c.nextSibling!=u.dom.tr&&(e.forEach(function(e){u.parent.moveBefore(e,u)}),_=!0)}}}_&&(b.drag.mouseX=x,b.drag.level=E.getLevel()),b.startAutoScroll(w),t.preventDefault()}},i.onDragEnd=function(e,t){if(!Array.isArray(e))return i.onDrag([e],t);if(0!==e.length){var n=e[0],o=n.editor,r=n.parent,a=r.childs.indexOf(n),l=r.childs[a+e.length]||r.append;e[0]&&e[0].dom.menu.focus();var c={nodes:e,oldSelection:o.drag.oldSelection,newSelection:o.getSelection(),oldBeforeNode:o.drag.oldBeforeNode,newBeforeNode:l};c.oldBeforeNode!=c.newBeforeNode&&o._onAction("moveNodes",c),document.body.style.cursor=o.drag.oldCursor,o.highlighter.unlock(),e.forEach(function(e){t.target!==e.dom.drag&&t.target!==e.dom.menu&&o.highlighter.unhighlight()}),delete o.drag,o.mousemove&&(s.removeEventListener(window,"mousemove",o.mousemove),delete o.mousemove),o.mouseup&&(s.removeEventListener(window,"mouseup",o.mouseup),delete o.mouseup),o.stopAutoScroll(),t.preventDefault()}},i.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},i.prototype._createDomField=function(){return document.createElement("div")},i.prototype.setHighlight=function(e){this.dom.tr&&(e?s.addClassName(this.dom.tr,"jsoneditor-highlight"):s.removeClassName(this.dom.tr,"jsoneditor-highlight"),this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},i.prototype.setSelected=function(e,t){this.selected=e,this.dom.tr&&(e?s.addClassName(this.dom.tr,"jsoneditor-selected"):s.removeClassName(this.dom.tr,"jsoneditor-selected"),t?s.addClassName(this.dom.tr,"jsoneditor-first"):s.removeClassName(this.dom.tr,"jsoneditor-first"),this.append&&this.append.setSelected(e),this.childs&&this.childs.forEach(function(t){t.setSelected(e)}))},i.prototype.updateValue=function(e){this.value=e,this.updateDom()},i.prototype.updateField=function(e){this.field=e,this.updateDom()},i.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var n=this.dom.field;if(n){this.fieldEditable?(n.contentEditable=this.editable.field,n.spellcheck=!1,n.className="jsoneditor-field"):n.className="jsoneditor-readonly";var i;i=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",n.innerHTML=this._escapeHTML(i)}var o=this.dom.value;if(o){var r=this.childs?this.childs.length:0;"array"==this.type?(o.innerHTML="["+r+"]",s.addClassName(this.dom.tr,"jsoneditor-expandable")):"object"==this.type?(o.innerHTML="{"+r+"}",s.addClassName(this.dom.tr,"jsoneditor-expandable")):(o.innerHTML=this._escapeHTML(this.value),s.removeClassName(this.dom.tr,"jsoneditor-expandable"))}this._updateDomField(),this._updateDomValue(),e&&e.updateIndexes===!0&&this._updateDomIndexes(),e&&e.recurse===!0&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},i.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var n=e.dom.field;n&&(n.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},i.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.innerHTML="{...}"):!this.editable.value&&s.isUrl(this.value)?(e=document.createElement("a"),e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=this.editable.value,e.spellcheck=!1,e.innerHTML=this._escapeHTML(this.value)),e},i.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"jsoneditor-expanded":"jsoneditor-collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="jsoneditor-invisible",e.title=""),e},i.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),n=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="jsoneditor-values",t.appendChild(n);var i=document.createElement("tr");n.appendChild(i);var o=document.createElement("td");o.className="jsoneditor-tree",i.appendChild(o),e.expand=this._createDomExpandButton(),o.appendChild(e.expand),e.tdExpand=o;var r=document.createElement("td");r.className="jsoneditor-tree",i.appendChild(r),e.field=this._createDomField(),r.appendChild(e.field),e.tdField=r;var s=document.createElement("td");s.className="jsoneditor-tree",i.appendChild(s),"object"!=this.type&&"array"!=this.type&&(s.appendChild(document.createTextNode(":")),s.className="jsoneditor-separator"),e.tdSeparator=s;var a=document.createElement("td");return a.className="jsoneditor-tree",i.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},i.prototype.onEvent=function(e){var t,n=e.type,i=e.target||e.srcElement,o=this.dom,r=this,a=this._hasChilds();if((i==o.drag||i==o.menu)&&("mouseover"==n?this.editor.highlighter.highlight(this):"mouseout"==n&&this.editor.highlighter.unhighlight()),"click"==n&&i==o.menu){var l=r.editor.highlighter;l.highlight(r),l.lock(),s.addClassName(o.menu,"jsoneditor-selected"),this.showContextMenu(o.menu,function(){s.removeClassName(o.menu,"jsoneditor-selected"),l.unlock(),l.unhighlight()})}if("click"==n&&(i==o.expand||("view"===r.editor.options.mode||"form"===r.editor.options.mode)&&"DIV"===i.nodeName)&&a){var c=e.ctrlKey;this._onExpand(c)}"change"==n&&i==o.checkbox&&(this.dom.value.innerHTML=!this.value,this._getDomValue());var d=o.value;if(i==d)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(d.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":(e.ctrlKey||!this.editable.value)&&s.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){r._getDomValue(!0),r._updateDomValue();
32 },1)}var h=o.field;if(i==h)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(h.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){r._getDomField(!0),r._updateDomField()},1)}var u=o.tree;if(i==u.parentNode&&"click"==n&&!e.hasMoved){var p=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageX<s.getAbsoluteLeft(o.tdSeparator);p||a?h&&(s.setEndOfContentEditable(h),h.focus()):d&&(s.setEndOfContentEditable(d),d.focus())}(i!=o.tdExpand||a)&&i!=o.tdField&&i!=o.tdSeparator||"click"!=n||e.hasMoved||h&&(s.setEndOfContentEditable(h),h.focus()),"keydown"==n&&this.onKeyDown(e)},i.prototype.onKeyDown=function(e){var t,n,o,r,l,c,d,h,u=e.which||e.keyCode,p=e.target||e.srcElement,f=e.ctrlKey,m=e.shiftKey,g=e.altKey,v=!1,y="tree"===this.editor.options.mode,b=this.editor.multiselection.nodes.length>0?this.editor.multiselection.nodes:[this],w=b[0],x=b[b.length-1];if(13==u){if(p==this.dom.value)(!this.editable.value||e.ctrlKey)&&s.isUrl(this.value)&&(window.open(this.value,"_blank"),v=!0);else if(p==this.dom.expand){var _=this._hasChilds();if(_){var E=e.ctrlKey;this._onExpand(E),p.focus(),v=!0}}}else if(68==u)f&&y&&(i.onDuplicate(b),v=!0);else if(69==u)f&&(this._onExpand(m),p.focus(),v=!0);else if(77==u&&y)f&&(this.showContextMenu(p),v=!0);else if(46==u&&y)f&&(i.onRemove(b),v=!0);else if(45==u&&y)f&&!m?(this._onInsertBefore(),v=!0):f&&m&&(this._onInsertAfter(),v=!0);else if(35==u){if(g){var C=this._lastNode();C&&C.focus(i.focusElement||this._getElementName(p)),v=!0}}else if(36==u){if(g){var j=this._firstNode();j&&j.focus(i.focusElement||this._getElementName(p)),v=!0}}else if(37==u){if(g&&!m){var S=this._previousElement(p);S&&this.focus(this._getElementName(S)),v=!0}else if(g&&m&&y){if(x.expanded){var k=x.getAppend();o=k?k.nextSibling:void 0}else{var N=x.getDom();o=N.nextSibling}o&&(n=i.getNodeFromTarget(o),r=o.nextSibling,T=i.getNodeFromTarget(r),n&&n instanceof a&&1!=x.parent.childs.length&&T&&T.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){T.parent.moveBefore(e,T)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:T,oldSelection:l,newSelection:this.editor.getSelection()})))}}else if(38==u)g&&!m?(t=this._previousNode(),t&&(this.editor.deselect(!0),t.focus(i.focusElement||this._getElementName(p))),v=!0):!g&&f&&m&&y?(t=this._previousNode(),t&&(h=this.editor.multiselection,h.start=h.start||this,h.end=t,d=this.editor._findTopLevelNodes(h.start,h.end),this.editor.select(d),t.focus("field")),v=!0):g&&m&&y&&(t=w._previousNode(),t&&t.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){t.parent.moveBefore(e,t)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:t,oldSelection:l,newSelection:this.editor.getSelection()})),v=!0);else if(39==u){if(g&&!m){var A=this._nextElement(p);A&&this.focus(this._getElementName(A)),v=!0}else if(g&&m&&y){N=w.getDom();var O=N.previousSibling;O&&(t=i.getNodeFromTarget(O),t&&t.parent&&t instanceof a&&!t.isVisible()&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){t.parent.moveBefore(e,t)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:t,oldSelection:l,newSelection:this.editor.getSelection()})))}}else if(40==u)if(g&&!m)n=this._nextNode(),n&&(this.editor.deselect(!0),n.focus(i.focusElement||this._getElementName(p))),v=!0;else if(!g&&f&&m&&y)n=this._nextNode(),n&&(h=this.editor.multiselection,h.start=h.start||this,h.end=n,d=this.editor._findTopLevelNodes(h.start,h.end),this.editor.select(d),n.focus("field")),v=!0;else if(g&&m&&y){n=x.expanded?x.append?x.append._nextNode():void 0:x._nextNode();var T=n&&(n._nextNode()||n.parent.append);T&&T.parent&&(l=this.editor.getSelection(),c=x._nextSibling(),b.forEach(function(e){T.parent.moveBefore(e,T)}),this.focus(i.focusElement||this._getElementName(p)),this.editor._onAction("moveNodes",{nodes:b,oldBeforeNode:c,newBeforeNode:T,oldSelection:l,newSelection:this.editor.getSelection()})),v=!0}v&&(e.preventDefault(),e.stopPropagation())},i.prototype._onExpand=function(e){if(e){var t=this.dom.tr.parentNode,n=t.parentNode,i=n.scrollTop;n.removeChild(t)}this.expanded?this.collapse(e):this.expand(e),e&&(n.appendChild(t),n.scrollTop=i)},i.onRemove=function(e){if(!Array.isArray(e))return i.onRemove([e]);if(e&&e.length>0){var t=e[0],n=t.parent,o=t.editor,r=t.getIndex();o.highlighter.unhighlight();var s=o.getSelection();i.blurNodes(e);var a=o.getSelection();e.forEach(function(e){e.parent._remove(e)}),o._onAction("removeNodes",{nodes:e.slice(0),parent:n,index:r,oldSelection:s,newSelection:a})}},i.onDuplicate=function(e){if(!Array.isArray(e))return i.onDuplicate([e]);if(e&&e.length>0){var t=e[e.length-1],n=t.parent,o=t.editor;o.deselect(o.multiselection.nodes);var r=o.getSelection(),s=t,a=e.map(function(e){var t=e.clone();return n.insertAfter(t,s),s=t,t});1===e.length?a[0].focus():o.select(a);var l=o.getSelection();o._onAction("duplicateNodes",{afterNode:t,nodes:a,parent:n,oldSelection:r,newSelection:l})}},i.prototype._onInsertBefore=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.insertBefore(r,this),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("insertBeforeNodes",{nodes:[r],beforeNode:this,parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onInsertAfter=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.insertAfter(r,this),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("insertAfterNodes",{nodes:[r],afterNode:this,parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onAppend=function(e,t,n){var o=this.editor.getSelection(),r=new i(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:n});r.expand(!0),this.parent.appendChild(r),this.editor.highlighter.unhighlight(),r.focus("field");var s=this.editor.getSelection();this.editor._onAction("appendNodes",{nodes:[r],parent:this.parent,oldSelection:o,newSelection:s})},i.prototype._onChangeType=function(e){var t=this.type;if(e!=t){var n=this.editor.getSelection();this.changeType(e);var i=this.editor.getSelection();this.editor._onAction("changeType",{node:this,oldType:t,newType:e,oldSelection:n,newSelection:i})}},i.prototype._onSort=function(e){if(this._hasChilds()){var t="desc"==e?-1:1,n="array"==this.type?"value":"field";this.hideChilds();var i=this.childs,o=this.sort;this.childs=this.childs.concat(),this.childs.sort(function(e,i){return e[n]>i[n]?t:e[n]<i[n]?-t:0}),this.sort=1==t?"asc":"desc",this.editor._onAction("sort",{node:this,oldChilds:i,oldSort:o,newChilds:this.childs,newSort:this.sort}),this.showChilds()}},i.prototype.getAppend=function(){return this.append||(this.append=new a(this.editor),this.append.setParent(this)),this.append.getDom()},i.getNodeFromTarget=function(e){for(;e;){if(e.node)return e.node;e=e.parentNode}return void 0},i.blurNodes=function(e){if(!Array.isArray(e))return void i.blurNodes([e]);var t=e[0],n=t.parent,o=t.getIndex();n.childs[o+e.length]?n.childs[o+e.length].focus():n.childs[o-1]?n.childs[o-1].focus():n.focus()},i.prototype._nextSibling=function(){var e=this.parent.childs.indexOf(this);return this.parent.childs[e+1]||this.parent.append},i.prototype._previousNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t;do n=n.previousSibling,e=i.getNodeFromTarget(n);while(n&&e instanceof a&&!e.isVisible())}return e},i.prototype._nextNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t;do n=n.nextSibling,e=i.getNodeFromTarget(n);while(n&&e instanceof a&&!e.isVisible())}return e},i.prototype._firstNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t.parentNode.firstChild;e=i.getNodeFromTarget(n)}return e},i.prototype._lastNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var n=t.parentNode.lastChild;for(e=i.getNodeFromTarget(n);n&&e instanceof a&&!e.isVisible();)n=n.previousSibling,e=i.getNodeFromTarget(n)}return e},i.prototype._previousElement=function(e){var t=this.dom;switch(e){case t.value:if(this.fieldEditable)return t.field;case t.field:if(this._hasChilds())return t.expand;case t.expand:return t.menu;case t.menu:if(t.drag)return t.drag;default:return null}},i.prototype._nextElement=function(e){var t=this.dom;switch(e){case t.drag:return t.menu;case t.menu:if(this._hasChilds())return t.expand;case t.expand:if(this.fieldEditable)return t.field;case t.field:if(!this._hasChilds())return t.value;default:return null}},i.prototype._getElementName=function(e){var t=this.dom;for(var n in t)if(t.hasOwnProperty(n)&&t[n]==e)return n;return null},i.prototype._hasChilds=function(){return"array"==this.type||"object"==this.type},i.TYPE_TITLES={auto:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',object:'Field type "object". An object contains an unordered set of key/value pairs.',array:'Field type "array". An array contains an ordered collection of values.',string:'Field type "string". Field type is not determined from the value, but always returned as string.'},i.prototype.showContextMenu=function(e,t){var n=this,r=i.TYPE_TITLES,s=[];if(this.editable.value&&s.push({text:"Type",title:"Change the type of this field",className:"jsoneditor-type-"+this.type,submenu:[{text:"Auto",className:"jsoneditor-type-auto"+("auto"==this.type?" jsoneditor-selected":""),title:r.auto,click:function(){n._onChangeType("auto")}},{text:"Array",className:"jsoneditor-type-array"+("array"==this.type?" jsoneditor-selected":""),title:r.array,click:function(){n._onChangeType("array")}},{text:"Object",className:"jsoneditor-type-object"+("object"==this.type?" jsoneditor-selected":""),title:r.object,click:function(){n._onChangeType("object")}},{text:"String",className:"jsoneditor-type-string"+("string"==this.type?" jsoneditor-selected":""),title:r.string,click:function(){n._onChangeType("string")}}]}),this._hasChilds()){var a="asc"==this.sort?"desc":"asc";s.push({text:"Sort",title:"Sort the childs of this "+this.type,className:"jsoneditor-sort-"+a,click:function(){n._onSort(a)},submenu:[{text:"Ascending",className:"jsoneditor-sort-asc",title:"Sort the childs of this "+this.type+" in ascending order",click:function(){n._onSort("asc")}},{text:"Descending",className:"jsoneditor-sort-desc",title:"Sort the childs of this "+this.type+" in descending order",click:function(){n._onSort("desc")}}]})}if(this.parent&&this.parent._hasChilds()){s.length&&s.push({type:"separator"});var l=n.parent.childs;n==l[l.length-1]&&s.push({text:"Append",title:"Append a new field with type 'auto' after this field (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"jsoneditor-append",click:function(){n._onAppend("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:r.auto,click:function(){n._onAppend("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:r.array,click:function(){n._onAppend("",[])}},{text:"Object",className:"jsoneditor-type-object",title:r.object,click:function(){n._onAppend("",{})}},{text:"String",className:"jsoneditor-type-string",title:r.string,click:function(){n._onAppend("","","string")}}]}),s.push({text:"Insert",title:"Insert a new field with type 'auto' before this field (Ctrl+Ins)",submenuTitle:"Select the type of the field to be inserted",className:"jsoneditor-insert",click:function(){n._onInsertBefore("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:r.auto,click:function(){n._onInsertBefore("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:r.array,click:function(){n._onInsertBefore("",[])}},{text:"Object",className:"jsoneditor-type-object",title:r.object,click:function(){n._onInsertBefore("",{})}},{text:"String",className:"jsoneditor-type-string",title:r.string,click:function(){n._onInsertBefore("","","string")}}]}),this.editable.field&&(s.push({text:"Duplicate",title:"Duplicate this field (Ctrl+D)",className:"jsoneditor-duplicate",click:function(){i.onDuplicate(n)}}),s.push({text:"Remove",title:"Remove this field (Ctrl+Del)",className:"jsoneditor-remove",click:function(){i.onRemove(n)}}))}var c=new o(s,{close:t});c.show(e,this.editor.content)},i.prototype._getType=function(e){return e instanceof Array?"array":e instanceof Object?"object":"string"==typeof e&&"string"!=typeof this._stringCast(e)?"string":"auto"},i.prototype._stringCast=function(e){var t=e.toLowerCase(),n=Number(e),i=parseFloat(e);return""==e?"":"null"==t?null:"true"==t?!0:"false"==t?!1:isNaN(n)||isNaN(i)?e:n},i.prototype._escapeHTML=function(e){if("string"!=typeof e)return String(e);var t=String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g," &nbsp;").replace(/^ /,"&nbsp;").replace(/ $/,"&nbsp;"),n=JSON.stringify(t),i=n.substring(1,n.length-1);return this.editor.options.escapeUnicode===!0&&(i=s.escapeUnicodeChars(i)),i},i.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',n=s.parse(t);return n.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&nbsp;|\u00A0/g," ").replace(/&amp;/g,"&")},i.prototype._escapeJSON=function(e){for(var t="",n=0;n<e.length;){var i=e.charAt(n);"\n"==i?t+="\\n":"\\"==i?(t+=i,n++,i=e.charAt(n),(""===i||-1=='"\\/bfnrtu'.indexOf(i))&&(t+="\\"),t+=i):t+='"'==i?'\\"':i,n++}return t};var a=r(i);e.exports=i},function(e,t,n){function i(e,t,n){function i(t){e.setMode(t);var n=e.dom&&e.dom.modeBox;n&&n.focus()}for(var r={code:{text:"Code",title:"Switch to code highlighter",click:function(){i("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){i("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){i("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){i("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){i("view")}}},s=[],a=0;a<t.length;a++){var l=t[a],c=r[l];if(!c)throw new Error('Unknown mode "'+l+'"');c.className="jsoneditor-type-modes"+(n==l?" jsoneditor-selected":""),s.push(c)}var d=r[n];if(!d)throw new Error('Unknown mode "'+n+'"');var h=d.text,u=document.createElement("button");u.className="jsoneditor-modes jsoneditor-separator",u.innerHTML=h+" &#x25BE;",u.title="Switch editor mode",u.onclick=function(){var e=new o(s);e.show(u)};var p=document.createElement("div");return p.className="jsoneditor-modes",p.style.position="relative",p.appendChild(u),p}var o=n(7);t.create=i},function(e,t,n){var i=function(){var e={trace:function(){},yy:{},symbols_:{error:2,JSONString:3,STRING:4,JSONNumber:5,NUMBER:6,JSONNullLiteral:7,NULL:8,JSONBooleanLiteral:9,TRUE:10,FALSE:11,JSONText:12,JSONValue:13,EOF:14,JSONObject:15,JSONArray:16,"{":17,"}":18,JSONMemberList:19,JSONMember:20,":":21,",":22,"[":23,"]":24,JSONElementList:25,$accept:0,$end:1},terminals_:{2:"error",4:"STRING",6:"NUMBER",8:"NULL",10:"TRUE",11:"FALSE",14:"EOF",17:"{",18:"}",21:":",22:",",23:"[",24:"]"},productions_:[0,[3,1],[5,1],[7,1],[9,1],[9,1],[12,2],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[15,2],[15,3],[20,3],[19,1],[19,3],[16,2],[16,3],[25,1],[25,3]],performAction:function(e,t,n,i,o,r,s){var a=r.length-1;switch(o){case 1:this.$=e.replace(/\\(\\|")/g,"$1").replace(/\\n/g,"\n").replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\v/g," ").replace(/\\f/g,"\f").replace(/\\b/g,"\b");break;case 2:this.$=Number(e);break;case 3:this.$=null;break;case 4:this.$=!0;break;case 5:this.$=!1;break;case 6:return this.$=r[a-1];case 13:this.$={};break;case 14:this.$=r[a-1];break;case 15:this.$=[r[a-2],r[a]];break;case 16:this.$={},this.$[r[a][0]]=r[a][1];break;case 17:this.$=r[a-2],r[a-2][r[a][0]]=r[a][1];break;case 18:this.$=[];break;case 19:this.$=r[a-1];break;case 20:this.$=[r[a]];break;case 21:this.$=r[a-2],r[a-2].push(r[a])}},table:[{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],12:1,13:2,15:7,16:8,17:[1,14],23:[1,15]},{1:[3]},{14:[1,16]},{14:[2,7],18:[2,7],22:[2,7],24:[2,7]},{14:[2,8],18:[2,8],22:[2,8],24:[2,8]},{14:[2,9],18:[2,9],22:[2,9],24:[2,9]},{14:[2,10],18:[2,10],22:[2,10],24:[2,10]},{14:[2,11],18:[2,11],22:[2,11],24:[2,11]},{14:[2,12],18:[2,12],22:[2,12],24:[2,12]},{14:[2,3],18:[2,3],22:[2,3],24:[2,3]},{14:[2,4],18:[2,4],22:[2,4],24:[2,4]},{14:[2,5],18:[2,5],22:[2,5],24:[2,5]},{14:[2,1],18:[2,1],21:[2,1],22:[2,1],24:[2,1]},{14:[2,2],18:[2,2],22:[2,2],24:[2,2]},{3:20,4:[1,12],18:[1,17],19:18,20:19},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:23,15:7,16:8,17:[1,14],23:[1,15],24:[1,21],25:22},{1:[2,6]},{14:[2,13],18:[2,13],22:[2,13],24:[2,13]},{18:[1,24],22:[1,25]},{18:[2,16],22:[2,16]},{21:[1,26]},{14:[2,18],18:[2,18],22:[2,18],24:[2,18]},{22:[1,28],24:[1,27]},{22:[2,20],24:[2,20]},{14:[2,14],18:[2,14],22:[2,14],24:[2,14]},{3:20,4:[1,12],20:29},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:30,15:7,16:8,17:[1,14],23:[1,15]},{14:[2,19],18:[2,19],22:[2,19],24:[2,19]},{3:5,4:[1,12],5:6,6:[1,13],7:3,8:[1,9],9:4,10:[1,10],11:[1,11],13:31,15:7,16:8,17:[1,14],23:[1,15]},{18:[2,17],22:[2,17]},{18:[2,15],22:[2,15]},{22:[2,21],24:[2,21]}],defaultActions:{16:[2,6]},parseError:function(e,t){throw new Error(e)},parse:function(e){function t(e){o.length=o.length-2*e,r.length=r.length-e,s.length=s.length-e}function n(){var e;return e=i.lexer.lex()||1,"number"!=typeof e&&(e=i.symbols_[e]||e),e}var i=this,o=[0],r=[null],s=[],a=this.table,l="",c=0,d=0,h=0,u=2,p=1;this.lexer.setInput(e),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var f=this.lexer.yylloc;s.push(f),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var m,g,v,y,b,w,x,_,E,C={};;){if(v=o[o.length-1],this.defaultActions[v]?y=this.defaultActions[v]:(null==m&&(m=n()),y=a[v]&&a[v][m]),"undefined"==typeof y||!y.length||!y[0]){if(!h){E=[];for(w in a[v])this.terminals_[w]&&w>2&&E.push("'"+this.terminals_[w]+"'");var j="";j=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+E.join(", ")+", got '"+this.terminals_[m]+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(j,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:f,expected:E})}if(3==h){if(m==p)throw new Error(j||"Parsing halted.");d=this.lexer.yyleng,l=this.lexer.yytext,c=this.lexer.yylineno,f=this.lexer.yylloc,m=n()}for(;;){if(u.toString()in a[v])break;if(0==v)throw new Error(j||"Parsing halted.");t(1),v=o[o.length-1]}g=m,m=u,v=o[o.length-1],y=a[v]&&a[v][u],h=3}if(y[0]instanceof Array&&y.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(y[0]){case 1:o.push(m),r.push(this.lexer.yytext),s.push(this.lexer.yylloc),o.push(y[1]),m=null,g?(m=g,g=null):(d=this.lexer.yyleng,l=this.lexer.yytext,c=this.lexer.yylineno,f=this.lexer.yylloc,h>0&&h--);break;case 2:if(x=this.productions_[y[1]][1],C.$=r[r.length-x],C._$={first_line:s[s.length-(x||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(x||1)].first_column,last_column:s[s.length-1].last_column},b=this.performAction.call(C,l,d,c,this.yy,y[1],r,s),"undefined"!=typeof b)return b;x&&(o=o.slice(0,-1*x*2),r=r.slice(0,-1*x),s=s.slice(0,-1*x)),o.push(this.productions_[y[1]][0]),r.push(C.$),s.push(C._$),_=a[o[o.length-2]][o[o.length-1]],o.push(_);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(e,t){if(!this.yy.parseError)throw new Error(e);this.yy.parseError(e,t)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.match+=e,this.matched+=e;var t=e.match(/\n/);return t&&this.yylineno++,this._input=this._input.slice(1),e},unput:function(e){return this._input=e+this._input,this},more:function(){return this._more=!0,this},less:function(e){this._input=this.match.slice(e)+this._input},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=new Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,i,o;this._more||(this.yytext="",this.match="");for(var r=this._currentRules(),s=0;s<r.length&&(n=this._input.match(this.rules[r[s]]),!n||t&&!(n[0].length>t[0].length)||(t=n,i=s,this.options.flex));s++);return t?(o=t[0].match(/\n.*/g),o&&(this.yylineno+=o.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:o?o[o.length-1].length-1:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,r[i],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e?e:void 0):""===this._input?this.EOF:void this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var e=this.next();return"undefined"!=typeof e?e:this.lex()},begin:function(e){this.conditionStack.push(e)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(e){this.begin(e)}};return e.options={},e.performAction=function(e,t,n,i){switch(n){case 0:break;case 1:return 6;case 2:return t.yytext=t.yytext.substr(1,t.yyleng-2),4;case 3:return 17;case 4:return 18;case 5:return 23;case 6:return 24;case 7:return 22;case 8:return 21;case 9:return 10;case 10:return 11;case 11:return 8;case 12:return 14;case 13:return"INVALID"}},e.rules=[/^(?:\s+)/,/^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/,/^(?:"(?:\\[\\"bfnrt\/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/,/^(?:\{)/,/^(?:\})/,/^(?:\[)/,/^(?:\])/,/^(?:,)/,/^(?::)/,/^(?:true\b)/,/^(?:false\b)/,/^(?:null\b)/,/^(?:$)/,/^(?:.)/],e.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],inclusive:!0}},e}();return e.lexer=t,e}();t.parser=i,t.parse=i.parse.bind(i)},function(e,t,n){var i=n(!function(){var e=new Error('Cannot find module "brace"');throw e.code="MODULE_NOT_FOUND",e}());n(14),n(15),n(13),e.exports=i},function(e,t,n){function i(e){function t(e){this.editor=e,this.dom={}}return t.prototype=new e,t.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;this._updateEditability();var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editable.field){e.tdDrag=document.createElement("td");var n=document.createElement("td");e.tdMenu=n;var i=document.createElement("button");i.className="jsoneditor-contextmenu",i.title="Click to open the actions menu (Ctrl+M)",e.menu=i,n.appendChild(e.menu)}var o=document.createElement("td"),r=document.createElement("div");return r.innerHTML="(empty)",r.className="jsoneditor-readonly",o.appendChild(r),e.td=o,e.text=r,this.updateDom(),t},t.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var n=e.text;n&&(n.innerHTML="(empty "+this.parent.type+")");var i=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&i.appendChild(e.tdDrag),e.tdMenu&&i.appendChild(e.tdMenu),i.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&i.removeChild(e.tdDrag),e.tdMenu&&i.removeChild(e.tdMenu),i.removeChild(t))},t.prototype.isVisible=function(){return 0==this.parent.childs.length},t.prototype.showContextMenu=function(t,n){var i=this,o=e.TYPE_TITLES,s=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"jsoneditor-insert",click:function(){i._onAppend("","","auto")},submenu:[{text:"Auto",className:"jsoneditor-type-auto",title:o.auto,click:function(){i._onAppend("","","auto")}},{text:"Array",className:"jsoneditor-type-array",title:o.array,click:function(){i._onAppend("",[])}},{text:"Object",className:"jsoneditor-type-object",title:o.object,click:function(){i._onAppend("",{})}},{text:"String",className:"jsoneditor-type-string",title:o.string,click:function(){i._onAppend("","","string")}}]}],a=new r(s,{close:n});a.show(t,this.editor.content)},t.prototype.onEvent=function(e){var t=e.type,n=e.target||e.srcElement,i=this.dom,r=i.menu;if(n==r&&("mouseover"==t?this.editor.highlighter.highlight(this.parent):"mouseout"==t&&this.editor.highlighter.unhighlight()),"click"==t&&n==i.menu){var s=this.editor.highlighter;s.highlight(this.parent),s.lock(),o.addClassName(i.menu,"jsoneditor-selected"),this.showContextMenu(i.menu,function(){o.removeClassName(i.menu,"jsoneditor-selected"),s.unlock(),s.unhighlight()})}"keydown"==t&&this.onKeyDown(e)},t}var o=n(3),r=n(7);e.exports=i},function(e,t,n){ace.define("ace/theme/jsoneditor",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!1,t.cssClass="ace-jsoneditor",t.cssText='.ace-jsoneditor .ace_gutter { background: #ebebeb; color: #333 } .ace-jsoneditor.ace_editor { font-family: droid sans mono, consolas, monospace, courier new, courier, sans-serif; line-height: 1.3; } .ace-jsoneditor .ace_print-margin { width: 1px; background: #e8e8e8 } .ace-jsoneditor .ace_scroller { background-color: #FFFFFF } .ace-jsoneditor .ace_text-layer { color: gray } .ace-jsoneditor .ace_variable { color: #1a1a1a } .ace-jsoneditor .ace_cursor { border-left: 2px solid #000000 } .ace-jsoneditor .ace_overwrite-cursors .ace_cursor { border-left: 0px; border-bottom: 1px solid #000000 } .ace-jsoneditor .ace_marker-layer .ace_selection { background: lightgray } .ace-jsoneditor.ace_multiselect .ace_selection.ace_start { box-shadow: 0 0 3px 0px #FFFFFF; border-radius: 2px } .ace-jsoneditor .ace_marker-layer .ace_step { background: rgb(255, 255, 0) } .ace-jsoneditor .ace_marker-layer .ace_bracket { margin: -1px 0 0 -1px; border: 1px solid #BFBFBF } .ace-jsoneditor .ace_marker-layer .ace_active-line { background: #FFFBD1 } .ace-jsoneditor .ace_gutter-active-line { background-color : #dcdcdc } .ace-jsoneditor .ace_marker-layer .ace_selected-word { border: 1px solid lightgray } .ace-jsoneditor .ace_invisible { color: #BFBFBF } .ace-jsoneditor .ace_keyword, .ace-jsoneditor .ace_meta, .ace-jsoneditor .ace_support.ace_constant.ace_property-value { color: #AF956F } .ace-jsoneditor .ace_keyword.ace_operator { color: #484848 } .ace-jsoneditor .ace_keyword.ace_other.ace_unit { color: #96DC5F } .ace-jsoneditor .ace_constant.ace_language { color: darkorange } .ace-jsoneditor .ace_constant.ace_numeric { color: red } .ace-jsoneditor .ace_constant.ace_character.ace_entity { color: #BF78CC } .ace-jsoneditor .ace_invalid { color: #FFFFFF; background-color: #FF002A; } .ace-jsoneditor .ace_fold { background-color: #AF956F; border-color: #000000 } .ace-jsoneditor .ace_storage, .ace-jsoneditor .ace_support.ace_class, .ace-jsoneditor .ace_support.ace_function, .ace-jsoneditor .ace_support.ace_other, .ace-jsoneditor .ace_support.ace_type { color: #C52727 } .ace-jsoneditor .ace_string { color: green } .ace-jsoneditor .ace_comment { color: #BCC8BA } .ace-jsoneditor .ace_entity.ace_name.ace_tag, .ace-jsoneditor .ace_entity.ace_other.ace_attribute-name { color: #606060 } .ace-jsoneditor .ace_markup.ace_underline { text-decoration: underline } .ace-jsoneditor .ace_indent-guide { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y }';var i=e("../lib/dom");i.importCssString(t.cssText,t.cssClass)})},function(e,t,n){ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var i=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,r=function(){this.$rules={start:[{token:"variable",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'},{token:"string",regex:'"',next:"string"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"invalid.illegal",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"invalid.illegal",regex:"\\/\\/.*$"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],string:[{token:"constant.language.escape",regex:/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:'"',next:"start"},{token:"string",regex:"",next:"start"}]}};i.inherits(r,o),t.JsonHighlightRules=r}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),o=n.match(/^(\s*\})/);if(!o)return 0;var r=o[1].length,s=e.findMatchingBracket({row:t,column:r});if(!s||s.row==t)return 0;var a=this.$getIndent(e.getLine(s.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";var i,o=e("../../lib/oop"),r=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,a=e("../../lib/lang"),l=["text","paren.rparen","punctuation.operator"],c=["text","paren.rparen","punctuation.operator","comment"],d={},h=function(e){var t=-1;return e.multiSelect&&(t=e.selection.index,d.rangeCount!=e.multiSelect.rangeCount&&(d={rangeCount:e.multiSelect.rangeCount})),d[t]?i=d[t]:void(i=d[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""})},u=function(e,t,n,i){var o=e.end.row-e.start.row;return{text:n+t+i,selection:[0,e.start.column+1,o,e.end.column+(o?0:1)]}},p=function(){this.add("braces","insertion",function(e,t,n,o,r){var s=n.getCursorPosition(),l=o.doc.getLine(s.row);if("{"==r){h(n);var c=n.getSelectionRange(),d=o.doc.getTextRange(c);if(""!==d&&"{"!==d&&n.getWrapBehavioursEnabled())return u(c,d,"{","}");if(p.isSaneInsertion(n,o))return/[\]\}\)]/.test(l[s.column])||n.inMultiSelectMode?(p.recordAutoInsert(n,o,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(n,o,"{"),{text:"{",selection:[1,1]})}else if("}"==r){h(n);var f=l.substring(s.column,s.column+1);if("}"==f){var m=o.$findOpeningBracket("}",{column:s.column+1,row:s.row});if(null!==m&&p.isAutoInsertedClosing(s,l,r))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if("\n"==r||"\r\n"==r){h(n);var g="";p.isMaybeInsertedClosing(s,l)&&(g=a.stringRepeat("}",i.maybeInsertedBrackets),
/plugin/combo/vendor/antlr/antlr4-php-runtime/src/Tree/
H A DTerminalNodeImpl.php42 public function setParent(RuleContext $parent) : void function in Antlr\\Antlr4\\Runtime\\Tree\\TerminalNodeImpl
H A DParseTree.php31 * setParent, addChild are moved up to Tree
35 public function setParent(RuleContext $parent) : void; function
/plugin/combo/ComboStrap/
H A DTreeNode.php37 $treeNode->setParent($this);
128 private function setParent(TreeNode $parent) function in ComboStrap\\TreeNode
/plugin/combo/resources/library/combo/
H A Dcombo.min.js4 </span>`):`<a href="${t}" title="${this.getDescription()}" data-bs-toggle="tooltip" style="text-decoration:none" target="_blank">${this.getLabel()}</a>`}setType(t){return this.type=t,this}setLabel(t){return this.label=t,this}setUrl(t){return this.url=t,this}addValue(t,e){return this.values.push(t),this.defaultValues.push(e),this}getType(){return this.type}getLabel(){return this.label===void 0?this.getName().split(/[_\-]/).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" "):this.label}getUrl(){return this.url}getName(){return this.name}getDescription(){return this.description}getTab(){return this.tab}static createFromJson(t,e=null){t.hasOwnProperty("name")||E.getLogger().error("To create a form meta field, the name property is mandatory.");let s=t.name,l=w.createFromName(s);e!=null&&l.setParent(e);let r,n;for(let o in t){if(!t.hasOwnProperty(o))continue;let a=t[o];switch(o){case"name":continue;case"label":l.setLabel(a);continue;case"tab":l.setTab(a);continue;case"type":l.setType(a);continue;case"mutable":l.setMutable(a);continue;case"description":l.setDescription(a);continue;case"url":l.setUrl(a);continue;case"value":r=a;continue;case"default":n=a;continue;case"domain-values":l.setDomainValues(a);continue;case"multiple":l.setMultiple(a);continue;case"width":l.setControlWidth(a);continue;case"children":let p=a;for(let b in p){if(!p.hasOwnProperty(b))continue;let d=w.createFromJson(p[b],l);l.addChild(d)}continue;default:E.getLogger().error(`The property (${o}) of the form (${s}) is unknown`)}}return Array.isArray(r)?r.forEach((o,a)=>{let p=n[a];p!==void 0?l.addValue(o,p):l.addValue(o,"")}):l.addValue(r,n),l}setMultiple(t){return this.multiple=t,this}setParent(t){return this.parent=t,this}static createFromName(t){return new w(t)}isMutable(){return this.mutable}setTab(t){return this.tab=t,this}setMutable(t){return this.mutable=H.toBoolean(t),this}setDescription(t){return this.description=t,this}getDefaultValue(){return this.defaultValues[0]}getValue(){return this.values[0]}getDomainValues(){return this.domainValues}setDomainValues(t){if(!Array.isArray(t)){console.error(`The domains values should be an array. (${t}) is not an array`);return}return this.domainValues=t,this}setControlWidth(t){return this.width=t,this}getControlWidth(){return this.width===void 0&&this.parent!==void 0?12/this.parent.getChildren().length:this.width}getValues(){return this.values}getDefaultValues(){return this.defaultValues}getChildren(){return Object.values(this.children)}addChild(t){return this.children[t.getName()]=t,this}toHtmlLabel(t,e){let s=this.getLabelAnchor(),l;return this.getType()===w.BOOLEAN?l="form-check-label":l="col-form-label",typeof e<"u"&&(l=`${e} ${l}`),`<label for="${t}" class="${l}">${s}</label>`}toHtmlControl(t,e=null,s=null){let l=this.getType(),r=this.isMutable(),n=this.getDomainValues(),o,a;if(n!==void 0){a="select";let p="";s!==void 0&&(p=` (${s})`);let b="";this.getMultiple()&&(b="multiple"),a=`<select class="form-select" aria-label="${this.getLabel()}" name="${this.getName()}" id="${t}" ${b}>`;let d="";e===null&&(d="selected"),a+=`<option value="" ${d}>Default${p}</option>`;for(let h of n)h===e?d="selected":d="",a+=`<option value="${h}" ${d}>${h}</option>`;return a+="</select>",a}else{let p="No value";r&&(p=`Enter a ${this.getLabel()}`),s!=null&&(Q.isString(s)?p=$.toEntities(s):p=s);let b=`placeholder="${p}"`,d="",h,P=this.getName();r!==void 0&&!r?o="disabled":o="";let C="input",v="form-control",m="",A=3;switch(l){case w.DATE_TIME:h="datetime-local",e!==null?(e=e.slice(0,19),d=`value="${e}"`):!r&&s!==null&&(s=s.slice(0,19),d=`value="${s}"`),b="";break;case w.PARAGRAPH:C="textarea",e!==null&&(e=$.toEntities(e),d=`${e}`);break;case w.JSON:C="textarea",e!==null&&(typeof e=="object"&&(e=JSON.stringify(e,null,2)),e=$.toEntities(e),d=`${e}`),A=15;break;case w.BOOLEAN:h="checkbox",v="form-check-input",s!==null?(d=`value="${s}"`,e===s&&(m="checked")):e==="on"&&(m="checked"),b="";break;default:h="text",e!=null&&(d=`value="${e}"`)}switch(C){case"textarea":a=`<textarea id="${t}" name="${P}" class="${v}" rows="${A}" ${b} ${o}>${d}</textarea>`;break;default:case"input":a=`<input type="${h}" name="${P}" class="${v}" id="${t}" ${b} ${d} ${m} ${o}/>`;break}return a}}toJavascriptObject(){return{name:this.getName(),label:this.getLabel(),type:this.getType(),description:this.getDescription(),tab:this.getTab(),mutable:this.isMutable(),value:this.getValue(),default:this.getDefaultValue(),url:this.getUrl()}}getMultiple(){return this.multiple}};let T=w;i(T,"TABULAR_TYPE","tabular"),i(T,"DATE_TIME","datetime"),i(T,"PARAGRAPH","paragraph"),i(T,"BOOLEAN","boolean"),i(T,"JSON","json");class I{constructor(t){i(this,"name");i(this,"width");i(this,"label");i(this,"widthField");i(this,"widthLabel");this.name=t}getName(){return this.name}setWidth(t){return this.width=t,this}getWidth(){return this.width}static createFromJson(t){t.hasOwnProperty("name")||E.getLogger().error("A name property is mandatory to create a tab and was not found in the json provided");let e=t.name,s=new I(e);for(let l in t){if(!t.hasOwnProperty(l))continue;let r=t[l];switch(l){case"name":continue;case"label":s.setLabel(r);continue;case"width-field":s.setWidthField(r);continue;case"width-label":s.setWidthLabel(r);continue;default:E.getLogger().error(`The property (${l}) of the tab (${e}) is unknown`)}}return s}setLabel(t){return this.label=t,this}getLabel(){return this.label===void 0?this.name:this.label}setWidthField(t){return this.widthField=t,this}setWidthLabel(t){return this.widthLabel=t,this}getLabelWidth(){return this.widthLabel===void 0?3:this.widthLabel}getFieldWidth(){return this.widthField===void 0?12-this.getLabelWidth():this.widthField}static createFromName(t){return new I(t)}}class B{constructor(t){i(this,"formFields",{});i(this,"tabs",{});i(this,"width",8);i(this,"name");i(this,"label");i(this,"url");i(this,"getTabPaneId");i(this,"getTabNavId");i(this,"getControlId");if(t==null)throw new Error("The if of the form should not be null");this.name=t,this.getControlId=function(e){let s=$.toHtmlId(e);return`${t}-control-${s}`},this.getTabNavId=function(e){let s=$.toHtmlId(e.getName());return`${t}-tab-nav-${s}`},this.getTabPaneId=function(e){let s=$.toHtmlId(e.getName());return`${t}-tab-pane-${s}`}}getLabel(){return this.label}getUrl(){return this.url}getId(){return this.name}getControlWidth(){return this.width}getLabelWidth(){return 12-this.getControlWidth()}static createFromJson(t,e){let s=B.createFromId(t);for(let l in e){if(!e.hasOwnProperty(l))continue;let r=e[l];switch(l){case"fields":let n=r;for(let a in n)n.hasOwnProperty(a)&&s.addFormField(T.createFromJson(n[a]));continue;case"tabs":let o=r;for(let a in o)o.hasOwnProperty(a)&&s.addTab(I.createFromJson(o[a]));break;case"width":s.setControlWidth(r);break;case"label":s.setLabel(r);break;case"url":s.setUrl(r);break;default:E.getLogger().error(`The form property (${l}) is unknown`)}}return s}static createFromId(t){return new B(t)}addFormField(t){return this.formFields[t.getName()]=t,this.tabs.hasOwnProperty(t.getTab())||(this.tabs[t.getTab()]=I.createFromName(t.getTab())),this}getFields(){return Object.values(this.formFields)}getTabs(){return Object.values(this.tabs)}addTab(t){this.tabs[t.getName()]=t}valueOf(){return this.getId()}getFieldsForTab(t){return this.getFields().filter(e=>e.getTab()===t)}toHtmlElement(){let t=this.getId(),e='<ul class="nav nav-tabs mb-3">',s,l,r=this.getTabs(),n=r[0];for(let h of r){Object.is(h,n)?(s="active",l="true"):(s="",l="false");let P=h.getLabel(),C=this.getTabPaneId(h),v=this.getTabNavId(h);e+=` method in AnonymousFunction75dc2f360100.w
H A Dcombo.min.js.map1 {"mappings":"6DAAA,SAASA,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,MACjB,MAAOC,GAEP,YADAP,EAAOO,GAILF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,GAIxB,SAAAS,EAA2BC,GACxC,OAAO,WACL,IAAIC,EAAOC,KACTC,EAAOC,UACT,OAAO,IAAIP,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMc,EAAGK,MAAMJ,EAAME,GAEzB,SAASd,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,GAGlE,SAASJ,EAAOgB,GACdrB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASgB,GAGnEjB,OAAMkB,OC/BG,SAAAC,EAAyBC,EAAUC,GAChD,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,qCCFxB,SAASC,EAAkBC,EAAQC,GACjC,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAME,OAAQD,IAAK,CACrC,IAAIE,EAAaH,EAAMC,GACvBE,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeT,EAAQI,EAAW1B,IAAK0B,IAInC,SAAAM,EAAsBb,EAAac,EAAYC,GAG5D,OAFID,GAAYZ,EAAkBF,EAAYgB,UAAWF,GACrDC,GAAab,EAAkBF,EAAae,GACzCf,ECbM,SAAAiB,EAAyBC,EAAKrC,EAAKG,GAYhD,OAXIH,KAAOqC,EACTP,OAAOC,eAAeM,EAAKrC,EAAK,CAC9BG,MAAOA,EACPwB,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZQ,EAAIrC,GAAOG,EAGNkC,ECVM,ICDXC,EDCiBC,EAAN,iCAAMA,gCAEVvC,IAAA,kBAAP,SAAiBG,GACb,MAAqB,kBAAVA,EACAA,EAEO,SAAVA,QAND,GCGMqC,EAAN,iCAAMA,2BASjBxC,IAAA,cAAA,SAAMG,GACFsC,QAAQrC,MAAMD,QARXH,IAAA,kBAAP,WAII,YAHYgB,IAATsB,IACCA,EAAS,IAAIE,GAEVF,QANA,GCsBXI,EAAS,SAAAC,UAASC,OAAOC,gBAAgB,IAAIC,WAAWH,KAgBxDI,EAAiB,SAACC,EAAUC,UAfb,SAACD,EAAUC,EAAMC,GAClC,IAAIC,GAAQ,GAAMC,KAAKC,IAAIL,EAASvB,OAAS,GAAK2B,KAAKE,KAAQ,EAC3DC,KAAW,IAAMJ,EAAOF,EAAQD,EAASvB,QAC7C,OAAO,WAEL,IADA,IAAI+B,EAAK,KAIP,IAFA,IAAIb,EAAQO,EAAUK,GAClBE,EAAIF,EACDE,KAEL,IADAD,GAAMR,EAASL,EAAMc,GAAKN,IAAS,IAC5B1B,SAAWwB,EAAM,OAAOO,GAKEE,CAAaV,EAAUC,EAAMP,ICzCjDiB,EAAN,iCAAMA,gCAEV3D,IAAA,iBAAP,SAAgB4D,GAKZ,OAAOA,EACFC,WACAC,QAAO,eAAiB,QAG1B9D,IAAA,uBAAP,WAOI,OADe+C,EAAe,6BAA8B,GACrDgB,MAGJ/D,IAAA,mBAAP,SAAkBgE,GAEd,IADA,IAAIC,EAAW,GACNzC,EAAI,EAAGA,EAAIwC,EAAKvC,OAAQD,IAAK,CAClC,IAAI0C,EAAU,KAAuBC,OAAnBH,EAAKI,WAAW5C,GAAG,KACrCyC,EAASI,KAAKH,GAElB,OAAOD,EAASK,KAAK,UA5Bd,GCQMC,EAAN,iCAAMA,EAwBLC,aArBZpC,EAAAzB,KAAA,MAAM,WACNyB,EAAAzB,KAAA,WAAU,GACVyB,EAAAzB,KAAA,SAAS,IACTyB,EAAAzB,KAAA,gBAAgB,IAChByB,EAAAzB,KAAA,YAAW,GAaXyB,EAAAzB,KAAA,WAAW,IAKPA,KAAK6D,KAAOA,eAGhBxE,IAAA,uBAAA,WACI,QAAsBgB,IAAlBL,KAAK8D,eAAoDzD,IAA1BL,KAAK+D,iBACpC,OAAO/D,KAAKgE,WAEhB,IAAIC,EAAMjE,KAAK8D,SACf,YAAsBzD,IAAlBL,KAAK8D,UACLG,EAAM,IACE,+EAELT,OAD6DxD,KAAK+D,iBAAiB,qBACpEP,OAAfS,EAAI,aAAwFT,OAA7ExD,KAAK+D,iBAAiB,yDAAuEP,OAAhBxD,KAAKgE,WAAW,kBAGvG,YAA0BR,OAAfS,EAAI,aAA2GT,OAAhGxD,KAAK+D,iBAAiB,4EAA0FP,OAAhBxD,KAAKgE,WAAW,WAS1J3E,IAAA,gBAAA,SAAQ6E,GAEJ,OADAlE,KAAKkE,KAAOA,EACLlE,QASXX,IAAA,iBAAA,SAAS8E,GAEL,OADAnE,KAAKmE,MAAQA,EACNnE,QASXX,IAAA,eAAA,SAAO4E,GAEH,OADAjE,KAAKiE,IAAMA,EACJjE,QASXX,IAAA,iBAAA,SAASG,EAAO4E,GAGZ,OAFApE,KAAKqE,OAAOX,KAAKlE,GACjBQ,KAAKsE,cAAcZ,KAAKU,GACjBpE,QAIXX,IAAA,gBAAA,WACI,OAAOW,KAAKkE,QAGhB7E,IAAA,iBAAA,WACI,YAAmBgB,IAAfL,KAAKmE,MACEnE,KAAKuE,UACPC,MAAK,SACLC,KAAI,SAAAC,UAAQA,EAAKC,OAAO,GAAGC,cAAgBF,EAAKG,MAAM,MACtDlB,KAAK,KAEP3D,KAAKmE,SAGhB9E,IAAA,eAAA,WACI,OAAOW,KAAKiE,OAGhB5E,IAAA,gBAAA,WACI,OAAOW,KAAK6D,QAGhBxE,IAAA,uBAAA,WACI,OAAOW,KAAK8E,eAGhBzF,IAAA,eAAA,WACI,OAAOW,KAAK+E,OA2FhB1F,IAAA,oBAAA,SAAY2F,GAER,OADAhF,KAAKgF,SAAWA,EACThF,QAGXX,IAAA,kBAAA,SAAU4F,GAEN,OADAjF,KAAKiF,OAASA,EACPjF,QAYXX,IAAA,kBAAA,WACI,OAAOW,KAAKkF,WAGhB7F,IAAA,eAAA,SAAOG,GAEH,OADAQ,KAAK+E,IAAMvF,EACJQ,QAOXX,IAAA,mBAAA,SAAWG,GAEP,OADAQ,KAAKkF,QAAUtD,EAAQuD,UAAU3F,GAC1BQ,QAGXX,IAAA,uBAAA,SAAeG,GAEX,OADAQ,KAAK8E,YAActF,EACZQ,QAGXX,IAAA,wBAAA,WACI,OAAOW,KAAKsE,cAAc,MAG9BjF,IAAA,iBAAA,WACI,OAAOW,KAAKqE,OAAO,MAGvBhF,IAAA,wBAAA,WACI,OAAOW,KAAKoF,gBAGhB/F,IAAA,wBAAA,SAAgBG,GACZ,GAAK6F,MAAMC,QAAQ9F,GAKnB,OADAQ,KAAKoF,aAAe5F,EACbQ,KAJH8B,QAAQrC,MAAO,2CAAgD+D,OAANhE,EAAM,yBAYvEH,IAAA,wBAAA,SAAgBkG,GAEZ,OADAvF,KAAKuF,MAAQA,EACNvF,QAGXX,IAAA,wBAAA,WACI,YAAmBgB,IAAfL,KAAKuF,YAAuClF,IAAhBL,KAAKiF,OAC1B,GAAKjF,KAAKiF,OAAOO,cAAc1E,OAEnCd,KAAKuF,SAGhBlG,IAAA,kBAAA,WACI,OAAOW,KAAKqE,UAGhBhF,IAAA,yBAAA,WACI,OAAOW,KAAKsE,iBAWhBjF,IAAA,oBAAA,WACI,OAAO8B,OAAOkD,OAAOrE,KAAKyF,aAG9BpG,IAAA,iBAAA,SAASqG,GAEL,OADA1F,KAAKyF,SAASC,EAAMnB,WAAamB,EAC1B1F,QAGXX,IAAA,oBAAA,SAAYsG,EAAOC,GACf,IACIC,EADA1B,EAAQnE,KAAK8F,iBAUjB,OAPID,EADA7F,KAAK+F,YAAcnC,EAAcoC,QACpB,mBAEA,sBAES,IAAhBJ,IACNC,EAAa,GAAiBrC,OAAfoC,EAAY,KAAcpC,OAAXqC,IAE1B,eAA+BrC,OAAjBmC,EAAM,aAA0BnC,OAAfqC,EAAW,MAAUrC,OAANW,EAAM,eAGhE9E,IAAA,sBAAA,SAAcwD,OAKNoD,EACAC,EANU1G,EAAAU,UAAAY,OAAA,QAAA,IAAAZ,UAAA,GAAYA,UAAA,GAAJ,KAAMkE,EAAAlE,UAAAY,OAAA,QAAA,IAAAZ,UAAA,GAAmBA,UAAA,GAAJ,KAEvCiG,EAAenG,KAAK+F,UACpBb,EAAUlF,KAAKoG,YACfhB,EAAepF,KAAKqG,kBAOxB,QAAqBhG,IAAjB+E,EAA4B,CAM5Bc,EAAc,SACd,IAAII,EAAmB,QACFjG,IAAjB+D,IACAkC,EAAoB,KAAiB9C,OAAbY,EAAa,MAGzC,IAAIY,EAAW,GACXhF,KAAKuG,gBACLvB,EAAW,YAGfkB,EAAe,2CAAoE1C,OAA1BxD,KAAKgE,WAAW,YAAiCR,OAAvBxD,KAAKuE,UAAU,UAAef,OAAPX,EAAG,MAAaW,OAATwB,EAAS,KAC1H,IAAIwB,EAAW,GACD,OAAVhH,IACAgH,EAAW,YAEfN,GAAgB,oBAAsC1C,OAAnBgD,EAAS,YAA2BhD,OAAjB8C,EAAiB,iBAClEG,GAAe,EAAfC,GAAe,EAAfC,OAAetG,MAApB,IAAA,IAAKuG,EAAAC,EAAmBzB,EAAY0B,OAAAC,cAA/BN,GAAAG,EAAAC,EAAeG,QAAAtH,MAAf+G,GAAe,EAAkB,CAAjC,IAAIQ,EAAJL,EAAepH,MAEZgH,EADAS,IAAgBzH,EACL,WAEA,GAEf0G,GAAgB,kBAAiC1C,OAAhByD,EAAY,MAAgBzD,OAAZgD,EAAS,KAAehD,OAAZyD,EAAY,uBANxEP,GAAe,EAAfC,EAAevG,cAAfqG,GAAe,MAAfI,EAAeK,QAAfL,EAAeK,oBAAfR,QAAAC,GASL,OADAT,GAAgB,YAUhB,IAAIiB,EAAoB,WACpBjC,IACAiC,EAAoB,WAA0B3D,OAAhBxD,KAAKgE,aAGjC,MAAAI,IAGE+C,EAFwB,iBAAjB/C,GAA6BA,aAAwBgD,OAEzCpE,EAAKqE,WAAWjD,GAEhBA,GAG3B,IAGIkD,EAHAC,EAAmB,gBAAgC/D,OAAjB2D,EAAiB,KAEnDK,EAAY,GAEZ3D,EAAO7D,KAAKuE,UAMZ0B,OADY5F,IAAZ6E,IAAqC,IAAZA,EACd,WAEA,GAOf,IAAIuC,EAAU,QACVC,EAAY,eACZC,EAAU,GAIVC,EAAO,EAKX,OAAQzB,GACJ,KAAKvC,EAAciE,UACfP,EAAY,iBACE,OAAV9H,GACAA,EAAQA,EAAMqF,MAAM,EAAG,IACvB2C,EAAa,UAAehE,OAANhE,EAAM,MAEvB0F,GAA4B,OAAjBd,IACZA,EAAeA,EAAaS,MAAM,EAAG,IACrC2C,EAAa,UAAsBhE,OAAbY,EAAa,MAG3CmD,EAAkB,GAElB,MACJ,KAAK3D,EAAckE,UACfL,EAAU,WACI,OAAVjI,IACAA,EAAQwD,EAAKqE,WAAW7H,GACxBgI,EAAa,GAAQhE,OAANhE,IAEnB,MACJ,KAAKoE,EAAcmE,KACfN,EAAU,WACI,OAAVjI,IACoB,iBAAVA,IACNA,EAAQuI,KAAKC,UAAUxI,EAAO,KAAM,IAExCA,EAAQwD,EAAKqE,WAAW7H,GACxBgI,EAAa,GAAQhE,OAANhE,IAEnBoI,EAAO,GACP,MACJ,KAAKhE,EAAcoC,QACfsB,EAAY,WACZI,EAAY,mBACS,OAAjBtD,GACAoD,EAAa,UAAsBhE,OAAbY,EAAa,KAC/B5E,IAAU4E,IACVuD,EAAU,YAGA,OAAVnI,IACAmI,EAAU,WAIlBJ,EAAkB,GAClB,MACJ,QACID,EAAY,OACN,MAAA9H,IACFgI,EAAa,UAAehE,OAANhE,EAAM,MAIxC,GACS,aADDiI,EAEAvB,EAAe,iBAA6B1C,OAAbX,EAAG,YAA0BW,OAAhBK,EAAK,aAA+BL,OAApBkE,EAAU,YAAmBlE,OAAToE,EAAK,MAAuBpE,OAAnB+D,EAAgB,KAAe/D,OAAZyC,EAAS,KAAazC,OAAVgE,EAAU,oBAIlItB,EAAe,gBAAmC1C,OAApB8D,EAAU,YAA0B9D,OAAhBK,EAAK,aAA6BL,OAAlBkE,EAAU,UAAelE,OAAPX,EAAG,MAAuBW,OAAnB+D,EAAgB,KAAgB/D,OAAbgE,EAAU,KAAchE,OAAXmE,EAAQ,KAAYnE,OAATyC,EAAS,MAIvJ,OAAOC,KAUf7G,IAAA,2BAAA,WACI,MAAO,CACHwE,KAAQ7D,KAAKuE,UACbJ,MAASnE,KAAKgE,WACdE,KAAQlE,KAAK+F,UACbjB,YAAe9E,KAAK+D,iBACpBgB,IAAO/E,KAAKiI,SACZ/C,QAAWlF,KAAKoG,YAChB5G,MAASQ,KAAKkI,WACdC,QAAWnI,KAAKoI,kBAChBnE,IAAOjE,KAAK8D,aAIpBzE,IAAA,oBAAA,WACI,OAAOW,KAAKgF,cAnYT3F,IAAA,uBAAP,SAAsBgJ,OAAMpD,EAAA/E,UAAAY,OAAA,QAAA,IAAAZ,UAAA,GAAaA,UAAA,GAAJ,KAC5BmI,EAAKC,eAAe,SACrBzG,EAAO0G,YAAY9I,MAAM,gEAE7B,IAMID,EACAgJ,EAPA3E,EAAOwE,EAAW,KAClBI,EAAgB7E,EAAc8E,eAAe7E,GAOjD,IAAK,IAAI8E,KANK,MAAV1D,GACAwD,EAAcG,UAAU3D,GAKPoD,EACjB,GAAKA,EAAKC,eAAeK,GAAzB,CAGA,IAAIE,EAAYR,EAAKM,GACrB,OAAQA,GACJ,IAAK,OACD,SACJ,IAAK,QACDF,EAAcK,SAASD,GACvB,SACJ,IAAK,MACDJ,EAAcM,OAAOF,GACrB,SACJ,IAAK,OACDJ,EAAcO,QAAQH,GACtB,SACJ,IAAK,UACDJ,EAAcQ,WAAWJ,GACzB,SACJ,IAAK,cACDJ,EAAcS,eAAeL,GAC7B,SACJ,IAAK,MACDJ,EAAcU,OAAON,GACrB,SACJ,IAAK,QACDrJ,EAAQqJ,EACR,SACJ,IAAK,UACDL,EAAeK,EACf,SACJ,IAAK,gBACDJ,EAAcW,gBAAgBP,GAC9B,SACJ,IAAK,WACDJ,EAAcY,YAAYR,GAC1B,SACJ,IAAK,QACDJ,EAAca,gBAAgBT,GAC9B,SACJ,IAAK,WACD,IAAIU,EAAeV,EACnB,IAAK,IAAIW,KAAiBD,EACtB,GAAKA,EAAajB,eAAekB,GAAjC,CAGA,IAAI9D,EAAQ9B,EAAc6F,eAAeF,EAAaC,GAAgBf,GACtEA,EAAciB,SAAShE,GAE3B,SACJ,QACI7D,EAAO0G,YAAY9I,MAAO,iBAA0C+D,OAA1BmF,EAAS,mBAAsBnF,OAALK,EAAK,kBAerF,OAZKwB,MAAMC,QAAQ9F,GAGfA,EAAMmK,SAAQ,SAACC,EAASC,GACpB,IAAIC,EAAsBtB,EAAaqB,QACXxJ,IAAxByJ,EACArB,EAAcsB,SAASH,EAASE,GAEhCrB,EAAcsB,SAASH,MAP/BnB,EAAcsB,SAASvK,EAAOgJ,GAW3BC,KAkBJpJ,IAAA,uBAAP,SAAsBwE,GAClB,OAAO,IAAID,EAAcC,SA/NlB,GAeXpC,EAfiBmC,EAeV,eAAe,WACtBnC,EAhBiBmC,EAgBV,YAAY,YACnBnC,EAjBiBmC,EAiBV,YAAY,aACnBnC,EAlBiBmC,EAkBV,UAAU,WAGjBnC,EArBiBmC,EAqBV,OAAO,QC5BH,IAAMoG,EAAN,iCAAMA,EAGLnG,aACR7D,KAAK6D,KAAOA,eAGhBxE,IAAA,gBAAA,WACI,OAAOW,KAAK6D,QAGhBxE,IAAA,iBAAA,SAASkG,GACLvF,KAAKuF,MAAQA,KAMjBlG,IAAA,iBAAA,WACI,OAAOW,KAAKuF,SAiChBlG,IAAA,iBAAA,SAAS8E,GAEL,OADAnE,KAAKmE,MAAQA,EACNnE,QAGXX,IAAA,iBAAA,WACI,YAAgBgB,IAAbL,KAAKmE,MACGnE,KAAK6D,KAET7D,KAAKmE,SAGhB9E,IAAA,sBAAA,SAAckG,GAEV,OADAvF,KAAKiK,WAAa1E,EACXvF,QAGXX,IAAA,sBAAA,SAAckG,GAEV,OADAvF,KAAKkK,WAAa3E,EACXvF,QAGXX,IAAA,sBAAA,WACI,YAAqBgB,IAAlBL,KAAKkK,WACG,EAEJlK,KAAKkK,cAGhB7K,IAAA,sBAAA,WACI,YAAqBgB,IAAlBL,KAAKiK,WACG,GAAKjK,KAAKmK,gBAEdnK,KAAKiK,gBA/DT5K,IAAA,uBAAP,SAAsBgJ,GACbA,EAAKC,eAAe,SACrBzG,EAAO0G,YAAY9I,MAAM,uFAE7B,IAAIoE,EAAOwE,EAAW,KAClBtD,EAAM,IAAIiF,EAAYnG,GAC1B,IAAK,IAAI8E,KAAYN,EACjB,GAAKA,EAAKC,eAAeK,GAAzB,CAGA,IAAIE,EAAYR,EAAKM,GACrB,OAAQA,GACJ,IAAK,OACD,SACJ,IAAK,QACD5D,EAAI+D,SAASD,GACb,SACJ,IAAK,cACD9D,EAAIqF,cAAcvB,GAClB,SACJ,IAAK,cACD9D,EAAIsF,cAAcxB,GAClB,SACJ,QACIhH,EAAO0G,YAAY9I,MAAO,iBAAyC+D,OAAzBmF,EAAS,kBAAqBnF,OAALK,EAAK,kBAGpF,OAAOkB,KAuCJ1F,IAAA,uBAAP,SAAsBwE,GAClB,OAAO,IAAImG,EAAYnG,SAzFhB,GCQMyG,ECXlB,oBDWkBA,EAOLzH,GAER,aAPJpB,EAAAzB,KAAA,aAAa,IACbyB,EAAAzB,KAAA,OAAO,IACPyB,EAAAzB,KAAA,QAAQ,GAKM,MAAN6C,EACA,MAAM,IAAI0H,MAAM,yCAEpBvK,KAAK6D,KAAOhB,eAMhBxD,IAAA,iBAAA,WACI,OAAOW,KAAKmE,SAGhB9E,IAAA,eAAA,WACI,OAAOW,KAAKiE,OAGhB5E,IAAA,cAAA,WACI,OAAOW,KAAK6D,QAQhBxE,IAAA,wBAAA,WACI,OAAOW,KAAKuF,SAGhBlG,IAAA,sBAAA,WACI,OAAO,GAAKW,KAAKwK,qBAkErBnL,IAAA,qBAAA,SAAaoL,GAMT,OALAzK,KAAK0K,WAAWD,EAAUlG,WAAakG,EAElCzK,KAAK2K,KAAKrC,eAAemC,EAAUxC,YACpCjI,KAAK2K,KAAKF,EAAUxC,UAAY+B,EAAYtB,eAAe+B,EAAUxC,WAElEjI,QAOXX,IAAA,kBAAA,WACI,OAAO8B,OAAOkD,OAAOrE,KAAK0K,eAO9BrL,IAAA,gBAAA,WACI,OAAO8B,OAAOkD,OAAOrE,KAAK2K,SAG9BtL,IAAA,eAAA,SAAOuL,GACH5K,KAAK2K,KAAKC,EAAYrG,WAAaqG,KAGvCvL,IAAA,gBAAA,WACI,OAAOW,KAAK6K,WAGhBxL,IAAA,wBAAA,SAAgByL,GACZ,OAAO9K,KAAK+K,YAAYC,QAAO,SAAAC,UAAKA,EAAEhD,WAAa6C,QAGvDzL,IAAA,sBAAA,WAEI,IAOI6L,EACAC,EARAC,EAASpL,KAAK6K,QAMdQ,EAAc,iCAOlBrL,KAAKsL,aAAe,SAAUvG,GAC1B,IAAIwG,EAASvI,EAAKwI,SAASzG,EAAIR,WAC/B,MAAQ,GAAqBf,OAAnB4H,EAAO,cAAmB5H,OAAP+H,IAMjCvL,KAAKyL,YAAc,SAAoC1G,GACnD,IAAIwG,EAASvI,EAAKwI,SAASzG,EAAIR,WAC/B,MAAQ,GAAoBf,OAAlB4H,EAAO,aAAkB5H,OAAP+H,IAEhCvL,KAAK0L,aAAe,SAAU7I,GAC1B,IAAI0I,EAASvI,EAAKwI,SAAS3I,GAC3B,MAAQ,GAAoBW,OAAlB4H,EAAO,aAAkB5H,OAAP+H,IAEhC,IAAII,EAAW3L,KAAK4L,UAChBC,EAAaF,EAAS,GACrBlF,GAAO,EAAPC,GAAO,EAAPC,OAAOtG,MAAZ,IAAA,IAAKuG,EAAAC,EAAW8E,EAAQ7E,OAAAC,cAAnBN,GAAAG,EAAAC,EAAOG,QAAAtH,MAAP+G,GAAO,EAAc,CAArB,IAAIqF,EAAJlF,EAAOpH,MACJ2B,OAAO4K,GAAGD,EAAKD,IACfX,EAAc,SACdC,EAAe,SAEfD,EAAc,GACdC,EAAe,SAEnB,IAAIa,EAAWF,EAAI9H,WACfiI,EAAWjM,KAAKsL,aAAaQ,GAC7BI,EAAWlM,KAAKyL,YAAYK,GAChCT,GAAgB,yDAIlB7H,OADY0H,EAAY,eAIX1H,OAHb0I,EAAS,+DAII1I,OADA2H,EAAa,4BAGX3H,OAFFyI,EAAS,0DAEOzI,OAAdyI,EAAS,OAAczI,OAATwI,EAAS,oCArBnCtF,GAAO,EAAPC,EAAOvG,cAAPqG,GAAO,MAAPI,EAAOK,QAAPL,EAAOK,oBAAPR,QAAAC,GAyBL0E,GAAe,QAMf,IACIc,EACAC,EAFAC,EAAc,4BAGdC,EAAmB,EAClBC,GAAO,EAAPC,GAAO,EAAPC,OAAOpM,MAAZ,IAAA,IAAKqM,EAAAC,EAAWhB,EAAQ7E,OAAAC,cAAnBwF,GAAAG,EAAAC,EAAO3F,QAAAtH,MAAP6M,GAAO,EAAc,CAArB,IAAIK,EAAJF,EAAOlN,MACJqN,EAAY7M,KAAKsL,aAAasB,GAC9BE,EAAW9M,KAAKyL,YAAYmB,GAMhCP,GAAgB,wBAA2C7I,OAJvD0H,EADA0B,IAAQf,EACM,SAEA,GAEiC,UAAuDrI,OAA/CqJ,EAAU,uCAA8CrJ,OAATsJ,EAAS,MACnHV,EAAcQ,EAAIzC,gBAClBgC,EAAeS,EAAIG,gBAEnB,IAAIC,EAAehN,KAAKiN,gBAAgBL,EAAIrI,WAM5C,GAA4B,IAAxByI,EAAalM,OAAc,CAC3B,IAAI2J,EAAYuC,EAAa,GAC7B,GAAuC,IAAnCvC,EAAUjF,cAAc1E,OAAc,CACtCwL,IACA,IAAIY,EAAYlN,KAAK0L,aAAaY,GAC9Ba,EAAY1C,EAAU2C,YAAYF,GAClC1N,EAAQiL,EAAUvC,WAClB9D,EAAeqG,EAAUrC,kBACzBiF,EAAc5C,EAAU6C,cAAcJ,EAAW1N,EAAO4E,GAC5DiI,GAAgB,8DAEW7I,OADY2J,EAAU,+DACV3J,OAAZ6J,EAAY,kBAEvChB,GAAe,SACf,cAKHkB,GAAa,EAAbC,GAAa,EAAbC,OAAapN,MAAlB,IAAA,IAAKqN,EAAAC,EAAiBX,EAAYlG,OAAAC,cAA7BwG,GAAAG,EAAAC,EAAa3G,QAAAtH,MAAb6N,GAAa,EAAkB,CAA/B,IAAIK,EAAJF,EAAalO,MAGd,GACS,IAFMoO,EAAUpI,cACR1E,OACb,CACIwL,IACA,IAAIuB,EAAY7N,KAAK0L,aAAaY,GAC9BwB,EAAYF,EAAUR,YAAYS,EAAY,UAAqBrK,OAAZ4I,IACvD2B,EAAQH,EAAU1F,WAClB8F,EAAeJ,EAAUxF,kBACzB6F,EAAcL,EAAUN,cAAcO,EAAWE,EAAOC,GAC5D3B,GAAgB,iCAGf7I,OADnBsK,EAAU,6BAC0BtK,OAAjB2I,EAAa,MAAgB3I,OAAZyK,EAAY,wBAIlC,CACI,IAAIhK,EAAM2J,EAAU9H,iBACpBuG,GAAgB,qCAAwC7I,OAAJS,EAAI,UACxDoI,GAAgB,yBAChB,IAAIzE,EAAO,EACNsG,GAAW,EAAXC,GAAW,EAAXC,OAAW/N,MAAhB,IAAA,IAAKgO,EAAAC,EAAeV,EAAUpI,cAAasB,OAAAC,cAAtCmH,GAAAG,EAAAC,EAAWtH,QAAAtH,MAAXwO,GAAW,EAA6B,CAAxC,IAAMxI,EAAN2I,EAAW7O,MACR+F,GAAQG,EAAM8E,kBAClB6B,GAAgB,sBAA2B7I,OAAN+B,GAAM,kBAC3C8G,GAAe3G,EAAMI,iBACrBuG,GAAgB,SAChB,IAAIkC,GAAe7I,EAAM8I,YAAY1N,OACjCyN,GAAe3G,IACfA,EAAO2G,cAPVJ,GAAW,EAAXC,EAAWhO,cAAX8N,GAAW,MAAXI,EAAWpH,QAAXoH,EAAWpH,oBAAXiH,QAAAC,GAUL/B,GAAgB,SAEhB,IAAK,IAAIxL,GAAI,EAAGA,GAAI+G,EAAM/G,KAAK,CAC3BwL,GAAgB,6BACXoC,IAAW,EAAXC,IAAW,EAAXC,QAAWtO,MAAhB,IAAA,IAAKuO,GAAAC,GAAejB,EAAUpI,cAAasB,OAAAC,cAAtC0H,IAAAG,GAAAC,GAAW7H,QAAAtH,MAAX+O,IAAW,EAA6B,CAAxC,IAAMK,GAANF,GAAWpP,MACRuP,GAAQD,GAAMN,YAAY3N,IAC1BmO,GAAeF,GAAMG,mBAAmBpO,IAC5CyL,IACA,IAAI4C,GAAYlP,KAAK0L,aAAaY,GAC9B6C,GAAQL,GAAMtE,kBAClB6B,GAAgB,sBAA2B7I,OAAN2L,GAAM,MAC3C9C,GAAeyC,GAAMxB,cAAc4B,GAAWH,GAAOC,IACrD3C,GAAgB,mBARfqC,IAAW,EAAXC,GAAWvO,cAAXqO,IAAW,MAAXI,GAAW3H,QAAX2H,GAAW3H,oBAAXwH,SAAAC,IAULtC,GAAgB,qBA/C3BmB,GAAa,EAAbC,EAAarN,cAAbmN,GAAa,MAAbI,EAAazG,QAAbyG,EAAazG,oBAAbsG,QAAAC,GAuDLpB,GAAe,mBA5FdG,GAAO,EAAPC,EAAOrM,cAAPmM,GAAO,MAAPI,EAAOzF,QAAPyF,EAAOzF,oBAAPsF,QAAAC,GA8FLJ,GAAe,SAEf,IAAI+C,GAAOC,SAASC,cAAc,QAGlC,OAFAF,GAAKG,aAAa,KAAMnE,GACxBgE,GAAKI,UAAa,GAAiBhM,OAAf6H,EAAY,KAAe7H,OAAZ6I,GAC5B+C,MAIX/P,IAAA,wBAAA,SAAgBkG,GAEZ,OADAvF,KAAKuF,MAAQA,EACNvF,QAGXX,IAAA,iBAAA,SAAS8E,GACLnE,KAAKmE,MAAQA,KAGjB9E,IAAA,eAAA,SAAO4E,GACHjE,KAAKiE,IAAMA,OAlRR5E,IAAA,uBAAP,SAAsB+L,EAAQ/C,GAC1B,IAAI+G,EAAO9E,EAASmF,aAAarE,GACjC,IAAK,IAAIsE,KAAQrH,EACb,GAAKA,EAAKC,eAAeoH,GAAzB,CAGA,IAAIlQ,EAAQ6I,EAAKqH,GACjB,OAAQA,GACJ,IAAK,SACD,IAAIC,EAASnQ,EACb,IAAK,IAAIoQ,KAASD,EACVA,EAAOrH,eAAesH,IACtBR,EAAKS,aAAajM,EAAc6F,eAAekG,EAAOC,KAG9D,SACJ,IAAK,OACD,IAAIjF,EAAOnL,EACX,IAAK,IAAIuF,KAAO4F,EACRA,EAAKrC,eAAevD,IACpBqK,EAAKU,OAAO9F,EAAYP,eAAekB,EAAK5F,KAGpD,MACJ,IAAK,QACDqK,EAAK9F,gBAAgB9J,GACrB,MACJ,IAAK,QACD4P,EAAKtG,SAAStJ,GACd,MACJ,IAAK,MACD4P,EAAKjG,OAAO3J,GACZ,MACJ,QACIqC,EAAO0G,YAAY9I,MAAO,sBAA0B+D,OAALkM,EAAK,kBAKhE,OAAON,KAQJ/P,IAAA,qBAAP,SAAoBwD,GAChB,OAAO,IAAIyH,EAASzH,SC7GzB,QCAHkN,EAAeC,UCYf,IAAIC,EAAc,GAEGC,EAAN,iCAAMA,EAeLC,aAZZ1O,EAAAzB,KAAA,gBAAgB,IAChByB,EAAAzB,KAAA,SAAS,IACTyB,EAAAzB,KAAA,WAAU,GACVyB,EAAAzB,KAAA,aAAa,IACbyB,EAAAzB,KAAA,eAAe,IACfyB,EAAAzB,KAAA,cAAa,GACbyB,EAAAzB,KAAA,gBAAgB,IAQZA,KAAKmQ,QAAUA,EAMf,IAAIC,EAAef,SAASgB,eAAeF,GACtB,OAAjBC,GACAvO,EAAO0G,YAAY9I,MAAO,WAAkB+D,OAAR2M,EAAQ,4FAC5CnQ,KAAKsQ,qBAAuBF,EAC5BpQ,KAAKuQ,UAELvQ,KAAKsQ,qBAAuBjB,SAASC,cAAc,OACnDtP,KAAKsQ,qBAAqBf,aAAa,KAAMvP,KAAKmQ,SAClDnQ,KAAKsQ,qBAAqBE,UAAUC,IAAI,QAAS,QAGjDzQ,KAAKsQ,qBAAqBf,aAAa,cAAe,sBAK9DlQ,IAAA,kBAAA,SAAUqR,GAEN,OADA1Q,KAAK0Q,WAAaA,EACX1Q,QAOXX,IAAA,gBAAA,SAAQsR,GAGJ,OADA3Q,KAAK4Q,OAAOlN,KAAKiN,GACV3Q,QAIXX,IAAA,qBAAA,SAAasJ,EAAUnJ,GAGnB,OADAQ,KAAK6Q,WAAWlI,GAAYnJ,EACrBQ,QAIXX,IAAA,iBAAA,WAEI,OADAW,KAAK8Q,YAAa,EACX9Q,QAGXX,IAAA,uBAAA,SAAesJ,EAAUnJ,GAGrB,OADAQ,KAAK+Q,aAAapI,GAAYnJ,EACvBQ,QAIXX,IAAA,uBAAA,SAAeG,GAGX,OADAQ,KAAKgR,cAActN,KAAKlE,GACjBQ,QAOXX,IAAA,qBAAA,WAEI,OADAW,KAAKiR,gBAAiB,EACfjR,QAQXX,IAAA,wBAAA,SAAgB6R,GAGZ,OADAlR,KAAKmR,cAAczN,KAAKwN,GACjBlR,QAOXX,IAAA,6BAAA,eAAqB8E,EAAAjE,UAAAY,OAAA,QAAA,IAAAZ,UAAA,GAAeA,UAAA,GAAP,QACzBF,KAAKoR,YAAc/B,SAASC,cAAc,UAC1CtP,KAAKoR,YAAYZ,UAAUC,IAAI,MAAO,iBACtCzQ,KAAKoR,YAAY5B,UAAYrL,EAC7B,IAAIkN,EAAQrR,KAKZ,OAJAA,KAAKoR,YAAYE,iBAAiB,SAAS,WACvCD,EAAME,eAAeC,UAEzBxR,KAAKyR,gBAAgBzR,KAAKoR,aACnBpR,QAOXX,IAAA,iBAAA,WAEI,OADAW,KAAK0R,YAAa,EACX1R,QAGXX,IAAA,aAAA,WAEI,GAAiC,MAA7BW,KAAKsQ,qBACL,MAAM,IAAI/F,MAAM,4DAYpB,GATKvK,KAAK2R,SACN3R,KAAK4R,SAQmB,IAAxB5R,KAAKiR,eAAyB,CAC9B,IAAIY,EAAa7R,KACjBA,KAAK8R,aAAaR,iBAAiB,mBAAmB,WAIlDO,EAAWtB,WAOnB,QAAsBlQ,IAAlBL,KAAK+R,eACoB1R,IAArBL,KAAKoR,YAA2B,CAChC,IAAIC,EAAQrR,KACZA,KAAKoR,YAAYE,iBAAiB,SAAS,WAKvCD,EAAMW,cACNX,EAAMU,cAKlB/R,KAAKuR,eAAeU,UAKxB5S,IAAA,oBAAA,gBACgCgB,IAAxBL,KAAKuR,gBACLvR,KAAKuR,eAAeC,UAI5BnS,IAAA,mBAAA,WACI,OAAOW,KAAKmQ,WAOhB9Q,IAAA,2BAAA,SAAmB0S,GAEf,OADA/R,KAAK+R,SAAWA,EACT/R,QAsDXX,IAAA,mBAAA,WACI,OAAOW,KAAKsQ,wBAShBjR,IAAA,iBAAA,WACI,OAAOW,KAAK2R,WAGhBtS,IAAA,oBAAA,SAAY6S,GAER,OADAlS,KAAK0R,WAAaQ,EACXlS,QAEXX,IAAA,qBAAA,WAII,OAHIW,KAAKmS,YACLnS,KAAKuQ,QAEFvQ,QAGXX,IAAA,cAAA,WAGIW,KAAKsQ,qBAAqB8B,iBAAiB,0BAA0BzI,SAAQ,SAAA0I,GACzE,IAAItN,EAAMgL,EAAAuC,IAAIC,YAAYF,GACd,OAARtN,GAEAA,EAAIyN,kBASgBnS,IAAxBL,KAAKuR,gBACLvR,KAAKgS,cAEThS,KAAKsQ,qBAAqBd,UAAY,GAKtCxP,KAAK2R,SAAU,EACf3R,KAAK4Q,OAAS,GACd5Q,KAAKmR,cAAgB,GACrBnR,KAAK0Q,gBAAarQ,KAMtBhB,IAAA,cAAA,WAEIW,KAAK2R,SAAU,EAEftC,SAASoD,KAAKC,YAAY1S,KAAKsQ,sBAE/B,IAAMqC,EAAqBtD,SAASC,cAAc,OAalD,IAAK,IAAIsD,KAZTD,EAAmBnC,UAAUC,IACzB,eACA,0BACA,YACAzQ,KAAK0R,WACLiB,EAAmBnC,UAAUC,IAAI,0BAIjCkC,EAAmBE,MAAMC,YAAY,SAAU,aAC/CH,EAAmBE,MAAMC,YAAY,SAAU,sBAEvB9S,KAAK+Q,aACxB/Q,KAAK+Q,aAAazI,eAAesK,IAGtCD,EAAmBE,MAAMC,YAAYF,EAAiB5S,KAAK+Q,aAAa6B,IAE5E,IAAK,IAAIG,KAAe/S,KAAKgR,cACzB2B,EAAmBnC,UAAUC,IAAIsC,GASrC,IAAK,IAAIC,KAPThT,KAAKsQ,qBAAqBoC,YAAYC,GACtC3S,KAAKiT,aAAe5D,SAASC,cAAc,OAC3CtP,KAAKiT,aAAazC,UAAUC,IAAI,iBAChCkC,EAAmBD,YAAY1S,KAAKiT,cAEpCjT,KAAKkT,UAAY7D,SAASC,cAAc,OACxCtP,KAAKkT,UAAU1C,UAAUC,IAAI,cACHzQ,KAAK6Q,WACtB7Q,KAAK6Q,WAAWvI,eAAe0K,IAGpChT,KAAKkT,UAAUL,MAAMC,YAAYE,EAAehT,KAAK6Q,WAAWmC,IAWpE,GATAhT,KAAKiT,aAAaP,YAAY1S,KAAKkT,WAQnClT,KAAKuR,eAAiBxB,EAAAoD,MAAMZ,YAAYvS,KAAKsQ,sBACjB,OAAxBtQ,KAAKuR,eAAyB,CAU9BvR,KAAKuR,eAAiB,IAAIxB,EAAAoD,MAAMnT,KAAKsQ,qBALvB,CACV8C,UAAY,EACZC,UAAY,EACZC,OAAS,IAQjB,QAAwBjT,IAApBL,KAAK0Q,WAA0B,CAC/B,IAAI6C,EAAc,6DAEgB/P,OAAhBxD,KAAK0Q,WAAW,qHAIlC1Q,KAAKiT,aAAaO,mBAAmB,aAAcD,OCnY/B7R,EDyYnB+E,GAAQ,EAARC,GAAQ,EAARC,OAAQtG,MAAb,IAAA,IAAKuG,EAAAC,EAAY7G,KAAK4Q,OAAM9J,OAAAC,cAAvBN,GAAAG,EAAAC,EAAQG,QAAAtH,MAAR+G,GAAQ,EAAiB,CAAzB,IAAIgM,EAAJ7L,EAAQpH,MAET,GACS,iBAFa,IAAJiT,EAAI,aC1YF/Q,ED0YF+Q,ICxYZ/Q,EAAI+R,cAAgB3M,OAAS,gBAAkBpF,GD2Y7C1B,KAAKkT,UAAUM,mBAAmB,YAAaf,QAI/CzS,KAAKkT,UAAUR,YAAYD,aARlC/L,GAAQ,EAARC,EAAQvG,cAARqG,GAAQ,MAARI,EAAQK,QAARL,EAAQK,oBAARR,QAAAC,GAgBL,GAAG3G,KAAK8Q,WAAY,CAChB,IAAI4C,EAAcrE,SAASC,cAAc,OACzCoE,EAAYlD,UAAUC,IAAI,gBAC1BzQ,KAAKiT,aAAaP,YAAYgB,GAEI,IAA9B1T,KAAKmR,cAAcrQ,QACnBd,KAAK2T,2BAGJpH,GAAgB,EAAhBC,GAAgB,EAAhBC,OAAgBpM,MAArB,IAAA,IAAKqM,EAAAC,EAAoB3M,KAAKmR,cAAarK,OAAAC,cAAtCwF,GAAAG,EAAAC,EAAgB3F,QAAAtH,MAAhB6M,GAAgB,EAAA,CAAhB,IAAIqH,EAAJlH,EAAgBlN,MACW,iBAAjBoU,GAA6BA,aAAwBxM,OAC5DsM,EAAYF,mBAAmB,YAAaI,GAE5CF,EAAYhB,YAAYkB,aAJ3BpH,GAAgB,EAAhBC,EAAgBrM,cAAhBmM,GAAgB,MAAhBI,EAAgBzF,QAAhByF,EAAgBzF,oBAAhBsF,QAAAC,IAYT,IAAIoH,EAAmB,IAAgBrQ,OAAbxD,KAAKmQ,QAAQ,+BACvCd,SAAS+C,iBAAiByB,GAAiBlK,SAAQ,SAAAmK,UAAM,IAAI/D,EAAAgE,QAAQD,WA7NlEzU,IAAA,qBAAP,SAAoB8Q,GAChB,IAAIkB,EAAQ,IAAInB,EAAWC,GAE3B,OADAF,EAAYE,GAAWkB,EAChBA,KAuCJhS,IAAA,wBAAP,WACI,OAAOW,KAAKyP,aAAazM,EAAKgR,qBAsL3B3U,IAAA,oBAAP,SAAmB8Q,GACf,IAAIkB,EAAQnB,EAAW+D,SAAS9D,GAIhC,OAHc,OAAVkB,IACAA,EAAQnB,EAAWT,aAAaU,IAE7BkB,QA1aA,GA8MX5P,EA9MiByO,EA8MV,YAAW,SAAUC,GAExB,OAAIA,KAAWF,EACJA,EAAYE,GAEZ,QAOf1O,EA1NiByO,EA0NV,cAAa,WAChBpO,QAAQY,IAAIvB,OAAO+S,KAAKjE,GAAatM,KAAK,UAM9ClC,EAjOiByO,EAiOV,kBAAiB,WACpB,IAAK,IAAIR,KAAQO,EACb,GAAIA,EAAY3H,eAAeoH,GAAO,CACtBO,EAAYP,GAClBa,qBE5OlB4D,EAAW,SAAUC,GAGvB,IAEI/T,EAFAgU,EAAKlT,OAAOK,UACZ8S,EAASD,EAAG/L,eAEZiM,EAA4B,mBAAXzN,OAAwBA,OAAS,GAClD0N,EAAiBD,EAAQxN,UAAY,aACrC0N,EAAsBF,EAAQG,eAAiB,kBAC/CC,EAAoBJ,EAAQK,aAAe,gBAE/C,SAASC,EAAOnT,EAAKrC,EAAKG,GAOxB,OANA2B,OAAOC,eAAeM,EAAKrC,EAAK,CAC9BG,MAAOA,EACPwB,YAAY,EACZC,cAAc,EACdC,UAAU,IAELQ,EAAIrC,GAEb,IAEEwV,EAAO,GAAI,IACX,MAAOC,GACPD,EAAS,SAASnT,EAAKrC,EAAKG,GAC1B,OAAOkC,EAAIrC,GAAOG,GAItB,SAASuV,EAAKC,EAASC,EAASlV,EAAMmV,GAEpC,IAAIC,EAAiBF,GAAWA,EAAQzT,qBAAqB4T,EAAYH,EAAUG,EAC/EC,EAAYlU,OAAOmU,OAAOH,EAAe3T,WACzC+T,EAAU,IAAIC,EAAQN,GAAe,IAMzC,OAFAG,EAAUI,QAuMZ,SAA0BT,EAASjV,EAAMwV,GACvC,IAAIG,EAAQC,EAEZ,OAAO,SAAgBC,EAAQtW,GAC7B,GAAIoW,IAAUG,EACZ,MAAM,IAAItL,MAAM,gCAGlB,GAAImL,IAAUI,EAAmB,CAC/B,GAAe,UAAXF,EACF,MAAMtW,EAKR,OAAOyW,IAMT,IAHAR,EAAQK,OAASA,EACjBL,EAAQjW,IAAMA,IAED,CACX,IAAI0W,EAAWT,EAAQS,SACvB,GAAIA,EAAU,CACZ,IAAIC,EAAiBC,EAAoBF,EAAUT,GACnD,GAAIU,EAAgB,CAClB,GAAIA,IAAmBE,EAAkB,SACzC,OAAOF,GAIX,GAAuB,SAAnBV,EAAQK,OAGVL,EAAQa,KAAOb,EAAQc,MAAQd,EAAQjW,SAElC,GAAuB,UAAnBiW,EAAQK,OAAoB,CACrC,GAAIF,IAAUC,EAEZ,MADAD,EAAQI,EACFP,EAAQjW,IAGhBiW,EAAQe,kBAAkBf,EAAQjW,SAEN,WAAnBiW,EAAQK,QACjBL,EAAQgB,OAAO,SAAUhB,EAAQjW,KAGnCoW,EAAQG,EAER,IAAIW,EAASC,EAASzB,EAASjV,EAAMwV,GACrC,GAAoB,WAAhBiB,EAAOtS,KAAmB,CAO5B,GAJAwR,EAAQH,EAAQ7V,KACZoW,EACAY,EAEAF,EAAOlX,MAAQ6W,EACjB,SAGF,MAAO,CACL3W,MAAOgX,EAAOlX,IACdI,KAAM6V,EAAQ7V,MAGS,UAAhB8W,EAAOtS,OAChBwR,EAAQI,EAGRP,EAAQK,OAAS,QACjBL,EAAQjW,IAAMkX,EAAOlX,OA/QPqX,CAAiB3B,EAASjV,EAAMwV,GAE7CF,EAcT,SAASoB,EAAS3W,EAAI4B,EAAKpC,GACzB,IACE,MAAO,CAAE4E,KAAM,SAAU5E,IAAKQ,EAAG8W,KAAKlV,EAAKpC,IAC3C,MAAOc,GACP,MAAO,CAAE8D,KAAM,QAAS5E,IAAKc,IAhBjCgU,EAAQW,KAAOA,EAoBf,IAAIY,EAAyB,iBACzBe,EAAyB,iBACzBb,EAAoB,YACpBC,EAAoB,YAIpBK,EAAmB,GAMvB,SAASf,KACT,SAASyB,KACT,SAASC,KAIT,IAAIC,EAAoB,GACxBlC,EAAOkC,EAAmBvC,GAAgB,WACxC,OAAOxU,QAGT,IAAIgX,EAAW7V,OAAO8V,eAClBC,EAA0BF,GAAYA,EAASA,EAAS3S,EAAO,MAC/D6S,GACAA,IAA4B7C,GAC5BC,EAAOsC,KAAKM,EAAyB1C,KAGvCuC,EAAoBG,GAGtB,IAAIC,EAAKL,EAA2BtV,UAClC4T,EAAU5T,UAAYL,OAAOmU,OAAOyB,GAYtC,SAASK,EAAsB5V,GAC7B,CAAC,OAAQ,QAAS,UAAUmI,SAAQ,SAASiM,GAC3Cf,EAAOrT,EAAWoU,GAAQ,SAAStW,GACjC,OAAOU,KAAKyV,QAAQG,EAAQtW,SAkClC,SAAS+X,EAAchC,EAAWiC,GAChC,SAASC,EAAO3B,EAAQtW,EAAKL,EAASC,GACpC,IAAIsX,EAASC,EAASpB,EAAUO,GAASP,EAAW/V,GACpD,GAAoB,UAAhBkX,EAAOtS,KAEJ,CACL,IAAIsT,EAAShB,EAAOlX,IAChByO,EAAQyJ,EAAOhY,MACnB,OAAIuO,GACiB,iBAAVA,GACPuG,EAAOsC,KAAK7I,EAAO,WACduJ,EAAYrY,QAAQ8O,EAAM0J,SAAS7X,MAAK,SAASJ,GACtD+X,EAAO,OAAQ/X,EAAOP,EAASC,MAC9B,SAASkB,GACVmX,EAAO,QAASnX,EAAKnB,EAASC,MAI3BoY,EAAYrY,QAAQ8O,GAAOnO,MAAK,SAAS8X,GAI9CF,EAAOhY,MAAQkY,EACfzY,EAAQuY,MACP,SAAS/X,GAGV,OAAO8X,EAAO,QAAS9X,EAAOR,EAASC,MAvBzCA,EAAOsX,EAAOlX,KA4BlB,IAAIqY,EAgCJ3X,KAAKyV,QA9BL,SAAiBG,EAAQtW,GACvB,SAASsY,IACP,OAAO,IAAIN,GAAY,SAASrY,EAASC,GACvCqY,EAAO3B,EAAQtW,EAAKL,EAASC,MAIjC,OAAOyY,EAaLA,EAAkBA,EAAgB/X,KAChCgY,EAGAA,GACEA,KAkHV,SAAS1B,EAAoBF,EAAUT,GACrC,IAAIK,EAASI,EAASjP,SAASwO,EAAQK,QACvC,GAAIA,IAAWvV,EAAW,CAKxB,GAFAkV,EAAQS,SAAW,KAEI,UAAnBT,EAAQK,OAAoB,CAE9B,GAAII,EAASjP,SAAiB,SAG5BwO,EAAQK,OAAS,SACjBL,EAAQjW,IAAMe,EACd6V,EAAoBF,EAAUT,GAEP,UAAnBA,EAAQK,QAGV,OAAOO,EAIXZ,EAAQK,OAAS,QACjBL,EAAQjW,IAAM,IAAImB,UAChB,kDAGJ,OAAO0V,EAGT,IAAIK,EAASC,EAASb,EAAQI,EAASjP,SAAUwO,EAAQjW,KAEzD,GAAoB,UAAhBkX,EAAOtS,KAIT,OAHAqR,EAAQK,OAAS,QACjBL,EAAQjW,IAAMkX,EAAOlX,IACrBiW,EAAQS,SAAW,KACZG,EAGT,IAAI5W,EAAOiX,EAAOlX,IAElB,OAAMC,EAOFA,EAAKG,MAGP6V,EAAQS,EAAS6B,YAActY,EAAKC,MAGpC+V,EAAQvO,KAAOgP,EAAS8B,QAQD,WAAnBvC,EAAQK,SACVL,EAAQK,OAAS,OACjBL,EAAQjW,IAAMe,GAUlBkV,EAAQS,SAAW,KACZG,GANE5W,GA3BPgW,EAAQK,OAAS,QACjBL,EAAQjW,IAAM,IAAImB,UAAU,oCAC5B8U,EAAQS,SAAW,KACZG,GAoDX,SAAS4B,EAAaC,GACpB,IAAIC,EAAQ,CAAEC,OAAQF,EAAK,IAEvB,KAAKA,IACPC,EAAME,SAAWH,EAAK,IAGpB,KAAKA,IACPC,EAAMG,WAAaJ,EAAK,GACxBC,EAAMI,SAAWL,EAAK,IAGxBhY,KAAKsY,WAAW5U,KAAKuU,GAGvB,SAASM,EAAcN,GACrB,IAAIzB,EAASyB,EAAMO,YAAc,GACjChC,EAAOtS,KAAO,gBACPsS,EAAOlX,IACd2Y,EAAMO,WAAahC,EAGrB,SAAShB,EAAQN,GAIflV,KAAKsY,WAAa,CAAC,CAAEJ,OAAQ,SAC7BhD,EAAYvL,QAAQoO,EAAc/X,MAClCA,KAAKuQ,OAAM,GA8Bb,SAASlM,EAAOoU,GACd,GAAIA,EAAU,CACZ,IAAIC,EAAiBD,EAASjE,GAC9B,GAAIkE,EACF,OAAOA,EAAe9B,KAAK6B,GAG7B,GAA6B,mBAAlBA,EAASzR,KAClB,OAAOyR,EAGT,IAAKE,MAAMF,EAAS3X,QAAS,CAC3B,IAAID,GAAI,EAAI+X,EAAO,SAAS5R,IAC1B,OAASnG,EAAI4X,EAAS3X,WAChBwT,EAAOsC,KAAK6B,EAAU5X,GAGxB,OAFAmG,EAAKxH,MAAQiZ,EAAS5X,GACtBmG,EAAKtH,MAAO,EACLsH,EAOX,OAHAA,EAAKxH,MAAQa,EACb2G,EAAKtH,MAAO,EAELsH,GAGT,OAAO4R,EAAK5R,KAAO4R,GAKvB,MAAO,CAAE5R,KAAM+O,GAIjB,SAASA,IACP,MAAO,CAAEvW,MAAOa,EAAWX,MAAM,GA+MnC,OA7mBAmX,EAAkBrV,UAAYsV,EAC9BjC,EAAOsC,EAAI,cAAeL,GAC1BjC,EAAOiC,EAA4B,cAAeD,GAClDA,EAAkBgC,YAAchE,EAC9BiC,EACAnC,EACA,qBAaFP,EAAQ0E,oBAAsB,SAASC,GACrC,IAAIC,EAAyB,mBAAXD,GAAyBA,EAAOtF,YAClD,QAAOuF,IACHA,IAASnC,GAG2B,uBAAnCmC,EAAKH,aAAeG,EAAKnV,QAIhCuQ,EAAQ6E,KAAO,SAASF,GAQtB,OAPI5X,OAAO+X,eACT/X,OAAO+X,eAAeH,EAAQjC,IAE9BiC,EAAOI,UAAYrC,EACnBjC,EAAOkE,EAAQpE,EAAmB,sBAEpCoE,EAAOvX,UAAYL,OAAOmU,OAAO6B,GAC1B4B,GAOT3E,EAAQgF,MAAQ,SAAS9Z,GACvB,MAAO,CAAEmY,QAASnY,IAsEpB8X,EAAsBC,EAAc7V,WACpCqT,EAAOwC,EAAc7V,UAAWiT,GAAqB,WACnD,OAAOzU,QAEToU,EAAQiD,cAAgBA,EAKxBjD,EAAQiF,MAAQ,SAASrE,EAASC,EAASlV,EAAMmV,EAAaoC,QACxC,IAAhBA,IAAwBA,EAAc3X,SAE1C,IAAI2Z,EAAO,IAAIjC,EACbtC,EAAKC,EAASC,EAASlV,EAAMmV,GAC7BoC,GAGF,OAAOlD,EAAQ0E,oBAAoB7D,GAC/BqE,EACAA,EAAKtS,OAAOpH,MAAK,SAAS4X,GACxB,OAAOA,EAAO9X,KAAO8X,EAAOhY,MAAQ8Z,EAAKtS,WAuKjDoQ,EAAsBD,GAEtBtC,EAAOsC,EAAIxC,EAAmB,aAO9BE,EAAOsC,EAAI3C,GAAgB,WACzB,OAAOxU,QAGT6U,EAAOsC,EAAI,YAAY,WACrB,MAAO,wBAkCT/C,EAAQF,KAAO,SAASqF,GACtB,IAAIrF,EAAO,GACX,IAAK,IAAIsF,KAAOD,EACdrF,EAAKxQ,KAAK8V,GAMZ,OAJAtF,EAAKuF,UAIE,SAASzS,IACd,KAAOkN,EAAKpT,QAAQ,CAClB,IAAIzB,EAAM6U,EAAKwF,MACf,GAAIra,KAAOka,EAGT,OAFAvS,EAAKxH,MAAQH,EACb2H,EAAKtH,MAAO,EACLsH,EAQX,OADAA,EAAKtH,MAAO,EACLsH,IAsCXoN,EAAQ/P,OAASA,EAMjBmR,EAAQhU,UAAY,CAClBiS,YAAa+B,EAEbjF,MAAO,SAASoJ,GAcd,GAbA3Z,KAAK4Z,KAAO,EACZ5Z,KAAKgH,KAAO,EAGZhH,KAAKoW,KAAOpW,KAAKqW,MAAQhW,EACzBL,KAAKN,MAAO,EACZM,KAAKgW,SAAW,KAEhBhW,KAAK4V,OAAS,OACd5V,KAAKV,IAAMe,EAEXL,KAAKsY,WAAW3O,QAAQ4O,IAEnBoB,EACH,IAAK,IAAI9V,KAAQ7D,KAEQ,MAAnB6D,EAAKc,OAAO,IACZ2P,EAAOsC,KAAK5W,KAAM6D,KACjB8U,OAAO9U,EAAKgB,MAAM,MACrB7E,KAAK6D,GAAQxD,IAMrBwZ,KAAM,WACJ7Z,KAAKN,MAAO,EAEZ,IACIoa,EADY9Z,KAAKsY,WAAW,GACLE,WAC3B,GAAwB,UAApBsB,EAAW5V,KACb,MAAM4V,EAAWxa,IAGnB,OAAOU,KAAK+Z,MAGdzD,kBAAmB,SAAS0D,GAC1B,GAAIha,KAAKN,KACP,MAAMsa,EAGR,IAAIzE,EAAUvV,KACd,SAASia,EAAOC,EAAKC,GAYnB,OAXA3D,EAAOtS,KAAO,QACdsS,EAAOlX,IAAM0a,EACbzE,EAAQvO,KAAOkT,EAEXC,IAGF5E,EAAQK,OAAS,OACjBL,EAAQjW,IAAMe,KAGN8Z,EAGZ,IAAK,IAAItZ,EAAIb,KAAKsY,WAAWxX,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIoX,EAAQjY,KAAKsY,WAAWzX,GACxB2V,EAASyB,EAAMO,WAEnB,GAAqB,SAAjBP,EAAMC,OAIR,OAAO+B,EAAO,OAGhB,GAAIhC,EAAMC,QAAUlY,KAAK4Z,KAAM,CAC7B,IAAIQ,EAAW9F,EAAOsC,KAAKqB,EAAO,YAC9BoC,EAAa/F,EAAOsC,KAAKqB,EAAO,cAEpC,GAAImC,GAAYC,EAAY,CAC1B,GAAIra,KAAK4Z,KAAO3B,EAAME,SACpB,OAAO8B,EAAOhC,EAAME,UAAU,GACzB,GAAInY,KAAK4Z,KAAO3B,EAAMG,WAC3B,OAAO6B,EAAOhC,EAAMG,iBAGjB,GAAIgC,GACT,GAAIpa,KAAK4Z,KAAO3B,EAAME,SACpB,OAAO8B,EAAOhC,EAAME,UAAU,OAG3B,CAAA,IAAIkC,EAMT,MAAM,IAAI9P,MAAM,0CALhB,GAAIvK,KAAK4Z,KAAO3B,EAAMG,WACpB,OAAO6B,EAAOhC,EAAMG,gBAU9B7B,OAAQ,SAASrS,EAAM5E,GACrB,IAAK,IAAIuB,EAAIb,KAAKsY,WAAWxX,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIoX,EAAQjY,KAAKsY,WAAWzX,GAC5B,GAAIoX,EAAMC,QAAUlY,KAAK4Z,MACrBtF,EAAOsC,KAAKqB,EAAO,eACnBjY,KAAK4Z,KAAO3B,EAAMG,WAAY,CAChC,IAAIkC,EAAerC,EACnB,OAIAqC,IACU,UAATpW,GACS,aAATA,IACDoW,EAAapC,QAAU5Y,GACvBA,GAAOgb,EAAalC,aAGtBkC,EAAe,MAGjB,IAAI9D,EAAS8D,EAAeA,EAAa9B,WAAa,GAItD,OAHAhC,EAAOtS,KAAOA,EACdsS,EAAOlX,IAAMA,EAETgb,GACFta,KAAK4V,OAAS,OACd5V,KAAKgH,KAAOsT,EAAalC,WAClBjC,GAGFnW,KAAKua,SAAS/D,IAGvB+D,SAAU,SAAS/D,EAAQ6B,GACzB,GAAoB,UAAhB7B,EAAOtS,KACT,MAAMsS,EAAOlX,IAcf,MAXoB,UAAhBkX,EAAOtS,MACS,aAAhBsS,EAAOtS,KACTlE,KAAKgH,KAAOwP,EAAOlX,IACM,WAAhBkX,EAAOtS,MAChBlE,KAAK+Z,KAAO/Z,KAAKV,IAAMkX,EAAOlX,IAC9BU,KAAK4V,OAAS,SACd5V,KAAKgH,KAAO,OACa,WAAhBwP,EAAOtS,MAAqBmU,IACrCrY,KAAKgH,KAAOqR,GAGPlC,GAGTqE,OAAQ,SAASpC,GACf,IAAK,IAAIvX,EAAIb,KAAKsY,WAAWxX,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIoX,EAAQjY,KAAKsY,WAAWzX,GAC5B,GAAIoX,EAAMG,aAAeA,EAGvB,OAFApY,KAAKua,SAAStC,EAAMO,WAAYP,EAAMI,UACtCE,EAAcN,GACP9B,IAKbsE,MAAS,SAASvC,GAChB,IAAK,IAAIrX,EAAIb,KAAKsY,WAAWxX,OAAS,EAAGD,GAAK,IAAKA,EAAG,CACpD,IAAIoX,EAAQjY,KAAKsY,WAAWzX,GAC5B,GAAIoX,EAAMC,SAAWA,EAAQ,CAC3B,IAAI1B,EAASyB,EAAMO,WACnB,GAAoB,UAAhBhC,EAAOtS,KAAkB,CAC3B,IAAIwW,EAASlE,EAAOlX,IACpBiZ,EAAcN,GAEhB,OAAOyC,GAMX,MAAM,IAAInQ,MAAM,0BAGlBoQ,cAAe,SAASlC,EAAUZ,EAAYC,GAa5C,OAZA9X,KAAKgW,SAAW,CACdjP,SAAU1C,EAAOoU,GACjBZ,WAAYA,EACZC,QAASA,GAGS,SAAhB9X,KAAK4V,SAGP5V,KAAKV,IAAMe,GAGN8V,IAQJ/B,EA9sBM,CAqtBgBwG,GAG/B,IACEC,mBAAqB1G,EACrB,MAAO2G,GAWmB,iBAAfC,WACTA,WAAWF,mBAAqB1G,EAEhC6G,SAAS,IAAK,yBAAdA,CAAwC7G,GC7uB7B,IAAM8G,EAAN,iCAAMA,gCAQV5b,IAAA,uBAAP,SAAsBuK,GAClB,IAAI5J,KAAKkb,UAAUtR,GACf,MAAMW,MAAM,gCAIblL,IAAA,kBAAP,SAAiBuK,GACb,SAAUA,IACLA,EAAQuR,gBACRvR,EAAQuR,cAAcC,gBAGxB/b,IAAA,kBAAP,SAAiBuK,GAEb,OADA5J,KAAKqb,eAAezR,GACbA,EAAQuR,cAAcC,eAG1B/b,IAAA,yBAAP,SAAwBic,GACpB,IAAI5Z,EAAM,GACL+E,GAAS,EAATC,GAAS,EAATC,OAAStG,MAAd,IAAA,IAAKuG,EAAAC,EAAayU,EAAQxU,OAAAC,cAArBN,GAAAG,EAAAC,EAASG,QAAAtH,MAAT+G,GAAS,EAAc,CAAvB,IAAIwR,EAAJrR,EAASpH,MACNqE,EAAOoU,EAAM,GACbzY,EAAQyY,EAAM,GAClB,GAAGvW,EAAI4G,eAAezE,GAAM,CACxB,IAAI0X,EAAc7Z,EAAImC,GACnBwB,MAAMC,QAAQiW,GACb7Z,EAAImC,GAAMH,KAAKlE,GAEfkC,EAAImC,GAAQ,CAAC0X,EAAY/b,QAG7BkC,EAAImC,GAAQrE,YAXfkH,GAAS,EAATC,EAASvG,cAATqG,GAAS,MAATI,EAASK,QAATL,EAASK,oBAATR,QAAAC,GAcL,OAAOjF,QAzCA,GCWF8Z,EAAN,iCAAMA,EASGvX,aANZxC,EAAAzB,KAAA,SAAS,OAQLA,KAAKiE,IAAMA,eAIT5E,IAAA,gBAAN,6BAAAQ,EAAA4b,EAAAb,GAAA3B,MAAA,SAAAyC,QAEQC,oFAAiBC,EAAKC,wBAEF,OAFpBF,EAAQG,EAAA1F,MAEC2F,OAAc,yCAChB,oCAOJJ,EAAStT,kDAZpBxI,MAgBMR,IAAA,gBAAN,6BAAAQ,EAAA4b,EAAAb,GAAA3B,MAAA,SAAAyC,QAEQC,oFAAiBC,EAAKC,wBAEF,OAFpBF,EAAQG,EAAA1F,MAEC2F,OAAc,yCAChB,oCAOJJ,EAAStY,kDAZpBxD,MAoBAR,IAAA,kBAAA,SAAUuW,GAEN,OADA5V,KAAK4V,OAASA,EAAOhR,cACd5E,QAaXX,IAAA,2BAAA,SAAmBic,GAEf,OAAOU,MAAMhc,KAAKiE,IAAIf,WAAY,CAC9B0S,OAAQ5V,KAAK4V,OACbnD,KAAM1K,KAAKC,UAAUiT,EAAQgB,iBAAiBX,IAC9CY,QAAS,CACL,eAAgB,yBAMtB7c,IAAA,oBAAN,6BAAAQ,EAAA4b,EAAAb,GAAA3B,MAAA,SAAAyC,QAEQC,EAEItK,oFAFa2K,MAAMJ,EAAK3X,IAAIf,WAAY,CAAC0S,OAAQgG,EAAKhG,uBACtC,OADpB+F,EAAQG,EAAA1F,MACC2F,UACL1K,EAAQnB,EAAWiM,mBACjBC,QAAS,0BAAkC5Y,OAAToY,EAAK3X,IAAI,sDAAsD0X,EAASI,QAChH1K,EAAMY,0BAEH0J,6CARX9b,SA9EG,GCXMwc,EAAN,iCAAMA,EASGnY,GACR,iBAAQA,GACJ,KAAKmY,EAAQC,KACTtc,KAAKiE,IAAM,IAAIsY,IAAIC,UAAY,mBAAoBC,OAAOC,SAASC,MACnE3c,KAAKiE,IAAI2Y,aAAaC,IAAI,KAAMC,OAAOja,IACvC,MACJ,KAAKwZ,EAAQU,OACT/c,KAAKiE,IAAM,IAAIsY,IAAIC,UAAY,yBAA0BC,OAAOC,SAASC,MACzE3c,KAAKiE,IAAI2Y,aAAaC,IAAI,KAAMC,OAAOja,IACvC,MACJ,KAAKwZ,EAAQW,MACThd,KAAKiE,IAAM,IAAIsY,IAAIC,UAAY,oBAAqBC,OAAOC,SAASC,MACpE,MACJ,KAAKN,EAAQY,KACTjd,KAAKiE,IAAM,IAAIsY,IAAIC,UAAY,WAAYC,OAAOC,SAASC,MAC3D3c,KAAKiE,IAAI2Y,aAAaC,IAAI,KAAM,QAChC7c,KAAKiE,IAAI2Y,aAAaC,IAAI,KAAMC,OAAOja,IACvC,MACJ,KAAKwZ,EAAQa,KACTld,KAAKiE,IAAM,IAAIsY,IAAIC,UAAY,WAAYC,OAAOC,SAASC,MAC3D3c,KAAKiE,IAAI2Y,aAAaC,IAAI,KAAMC,OAAOja,kBAMnDxD,IAAA,oBAAA,SAAYA,EAAKG,GAEb,OADAQ,KAAKiE,IAAI2Y,aAAaC,IAAIxd,EAAKG,GACxBQ,QAGXX,IAAA,iBAAA,WACI,OAAOW,KAAKiE,IAAIf,cAGpB7D,IAAA,gBAAA,WACI,OAAOW,KAAKiE,IAAI2Y,aAAaO,IAAId,EAAQe,SAI7C/d,IAAA,kBAAA,WACI,OAAO,IAAImc,EAAYxb,KAAKiE,UAGzB5E,IAAA,mBAAP,SAAkBuX,GACd,OAAQ,IAAIyF,EAAQrc,KAAKsc,MACpBxJ,YAAYuJ,EAAQe,KAAMxG,MAG5BvX,IAAA,qBAAP,WACI,OAAO,IAAIgd,EAAQrc,KAAK+c,WAGrB1d,IAAA,oBAAP,SAAmBwD,EAAIwa,GACnB,IAAIC,EAAU,IAAIjB,EAAQrc,KAAKgd,OAC/B,QAAkB,IAAPna,EACP,MAAM,IAAI0H,MAAM,6BAMpB,OAJA+S,EAAQxK,YAAY,QAASjQ,QACR,IAAVwa,GACPC,EAAQxK,YAAY,QAASuK,GAE1BC,KAGJje,IAAA,mBAAP,SAAkBwD,GACd,IAAIya,EAAU,IAAIjB,EAAQrc,KAAKid,MAI/B,YAHkB,IAAPpa,GACPya,EAAQxK,YAAY,KAAMjQ,GAEvBya,QA/ER,GAEH7b,EAFS4a,EAEF,OAAO,QACd5a,EAHS4a,EAGF,SAAS,UAChB5a,EAJS4a,EAIF,OAAO,QACd5a,EALS4a,EAKF,OAAO,QACd5a,EANS4a,EAMF,OAAO,QACd5a,EAPS4a,EAOF,QAAQ,SCTJ,MAAMkB,EAAN,iCAAMA,EAELC,aACRxd,KAAKwd,KAAOA,eAShBne,IAAA,6BAAA,WACI,MAAQ,GAA6BmE,OAA3BxD,KAAKwd,KAAKC,cAAc,KAA6Dja,QAAzDxD,KAAKwd,KAAKE,WAAa,GAAGxa,WAAWya,SAAS,EAAG,KAAK,KAAsDna,OAAnDxD,KAAKwd,KAAKI,UAAU1a,WAAWya,SAAS,EAAG,KAAK,KAAuDna,OAApDxD,KAAKwd,KAAKK,WAAW3a,WAAWya,SAAS,EAAG,KAAK,KAAyDna,OAAtDxD,KAAKwd,KAAKM,aAAa5a,WAAWya,SAAS,EAAG,KAAK,KAAsDna,OAAnDxD,KAAKwd,KAAKO,aAAa7a,WAAWya,SAAS,EAAG,WANvSte,IAAA,sBAAP,SAAqB2e,GAEjB,OAAO,IAAIT,EADA,IAAIU,KAAKD,UARb,GCOfvB,OAAc,OAMVhb,EANWyc,EAAG,iCAAMC,gCAEb9e,IAAA,iBAAP,SAAgBwE,GACZ,OAAOb,EAAKwI,SAAS3H,MAMlBxE,IAAA,yBAAP,SAAwBwD,GACpB,OAAOqN,EAAWkO,YAAYvb,MAG3BxD,IAAA,wBAAP,WACI6Q,EAAWmO,oBAIRhf,IAAA,sBAAP,SAAqBif,GACjB,OAAOjC,EAAQkC,WAAWD,MAGvBjf,IAAA,qBAAP,WACI,OAAOgd,EAAQmC,kBAGZnf,IAAA,4BAAP,SAA2BwE,GACvB,OAAOD,EAAc8E,eAAe7E,MASjCxE,IAAA,2BAAP,SAA0B+L,EAAQ/C,GAC9B,OAAOiC,EAASb,eAAe2B,EAAQ/C,MAMpChJ,IAAA,6BAAP,WACI,OAAO6Q,EAAWiM,wBA5CR,GAMP,YAAYoB,GACnB9b,EAAAyc,EAAO,UAAU7B,GAAQ6B","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","js/packages/combo/Boolean.js","js/packages/combo/Logger.js","node_modules/nanoid/index.browser.js","js/packages/combo/Html.js","js/packages/combo/FormMetaField.js","js/packages/combo/FormMetaTab.js","js/packages/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","js/packages/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","js/packages/combo/Browser.js","js/packages/combo/DokuRequest.js","js/packages/combo/DokuUrl.js","js/packages/combo/ComboDate.js","js/packages/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text.charCodeAt(i)};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/[_\\-]/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel;\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","\n\nexport default class Browser {\n\n\n /**\n *\n * @param element\n * @return {boolean}\n */\n static hasWindowGuard(element) {\n if(!this.hasWindow(element)) {\n throw Error(\"The element has no window\")\n }\n }\n\n static hasWindow(element) {\n return !(!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView);\n }\n\n static getWindow(element){\n this.hasWindowGuard(element);\n return element.ownerDocument.defaultView\n }\n\n static formDataToObject(formData){\n let obj = {};\n for (let entry of formData) {\n let name = entry[0];\n let value = entry[1];\n if(obj.hasOwnProperty(name)){\n let actualValue = obj[name];\n if(Array.isArray(actualValue)){\n obj[name].push(value);\n } else {\n obj[name] = [actualValue,value];\n }\n } else {\n obj[name] = value\n }\n }\n return obj;\n }\n\n}\n","/* global JSINFO */\n\n/* global DOKU_BASE */\n\nimport ComboModal from \"./ComboModal\";\nimport Browser from \"./Browser\";\n\n\n\n/**\n * Fetch wrapper\n * with\n */\nexport class HttpRequest {\n\n\n method = \"GET\";\n\n\n /**\n * @param {URL} url\n */\n constructor(url) {\n\n this.url = url;\n\n }\n\n async getJson() {\n\n let response = await this.getResponse()\n\n if (response.status !== 200) {\n return {};\n }\n\n // Parses response data to JSON\n // * response.json()\n // * response.text()\n // are promise, you need to pass them to a callback to get the value\n return response.json();\n\n }\n\n async getText() {\n\n let response = await this.getResponse();\n\n if (response.status !== 200) {\n return \"\";\n }\n\n // Parses response data to JSON\n // * response.json()\n // * response.text()\n // are promise, you need to pass them to a callback to get the value\n return response.text();\n\n }\n\n /**\n * @param {string} method\n * @return {HttpRequest}\n */\n setMethod(method) {\n this.method = method.toUpperCase();\n return this;\n }\n\n /**\n *\n * @param formData\n * @return {Promise<Response>}\n *\n * We don't send a multipart-form-data\n * because php does not support them\n * natively if the name of the input are\n * not suffixed with `[]` (shame)\n */\n sendFormDataAsJson(formData) {\n\n return fetch(this.url.toString(), {\n method: this.method,\n body: JSON.stringify(Browser.formDataToObject(formData)),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n }\n\n\n async getResponse() {\n\n let response = await fetch(this.url.toString(), {method: this.method});\n if (response.status !== 200) {\n let modal = ComboModal.createTemporary()\n modal.addBody(`Bad request: the call ${this.url} to the backend sends back the following exit code` + response.status)\n modal.show();\n }\n return response;\n }\n}\n","import {HttpRequest} from \"./DokuRequest\";\n\nexport class DokuUrl {\n\n static AJAX = \"AJAX\";\n static RUNNER = \"RUNNER\";\n static CALL = \"call\";\n static EDIT = \"edit\";\n static SHOW = 'show';\n static FETCH = 'fetch';\n\n constructor(type) {\n switch (type) {\n case DokuUrl.AJAX:\n this.url = new URL(DOKU_BASE + 'lib/exe/ajax.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.RUNNER:\n this.url = new URL(DOKU_BASE + 'lib/exe/taskrunner.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.FETCH:\n this.url = new URL(DOKU_BASE + 'lib/exe/fetch.php', window.location.href);\n break;\n case DokuUrl.EDIT:\n this.url = new URL(DOKU_BASE + 'doku.php', window.location.href);\n this.url.searchParams.set(\"do\", \"edit\");\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.SHOW:\n this.url = new URL(DOKU_BASE + 'doku.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n }\n\n }\n\n setProperty(key, value) {\n this.url.searchParams.set(key, value);\n return this;\n }\n\n toString() {\n return this.url.toString();\n }\n\n getCall() {\n return this.url.searchParams.get(DokuUrl.CALL);\n }\n\n\n toRequest() {\n return new HttpRequest(this.url);\n }\n\n static createAjax(call) {\n return (new DokuUrl(this.AJAX))\n .setProperty(DokuUrl.CALL, call);\n }\n\n static createRunner() {\n return new DokuUrl(this.RUNNER);\n }\n\n static createFetch(id, drive) {\n let dokuUrl = new DokuUrl(this.FETCH);\n if (typeof id === 'undefined') {\n throw new Error(\"The media id is mandatory\")\n }\n dokuUrl.setProperty(\"media\", id);\n if (typeof drive !== 'undefined') {\n dokuUrl.setProperty(\"drive\", drive);\n }\n return dokuUrl;\n }\n\n static createEdit(id) {\n let dokuUrl = new DokuUrl(this.EDIT);\n if (typeof id !== 'undefined') {\n dokuUrl.setProperty(\"id\", id);\n }\n return dokuUrl;\n }\n}\n","export default class ComboDate {\n\n constructor(date) {\n this.date = date;\n }\n\n\n static createFromIso(isoString) {\n let date = new Date(isoString);\n return new ComboDate(date)\n }\n\n toSqlTimestampString() {\n return `${this.date.getFullYear()}-${(this.date.getMonth() + 1).toString().padStart(2, '0')}-${this.date.getDate().toString().padStart(2, '0')} ${this.date.getHours().toString().padStart(2, '0')}:${this.date.getMinutes().toString().padStart(2, '0')}:${this.date.getSeconds().toString().padStart(2, '0')}`;\n }\n\n\n}\n","import FormMeta from \"./FormMeta\";\nimport Html from \"./Html\";\nimport ComboModal from \"./ComboModal\";\nimport {DokuUrl} from \"./DokuUrl\";\nimport FormMetaField from \"./FormMetaField\";\nimport ComboDate from \"./ComboDate\";\n\nwindow['combo'] = class combo {\n\n static toHtmlId(name) {\n return Html.toHtmlId(name)\n }\n\n static comboDate = ComboDate;\n static DokuUrl = DokuUrl;\n\n static getOrCreateModal(id) {\n return ComboModal.getOrCreate(id);\n }\n\n static removeAllModals() {\n ComboModal.resetAllModals();\n }\n\n\n static createAjaxUrl(callName) {\n return DokuUrl.createAjax(callName);\n }\n\n static getRunnerUrl() {\n return DokuUrl.createRunner();\n }\n\n static createFormMetaField(name) {\n return FormMetaField.createFromName(name);\n }\n\n /**\n *\n * @param formId\n * @param json\n * @return {FormMeta}\n */\n static createFormFromJson(formId, json) {\n return FormMeta.createFromJson(formId, json);\n }\n\n /**\n * @return {ComboModal}\n */\n static createTemporaryModal() {\n return ComboModal.createTemporary();\n }\n\n}\n\n"],"names":["$14a1be0df69dff16$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$14a1be0df69dff16$export$2e2bcd8739ae039","fn","self","this","args","arguments","apply","err","undefined","$ed8f81e33dadb189$export$2e2bcd8739ae039","instance","Constructor","TypeError","$1265d6fc5c828a23$var$_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","$1265d6fc5c828a23$export$2e2bcd8739ae039","protoProps","staticProps","prototype","$9629c2fdd0ddf968$export$2e2bcd8739ae039","obj","$35baa0ecacf6ff5d$var$logger","$e705c489ba33f11b$export$2e2bcd8739ae039","$35baa0ecacf6ff5d$export$2e2bcd8739ae039","console","$787ee36cc4e85fac$export$4385e60b38654f68","bytes","crypto","getRandomValues","Uint8Array","$787ee36cc4e85fac$export$62e99e5c9f473d7f","alphabet","size","getRandom","mask","Math","log","LN2","step","id","j","$787ee36cc4e85fac$export$a5cee9e955a615e5","$fe793cbf49199c5e$export$2e2bcd8739ae039","s","toString","replace","nanoid","text","entities","entity","concat","charCodeAt","push","join","$8e9b31f932b8dfb8$export$2e2bcd8739ae039","name","getUrl","getDescription","getLabel","url","type","label","defaultValue","values","defaultValues","getName","split","map","word","charAt","toUpperCase","slice","description","tab","multiple","parent","mutable","toBoolean","domainValues","Array","isArray","width","getChildren","children","child","forId","customClass","classLabel","getLabelAnchor","getType","BOOLEAN","disabled","htmlElement","metadataType","isMutable","getDomainValues","defaultValueHtml","getMultiple","selected","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","selectValue","return","placeholderValue","String","toEntities","inputType","htmlPlaceholder","htmlValue","htmlTag","htmlClass","checked","rows","DATE_TIME","PARAGRAPH","JSON","stringify","getTab","getValue","default","getDefaultValue","json","hasOwnProperty","getLogger","valueDefault","formMetaField","createFromName","property","setParent","jsonValue","setLabel","setTab","setType","setMutable","setDescription","setUrl","setDomainValues (…)
/plugin/combo/resources/library/combo/dist/
H A Dcombo.min.js1 !function(){function t(t){return t&&t.__esModule?t.default:t}function e(t,e,n,r,a,o,i){try{var l=t[o](i),s=l.value}catch(t){return void n(t)}l.done?e(s):Promise.resolve(s).then(r,a)}function n(t){return function(){var n=this,r=arguments;return new Promise((function(a,o){var i=t.apply(n,r);function l(t){e(i,a,o,l,s,"next",t)}function s(t){e(i,a,o,l,s,"throw",t)}l(void 0)}))}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function o(t,e,n){return e&&a(t.prototype,e),n&&a(t,n),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var l,s=function(){"use strict";function t(){r(this,t)}return o(t,null,[{key:"toBoolean",value:function(t){return"boolean"==typeof t?t:"true"===t}}]),t}(),u=function(){"use strict";function t(){r(this,t)}return o(t,[{key:"error",value:function(t){console.error(t)}}],[{key:"getLogger",value:function(){return void 0===l&&(l=new t),l}}]),t}(),c=function(t){return crypto.getRandomValues(new Uint8Array(t))},h=function(t,e){return function(t,e,n){var r=(2<<Math.log(t.length-1)/Math.LN2)-1,a=-~(1.6*r*e/t.length);return function(){for(var o="";;)for(var i=n(a),l=a;l--;)if((o+=t[i[l]&r]||"").length===e)return o}}(t,e,c)},d=function(){"use strict";function t(){r(this,t)}return o(t,null,[{key:"toHtmlId",value:function(t){return t.toString().replace(/[_.\s:\/\\]/g,"-")}},{key:"createRandomId",value:function(){return h("abcdefghijklmnopqrstuvwxyz",10)()}},{key:"toEntities",value:function(t){for(var e=[],n=0;n<t.length;n++){var r="&#".concat(t[n].charCodeAt(),";");e.push(r)}return e.join("")}}]),t}(),f=function(){"use strict";function t(e){r(this,t),i(this,"tab","unknown"),i(this,"mutable",!0),i(this,"values",[]),i(this,"defaultValues",[]),i(this,"multiple",!1),i(this,"children",{}),this.name=e}return o(t,[{key:"getLabelAnchor",value:function(){if(void 0===this.getUrl()&&void 0===this.getDescription())return this.getLabel();var t=this.getUrl();return void 0===this.getUrl()?(t="#",'\n<span class="d-inline-block" tabindex="0" data-bs-toggle="tooltip" title="'.concat(this.getDescription(),'">\n <a href="').concat(t,'" title="').concat(this.getDescription(),'" style="text-decoration:none;pointer-events: none;">').concat(this.getLabel(),"</a>\n</span>")):'<a href="'.concat(t,'" title="').concat(this.getDescription(),'" data-bs-toggle="tooltip" style="text-decoration:none" target="_blank">').concat(this.getLabel(),"</a>")}},{key:"setType",value:function(t){return this.type=t,this}},{key:"setLabel",value:function(t){return this.label=t,this}},{key:"setUrl",value:function(t){return this.url=t,this}},{key:"addValue",value:function(t,e){return this.values.push(t),this.defaultValues.push(e),this}},{key:"getType",value:function(){return this.type}},{key:"getLabel",value:function(){return void 0===this.label?this.getName().split(/_|-/).map((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})).join(" "):this.label}},{key:"getUrl",value:function(){return this.url}},{key:"getName",value:function(){return this.name}},{key:"getDescription",value:function(){return this.description}},{key:"getTab",value:function(){return this.tab}},{key:"setMultiple",value:function(t){return this.multiple=t,this}},{key:"setParent",value:function(t){return this.parent=t,this}},{key:"isMutable",value:function(){return this.mutable}},{key:"setTab",value:function(t){return this.tab=t,this}},{key:"setMutable",value:function(t){return this.mutable=s.toBoolean(t),this}},{key:"setDescription",value:function(t){return this.description=t,this}},{key:"getDefaultValue",value:function(){return this.defaultValues[0]}},{key:"getValue",value:function(){return this.values[0]}},{key:"getDomainValues",value:function(){return this.domainValues}},{key:"setDomainValues",value:function(t){if(Array.isArray(t))return this.domainValues=t,this;console.error("The domains values should be an array. (".concat(t,") is not an array"))}},{key:"setControlWidth",value:function(t){return this.width=t,this}},{key:"getControlWidth",value:function(){return void 0===this.width&&void 0!==this.parent?12/this.parent.getChildren().length:this.width}},{key:"getValues",value:function(){return this.values}},{key:"getDefaultValues",value:function(){return this.defaultValues}},{key:"getChildren",value:function(){return Object.values(this.children)}},{key:"addChild",value:function(t){return this.children[t.getName()]=t,this}},{key:"toHtmlLabel",value:function(e,n){var r=this.getLabelAnchor(),a="";return a=this.getType()===t.BOOLEAN?"form-check-label":"col-form-label",void 0!==n&&(a="".concat(n," ").concat(a)),'<label for="'.concat(e,'" class="').concat(a,'">').concat(r,"</label>")}},{key:"toHtmlControl",value:function(e){var n,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.getType(),l=this.isMutable(),s=this.getDomainValues();if(void 0!==s){r="select";var u="";void 0!==o&&(u=" (".concat(o,")"));var c="";this.getMultiple()&&(c="multiple"),r='<select class="form-select" aria-label="'.concat(this.getLabel(),'" name="').concat(this.getName(),'" id="').concat(e,'" ').concat(c,">");var h="";null===a&&(h="selected"),r+='<option value="" '.concat(h,">Default").concat(u,"</option>");var f=!0,v=!1,y=void 0;try{for(var m,g=s[Symbol.iterator]();!(f=(m=g.next()).done);f=!0){var p=m.value;h=p===a?"selected":"",r+='<option value="'.concat(p,'" ').concat(h,">").concat(p,"</option>")}}catch(t){v=!0,y=t}finally{try{f||null==g.return||g.return()}finally{if(v)throw y}}return r+="</select>"}var b="No value";l&&(b="Enter a ".concat(this.getLabel())),null!=o&&(b="string"==typeof o||o instanceof String?d.toEntities(o):o);var w,k='placeholder="'.concat(b,'"'),L="",E=this.getName();n=void 0!==l&&!1===l?"disabled":"";var T="input",S="form-control",C="",x=3;switch(i){case t.DATE_TIME:w="datetime-local",null!==a?(a=a.slice(0,19),L='value="'.concat(a,'"')):l||null===o||(o=o.slice(0,19),L='value="'.concat(o,'"')),k="";break;case t.PARAGRAPH:T="textarea",null!==a&&(a=d.toEntities(a),L="".concat(a));break;case t.JSON:T="textarea",null!==a&&("object"==typeof a&&(a=JSON.stringify(a,null,2)),a=d.toEntities(a),L="".concat(a)),x=15;break;case t.BOOLEAN:w="checkbox",S="form-check-input",null!==o?(L='value="'.concat(o,'"'),a===o&&(C="checked")):"on"===a&&(C="checked"),k="";break;default:w="text",null!=a&&(L='value="'.concat(a,'"'))}if("textarea"===T)r='<textarea id="'.concat(e,'" name="').concat(E,'" class="').concat(S,'" rows="').concat(x,'" ').concat(k," ").concat(n,">").concat(L,"</textarea>");else r='<input type="'.concat(w,'" name="').concat(E,'" class="').concat(S,'" id="').concat(e,'" ').concat(k," ").concat(L," ").concat(C," ").concat(n,"/>");return r}},{key:"toJavascriptObject",value:function(){return{name:this.getName(),label:this.getLabel(),type:this.getType(),description:this.getDescription(),tab:this.getTab(),mutable:this.isMutable(),value:this.getValue(),default:this.getDefaultValue(),url:this.getUrl()}}},{key:"getMultiple",value:function(){return this.multiple}}],[{key:"createFromJson",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;e.hasOwnProperty("name")||u.getLogger().error("To create a form meta field, the name property is mandatory.");var r,a,o=e.name,i=t.createFromName(o);for(var l in null!=n&&i.setParent(n),e)if(e.hasOwnProperty(l)){var s=e[l];switch(l){case"name":continue;case"label":i.setLabel(s);continue;case"tab":i.setTab(s);continue;case"type":i.setType(s);continue;case"mutable":i.setMutable(s);continue;case"description":i.setDescription(s);continue;case"url":i.setUrl(s);continue;case"value":r=s;continue;case"default":a=s;continue;case"domain-values":i.setDomainValues(s);continue;case"multiple":i.setMultiple(s);continue;case"width":i.setControlWidth(s);continue;case"children":var c=s;for(var h in c)if(c.hasOwnProperty(h)){var d=t.createFromJson(c[h],i);i.addChild(d)}continue;default:u.getLogger().error("The property (".concat(l,") of the form (").concat(o,") is unknown"))}}return Array.isArray(r)?r.forEach((function(t,e){var n=a[e];void 0!==n?i.addValue(t,n):i.addValue(t)})):i.addValue(r,a),i}},{key:"createFromName",value:function(e){return new t(e)}}]),t}();i(f,"TABULAR_TYPE","tabular"),i(f,"DATE_TIME","datetime"),i(f,"PARAGRAPH","paragraph"),i(f,"BOOLEAN","boolean"),i(f,"JSON","json");var v=function(){"use strict";function t(e){r(this,t),this.name=e}return o(t,[{key:"getName",value:function(){return this.name}},{key:"setWidth",value:function(t){this.width=t}},{key:"getWidth",value:function(){return this.width}},{key:"setLabel",value:function(t){return this.label=t,this}},{key:"getLabel",value:function(){return void 0===this.label?this.name:this.label}},{key:"setWidthField",value:function(t){return this.widthField=t,this}},{key:"setWidthLabel",value:function(t){return this.widthLabel=t,this}},{key:"getLabelWidth",value:function(){return void 0===this.widthLabel?3:this.widthLabel}},{key:"getFieldWidth",value:function(){return void 0===this.widthField?12-this.getLabelWidth():this.widthField}}],[{key:"createFromJson",value:function(e){e.hasOwnProperty("name")||u.getLogger().error("A name property is mandatory to create a tab and was not found in the json provided");var n=e.name,r=new t(n);for(var a in e)if(e.hasOwnProperty(a)){var o=e[a];switch(a){case"name":continue;case"label":r.setLabel(o);continue;case"width-field":r.setWidthField(o);continue;case"width-label":r.setWidthLabel(o);continue;default:u.getLogger().error("The property (".concat(a,") of the tab (").concat(n,") is unknown"))}}return r}},{key:"createFromName",value:function(e){return new t(e)}}]),t}(),y=function(){function t(e){if(r(this,t),i(this,"formFields",{}),i(this,"tabs",{}),i(this,"width",8),null==e)throw new Error("The if of the form should not be null");this.name=e}return o(t,[{key:"getLabel",value:function(){return this.label}},{key:"getUrl",value:function(){return this.url}},{key:"getId",value:function(){return this.name}},{key:"getControlWidth",value:function(){return this.width}},{key:"getLabelWidth",value:function(){return 12-this.getControlWidth()}},{key:"addFormField",value:function(t){return this.formFields[t.getName()]=t,this.tabs.hasOwnProperty(t.getTab())||(this.tabs[t.getTab()]=v.createFromName(t.getTab())),this}},{key:"getFields",value:function(){return Object.values(this.formFields)}},{key:"getTabs",value:function(){return Object.values(this.tabs)}},{key:"addTab",value:function(t){this.tabs[t.getName()]=t}},{key:"valueOf",value:function(){return this.getId()}},{key:"getFieldsForTab",value:function(t){return this.getFields().filter((function(e){return e.getTab()===t}))}},{key:"toHtmlElement",value:function(){var t,e,n=this.getId(),r='<ul class="nav nav-tabs mb-3">';this.getTabPaneId=function(t){var e=d.toHtmlId(t.getName());return"".concat(n,"-tab-pane-").concat(e)},this.getTabNavId=function(t){var e=d.toHtmlId(t.getName());return"".concat(n,"-tab-nav-").concat(e)},this.getControlId=function(t){var e=d.toHtmlId(t);return"".concat(n,"-control-").concat(e)};var a=this.getTabs(),o=a[0],i=!0,l=!1,s=void 0;try{for(var u,c=a[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var h=u.value;Object.is(h,o)?(t="active",e="true"):(t="",e="false");var f=h.getLabel(),v=this.getTabPaneId(h),y=this.getTabNavId(h);r+='\n<li class="nav-item">\n<button\n class="nav-link '.concat(t,'"\n id="').concat(y,'"\n type="button"\n role="tab"\n aria-selected = "').concat(e,'"\n aria-controls = "').concat(v,'"\n data-bs-toggle = "tab"\n data-bs-target = "#').concat(v,'" >').concat(f,"\n </button>\n</li>")}}catch(t){l=!0,s=t}finally{try{i||null==c.return||c.return()}finally{if(l)throw s}}r+="</ul>";var m,g,p='<div class="tab-content">',b=0,w=!0,k=!1,L=void 0;try{for(var E,T=a[Symbol.iterator]();!(w=(E=T.next()).done);w=!0){var S=E.value,C=this.getTabPaneId(S),x=this.getTabNavId(S);p+='<div class="tab-pane '.concat(t=S===o?"active":"",'" id="').concat(C,'" role="tabpanel" aria-labelledby="').concat(x,'">'),g=S.getLabelWidth(),m=S.getFieldWidth();var F=this.getFieldsForTab(S.getName());if(1===F.length){var O=F[0];if(0===O.getChildren().length){b++;var A=this.getControlId(b),P=O.toHtmlLabel(A),B=O.getValue(),N=O.getDefaultValue(),I=O.toHtmlControl(A,B,N);p+='\n<div class="row mb-3 text-center"><div class="col-sm-12">'.concat(P,'</div></div>\n<div class="row mb-3"><div class="col-sm-12">').concat(I,"</div></div>\n"),p+="</div>";continue}}var R=!0,H=!1,D=void 0;try{for(var M,j=F[Symbol.iterator]();!(R=(M=j.next()).done);R=!0){var U=M.value;if(0===U.getChildren().length){b++;var V=this.getControlId(b),W=U.toHtmlLabel(V,"col-sm-".concat(g)),_=U.getValue(),J=U.getDefaultValue(),G=U.toHtmlControl(V,_,J);p+='\n<div class="row mb-3">\n '.concat(W,'\n <div class="col-sm-').concat(m,'">').concat(G,"</div>\n</div>\n")}else{var q=U.getLabelAnchor();p+='<div class="row mb-3 text-center">'.concat(q,"</div>"),p+='<div class="row mb-3">';var K=0,X=!0,Y=!1,z=void 0;try{for(var Q,Z=U.getChildren()[Symbol.iterator]();!(X=(Q=Z.next()).done);X=!0){var $=Q.value,tt=$.getControlWidth();p+='<div class="col-sm-'.concat(tt,' text-center">'),p+=$.getLabelAnchor(),p+="</div>";var et=$.getValues().length;et>K&&(K=et)}}catch(t){Y=!0,z=t}finally{try{X||null==Z.return||Z.return()}finally{if(Y)throw z}}p+="</div>";for(var nt=0;nt<K;nt++){p+='<div class="row mb-3">';var rt=!0,at=!1,ot=void 0;try{for(var it,lt=U.getChildren()[Symbol.iterator]();!(rt=(it=lt.next()).done);rt=!0){var st=it.value,ut=st.getValues()[nt],ct=st.getDefaultValues()[nt];b++;var ht=this.getControlId(b),dt=st.getControlWidth();p+='<div class="col-sm-'.concat(dt,'">'),p+=st.toHtmlControl(ht,ut,ct),p+="</div>"}}catch(t){at=!0,ot=t}finally{try{rt||null==lt.return||lt.return()}finally{if(at)throw ot}}p+="</div>"}}}}catch(t){H=!0,D=t}finally{try{R||null==j.return||j.return()}finally{if(H)throw D}}p+="</div>"}}catch(t){k=!0,L=t}finally{try{w||null==T.return||T.return()}finally{if(k)throw L}}p+="</div>";var ft=document.createElement("form");return ft.setAttribute("id",n),ft.innerHTML="".concat(r," ").concat(p),ft}},{key:"setControlWidth",value:function(t){return this.width=t,this}},{key:"setLabel",value:function(t){this.label=t}},{key:"setUrl",value:function(t){this.url=t}}],[{key:"createFromJson",value:function(e,n){var r=t.createFromId(e);for(var a in n)if(n.hasOwnProperty(a)){var o=n[a];switch(a){case"fields":var i=o;for(var l in i)i.hasOwnProperty(l)&&r.addFormField(f.createFromJson(i[l]));continue;case"tabs":var s=o;for(var c in s)s.hasOwnProperty(c)&&r.addTab(v.createFromJson(s[c]));break;case"width":r.setControlWidth(o);break;case"label":r.setLabel(o);break;case"url":r.setUrl(o);break;default:u.getLogger().error("The form property (".concat(a,") is unknown"))}}return r}},{key:"createFromId",value:function(e){return new t(e)}}]),t}(),m={};m=bootstrap;var g={},p=function(){"use strict";function t(e){r(this,t),i(this,"footerButtons",[]),i(this,"bodies",[]),i(this,"isBuild",!1),i(this,"bodyStyles",{}),i(this,"dialogStyles",{}),i(this,"showFooter",!0),i(this,"dialogClasses",[]),this.modalId=e;var n=document.getElementById(e);null!==n?(u.getLogger().error("The id (".concat(e,") given to create a modal was already used by an element in the DOM. We have reused it.")),this.modalRootHtmlElement=n,this.reset()):(this.modalRootHtmlElement=document.createElement("div"),this.modalRootHtmlElement.setAttribute("id",this.modalId),this.modalRootHtmlElement.classList.add("modal","fade"),this.modalRootHtmlElement.setAttribute("aria-hidden","true"))}return o(t,[{key:"setHeader",value:function(t){return this.headerText=t,this}},{key:"addBody",value:function(t){return this.bodies.push(t),this}},{key:"addBodyStyle",value:function(t,e){return this.bodyStyles[t]=e,this}},{key:"noFooter",value:function(){return this.showFooter=!1,this}},{key:"addDialogStyle",value:function(t,e){return this.dialogStyles[t]=e,this}},{key:"addDialogClass",value:function(t){return this.dialogClasses.push(t),this}},{key:"resetOnClose",value:function(){return this.isResetOnClose=!0,this}},{key:"addFooterButton",value:function(t){return this.footerButtons.push(t),this}},{key:"addFooterCloseButton",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Close";this.closeButton=document.createElement("button"),this.closeButton.classList.add("btn","btn-secondary"),this.closeButton.innerHTML=t;var e=this;return this.closeButton.addEventListener("click",(function(){e.bootStrapModal.hide()})),this.addFooterButton(this.closeButton),this}},{key:"centered",value:function(){return this.isCentered=!0,this}},{key:"show",value:function(){if(null==this.modalRootHtmlElement)throw new Error("This modal has no HTML element, you can't use it anymore");if(this.isBuild||this.build(),!0===this.isResetOnClose){var t=this;this.getElement().addEventListener("hidden.bs.modal",(function(){t.reset()}))}if(void 0!==this.callBack&&void 0!==this.closeButton){var e=this;this.closeButton.addEventListener("click",(function(){e.dismissHide(),e.callBack()}))}this.bootStrapModal.show()}},{key:"dismissHide",value:function(){void 0!==this.bootStrapModal&&this.bootStrapModal.hide()}},{key:"getModalId",value:function(){return this.modalId}},{key:"setCallBackOnClose",value:function(t){return this.callBack=t,this}},{key:"getElement",value:function(){return this.modalRootHtmlElement}},{key:"wasBuild",value:function(){return this.isBuild}},{key:"setCentered",value:function(t){return this.isCentered=t,this}},{key:"resetIfBuild",value:function(){return this.wasBuild()&&this.reset(),this}},{key:"reset",value:function(){this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle="tab"]').forEach((function(t){var e=m.Tab.getInstance(t);null!==e&&e.dispose()})),void 0!==this.bootStrapModal&&this.dismissHide(),this.modalRootHtmlElement.innerHTML="",this.isBuild=!1,this.bodies=[],this.footerButtons=[],this.headerText=void 0}},{key:"build",value:function(){this.isBuild=!0,document.body.appendChild(this.modalRootHtmlElement);var t=document.createElement("div");for(var e in t.classList.add("modal-dialog","modal-dialog-scrollable","modal-lg"),this.isCentered?t.classList.add("modal-dialog-centered"):(t.style.setProperty("margin","5rem auto"),t.style.setProperty("height","calc(100% - 9rem)")),this.dialogStyles)this.dialogStyles.hasOwnProperty(e)&&t.style.setProperty(e,this.dialogStyles[e]);for(var n in this.dialogClasses)t.classList.add(n);for(var r in this.modalRootHtmlElement.appendChild(t),this.modalContent=document.createElement("div"),this.modalContent.classList.add("modal-content"),t.appendChild(this.modalContent),this.modalBody=document.createElement("div"),this.modalBody.classList.add("modal-body"),this.bodyStyles)this.bodyStyles.hasOwnProperty(r)&&this.modalBody.style.setProperty(r,this.bodyStyles[r]);if(this.modalContent.appendChild(this.modalBody),this.bootStrapModal=m.Modal.getInstance(this.modalRootHtmlElement),null===this.bootStrapModal){this.bootStrapModal=new m.Modal(this.modalRootHtmlElement,{backdrop:!0,keyboard:!0,focus:!0})}if(void 0!==this.headerText){var a='\n<div class="modal-header">\n <h5 class="modal-title">'.concat(this.headerText,'</h5>\n <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>\n</div>\n');this.modalContent.insertAdjacentHTML("afterbegin",a)}var o,i=!0,l=!1,s=void 0;try{for(var u,c=this.bodies[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var h=u.value;if("string"===(void 0===h?"undefined":(o=h)&&o.constructor===Symbol?"symbol":typeof o))this.modalBody.insertAdjacentHTML("beforeend",h);else this.modalBody.appendChild(h)}}catch(t){l=!0,s=t}finally{try{i||null==c.return||c.return()}finally{if(l)throw s}}if(this.showFooter){var d=document.createElement("div");d.classList.add("modal-footer"),this.modalContent.appendChild(d),0===this.footerButtons.length&&this.addFooterCloseButton();var f=!0,v=!1,y=void 0;try{for(var g,p=this.footerButtons[Symbol.iterator]();!(f=(g=p.next()).done);f=!0){var b=g.value;"string"==typeof b||b instanceof String?d.insertAdjacentHTML("beforeend",b):d.appendChild(b)}}catch(t){v=!0,y=t}finally{try{f||null==p.return||p.return()}finally{if(v)throw y}}}var w="#".concat(this.modalId,' [data-bs-toggle="tooltip"]');document.querySelectorAll(w).forEach((function(t){return new m.Tooltip(t)}))}}],[{key:"createFromId",value:function(e){var n=new t(e);return g[e]=n,n}},{key:"createTemporary",value:function(){return this.createFromId(d.createRandomId())}},{key:"getOrCreate",value:function(e){var n=t.getModal(e);return null===n&&(n=t.createFromId(e)),n}}]),t}();i(p,"getModal",(function(t){return t in g?g[t]:null})),i(p,"listModals",(function(){console.log(Object.keys(g).join(", "))})),i(p,"resetAllModals",(function(){for(var t in g)if(g.hasOwnProperty(t)){g[t].reset()}}));var b={},w=function(t){var e,n=Object.prototype,r=n.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag";function s(t,e,n){return Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,n){return t[e]=n}}function u(t,e,n,r){var a=e&&e.prototype instanceof m?e:m,o=Object.create(a.prototype),i=new F(r||[]);return o._invoke=function(t,e,n){var r=h;return function(a,o){if(r===f)throw new Error("Generator is already running");if(r===v){if("throw"===a)throw o;return A()}for(n.method=a,n.arg=o;;){var i=n.delegate;if(i){var l=S(i,n);if(l){if(l===y)continue;return l}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===h)throw r=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=f;var s=c(t,e,n);if("normal"===s.type){if(r=n.done?v:d,s.arg===y)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r=v,n.method="throw",n.arg=s.arg)}}}(t,n,i),o}function c(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var h="suspendedStart",d="suspendedYield",f="executing",v="completed",y={};function m(){}function g(){}function p(){}var b={};s(b,o,(function(){return this}));var w=Object.getPrototypeOf,k=w&&w(w(O([])));k&&k!==n&&r.call(k,o)&&(b=k);var L=p.prototype=m.prototype=Object.create(b);function E(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function n(a,o,i,l){var s=c(t[a],t,o);if("throw"!==s.type){var u=s.arg,h=u.value;return h&&"object"==typeof h&&r.call(h,"__await")?e.resolve(h.__await).then((function(t){n("next",t,i,l)}),(function(t){n("throw",t,i,l)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return n("throw",t,i,l)}))}l(s.arg)}var a;this._invoke=function(t,r){function o(){return new e((function(e,a){n(t,r,e,a)}))}return a=a?a.then(o,o):o()}}function S(t,n){var r=t.iterator[n.method];if(r===e){if(n.delegate=null,"throw"===n.method){if(t.iterator.return&&(n.method="return",n.arg=e,S(t,n),"throw"===n.method))return y;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return y}var a=c(r,t.iterator,n.arg);if("throw"===a.type)return n.method="throw",n.arg=a.arg,n.delegate=null,y;var o=a.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,y):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,y)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function F(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var a=-1,i=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],n.done=!1,n;return n.value=e,n.done=!0,n};return i.next=i}}return{next:A}}function A(){return{value:e,done:!0}}return g.prototype=p,s(L,"constructor",p),s(p,"constructor",g),g.displayName=s(p,l,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===g||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,p):(t.__proto__=p,s(t,l,"GeneratorFunction")),t.prototype=Object.create(L),t},t.awrap=function(t){return{__await:t}},E(T.prototype),s(T.prototype,i,(function(){return this})),t.AsyncIterator=T,t.async=function(e,n,r,a,o){void 0===o&&(o=Promise);var i=new T(u(e,n,r,a),o);return t.isGeneratorFunction(n)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(L),s(L,l,"Generator"),s(L,o,(function(){return this})),s(L,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},t.values=O,F.prototype={constructor:F,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(x),!t)for(var n in this)"t"===n.charAt(0)&&r.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function a(r,a){return l.type="throw",l.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],l=i.completion;if("root"===i.tryLoc)return a("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(s&&u){if(this.prev<i.catchLoc)return a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.finallyLoc,y):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),x(n),y}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var a=r.arg;x(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),y}},t}(b);try{regeneratorRuntime=w}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=w:Function("r","regeneratorRuntime = r")(w)}var k=function(){"use strict";function t(){r(this,t)}return o(t,null,[{key:"hasWindowGuard",value:function(t){if(!this.hasWindow(t))throw Error("The element has no window")}},{key:"hasWindow",value:function(t){return!(!t||!t.ownerDocument||!t.ownerDocument.defaultView)}},{key:"getWindow",value:function(t){return this.hasWindowGuard(t),t.ownerDocument.defaultView}},{key:"formDataToObject",value:function(t){var e={},n=!0,r=!1,a=void 0;try{for(var o,i=t[Symbol.iterator]();!(n=(o=i.next()).done);n=!0){var l=o.value,s=l[0],u=l[1];if(e.hasOwnProperty(s)){var c=e[s];Array.isArray(c)?e[s].push(u):e[s]=[c,u]}else e[s]=u}}catch(t){r=!0,a=t}finally{try{n||null==i.return||i.return()}finally{if(r)throw a}}return e}}]),t}(),L=function(){"use strict";function t(e){switch(r(this,t),e){case t.AJAX:this.url=new URL(DOKU_BASE+"lib/exe/ajax.php",window.location.href),this.url.searchParams.set("id",JSINFO.id);break;case t.RUNNER:this.url=new URL(DOKU_BASE+"lib/exe/taskrunner.php",window.location.href),this.url.searchParams.set("id",JSINFO.id);break;case t.FETCH:this.url=new URL(DOKU_BASE+"lib/exe/fetch.php",window.location.href);break;case t.EDIT:this.url=new URL(DOKU_BASE+"doku.php",window.location.href),this.url.searchParams.set("do","edit"),this.url.searchParams.set("id",JSINFO.id);break;case t.SHOW:this.url=new URL(DOKU_BASE+"doku.php",window.location.href),this.url.searchParams.set("id",JSINFO.id)}}return o(t,[{key:"setProperty",value:function(t,e){return this.url.searchParams.set(t,e),this}},{key:"toString",value:function(){return this.url.toString()}},{key:"getCall",value:function(){return this.url.searchParams.get(t.CALL)}}],[{key:"createAjax",value:function(e){return new t(this.AJAX).setProperty(t.CALL,e)}},{key:"createRunner",value:function(){return new t(this.RUNNER)}},{key:"createFetch",value:function(e,n){var r=new t(this.FETCH);if(void 0===e)throw new Error("The media id is mandatory");return r.setProperty("media",e),void 0!==n&&r.setProperty("drive",n),r}},{key:"createEdit",value:function(e){var n=new t(this.EDIT);return void 0!==e&&n.setProperty("id",e),n}}]),t}();i(L,"AJAX","AJAX"),i(L,"RUNNER","RUNNER"),i(L,"CALL","call"),i(L,"EDIT","edit"),i(L,"SHOW","show"),i(L,"FETCH","fetch");var E=function(){"use strict";function e(t){r(this,e),i(this,"method","GET"),this.url=L.createAjax(t)}return o(e,[{key:"getJson",value:function(){var e=this;return n(t(b).mark((function n(){var r;return t(b).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getResponse();case 2:if(200===(r=t.sent).status){t.next=5;break}return t.abrupt("return",{});case 5:return t.abrupt("return",r.json());case 6:case"end":return t.stop()}}),n)})))()}},{key:"getText",value:function(){var e=this;return n(t(b).mark((function n(){var r;return t(b).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getResponse();case 2:if(200===(r=t.sent).status){t.next=5;break}return t.abrupt("return","");case 5:return t.abrupt("return",r.text());case 6:case"end":return t.stop()}}),n)})))()}},{key:"setMethod",value:function(t){return this.method=t.toUpperCase(),this}},{key:"setProperty",value:function(t,e){return this.url.setProperty(t,e),this}},{key:"sendFormDataAsJson",value:function(t){return fetch(this.url.toString(),{method:this.method,body:JSON.stringify(k.formDataToObject(t)),headers:{"Content-Type":"application/json"}})}},{key:"getResponse",value:function(){var e=this;return n(t(b).mark((function n(){var r,a;return t(b).wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(e.url.toString(),{method:e.method});case 2:return 200!==(r=t.sent).status&&((a=p.createTemporary()).addBody("Bad request: the call ".concat(e.url.getCall()," to the backend sends back the following exit code")+r.status),a.show()),t.abrupt("return",r);case 5:case"end":return t.stop()}}),n)})))()}}]),e}();i(E,"createDokuRequest",(function(t){return new E(t)}));var T,S=function(){"use strict";function t(e){r(this,t),this.date=e}return o(t,[{key:"toSqlTimestampString",value:function(){return"".concat(this.date.getFullYear(),"-").concat((this.date.getMonth()+1).toString().padStart(2,"0"),"-").concat(this.date.getDate().toString().padStart(2,"0")," ").concat(this.date.getHours().toString().padStart(2,"0"),":").concat(this.date.getMinutes().toString().padStart(2,"0"),":").concat(this.date.getSeconds().toString().padStart(2,"0"))}}],[{key:"createFromIso",value:function(e){return new t(new Date(e))}}]),t}();window.combo=(i(T=function(){"use strict";function t(){r(this,t)}return o(t,null,[{key:"toHtmlId",value:function(t){return d.toHtmlId(t)}},{key:"getOrCreateModal",value:function(t){return p.getOrCreate(t)}},{key:"removeAllModals",value:function(){p.resetAllModals()}},{key:"createDokuRequest",value:function(t){return E.createDokuRequest(t)}},{key:"getRunnerUrl",value:function(){return L.createRunner()}},{key:"createFormMetaField",value:function(t){return f.createFromName(t)}},{key:"createFormFromJson",value:function(t,e){return y.createFromJson(t,e)}},{key:"createTemporaryModal",value:function(){return p.createTemporary()}}]),t}(),"comboDate",S),i(T,"DokuUrl",L),T)}();
H A Dcombo.min.js.map1 {"mappings":"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","sources":["node_modules/@swc/helpers/src/_async_to_generator.js","node_modules/@swc/helpers/src/_class_call_check.js","node_modules/@swc/helpers/src/_create_class.js","node_modules/@swc/helpers/src/_define_property.js","resources/library/combo/Boolean.js","resources/library/combo/Logger.js","node_modules/nanoid/index.browser.js","resources/library/combo/Html.js","resources/library/combo/FormMetaField.js","resources/library/combo/FormMetaTab.js","resources/library/combo/FormMeta.js","%3C%3Cjsx-config-pragma.js%3E%3E","bootstrap.js","resources/library/combo/ComboModal.js","node_modules/@swc/helpers/src/_type_of.js","node_modules/regenerator-runtime/runtime.js","resources/library/combo/Browser.js","resources/library/combo/DokuRequest.js","resources/library/combo/ComboDate.js","resources/library/combo/combo.js"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","\n\nexport default class Boolean {\n\n static toBoolean(value) {\n if (typeof value === \"boolean\") {\n return value;\n }\n return (value === 'true');\n }\n}\n","\nlet logger;\n\n// KISS for now\n// Otherwise, see https://datacadamia.com/web/javascript/logger#library\nexport default class Logger {\n\n static getLogger(){\n if(logger===undefined){\n logger = new Logger();\n }\n return logger;\n }\n\n error(value){\n console.error(value);\n /**\n * Removed by parcel when build\n * https://parceljs.org/features/production/#development-branch-removal\n * And set by Jest to test\n * https://jestjs.io/docs/environment-variables#node_env\n */\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(value);\n }\n }\n\n\n}\n","import { urlAlphabet } from './url-alphabet/index.js'\nif (process.env.NODE_ENV !== 'production') {\n if (\n typeof navigator !== 'undefined' &&\n navigator.product === 'ReactNative' &&\n typeof crypto === 'undefined'\n ) {\n throw new Error(\n 'React Native does not have a built-in secure random generator. ' +\n 'If you don’t need unpredictable IDs use `nanoid/non-secure`. ' +\n 'For secure IDs, import `react-native-get-random-values` ' +\n 'before Nano ID.'\n )\n }\n if (typeof msCrypto !== 'undefined' && typeof crypto === 'undefined') {\n throw new Error(\n 'Import file with `if (!window.crypto) window.crypto = window.msCrypto`' +\n ' before importing Nano ID to fix IE 11 support'\n )\n }\n if (typeof crypto === 'undefined') {\n throw new Error(\n 'Your browser does not have secure random generator. ' +\n 'If you don’t need unpredictable IDs, you can use nanoid/non-secure.'\n )\n }\n}\nlet random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\nlet customRandom = (alphabet, size, getRandom) => {\n let mask = (2 << (Math.log(alphabet.length - 1) / Math.LN2)) - 1\n let step = -~((1.6 * mask * size) / alphabet.length)\n return () => {\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n id += alphabet[bytes[j] & mask] || ''\n if (id.length === size) return id\n }\n }\n }\n}\nlet customAlphabet = (alphabet, size) => customRandom(alphabet, size, random)\nlet nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array(size))\n while (size--) {\n let byte = bytes[size] & 63\n if (byte < 36) {\n id += byte.toString(36)\n } else if (byte < 62) {\n id += (byte - 26).toString(36).toUpperCase()\n } else if (byte < 63) {\n id += '_'\n } else {\n id += '-'\n }\n }\n return id\n}\nexport { nanoid, customAlphabet, customRandom, urlAlphabet, random }\n","import {customAlphabet, nanoid} from \"nanoid\";\n\nexport default class Html {\n\n static toHtmlId(s) {\n /**\n * A point is also replaced otherwise you\n * can't use the id as selector in CSS\n */\n return s\n .toString() // in case of number\n .replace(/[_.\\s:\\/\\\\]/g, \"-\");\n }\n\n static createRandomId() {\n /**\n * Shorthand selector does not support numbers\n * as first position\n * The alphabet does not allow them then\n */\n const nanoid = customAlphabet('abcdefghijklmnopqrstuvwxyz', 10)\n return nanoid();\n }\n\n static toEntities(text) {\n let entities = [];\n for (let i = 0; i < text.length; i++) {\n let entity = `&#${text[i].charCodeAt()};`\n entities.push(entity);\n }\n return entities.join('');\n }\n}\n","import Boolean from \"./Boolean\";\nimport Logger from \"./Logger\";\nimport Html from \"./Html\";\n\n\n/**\n * A form field may hold:\n * * a simple scalar value\n * * or a table (list of values)\n */\nexport default class FormMetaField {\n\n\n tab = \"unknown\";\n mutable = true;\n values = [];\n defaultValues = [];\n multiple = false;\n\n /**\n * Static const function\n * Waiting for the const keyword\n * to make them not mutable\n * @type {string}\n */\n static TABULAR_TYPE = \"tabular\";\n static DATE_TIME = \"datetime\";\n static PARAGRAPH = \"paragraph\";\n static BOOLEAN = \"boolean\";\n\n children = {};\n static JSON = \"json\";\n\n\n constructor(name) {\n this.name = name;\n }\n\n getLabelAnchor() {\n if (this.getUrl() === undefined && this.getDescription() === undefined) {\n return this.getLabel();\n }\n let url = this.getUrl();\n if (this.getUrl() === undefined) {\n url = \"#\";\n return `\n<span class=\"d-inline-block\" tabindex=\"0\" data-bs-toggle=\"tooltip\" title=\"${this.getDescription()}\">\n <a href=\"${url}\" title=\"${this.getDescription()}\" style=\"text-decoration:none;pointer-events: none;\">${this.getLabel()}</a>\n</span>`;\n } else {\n return `<a href=\"${url}\" title=\"${this.getDescription()}\" data-bs-toggle=\"tooltip\" style=\"text-decoration:none\" target=\"_blank\">${this.getLabel()}</a>`;\n }\n }\n\n /**\n * The form field type\n * @param {string} type\n * @return {FormMetaField}\n */\n setType(type) {\n this.type = type;\n return this;\n }\n\n /**\n * The global label\n * (should be not null in case of tabular data)\n * @param {string} label\n * @return {FormMetaField}\n */\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n /**\n * The global Url\n * (should be not null in case of tabular data)\n * @param {string} url\n * @return {FormMetaField}\n */\n setUrl(url) {\n this.url = url;\n return this;\n }\n\n\n /**\n * @param value\n * @param defaultValue\n * @return {FormMetaField}\n */\n addValue(value, defaultValue) {\n this.values.push(value);\n this.defaultValues.push(defaultValue);\n return this;\n }\n\n\n getType() {\n return this.type;\n }\n\n getLabel() {\n if (this.label === undefined) {\n return this.getName()\n .split(/_|-/)\n .map(word => word.charAt(0).toUpperCase() + word.slice(1))\n .join(\" \");\n }\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getName() {\n return this.name;\n }\n\n getDescription() {\n return this.description;\n }\n\n getTab() {\n return this.tab;\n }\n\n /**\n *\n * @param json\n * @param {FormMetaField} parent\n * @return {FormMetaField}\n */\n static createFromJson(json, parent = null) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"To create a form meta field, the name property is mandatory.\");\n }\n let name = json[\"name\"];\n let formMetaField = FormMetaField.createFromName(name);\n if (parent != null) {\n formMetaField.setParent(parent);\n }\n\n let value;\n let valueDefault;\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n formMetaField.setLabel(jsonValue);\n continue;\n case \"tab\":\n formMetaField.setTab(jsonValue);\n continue;\n case \"type\":\n formMetaField.setType(jsonValue);\n continue;\n case \"mutable\":\n formMetaField.setMutable(jsonValue);\n continue;\n case \"description\":\n formMetaField.setDescription(jsonValue);\n continue;\n case \"url\":\n formMetaField.setUrl(jsonValue);\n continue;\n case \"value\":\n value = jsonValue;\n continue;\n case \"default\":\n valueDefault = jsonValue;\n continue;\n case \"domain-values\":\n formMetaField.setDomainValues(jsonValue);\n continue;\n case \"multiple\":\n formMetaField.setMultiple(jsonValue);\n continue;\n case \"width\":\n formMetaField.setControlWidth(jsonValue);\n continue;\n case \"children\":\n let jsonChildren = jsonValue;\n for (let jsonChildProp in jsonChildren) {\n if (!jsonChildren.hasOwnProperty(jsonChildProp)) {\n continue;\n }\n let child = FormMetaField.createFromJson(jsonChildren[jsonChildProp], formMetaField);\n formMetaField.addChild(child);\n }\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the form (${name}) is unknown`);\n }\n }\n if (!Array.isArray(value)) {\n formMetaField.addValue(value, valueDefault);\n } else {\n value.forEach((element, index) => {\n let valueDefaultElement = valueDefault[index];\n if (valueDefaultElement !== undefined) {\n formMetaField.addValue(element, valueDefaultElement);\n } else {\n formMetaField.addValue(element);\n }\n })\n }\n return formMetaField;\n }\n\n setMultiple(multiple) {\n this.multiple = multiple;\n return this;\n }\n\n setParent(parent) {\n this.parent = parent;\n return this;\n }\n\n /**\n *\n * @param name\n * @return {FormMetaField}\n */\n static createFromName(name) {\n return new FormMetaField(name);\n }\n\n isMutable() {\n return this.mutable;\n }\n\n setTab(value) {\n this.tab = value;\n return this;\n }\n\n /**\n *\n * @param {boolean} value\n */\n setMutable(value) {\n this.mutable = Boolean.toBoolean(value);\n return this;\n }\n\n setDescription(value) {\n this.description = value;\n return this;\n }\n\n getDefaultValue() {\n return this.defaultValues[0];\n }\n\n getValue() {\n return this.values[0];\n }\n\n getDomainValues() {\n return this.domainValues;\n }\n\n setDomainValues(value) {\n if (!Array.isArray(value)) {\n console.error(`The domains values should be an array. (${value}) is not an array`);\n return;\n }\n this.domainValues = value;\n return this;\n }\n\n /**\n *\n * @param width - the width of the control, not of the label as it can be derived - in a tabular form, there is none, otherwise the {@link FormMetaTab.getWidth total width} of the tab minus this control width)\n * @return {FormMetaField}\n */\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n getControlWidth() {\n if (this.width === undefined && this.parent !== undefined) {\n return 12 / this.parent.getChildren().length;\n }\n return this.width;\n }\n\n getValues() {\n return this.values;\n }\n\n getDefaultValues() {\n return this.defaultValues;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n *\n * See also the concept of list of objects\n * https://react-jsonschema-form.readthedocs.io/en/latest/usage/arrays/#arrays-of-objects\n *\n */\n getChildren() {\n return Object.values(this.children);\n }\n\n addChild(child) {\n this.children[child.getName()] = child;\n return this;\n }\n\n toHtmlLabel(forId, customClass) {\n let label = this.getLabelAnchor();\n let classLabel = \"\";\n if (this.getType() === FormMetaField.BOOLEAN) {\n classLabel = \"form-check-label\"\n } else {\n classLabel = \"col-form-label\";\n }\n if(typeof customClass !== 'undefined'){\n classLabel =`${customClass} ${classLabel}`\n }\n return `<label for=\"${forId}\" class=\"${classLabel}\">${label}</label>`\n }\n\n toHtmlControl(id, value = null, defaultValue = null) {\n\n let metadataType = this.getType();\n let mutable = this.isMutable();\n let domainValues = this.getDomainValues();\n let disabled;\n let htmlElement;\n\n /**\n * The creation of the form element\n */\n if (domainValues !== undefined) {\n\n /**\n * Select element\n * @type {string}\n */\n htmlElement = \"select\";\n let defaultValueHtml = \"\";\n if (defaultValue !== undefined) {\n defaultValueHtml = ` (${defaultValue})`;\n }\n\n let multiple = \"\";\n if (this.getMultiple()) {\n multiple = \"multiple\";\n }\n\n htmlElement = `<select class=\"form-select\" aria-label=\"${this.getLabel()}\" name=\"${this.getName()}\" id=\"${id}\" ${multiple}>`;\n let selected = \"\";\n if (value === null) {\n selected = \"selected\";\n }\n htmlElement += `<option value=\"\" ${selected}>Default${defaultValueHtml}</option>`;\n for (let selectValue of domainValues) {\n if (selectValue === value) {\n selected = \"selected\";\n } else {\n selected = \"\";\n }\n htmlElement += `<option value=\"${selectValue}\" ${selected}>${selectValue}</option>`;\n }\n htmlElement += `</select>`;\n return htmlElement;\n\n\n } else {\n\n /**\n * Placeholder default\n * @type {string}\n */\n let placeholderValue = `No value`;\n if (mutable) {\n placeholderValue = `Enter a ${this.getLabel()}`;\n }\n // value\n if (!(defaultValue === null || defaultValue === undefined)) {\n if (typeof defaultValue === 'string' || defaultValue instanceof String) {\n // json data for instance\n placeholderValue = Html.toEntities(defaultValue);\n } else {\n placeholderValue = defaultValue;\n }\n }\n let htmlPlaceholder = `placeholder=\"${placeholderValue}\"`;\n\n let htmlValue = \"\";\n let inputType;\n let name = this.getName();\n\n /**\n * With disable, the data is not in the form\n */\n if (mutable !== undefined && mutable === false) {\n disabled = \"disabled\";\n } else {\n disabled = \"\";\n }\n\n /**\n * Input Element\n * @type {string}\n */\n let htmlTag = \"input\";\n let htmlClass = \"form-control\";\n let checked = \"\";\n /**\n * Text area\n */\n let rows = 3;\n\n /**\n * Type ?\n */\n switch (metadataType) {\n case FormMetaField.DATE_TIME:\n inputType = \"datetime-local\";\n if (value !== null) {\n value = value.slice(0, 19);\n htmlValue = `value=\"${value}\"`;\n } else {\n if (!mutable && defaultValue !== null) {\n defaultValue = defaultValue.slice(0, 19);\n htmlValue = `value=\"${defaultValue}\"`;\n }\n }\n htmlPlaceholder = \"\"; // does not apply to local date time\n\n break;\n case FormMetaField.PARAGRAPH:\n htmlTag = \"textarea\";\n if (value !== null) {\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n break;\n case FormMetaField.JSON:\n htmlTag = \"textarea\";\n if (value !== null) {\n if(typeof value === 'object'){\n value = JSON.stringify(value, null, 2);\n }\n value = Html.toEntities(value);\n htmlValue = `${value}`;\n }\n rows = 15;\n break;\n case FormMetaField.BOOLEAN:\n inputType = \"checkbox\";\n htmlClass = \"form-check-input\";\n if (defaultValue !== null) {\n htmlValue = `value=\"${defaultValue}\"`;\n if (value === defaultValue) {\n checked = \"checked\"\n }\n } else {\n if (value === \"on\") {\n checked = \"checked\"\n }\n }\n\n htmlPlaceholder = \"\";\n break;\n default:\n inputType = \"text\";\n if (!(value === null || value === undefined)) {\n htmlValue = `value=\"${value}\"`;\n }\n }\n\n switch (htmlTag) {\n case \"textarea\":\n htmlElement = `<textarea id=\"${id}\" name=\"${name}\" class=\"${htmlClass}\" rows=\"${rows}\" ${htmlPlaceholder} ${disabled}>${htmlValue}</textarea>`;\n break;\n default:\n case \"input\":\n htmlElement = `<input type=\"${inputType}\" name=\"${name}\" class=\"${htmlClass}\" id=\"${id}\" ${htmlPlaceholder} ${htmlValue} ${checked} ${disabled}/>`;\n break;\n\n }\n return htmlElement;\n }\n\n }\n\n /**\n * Added to be able to add metadata to the returned Json Form\n * It has not yet all properties\n * @return\n */\n toJavascriptObject() {\n return {\n \"name\": this.getName(),\n \"label\": this.getLabel(),\n \"type\": this.getType(),\n \"description\": this.getDescription(),\n \"tab\": this.getTab(),\n \"mutable\": this.isMutable(),\n \"value\": this.getValue(),\n \"default\": this.getDefaultValue(),\n \"url\": this.getUrl()\n }\n }\n\n getMultiple() {\n return this.multiple;\n }\n}\n","import Logger from \"./Logger\";\n\n\nexport default class FormMetaTab {\n\n\n constructor(name) {\n this.name = name;\n }\n\n getName() {\n return this.name;\n }\n\n setWidth(width) {\n this.width = width;\n }\n\n /**\n * The width of the tab\n */\n getWidth() {\n return this.width;\n }\n\n static createFromJson(json) {\n if (!json.hasOwnProperty(\"name\")) {\n Logger.getLogger().error(\"A name property is mandatory to create a tab and was not found in the json provided\")\n }\n let name = json[\"name\"];\n let tab = new FormMetaTab(name);\n for (let property in json) {\n if (!json.hasOwnProperty(property)) {\n continue;\n }\n let jsonValue = json[property];\n switch (property) {\n case \"name\":\n continue;\n case \"label\":\n tab.setLabel(jsonValue);\n continue;\n case \"width-field\":\n tab.setWidthField(jsonValue);\n continue;\n case \"width-label\":\n tab.setWidthLabel(jsonValue);\n continue;\n default:\n Logger.getLogger().error(`The property (${property}) of the tab (${name}) is unknown`);\n }\n }\n return tab;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n getLabel(){\n if(this.label===undefined){\n return this.name;\n }\n return this.label;\n }\n\n setWidthField(width) {\n this.widthField = width;\n return this;\n }\n\n setWidthLabel(width) {\n this.widthLabel = width;\n return this;\n }\n\n getLabelWidth(){\n if(this.widthLabel===undefined){\n return 3;\n }\n return this.widthLabel;\n }\n\n getFieldWidth(){\n if(this.widthField===undefined){\n return 12 - this.getLabelWidth();\n }\n return this.widthField;\n }\n\n static createFromName(name) {\n return new FormMetaTab(name);\n }\n}\n","'use strict';\n\nimport FormMetaField from \"./FormMetaField\";\nimport FormMetaTab from \"./FormMetaTab\";\nimport Html from \"./Html\";\nimport Logger from \"./Logger\";\n\n/**\n * Represent the top meta\n * data from a form\n */\nexport default class FormMeta {\n\n formFields = {};\n tabs = {};\n width = 8;\n\n\n constructor(id) {\n\n if (id == null) {\n throw new Error(\"The if of the form should not be null\");\n }\n this.name = id;\n }\n\n /**\n * @return string\n */\n getLabel() {\n return this.label;\n }\n\n getUrl() {\n return this.url;\n }\n\n getId() {\n return this.name;\n }\n\n /**\n * The width of the control\n * if there is no tab\n * @return {number|*}\n */\n getControlWidth() {\n return this.width;\n }\n\n getLabelWidth() {\n return 12 - this.getControlWidth();\n }\n\n\n /**\n *\n * @param {string} formId\n * @param {Object} json\n * @return {FormMeta}\n */\n static createFromJson(formId, json) {\n let form = FormMeta.createFromId(formId);\n for (let prop in json) {\n if (!json.hasOwnProperty(prop)) {\n continue;\n }\n let value = json[prop];\n switch (prop) {\n case \"fields\":\n let fields = value;\n for (let field in fields) {\n if (fields.hasOwnProperty(field)) {\n form.addFormField(FormMetaField.createFromJson(fields[field]));\n }\n }\n continue;\n case \"tabs\":\n let tabs = value;\n for (let tab in tabs) {\n if (tabs.hasOwnProperty(tab)) {\n form.addTab(FormMetaTab.createFromJson(tabs[tab]));\n }\n }\n break;\n case \"width\":\n form.setControlWidth(value);\n break;\n case \"label\":\n form.setLabel(value);\n break;\n case \"url\":\n form.setUrl(value);\n break;\n default:\n Logger.getLogger().error(`The form property (${prop}) is unknown`);\n }\n\n\n }\n return form;\n }\n\n /**\n *\n * @param id\n * @return {FormMeta}\n */\n static createFromId(id) {\n return new FormMeta(id);\n }\n\n /**\n *\n * @param {FormMetaField} formField\n * @return {FormMeta}\n */\n addFormField(formField) {\n this.formFields[formField.getName()] = formField;\n // Be sure to have a tab for each field\n if (!this.tabs.hasOwnProperty(formField.getTab())) {\n this.tabs[formField.getTab()] = FormMetaTab.createFromName(formField.getTab());\n }\n return this;\n }\n\n /**\n *\n * @return {FormMetaField[]}\n */\n getFields() {\n return Object.values(this.formFields);\n }\n\n /**\n *\n * @return {FormMetaTab[]}\n */\n getTabs() {\n return Object.values(this.tabs);\n }\n\n addTab(formMetaTab) {\n this.tabs[formMetaTab.getName()] = formMetaTab;\n }\n\n valueOf() {\n return this.getId();\n };\n\n getFieldsForTab(tabName) {\n return this.getFields().filter(e => e.getTab() === tabName);\n }\n\n toHtmlElement() {\n\n let formId = this.getId();\n\n /**\n * Creating the Body\n * (Starting with the tabs)\n */\n let htmlTabNavs = '<ul class=\"nav nav-tabs mb-3\">';\n let activeClass;\n let ariaSelected;\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabPaneId = function (tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-pane-${htmlId}`;\n }\n /**\n * @param {FormMetaTab} tab\n * @return string\n */\n this.getTabNavId = function (/** @type {FormMetaTab}*/ tab) {\n let htmlId = Html.toHtmlId(tab.getName());\n return `${formId}-tab-nav-${htmlId}`;\n }\n this.getControlId = function (id) {\n let htmlId = Html.toHtmlId(id);\n return `${formId}-control-${htmlId}`;\n }\n let tabsMeta = this.getTabs();\n let defaultTab = tabsMeta[0];\n for (let tab of tabsMeta) {\n if (Object.is(tab, defaultTab)) {\n activeClass = \"active\";\n ariaSelected = \"true\";\n } else {\n activeClass = \"\";\n ariaSelected = \"false\";\n }\n let tabLabel = tab.getLabel();\n let tabPanId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n htmlTabNavs += `\n<li class=\"nav-item\">\n<button\n class=\"nav-link ${activeClass}\"\n id=\"${tabNavId}\"\n type=\"button\"\n role=\"tab\"\n aria-selected = \"${ariaSelected}\"\n aria-controls = \"${tabPanId}\"\n data-bs-toggle = \"tab\"\n data-bs-target = \"#${tabPanId}\" >${tabLabel}\n </button>\n</li>`\n }\n htmlTabNavs += '</ul>';\n\n /**\n * Creating the content\n * @type {string}\n */\n let htmlTabPans = \"<div class=\\\"tab-content\\\">\";\n let rightColSize;\n let leftColSize;\n let elementIdCounter = 0;\n for (let tab of tabsMeta) {\n let tabPaneId = this.getTabPaneId(tab);\n let tabNavId = this.getTabNavId(tab);\n if (tab === defaultTab) {\n activeClass = \"active\";\n } else {\n activeClass = \"\";\n }\n htmlTabPans += `<div class=\"tab-pane ${activeClass}\" id=\"${tabPaneId}\" role=\"tabpanel\" aria-labelledby=\"${tabNavId}\">`;\n leftColSize = tab.getLabelWidth();\n rightColSize = tab.getFieldWidth();\n\n let fieldsForTab = this.getFieldsForTab(tab.getName());\n\n /**\n * Case one field without children\n * It should take the whole space\n */\n if (fieldsForTab.length === 1) {\n let formField = fieldsForTab[0];\n if (formField.getChildren().length === 0) {\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3 text-center\"><div class=\"col-sm-12\">${labelHtml}</div></div>\n<div class=\"row mb-3\"><div class=\"col-sm-12\">${controlHtml}</div></div>\n`;\n htmlTabPans += \"</div>\"; // close the pan\n continue;\n }\n\n }\n\n for (let formField of fieldsForTab) {\n\n let children = formField.getChildren();\n switch (children.length) {\n case 0:\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let labelHtml = formField.toHtmlLabel(elementId, `col-sm-${leftColSize}`);\n let value = formField.getValue();\n let defaultValue = formField.getDefaultValue();\n let controlHtml = formField.toHtmlControl(elementId, value, defaultValue)\n htmlTabPans += `\n<div class=\"row mb-3\">\n ${labelHtml}\n <div class=\"col-sm-${rightColSize}\">${controlHtml}</div>\n</div>\n`;\n break;\n default:\n let url = formField.getLabelAnchor();\n htmlTabPans += `<div class=\"row mb-3 text-center\">${url}</div>`;\n htmlTabPans += `<div class=\"row mb-3\">`;\n let rows = 0;\n for (const child of formField.getChildren()) {\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width} text-center\">`;\n htmlTabPans += child.getLabelAnchor();\n htmlTabPans += `</div>`;\n let valuesLength = child.getValues().length;\n if (valuesLength > rows) {\n rows = valuesLength;\n }\n }\n htmlTabPans += `</div>`;\n\n for (let i = 0; i < rows; i++) {\n htmlTabPans += `<div class=\"row mb-3\">`;\n for (const child of formField.getChildren()) {\n let value = child.getValues()[i];\n let defaultValue = child.getDefaultValues()[i];\n elementIdCounter++;\n let elementId = this.getControlId(elementIdCounter);\n let width = child.getControlWidth();\n htmlTabPans += `<div class=\"col-sm-${width}\">`;\n htmlTabPans += child.toHtmlControl(elementId, value, defaultValue);\n htmlTabPans += `</div>`;\n }\n htmlTabPans += `</div>`;\n }\n\n break;\n\n }\n\n }\n htmlTabPans += \"</div>\";\n }\n htmlTabPans += \"</div>\";\n\n let form = document.createElement(\"form\");\n form.setAttribute(\"id\", formId);\n form.innerHTML = `${htmlTabNavs} ${htmlTabPans}`;\n return form;\n }\n\n\n setControlWidth(width) {\n this.width = width;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n }\n\n setUrl(url) {\n this.url = url;\n }\n\n}\n",null,"module.exports=bootstrap;","/**\n * A pointer to the created modals\n * Private\n */\nimport Html from \"./Html\";\nimport {Modal, Tooltip, Tab} from \"bootstrap\";\nimport Logger from \"./Logger\";\n\n/**\n *\n * @type {Object.<string, ComboModal>}\n */\nlet comboModals = {};\n\nexport default class ComboModal {\n\n\n footerButtons = [];\n bodies = [];\n isBuild = false;\n bodyStyles = {};\n dialogStyles = {};\n showFooter = true;\n dialogClasses = [];\n\n /**\n * A valid HTML id\n * @param modalId\n */\n constructor(modalId) {\n\n this.modalId = modalId;\n /**\n * We create the modal root because developers may want to add\n * event on it right away\n * @type {HTMLDivElement}\n */\n let queryElement = document.getElementById(modalId);\n if (queryElement !== null) {\n Logger.getLogger().error(`The id (${modalId}) given to create a modal was already used by an element in the DOM. We have reused it.`)\n this.modalRootHtmlElement = queryElement;\n this.reset();\n } else {\n this.modalRootHtmlElement = document.createElement(\"div\");\n this.modalRootHtmlElement.setAttribute(\"id\", this.modalId);\n this.modalRootHtmlElement.classList.add(\"modal\", \"fade\");\n // Uncaught RangeError: Maximum call stack size exceeded caused by the tabindex\n // modalRoot.setAttribute(\"tabindex\", \"-1\");\n this.modalRootHtmlElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n }\n\n setHeader(headerText) {\n this.headerText = headerText;\n return this;\n }\n\n /**\n * @param htmlBody\n * @return {ComboModal}\n */\n addBody(htmlBody) {\n\n this.bodies.push(htmlBody);\n return this;\n\n }\n\n addBodyStyle(property, value) {\n\n this.bodyStyles[property] = value;\n return this;\n\n }\n\n noFooter() {\n this.showFooter = false;\n return this;\n }\n\n addDialogStyle(property, value) {\n\n this.dialogStyles[property] = value;\n return this;\n\n }\n\n addDialogClass(value) {\n\n this.dialogClasses.push(value);\n return this;\n\n }\n\n /**\n * @return {ComboModal}\n */\n resetOnClose() {\n this.isResetOnClose = true;\n return this;\n }\n\n\n /**\n *\n * @type HTMLButtonElement|string htmlFooter\n */\n addFooterButton(htmlFooter) {\n\n this.footerButtons.push(htmlFooter);\n return this;\n }\n\n /**\n *\n * @return HTMLButtonElement the close button\n */\n addFooterCloseButton(label = \"Close\") {\n this.closeButton = document.createElement(\"button\");\n this.closeButton.classList.add(\"btn\", \"btn-secondary\")\n this.closeButton.innerHTML = label;\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n modal.bootStrapModal.hide();\n });\n this.addFooterButton(this.closeButton);\n return this;\n }\n\n /**\n * Center the modal\n * @return {ComboModal}\n */\n centered() {\n this.isCentered = true;\n return this;\n }\n\n show() {\n\n if (this.modalRootHtmlElement == null) {\n throw new Error(\"This modal has no HTML element, you can't use it anymore\");\n }\n\n if (!this.isBuild) {\n this.build();\n }\n\n /**\n * Reset on close ?\n * Included tabs does not work anymore\n * for whatever reason\n */\n if (this.isResetOnClose === true) {\n let comboModal = this;\n this.getElement().addEventListener('hidden.bs.modal', function () {\n /**\n * the event is only dispatch on the root element, not all modal\n */\n comboModal.reset();\n });\n }\n\n /**\n * Callback (Parent Child Relationship)\n */\n if (this.callBack !== undefined) {\n if (this.closeButton !== undefined) {\n let modal = this;\n this.closeButton.addEventListener(\"click\", function () {\n /**\n * Two modals cannot be open at the same time\n * https://getbootstrap.com/docs/5.0/components/modal/#toggle-between-modals\n */\n modal.dismissHide();\n modal.callBack();\n });\n }\n }\n\n this.bootStrapModal.show();\n\n\n }\n\n dismissHide() {\n if (this.bootStrapModal !== undefined) {\n this.bootStrapModal.hide();\n }\n }\n\n getModalId() {\n return this.modalId;\n }\n\n /**\n *\n * @param {function} callBack\n */\n setCallBackOnClose(callBack) {\n this.callBack = callBack;\n return this;\n }\n\n\n /**\n * Create a modal and return the modal content element\n * @return ComboModal\n */\n static createFromId(modalId) {\n let modal = new ComboModal(modalId);\n comboModals[modalId] = modal;\n return modal;\n }\n\n /**\n * @param modalId\n * @return {ComboModal}\n */\n static getModal = function (modalId) {\n\n if (modalId in comboModals) {\n return comboModals[modalId];\n } else {\n return null;\n }\n }\n\n /**\n * List the managed modals\n */\n static listModals = function () {\n console.log(Object.keys(comboModals).join(\", \"));\n }\n\n /**\n * Delete all modals\n */\n static resetAllModals = function () {\n for (let prop in comboModals) {\n if (comboModals.hasOwnProperty(prop)) {\n let modal = comboModals[prop];\n modal.reset();\n }\n }\n }\n\n /**\n *\n * @return {ComboModal}\n */\n static createTemporary() {\n return this.createFromId(Html.createRandomId());\n }\n\n getElement() {\n return this.modalRootHtmlElement;\n }\n\n /**\n * Calling the {@link show} function will build the\n * modal, if this is the case, you can't build it anymore\n * you need to {@link reset} it and recreate it if needed\n * @return {boolean}\n */\n wasBuild() {\n return this.isBuild;\n }\n\n setCentered(bool){\n this.isCentered = bool;\n return this;\n }\n resetIfBuild() {\n if (this.wasBuild()) {\n this.reset();\n }\n return this;\n }\n\n reset() {\n\n // DOM\n this.modalRootHtmlElement.querySelectorAll('[data-bs-toggle=\"tab\"]').forEach(tabTriggerElement => {\n let tab = Tab.getInstance(tabTriggerElement);\n if (tab !== null) {\n // tab are only created when the user click on them\n tab.dispose();\n }\n })\n\n /**\n * Bootstrap Modal\n * dispose should delete the root element\n * but it does not\n */\n if (this.bootStrapModal !== undefined) {\n this.dismissHide();\n }\n this.modalRootHtmlElement.innerHTML = \"\";\n\n /**\n * Content\n */\n this.isBuild = false;\n this.bodies = [];\n this.footerButtons = [];\n this.headerText = undefined;\n }\n\n /**\n * Build the modal\n */\n build() {\n\n this.isBuild = true;\n\n document.body.appendChild(this.modalRootHtmlElement);\n\n const modalManagerDialog = document.createElement(\"div\");\n modalManagerDialog.classList.add(\n \"modal-dialog\",\n \"modal-dialog-scrollable\",\n \"modal-lg\");\n if (this.isCentered) {\n modalManagerDialog.classList.add(\"modal-dialog-centered\")\n } else {\n // Get the modal more central but fix as we have tab and\n // we want still the mouse below the tab to be at the same position when we click\n modalManagerDialog.style.setProperty(\"margin\", \"5rem auto\");\n modalManagerDialog.style.setProperty(\"height\", \"calc(100% - 9rem)\");\n }\n for (let dialogStyleName in this.dialogStyles) {\n if (!this.dialogStyles.hasOwnProperty(dialogStyleName)) {\n continue;\n }\n modalManagerDialog.style.setProperty(dialogStyleName, this.dialogStyles[dialogStyleName]);\n }\n for (let dialogClass in this.dialogClasses){\n modalManagerDialog.classList.add(dialogClass);\n }\n this.modalRootHtmlElement.appendChild(modalManagerDialog);\n this.modalContent = document.createElement(\"div\");\n this.modalContent.classList.add(\"modal-content\");\n modalManagerDialog.appendChild(this.modalContent);\n\n this.modalBody = document.createElement(\"div\");\n this.modalBody.classList.add(\"modal-body\");\n for (let bodyStyleName in this.bodyStyles) {\n if (!this.bodyStyles.hasOwnProperty(bodyStyleName)) {\n continue;\n }\n this.modalBody.style.setProperty(bodyStyleName, this.bodyStyles[bodyStyleName]);\n }\n this.modalContent.appendChild(this.modalBody);\n\n\n /**\n * No need to use the global variable access mode (ie `bootstrap.Modal`)\n * It's created at build time\n * @type {Modal}\n */\n this.bootStrapModal = Modal.getInstance(this.modalRootHtmlElement);\n if (this.bootStrapModal === null) {\n /**\n * The bootstrap modal function\n * can only be invoked when the body element has been defined\n */\n let options = {\n \"backdrop\": true,\n \"keyboard\": true,\n \"focus\": true\n };\n this.bootStrapModal = new Modal(this.modalRootHtmlElement, options);\n }\n\n /**\n * Building the header\n */\n if (this.headerText !== undefined) {\n let headerHtml = `\n<div class=\"modal-header\">\n <h5 class=\"modal-title\">${this.headerText}</h5>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>\n</div>\n`;\n this.modalContent.insertAdjacentHTML('afterbegin', headerHtml);\n }\n\n /**\n * Building the body\n */\n for (let body of this.bodies) {\n let type = typeof body;\n switch (type) {\n case \"string\":\n this.modalBody.insertAdjacentHTML('beforeend', body);\n break;\n default:\n case \"object\":\n this.modalBody.appendChild(body);\n break;\n }\n }\n\n /**\n * Footer button\n */\n if(this.showFooter) {\n let modalFooter = document.createElement(\"div\");\n modalFooter.classList.add(\"modal-footer\");\n this.modalContent.appendChild(modalFooter);\n\n if (this.footerButtons.length === 0) {\n this.addFooterCloseButton();\n }\n\n for (let footerButton of this.footerButtons) {\n if (typeof footerButton === 'string' || footerButton instanceof String) {\n modalFooter.insertAdjacentHTML('beforeend', footerButton);\n } else {\n modalFooter.appendChild(footerButton);\n }\n }\n }\n\n /**\n * Init the tooltip if any\n */\n let tooltipSelector = `#${this.modalId} [data-bs-toggle=\"tooltip\"]`;\n document.querySelectorAll(tooltipSelector).forEach(el => new Tooltip(el));\n }\n\n\n static getOrCreate(modalId) {\n let modal = ComboModal.getModal(modalId);\n if (modal === null) {\n modal = ComboModal.createFromId(modalId);\n }\n return modal;\n }\n}\n","export default function _typeof(obj) {\n \"@swc/helpers - typeof\";\n return obj && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n define(Gp, \"constructor\", GeneratorFunctionPrototype);\n define(GeneratorFunctionPrototype, \"constructor\", GeneratorFunction);\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","\n\nexport default class Browser {\n\n\n /**\n *\n * @param element\n * @return {boolean}\n */\n static hasWindowGuard(element) {\n if(!this.hasWindow(element)) {\n throw Error(\"The element has no window\")\n }\n }\n\n static hasWindow(element) {\n return !(!element ||\n !element.ownerDocument ||\n !element.ownerDocument.defaultView);\n }\n\n static getWindow(element){\n this.hasWindowGuard(element);\n return element.ownerDocument.defaultView\n }\n\n static formDataToObject(formData){\n let obj = {};\n for (let entry of formData) {\n let name = entry[0];\n let value = entry[1];\n if(obj.hasOwnProperty(name)){\n let actualValue = obj[name];\n if(Array.isArray(actualValue)){\n obj[name].push(value);\n } else {\n obj[name] = [actualValue,value];\n }\n } else {\n obj[name] = value\n }\n }\n return obj;\n }\n\n}\n","/* global JSINFO */\n\n/* global DOKU_BASE */\n\nimport ComboModal from \"./ComboModal\";\nimport Browser from \"./Browser\";\n\nexport class DokuUrl {\n\n static AJAX = \"AJAX\";\n static RUNNER = \"RUNNER\";\n static CALL = \"call\";\n static EDIT = \"edit\";\n static SHOW = 'show';\n static FETCH = 'fetch';\n\n constructor(type) {\n switch (type) {\n case DokuUrl.AJAX:\n this.url = new URL(DOKU_BASE + 'lib/exe/ajax.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.RUNNER:\n this.url = new URL(DOKU_BASE + 'lib/exe/taskrunner.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.FETCH:\n this.url = new URL(DOKU_BASE + 'lib/exe/fetch.php', window.location.href);\n break;\n case DokuUrl.EDIT:\n this.url = new URL(DOKU_BASE + 'doku.php', window.location.href);\n this.url.searchParams.set(\"do\", \"edit\");\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n case DokuUrl.SHOW:\n this.url = new URL(DOKU_BASE + 'doku.php', window.location.href);\n this.url.searchParams.set(\"id\", JSINFO.id);\n break;\n }\n\n }\n\n setProperty(key, value) {\n this.url.searchParams.set(key, value);\n return this;\n }\n\n toString() {\n return this.url.toString();\n }\n\n getCall() {\n return this.url.searchParams.get(DokuUrl.CALL);\n }\n\n static createAjax(call) {\n return (new DokuUrl(this.AJAX))\n .setProperty(DokuUrl.CALL, call);\n }\n\n static createRunner() {\n return new DokuUrl(this.RUNNER);\n }\n\n static createFetch(id, drive) {\n let dokuUrl = new DokuUrl(this.FETCH);\n if (typeof id === 'undefined') {\n throw new Error(\"The media id is mandatory\")\n }\n dokuUrl.setProperty(\"media\", id);\n if (typeof drive !== 'undefined') {\n dokuUrl.setProperty(\"drive\", drive);\n }\n return dokuUrl;\n }\n\n static createEdit(id) {\n let dokuUrl = new DokuUrl(this.EDIT);\n if (typeof id !== 'undefined') {\n dokuUrl.setProperty(\"id\", id);\n }\n return dokuUrl;\n }\n}\n\nexport class DokuAjaxRequest {\n\n\n method = \"GET\";\n\n constructor(call) {\n\n this.url = DokuUrl.createAjax(call);\n\n }\n\n async getJson() {\n\n let response = await this.getResponse()\n\n if (response.status !== 200) {\n return {};\n }\n\n // Parses response data to JSON\n // * response.json()\n // * response.text()\n // are promise, you need to pass them to a callback to get the value\n return response.json();\n\n }\n\n async getText() {\n\n let response = await this.getResponse();\n\n if (response.status !== 200) {\n return \"\";\n }\n\n // Parses response data to JSON\n // * response.json()\n // * response.text()\n // are promise, you need to pass them to a callback to get the value\n return response.text();\n\n }\n\n /**\n * @param {string} method\n * @return {DokuAjaxRequest}\n */\n setMethod(method) {\n this.method = method.toUpperCase();\n return this;\n }\n\n setProperty(key, value) {\n this.url.setProperty(key, value);\n return this;\n }\n\n /**\n *\n * @param formData\n * @return {Promise<Response>}\n *\n * We don't send a multipart-form-data\n * because php does not support them\n * natively if the name of the input are\n * not suffixed with `[]` (shame)\n */\n sendFormDataAsJson(formData) {\n\n return fetch(this.url.toString(), {\n method: this.method,\n body: JSON.stringify(Browser.formDataToObject(formData)),\n headers: {\n 'Content-Type': 'application/json'\n },\n });\n }\n\n /**\n * Create a ajax call\n * @return DokuAjaxRequest\n */\n static createDokuRequest = function (call) {\n\n return new DokuAjaxRequest(call);\n }\n\n async getResponse() {\n\n let response = await fetch(this.url.toString(), {method: this.method});\n if (response.status !== 200) {\n let modal = ComboModal.createTemporary()\n modal.addBody(`Bad request: the call ${this.url.getCall()} to the backend sends back the following exit code` + response.status)\n modal.show();\n }\n return response;\n }\n}\n","export default class ComboDate {\n\n constructor(date) {\n this.date = date;\n }\n\n\n static createFromIso(isoString) {\n let date = new Date(isoString);\n return new ComboDate(date)\n }\n\n toSqlTimestampString() {\n return `${this.date.getFullYear()}-${(this.date.getMonth() + 1).toString().padStart(2, '0')}-${this.date.getDate().toString().padStart(2, '0')} ${this.date.getHours().toString().padStart(2, '0')}:${this.date.getMinutes().toString().padStart(2, '0')}:${this.date.getSeconds().toString().padStart(2, '0')}`;\n }\n\n\n}\n","import FormMeta from \"./FormMeta\";\nimport Html from \"./Html\";\nimport ComboModal from \"./ComboModal\";\nimport {DokuAjaxRequest, DokuUrl} from \"./DokuRequest\";\nimport FormMetaField from \"./FormMetaField\";\nimport ComboDate from \"./ComboDate\";\n\nwindow['combo'] = class combo {\n\n static toHtmlId(name) {\n return Html.toHtmlId(name)\n }\n\n static comboDate = ComboDate;\n static DokuUrl = DokuUrl;\n\n static getOrCreateModal(id) {\n return ComboModal.getOrCreate(id);\n }\n\n static removeAllModals() {\n ComboModal.resetAllModals();\n }\n\n static createDokuRequest(callName) {\n return DokuAjaxRequest.createDokuRequest(callName);\n }\n\n static getRunnerUrl() {\n return DokuUrl.createRunner();\n }\n\n static createFormMetaField(name) {\n return FormMetaField.createFromName(name);\n }\n\n /**\n *\n * @param formId\n * @param json\n * @return {FormMeta}\n */\n static createFormFromJson(formId, json) {\n return FormMeta.createFromJson(formId, json);\n }\n\n /**\n * @return {ComboModal}\n */\n static createTemporaryModal() {\n return ComboModal.createTemporary();\n }\n\n}\n\n"],"names":["$dfa183d8cc942563$var$asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","$dfa183d8cc942563$export$2e2bcd8739ae039","fn","self","this","args","arguments","apply","err","undefined","$b07b5082a7b10ea2$export$2e2bcd8739ae039","instance","Constructor","TypeError","$e5f9bd0c37e9914c$var$_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","$e5f9bd0c37e9914c$export$2e2bcd8739ae039","protoProps","staticProps","prototype","$7dbcf7086e8d10dc$export$2e2bcd8739ae039","obj","$81336ccb420cf272$var$logger","$714074a4fb796cc0$export$2e2bcd8739ae039","$81336ccb420cf272$export$2e2bcd8739ae039","console","$8069ef7e6126e429$export$4385e60b38654f68","bytes","crypto","getRandomValues","Uint8Array","$8069ef7e6126e429$export$62e99e5c9f473d7f","alphabet","size","getRandom","mask","Math","log","LN2","step","id","j","$8069ef7e6126e429$export$a5cee9e955a615e5","$51df351e687e9bed$export$2e2bcd8739ae039","s","toString","replace","nanoid","text","entities","entity","concat","charCodeAt","push","join","$7e7b32b1b8184141$export$2e2bcd8739ae039","name","getUrl","getDescription","getLabel","url","type","label","defaultValue","values","defaultValues","getName","split","map","word","charAt","toUpperCase","slice","description","tab","multiple","parent","mutable","toBoolean","domainValues","Array","isArray","width","getChildren","children","child","forId","customClass","getLabelAnchor","classLabel","getType","BOOLEAN","disabled","htmlElement","metadataType","isMutable","getDomainValues","defaultValueHtml","getMultiple","selected","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","next","selectValue","return","placeholderValue","String","toEntities","inputType","htmlPlaceholder","htmlValue","htmlTag","htmlClass","checked","rows","DATE_TIME","PARAGRAPH","JSON","stringify","getTab","getValue","default","getDefaultValue","json","hasOwnProperty","getLogger","valueDefault","formMetaField","createFromName","property","setParent","jsonValue","setLabel","setTab","setType","setMutable","setDescription","setUrl","setDomainValues (…)
/plugin/combo/vendor/antlr/antlr4-php-runtime/src/
H A DParser.php667 $previous->setParent($localctx);
706 $retctx->setParent($parentctx);
H A DParserRuleContext.php109 $t->setParent($this);
116 $errorNode->setParent($this);
128 * because the existing interfaces do not have a `setParent()`
H A DRuleContext.php185 public function setParent(?RuleContext $ctx) : void function in Antlr\\Antlr4\\Runtime\\RuleContext
/plugin/odt/ODT/elements/
H A DODTContainerElement.php67 $this->owner->setParent($previous);
69 $this->owner->setParent($container);
H A DODTElementList.php85 $this->setParent($previous);
H A DODTElementListHeader.php77 $this->setParent($previous);
H A DODTElementListItem.php77 $this->setParent($previous);
H A DODTElementNote.php70 $this->setParent($previous);
H A DODTElementParagraph.php69 $this->setParent($previous);
H A DODTElementSpan.php73 $this->setParent($previous);
H A DODTElementTableCell.php98 $this->setParent($previous);
H A DODTElementTableColumn.php77 $this->setParent($table);
H A DODTElementTableRow.php90 $this->setParent($table);
H A DODTElementTextBox.php69 $this->setParent($previous);
H A DODTRoot.php59 public function setParent(ODTStateElement $parent_element) { function in ODTElementRoot
H A DODTStateElement.php129 public function setParent(ODTStateElement $parent_element) { function in ODTStateElement

12345