UNPKG

@syncfusion/ej2-diagrams

Version:

Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.

12 lines 1.58 MB
/*!
*  filename: ej2-diagrams.min.js
*  version : 32.1.21
*  Copyright Syncfusion Inc. 2001 - 2025. All rights reserved.
*  Use of this code is subject to the terms of our license.
*  A copy of the current license can be obtained at any time by e-mailing
*  licensing@syncfusion.com. Any infringement will be prosecuted under
*  applicable laws. 
*/
this.ej=this.ej||{},this.ej.diagrams=function(t,e,i,r,n){"use strict";function o(t){var e,i=[],r=a(t);if(r.length>0)for(var n=0;n<r.length;n++){var o=r[parseInt(n.toString(),10)],s="";switch((s=o[0]).toLowerCase()){case"m":for(e=1;e<o.length;e++)i.push({command:s,x:o[parseInt(e.toString(),10)],y:o[e+1]}),e+=1,"m"===s?s="l":"M"===s&&(s="L");break;case"l":case"t":for(e=1;e<o.length;e++)i.push({command:s,x:o[parseInt(e.toString(),10)],y:o[e+1]}),e+=1;break;case"h":for(e=1;e<o.length;e++)i.push({command:s,x:o[parseInt(e.toString(),10)]});break;case"v":for(e=1;e<o.length;e++)i.push({command:s,y:o[parseInt(e.toString(),10)]});break;case"z":i.push({command:s});break;case"c":for(e=1;e<o.length;e++)i.push({command:s,x1:o[parseInt(e.toString(),10)],y1:o[e+1],x2:o[e+2],y2:o[e+3],x:o[e+4],y:o[e+5]}),e+=5;break;case"s":for(e=1;e<o.length;e++)i.push({command:s,x2:o[parseInt(e.toString(),10)],y2:o[e+1],x:o[e+2],y:o[e+3]}),e+=3;break;case"q":for(e=1;e<o.length;e++)i.push({command:s,x1:o[parseInt(e.toString(),10)],y1:o[e+1],x:o[e+2],y:o[e+3]}),e+=3;break;case"a":for(e=1;e<o.length;e++)i.push({command:s,r1:o[parseInt(e.toString(),10)],r2:o[e+1],angle:o[e+2],largeArc:o[e+3],sweep:o[e+4],x:o[e+5],y:o[e+6]}),e+=6}}return i}function a(t){var e=/([a-z]+)|([+-]?(?:\d+\.?\d*|\.\d+))/gi,i=[],r=[],n={};e.lastIndex=0;var o=!1;for(n=e.exec(t);n;)"e"===n[1]?o=!0:n[1]?("zm"===n[1].toLowerCase()?(i.length&&r.push(i),r.push(["Z"]),i=[n[1].substring(1,2)]):(i.length&&r.push(i),i=[n[1]]),o=!1):(i.length||(i=[]),o||i.push(Number(n[2])),o=!1),n=e.exec(t);return i.length&&r.push(i),r}function s(t,e,i){var r,n,o="",a=[{x:0+t,y:0},{x:0+i-t,y:0},{x:0+i,y:0+t},{x:0+i,y:0+e-t},{x:0+i-t,y:0+e},{x:0+t,y:0+e},{x:0,y:0+e-t},{x:0,y:0+t}],s=[{x:0+i,y:0},{x:0+i,y:0+e},{x:0,y:0+e},{x:0,y:0}],h=0;o="M"+a[0].x+" "+a[0].y;var d;for(d=0;d<a.length;d+=2)o+="L"+(r=a[d+1]).x+" "+r.y,n=a[d+2]||a[0],o+="Q"+s[parseInt(h.toString(),10)].x+" "+s[parseInt(h.toString(),10)].y+" "+n.x+" "+n.y,h++;return o}function h(t){var e,i="";i="M"+t[0].x+" "+t[0].y;var r;for(r=1;r<t.length;r++)i+="L"+(e=t[parseInt(r.toString(),10)]).x+" "+e.y;return i+="Z"}function d(t){var e;for(e=0;e<t.length;e++)t[parseInt(e.toString(),10)].x=Math.round(t[parseInt(e.toString(),10)].x),t[parseInt(e.toString(),10)].y=Math.round(t[parseInt(e.toString(),10)].y);var i,r="";r="M"+t[0].x+" "+t[0].y;var n;for(n=1;n<t.length;n++)r+="L"+(i=t[parseInt(n.toString(),10)]).x+" "+i.y;return r}function l(t){var e,i,r,n,o,a,s,h,d,l,c=[];for(s=0,h=0,l=0,d=t.length;l<d;++l){var p=t[l],g="";g=p.command,"y1"in p&&(n=p.y1),"y2"in p&&(a=p.y2),"x1"in p&&(r=p.x1),"x2"in p&&(o=p.x2),"x"in p&&(s=p.x),"y"in p&&(h=p.y);var u=c[c.length-1];switch(g){case"M":c.push({command:"M",x:s,y:h});break;case"L":c.push({command:"L",x0:e,y0:i,x:s,y:h});break;case"H":c.push({command:"L",x0:e,y0:i,x:s,y:i});break;case"V":c.push({command:"L",x0:e,y0:i,x:e,y:h});break;case"C":c.push({command:"C",x0:e,y0:i,x1:r,y1:n,x2:o,y2:a,x:s,y:h});break;case"S":if(u){var f=void 0,m={x:2*e-(f="C"===u.command||"S"===u.command?{x:u.x2,y:u.y2}:{x:e,y:i}).x,y:2*i-f.y};c.push({command:"C",x0:e,y0:i,x1:m.x,y1:m.y,x2:o,y2:a,x:s,y:h})}break;case"Q":c.push({command:"Q",x0:e,y0:i,x1:r,y1:n,x:s,y:h});break;case"T":if(u){var f=void 0,m={x:2*e-(f="Q"===u.command?{x:u.x1,y:u.y1}:{x:e,y:i}).x,y:2*i-f.y};c.push({command:"Q",x0:e,y0:i,x1:m.x,y1:m.y,x:s,y:h})}break;case"A":var y=p;y.command="A",c.push(y);break;case"Z":case"z":c.push({command:"Z"}),s=e,h=i}e=s,i=h}return c}function c(t,e,i,r,n,o,a,s){var h,d,l,c,u,m,y,v,b;for(u=0,m=0,v=0,y=t.length;v<y;++v){var S=t[v],w=S.command;"x"in S&&(u=S.x),"y"in S&&(m=S.y),"y1"in S&&(d=S.y1),"y2"in S&&(c=S.y2),"x1"in S&&(h=S.x1),"x2"in S&&(l=S.x2),r?(void 0!==u&&(u=g(u,e,n,a)),void 0!==m&&(m=g(m,i,o,s)),void 0!==h&&(h=g(h,e,n,a)),void 0!==d&&(d=g(d,i,o,s)),void 0!==l&&(l=g(l,e,n,a)),void 0!==c&&(c=g(c,i,o,s))):(void 0!==u&&(u=Number((u+e).toFixed(2))),void 0!==m&&(m=Number((m+i).toFixed(2))),void 0!==h&&(h=Number((h+e).toFixed(2))),void 0!==d&&(d=Number((d+i).toFixed(2))),void 0!==l&&(l=Number((l+e).toFixed(2))),void 0!==c&&(c=Number((c+i).toFixed(2)))),(b=p(S,w,{x:u,y:m,x1:h,y1:d,x2:l,y2:c,r1:S.r1,r2:S.r2},r,e,i))&&(t[v]=b)}return f(t)}function p(t,e,i,r,n,o){switch(e){case"M":case"L":t.x=i.x,t.y=i.y;break;case"H":t.x=i.x;break;case"V":t.y=i.y;break;case"C":t.x=i.x,t.y=i.y,t.x1=i.x1,t.y1=i.y1,t.x2=i.x2,t.y2=i.y2;break;case"S":t.x=i.x,t.y=i.y,t.x2=i.x2,t.y2=i.y2;break;case"Q":t.x=i.x,t.y=i.y,t.x1=i.x1,t.y1=i.y1;break;case"T":t.x=i.x,t.y=i.y;break;case"A":var a=i.r1,s=i.r2;r&&(i.r1=a*=n,i.r2=s*=o),t.x=i.x,t.y=i.y,t.r1=i.r1,t.r2=i.r2;break;case"z":case"Z":t={command:"Z"}}return t}function g(t,e,i,r){return t!==i?t=r!==i?t*e-(Number(i)*e-Number(i))+(r-Number(i)):Number(t)*e-(Number(i)*e-Number(i)):r!==i&&(t=r),Number(t.toFixed(2))}function u(t){var e,i,r,n,o,a,s,h,d,l;for(s=0,h=0,l=0,d=t.length;l<d;++l){var c=t[parseInt(l.toString(),10)],p=c.command;if(/[MLHVCSQTA]/.test(p))"x"in c&&(c.x=s=c.x),"y"in c&&(c.y=h=c.y);else{"x1"in c&&(c.x1=r=s+c.x1),"x2"in c&&(c.x2=o=s+c.x2),"y1"in c&&(c.y1=n=h+c.y1),"y2"in c&&(c.y2=a=h+c.y2),"x"in c&&(c.x=s+=c.x),"y"in c&&(c.y=h+=c.y);var g=void 0;switch(p){case"m":case"M":g={command:"M",x:s,y:h};break;case"l":case"L":g={command:"L",x:s,y:h};break;case"h":case"H":g={command:"H",x:s};break;case"v":case"V":g={command:"V",y:h};break;case"c":case"C":g={command:"C",x:s,y:h,x1:r,y1:n,x2:o,y2:a};break;case"s":case"S":g={command:"S",x:s,y:h,x2:o,y2:a};break;case"q":case"Q":g={command:"Q",x:s,y:h,x1:r,y1:n};break;case"t":case"T":g={command:"T",x:s,y:h};break;case"a":case"A":(g={command:"A",x:s,y:h}).r1=c.r1,g.r2=c.r2,g.angle=c.angle,g.largeArc=c.largeArc,g.sweep=c.sweep;break;case"z":case"Z":g={command:"Z"},s=e,h=i,g=t[parseInt(l.toString(),10)]}g&&(t[parseInt(l.toString(),10)]=g)}"M"!==p&&"m"!==p||(e=s,i=h)}return t}function f(t){var e,i="";for(e=0;e<t.length;e++)i+=0===e?m(t[parseInt(e.toString(),10)]):" "+m(t[parseInt(e.toString(),10)]);return i}function m(t){var e="";switch(t.command){case"Z":case"z":e=t.command;break;case"M":case"m":case"L":case"l":e=t.command+" "+t.x+" "+t.y;break;case"C":case"c":e=t.command+" "+t.x1+" "+t.y1+" "+t.x2+" "+t.y2+" "+t.x+" "+t.y;break;case"Q":case"q":e=t.command+" "+t.x1+" "+t.y1+" "+t.x+" "+t.y;break;case"A":case"a":var i=t.command,r=t.angle,n=t.largeArc?"1":"0",o=t.sweep?"1":"0";e=i+" "+t.r1+" "+t.r2+" "+r+" "+n+" "+o+" "+t.x+" "+t.y;break;case"H":case"h":e=t.command+" "+t.x;break;case"V":case"v":e=t.command+" "+t.y;break;case"S":case"s":e=t.command+" "+t.x2+" "+t.y2+" "+t.x+" "+t.y;break;case"T":case"t":e=t.command+" "+t.x+" "+t.y}return e}function y(){return new ys(1,0,0,1,0,0,t.MatrixTypes.Identity)}function v(t,e){var i=P(t,e.x,e.y);return{x:Math.round(100*i.x)/100,y:Math.round(100*i.y)/100}}function b(t,e){for(var i=[],r=0,n=e;r<n.length;r++){var o=n[r];i.push(v(t,o))}return i}function S(t,e,i,r){D(t,C(.017453292519943295*(e%=360),i||0,r||0))}function w(t,e,i,r,n){void 0===r&&(r=0),void 0===n&&(n=0),D(t,I(e,i,r,n))}function x(e,i,r){e.offsetX+=i,e.offsetY+=r,e.type|=t.MatrixTypes.Translation}function I(e,i,r,n){var o=y();return o.type=r||n?t.MatrixTypes.Scaling|t.MatrixTypes.Translation:t.MatrixTypes.Scaling,T(o,e,0,0,i,r-e*r,n-i*n),o}function C(e,i,r){var n=y(),o=Math.sin(e),a=Math.cos(e),s=i*(1-a)+r*o,h=r*(1-a)-i*o;return n.type=t.MatrixTypes.Unknown,T(n,a,o,-o,a,s,h),n}function P(e,i,r){switch(e.type){case t.MatrixTypes.Translation|t.MatrixTypes.Scaling:i*=e.m11,i+=e.offsetX,r*=e.m22,r+=e.offsetY;break;default:var n=r*e.m21+e.offsetX,o=i*e.m12+e.offsetY;i*=e.m11,i+=n,r*=e.m22,r+=o}return{x:i,y:r}}function D(e,i){var r=e.type,n=i.type;if(r===t.MatrixTypes.Identity)return A(e,i),void(e.type=i.type);if(r!==t.MatrixTypes.Translation){var o=r<<4|n;switch(o){case 50:return e.m11*=i.m11,e.m22*=i.m22,e.offsetX*=i.m11,void(e.offsetY*=i.m22);case 51:return e.m11*=i.m11,e.m22*=i.m22,e.offsetX=i.m11*e.offsetX+i.offsetX,void(e.offsetY=i.m22*e.offsetY+i.offsetY);case 52:break;default:switch(o){case 66:case 67:case 68:break;default:return}}var a=y();return T(a,e.m11*i.m11+e.m12*i.m21,e.m11*i.m12+e.m12*i.m22,e.m21*i.m11+e.m22*i.m21,e.m21*i.m12+e.m22*i.m22,e.offsetX*i.m11+e.offsetY*i.m21+i.offsetX,e.offsetX*i.m12+e.offsetY*i.m22+i.offsetY),a.m21||a.m12?a.type=t.MatrixTypes.Unknown:((a.m11&&1!==a.m11||a.m22&&1!==a.m22)&&(a.type=t.MatrixTypes.Scaling),(a.offsetX||a.offsetY)&&(a.type|=t.MatrixTypes.Translation),(a.type&(t.MatrixTypes.Translation|t.MatrixTypes.Scaling))===t.MatrixTypes.Identity&&(a.type=t.MatrixTypes.Identity),a.type=t.MatrixTypes.Scaling|t.MatrixTypes.Translation),A(e,a),void(e.type=a.type)}var s=e.offsetX,h=e.offsetY;if(e.offsetX=s*i.m11+h*i.m21+i.offsetX,e.offsetY=s*i.m12+h*i.m22+i.offsetY,n===t.MatrixTypes.Unknown)return void(e.type=t.MatrixTypes.Unknown);e.type=t.MatrixTypes.Translation|t.MatrixTypes.Scaling}function T(t,e,i,r,n,o,a){t.m11=e,t.m12=i,t.m21=r,t.m22=n,t.offsetX=o,t.offsetY=a}function A(t,e){t.m11=e.m11,t.m12=e.m12,t.m21=e.m21,t.m22=e.m22,t.offsetX=e.offsetX,t.offsetY=e.offsetY,t.type=e.type}function O(){for(var t,e="0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",i="",r=0;r<5;r++){if("undefined"!=typeof window&&"crypto"in window&&"getRandomValues"in crypto){var n=new Uint32Array(1);t=(window.msCrypto||window.crypto).getRandomValues(n)[0]%(e.length-1)}0===r&&t<10?r--:i+=e.substring(t,t+1)}return i}function M(t,e){if(t.nodes&&t.nodes.length>0)for(i=0;i<t.nodes.length;i++)if(t.nodes[parseInt(i.toString(),10)].id===e)return i;if(t.connectors&&t.connectors.length>0)for(var i=0;i<t.connectors.length;i++)if(t.connectors[parseInt(i.toString(),10)].id===e)return i;return null}function E(t){if(t)try{return"function"!=typeof t&&document.querySelectorAll(t).length?e.compile(document.querySelector(t).innerHTML.trim()):e.compile(t)}catch(i){return e.compile(t)}}function L(t){new ms;var e=t.offsetY-t.actualSize.height*t.pivot.y,i=t.offsetY+t.actualSize.height*(1-t.pivot.y),r=t.offsetX-t.actualSize.width*t.pivot.x,n=t.offsetX+t.actualSize.width*(1-t.pivot.x),o={x:r,y:e},a={x:n,y:e},s={x:r,y:i},h={x:n,y:i};return ms.toBounds([o,a,s,h])}function z(t){var e=new ms,i=L(t),r=i.middleLeft,n=i.topCenter,o=i.bottomCenter,a=i.middleRight,s=i.topLeft,h=i.topRight,d=i.bottomLeft,l=i.bottomRight;if(t.corners={topLeft:s,topCenter:n,topRight:h,middleLeft:r,middleRight:a,bottomLeft:d,bottomCenter:o,bottomRight:l},0!==t.rotateAngle||0!==t.parentTransform){var c=y();S(c,t.rotateAngle+t.parentTransform,t.offsetX,t.offsetY),t.corners.topLeft=s=v(c,s),t.corners.topCenter=n=v(c,n),t.corners.topRight=h=v(c,h),t.corners.middleLeft=r=v(c,r),t.corners.middleRight=a=v(c,a),t.corners.bottomLeft=d=v(c,d),t.corners.bottomCenter=o=v(c,o),t.corners.bottomRight=l=v(c,l)}return e=ms.toBounds([s,h,d,l]),t.corners.left=e.left,t.corners.right=e.right,t.corners.top=e.top,t.corners.bottom=e.bottom,t.corners.center=e.center,t.corners.width=e.width,t.corners.height=e.height,e}function k(t,e,i,r){var n={},o="properties";if(t){i=t.propName;var a=t[""+o]||t,s=[],h=[];if((s=s.concat(Object.keys(a))).push("version"),i){var d=Z(e);h=d?d(i):[],s=s.concat(h)}for(var l=B(i),c=0,p=s=s.concat(l);c<p.length;c++){var g=p[c];"historyManager"!==g&&("wrapper"!==g?!(!t[""+g]||!t.hasOwnProperty("observers"))||(t[""+g]instanceof Array?n[""+g]=N(-1===l.indexOf(g)&&t[""+o]?t[""+o][""+g]:t[""+g],e,g):t[""+g]instanceof Array==!1&&t[""+g]instanceof HTMLElement?n[""+g]=t[""+g].cloneNode(!0).innerHTML:t[""+g]instanceof Array==!1&&t[""+g]instanceof Object?n[""+g]=k(-1===l.indexOf(g)&&t[""+o]?t[""+o][""+g]:t[""+g],void 0,void 0):n[""+g]=t[""+g]):t[""+g]&&(n[""+g]={actualSize:{width:t[""+g].actualSize.width,height:t[""+g].actualSize.height},offsetX:t[""+g].offsetX,offsetY:t[""+g].offsetY}))}}return n}function B(t){switch(t){case"nodes":case"children":return["inEdges","outEdges","parentId","processId","nodeId","umlIndex","isPhase","isLane"];case"connectors":return["parentId"];case"annotation":case"annotations":return["nodeId"];case"shape":return["hasHeader"];case"layers":return["objectZIndex"]}return[]}function N(t,e,i,r){var n;if(t){n=[];for(var o=0;o<t.length;o++)t[parseInt(o.toString(),10)]instanceof Array?n.push(t[parseInt(o.toString(),10)]):t[parseInt(o.toString(),10)]instanceof Object?n.push(k(t[parseInt(o.toString(),10)],e,i)):n.push(t[parseInt(o.toString(),10)])}return n}function R(t,e){if(t){e||(e={properties:{}});for(var i=0,r=Object.keys(t);i<r.length;i++){var n=r[i];if(t[""+n]instanceof Array){var o=j(t[""+n],e.properties[""+n]);e.properties[""+n]&&e.properties[""+n].length||(e[""+n]=o)}else if(t[""+n]instanceof Array==!1&&t[""+n]instanceof HTMLElement)e[""+n]=t[""+n].cloneNode(!0).innerHtml;else if(t[""+n]instanceof Array==!1&&t[""+n]instanceof Object){var a=R(t[""+n],e.properties[""+n]);a.properties&&!Object.keys(a.properties).length&&delete a.properties,e[""+n]=a}else e[""+n]=void 0!==e.properties[""+n]?e[""+n]:t[""+n]}}return e}function j(t,e){var i=[],r=!1;e||(e=[]),e.length||(r=!0);for(var n=0;n<t.length;n++)if(t[parseInt(n.toString(),10)]instanceof Array){j(t[parseInt(n.toString(),10)],e[parseInt(n.toString(),10)]);r&&i.push(j)}else if(t[parseInt(n.toString(),10)]instanceof Object){var o=R(t[parseInt(n.toString(),10)],e[parseInt(n.toString(),10)]);r&&i.push(o)}else i.push(t[parseInt(n.toString(),10)]);return i}function H(t){var e="";switch(t){case"Center":e="center";break;case"Left":e="left";break;case"Right":e="right";break;case"Justify":e="justify"}return e}function W(t){var e="";switch(t){case"Wrap":e="breakall";break;case"NoWrap":e="keepall";break;case"WrapWithOverflow":e="normal";break;case"LineThrough":e="line-through"}return e}function _(t,e){return vs.font=(e.bold?"bold":"normal")+" "+e.fontSize+"px "+e.fontFamily,vs.measureText(t).width}function F(t,e){return(t+e)/2}function Y(t,e){var i=0,r=0,n=0,o=0,a="";r=t.length;var s=0;do{o>0&&(i=n),n=Math.floor(F(i,r)),o=_(a+=t.substr(i,n),e)}while(o<=e.width);for(a=a.substr(0,i),s=i;s<r;s++)if(a+=t[parseInt(s.toString(),10)],(o=_(a,e))>=e.width){t=t.substr(0,a.length-1);break}return"Ellipsis"===e.textOverflow?(t=t.substr(0,t.length-3),t+="..."):t=t.substr(0,t.length),t}function V(t,e){if("NoWrap"===e&&"PreserveAll"===t)return"pre";var i="";switch(t){case"CollapseAll":i="nowrap";break;case"CollapseSpace":i="pre-line";break;case"PreserveAll":i="pre-wrap"}return i}function X(t,e){var i=y();S(i,e,0,0);var r=v(i,{x:0,y:0}),n=v(i,{x:t.width,y:0}),o=v(i,{x:0,y:t.height}),a=v(i,{x:t.width,y:t.height}),s=Math.min(r.x,n.x,o.x,a.x),h=Math.min(r.y,n.y,o.y,a.y),d=Math.max(r.x,n.x,o.x,a.x),l=Math.max(r.y,n.y,o.y,a.y);return new ps(d-s,l-h)}function U(t,e,i,r){if(0!==t){var n=y();return S(n,t,e,i),v(n,r)}return r}function G(t,e){return{x:t.x+e.desiredSize.width*e.pivot.x,y:t.y+e.desiredSize.height*e.pivot.y}}function Z(t){return void 0!==t&&"string"==typeof t&&(t=e.getValue(t,window)),t}function q(t){return Xs[t.toString()]}function K(t){var e=new i.Tooltip;e=tt(t.tooltip,e);var r=new i.Tooltip(e);return r.beforeCollision=J,r.beforeOpen=Q,r.cssClass="e-diagram-tooltip",r.opensOn="custom",r.appendTo("#"+t.element.id),r.close(),r}function Q(t){""!==this.content&&void 0!==this.content||(t.element.style.display="none")}function J(t){t.collidedPosition&&t.collidedPosition!==this.position&&(t.element.style.display="none")}function $(t,e){var i=t.tooltipObject;return tt(e?e.tooltip:t.tooltip,i),i}function tt(t,i){if(t.content){if(i.content=t.content,"string"==typeof t.content){var r=function(){return t.content};i.content=e.initializeCSPTemplate(r)}i.position=t.position,i.showTipPointer=t.showTipPointer,i.width=t.width,i.height=t.height,t.animation?i.animation=t.animation:i.animation={close:{effect:"None"}}}else i.close();return i}function et(t){return hh[t.toString()]}function it(t,e){return"Custom"===t?e.pathData:dh[""+t]}function rt(t){return lh[""+t]}function nt(t){return ch[""+t]}function ot(t){var e;switch(t.shape){case"Minus":e="M0,50 L100,50";break;case"Plus":e="M0,-50 L0,50 M-50,0 L50,0";break;case"ArrowUp":e="M0,100 L50,0 L100,100 Z";break;case"ArrowDown":e="M0,0 L50,100 L100,0 Z";break;case"Path":e=t.pathData}return e}function at(t){return ph[t.toString()]}function st(t,e,i){var r,n=lt(t,r="Straight"!==t.type&&t.sourceWrapper?t.sourceWrapper.corners.center:ht(t),t.targetPoint,e,i);return Ut(t,n[0],!1),Ut(t,n[n.length-1],!0),n}function ht(t){var e;if(t.sourcePortWrapper){var i=t.sourcePortWrapper;e={x:i.offsetX,y:i.offsetY}}else if(t.sourceID&&t.sourceWrapper)if(t.targetWrapper){var r=t.sourceWrapper.corners.center,n=t.targetWrapper.corners.center;e=Xt(t,t.sourceWrapper,r,n,!1)}else e=t.sourcePoint;else e=t.sourcePoint;return e}function dt(t,e,i){"LeftToRight"===i?(t.direction=t.direction?t.direction:"Right",e.direction=e.direction?e.direction:"Left"):"RightToLeft"===i?(t.direction=t.direction?t.direction:"Left",e.direction=e.direction?e.direction:"Right"):"TopToBottom"===i?(t.direction=t.direction?t.direction:"Bottom",e.direction=e.direction?e.direction:"Top"):"BottomToTop"===i&&(t.direction=t.direction?t.direction:"Top",e.direction=e.direction?e.direction:"Bottom")}function lt(t,e,i,r,n){var o,a,s=t.sourceWrapper,h=t.targetWrapper,d=t.sourcePortWrapper,l=t.targetPortWrapper,c=[],p=Wt(t),g={corners:void 0,point:e,direction:void 0,margin:{left:5,right:5,bottom:5,top:5}},u={corners:void 0,point:i,direction:void 0,margin:{left:5,right:5,bottom:5,top:5}};if(void 0!==s&&void 0!==h&&(o=L(s),a=L(h),g.corners=s.corners,u.corners=h.corners),d&&d.isPathPort&&l&&(i={x:l.offsetX,y:l.offsetY}),void 0!==d){var f={x:d.offsetX,y:d.offsetY};"Left"===d.connectionDirection||"Top"===d.connectionDirection||"Bottom"===d.connectionDirection||"Right"===d.connectionDirection?g.direction=d.connectionDirection:d.isPathPort?g.direction=ct(t.parentObj,t.sourceID,d,i):g.direction=Se(f,o,s.bounds)}if(void 0!==l){var m={x:l.offsetX,y:l.offsetY};"Left"===l.connectionDirection||"Right"===l.connectionDirection||"Bottom"===l.connectionDirection||"Top"===l.connectionDirection?u.direction=l.connectionDirection:l.isPathPort?u.direction=ct(t.parentObj,t.targetID,l,e):u.direction=Se(m,a,h.bounds)}if("Bezier"===t.type&&!t.isBezierEditing&&t.segments.length>0)for(var y=t.segments.length-1;y>=0;)t.segments[parseInt(y.toString(),10)].isInternalSegment&&t.segments.pop(),y--;if(void 0!==s&&void 0!==h)return void 0!==g.direction&&void 0!==u.direction||(r?dt(g,u,r):g.corners.top>u.corners.bottom&&Math.abs(g.corners.top-u.corners.bottom)>p?(g.direction=g.direction?g.direction:"Top",u.direction=u.direction?u.direction:"Bottom"):g.corners.bottom<u.corners.top&&Math.abs(g.corners.bottom-u.corners.top)>p?(g.direction=g.direction?g.direction:"Bottom",u.direction=u.direction?u.direction:"Top"):g.corners.right<u.corners.left&&Math.abs(g.corners.right-u.corners.left)>p||g.corners.right+p<u.corners.left||u.corners.right>=g.corners.left-p&&g.corners.left>u.corners.left?(g.direction=g.direction?g.direction:"Right",u.direction=u.direction?u.direction:"Left"):g.corners.left>u.corners.right&&Math.abs(g.corners.left-u.corners.right)>g.margin.left+g.margin.right||u.corners.right+p<g.corners.left||g.corners.right>=u.corners.left-p&&g.corners.left<u.corners.left?(g.direction=g.direction?g.direction:"Left",u.direction=u.direction?u.direction:"Right"):s.id!==h.id&&!o.equals(o,a)&&a.containsPoint(o.topCenter,g.margin.top)?(g.direction=g.direction?g.direction:"Bottom",u.direction=u.direction?u.direction:"Top"):(g.direction=g.direction?g.direction:"Top",u.direction=u.direction?u.direction:"Bottom")),Ot(t,g.direction,u.direction,g.point,u.point,n,i);if(Lt(t),(t.sourceWrapper||t.targetWrapper)&&It(t,g,u),"Straight"===t.type||"Bezier"===t.type)c=Mt(t,g,u);else if("Orthogonal"===t.type&&t.segments&&t.segments.length>0&&null!==t.segments[0].length&&null!==t.segments[0].direction)c=St(t,g,u,s,h,d,l,i);else{var v=void 0;g.direction?v=se(s.bounds,g,20):g.direction=u.direction?void 0!==t.targetPortWrapper?u.direction:xe(u.direction):fs.direction(g.point,u.point),t.segments[0].points=c=de(t,g,u,v)}return c}function ct(t,e,i,r){var n=null,o=t.nameTable[""+e];if(i&&o){var a={x:i.offsetX,y:i.offsetY},s=pt(a,o);s&&(n="Horizontal"===s?r.y>a.y?"Bottom":"Top":r.x>a.x?"Right":"Left")}return n}function pt(t,e){for(var i=e.intermediatePoints,r=0;r<i.length-1;r++){var n=i[parseInt(r.toString(),10)],o=i[r+1];if(gt(t,n,o))return n.x===o.x?"Vertical":"Horizontal"}if(i.length>=2){var a=i[i.length-2],s=i[i.length-1];return a.x===s.x?"Vertical":"Horizontal"}return null}function gt(t,e,i){return e.x===i.x&&t.x===e.x?t.y>=Math.min(e.y,i.y)&&t.y<=Math.max(e.y,i.y):e.y===i.y&&t.y===e.y&&(t.x>=Math.min(e.x,i.x)&&t.x<=Math.max(e.x,i.x))}function ut(t,e){t.direction=e.direction,e.points=[],e.points.push(t.point);var i="Left"===e.direction||"Top"===e.direction?-e.length:e.length,r="Left"===e.direction||"Right"===e.direction?0:90,n=Vt(t.point,i,r);return e.points.push(n),n}function ft(t,e,i){var r,n,o;if(e.corners=t.sourceWrapper?t.sourceWrapper.corners:void 0,t.sourcePortWrapper&&(o=Se({x:t.sourcePortWrapper.offsetX,y:t.sourcePortWrapper.offsetY},L(t.sourceWrapper),t.sourceWrapper.bounds),!e.corners||"Bottom"!==e.direction&&"Top"!==e.direction?!e.corners||"Left"!==e.direction&&"Right"!==e.direction||i.point.y>e.corners.top&&i.point.y<e.corners.bottom&&(n=e.point.x>i.point.x?"Left":"Right"):i.point.x>e.corners.left&&i.point.x<e.corners.right&&(n=e.point.y>i.point.y?"Top":"Bottom")),t.sourcePortWrapper&&o===xe(n)){var a;("Left"===o||"Right"===o)&&e.point.y>=e.corners.top&&e.point.y<=e.corners.center.y&&i.point.y>=e.corners.top&&i.point.y<=e.corners.center.y?(e.direction="Top",a=e.point.y-e.corners.top+20):("Left"===o||"Right"===o)&&e.point.y>e.corners.center.y&&e.point.y<=e.corners.bottom&&i.point.y>e.corners.center.y&&i.point.y<=e.corners.bottom?(e.direction="Bottom",a=e.corners.bottom-e.point.y+20):("Top"===o||"Bottom"===o)&&e.point.x>=e.corners.left&&e.point.x<=e.corners.center.x&&i.point.x>=e.corners.left&&i.point.x<=e.corners.center.x?(e.direction="Left",a=e.point.x-e.corners.left+20):("Top"===o||"Bottom"===o)&&e.point.x<=e.corners.right&&e.point.x>e.corners.center.x&&i.point.x<=e.corners.right&&i.point.x<e.corners.center.x&&(e.direction="Right",a=e.corners.right-e.point.x+20),e.direction&&a&&(r=de(t,e,i,a,!0))}else e.direction=n||Et(e.direction,e.point,i.point),r=he(e,i);return r}function mt(t,e,i){var r;i.corners=t.targetWrapper.corners,jt(t.targetWrapper,e,i,t);var n=Et(i.direction,e.point,i.point);return e.direction!==i.direction||"Left"!==e.direction&&"Right"!==e.direction?(e.direction=n,r=he(e,i)):(e.direction=n,r=de(t,e,i,t.targetWrapper.width/2+20),e.point=r[1],jt(t.targetWrapper,e,i,t),r=de(t,e,i)),r}function yt(t,e,i){i.corners=t.targetWrapper.corners;var r,n;"Left"!==e.direction&&"Right"!==e.direction?i.corners.center.y!==e.point.y||i.corners.left<=e.point.x&&e.point.x<=i.corners.right?i.corners.center.y===e.point.y&&"Bottom"===t.segments[t.segments.length-2].direction||i.corners.center.y>e.point.y&&e.point.y>=i.corners.top?(r="Top",n=e.point.y-i.corners.top+20):i.corners.center.y===e.point.y&&"Top"===t.segments[t.segments.length-2].direction||i.corners.center.y<e.point.y&&e.point.y<=i.corners.bottom?(r="Bottom",n=i.corners.bottom-e.point.y+20):void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&e.corners.top<=e.point.y&&e.point.y<=e.corners.bottom&&(r=e.direction,n=e.point.y>i.point.y?e.point.y-e.corners.top+20:e.corners.bottom-e.point.y+20):(r="Top",n=i.corners.height/2+20):i.corners.center.x!==e.point.x||i.corners.top<e.point.y&&e.point.y<=i.corners.bottom?i.corners.center.x===e.point.x&&"Right"===t.segments[t.segments.length-2].direction||i.corners.center.x>e.point.x&&e.point.x>=i.corners.left?(r="Left",n=e.point.x-i.corners.left+20):i.corners.center.x===e.point.x&&"Left"===t.segments[t.segments.length-2].direction||i.corners.center.x<=e.point.x&&e.point.x<=i.corners.right?(r="Right",n=i.corners.right-e.point.x+20):void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&e.corners.left<=e.point.x&&e.point.x<=e.corners.right&&(r=e.direction,n=e.point.x>i.point.x?e.point.x-e.corners.left+20:e.corners.right-e.point.x+20):(r="Left",n=i.corners.width/2+20);var o="Left"===r||"Top"===r?-n:n,a="Left"===r||"Right"===r?0:90,s=e.point;e.point=Vt(e.point,o,a),e.direction=fs.direction(e.point,i.point),void 0===t.sourcePortWrapper||void 0===t.targetPortWrapper||e.corners.center.x!==i.corners.center.x&&e.corners.center.y!==i.corners.center.y||(e.direction=i.direction);var h=de(t,e,i);return h.splice(0,0,s),h}function vt(t,e,i,r){var n=!1;switch(i.direction){case"Left":void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&"Right"===r&&e.point.x>i.point.x&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom||("Bottom"===r&&e.point.y>i.point.y||"Top"===r&&e.point.y<i.point.y)&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right?(e.direction="Right"===r?e.point.y>i.point.y?"Top":"Bottom":e.point.x<i.point.x?"Right":"Left",n=!0):e.point.x>i.point.x&&(e.point.y>i.point.y||e.point.y<i.point.y)&&!(i.corners.top>e.point.y&&i.corners.bottom<e.point.y)?e.direction="Left":e.point.x<i.point.x&&e.point.y>i.point.y||e.point.x>i.point.x&&e.point.y<=i.point.y&&i.corners.top<e.point.y&&i.corners.center.y>=e.point.y?e.direction="Top":e.point.x<i.point.x&&e.point.y<i.point.y||e.point.x>i.point.x&&e.point.y>i.point.y&&i.corners.bottom<e.point.y&&i.corners.center.y>e.point.y?e.direction="Bottom":e.point.y===i.point.y&&e.point.x<i.point.x&&(e.direction="Right");break;case"Right":void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&("Bottom"===r&&e.point.y>i.point.y||"Top"===r&&e.point.y<i.point.y)&&e.point.x>i.point.x&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right?(e.direction=e.point.x>i.point.x?"Left":"Right",n=!0):void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&"Left"===r&&e.point.x<i.point.x&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom?(e.direction=e.point.y>i.point.y?"Top":"Bottom",n=!0):e.point.x<i.point.x&&i.corners.top<=e.point.y&&i.corners.bottom>=e.point.y&&e.point.y===i.point.y?e.direction="Top":e.point.y>i.point.y&&e.point.x>i.point.x?e.direction="Top":e.point.y<i.point.y&&e.point.x>i.point.x?e.direction="Bottom":e.point.x<i.point.x&&(e.point.y>i.point.y||e.point.y<i.point.y)?e.direction="Right":e.point.y===i.point.y&&e.point.x>i.point.x&&(e.direction="Left");break;case"Top":void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&"Bottom"===r&&e.point.y>i.point.y&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right||("Right"===r&&e.point.x>i.point.x||"Left"===r&&i.point.y>e.point.y&&i.point.x>e.point.x)&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom?(e.direction="Bottom"===r?e.point.x>i.point.x?"Left":"Right":e.point.y<i.point.y?"Bottom":"Top",n=!0):e.point.x===i.point.x&&e.point.y<i.point.y?e.direction="Bottom":e.point.y>i.point.y&&e.point.x>i.corners.left&&e.point.x<i.corners.right?e.direction="Left":e.point.y>=i.point.y?e.direction="Top":e.point.y<i.point.y&&e.point.x>i.point.x?e.direction="Left":e.point.y<i.point.y&&e.point.x<i.point.x&&(e.direction="Right");break;case"Bottom":void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&(("Right"===r||"Left"===r&&i.point.x>e.point.x)&&e.point.y>i.point.y&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom||"Top"===r&&e.point.y<i.point.y&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right)?(e.direction="Right"===r||"Left"===r?e.point.y>i.point.y?"Top":"Bottom":e.point.x>i.point.x?"Left":"Right",n=!0):e.point.y<i.point.y&&e.point.x>i.corners.left&&i.corners.right>e.point.x?e.point.y<i.point.y&&e.point.x>i.corners.left&&i.corners.center.x>=e.point.x?e.direction="Left":e.point.y<i.point.y&&e.point.x<i.corners.right&&i.corners.center.x<e.point.x&&(e.direction="Right"):e.point.y>i.point.y&&e.point.x>i.point.x?e.direction="Left":e.point.y>i.point.y&&e.point.x<i.point.x?e.direction="Right":e.point.y<=i.point.y&&(e.point.x>i.point.x||i.point.x>e.point.x)&&(e.direction="Bottom")}return n}function bt(t,e,i){var r;i.corners=t.targetWrapper.corners;var n;void 0!==t.sourcePortWrapper&&(n=Se({x:t.sourcePortWrapper.offsetX,y:t.sourcePortWrapper.offsetY},L(t.sourceWrapper),t.sourceWrapper.bounds));var o=vt(t,e,i,n);return!t.selectedSegmentIndex&&void 0!==t.sourcePortWrapper&&void 0!==t.targetPortWrapper&&i.direction===xe(n)&&(("Left"===i.direction&&e.point.x>i.point.x||"Right"===i.direction&&e.point.x<i.point.x)&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom||"Bottom"===i.direction&&e.point.y<i.point.y&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right)?r=yt(t,e,i):t.selectedSegmentIndex||e.direction!==i.direction?!t.selectedSegmentIndex&&("Left"===i.direction&&e.point.x>i.point.x||"Right"===i.direction&&e.point.x<i.point.x)&&("Top"===e.direction||"Bottom"===e.direction)&&e.point.y<=i.point.y&&i.corners.top<=e.point.y&&i.corners.bottom>=e.point.y||"Top"===i.direction&&e.point.y>i.point.y||"Bottom"===i.direction&&e.point.y<i.point.y&&i.corners.left<=e.point.x&&i.corners.right>=e.point.x?r=t.selectedSegmentIndex?he(e,i):yt(t,e,i):!t.selectedSegmentIndex&&void 0!==t.sourceWrapper&&void 0!==t.targetWrapper&&void 0!==t.targetPortWrapper&&("Left"===e.direction||"Right"===e.direction)&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom&&("Top"===i.direction||"Bottom"===i.direction)&&i.corners.center.x===e.corners.center.x?(e.direction="Top"===i.direction?"Bottom":"Top",r=de(t,e,i,"Top"===i.direction?e.corners.bottom-e.point.y+20:e.point.y-e.corners.top+20)):!t.selectedSegmentIndex&&void 0!==t.sourceWrapper&&void 0!==t.targetWrapper&&void 0!==t.targetPortWrapper&&("Top"===e.direction||"Bottom"===e.direction)&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right&&("Left"===i.direction||"Right"===i.direction)&&i.corners.center.y===e.corners.center.y?(e.direction="Left"===i.direction?"Right":"Left",r=de(t,e,i,"Left"===i.direction?e.corners.right-e.point.x+20:e.point.x-e.corners.left+20)):r=o?de(t,e,i,"Left"===e.direction||"Right"===e.direction?"Left"===e.direction?e.point.x-e.corners.left+20:e.corners.right-e.point.x+20:"Top"===e.direction?e.point.y-e.corners.top+20:e.corners.bottom-e.point.y+20):he(e,i):r=de(t,e,i),r}function St(t,e,i,r,n,o,a,s){var h,d,l,c=[];Lt(t);var p;if(t.segments.length>0){for(var g=0;g<t.segments.length;g++){var u=t.segments[parseInt(g.toString(),10)];if(0===g&&void 0!==t.sourcePortWrapper&&(l=Se({x:o.offsetX,y:o.offsetY},L(r),r.bounds),u.direction===xe(l)&&(u.direction=l)),g>0&&t.segments[g-1].direction===u.direction)g=zt(t,g,e);else{var f=t.segments[g-1];e.point=u.direction?ut(e,u):f.points[f.points.length-1]}if(g===t.segments.length-1&&(a||n?t.targetWrapper&&void 0===t.targetPortWrapper?(Bt(t,e),d=mt(t,e,i)):d=bt(t,e,i):d=ft(t,e,i),d))if(xt(d,t),u.points=[],d.length>=2)for(h=0;h<d.length;h++)u.points.push(d[parseInt(h.toString(),10)]);else p=g;if(o&&0===g){var m=wt(t,o,r,s);m&&(e.point=m)}}void 0!==p&&(p===t.segments.length-1&&(t.segments[p-1].direction=null,t.segments[p-1].length=null),t.segments.splice(p,1)),c=Rt(t,c)}return c}function wt(t,e,i,r){var n,o,a={x:e.offsetX,y:e.offsetY},s=L(i);o=e.isPathPort&&r?ct(t.parentObj,t.sourceID,e,r):Se(a,s,i.bounds);var h=t.segments[0];return h.direction!==o&&(Yt(h,o,s,h.points[0],h.points[h.points.length-1],!1),n=h.points[h.points.length-1],h.direction=fs.direction(h.points[h.points.length-2],h.points[h.points.length-1])),n}function xt(t,e,i){var r,n=e.segments[e.segments.length-2],o=n.points[n.points.length-1];("Top"!==n.direction&&"Bottom"!==n.direction||o.x!==t[1].x)&&("Left"!==n.direction&&"Right"!==n.direction||o.y!==t[1].y)||(n.points[n.points.length-1]=t[1],r=fs.direction(n.points[0],n.points[n.points.length-1]),void 0!==e.sourceWrapper&&void 0===e.sourcePortWrapper&&r===xe(n.direction)&&("Left"===n.direction||"Right"===n.direction?n.points[0].x="Right"===n.direction?n.points[0].x-e.sourceWrapper.corners.width:n.points[0].x+e.sourceWrapper.corners.width:n.points[0].y="Bottom"===n.direction?n.points[0].y-e.sourceWrapper.corners.height:n.points[0].y+e.sourceWrapper.corners.height),n.direction=r,n.length=fs.distancePoints(n.points[0],n.points[n.points.length-1]),t.splice(0,1))}function It(t,e,i){var r=t.sourcePortWrapper,n=t.targetPortWrapper,o=t.sourceWrapper,a=e.point,s={left:0,right:0,top:0,bottom:0},h={x:0,y:0},d="Top";if(o?(a=i.point,s=e.margin):(o=t.targetWrapper,s=i.margin),"Orthogonal"===t.type)if(t.segments&&t.segments.length>0&&t.sourceWrapper&&t.segments[0].direction)e.direction=t.segments[0].direction,h=Xt(t,o,h=Ft(o.corners,e.direction),Ft(o.corners,xe(e.direction)),!1);else{var l={corners:null,direction:null,point:null,margin:null};jt(o,{corners:null,direction:null,point:a,margin:s},l,t),h=l.point,d=l.direction}else{var c=void 0;t.segments&&t.segments.length>1&&(c=o===t.sourceWrapper?t.segments[0].point:t.segments[t.segments.length-2].point),h=Xt(t,o,o.bounds.center,t.segments&&t.segments.length>1?c:a,o===t.targetWrapper)}o===t.sourceWrapper?(e.direction=e.direction||d,e.point=h,t.sourcePortWrapper&&(e.point={x:r.offsetX,y:r.offsetY},t.sourcePadding&&(e.point=Ct(t,e,i,!1)))):(i.direction=i.direction||d,i.point=h,t.targetPortWrapper&&(i.point={x:n.offsetX,y:n.offsetY},t.targetPadding&&(i.point=Ct(t,e,i,!0))))}function Ct(t,e,i,r){var n=t.sourcePortWrapper,o=t.targetPortWrapper,a=r?t.targetPadding:t.sourcePadding,s=r?o:n,h=new ms(s.bounds.x-a,s.bounds.y-a,s.actualSize.width+2*a,s.actualSize.height+2*a),d=[h.topLeft,h.topRight,h.bottomRight,h.bottomLeft];d[d.length]=d[0];var l={x1:e.point.x,y1:e.point.y,x2:i.point.x,y2:i.point.y},c=r?i.point:e.point;return Gt(l,d,!0,c)||c}function Pt(t,e,i){for(var r=Dt(t,i.sourcePadding),n=Dt(e,i.targetPadding),o=0;o<r.length-1;o++)for(var a=r[parseInt(o.toString(),10)],s=0;s<n.length-1;s++)if(fn(a,n[parseInt(s.toString(),10)]).enabled)return!0;return!1}function Dt(t,e){var i=[],r=vn(t,t.corners,e);r.push(r[0]);for(var n=0;n<r.length-1;n++)i.push(Tt(r[parseInt(n.toString(),10)],r[n+1]));return i}function Tt(t,e){return{x1:t.x,y1:t.y,x2:e.x,y2:e.y}}function At(t,e,i){var r,n=t.rotateAngle+t.parentTransform;if(n){if(n<45)return e;if(n<=135)r={width:e.width,height:e.height,topLeft:e.bottomLeft,topCenter:e.middleLeft,topRight:e.topLeft,middleLeft:e.bottomCenter,center:i.center,middleRight:e.topCenter,bottomLeft:e.bottomRight,bottomCenter:e.middleRight,bottomRight:e.topRight,left:i.left,right:i.right,top:i.top,bottom:i.bottom};else if(n<=225)r={width:e.width,height:e.height,topLeft:e.bottomLeft,topCenter:e.bottomCenter,topRight:e.bottomRight,middleLeft:e.middleRight,center:i.center,middleRight:e.middleLeft,bottomLeft:e.topLeft,bottomCenter:e.topCenter,bottomRight:e.topRight,left:i.left,right:i.right,top:i.top,bottom:i.bottom};else{if(!(n<=315))return e;r={width:e.width,height:e.height,topLeft:e.topRight,topCenter:e.middleRight,topRight:e.bottomRight,middleLeft:e.topCenter,center:i.center,middleRight:e.bottomCenter,bottomLeft:e.topLeft,bottomCenter:e.middleLeft,bottomRight:e.bottomLeft,left:i.left,right:i.right,top:i.top,bottom:i.bottom}}return r}return e}function Ot(t,e,i,r,n,o,a){var s,h=t.sourceWrapper,d=t.targetWrapper,l=t.sourcePortWrapper,c=t.targetPortWrapper,p=[],g=h.corners,u=d.corners,f=(u.center,{corners:g,point:r,direction:e,margin:{left:5,right:5,bottom:5,top:5}}),m={corners:u,point:n,direction:i,margin:{left:5,right:5,bottom:5,top:5}},y=At(h,g,t.sourceWrapper.bounds),v=At(d,u,t.targetWrapper.bounds),b=!1;if(t.sourceWrapper&&t.targetWrapper&&(b=Pt(t.sourceWrapper,t.targetWrapper,t)),void 0!==l){switch(f.point={x:l.offsetX,y:l.offsetY},f.direction){case"Bottom":case"Top":f.point.y=f.point.y;break;case"Left":case"Right":f.point.x=f.point.x}t.sourcePadding&&!b&&(c&&(m.point={x:c.offsetX,y:c.offsetY}),f.point=Ct(t,f,m,!1))}else"Orthogonal"===t.type||"Bezier"===t.type?(t.segments&&t.segments.length>0&&t.segments[0].direction&&(f.direction=t.segments[0].direction),f.point=Ft(y,f.direction),s=Ft(y,xe(f.direction)),f.point=Xt(t,h,f.point,s,!1)):f.point=h.corners.center;if(void 0!==c){switch(m.point={x:c.offsetX,y:c.offsetY},m.direction){case"Bottom":case"Top":m.point.y=m.point.y;break;case"Left":case"Right":m.point.x=m.point.x}t.targetPadding&&!b&&(m.point=Ct(t,f,m,!0))}else"Orthogonal"===t.type||"Bezier"===t.type?(m.point=Ft(v,m.direction),s=Ft(v,xe(m.direction)),m.point=Xt(t,d,m.point,s,!0)):m.point=d.corners.center;if("Orthogonal"!==t.type){var S=void 0,w=void 0;if("Bezier"===t.type){if(t.bezierSettings.allowSegmentsReset||0===t.segments.length||!fs.isEmptyPoint(t.segments[t.segments.length-1].point))return p=Ht(t,f,m,void 0,o),p=Mt(t,f,m);Lt(t)}else Lt(t);if(void 0===t.sourcePortWrapper){f.point=f.corners.center,t.segments&&t.segments.length>0&&(w=t.segments[0],S=fs.isEmptyPoint(w.point)?void 0:w);var x=void 0!==S?S.point:m.point;if("Bezier"===t.type&&t.segments.length>0&&t.segments[0].vector1.angle&&t.segments[0].vector1.distance){C=Math.max(f.corners.width,f.corners.height);x=fs.transform(f.point,t.segments[0].vector1.angle,C/2)}f.point=b?t.sourceWrapper.bounds.center:Xt(t,h,f.point,x,!1)}if(void 0===t.targetPortWrapper){m.point=m.corners.center,t.segments&&t.segments.length>1&&(w=t.segments[t.segments.length-2],S=fs.isEmptyPoint(w.point)?void 0:w);var I=S?S.point:f.point;if("Bezier"===t.type&&t.segments.length>0&&t.segments[t.segments.length-1].vector2.angle&&t.segments[t.segments.length-1].vector2.distance){var C=Math.max(f.corners.width,f.corners.height);I=fs.transform(m.point,t.segments[0].vector2.angle,C/2)}m.point=b?t.targetWrapper.bounds.center:Xt(t,d,I,m.point,!0)}p=Mt(t,f,m)}else if("Orthogonal"===t.type&&t.segments&&t.segments.length>0&&null!==t.segments[0].direction)p=Nt(t,f,m,l,c,h,d,a);else{if(!t.segments[0]){S=new md(t,"segments",{type:"Orthogonal"},!0);t.segments.push(S)}t.segments[0].points=p=Ht(t,f,m,void 0,o)}return p}function Mt(t,e,i){var r=[];if(t.segments&&t.segments.length>0){var n=void 0,o=[],a=e.point;for(n=0;n<t.segments.length;n++){var s=t.segments[parseInt(n.toString(),10)];if((o=[]).push(a),n!==t.segments.length-1?(o.push(s.point),a=s.point):o.push(i.point),t.segments[parseInt(n.toString(),10)].points=o,t.segments.length>1&&fs.equals(s.points[0],s.points[1])&&t.segments.splice(n,1),s)for(var h=0;h<s.points.length;h++)(h>0||0===n)&&r.push(s.points[parseInt(h.toString(),10)])}}return r}function Et(t,e,i){return"Top"===t||"Bottom"===t?i.x>e.x?"Right":"Left":i.y>e.y?"Bottom":"Top"}function Lt(t){if("Straight"===t.type||"Bezier"===t.type){if(0===t.segments.length||t.segments.length>0&&!fs.isEmptyPoint(t.segments[t.segments.length-1].point))if("Bezier"===t.type){n=new fd(t,"segments",{type:"Bezier",isInternalSegment:!0},!0);t.segments.push(n)}else{n=new ud(t,"segments",{type:"Straight"},!0);t.segments.push(n)}}else{if(t.segments.length>0)for(var e=!1,i=0;i<t.segments.length;){var r=t.segments[parseInt(i.toString(),10)];e||r&&!(r instanceof md||r instanceof ud||r instanceof fd)?(t.segments.splice(i,1),e=!0):i++}if(0===t.segments.length||t.segments[t.segments.length-1].direction){var n=new md(t,"segments",{type:"Orthogonal"},!0);t.segments.push(n)}}}function zt(t,e,i){var r=t.segments[parseInt(e.toString(),10)],n="Left"===r.direction||"Top"===r.direction?-r.length:r.length,o="Left"===r.direction||"Right"===r.direction?0:90,a=Vt(i.point,n,o);return t.segments[e-1].length+=r.length,t.segments[e-1].points[1]=i.point=a,t.segments.splice(e,1),--e}function kt(t,e,i){var r,n;t.sourcePortWrapper&&(n=Se({x:t.sourcePortWrapper.offsetX,y:t.sourcePortWrapper.offsetY},L(t.sourceWrapper),t.sourceWrapper.bounds)),jt(t.targetWrapper,e,i,t);var o=Et(i.direction,e.point,i.point);if(void 0===t.sourcePortWrapper||e.direction!==i.direction||("Top"!==e.direction&&"Bottom"!==e.direction||e.corners.center.x!==i.corners.center.x)&&("Left"!==e.direction&&"Right"!==e.direction||e.corners.center.y!==i.corners.center.y))if(i.point.x>=e.corners.left&&i.point.x<=e.corners.right&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom)e.direction=i.point.y>e.point.y?"Bottom":"Top",r=de(t,e,i,"Top"===e.direction?e.point.y-e.corners.top+20:e.corners.bottom-e.point.y+20);else if(t.sourcePortWrapper&&n===xe(o)){var a;("Left"===n||"Right"===n)&&e.point.y>=e.corners.top&&e.point.y<=e.corners.bottom?(e.direction=i.point.y>e.point.y?"Bottom":"Top",a=e.corners.height/2+20):("Top"===n||"Bottom"===n)&&e.point.x>=e.corners.left&&e.point.x<=e.corners.right&&(e.direction=i.point.x>e.point.x?"Right":"Left",a=e.corners.width/2+20),e.direction&&a?r=de(t,e,i,a,!0):(e.direction=o,r=he(e,i))}else if(!t.sourcePortWrapper||n!==i.direction||"Top"!==n&&"Bottom"!==n||e.corners.center.x!==i.corners.center.x)if(e.direction===i.direction)if(("Left"===e.direction||"Right"===e.direction)&&i.point.y>e.corners.top-20&&i.point.y<e.corners.bottom+20||("Top"===e.direction||"Bottom"===e.direction)&&i.point.x>e.corners.left-20&&i.point.x<e.corners.right+20){var s=e.direction;e.direction=o,r=ce(e,i,s,r,20,!1)}else e.direction=o,r=he(e,i);else e.direction=o,r=he(e,i);else e.direction=i.point.y>e.point.y?"Bottom":"Top",r=de(t,e,i,"Bottom"===e.direction?e.corners.bottom-e.point.y+20:e.point.y-e.corners.top+20);else e.direction=o,r="Top"===o||"Bottom"===o?de(t,e,i,t.sourceWrapper.height/2+20):de(t,e,i,t.sourceWrapper.width/2+20),e.point=r[1],"Left"===o||"Right"===o?(i.direction=o,i.point="Left"===o?i.corners.middleLeft:i.corners.middleRight):jt(t.targetWrapper,e,i,t),r=de(t,e,i);return r}function Bt(t,e){if(void 0!==t.targetWrapper&&void 0===t.targetPortWrapper){if(L(t.targetWrapper).containsPoint(e.point,1)){var i=t.targetWrapper,r=t.segments[t.segments.length-2],n=r.points[r.points.length-1],o=xe(r.direction);"Bottom"===o?n.y<i.corners.bottom+1&&(r.points[r.points.length-1].y=i.corners.bottom+20,r.length=fs.distancePoints(r.points[0],r.points[r.points.length-1])):"Top"===o?n.y>i.corners.top-1&&(r.points[r.points.length-1].y=i.corners.top-20,r.length=fs.distancePoints(r.points[0],r.points[r.points.length-1])):"Left"===o?n.x>i.corners.left-1&&(r.points[r.points.length-1].x=i.corners.left-20,r.length=fs.distancePoints(r.points[0],r.points[r.points.length-1])):"Right"===o&&n.x<i.corners.right+1&&(r.points[r.points.length-1].x=i.corners.right+20,r.length=fs.distancePoints(r.points[0],r.points[r.points.length-1])),e.point=r.points[r.points.length-1]}}}function Nt(t,e,i,r,n,o,a,s){var h,d,l,c,p=[];Lt(t);for(var g=0;g<t.segments.length;g++){if(d=t.segments[parseInt(g.toString(),10)],r&&e.direction===xe(d.direction)&&(d.direction=e.direction),g>0&&t.segments[g-1].direction===d.direction?g=zt(t,g,e):d.direction?e.point=ut(e,t.segments[parseInt(g.toString(),10)]):(f=t.segments[g-1])&&f.points&&f.points.length>0&&(e.point=f.points[f.points.length-1]),g===t.segments.length-1)if(Bt(t,e),h=void 0===n?kt(t,e,i):bt(t,e,i),xt(h,t),d.points=[],h.length>=2)for(l=0;l<h.length;l++)if(t.selectedSegmentIndex)if(l===h.length-1&&h.length>2&&t.segments.length>2){var u={x:h[parseInt(l.toString(),10)].x,y:e.point.y};d.points=[],d.points.push(u),d.points.push(h[parseInt(l.toString(),10)]);var f=t.segments[g-1];t.segments.length<4&&f.points.pop(),f.points=f.points.concat(d.points)}else d.points.push(h[parseInt(l.toString(),10)]);else d.points.push(h[parseInt(l.toString(),10)]);else c=g;if(void 0===c||t.selectedSegmentIndex||(c===t.segments.length-1&&(t.segments[c-1].direction=null,t.segments[c-1].length=null),t.segments.splice(c,1)),r&&0===g){var m=wt(t,r,o,s);m&&(e.point=m)}}return Rt(t,p)}function Rt(t,e){for(var i=0;i<t.segments.length;i++)for(var r=t.segments[parseInt(i.toString(),10)],n=0;n<r.points.length;n++)(n>0||0===i)&&e.push(r.points[parseInt(n.toString(),10)]);return e}function jt(t,e,i,r){var n,o={x:0,y:0},a=At(t,t.corners,t.bounds),s=e.margin,h=e.point;if(a.bottomCenter.y+s.bottom<h.y)n="Bottom",o=a.bottomCenter;else if(a.topCenter.y-s.top>h.y)n="Top",o=a.topCenter;else if(a.middleLeft.x-s.left>h.x)n="Left",o=a.middleLeft;else if(a.middleRight.x+s.right<h.x)n="Right",o=a.middleRight;else{var d=Math.abs(h.y-a.topCenter.y),l=Math.abs(h.x-a.middleRight.x),c=Math.abs(h.y-a.bottomCenter.y),p=Math.abs(h.x-a.middleLeft.x),g=Number.MAX_VALUE;g=d,n="Top",o=a.topCenter,g>l&&(g=l,n="Right",o=a.middleRight),g>c&&(g=c,n="Bottom",o=a.bottomCenter),g>p&&(n="Left",o=a.middleLeft)}i.point=o,i.direction=n;var u=Ft(a,xe(i.direction));i.point=Xt(r,t,i.point,u,t===r.targetWrapper)}function Ht(t,e,i,r,n){var o,a=!1,s=[];if((a=ve(e.direction,i.direction))&&be(e,i),"Right"===e.direction&&"Left"===i.direction)o=Kt(t,e,i,a);else if("Right"===e.direction&&"Right"===i.direction)o=Qt(t,e,i);else if("Right"===e.direction&&"Top"===i.direction)o=Jt(t,e,i,a);else if("Right"===e.direction&&"Bottom"===i.direction)o=$t(t,e,i,a);else if("Bottom"===e.direction&&"Top"===i.direction)o=te(t,e,i);else if("Bottom"===e.direction&&"Bottom"===i.direction){var h=Wt(t);e.margin={left:h,right:h,top:h,bottom:h},i.margin={left:h,right:h,top:h,bottom:h},o=ie(t,e,i)}else"Bottom"===e.direction&&"Left"===i.direction?o=ee(t,e,i,a):"Left"===e.direction&&"Left"===i.direction?o=ne(t,e,i):"Left"===e.direction&&"Top"===i.direction?o=re(t,e,i,a):"Top"===e.direction&&"Top"===i.direction&&(o=oe(t,e,i));return a&&be(e,i),s=ae(t,o,e,i,r,n),"Bezier"===t.type&&ye(t,o,s),s}function Wt(t){return t.connectorSpacing>=13?13:t.connectorSpacing<=1?1:t.connectorSpacing}function _t(t,e){var i={x:e.x,y:t.y},r=fs.findLength(i,e),n=fs.findLength(e,t),o=Math.asin(r/n);return o=180*o/Math.PI,t.x<e.x?t.y>e.y&&(o=360-o):o=t.y<e.y?180-o:180+o,o}function Ft(t,e){var i;switch(e){case"Left":i=t.middleLeft;break;case"Top":i=t.topCenter;break;case"Right":i=t.middleRight;break;case"Bottom":i=t.bottomCenter}return i}function Yt(t,e,i,r,n,o){var a,s,h=[];h.push(r),r.y===n.y&&("Left"===e&&n.x<r.x||"Right"===e&&n.x>r.x)||r.x===n.x&&("Top"===e&&n.y<r.y||"Bottom"===e&&n.y>r.y)||("Top"===e||"Bottom"===e?"Top"===e&&n.y<r.y&&n.y>r.y-13||"Bottom"===e&&n.y>r.y&&n.y<r.y+13?(s="Top"===e?i.top-13:i.bottom+13,h.push({x:r.x,y:s}),h.push({x:r.x+(n.x-r.x)/2,y:s}),h.push({x:r.x+(n.x-r.x)/2,y:n.y})):Math.abs(r.x-n.x)>13&&("Top"===e&&n.y<r.y||"Bottom"===e&&n.y>r.y)?h.push({x:r.x,y:n.y}):(s="Top"===e?i.top-13:i.bottom+13,a=n.x<r.x?i.left-13:i.right+13,h.push({x:r.x,y:s}),h.push({x:n.x,y:s})):"Left"===e&&n.x<r.x&&n.x>r.x-13||"right"===e&&n.x>r.x&&n.x<r.x+13?(a="Left"===e?i.left-13:i.right+13,h.push({x:a,y:r.y}),h.push({x:a,y:r.y+(n.y-r.y)/2}),h.push({x:n.x,y:r.y+(n.y-r.y)/2})):Math.abs(r.y-n.y)>13&&("Left"===e&&n.x<r.x||"Right"===e&&n.x>r.x)?h.push({x:n.x,y:r.y}):(a="Left"===e?i.left-13:i.right+13,h.push({x:a,y:r.y}),h.push({x:a,y:n.y})),o&&(h.push(t.points[0]),h.reverse()),t.points=h)}function Vt(t,e,i){return fs.transform(t,i,e)}function Xt(t,e,i,r,n){i={x:i.x,y:i.y},r={x:r.x,y:r.y};var o,a,s=n?t.targetWrapper:t.sourceWrapper,h=n?t.targetPadding:t.sourcePadding,d=n||"Orthogonal"===t.type||"Bezier"===t.type?i:r,l=s,c=U(-s.parentTransform,s.offsetX,s.offsetY,i),p=U(-s.parentTransform,s.offsetX,s.offsetY,r);if("Orthogonal"===t.type||"Bezier"===t.type){c.x===p.x&&(c.y<p.y?c.y-=5:c.y+=5),c.y===p.y&&(c.x<p.x?c.x-=5:c.x+=5),i=U(s.parentTransform,s.offsetX,s.offsetY,c)}else if(n){g=fs.findAngle(i,r);r=fs.transform({x:r.x,y:r.y},g,Math.max(s.actualSize.width,s.actualSize.height))}else{var g=fs.findAngle(r,i);i=fs.transform({x:i.x,y:i.y},g,Math.max(s.actualSize.width,s.actualSize.height))}return(t.sourcePadding||t.targetPadding)&&(o=new ms(s.bounds.x-h,s.bounds.y-h,s.actualSize.width+2*h,s.actualSize.height+2*h)),s instanceof Ws&&s.data?(a=o?[o.topLeft,o.topRight,o.bottomRight,o.bottomLeft]:l.getPoints(),l.data.split("m").length-1+(l.data.split("M").length-1)==1&&(a[a.length]=a[0])):(a=o?[o.topLeft,o.topRight,o.bottomRight,o.bottomLeft]:vn(s,s.corners))[a.length]=a[0],Gt({x1:i.x,y1:i.y,x2:r.x,y2:r.y},a,!0,d)||i}function Ut(t,e,i){return e.x=Math.round(100*e.x)/100,e.y=Math.round(100*e.y)/100,i?t.targetPoint=e:t.sourcePoint=e,e}function Gt(t,e,i,r){var n,o=e.length,a={x1:e[0].x,y1:e[0].y,x2:e[1].x,y2:e[1].y},s=Zt(t,a);if(s&&(n=fs.distancePoints(s,r)),isNaN(n)||n>0)for(var h=1;h<o-1;h++){var d=Zt(t,a={x1:e[parseInt(h.toString(),10)].x,y1:e[parseInt(h.toString(),10)].y,x2:e[h+1].x,y2:e[h+1].y});if(d){var l=fs.distancePoints(d,r);if((isNaN(n)||n>l)&&(n=l,s=d),n>=0&&n<=1)break}}return s}function Zt(t,e){var i,r,n,o,a,s,h,d,l,c,p,g,u,f,m=t.x1,y=t.y1,v=t.x2,b=t.y2,S=e.x1,w=e.y1,x=e.x2,I=e.y2;if(i=b-y,n=m-v,a=v*y-m*b,p=i*S+n*w+a,g=i*x+n*I+a,0!==p&&0!==g&&qt(p,g))return null;if(r=I-w,o=S-x,s=x*w-S*I,l=r*m+o*y+s,c=r*v+o*b+s,0!==l&&0!==c&&qt(l,c))return null;var C=i*o-r*n;return 0===C?null:(u=C<0?-C/2:C/2,u=0,f=n*s-o*a,h=f<0?(f-u)/C:(f+u)/C,f=r*a-i*s,d=f<0?(f-u)/C:(f+u)/C,{x:h,y:d})}function qt(t,e){return t*e>=0}function Kt(e,i,r,n){var o=e.sourcePortWrapper,a=Math.round(Math.abs(i.point.y-r.point.y)),s={x:Math.max(i.point.x,i.corners.right),y:i.point.y},h={x:Math.min(r.point.x,r.corners.left),y:r.point.y},d=Wt(e);if(n){var l=h;h=s,s=l}return i.corners.bottom+d<r.corners.top-d||i.corners.top-d>r.corners.bottom+d||("Bezier"!==e.type?d=0:r.corners.left-i.corners.right<=2*d&&r.corners.left-i.corners.right>=5&&(d=0)),i.margin={left:d,right:d,top:d,bottom:d},r.margin={left:d,right:d,top:d,bottom:d},0===a&&(i.corners.right<r.corners.left||n&&i.corners.right<r.corners.left)?t.NoOfSegments.One:i.point.x+i.margin.right<r.point.x-r.margin.left?t.NoOfSegments.Three:e.sourceWrapper!==e.targetWrapper&&(L(e.sourceWrapper).containsPoint(h)||L(e.targetWrapper).containsPoint(s))?t.NoOfSegments.Three:i.corners.bottom<=r.corners.top?t.NoOfSegments.Five:i.corners.top>=r.corners.top?t.NoOfSegments.Five:void 0!==o&&o.offsetY<=r.corners.top||void 0===o&&i.corners.right<=r.corners.top?t.NoOfSegments.Five:(void 0!==o&&o.offsetY>=r.corners.bottom||void 0===o&&(i.corners.right,r.corners.bottom),t.NoOfSegments.Five)}function Qt(e,i,r){var n=e.sourcePortWrapper,o=e.targetPortWrapper,a=i.point.x-r.point.x,s=i.point.y-r.point.y,h=Wt(e);return r.margin={left:h,right:h,top:h,bottom:h},i.margin={left:h,right:h,top:h,bottom:h},i.corners.right>=r.corners.right?void 0!==n&&(n.offsetY<r.corners.top-r.margin.top||n.offsetY>r.corners.bottom+r.margin.bottom)||void 0===n&&i.corners.middleRight.y<r.corners.top?t.NoOfSegments.Three:void 0!==n&&n.offsetY>r.corners.bottom+r.margin.bottom&&i.corners.top>r.corners.bottom||void 0===n&&i.corners.middleRight.y>r.corners.bottom?t.NoOfSegments.Three:void 0!==n&&n.offsetY<r.corners.top-r.margin.top&&i.corners.bottom>r.corners.top||void 0===n&&i.corners.middleRight.y>r.corners.bottom?t.NoOfSegments.Three:i.corners.right<r.corners.left||r.corners.right<i.corners.left?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three:void 0!==o&&i.corners.bottom<o.offsetY-r.margin.top||void 0===o&&i.corners.bottom<r.corners.middleRight.y?t.NoOfSegments.Three:void 0!==o&&i.corners.top>o.offsetY+r.margin.right||void 0===o&&i.corners.top>r.corners.middleRight.y?t.NoOfSegments.Three:void 0!==o&&(void 0!==n&&n.offsetX<r.corners.left&&n.offsetX!==o.offsetX&&Math.abs(i.corners.right-r.corners.left)<=20||void 0===n&&i.corners.right<r.corners.left&&i.corners.center.x!==r.corners.center.x&&i.corners.center.y!==r.corners.center.y)?t.NoOfSegments.Three:i.corners.right<r.corners.left?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three}function Jt(e,i,r,n){var o=e.targetPortWrapper,a=e.sourcePortWrapper,s={x:Math.max(i.point.x,i.corners.right),y:i.point.y},h={x:r.point.x,y:Math.min(r.point.y,r.corners.top)},d=Wt(e);if(r.margin={left:d,right:d,top:d,bottom:d},i.margin={top:d,bottom:d,left:d,right:d},n){var l=a;a=o,o=l;var c=s;s=h,h=c}return void 0!==a&&a.offsetY<r.corners.top-r.margin.top||void 0===a&&i.corners.bottom<r.corners.top-r.margin.top?i.corners.bottom<r.corners.top?void 0!==o&&i.corners.right+i.margin.right<o.offsetX||void 0===o&&i.corners.right+i.margin.right<r.corners.topCenter.x?t.NoOfSegments.Two:t.NoOfSegments.Four:void 0!==o&&i.corners.left>o.offsetX||void 0===o&&i.corners.left>r.corners.topCenter.x?t.NoOfSegments.Four:t.NoOfSegments.Two:void 0!==a&&Math.abs(i.corners.right-r.corners.left)<=5&&Math.abs(a.offsetY-r.corners.top)<=5?t.NoOfSegments.Two:void 0!==o&&i.corners.right<r.corners.left&&Math.abs(o.offsetX-i.corners.topCenter.x)>=25&&i.corners.middleRight.y+i.margin.right<o.offsetY?t.NoOfSegments.Two:i.corners.right<r.corners.left?t.NoOfSegments.Four:e.sourceWrapper!==e.targetWrapper&&(L(e.sourceWrapper).containsPoint(h)||L(e.targetWrapper).containsPoint(s))?t.NoOfSegments.Two:t.NoOfSegments.Four}function $t(e,i,r,n){var o=Wt(e);i.margin={left:o,right:o,top:o,bottom:o},r.margin={left:o,right:o,top:o,bottom:o};var a=e.sourcePortWrapper,s=e.targetPortWrapper;if(n){var h=a;a=s,s=h}return void 0!==a&&a.offsetY>r.corners.bottom+r.margin.bottom||void 0===a&&i.corners.middleRight.y>r.corners.bottom+r.margin.bottom?i.corners.top>r.corners.bottom?void 0!==s&&i.corners.right+i.margin.right<s.offsetX||void 0===s&&i.corners.right+i.margin.right<r.corners.bottomCenter.x?t.NoOfSegments.Two:t.NoOfSegments.Four:void 0!==s&&i.corners.left>s.offsetX||void 0===s&&i.corners.left>r.corners.bottomCenter.x?t.NoOfSegments.Four:t.NoOfSegments.Two:void 0!==a&&Math.abs(i.corners.right-r.corners.left)<=25&&Math.abs(a.offsetY-r.corners.bottom)<=25?t.NoOfSegments.Two:(i.corners.right,r.corners.left,t.NoOfSegments.Four)}function te(e,i,r){var n=i.point.x-r.point.x,o=Wt(e);return i.corners.right+o<r.corners.left-o||i.corners.left-o>r.corners.right+o||("Bezier"!==e.type?o=0:r.corners.top-i.corners.bottom<=2*o&&r.corners.top-i.corners.bottom>=5&&(o=0)),i.margin={left:o,right:o,top:o,bottom:o},r.margin={left:o,right:o,top:o,bottom:o},0===n&&i.corners.bottom<r.corners.top?t.NoOfSegments.One:i.corners.bottom+i.margin.bottom<r.corners.top-r.margin.top?t.NoOfSegments.Three:i.corners.right+i.margin.right<r.corners.left-r.margin.left?t.NoOfSegments.Five:(i.corners.left,i.margin.left,r.corners.right,r.margin.right,t.NoOfSegments.Five)}function ee(e,i,r,n){var o=e.sourcePortWrapper,a=e.targetPortWrapper,s=Wt(e);r.margin={left:s,right:s,top:s,bottom:s},i.margin={top:s,bottom:s,left:s,right:s};if(n){var h=o;o=a,a=h}return void 0!==o&&o.offsetX<r.corners.left-r.margin.left||void 0===o&&i.corners.bottomCenter.x<r.corners.bottomLeft.x-r.margin.left?i.corners.right<r.corners.left?void 0!==a&&i.corners.bottom+i.margin.bottom<a.offsetY||void 0===a&&i.corners.bottom+i.margin.bottom<r.corners.middleLeft.y?t.NoOfSegments.Two:t.NoOfSegments.Four:void 0!==a&&i.corners.top>a.offsetY||void 0===a&&i.corners.top>r.corners.middleLeft.y?t.NoOfSegments.Four:t.NoOfSegments.Two:void 0!==a&&Math.abs(i.corners.right-r.corners.left)<=25&&Math.abs(a.offsetY-i.corners.bottom)<=25?t.NoOfSegments.Two:t.NoOfSegments.Four}function ie(e,i,r){var n=e.sourcePortWrapper,o=e.targetPortWrapper,a=Math.round(Math.abs(i.point.x-r.point.x)),s=Math.round(Math.abs(r.point.y-r.point.y));return i.corners.bottom<r.corners.bottom?void 0!==n&&n.offsetX<r.corners.left-r.margin.left||void 0===n&&i.corners.bottomCenter.x<r.corners.left-r.margin.left?t.NoOfSegments.Three:void 0!==n&&n.offsetX>r.corners.right+r.margin.right||void 0===n&&i.corners.bottomCenter.x>r.corners.right+r.margin.right?t.NoOfSegments.Three:i.corners.bottom<r.corners.top?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three:void 0!==o&&i.corners.left-i.margin.left>o.offsetX||void 0===o&&i.corners.left>r.corners.left?t.NoOfSegments.Three:void 0!==o&&i.corners.right+i.margin.right<o.offsetX||void 0===o&&i.corners.right<r.corners.right?t.NoOfSegments.Three:i.corners.top>r.corners.bottom?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three}function re(e,i,r,n){var o=e.sourcePortWrapper,a=Wt(e);r.margin={left:a,right:a,top:a,bottom:a},i.margin={top:a,bottom:a,left:a,right:a};var s=e.targetPortWrapper,h={x:Math.min(i.point.x,i.corners.left),y:i.point.y},d={x:r.point.x,y:Math.min(r.point.y,r.corners.top)};if(n){var l=o;o=s,s=l;var c=h;h=d,d=c}return void 0!==o&&o.offsetY<r.corners.top-r.margin.top||void 0===o&&(i.corners.bottom<r.corners.top-r.margin.top||i.corners.middleLeft.y<r.corners.top-r.margin.top)?i.corners.bottom<r.corners.top?void 0!==s&&i.corners.left-i.margin.left>s.offsetX||void 0===s&&i.corners.left-i.margin.left>r.corners.topCenter.x?t.NoOfSegments.Two:t.NoOfSegments.Four:void 0!==s&&i.corners.right<s.offsetX||void 0===s&&i.corners.right<r.corners.topCenter.x?t.NoOfSegments.Four:t.NoOfSegments.Two:void 0!==o&&Math.abs(i.corners.left-r.corners.right)<=25&&Math.abs(o.offsetY-r.corners.top)<=25?t.NoOfSegments.Two:e.sourceWrapper!==e.targetWrapper&&(L(e.sourceWrapper).containsPoint(d)||L(e.targetWrapper).containsPoint(h))?t.NoOfSegments.Two:(i.corners.left,r.corners.right,t.NoOfSegments.Four)}function ne(e,i,r){var n=e.sourcePortWrapper,o=e.targetPortWrapper,a=Wt(e);i.margin={left:a,right:a,top:a,bottom:a},r.margin={left:a,right:a,top:a,bottom:a};var s=Math.round(Math.abs(i.point.x-r.point.x)),h=Math.round(Math.abs(i.point.y-r.point.y));return i.corners.left<r.corners.left?void 0!==o&&i.corners.bottom+i.margin.bottom<o.offsetY||void 0===o&&i.corners.bottom+i.margin.bottom<r.corners.middleLeft.y?t.NoOfSegments.Three:void 0!==o&&i.corners.top-i.margin.top>o.offsetY||void 0===o&&i.corners.top-i.margin.top>r.corners.middleLeft.y?t.NoOfSegments.Three:i.corners.right<r.corners.left||r.corners.right<i.corners.left?t.NoOfSegments.Five:0===s||0===h?t.NoOfSegments.One:t.NoOfSegments.Three:void 0!==n&&n.offsetY<r.corners.top-r.margin.top||void 0===n&&i.corners.middleLeft.y<r.corners.top?t.NoOfSegments.Three:void 0!==n&&n.offsetY>r.corners.bottom+r.margin.bottom||void 0===n&&i.corners.middleLeft.y>r.corners.bottom+r.margin.bottom?t.NoOfSegments.Three:i.corners.left>r.corners.right?t.NoOfSegments.Five:0===s||0===h?t.NoOfSegments.One:t.NoOfSegments.Three}function oe(e,i,r){var n=e.sourcePortWrapper,o=e.targetPortWrapper,a=Math.round(Math.abs(i.point.x-r.point.x)),s=Math.round(Math.abs(i.point.y-r.point.y)),h=Wt(e);r.margin={left:h,right:h,top:h,bottom:h},i.margin={top:h,bottom:h,left:h,right:h};return i.corners.top<r.corners.top?void 0!==o&&i.corners.left-i.margin.left>o.offsetX||void 0===o&&i.corners.left>r.corners.left?t.NoOfSegments.Three:void 0!==o&&i.corners.right+i.margin.right<o.offsetX||void 0===o&&i.corners.right<r.corners.right?t.NoOfSegments.Three:i.corners.bottom<r.corners.top?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three:void 0!==n&&n.offsetX>r.corners.right+r.margin.right||void 0===n&&i.corners.left>r.corners.right?t.NoOfSegments.Three:void 0!==n&&n.offsetX<r.corners.left-r.margin.left||void 0===n&&i.corners.bottomRight.x<r.corners.left?t.NoOfSegments.Three:i.corners.top>r.corners.bottom?t.NoOfSegments.Five:0===a||0===s?t.NoOfSegments.One:t.NoOfSegments.Three}function ae(e,i,r,n,o,a){var s,h,d=e.sourceWrapper,l=e.targetWrapper,c=d.corners,p=l.corners,g=20,u={corners:r.corners,point:r.point,direction:r.direction,margin:r.margin},f={corners:n.corners,point:n.point,direction:n.direction,margin:n.margin};if(!(u.direction===f.direction&&i!==t.NoOfSegments.Five||u.direction!==xe(f.direction)&&i!==t.NoOfSegments.Three))switch(u.direction){case"Left":c.middleLeft.x>p.middleRight.x&&(h=(c.middleLeft.x-p.middleRight.x)/2,g=a?h:Math.min(g,h));break;case"Right":c.middleRight.x<p.middleLeft.x&&(h=(p.middleLeft.x-c.middleRight.x)/2,g=a?h:Math.min(g,h));break;case"Top":c.topCenter.y>p.bottomCenter.y&&(h=(c.topCenter.y-p.bottomCenter.y)/2,g=a?h:Math.min(g,h));break;case"Bottom":c.bottomCenter.y<p.topCenter.y&&(h=(p.topCenter.y-c.bottomCenter.y)/2,g=a?h:Math.min(g,h))}g=se(c,u,g);var m="Bezier"===e.type;if(o&&(g=Math.max(g,o)),i===t.NoOfSegments.One&&(s=[u.point,f.point]),i===t.NoOfSegments.Two&&(s=he(u,f)),i===t.NoOfSegments.Three&&(s=de(e,u,f,g,void 0,m)),i===t.NoOfSegments.Four){s=ce(u,f,void 0,s,g,m)}return i===t.NoOfSegments.Five&&(s=le(u,f,g,m)),s}function se(t,e,i){switch(e.direction){case"Left":e.point.x>t.left&&(i=e.point.x-t.left>i?e.point.x-t.left+i:i);break;case"Right":e.point.x<t.right&&(i=t.right-e.point.x>i?t.right-e.point.x+i:i);break;case"Top":e.point.y>t.top&&(i=e.point.y-t.top>i?e.point.y-t.top+i:i);break;case"Bottom":e.point.y<t.bottom&&(i=t.bottom-e.point.y>i?t.bottom-e.point.y+i:i)}return i}function he(t,e){var i;switch(t.direction){case"Left":case"Right":var r={x:e.point.x,y:t.point.y};i=fs.equals(t.point,r)||fs.equals(e.point,r)?[t.point,e.point]:[t.point,r,e.point];break;case"Top":case"Bottom":var n={x:t.point.x,y:e.point.y};i=fs.equals(t.point,n)||fs.equals(e.point,n)?[t.point,e.point]:[t.point,n,e.point]}return i}function de(t,e,i,r,n,o){void 0===o&&(o=!1),r||(r=20),o&&e.direction!==i.direction&&(r="Left"===e.direction||"Right"===e.direction?Math.floor(.5*Math.abs(e.point.x-i.point.x)):Math.floor(.5*Math.abs(e.point.y-i.point.y)));var a,s,h,d=t.sourcePortWrapper,l=i.point.x-e.point.x,c=i.point.y-e.point.y;if(!n&&(Math.abs(l)<.001||Math.abs(c)<.001)&&void 0===i.direction)return[e.point,i.point];if(void 0===t.targetWrapper&&Math.abs(l)<=31&&Math.abs(c)<=31){if("Left"===e.direction||"Right"===e.direction?Math.abs(c)<12&&(e.direction=e.point.y>i.point.y?"Top":"Bottom"):Math.abs(l)<12&&(e.direction=e.point.x>i.point.x?"Left":"Right"),Math.abs(l)>12||Math.abs(c)>12)return he(e,i);r+=5}return"Left"===e.direction||"Right"===e.direction?("Right"===e.direction?(void 0!==i.direction&&"Right"===i.direction&&(r=Math.max(e.point.x,i.point.x)-e.point.x+r),e.point.x>i.point.x&&void 0===d&&(r=-r)):(void 0!==i.direction&&"Left"===i.direction&&(r=e.point.x-Math.min(e.point.x,i.point.x)+r),(e.point.x>i.point.x||void 0!==d||"Left"===e.direction)&&(r=-r)),h=i.point.y-e.point.y,a=Vt(e.point,r,0),0!==(h=i.point.y-a.y)&&(s=Vt(a,i.point.y-a.y,90))):"Top"!==e.direction&&"Bottom"!==e.direction||("Bottom"===e.direction?void 0!==i.direction&&"Bottom"===i.direction&&(r=Math.max(e.point.y,i.point.y)-e.point.y+r):(void 0!==i.direction&&"Top"===i.direction&&(r=e.point.y-Math.min(e.point.y,i.point.y)+r),(e.point.y>i.point.y||void 0!==d||"Top"===e.direction)&&(r=-r)),h=i.point.x-e.point.x,a=(e.direction,Vt(e.point,r,90)),0!==(h=i.point.x-a.x)&&(s=Vt(a,i.point.x-a.x,0))),0===h?[e.point,i.point]:[e.point,a,s,i.point]}function le(t,e,i,r){void 0===i&&(i=20),void 0===r&&(r=!1),r&&(i=20);var n,o,a=i,s=t.corners.left-t.margin.left,h=t.corners.right+t.margin.right,d=t.corners.bottom+t.margin.bottom,l=t.corners.top-t.margin.top,c=e.corners.left-e.margin.left,p=e.corners.right+e.margin.right,g=e.corners.bottom+e.margin.bottom,u=e.corners.top-e.margin.top;switch(t.direction){case"Left":(l>u&&l<g||d<g&&d>u)&&s>c&&s<=p&&i>=20&&(a=t.point.x-e.corners.left+a),r&&t.direction===e.direction&&t.corners.left>e.corners.left&&t.corners.left-e.corners.right>=20&&(a=(t.corners.left-e.corners.right)/2),o=Vt(t.point,a,180);break;case"Top":(s>c&&s<p||h<p&&h>c)&&l>u&&l<=g&&i>=20&&(a=t.point.y-e.corners.top+a),r&&t.direction===e.direction&&t.corners.top>e.corners.top&&t.corners.top-e.corners.bottom>=20&&(a=(t.corners.top-e.corners.bottom)/2),o=Vt(t.point,a,270);break;case"Right":(l>u&&l<g||d<g&&d>u)&&h<p&&h>=c&&i>=20&&(a=e.corners.right-t.point.x+a),r&&t.direction===e.direction&&t.corners.right<e.corners.right&&e.corners.left-t.corners.right>=20&&(a=(e.corners.left-t.corners.right)/2),o=Vt(t.point,a,0);break;case"Bottom":(s>c&&s<p||h<p&&h>c)&&d<g&&d>=u&&i>=20&&(a=e.corners.bottom-t.point.y+a),r&&t.direction===e.direction&&t.corners.bottom<e.corners.bottom&&e.corners.top-t.corners.bottom>=20&&(a=(e.corners.top-t.corners.bottom)/2),o=Vt(t.point,a,90)}n=[t.point,o];var f=void 0;if("Top"===t.direction||"Bottom"===t.direction){m=t.direction;t.direction=o.x>e.point.x?"Left":"Right",t.point=o,n=ce(t,e,m,n,f=r?.5*Math.abs(o.x-e.point.x):f,r)}else{var m=t.direction;t.direction=o.y>e.point.y?"Top":"Bottom",t.point=o,n=ce(t,e,m,n,f=r?.5*Math.abs(o.y-e.point.y):f,r)}return n}function ce(t,e,i,r,n,o){void 0===n&&(n=20),void 0===o&&(o=!1);var a;switch(void 0===i?(t.margin={left:2,right:2,top:2,bottom:2},e.margin={left:0,right:5,top:0,bottom:5},o&&(t.margin={left:10,right:10,top:10,bottom:10},e.margin={left:10,right:10,top:10,bottom:10},"Left"===t.direction?(n=ue(t,e,i,n),t.corners.left-e.corners.right>=5&&(n=Math.abs(t.point.x-t.corners.left)+.5*Math.floor(t.corners.left-e.corners.right))):"Right"===t.direction?(n=fe(t,e,n,i),e.corners.left-t.corners.right>=5&&(n=Math.abs(t.point.x-t.corners.right)+.5*Math.floor(e.corners.left-t.corners.right))):"Top"===t.direction?(n=ge(t,e,i,n),t.corners.top-e.corners.bottom>=5&&(n=Math.abs(t.point.y-t.corners.top)+.5*Math.floor(t.corners.top-e.corners.bottom))):"Bottom"===t.direction&&(n=me(t,e,n,i),e.corners.top-t.corners.bottom>=5&&(n=Math.abs(t.point.y-t.corners.bottom)+.5*Math.floor(e.corners.top-t.corners.bottom))))):("Bottom"===t.direction?o?e.corners.top-t.corners.bottom<20&&(n=e.corners.bottom-t.point.y+25):e.corners.top>t.corners.bottom&&e.corners.top-t.corners.bottom<20&&(n=(e.corners.top-t.corners.bottom)/2):"Top"===t.direction?o?t.corners.top-e.corners.bottom<20&&(n=t.point.y-e.corners.top+25):e.corners.bottom<t.corners.top&&t.corners.top-e.corners.bottom<20&&(n=(t.corners.top-e.corners.bottom)/2):"Right"===t.direction?o?e.corners.left-t.corners.right<20&&(n=e.corners.right-t.point.x+25):e.corners.left>t.corners.right&&e.corners.left-t.corners.right<20&&(n=(e.corners.left-t.corners.right)/2):"Left"===t.direction&&(o?t.corners.left-e.corners.right<20&&(n=t.point.x-e.corners.left+25):e.corners.right<t.corners.left&&t.corners.left-e.corners.right<20&&(n=(t.corners.left-e.corners.right)/2)),i===e.direction&&o&&("Bottom"===e.direction&&t.point.y>e.point.y||"Top"===e.direction&&t.point.y<e.point.y?"Left"===t.direction?n=ue(t,e,i,20):"Right"===t.direction&&(n=fe(t,e,20,i)):("Right"===e.direction&&t.point.x>e.point.x||"Left"===e.direction&&t.point.x<e.point.x)&&("Top"===t.direction?n=ge(t,e,i,20):"Bottom"===t.direction&&(n=me(t,e,20,i))))),t.direction){case"Left":n=o?n:ue(t,e,i,n),a=Vt(t.point,n,180);break;case"Right":n=o?n:fe(t,e,n,i),a=Vt(t.point,n,0);break;case"Top":n=o?n:ge(t,e,i,n),a=Vt(t.point,n,270);break;case"Bottom":n=o?n:me(t,e,n,i),a=Vt(t.point,n,90)}return void 0!==r?r.push(a):r=[t.point,a],"Top"===t.direction||"Bottom"===t.direction?pe(a,"horizontal",t,e,r,o):"Right"!==t.direction&&"Left"!==t.direction||pe(a,"vertical",t,e,r,o),r}function pe(t,e,i,r,n,o){var a,s,h;"horizontal"===e?(i.margin={left:0,right:10,top:0,bottom:10},r.margin={left:0,right:10,top:0,bottom:10}):"vertical"===e&&(i.margin={left:10,right:0,top:10,bottom:0},r.margin={left:10,right:0,top:10,bottom:0});var d=20;if("horizontal"===e){switch(r.direction){case"Left":if(i.corners.right+i.margin.right<r.corners.left-r.margin.left&&(r.corners.left-i.margin.right-i.corners.right>d||i.corners.top-i.margin.top<=r.point.y&&i.corners.bottom+i.margin.bottom>=r.point.y))if(!o||"Top"!==i.direction&&"Bottom"!==i.direction){l=Math.min(Math.abs(r.corners.left-i.corners.right)/2,20);d=i.corners.right-t.x+l}else{l=Math.abs(r.corners.left-i.corners.right)/2;d=i.corners.right-t.x+l}else d="Top"===i.direction&&t.y>r.point.y||"Bottom"===i.direction&&t.y<r.point.y?Math.min(r.corners.left,t.x)-t.x-20:t.x>=i.corners.left-i.margin.left&&t.x<=i.corners.right+i.margin.right?Math.min(r.corners.left,i.corners.left)-t.x-20:r.corners.left-t.x-20;break;case"Right":if(i.corners.left-i.margin.left>r.corners.right+r.margin.right&&(i.corners.left-i.margin.right-r.corners.right>d||i.corners.top-i.margin.top<=r.point.y&&i.corners.bottom+i.margin.bottom>=r.point.y))if(!o||"Top"!==i.direction&&"Bottom"!==i.direction){l=Math.min(Math.abs(i.corners.left-r.corners.right)/2,20);d=i.corners.left-t.x-l}else{l=Math.abs(i.corners.left-r.corners.right)/2;d=i.corners.left-t.x-l}else d="Top"===i.direction&&t.y>r.point.y||"Bottom"===i.direction&&t.y<r.point.y?Math.max(r.corners.right,t.x)-t.x+20:t.x>=i.corners.left-i.margin.left&&t.x<=i.corners.right+i.margin.right?Math.max(r.corners.right,i.corners.right)-t.x+20:r.corners.right-t.x+20}s=Vt(a=Vt(t,d,0),r.point.y-t.y,90),h=r.point}else if("vertical"===e){switch(r.direction){case"Top":if(i.corners.bottom+i.margin.bottom<r.corners.top-r.margin.top&&(r.corners.top-i.margin.top-i.corners.bottom>d||i.corners.left-i.margin.left<=r.point.x&&i.corners.right+i.margin.right>=r.point.x))if(!o||"Right"!==i.direction&&"Left"!==i.direction){l=Math.min(Math.abs(r.corners.top-i.corners.bottom)/2,20);d=i.corners.bottom-t.y+l}else{l=Math.abs(r.corners.top-i.corners.bottom)/2;d=i.corners.bottom-t.y+l}else d="Left"===i.direction&&t.x>r.point.x||"Right"===i.direction&&t.x<r.point.x?Math.min(r.corners.top,t.y)-t.y-20:t.y>=i.corners.top-i.margin.top&&t.y<=i.corners.bottom+i.margin.bottom?Math.min(r.corners.top,i.corners.top)-t.y-20:r.corners.top-t.y-20;break;case"Bottom":if(i.corners.top-i.margin.top>r.corners.bottom+r.margin.bottom&&(i.corners.top-i.margin.top-r.corners.bottom>d||i.corners.left-i.margin.left<=r.point.x&&i.corners.right+i.margin.right>=r.point.x))if(!o||"Right"!==i.direction&&"Left"!==i.direction){l=Math.min(Math.abs(i.corners.top-r.corners.bottom)/2,20);d=i.corners.top-t.y-l}else{var l=Math.abs(i.corners.top-r.corners.bottom)/2;d=i.corners.top-t.y-l}else d="Left"===i.direction&&t.x>r.point.x||"Right"===i.direction&&t.x<r.point.x?Math.max(r.corners.bottom,t.y)-t.y+20:t.y>=i.corners.top-i.margin.top&&t.y<=i.corners.bottom+i.margin.bottom?Math.max(r.corners.bottom,i.corners.bottom)-t.y+20:r.corners.bottom-t.y+20}s=Vt(a=Vt(t,d,90),r.point.x-t.x,0),h=r.point}n.push(a),n.push(s),n.push(h)}function ge(t,e,i,r){return t.corners.top-t.margin.top>e.corners.top+e.margin.top&&t.corners.top-t.margin.top<=e.corners.bottom+e.margin.bottom?("Right"===e.direction&&t.point.x<e.point.x?r+=t.corners.top-e.corners.top:"Left"===e.direction&&t.point.x>e.point.x&&(r+=t.corners.top-e.corners.top),r+=t.point.y-t.corners.top):void 0!==i&&"Left"!==i&&"Right"===e.direction&&t.point.x<e.point.x?r+=Math.abs(t.point.y-e.corners.bottom):void 0!==i&&"Right"!==i&&"Left"===e.direction&&e.point.x<t.point.x?r+=Math.abs(t.point.y-e.corners.bottom):r+=t.point.y-t.corners.top,r}function ue(t,e,i,r){return t.corners.left-t.margin.left>e.corners.left-e.margin.left&&t.corners.left-t.margin.left<=e.corners.right+e.margin.right?("Bottom"===e.direction&&t.point.y<e.point.y?r+=t.corners.left-e.corners.left:"Top"===e.direction&&t.point.y>e.point.y&&(r+=t.corners.left-e.corners.left),r+=t.point.x-t.corners.left):void 0!==i&&"Top"!==i&&"Bottom"===e.direction&&t.point.y<e.point.y?r+=Math.abs(t.point.x-e.corners.right):void 0!==i&&"Bottom"!==i&&"Top"===e.direction&&e.point.y<t.point.y?r+=Math.abs(t.point.x-e.corners.right):r+=t.point.x-t.corners.left,r}function fe(t,e,i,r){return t.corners.right+t.margin.right<e.corners.right+e.margin.right&&t.corners.right+t.margin.right>=e.corners.left-e.margin.left?("Bottom"===e.direction&&t.point.y<e.point.y?i+=e.corners.right-t.corners.right:"Top"===e.direction&&t.point.y>e.point.y&&(i+=e.corners.right-t.corners.right),i+=t.corners.right-t.point.x):void 0!==r&&"Top"!==r&&"Bottom"===e.direction&&t.point.y<e.point.y?i+=Math.abs(t.point.x-e.corners.right):void 0!==r&&"Bottom"!==r&&"Top"===e.direction&&e.point.y<t.point.y?i+=Math.abs(t.point.x-e.corners.right):i+=t.corners.right-t.point.x,i}function me(t,e,i,r){return t.corners.bottom+t.margin.bottom<e.corners.bottom+e.margin.bottom&&t.corners.bottom+t.margin.bottom>=e.corners.top-e.margin.top?("Right"===e.direction&&t.point.x<e.point.x?i+=e.corners.bottom-t.corners.bottom:"Left"===e.direction&&t.point.x>e.point.x&&(i+=e.corners.bottom-t.corners.bottom),i+=t.corners.bottom-t.point.y):void 0!==r&&"Left"!==r&&"Right"===e.direction&&t.point.x<e.point.x?i+=Math.abs(t.point.y-e.corners.bottom):void 0!==r&&"Right"!==r&&"Left"===e.direction&&e.point.x<t.point.x?i+=Math.abs(t.point.y-e.corners.bottom):i+=t.corners.bottom-t.point.y,i}function ye(e,i,r){if("Bezier"===e.type)if(0===e.segments.length){var n=r[0],o=r[r.length-1];if(i===t.NoOfSegments.One){var a=Math.min(20,.5*fs.findLength(n,o)),s={angle:_t(n,o),distance:a},h={angle:_t(o,n),distance:a},d=fs.direction(n,o),l=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:s,vector2:h,orientation:c="Left"===d||"Right"===d?"Horizontal":"Vertical"},!0);e.segments.push(l)}else if(i===t.NoOfSegments.Two){var s={angle:_t(n,u=r[1]),distance:.5*fs.findLength(n,u)},h={angle:_t(o,u),distance:.5*fs.findLength(o,u)},c="Left"===(d=fs.direction(n,u))||"Right"===d?"Horizontal":"Vertical",l=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:s,vector2:h,orientation:c},!0);e.segments.push(l)}else if(i===t.NoOfSegments.Three){var p=r[1],g=r[r.length-2],u={x:.5*(p.x+g.x),y:.5*(p.y+g.y)},s={angle:_t(n,p),distance:.5*fs.findLength(n,p)},h={angle:_t(u,p),distance:.5*fs.findLength(u,p)},f=fs.direction(n,p),m=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:s,vector2:h,point:u,orientation:M="Left"===f||"Right"===f?"Horizontal":"Vertical"},!0);e.segments.push(m);var y={angle:_t(u,g),distance:.5*fs.findLength(u,g)},v={angle:_t(o,g),distance:.5*fs.findLength(o,g)},b=fs.direction(u,g),S=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:y,vector2:v,orientation:E="Left"===b||"Right"===b?"Horizontal":"Vertical"},!0);e.segments.push(S)}else if(i===t.NoOfSegments.Four){var p=r[1],g=r[2],w=r[3],x={x:.5*(p.x+g.x),y:.5*(p.y+g.y)},I={x:.5*(g.x+w.x),y:.5*(g.y+w.y)},s={angle:_t(n,p),distance:.5*fs.findLength(n,p)},h={angle:_t(x,p),distance:.5*fs.findLength(x,p)},f=fs.direction(n,p),m=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:s,vector2:h,point:x,orientation:M="Left"===f||"Right"===f?"Horizontal":"Vertical"},!0);e.segments.push(m);var y={angle:_t(x,g),distance:.5*fs.findLength(x,g)},v={angle:_t(I,g),distance:.5*fs.findLength(I,g)},b=fs.direction(x,g),S=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:y,vector2:v,point:I,orientation:E="Left"===b||"Right"===b?"Horizontal":"Vertical"},!0);e.segments.push(S);var C={angle:_t(I,w),distance:.5*fs.findLength(I,w)},P={angle:_t(o,w),distance:.5*fs.findLength(o,w)},D=fs.direction(I,w),T=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:C,vector2:P,orientation:L="Left"===D||"Right"===D?"Horizontal":"Vertical"},!0);e.segments.push(T)}else if(i===t.NoOfSegments.Five){var p=r[1],g=r[2],w=r[3],A=r[4],x={x:.5*(p.x+g.x),y:.5*(p.y+g.y)},I={x:.5*(g.x+w.x),y:.5*(g.y+w.y)},O={x:.5*(w.x+A.x),y:.5*(w.y+A.y)},s={angle:_t(n,p),distance:.5*fs.findLength(n,p)},h={angle:_t(x,p),distance:.5*fs.findLength(x,p)},M="Left"===(f=fs.direction(n,p))||"Right"===f?"Horizontal":"Vertical",m=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:s,vector2:h,point:x,orientation:M},!0);e.segments.push(m);var y={angle:_t(x,g),distance:.5*fs.findLength(x,g)},v={angle:_t(I,g),distance:.5*fs.findLength(I,g)},E="Left"===(b=fs.direction(x,g))||"Right"===b?"Horizontal":"Vertical",S=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:y,vector2:v,point:I,orientation:E},!0);e.segments.push(S);var C={angle:_t(I,w),distance:.5*fs.findLength(I,w)},P={angle:_t(O,w),distance:.5*fs.findLength(O,w)},L="Left"===(D=fs.direction(I,w))||"Right"===D?"Horizontal":"Vertical",T=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:C,vector2:P,point:O,orientation:L},!0);e.segments.push(T);var z={angle:_t(O,A),distance:.5*fs.findLength(O,A)},k={angle:_t(o,A),distance:.5*fs.findLength(o,A)},B=fs.direction(O,A),N=new fd(e,"segments",{type:"Bezier",isInternalSegment:!0,vector1:z,vector2:k,orientation:"Left"===B||"Right"===B?"Horizontal":"Vertical"},!0);e.segments.push(N)}else{l=new fd(e,"segments",{type:"Bezier"},!0);e.segments.push(l)}}else for(var R=0;R<e.segments.length;R++)e.bezierSettings.allowSegmentsReset&&(e.segments[parseInt(R.toString(),10)].isInternalSegment=!0)}function ve(t,e){var i=!1;switch(t){case"Left":switch(e){case"Right":case"Bottom":i=!0}break;case"Top":switch(e){case"Left":case"Right":case"Bottom":i=!0}break;case"Bottom":switch(e){case"Right":i=!0}}return i}function be(t,e){var i=t.direction;t.direction=e.direction,e.direction=i;var r=t.point;t.point=e.point,e.point=r;var n=t.corners;t.corners=e.corners,e.corners=n}function Se(t,e,i,r){var n=void 0===e?i:e,o=n.topLeft,a=n.topRight,s=n.bottomRight,h=n.bottomLeft,d=n.center,l=_t(d,t),c=_t(d,s),p=_t(d,h),g=_t(d,o),u=_t(d,a);return l>g&&l<u?"Top":l>=c&&l<p?"Bottom":l>=p&&l<=g?"Left":"Right"}function we(t){var e=t.wrapper.children[0].bounds;return"None"!==t.sourceDecorator.shape&&e.uniteRect(t.wrapper.children[1].bounds),"None"!==t.targetDecorator.shape&&e.uniteRect(t.wrapper.children[2].bounds),e}function xe(t){switch(t){case"Top":return"Bottom";case"Bottom":return"Top";case"Left":return"Right";case"Right":return"Left"}return"auto"}function Ie(e){if(e){return e instanceof ah||e instanceof sh?e.constraints&t.AnnotationConstraints.Select:e instanceof xd?e.constraints&t.ConnectorConstraints.Select:e.constraints&t.NodeConstraints.Select}return 1}function Ce(e){if(e){return e instanceof ah||e instanceof sh?e.constraints&t.AnnotationConstraints.Drag:e instanceof xd?e.constraints&t.ConnectorConstraints.Drag:e instanceof Ul?1:e.constraints&t.NodeConstraints.Drag}return 1}function Pe(e,i){return e instanceof xd?e.constraints&t.ConnectorConstraints.PointerEvents:e.constraints&t.NodeConstraints.PointerEvents}function De(e){return e instanceof xd?e.constraints&t.ConnectorConstraints.Delete:e.constraints&t.NodeConstraints.Delete}function Te(e,i){return e.constraints&t.ConnectorConstraints.Bridging?e.constraints&t.ConnectorConstraints.Bridging:e.constraints&t.ConnectorConstraints.InheritBridging?i.constraints&t.DiagramConstraints.Bridging:0}function Ae(e,i){var r=0;return e.constraints&t.ConnectorConstraints.LineRouting?r=e.constraints&t.ConnectorConstraints.LineRouting:e.constraints&t.ConnectorConstraints.InheritLineRouting&&(r=i.constraints&t.DiagramConstraints.LineRouting),r}function Oe(e){return e.constraints&t.ConnectorConstraints.DragSourceEnd}function Me(e){return e.constraints&t.ConnectorConstraints.DragTargetEnd}function Ee(e){return e.constraints&t.ConnectorConstraints.DragSegmentThumb}function Le(e){return e instanceof ah||e instanceof sh?e.constraints&t.AnnotationConstraints.Rotate:e.constraints&t.NodeConstraints.Rotate}function ze(e){return e.constraints&t.NodeConstraints.Shadow}function ke(e){return e instanceof Hl&&e.constraints&t.NodeConstraints.InConnect?e.constraints&t.NodeConstraints.InConnect:0}function Be(e){return e&&e.constraints&&!(e.constraints&t.PortConstraints.None)&&e.constraints&t.PortConstraints.InConnect?e.constraints&t.PortConstraints.InConnect:0}function Ne(e){return e instanceof Hl&&e.constraints&t.NodeConstraints.OutConnect?e.constraints&t.NodeConstraints.OutConnect:0}function Re(e){return e&&e.constraints&&!(e.constraints&t.PortConstraints.None)&&e.constraints&t.PortConstraints.OutConnect?e.constraints&t.PortConstraints.OutConnect:0}function je(e,i){var r=0;return e instanceof ah||e instanceof sh?r=e.constraints&t.AnnotationConstraints.Resize:e&&("SouthEast"===i?r=e.constraints&t.NodeConstraints.ResizeSouthEast:"East"===i?r=e.constraints&t.NodeConstraints.ResizeEast:"NorthEast"===i?r=e.constraints&t.NodeConstraints.ResizeNorthEast:"South"===i?r=e.constraints&t.NodeConstraints.ResizeSouth:"North"===i?r=e.constraints&t.NodeConstraints.ResizeNorth:"SouthWest"===i?r=e.constraints&t.NodeConstraints.ResizeSouthWest:"West"===i?r=e.constraints&t.NodeConstraints.ResizeWest:"NorthWest"===i&&(r=e.constraints&t.NodeConstraints.ResizeNorthWest)),r}function He(e){return e instanceof xd?e.constraints&t.ConnectorConstraints.AllowDrop:e.constraints&t.NodeConstraints.AllowDrop}function We(e){return e.constraints&t.DiagramConstraints.Virtualization}function _e(e,i){var r=0;return e instanceof xd?e.constraints&t.ConnectorConstraints.Tooltip?r=e.constraints&t.ConnectorConstraints.Tooltip:e.constraints&t.ConnectorConstraints.InheritTooltip&&(r=i.constraints&t.DiagramConstraints.Tooltip):e instanceof th||e instanceof eh?e.constraints&t.PortConstraints.ToolTip?r=e.constraints&t.PortConstraints.ToolTip:e.constraints&t.PortConstraints.InheritTooltip&&(r=i.constraints&t.DiagramConstraints.Tooltip):e instanceof ah||e instanceof sh?e.constraints&t.AnnotationConstraints.Tooltip&&(r=e.constraints&t.AnnotationConstraints.Tooltip):e.constraints&t.NodeConstraints.Tooltip?r=e.constraints&t.NodeConstraints.Tooltip:e.constraints&t.NodeConstraints.InheritTooltip&&(r=i.constraints&t.DiagramConstraints.Tooltip),r}function Fe(e){return e.tool&t.DiagramTools.SingleSelect}function Ye(e){return e.tool&t.DiagramTools.MultipleSelect}function Ve(e){return e.tool&t.DiagramTools.ZoomPan}function Xe(e){return e.tool&t.DiagramTools.ContinuousDraw}function Ue(e){return e.tool&t.DiagramTools.DrawOnce}function Ge(e){return e.tool&t.DiagramTools.SingleSelect||e.tool&t.DiagramTools.MultipleSelect}function Ze(e){return e.constraints&t.DiagramConstraints.Zoom}function qe(e){return e.constraints&t.DiagramConstraints.Pan}function Ke(e){return e.constraints&t.DiagramConstraints.UserInteraction}function Qe(e){return e.constraints&t.DiagramConstraints.ApiUpdate}function Je(e){return e.constraints&t.DiagramConstraints.PanX}function $e(e){return e.constraints&t.DiagramConstraints.PanY}function ti(e){return e.constraints&t.DiagramConstraints.ZoomTextEdit}function ei(e){return Qe(e)||e.diagramActions&t.DiagramAction.ToolAction}function ii(e,i){var r=0;return r=i instanceof xd?t.ConnectorConstraints.ReadOnly:t.NodeConstraints.ReadOnly,"Text"===i.shape.type?i.constraints&t.NodeConstraints.ReadOnly:i.constraints&r?e.constraints&t.AnnotationConstraints.InheritReadOnly?1:0:e.constraints&t.AnnotationConstraints.ReadOnly?1:0}function ri(e,i){return e.constraints&t.PortConstraints.Draw}function ni(e,i){return e.constraints&t.PortConstraints.Drag}function oi(e){return!!(e&t.DiagramAction.PreventClearSelection)}function ai(e){return!(e&t.RendererAction.DrawSelectorBorder)}function si(e){return!!(e&t.RendererAction.PreventRenderSelector)}function hi(t,e,i){i.width||0!==i.shape.phases.length||(i.width=100);var r=[],n=[],o=0,a=i.shape,s="Horizontal"===a.orientation;if(a.header&&a.hasHeader&&gi(r,a.header.height),fi(r,s,i),mi(n,s,i),t.setDefinitions(r,n),a.header&&a.hasHeader&&(li(t,e,i),o++),a.phases.length>0&&a.phaseSize){for(h=0;h<a.phases.length;h++)""===a.phases[parseInt(h.toString(),10)].id&&(a.phases[parseInt(h.toString(),10)].id=O()),ci(t,e,i,o,s,h);o++}if(a.lanes.length>0)for(var h=0;h<a.lanes.length;h++)""===a.lanes[parseInt(h.toString(),10)].id&&(a.lanes[parseInt(h.toString(),10)].id=O()),pi(t,e,i,o,h,s),o++}function di(e,i,r,n,o,a,s,h){var d=new Hl(e,"nodes",n,!0);d.parentId=r.id,d.isHeader=!!o,d.isPhase=!!a,d.isLane=!!s,d.pivot=r.pivot;var l=a?"PhaseHeaderParent":"LaneHeaderParent";if(h&&(d[""+l]=h),d.constraints&=~(t.NodeConstraints.InConnect|t.NodeConstraints.OutConnect),d.constraints|=t.NodeConstraints.HideThumbs,e.initObject(d),e.nodes.push(d),d.wrapper.children.length>0){for(var c=0;c<d.wrapper.children.length;c++){var p=d.wrapper.children[parseInt(c.toString(),10)];p instanceof ks&&(p.isCalculateDesiredSize=!1),p instanceof js&&(p.canConsiderBounds=!1,(!o&&"Vertical"===r.shape.orientation&&a||"Vertical"!==r.shape.orientation&&s)&&(p.isLaneOrientation=!0,p.refreshTextElement()))}d.wrapper.measure(new ps(void 0,void 0)),d.wrapper.arrange(d.wrapper.desiredSize)}return d.wrapper}function li(e,i,r){for(var n=0,o=e.columnDefinitions(),a=r.shape,s=0;s<o.length;s++)n+=o[parseInt(s.toString(),10)].width;a.header.id=a.header.id||O();var h={id:r.id+a.header.id,annotations:[k(a.header.annotation)],style:a.header.style?a.header.style:void 0,offsetX:r.offsetX,offsetY:r.offsetY,rowIndex:0,columnIndex:0,maxWidth:n,pivot:r.pivot,container:{type:"Canvas",orientation:"Horizontal"}};Ie(r)||(h.constraints&=~t.NodeConstraints.Select);var d=di(i,e,r,h,!0);e.addObject(d,0,0,1,e.columnDefinitions().length)}function ci(e,i,r,n,o,a){var s,h=0,d=0,l=r.shape;o?(d=a,h=n,s=e.columnDefinitions()[parseInt(a.toString(),10)].width):h=l.header&&l.hasHeader?a+1:a;var c={annotations:[k(l.phases[parseInt(a.toString(),10)].header.annotation)],maxWidth:s,id:r.id+l.phases[parseInt(a.toString(),10)].id+"_header",addInfo:l.phases[parseInt(a.toString(),10)].addInfo,offsetX:r.offsetX,offsetY:r.offsetY,style:l.phases[parseInt(a.toString(),10)].style,rowIndex:h,columnIndex:d,pivot:r.pivot,container:{type:"Canvas",orientation:o?"Horizontal":"Vertical"}};c["Horizontal"===l.orientation?"height":"width"]=l.phaseSize,c.annotations[0].rotateAngle=o?0:270,Ie(r)||(c.constraints&=~t.NodeConstraints.Select),l.phases[parseInt(a.toString(),10)].header.id=c.id;var p=di(i,e,r,c,!1,!0,!1,l.phases[parseInt(a.toString(),10)].id);e.addObject(p,h,d)}function pi(e,i,r,n,o,a){for(var s,h,d,l,c,p=r.shape,g=p.phases.length||1,u=p.header&&p.hasHeader?1:0,f=a?n:u,m=p.phaseSize&&p.phases.length>0?1:0,y=0;y<g;y++){var v=a?y:o+m;if(d=e.rows[parseInt(f.toString(),10)].cells[parseInt(v.toString(),10)],l={id:r.id+p.lanes[parseInt(o.toString(),10)].id+y,rowIndex:f,columnIndex:v,width:d.minWidth,height:d.minHeight,offsetX:r.offsetX,offsetY:r.offsetY,style:p.lanes[parseInt(o.toString(),10)].style,addInfo:p.lanes[parseInt(o.toString(),10)].addInfo,pivot:r.pivot,constraints:t.NodeConstraints.Default|t.NodeConstraints.ReadOnly|t.NodeConstraints.AllowDrop,container:{type:"Canvas",orientation:a?"Horizontal":"Vertical"}},Ie(r)||(l.constraints&=~t.NodeConstraints.Select),h=di(i,e,r,l,!1,!1,!0),p.phases&&p.phases.length>0&&p.phases[parseInt(y.toString(),10)]){var b=i.nameTable[p.phases[parseInt(y.toString(),10)].header.id];b&&b.laneGrids.splice(o,0,l.id)}h.children[0].isCalculateDesiredSize=!1,0===y&&((s={id:r.id+p.lanes[parseInt(o.toString(),10)].id+"_"+y+"_header",style:p.lanes[parseInt(o.toString(),10)].header.style,annotations:[k(p.lanes[parseInt(o.toString(),10)].header.annotation)],offsetX:r.offsetX,offsetY:r.offsetY,rowIndex:f,columnIndex:v,pivot:r.pivot,container:{type:"Canvas",orientation:a?"Horizontal":"Vertical"}}).annotations[0].rotateAngle=a?270:0,p.lanes[parseInt(o.toString(),10)].header.id=s.id,a?s.width=p.lanes[o].header.width:s.height=p.lanes[parseInt(o.toString(),10)].header.height,Ie(r)||(s.constraints&=~t.NodeConstraints.Select),c=di(i,e,r,s,!1,!1,!0,p.lanes[parseInt(o.toString(),10)].id),a&&(c.children[0].elementActions=c.children[0].elementActions|t.ElementAction.HorizontalLaneHeader),h.children.push(c)),e.addObject(h,f,v),a||f++,v=a?y:o+1}}function gi(t,e){var i=new Oh;i.height=e,t.push(i)}function ui(t){var e=new Mh;return e.width=t,e}function fi(t,e,i){var r,n=0,o=i.shape;if(t.length>0)for(s=0;s<t.length;s++)n+=t[parseInt(s.toString(),10)].height;if(e){if(o.phases.length>0&&o.phaseSize&&(n+=o.phaseSize,gi(t,o.phaseSize)),o.lanes.length>0)for(s=0;s<o.lanes.length;s++)n+=r=o.lanes[parseInt(s.toString(),10)].height,s===o.lanes.length-1&&n<i.height&&(r+=i.height-n),gi(t,r)}else if(o.phases.length>0)for(var a=0,s=0;s<o.phases.length;s++){var h=o.phases[parseInt(s.toString(),10)].offset;a+=0===s?h:h-=a,n+=r=h,s===o.phases.length-1&&n<i.height&&(r+=i.height-n),gi(t,r)}else(n+=r=o.lanes[0].height)<i.height&&(r+=i.height-n),gi(t,r)}function mi(t,e,i){var r,n,o,a,s=0,h=i.shape;if(h.phases.length>0&&"Horizontal"===h.orientation)for(a=0;a<h.phases.length;a++)r=h.phases[parseInt(a.toString(),10)].offset,s+=0===a?r:r-=s,n=ui(r),a===h.phases.length-1&&s<i.width&&(n.width+=i.width-s),t.push(n);else if(e)n=ui(i.width),t.push(n);else{for(h.phaseSize&&h.phases.length>0?h.lanes.length+1:h.lanes.length,h.phaseSize&&h.phases.length>0&&(s+=h.phaseSize,n=ui(h.phaseSize),t.push(n)),o=0;o<h.lanes.length;o++)s+=h.lanes[parseInt(o.toString(),10)].width,n=ui(h.lanes[parseInt(o.toString(),10)].width),o===h.lanes.length-1&&s<i.width&&(n.width+=i.width-s),t.push(n);0===h.phases.length&&0===h.lanes.length&&(n=ui(i.width),t.push(n))}}function yi(t,e,i,r){for(var n,o,a,s,h,d,l,c=[],p=0,g=e.rowDefinitions().length,u=0;u<g;u++)for(d=e.rows[parseInt(u.toString(),10)],s=0;s<d.cells.length;s++)if((h=d.cells[parseInt(s.toString(),10)].children[0])&&h.children&&h.children.length)for(a=1;a<h.children.length;a++)if(n=h.children[parseInt(a.toString(),10)],(o=t.getObject(n.id))&&(o.inEdges.length>0||o.outEdges.length>0))for(l=o.inEdges.concat(o.outEdges),p=0;p<l.length;p++)-1===c.indexOf(l[parseInt(p.toString(),10)])&&c.push(l[parseInt(p.toString(),10)]);return c}function vi(t){var e=t.wrapper;if(e.measure(new ps(t.width,t.height)),e.children[0]instanceof Ah){var i=e.children[0],r=!1;(i.width&&i.width<i.desiredSize.width||void 0===i.width&&void 0!==i.desiredSize.width)&&(r=!0,i.width=i.desiredSize.width),(i.height&&i.height<i.desiredSize.height||void 0===i.height&&void 0!==i.desiredSize.height)&&(r=!0,i.height=i.desiredSize.height),r&&i.measure(new ps(i.width,i.height))}e.arrange(e.desiredSize)}function bi(t,e,i){var r,n,o,a,s,h,d,l,c,p=e.wrapper.children[0];for(r=i;r<p.rows.length;r++)for(d=p.rows[parseInt(r.toString(),10)],n=0;n<d.cells.length;n++)if((l=d.cells[parseInt(n.toString(),10)]).children&&l.children.length>0)for(o=0;o<l.children.length;o++){if(c=l.children[parseInt(o.toString(),10)],(s=t.nameTable[c.id]).isLane&&c.children.length>1)for(a=1;a<c.children.length;a++)(h=t.nameTable[c.children[parseInt(a.toString(),10)].id])&&h.isLane&&(h.rowIndex=r,h.columnIndex=n);s.rowIndex=r,s.columnIndex=n}}function Si(t,e){var i,r,n,o,a,s,h,d,l=e.wrapper.children[0],c=e.shape,p=c.padding,g=c.lanes,u=l.bounds.y,f=c.phaseSize>0?c.phases.length:0,m="Horizontal"===c.orientation,y=m?c.phases.length||1:g.length+1,v=m?(c.header&&c.hasHeader?1:0)+(c.phases.length>0?1:0)+c.lanes.length:(c.header&&c.hasHeader?1:0)+c.phases.length;if(0===f&&!m&&c.lanes.length&&(v+=1),m?(i=(c.header&&c.hasHeader?1:0)+(f>0?1:0),r=0):(i=c.header&&c.hasHeader?1:0,r=f>0?1:0),g.length>0)for(u+=c.header&&c.hasHeader?c.header.height:0,s=0;s<g.length;s++){for(h=0;h<g[parseInt(s.toString(),10)].children.length;h++)if(n=g[parseInt(s.toString(),10)].children[parseInt(h.toString(),10)],n.offsetX=g[parseInt(s.toString(),10)].width,n.offsetY=g[parseInt(s.toString(),10)].height,t.initObject(n),t.nodes.push(n),o=n.wrapper,m){for(d=r;d<y;d++)if(a=l.rows[parseInt(i.toString(),10)].cells[parseInt(d.toString(),10)],o.margin.left<a.bounds.right-l.bounds.x){n.parentId=a.children[0].id,d>r?o.margin.left=o.margin.left-(a.bounds.left-l.bounds.left):a.children[0].children[1].actualSize.width+p>=o.margin.left&&(o.margin.left=a.children[0].children[1].actualSize.width+p),o.margin.left<p&&(o.margin.left=p),o.margin.top<p&&(o.margin.top=p),wi(o,n,t);break}}else for(var b=i;b<v;b++)if(a=l.rows[parseInt(b.toString(),10)].cells[parseInt(r.toString(),10)],o.margin.top<a.bounds.bottom-u){n.parentId=a.children[0].id,b>i?o.margin.top=o.margin.top-(a.bounds.top-u):a.children[0].children[1].actualSize.height+p>=o.margin.top&&(o.margin.top=a.children[0].children[1].actualSize.height+p),o.margin.left<p&&(o.margin.left=p),o.margin.top<p&&(o.margin.top=p),wi(o,n,t);break}m?i++:r++}l.measure(new ps(e.width,e.height)),l.arrange(l.desiredSize),xi(l,e),e.width=e.wrapper.width=l.width,e.height=e.wrapper.height=l.height,zi(t,e),e.wrapper.measure(new ps(e.width,e.height)),e.wrapper.arrange(l.desiredSize),rr(e),Ci(e,t),Ii(e)}function wi(t,e,i){t.measure(new ps(e.width,e.height)),t.arrange(t.desiredSize);var r=i.getObject(e.parentId);i.addChild(r,e.id)}function xi(t,e){var i,r,n,o,a,s,h=t.columnDefinitions(),d=t.rowDefinitions(),l=Ei(e);"Vertical"===e.shape.orientation&&0===l&&(l=e.shape.header&&e.shape.hasHeader?1:0);var c=e.shape.padding;for(i=0;i<h.length;i++)t.updateColumnWidth(i,h[parseInt(i.toString(),10)].width,!0,c);for(i=l;i<d.length;i++)t.updateRowHeight(i,d[parseInt(i.toString(),10)].height,!0,c);for(r=0;r<d.length;r++)for(s=t.rows[parseInt(r.toString(),10)],i=0;i<h.length;i++)if((o=s.cells[parseInt(i.toString(),10)]).children&&o.children.length>0)for(n=0;n<o.children.length;n++)(a=o.children[parseInt(n.toString(),10)]).maxWidth&&(a.maxWidth=o.actualSize.width),a.maxHeight&&(a.maxHeight=o.actualSize.height)}function Ii(t){if("SwimLane"===t.shape.type&&!t.shape.isLane&&!t.shape.isPhase){var e=void 0,i=void 0,r=void 0,n=void 0,o=void 0,a=t.shape.lanes,s=Ei(t),h=t.wrapper.children[0].rowDefinitions(),d=t.wrapper.children[0].columnDefinitions(),l=void 0,c=void 0;for(i=0;i<a.length;i++,s++)if(e=a[parseInt(i.toString(),10)],"Horizontal"===t.shape.orientation)for(o=h[parseInt(s.toString(),10)].height,e.height!==o&&(e.height=o),r=0;r<d.length;r++)l=d[parseInt(r.toString(),10)].width,e.width!==l&&(e.width=l);else for(o=d[parseInt(s.toString(),10)].width,e.width!==o&&(e.width=o),n=0;n<h.length;n++)c=h[parseInt(n.toString(),10)].height,e.height!==c&&(e.height=c)}}function Ci(t,e){var i,r,n,o,a=t.shape,s=a.phases,h=a.header&&a.hasHeader?1:0,d=t.wrapper.children[0],l=d.bounds.y+(a.header&&a.hasHeader?a.header.height:0);if("SwimLane"===t.shape.type&&(t=e.getObject(t.id)||t,s.length>0))if(d=t.wrapper.children[0],"Horizontal"===a.orientation)for(n=a.header&&a.hasHeader?d.rows[1]:d.rows[0],i=0;i<s.length;i++)r=(o=n.cells[parseInt(i.toString(),10)].children[0]).bounds.right-d.bounds.x,s[parseInt(i.toString(),10)].offset!==r&&(s[parseInt(i.toString(),10)].offset=r),e.nameTable[o.id].maxWidth=o.maxWidth;else for(i=0;i<s.length;i++)r=(o=d.rows[h+i].cells[0].children[0]).bounds.bottom-l,s[parseInt(i.toString(),10)].offset!==r&&(s[parseInt(i.toString(),10)].offset=r),e.nameTable[o.id].maxWidth=o.maxWidth}function Pi(e,i){if(e&&e.length>0){var r=void 0;i.lineRoutingModule&&i.constraints&t.DiagramConstraints.LineRouting&&(i.avoidLineOverlappingModule&&i.avoidLineOverlappingModule.removeConnectors(e),i.lineRoutingModule.renderVirtualRegion(i,!0));for(var n=0;n<e.length;n++)r=i.getObject(e[parseInt(n.toString(),10)]),i.lineRoutingModule&&i.constraints&t.DiagramConstraints.LineRouting&&"Orthogonal"===r.type?i.lineRoutingModule.refreshConnectorSegments(i,r,!0):i.connectorPropertyChange(r,{},{sourceID:r.sourceID,targetID:r.targetID})}}function Di(e,i,r,n){var o,a,s,h,d,l,c,p,g=e.getObject(i.parentId),u=g.shape,f=g.wrapper.children[0],m=u.lanes,y=yi(e,f,i.rowIndex);if("Horizontal"===u.orientation&&i.rowIndex!==r.rowIndex||"Vertical"===u.orientation&&i.columnIndex!==r.columnIndex){if("Horizontal"===u.orientation)h=i.rowIndex,d=r.rowIndex,o=(u.header&&u.hasHeader?1:0)+(u.phases.length&&u.phaseSize?1:0),c=i.rowIndex-o,p=r.rowIndex-o,m[parseInt(c.toString(),10)].canMove&&(c<p?n&&r.wrapper.offsetY>n.y&&(d+=p>0?-1:1,p+=p>0?-1:1):n&&r.wrapper.offsetY<n.y&&(d+=1,p+=1),h!==d&&(f.updateRowIndex(h,d),Ti(c,p,g,e)));else if(h=i.columnIndex,d=r.columnIndex,o=u.phases.length&&u.phaseSize?1:0,c=i.columnIndex-o,p=r.columnIndex-o,u.header&&u.hasHeader?1:0,m[parseInt(c.toString(),10)].canMove&&(c<p?n&&r.wrapper.offsetX>n.x&&(d+=p>0?-1:1,p+=p>0?-1:1):n&&r.wrapper.offsetX<n.x&&(d+=1,p+=1),h!==d)){if(!(0!==u.phaseSize&&0!==u.phases.length||0!==d&&0!==h)&&u.header&&u.hasHeader){var v=0===d?h:d;f.rows[0].cells[parseInt(v.toString(),10)].children=f.rows[0].cells[0].children,f.rows[0].cells[parseInt(v.toString(),10)].columnSpan=f.rows[0].cells[0].columnSpan,f.rows[0].cells[0].children=[]}f.updateColumnIndex(0,h,d),Ti(c,p,g,e)}h!==d&&(l=m[parseInt(c.toString(),10)]).canMove&&(a={target:k(r),source:k(i)},l=m[parseInt(c.toString(),10)],m.splice(c,1),m.splice(p,0,l),s={type:"LanePositionChanged",redoObject:{target:k(a.source),source:k(a.target)},undoObject:a,category:"Internal"},e.diagramActions&t.DiagramAction.UndoRedo||e.commandHandler.addHistoryEntry(s),bi(e,g,0),Pi(y,e),hr(m,e),g.wrapper.measure(new ps(g.width,g.height)),g.wrapper.arrange(g.wrapper.desiredSize),e.updateDiagramObject(g))}e.updateDiagramElementQuad()}function Ti(t,e,i,r){var n=i.shape.phases;if(n&&n.length>0)for(var o=0;o<n.length;o++){var a=i.id+n[parseInt(o.toString(),10)].id+"_header",s=r.nameTable[""+a];if(s&&s.laneGrids&&t>=0&&e>=0&&t<s.laneGrids.length&&e<s.laneGrids.length){var h=s.laneGrids.splice(t,1)[0];s.laneGrids.splice(e,0,h)}}}function Ai(e,i,r,n,o,a){var s,h,d=e.getObject(r.id),l=d.shape,c=l.header&&l.hasHeader?1:0,p=l.lanes,g=l.phases,u=n.wrapper.actualSize.width,f=n.wrapper.actualSize.height,m=(i.wrapper.actualSize.width,i.wrapper.actualSize.height,!1);e.diagramActions&t.DiagramAction.UndoRedo&&(m=!0);var y=d.wrapper.children[0];if("SwimLane"===d.shape.type)if("Horizontal"===l.orientation)if(i.isPhase){for(b=i.columnIndex;b<g.length;b++)if(g[parseInt(b.toString(),10)].offset+=o,S=e.nameTable[g[parseInt(b.toString(),10)].header.id]){var v=(w=y.rows[S.rowIndex].cells[S.columnIndex]).minWidth;g[parseInt(b.toString(),10)].offset<v&&!m&&(g[parseInt(b.toString(),10)].offset=v)}for(s=0;s<p.length;s++)p[parseInt(s.toString(),10)].width=m?u:i.wrapper.width}else c=l.phaseSize&&l.phases.length>0?c+1:c,p[i.rowIndex-c].height=m?f:i.wrapper.height;else if(i.isPhase){for(var b=i.rowIndex-c;b<g.length;b++){g[parseInt(b.toString(),10)].offset+=a;var S=e.nameTable[g[parseInt(b.toString(),10)].header.id];if(S){var w=y.rows[S.rowIndex].cells[S.columnIndex],x=w.minHeight;g[parseInt(b.toString(),10)].offset<x&&!m&&(g[parseInt(b.toString(),10)].offset=x)}}for(h=0;h<p.length;h++)p[parseInt(h.toString(),10)].height=i.wrapper.height}else c=l.phaseSize&&l.phases.length>0?1:0,p[i.columnIndex-c].width=i.wrapper.width}function Oi(t,e){var i,r=t.shape,n=r.header&&r.hasHeader?1:0;return"Horizontal"===r.orientation?(n+=r.phases.length>0?1:0,i=e.rowIndex-n):i=e.columnIndex-(r.phaseSize&&r.phases.length>0?1:0),i}function Mi(t,e){var i=e.shape,r=i.header&&i.hasHeader?1:0;return"Horizontal"===i.orientation?t.columnIndex:t.rowIndex-r}function Ei(t){var e=0,i=t.shape;return"Horizontal"===i.orientation&&(e=i.header&&i.hasHeader?1:0),i.phases.length>0&&i.phaseSize&&(e+=1),e}function Li(t,e,i,r){var n=t.shape;if(n.phases.length>0){var o=e.nameTable[n.phases[parseInt(r.toString(),10)].header.id];o&&o.maxWidth<i.outerBounds.width&&(o.maxWidth=i.outerBounds.width,o.wrapper.maxWidth=i.outerBounds.width)}}function zi(t,e){if(e.shape.header&&e.shape.hasHeader){var i=e.wrapper.children[0].rows[0].cells[0].children[0].id,r=t.nameTable[""+i];r&&r.isHeader&&(r.maxWidth<e.width||r.wrapper.maxWidth<e.width)&&(r.maxWidth=e.width,r.wrapper.maxWidth=e.width)}}function ki(e,i,r,n){var o,a=e.nameTable[i.id];if("SwimLane"===a.shape.type){e.protectPropertyChange(!0);var s=a.wrapper.children[0],h=s.bounds,d=a.shape,l=void 0,c=!1,p=void 0,g=void 0,u=void 0,f=void 0,m=void 0,y=void 0,v=void 0,b=void 0,S=void 0,w=new _l(d,"lanes",r,!0);r.height=r.height||w.height,r.width=r.width||w.width,g="Vertical"===d.orientation?1:d.header&&d.hasHeader?1:0,"Horizontal"===d.orientation&&(c=!0,g=d.phases.length>0?g+1:g);var x=yi(e,s),I=void 0!==n?n:d.lanes.length;if(g+=I,o={element:w,cause:e.diagramActions,diagramAction:e.itemType,state:"Changing",type:"Addition",cancel:!1,laneIndex:I},e.triggerEvent(t.DiagramEvent.collectionChange,o),!o.cancel){if(c){var C=new Oh;C.height=r.height,s.addRow(g,C,!1),a.height=void 0!==a.height?a.height+r.height:a.height,a.wrapper.height=s.height=a.height}else{var P=new Mh;P.width=r.width,s.addColumn(I+1,P,!1),a.width&&(a.width+=r.width,a.wrapper.width=s.width=a.width),d.hasHeader&&(s.rows[0].cells[0].columnSpan+=1)}e.diagramActions&t.DiagramAction.UndoRedo||(w.id=""===w.id?O():w.id),void 0!==n?d.lanes.splice(n,0,w):d.lanes.push(w),o={element:w,cause:e.diagramActions,diagramAction:e.itemType,state:"Changed",type:"Addition",cancel:!1,laneIndex:I},e.triggerEvent(t.DiagramEvent.collectionChange,o),pi(s,e,a,g,I,c),l="Horizontal"===d.orientation?e.nameTable[s.rows[parseInt(g.toString(),10)].cells[0].children[0].id]:d.header&&d.hasHeader?e.nameTable[s.rows[1].cells[parseInt(g.toString(),10)].children[0].id]:e.nameTable[s.rows[0].cells[parseInt(g.toString(),10)].children[0].id],e.diagramActions&t.DiagramAction.UndoRedo||(p={type:"LaneCollectionChanged",changeType:"Insert",undoObject:k(w),redoObject:k(l),category:"Internal"},e.addHistoryEntry(p)),bi(e,a,"Horizontal"===d.orientation?g:d.header&&d.hasHeader?1:0),vi(a),zi(e,a);if((u=r.children)&&u.length>0)for(f=0;f<u.length;f++){!1,S={x:(b=u[parseInt(f.toString(),10)]).wrapper.offsetX,y:b.wrapper.offsetY};var D={left:0,right:0,top:0,bottom:0};if("Horizontal"===d.orientation)for(D.bottom=h.y-s.bounds.y,v=s.rows[parseInt(g.toString(),10)].cells[parseInt(f.toString(),10)],m=0;m<s.rows[parseInt(g.toString(),10)].cells.length;m++)Bi(e,s.rows[parseInt(g.toString(),10)].cells[parseInt(m.toString(),10)],S,b,D);else t:for(var T=0;T<=s.rows.length;T++)for(y=0;y<s.rows[parseInt(T.toString(),10)].cells.length;y++)if(D.right=h.x-s.bounds.x,v=s.rows[parseInt(T.toString(),10)].cells[parseInt(y.toString(),10)],Bi(e,v,S,b,D))break t}Pi(x,e),e.drag(a,h.x-s.bounds.x,h.y-s.bounds.y)}e.itemType="PublicMethod",e.protectPropertyChange(!1)}}function Bi(t,e,i,r,n){var o=!1;if(e.children&&e.children.length>0){var a=e.children[0],s=t.nameTable[a.id];Ni(a.bounds,i,n)&&(t.addChild(s,r),o=!0)}return o}function Ni(t,e,i){var r=i.left||0,n=i.right||0,o=i.top||0,a=i.bottom||0;return t.left-r<=e.x&&t.right+n>=e.x&&t.top-o<=e.y&&t.bottom+a>=e.y}function Ri(e,i,r){if("SwimLane"===i.shape.type){var n=void 0,o=void 0,a=void 0,s=void 0,h=void 0,d=void 0,l=void 0,c=i.wrapper.bounds.x,p=i.wrapper.bounds.y,g=i.shape,u=g.padding,f=g.phases,m=void 0,y=i.wrapper.children[0],v="Horizontal"===g.orientation;n=g.header&&g.hasHeader?0:-1,g.phases.length>0&&(n+=1);var b=v?g.lanes[0].header.width:g.lanes[0].header.height;if(r.offset>b){for(l=0;l<f.length;l++)if(a=f[parseInt(l.toString(),10)],s=l>0?f[l-1]:a,a.offset>r.offset){if(m=l>0?r.offset-s.offset:r.offset,v){var S=y.columnDefinitions()[parseInt(l.toString(),10)];S.width-=m,(h=e.nameTable[g.phases[parseInt(l.toString(),10)].header.id]).maxWidth=h.wrapper.maxWidth=S.width,y.updateColumnWidth(l,S.width,!1);var w=new Mh;w.width=m,d=l,y.addColumn(l,w,!1);break}var x=y.rowDefinitions()[l+n];x.height-=m,h=e.nameTable[g.phases[parseInt(l.toString(),10)].header.id],y.updateRowHeight(l+n,x.height,!1);var I=new Oh;I.height=m,d=l,y.addRow(l+n,I,!1);break}if(e.diagramActions&t.DiagramAction.UndoRedo&&void 0===d&&(L=e.historyManager.currentEntry.next).isLastPhase&&ji(d=f.length,i,L,y,v),d>=0){var C=new Fl(i.shape,"phases",r,!0);if(e.diagramActions&t.DiagramAction.UndoRedo||(C.id+=O()),g.phases.splice(d,0,C),ci(y,e,i,n,v,d),v){if(o=e.nameTable[y.rows[parseInt(n.toString(),10)].cells[parseInt(d.toString(),10)].children[0].id],0===d&&g.header&&g.hasHeader){y.rows[0].cells[0].children=y.rows[0].cells[1].children,y.rows[0].cells[1].children=[];for(var P=y.rows[0],D=0;D<P.cells.length;D++)P.cells[parseInt(D.toString(),10)].minWidth=void 0,P.cells[parseInt(D.toString(),10)].columnSpan=0===D?y.rows[0].cells.length:1}Hi(e,i,y,d,v,r);var T=y.columnDefinitions();if(y.updateColumnWidth(d,T[parseInt(d.toString(),10)].width,!0,u),o.maxWidth=o.wrapper.maxWidth=T[parseInt(d.toString(),10)].width,T.length>d+1){var A=e.nameTable[y.rows[parseInt(n.toString(),10)].cells[d+1].children[0].id];y.updateColumnWidth(d+1,T[d+1].width,!0,u),A.maxWidth=A.wrapper.maxWidth=T[d+1].width}i.width=i.wrapper.width=i.wrapper.children[0].width=y.width}else{o=e.nameTable[y.rows[n+d].cells[0].children[0].id];var M=y.rowDefinitions(),E=M[n+d].height;Wi(e,i,y,n+d,v,r),y.updateRowHeight(n+d,E,!0,u),M.length>n+d+1&&(E=M[n+d+1].height,y.updateRowHeight(n+d+1,E,!0,u)),i.height=i.wrapper.height=i.wrapper.children[0].height=y.actualSize.height}if(vi(i),i.width=i.wrapper.actualSize.width,zi(e,i),e.drag(i,c-i.wrapper.bounds.x,p-i.wrapper.bounds.y),Ci(i,e),e.commandHandler.select(o),!(e.diagramActions&t.DiagramAction.UndoRedo)){var L={type:"PhaseCollectionChanged",changeType:"Insert",undoObject:k(C),redoObject:k(o),category:"Internal"};e.addHistoryEntry(L)}e.updateDiagramObject(i)}}}}function ji(t,e,i,r,n,o){var a=e.shape.phases[t-2],s=i.previousPhase.offset;if(n){var h=r.columnDefinitions()[t-1],d=new Mh;t>1?(d.width=h.width-(s-a.offset),h.width=s-a.offset):(d.width=h.width-s,h.width=s),r.updateColumnWidth(t-1,h.width,!1),r.addColumn(t,d,!1)}else{var h=r.rowDefinitions()[parseInt(t.toString(),10)],l=new Oh;t>1?(l.height=i.undoObject.offset-s,h.height=s-a.offset):(l.height=h.height-s,h.height=s),r.updateRowHeight(t,h.height,!1),r.addRow(1+t,l,!1)}}function Hi(t,e,i,r,n,o){var a,s,h=e.shape,d=Ei(e);for(h.header&&h.hasHeader&&(i.rows[0].cells[0].columnSpan=i.rows[0].cells.length),a=d;a<i.rows.length;a++)_i(t,e,(s=i.rows[parseInt(a.toString(),10)]).cells[r-1],s.cells[parseInt(r.toString(),10)],s.cells[r+1],a,r,o);bi(t,e,1)}function Wi(t,e,i,r,n,o){for(var a,s,h=i.rows[parseInt(r.toString(),10)],d=i.rows[r+1],l=i.rows[r-1],c=1;c<h.cells.length;c++)a=h.cells[parseInt(c.toString(),10)],s=d?d.cells[parseInt(c.toString(),10)]:void 0,_i(t,e,l?l.cells[parseInt(c.toString(),10)]:void 0,a,s,r,c,o);bi(t,e,1)}function _i(e,i,r,n,o,a,s,h){var d,l,c,p=i.shape,g="Horizontal"===p.orientation,u=i.wrapper.children[0],f=n.desiredCellWidth,m=n.desiredCellHeight,y=g?i.shape.hasHeader?a:a+1:s;r?(d=g?r.bounds.x+r.bounds.width:r.bounds.x,l=g?r.bounds.y:r.bounds.y+r.bounds.height):(d=u.bounds.x,l=o.bounds.y),!g&&o&&o.bounds&&(d=o.bounds.x,l=o.bounds.y);for(var v=new ms(d,l,f,m),b=i.shape.hasHeader?a-1:a,S=i.id+(g?p.lanes[y-2]:p.lanes[y-1]).id,w=(g?s-1:b-1).toString()+(g?s:b).toString(),x=S+w;Object.prototype.hasOwnProperty.call(e.nameTable,x);)x=S+(w=(g?s-1:b-1).toString()+w);var I={id:x,rowIndex:a,columnIndex:s,width:n.minWidth,height:n.minHeight,style:(g?p.lanes[y-2]:p.lanes[y-1]).style,constraints:t.NodeConstraints.Default|t.NodeConstraints.AllowDrop,container:{type:"Canvas",orientation:g?"Horizontal":"Vertical"}},C=p.hasHeader?0:-1;if(h.laneGrids&&h.laneGrids.length>0){var P=g?a-(2+C):s-1;e.nameTable[h.laneGrids[parseInt(P.toString(),10)]]||(I.id=h.laneGrids[parseInt(P.toString(),10)])}var D=g?s:a-1;if(p.phases[parseInt(D.toString(),10)]){var T=e.nameTable[p.phases[parseInt(D.toString(),10)].header.id];T&&T.laneGrids.push(I.id)}var A=di(e,u,i,I,!1,!1,!0);if(A.children[0].isCalculateDesiredSize=!1,u.addObject(A,a,s),o&&o.children&&o.children.length)for(c=0;c<o.children.length;c++)g?e.nameTable[o.children[parseInt(c.toString(),10)].id].columnIndex+=1:e.nameTable[o.children[parseInt(c.toString(),10)].id].rowIndex+=1;Fi(e,o,n,v,A,g,r)}function Fi(t,e,i,r,n,o,a){var s,h,d,l=t.nameTable[n.id],c=e||a,p=t.nameTable[l.parentId].shape.padding;if(c.children&&c.children[0].children.length>1)for(var g=1;g<c.children[0].children.length;g++)s=c.children[0].children[parseInt(g.toString(),10)],d=t.nameTable[s.id],h=o?{x:s.bounds.x,y:s.bounds.center.y}:{x:s.bounds.center.x,y:s.bounds.top},r.containsPoint(h)?(i.children[0].children.push(s),c.children[0].children.splice(g,1),g--,t.deleteChild(d,void 0,!0),d.isLane||(d.parentId=n.id),l.children||(l.children=[]),e||(o?d.margin.left=d.wrapper.bounds.x-c.children[0].bounds.right:d.margin.top=d.wrapper.bounds.y-c.children[0].bounds.bottom),l.children.push(s.id),d.zIndex=l.zIndex+1,t.removeElements(d)):e&&(o?(d.margin.left-=i.desiredCellWidth,p>d.margin.left&&(d.margin.left=p)):(d.margin.top-=i.desiredCellHeight,p>d.margin.top&&(d.margin.top=p)))}function Yi(t,e,i){if("SwimLane"===e.shape.type&&("ResizeSouth"===i||"ResizeEast"===i)){var r=e.shape,n=e.wrapper.children[0],o=void 0,a=void 0;"ResizeSouth"===i?"Vertical"===r.orientation?o=n.rows[n.rows.length-1].cells[0]:(a=n.rows.length-1,o=n.rows[parseInt(a.toString(),10)].cells[n.rows[parseInt(a.toString(),10)].cells.length-1]):(a=r.header&&r.hasHeader?1:0,o=n.rows[parseInt(a.toString(),10)].cells[n.rows[parseInt(a.toString(),10)].cells.length-1]),t.commandHandler.select(t.nameTable[o.children[0].id])}}function Vi(t,e,i,r,n,o){var a,s,h,d,l,c,p,g=O(),u=t.shape,f=u.phases,m=t.offsetX-t.wrapper.actualSize.width/2,y=t.offsetY-t.wrapper.actualSize.height/2,v=[];if("Vertical"===u.orientation&&(y+=u.header&&u.hasHeader?u.header.height:0),!o)for(n||(t.id+=g,u&&u.header&&u.hasHeader?u.header.id+=g:u.header=void 0),a=0;f&&a<f.length;a++)f[parseInt(a.toString(),10)].id+=g;var b=n?[i.childTable[r.id]]:u.lanes;for(a=0;b&&a<b.length;a++)for(h=b[parseInt(a.toString(),10)],o||(h.id+=g),s=0;h.children&&s<h.children.length;s++)d=h.children[parseInt(s.toString(),10)],v.push(d.id),c=d.wrapper.offsetX-d.width/2,p=d.wrapper.offsetY-d.height/2,d.zIndex=Number.MIN_VALUE,d.inEdges=d.outEdges=[],(o||i&&(1===i.pasteIndex||0===i.pasteIndex))&&("Vertical"===u.orientation?d.margin.top=p-y:d.margin.left=c-m),o||(d.id+=g);if(!o){if(n){if(l={shape:{lanes:b,phases:f,phaseSize:u.phaseSize,type:"SwimLane",orientation:u.orientation,header:{annotation:{content:"Title"},height:50}}},"Horizontal"===u.orientation){var S=0;u.hasHeader&&(S=u.header.height),l.width=t.wrapper.actualSize.width,l.height=r.wrapper.actualSize.height+S+u.phaseSize,l.offsetX=t.wrapper.offsetX+10*i.pasteIndex,l.offsetY=r.wrapper.offsetY+10*i.pasteIndex}else l.width=r.wrapper.actualSize.width,l.height=t.wrapper.actualSize.height,l.offsetX=r.wrapper.offsetX+10*i.pasteIndex,l.offsetY=t.wrapper.offsetY+10*i.pasteIndex;t=l}if(0!==i.pasteIndex&&(t.offsetX+=10,t.offsetY+=10),e.itemType="Clipboard",t.zIndex=Number.MIN_VALUE,t=e.add(t),!n)for(var w=0,x=Object.keys(i.childTable);w<x.length;w++){var I=x[w],C=i.childTable[""+I];C.parentSwimlaneId&&C.parentSwimlaneId+g===t.id?(C.id+=g,-1!==v.indexOf(C.sourceID)&&(C.sourceID+=g),-1!==v.indexOf(C.targetID)&&(C.targetID+=g),C.zIndex=Number.MIN_VALUE,e.add(C),C.parentSwimlaneId+=g):-1!==v.indexOf(C.sourceID)?C.sourceID+=g:-1!==v.indexOf(C.targetID)&&(C.targetID+=g)}"SVG"!==e.mode&&e.refreshDiagramLayer(),e.select([t])}return t}function Xi(t,e,i,r){var n,o=e.nodes[0];if(r||ur(t,o,!0)){var a=void 0,s=void 0,h=void 0,d=new ks;i&&(h=t.nameTable[""+i].parentId,a=o=t.nameTable[""+i]);var l=i?a.wrapper:o.wrapper,c=t.nameTable[h||o.parentId];c&&"Grid"===c.container.type&&((n=new Vs).children=[],!r&&o.isHeader||("Horizontal"===c.container.orientation&&o.isPhase||"Vertical"===c.container.orientation&&(o.rowIndex>0&&o.columnIndex>0||o.isLane)?(s=cr(c,a?a.columnIndex:o.columnIndex,!(!c.shape.header||!c.shape.hasHeader)),n.offsetX=s.center.x,n.offsetY=s.center.y,d.width=s.width,d.height=s.height):(n.offsetX=c.offsetX,n.offsetY=l.offsetY,d.width=c.wrapper.actualSize.width,d.height=l.actualSize.height),("Vertical"===c.container.orientation&&o.isPhase||"Horizontal"===c.container.orientation&&o.isLane)&&(n.pivot=o.pivot)),n.children.push(d),n.measure(new ps),n.arrange(n.desiredSize))}return n}function Ui(e,i,r,n,o){o=void 0!==o?o:Oi(i,r);for(var a=!1,s=i.shape.lanes[parseInt(o.toString(),10)],h=s.children.length-1;h>=0;h--)n?n.id===s.children[parseInt(h.toString(),10)].id&&s.children.splice(h,1):(e.removeDependentConnector(s.children[parseInt(h.toString(),10)]),e.diagramActions&t.DiagramAction.UndoRedo||(e.diagramActions=e.diagramActions|t.DiagramAction.UndoRedo,a=!0),e.remove(s.children[parseInt(h.toString(),10)]),s.children.splice(h,1),a&&(e.diagramActions=e.diagramActions&~t.DiagramAction.UndoRedo))}function Gi(t){return t.children[0]}function Zi(e,i){var r,n,o,a,s,h,d=i.wrapper.children[0].rows;for(n=0;n<d.length;n++)for(o=0;o<d[parseInt(n.toString(),10)].cells.length;o++){if((s=Gi(d[parseInt(n.toString(),10)].cells[parseInt(o.toString(),10)]))&&s.children)for(a=s.children.length-1;a>=0;a--)s.children[parseInt(a.toString(),10)].children&&(h=e.nameTable[s.children[parseInt(a.toString(),10)].id])&&(h.isLane?qi(e,h):(e.removeDependentConnector(h),e.diagramActions|=t.DiagramAction.PreventHistory,h.constraints&t.NodeConstraints.Delete?e.remove(h):lr(e,h,{},!1),e.diagramActions&=~t.DiagramAction.PreventHistory));s&&(r=e.nameTable[s.id])&&qi(e,r)}}function qi(t,e){e&&(t.nodes.splice(t.nodes.indexOf(e),1),t.removeFromAQuad(e),t.removeObjectsFromLayer(e),delete t.nameTable[e.id],t.removeElements(e))}function Ki(e,i,r,n){var o;if("SwimLane"===r.shape.type){var a=r.shape,s=void 0;if(1===a.lanes.length)e.remove(r);else{var h=r.wrapper.bounds.x,d=r.wrapper.bounds.y,l=void 0,c=void 0,p=void 0,g=void 0,u=void 0,f=r.wrapper.children[0];if(s=n?a.lanes.indexOf(n):Oi(r,i),o={element:i,cause:e.diagramActions,diagramAction:e.itemType,state:"Changing",type:"Removal",cancel:!1,laneIndex:s},e.triggerEvent(t.DiagramEvent.collectionChange,o),!o.cancel){var m=a.lanes[parseInt(s.toString(),10)],y=m.children;m.children=[];for(var v=0;v<y.length;v++){var b=e.getObject(y[parseInt(v.toString(),10)].id);b&&m.children.push(b)}var S=k(a.lanes[parseInt(s.toString(),10)]);if(Ui(e,r,i,void 0,s),!(e.diagramActions&t.DiagramAction.UndoRedo)){var w={type:"LaneCollectionChanged",changeType:"Remove",undoObject:S,redoObject:k(i),category:"Internal"};e.addHistoryEntry(w)}a.lanes.splice(s,1);var x=i?"Horizontal"===a.orientation?i.rowIndex:i.columnIndex:Ei(r)+s;if("Horizontal"===a.orientation){for(l=f.rows[parseInt(x.toString(),10)],c=0;c<l.cells.length;c++)if((p=l.cells[parseInt(c.toString(),10)])&&p.children.length>0)for(g=0;g<p.children.length;g++)Ji(e,u=p.children[parseInt(g.toString(),10)]),Qi(u,r,e);f.removeRow(x)}else{for(r.width=void 0!==r.width?r.width-f.rows[0].cells[parseInt(x.toString(),10)].actualSize.width:r.width,c=0;c<f.rows.length;c++)if((p=f.rows[parseInt(c.toString(),10)].cells[parseInt(x.toString(),10)])&&p.children.length>0)for(g=0;g<p.children.length;g++)Ji(e,u=p.children[parseInt(g.toString(),10)]),Qi(u,r,e);f.removeColumn(x)}o={element:i,cause:e.diagramActions,diagramAction:e.itemType,state:"Changed",type:"Removal",cancel:!1,laneIndex:s},e.triggerEvent(t.DiagramEvent.collectionChange,o),r.width=r.wrapper.width=f.width,r.height=r.wrapper.height=f.height,vi(r),"Vertical"===r.shape.orientation&&(x=0),bi(e,r,x),e.drag(r,h-r.wrapper.bounds.x,d-r.wrapper.bounds.y),e.updateDiagramObject(r)}}}}function Qi(t,e,i){var r=t.id,n=e.shape.phases;if(n&&n.length>0)for(var o=0;o<n.length;o++){var a=e.id+n[parseInt(o.toString(),10)].id+"_header",s=i.nameTable[""+a],h=s.laneGrids.indexOf(r);-1!==h&&s.laneGrids.splice(h,1)}}function Ji(t,e){var i;if(e instanceof Vs){if(e.children.length>0)for(i=0;i<e.children.length;i++)e.children[parseInt(i.toString(),10)]instanceof Vs&&Ji(t,e.children[parseInt(i.toString(),10)]);qi(t,t.getObject(e.id))}}function $i(e,i,r,n){e.protectPropertyChange(!0);r.wrapper.bounds.x,r.wrapper.bounds.y;var o,a=!1,s=r.shape,h=r.wrapper.children[0],d=n?s.phases.indexOf(n):Mi(i,r),l=s.phases.length;if(s.phases.length>1){d===l-1&&(a=!0,o=k(s.phases[d-1]));var c=k(s.phases[parseInt(d.toString(),10)]);if(s.phases.splice(d,1),!(e.diagramActions&t.DiagramAction.UndoRedo)){var p={type:"PhaseCollectionChanged",changeType:"Remove",undoObject:c,previousPhase:o,redoObject:k(i),category:"Internal",isLastPhase:a};p.undoObject.laneGrids=i.laneGrids,p.redoObject.laneGrids=i.laneGrids,e.addHistoryEntry(p)}"Horizontal"===s.orientation?tr(e,h,i,d):er(e,h,i,d,r),zi(e,r),bi(e,r,r.isHeader?1:0),Ci(r,e),e.protectPropertyChange(!1),e.updateDiagramObject(r)}}function tr(t,e,i,r){var n,o,a,s,h,d;r=void 0!==r?r:i.columnIndex;var l,c,p,g,u,f;for(l=0;l<e.rows.length;l++)if((n=e.rows[parseInt(l.toString(),10)]).cells.length>1&&(o=n.cells[parseInt(r.toString(),10)],a=n.cells.length-1===r?n.cells[r-1]:n.cells[r+1],h=a.children[0],o.children.length>0))if(s=o.children[0],u=t.nameTable[s.id],0===a.children.length&&o.children.length>0)a.children=o.children,a.columnSpan=o.columnSpan-1;else{for(c=0;c<s.children.length;c++){if((g=s.children[parseInt(c.toString(),10)])instanceof Vs){if((f=t.nameTable[g.id]).isLane||(f.parentId=h.id),n.cells.length-1===r&&(f.margin.left=f.wrapper.bounds.x-h.bounds.x,g.margin.left=f.wrapper.bounds.x-h.bounds.x),h.children.push(g),t.nameTable[h.id]){var m=t.nameTable[h.id];m.children||(m.children=[]),m.children.push(g.id)}s.children.splice(c,1),c--,u&&u.children&&-1!==u.children.indexOf(f.id)&&u.children.splice(u.children.indexOf(f.id),1)}if(n.cells.length-1!==r)for(p=0;p<h.children.length;p++){var y=h.children[parseInt(p.toString(),10)];if(y instanceof Vs){var v=t.nameTable[y.id];v.margin.left=v.wrapper.bounds.x-s.bounds.x,y.margin.left=v.wrapper.bounds.x-s.bounds.x}}}if(u&&u.isPhase){var b=t.nameTable[h.id];b&&(h.maxWidth=b.wrapper.maxWidth=b.wrapper.maxWidth+=u.wrapper.maxWidth)}qi(t,u)}var S=e.columnDefinitions()[parseInt(r.toString(),10)].width;e.removeColumn(r),r<e.columnDefinitions().length?(d=e.columnDefinitions()[parseInt(r.toString(),10)].width,d+=S,e.updateColumnWidth(r,d,!0)):(d=e.columnDefinitions()[r-1].width,d+=S,e.updateColumnWidth(r-1,d,!0))}function er(t,e,i,r,n){var o,a,s,h,d,l,c,p,g,u=n.shape,f=void 0!==r?u.hasHeader&&u.header?r+1:r:i.rowIndex,m=e.rows[parseInt(f.toString(),10)],y=n.wrapper.bounds.y,v=u.phases.length;void 0!==u.header&&u.hasHeader&&(y+=e.rowDefinitions()[0].height);var b=r===v?e.rows[f-1]:e.rows[f+1];for(s=0;s<m.cells.length;s++)if(o=m.cells[parseInt(s.toString(),10)],l=b.cells[parseInt(s.toString(),10)],c=l.children[0],o.children.length>0){var S=o.children[0],w=t.nameTable[S.id];if(r<v)for(d=0;d<c.children.length;d++)(p=c.children[parseInt(d.toString(),10)])instanceof Vs&&((g=t.nameTable[p.id]).margin.top=g.wrapper.bounds.y-(0===r?y:S.bounds.y),p.margin.top=g.wrapper.bounds.y-(0===r?y:S.bounds.y));for(h=0;h<S.children.length;h++)(p=S.children[parseInt(h.toString(),10)])instanceof Vs&&((g=t.nameTable[p.id]).parentId=c.id,r===v&&(g.margin.top=g.wrapper.bounds.y-(0===r?y:c.bounds.y),p.margin.top=g.wrapper.bounds.y-(0===r?y:c.bounds.y)),c.children.push(p),S.children.splice(h,1),h--,w.children&&-1!==w.children.indexOf(g.id)&&w.children.splice(w.children.indexOf(g.id),1));qi(t,w)}var x=e.rowDefinitions()[parseInt(f.toString(),10)].height;e.removeRow(f),f<e.rowDefinitions().length?(a=e.rowDefinitions()[parseInt(f.toString(),10)].height,a+=x,e.updateRowHeight(f,a,!0)):(a=e.rowDefinitions()[f-1].height,a+=x,e.updateRowHeight(f-1,a,!0))}function ir(t,e,i){var r=t.nameTable[e.parentId];if(r&&r.isLane){var n=t.nameTable[r.parentId],o=n.wrapper.children[0];t.multiselect||(o.updateColumnWidth(r.columnIndex,o.columnDefinitions()[r.columnIndex].width,!0,i),o.updateRowHeight(r.rowIndex,o.rowDefinitions()[r.rowIndex].height,!0,i));var a=r.wrapper,s=void 0;e.diffX=e.diffX||0,e.diffY=e.diffY||0,e.diffX>0&&(e.margin.left+=e.diffX+i),e.diffY>0&&(e.margin.top+=e.diffY+i),e.margin.left<i&&(e.margin.left=i),e.margin.top<i&&(e.margin.top=i);for(var h=0;h<a.children.length;h++){var d=a.children[parseInt(h.toString(),10)];if(d instanceof Vs){var l=t.nameTable[d.id];if(l.isLane){s=l.wrapper;break}}}s&&("Horizontal"===n.shape.orientation?e.margin.left<i+s.actualSize.width&&(e.margin.left=i+s.actualSize.width):e.margin.top<i+s.actualSize.height&&(e.margin.top=i+s.actualSize.height)),n.wrapper.measure(new ps(n.width,n.height)),n.wrapper.arrange(n.wrapper.desiredSize),e.offsetX=e.wrapper.offsetX,e.offsetY=e.wrapper.offsetY,t.nodePropertyChange(e,{},{margin:{left:e.margin.left,top:e.margin.top}}),e.isResized=!1,o.measure(new ps(o.width,o.height)),o.arrange(o.desiredSize),n.width=n.wrapper.width=n.wrapper.children[0].actualSize.width,n.height=n.wrapper.height=n.wrapper.children[0].actualSize.height}}function rr(t){if("SwimLane"===t.shape.type)for(var e=t.shape.lanes,i=void 0,r=void 0,n=0;n<e.length;n++){i=e[parseInt(n.toString(),10)];for(var o=0;o<i.children.length;o++)(r=i.children[parseInt(o.toString(),10)]).offsetX=r.wrapper.offsetX,r.offsetY=r.wrapper.offsetY}}function nr(t,e){var i;if(t.isLane){var r=e.getObject(t.parentId);if(r&&"SwimLane"===r.shape.type&&t.isLane){var n=Oi(r,t);i=r.shape.lanes[parseInt(n.toString(),10)]}}return i}function or(t,e){return t.parentId&&-1!==e.selectedItems.nodes.indexOf(e.nameTable[t.parentId])}function ar(t,e,i){return!(!t.isLane||!e.isLane||t.id===e.id||t.parentId!==e.parentId||nr(t,i)!==nr(e,i))}function sr(t,e){if(t.isLane){var i=nr(t,e);if(e.eventHandler.action.includes("Resize")||i.canMove)return!0}return!1}function hr(t,e){for(var i,r,n=0;n<t.length;n++){i=t[parseInt(n.toString(),10)];for(var o=0;o<i.children.length;o++)(r=e.nameTable[i.children[parseInt(o.toString(),10)].id]).offsetX=r.wrapper.offsetX,r.offsetY=r.wrapper.offsetY}}function dr(t,e,i,r){var n,o=[],a=!1;if(ur(t,e,!0)){t.protectPropertyChange(!0);var s=(n=t.nameTable[e.parentId]).wrapper;if(t.selectedItems.nodes.length>1?t.multiselect=!0:t.multiselect=!1,n&&"Canvas"===n.container.type){if(r||s.bounds.x<=i.x&&s.bounds.right>=i.x&&s.bounds.y<=i.y&&s.bounds.bottom>=i.y&&!t.multiselect){var h=void 0,d=s.bounds.y,l=s.bounds.x,c=t.nameTable[n.parentId]||n;if("SwimLane"===c.shape.type)a=wr(n,c,e,t,!0);else{var p=t.nameTable[n.parentId]||n,g=p.shape;h=p.wrapper,s.actualSize.width<s.outerBounds.width&&!(s.bounds.x>s.outerBounds.x)&&(void 0!==n.rowIndex?(h.updateColumnWidth(n.columnIndex,s.outerBounds.width,!0),"Horizontal"===g.orientation&&g.phaseSize&&Li(p,t,s,n.columnIndex),zi(t,p),t.drag(p,l-s.bounds.x,d-s.bounds.y)):t.scale(n,1+(s.outerBounds.width-s.actualSize.width)/s.actualSize.width,1,s.outerBounds.x<s.bounds.x?{x:1,y:.5}:{x:0,y:.5})),s.actualSize.height<s.outerBounds.height&&!(s.bounds.y>s.outerBounds.y)&&(void 0!==n.rowIndex?(h.updateRowHeight(n.rowIndex,s.outerBounds.height,!0),t.drag(p,l-s.bounds.x,d-s.bounds.y)):t.scale(n,1,1+(s.outerBounds.height-s.actualSize.height)/s.actualSize.height,s.outerBounds.y<s.bounds.y?{x:.5,y:1}:{x:.5,y:0}))}}t.select([e]),Pi(o,t)}t.protectPropertyChange(!1)}return a}function lr(e,i,r,n){var o;if(ur(e,i,!0)&&!e.cancelPositionChange){var a=e.isProtectedOnChange;e.protectPropertyChange(!0);var s=(o=e.nameTable[i.parentId]).wrapper;if(o&&"Canvas"===o.container.type&&!(n||s.bounds.x<=r.x&&s.bounds.right>=r.x&&s.bounds.y<=r.y&&s.bounds.bottom>=r.y||i.constraints&t.NodeConstraints.AllowMovingOutsideLane)){var h=k(i);e.clearSelection(),mr(e,i),i.parentId="",i.parentObj=e,i.propName="nodes";var d={type:"ChildCollectionChanged",category:"Internal",undoObject:h,redoObject:k(i)};e.addHistoryEntry(d),e.commandHandler.isContainer&&(e.commandHandler.isContainer=!1,e.endGroupAction()),br(i,e)}e.protectPropertyChange(a)}}function cr(t,e,i){for(var r=new ms,n="SwimLane"===t.shape.type?t.wrapper.children[0].rows:t.wrapper.rows,o=i?1:0;o<n.length;o++)r.uniteRect(n[parseInt(o.toString(),10)].cells[parseInt(e.toString(),10)].bounds);return r}function pr(t,e){for(var i,r={},n=0,o=Object.keys(e);n<o.length;n++){var a=o[n];r[""+a]=e[""+a]}return _d(e)===Hl&&((i=new Hl(t,"nodes",r,!0)).id=e.id,t.initObject(i)),t.updateDiagramObject(i),i}function gr(i,r){i.enableServerDataBinding(!1);var n,o,a;if(!e.isBlazor())if(i.selectedObject.helperObject)a=i.selectedObject.helperObject;else if(i.selectedItems.nodes.length>0||i.selectedItems.connectors.length>0){r instanceof Ul&&r.nodes.length+r.connectors.length===1?(n=r.nodes.length>0?r.nodes[0]:r.connectors[0],o=i.selectedItems.wrapper.children[0]):(n=r,o=i.selectedItems.wrapper),i.selectedObject.actualObject=n;var s=n instanceof Ul&&n.nodes.length>0?n.nodes[0]:n;i.selectedObject.actualObject=n,!i.currentSymbol&&(s.isLane&&sr(s,i)&&ur(i,s)||!s.isLane&&ur(i,s)||i.constraints&t.DiagramConstraints.LineRouting&&i.selectedItems.nodes.length>0)&&(a=pr(i,{id:"helper",rotateAngle:o.rotateAngle,offsetX:o.offsetX,offsetY:o.offsetY,minWidth:o.minWidth,minHeight:o.minHeight,maxWidth:o.maxWidth,maxHeight:o.maxHeight,width:o.actualSize.width,height:o.actualSize.height,pivot:o.pivot,style:{strokeDashArray:"2 2",fill:"transparent",strokeColor:"#7D7D7D",strokeWidth:2}}),i.selectedObject.helperObject=a)}return i.enableServerDataBinding(!0),a}function ur(t,e,i){var r=i?t.nameTable[e.parentId]:t.nameTable[e.parentId]||e;return!(!r||!r.container)}function fr(t,e){var i=t.nameTable[e.parentId];if(e.laneMargin={left:e.margin.left,right:e.margin.right,top:e.margin.top,bottom:e.margin.bottom},e.hasTextAnnotation)for(var r=0;r<e.outEdges.length;r++){var n=t.nameTable[e.outEdges[parseInt(r.toString(),10)]];if(n.isBpmnAnnotationConnector){var o=t.nameTable[n.targetID],a={width:e.wrapper.actualSize.width,height:e.wrapper.actualSize.height,offsetX:e.wrapper.offsetX,offsetY:e.wrapper.offsetY},s=e.wrapper.offsetX,h=e.wrapper.offsetY,d=t.getTextAnnotationOffset(e,o,a,s,h),l=d.x-s,c=d.y-h;(l||c||e.width!==e.wrapper.actualSize.width||e.height!==e.wrapper.actualSize.height)&&(e.isResized=!0,e.resizeDif||(e.resizeDif=[]),e.resizeDif[o.id]={x:l,y:c})}}i&&"Canvas"===i.container.type&&(e.margin.left=e.offsetX-i.wrapper.bounds.x-e.width/2,e.margin.top=e.offsetY-i.wrapper.bounds.y-e.height/2),t.nodePropertyChange(e,{},{width:e.width,height:e.height,offsetX:e.offsetX,offsetY:e.offsetY,margin:{left:e.margin.left,right:e.margin.right,top:e.margin.top,bottom:e.margin.bottom},rotateAngle:e.rotateAngle}),t.undoRedoModule&&i&&i.isLane&&t.undoRedoModule.checkRedo&&(e.margin.left<0||e.margin.top<0)&&mr(t,e),i&&!i.isLane&&(i.wrapper.measure(new ps),i.wrapper.arrange(i.wrapper.desiredSize))}function mr(t,e){if(e.parentId&&""!==e.parentId){var i=t.nameTable[e.parentId];if(i.isLane&&i.parentId)for(var r=t.nameTable[i.parentId],n=i.id.slice(r.id.length),o=n.substring(0,n.length-1),a=r.shape.lanes,s=void 0,h=0;h<a.length;h++)if(s=a[parseInt(h.toString(),10)],o===s.id)for(var d=0;d<s.children.length;d++)s.children[parseInt(d.toString(),10)].id===e.id&&(s.children.splice(d,1),d--);t.deleteChild(e)}}function yr(t,e,i){for(var r=i.commandHandler.getObjectLayer(t.id),n=r.zIndexTable,o=e.zIndex+1;void 0!==n[parseInt(o.toString(),10)];)o++;delete r.zIndexTable[t.zIndex],t.zIndex=o,r.zIndexTable[parseInt(o.toString(),10)]=t.id}function vr(e,i,r,n,o,a){if(!e.currentSymbol){e.protectPropertyChange(!0);var s=e.nameTable[i.parentId];r=e.getObject(r.id)||r,s&&s.zIndex>r.zIndex&&a&&yr(r,s,e);var h=-1!==e.nodes.indexOf(r)?r.id:r;if("Canvas"!==i.container.type||o){if(s){var d=s.wrapper.bounds,l=i.wrapper.bounds;if("Horizontal"===s.shape.orientation)r.margin.left-=l.x-d.x;else{var c=i.parentId+s.shape.lanes[0].id+"_0_header";r.margin.top-=l.y-d.y-e.nameTable[""+c].wrapper.bounds.height}}}else{var p=r.wrapper.offsetX-r.wrapper.actualSize.width*r.pivot.x-(i.wrapper.offsetX-i.wrapper.actualSize.width*i.wrapper.pivot.x),g=r.wrapper.offsetY-r.wrapper.actualSize.height*r.pivot.y-(i.wrapper.offsetY-i.wrapper.actualSize.height*i.wrapper.pivot.y);r.margin.left=p,r.margin.top=g}var u=e.nameTable[i.id];if(u.children||(u.children=[]),-1===u.children.indexOf(r.id)){mr(e,r),e.getObject(r.id)&&e.removeElements(r);var f=k(r);if(e.addChild(u,h),r=e.getObject(r.id),u.isLane&&u.parentId)for(var m=(s=e.nameTable[u.parentId]).shape.lanes,y=u.id.slice(s.id.length),v=y.substring(0,y.length-1),b=0;b<m.length;b++)u.isLane&&v===m[parseInt(b.toString(),10)].id&&((r.parentObj instanceof Tp||r.parentObj instanceof _l)&&(r.parentObj=m[parseInt(b.toString(),10)],r.propName="children"),e.nameTable.hasOwnProperty(r.id)||m[parseInt(b.toString(),10)].children.push(r));if(e.updateDiagramObject(r),br(r,e),u.parentId?n||(e.multiselect?(ir(e,r,20),e.updateDiagramElementQuad()):wr(u,s,r,e)):e.updateDiagramObject(u),!(e.diagramActions&t.DiagramAction.UndoRedo)){var S={type:"ChildCollectionChanged",category:"Internal",undoObject:f,redoObject:k(r),historyAction:o?"AddNodeToLane":void 0};e.addHistoryEntry(S)}}else!n&&e.multiselect&&(ir(e,r,20),e.updateDiagramElementQuad());e.protectPropertyChange(!1)}}function br(t,e){var i=Aa(t.id+"_groupElement",e.element.id),r=Aa(t.parentId?t.parentId+"_groupElement":e.element.id+"_diagramLayer",e.element.id);i&&r&&r.appendChild(i)}function Sr(t,e,i,r){wr(t,i.nameTable[t.parentId],e,i,r,!0)}function wr(e,i,r,n,o,a){var s,h,d=k(e),l=!1,c=i.shape.padding,p=e.wrapper.bounds,g=e.wrapper.outerBounds,u=r.wrapper.bounds;if(i&&"SwimLane"===i.shape.type&&(p.right<u.right+c||p.bottom<u.bottom+c||a&&p.top>u.top+c)){var f=i.wrapper.children[0],m=f.bounds.x,y=f.bounds.y,v=void 0,b=void 0,S=e.wrapper.children.find(function(t){return t.id.includes("header")}),w="Horizontal"===i.shape.orientation;if(p.right<u.right+c&&g.x<=p.x&&(w&&S?(b=S?S.width:0,v=u.right-p.right+(p.left-u.left)+b+2*c):v=u.right-p.right+(p.left-u.left)+2*c,h=!0,f.updateColumnWidth(e.columnIndex,p.width+v,!0,c)),p.bottom<u.bottom+c&&g.y<=p.y&&(!w&&S?(b=S?S.height:0,v=u.bottom-p.bottom+(p.top-u.top)+b+2*c):v=u.bottom-p.bottom+(p.top-u.top)+2*c,s=!0,f.updateRowHeight(e.rowIndex,p.height+v,!0,c)),a&&p.top>u.top-c&&g.y<=p.y&&(!w&&S?(b=S?S.height:0,v=p.top-u.top+(u.bottom-p.bottom)+b+2*c):v=p.top-u.top+(u.bottom-p.bottom)+2*c,v>0&&(s=!0,f.updateRowHeight(e.rowIndex,p.height+v,!0,c))),n.isRowHeightUpdate=s,!(n.diagramActions&t.DiagramAction.UndoRedo)){if(o&&(n.startGroupAction(),l=!0),s){x={category:"Internal",type:"RowHeightChanged",undoObject:d,redoObject:k(e)};n.addHistoryEntry(x)}if(h){var x={category:"Internal",type:"ColumnWidthChanged",undoObject:d,redoObject:k(e)};n.addHistoryEntry(x)}}i.width=i.wrapper.width=f.width,i.height=i.wrapper.height=f.height,vi(i),"Horizontal"===i.shape.orientation&&Li(i,n,e.wrapper,e.columnIndex),zi(n,i),n.drag(i,m-f.bounds.x,y-f.bounds.y),Ci(i,n),Ii(i)}return a||ir(n,r,c),n.updateDiagramElementQuad(),l}function xr(t,e,i,r,n,o){var a=Ma(r.element.id);r.diagramRenderer.renderStackHighlighter(t,a,r.scroller.transform,e,i,n,o)}function Ir(t,e,i,r){var n=t,o=i.nameTable[n.parentId],a=i.nameTable[n.parentId];if(e&&a&&a.container&&"Stack"===a.container.type&&e.container&&"Stack"===e.container.type&&a.id!==e.parentId){var s=a.wrapper.children.indexOf(n.wrapper);s>-1&&(i.nameTable[n.id].parentId=e.id,a.wrapper.children.splice(s,1))}if(e&&e.parentId&&n.parentId&&"Drag"===r&&a.container&&"Stack"===a.container.type){var h=o.wrapper.children.indexOf(e.wrapper),d=o.wrapper.children.indexOf(n.wrapper),l={targetIndex:h,target:e,sourceIndex:d,source:t};o.wrapper.children.splice(d,1),o.wrapper.children.splice(h,0,n.wrapper);var c={type:"StackChildPositionChanged",redoObject:{targetIndex:d,target:e,sourceIndex:h,source:t},undoObject:l,category:"Internal"};i.commandHandler.addHistoryEntry(c)}}function Cr(e,i,r,n,o,a,s){if(a&&a.length>1&&o&&o.length>1)return"PinchZoom";if(n.currentSymbol)return"Drag";if("PortDraw"===n.eventHandler.action&&(n.tool&=~t.DiagramTools.DrawOnce),(Ue(n)||Xe(n))&&n.drawingObject)return"Draw";if(Er(n)&&(g=n.selectedItems).wrapper&&oo(g.constraints,"UserHandle"))for(var h=0,d=g.userHandles;h<d.length;h++){var l=d[h];if(l.visible&&!(l.disableConnectors&&n.selectedItems.connectors.length>0||l.disableNodes&&n.selectedItems.nodes.length>0)&&Mr(r,m=ro(g,l,n.scroller.transform),l.size/(2*n.scroller.transform.scale)))return l.name}if(Er(n)){var c=n.selectedItems.annotation?n.selectedItems.wrapper.children[0]:n.selectedItems.wrapper,p=c.bounds,g=n.selectedItems,u=0,f=0,m=void 0;if(c.flippedPoint?(u=c.flippedPoint.x,f=c.flippedPoint.y,m=new ms(u,f,p.width,p.height)):m=new ms(p.x,p.y,p.width,p.height),Lr(n)&&!n.selectedItems.annotation){var b=n.selectedItems.connectors[0],w=n.selectedItems.handleSize/2/n.scrollSettings.currentZoom,x=n.selectedItems.handleSize/2/n.scrollSettings.currentZoom;if(oo(g.constraints,"ResizeAll")){if(oo(g.constraints,"ConnectorSourceThumb")&&Oe(b)&&Mr(r,b.sourcePoint,w))return"ConnectorSourceEnd";if(oo(g.constraints,"ConnectorTargetThumb")&&Me(b)&&Mr(r,b.targetPoint,x))return"ConnectorTargetEnd";if("OrthoThumb"===(z=Dr(b,g,r,n)))return z;if(oo(g.constraints,"ConnectorSourceThumb")&&Oe(b)&&z)return z;if(oo(g.constraints,"ConnectorTargetThumb")&&Me(b)&&z)return z}}else{var I=n.selectedItems.handleSize/2/n.scroller.currentZoom,C=10/n.scroller.currentZoom,P=y(),D=c.offsetX,T=c.offsetY;c.flippedPoint&&(D=D+c.flippedPoint.x-c.corners.topLeft.x,T=T+c.flippedPoint.y-c.corners.topLeft.y),S(P,c.rotateAngle+c.parentTransform,D,T);var A=D-c.pivot.x*c.actualSize.width,O=T-c.pivot.y*c.actualSize.height,M={x:A+(.5===c.pivot.x?2*c.pivot.x:c.pivot.x)*c.actualSize.width/2,y:O-30/n.scroller.currentZoom};M=v(P,M);var E=!!n.selectedItems.annotation,L=!(!E||!Le(n.selectedItems.annotation));if(oo(g.constraints,"Rotate")&&Mr(r,M,C)&&n.selectedItems.thumbsConstraints&t.ThumbsConstraints.Rotate){if(E&&L)return"LabelRotate";if(!E)return"Rotate"}if(m.Inflate(I),m.containsPoint(r)&&(z=Pr(n,c,r,P,A,O)))return z}}if(Ve(n)&&!e)return"Pan";if((s instanceof th||s instanceof eh)&&(!Ve(n)||Fe(n)||Ye(n))){var z=Tr(n,s);if("None"!==z)return z}if((s instanceof ah||s instanceof sh)&&!Ve(n)&&Ie(s))return zr(n,s,void 0,i)&&Ce(s)?"LabelDrag":"LabelSelect";if(null!==e){if(!(e instanceof Hl||e instanceof xd))return"Select";if(i&&i.id){var k=i.id.split(e.id)[1];if(k&&k.match("^_icon"))return"LayoutAnimation"}if(i&&i.id)for(var B=void 0,N=0;N<e.fixedUserHandles.length;N++)if(B=e.fixedUserHandles[parseInt(N.toString(),10)].id,i.id&&i.id.indexOf(B)>-1)return"FixedUserHandle";if(i instanceof js&&i.hyperlink.link)return"Hyperlink";if(!Ce(e)||!zr(n,e,!1)||void 0!==n.selectedItems.annotation)return e&&Ve(n)&&!Ge(n)?"Pan":n.selectedItems.nodes.length&&n.selectedItems.nodes[0].isLane&&n.selectedItems.wrapper&&n.selectedItems.wrapper.bounds.containsPoint(r)?"Drag":"Select";if(e instanceof xd&&!Mr(r,e.sourcePoint,e.hitPadding)&&!Mr(r,e.targetPoint,e.hitPadding)||!(e instanceof xd))return"Drag"}return"Select"}function Pr(t,e,i,r,n,o){var a,s=t.selectedItems;return 1===t.selectedItems.nodes.length&&0===t.selectedItems.connectors.length&&t.selectedItems.nodes[0].container&&!s.annotation&&(a=Ar(t,e,i,n,o)),a||!s.annotation&&t.selectedItems.nodes[0]&&(t.selectedItems.nodes[0].isPhase||t.selectedItems.nodes[0].isLane||"SwimLane"===t.selectedItems.nodes[0].shape.type)||(a=Or(t,e,i,r,n,o)),a||null}function Dr(e,i,r,n){var o=i.handleSize/2/n.scrollSettings.currentZoom,a=i.handleSize/2/n.scrollSettings.currentZoom;if("Bezier"===e.type&&n.connectorEditingToolModule)for(l=0;l<e.segments.length;l++){var s=e.segments[parseInt(l.toString(),10)];if(Mr(r,fs.isEmptyPoint(s.point1)?s.bezierPoint1:s.point1,a)&&(0===l&&ao(e.bezierSettings.controlPointsVisibility,"Source")||0!==l&&ao(e.bezierSettings.controlPointsVisibility,"Intermediate")))return"BezierSourceThumb";if(Mr(r,fs.isEmptyPoint(s.point2)?s.bezierPoint2:s.point2,o)&&(l===e.segments.length-1&&ao(e.bezierSettings.controlPointsVisibility,"Target")||l!==e.segments.length-1&&ao(e.bezierSettings.controlPointsVisibility,"Intermediate")))return"BezierTargetThumb"}if(n.connectorEditingToolModule&&Ee(e)){var h=e.constraints&t.ConnectorConstraints.InheritSegmentThumbSize?n.segmentThumbSize:e.segmentThumbSize,d=h>20&&"Straight"!==e.type?h/2:10;if(d/=n.scrollSettings.currentZoom,"Straight"===e.type||"Bezier"===e.type){for(l=0;l<e.segments.length;l++)if(Mr(r,(s=e.segments[parseInt(l.toString(),10)]).point,d))return"SegmentEnd"}else for(var l=0;l<e.segments.length;l++){var c={x:0,y:0};if((s=e.segments[parseInt(l.toString(),10)]).allowDrag)for(var p=0;p<s.points.length-1;p++)if(fs.distancePoints(s.points[parseInt(p.toString(),10)],s.points[p+1])>=50&&(c.x=(s.points[parseInt(p.toString(),10)].x+s.points[p+1].x)/2,c.y=(s.points[parseInt(p.toString(),10)].y+s.points[p+1].y)/2,Mr(r,c,d)))return"OrthoThumb"}}else Ee(e)&&console.warn('[WARNING] :: Module "ConnectorEditing" is not available in Diagram component! You either misspelled the module name or forgot to load it.');return null}function Tr(e,i,r,n){if(ni(i)&&(so(i,t.PortVisibility.Hover)||so(i,t.PortVisibility.Visible))){if(i.constraints&t.PortConstraints.Drag)return"PortDrag"}else if(ri(i)&&(so(i,t.PortVisibility.Hover)||so(i,t.PortVisibility.Visible))&&i.constraints&t.PortConstraints.Draw){e.drawingObject={};var o={type:"Orthogonal",sourcePortID:i.id};return e.drawingObject=o,e.tool|=t.DiagramTools.DrawOnce,e.currentDrawingObject=o,"PortDraw"}return"None"}function Ar(t,e,i,r,n){var o=10/t.scroller.currentZoom,a=t.selectedItems,s=e.actualSize.width,h=e.actualSize.height,d=new ms(r,n,e.style.strokeWidth,h),l=new ms(r+s,n,e.style.strokeWidth,h),c=new ms(r,n,s,e.style.strokeWidth),p=new ms(r,n+h,s,e.style.strokeWidth),g=ur(t,t.selectedItems.nodes[0],!0)?t.nameTable[t.selectedItems.nodes[0].parentId]:t.selectedItems.nodes[0];if(no(a.constraints,"ResizeEast",a.thumbsConstraints,a)&&l.containsPoint(i,o))return"ResizeEast";if(no(a.constraints,"ResizeSouth",a.thumbsConstraints,a)&&p.containsPoint(i,o))return"ResizeSouth";if("Grid"!==g.container.type){if(no(a.constraints,"ResizeWest",a.thumbsConstraints,a)&&d.containsPoint(i,o))return"ResizeWest";if(no(a.constraints,"ResizeNorth",a.thumbsConstraints,a)&&c.containsPoint(i,o))return"ResizeNorth"}return null}function Or(t,e,i,r,n,o){var a=40/t.scroller.currentZoom,s=t.selectedItems.handleSize/2/t.scroller.currentZoom,h=t.selectedItems,d=!!h.annotation;if(e.actualSize.width>=a&&e.actualSize.height>=a){if(no(h.constraints,"ResizeSouthEast",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n+e.actualSize.width,y:o+e.actualSize.height}),s))return d?"LabelResizeSouthEast":"ResizeSouthEast";if(no(h.constraints,"ResizeSouthWest",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n,y:o+e.actualSize.height}),s))return d?"LabelResizeSouthWest":"ResizeSouthWest";if(no(h.constraints,"ResizeNorthEast",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n+e.actualSize.width,y:o}),s))return d?"LabelResizeNorthEast":"ResizeNorthEast";if(no(h.constraints,"ResizeNorthWest",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n,y:o}),s))return d?"LabelResizeNorthWest":"ResizeNorthWest"}return no(h.constraints,"ResizeEast",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n+e.actualSize.width,y:o+e.actualSize.height/2}),s)?d?"LabelResizeEast":"ResizeEast":no(h.constraints,"ResizeWest",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n,y:o+e.actualSize.height/2}),s)?d?"LabelResizeWest":"ResizeWest":no(h.constraints,"ResizeSouth",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n+e.actualSize.width/2,y:o+e.actualSize.height}),s)?d?"LabelResizeSouth":"ResizeSouth":no(h.constraints,"ResizeNorth",h.thumbsConstraints,h)&&Mr(i,v(r,{x:n+e.actualSize.width/2,y:o}),s)?d?"LabelResizeNorth":"ResizeNorth":null}function Mr(t,e,i){return t.x>=e.x-i&&t.x<=e.x+i&&t.y>=e.y-i&&t.y<=e.y+i}function Er(t){return t.selectedItems.nodes.length>0||t.selectedItems.connectors.length>0}function Lr(t){return 1===t.selectedItems.connectors.length&&!t.selectedItems.nodes.length}function zr(t,e,i,r){if(void 0===i&&(i=!0),e instanceof Ul)return!0;if(e instanceof Hl)for(;e;){if(-1!==t.selectedItems.nodes.indexOf(e)&&void 0===t.selectedItems.annotation)return!0;if(-1!==t.selectedItems.selectedObjects.indexOf(e)&&void 0===t.selectedItems.annotation)return!0;if(i)break;var n=e;e=t.nameTable[e.parentId],n&&t.nameTable[n.parentId]&&"Container"===t.nameTable[n.parentId].shape.type&&(e=void 0)}else if(e instanceof xd){if(-1!==t.selectedItems.connectors.indexOf(e)&&void 0===t.selectedItems.annotation)return!0}else if((e instanceof ah||e instanceof sh)&&t.selectedItems.annotation&&t.selectedItems.wrapper.children[0].id===r.id)return!0;return!1}function kr(t,e){if(e+=360,e%=360,-1===t.indexOf("Resize"))return kh[""+t];var i=kh[""+t];return e>=0&&e<25||e>=160&&e<=205||e>=340&&e<=360?i:e>=25&&e<=70||e>=205&&e<=250?"n-resize"===i||"s-resize"===i?"ne-resize":"nw-resize"===i||"se-resize"===i?"n-resize":"e-resize"===i||"w-resize"===i?"nw-resize":"e-resize":e>=70&&e<=115||e>=250&&e<=295?"n-resize"===i||"s-resize"===i?"e-resize":"nw-resize"===i||"se-resize"===i?"ne-resize":"e-resize"===i||"w-resize"===i?"n-resize":"nw-resize":e>=115&&e<=155||e>=295&&e<=340?"n-resize"===i||"s-resize"===i?"nw-resize":"nw-resize"===i||"se-resize"===i?"e-resize":"e-resize"===i||"w-resize"===i?"ne-resize":kh[""+t]:"n-resize"}function Br(t,e,i){var r=t.center,n=i?45:180/(2+2/(t.height/t.width)),o=n,a=180-n,s=a+2*n,h=360-n,d=_t(e,r);return d>o&&d<a?"top":d>a&&d<s?"right":d>s&&d<h?"bottom":"left"}function Nr(t){return!t.distance&&!t.angle}function Rr(t,e,i){var r=60,n={x:0,y:0};switch(i||(i=Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?t.x<e.x?"right":"left":t.y<e.y?"bottom":"top"),i){case"bottom":case"top":r=Math.min(.45*Math.abs(t.y-e.y),r),n={x:t.x,y:t.y+("bottom"===i?r:-r)};break;case"right":case"left":r=Math.min(.45*Math.abs(t.x-e.x),r),n={x:t.x+("right"===i?r:-r),y:t.y}}return n}function jr(t,e,i,r,n){var o=0,a=0,s=0,h=0,d=Number((n.distance(e,t)+n.distance(i,e)+n.distance(r,i))/3);if(0!==d)for(var l=0;l<=d;l++){var c=l/d,p=(1-c)*(1-c)*(1-c)*t.x+3*c*(1-c)*(1-c)*e.x+3*c*c*(1-c)*i.x+c*c*c*r.x,g=(1-c)*(1-c)*(1-c)*t.y+3*c*(1-c)*(1-c)*e.y+3*c*c*(1-c)*i.y+c*c*c*r.y;0===l?(o=s=p,a=h=g):(o=Math.min(p,o),a=Math.min(g,a),s=Math.max(p,s),h=Math.max(g,h))}return{x:o,y:a,width:s-o,height:h-a,left:o,top:a,right:o+(s-o),bottom:a+(h-a),center:{x:(o+(s-o))/2,y:(a+(h-a))/2}}}function Hr(t,e,i,r,n,o,a){var s={x:0,y:0},h=o/a,d=(1-h)*(1-h)*(1-h)*e.x+3*h*(1-h)*(1-h)*i.x+3*h*h*(1-h)*r.x+h*h*h*n.x;s.x=d;var l=(1-h)*(1-h)*(1-h)*e.y+3*h*(1-h)*(1-h)*i.y+3*h*h*(1-h)*r.y+h*h*h*n.y;return s.y=l,s}function Wr(t){var e=Vr(t),i=Va("div",{id:t.element.id+"_overlapRuler",style:"height:"+e.height+"px;width:"+e.width+"px;position:absolute;left:0;top:0",class:"e-ruler-overlap"});t.element.insertBefore(i,t.element.firstChild)}function _r(t,e){var i=document.getElementById(t.element.id+(e?"_hRuler":"_vRuler")),r=Vr(t),n=Xr(t),o=e?"margin-left:"+r.width+"px;":"margin-top:"+r.height+"px;";if(!i){var a="height:"+(e?r.height:n.height+100)+"px;overflow:hidden;width:"+(e?n.width+100:r.width)+"px;position:absolute;font-size:11px;"+o;i=Va("div",{id:t.element.id+(e?"_hRuler":"_vRuler"),style:a})}t.element.insertBefore(i,t.element.firstChild);var s=e?t.rulerSettings.horizontalRuler:t.rulerSettings.verticalRuler,h=new Pd(s);h.orientation=e?"Horizontal":"Vertical",h.length=(e?n.width:n.height)+s.segmentWidth,h.appendTo("#"+t.element.id+(e?"_hRuler":"_vRuler")),e?t.hRuler=h:t.vRuler=h;var d=document.getElementById(t.element.id+(e?"_hRuler":"_vRuler"));e?t.hRuler.element=d:t.vRuler.element=d}function Fr(t){var e=-t.scroller.horizontalOffset,i=-t.scroller.verticalOffset;t&&t.rulerSettings.showRulers?(t.hRuler.length=0,t.vRuler.length=0,void 0!==e&&t.hRuler.element&&Zr(t,t.hRuler,e,!0),void 0!==i&&t.vRuler.element&&Zr(t,t.vRuler,i,!1)):Yr(t)}function Yr(t){Ka(t.element.id+"_hRuler"),Ka(t.element.id+"_vRuler"),Ka(t.element.id+"_overlapRuler")}function Vr(t){var e=0,i=0;return t.rulerSettings.showRulers&&(e=t.rulerSettings.horizontalRuler.thickness,i=t.rulerSettings.verticalRuler.thickness),new ps(i,e)}function Xr(t){var e=Vr(t),i=t.scroller.viewPortHeight,r=t.scroller.viewPortWidth;return r<t.element.clientWidth-e.width&&(r=t.element.clientWidth-e.width),i<t.element.clientHeight-e.height&&(i=t.element.clientHeight-e.height),t.hRuler&&t.hRuler.length&&(r=t.hRuler.length),t.vRuler&&t.vRuler.length&&(i=t.vRuler.length),new ps(r,i)}function Ur(){var t,e,i=document.getElementsByClassName("e-d-ruler-marker");if(i&&i.length>0)for(e=i.length-1;e>=0;e--)(t=i[parseInt(e.toString(),10)])&&t.parentNode.removeChild(t)}function Gr(t,e){t.rulerSettings.showRulers&&(t.hRuler.drawRulerMarker(t.hRuler.element,e,t.scroller.horizontalOffset),t.vRuler.drawRulerMarker(t.vRuler.element,e,t.scroller.verticalOffset))}function Zr(t,e,i,r){var n=Vr(t),o=Xr(t),a=r?t.rulerSettings.horizontalRuler:t.rulerSettings.verticalRuler;Kr(t,o,r),qr(t,o,r),e.offset=i,e.scale=t.scroller.currentZoom,e.length=(r?o.width:o.height)+100,e.arrangeTick=Z(a.arrangeTick),e.dataBind();var s=r?t.hRuler.element:t.vRuler.element;r?s.style.marginLeft=n.width-e.hRulerOffset+"px":s.style.marginTop=n.height-e.vRulerOffset+"px"}function qr(t,e,i){var r=document.getElementById(t.element.id+(i?"_hRuler_ruler_space":"_vRuler_ruler_space")),n=i?t.hRuler:t.vRuler;r&&t&&e&&(r.style.width=(i?e.width+2*n.segmentWidth:n.thickness)+"px",r.style.height=(i?n.thickness:e.height+2*n.segmentWidth)+"px")}function Kr(t,e,i){var r=document.getElementById(t.element.id+(i?"_hRuler":"_vRuler")),n=i?t.hRuler:t.vRuler;r&&t&&e&&(r.style.width=(i?e.width+n.segmentWidth:n.thickness)+"px",r.style.height=(i?n.thickness:e.height+n.segmentWidth)+"px",(r=document.getElementById(t.element.id+"_overlapRuler"))&&(i?r.style.height=n.thickness+"px":r.style.width=n.thickness+"px"))}function Qr(t){return Od[t.toString()]}function Jr(t,e){for(var i=[],r=0;r<e.length;r++){var n=e[parseInt(r.toString(),10)];t.containsRect(n.wrapper.bounds)&&i.push(n)}return i}function $r(t,e){for(var i=0;i<t.length;i++)if(t[parseInt(i.toString(),10)].id===e)return!0;return!1}function tn(t){var e;return t&&(t.type?e="Connector":t.shape&&!t.type&&(e="Node")),e}function en(t,e){e instanceof Hl&&(t.shape.header||(e.shape.hasHeader=!1))}function rn(t,e,i,r){return r=e?r:void 0!==t[i-1]?t[i-1]+r:0}function nn(t,e){var i=[];if(e)i=t;else{for(var r=0;r<t.length;r++)i.push(t[parseInt(r.toString(),10)]);i.push(t[i.length-2]),i.push(t[i.length-2])}return i}function on(t){for(var e=0;e<t.ports.length;e++)t.ports[parseInt(e.toString(),10)].inEdges=[],t.ports[parseInt(e.toString(),10)].outEdges=[];return t}function an(t,e){if(e instanceof Hl)switch(t.shape.shape){case"JoinNode":t.width||(e.width=20),t.height||(e.height=90),t.style&&t.style.fill||(e.style.fill="black");break;case"ForkNode":t.width||(e.width=90),t.height||(e.height=20),t.style&&t.style.fill||(e.style.fill="black");break;case"InitialNode":case"FinalNode":t.style&&t.style.fill||(e.style.fill="black")}else switch(t.shape.flow){case"Object":t.style&&t.style.strokeDashArray||(e.style.strokeDashArray="8 4"),t.style&&t.style.strokeWidth||(e.style.strokeWidth=2),t.targetDecorator&&t.targetDecorator.shape||(e.targetDecorator.shape="OpenArrow");break;case"Control":t.style&&t.style.strokeWidth||(e.style.strokeWidth=2),t.targetDecorator&&t.targetDecorator.shape||(e.targetDecorator.shape="OpenArrow"),t.sourceDecorator&&t.sourceDecorator.shape||(e.sourceDecorator.shape="None")}}function sn(t,e){switch(t.shape.type){case"Bpmn":switch(t.shape.flow){case"Sequence":("Normal"===t.shape.sequence&&"Bezier"!==t.type||"Default"===t.shape.sequence||"Conditional"===t.shape.sequence)&&(e.targetDecorator&&e.targetDecorator.style&&(e.targetDecorator.style.fill=t.targetDecorator&&t.targetDecorator.style&&t.targetDecorator.style.fill||"black"),"Conditional"===t.shape.sequence&&e.sourceDecorator&&(e.sourceDecorator.style&&(e.sourceDecorator.style.fill=t.sourceDecorator&&t.sourceDecorator.style&&t.sourceDecorator.style.fill||"white"),e.sourceDecorator.width=t.sourceDecorator&&t.sourceDecorator.width||20,e.sourceDecorator.height=t.sourceDecorator&&t.sourceDecorator.width||10));break;case"Association":"Default"!==t.shape.association&&"Directional"!==t.shape.association&&"BiDirectional"!==t.shape.association||(e.targetDecorator&&e.targetDecorator.style&&(e.targetDecorator.style.fill=t.targetDecorator&&t.targetDecorator.style&&t.targetDecorator.style.fill||"black"),"BiDirectional"===t.shape.association&&e.sourceDecorator&&e.sourceDecorator.style&&(e.sourceDecorator.style.fill=t.sourceDecorator&&t.sourceDecorator.style&&t.sourceDecorator.style.fill||"white",e.sourceDecorator.width=t.sourceDecorator&&t.sourceDecorator.width||5,e.sourceDecorator.height=t.sourceDecorator&&t.sourceDecorator.height||10));break;case"Message":e.style&&!e.style.strokeDashArray&&(e.style.strokeDashArray=t.style&&t.style.strokeDashArray||"4 4")}break;case"UmlActivity":switch(t.shape.flow){case"Exception":"Directional"!==t.shape.association&&"BiDirectional"!==t.shape.association||(e.style.strokeDashArray=t.style&&t.style.strokeDashArray||"2 2")}break;case"UmlClassifier":var i=!1;"Association"===t.shape.relationship?i=!0:"Inheritance"===t.shape.relationship?(e.targetDecorator&&e.targetDecorator.style&&(e.targetDecorator.style.fill=t.targetDecorator&&t.targetDecorator.style&&t.targetDecorator.style.fill||"white"),e.style&&(i=!0)):"Composition"===t.shape.relationship?(e.sourceDecorator&&e.sourceDecorator.style&&(e.sourceDecorator.style.fill=t.sourceDecorator&&t.sourceDecorator.style&&t.sourceDecorator.style.fill||"black"),i=!0):"Aggregation"===t.shape.relationship||void 0===t.shape.relationship?(e.sourceDecorator&&e.sourceDecorator.style&&(e.sourceDecorator.style.fill=t.sourceDecorator&&t.sourceDecorator.style&&t.sourceDecorator.style.fill||"white"),i=!0):"Dependency"===t.shape.relationship?(e.sourceDecorator&&e.sourceDecorator.style&&(e.sourceDecorator.style.fill=t.sourceDecorator&&t.sourceDecorator.style&&t.sourceDecorator.style.fill||"white"),i=!0,e.style.strokeDashArray="4 4"):"Realization"===t.shape.relationship&&(e.targetDecorator&&e.targetDecorator.style&&(e.targetDecorator.style.fill=t.targetDecorator&&t.targetDecorator.style&&t.targetDecorator.style.fill||"white"),i=!0,e.style.strokeDashArray="4 4"),i&&(e.style.strokeWidth=t.style&&t.style.strokeWidth||2)}}function hn(t,e,i){var r;r=fs.findLength(e,t)>fs.findLength(i,t)?i:e;var n=fs.findAngle(e,i),o=fs.findAngle(r,t),a=fs.findLength(r,t),s=o+2*(n-o);return{x:r.x+a*Math.cos(s*Math.PI/180),y:r.y+a*Math.sin(s*Math.PI/180)}}function dn(t){var e=[];if("Bezier"===t.type)for(var i=0,r=0;r<t.segments.length;r++)for(var n=t.segments[parseInt(r.toString(),10)],o=fs.isEmptyPoint(n.point1)?n.bezierPoint1:n.point1,a=fs.isEmptyPoint(n.point2)?n.bezierPoint2:n.point2,s=Number((t.distance(o,n.points[0])+t.distance(a,o)+t.distance(n.points[1],a))/1.5),h=0;h<s-1;h+=10)e[parseInt(i.toString(),10)]=Hr(t,n.points[0],fs.isEmptyPoint(n.point1)?n.bezierPoint1:n.point1,fs.isEmptyPoint(n.point2)?n.bezierPoint2:n.point2,n.points[1],h,s),i++;return e}function ln(t){var e=t.parentElement;do{if(Ga(e,"e-diagram"))return!0;e=e.parentElement}while(e);return!1}function cn(t,e,i){if(t&&t.children&&t.children.length>0)for(var r=void 0,n=0;n<t.children.length;n++)return(r=i[t.children[parseInt(n.toString(),10)]]).shape.type===e||cn(r,e,i);return!1}function pn(t,e,i,r,n){if(i&&(t instanceof xd||t&&(t.shape&&"SwimLane"!==t.shape.type||void 0===t.shape)))for(var o=void 0,a=0,s=Object.keys(i);a<s.length;a++){var h=s[a];if(o=i[""+h],"shape"===h&&o.type&&(t.shape={type:o.type}),o)if(Array.isArray(o)&&o.length&&o.length>0&&"annotations"!==n&&"ports"!==n)if(t[""+h].length>0)for(var d=0;d<=t[""+h].length;d++)pn(t[""+h],e?e[""+h]:void 0,i[""+h],"annotations"===h||"ports"===h?t:void 0,h);else pn(t[""+h],e?e[""+h]:void 0,i[""+h],"annotations"===h||"ports"===h?t:void 0,h);else if(o instanceof Object&&e&&"annotations"!==n&&"ports"!==n)pn(t[""+h],e[""+h],i[""+h]);else if("annotations"!==n&&"ports"!==n&&e&&!e[""+h]||!e&&t&&(t[""+h]||void 0!==t[""+h]))t[""+h]=i[""+h];else{var l=void 0;"annotations"!==n&&"ports"!==n||("annotations"===n?(t[""+h]&&pn(t[""+h],e[""+h],i[""+h]),t[""+h]||(_d(r)===xd?(l=new sh(r,"annotations",i[""+h]),r.annotations.push(l)):(l=new ah(r,"annotations",i[""+h]),r.annotations.push(l)))):t[""+h]?pn(t[""+h],e[""+h],i[""+h]):(l=new th(r,"ports",i[""+h]),r.ports.push(l)))}}}function gn(t,e,i,r){var n;if(e)for(var o=0,a=Object.keys(e);o<a.length;o++){var s=a[o];if(n=e[""+s],"getAssistantDetails"===s){if(r.data.Role===e[""+s].root)for(var h=e[""+s].assistants,d=0;d<h.length;d++)for(var l=0;l<i.length;l++)i[parseInt(l.toString(),10)].data.Role===h[parseInt(d.toString(),10)]&&(t.assistants.push(i[parseInt(l.toString(),10)].id),t.children.splice(0,1))}else n&&(t[""+s]=e[""+s])}!t.hasSubTree&&e.canEnableSubTree&&(t.orientation=r.layoutInfo.orientation,t.type=r.layoutInfo.type,r.layoutInfo.offset!==t.offset&&void 0!==r.layoutInfo.offset&&(t.offset=r.layoutInfo.offset)),r.layoutInfo.hasSubTree=t.hasSubTree}function un(t,e){for(var i="Bezier"===t.type?dn(t):t.intermediatePoints,r=0;r<i.length-1;r++){var n=i[parseInt(r.toString(),10)],o=i[r+1],a=ms.toBounds([n,o]);if(a.Inflate(t.hitPadding),a.containsPoint(e)){var s=hn(e,n,o),h=fn({x1:n.x,x2:o.x,y1:n.y,y2:o.y},{x1:e.x,x2:s.x,y1:e.y,y2:s.y});if(h.enabled){var d=fs.findLength(e,h.intersectPt);if(Math.abs(d)<t.hitPadding)return!0}else{var l=ms.toBounds([e,e]);if(l.Inflate(3),l.containsPoint(n)||l.containsPoint(o))return!0}if(fs.equals(e,s))return!0}}if(t.annotations.length>0||t.ports.length>0)for(var c=t.wrapper.children,r=3;r<c.length;r++)if(c[parseInt(r.toString(),10)].bounds.containsPoint(e))return!0;return!1}function fn(t,e){var i={x:0,y:0},r=t,n=e,o=(n.y2-n.y1)*(r.x2-r.x1)-(n.x2-n.x1)*(r.y2-r.y1),a=(n.x2-n.x1)*(r.y1-n.y1)-(n.y2-n.y1)*(r.x1-n.x1),s=(r.x2-r.x1)*(r.y1-n.y1)-(r.y2-r.y1)*(r.x1-n.x1);if(0===o||(t.x1===e.x1||t.y1===e.y1)&&(t.x2===e.x2||t.y2===e.y2)&&(0===a||0===s)&&o>0)return{enabled:!1,intersectPt:i};var h=a/o,d=s/o;return h>=0&&h<=1&&d>=0&&d<=1?(i.x=r.x1+h*(r.x2-r.x1),i.y=r.y1+h*(r.y2-r.y1),{enabled:!0,intersectPt:i}):{enabled:!1,intersectPt:i}}function mn(t,e,i,r){var n={x:0,y:0},o=fn(yn(t.x,t.y,e.x,e.y),yn(i.x,i.y,r.x,r.y));return o.enabled?o.intersectPt:n}function yn(t,e,i,r){return{x1:Number(t)||0,y1:Number(e)||0,x2:Number(i)||0,y2:Number(r)||0}}function vn(t,e,i){var r=[];i=i||0;var n={x:e.topLeft.x-i,y:e.topLeft.y},o={x:e.topRight.x+i,y:e.topRight.y},a={x:e.bottomRight.x,y:e.bottomRight.y-i},s={x:e.bottomLeft.x,y:e.bottomLeft.y+i};return r.push(n),r.push(o),r.push(a),r.push(s),r}function bn(e,i,r,n){var o=r instanceof Hl?r.constraints&t.NodeConstraints.InheritTooltip:r instanceof xd?r.constraints&t.ConnectorConstraints.InheritTooltip:r.constraints&t.PortConstraints.InheritTooltip,a=r instanceof Hl?r.constraints&t.NodeConstraints.Tooltip:r instanceof xd?r.constraints&t.ConnectorConstraints.Tooltip:r.constraints&t.PortConstraints.ToolTip,s="Mouse"===(!o&&a?r.tooltip.relativeMode:e.tooltip.relativeMode);"Mouse"===n?s=!0:"Object"===n&&(s=!1);var h=Sn(r,i,e,s),d=Vr(e);return{x:h.x+d.width,y:h.y+d.height}}function Sn(t,e,i,r){var n,o={},a=document.getElementById(i.element.id);if(t instanceof Hl||t instanceof xd)n=t.wrapper.bounds;else{var s=i.findObjectsUnderMouse(e),h=i.findObjectUnderMouse(s,"Select",!1);n=i.findElementUnderMouse(h,e,i).bounds}var d=a.getBoundingClientRect();switch(i.tooltipObject.position){case"BottomCenter":o=wn(e,n.bottomCenter,i,r,d.width/2,d.height);break;case"BottomLeft":case"LeftBottom":o=wn(e,n.bottomLeft,i,r,0,d.height);break;case"BottomRight":case"RightBottom":o=wn(e,n.bottomRight,i,r,d.width,d.height);break;case"LeftCenter":o=wn(e,n.middleLeft,i,r,0,d.height/2);break;case"LeftTop":case"TopLeft":o=wn(e,n.topLeft,i,r,0,0);break;case"RightCenter":o=wn(e,n.middleRight,i,r,d.width,d.height/2);break;case"RightTop":case"TopRight":o=wn(e,n.topRight,i,r,d.width,0);break;case"TopCenter":o=wn(e,n.topCenter,i,r,d.width/2,0)}return o}function wn(t,e,i,r,n,o){var a={},s=i.scroller.transform.scale,h=i.scroller.horizontalOffset,d=i.scroller.verticalOffset;return h=i.modifyClientOffset(h,!0),d=i.modifyClientOffset(d,!0),a.x=(r?t.x:e.x)*s+h-n,a.y=(r?t.y:e.y)*s+d-o,a}function xn(t,e){var i=new Ws;return i.data=t.pathData,i.height=t.height>10?t.height-(t.padding.bottom+t.padding.top):t.height,i.width=t.width>10?t.width-(t.padding.left+t.padding.right):t.width,i.visible=t.visibility,i.id=e.id+"_shape",i.inversedAlignment=!1,i.horizontalAlignment="Center",i.verticalAlignment="Center",i.style={fill:t.iconStrokeColor,strokeColor:t.iconStrokeColor,strokeWidth:t.iconStrokeWidth},i.setOffsetWithRespectToBounds(.5,.5,"Fraction"),i.relativeMode="Object",i.description=e.description||"",i}function In(t,e){var i,r=0,n=0;for(r=0;r<t.length;r++)for(n=r+1;n<t.length;n++){var o=z(t[parseInt(r.toString(),10)].wrapper),a=z(t[parseInt(n.toString(),10)].wrapper);"Top"===e||"Bottom"===e||"BottomToTop"===e||"Middle"===e?o.center.y>a.center.y&&(i=t[parseInt(r.toString(),10)],t[parseInt(r.toString(),10)]=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=i):o.center.x>a.center.x&&(i=t[parseInt(r.toString(),10)],t[parseInt(r.toString(),10)]=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=i)}return t}function Cn(t,e,i){var r=An(t,e),n=fs.findAngle(t[r.index],t[r.index+1]),o=On(e),a=fs.transform(r.point,n+45,o);return r.point=a,r.angle=n,r}function Pn(t,e,i){var r=Dn(t,e),n=fs.findAngle(t[r.index],t[r.index+1]),o=Tn(e),a=fs.transform(r.point,n+45,o);return r.point=a,r.angle=n,r}function Dn(t,e){for(var i,r,n,o,a=0,s=e.offset,h=[],d=0;d<t.length-1;d++)a+=fs.distancePoints(t[parseInt(d.toString(),10)],t[d+1]),h.push(a);for(var l=s*a,c=0;c<h.length;c++){if(h[parseInt(c.toString(),10)]>=l)return r=fs.findAngle(t[parseInt(c.toString(),10)],t[c+1]),i=fs.transform(t[parseInt(c.toString(),10)],r,l-(n||0)),o=c,{point:i,index:o};n=h[parseInt(c.toString(),10)]}return{point:i,index:o}}function Tn(t){var e=0;switch(t.alignment){case"Center":e=0;break;case"Before":e=-0;break;case"After":e=0}return e}function An(t,e){for(var i,r,n,o,a=0,s=e.offset,h=[],d=0;d<t.length-1;d++)a+=fs.distancePoints(t[parseInt(d.toString(),10)],t[d+1]),h.push(a);for(var l=s*a,c=0;c<h.length;c++){if(h[parseInt(c.toString(),10)]>=l)return r=fs.findAngle(t[parseInt(c.toString(),10)],t[c+1]),i=fs.transform(t[parseInt(c.toString(),10)],r,l-(n||0)),o=c,{point:i,index:o};n=h[parseInt(c.toString(),10)]}return{point:i,index:o}}function On(t){var e;e=t instanceof Dh?0:void 0===t.content?10:0;var i=0;switch(t.alignment){case"Center":i=0;break;case"Before":i=-(0+e);break;case"After":i=0+e}return i}function Mn(t,i,r){i%=360;var n,o;switch(t.alignment){case"Before":i>=45&&i<=135?(o="right",n=.5===t.offset?"center":"top"):i>=225&&i<=315?(o="left",n=.5===t.offset?"center":"bottom"):i>45&&i<225?(n="top",o=.5===t.offset?"center":"right"):(n="bottom",o=.5===t.offset?"center":"left");break;case"After":i>=45&&i<=135?(o="left",n=.5===t.offset?"center":"top"):i>=225&&i<=315?(o="right",n=.5===t.offset?"center":"bottom"):i>45&&i<225?(n="bottom",o=.5===t.offset?"center":"right"):(n="top",o=.5===t.offset?"center":"left");break;case"Center":o=e.isNullOrUndefined(t.horizontalAlignment)?"center":t.horizontalAlignment.toLowerCase(),n=e.isNullOrUndefined(t.verticalAlignment)?"center":t.verticalAlignment.toLowerCase()}if(0===t.offset||1===t.offset)switch(En(r[0],r[1])){case"left":o=0===t.offset?"right":"left";break;case"right":o=0===t.offset?"left":"right";break;case"bottom":n=0===t.offset?"top":"bottom";break;case"top":n=0===t.offset?"bottom":"top"}return{hAlign:o,vAlign:n}}function En(t,e){return Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?t.x<e.x?"right":"left":t.y<e.y?"bottom":"top"}function Ln(t,e){if(t instanceof Hl&&t.children)for(var i=0;i<t.children.length;i++)e.nameTable[t.children[parseInt(i.toString(),10)]].children&&Ln(t,e),e.removeFromAQuad(e.nameTable[t.children[parseInt(i.toString(),10)]]),e.removeObjectsFromLayer(e.nameTable[t.children[parseInt(i.toString(),10)]]),delete e.nameTable[t.children[parseInt(i.toString(),10)]]}function zn(t,e){if(t&&t.children&&t.children.length>0)for(var i=0;i<t.children.length;i++){var r=t.children[parseInt(i.toString(),10)];r instanceof Vs&&zn(r,e)}return-1===e.indexOf(t.id)&&e.push(t.id),e}function kn(t){for(var e,i,r=[],n=0;n<t.length;n++)if("SwimLane"===(e=t[parseInt(n.toString(),10)]).shape.type){i=e.wrapper.children[0].childTable;for(var o=0,a=Object.keys(i);o<a.length;o++)r=zn(i[""+a[o]],r)}return r}function Bn(t,e){var i=e.nodes;if(i)for(var r=0;r<i.length;r++)-1!==t.indexOf(i[parseInt(r.toString(),10)].id)&&(i.splice(r,1),r--)}function Nn(t){var e=kn(t.nodes),i=k(t,t.getCustomProperty);return i.isScrollOffsetInverted=t.isScrollOffsetInverted,i.selectedItems.nodes=[],i.selectedItems.connectors=[],i.selectedItems.wrapper=null,t.serializationSettings.preventDefaults&&(i=Rn(i,t)),t.nodes.forEach(function(r){if("SwimLane"===r.shape.type){var n=t.commandHandler.findProcesses(r);n.forEach(function(t){i.nodes.forEach(function(e){if(e.id===t){var i=e.wrapper;e.offsetX=i.offsetX,e.offsetY=i.offsetY}})}),n.length>0&&(e=e.filter(function(t){return!n.includes(t)}))}}),Bn(e,i),JSON.stringify(i)}function Rn(t,e,i,r){i=Hn(e,i);for(var n=[],o=0,a=n=n.concat(Object.keys(t));o<a.length;o++){var s=a[o];e instanceof Hl&&(r="shape"===s),t[""+s]instanceof Array?jn(t,i,e,s):t[""+s]instanceof Object&&i&&i[""+s]?"wrapper"!==s&&(t[""+s]=Rn(t[""+s],e[""+s],i[""+s],r)):(i&&t[""+s]===i[""+s]||void 0===t[""+s])&&(r&&"type"===s||e instanceof Yl&&"orientation"===s||e instanceof ah&&"content"===s||delete t[""+s]),"[]"!==JSON.stringify(t[""+s])&&"{}"!==JSON.stringify(t[""+s])&&void 0!==t[""+s]||delete t[""+s]}return i=void 0,n=void 0,t}function jn(t,e,i,r){if(0===t[""+r].length)delete t[""+r];else if(t[r].every(function(t){return"number"==typeof t})){var n=void 0,o=!0;for(n=0;n<t[""+r].length;n++)o=!(!o||t[""+r][parseInt(n.toString(),10)]!==e[""+r][parseInt(n.toString(),10)]);o&&delete t[""+r]}else{n=void 0;if(t[""+r]&&"layers"!==r)for(n=t[""+r].length-1;n>=0;n--)"nodes"!==r&&"connectors"!==r||(t[""+r][parseInt(n.toString(),10)].wrapper=null),"dataManager"!==r&&(t[""+r][parseInt(n.toString(),10)]=Rn(t[""+r][parseInt(n.toString(),10)],i[""+r][parseInt(n.toString(),10)],void 0!==e[""+r]?e[""+r][parseInt(n.toString(),10)]:[]),"[]"!==JSON.stringify(t[""+r][parseInt(n.toString(),10)])&&"{}"!==JSON.stringify(t[""+r][parseInt(n.toString(),10)])&&void 0!==t[""+r][parseInt(n.toString(),10)]||t[""+r].splice(n,1))}t=void 0}function Hn(t,e){var i,r=[];if(t.getClassName){var n=new Tp;switch(t.getClassName()){case"Diagram":i=n;break;case"Node":i=new Hl(n,"",r);break;case"Path":i=new cl(n,"",r);break;case"Native":i=new pl(n,"",r);break;case"Html":i=new gl(n,"",r);break;case"Image":i=new ul(n,"",r);break;case"Text":i=new fl(n,"",r);break;case"BasicShape":i=new ml(n,"",r);break;case"FlowShape":i=new yl(n,"",r);break;case"BpmnShape":i=new Al(n,"",r);break;case"UmlActivityShape":i=new Ol(n,"",r);break;case"UmlClassifierShape":i=new Rl(n,"",r);break;case"SwimLane":i=new Yl(n,"",r),t.header&&(i.header=new Wl(n,"",r),i.header.style.fill="");break;case"ShapeAnnotation":i=new ah(n,"",r);break;case"PointPort":i=new th(n,"",r);break;case"BpmnGateway":i=new vl(n,"",r);break;case"BpmnDataObject":i=new bl(n,"",r);break;case"BpmnEvent":i=new wl(n,"",r);break;case"BpmnSubEvent":i=new xl(n,"",r);break;case"BpmnActivity":i=new Pl(n,"",r);break;case"BpmnAnnotation":i=new Dl(n,"",r);break;case"MethodArguments":i=new Ml(n,"",r);break;case"UmlClassAttribute":i=new El(n,"",r);break;case"UmlClassMethod":i=new Ll(n,"",r);break;case"UmlClass":i=new zl(n,"",r);break;case"UmlInterface":i=new kl(n,"",r);break;case"UmlEnumerationMember":i=new Bl(n,"",r);break;case"UmlEnumeration":i=new Nl(n,"",r);break;case"Lane":i=new _l(n,"",r);break;case"Phase":i=new Fl(n,"",r);break;case"ChildContainer":i=new Xl;break;case"Connector":i=new xd(n,"",r);break;case"StraightSegment":i=new ud(n,"",r);break;case"BezierSegment":i=new fd(n,"",r);break;case"OrthogonalSegment":i=new md(n,"",r);break;case"PathAnnotation":i=new sh(n,"",r);break;case"Stop":i=new Ps(n,"",r);break;case"Point":i=e||new fs(n,"",r);break;case"UserHandle":i=new Ad(n,"",r);break;case"Command":i=new zd(n,"",r)}}else i=e;return parent=void 0,e=void 0,i}function Wn(e,i){i.enableServerDataBinding(!1);var r=i.blazorActions;i.blazorActions=i.addConstraints(r,t.BlazorAction.ClearObject),i.clear(),i.blazorActions=i.removeConstraints(r,t.BlazorAction.ClearObject),i.protectPropertyChange(!0);for(var n=i.dataSourceSettings.doBinding,o=i.setNodeTemplate,a=i.getDescription,s=i.getCustomProperty,h={},d=0,l=i.commandManager.commands;d<l.length;d++){var c=l[d];h[c.name]={execute:c.execute,canExecute:c.canExecute}}var p,g=i.rulerSettings.horizontalRuler.arrangeTick,u=i.rulerSettings.verticalRuler.arrangeTick,f=i.layout.getLayoutInfo,m=i.layout.getBranch,y=i.getNodeDefaults,v=i.getConnectorDefaults;p=Yn(p=e instanceof Object?e:JSON.parse(e)),i.contextMenuSettings=p.contextMenuSettings||{},i.constraints=p.constraints||t.DiagramConstraints.Default,i.tool=p.tool||t.DiagramTools.Default,i.bridgeDirection=p.bridgeDirection||"Top",i.pageSettings=p.pageSettings||{},i.drawingObject=p.drawingObject||void 0,i.tooltip=p.tooltip||{},i.addInfo=p.addInfo||void 0,i.getDescription=a,i.scrollSettings=p.scrollSettings||{},p.isScrollOffsetInverted&&Vn(i),i.commandManager=p.commandManager||{},p.layers&&p.layers.length>0&&Fn(p),i.layers=p.layers||[],i.rulerSettings.horizontalRuler.arrangeTick=g,i.rulerSettings.verticalRuler.arrangeTick=u;for(var b=0,S=i.commandManager.commands;b<S.length;b++){var w=S[b];h[w.name]&&(w.execute=h[w.name].execute,w.canExecute=h[w.name].canExecute)}if(i.backgroundColor=p.backgroundColor||"transparent",i.basicElements=p.basicElements||[],p.connectors)for(I=0;I<p.connectors.length;I++)"Bezier"===p.connectors[I].type&&p.connectors[I].segments&&p.connectors[I].segments.length>0&&p.connectors[I].bezierSettings&&p.connectors[I].bezierSettings.allowSegmentsReset&&(p.connectors[I].segments=[]);if(i.connectors=p.connectors||[],i.dataSourceSettings=p.dataSourceSettings||{},i.dataSourceSettings.doBinding=n,i.height=p.height||"100%",i.setNodeTemplate=o,i.getConnectorDefaults=v,i.getNodeDefaults=y,i.getCustomProperty=s,i.mode=p.mode||"SVG",p.nodes)for(I=0;I<p.nodes.length;I++)p.nodes[I].shape&&"SwimLane"===p.nodes[I].shape.type&&(null==p.nodes[I].wrapper&&(p.nodes[I].wrapper={actualSize:{width:p.nodes[I].width,height:p.nodes[I].height},offsetX:p.nodes[I].offsetX,offsetY:p.nodes[I].offsetY}),Vi(p.nodes[I],void 0,void 0,void 0,void 0,!0));i.nodes=p.nodes||[],_n(i.nodes),_n(i.connectors),i.rulerSettings=p.rulerSettings||{},i.snapSettings=p.snapSettings||{},i.width=p.width||"100%",i.layout=p.layout||{},p.layout&&"None"!==p.layout.type&&(i.canLayout=!1),i.layout.getLayoutInfo=Z(f),i.layout.getBranch=Z(m),i.diagramActions=0,i.isLoading=!0,i.protectPropertyChange(!1);var x;i.deserializing=!0;for(var I=0;I<i.views.length;I++)x=i.views[i.views[I]],i.blazorActions=i.addConstraints(r,t.BlazorAction.ClearObject),x.refresh(),x instanceof Wd&&x.onPropertyChanged({sourceID:x.sourceID},{}),i.blazorActions=i.removeConstraints(r,t.BlazorAction.ClearObject),x instanceof Tp&&i.element.classList.add("e-diagram");i.deserializing=!1;var C={name:"loaded",diagram:i};return i.triggerEvent(t.DiagramEvent.loaded,C),p.selectedItems&&(p.selectedItems.nodes=[],p.selectedItems.connectors=[],p.selectedItems.selectedObjects=[]),i.selectedItems=p.selectedItems,i.enableServerDataBinding(!0),i.canLayout=!0,i.swimlaneChildTable={},i.swimlaneZIndexTable={},i.nodes.forEach(function(t){"SwimLane"===t.shape.type&&i.commandHandler.findProcesses(t).forEach(function(t){var e=i.nameTable[t];e&&i.nameTable[e.processId]&&i.nameTable[e.processId].wrapper.children.push(e.wrapper)})}),p.isScrollOffsetInverted&&(i.protectPropertyChange(!0),Vn(i),i.protectPropertyChange(!1)),p}function _n(e){for(var i=0,r=e.filter(function(t){return"string"==typeof t.flip});i<r.length;i++){var n=r[i];switch(n.flip){case"Horizontal":n.flip=t.FlipDirection.Horizontal;break;case"Vertical":n.flip=t.FlipDirection.Vertical;break;case"Both":n.flip=t.FlipDirection.Both;break;case"None":n.flip=t.FlipDirection.None}}}function Fn(t){var e,i,r,n=[];for(e=0;e<t.layers.length;e++){for(i=0;i<t.layers[e].objects.length;i++)if(t.nodes)for(r=0;r<t.nodes.length;r++)t.layers[e].objects[i]===t.nodes[r].id&&n.push(t.layers[e].objects[i]);for(i=0;i<t.layers[e].objects.length;i++)if(t.connectors)for(r=0;r<t.connectors.length;r++)t.layers[e].objects[i]===t.connectors[r].id&&n.push(t.layers[e].objects[i]);t.layers[e].objects=n,n=[]}}function Yn(e){if(e&&(void 0===e.version||e.version<17.1)&&e.nodes)for(var i=0,r=e.nodes;i<r.length;i++){var n=r[i];if(n&&n.ports&&n.ports.length>0)for(var o=0,a=n.ports;o<a.length;o++){var s=a[o];s&&s.constraints&&s.constraints===t.PortConstraints.None&&(s.constraints=t.PortConstraints.Default)}}return e}function Vn(t){t.scrollSettings&&t.scrollSettings.horizontalOffset&&(t.scrollSettings.horizontalOffset=-t.scrollSettings.horizontalOffset),t.scrollSettings&&t.scrollSettings.verticalOffset&&(t.scrollSettings.verticalOffset=-t.scrollSettings.verticalOffset)}function Xn(t,e){var i=e.style,r=e;e.canApplyStyle=!0;for(var n=0,o=Object.keys(t);n<o.length;n++)switch(o[n]){case"fill":i.fill=t.fill,i instanceof Es&&(i.fill="transparent");break;case"textOverflow":i.textOverflow=t.textOverflow;break;case"opacity":i.opacity=t.opacity;break;case"strokeColor":i.strokeColor=t.strokeColor;break;case"strokeDashArray":i.strokeDashArray=t.strokeDashArray;break;case"strokeWidth":i.strokeWidth=t.strokeWidth;break;case"bold":i.bold=t.bold;break;case"color":i.color=t.color;break;case"textWrapping":i.textWrapping=t.textWrapping;break;case"fontFamily":i.fontFamily=t.fontFamily;break;case"fontSize":i.fontSize=t.fontSize;break;case"italic":i.italic=t.italic;break;case"textAlign":i.textAlign=t.textAlign;break;case"whiteSpace":i.whiteSpace=t.whiteSpace;break;case"textDecoration":i.textDecoration=t.textDecoration;break;case"gradient":if(i.gradient){Un(t.gradient,i.gradient);break}}e instanceof js&&r.refreshTextElement()}function Un(t,e){for(var i=0,r=Object.keys(t);i<r.length;i++)switch(r[i]){case"type":e.type=t.type;break;case"x1":e.x1=t.x1;break;case"x2":e.x2=t.x2;break;case"y1":e.y1=t.y1;break;case"y2":e.y2=t.y2;break;case"cx":e.cx=t.cx;break;case"cy":e.cy=t.cy;break;case"fx":e.fx=t.fx;break;case"fy":e.fy=t.fy;break;case"r":e.r=t.r;break;case"stops":e.stops=t.stops}}function Gn(t,e,i){for(var r=e,n=r.hyperlink,o=0,a=Object.keys(t);o<a.length;o++)switch(a[o]){case"color":r.style.color=n.color=t.color;break;case"content":r.content=n.content=t.content||n.link;break;case"link":var s=i.style;r.style.color=t.link?n.color:s.color,r.style.textDecoration=t.link?n.textDecoration:i.style.textDecoration,r.content=t.link?n.content||t.link:i.content,n.link=t.link;break;case"textDecoration":r.style.textDecoration=n.textDecoration=t.textDecoration;break;case"hyperlinkOpenState":n.hyperlinkOpenState=t.hyperlinkOpenState}}function Zn(t,e,i){t.width=e.width,t.height=e.height,t.minHeight=e.minHeight,t.maxHeight=e.maxHeight,t.minWidth=e.minWidth,t.maxWidth=e.maxWidth,t.horizontalAlignment=e.wrapper.children[0].horizontalAlignment,t.verticalAlignment=e.wrapper.children[0].verticalAlignment,t.relativeMode=e.wrapper.children[0].relativeMode,t.visible=e.wrapper.children[0].visible,e.shape instanceof fl&&(t.margin=e.shape.margin),t.id=e.wrapper.children[0].id,t.style=e.style;for(var r=0,n=i.views;r<n.length;r++){var o=n[r];Ka(e.id+"_groupElement",o),Ka(e.id+"_content_groupElement",o),Ka(e.id+"_html_element",o)}e.wrapper.children.splice(0,1),e.wrapper.children.splice(0,0,t)}function qn(t,i,r,n){var o=new ks;switch(t.shape.type){case"Path":var a=new Ws;a.data=i.shape.data,Zn(o=a,i,n);break;case"Image":var s=new Fs;s.source=i.shape.source,s.imageAlign=i.shape.align,s.imageScale=i.shape.scale,Zn(o=s,i,n);break;case"Text":Zn(o=new js,i,n);break;case"Basic":var d="Rectangle"===i.shape.shape?new ks:new Ws;e.isBlazor()||"Polygon"!==i.shape.shape?d.data=q(i.shape.shape):d.data=h(i.shape.points),e.isBlazor()||"Rectangle"!==i.shape.shape||(d.cornerRadius=i.shape.cornerRadius),Zn(o=d,i,n);break;case"Flow":var l=new Ws,c=i.shape.shape;l.data=at(c),Zn(o=l,i,n);break;case"Native":var p=new Gs(t.id,n.element.id);p.content=i.shape.content,p.scale=i.shape.scale,Zn(o=p,i,n);break;case"HTML":var g=new wh(i.id,n.element.id);g.content=i.shape.content,Zn(o=g,i,n)}void 0===t.shape.type||t.shape.type===r.shape.type?Kn(t,i,n,r):(o.width=i.wrapper.children[0].width,o.height=i.wrapper.children[0].height,i.shape instanceof fl&&(o.margin=i.shape.margin),o.style=i.style,i.wrapper.children[0]=o)}function Kn(t,i,r,n){if(Object.keys(t.shape).length>0)if("Path"===i.shape.type&&void 0!==t.shape.data)i.wrapper.children[0].data=t.shape.data;else if("Text"===i.shape.type&&void 0!==t.shape.content)i.wrapper.children[0].content=t.shape.content;else if("Image"===i.shape.type&&void 0!==t.shape.source)i.wrapper.children[0].source=t.shape.source;else if("Native"===i.shape.type){for(var o=void 0,a=0;a<r.views.length;a++)o=Aa(i.wrapper.children[0].id+"_native_element",r.views[parseInt(a.toString(),10)]),void 0!==t.shape.content&&o&&(o.removeChild(o.children[0]),i.wrapper.children[0].content=t.shape.content,o.appendChild(Qa(i.wrapper.children[0],!1)));i.wrapper.children[0].scale=t.shape.scale?t.shape.scale:i.wrapper.children[0].scale}else if("HTML"===i.shape.type)for(var s=void 0,a=0;a<r.views.length;a++)(s=Aa(i.wrapper.children[0].id+"_html_element",r.views[parseInt(a.toString(),10)]))&&(s.removeChild(s.children[0]),i.wrapper.children[0].content=t.shape.content,s.appendChild(Qa(i.wrapper.children[0],!0)));else if("Flow"===i.shape.type&&void 0!==t.shape.shape){i.shape.shape=t.shape.shape;var h=at((c=i.shape.shape).toString());i.wrapper.children[0].data=h}else if("UmlActivity"!==i.shape.type||e.isBlazor()||void 0===t.shape.shape){if(void 0!==t.shape.cornerRadius)i.children&&i.children.length>0?i.wrapper.cornerRadius=t.shape.cornerRadius:i.wrapper.children[0].cornerRadius=t.shape.cornerRadius;else if("Basic"===i.shape.type&&n&&"Rectangle"===n.shape.shape){var d=new Ws,l=q(i.shape.shape);d.data=l,Zn(d,i,r)}else if(void 0!==t.shape.shape){i.shape.shape=t.shape.shape;var c=i.shape.shape,p=q(c.toString());i.wrapper.children[0].data=p}}else Qn(i,t);i.wrapper.children[0].canMeasurePath=!0}function Qn(t,i){e.isBlazor()?t.shape.umlActivityShape=i.shape.umlActivityShape:t.shape.shape=i.shape.shape;var r=Qr((e.isBlazor()?t.shape.umlActivityShape:t.shape.shape).toString());(e.isBlazor()||"InitialNode"!==t.shape.shape)&&(e.isBlazor()||"ForkNode"!==t.shape.shape&&"JoinNode"!==t.shape.shape)?e.isBlazor()||"FinalNode"!==t.shape.shape||t instanceof Hl&&(t.wrapper=Jn(t)):t.wrapper.children[0].style.fill="black",r&&(t.wrapper.children[0].data=r)}function Jn(t){var e=new Vs;e.style.fill="transparent";var i="M 25 50 C 11.21 50 0 38.79 0 25 C 0 11.21 11.21 0 25 0 C 38.78 0 50 11.21 50 25 C 50 38.79 38.78 50 25 50",r=new Ws;r.data=i,r.id=t.id+"_0_finalNode",r.horizontalAlignment="Center",r.verticalAlignment="Center",r.relativeMode="Object",r.style.strokeColor=t.style.strokeColor,r.style.strokeWidth=t.style.strokeWidth;var n=new Ws;return n.data=i,n.id=t.id+"_1_finalNode",n.horizontalAlignment="Center",n.verticalAlignment="Center",n.relativeMode="Object",n.style.fill=t.style.fill,n.style.strokeColor=t.style.strokeColor,n.style.strokeWidth=t.style.strokeWidth,e.children=[r,n],e.children[0].width=t.width,e.children[0].height=t.height,e.children[1].height=t.height/1.5,e.children[1].width=t.width/1.5,e.style.strokeWidth=0,e.style.strokeColor="transparent",e}function $n(t,e,i){var r=i.shape.shape,n=Qr(r);switch(t.data=n,e=t,r){case"StructuredNode":if(i.annotations)for(var o=0;o<i.annotations.length;o++)i.annotations[parseInt(o.toString(),10)].content="<<"+i.annotations[parseInt(o.toString(),10)].content+">>";e=t;break;case"FinalNode":e=Jn(i)}return e}function to(t){Ka(t+"_linear"),Ka(t+"_radial")}function eo(t,e){var i=t.indexOf(e);i>=0&&t.splice(i,1)}function io(t,e,i){var r;t.intermediatePoints=e,t.updateSegmentElement(t,e,t.wrapper.children[0],i);var n=t.sourceDecorator;if("Bezier"===t.type){var o=t.segments[0],a=t.segments[t.segments.length-1];r=[fs.isEmptyPoint(a.point2)?a.bezierPoint2:a.point2,fs.isEmptyPoint(o.point1)?o.bezierPoint1:o.point1]}else r=t.intermediatePoints;e=t.clipDecorators(t,e,i);var s=t.wrapper.children[0];s.canMeasurePath=!0,s=t.wrapper.children[1],t.updateDecoratorElement(s,e[0],r[1],n);var h=t.targetDecorator;s=t.wrapper.children[2],t.updateDecoratorElement(s,e[e.length-1],r[r.length-2],h),t.updateShapeElement(t)}function ro(t,e,i){var r,n=t.wrapper,o=(n.bounds,e.offset),a=e.size/i.scale,s=e.margin,h=n.offsetX-n.actualSize.width*n.pivot.x,d=n.offsetY-n.actualSize.height*n.pivot.y;if(r={x:0,y:0},t.nodes.length>0){switch(e.side){case"Top":r.x+=h+o*n.actualSize.width,r.y+=d-a;break;case"Bottom":r.x+=h+o*n.actualSize.width,r.y+=d+n.actualSize.height+a;break;case"Left":r.x+=h-a,r.y+=d+o*n.actualSize.height;break;case"Right":r.x+=h+n.actualSize.width+a,r.y+=d+o*n.actualSize.height}r.x+=(s.left-s.right)/i.scale+a/2*("Center"===e.horizontalAlignment?0:"Right"===e.horizontalAlignment?-1:1),r.y+=(s.top-s.bottom)/i.scale+a/2*("Center"===e.verticalAlignment?0:"Top"===e.verticalAlignment?-1:1)}else if(t.connectors.length>0){var l=t.connectors[0],c={offset:o},p=An(l.intermediatePoints,c),g=p.index;r=p.point;var u=Cn(l.intermediatePoints,c).angle;S(f=y(),-u,l.intermediatePoints[parseInt(g.toString(),10)].x,l.intermediatePoints[parseInt(g.toString(),10)].y),(r=v(f,r)).x+=s.left-s.right+a/2*("Center"===e.horizontalAlignment?0:"Right"===e.horizontalAlignment?-1:1),r.y+=s.top-s.bottom+a/2*("Center"===e.verticalAlignment?0:"Top"===e.verticalAlignment?-1:1),S(f=y(),u,l.intermediatePoints[parseInt(g.toString(),10)].x,l.intermediatePoints[parseInt(g.toString(),10)].y),r=v(f,r)}if(0!==n.rotateAngle||0!==n.parentTransform){var f=y();S(f,n.rotateAngle+n.parentTransform,n.offsetX,n.offsetY),r=v(f,r)}return r}function no(e,i,r,n){if(n.annotation){if(je(n.annotation))return!0}else if(t.SelectorConstraints[""+i]&e&&t.ThumbsConstraints[""+i]&r)return!0;return!1}function oo(e,i){return!!(t.SelectorConstraints[""+i]&e)}function ao(e,i){return!!(t.ControlPointsVisibility[""+i]&e)}function so(t,e){return t.visibility&e}function ho(t,e){var i;if("Text"===t.shape.type)i=t.shape;else{var r=e.split("_");e=r[r.length-1];for(var n=0;n<t.annotations.length;n++)e===t.annotations[parseInt(n.toString(),10)].id&&(i=t.annotations[parseInt(n.toString(),10)])}return i}function lo(t,e){if(e){var i=e.split("_");e=i[i.length-1]}if(t){t=t;for(var r=0;r<t.ports.length;r++)if(e===t.ports[parseInt(r.toString(),10)].id)return t.ports[parseInt(r.toString(),10)]}}function co(e,i){var r={},n=0;if(e.ports){var o=e.ports;for(n=0;n<o.length;n++)i?o[parseInt(n.toString(),10)].constraints&t.PortConstraints.InConnect&&(r=o[parseInt(n.toString(),10)]):o[parseInt(n.toString(),10)].constraints&t.PortConstraints.OutConnect&&(r=o[parseInt(n.toString(),10)])}return r}function po(t,e,i){for(var r=i?t.annotations:t.ports,n=0;n<r.length;n++)if(r[parseInt(n.toString(),10)].id===e)return n.toString();return"-1"}function go(t,e,i){for(var r=t.ports,n=0;n<r.length;n++)if(r[parseInt(n.toString(),10)].id===e)return n.toString();return"-1"}function uo(t,e){var i;for(i=0;i<t.length;i++)if(e===t[parseInt(i.toString(),10)].id)return!0;return!1}function fo(t,e,i,r){if(void 0!==t.width&&void 0!==t.height&&(t.width*=e,t.height*=i),t instanceof Ns){var n=y(),o=r.width||r.actualSize.width,a=r.height||r.actualSize.height;if(void 0!==o&&void 0!==a){var s=r.offsetX-o*r.pivot.x,h=r.offsetY-a*r.pivot.y,d={x:s+o*r.pivot.x,y:h+a*r.pivot.y};d=U(r.rotateAngle,r.offsetX,r.offsetY,d),S(n,-r.rotateAngle,d.x,d.y),w(n,e,i,d.x,d.y),S(n,r.rotateAngle,d.x,d.y);for(var l=0,c=t.children;l<c.length;l++){var p=c[l];if(void 0!==p.width&&void 0!==p.height){var g=v(n,{x:p.offsetX,y:p.offsetY});p.offsetX=g.x,p.offsetY=g.y,fo(p,e,i,r)}}}}}function mo(t,e,i,r,n,o){for(var a,s=t.children,h=!1,d=!1,l=0;l<s.length;l++)if(a=r[s[parseInt(l.toString(),10)]])if(a.children)mo(a,e,i,r,n,o);else if(a.offsetX-=e,a.offsetY-=i,!n){r[a.id]=a;var c=a.initContainer();c.children||(c.children=[]);var p=a.init(o);c.children.push(p),c.measure(new ps(a.width,a.height)),c.arrange(c.desiredSize),0===c.bounds.x&&(h=!0),0===c.bounds.y&&(d=!0)}(h||d)&&t.children.forEach(function(t){var e=r[""+t];e&&e.wrapper&&e.wrapper.children&&e.wrapper.children.length>0&&(h&&(e.wrapper.children[0].bounds.x+=1.5,e.wrapper.children[0].offsetX+=1.5),d&&(e.wrapper.children[0].bounds.y+=1.5,e.wrapper.children[0].offsetY+=1.5))})}function yo(t,e){var i,r;return i=t instanceof Hl&&"Native"!==t.shape.type&&"HTML"!==t.shape.type||t instanceof xd?1:t instanceof Hl&&"HTML"!==t.shape.type?2:3,r=e instanceof Hl&&"Native"!==e.shape.type&&"HTML"!==e.shape.type||e instanceof xd?1:e instanceof Hl&&"HTML"!==e.shape.type?2:3,i!==r?i-r:t.zIndex-e.zIndex}function vo(t){return t.sort(yo)}function bo(t,e,i){if(0===i.length)i.push(t);else if(1===i.length)i[0][""+e]>t[""+e]?i.splice(0,0,t):i.push(t);else if(i.length>1){for(var r=0,n=i.length-1,o=Math.floor((r+n)/2);o!==r;)if(i[parseInt(o.toString(),10)][""+e]<t[""+e])r=o,o=Math.floor((r+n)/2);else{if(!(i[parseInt(o.toString(),10)][""+e]>t[""+e]))break;n=o,o=Math.floor((r+n)/2)}i[parseInt(n.toString(),10)][""+e]<t[""+e]?i.push(t):i[parseInt(r.toString(),10)][""+e]>t[""+e]?i.splice(r,0,t):i[parseInt(r.toString(),10)][""+e]<t[""+e]&&i[parseInt(n.toString(),10)][""+e]>t[""+e]&&i.splice(n,0,t)}}function So(t){var e=document.getElementById(t.diagramId).ej2_instances,i=e?e[0]:null,r=t.nodeId,n=i.nodes;void 0===n&&(n=xo(i));for(a=0;n&&a<n.length;a++)if(n[parseInt(a.toString(),10)].id===r)return t.annotationId?wo(n[parseInt(a.toString(),10)],t):n[parseInt(a.toString(),10)];for(var o=i.connectors,a=0;o&&a<o.length;a++)if(o[parseInt(a.toString(),10)].id===r)return t.annotationId?wo(o[parseInt(a.toString(),10)],t):o[parseInt(a.toString(),10)];var s=i.enterObject||{};return s.id===r||s.children?s.children&&cn(s,"HTML",i.enterTable)?i.enterTable[""+r]||null:s:null}function wo(t,e){var i,r=t.annotations;for(i=0;r&&i<r.length;i++)if(e.annotationId&&r[parseInt(i.toString(),10)].id===e.annotationId)return r[parseInt(i.toString(),10)];return t}function xo(t){for(var e=[],i=0;i<t.palettes.length;i++)for(var r=t.palettes[parseInt(i.toString(),10)].symbols,n=0;n<r.length;n++)r[parseInt(n.toString(),10)]instanceof Hl&&e.push(r[parseInt(n.toString(),10)]);return e}function Io(t,e,i,r){return t}function Co(t,e){return e}function Po(t,e,i,r,n,o,a,s){var h={x:0,y:0},d=y();switch(S(d,n,o,a),s.x){case 0:switch(s.y){case 0:h=v(d,{x:t,y:e});break;case.5:h=v(d,{x:t,y:e+r/2});break;case 1:h=v(d,{x:t,y:e+r})}break;case.5:switch(s.y){case 0:h=v(d,{x:t+i/2,y:e});break;case.5:h=v(d,{x:t+i/2,y:e+r/2});break;case 1:h=v(d,{x:t+i/2,y:e+r})}break;case 1:switch(s.y){case 0:h=v(d,{x:t+i,y:e});break;case.5:h=v(d,{x:t+i,y:e+r/2});break;case 1:h=v(d,{x:t+i,y:e+r})}}return{x:h.x,y:h.y}}function Do(t){return t}function To(){return(navigator.platform.indexOf("Mac")>=0||navigator.platform.indexOf("iPad")>=0||navigator.platform.indexOf("iPhone")>=0||navigator.platform.indexOf("MacIntel")>=0)&&("safari"===e.Browser.info.name||"webkit"===e.Browser.info.name)}function Ao(t){return-1!==t.indexOf("shape")||-1!==t.indexOf("pathData")||-1!==t.indexOf("width")||-1!==t.indexOf("height")}function Oo(t,e,i){var r=Mo(t,e,i,"width"),n=Mo(t,e,i,"height");return new ps(r,n)}function Mo(t,e,i,r){return void 0!==e.previewSize[""+r]?e.previewSize[""+r]:void 0!==t.symbolPreview[""+r]?t.symbolPreview[""+r]:e[""+r]||i.actualSize[""+r]}function Eo(t,e,i){return t&&t.parentId&&(i=(t=e.nameTable[t.parentId]).parentId?Eo(t,e,i):t.id),i}function Lo(t,e){return t.selectedItems.connectors.length>1&&0===t.selectedItems.nodes.length&&0!==e.rotateAngle}function zo(t){if(t.arrowType&&""!==t.arrowType.trim())switch(t.arrowType){case"single-line-arrow":return{targetDecorator:"Arrow",strokeWidth:1};case"double-line-arrow":return{targetDecorator:"Arrow",strokeWidth:2};case"dotted-arrow":return{targetDecorator:"Arrow",strokeDashArray:"2,2"};case"single-line":return{targetDecorator:"None",strokeWidth:1};case"double-line":return{targetDecorator:"None",strokeWidth:2};case"dotted":return{targetDecorator:"None",strokeDashArray:"2,2"};case"wiggly-arrow":return{targetDecorator:"None",strokeWidth:1,opacity:0};default:return{targetDecorator:"Arrow",strokeWidth:1}}return{targetDecorator:"Arrow",strokeWidth:1}}function ko(t,e,i){switch(e+=t.margin.left-t.margin.right,i+=t.margin.top-t.margin.bottom,t.horizontalAlignment){case"Auto":case"Left":e=t.inversedAlignment?e:e-t.desiredSize.width;break;case"Stretch":case"Center":e-=t.desiredSize.width*t.pivot.x;break;case"Right":e=t.inversedAlignment?e-t.desiredSize.width:e}switch(t.verticalAlignment){case"Auto":case"Top":i=t.inversedAlignment?i:i-t.desiredSize.height;break;case"Stretch":case"Center":i-=t.desiredSize.height*t.pivot.y;break;case"Bottom":i=t.inversedAlignment?i-t.desiredSize.height:i}return{x:e,y:i}}function Bo(e,i){var r=i.position.x,n=i.position.y;i.flip===t.FlipDirection.Horizontal?r=1-r:i.flip===t.FlipDirection.Vertical?n=1-n:(r=1-r,n=1-n);var o=r*e.width,a=n*e.height,s=e.offsetY-e.height*i.pivot.y+e.padding.top,h=e.offsetX-e.width*i.pivot.x+e.padding.left,d={horizontalAlignment:i.horizontalAlignment,verticalAlignment:i.verticalAlignment,margin:i.margin,desiredSize:i.desiredSize,inversedAlignment:i.inversedAlignment,pivot:i.pivot};i.flip!==t.FlipDirection.Horizontal&&i.flip!==t.FlipDirection.Both||(d.horizontalAlignment="Left"===d.horizontalAlignment||"Auto"===i.horizontalAlignment?"Right":"Right"===d.horizontalAlignment?"Left":d.horizontalAlignment),i.flip!==t.FlipDirection.Vertical&&i.flip!==t.FlipDirection.Both||(d.verticalAlignment="Top"===d.verticalAlignment||"Auto"===i.verticalAlignment?"Bottom":"Bottom"===d.verticalAlignment?"Top":d.verticalAlignment);var l=ko(d,h+=o,s+=a),c={x:l.x+i.desiredSize.width/2,y:l.y+i.desiredSize.height/2},p=i.rotateAngle;if(0!==p||0!==i.parentTransform){var g=G({x:l.x,y:l.y},i);g=U(i.rotateAngle,c.x,c.y,g),l=L({offsetX:(g=U(e.rotateAngle+e.parentTransform,e.offsetX,e.offsetY,g)).x,offsetY:g.y,pivot:i.pivot,actualSize:i.actualSize}).topLeft;var u=y();S(u,p+i.parentTransform,g.x,g.y),l=v(u,l)}return l}function No(e){return!(!e||e.flip===t.FlipDirection.None||"Label"!==e.flipMode&&"PortAndLabel"!==e.flipMode&&"LabelAndLabelText"!==e.flipMode&&"All"!==e.flipMode)}function Ro(t,e,i){return void 0===i&&(i=0),t.left-i<=e.x&&t.right+i>=e.x&&t.top-i<=e.y&&t.bottom+i>=e.y}function jo(e,i,r){var n,o="NoWrap";"Class"===i.shape.classifier?n=i.shape.classShape:"Enumeration"===i.shape.classifier?n=i.shape.enumerationShape:"Interface"===i.shape.classifier&&(n=i.shape.interfaceShape),i.container={type:"Stack",orientation:"Vertical"},i.constraints=(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Resize),i.style={fill:i.style.fill,strokeColor:i.style.strokeColor,strokeWidth:1.5},i.children=[],i.maxWidth&&(o="Wrap");var a=new Hl(r,"nodes",{id:i.id+"_umlClass_header",offsetX:i.offsetX,offsetY:i.offsetY,annotations:[{id:"name",content:n.name,offset:{x:.5,y:.65},margin:{left:10,right:10},style:{bold:!0,fontSize:14,color:n.style.color,fill:n.style.fill,textWrapping:o}},{content:"<<"+i.shape.classifier+">>",margin:{left:10,right:10},id:"class",style:{fontSize:n.style.fontSize,color:n.style.color,fill:n.style.fill,textWrapping:o},offset:{x:.5,y:.3},constraints:t.AnnotationConstraints.ReadOnly}],constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),verticalAlignment:"Stretch",horizontalAlignment:"Stretch",style:{fill:i.style.fill,strokeColor:"black"===i.style.strokeColor?"#ffffff00":i.style.strokeColor}},!0);return r.initObject(a),r.nodes.push(a),r.UpdateBlazorDiagramModel(a,"Node"),i.children.push(a.id),Ho(i,r,n,o),Fo(i,r,n,o),i.offsetX=i.offsetX,i.offsetY=i.offsetY,i.style.fill=i.style.fill,i.borderColor=i.borderColor,r.initObject(i),e}function Ho(e,i,r,n){if("Enumeration"===e.shape.classifier){var o=r.members;if(o&&o.length){Vo(e,i);for(var a="",s=0;s<o.length;s++){var h=o[parseInt(s.toString(),10)];if(""!==h.name&&(a+=h.name),s!==o.length){var d=Uo(e,h),l=new Hl(i,"nodes",{id:O()+"_umlMember",annotations:[{id:"name",content:a,offset:{x:0,y:.5},style:{bold:!0,fontSize:d.fontSize,color:d.color,fill:d.fill,textWrapping:n,italic:d.italic,fontFamily:d.fontFamily,whiteSpace:d.whiteSpace,textAlign:d.textAlign,textDecoration:d.textDecoration,textOverflow:d.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],verticalAlignment:"Stretch",horizontalAlignment:"Stretch",style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor,textWrapping:n},constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),minHeight:25},!0);i.initObject(l),i.nodes.push(l),i.UpdateBlazorDiagramModel(l,"Node"),e.children.push(l.id),a="",h.isSeparator&&s!==o.length-1&&Vo(e,i,h.separatorStyle),h.isSeparator&&s===o.length-1&&(h.isSeparator=!1)}}}}else{var c=r.attributes;if(c.length){var p="";Vo(e,i);for(s=0;s<c.length;s++){var g=void 0,u=c[parseInt(s.toString(),10)];if(g=u.scope&&"Public"===u.scope?" +":u.scope&&"Private"===u.scope?"-":u.scope&&"Protected"===u.scope?"#":"~",""!==u.name&&g&&(p+=g+" "+u.name+" : "+u.type),s!==c.length){var d=Uo(e,u),l=new Hl(i,"nodes",{id:O()+"_umlProperty",style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor},annotations:[{id:"name",content:p,offset:{x:0,y:.5},style:{bold:!0,fontSize:d.fontSize,color:d.color,fill:d.fill,textWrapping:n,italic:d.italic,fontFamily:d.fontFamily,whiteSpace:d.whiteSpace,textAlign:d.textAlign,textDecoration:d.textDecoration,textOverflow:d.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],verticalAlignment:"Stretch",horizontalAlignment:"Stretch",constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),minHeight:25},!0);i.initObject(l),i.nodes.push(l),i.UpdateBlazorDiagramModel(l,"Node"),e.children.push(l.id),p="",u.isSeparator&&s!==c.length-1&&Vo(e,i,u.separatorStyle),u.isSeparator&&s===c.length-1&&(u.isSeparator=!1)}}}}}function Wo(e,i,r,n){if("Enumeration"===e.shape.classifier){var o=r.members,a="";1===o.length&&Xo(e,i,o.length);for(var s=0,h=0;h<o.length-1;h++)!0===o[parseInt(h.toString(),10)].isSeparator&&s++;for(var d=o.length+s+1,h=0;h<o.length;h++){var l=o[o.length-1];if(""!==l.name&&(a+=l.name),h!==o.length){var c=Uo(e,l),p=new Hl(i,"nodes",{id:O()+"_umlMember",annotations:[{id:"name",content:a,offset:{x:0,y:.5},style:{bold:!0,fontSize:c.fontSize,color:c.color,fill:c.fill,textWrapping:n,italic:c.italic,fontFamily:c.fontFamily,whiteSpace:c.whiteSpace,textAlign:c.textAlign,textDecoration:c.textDecoration,textOverflow:c.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],verticalAlignment:"Stretch",horizontalAlignment:"Stretch",style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor,textWrapping:n},constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),minHeight:25},!0);p.parentId=e.id,p.umlIndex=d,i.add(p),a=""}break}}}function _o(e,i,r,n){if(r.attributes&&r.attributes.length){var o=r.attributes,a="",s=void 0;1===o.length&&Xo(e,i,o.length);for(var h=0,d=0;d<o.length-1;d++)!0===o[parseInt(d.toString(),10)].isSeparator&&h++;for(var l=o.length+h+1,d=0;d<o.length;d++){var c=o[o.length-1];if(s=c.scope&&"Public"===c.scope?" +":c.scope&&"Private"===c.scope?"-":c.scope&&"Protected"===c.scope?"#":"~",""!==c.name&&s&&(a+=s+" "+c.name+" : "+c.type),d!==o.length){var p=Uo(e,c),g=new Hl(i,"nodes",{id:O()+"_umlProperty",style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor},annotations:[{id:"name",content:a,offset:{x:0,y:.5},style:{bold:!0,fontSize:p.fontSize,color:p.color,fill:p.fill,textWrapping:n,italic:p.italic,fontFamily:p.fontFamily,whiteSpace:p.whiteSpace,textAlign:p.textAlign,textDecoration:p.textDecoration,textOverflow:p.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],verticalAlignment:"Stretch",horizontalAlignment:"Stretch",constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),minHeight:25},!0);g.parentId=e.id,g.umlIndex=l,i.add(g),a=""}break}}}function Fo(e,i,r,n){if(r.methods&&r.methods.length){var o=r.methods;Vo(e,i);for(var a="",s="",h=void 0,d=0;d<o.length;d++){var l=o[parseInt(d.toString(),10)];if(h=l.scope&&"Public"===l.scope?" +":l.scope&&"Private"===l.scope?"-":l.scope&&"Protected"===l.scope?"#":"~",l.parameters)for(var c=0;c<l.parameters.length;c++)l.parameters[parseInt(c.toString(),10)].type?a+=l.parameters[parseInt(c.toString(),10)].name+":"+l.parameters[parseInt(c.toString(),10)].type:a+=l.parameters[parseInt(c.toString(),10)].name,c!==l.parameters.length-1&&(a+=",");if(""!==l.name&&(h&&(s+=h+" "+l.name+"("+a+") : "+l.type),a=""),d!==o.length){var p=Uo(e,l),g=new Hl(i,"nodes",{id:O()+"_umlMethods",verticalAlignment:"Stretch",horizontalAlignment:"Stretch",annotations:[{id:"name",content:s,offset:{x:0,y:.5},style:{bold:!0,fontSize:p.fontSize,color:p.color,fill:p.fill,textWrapping:n,italic:p.italic,fontFamily:p.fontFamily,whiteSpace:p.whiteSpace,textAlign:p.textAlign,textDecoration:p.textDecoration,textOverflow:p.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor},minHeight:25,constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize)},!0);i.initObject(g),i.nodes.push(g),i.UpdateBlazorDiagramModel(g,"Node"),e.children.push(g.id),s="",l.isSeparator&&d!==o.length-1&&Vo(e,i,l.separatorStyle),l.isSeparator&&d===o.length-1&&(l.isSeparator=!1)}}}}function Yo(e,i,r,n){if(r.methods&&r.methods.length){var o=r.methods,a="",s="",h=void 0,d=1,l=void 0,c=0,p=0,g=e.shape,u="Class"===g.classifier,f=(g.classifier,u?g.classShape:g.interfaceShape);1===o.length?f.attributes.length>0?(c=f.attributes.filter(function(t){return t.isSeparator}).length,l=(d=2+f.attributes.length+c)+1,Xo(e,i,d)):l=d+1:(c=f.attributes.filter(function(t){return t.isSeparator}).length,p=f.methods.filter(function(t){return t.isSeparator}).length,l=(d=2+f.attributes.length+c+f.methods.length+p)+1);for(var m=0;m<o.length;m++){var y=o[o.length-1];if(h=y.scope&&"Public"===y.scope?" +":y.scope&&"Private"===y.scope?"-":y.scope&&"Protected"===y.scope?"#":"~",y.parameters)for(var v=0;v<y.parameters.length;v++)y.parameters[parseInt(v.toString(),10)].type?a+=y.parameters[parseInt(v.toString(),10)].name+":"+y.parameters[parseInt(v.toString(),10)].type:a+=y.parameters[parseInt(v.toString(),10)].name,v!==y.parameters.length-1&&(a+=",");if(""!==y.name&&h&&(s+=h+" "+y.name+"("+a+") : "+y.type),m!==o.length){var b=Uo(e,y),S=new Hl(i,"nodes",{id:O()+"_umlMethods",verticalAlignment:"Stretch",horizontalAlignment:"Stretch",annotations:[{id:"name",content:s,offset:{x:0,y:.5},style:{bold:!0,fontSize:b.fontSize,color:b.color,fill:b.fill,textWrapping:n,italic:b.italic,fontFamily:b.fontFamily,whiteSpace:b.whiteSpace,textAlign:b.textAlign,textDecoration:b.textDecoration,textOverflow:b.textOverflow},margin:{left:14,right:5},horizontalAlignment:"Left"}],style:{fill:e.style.fill,strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor},minHeight:25,constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize)},!0);S.parentId=e.id,S.umlIndex=l,i.add(S),s=""}break}}}function Vo(e,i,r){var n=new Hl(i,"nodes",{id:O()+"_path",height:1,constraints:t.NodeConstraints.Default&~t.NodeConstraints.Select,verticalAlignment:"Stretch",horizontalAlignment:"Stretch",style:{strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor,fill:r?r.fill:"white"}},!0);i.initObject(n),i.nodes.push(n),e.children.push(n.id)}function Xo(e,i,r){var n=new Hl(i,"nodes",{id:O()+"_path",height:1,constraints:t.NodeConstraints.Default&~t.NodeConstraints.Select,verticalAlignment:"Stretch",horizontalAlignment:"Stretch",style:{strokeColor:"black"===e.style.strokeColor?"#ffffff00":e.style.strokeColor,fill:"white"}},!0);n.parentId=e.id,n.umlIndex=r,i.add(n)}function Uo(t,e){var i={},r=e.style;return i.fill="transparent"!==r.fill?r.fill:t.style.fill,i.color=r.color,i.fontFamily="Arial"!==r.fontFamily?r.fontFamily:t.style.fontFamily,i.italic=r.italic,i.bold=r.bold,i.whiteSpace=r.whiteSpace,i.textAlign=r.textAlign,i.textWrapping=r.textWrapping,i.textDecoration=r.textDecoration,i.textOverflow=r.textOverflow,i.fontSize=12!==r.fontSize?r.fontSize:t.style.fontSize,i.strokeColor="black"!==r.strokeColor?r.strokeColor:t.style.strokeColor,i.strokeWidth=1!==r.strokeWidth?r.strokeWidth:t.style.strokeWidth,i}function Go(t,e,i){return t=qo(t,e,i)}function Zo(e,i){e.style.fill=i.style.fill,e.style.strokeColor=i.style.strokeColor,e.style.strokeWidth=i.style.strokeWidth,e.style.strokeDashArray=i.style.strokeDashArray,e.style.opacity=i.style.opacity,e.style.gradient=i.style.gradient,0!=(i.constraints&t.NodeConstraints.Shadow)&&i.visible&&(e.shadow=i.shadow)}function qo(e,i,r){var n=new Vs;Zo(n,i),n.id=i.id+"_container";var o=Ko(i,e);if(i.width=o.width,i.height=o.height,e.id=i.id+"_content",e.width=o.width,e.height=o.height,Zo(e,i),n.children=[e],i.shape.header&&i.shape.hasHeader){var a=Jo(r,i);n.children.push(a)}var s=i.shape;if(i.shape.children&&i.shape.children.length>0)for(var h=0;h<s.children.length;h++){var d=r.nameTable[s.children[parseInt(h.toString(),10)]];if(d&&(!d.parentId||d.parentId===i.id)){d.parentId=i.id,d.margin.left||(d.margin.left=10),d.margin.top||(d.margin.top=10),!i.shape.header||!i.shape.hasHeader||r.isLoading||r.diagramActions&t.DiagramAction.UndoRedo||(d.margin.top+=i.shape.header.height);var l=i.offsetX-i.width*i.pivot.x+(d.margin.left+d.width*d.pivot.x),c=i.offsetY-i.height*i.pivot.y+(d.margin.top+d.height*d.pivot.y);d.offsetX===l&&d.offsetY===c||(d.offsetX=l,d.offsetY=c),n.children.push(d.wrapper),ta(r,d)}}return n.width=i.width,n.height=i.height,n}function Ko(t,e){var i=new ps(t.width,t.height);return e instanceof Ws||(i.width=i.width||50,i.height=i.height||50),e.actualSize.width&&e.actualSize.height?e.actualSize:(void 0!==t.maxWidth&&(i.width=Math.min(i.width,t.maxWidth)),void 0!==t.maxHeight&&(i.height=Math.min(i.height,t.maxHeight)),void 0!==t.minWidth&&(i.width=Math.max(i.width,t.minWidth)),void 0!==t.minHeight&&(i.height=Math.max(i.height,t.minHeight)),i)}function Qo(t,e,i,r,n){if(r.children[0].width=t.width,r.children[0].height=t.height,i.shape.header&&i.shape.hasHeader){var o=n.nameTable[i.id+i.shape.header.id];o.wrapper.children[0].width=t.width,o.wrapper.measure(new ps(o.wrapper.bounds.width,o.wrapper.bounds.height)),o.wrapper.arrange(o.wrapper.desiredSize)}}function Jo(t,e){var i=e.shape;return i.header.id=i.header.id||O(),$o(t,e,{id:e.id+i.header.id,annotations:[k(i.header.annotation)],style:i.header.style,offsetX:e.offsetX,offsetY:e.offsetY,height:i.header.height,width:e.width},!0)}function $o(e,i,r,n){var o=new Hl(e,"nodes",r,!0);if(o.parentId=i.id,o.isHeader=n,o.constraints&=~(t.NodeConstraints.InConnect|t.NodeConstraints.OutConnect),o.constraints|=t.NodeConstraints.HideThumbs,e.initObject(o),e.nodes.push(o),o.wrapper.children.length>0){for(var a=0;a<o.wrapper.children.length;a++){var s=o.wrapper.children[parseInt(a.toString(),10)];s instanceof ks&&(s.isCalculateDesiredSize=!1),s instanceof js&&(s.canConsiderBounds=!1)}o.wrapper.measure(new ps(void 0,void 0)),o.wrapper.arrange(o.wrapper.desiredSize)}return o.wrapper.measure(new ps(void 0,void 0)),o.wrapper.arrange(o.wrapper.desiredSize),o.wrapper}function ta(t,e){var i=e,r=t.getIndex(i,i.id),n=t.layers.indexOf(t.commandHandler.getObjectLayer(e.id)),o=t.layers[parseInt(n.toString(),10)];t.nodes.splice(Number(r),1),delete o.zIndexTable[i.zIndex],i.zIndex=o.objectZIndex+1,t.nodes.push(i),o.zIndexTable[i.zIndex]=i.id}function ea(t,e,i){var r=i.nameTable[t.id].shape;if(i.currentSymbol&&"Container"===t.shape.type)return void(e.parentId=t.id);r.children=r.children||[];var n=k(e),o=i.nameTable[e.id].wrapper,a=i.nameTable[t.id].wrapper;o.margin.top=o.offsetY-o.actualSize.height/2-(t.offsetY-t.actualSize.height/2),o.margin.left=o.offsetX-o.actualSize.width/2-(t.offsetX-t.actualSize.width/2),i.nameTable[e.id].parentId=t.id,r.children.push(e.id),a.children[0].children.push(i.nameTable[e.id].wrapper),ra(ia(t,e.id,i),e,i,!1),o.margin.left<0&&(o.margin.left=10),(o.margin.top<0||r.hasHeader&&o.margin.top<r.header.height)&&(o.margin.top=10,r.hasHeader&&(o.margin.top+=r.header.height)),a.measure(new ps(void 0,void 0)),a.arrange(a.desiredSize);var s={type:"PositionChanged",undoObject:{nodes:[n]},redoObject:{nodes:[k(e)]},category:"Internal"};i.addHistoryEntry(s),"SVG"===i.mode&&(e.zIndex<t.zIndex&&(i.moveSvgNode(e.id),ta(i,e)),Aa(t.id+"_groupElement").appendChild(Aa(e.id+"_groupElement")))}function ia(t,e,i){var r,n=t.shape.children;if(n&&n.length)for(var o=0;o<n.length;o++){var a=n[parseInt(o.toString(),10)];e!==a&&(r=r?i.nameTable[""+a].wrapper.bounds.uniteRect(r):i.nameTable[""+a].wrapper.bounds)}return r||i.nameTable[""+e].wrapper.bounds}function ra(e,i,r,n){var o,a,s=r.nameTable[i.parentId],h={x:.5,y:.5},d=s.wrapper.actualSize,l=0;s.shape.hasHeader&&(l=s.shape.header.height),s.wrapper.bounds.left+i.margin.left+i.width>s.wrapper.bounds.right?(h.x=0,o=(i.wrapper.margin.left+i.wrapper.bounds.width)/d.width):i.margin.left<0&&(h.x=1,o=(i.wrapper.bounds.x+i.wrapper.bounds.width)/s.wrapper.bounds.x),s.wrapper.bounds.top+i.margin.top+i.height>s.wrapper.bounds.bottom?(h.y=0,a=(i.wrapper.margin.top+i.wrapper.bounds.height)/d.height):i.margin.top<l&&!n&&(h.y=1,a=(i.wrapper.bounds.y+i.wrapper.bounds.height)/s.wrapper.bounds.y),(o>0||a>0)&&s.constraints&t.NodeConstraints.Resize&&r.commandHandler.scale(r.nameTable[i.parentId],o||1,a||1,h)}function na(t,e,i,r){var n=e.nameTable[t.parentId],o=0;n.shape.hasHeader&&(o=n.shape.header.height);var a={top:t.margin.top+r-o>=0?t.margin.top+r:t.margin.top,left:t.margin.left+i>=0?t.margin.left+i:t.margin.left};a.top===t.margin.top&&a.left===t.margin.left||e.nodePropertyChange(t,{},{margin:a}),ra(ia(n,t.id,e),t,e,!0),n.wrapper.measure(new ps(void 0,void 0)),n.wrapper.arrange(n.wrapper.desiredSize),e.updateSelector(),aa(n,e)}function oa(t,e){for(var i=e.nameTable[t.parentId].wrapper.children[0].children,r=0;r<i.length;r++)if(i[parseInt(r.toString(),10)].id===t.wrapper.id&&(i[parseInt(r.toString(),10)].offsetX===t.wrapper.offsetX||i[parseInt(r.toString(),10)].offsetY===t.wrapper.offsetY)){i[parseInt(r.toString(),10)]=t.wrapper;break}}function aa(t,e){var i=t.shape.children;if(i)for(var r=0,n=i;r<n.length;r++){var o=n[r],a=e.nameTable[""+o];a&&(e.updateConnectorEdges(a),a.wrapper.measure(new ps(a.wrapper.width,a.wrapper.height)),a.wrapper.arrange(a.wrapper.desiredSize),a.shape.children&&a.shape.children.length&&aa(a,e))}}function sa(t,e){var i=e.nameTable[t.parentId];if("Container"===t.shape.type){if(t.shape.children&&t.shape.children.length>0)for(var r=(n=t.shape.children).length-1;r>=0;r--)e.remove(e.nameTable[n[parseInt(r.toString(),10)]]);t.shape.hasHeader&&e.remove(e.nameTable[t.id+t.shape.header.id])}if(i){e.removeDependentConnector(t);var n=i.shape.children;if(ha(i.wrapper,t.id,e,!0),n){var o=n.indexOf(t.id);n.splice(o,1)}}}function ha(t,e,i,r){for(var n=0,o=t.children;n<o.length;n++){var a=o[n];if(a.id===e){if(t.children.splice(t.children.indexOf(a),1),!r){var s=document.getElementById(a.id+"_groupElement"),h=document.getElementById(i.element.id+"_diagramLayer");s.parentElement.removeChild(s),h.appendChild(s)}}else a.children&&ha(a,e,i,r)}}function da(e,i,r){var n=e.id,o=r.nameTable[""+n],a=k(o);o||(r.add(e),o=r.nameTable[""+n]),e.parentId=i;var s=r.nameTable[""+i],h=s.shape;if(h.children||(h.children=[]),o&&s){o.parentId=i,(o.margin.top<=0||s.shape.hasHeader&&o.margin.top<s.shape.header.height)&&(o.margin.top=10,s.shape.hasHeader&&(o.margin.top+=s.shape.header.height)),o.margin.left<=0&&(o.margin.left=10);var d=s.offsetX-s.width*s.pivot.x+(o.margin.left+o.width*o.pivot.x),l=s.offsetY-s.height*s.pivot.y+(o.margin.top+o.height*o.pivot.y);o.offsetX===d&&o.offsetY===l||(o.offsetX=d,o.offsetY=l);var c=h.children;if(c.indexOf(n)<0&&c.push(n),s.wrapper.children.push(o.wrapper),s.wrapper.measure(new ps),s.wrapper.arrange(s.wrapper.desiredSize),r.refreshDiagramLayer(),!(r.diagramActions&t.DiagramAction.UndoRedo||r.historyManager.currentEntry&&"CollectionChanged"===r.historyManager.currentEntry.type)){var p={type:"PositionChanged",undoObject:{nodes:[a]},redoObject:{nodes:[k(o)]},category:"Internal"};r.addHistoryEntry(p)}"SVG"===r.mode&&Aa(i+"_groupElement").appendChild(Aa(e.id+"_groupElement"))}}function la(t,e){var i=t.id,r=e.nameTable[t.parentId];if(r){var n=r.shape.children;ha(r.wrapper,i,e,!0);var o=n.indexOf(i);n.splice(o,1),t.parentId="",e.refreshDiagramLayer(),e.updateSelector()}}function ca(t,e){var i;for(i=e&&document.getElementById(e).classList.contains(t)?document.getElementById(e).getElementsByClassName(t):document.getElementsByClassName(t);i.length>0;)i[0].parentNode.removeChild(i[0])}function pa(t){var e,i,r=[];window.measureElement.style.visibility="visible";var n=ga(window.measureElement.children[2])[0];n.setAttributeNS(null,"d",t.data);var o=Da(t,t.absoluteBounds);n.setAttributeNS(null,"d",o);var a=n.getTotalLength(),s=Tp.prototype.getPathData(o);if(0===s.length){for(i=0;i<=a;i+=10)e=n.getPointAtLength(i),r.push({x:e.x,y:e.y});Tp.prototype.setPathData(o,r)}else r=s;return window.measureElement.style.visibility="hidden",r}function ga(t){var i,r=[];if("msie"===e.Browser.info.name||"edge"===e.Browser.info.name)for(var n=0;n<t.childNodes.length;n++)1===(i=t.childNodes[parseInt(n.toString(),10)]).nodeType&&r.push(i);else r=t.children;return r}function ua(e,i){for(var r=[],n=e.offsetX-e.actualSize.width*e.pivot.x,o=e.offsetY-e.actualSize.height*e.pivot.y,a=0,s=i;a<s.length;a++){var h=s[a],d=void 0,l=n+h.x,c=o+h.y,p=n+e.actualSize.width-h.x,g=o+e.actualSize.height-h.y;switch(e.flip){case t.FlipDirection.Both:d={x:p,y:g};break;case t.FlipDirection.Horizontal:d={x:p,y:c};break;case t.FlipDirection.Vertical:d={x:l,y:g};break;default:d={x:l,y:c}}var u=void 0,f=e.rotateAngle+e.parentTransform;f&&S(u=y(),f,e.offsetX,e.offsetY),u&&(d=v(u,d)),r.push(d)}return r}function fa(){Gl={}}function ma(t){if(t){if(Gl[""+t])return Gl[""+t];window.measureElement.style.visibility="visible";var e=ga(window.measureElement.children[2])[0];e.setAttribute("d",t);var i=e.getBBox(),r=new ms(i.x,i.y,i.width,i.height);return window.measureElement.style.visibility="hidden",Gl[""+t]=r,r}return new ms(0,0,0,0)}function ya(t,e){var i={fill:t.style.fill,stroke:t.style.strokeColor,angle:t.rotateAngle+t.parentTransform,pivotX:t.pivot.x,pivotY:t.pivot.y,strokeWidth:t.style.strokeWidth,dashArray:t.style.strokeDashArray,opacity:t.style.opacity,shadow:t.shadow,gradient:t.style.gradient,visible:t.visible,id:t.id,description:t.description,width:e||t.actualSize.width,height:t.actualSize.height,x:t.offsetX-t.actualSize.width*t.pivot.x+.5,y:t.offsetY-t.actualSize.height*t.pivot.y+.5};return i.fontSize=t.style.fontSize,i.fontFamily=t.style.fontFamily,i.textOverflow=t.style.textOverflow,i.textDecoration=t.style.textDecoration,i.doWrap=t.doWrap,i.whiteSpace=V(t.style.whiteSpace,t.style.textWrapping),i.content=t.content,i.textWrapping=t.style.textWrapping,i.breakWord=W(t.style.textWrapping),i.textAlign=H(t.style.textAlign),i.color=t.style.color,i.italic=t.style.italic,i.bold=t.style.bold,i.dashArray="",i.strokeWidth=0,i.fill="",i}function va(t,e,i){var r,n,o=[],a=0,s=e||t.content;if("nowrap"!==t.whiteSpace&&"pre"!==t.whiteSpace)if("breakall"===t.breakWord)for(r="",r+=s[0],a=0;a<s.length;a++)if((n=_(r,t))>=t.width&&r.length>0)o[o.length]={text:r,x:0,dy:0,width:n},r="";else{(r+=s[a+1]||"").indexOf("\n")>-1&&(o[o.length]={text:r,x:0,dy:0,width:_(r,t)},r="");var h=_(r,t);Math.ceil(h)+2>=t.width&&r.length>0&&(o[o.length]={text:r,x:0,dy:0,width:h},r=""),a===s.length-1&&r.length>0&&(o[o.length]={text:r,x:0,dy:0,width:h},r="")}else o=ba(t,e,i);else o[o.length]={text:s,x:0,dy:0,width:_(s,t)};return o}function ba(t,e,i){var r,n,o,a,s=[],h="",d=0,l=0,c="nowrap"!==t.whiteSpace,p=(e||t.content).split("\n");for(d=0;d<p.length;d++)for(r="NoWrap"!==t.textWrapping?p[parseInt(d.toString(),10)].split(" "):[p[parseInt(d.toString(),10)]],l=0;l<r.length;l++){h+=((0!==l||1===r.length)&&c&&h.length>0?" ":"")+r[parseInt(l.toString(),10)];var g=_(n=r[l+1]?h+" "+r[l+1]:h,t);Math.floor(g)>(i||t.width)-2&&h.length>0?(s[s.length]={text:h,x:0,dy:0,width:n===h?g:h===a?o:_(h,t)},h=""):l===r.length-1&&(s[s.length]={text:h,x:0,dy:0,width:g},h=""),a=n,o=g}return s}function Sa(t,e){var i,r,n={x:0,width:0},o=0;for(o=0;o<e.length;o++)r=i=e[parseInt(o.toString(),10)].width,i="left"===t.textAlign||"justify"===t.textAlign?0:"center"===t.textAlign?i>t.width&&("Ellipsis"===t.textOverflow||"Clip"===t.textOverflow)?0:-i/2:"right"===t.textAlign?-i:e.length>1?0:-i/2,e[parseInt(o.toString(),10)].dy=1.2*t.fontSize,e[parseInt(o.toString(),10)].x=i,n.x=Math.min(n.x,i),n.width=Math.max(n.width,r);return n}function wa(t,e,i,r,n){var o=new ps,a=Va("span",{style:"position:absolute; display:inline-block; line-height:normal; left:0px; top:0px"});return t.bold&&(a.style.fontWeight="bold"),t.italic&&(a.style.fontStyle="italic"),void 0!==i&&(a.style.width=i.toString()+"px"),void 0!==r&&(a.style.height=r.toString()+"px"),void 0!==n&&(a.style.maxWidth=n.toString()+"px"),a.style.fontFamily=t.fontFamily,a.style.fontSize=t.fontSize+"px",a.style.color=t.color,a.textContent=e,a.style.whiteSpace=V(t.whiteSpace,t.textWrapping),a.style.wordBreak=void 0!==n?"break-word":W(t.textWrapping),document.body.appendChild(a),o.width=a.offsetWidth,o.height=a.offsetHeight,document.body.removeChild(a),o}function xa(t,e,i,r,n){var o,a,s=new ps(0,0),h=ya(t,r);return t.childNodes=o=va(h,n,t.isLaneOrientation?r:void 0),t.wrapBounds=a=Sa(h,o),s.width=a.width,t.wrapBounds.width>=r&&"Wrap"!==h.textOverflow&&(s.width=r),s.height=o.length*t.style.fontSize*1.2,s}function Ia(t,e,i,r){window.measureElement.style.visibility="visible";var n=window.measureElement.children[1];n.setAttribute("src",t);var o=n.getBoundingClientRect(),a=o.width,s=o.height;e=new ps(a,s),window.measureElement.style.visibility="hidden";var h=document.createElement("img");return h.setAttribute("src",t),ts(h,{id:i+"sf-imageNode"}),h.style.display="none",document.body.appendChild(h),h.onload=function(t){var e=t.currentTarget;r&&r(i,{width:e.width,height:e.height})},e}function Ca(t){var e=window.measureElement.children[2];e.appendChild(t);var i=t.getBoundingClientRect(),r=e.getBoundingClientRect(),n=i;return n.x=i.left-r.left,n.y=i.top-r.top,e.removeChild(t),n}function Pa(t){window.measureElement.style.visibility="visible";var e=window.measureElement.children[2];e.appendChild(t);var i=e.getBoundingClientRect();return e.removeChild(t),window.measureElement.style.visibility="hidden",i}function Da(t,e,i,r){var n=0,a=0,s=!1,h="",d=[],l=e;return 0===l.x&&0===l.y||(n=0-Number(l.x),a=0-Number(l.y)),(t.actualSize.width!==l.width||t.actualSize.height!==l.height||r)&&(n=(r&&r.width||t.actualSize.width)/Number(l.width?l.width:1),a=(r&&r.height||t.actualSize.height)/Number(l.height?l.height:1),s=!0),d=o(t.data),d=u(d),h=c(d,n,a,s,l.x,l.y,0,0),s=!1,h}function Ta(t){return Aa(t).getElementsByClassName("e-diagram-layer")[0]}function Aa(t,i){var r;return i&&(r=document.getElementById(i)),"msie"===e.Browser.info.name||"edge"===e.Browser.info.name?r?r.querySelector("#"+t):document.getElementById(t):r?r.querySelector("#"+CSS.escape(t)):document.getElementById(t)}function Oa(t,e,i){var r,n="";"native"===i?(r=Fa(t),n="_content_groupElement"):"html"===i?(r=Ya(t).childNodes[0],n="_html_element"):(r=ka(t),n="_groupElement");var o=e+n,a=document.getElementById(o);if(a&&r.contains(a))return Array.prototype.indexOf.call(r.childNodes,a)}function Ma(t){return Aa(t).getElementsByClassName("e-adorner-layer")[0]}function Ea(t){return Ma(t).getElementById(t+"_SelectorElement")}function La(t){return Ma(t).getElementById(t+"_diagramAdorner")}function za(t){return Aa(t).getElementsByClassName("e-userHandle-layer")[0]}function ka(t){return Ta(t).getElementById(t+"_diagramLayer")}function Ba(t){return Aa(t).getElementsByClassName("e-ports-expand-layer")[0]}function Na(t){return Aa(t).getElementsByClassName("e-native-layer")[0]}function Ra(t){return Aa(t).getElementsByClassName("e-grid-layer")[0]}function ja(t){return Aa(t).getElementsByClassName("e-background-layer")[0].parentNode}function Ha(t){return Aa(t).getElementsByClassName("e-background-image-layer")[0]}function Wa(t){return Aa(t).getElementsByClassName("e-background-layer")[0]}function _a(t){var e=null;return window.domTable[t+"_gridline"]?e=window.domTable[t+"_gridline"]:(e=Ra(t).getElementById(t+"_gridline"),window.domTable[t+"_gridline"]=e),e}function Fa(t){return Na(t).getElementById(t+"_nativeLayer")}function Ya(t){var e=null;return window.domTable[t+"html_layer"]?e=window.domTable[t+"html_layer"]:(e=Aa(t).getElementsByClassName("e-html-layer")[0],window.domTable[t+"html_layer"]=e),e}function Va(t,i){var r=e.createElement(t);return ts(r,i),r}function Xa(t,e){var i=document.createElementNS("http://www.w3.org/2000/svg",t);return Ja(i,e),i}function Ua(t,e,i){for(var r=t;r&&(i?r.id!==e:!Ga(r,e));)r=r.parentNode;return r}function Ga(t,e){return(" "+("object"==typeof t.className?t.className.animVal:t.className)+" ").indexOf(" "+e+" ")>-1}function Za(){var t=Va("div",{style:"visibility:hidden; width: 100px"});document.body.appendChild(t);var e=t.getBoundingClientRect().width;t.style.overflow="scroll";var i=Va("div",{style:"width:100%"});t.appendChild(i);var r=i.getBoundingClientRect().width;return t.parentNode.removeChild(t),e-r}function qa(t,e,i){t=[];for(var r=0,n=i.length;r<n;r++)t.push({pageX:i[parseInt(r.toString(),10)].clientX,pageY:i[parseInt(r.toString(),10)].clientY,pointerId:null});return t}function Ka(t,e){var i=Aa(t,e);i&&i.parentNode.removeChild(i)}function Qa(t,i,r){var n;n=i?Va("div",{style:"height: 100%; width: 100%"}):document.createElementNS("http://www.w3.org/2000/svg","g");var o,a=document.getElementById(t.diagramId).ej2_instances[0];a.initNodeTemplate&&a instanceof Tp||(o=So(t));var s,h={};!o&&a.initNodeTemplate?(h=h=a.tempTable&&a.tempTable[t.nodeId]||h,s="nodeTemplate"):o instanceof Hl?(h=o,s="nodeTemplate"):(h=o,s="annotationTemplate");var d;if("string"!=typeof t.content&&"function"!=typeof t.content||t.isTemplate)if(t.isTemplate){p=void 0;if(p=a.isReact?t.getNodeTemplate()(k(r),a,s+"_"+("nodeTemplate"===s?r.id:t.nodeId+r.id),void 0,void 0,!1,n):a.isVue||a.isVue3?t.getNodeTemplate()?t.getNodeTemplate()(k(r),a,s+"_"+("nodeTemplate"===s?r.id:t.nodeId+r.id),void 0,void 0,!1,n):(p="nodeTemplate"===s?e.compile(a.nodeTemplate):e.compile(a.annotationTemplate))(k(r),a,s+"_"+("nodeTemplate"===s?r.id:t.nodeId+r.id),void 0,void 0,!1,n):t.getNodeTemplate()(k(r),a,s+"_"+("nodeTemplate"===s?r.id:t.nodeId+r.id),void 0,void 0,!1))for(var l=0;l<p.length;l++)n.appendChild(p[parseInt(l.toString(),10)])}else t.content&&t.content.outerHTML&&n.appendChild(t.content);else{var c=document.getElementById(t.content);if(c)n.appendChild(c);else for(var p=void 0,g=0,u=(p=e.compile(t.content))(h,a,s,"");g<u.length;g++)d=u[g],n.appendChild(d)}return t.isTemplate?n:n.cloneNode(!0)}function Ja(t,e){for(var i=Object.keys(e),r=0;r<i.length;r++)t&&"style"!==i[parseInt(r.toString(),10)]?t.setAttribute(i[parseInt(r.toString(),10)],e[i[parseInt(r.toString(),10)]]):$a(t,e[i[parseInt(r.toString(),10)]])}function $a(t,e){for(var i=e.split(";"),r=0;r<i.length;r++){var n=i[parseInt(r.toString(),10)].split(":");2===n.length&&(t.style[n[0].trim()]=n[1].trim())}}function ts(t,e){for(var i=Object.keys(e),r=0;r<i.length;r++)"style"!==i[parseInt(r.toString(),10)]?t.setAttribute(i[parseInt(r.toString(),10)],e[i[parseInt(r.toString(),10)]]):$a(t,e[i[parseInt(r.toString(),10)]])}function es(){if(window.measureElement)window.measureElement.usageCount+=1;else{var t=Va("div",{id:"measureElement",style:"visibility:hidden ; height: 0px ; width: 0px; overflow: hidden;"}),e=Va("span",{style:"display:inline-block ; line-height: normal"});t.appendChild(e);var i=Va("img",{alt:"measureElementImage",src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"});t.appendChild(i);var r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),t.appendChild(r);var n=document.createElementNS("http://www.w3.org/2000/svg","path");n.setAttribute("d",""),r.appendChild(n);document.createTextNode("");var o=document.createElementNS("http://www.w3.org/2000/svg","text");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),r.appendChild(o),window.measureElement=t,window.measureElement.usageCount=1,document.body.appendChild(t);window.measureElementCount?window.measureElementCount++:window.measureElementCount=1}}function is(t,e,i,r){return!(e.length>=1&&0===t.x)||"Clip"!==r.textOverflow&&"Ellipsis"!==r.textOverflow||"Wrap"!==r.textWrapping&&"WrapWithOverflow"!==r.textWrapping?t.x:(t.x=e[i-1]?e[i-1].x:-t.width/2,t.x)}function rs(t,e,i,r){return i&&!e.template||e.template&&"function"==typeof e.template&&r.isReact?(t.isTemplate=!0,t.template=t.content=Qa(t,!0,e)):t.content=e.template,t}function ns(t,e,i,r){var n,o,a,s,h,d=document.getElementById(r).ej2_instances[0];if(t&&e){n=E(t);for(var l=0,c=i.userHandles;l<c.length;l++)if(o=c[l],n){for(a=n(k(o),d,"userHandleTemplate_"+o.name,void 0,void 0,!1),s=0;s<a.length;s++)(h=Va("div",{style:"height: 100%; width: 100%; pointer-events: all",id:o.name+"_template_hiddenUserHandle"})).appendChild(a[s]);e[0].appendChild(h)}}}function os(t){return Bp[t.toString()]}function as(t){return Np[t.toString()]}function ss(t){return Rp[t.toString()]}function hs(t){return jp[t.toString()]}function ds(t){return Hp[t.toString()]}function ls(t){var e=t.offsetX-t.actualSize.width*t.pivot.x,i=t.offsetY-t.actualSize.height*t.pivot.y;return new ms(e,i,t.actualSize.width,t.actualSize.height)}function cs(t,e){for(var i=0;i<e.length;i++)if(e[parseInt(i.toString(),10)].id===t)return!0;return!1}var ps=function(){function t(t,e){this.width=t,this.height=e}return t.prototype.isEmpty=function(){return 0===this.height&&0===this.width},t.prototype.clone=function(){return new t(this.width,this.height)},t}(),gs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),us=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},fs=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gs(i,t),i.equals=function(t,e){return t===e||!(!t||!e)&&(!t||!e||t.x===e.x&&t.y===e.y)},i.isEmptyPoint=function(t){return!t.x||!t.y},i.transform=function(t,e,i){var r={x:0,y:0};return r.x=Math.round(100*(t.x+i*Math.cos(e*Math.PI/180)))/100,r.y=Math.round(100*(t.y+i*Math.sin(e*Math.PI/180)))/100,r},i.findLength=function(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))},i.findAngle=function(t,e){var i=Math.atan2(e.y-t.y,e.x-t.x);return i=180*i/Math.PI,(i%=360)<0&&(i+=360),i},i.distancePoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},i.getLengthFromListOfPoints=function(t){for(var e=0,i=0;i<t.length-1;i++)e+=this.distancePoints(t[parseInt(i.toString(),10)],t[i+1]);return e},i.adjustPoint=function(t,e,i,r){var n,o=i?{x:t.x,y:t.y}:{x:e.x,y:e.y};return t.x===e.x?t.y<e.y&&i||t.y>e.y&&!i?o.y+=r:o.y-=r:t.y===e.y?t.x<e.x&&i||t.x>e.x&&!i?o.x+=r:o.x-=r:i?(n=this.findAngle(t,e),o=this.transform(t,n,r)):(n=this.findAngle(e,t),o=this.transform(e,n,r)),o},i.direction=function(t,e){return Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?t.x<e.x?"Right":"Left":t.y<e.y?"Bottom":"Top"},i.prototype.getClassName=function(){return"Point"},us([e.Property(0)],i.prototype,"x",void 0),us([e.Property(0)],i.prototype,"y",void 0),i}(e.ChildProperty),ms=function(){function t(t,e,i,r){this.x=Number.MAX_VALUE,this.y=Number.MAX_VALUE,this.width=0,this.height=0,void 0===t||void 0===e?(t=e=Number.MAX_VALUE,i=r=0):(void 0===i&&(i=0),void 0===r&&(r=0)),this.x=t,this.y=e,this.width=i,this.height=r}return Object.defineProperty(t.prototype,"left",{get:function(){return this.x},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return this.x+this.width},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return this.y},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"topLeft",{get:function(){return{x:this.left,y:this.top}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"topRight",{get:function(){return{x:this.right,y:this.top}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bottomLeft",{get:function(){return{x:this.left,y:this.bottom}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bottomRight",{get:function(){return{x:this.right,y:this.bottom}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"middleLeft",{get:function(){return{x:this.left,y:this.y+this.height/2}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"middleRight",{get:function(){return{x:this.right,y:this.y+this.height/2}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"topCenter",{get:function(){return{x:this.x+this.width/2,y:this.top}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"bottomCenter",{get:function(){return{x:this.x+this.width/2,y:this.bottom}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"center",{get:function(){return{x:this.x+this.width/2,y:this.y+this.height/2}},enumerable:!0,configurable:!0}),t.prototype.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height},t.prototype.uniteRect=function(t){var e=Math.max(isNaN(this.right)||this.x===Number.MAX_VALUE?t.right:this.right,t.right),i=Math.max(isNaN(this.bottom)||this.y===Number.MAX_VALUE?t.bottom:this.bottom,t.bottom);return this.x=Math.min(this.left,t.left),this.y=Math.min(this.top,t.top),this.width=e-this.x,this.height=i-this.y,this},t.prototype.unitePoint=function(t){if(this.x===Number.MAX_VALUE)return this.x=t.x,void(this.y=t.y);var e=Math.min(this.left,t.x),i=Math.min(this.top,t.y),r=Math.max(this.right,t.x),n=Math.max(this.bottom,t.y);this.x=e,this.y=i,this.width=r-this.x,this.height=n-this.y},t.prototype.Inflate=function(t){return this.x-=t,this.y-=t,this.width+=2*t,this.height+=2*t,this},t.prototype.intersects=function(t){return!(this.right<t.left||this.left>t.right||this.top>t.bottom||this.bottom<t.top)},t.prototype.containsRect=function(t){return this.left<=t.left&&this.right>=t.right&&this.top<=t.top&&this.bottom>=t.bottom},t.prototype.containsPoint=function(t,e){return void 0===e&&(e=0),this.left-e<=t.x&&this.right+e>=t.x&&this.top-e<=t.y&&this.bottom+e>=t.y},t.toBounds=function(e){for(var i=new t,r=0,n=e;r<n.length;r++){var o=n[r];i.unitePoint(o)}return i},t.empty=new t(Number.MAX_VALUE,Number.MIN_VALUE,0,0),t}();!function(t){t[t.Identity=0]="Identity",t[t.Translation=1]="Translation",t[t.Scaling=2]="Scaling",t[t.Unknown=4]="Unknown"}(t.MatrixTypes||(t.MatrixTypes={}));var ys=function(){function t(t,e,i,r,n,o,a){this.m11=t,this.m12=e,this.m21=i,this.m22=r,this.offsetX=n,this.offsetY=o,this.type=a}return t}(),vs=document.createElement("canvas").getContext("2d"),bs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ss=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},ws=function(t){if(t)switch(t.type){case"Linear":return As;case"Radial":return Os;default:return As}return As},xs=function(){function t(t,e,i,r){this.left=t,this.right=e,this.top=i,this.bottom=r}return t}(),Is=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property(0)],i.prototype,"left",void 0),Ss([e.Property(0)],i.prototype,"right",void 0),Ss([e.Property(0)],i.prototype,"top",void 0),Ss([e.Property(0)],i.prototype,"bottom",void 0),i}(e.ChildProperty),Cs=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property(45)],i.prototype,"angle",void 0),Ss([e.Property(5)],i.prototype,"distance",void 0),Ss([e.Property(.7)],i.prototype,"opacity",void 0),Ss([e.Property("lightgrey")],i.prototype,"color",void 0),i}(e.ChildProperty),Ps=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),i.prototype.getClassName=function(){return"Stop"},Ss([e.Property("")],i.prototype,"color",void 0),Ss([e.Property(0)],i.prototype,"offset",void 0),Ss([e.Property(1)],i.prototype,"opacity",void 0),i}(e.ChildProperty),Ds=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Collection([],Ps)],i.prototype,"stops",void 0),Ss([e.Property("None")],i.prototype,"type",void 0),Ss([e.Property("")],i.prototype,"id",void 0),i}(e.ChildProperty),Ts=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property(0)],i.prototype,"x1",void 0),Ss([e.Property(0)],i.prototype,"x2",void 0),Ss([e.Property(0)],i.prototype,"y1",void 0),Ss([e.Property(0)],i.prototype,"y2",void 0),Ss([e.Property(0)],i.prototype,"cx",void 0),Ss([e.Property(0)],i.prototype,"cy",void 0),Ss([e.Property(0)],i.prototype,"fx",void 0),Ss([e.Property(0)],i.prototype,"fy",void 0),Ss([e.Property(50)],i.prototype,"r",void 0),i}(Ds),As=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property(0)],i.prototype,"x1",void 0),Ss([e.Property(0)],i.prototype,"x2",void 0),Ss([e.Property(0)],i.prototype,"y1",void 0),Ss([e.Property(0)],i.prototype,"y2",void 0),i}(Ds),Os=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property(0)],i.prototype,"cx",void 0),Ss([e.Property(0)],i.prototype,"cy",void 0),Ss([e.Property(0)],i.prototype,"fx",void 0),Ss([e.Property(0)],i.prototype,"fy",void 0),Ss([e.Property(50)],i.prototype,"r",void 0),i}(Ds),Ms=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property("white")],i.prototype,"fill",void 0),Ss([e.Property("black")],i.prototype,"strokeColor",void 0),Ss([e.Property("")],i.prototype,"strokeDashArray",void 0),Ss([e.Property(1)],i.prototype,"strokeWidth",void 0),Ss([e.Property(1)],i.prototype,"opacity",void 0),Ss([e.ComplexFactory(ws)],i.prototype,"gradient",void 0),i}(e.ChildProperty),Es=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property("transparent")],i.prototype,"fill",void 0),i}(Ms),Ls=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property("black")],i.prototype,"color",void 0),Ss([e.Property("Arial")],i.prototype,"fontFamily",void 0),Ss([e.Property(12)],i.prototype,"fontSize",void 0),Ss([e.Property(!1)],i.prototype,"italic",void 0),Ss([e.Property(!1)],i.prototype,"bold",void 0),Ss([e.Property("CollapseSpace")],i.prototype,"whiteSpace",void 0),Ss([e.Property("WrapWithOverflow")],i.prototype,"textWrapping",void 0),Ss([e.Property("Center")],i.prototype,"textAlign",void 0),Ss([e.Property("None")],i.prototype,"textDecoration",void 0),Ss([e.Property("Wrap")],i.prototype,"textOverflow",void 0),Ss([e.Property("transparent")],i.prototype,"fill",void 0),i}(Ms),zs=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return bs(i,t),Ss([e.Property("white")],i.prototype,"fill",void 0),Ss([e.Property("Wrap")],i.prototype,"textOverflow",void 0),Ss([e.Property(1)],i.prototype,"strokeWidth",void 0),Ss([e.ComplexFactory(ws)],i.prototype,"gradient",void 0),Ss([e.Property(1)],i.prototype,"opacity",void 0),Ss([e.Property(!1)],i.prototype,"italic",void 0),Ss([e.Property("")],i.prototype,"strokeDashArray",void 0),Ss([e.Property("black")],i.prototype,"color",void 0),Ss([e.Property(12)],i.prototype,"fontSize",void 0),Ss([e.Property("Arial")],i.prototype,"fontFamily",void 0),Ss([e.Property("CollapseSpace")],i.prototype,"whiteSpace",void 0),Ss([e.Property("Center")],i.prototype,"textAlign",void 0),Ss([e.Property("None")],i.prototype,"textDecoration",void 0),Ss([e.Property(!1)],i.prototype,"bold",void 0),Ss([e.Property("black")],i.prototype,"strokeColor",void 0),Ss([e.Property("WrapWithOverflow")],i.prototype,"textWrapping",void 0),i}(e.ChildProperty);!function(t){t[t.Default=0]="Default",t[t.expandNode=2]="expandNode",t[t.interaction=4]="interaction",t[t.GroupingInProgress=8]="GroupingInProgress",t[t.GroupClipboardInProcess=16]="GroupClipboardInProcess",t[t.ClearObject=32]="ClearObject"}(t.BlazorAction||(t.BlazorAction={})),function(t){t[t.Horizontal=1]="Horizontal",t[t.Vertical=2]="Vertical",t[t.Both=3]="Both",t[t.None=0]="None"}(t.FlipDirection||(t.FlipDirection={})),function(t){t[t.Visible=1]="Visible",t[t.Hidden=2]="Hidden",t[t.Hover=4]="Hover",t[t.Connect=8]="Connect"}(t.PortVisibility||(t.PortVisibility={})),function(t){t[t.None=0]="None",t[t.ShowHorizontalLines=1]="ShowHorizontalLines",t[t.ShowVerticalLines=2]="ShowVerticalLines",t[t.ShowLines=3]="ShowLines",t[t.SnapToHorizontalLines=4]="SnapToHorizontalLines",t[t.SnapToVerticalLines=8]="SnapToVerticalLines",t[t.SnapToLines=12]="SnapToLines",t[t.SnapToObject=16]="SnapToObject",t[t.All=31]="All"}(t.SnapConstraints||(t.SnapConstraints={})),function(t){t[t.None=1]="None",t[t.ConnectorSourceThumb=2]="ConnectorSourceThumb",t[t.ConnectorTargetThumb=4]="ConnectorTargetThumb",t[t.ResizeSouthEast=8]="ResizeSouthEast",t[t.ResizeSouthWest=16]="ResizeSouthWest",t[t.ResizeNorthEast=32]="ResizeNorthEast",t[t.ResizeNorthWest=64]="ResizeNorthWest",t[t.ResizeEast=128]="ResizeEast",t[t.ResizeWest=256]="ResizeWest",t[t.ResizeSouth=512]="ResizeSouth",t[t.ResizeNorth=1024]="ResizeNorth",t[t.Rotate=2048]="Rotate",t[t.UserHandle=4096]="UserHandle",t[t.ToolTip=8192]="ToolTip",t[t.ResizeAll=2046]="ResizeAll",t[t.All=16382]="All"}(t.SelectorConstraints||(t.SelectorConstraints={})),function(t){t.SamePoint="SamePoint",t.DifferentPoint="DifferentPoint"}(t.ConnectionPointOrigin||(t.ConnectionPointOrigin={})),function(t){t.Linear="Linear",t.Nonlinear="Nonlinear"}(t.ChildArrangement||(t.ChildArrangement={})),function(t){t[t.None=1]="None",t[t.Select=2]="Select",t[t.Delete=4]="Delete",t[t.Drag=8]="Drag",t[t.DragSourceEnd=16]="DragSourceEnd",t[t.DragTargetEnd=32]="DragTargetEnd",t[t.DragSegmentThumb=64]="DragSegmentThumb",t[t.AllowDrop=128]="AllowDrop",t[t.Bridging=256]="Bridging",t[t.BridgeObstacle=512]="BridgeObstacle",t[t.InheritBridging=1024]="InheritBridging",t[t.PointerEvents=2048]="PointerEvents",t[t.Tooltip=4096]="Tooltip",t[t.InheritTooltip=8192]="InheritTooltip",t[t.Interaction=4218]="Interaction",t[t.ReadOnly=16384]="ReadOnly",t[t.LineRouting=32768]="LineRouting",t[t.InheritLineRouting=65536]="InheritLineRouting",t[t.ConnectToNearByNode=131072]="ConnectToNearByNode",t[t.ConnectToNearByPort=262144]="ConnectToNearByPort",t[t.ConnectToNearByElement=393216]="ConnectToNearByElement",t[t.InheritSegmentThumbShape=524288]="InheritSegmentThumbShape",t[t.InheritSegmentThumbSize=1048576]="InheritSegmentThumbSize",t[t.Default=2043454]="Default"}(t.ConnectorConstraints||(t.ConnectorConstraints={})),function(t){t[t.ReadOnly=2]="ReadOnly",t[t.InheritReadOnly=4]="InheritReadOnly",t[t.Select=8]="Select",t[t.Drag=16]="Drag",t[t.Resize=32]="Resize",t[t.Rotate=64]="Rotate",t[t.Tooltip=128]="Tooltip",t[t.Interaction=120]="Interaction",t[t.None=0]="None"}(t.AnnotationConstraints||(t.AnnotationConstraints={})),function(t){t[t.None=0]="None",t[t.Select=2]="Select",t[t.Drag=4]="Drag",t[t.Rotate=8]="Rotate",t[t.Shadow=16]="Shadow",t[t.PointerEvents=32]="PointerEvents",t[t.Delete=64]="Delete",t[t.InConnect=128]="InConnect",t[t.OutConnect=256]="OutConnect",t[t.Individual=512]="Individual",t[t.Expandable=1024]="Expandable",t[t.AllowDrop=2048]="AllowDrop",t[t.Inherit=78]="Inherit",t[t.ResizeNorthEast=4096]="ResizeNorthEast",t[t.ResizeEast=8192]="ResizeEast",t[t.ResizeSouthEast=16384]="ResizeSouthEast",t[t.ResizeSouth=32768]="ResizeSouth",t[t.ResizeSouthWest=65536]="ResizeSouthWest",t[t.ResizeWest=131072]="ResizeWest",t[t.ResizeNorthWest=262144]="ResizeNorthWest",t[t.ResizeNorth=524288]="ResizeNorth",t[t.Resize=1044480]="Resize",t[t.AspectRatio=1048576]="AspectRatio",t[t.Tooltip=2097152]="Tooltip",t[t.InheritTooltip=4194304]="InheritTooltip",t[t.ReadOnly=8388608]="ReadOnly",t[t.HideThumbs=16777216]="HideThumbs",t[t.AllowMovingOutsideLane=33554432]="AllowMovingOutsideLane",t[t.Default=5240814]="Default"}(t.NodeConstraints||(t.NodeConstraints={})),function(t){t[t.None=0]="None",t[t.ElementIsPort=2]="ElementIsPort",t[t.ElementIsGroup=4]="ElementIsGroup",t[t.HorizontalLaneHeader=8]="HorizontalLaneHeader"}(t.ElementAction||(t.ElementAction={})),function(t){t[t.Rotate=2]="Rotate",t[t.ConnectorSource=4]="ConnectorSource",t[t.ConnectorTarget=8]="ConnectorTarget",t[t.ResizeNorthEast=16]="ResizeNorthEast",t[t.ResizeEast=32]="ResizeEast",t[t.ResizeSouthEast=64]="ResizeSouthEast",t[t.ResizeSouth=128]="ResizeSouth",t[t.ResizeSouthWest=256]="ResizeSouthWest",t[t.ResizeWest=512]="ResizeWest",t[t.ResizeNorthWest=1024]="ResizeNorthWest",t[t.ResizeNorth=2048]="ResizeNorth",t[t.Default=4094]="Default"}(t.ThumbsConstraints||(t.ThumbsConstraints={})),function(t){t[t.None=1]="None",t[t.Bridging=2]="Bridging",t[t.UndoRedo=4]="UndoRedo",t[t.Tooltip=8]="Tooltip",t[t.UserInteraction=16]="UserInteraction",t[t.ApiUpdate=32]="ApiUpdate",t[t.PageEditable=48]="PageEditable",t[t.Zoom=64]="Zoom",t[t.PanX=128]="PanX",t[t.PanY=256]="PanY",t[t.Pan=384]="Pan",t[t.ZoomTextEdit=512]="ZoomTextEdit",t[t.Virtualization=1024]="Virtualization",t[t.LineRouting=2048]="LineRouting",t[t.AvoidLineOverlapping=4096]="AvoidLineOverlapping",t[t.RestrictNegativeAxisDragDrop=8192]="RestrictNegativeAxisDragDrop",t[t.AutomaticPortCreation=16384]="AutomaticPortCreation",t[t.Default=500]="Default"}(t.DiagramConstraints||(t.DiagramConstraints={})),function(t){t[t.None=0]="None",t[t.SingleSelect=1]="SingleSelect",t[t.MultipleSelect=2]="MultipleSelect",t[t.ZoomPan=4]="ZoomPan",t[t.DrawOnce=8]="DrawOnce",t[t.ContinuousDraw=16]="ContinuousDraw",t[t.Default=3]="Default"}(t.DiagramTools||(t.DiagramTools={})),function(t){t[t.Self=1]="Self",t[t.Parent=2]="Parent"}(t.Transform||(t.Transform={})),function(t){t[t.Canvas=0]="Canvas",t[t.Svg=1]="Svg"}(t.RenderMode||(t.RenderMode={})),function(t){t[t.None=0]="None",t[t.Control=1]="Control",t[t.Meta=1]="Meta",t[t.Alt=2]="Alt",t[t.Shift=4]="Shift"}(t.KeyModifiers||(t.KeyModifiers={})),function(t){t[t.None=null]="None",t[t.Number0=0]="Number0",t[t.Number1=1]="Number1",t[t.Number2=2]="Number2",t[t.Number3=3]="Number3",t[t.Number4=4]="Number4",t[t.Number5=5]="Number5",t[t.Number6=6]="Number6",t[t.Number7=7]="Number7",t[t.Number8=8]="Number8",t[t.Number9=9]="Number9",t[t.A=65]="A",t[t.B=66]="B",t[t.C=67]="C",t[t.D=68]="D",t[t.E=69]="E",t[t.F=70]="F",t[t.G=71]="G",t[t.H=72]="H",t[t.I=73]="I",t[t.J=74]="J",t[t.K=75]="K",t[t.L=76]="L",t[t.M=77]="M",t[t.N=78]="N",t[t.O=79]="O",t[t.P=80]="P",t[t.Q=81]="Q",t[t.R=82]="R",t[t.S=83]="S",t[t.T=84]="T",t[t.U=85]="U",t[t.V=86]="V",t[t.W=87]="W",t[t.X=88]="X",t[t.Y=89]="Y",t[t.Z=90]="Z",t[t.Left=37]="Left",t[t.Up=38]="Up",t[t.Right=39]="Right",t[t.Down=40]="Down",t[t.Escape=27]="Escape",t[t.Space=32]="Space",t[t.PageUp=33]="PageUp",t[t.PageDown=34]="PageDown",t[t.End=35]="End",t[t.Home=36]="Home",t[t.Delete=46]="Delete",t[t.Tab=9]="Tab",t[t.Enter=13]="Enter",t[t.BackSpace=8]="BackSpace",t[t.F1=112]="F1",t[t.F2=113]="F2",t[t.F3=114]="F3",t[t.F4=115]="F4",t[t.F5=116]="F5",t[t.F6=117]="F6",t[t.F7=118]="F7",t[t.F8=119]="F8",t[t.F9=120]="F9",t[t.F10=121]="F10",t[t.F11=122]="F11",t[t.F12=123]="F12",t[t.Star=56]="Star",t[t.Plus=187]="Plus",t[t.Minus=189]="Minus",t[t.BracketLeft=219]="BracketLeft",t[t.BracketRight=221]="BracketRight"}(t.Keys||(t.Keys={})),function(t){t[t.Render=2]="Render",t[t.PublicMethod=4]="PublicMethod",t[t.ToolAction=8]="ToolAction",t[t.UndoRedo=16]="UndoRedo",t[t.TextEdit=32]="TextEdit",t[t.Group=64]="Group",t[t.Clear=128]="Clear",t[t.PreventClearSelection=256]="PreventClearSelection",t[t.Interactions=512]="Interactions",t[t.PreventHistory=1024]="PreventHistory",t[t.PreventIconsUpdate=2048]="PreventIconsUpdate",t[t.PreventCollectionChangeOnDragOver=4096]="PreventCollectionChangeOnDragOver",t[t.PreventZIndexOnDragging=8192]="PreventZIndexOnDragging",t[t.isGroupDragging=16384]="isGroupDragging",t[t.DragUsingMouse=32768]="DragUsingMouse",t[t.DecoratorPropertyChange=65536]="DecoratorPropertyChange",t[t.PreventLaneContainerUpdate=131072]="PreventLaneContainerUpdate"}(t.DiagramAction||(t.DiagramAction={})),function(t){t[t.None=2]="None",t[t.DrawSelectorBorder=4]="DrawSelectorBorder",t[t.PreventRenderSelector=8]="PreventRenderSelector"}(t.RendererAction||(t.RendererAction={})),function(t){t[t.None=0]="None",t[t.PreventDrag=2]="PreventDrag",t[t.PreventScale=4]="PreventScale",t[t.PreventDataInit=8]="PreventDataInit",t[t.hScrollbarMoved=16]="hScrollbarMoved",t[t.vScrollbarMoved=32]="vScrollbarMoved",t[t.AnimationClick=64]="AnimationClick",t[t.EnableGroupAction=128]="EnableGroupAction",t[t.PanInProgress=256]="PanInProgress",t[t.OverViewAction=512]="OverViewAction"}(t.RealAction||(t.RealAction={})),function(t){t[t.None=0]="None",t[t.PropertyChange=1024]="PropertyChange",t[t.Interaction=2048]="Interaction"}(t.ScrollActions||(t.ScrollActions={})),function(t){t[t.Zero=0]="Zero",t[t.One=1]="One",t[t.Two=2]="Two",t[t.Three=3]="Three",t[t.Four=4]="Four",t[t.Five=5]="Five"}(t.NoOfSegments||(t.NoOfSegments={})),function(t){t[t.collectionChange=0]="collectionChange",t[t.rotateChange=1]="rotateChange",t[t.positionChange=2]="positionChange",t[t.propertyChange=3]="propertyChange",t[t.selectionChange=4]="selectionChange",t[t.sizeChange=5]="sizeChange",t[t.drop=6]="drop",t[t.sourcePointChange=7]="sourcePointChange",t[t.targetPointChange=8]="targetPointChange",t[t.connectionChange=9]="connectionChange",t[t.animationComplete=10]="animationComplete",t[t.click=11]="click",t[t.doubleClick=12]="doubleClick",t[t.scrollChange=13]="scrollChange",t[t.dragEnter=14]="dragEnter",t[t.dragLeave=15]="dragLeave",t[t.dragOver=16]="dragOver",t[t.textEdit=17]="textEdit",t[t.paletteSelectionChange=18]="paletteSelectionChange",t[t.historyChange=19]="historyChange",t[t.mouseEnter=20]="mouseEnter",t[t.mouseLeave=21]="mouseLeave",t[t.mouseOver=22]="mouseOver",t[t.expandStateChange=23]="expandStateChange",t[t.segmentCollectionChange=24]="segmentCollectionChange",t[t.commandExecute=25]="commandExecute",t[t.historyStateChange=26]="historyStateChange",t[t.onUserHandleMouseDown=27]="onUserHandleMouseDown",t[t.onUserHandleMouseUp=28]="onUserHandleMouseUp",t[t.onUserHandleMouseEnter=29]="onUserHandleMouseEnter",t[t.onUserHandleMouseLeave=30]="onUserHandleMouseLeave",t[t.onImageLoad=31]="onImageLoad",t[t.onDoBindingInit=32]="onDoBindingInit",t[t.keyUp=33]="keyUp",t[t.keyDown=34]="keyDown",t[t.fixedUserHandleClick=35]="fixedUserHandleClick",t[t.elementDraw=36]="elementDraw",t[t.mouseWheel=37]="mouseWheel",t[t.segmentChange=38]="segmentChange",t[t.onFixedUserHandleMouseDown=39]="onFixedUserHandleMouseDown",t[t.onFixedUserHandleMouseUp=40]="onFixedUserHandleMouseUp",t[t.onFixedUserHandleMouseEnter=41]="onFixedUserHandleMouseEnter",t[t.onFixedUserHandleMouseLeave=42]="onFixedUserHandleMouseLeave",t[t.loaded=43]="loaded",t[t.layoutUpdated=44]="layoutUpdated",t[t.diagramImporting=45]="diagramImporting",t[t.diagramExporting=46]="diagramExporting"}(t.DiagramEvent||(t.DiagramEvent={})),function(t){t[t.None=1]="None",t[t.Drag=2]="Drag",t[t.Draw=4]="Draw",t[t.InConnect=8]="InConnect",t[t.OutConnect=16]="OutConnect",t[t.ToolTip=32]="ToolTip",t[t.InheritTooltip=64]="InheritTooltip",t[t.Default=24]="Default"}(t.PortConstraints||(t.PortConstraints={}));!function(t){t[t.None=1]="None",t[t.Source=2]="Source",t[t.Target=4]="Target",t[t.Intermediate=8]="Intermediate",t[t.All=14]="All"}(t.ControlPointsVisibility||(t.ControlPointsVisibility={})),function(t){t[t.None=0]="None",t[t.SymmetricAngle=2]="SymmetricAngle",t[t.SymmetricDistance=4]="SymmetricDistance",t[t.Default=6]="Default"}(t.BezierSmoothness||(t.BezierSmoothness={}));var ks=function(){function e(){this.pivot={x:.5,y:.5},this.isDirt=!0,this.isExport=!1,this.exportScaleValue={x:0,y:0},this.exportScaleOffset={x:0,y:0},this.canApplyStyle=!0,this.visible=!0,this.offsetX=0,this.offsetY=0,this.cornerRadius=0,this.minHeight=void 0,this.minWidth=void 0,this.maxWidth=void 0,this.maxHeight=void 0,this.width=void 0,this.height=void 0,this.rotateAngle=0,this.margin={left:0,right:0,top:0,bottom:0},this.connectionDirection="Auto",this.horizontalAlignment="Auto",this.verticalAlignment="Auto",this.flip=t.FlipDirection.None,this.flipMode="All",this.relativeMode="Point",this.transform=t.Transform.Self|t.Transform.Parent,this.style={fill:"white",strokeColor:"black",opacity:1,strokeWidth:1},this.desiredSize=new ps,this.actualSize=new ps,this.parentTransform=0,this.preventContainer=!1,this.isSvgRender=!1,this.bounds=new ms(0,0,0,0),this.shadow=null,this.description="",this.staticSize=!1,this.shapeType="",this.isRectElement=!1,this.isCalculateDesiredSize=!0,this.flipOffset={x:0,y:0},this.elementActions=t.ElementAction.None,this.inversedAlignment=!0,this.position=void 0,this.unitMode=void 0,this.float=!1,this.floatingBounds=void 0}return e.prototype.setOffsetWithRespectToBounds=function(t,e,i){this.unitMode=i,this.position={x:t,y:e}},e.prototype.getAbsolutePosition=function(t){if(void 0!==this.position)return"Absolute"===this.unitMode?this.position:{x:this.position.x*t.width,y:this.position.y*t.height}},Object.defineProperty(e.prototype,"outerBounds",{get:function(){return this.floatingBounds||this.bounds},set:function(t){this.floatingBounds=t},enumerable:!0,configurable:!0}),e.prototype.measure=function(e,i,r){var n=void 0!==this.width?this.width:(e.width||0)-this.margin.left-this.margin.right,o=void 0!==this.height?this.height:(e.height||0)-this.margin.top-this.margin.bottom;return this.id&&0===o&&this.elementActions&t.ElementAction.HorizontalLaneHeader&&(o=this.actualSize.height),this.desiredSize=new ps(n,o),this.isCalculateDesiredSize&&(this.desiredSize=this.validateDesiredSize(this.desiredSize,e)),this.desiredSize},e.prototype.arrange=function(t){return this.actualSize=t,this.updateBounds(),this.actualSize},e.prototype.updateBounds=function(){this.bounds=z(this)},e.prototype.validateDesiredSize=function(t,e){return!this.isRectElement||this.width||this.minWidth||this.maxWidth||(t.width=50),!this.isRectElement||this.height||this.minHeight||this.maxHeight||(t.height=50),(void 0===t||void 0!==this.width&&void 0!==this.height)&&((t=t||new ps).width=void 0===this.width?(e.width||0)-this.margin.left-this.margin.right:this.width,t.height=void 0===this.height?(e.height||0)-this.margin.top-this.margin.bottom:this.height),void 0!==this.minWidth&&(t.width=Math.max(t.width,this.minWidth)),void 0!==this.minHeight&&(t.height=Math.max(t.height,this.minHeight)),void 0!==this.maxWidth&&0!==this.maxWidth&&(t.width=Math.min(t.width,this.maxWidth)),void 0!==this.maxHeight&&0!==this.maxHeight&&(t.height=Math.min(t.height,this.maxHeight)),t},e}(),Bs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ns=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.padding=new xs(0,0,0,0),t.desiredBounds=void 0,t.measureChildren=!0,t.prevRotateAngle=0,t}return Bs(i,e),i.prototype.hasChildren=function(){return void 0!==this.children&&this.children.length>0},i.prototype.measure=function(t,e,r){this.desiredBounds=void 0;var n,o,a=void 0;if(this.hasChildren()){for(var s=0;s<this.children.length;s++){"Stretch"!==(n=this.children[parseInt(s.toString(),10)]).horizontalAlignment||t.width||(t.width=n.bounds.width),"Stretch"!==n.verticalAlignment||t.height||(t.height=n.bounds.height);var h="Stretch"===n.horizontalAlignment||"Stretch"===n.verticalAlignment;(this.measureChildren||h||n instanceof i&&void 0!==n.measureChildren)&&n.measure(t,e,r),o=this.GetChildrenBounds(n),"Stretch"!==n.horizontalAlignment&&"Stretch"!==n.verticalAlignment?void 0===this.desiredBounds?this.desiredBounds=o:this.desiredBounds.uniteRect(o):!this.actualSize||this.actualSize.width||this.actualSize.height||n.preventContainer||"Stretch"!==n.horizontalAlignment||"Stretch"!==n.verticalAlignment||(void 0===this.desiredBounds?this.desiredBounds=n.bounds:this.desiredBounds.uniteRect(n.bounds))}if(void 0!==this.desiredBounds&&0!==this.rotateAngle){var d={x:this.desiredBounds.x+this.desiredBounds.width*this.pivot.x,y:this.desiredBounds.y+this.desiredBounds.height*this.pivot.y},l=U(this.rotateAngle,void 0,void 0,d);this.desiredBounds.x=l.x-this.desiredBounds.width*this.pivot.x,this.desiredBounds.y=l.y-this.desiredBounds.height*this.pivot.y}void 0!==this.desiredBounds&&(this.desiredBounds.width+=this.padding.left+this.padding.right,this.desiredBounds.height+=this.padding.top+this.padding.bottom,this.desiredBounds.x-=this.padding.left,this.desiredBounds.y-=this.padding.top),this.desiredBounds&&(a=new ps(this.desiredBounds.width,this.desiredBounds.height))}return a=this.validateDesiredSize(a,t),this.stretchChildren(a),this.desiredSize=a,a},i.prototype.arrange=function(e){var r,n=this.desiredBounds;if(n){this.offsetX,this.offsetY;if(this.offsetX=n.x+n.width*this.pivot.x,this.offsetY=n.y+n.height*this.pivot.y,this.hasChildren())for(var o=0;o<this.children.length;o++){var a=!1;if("Stretch"===(r=this.children[parseInt(o.toString(),10)]).horizontalAlignment&&(r.offsetX=this.offsetX,r.parentTransform=this.parentTransform+this.rotateAngle,this.flip&&this.elementActions&t.ElementAction.ElementIsGroup&&(r.parentTransform=this.flip===t.FlipDirection.Horizontal||this.flip===t.FlipDirection.Vertical?-r.parentTransform:r.parentTransform),a=!0),"Stretch"===r.verticalAlignment&&(r.offsetY=this.offsetY,r.parentTransform=this.parentTransform+this.rotateAngle,a=!0),(a||this.measureChildren||r instanceof i&&void 0!==r.measureChildren)&&r.arrange(r.desiredSize),0===o){var s=r.outerBounds;this.outerBounds=new ms(s.x,s.y,s.width,s.height)}else this.outerBounds.uniteRect(r.outerBounds)}}return this.actualSize=e,this.updateBounds(),this.prevRotateAngle=this.rotateAngle,e},i.prototype.stretchChildren=function(t){if(this.hasChildren())for(var e=0,r=this.children;e<r.length;e++){var n=r[e];"Stretch"!==n.horizontalAlignment&&void 0!==n.desiredSize.width||(n.desiredSize.width=t.width-n.margin.left-n.margin.right),"Stretch"!==n.verticalAlignment&&void 0!==n.desiredSize.height||(n.desiredSize.height=t.height-n.margin.top-n.margin.bottom),n instanceof i&&n.stretchChildren(n.desiredSize)}},i.prototype.applyPadding=function(t){t.width+=this.padding.left+this.padding.right,t.height+=this.padding.top+this.padding.bottom},i.prototype.findChildOffsetFromCenter=function(t,e){var i=G({x:e.x-t.desiredSize.width/2,y:e.y-t.desiredSize.height/2},t);i=U(t.rotateAngle,e.x,e.y,i),i=U(this.rotateAngle+this.parentTransform,this.offsetX,this.offsetY,i),t.offsetX=i.x,t.offsetY=i.y},i.prototype.GetChildrenBounds=function(t){var e=t.desiredSize.clone(),i=(t.rotateAngle,this.rotateAngle,{x:t.offsetX,y:t.offsetY}),r=i.x-e.width*t.pivot.x,n=i.y-e.height*t.pivot.y,o=r+e.width,a=n+e.height,s={x:r,y:n},h={x:o,y:n},d={x:r,y:a},l={x:o,y:a};return s=U(t.rotateAngle,t.offsetX,t.offsetY,s),h=U(t.rotateAngle,t.offsetX,t.offsetY,h),d=U(t.rotateAngle,t.offsetX,t.offsetY,d),l=U(t.rotateAngle,t.offsetX,t.offsetY,l),0!==this.rotateAngle&&(s=U(-this.rotateAngle,void 0,void 0,s),h=U(-this.rotateAngle,void 0,void 0,h),d=U(-this.rotateAngle,void 0,void 0,d),l=U(-this.rotateAngle,void 0,void 0,l)),ms.toBounds([s,h,d,l])},i}(ks),Rs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),js=function(t){function e(){var e=t.call(this)||this;return e.textContent="",e.canMeasure=!0,e.rotationReference="Parent",e.isLaneOrientation=!1,e.canConsiderBounds=!0,e.annotationVisibility="Visible",e.hyperlink={color:"blue"},e.doWrap=!0,e.textNodes=[],e.style={color:"black",fill:"transparent",strokeColor:"black",strokeWidth:1,fontFamily:"Arial",fontSize:12,whiteSpace:"CollapseSpace",textWrapping:"WrapWithOverflow",textAlign:"Center",italic:!1,bold:!1,textDecoration:"None",strokeDashArray:"",opacity:5,gradient:null,textOverflow:"Wrap"},e.style.fill="transparent",e.style.strokeColor="transparent",e}return Rs(e,t),Object.defineProperty(e.prototype,"content",{get:function(){return this.textContent},set:function(t){this.textContent!==t&&(this.textContent=t,this.isDirt=!0,this.doWrap=!0)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"childNodes",{get:function(){return this.textNodes},set:function(t){this.textNodes=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"wrapBounds",{get:function(){return this.textWrapBounds},set:function(t){this.textWrapBounds=t},enumerable:!0,configurable:!0}),e.prototype.refreshTextElement=function(){this.isDirt=!0},e.prototype.measure=function(t){var e;return e=this.isDirt&&this.canMeasure?xa(this,this.style,this.content,this.isLaneOrientation?t.height:this.width||t.width):this.desiredSize,void 0===this.width||void 0===this.height?this.desiredSize=new ps(e.width,e.height):this.desiredSize=new ps(this.width,this.height),this.desiredSize=this.validateDesiredSize(this.desiredSize,t),this.desiredSize},e.prototype.arrange=function(t){return(t.width!==this.actualSize.width||t.height!==this.actualSize.height||this.isDirt)&&(this.doWrap=!0),this.actualSize=t,this.updateBounds(),this.isDirt=!1,this.actualSize},e}(ks),Hs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ws=function(t){function e(){var e=t.call(this)||this;return e.pathData="",e.transformPath=!0,e.absolutePath="",e.canMeasurePath=!1,e.absoluteBounds=new ms,e}return Hs(e,t),Object.defineProperty(e.prototype,"data",{get:function(){return this.pathData},set:function(t){this.pathData!==t&&(this.pathData=t,this.isDirt=!0)},enumerable:!0,configurable:!0}),e.prototype.getPoints=function(){var t=this;return this.pointTimer||(this.pointTimer=setTimeout(function(){t.points=null,t.pointTimer=null},200)),this.points=this.points||pa(this),ua(this,this.points)},e.prototype.measure=function(t){return this.staticSize&&void 0!==this.width&&void 0!==this.height?this.absoluteBounds=new ms(this.offsetX-this.width*this.pivot.x,this.offsetY-this.height*this.pivot.y,this.width,this.height):(!this.isDirt||!this.transformPath&&void 0!==this.width&&void 0!==this.height||this.absoluteBounds&&0!==this.absoluteBounds.height)&&!this.canMeasurePath||(this.absoluteBounds=ma(this.data?this.data:"")),"Point"!==this.relativeMode&&this.absoluteBounds&&0===this.absoluteBounds.width&&(this.absoluteBounds.width=this.style.strokeWidth),"Point"!==this.relativeMode&&this.absoluteBounds&&0===this.absoluteBounds.height&&(this.absoluteBounds.height=this.style.strokeWidth),void 0===this.width?this.desiredSize=new ps(this.absoluteBounds.width,this.height||this.absoluteBounds.height):void 0===this.height?this.desiredSize=new ps(this.width||this.absoluteBounds.width,this.absoluteBounds.height):this.desiredSize=new ps(this.width,this.height),this.desiredSize=this.validateDesiredSize(this.desiredSize,t),this.canMeasurePath=!1,this.desiredSize},e.prototype.arrange=function(t){return(this.isDirt||this.actualSize.width!==t.width||this.actualSize.height!==t.height)&&(this.isDirt=!0,this.absolutePath=this.updatePath(this.data,this.absoluteBounds,t),this.staticSize||(this.points=null)),this.actualSize=this.desiredSize,this.updateBounds(),this.isDirt=!1,this.actualSize},e.prototype.updatePath=function(t,e,i){var r=!1,n="",a=-e.x,s=-e.y,h=[];return i.width===e.width&&i.height===e.height||(a=i.width/Number(e.width?e.width:1),s=i.height/Number(e.height?e.height:1),r=!0),h=o(t),h=u(h),n=(r||this.isDirt)&&this.transformPath?c(h,a,s,r,e.x,e.y,0,0):f(h),r=!1,n},e}(ks),_s=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Fs=function(t){function e(){var e=t.call(this)||this;return e.imageSource="",e.imageScale="None",e.imageAlign="None",e.stretch="Stretch",e}return _s(e,t),Object.defineProperty(e.prototype,"source",{get:function(){return this.imageSource},set:function(t){this.imageSource=t,this.isDirt=!0},enumerable:!0,configurable:!0}),e.prototype.measure=function(t,e,i){return this.isDirt&&("Stretch"!==this.stretch||void 0===this.width&&void 0===this.height)&&(this.contentSize=Ia(this.source,this.contentSize,e,i),this.isDirt=!1),void 0!==this.width&&void 0!==this.height?(this.desiredSize=new ps(this.width,this.height),this.contentSize=this.desiredSize):this.desiredSize=this.contentSize,this.desiredSize=this.validateDesiredSize(this.desiredSize,t),this.desiredSize},e.prototype.arrange=function(t){return this.actualSize=new ps(this.desiredSize.width,this.desiredSize.height),this.updateBounds(),this.actualSize},e}(ks),Ys=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Vs=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.measureChildren=void 0,t}return Ys(i,e),i.prototype.measure=function(t,i,r){var n=void 0,o=void 0;if(this.hasChildren()){for(var a=0,s=this.children;a<s.length;a++){var h=s[a];h instanceof js?h.canMeasure&&(t.width=t.width||this.maxWidth||this.minWidth,h.measure(t)):h instanceof js||h.measure(t,i,r);var d=h.desiredSize.clone();0!==h.rotateAngle&&(d=X(d,h.rotateAngle));var l=d.width+h.margin.right,c=d.height+h.margin.bottom,p=new ms(h.margin.left,h.margin.top,l,c);h.float&&void 0!==h.getAbsolutePosition(d)||(h instanceof js&&!(h instanceof js&&h.canConsiderBounds)||(void 0===o?o=p:o.uniteRect(p)))}if(o){var g=0,u=0;g=Math.max(o.left,0),u=Math.max(o.top,0),n=new ps(o.width+g,o.height+u)}}return n=e.prototype.validateDesiredSize.call(this,n,t),e.prototype.stretchChildren.call(this,n),n.width+=this.padding.left+this.padding.right,n.height+=this.padding.top+this.padding.bottom,this.desiredSize=n,n},i.prototype.arrange=function(i,r){if(this.outerBounds=new ms,this.hasChildren())for(var n=this.offsetY-i.height*this.pivot.y+this.padding.top,o=this.offsetX-i.width*this.pivot.x+this.padding.left,a=0,s=this.children;a<s.length;a++){var h=s[a];if(0!=(h.transform&t.Transform.Parent)){h.parentTransform=this.parentTransform+this.rotateAngle,(this.flip!==t.FlipDirection.None||this.elementActions&t.ElementAction.ElementIsGroup)&&(this.flip!==t.FlipDirection.Horizontal&&this.flip!==t.FlipDirection.Vertical||h.elementActions&t.ElementAction.ElementIsPort||this.setParentTransform(h));var d=h.desiredSize.clone(),l=void 0,c={x:0,y:0},p=o,g=n;if("Point"===h.relativeMode){var u=h.getAbsolutePosition(i);void 0!==u&&(p+=u.x,g+=u.y)}"Object"===h.relativeMode?(l=this.alignChildBasedOnParent(h,d,i,p,g),h.flip=this.flip):l=this.alignChildBasedOnaPoint(h,p,g),c={x:l.x+d.width/2,y:l.y+d.height/2},e.prototype.findChildOffsetFromCenter.call(this,h,c)}!r||"Stretch"!==h.horizontalAlignment&&"Stretch"!==h.verticalAlignment?h instanceof js&&h.canMeasure?(h.arrange(h.desiredSize),this.outerBounds.uniteRect(h.outerBounds)):h instanceof js||(h.arrange(h.desiredSize),this.outerBounds.uniteRect(h.outerBounds)):h.arrange(i)}return this.actualSize=i,this.updateBounds(),this.outerBounds.uniteRect(this.bounds),i},i.prototype.setParentTransform=function(e){"All"===this.flipMode||e instanceof Fs?e.parentTransform>0&&(e.parentTransform=-e.parentTransform):!(e instanceof Fs||e instanceof js||e instanceof Ws)&&e instanceof ks?e.parentTransform>0&&(e.parentTransform=-e.parentTransform):e instanceof js&&void 0===e.position?e.parentTransform=-e.parentTransform:"None"===this.flipMode?!(e.elementActions&t.ElementAction.ElementIsPort)&&e instanceof Ws&&e.parentTransform>0&&(e.parentTransform=-e.parentTransform):e instanceof Ws?e.parentTransform>0&&(e.parentTransform=-e.parentTransform):"LabelText"!==this.flipMode&&"LabelAndLabelText"!==this.flipMode&&"PortAndLabelText"!==this.flipMode||e instanceof js&&e.parentTransform>0&&(e.parentTransform=-e.parentTransform)},i.prototype.alignChildBasedOnParent=function(t,e,i,r,n){switch(t.horizontalAlignment){case"Auto":case"Left":r+=t.margin.left;break;case"Right":r+=i.width-e.width-t.margin.right;break;case"Stretch":case"Center":r+=i.width/2-e.width/2}switch(t.verticalAlignment){case"Auto":case"Top":n+=t.margin.top;break;case"Bottom":n+=i.height-e.height-t.margin.bottom;break;case"Stretch":case"Center":n+=i.height/2-e.height/2}return{x:r,y:n}},i.prototype.alignChildBasedOnaPoint=function(t,e,i){switch(e+=t.margin.left-t.margin.right,i+=t.margin.top-t.margin.bottom,t.horizontalAlignment){case"Auto":case"Left":e=t.inversedAlignment?e:e-t.desiredSize.width;break;case"Stretch":case"Center":e-=t.desiredSize.width*t.pivot.x;break;case"Right":e=t.inversedAlignment?e-t.desiredSize.width:e}switch(t.verticalAlignment){case"Auto":case"Top":i=t.inversedAlignment?i:i-t.desiredSize.height;break;case"Stretch":case"Center":i-=t.desiredSize.height*t.pivot.y;break;case"Bottom":i=t.inversedAlignment?i-t.desiredSize.height:i}return{x:e,y:i}},i}(Ns),Xs={Rectangle:"M0,0 L50,0 L50,50 L0,50 z",Ellipse:"M80.5,12.5 C80.5,19.127417 62.59139,24.5 40.5,24.5 C18.40861,24.5 0.5,19.127417 0.5,12.5C0.5,5.872583 18.40861,0.5 40.5,0.5 C62.59139,0.5 80.5,5.872583 80.5,12.5 z",Hexagon:"M30,0 L60,0 L90,30 L60,60 L30,60 L0,30 L30,0 z",Parallelogram:"M30,0 L60,0 L45,30 L15,30 z",Triangle:"M45,0 L90,45 L0,45 L45,0 z",Plus:"M696.6084,158.2656 L674.8074,158.2656 L674.8074,136.4656 L658.4084,136.4656 L658.4084,158.2656 L636.6084,158.2656L636.6084,174.6646 L658.4084,174.6646 L658.4084,196.4656 L674.8074,196.4656 L674.8074,174.6646 L696.6084,174.6646L696.6084,158.2656 z",Star:"M540.3643,137.9336 L546.7973,159.7016 L570.3633,159.7296 L550.7723,171.9366 L558.9053,194.9966 L540.3643,179.4996L521.8223,194.9966 L529.9553,171.9366 L510.3633,159.7296 L533.9313,159.7016 L540.3643,137.9336 z",Pentagon:"M30,0 L60,30 L50,70 L10,70 L0,30 L30,0 z",Heptagon:"M223.7783,195.7134 L207.1303,174.8364 L213.0713,148.8034 L237.1303,137.2174 L261.1883,148.8034 L267.1303,174.8364L250.4813,195.7134 L223.7783,195.7134 z",Octagon:"M98.7319,196.4653 L81.1579,178.8923 L81.1579,154.0393 L98.7319,136.4653 L123.5849,136.4653L141.1579,154.0393 L141.1579,178.8923 L123.5849,196.4653 L98.7319,196.4653 z",Trapezoid:"M127.2842,291.4492 L95.0322,291.4492 L81.1582,256.3152 L141.1582,256.3152 L127.2842,291.4492 z",Decagon:"M657.3379,302.4141 L642.3369,291.5161 L636.6089,273.8821 L642.3369,256.2481 L657.3379,245.3511 L675.8789,245.3511L690.8789,256.2481 L696.6089,273.8821L690.8789,291.5161 L675.8789,302.4141 L657.3379,302.4141 z",RightTriangle:"M836.293,292.9238 L776.293,292.9238 L776.293,254.8408 L836.293,292.9238 z",Cylinder:"M 542.802,362.009C 542.802,368.452 525.341,373.676 503.802,373.676C 482.263,373.676 464.802,368.452 464.802,362.009L 464.802,466.484C 464.802,472.928 482.263,478.151 503.802,478.151C 525.341,478.151 542.802,472.928 542.802,466.484L 542.802,362.016C 542.802,368.459 525.341,373.534 503.802,373.534C 482.263,373.534 464.802,368.31 464.802,361.867L 464.802,362.016C 464.802,355.572 482.263,350.349 503.802,350.349C 525.341,350.349 542.802,355.572 542.802,362.016",Diamond:"M397.784,287.875 L369.5,316.159 L341.216,287.875 L369.5,259.591 L397.784,287.875 z"},Us=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Gs=function(t){function e(e,i,r){var n=t.call(this)||this;return n.data="",n.nodeId="",n.diagramId="",n.scale="Stretch",n.diagramId=i,n.nodeId=e,n.templateFn=E(r),n}return Us(e,t),Object.defineProperty(e.prototype,"content",{get:function(){return this.data},set:function(t){this.data=t,this.canReset||(this.canReset=!0,this.isTemplate||(this.template=Qa(this,!1)),this.canReset=!1,this.isDirt=!0)},enumerable:!0,configurable:!0}),e.prototype.getNodeTemplate=function(){return this.templateFn},e.prototype.measure=function(t){if(this.isDirt){var e=Ca(this.template);this.contentSize=new ps,this.contentSize.width=e.width,this.contentSize.height=e.height;var i=e.x,r=e.y;this.templatePosition={x:i,y:r},this.isDirt=!1}if(void 0===this.width||void 0===this.height){var n=Pa(this.template);this.desiredSize=new ps(n.width,n.height)}else this.desiredSize=new ps(this.width,this.height);return this.desiredSize=this.validateDesiredSize(this.desiredSize,t),this.desiredSize},e.prototype.arrange=function(t){return this.actualSize=new ps(this.desiredSize.width,this.desiredSize.height),this.updateBounds(),this.actualSize},e}(ks),Zs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),qs=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ks=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Zs(i,t),qs([e.Property("")],i.prototype,"content",void 0),qs([e.Property("TopLeft")],i.prototype,"position",void 0),qs([e.Property("Mouse")],i.prototype,"relativeMode",void 0),qs([e.Property(!0)],i.prototype,"showTipPointer",void 0),qs([e.Property("auto")],i.prototype,"width",void 0),qs([e.Property("auto")],i.prototype,"height",void 0),qs([e.Property("Auto")],i.prototype,"openOn",void 0),qs([e.Property()],i.prototype,"animation",void 0),qs([e.Property(!1)],i.prototype,"isSticky",void 0),i}(e.ChildProperty),Qs=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Js=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},$s=function(i){function r(t,e,r,n){var o=i.call(this,t,e,r,n)||this;return o.inEdges=[],o.outEdges=[],o}return Qs(r,i),Js([e.Property("")],r.prototype,"id",void 0),Js([e.Property("Center")],r.prototype,"horizontalAlignment",void 0),Js([e.Property("Center")],r.prototype,"verticalAlignment",void 0),Js([e.Complex({},Is)],r.prototype,"margin",void 0),Js([e.Property(12)],r.prototype,"width",void 0),Js([e.Property(12)],r.prototype,"height",void 0),Js([e.Complex({},Ms)],r.prototype,"style",void 0),Js([e.Property("Square")],r.prototype,"shape",void 0),Js([e.Property("Auto")],r.prototype,"connectionDirection",void 0),Js([e.Property(t.PortVisibility.Connect)],r.prototype,"visibility",void 0),Js([e.Property("")],r.prototype,"pathData",void 0),Js([e.Property(t.PortConstraints.Default)],r.prototype,"constraints",void 0),Js([e.Property()],r.prototype,"addInfo",void 0),Js([e.Property()],r.prototype,"outEdges",void 0),Js([e.Property()],r.prototype,"inEdges",void 0),Js([e.Complex({},Ks)],r.prototype,"tooltip",void 0),r}(e.ChildProperty),th=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return Qs(i,t),i.prototype.getClassName=function(){return"PointPort"},Js([e.Complex({x:.5,y:.5},fs)],i.prototype,"offset",void 0),i}($s),eh=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return Qs(i,t),i.prototype.getClassName=function(){return"PathPort"},Js([e.Property(.5)],i.prototype,"offset",void 0),Js([e.Complex({x:0,y:0},fs)],i.prototype,"displacement",void 0),Js([e.Property("Center")],i.prototype,"alignment",void 0),i}($s),ih=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),rh=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},nh=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ih(i,t),rh([e.Property("blue")],i.prototype,"color",void 0),rh([e.Property("")],i.prototype,"content",void 0),rh([e.Property("")],i.prototype,"link",void 0),rh([e.Property("None")],i.prototype,"textDecoration",void 0),rh([e.Property("NewTab")],i.prototype,"hyperlinkOpenState",void 0),i}(e.ChildProperty),oh=function(i){function r(t,e,r,n){var o=i.call(this,t,e,r,n)||this;return r.id||(t.parentObj&&t.parentObj.propName&&"phases"===t.parentObj.propName?o.id=t.parentObj.id:o.id=O()),o}return ih(r,i),rh([e.Property("")],r.prototype,"content",void 0),rh([e.Property(void 0)],r.prototype,"template",void 0),rh([e.Property("String")],r.prototype,"annotationType",void 0),rh([e.Property(!0)],r.prototype,"visibility",void 0),rh([e.Property(t.AnnotationConstraints.InheritReadOnly)],r.prototype,"constraints",void 0),rh([e.Complex(void 0,nh)],r.prototype,"hyperlink",void 0),rh([e.Property("")],r.prototype,"id",void 0),rh([e.Property()],r.prototype,"width",void 0),rh([e.Property()],r.prototype,"height",void 0),rh([e.Property(0)],r.prototype,"rotateAngle",void 0),rh([e.Property("Parent")],r.prototype,"rotationReference",void 0),rh([e.Complex({strokeWidth:0,strokeColor:"transparent",fill:"transparent"},Ls)],r.prototype,"style",void 0),rh([e.Property("Center")],r.prototype,"horizontalAlignment",void 0),rh([e.Property("Center")],r.prototype,"verticalAlignment",void 0),rh([e.Complex({},Is)],r.prototype,"margin",void 0),rh([e.Complex({top:void 0,bottom:void 0,left:void 0,right:void 0},Is)],r.prototype,"dragLimit",void 0),rh([e.Property("Shape")],r.prototype,"type",void 0),rh([e.Complex({},Ks)],r.prototype,"tooltip",void 0),rh([e.Property()],r.prototype,"addInfo",void 0),r}(e.ChildProperty),ah=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return ih(i,t),i.prototype.getClassName=function(){return"ShapeAnnotation"},rh([e.Complex({x:.5,y:.5},fs)],i.prototype,"offset",void 0),i}(oh),sh=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return ih(i,t),i.prototype.getClassName=function(){return"PathAnnotation"},rh([e.Property(.5)],i.prototype,"offset",void 0),rh([e.Complex({x:0,y:0},fs)],i.prototype,"displacement",void 0),rh([e.Property("Center")],i.prototype,"alignment",void 0),rh([e.Property(!1)],i.prototype,"segmentAngle",void 0),i}(oh),hh={X:"M14,14 L106,106 M106,14 L14,106",Circle:"M0,50 A50,50,0 1 1 100,50 A50,50,0 1 1 0,50 Z",Square:"M0,0 L10,0 L10,10 L0,10 z"},dh={OpenArrow:"M15.9,23 L5,16 L15.9,9 L17,10.7 L8.7,16 L17,21.3Z",Square:"M0,0 L10,0 L10,10 L0,10 z",Fletch:"M14.8,10c0,0-3.5,6,0.2,12c0,0-2.5-6-10.9-6C4.1,16,11.3,16,14.8,10z",OpenFetch:"M6,17c-0.6,0-1-0.4-1-1s0.4-1,1-1c10.9,0,11-5,11-5c0-0.6,0.4-1,1-1s1,0.4,1,1C19,10.3,18.9,17,6,17C6,17,6,17,6,17z M18,23c-0.5,0-1-0.4-1-1c0-0.2-0.3-5-11-5c-0.6,0-1-0.5-1-1s0.4-1,1-1c0,0,0,0,0,0c12.9,0,13,6.7,13,7    C19,22.6,18.6,23,18,23z",IndentedArrow:"M17,10c0,0-4.5,5.5,0,12L5,16L17,10z",OutdentedArrow:"M14.6,10c0,0,5.4,6,0,12L5,16L14.6,10z",DoubleArrow:"M19,10 L19,22 L13,16Z M12,10 L12,22 L6,16Z",Arrow:"M15,10 L15,22 L5,16Z",Diamond:"M12,23l-7-7l7-7l6.9,7L12,23z",Circle:"M0,50 A50,50,0 1 1 100,50 A50,50,0 1 1 0,50 Z"},lh={Square:"M0,0 L10,0 L10,10 L0,10 z",Rhombus:"M10,5 L5,10 L0,5 L5,0 L10,5 Z ",Rectangle:"M0,0 L15,0 L15,10 L0,10 z ",OpenArrow:"M15.9,23 L5,16 L15.9,9 L17,10.7 L8.7,16 L17,21.3Z",Fletch:"M9.82,0 C9.82,0,6.61,5,10,10 C10,10,7.71,5,0,5 C0,5,6.61,5,9.82,0 Z ",OpenFetch:"M0.71,5.71 C0.29,5.71,0,5.43,0,5 C0,4.57,0.29,4.29,0.71,4.29 C8.5,4.29,8.57,0.71,8.57,0.71 C8.57,0.29,8.86,0,9.29,0 C9.719999999999999,0,10,0.29,10,0.71 C10,0.93,9.93,5.71,0.71,5.71 C0.71,5.71,0.71,5.71,0.71,5.71 Z M9.29,10 C8.93,10,8.57,9.71,8.57,9.29 C8.57,9.14,8.36,5.71,0.71,5.71 C0.29,5.71,0,5.36,0,5 C0,4.64,0.29,4.29,0.71,4.29 C0.71,4.29,0.71,4.29,0.71,4.29 C9.93,4.29,10,9.07,10,9.29 C10,9.71,9.71,10,9.29,10 Z ",IndentedArrow:"M10,0 C10,0,6.25,4.58,10,10 L0,5 L10,0 Z ",OutdentedArrow:"M8,0 C8,0,12.5,5,8,10 L0,5 L8,0 Z ",DoubleArrow:"M19,10 L19,22 L13,16Z M12,10 L12,22 L6,16Z",Arrow:"M15,10 L15,22 L5,16Z",Diamond:"M10,5 L5,10 L0,5 L5,0 L10,5 Z  ",Circle:"M10,5 C10,7.76,7.76,10,5,10 C2.24,10,0,7.76,0,5 C0,2.24,2.24,0,5,0 C7.76,0,10,2.24,10,5 Z ",Ellipse:"M15,5 C15,7.76,11.64,10,7.5,10 C3.36,10,0,7.76,0,5 C0,2.24,3.36,0,7.5,0 C11.64,0,15,2.24,15,5 Z  "},ch={Square:"M0,0 L10,0 L10,10 L0,10 z",Rhombus:"M10,5 L5,10 L0,5 L5,0 L10,5 Z ",Rectangle:"M0,0 L15,0 L15,10 L0,10 z",OpenArrow:"M23,15.9 L16,5 L9,15.9 L10.7,17 L16,8.7 L21,17.3Z",Fletch:"M9.82,0 C9.82,0,6.61,5,10,10 C10,10,7.71,5,0,5 C0,5,6.61,5,9.82,0 Z ",OpenFetch:"M0.71,5.71 C0.29,5.71,0,5.43,0,5 C0,4.57,0.29,4.29,0.71,4.29 C8.5,4.29,8.57,0.71,8.57,0.71 C8.57,0.29,8.86,0,9.29,0 C9.719999999999999,0,10,0.29,10,0.71 C10,0.93,9.93,5.71,0.71,5.71 C0.71,5.71,0.71,5.71,0.71,5.71 Z M9.29,10 C8.93,10,8.57,9.71,8.57,9.29 C8.57,9.14,8.36,5.71,0.71,5.71 C0.29,5.71,0,5.36,0,5 C0,4.64,0.29,4.29,0.71,4.29 C0.71,4.29,0.71,4.29,0.71,4.29 C9.93,4.29,10,9.07,10,9.29 C10,9.71,9.71,10,9.29,10 Z ",IndentedArrow:"M10,0 C10,0,6.25,4.58,10,10 L0,5 L10,0 Z ",OutdentedArrow:"M8,0 C8,0,12.5,5,8,10 L0,5 L8,0 Z ",DoubleArrow:"M10,19 L22,19 L16,13Z M10,12 L22,12 L16,6Z",Arrow:"M10,15 L22,15 L16,5Z",Diamond:"M10,5 L5,10 L0,5 L5,0 L10,5 Z ",Circle:"M10,5 C10,7.76,7.76,10,5,10 C2.24,10,0,7.76,0,5 C0,2.24,2.24,0,5,0 C7.76,0,10,2.24,10,5 Z ",Ellipse:"M15,5 C15,7.76,11.64,10,7.5,10 C3.36,10,0,7.76,0,5 C0,2.24,3.36,0,7.5,0 C11.64,0,15,2.24,15,5 Z   "},ph={Process:"M419.511,76.687L359.511,76.687L359.511,43.086L419.511,43.086z",Decision:"M 253.005,115.687L 200.567,146.071L 148.097,115.687L 200.534,85.304L 253.005,115.687 Z",Document:"M 60 31.9 c 0 0 -11 -7.7 -30 0 s -30 0 -30 0 V 0 h 60 V 31.9 Z",PreDefinedProcess:"M 0,0 L 50,0 L 50,50 L 0,50 Z  M 8.334,0 L 8.334,50 M 41.667,0 L 41.667,50",Terminator:"M 269.711,29.33C 269.71,44.061 257.77,56 243.04,56L 158.058,56C 143.33,56 131.39,44.061 131.39,29.33L 131.39,29.33C 131.391,14.6057 143.33,2.669 158.058,2.669L 243.044,2.669C 257.772,2.669 269.711,14.6057 269.711,29.333 Z",PaperTap:"M0.0009,17.2042 L0.0009,47.165 C0.001,47.165 14.403,53.5455 25.00,47.165 C35.599,40.7852 44.403,43.5087 50.00,47.165L50.001,17.2042 M50.001,32.7987 L50.001,2.8405 C50.001,2.8405 35.599,-3.5427 25.001,2.8405C14.403,9.2237 5.599,6.494 0.0009,2.8405 L0.0009,32.7987",DirectData:"M 132.62 0 L 17.38 0 C 7.78 0 0 13.43 0 30 C 0 46.57 7.78 60 17.38 60 L 132.62 60 M 132.62 0C 123.02 0 115.24 13.43 115.24 30 C 115.24 46.57 123.02 60 132.62 60 C 142.22 60 150 46.57 150 30 C 150 13.43 142.22 0 132.62 0 z ",SequentialData:"M0.0029,24.999 C0.0029,11.1922 10.433,0.0021 23.295,0.0021 C36.159,0.00216 46.585,11.1922 46.585,24.999C46.585,38.8057 36.159,49.9979 23.295,49.9979 C10.433,49.9979 0.0029,38.8057 0.0029,24.999 z M23.294,49.999 L50.002,49.999",Sort:"M50.001,24.9971 L25.001,49.9971 L0.00097,24.9971 L25.001,-0.00286865 L50.001,24.9971 z M0.000976562,24.9971 L50.001,24.9971",MultiDocument:"M43.6826,40 C44.8746,40.6183 45.8586,41.3502 46.8366,42.1122 L46.8366,4.74487 L3.09857,4.74487 L3.09857,10.9544 M46.837,35.143 C48.027,35.765 49.025,36.604 50.003,37.369 L50.003,0.002 L6.264,0.002 L6.264,4.744 M43.682,47.113 L43.682,10.765 L0.0025,10.7652 L0.0025,47.1132 C0.0025,47.1132 12.5846,53.6101 21.8426,47.1132 C31.1006,40.6163 38.792,43.393 43.6826,47.1132 z",Collate:"M50.001,0.0028 L25.001,25.0029 L0.00097,0.0028 L50.001,0.002 z M0.0009,50.002 L25.001,25.002L50.001,50.002 L0.0009,50.0029 z",SummingJunction:"M7.3252,42.6768 L42.6772,7.3247 M42.6768,42.6768 L7.3248,7.3247 M0.0009,25.001 C0.0009,11.193 11.197,0.0009 25.001,0.0009 C38.809,0.0009 50.001,11.193 50.001,25.001 C50.001,38.809 38.809,50.001 25.001,50.001 C11.197,50.00 0.0009,38.809 0.0009,25.00 z",Or:"M 0 50 L 100 50 M 50 100 L 50 0.0 M 0 50 C 0 22.384 22.392 0 50 0 C 77.616 0 100 22.384 100 50 C 100 77.616 77.616 100 50 100 C 22.392 100 0 77.616 0 50 Z",InternalStorage:"M 0 3.81946A 2.5,3.81946 0 0,1 2.5,0L 47.5 0A 2.5,3.81946 0 0,1 50,3.81946L 50 45.836A 2.5,3.819446 0 0,1 47.5,49.652778L 2.5 49.652778A 2.5,3.819446 0 0,1 0,45.8336L 0 3.819446ZM 0 11.45834L 50 11.4583334M 12.5 0L 12.5 49.652778",Extract:"M0,35 L30,0 L60,35 Z",ManualOperation:"M46.4,28.8 L14.8,28.8 L0,0 L60,0 Z",Merge:"M60,0 L30,35 L0,0 Z",OffPageReference:"M60,33.3 L30.1,39 L0,33.3 L0,0 L60,0 Z",SequentialAccessStorage:"M 60 30 C 60 13.4 46.6 0 30 0 S 0 13.4 0 30 s 13.4 30 30 30 h 28.6 v -6.5 h -9.9C 55.5 48 60 39.5 60 30 Z",Annotation:"M49.9984,50.0029 L-0.00271199,50.0029 L-0.00271199,0.00286865 L49.9984,0.00286865",Annotation2:"M49.9977,50.0029 L25.416,50.0029 L25.416,0.00286865 L49.9977,0.00286865 M25.4166,25.0029 L-0.00227869,25.0029",Data:"M 10 0 L 40 0 L 30 40 L 0 40 Z",Card:"M275,60 L400,60 L400,110 L260,110 L260,75 Z",Delay:"M0,0 L12.029,0 C14.212999,0 16,1.7869979 16,3.9709952 C16,6.1549926 14.212999,7.9409904 12.029,7.9409904 L0,7.9409904 z",Preparation:"M 1048.17 572 C 1051.06 568.86 1055.17 567.05 1059.5 567 L 1094.51 567 C 1098.84 567.05 1102.95 568.86 1105.84 572 L 1126.43 595 C 1127.01 596.28 1127.01 597.72 1126.43 599 L 1105.84 622 C 1102.95 625.14 1098.84 626.95 1094.51 627 L 1059.5 627 C 1055.17 626.95 1051.06 625.14 1048.17 622 L 1027.58 599 C 1027 597.72 1027 596.28 1027.58 595 L 1048.17 572 Z",Display:"M47.8809,19.2914 L32.7968,-0.00594145 L11.3902,-0.00594145 C7.93166,-0.00594145 0.00124586,11.187 0.00124586,24.9968C0.00124586,38.8032 7.93166,49.9962 11.3902,49.9962 L32.7968,49.99 L47.615,31.038 C47.615,31.0388 52.798,24.9968 47.880,19.2914 z",ManualInput:"M 912 732 L 1006.85 707 C 1008.2 707 1009.5 707.53 1010.46 708.46 C 1011.41 709.4 1011.95 710.67 1011.95 712 L 1011.95 762C 1012 764.41 1010.28 766.52 1007.87 767 L 917.1 767 C 915.75 767 914.45 766.47 913.49 765.54 C 912.54 764.6 912 763.33 912 762 L 912 732 Z",LoopLimit:"M 8 9 L 27 9 L 33 15 L 33 26 C 33 27 33 27 32 27 L 4 27 C 3 27 2 27 2 26 L 2 15 L 8 9 Z",StoredData:"M 5.55 0L 50 0A 1.5,30 0 0,1 50,0A 5.555,25 0 0,0 50,50A 1.5,30 0 0,1 50,50L 5.555 50A 5.55,25 0 0,1 5.555,0Z"},gh=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),uh=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},fh=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gh(i,t),uh([e.Property()],i.prototype,"width",void 0),uh([e.Property()],i.prototype,"height",void 0),i}(e.ChildProperty),mh=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gh(i,t),uh([e.Property()],i.prototype,"width",void 0),uh([e.Property()],i.prototype,"height",void 0),uh([e.Property()],i.prototype,"fit",void 0),uh([e.Property()],i.prototype,"description",void 0),uh([e.Property()],i.prototype,"template",void 0),uh([e.Property()],i.prototype,"tooltip",void 0),i}(e.ChildProperty),yh=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),vh=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},bh=function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return yh(r,i),vh([e.Property("")],r.prototype,"id",void 0),vh([e.Property(Number.MIN_VALUE)],r.prototype,"zIndex",void 0),vh([e.Complex({},Is)],r.prototype,"margin",void 0),vh([e.Property(!0)],r.prototype,"visible",void 0),vh([e.Complex({},Ks)],r.prototype,"tooltip",void 0),vh([e.Property(!1)],r.prototype,"excludeFromLayout",void 0),vh([e.Property()],r.prototype,"addInfo",void 0),vh([e.Property(t.FlipDirection.None)],r.prototype,"flip",void 0),vh([e.Property("All")],r.prototype,"flipMode",void 0),vh([e.Complex({},mh)],r.prototype,"symbolInfo",void 0),r}(e.ChildProperty),Sh=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),wh=function(t){function e(e,i,r,n){var o=t.call(this)||this;return o.data="",o.nodeId="",o.annotationId="",o.diagramId="",o.diagramId=i,o.nodeId=e,o.annotationId=r,o.templateFn=E(n),o}return Sh(e,t),e.prototype.getNodeTemplate=function(){return this.templateFn},Object.defineProperty(e.prototype,"content",{get:function(){return this.data},set:function(t){this.data=t,this.canReset||(this.canReset=!0,this.isTemplate||(this.template=Qa(this,!0)),this.canReset=!1,this.isDirt=!0)},enumerable:!0,configurable:!0}),e}(ks),xh=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ih=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ch=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return xh(i,t),Ih([e.Property("")],i.prototype,"id",void 0),Ih([e.Property("transparent")],i.prototype,"fill",void 0),Ih([e.Property("black")],i.prototype,"iconStrokeColor",void 0),Ih([e.Property(0)],i.prototype,"iconStrokeWidth",void 0),Ih([e.Property(!0)],i.prototype,"visibility",void 0),Ih([e.Property(10)],i.prototype,"width",void 0),Ih([e.Property(10)],i.prototype,"height",void 0),Ih([e.Property("transparent")],i.prototype,"handleStrokeColor",void 0),Ih([e.Property(1)],i.prototype,"handleStrokeWidth",void 0),Ih([e.Property("")],i.prototype,"pathData",void 0),Ih([e.Property(0)],i.prototype,"cornerRadius",void 0),Ih([e.Complex({left:0,right:0,top:0,bottom:0},Is)],i.prototype,"padding",void 0),Ih([e.Complex({},Ks)],i.prototype,"tooltip",void 0),i}(e.ChildProperty),Ph=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return xh(i,t),Ih([e.Complex({x:0,y:0},fs)],i.prototype,"offset",void 0),Ih([e.Complex({},Is)],i.prototype,"margin",void 0),i}(Ch),Dh=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return xh(i,t),Ih([e.Property(.5)],i.prototype,"offset",void 0),Ih([e.Property("Center")],i.prototype,"alignment",void 0),Ih([e.Complex({x:0,y:0},fs)],i.prototype,"displacement",void 0),i}(Ch),Th=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ah=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.childTable=[],e.cellStyle={},e.desiredRowHeight=[],e.desiredCellWidth=[],e}return Th(e,t),e.prototype.rowDefinitions=function(){return this.rowDefns},e.prototype.columnDefinitions=function(){return this.colDefns},e.prototype.addObject=function(t,e,i,r,n){if(this.rows.length>=e){var o=this.rows[parseInt(e.toString(),10)];if(o.cells.length>i){n=n||1,r=r||1;var a=o.cells[parseInt(i.toString(),10)];a.columnSpan=Math.max(n,a.columnSpan),a.rowSpan=Math.max(r,a.rowSpan);var s=new zh;(s=t).rowId=e,s.columnId=i,s.columnSpan=n,this.childTable[s.id]=s,this.addObjectToCell(s,a)}}},e.prototype.addObjectToCell=function(t,e){e.children||(e.children=[]),t.style.strokeColor="black",t.style.strokeWidth=1,e.children.push(t)},e.prototype.updateProperties=function(t,e,i,r){this.offsetX=t,this.offsetY=e,this.width=i,this.height=r},e.prototype.setDefinitions=function(t,e){this.rowDefns=t,this.colDefns=e,this.children=[],this.rows=this.rows||[];for(var i=0;i<t.length;i++){var r=t[parseInt(i.toString(),10)],n=new Eh;n.cells=[];var o=new Mh;o.width=this.width;var a=this.colDefns;(void 0===a||a.length<1)&&(a=[o]),this.addCellInRow(a,r,n),this.rows.push(n)}},e.prototype.addCellInRow=function(t,e,i){for(var r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)],o=new Lh;o.children=[],this.cellStyle.fill="none",this.cellStyle.strokeColor="none",o.id=O(),o.style=this.cellStyle,o.desiredCellWidth=o.minWidth=n.width,o.desiredCellHeight=o.minHeight=e.height,i.cells.push(o),this.children.push(o)}},e.prototype.calculateSize=function(){for(var t=this.rows||[],e=0,i=0,r=0;r<t.length;r++){var n=this.rows[parseInt(r.toString(),10)];i=0;for(var o=0;o<n.cells.length;o++)if(i+=n.cells[parseInt(o.toString(),10)].desiredCellWidth,o===n.cells.length-1&&(this.width&&this.width!==i&&(n.cells[parseInt(o.toString(),10)].desiredCellWidth+=this.width-i,n.cells[parseInt(o.toString(),10)].minWidth=n.cells[parseInt(o.toString(),10)].desiredCellWidth,n.cells[parseInt(o.toString(),10)].children&&n.cells[parseInt(o.toString(),10)].children.length&&(n.cells[parseInt(o.toString(),10)].children[0].width=n.cells[parseInt(o.toString(),10)].desiredCellWidth),this.colDefns[parseInt(o.toString(),10)].width=n.cells[parseInt(o.toString(),10)].desiredCellWidth),e+=n.cells[parseInt(o.toString(),10)].desiredCellHeight,r===t.length-1&&this.height&&this.height!==e)){var a=this.height-e;if(a>0){for(var s=0;s<n.cells.length;s++)n.cells[parseInt(s.toString(),10)].desiredCellHeight+=a,n.cells[parseInt(s.toString(),10)].minHeight=n.cells[parseInt(s.toString(),10)].desiredCellHeight=n.cells[parseInt(s.toString(),10)].desiredCellHeight,n.cells[parseInt(s.toString(),10)].children&&n.cells[parseInt(s.toString(),10)].children.length&&(n.cells[parseInt(s.toString(),10)].children[0].height=n.cells[parseInt(s.toString(),10)].desiredCellHeight);this.rowDefns[parseInt(r.toString(),10)].height+=a}}}},e.prototype.updateRowHeight=function(t,e,i,r,n){var o=this.rows[parseInt(t.toString(),10)];this.rowDefns[parseInt(t.toString(),10)].height=e,void 0!==this.height&&(this.height+=e-o.cells[0].desiredCellHeight);for(var a=0;a<o.cells.length;a++)o.cells[parseInt(a.toString(),10)].desiredCellHeight=o.cells[parseInt(a.toString(),10)].minHeight=e,o.cells[parseInt(a.toString(),10)].children&&o.cells[parseInt(a.toString(),10)].children.length&&(o.cells[parseInt(a.toString(),10)].children[0].height=e,this.setTextRefresh(o.cells[parseInt(a.toString(),10)].children[0]));if(this.desiredRowHeight[parseInt(t.toString(),10)]=e,this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize),i){var s=void 0!==r?this.calculateCellHeightBasedOnChildren(t,r):this.calculateCellHeight(t);s>e&&!n&&this.updateRowHeight(t,s,!1)}},e.prototype.setTextRefresh=function(t){if(t.children&&t.children.length)for(var e=t.children,i=0;i<e.length;i++)e[parseInt(i.toString(),10)]instanceof js&&e[parseInt(i.toString(),10)].refreshTextElement(),e[parseInt(i.toString(),10)]instanceof Vs&&this.setTextRefresh(e[parseInt(i.toString(),10)])},e.prototype.updateColumnWidth=function(t,e,i,r,n){this.colDefns[parseInt(t.toString(),10)].width=e,void 0!==this.width&&(this.width+=e-this.rows[this.rows.length-1].cells[parseInt(t.toString(),10)].desiredCellWidth);for(var o=0;o<this.rows.length;o++)this.setTextRefresh(this.rows[parseInt(o.toString(),10)].cells[0]),this.rows[parseInt(o.toString(),10)].cells[parseInt(t.toString(),10)].desiredCellWidth=this.rows[parseInt(o.toString(),10)].cells[parseInt(t.toString(),10)].minWidth=e,this.rows[parseInt(o.toString(),10)].cells[parseInt(t.toString(),10)].children&&this.rows[parseInt(o.toString(),10)].cells[parseInt(t.toString(),10)].children.length&&(this.rows[parseInt(o.toString(),10)].cells[parseInt(t.toString(),10)].children[0].width=e);if(this.desiredCellWidth[parseInt(t.toString(),10)]=e,this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize),i){var a=void 0!==r?this.calculateCellWidthBasedOnChildren(t,r):this.calculateCellWidth(t);a>e&&!n&&this.updateColumnWidth(t,a,!1)}},e.prototype.calculateCellWidth=function(t){for(var e,i,r,n=0;n<this.rows.length;n++)1===(r=this.rows[parseInt(n.toString(),10)].cells[parseInt(t.toString(),10)]).columnSpan&&(i=r.outerBounds.width>r.bounds.width&&(0===r.children.length||void 0===r.children[0].maxWidth)?r.outerBounds.width:r.bounds.width,e=e?e<i?i:e:i);return e},e.prototype.calculateCellHeight=function(t){for(var e,i,r,n=this.rows[parseInt(t.toString(),10)],o=0;o<n.cells.length;o++)i=(r=n.cells[parseInt(o.toString(),10)]).outerBounds.height>r.bounds.height?r.outerBounds.height:r.bounds.height,e=e?e<i?i:e:i;return e},e.prototype.calculateCellSizeBasedOnChildren=function(t,e,i,r){var n,o=t&&t.children.length>0?t.children[0]:void 0;if(o&&1===t.columnSpan){n="Width"===e?o.bounds.right:o.bounds.bottom,r||(r="Width"===e?o.bounds.width:o.bounds.height);for(var a=0;a<o.children.length;a++){var s=o.children[parseInt(a.toString(),10)];if(s instanceof Vs&&-1===s.id.indexOf("header")){var h=("Width"===e?s.bounds.right:s.bounds.bottom)+i;if(h>n){var d=h-n+("Width"===e?o.bounds.width:o.bounds.height);r&&(r=r<d?d:r)}}}}return r},e.prototype.calculateCellWidthBasedOnChildren=function(t,e){for(var i,r,n=0;n<this.rows.length;n++)r=this.rows[parseInt(n.toString(),10)].cells[parseInt(t.toString(),10)],i=this.calculateCellSizeBasedOnChildren(r,"Width",e,i);return i},e.prototype.calculateCellHeightBasedOnChildren=function(t,e){for(var i,r,n=this.rows[parseInt(t.toString(),10)],o=0;o<n.cells.length;o++)r=n.cells[parseInt(o.toString(),10)],i=this.calculateCellSizeBasedOnChildren(r,"Height",e,i);return i},e.prototype.addRow=function(t,e,i){this.rowDefns.length>0?this.rowDefns.splice(t,0,e):this.rowDefns.push(e);var r=new Eh;r.cells=[],(new Mh).width=this.width;var n=this.colDefns;this.addCellInRow(n,e,r),t>this.rows.length-1?this.rows.push(r):this.rows.splice(t,0,r),i&&(this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize))},e.prototype.addColumn=function(t,e,i){var r,n,o,a,s=this.rows;this.colDefns.length>0?this.colDefns.splice(t,0,e):this.colDefns.push(e),void 0!==this.width&&(this.width+=e.width);for(var h=0;h<s.length;h++)r=s[parseInt(h.toString(),10)],n=this.rowDefns[parseInt(h.toString(),10)],o=e,(a=new Lh).style=this.cellStyle,a.desiredCellWidth=a.minWidth=o.width,a.desiredCellHeight=a.minHeight=n.height,a.children=[],t>r.cells.length-1?r.cells.push(a):r.cells.splice(t,0,a),this.children.push(a);i&&(this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize))},e.prototype.removeRow=function(t){var e,i,r=this.rows[parseInt(t.toString(),10)];this.height-=this.rowDefns[parseInt(t.toString(),10)].height;for(var n=0;n<r.cells.length;n++)e=r.cells[parseInt(n.toString(),10)],this.children.splice(this.children.indexOf(e),1),(i=document.getElementById(e.id+"_groupElement"))&&i.parentElement&&i.parentElement.removeChild(i);this.rows.splice(t,1),this.rowDefns.splice(t,1),this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize)},e.prototype.removeColumn=function(t){var e,i,r=this.rows;this.width-=this.colDefns[parseInt(t.toString(),10)].width;for(var n=0;n<r.length;n++)e=r[parseInt(n.toString(),10)].cells[parseInt(t.toString(),10)],this.children.splice(this.children.indexOf(e),1),(i=document.getElementById(e.id+"_groupElement"))&&i.parentElement&&i.parentElement.removeChild(i),r[parseInt(n.toString(),10)].cells.splice(t,1);this.colDefns.splice(t,1),this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize)},e.prototype.updateRowIndex=function(t,e){var i=this.rows[parseInt(t.toString(),10)];this.rows.splice(t,1),this.rows.splice(e,0,i);var r=this.rowDefns[parseInt(t.toString(),10)];this.rowDefns.splice(t,1),this.rowDefns.splice(e,0,r),this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize)},e.prototype.updateColumnIndex=function(t,e,i){for(var r,n,o=t;o<this.rows.length;o++)r=this.rows[parseInt(o.toString(),10)],n=this.rows[parseInt(o.toString(),10)].cells[parseInt(e.toString(),10)],r.cells.splice(e,1),r.cells.splice(i,0,n);var a=this.colDefns[parseInt(e.toString(),10)];this.colDefns.splice(e,1),this.colDefns.splice(i,0,a);var s=this.desiredCellWidth[parseInt(e.toString(),10)];this.desiredCellWidth.splice(e,1),this.desiredCellWidth.splice(i,0,s),this.measure(new ps(this.width,this.height)),this.arrange(this.desiredSize)},e.prototype.measure=function(e){var i=void 0;if(void 0!==this.rows&&this.rows.length>0){var r=0,n=0;i=new ps(0,0),this.calculateSize();for(var o=0,a=this.rows;o<a.length;o++){n=0;for(var s=0,h=(g=a[o]).cells;s<h.length;s++){var d=(y=h[s]).measure(new ps(y.desiredCellWidth,y.desiredCellHeight));1===y.rowSpan&&(0===n||void 0===this.desiredRowHeight[parseInt(r.toString(),10)]?this.desiredRowHeight[parseInt(r.toString(),10)]=d.height:this.desiredRowHeight[parseInt(r.toString(),10)]=Math.max(d.height,this.desiredRowHeight[parseInt(r.toString(),10)])),1===y.columnSpan&&(0===r||void 0===this.desiredCellWidth[parseInt(n.toString(),10)]?this.desiredCellWidth[parseInt(n.toString(),10)]=d.width:this.desiredCellWidth[parseInt(n.toString(),10)]=Math.max(d.width,this.desiredCellWidth[parseInt(n.toString(),10)]),r===this.rows.length-1&&(i.width+=this.desiredCellWidth[parseInt(n.toString(),10)])),n++}i.height+=this.desiredRowHeight[parseInt(r.toString(),10)],r++}r=n=0;for(var l=0,c=0,p=this.rows;c<p.length;c++){var g=p[c];n=0;for(var u=0,f=0,m=g.cells;f<m.length;f++){var y=m[f];if(1!==y.columnSpan){y.desiredSize.width=0;for(v=0;v<y.columnSpan;v++)v+n<g.cells.length&&(y.desiredSize.width+=this.desiredCellWidth[v+n],y.minWidth=y.desiredSize.width,y.measure(y.desiredSize));n++}else y.desiredSize.width=this.desiredCellWidth[parseInt(u.toString(),10)],y.measure(y.desiredSize);if(1!==y.rowSpan){y.desiredSize.height=0;for(var v=0;v<y.rowSpan;v++)v+l<this.rows.length&&(y.desiredSize.height+=this.desiredRowHeight[v+l],y.minHeight=y.desiredSize.height,y.measure(y.desiredSize))}else y.desiredSize.height=this.desiredRowHeight[parseInt(l.toString(),10)],y.measure(y.desiredSize);r++,u++}l++}}return void 0===i&&(i=t.prototype.validateDesiredSize.call(this,i,e)),t.prototype.stretchChildren.call(this,i),this.desiredSize=i,i},e.prototype.arrange=function(t,e){var i=0,r=0;if(void 0!==this.rows&&this.rows.length>0){for(var n=this.offsetX-t.width*this.pivot.x,o=this.offsetY-t.height*this.pivot.y,a=n,s=0,h=this.rows;s<h.length;s++){a=n,i=0;for(var d=0,l=(u=h[s]).cells;d<l.length;d++){var c=l[d],p=Math.max(this.desiredCellWidth[parseInt(i.toString(),10)],c.desiredSize.width),g=Math.max(this.desiredRowHeight[parseInt(r.toString(),10)],c.desiredSize.height);c.offsetX=a+p*c.pivot.x,c.offsetY=o+g*c.pivot.y,a+=this.desiredCellWidth[parseInt(i.toString(),10)],c.arrange(new ps(p,g)),i++}o+=this.desiredRowHeight[parseInt(r.toString(),10)],r++}if(e){var c=void 0,u=void 0,f=void 0,m=void 0,y=void 0;for(r=0;r<this.rows.length;r++)for(u=this.rows[parseInt(r.toString(),10)],i=0;i<u.cells.length;i++)if((c=u.cells[parseInt(i.toString(),10)]).columnSpan>1&&this.children.splice(this.children.indexOf(c)+1,c.columnSpan-1),c.rowSpan>1)for(f=r,m=0;f+c.rowSpan-1<this.rows.length&&m<c.rowSpan-1;f++,m++)y=this.rows[f+1].cells[parseInt(i.toString(),10)],this.children.splice(this.children.indexOf(y),1)}}return this.actualSize=t,this.updateBounds(),t},e}(Ns),Oh=function(){function t(){this.height=void 0}return t}(),Mh=function(){function t(){this.width=void 0}return t}(),Eh=function(){function t(){this.cells=null}return t}(),Lh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.columnSpan=1,e.rowSpan=1,e}return Th(e,t),e}(Vs),zh=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.rowId=0,e.columnId=0,e.rowSpan=1,e.columnSpan=1,e}return Th(e,t),e}(ks),kh={None:"default",Rotate:"crosshair",Select:"default",Drag:"move",ResizeWest:"w-resize",ResizeEast:"e-resize",ResizeSouth:"s-resize",ResizeNorth:"n-resize",Draw:"crosshair",PortDraw:"crosshair",ResizeNorthEast:"ne-resize",ResizeNorthWest:"nw-resize",ResizeSouthEast:"se-resize",ResizeSouthWest:"sw-resize",ConnectorSourceEnd:"move",ConnectorTargetEnd:"move",BezierSourceThumb:"move",BezierTargetThumb:"move",OrthoThumb:"move",SegmentEnd:"move",Pan:"grab",Hyperlink:"pointer",PortDrag:"pointer",LabelSelect:"pointer",LabelDrag:"move",LabelRotate:"crosshair",LabelResizeWest:"w-resize",LabelResizeEast:"e-resize",LabelResizeSouth:"s-resize",LabelResizeNorth:"n-resize",LabelResizeNorthEast:"ne-resize",LabelResizeNorthWest:"nw-resize",LabelResizeSouthEast:"se-resize",LabelResizeSouthWest:"sw-resize"},Bh=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Nh=function(t,e,i,r){return new(i||(i=Promise))(function(n,o){function a(t){try{h(r.next(t))}catch(t){o(t)}}function s(t){try{h(r.throw(t))}catch(t){o(t)}}function h(t){t.done?n(t.value):new i(function(e){e(t.value)}).then(a,s)}h((r=r.apply(t,e||[])).next())})},Rh=function(t,e){function i(t){return function(e){return r([t,e])}}function r(i){if(n)throw new TypeError("Generator is already executing.");for(;h;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return h.label++,{value:i[1],done:!1};case 5:h.label++,o=i[1],i=[0];continue;case 7:i=h.ops.pop(),h.trys.pop();continue;default:if(a=h.trys,!(a=a.length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){h=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){h.label=i[1];break}if(6===i[0]&&h.label<a[1]){h.label=a[1],a=i;break}if(a&&h.label<a[2]){h.label=a[2],h.ops.push(i);break}a[2]&&h.ops.pop(),h.trys.pop();continue}i=e.call(t,h)}catch(t){i=[6,t],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}var n,o,a,s,h={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},jh=function(){function e(t,e){void 0===e&&(e=!1),this.commandHandler=null,this.inAction=!1,this.isProtectChange=!1,this.currentElement=null,this.blocked=!1,this.isTooltipVisible=!1,this.childTable={},this.undoElement={nodes:[],connectors:[]},this.checkProperty=!0,this.undoParentElement={nodes:[],connectors:[]},this.undoContainerElement={nodes:[],connectors:[]},this.toolName="ToolBase",this.commandHandler=t,this.isProtectChange=e}return e.prototype.startAction=function(t){this.currentElement=t,this.inAction=!0},e.prototype.mouseDown=function(t){this.currentElement=t.source,this.startPosition=this.currentPosition=this.prevPosition=t.position,this.isTooltipVisible=!0,this.startAction(t.source),this.checkProperty=!0,this.mouseDownElement=t.source},e.prototype.checkPropertyValue=function(){this.checkProperty&&this.commandHandler.startTransaction(this.isProtectChange)},e.prototype.mouseMove=function(t){return this.currentPosition=t.position,this.inAction&&(this.commandHandler.startTransaction(this.isProtectChange),this.checkProperty=!1),!this.blocked},e.prototype.mouseUp=function(t){this.checkPropertyValue(),this.currentPosition=t.position,this.isTooltipVisible=!1,this.commandHandler.endTransaction(this.isProtectChange),this.endAction(),this.mouseDownElement=null},e.prototype.endAction=function(){this.isTooltipVisible||this.commandHandler.closeTooltip(),this.commandHandler=null,this.currentElement=null,this.currentPosition=null,this.inAction=!1,this.blocked=!1},e.prototype.mouseWheel=function(t){this.currentPosition=t.position},e.prototype.mouseLeave=function(t){this.mouseUp(t)},e.prototype.updateSize=function(t,e,i,r,n,o){t=this.commandHandler.renderContainerHelper(t)||t;var a,s={snapped:!1,offset:0,left:!1,right:!1},h={snapped:!1,offset:0,top:!1,bottom:!1},d=this.currentPosition.x-this.startPosition.x,l=this.currentPosition.y-this.startPosition.y,c=!(t instanceof js)&&this.commandHandler.snappingModule&&this.commandHandler.snappingModule.canSnap(),p=c?this.commandHandler.snappingModule.getLayer():null,g=t instanceof js?o:t.rotateAngle;S(a=y(),-g,0,0);var u=t.offsetX,f=t.offsetY,m=t.width,b=t.height;u-=m*t.pivot.x,f-=b*t.pivot.y;var w,x=0,I=0,C=t instanceof js?t.actualSize.width:t.width,P=t instanceof js?t.actualSize.height:t.height;switch(r){case"ResizeWest":d=(w=v(a,{x:d,y:l})).x,l=w.y,I=1,d=c?this.commandHandler.snappingModule.snapLeft(s,h,p,d,l,t,i===e,n):d,l=0,x=(n.width-d)/C;break;case"ResizeEast":d=(w=v(a,{x:d,y:l})).x,l=w.y,d=c?this.commandHandler.snappingModule.snapRight(s,h,p,d,l,t,i===e,n):d,l=0,x=(n.width+d)/C,I=1;break;case"ResizeNorth":x=1,d=(w=v(a,{x:d,y:l})).x,l=w.y,l=c?this.commandHandler.snappingModule.snapTop(s,h,p,d,l,t,i===e,n):l,I=(n.height-l)/P;break;case"ResizeSouth":x=1,d=(w=v(a,{x:d,y:l})).x,l=w.y,l=c?this.commandHandler.snappingModule.snapBottom(s,h,p,d,l,t,i===e,n):l,I=(n.height+l)/P;break;case"ResizeNorthEast":d=(w=v(a,{x:d,y:l})).x,l=w.y,d=c?this.commandHandler.snappingModule.snapRight(s,h,p,d,l,t,i===e,n):d,l=c?this.commandHandler.snappingModule.snapTop(s,h,p,d,l,t,i===e,n):l,x=(n.width+d)/C,I=(n.height-l)/P;break;case"ResizeNorthWest":d=(w=v(a,{x:d,y:l})).x,l=w.y,l=c?this.commandHandler.snappingModule.snapTop(s,h,p,d,l,t,i===e,n):l,d=c?this.commandHandler.snappingModule.snapLeft(s,h,p,d,l,t,i===e,n):d,x=(n.width-d)/C,I=(n.height-l)/P;break;case"ResizeSouthEast":d=(w=v(a,{x:d,y:l})).x,l=w.y,l=c?this.commandHandler.snappingModule.snapBottom(s,h,p,d,l,t,i===e,n):l,d=c?this.commandHandler.snappingModule.snapRight(s,h,p,d,l,t,i===e,n):d,I=(n.height+l)/P,x=(n.width+d)/C;break;case"ResizeSouthWest":d=(w=v(a,{x:d,y:l})).x,l=w.y,l=c?this.commandHandler.snappingModule.snapBottom(s,h,p,d,l,t,i===e,n):l,d=c?this.commandHandler.snappingModule.snapLeft(s,h,p,d,l,t,i===e,n):d,x=(n.width-d)/C,I=(n.height+l)/P}return{width:x,height:I}},e.prototype.getPivot=function(t){switch(t){case"ResizeWest":return{x:1,y:.5};case"ResizeEast":return{x:0,y:.5};case"ResizeNorth":return{x:.5,y:1};case"ResizeSouth":return{x:.5,y:0};case"ResizeNorthEast":return{x:0,y:1};case"ResizeNorthWest":return{x:1,y:1};case"ResizeSouthEast":return{x:0,y:0};case"ResizeSouthWest":return{x:1,y:0}}return{x:.5,y:.5}},e.prototype.getShapeType=function(){return"Image"===this.commandHandler.diagram.drawingObject.shape.type||"HTML"===this.commandHandler.diagram.drawingObject.shape.type||"Native"===this.commandHandler.diagram.drawingObject.shape.type||"Path"===this.commandHandler.diagram.drawingObject.shape.type?this.commandHandler.diagram.drawingObject.shape.type:this.commandHandler.diagram.drawingObject.shape.shape},e.prototype.triggerElementDrawEvent=function(e,i,r,n,o){var a={source:e,state:i,objectType:r,cancel:!1,elementType:n};this.commandHandler.triggerEvent(t.DiagramEvent.elementDraw,a),o&&a.cancel&&(this.commandHandler.diagram.resetTool(),this.inAction=!1)},e}(),Hh=function(t){function e(e,i,r){var n=t.call(this,e,!0)||this;return n.action=r,n}return Bh(e,t),e.prototype.mouseDown=function(e){this.inAction=!0,t.prototype.mouseDown.call(this,e)},e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),this.inAction&&!1===fs.equals(this.currentPosition,this.prevPosition)){var i=ms.toBounds([this.prevPosition,this.currentPosition]);this.commandHandler.clearSelectedItems(),this.commandHandler.drawSelectionRectangle(i.x,i.y,i.width,i.height)}return!this.blocked},e.prototype.mouseUp=function(e,i){if(this.checkPropertyValue(),!this.commandHandler.isUserHandle(this.currentPosition))if(!1===fs.equals(this.currentPosition,this.prevPosition)&&this.inAction){var r=ms.toBounds([this.prevPosition,this.currentPosition]);this.commandHandler.doRubberBandSelection(r)}else{var n=this.commandHandler.getSelectedObject();this.commandHandler.hasSelection()&&e.info&&e.info.ctrlKey?e&&e.source&&(this.commandHandler.isSelected(e.source)?1===e.clickCount&&this.commandHandler.unSelect(e.source):this.commandHandler.selectObjects([e.source],!0)):2===i&&n.some(function(t){return t===e.source})||(this.commandHandler.clearSelection(null===e.source),"LabelSelect"===this.action?this.commandHandler.labelSelect(e.source,e.sourceWrapper,n):e.source&&this.commandHandler.selectObjects([e.source],!1,n))}this.inAction=!1,t.prototype.mouseUp.call(this,e)},e.prototype.mouseLeave=function(t){this.inAction&&this.mouseUp(t)},e}(jh),Wh=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return Bh(i,e),i.prototype.mouseUp=function(i){this.checkPropertyValue(),this.inAction=!1;for(var r,n=i.source,o=i.sourceWrapper.id,a=0;a<n.fixedUserHandles.length;a++)o.indexOf(n.fixedUserHandles[parseInt(a.toString(),10)].id)>-1&&(r=n.fixedUserHandles[parseInt(a.toString(),10)]);var s={fixedUserHandle:r,element:i.source},h=t.DiagramEvent.fixedUserHandleClick;this.commandHandler.triggerEvent(h,s),e.prototype.mouseUp.call(this,i)},i}(jh),_h=function(i){function r(t,e){var r=i.call(this,t,!0)||this;return r.isConnected=!1,r.endPoint=e,r.toolName="ConnectTool",r}return Bh(r,i),r.prototype.mouseDown=function(t){return Nh(this,void 0,void 0,function(){var e,r,n,o,a,s;return Rh(this,function(h){if(this.inAction=!0,this.undoElement=void 0,this instanceof Uh||(this.undoElement=k(t.source)),i.prototype.mouseDown.call(this,t),t.source&&t.source.connectors&&(e={x:this.prevPosition.x,y:this.prevPosition.y},r=t.source.connectors[0],this.oldConnector=k(r)),"BezierSourceThumb"===this.endPoint||"BezierTargetThumb"===this.endPoint)for(n=0;n<r.segments.length;n++)o=r.segments[parseInt(n.toString(),10)],a=fs.isEmptyPoint(o.point1)?o.bezierPoint1:o.point1,s=fs.isEmptyPoint(o.point2)?o.bezierPoint2:o.point2,this.currentElement.handleSize!==r.hitPadding&&(r.hitPadding=this.currentElement.handleSize),(Mr(this.currentPosition,a,r.hitPadding)||Mr(this.currentPosition,s,r.hitPadding))&&(this.selectedSegment=o);return this.currentPosition=t.position,[2]})})},r.prototype.mouseUp=function(r){return Nh(this,void 0,void 0,function(){var n,o,a,s,h,d,l,c,p,g,u,f,m,y;return Rh(this,function(v){return n="ConnectorDrawingTool"===this.toolName,o=!(r&&r.source&&r.source.connectors&&r.source.connectors.length),(n||o)&&this.inAction?(this.checkPropertyValue(),this.commandHandler.updateSelector(),this.commandHandler.removeSnap(),jh.prototype.mouseUp(r),[2]):(!e.isBlazor()&&this.isConnected&&r.source&&r.source.connectors&&(y=r.source.connectors[0],a="ConnectorSourceEnd"===this.endPoint?"sourceID":"targetID",s="ConnectorSourceEnd"===this.endPoint?"sourcePortID":"targetPortID",g={connector:Do(y),oldValue:{nodeId:this.oldConnector[""+a],portId:this.oldConnector[""+s]},newValue:{nodeId:y[""+a],portId:y[""+s]},cancel:!1,state:"Changed",connectorEnd:this.endPoint},y[""+a]===this.oldConnector[""+a]&&y[""+s]===this.oldConnector[""+s]||(this.commandHandler.triggerEvent(t.DiagramEvent.connectionChange,g),this.isConnected=!1)),this.checkPropertyValue(),this.commandHandler.updateSelector(),this.commandHandler.removeSnap(),this instanceof Uh||("ConnectorSourceEnd"!==this.endPoint||!r.source.connectors.length||fs.equals(r.source.connectors[0].sourcePoint,this.undoElement.connectors[0].sourcePoint)&&r.source.connectors[0].sourceID===this.undoElement.connectors[0].sourceID)&&("ConnectorTargetEnd"!==this.endPoint||fs.equals(r.source.connectors[0].targetPoint,this.undoElement.connectors[0].targetPoint)&&r.source.connectors[0].targetID===this.undoElement.connectors[0].targetID)?this instanceof Uh||"BezierTargetThumb"!==this.endPoint&&"BezierSourceThumb"!==this.endPoint||this.undoElement&&r.source&&(f=k(r.source),m={type:"SegmentChanged",redoObject:f,undoObject:this.undoElement,category:"Internal"},this.commandHandler.addHistoryEntry(m)):(h=void 0,d=void 0,y=void 0,r.source&&r.source.connectors&&"ConnectorSourceEnd"===this.endPoint?(h={x:this.oldConnector.sourcePoint.x,y:this.oldConnector.sourcePoint.y},y=r.source.connectors[0],d={x:y.sourcePoint.x,y:y.sourcePoint.y}):r.source&&r.source.connectors&&"ConnectorTargetEnd"===this.endPoint&&(h={x:this.oldConnector.targetPoint.x,y:this.oldConnector.targetPoint.y},y=r.source.connectors[0],d={x:y.targetPoint.x,y:y.targetPoint.y}),l=void 0,c=void 0,r.target&&(p=this.commandHandler.findTarget(r.targetWrapper,r.target,"ConnectorSourceEnd"===this.endPoint,!0),c=p.id,p instanceof th&&(l=p.id,c=r.target.id)),this.commandHandler.diagram.diagramActions&t.DiagramAction.ToolAction&&(this.commandHandler.diagram.diagramActions&=~t.DiagramAction.ToolAction),g={connector:y,state:"Completed",targetNode:c,oldValue:h,newValue:d,cancel:!1,targetPort:l},this.undoElement&&r.source&&(f=void 0,f=k(r.source),m={type:"ConnectionChanged",redoObject:k(f),undoObject:k(this.undoElement),category:"Internal"},this.commandHandler.addHistoryEntry(m)),u="ConnectorSourceEnd"===this.endPoint?t.DiagramEvent.sourcePointChange:t.DiagramEvent.targetPointChange,this.commandHandler.triggerEvent(u,g)),this.canCancel=void 0,this.tempArgs=void 0,r.source&&r.source.connectors&&(y=r.source.connectors[0]).isBezierEditing&&(y.isBezierEditing=!1),i.prototype.mouseUp.call(this,r),[2])})})},r.prototype.mouseMove=function(r){var n=this;i.prototype.mouseMove.call(this,r);var o;if(!(this instanceof Uh)&&("ConnectorSourceEnd"===this.endPoint&&fs.equals(r.source.connectors[0].sourcePoint,this.undoElement.connectors[0].sourcePoint)||"ConnectorTargetEnd"===this.endPoint&&fs.equals(r.source.connectors[0].targetPoint,this.undoElement.connectors[0].targetPoint))){var a=void 0,s=void 0;r.source&&r.source.connectors&&(a={x:this.prevPosition.x,y:this.prevPosition.y},s=r.source.connectors[0]);var h=void 0,d=void 0;r.target&&(d=r.target.id,(S=this.commandHandler.findTarget(r.targetWrapper,r.target,"ConnectorSourceEnd"===this.endPoint,!0))instanceof th||S instanceof xl?h=S.id:d=S.id);var l={connector:s,state:"Start",targetNode:d,oldValue:a,newValue:a,cancel:!1,targetPort:h},c="ConnectorSourceEnd"===this.endPoint?t.DiagramEvent.sourcePointChange:t.DiagramEvent.targetPointChange;this.commandHandler.triggerEvent(c,l)}if(this.currentPosition=r.position,this.currentPosition&&this.prevPosition){var p=this.currentPosition.x-this.prevPosition.x,g=this.currentPosition.y-this.prevPosition.y,u=void 0,a=void 0,f=void 0,m=void 0;this.currentPosition=this.commandHandler.snapConnectorEnd(this.currentPosition);var y=void 0;r.source&&r.source.connectors&&(u={x:this.currentPosition.x,y:this.currentPosition.y},a={x:this.prevPosition.x,y:this.prevPosition.y},y=r.source.connectors[0]);var v=void 0,b=void 0,S=void 0;r.target&&((S=this.commandHandler.findTarget(r.targetWrapper,r.target,"ConnectorSourceEnd"===this.endPoint,!0))instanceof th||S instanceof eh?v=S.id:b=S.id);l={connector:y,state:"Progress",targetNode:b,oldValue:a,newValue:u,cancel:!1,targetPort:v};if(!(this instanceof Uh)){c="ConnectorSourceEnd"===this.endPoint?t.DiagramEvent.sourcePointChange:t.DiagramEvent.targetPointChange;this.commandHandler.triggerEvent(c,l)}if(r.target&&(f=co(r.target,!0),m=co(r.target,!1)),!l.cancel&&this.inAction&&void 0!==this.endPoint&&(0!==p||0!==g))if("ConnectorSourceEnd"===this.endPoint&&y&&"Orthogonal"===y.type&&y.segments&&y.segments.length>0){var w=y.segments[0].direction,x=function(t,e,i){n.blocked=!n.commandHandler.dragConnectorEnds(n.endPoint,r.source,i||n.currentPosition,n.selectedSegment,e?r.target:void 0,t)},I=y.sourcePortID!==v||y.sourceID!==b;if(!I||b||v)if(v&&y.sourcePortID!==v)this.checkConnect(S)&&(x(v,r.target.id),o=this.commandHandler.connect(this.endPoint,r,this.canCancel),this.isConnected=!0);else if(S instanceof Hl)if(I&&this.commandHandler.canDisconnect(this.endPoint,r,v,b)&&(o=this.commandHandler.disConnect(r.source,this.endPoint,this.canCancel)),Ne(S)){var C=b?this.commandHandler.diagram.nameTable[""+b].wrapper.corners:void 0;x(void 0,r.target.id,function(){if(!w||!C)return n.currentPosition;switch(w){case"Bottom":return C.bottomCenter;case"Top":return C.topCenter;case"Left":return C.middleLeft;case"Right":return C.middleRight;default:return n.currentPosition}}()),o=this.commandHandler.connect(this.endPoint,r,this.canCancel),this.isConnected=!0}else x(void 0,void 0);else S instanceof eh&&(this.blocked=!this.commandHandler.dragConnectorEnds(this.endPoint,r.source,this.currentPosition,this.selectedSegment,r.target,v),o=this.commandHandler.connect(this.endPoint,r,this.canCancel));else this.commandHandler.canDisconnect(this.endPoint,r,v,b)&&(o=this.commandHandler.disConnect(r.source,this.endPoint,this.canCancel),this.isConnected=!0,x(v,b))}else if(l.cancel||(this.blocked=!this.commandHandler.dragConnectorEnds(this.endPoint,r.source,this.currentPosition,this.selectedSegment,r.target,v),this.commandHandler.updateSelector()),r.target&&("ConnectorSourceEnd"===this.endPoint&&(Ne(r.target)||Re(m))||"ConnectorTargetEnd"===this.endPoint&&(ke(r.target)||Be(f)))){this.commandHandler.canDisconnect(this.endPoint,r,v,b)&&(o=this.commandHandler.disConnect(r.source,this.endPoint,this.canCancel),this.isConnected=!0);var P=this.commandHandler.findTarget(r.targetWrapper,r.target,"ConnectorSourceEnd"===this.endPoint,!0);P instanceof Hl?(ke(P)&&"ConnectorTargetEnd"===this.endPoint||Ne(P)&&"ConnectorSourceEnd"===this.endPoint)&&(o=this.commandHandler.connect(this.endPoint,r,this.canCancel),this.isConnected=!0):this.checkConnect(P)&&(this.isConnected=!0,o=this.commandHandler.connect(this.endPoint,r,this.canCancel))}else-1===this.endPoint.indexOf("Bezier")&&(this.isConnected=!0,o=this.commandHandler.disConnect(r.source,this.endPoint,this.canCancel),this.commandHandler.updateSelector());if(this.commandHandler.canEnableDefaultTooltip()){var D=this.getTooltipContent(r.position),T=function(){return D};this.commandHandler.showTooltip(r.source,r.position,e.initializeCSPTemplate(T),"ConnectTool",this.isTooltipVisible),this.isTooltipVisible=!1}else this.isTooltipVisible&&(this.commandHandler.closeTooltip(),this.isTooltipVisible=!1);o&&(this.tempArgs=o)}return this.prevPosition=this.currentPosition,!this.blocked},r.prototype.mouseLeave=function(t){this.mouseUp(t)},r.prototype.getTooltipContent=function(t){return"X:"+Math.round(t.x)+" Y:"+Math.round(t.y)},r.prototype.checkConnect=function(e){return!(!Be(e)||"ConnectorTargetEnd"!==this.endPoint)||(!(!Re(e)||"ConnectorSourceEnd"!==this.endPoint)||!(e.constraints&t.PortConstraints.None||Be(e)||Re(e))&&(void 0===e.constraints||(e.constraints&t.PortConstraints.Default&~(t.PortConstraints.InConnect|t.PortConstraints.OutConnect))>0))},r.prototype.endAction=function(){i.prototype.endAction.call(this),this.prevPosition=null,this.endPoint=null},r}(jh),Fh=function(i){function r(t,e){var r=i.call(this,t,!0)||this;return r.currentTarget=null,r.isStartAction=!1,r.canCancel=!1,r.canTrigger=!1,r.objectType=e,r}return Bh(r,i),r.prototype.mouseDown=function(t){if(t.source instanceof Hl||t.source instanceof xd){var e=this.commandHandler.getSelectedObject();this.commandHandler.selectObjects([t.source],t.info&&t.info.ctrlKey,e);var r={nodes:[],connectors:[]};t.source instanceof Hl?r.nodes.push(k(t.source)):r.connectors.push(k(t.source)),this.undoElement=k(r);var n=t.source.wrapper;this.undoElement.offsetX=n.offsetX,this.undoElement.offsetY=n.offsetY}else this.undoElement=k(t.source);this.commandHandler.trackConnectorChange(this.undoElement),this.undoParentElement=this.commandHandler.getSubProcess(t.source),this.undoContainerElement=this.commandHandler.getContainer(t.source),"Port"===this.objectType&&(this.portId=t.sourceWrapper.id),this.commandHandler.insertBlazorConnector(t.source),i.prototype.mouseDown.call(this,t),this.initialOffset={x:0,y:0}},r.prototype.getPort=function(t){for(var e,i=t.source.id,r=t.source.ports,n=0;n<r.length;n++)if(t.sourceWrapper.id===i+"_"+r[parseInt(n.toString(),10)].id){e=r[parseInt(n.toString(),10)];break}return e},r.prototype.mouseUp=function(e,r){return Nh(this,void 0,void 0,function(){var n,o,a,s,h,d,l,c,p,g,u,f,m,y,v,b,S,w,x,I,C,P,D,T,A,O,M,E,L,z;return Rh(this,function(B){if(this.checkPropertyValue(),s=!1,d={nodes:[],connectors:[]},"Port"!==this.objectType){if(e.source instanceof Hl||e.source instanceof xd?(e.source instanceof Hl?d.nodes.push(k(e.source)):d.connectors.push(k(e.source)),a=k(d),l=e.source.wrapper,a.offsetX=l.offsetX,a.offsetY=l.offsetY):a=k(e.source),this.commandHandler.trackConnectorChange(a),"helper"===(h=this.commandHandler.renderContainerHelper(e.source)||e.source||this.commandHandler.renderContainerHelper(e.source)).id||"helper"!==h.id){if(c=!1,h instanceof Ul&&(p=k(h)).selectedObjects.length===this.undoElement.selectedObjects.length)for(L=0;L<p.selectedObjects.length;L++)if(p.selectedObjects[parseInt(L.toString(),10)].id!==this.undoElement.selectedObjects[parseInt(L.toString(),10)].id){c=!0;break}if(g=h instanceof Ul,u=h instanceof Ul&&h.selectedObjects&&1===h.selectedObjects.length,f=h instanceof Ul&&Math.round(h.width)===Math.round(this.undoElement.width)&&Math.round(h.height)===Math.round(this.undoElement.height),m=h.offsetX!==this.undoElement.offsetX||h.offsetY!==this.undoElement.offsetY,y=h.sourcePoint!==this.undoElement.sourcePoint,v=h.targetPoint!==this.undoElement.targetPoint,!c&&(g&&(f||u)||!g)&&(m||y||v)||this.isSelectionHasConnector(h)){if(e.source&&(o={offsetX:e.source.wrapper.offsetX,offsetY:e.source.wrapper.offsetY},n={offsetX:e.source.wrapper.offsetX,offsetY:e.source.wrapper.offsetY}),z={source:e.source,state:"Completed",oldValue:this.intialValue,newValue:o,target:this.currentTarget,targetPosition:this.currentPosition,allowDrop:!0,cancel:!1},z={source:Do(e.source),state:"Completed",oldValue:Do(this.intialValue),newValue:Do(o),target:Do(this.currentTarget),targetPosition:Do(this.currentPosition),allowDrop:z.allowDrop,cancel:z.cancel},b=!0,"helper"===h.id)if(this.canTrigger){if((a.nodes.length>1||a.connectors.length>1)&&this.commandHandler.diagram.lineRoutingModule&&this.commandHandler.diagram.constraints&t.DiagramConstraints.LineRouting){for(S=this.commandHandler.diagram.nameTable,L=0;L<a.nodes.length;L++)if(!S[a.nodes[parseInt(L.toString(),10)].parentId]||!S[a.nodes[parseInt(L.toString(),10)].parentId].isLane){b=!1;break}}else b=!0;this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,z),this.connectorEndPointChangeEvent(z)}else b=!1;else this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,z),this.connectorEndPointChangeEvent(z);!r&&b&&(this.commandHandler.startGroupAction(),s=!0,A={type:"PositionChanged",redoObject:k(a),undoObject:k(this.undoElement),category:"Internal"},a.nodes[0]&&a.nodes[0].processId&&(w={type:"SizeChanged",category:"Internal",undoObject:this.undoParentElement,redoObject:this.commandHandler.getSubProcess(e.source)},this.commandHandler.addHistoryEntry(w)),a.nodes[0]&&a.nodes[0].parentId&&"Container"===this.commandHandler.diagram.nameTable[a.nodes[0].parentId].shape.type&&(x={type:"SizeChanged",category:"Internal",undoObject:this.undoContainerElement,redoObject:this.commandHandler.getContainer(e.source)},this.commandHandler.addHistoryEntry(x)),this.commandHandler.addHistoryEntry(A))}}if(I=this.commandHandler.snapPoint(this.prevPosition,this.currentPosition,0,0),this.commandHandler.removeSnap(),this.commandHandler.removeHighlighter(),e.source&&this.currentTarget&&He(this.currentTarget)&&this.commandHandler.isDroppable(e.source,this.currentTarget)){if(C=!0,this.commandHandler.drop(this.currentElement,this.currentTarget,this.currentPosition),this.currentTarget&&this.currentTarget instanceof xd&&!0===this.commandHandler.diagram.enableConnectorSplit)if(this.currentElement&&this.currentElement instanceof Hl){if(void 0!==this.currentElement.children)for(L=0;L<this.currentElement.children.length;L++)this.currentElement.children[parseInt(L.toString(),10)]!==this.currentTarget.sourceID&&this.currentElement.children[parseInt(L.toString(),10)]!==this.currentTarget.targetID||(C=!1);else this.currentElement.id!==this.currentTarget.sourceID&&this.currentElement.id!==this.currentTarget.targetID||(C=!1);C&&this.commandHandler.connectorSplit(this.currentElement,this.currentTarget)}else if(this.currentElement instanceof Ul&&!this.commandHandler.PreventConnectorSplit){if(this.currentElement.nodes[0].children)for(L=0;L<this.currentElement.nodes[0].children.length;L++)this.currentElement.nodes[0].children[parseInt(L.toString(),10)]!==this.currentTarget.sourceID&&this.currentElement.nodes[0].children[parseInt(L.toString(),10)]!==this.currentTarget.targetID||(C=!1);else this.currentElement.nodes[0].id!==this.currentTarget.sourceID&&this.currentElement.nodes[0].id!==this.currentTarget.targetID||(C=!1);C&&(this.commandHandler.connectorSplit(this.currentElement.nodes[0],this.currentTarget),this.commandHandler.PreventConnectorSplit=!1)}if(z={element:e.source,target:this.currentTarget,position:this.currentPosition,cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.drop,z),!z.cancel&&e.source&&this.commandHandler.isParentAsContainer(this.currentTarget)&&!this.commandHandler.isTargetSubProcess(this.currentTarget)){for(P=e.source instanceof Ul?e.source.nodes:[e.source],D=!1,L=0;L<P.length&&P[0].parentId===P[parseInt(L.toString(),10)].parentId;L++);for(this.commandHandler.diagram.selectedItems.nodes.length!==P.length&&(P=this.commandHandler.diagram.selectedItems.nodes),this.commandHandler.diagram.selectedItems.nodes.length>1?(P=this.calculateDiff(this.commandHandler.diagram.selectedItems,this.currentTarget,this.commandHandler.diagram),this.commandHandler.diagram.multiselect=!0):this.commandHandler.diagram.multiselect=!1,L=0;L<P.length;L++)P[parseInt(L.toString(),10)].container||this.commandHandler.diagram.cancelPositionChange||(D=!0,this.commandHandler.updateLaneChildrenZindex(P[parseInt(L.toString(),10)],this.currentTarget),this.commandHandler.dropChildToContainer(this.currentTarget,P[parseInt(L.toString(),10)]),this.commandHandler.renderContainerHelper(P[parseInt(L.toString(),10)]));P.length>1&&(T=this.commandHandler.diagram.nameTable.helper)&&Sr(this.currentTarget,T,this.commandHandler.diagram),s&&this.commandHandler.isContainer&&D&&this.commandHandler.endGroupAction()}}e.source&&this.currentTarget&&this.commandHandler.dropAnnotation(e.source,this.currentTarget),this.commandHandler.updateSelector(),s&&!this.commandHandler.isContainer&&this.commandHandler.endGroupAction()}else{if(d.nodes.push(k(e.source)),e.portId=this.portId,a=k(d),A={type:"PortPositionChanged",objectId:this.portId,redoObject:k(a),undoObject:k(this.undoElement),category:"Internal"},this.commandHandler.addHistoryEntry(A),O=this.getPort(e)){for(M=this.undoElement.nodes.length>0?this.undoElement.nodes[0].ports:[],E=this.undoElement.connectors.length>0?this.undoElement.connectors[0].ports:[],L=0;L<M.length;L++)if(O.id===M[parseInt(L.toString(),10)].id){n={offsetX:M[parseInt(L.toString(),10)].offset.x,offsetY:M[parseInt(L.toString(),10)].offset.y},o={offsetX:O.offset.x,offsetY:O.offset.y};break}for(L=0;L<E.length;L++)if(O.id===E[parseInt(L.toString(),10)].id){n={offset:E[parseInt(L.toString(),10)].offset},o={offset:O.offset};break}}z={source:O,state:"Completed",oldValue:n,newValue:o,target:this.currentTarget,targetPosition:this.currentPosition,allowDrop:!0,cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,z)}return i.prototype.mouseUp.call(this,e),[2]})})},r.prototype.clearDiff=function(t){t.forEach(function(t,e){delete t.diffX,delete t.diffY})},r.prototype.calculateDiff=function(t,e,i){this.clearDiff(t.nodes);var r,n,o=t.wrapper.bounds.left,a=t.wrapper.bounds.top,s=e.wrapper.bounds.left,h=e.wrapper.bounds.top,d=i.nameTable[e.parentId];0===e.columnIndex&&d&&"Horizontal"===d.shape.orientation&&(s+=50),1===e.rowIndex&&d&&"Vertical"===d.shape.orientation&&(h+=50),r=o<s?s-o:0,n=a<h?h-a:0;var l=t.nodes;return l.forEach(function(t,e){t.diffX=r,t.diffY=n}),l},r.prototype.connectorEndPointChangeEvent=function(t,e){var i=t.source;if(i instanceof Ul&&i.nodes.length>0)for(var r=0;r<i.nodes.length;r++){var n=i.nodes[parseInt(r.toString(),10)];if(n&&n.inEdges.length>0)for(o=0;o<n.inEdges.length;o++){a=this.commandHandler.diagram.getObject(n.inEdges[parseInt(o.toString(),10)]);this.triggerEndPointEvent(a,t,e,"targetPointChange")}if(n&&n.outEdges.length>0)for(var o=0;o<n.outEdges.length;o++){var a=this.commandHandler.diagram.getObject(n.outEdges[parseInt(o.toString(),10)]);this.triggerEndPointEvent(a,t,e,"sourcePointChange")}}},r.prototype.triggerEndPointEvent=function(e,i,r,n){var o={connector:e,state:i.state,targetNode:e.targetID,targetPort:e.targetPortID,sourceNode:e.sourceID,sourcePort:e.sourcePortID,oldValue:{x:e.targetPoint.x,y:e.targetPoint.y},newValue:{x:e.targetPoint.x+(r?r.x:0),y:e.targetPoint.y+(r?r.y:0)},cancel:i.cancel};this.commandHandler.triggerEvent("targetPointChange"===n?t.DiagramEvent.targetPointChange:t.DiagramEvent.sourcePointChange,o)},r.prototype.isSelectionHasConnector=function(t){return!(!(t.nodes&&t.connectors&&t.nodes.length>0&&t.connectors.length>0)||t.width===this.undoElement.width&&t.height===this.undoElement.height)},r.prototype.mouseMove=function(r){i.prototype.mouseMove.call(this,r);var n,o=!1;(n=this.commandHandler.renderContainerHelper(r.source)||r.source)instanceof Hl||n instanceof xd?n instanceof Hl?n.offsetX===this.undoElement.nodes[0].offsetX&&n.offsetY===this.undoElement.nodes[0].offsetY&&(o=!0):fs.equals(n.sourcePoint,this.undoElement.connectors[0].sourcePoint)&&fs.equals(n.targetPoint,this.undoElement.connectors[0].targetPoint)&&(o=!0):n.wrapper.offsetX===this.undoElement.wrapper.offsetX&&n.wrapper.offsetY===this.undoElement.wrapper.offsetY&&(o=!0);var a;n&&(a={offsetX:n.wrapper.offsetX,offsetY:n.wrapper.offsetY});var s={source:n,state:"Start",oldValue:a,newValue:a,target:r.target,targetPosition:r.position,allowDrop:!0,cancel:!1};if(s={source:Do(n),state:"Start",oldValue:Do(a),newValue:Do(a),target:r.target,targetPosition:r.position,allowDrop:s.allowDrop,cancel:s.cancel},"Port"===this.objectType){if(E=this.getPort(r)){for(var h=this.undoElement.nodes.length>0?this.undoElement.nodes[0].ports:[],d=this.undoElement.connectors.length>0?this.undoElement.connectors[0].ports:[],l=0;l<h.length;l++)if(a={offsetX:E.offset.x,offsetY:E.offset.y},E.offset.x!==h[parseInt(l.toString(),10)].offset.x||E.offset.y!==h[parseInt(l.toString(),10)].offset.y){o=!1;break}for(l=0;l<d.length;l++)if(a={offset:E.offset},E.offset!==d[parseInt(l.toString(),10)].offset){o=!1;break}}s={source:E,state:"Start",oldValue:a,newValue:a,target:r.target,targetPosition:r.position,allowDrop:!0,cancel:!1}}if(!this.isStartAction&&(this.intialValue={offsetX:n.wrapper.offsetX,offsetY:n.wrapper.offsetY},this.commandHandler.diagram.lineRoutingModule&&this.commandHandler.diagram.constraints&t.DiagramConstraints.LineRouting&&"ComplexHierarchicalTree"!==this.commandHandler.diagram.layout.type)){var c=z(n.wrapper);c.Inflate(40);for(var p=0,g=this.commandHandler.diagram.spatialSearch.findObjects(c);p<g.length;p++){var u=g[p];u instanceof xd&&this.commandHandler.diagram.routedConnectors.indexOf(u.id)}}if(o&&!e.isBlazor()&&(this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,s),this.connectorEndPointChangeEvent(s),this.isStartAction=!0),this.commandHandler.diagram.cancelPositionChange=s.cancel,this.currentPosition=r.position,"Port"!==this.objectType){this.currentPosition.x,this.prevPosition.x,this.currentPosition.y,this.prevPosition.y;var f=this.initialOffset.x+(this.currentPosition.x-this.prevPosition.x),m=this.initialOffset.y+(this.currentPosition.y-this.prevPosition.y);this.commandHandler.dragOverElement(r,this.currentPosition),this.commandHandler.disConnect(r.source),this.commandHandler.removeSnap();var b,w=void 0,x=this.commandHandler.snapPoint(this.prevPosition,this.currentPosition,f,m);this.initialOffset.x=f-x.x,this.initialOffset.y=m-x.y,n&&(b={offsetX:n.wrapper.offsetX,offsetY:n.wrapper.offsetY},w={offsetX:n.wrapper.offsetX+x.x,offsetY:n.wrapper.offsetY+x.y}),this.currentTarget&&r.target!==this.currentTarget&&this.commandHandler.removeChildFromBPmn(r.source,r.target,this.currentTarget),this.currentTarget=r.target;var I={source:n,state:"Progress",oldValue:b,newValue:w,target:r.target,targetPosition:r.position,allowDrop:!0,cancel:!1};if(this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,I),this.commandHandler.diagram.cancelPositionChange=I.cancel,this.canTrigger=!0,this.connectorEndPointChangeEvent(I,x),!I.cancel&&!this.canCancel){this.blocked=!this.commandHandler.dragSelectedObjects(x.x,x.y);var C=!this.commandHandler.mouseOver(this.currentElement,this.currentTarget,this.currentPosition);this.blocked=this.blocked||C}if(this.commandHandler.removeStackHighlighter(),this.commandHandler.renderStackHighlighter(r),this.currentTarget&&r.source!==this.currentTarget&&this.commandHandler.isDroppable(r.source,this.currentTarget)&&"helper"!==r.source.id){var P=r.source instanceof Ul?r.source.nodes[0]||r.source.connectors[0]:r.source;this.commandHandler.isParentAsContainer(P,!0)||"SwimLane"===P.shape.type||P.shape.isPhase||(this.currentTarget.isLane?this.commandHandler.renderStackHighlighter(r,this.currentTarget):this.commandHandler.drawHighlighter(this.currentTarget))}else this.commandHandler.removeHighlighter();if(this.commandHandler.canEnableDefaultTooltip()){var D=this.getTooltipContent(r.source),T=function(){return D};this.commandHandler.showTooltip(r.source,r.position,e.initializeCSPTemplate(T),"MoveTool",this.isTooltipVisible),this.isTooltipVisible=!1}else this.isTooltipVisible&&(this.commandHandler.closeTooltip(),this.isTooltipVisible=!1)}else{var A,O=y(),M=r.source,w=void 0,h=this.undoElement.nodes.length>0?this.undoElement.nodes[0].ports:[],d=this.undoElement.connectors.length>0?this.undoElement.connectors[0].ports:[],E=this.getPort(r);if(E){for(l=0;l<h.length;l++){A={offsetX:E.offset.x,offsetY:E.offset.y};break}for(l=0;l<d.length;l++){A={offset:E.offset};break}}S(O,-M.rotateAngle||-M.wrapper.rotateAngle,M.offsetX||M.wrapper.offsetX,M.offsetY||M.wrapper.offsetY);var L=v(O,{x:this.prevPosition.x,y:this.prevPosition.y}),k=v(O,{x:r.position.x,y:r.position.y});if(this.commandHandler.portDrag(r.source,r.sourceWrapper,k.x-L.x,k.y-L.y),E){for(l=0;l<h.length;l++){w={offsetX:E.offset.x,offsetY:E.offset.y};break}for(l=0;l<d.length;l++){w={offset:E.offset};break}}var B={source:E,state:"Progress",oldValue:A,newValue:w,target:r.target,targetPosition:r.position,allowDrop:!0,cancel:!1};this.commandHandler.triggerEvent(t.DiagramEvent.positionChange,B)}return this.prevPosition=this.currentPosition,!this.blocked},r.prototype.getTooltipContent=function(t){return"X:"+Math.round(t.wrapper.bounds.x)+" Y:"+Math.round(t.wrapper.bounds.y)},r.prototype.mouseLeave=function(t){this.mouseUp(t)},r.prototype.endAction=function(){i.prototype.endAction.call(this),this.currentTarget=null,this.prevPosition=null},r}(jh),Yh=function(i){function r(t){var e=i.call(this,t,!0)||this;return e.rotateStart=!1,e}return Bh(r,i),r.prototype.mouseDown=function(t){if(this.undoElement=k(t.source),this.undoElement.nodes[0]&&this.undoElement.nodes[0].children)for(var e=[],r=this.commandHandler.getAllDescendants(this.undoElement.nodes[0],e),n=0;n<r.length;n++){var o=this.commandHandler.cloneChild(r[parseInt(n.toString(),10)].id);this.childTable[r[parseInt(n.toString(),10)].id]=k(o)}this.commandHandler.trackConnectorChange(this.undoElement),i.prototype.mouseDown.call(this,t)},r.prototype.mouseUp=function(e){return Nh(this,void 0,void 0,function(){var r,n,o,a,s,h;return Rh(this,function(d){return this.checkPropertyValue(),r=this.commandHandler.renderContainerHelper(e.source)||e.source,this.undoElement.rotateAngle!==r.wrapper.rotateAngle&&(n={rotateAngle:this.undoElement.rotateAngle},o={rotateAngle:r.wrapper.rotateAngle},a={source:e.source,state:"Completed",oldValue:n,newValue:o,cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.rotateChange,a),s=void 0,s=k(e.source),this.commandHandler.trackConnectorChange(s),h={type:"RotationChanged",redoObject:k(s),undoObject:k(this.undoElement),category:"Internal",childTable:this.childTable},this.commandHandler.addHistoryEntry(h),this.rotateStart=!1),this.commandHandler.updateSelector(),this.canCancel=void 0,this.tempArgs=void 0,i.prototype.mouseUp.call(this,e),[2]})})},r.prototype.mouseMove=function(r){i.prototype.mouseMove.call(this,r);var n;if(n=this.commandHandler.renderContainerHelper(r.source)||r.source,this.undoElement.rotateAngle===n.wrapper.rotateAngle&&!this.rotateStart){var o={rotateAngle:n.wrapper.rotateAngle},a={source:r.source,state:"Start",oldValue:o,newValue:o,cancel:!1};this.commandHandler.triggerEvent(t.DiagramEvent.rotateChange,a),this.rotateStart=!0}this.currentPosition=r.position;var s={x:n.wrapper.offsetX,y:n.wrapper.offsetY},h=fs.findAngle(s,this.currentPosition)+90,d=this.commandHandler.snapAngle(h);h=((h=0!==d?d:h)+360)%360;var l={rotateAngle:n.wrapper.rotateAngle},c={rotateAngle:h},p={source:r.source,state:"Progress",oldValue:l,newValue:c,cancel:!1},g={source:Do(r.source),state:"Progress",oldValue:Do(l),newValue:Do(c),cancel:p.cancel};if(this.commandHandler.triggerEvent(t.DiagramEvent.rotateChange,g),g.cancel||(this.blocked=!this.commandHandler.rotateSelectedItems(h-n.wrapper.rotateAngle)),this.commandHandler.canEnableDefaultTooltip()){var u=this.getTooltipContent(r.source),f=function(){return u};this.commandHandler.showTooltip(r.source,r.position,e.initializeCSPTemplate(f),"RotateTool",this.isTooltipVisible),this.isTooltipVisible=!1}return!this.blocked},r.prototype.getTooltipContent=function(t){return Math.round(t.rotateAngle%360).toString()+"°"},r.prototype.mouseLeave=function(t){this.mouseUp(t)},r.prototype.endAction=function(){i.prototype.endAction.call(this)},r}(jh),Vh=function(i){function r(t,e){var r=i.call(this,t,!0)||this;return r.resizeStart=!1,r.initialBounds=new ms,r.canCancel=!1,r.corner=e,r}return Bh(r,i),r.prototype.mouseDown=function(t){if(this.undoElement=k(t.source),this.undoParentElement=this.commandHandler.getSubProcess(t.source),this.undoContainerElement=this.commandHandler.getContainer(t.source),i.prototype.mouseDown.call(this,t),this.undoElement.nodes[0]&&this.undoElement.nodes[0].children)for(var e=[],r=this.commandHandler.getAllDescendants(this.undoElement.nodes[0],e),n=0;n<r.length;n++){var o=this.commandHandler.cloneChild(r[parseInt(n.toString(),10)].id);this.childTable[r[parseInt(n.toString(),10)].id]=k(o)}this.commandHandler.trackConnectorChange(this.undoElement),this.commandHandler.checkSelection(t.source,this.corner),i.prototype.mouseDown.call(this,t),this.initialBounds.x=t.source.wrapper.offsetX,this.initialBounds.y=t.source.wrapper.offsetY,this.initialBounds.height=t.source.wrapper.actualSize.height,this.initialBounds.width=t.source.wrapper.actualSize.width},r.prototype.mouseUp=function(e,r){return Nh(this,void 0,void 0,function(){var n,o,a,s,h,d,l,c;return Rh(this,function(p){return this.checkPropertyValue(),this.commandHandler.removeSnap(),this.commandHandler.updateSelector(),n=this.commandHandler.renderContainerHelper(e.source)||e.source,this.undoElement.offsetX===n.wrapper.offsetX&&this.undoElement.offsetY===n.wrapper.offsetY&&this.undoElement.width===n.wrapper.bounds.width&&this.undoElement.height===n.wrapper.bounds.height||(o=this.updateSize(e.source,this.currentPosition,this.prevPosition,this.corner,this.initialBounds),this.blocked=this.scaleObjects(o.width,o.height,this.corner,this.currentPosition,this.prevPosition,n),a={width:e.source.wrapper.actualSize.width,height:e.source.wrapper.actualSize.height},s={source:Do(e.source),state:"Completed",oldValue:this.startValues,newValue:a,cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.sizeChange,s),h=k(e.source),this.commandHandler.trackConnectorChange(h),d={type:"SizeChanged",redoObject:k(h),undoObject:k(this.undoElement),category:"Internal",childTable:this.childTable},this.resizeStart=!1,r||(this.commandHandler.startGroupAction(),h.nodes[0]&&h.nodes[0].processId&&(l={type:"SizeChanged",redoObject:this.commandHandler.getSubProcess(e.source),undoObject:this.undoParentElement,category:"Internal"},this.commandHandler.addHistoryEntry(l)),h.nodes[0]&&h.nodes[0].parentId&&"Container"===this.commandHandler.diagram.nameTable[h.nodes[0].parentId].shape.type&&(c={type:"SizeChanged",redoObject:this.commandHandler.getContainer(e.source),undoObject:this.undoContainerElement,category:"Internal"},this.commandHandler.addHistoryEntry(c)),this.commandHandler.addHistoryEntry(d),this.commandHandler.endGroupAction())),i.prototype.mouseUp.call(this,e),[2,!this.blocked]})})},r.prototype.mouseMove=function(r){i.prototype.mouseMove.call(this,r);var n;if(n=this.commandHandler.renderContainerHelper(r.source)||r.source,this.undoElement.offsetX===n.wrapper.offsetX&&this.undoElement.offsetY===n.wrapper.offsetY&&!this.resizeStart){var o={width:r.source.wrapper.actualSize.width,height:r.source.wrapper.actualSize.height};this.startValues=o;var a={source:r.source,state:"Start",oldValue:o,newValue:this.currentElement,cancel:!1};this.commandHandler.triggerEvent(t.DiagramEvent.sizeChange,a),this.resizeStart=!0}this.currentPosition=r.position;var s={x:this.currentPosition.x-this.startPosition.x,y:this.currentPosition.y-this.startPosition.y};s=U(-this.currentElement.wrapper.rotateAngle,void 0,void 0,s);this.currentElement.wrapper.actualSize.width,s.x,this.currentElement.wrapper.actualSize.width,this.currentElement.wrapper.actualSize.height,s.y,this.currentElement.wrapper.actualSize.height;s=this.getChanges(s),this.commandHandler.removeSnap();var h=this.updateSize(r.source,this.startPosition,this.currentPosition,this.corner,this.initialBounds);if(this.blocked=!this.scaleObjects(h.width,h.height,this.corner,this.startPosition,this.currentPosition,n),this.commandHandler.canEnableDefaultTooltip()){var d=this.getTooltipContent(r.source),l=function(){return d};this.commandHandler.showTooltip(r.source,r.position,e.initializeCSPTemplate(l),"ResizeTool",this.isTooltipVisible),this.isTooltipVisible=!1}else this.isTooltipVisible&&(this.commandHandler.closeTooltip(),this.isTooltipVisible=!1);return this.prevPosition=this.currentPosition,!this.blocked},r.prototype.mouseLeave=function(t){this.mouseUp(t)},r.prototype.getTooltipContent=function(t){return"W:"+Math.round(t.wrapper.bounds.width)+" H:"+Math.round(t.wrapper.bounds.height)},r.prototype.getChanges=function(t){switch(this.corner){case"ResizeEast":return{x:t.x,y:0};case"ResizeSouthEast":return t;case"ResizeSouth":return{x:0,y:t.y};case"ResizeNorth":return{x:0,y:-t.y};case"ResizeNorthEast":return{x:t.x,y:-t.y};case"ResizeNorthWest":return{x:-t.x,y:-t.y};case"ResizeWest":return{x:-t.x,y:0};case"ResizeSouthWest":return{x:-t.x,y:t.y}}return t},r.prototype.scaleObjects=function(e,i,r,n,o,a){var s=this.commandHandler.diagram.selectedItems;(a instanceof Ul&&1===a.nodes.length&&a.nodes[0].constraints&t.NodeConstraints.AspectRatio||a instanceof Hl&&"helper"===a.id&&1===s.nodes.length&&s.nodes[0].constraints&t.NodeConstraints.AspectRatio)&&("ResizeWest"===r||"ResizeEast"===r||"ResizeNorth"===r||"ResizeSouth"===r?1===i&&1===e||(i=e=Math.max(1===i?0:i,1===e?0:e)):i=e=Math.max(i,e));var h={width:a.width,height:a.height};this.blocked=this.commandHandler.scaleSelectedItems(e,i,this.getPivot(this.corner));var d,l={width:a.width,height:a.height};d={source:a,state:"Progress",oldValue:h,newValue:l,cancel:!1};var c;return c={source:Do(a),state:"Progress",oldValue:Do(h),newValue:Do(l),cancel:d.cancel},this.commandHandler.triggerEvent(t.DiagramEvent.sizeChange,c),(c.cancel||this.canCancel)&&this.commandHandler.scaleSelectedItems(1/e,1/i,this.getPivot(this.corner)),this.blocked},r}(jh),Xh=function(t){function e(e,i){var r=t.call(this,e,!0)||this;return r.sourceObject=i,r}return Bh(e,t),e.prototype.mouseDown=function(e){t.prototype.mouseDown.call(this,e),this.inAction=!0,this.commandHandler.setFocus(),this.triggerElementDrawEvent(e.source,"Start","Node",this.getShapeType(),!0)},e.prototype.mouseMove=function(e){t.prototype.mouseMove.call(this,e);var i,r={offsetX:this.currentPosition.x,width:3,height:3,offsetY:this.currentPosition.y};if(this.drawingObject||(this.drawingObject=this.commandHandler.drawObject(r)),this.triggerElementDrawEvent(this.drawingObject,"Progress","Node",this.getShapeType(),!1),this.inAction&&!1===fs.equals(this.currentPosition,this.prevPosition)){var n=ms.toBounds([this.prevPosition,this.currentPosition]);(i=this.commandHandler.checkBoundaryConstraints(void 0,void 0,n))&&this.commandHandler.updateNodeDimension(this.drawingObject,n)}return i},e.prototype.mouseUp=function(e){this.checkPropertyValue();var i=ms.toBounds([this.prevPosition,this.currentPosition]);this.commandHandler.checkBoundaryConstraints(void 0,void 0,i),this.drawingObject&&this.drawingObject instanceof Hl&&(this.commandHandler.addObjectToDiagram(this.drawingObject),this.triggerElementDrawEvent(this.drawingObject,"Completed","Node",this.getShapeType(),!1),this.drawingObject=null),t.prototype.mouseUp.call(this,e),this.inAction=!1},e.prototype.endAction=function(){t.prototype.endAction.call(this)},e.prototype.mouseLeave=function(t){this.inAction&&this.mouseUp(t)},e}(jh),Uh=function(t){function e(e,i,r){var n=t.call(this,e,i)||this;return n.sourceObject=r,n.toolName="ConnectorDrawingTool",n}return Bh(e,t),e.prototype.mouseDown=function(e){return Nh(this,void 0,void 0,function(){return Rh(this,function(i){return t.prototype.mouseDown.call(this,e),this.inAction=!0,this.commandHandler.setFocus(),this.triggerElementDrawEvent(e.source,"Start","Connector",this.commandHandler.diagram.drawingObject.type,!0),[2]})})},e.prototype.mouseMove=function(e){if(this.commandHandler.enableServerDataBinding(!1),this.inAction){var i={sourcePoint:this.currentPosition,targetPoint:this.currentPosition};if(this.drawingObject||(this.drawingObject=this.commandHandler.drawObject(i)),e.source=this.drawingObject,this.triggerElementDrawEvent(e.source,"Progress","Connector",this.drawingObject.type,!1),e.actualObject&&(e.actualObject.parentId||e.actualObject.children)&&""===this.drawingObject.sourceID&&""===this.drawingObject.targetID&&this.setTarget(e),(e.target&&e.target instanceof Hl||e.actualObject&&e.sourceWrapper&&qd(e.actualObject,e.sourceWrapper))&&("ConnectorTargetEnd"!==this.endPoint||ke(e.target))){if(e.sourceWrapper&&e.actualObject&&!e.actualObject.isPhase&&!e.actualObject.isLane){var r=e.sourceWrapper.id.split("_")[0],n=e.sourceWrapper.id.split("_")[1],o=e.actualObject.ports.find(function(t){return t.id===n});if(o&&Be(o)&&!Re(o)&&e.sourceWrapper instanceof Ws){if(this.endPoint="ConnectorTargetEnd",e.targetWrapper=e.sourceWrapper,e.sourceWrapper=null,!e.target||e.target&&e.target.id!==r){var a=this.commandHandler.diagram.nameTable[""+r];e.target=a||e.target}this.commandHandler.connect(this.endPoint,e),this.endPoint="ConnectorSourceEnd"}else this.commandHandler.connect(this.endPoint,e),this.endPoint="ConnectorTargetEnd"}}else""===this.drawingObject.targetID&&(this.endPoint="ConnectorTargetEnd")}return this.inAction||(this.commandHandler.updateSelector(),e.source&&!e.source.isLane&&e.sourceWrapper&&this.commandHandler.renderHighlighter(e,!0)),t.prototype.mouseMove.call(this,e),this.commandHandler.enableServerDataBinding(!0),!this.blocked},e.prototype.setTarget=function(t){t.target?t.sourceWrapper.id.includes(t.target.id)||t.target.parentId&&t.sourceWrapper.id.includes(t.target.parentId)&&(t.target=this.commandHandler.diagram.nameTable[t.target.parentId]):t.sourceWrapper.id.includes(t.actualObject.id)?t.target=t.actualObject:t.actualObject.parentId&&t.sourceWrapper.id.includes(t.actualObject.parentId)&&(t.target=this.commandHandler.diagram.nameTable[t.actualObject.parentId])},e.prototype.mouseUp=function(e){return Nh(this,void 0,void 0,function(){return Rh(this,function(i){return this.commandHandler.enableServerDataBinding(!1),this.checkPropertyValue(),this.drawingObject&&this.drawingObject instanceof xd&&(this.commandHandler.addObjectToDiagram(this.drawingObject),this.triggerElementDrawEvent(this.drawingObject,"Completed","Connector",this.drawingObject.type,!1),this.drawingObject=null),this.inAction=!1,this.commandHandler&&(this.commandHandler.enableServerDataBinding(!0),t.prototype.mouseUp.call(this,e)),[2]})})},e.prototype.endAction=function(){t.prototype.endAction.call(this)},e.prototype.mouseLeave=function(t){this.inAction&&this.mouseUp(t)},e}(_h),Gh=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseDown=function(e){t.prototype.mouseDown.call(this,e),this.commandHandler.clearSelection();var i={shape:{type:"Text"},offsetX:this.currentPosition.x,offsetY:this.currentPosition.y};e.source||(this.drawingNode=this.commandHandler.drawObject(i))},e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),this.drawingNode)this.drawingNode.style.strokeColor="black",this.drawingNode.style.strokeDashArray="2 2",this.drawingNode.style.fill="transparent";else{var i={shape:{type:"Text"},offsetX:this.currentPosition.x,width:30,height:30,offsetY:this.currentPosition.y};this.drawingNode=this.commandHandler.drawObject(i),this.drawingNode.style.strokeDashArray="2 2",this.drawingNode.style.fill="transparent"}if(this.inAction&&!1===fs.equals(this.currentPosition,this.prevPosition)){var r=ms.toBounds([this.prevPosition,this.currentPosition]);this.commandHandler.updateNodeDimension(this.drawingNode,r)}return!this.blocked},e.prototype.mouseUp=function(e){this.checkPropertyValue(),this.drawingNode?(this.drawingNode.style.strokeColor="none",this.drawingNode.style.fill="none"):this.drawingNode=e.source,this.drawingNode&&this.drawingNode instanceof Hl&&this.commandHandler.addText(this.drawingNode,this.currentPosition),t.prototype.mouseUp.call(this,e),this.inAction=!1},e.prototype.endAction=function(){t.prototype.endAction.call(this)},e}(jh),Zh=function(t){function e(e,i){var r=t.call(this,e)||this;return r.zooming=i,r}return Bh(e,t),e.prototype.mouseDown=function(e){t.prototype.mouseDown.call(this,e),this.inAction=!0,this.commandHandler.setBlazorDiagramProps(!0)},e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),this.inAction)if(this.zooming||!1!==fs.equals(this.currentPosition,this.prevPosition)){if(e.moveTouches&&e.moveTouches.length&&e.moveTouches.length>=2){var i=e.startTouches[0],r=e.startTouches[1],n=e.moveTouches[0],o=e.moveTouches[1],a=this.getDistance(n,o)/this.getDistance(i,r),s=e.position;1!==a&&this.commandHandler.zoom(a,0,0,s),this.updateTouch(i,n),this.updateTouch(r,o)}}else{var h=this.currentPosition.x-this.prevPosition.x,d=this.currentPosition.y-this.prevPosition.y;this.commandHandler.scroll(h,d,this.currentPosition)}return this.commandHandler.dataBinding(),!this.blocked},e.prototype.mouseUp=function(e){this.commandHandler.setBlazorDiagramProps(!1),this.checkPropertyValue(),this.commandHandler.updatePanState(!1),t.prototype.mouseUp.call(this,e),this.inAction=!1},e.prototype.endAction=function(){t.prototype.endAction.call(this)},e.prototype.getDistance=function(t,e){var i=e.pageX-t.pageX,r=e.pageY-t.pageY;return Math.sqrt(i*i+r*r)},e.prototype.updateTouch=function(t,e){t.pageX=e.pageX,t.pageY=e.pageY},e}(jh),qh=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseUp=function(e){this.checkPropertyValue(),this.commandHandler.initExpand(e),t.prototype.mouseUp.call(this,e)},e}(jh),Kh=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseUp=function(e){this.checkPropertyValue();var i="_blank",r="",n=window.innerHeight,o=window.innerWidth,a=window.screenTop,s=window.screenLeft;"CurrentTab"===e.sourceWrapper.hyperlink.hyperlinkOpenState?i="_self":"NewWindow"===e.sourceWrapper.hyperlink.hyperlinkOpenState&&(r="height="+n+",width="+o+",top="+a+",left="+s),window.open(e.sourceWrapper.hyperlink.link,i,r).focus(),t.prototype.mouseUp.call(this,e)},e}(jh),Qh=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseDown=function(e){if(t.prototype.mouseDown.call(this,e),this.inAction=!0,this.drawingObject){var i=void 0,r=this.drawingObject.shape;i={x:(i=r.points[r.points.length-1]).x,y:i.y},this.drawingObject.shape.points.push(i)}else{this.startPoint={x:this.startPosition.x,y:this.startPosition.y};var n={offsetX:this.currentPosition.x,offsetY:this.currentPosition.y,width:5,height:5,shape:{type:"Basic",shape:"Polygon",points:[{x:this.startPoint.x,y:this.startPoint.y},{x:this.currentPosition.x,y:this.currentPosition.y}]}};this.triggerElementDrawEvent(e.source,"Start","Node",this.getShapeType(),!0),this.drawingObject=this.commandHandler.drawObject(n)}},e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),this.inAction){var i=this.drawingObject.shape;if(i.points[i.points.length-1].x=this.currentPosition.x,i.points[i.points.length-1].y=this.currentPosition.y,this.drawingObject.wrapper.children[0].data=h(this.drawingObject.shape.points),this.triggerElementDrawEvent(this.drawingObject,"Progress","Node",this.getShapeType(),!1),this.inAction&&!1===fs.equals(this.currentPosition,this.prevPosition)){var r=ms.toBounds(this.drawingObject.shape.points);this.commandHandler.updateNodeDimension(this.drawingObject,r)}}return!0},e.prototype.mouseUp=function(e,i){this.checkPropertyValue(),t.prototype.mouseMove.call(this,e),this.inAction&&(this.inAction=!1,this.commandHandler.addObjectToDiagram(this.drawingObject),this.triggerElementDrawEvent(this.drawingObject,"Completed","Node",this.getShapeType(),!1)),this.endAction()},e.prototype.mouseWheel=function(e){t.prototype.mouseWheel.call(this,e),this.mouseMove(e)},e.prototype.endAction=function(){this.inAction=!1,this.drawingObject=null},e}(jh),Jh=function(t){function e(e){var i=t.call(this,e,!0)||this;return i.connectorEndPoint="ConnectorSourceEnd",i}return Bh(e,t),e.prototype.mouseMove=function(e){t.prototype.mouseMove.call(this,e);if(this.inAction){var i=this.drawingObject;this.currentPosition=this.commandHandler.snapConnectorEnd(this.currentPosition),i.targetPoint=this.currentPosition,this.triggerElementDrawEvent(this.drawingObject,"Progress","Connector",this.commandHandler.diagram.drawingObject.type,!1),this.commandHandler.updateConnectorPoints(i),e.source=this.drawingObject,e.target&&!e.target.isLane&&e.targetWrapper&&this.canConnect(e.targetWrapper,e.target,this.connectorEndPoint,"In")&&this.commandHandler.renderHighlighter(e,"ConnectorSourceEnd"===this.connectorEndPoint),"ConnectorSourceEnd"===this.connectorEndPoint&&e.actualObject&&e.actualObject instanceof Hl&&e.sourceWrapper&&(""!==e.source.sourceID&&e.source.sourceID===e.source.targetID||this.commandHandler.connect(this.connectorEndPoint,e)),this.connectorEndPoint="ConnectorTargetEnd"}return this.inAction||(this.commandHandler.updateSelector(),e.source&&!e.source.isLane&&e.sourceWrapper&&this.canConnect(e.sourceWrapper,e.source,this.connectorEndPoint,"Out")&&this.commandHandler.renderHighlighter(e,!0)),!0},e.prototype.mouseDown=function(e){if(t.prototype.mouseDown.call(this,e),this.inAction=!0,this.drawingObject){var i=this.drawingObject,r=void 0;(r=new ud(i,"segments",{type:"Straight"},!0)).point=this.currentPosition,i.segments[i.segments.length-1]=r}else{var n={id:"Connector",type:"Straight",sourcePoint:this.currentPosition,targetPoint:this.currentPosition};this.triggerElementDrawEvent(e.source,"Start","Connector",this.commandHandler.diagram.drawingObject.type,!0),this.inAction&&(this.drawingObject=this.commandHandler.drawObject(n))}},e.prototype.mouseWheel=function(e){t.prototype.mouseWheel.call(this,e),this.mouseMove(e)},e.prototype.mouseUp=function(e){if(this.checkPropertyValue(),t.prototype.mouseMove.call(this,e),this.inAction&&this.drawingObject){if("ConnectorTargetEnd"===this.connectorEndPoint){var i=this.commandHandler.diagram.eventHandler,r=i.hoverElement;if(r){r=r instanceof Hl?r:r.parentObj;var n=i.getConnectorPadding(e),o=this.commandHandler.diagram.findElementUnderMouse(r,this.currentPosition,this.commandHandler.diagram,n);o&&o.bounds.containsPoint(this.currentPosition,n)&&(e.actualObject=r,e.target=r,e.targetWrapper=o,this.drawingObject.sourceID!==e.target.id&&this.commandHandler.connect(this.connectorEndPoint,e))}}var a=this.drawingObject;a.segments[a.segments.length-1].point={x:0,y:0},this.commandHandler.addObjectToDiagram(this.drawingObject),this.triggerElementDrawEvent(this.drawingObject,"Completed","Connector",this.commandHandler.diagram.drawingObject.type,!1)}this.endAction()},e.prototype.endAction=function(){this.drawingObject=null,this.inAction=!1},e.prototype.canConnect=function(t,e,i,r){var n=!1,o=this.commandHandler.findTarget(t,e,"ConnectorSourceEnd"===i,!0);return o instanceof th?n=Boolean("In"===r?"ConnectorTargetEnd"===this.connectorEndPoint&&Be(o):"ConnectorSourceEnd"===this.connectorEndPoint&&Re(o)):o instanceof Hl&&(n=Boolean("In"===r?"ConnectorTargetEnd"===this.connectorEndPoint&&ke(o):"ConnectorSourceEnd"===this.connectorEndPoint&&Ne(o))),n},e}(jh),$h=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseDown=function(e){this.inAction=!0,this.undoElement=k(e.source),this.annotationId=e.sourceWrapper.id,t.prototype.mouseDown.call(this,e)},e.prototype.mouseMove=function(e){t.prototype.mouseMove.call(this,e);var i=this.currentPosition.x-this.prevPosition.x,r=this.currentPosition.y-this.prevPosition.y,n=e.source;if(n instanceof Hl){var o=y();S(o,-n.rotateAngle,0,0);var a=v(o,{x:i,y:r});i=a.x,r=a.y}return this.inAction&&(this.commandHandler.labelDrag(e.source,e.sourceWrapper,i,r),this.commandHandler.updateSelector()),this.prevPosition=this.currentPosition,!this.blocked},e.prototype.mouseUp=function(e){this.checkPropertyValue();var i=e.source;this.inAction=!1;var r={type:"AnnotationPropertyChanged",objectId:this.annotationId,undoObject:k(this.undoElement),category:"Internal",redoObject:k(i)};this.commandHandler.addHistoryEntry(r),t.prototype.mouseUp.call(this,e)},e.prototype.mouseLeave=function(t){this.mouseUp(t)},e}(jh),td=function(e){function i(t,i){var r=e.call(this,t,!0)||this;return r.corner=i,r}return Bh(i,e),i.prototype.mouseDown=function(t){this.inAction=!0;var i=t.source.nodes.length?t.source.nodes[0]:t.source.connectors[0];this.annotationId=t.source.wrapper.children[0].id,this.undoElement=k(i);var r=t.source.wrapper.children[0];this.initialBounds={x:r.offsetX,y:r.offsetY,width:r.actualSize.width,height:r.actualSize.height},e.prototype.mouseDown.call(this,t)},i.prototype.mouseMove=function(t){return e.prototype.mouseMove.call(this,t),this.inAction&&this.resizeObject(t),!this.blocked},i.prototype.mouseUp=function(t){this.checkPropertyValue();var i=t.source.nodes.length?t.source.nodes[0]:t.source.connectors[0];this.inAction=!1;var r={type:"AnnotationPropertyChanged",objectId:this.annotationId,redoObject:k(i),undoObject:k(this.undoElement),category:"Internal"};this.commandHandler.addHistoryEntry(r),e.prototype.mouseUp.call(this,t)},i.prototype.mouseLeave=function(t){this.mouseUp(t)},i.prototype.resizeObject=function(e){var i;i=e.source.nodes.length?e.source.nodes[0]:e.source.connectors[0];var r,n,o=e.source.wrapper.children[0],a={x:o.offsetX,y:o.offsetY},s=o.rotateAngle;s=((s+=i instanceof Hl?i.rotateAngle:0)+360)%360;var h=y(),d=this.corner.slice(5),l=this.updateSize(o,this.startPosition,this.currentPosition,d,this.initialBounds,s),c=o.offsetX-o.actualSize.width*o.pivot.x,p=o.offsetY-o.actualSize.height*o.pivot.y,g=this.getPivot(d);if(o.flippedPoint){if(o.flip===t.FlipDirection.Horizontal&&"Center"!==o.horizontalAlignment)g.x=1-g.x,0!==s&&(s=0===(u=(s%360+360)%360)?0:360-u);else if(o.flip===t.FlipDirection.Vertical&&"Center"!==o.verticalAlignment&&(g.y=1-g.y,0!==s)){var u=(s%360+360)%360;s=0===u?0:360-u}o.flip===t.FlipDirection.Both&&("Center"!==o.horizontalAlignment&&(g.x=1-g.x),"Center"!==o.verticalAlignment&&(g.y=1-g.y))}S(h,s,a.x,a.y);var f=v(h,g={x:c+o.actualSize.width*g.x,y:p+o.actualSize.height*g.y});l.x=f.x,l.y=f.y,r=l.width,n=l.height,r=r<0?1:r,n=n<0?1:n,this.commandHandler.labelResize(i,e.source.annotation,r,n,l,e.source),this.commandHandler.updateSelector()},i}(jh),ed=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseDown=function(e){this.inAction=!0,this.annotationId=e.source.wrapper.children[0].id;var i=e.source.nodes.length?e.source.nodes[0]:e.source.connectors[0];this.undoElement=k(i),t.prototype.mouseDown.call(this,e)},e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),e.source&&this.inAction){var i=e.source.nodes[0]?e.source.nodes[0]:e.source.connectors[0],r=void 0;r=e.source.annotation,this.commandHandler.labelRotate(i,r,this.currentPosition,e.source),this.commandHandler.updateSelector()}return this.prevPosition=this.currentPosition,!this.blocked},e.prototype.mouseUp=function(e){this.checkPropertyValue(),this.inAction=!1;var i=e.source.nodes.length?e.source.nodes[0]:e.source.connectors[0],r={type:"AnnotationPropertyChanged",objectId:this.annotationId,redoObject:k(i),undoObject:k(this.undoElement),category:"Internal"};this.commandHandler.addHistoryEntry(r),t.prototype.mouseUp.call(this,e)},e.prototype.mouseLeave=function(t){this.mouseUp(t)},e}(jh),id=function(t){function e(e){return t.call(this,e,!0)||this}return Bh(e,t),e.prototype.mouseMove=function(e){if(t.prototype.mouseMove.call(this,e),this.inAction){var i=this.drawingObject.shape,r=this.currentPosition;if(r=this.commandHandler.snapConnectorEnd(this.currentPosition),i.points.push(r),this.drawingObject.wrapper.children[0].data=d(this.drawingObject.shape.points),i.data=d(i.points),this.triggerElementDrawEvent(e.source,"Progress","Connector",this.drawingObject.type,!1),this.inAction&&!1===fs.equals(this.currentPosition,this.prevPosition)){var n=ms.toBounds(this.drawingObject.shape.points);this.commandHandler.updateNodeDimension(this.drawingObject,n)}}return!0},e.prototype.mouseDown=function(e){t.prototype.mouseDown.call(this,e),this.inAction=!0,this.startPoint={x:this.startPosition.x,y:this.startPosition.y};var i={offsetX:this.currentPosition.x,offsetY:this.currentPosition.y,width:5,height:5,style:{strokeColor:"black",strokeWidth:1,fill:"transparent"},shape:{type:"Path",points:[{x:this.startPoint.x,y:this.startPoint.y},{x:this.currentPosition.x,y:this.currentPosition.y}]}};this.triggerElementDrawEvent(e.source,"Start","Connector",this.commandHandler.diagram.drawingObject.type,!0),this.drawingObject=this.commandHandler.drawObject(i)},e.prototype.mouseUp=function(e){this.checkPropertyValue();if(this.inAction){this.inAction=!1;var i=this.drawingObject.shape,r=i.points;this.commandHandler.addObjectToDiagram(this.drawingObject);var n=this.drawingObject.id,o=this.commandHandler.diagram.nameTable[""+n];this.commandHandler.diagram.remove(o),r=this.pointReduction(r,10);var a={};this.commandHandler.diagram.drawingObject.bezierSettings&&(a=this.commandHandler.diagram.drawingObject.bezierSettings),void 0===a.allowSegmentsReset&&(a.allowSegmentsReset=!1);var s={id:"newConnector"+O(),type:"Bezier",sourcePoint:{x:r[0].x,y:r[0].y},targetPoint:{x:r[r.length-1].x,y:r[r.length-1].y},segments:[],bezierSettings:a};this.drawingObject=this.commandHandler.drawObject(s),this.drawingObject=this.bezierCurveSmoothness(r,.5,this.drawingObject,i),this.commandHandler.updateConnectorPoints(this.drawingObject),this.commandHandler.addObjectToDiagram(this.drawingObject),this.triggerElementDrawEvent(this.drawingObject,"Completed","Connector",this.commandHandler.diagram.drawingObject.type,!1),t.prototype.mouseUp.call(this,e)}},e.prototype.pointReduction=function(t,e){if(null===t||t.length<3)return t;var i=t.length-1,r=[];for(r.push(0),r.push(i);t[parseInt((0).toString(),10)]===t[parseInt(i.toString(),10)];)i--;this.reduction(t,0,i,e,r);var n=[];return r.sort(function(t,e){return t-e}),r.forEach(function(e){n.push(t[parseInt(e.toString(),10)])}),n},e.prototype.reduction=function(t,e,i,r,n){for(var o=0,a=0,s=e;s<i;s++){var h=this.perpendicularDistance(t[parseInt(e.toString(),10)],t[parseInt(i.toString(),10)],t[parseInt(s.toString(),10)]);h>o&&(o=h,a=s)}o>r&&0!==a&&(n.push(a),this.reduction(t,e,a,r,n),this.reduction(t,a,i,r,n))},e.prototype.perpendicularDistance=function(t,e,i){return Math.abs(.5*(t.x*e.y-e.x*t.y+(e.x*i.y-i.x*e.y)+(i.x*t.y-t.x*i.y)))/Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))*2},e.prototype.bezierCurveSmoothness=function(t,e,i,r){if(t.length<3)return i;for(var n=0;n<t.length-1;n++){var o=t[parseInt(n.toString(),10)].x,a=t[parseInt(n.toString(),10)].y,s=t[n+1].x,h=t[n+1].y,d=void 0,l=void 0;if(0===n){var c=t[parseInt(n.toString(),10)];d=c.x,l=c.y}else d=t[n-1].x,l=t[n-1].y;var p=void 0,g=void 0;if(n===t.length-2){var u=t[n+1];p=u.x,g=u.y}else p=t[n+2].x,g=t[n+2].y;var f=(d+o)/2,m=(l+a)/2,y=(o+s)/2,v=(a+h)/2,b=(s+p)/2,S=(h+g)/2,w={},x={},I={},C={};w.x=d,w.y=l,x.x=o,x.y=a,I.x=s,I.y=h,C.x=p,C.y=g;var P=fs.findLength(w,x),D=fs.findLength(x,I),T=P/(P+D),A=D/(D+fs.findLength(I,C)),O=f+(y-f)*T,M=m+(v-m)*T,E=y+(b-y)*A,L=v+(S-v)*A,z=O+(y-O)*e+o-O,k=M+(v-M)*e+a-M,B=E+(y-E)*e+s-E,N=L+(v-L)*e+h-L,R=new fd(r,"segments",{type:"Bezier"},!0),j={x:z,y:k},H={x:B,y:N},W={x:o,y:a},_={x:s,y:h};R.type="Bezier",i.segments[parseInt(n.toString(),10)]=R,0===n&&(j={x:o,y:a}),n===t.length-2&&(H={x:s,y:h}),i.segments[parseInt(n.toString(),10)].vector1={angle:_t(W,j),distance:fs.findLength(W,j)},i.segments[parseInt(n.toString(),10)].vector2={angle:_t(_,H),distance:fs.findLength(_,H)},i.segments[parseInt(n.toString(),10)].point=_}return i},e}(jh),rd=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),nd=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},od=function(t){if(t)switch(t.type){case"Bpmn":return pd;case"UmlActivity":return cd;case"UmlClassifier":return Sd;default:return ld}return ld},ad=function(t){if(t)switch(t.type){case"Straight":return ud;case"Bezier":return fd;case"Orthogonal":return md;default:return ud}},sd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property(10)],i.prototype,"width",void 0),nd([e.Property(10)],i.prototype,"height",void 0),nd([e.Property("Arrow")],i.prototype,"shape",void 0),nd([e.Complex({fill:"black",strokeColor:"black",strokeWidth:1},Ms)],i.prototype,"style",void 0),nd([e.Complex({x:0,y:.5},fs)],i.prototype,"pivot",void 0),nd([e.Property("")],i.prototype,"pathData",void 0),i}(e.ChildProperty),hd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property(0)],i.prototype,"angle",void 0),nd([e.Property(0)],i.prototype,"distance",void 0),i}(e.ChildProperty),dd=function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return rd(r,i),nd([e.Property(t.ControlPointsVisibility.All)],r.prototype,"controlPointsVisibility",void 0),nd([e.Property("FreeForm")],r.prototype,"segmentEditOrientation",void 0),nd([e.Property(t.BezierSmoothness.Default)],r.prototype,"smoothness",void 0),nd([e.Property(!0)],r.prototype,"allowSegmentsReset",void 0),r}(e.ChildProperty),ld=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("None")],i.prototype,"type",void 0),i}(e.ChildProperty),cd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("Object")],i.prototype,"flow",void 0),nd([e.Property(30)],i.prototype,"exceptionFlowHeight",void 0),i}(ld),pd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("Sequence")],i.prototype,"flow",void 0),nd([e.Property("Normal")],i.prototype,"sequence",void 0),nd([e.Property("Default")],i.prototype,"message",void 0),nd([e.Property("Default")],i.prototype,"association",void 0),i}(ld),gd=function(t){function i(e,i,r,n){var o=t.call(this,e,i,r,n)||this;return o.points=[],o}return rd(i,t),nd([e.Property("Straight")],i.prototype,"type",void 0),nd([e.Property(!0)],i.prototype,"allowDrag",void 0),i}(e.ChildProperty),ud=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),i.prototype.getClassName=function(){return"StraightSegment"},nd([e.Complex({x:0,y:0},fs)],i.prototype,"point",void 0),i}(gd),fd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),i.prototype.getClassName=function(){return"BezierSegment"},i.prototype.getPoints=function(t,e){var i=[];if(i.length>0||null!=e){var r=i.length>0?i[i.length-1]:e,n=this.bezireToPoly(r,t);i.push.apply(i,n)}return i},i.prototype.bezireToPoly=function(t,e){var i=[];if(e){var r=e,n=t,o=r.bezierPoint1,a=r.bezierPoint2,s={x:r.points[1].x,y:r.points[1].y};this.flattenCubicBezier(i,n,o,a,s,10)}return i},i.prototype.flattenCubicBezier=function(t,e,i,r,n,o){var a,s=(fs.findLength(e,i)+fs.findLength(i,r)+fs.findLength(r,n))/o;for(a=0;a<=s;a++){var h=a/s,d=(1-h)*(1-h)*(1-h)*e.x+3*h*(1-h)*(1-h)*i.x+3*h*h*(1-h)*r.x+h*h*h*n.x,l=(1-h)*(1-h)*(1-h)*e.y+3*h*(1-h)*(1-h)*i.y+3*h*h*(1-h)*r.y+h*h*h*n.y;t.push({x:d,y:l})}},nd([e.Property("Horizontal")],i.prototype,"orientation",void 0),nd([e.Complex({x:0,y:0},fs)],i.prototype,"point1",void 0),nd([e.Complex({x:0,y:0},fs)],i.prototype,"point2",void 0),nd([e.Complex({angle:0,distance:0},hd)],i.prototype,"vector1",void 0),nd([e.Complex({angle:0,distance:0},hd)],i.prototype,"vector2",void 0),i}(ud),md=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),i.prototype.getClassName=function(){return"OrthogonalSegment"},nd([e.Property(null)],i.prototype,"length",void 0),nd([e.Property(null)],i.prototype,"direction",void 0),i}(gd),yd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),i.prototype.getClassName=function(){return"DiagramConnectorSegment"},nd([e.Property("Straight")],i.prototype,"type",void 0),nd([e.Property(!0)],i.prototype,"allowDrag",void 0),nd([e.Complex({x:0,y:0},fs)],i.prototype,"point",void 0),nd([e.Complex({x:0,y:0},fs)],i.prototype,"point1",void 0),nd([e.Complex({x:0,y:0},fs)],i.prototype,"point2",void 0),nd([e.Complex({angle:0,distance:0},hd)],i.prototype,"vector1",void 0),nd([e.Complex({angle:0,distance:0},hd)],i.prototype,"vector2",void 0),nd([e.Property(null)],i.prototype,"length",void 0),nd([e.Property(null)],i.prototype,"direction",void 0),i}(e.ChildProperty),vd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property(!0)],i.prototype,"optional",void 0),nd([e.Property(void 0)],i.prototype,"lowerBounds",void 0),nd([e.Property(void 0)],i.prototype,"upperBounds",void 0),i}(e.ChildProperty),bd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("OneToOne")],i.prototype,"type",void 0),nd([e.Complex({},vd)],i.prototype,"target",void 0),nd([e.Complex({},vd)],i.prototype,"source",void 0),i}(e.ChildProperty),Sd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("UmlClassifier")],i.prototype,"type",void 0),nd([e.Property("Aggregation")],i.prototype,"relationship",void 0),nd([e.Property("Default")],i.prototype,"associationType",void 0),nd([e.Complex({},bd)],i.prototype,"multiplicity",void 0),i}(ld),wd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return rd(i,t),nd([e.Property("None")],i.prototype,"type",void 0),nd([e.Property("Default")],i.prototype,"associationType",void 0),nd([e.Property("Aggregation")],i.prototype,"relationship",void 0),nd([e.Complex({},bd)],i.prototype,"multiplicity",void 0),nd([e.Property("Sequence")],i.prototype,"bpmnFlow",void 0),nd([e.Property("Default")],i.prototype,"message",void 0),nd([e.Property("Normal")],i.prototype,"sequence",void 0),nd([e.Property("Default")],i.prototype,"association",void 0),nd([e.Property("Object")],i.prototype,"umlActivityFlow",void 0),nd([e.Property(30)],i.prototype,"exceptionFlowHeight",void 0),i}(e.ChildProperty),xd=function(i){function r(t,e,r,n){var o=i.call(this,t,e,r,n)||this;return o.parentId="",o.showDefaultTooltipForPalette=!0,o.bridges=[],o.status="None",o.outEdges=[],o.inEdges=[],o.shape&&"UmlActivity"===o.shape.type&&an(r,o),r&&r.shape&&"None"!==r.shape.type&&sn(r,o),o}return rd(r,i),r.prototype.setPortID=function(e,i){if(this.targetID&&this.sourceID)for(var r=e.nameTable[this.targetID],n=e.nameTable[this.sourceID],o=i?r&&r.ports:n&&n.ports,a=void 0,s=0;o&&s<o.length;s++)a=o[parseInt(s.toString(),10)],this.targetPortID===a.id&&i?!(a.constraints&t.PortConstraints.None)&&a.constraints&t.PortConstraints.InConnect||(this.targetPortID=""):this.sourcePortID!==a.id||i||!(a.constraints&t.PortConstraints.None)&&a.constraints&t.PortConstraints.OutConnect||(this.sourcePortID="")},r.prototype.init=function(t){this.id||(this.id=O()),this.sourcePortID&&this.setPortID(t),this.targetPortID&&this.setPortID(t,!0);var e,i=new Vs,r=new Ws;r.id=this.id+"_path";var n=new Ws,o=new Ws;r=this.getSegmentElement(this,r);var a=[];a="Bezier"===this.type?this.intermediatePoints:this.getConnectorPoints(this.type),a=this.clipDecorators(this,a);var s=ms.toBounds(a);switch(i.width=s.width,i.height=s.height,i.offsetX=s.x+i.pivot.x*s.width,i.offsetY=s.y+i.pivot.y*s.height,this.shape.type){case"Bpmn":switch(this.shape.flow){case"Sequence":e=this.getBpmnSequenceFlow();break;case"Association":(e=new Ws).visible=!1,this.getBpmnAssociationFlow();break;case"Message":e=this.getBpmnMessageFlow(),r=this.getSegmentElement(this,r),this.updateShapePosition(this,e)}break;case"UmlActivity":switch(this.shape.flow){case"Object":this.getUMLObjectFlow();break;case"Exception":this.getUMLExceptionFlow(r)}break;case"UmlClassifier":this.getConnectorRelation()}var h=this.intermediatePoints;if("Bezier"===this.type){var d=this.segments[0],l=this.segments[this.segments.length-1];h=[fs.isEmptyPoint(l.point2)?l.bezierPoint2:l.point2,fs.isEmptyPoint(d.point1)?d.bezierPoint1:d.point1]}var c=t.getDescription;if(n=this.getDecoratorElement(a[0],h[1],this.sourceDecorator,!0,c),o=this.getDecoratorElement(a[a.length-1],h[h.length-2],this.targetDecorator,!1,c),n.id=this.id+"_srcDec",o.id=this.id+"_tarDec",r.style=this.style,r.style.fill="transparent",void 0!==c){var p=c(this,t);r.description=p||this.id}i.style.strokeColor="transparent",i.style.fill="transparent",i.style.strokeWidth=0,i.children=[r,n,o],i.id=this.id,void 0!==e&&i.children.push(e),i.offsetX=r.offsetX,i.offsetY=r.offsetY,i.width=r.width,i.height=r.height;for(g=0;this.annotations,g<this.annotations.length;g++)i.children.push(this.getAnnotationElement(this.annotations[parseInt(g.toString(),10)],this.intermediatePoints,s,c,t.element.id,t.annotationTemplate));for(var g=0;this.fixedUserHandles,g<this.fixedUserHandles.length;g++)i.children.push(this.getFixedUserHandle(this.fixedUserHandles[parseInt(g.toString(),10)],this.intermediatePoints,s,t.fixedUserHandleTemplate,t.element.id));return this.initPorts(c,i,s),this.wrapper=i,i},r.prototype.initPorts=function(t,e,i){for(var r=0;this.ports,r<this.ports.length;r++)e.children.push(this.initPort(this.ports[parseInt(r.toString(),10)],this.intermediatePoints,i,t))},r.prototype.initPort=function(e,i,r,n){var o=new Ws;o.height=e.height,o.width=e.width,o.margin=e.margin,e.shape=e.shape||"Square";var a="Custom"===e.shape?e.pathData:et(e.shape);o.data=a,o.horizontalAlignment=e.horizontalAlignment,o.verticalAlignment=e.verticalAlignment,o=this.initPortWrapper(e,i,r,o,this);var s,h=Z(n);return h&&(s=h(o,this)),o.description=s||o.id,o.elementActions=o.elementActions|t.ElementAction.ElementIsPort,o.isPathPort=!0,o},r.prototype.initPortWrapper=function(e,i,r,n,o){e.id=e.id||O();var a={x:0,y:0},s=Pn(i,e),h=s.point;n.id=this.id+"_"+e.id;var d=e.style;n.style={fill:d.fill,strokeColor:d.strokeColor,gradient:null,opacity:d.opacity,strokeDashArray:d.strokeDashArray,strokeWidth:d.strokeWidth},0===r.width&&(r.width=this.style.strokeWidth),0===r.height&&(r.height=this.style.strokeWidth);var l={x:(h.x-r.x)/r.width,y:(h.y-r.y)/r.height};a.x=r.width*l.x,a.y=r.height*l.y;var c,p,g=Mn(e,s.angle,i),u=g.hAlign,f=g.vAlign;return"left"===u?(c="Left",a.x+=e.displacement.x):"right"===u?(c="Right",a.x-=e.displacement.x):"center"===u&&(c="Center"),"top"===f?(p="Top",a.y+=e.displacement.y):"bottom"===f?(p="Bottom",a.y-=e.displacement.y):"center"===f&&(p="Center"),n.horizontalAlignment=c,n.verticalAlignment=p,n=o&&"Label"!==o.flipMode&&"None"!==o.flipMode?Yd(n,this.flip,e):Yd(n,"None",e),n.float=!0,n.connectionDirection=e.connectionDirection,n.setOffsetWithRespectToBounds(a.x,a.y,"Absolute"),n.relativeMode="Point",n.visible=!(!so(e,t.PortVisibility.Visible)||so(e,t.PortVisibility.Hover)||so(e,t.PortVisibility.Connect)),n.elementActions=n.elementActions|t.ElementAction.ElementIsPort,n},r.prototype.getConnectorRelation=function(){var t=this.shape;"Association"===t.relationship?(this.sourceDecorator.shape="None",this.targetDecorator.shape="None"):"Inheritance"===t.relationship?(this.sourceDecorator.shape="None",this.targetDecorator.shape="Arrow"):"Composition"===t.relationship?(this.sourceDecorator.shape="Diamond",this.targetDecorator.shape="None"):"Aggregation"===t.relationship?(this.sourceDecorator.shape="Diamond",this.targetDecorator.shape="None"):"Dependency"===t.relationship?(this.sourceDecorator.shape="None",this.targetDecorator.shape="OpenArrow"):"Realization"===t.relationship&&(this.sourceDecorator.shape="None",this.targetDecorator.shape="Arrow"),"BiDirectional"===t.associationType&&(this.sourceDecorator.shape="OpenArrow",this.targetDecorator.shape="OpenArrow"),"Directional"===t.associationType&&(this.sourceDecorator.shape="None",this.targetDecorator.shape="OpenArrow");var e="",i="",r="",n="";t.multiplicity.source&&(t.multiplicity.source.lowerBounds=t.multiplicity.source.lowerBounds,t.multiplicity.source.upperBounds=t.multiplicity.source.upperBounds),t.multiplicity.target&&(t.multiplicity.target.lowerBounds=t.multiplicity.target.lowerBounds,t.multiplicity.target.upperBounds=t.multiplicity.target.upperBounds);var o=t.multiplicity.source,a=t.multiplicity.target;n=o.upperBounds?o.lowerBounds+"..."+o.upperBounds:o.lowerBounds,e=a.upperBounds?a.lowerBounds+"..."+a.upperBounds:a.lowerBounds,"ManyToOne"===t.multiplicity.type&&(t.multiplicity.target.optional=!1,i=n||"*",r="1"),"OneToMany"===t.multiplicity.type&&(t.multiplicity.source.optional=!1,r=e||"*",i="1"),"ManyToMany"===t.multiplicity.type&&(i=n||"*",r=e||"*"),"OneToOne"===t.multiplicity.type&&(t.multiplicity.target.optional=!1,t.multiplicity.source.optional=!1,i="1",r="1"),this.annotations=[{id:this.id+"sourcelabel",content:i,offset:0,alignment:"Before",margin:{right:5,bottom:5}},{id:this.id+"targetlabel",content:r,offset:1,alignment:"Before",margin:{right:5,bottom:5}}]},r.prototype.getBpmnSequenceFlow=function(){var t=new Ws,e=new Ws;if("Normal"===this.shape.sequence&&"Bezier"!==this.type&&(this.targetDecorator.shape="Arrow"),"Default"===this.shape.sequence){t=this.getSegmentElement(this,t);var i=this.intermediatePoints;e=Gd(i,this),this.targetDecorator.shape="Arrow"}return"Conditional"===this.shape.sequence&&(this.targetDecorator.shape="Arrow",this.sourceDecorator.shape="Diamond",e.id=this.id+this.shape.type),e},r.prototype.getUMLObjectFlow=function(){if(this.annotations)for(var t=0;t<this.annotations.length;t++)this.annotations[parseInt(t.toString(),10)].content="["+this.annotations[parseInt(t.toString(),10)].content+"]"},r.prototype.getUMLExceptionFlow=function(t){this.type="Straight";var e=this.shape.exceptionFlowHeight/2,i={x:(this.targetPoint.x+this.sourcePoint.x)/2,y:(this.targetPoint.y+this.sourcePoint.y)/2},r=i.x-this.sourcePoint.x,n=i.y-this.sourcePoint.y,o=e/Math.sqrt(r*r+n*n),a={x:i.x-r*o,y:i.y-n*o},s={x:i.x+r*o,y:i.y+n*o},h=y();S(h,315,i.x,i.y),this.segments=[];var d=new ud(this,"segments",{type:"Straight",point:v(h,s)},!0);this.segments.push(d),d=new ud(this,"segments",{type:"Straight",point:v(h,a)},!0),this.segments.push(d),t=this.getSegmentElement(this,t)},r.prototype.getBpmnAssociationFlow=function(){"Default"===this.shape.association&&(this.targetDecorator.shape="None",this.style.strokeDashArray="2 2"),"Directional"===this.shape.association&&(this.targetDecorator.shape="OpenArrow",this.style.strokeDashArray="2 2"),"BiDirectional"===this.shape.association&&(this.targetDecorator.shape="OpenArrow",this.sourceDecorator.shape="OpenArrow",this.style.strokeDashArray="2 2")},r.prototype.getFixedUserHandle=function(t,e,i,r,n){var o;if(""===t.pathData&&r)(o=new wh(this.id,n,void 0,r)).isTemplate=!0,o.template=Qa(o,!0,t),t.id=t.id||O(),o.id=this.id+"_"+t.id;else{var a=[];(o=new Vs).children=a,t.id=t.id||O(),o.id=this.id+"_"+t.id;var s=xn(t,o);o.children.push(s)}return o.float=!0,o.visible=t.visibility,o.width=t.width,o.height=t.height,o.style.strokeWidth=t.handleStrokeWidth,o.style.fill=t.fill,o.style.strokeColor=t.handleStrokeColor,o.cornerRadius=t.cornerRadius,this.updateAnnotation(t,e,i,o),o.description=o.id,o},r.prototype.getBpmnMessageFlow=function(){var e=new Ws;return this.targetDecorator.shape="Arrow",this.targetDecorator.width=10,this.targetDecorator.height=10,this.sourceDecorator.shape="Circle",this.sourceDecorator.style.fill="white",this.targetDecorator.style.fill="white","InitiatingMessage"!==this.shape.message&&"NonInitiatingMessage"!==this.shape.message||(e.id=this.id+"_"+this.shape.message,e.width=25,e.height=15,e.data="M0,0 L19.8,12.8 L40,0 L0, 0 L0, 25.5 L40, 25.5 L 40, 0",e.horizontalAlignment="Center",e.verticalAlignment="Center",e.transform=t.Transform.Self,e.style.fill="NonInitiatingMessage"===this.shape.message?"lightgrey":"white"),e},r.prototype.distance=function(t,e){return Jd(t,e)},r.prototype.findPath=function(t,e){return Kd(t,e)},r.prototype.getAnnotationElement=function(t,i,r,n,o,a){t.content=t.content||"",t.id=t.id||O();var s;if(o&&(t.template||"Template"===t.annotationType||a&&""===t.content)){var h=document.getElementById(o).ej2_instances[0];s=new wh(this.id,o,t.id,a),t.template&&"function"==typeof t.template&&h.isReact&&(s.templateFn=e.compile(t.template),s.isTemplate=!0),void 0!==t.height||"String"!==t.annotationType||!t.template&&""!==t.content||(t.height=r.height),s=rs(s,t,a,h)}else{s=new js;var d=t.hyperlink.link?t.hyperlink:void 0;s.style=t.style,s.style.color=d?d.color||s.hyperlink.color:t.style.color,s.hyperlink.link=t.hyperlink.link||void 0,s.hyperlink.hyperlinkOpenState=t.hyperlink.hyperlinkOpenState||void 0,s.hyperlink.textDecoration=t.hyperlink.textDecoration||void 0,s.content=d?d.content||s.hyperlink.link:t.content}s.constraints=t.constraints,s.visible=t.visibility,s.annotationVisibility=s.visible?"Visible":"Collapsed",s.rotateAngle=t.rotateAngle,s.horizontalAlignment=t.horizontalAlignment,s.verticalAlignment=t.verticalAlignment,s.width=t.width,s.height=t.height,void 0===r.width||t.template||(s.width=(t.width||r.width)-t.margin.left-t.margin.right),s.margin=t.margin,s.id=this.id+"_"+t.id,0===r.width&&(r.width=this.style.strokeWidth),0===r.height&&(r.height=this.style.strokeWidth);var l,c=Z(n);return c&&(l=c(t,this)),s.description=l||s.id,this.updateAnnotation(t,i,r,s),s},r.prototype.updateAnnotation=function(t,e,i,r,n){var o={x:0,y:0};r instanceof js&&!n&&r.refreshTextElement(),r.width=t.width||i.width;var a=Cn(e,t),s=a.point;t instanceof sh&&t.segmentAngle&&(r.rotateAngle=t.rotateAngle+a.angle,r.rotateAngle=(r.rotateAngle+360)%360),0===i.width&&(i.width=this.style.strokeWidth),0===i.height&&(i.height=this.style.strokeWidth);var h={x:(s.x-i.x)/i.width,y:(s.y-i.y)/i.height};o.x=i.width*h.x,o.y=i.height*h.y;var d,l,c=Mn(t,a.angle,e),p=c.hAlign,g=c.vAlign;"left"===p?(d="Left",o.x+=t.displacement.x):"right"===p?(d="Right",o.x-=t.displacement.x):"center"===p&&(d="Center"),"top"===g?(l="Top",o.y+=t.displacement.y):"bottom"===g?(l="Bottom",o.y-=t.displacement.y):"center"===g&&(l="Center"),r.horizontalAlignment=d,r.verticalAlignment=l,r.setOffsetWithRespectToBounds(o.x,o.y,"Absolute"),r.relativeMode="Point"},r.prototype.getConnectorPoints=function(t,e,i,r){var n=(e=st(this,i,r)).slice(0);return n&&n.length>0&&(this.sourcePoint=n[0],this.targetPoint=n[n.length-1]),n},r.prototype.clipDecorator=function(e,i,r,n){var o={x:0,y:0},a={x:0,y:0},s={x:0,y:0},h=i.length;a=r?i[0]:i[h-1],s=r?i[1]:i[h-2];var d=fs.distancePoints(a,s);d=0===d?1:d;var l=1,c=r?e.sourceWrapper:e.targetWrapper;c&&(l=c.style.strokeWidth,n&&n&t.DiagramAction.DecoratorPropertyChange&&(l=1));var p=l-1;return o.x=Math.round(a.x+p*(s.x-a.x)/d),o.y=Math.round(a.y+p*(s.y-a.y)/d),(r&&"None"!==e.sourceDecorator.shape||!r&&"None"!==e.targetDecorator.shape)&&(o=fs.adjustPoint(o,s,!0,n&t.DiagramAction.DecoratorPropertyChange?0:l/2)),o},r.prototype.clipDecorators=function(t,e,i){return"None"!==t.sourceDecorator.shape&&(e[0]=this.clipDecorator(t,e,!0,i)),"None"!==t.targetDecorator.shape&&(e[e.length-1]=this.clipDecorator(t,e,!1,i)),e},r.prototype.updateSegmentElement=function(t,e,i,r){var n=new ms,o=this.getSegmentPath(t,e,r);if("Bezier"===t.type){if(this.segments.length>0)for(var a=0;a<this.segments.length;a++){var s=this.segments[parseInt(a.toString(),10)],h=t.segments[parseInt(a.toString(),10)],d=fs.isEmptyPoint(s.point1)?h.bezierPoint1:h.point1,l=fs.isEmptyPoint(s.point2)?h.bezierPoint2:h.point2;n.uniteRect(jr(s.points[0],d,l,s.points[1],t))}}else n=ms.toBounds(e);return i.width=n.width,i.height=n.height,i.offsetX=n.x+i.width/2,i.offsetY=n.y+i.height/2,i.data=o,t.wrapper&&(t.wrapper.offsetX=i.offsetX,t.wrapper.offsetY=i.offsetY,t.wrapper.width=n.width,t.wrapper.height=n.height),i},r.prototype.getSegmentElement=function(t,e,i,r,n){void 0===n&&(n=!0);var o=[];return n&&Fd(t),o=this.getConnectorPoints(t.type,void 0,i),this.intermediatePoints=o,e.staticSize=!0,e=this.updateSegmentElement(t,o,e,r)},r.prototype.getDecoratorElement=function(e,i,r,n,o){var a=new Ws;if(a.transform=t.Transform.Self,this.updateDecoratorElement(a,e,i,r),void 0!==o){var s=o(r,this);a.description=s||"source"}return a},r.prototype.bridgePath=function(t,e,i){var r=e;if(t.bridges.length>0)if("Straight"===t.type&&t.segments.length<2)for(n=0;n<t.bridges.length;n++)(o=t.bridges[parseInt(n.toString(),10)]).rendered||(r+=" L"+o.startPoint.x+" "+o.startPoint.y,r+=o.path,o.rendered=!0);else if("Orthogonal"===t.type||"Straight"===t.type&&t.segments.length>1)for(var n=0;n<t.bridges.length;n++){var o=t.bridges[parseInt(n.toString(),10)];o.segmentPointIndex===i&&(o.rendered||o.segmentPointIndex===i&&(r+=" L"+o.startPoint.x+" "+o.startPoint.y,r+=o.path,o.rendered=!0))}return r},r.prototype.updateDecoratorElement=function(t,e,i,r){t.offsetX=e.x,t.offsetY=e.y;var n=fs.findAngle(e,i),o=it(r.shape,r),a=new ps(r.width,r.height);t.pivot.x=r.pivot.x,t.pivot.y=r.pivot.y,t.style=r.style,t.rotateAngle=n,t.data=o,t.canMeasurePath=!0,t.width=a.width,t.height=a.height},r.prototype.getSegmentPath=function(t,e,i){for(var r,n,o,a="",s=[],h=0;h<e.length;)s.push({x:e[parseInt(h.toString(),10)].x,y:e[parseInt(h.toString(),10)].y}),h++;for(var d=0;d<t.bridges.length;d++)t.bridges[parseInt(d.toString(),10)].rendered=!1;if(s=this.clipDecorators(t,s,i),this.cornerRadius>0&&"Bezier"!==this.type)for(var l=0;l<s.length-1;l++){r=s[parseInt(l.toString(),10)],0===l&&(a="M"+r.x+" "+r.y);var c=fs.distancePoints(s[parseInt(l.toString(),10)],s[l+1]);c>0&&(n=l<s.length-2?c<2*this.cornerRadius?fs.adjustPoint(s[parseInt(l.toString(),10)],s[l+1],!1,c/2):fs.adjustPoint(s[parseInt(l.toString(),10)],s[l+1],!1,this.cornerRadius):s[l+1],l>0&&(c<2*this.cornerRadius?(o=fs.adjustPoint(s[parseInt(l.toString(),10)],s[l+1],!0,c/2),l<s.length-2&&(n=null)):o=fs.adjustPoint(s[parseInt(l.toString(),10)],s[l+1],!0,this.cornerRadius)),o&&(a+="Q"+r.x+" "+r.y+" "+o.x+" "+o.y),n&&(t.bridges.length>0&&(a=this.bridgePath(t,a,l),"Orthogonal"===t.type&&(a=this.bridgePath(t,a,l+1))),a+=" L"+n.x+" "+n.y))}else if("Bezier"===this.type){var p=void 0,g=void 0;if(this.parentObj.element){var u=this.parentObj.element.ej2_instances[0].eventHandler.action;p=this.parentObj.element.ej2_instances[0].eventHandler.tool instanceof Vh,g=u.includes("PortDraw")||u.includes("Drag")}for(var f=void 0,m=this.segments,y=0;y<m.length;y++)s.length>2&&(m[parseInt(y.toString(),10)].bezierPoint1={x:0,y:0},m[parseInt(y.toString(),10)].bezierPoint2={x:0,y:0}),!fs.isEmptyPoint(m[parseInt(y.toString(),10)].point1)||m[parseInt(y.toString(),10)].vector1.angle||m[parseInt(y.toString(),10)].vector1.distance?m[parseInt(y.toString(),10)].vector1.angle||m[parseInt(y.toString(),10)].vector1.distance?m[parseInt(y.toString(),10)].bezierPoint1=fs.transform(s[parseInt(y.toString(),10)],m[parseInt(y.toString(),10)].vector1.angle,m[parseInt(y.toString(),10)].vector1.distance):m[parseInt(y.toString(),10)].bezierPoint1={x:m[parseInt(y.toString(),10)].point1.x||m[parseInt(y.toString(),10)].bezierPoint1.x,y:m[parseInt(y.toString(),10)].point1.y||m[parseInt(y.toString(),10)].bezierPoint1.y}:(!t.sourceID&&!this.sourcePortID||!this.sourceWrapper||g||p||(f=Br(this.sourceWrapper.bounds,s[parseInt(y.toString(),10)],!0)),m[parseInt(y.toString(),10)].bezierPoint1=Rr(s[parseInt(y.toString(),10)],s[y+1],f)),!fs.isEmptyPoint(m[parseInt(y.toString(),10)].point2)||m[parseInt(y.toString(),10)].vector2.angle||m[parseInt(y.toString(),10)].vector2.distance?m[parseInt(y.toString(),10)].vector2.angle||m[parseInt(y.toString(),10)].vector2.distance?m[parseInt(y.toString(),10)].bezierPoint2=fs.transform(s[y+1],m[parseInt(y.toString(),10)].vector2.angle,m[parseInt(y.toString(),10)].vector2.distance):m[parseInt(y.toString(),10)].bezierPoint2={x:m[parseInt(y.toString(),10)].point2.x||m[parseInt(y.toString(),10)].bezierPoint2.x,y:m[parseInt(y.toString(),10)].point2.y||m[parseInt(y.toString(),10)].bezierPoint2.y}:(!t.targetID&&!this.targetPortID||!this.targetWrapper||g||p||(f=Br(this.targetWrapper.bounds,s[y+1],!0)),m[parseInt(y.toString(),10)].bezierPoint2=Rr(s[y+1],s[parseInt(y.toString(),10)],f));s.splice(1,0,{x:m[0].bezierPoint1.x,y:m[0].bezierPoint1.y}),s.splice(s.length-1,0,{x:m[m.length-1].bezierPoint2.x,y:m[m.length-1].bezierPoint2.y}),s=this.clipDecorators(t,s,i);for(var v=0;v<m.length;v++){0===v&&(a="M"+s[0].x+" "+s[0].y);var b=v===m.length-1?s[s.length-1].x+" "+s[s.length-1].y:m[parseInt(v.toString(),10)].points[m[parseInt(v.toString(),10)].points.length-1].x+" "+m[parseInt(v.toString(),10)].points[m[parseInt(v.toString(),10)].points.length-1].y;a+="C"+m[parseInt(v.toString(),10)].bezierPoint1.x+" "+m[parseInt(v.toString(),10)].bezierPoint1.y+" "+m[parseInt(v.toString(),10)].bezierPoint2.x+" "+m[parseInt(v.toString(),10)].bezierPoint2.y+" "+b}}else for(var S=0;S<s.length;S++)r=s[parseInt(S.toString(),10)],0===S&&(a="M"+r.x+" "+r.y),S>0&&(a=this.bridgePath(t,a,S),a+=" L"+r.x+" "+r.y);return a},r.prototype.updateShapeElement=function(t){var e;switch(t.shape.type){case"Bpmn":t.wrapper.children[3]instanceof Ws&&(e=t.wrapper.children[3]),"Message"===t.shape.flow&&this.updateShapePosition(t,e);break;case"UmlActivity":"Exception"===t.shape.flow&&this.getUMLExceptionFlow(t.wrapper.children[0])}},r.prototype.updateShapePosition=function(t,e){var i=this.intermediatePoints,r=Zd(i,e,.5);e.offsetX=r.x,e.offsetY=r.y},r.prototype.scale=function(t,e,i,r,n){var o=0,a=0;if(this.wrapper&&this.wrapper.outerBounds){var s=we(this),h=Math.abs((this.wrapper.bounds.width||this.style.strokeWidth||1)-2),d=Math.abs((this.wrapper.bounds.height||this.style.strokeWidth||1)-2);o=s.width-h,a=s.height-d,t=Math.abs((i-Math.max(o,a))/h),e=Math.abs((r-Math.max(o,a))/d),o=a=Math.min(o,a)}t=e=Math.min(t,e);var l=y();S(l,-(n=n||this.wrapper).rotateAngle,n.offsetX,n.offsetY),w(l,t,e,n.offsetX,n.offsetY),S(l,n.rotateAngle,n.offsetX,n.offsetY);var c=b(l,this.intermediatePoints);return this.sourcePoint=c[0],this.targetPoint=c[c.length-1],c=this.intermediatePoints=st(this),io(this,c),{x:o,y:a}},r.prototype.getClassName=function(){return"Connector"},nd([e.ComplexFactory(od)],r.prototype,"shape",void 0),nd([e.Property(t.ConnectorConstraints.Default)],r.prototype,"constraints",void 0),nd([e.Property(10)],r.prototype,"bridgeSpace",void 0),nd([e.Collection([],sh)],r.prototype,"annotations",void 0),nd([e.Complex({},fs)],r.prototype,"sourcePoint",void 0),nd([e.Complex({},fs)],r.prototype,"targetPoint",void 0),nd([e.Collection([],Dh)],r.prototype,"fixedUserHandles",void 0),nd([e.CollectionFactory(ad)],r.prototype,"segments",void 0),nd([e.Property("")],r.prototype,"sourceID",void 0),nd([e.Property("")],r.prototype,"targetID",void 0),nd([e.Property(10)],r.prototype,"hitPadding",void 0),nd([e.Property(0)],r.prototype,"connectionPadding",void 0),nd([e.Property("Straight")],r.prototype,"type",void 0),nd([e.Property("Circle")],r.prototype,"segmentThumbShape",void 0),nd([e.Property(10)],r.prototype,"segmentThumbSize",void 0),nd([e.Property(0)],r.prototype,"cornerRadius",void 0),nd([e.Complex({shape:"None"},sd)],r.prototype,"sourceDecorator",void 0),nd([e.Complex({shape:"Arrow"},sd)],r.prototype,"targetDecorator",void 0),nd([e.Complex({},Ks)],r.prototype,"tooltip",void 0),nd([e.Property("")],r.prototype,"sourcePortID",void 0),nd([e.Property("")],r.prototype,"targetPortID",void 0),nd([e.Property(0)],r.prototype,"sourcePadding",void 0),nd([e.Complex({},fh)],r.prototype,"previewSize",void 0),nd([e.Complex({},fh)],r.prototype,"dragSize",void 0),nd([e.Property(0)],r.prototype,"targetPadding",void 0),nd([e.Property(13)],r.prototype,"connectorSpacing",void 0),nd([e.Complex({strokeWidth:1,strokeColor:"black"},Es)],r.prototype,"style",void 0),nd([e.Property(null)],r.prototype,"maxSegmentThumb",void 0),nd([e.Property(!1)],r.prototype,"allowNodeOverlap",void 0),nd([e.Complex({},dd)],r.prototype,"bezierSettings",void 0),nd([e.Collection([],eh)],r.prototype,"ports",void 0),nd([e.Property(null)],r.prototype,"wrapper",void 0),r}(bh),Id=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Cd=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Pd=function(t){function i(e,i){var r=t.call(this,e,i)||this;return r.offset=0,r.scale=1,r}return Id(i,t),i.prototype.preRender=function(){this.unWireEvents(),this.wireEvents()},i.prototype.render=function(){this.updateRulerGeometry(),this.renderComplete()},i.prototype.getModuleName=function(){return"Ruler"},i.prototype.destroy=function(){this.unWireEvents(),this.notify("destroy",{}),t.prototype.destroy.call(this),this.element.classList.remove("e-ruler")},i.prototype.getPersistData=function(){var t=["loaded"];return this.addOnPersist(t)},i.prototype.onPropertyChanged=function(t,e){for(var i=0,r=Object.keys(t);i<r.length;i++)switch(r[i]){case"length":case"interval":case"segmentWidth":case"tickAlignment":case"markerColor":case"thickness":this.updateRuler()}},i.prototype.updateRulerGeometry=function(){this.element.style.textAlign="left",this.renderRulerSpace(),this.updateRuler()},i.prototype.renderRulerSpace=function(){var t=this.getRulerGeometry(),e=document.getElementById(this.element.id+"_ruler_space");return e||(e=Va("div",{id:this.element.id+"_ruler_space",style:"height:"+t.height+"px;width:"+t.width+"px;cssFloat:left;"}),this.element.appendChild(e)),e},i.prototype.updateRuler=function(){var t=this.getRulerSize(),e=this.getRulerGeometry(),i=0,r=0,n=new ps,o=this.getRulerSVG(e);if(o&&(i=this.length,n.height=t,r=this.offset,i&&i!==1/0)){var a=i+this.segmentWidth,s=r;this.updateSegments(s,a+Math.abs(s),o,t)}},i.prototype.updateSegments=function(t,e,i,r){for(var n=t,o={trans:0};n<e;){var a=this.getNewSegment(n,i);a&&(i.appendChild(a.segment),n=this.updateSegment(t,e,a,n,o,r))}},i.prototype.updateSegment=function(t,e,i,r,n,o){var a=this.updateSegmentWidth(this.scale);r===t?(this.startValue=Math.floor(t/a)*a/this.scale,this.startValue=this.startValue%1!=0?Number(this.startValue.toFixed(1)):this.startValue,i.label.textContent=this.startValue.toString(),this.defStartValue=r=this.startValue*this.scale,"Horizontal"===this.orientation?this.hRulerOffset=t-r:this.vRulerOffset=t-r):(this.startValue=r/this.scale,this.startValue=this.startValue%1!=0?Number(this.startValue.toFixed(1)):this.startValue,i.label.textContent=this.startValue.toString()),this.updateTickLabel(i,o);var s="Horizontal"===this.orientation?n.trans+.5+",0.5":"0.5,"+(n.trans+.5);return i.segment.setAttribute("transform","translate("+s+")"),n.trans+=a,r+=a},i.prototype.updateTickLabel=function(t,e){var i=t.segment.lastChild.getBBox(),r="Horizontal"===this.orientation,n="RightOrBottom"===this.tickAlignment,o=r?2:0,a=r?n?e/2+5.5-5.5:e/2+5.5:i.height,s=n?-(i.width+2)+","+(e/2-i.height):-(i.width+2)+","+(e/2-i.height/2),h=r?{x:o,y:a}:{x:o,y:a,transform:"rotate(270)translate("+s+")"};Ja(t.segment.lastChild,h)},i.prototype.getNewSegment=function(t,e){var i=this.createNewTicks(t,e);return{segment:i,label:this.createTickLabel(e,i)}},i.prototype.createNewTicks=function(t,e){for(var i,r,n=this.updateSegmentWidth(this.scale),o=Xa("g",{class:"e-ruler-segment"}),a=0;a<this.interval;a++)r=n/this.interval,i=this.createTick(e,r,a+1,t),o.appendChild(i);return o},i.prototype.getLinePoint=function(t,e,i){var r=this.updateSegmentWidth(this.scale),n=this.getRulerSize();return e*=i-1,i=e%r==0?n:.3*n},i.prototype.createTick=function(t,e,i,r){var n=this.getLinePoint(t,e,i),o=this.getRulerSize(),a="Horizontal"===this.orientation,s="RightOrBottom"===this.tickAlignment,h=Z(this.arrangeTick),d={ruler:void 0,tickLength:n,tickInterval:this.segmentWidth/this.interval*(i-1)};h&&h(d),n=d.tickLength;var l=e*(i-1),c=a?l:s?o:0,p=a?l:s?o-n:o-(o-n),g=Xa("line",{x1:c,y1:a?s?o:o-(o-n):l,x2:p,y2:a?s?o-n:0:l,"stroke-width":"1",stroke:"black"});return g.setAttribute("class","e-ruler-tick"),g},i.prototype.createTickLabel=function(t,e){var i;return e&&(i=Xa("text",{class:"e-ruler-tick-label"}),e.appendChild(i)),i},i.prototype.updateSegmentWidth=function(t){if(100!==this.segmentWidth)return this.segmentWidth;var e,i=1;for(e=100,e=100/Math.pow(2,Math.round(Math.log(t)/Math.log(2)));e>100;)i/=10,e/=10;for(;e<25;)i*=10,e*=10;return e>=25&&e%25!=0&&(e=25*Math.round(e/25)),e*t/i},i.prototype.createMarkerLine=function(t,e,i){var r;return e&&((r=t.getElementById(e.id+"_marker"))&&r.parentNode.removeChild(r),r=Xa("line",i)),r},i.prototype.drawRulerMarker=function(t,e,i){var r,n,o,a,s,h,d,l="Horizontal"===this.orientation,c=t.getElementsByTagName("svg");for(s=0;s<c.length;s++){c[parseInt(s.toString(),10)]&&(r=c[parseInt(s.toString(),10)]);break}if(r){n=this.getRulerSize(),h={id:t.id+"_marker",x1:0,y1:0,x2:l?0:n,y2:l?n:0,stroke:this.markerColor,"stroke-width":1.5,class:"e-d-ruler-marker"},d=this.createMarkerLine(r,t,h),o=this.scale,a=this.offset-this.defStartValue;var p=(l?e.x:e.y)*o+i+a;d.setAttribute("transform","translate("+(l?p+.5+" 0.5":"0.5 "+(p+.5))+")"),r.appendChild(d)}},i.prototype.getRulerGeometry=function(){return new ps(this.element?this.element.getBoundingClientRect().width:0,this.element?this.element.getBoundingClientRect().height:0)},i.prototype.getRulerSize=function(){return this.thickness},i.prototype.getRulerSVG=function(t){var e,i,r=this.getRulerSize();if(this.element&&(e=document.getElementById(this.element.id+"_ruler_space"))){if(i=Xa("svg",{id:this.element.id+"_Ruler_svg",width:"Horizontal"===this.orientation?t.width+200:r+"px",height:"Horizontal"===this.orientation?r:t.height+200+"px",style:"position:inherit;"}),e.childNodes.length>0)for(var n=e.childNodes.length-1;n>=0;n--)e.childNodes[parseInt(n.toString(),10)].parentNode.removeChild(e.childNodes[parseInt(n.toString(),10)]);e.appendChild(i)}return i},i.prototype.wireEvents=function(){},i.prototype.unWireEvents=function(){},Cd([e.Property(5)],i.prototype,"interval",void 0),Cd([e.Property(100)],i.prototype,"segmentWidth",void 0),Cd([e.Property("Horizontal")],i.prototype,"orientation",void 0),Cd([e.Property("RightOrBottom")],i.prototype,"tickAlignment",void 0),Cd([e.Property("red")],i.prototype,"markerColor",void 0),Cd([e.Property(25)],i.prototype,"thickness",void 0),Cd([e.Property(null)],i.prototype,"arrangeTick",void 0),Cd([e.Property(400)],i.prototype,"length",void 0),i}(e.Component),Dd=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Td=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ad=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Dd(i,t),i.prototype.getClassName=function(){return"UserHandle"},Td([e.Property("")],i.prototype,"name",void 0),Td([e.Property("")],i.prototype,"pathData",void 0),Td([e.Property("")],i.prototype,"content",void 0),Td([e.Property("")],i.prototype,"source",void 0),Td([e.Property("#000000")],i.prototype,"backgroundColor",void 0),Td([e.Property("Top")],i.prototype,"side",void 0),Td([e.Property("")],i.prototype,"borderColor",void 0),Td([e.Property(.5)],i.prototype,"borderWidth",void 0),Td([e.Property(25)],i.prototype,"size",void 0),Td([e.Property("white")],i.prototype,"pathColor",void 0),Td([e.Property(10)],i.prototype,"displacement",void 0),Td([e.Property(!0)],i.prototype,"visible",void 0),Td([e.Property(0)],i.prototype,"offset",void 0),Td([e.Complex({},Is)],i.prototype,"margin",void 0),Td([e.Property("Center")],i.prototype,"horizontalAlignment",void 0),Td([e.Property("Center")],i.prototype,"verticalAlignment",void 0),Td([e.Property(!1)],i.prototype,"disableNodes",void 0),Td([e.Property(!1)],i.prototype,"disableConnectors",void 0),Td([e.Complex({},Ks)],i.prototype,"tooltip",void 0),Td([e.Property("")],i.prototype,"template",void 0),i}(e.ChildProperty),Od={Action:"M 90 82.895 C 90 86.819 86.776 90 82.8 90 H 7.2 C 3.224 90 0 86.819 0 82.895 V 7.105 C 0 3.181 3.224 0 7.2 0 h 75.6 C 86.776 0 90 3.181 90 7.105 V 82.895 Z",Decision:"M10,19.707L0.293,10L10,0.293L19.707,10L10,19.707z",MergeNode:"M10,19.707L0.293,10L10,0.293L19.707,10L10,19.707z",InitialNode:"M10,19.5c-5.238,0-9.5-4.262-9.5-9.5S4.762,0.5,10,0.5s9.5,4.262,9.5,9.5S15.238,19.5,10,19.5z",ForkNode:"m0.75,0.75l636.00002,0l0,290l-636.00002,0l0,-290z",JoinNode:"m0.75,0.75l636.00002,0l0,290l-636.00002,0l0,-290z",TimeEvent:"M50.001,0.00286865 L25.001,25.0029 L0.000976562,0.00286865 L50.001,0.00286865 z M0.000976562,50.0029 L25.001,25.0029 L50.001,50.0029 L0.000976562,50.0029 z",AcceptingEvent:"M17.8336 32.164 L29.64 24 L17.32 16 L48.1664 16 L48.5 32 Z",SendSignal:"M48.164 31.8336 L56 23.832 L47.836 16 L16.168 16 L16.1668 31.8336 Z",ReceiveSignal:"M48.1664 31.8336 L39.836 24 L47.836 16 L16.168 16 L16.168 31.836 Z",StructuredNode:"M0,0 L50,0 L50,50 L0,50 z",Note:"M20 12 L4 12 L4 22 L22 22 L22 14 L20 14 L20 12 L22 14 Z"},Md=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ed=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ld=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Md(i,t),Ed([e.Property()],i.prototype,"key",void 0),Ed([e.Property()],i.prototype,"keyModifiers",void 0),i}(e.ChildProperty),zd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Md(i,t),i.prototype.getClassName=function(){return"Command"},Ed([e.Property("")],i.prototype,"name",void 0),Ed([e.Property()],i.prototype,"canExecute",void 0),Ed([e.Property()],i.prototype,"execute",void 0),Ed([e.Complex({},Ld)],i.prototype,"gesture",void 0),Ed([e.Property("")],i.prototype,"parameter",void 0),i}(e.ChildProperty),kd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Md(i,t),Ed([e.Collection([],zd)],i.prototype,"commands",void 0),i}(e.ChildProperty),Bd=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Md(i,t),Ed([e.Property()],i.prototype,"show",void 0),Ed([e.Property()],i.prototype,"showCustomMenuOnly",void 0),Ed([e.Property()],i.prototype,"items",void 0),i}(e.ChildProperty),Nd=function(){function t(){}return t.prototype.renderShadow=function(t,e,i,r){void 0===i&&(i=null);var n,o,a={x:0,y:0},s=fs.transform(a,t.shadow.angle,t.shadow.distance);r&&(o=r.getElementById(e.id+"_shadow")),o||(n=i?"path":"rect",o=document.createElementNS("http://www.w3.org/2000/svg",n),e.appendChild(o));var h={id:e.id+"_shadow",fill:t.shadow.color,stroke:t.shadow.color,opacity:t.shadow.opacity.toString(),transform:"rotate("+t.angle+","+(t.x+t.width*t.pivotX)+","+(t.y+t.height*t.pivotY)+")translate("+(t.x+s.x)+","+(t.y+s.y)+")",rx:t.cornerRadius||0,ry:t.cornerRadius||0,"stroke-dasharray":t.dashArray};if(r){var d=r.getElementById(e.id);d&&d.insertBefore(o,d.firstChild)}Ja(o,h),i?i&&this.renderPath(o,t,i):Ja(o,{width:t.width,height:t.height})},t.prototype.parseDashArray=function(t){return[]},t.prototype.drawRectangle=function(t,e,i,r,n,o,a,s,h){e.shadow&&!r&&this.renderShadow(e,t,void 0,o);var d;d=e.id===t.id?e.id+"_container":e.id;var l;o&&(l=o.getElementById(d)),l&&!n||(l=document.createElementNS("http://www.w3.org/2000/svg","rect"),t.appendChild(l));var c;o&&!e.shadow&&(c=o.getElementById(e.id+"_groupElement_shadow"))&&c.parentNode.removeChild(c),o&&(c=o.getElementById(e.id+"_groupElement_shadow"))&&(c.style.visibility=e.visible?"visible":"hidden");var p;if(s)p={id:d,x:e.x.toString(),y:e.y.toString(),width:e.width.toString(),height:e.height.toString(),visibility:e.visible?"visible":"hidden",transform:"rotate("+e.angle+","+(e.x+e.width/2)+","+(e.y+e.height/2)+")",rx:e.cornerRadius||0,ry:e.cornerRadius||0,opacity:e.opacity};else{var g=e.x,u=e.y,f=e.width,m=e.height,y=e.visible,v=e.angle,b=e.pivotX,S=e.pivotY,w=e.cornerRadius,x=void 0===w?0:w,I=e.opacity,C=void 0===I?1:I,P=g+f*b,D=u+m*S;p={id:d,x:g+"",y:u+"",width:f+"",height:m+"",visibility:y?"visible":"hidden",transform:"rotate("+v+","+P+","+D+")",rx:x,ry:x,opacity:C}}a&&(p.role="img",p["aria-label"]=a);var T=e.class||"";h||(T.includes("e-diagram-resize-handle")||T.includes("e-diagram-endpoint-handle")||T.includes("e-diagram-bezier-control-handle"))&&(T+=" e-disabled"),e.class&&(p.class=T);a||(p["pointer-events"]="none"),Ja(l,p),this.setSvgStyle(l,e,i)},t.prototype.updateSelectionRegion=function(t,e){var i;i=t.parentNode.getElementById(e.id);var r={id:e.id,x:e.x.toString(),y:e.y.toString(),width:e.width.toString(),height:e.height.toString(),transform:"rotate("+e.angle+","+(e.x+e.width*e.pivotX)+","+(e.y+e.height*e.pivotY)+")",class:"e-diagram-selected-region"};i||(i=document.createElementNS("http://www.w3.org/2000/svg","rect"),t.appendChild(i)),this.setSvgStyle(i,e),Ja(i,r)},t.prototype.createGElement=function(t,e){return Xa(t,e)},t.prototype.drawLine=function(t,e){var i=document.createElementNS("http://www.w3.org/2000/svg","line");this.setSvgStyle(i,e);var r=e.x+e.width*e.pivotX,n=e.y+e.height*e.pivotY,o={id:e.id,x1:e.startPoint.x+e.x,y1:e.startPoint.y+e.y,x2:e.endPoint.x+e.x,y2:e.endPoint.y+e.y,stroke:e.stroke,"stroke-width":e.strokeWidth.toString(),opacity:e.opacity.toString(),transform:"rotate("+e.angle+" "+r+" "+n+")",visibility:e.visible?"visible":"hidden"};e.class&&(o.class=e.class),Ja(i,o),t.appendChild(i)},t.prototype.drawCircle=function(t,e,i,r){var n=document.createElementNS("http://www.w3.org/2000/svg","circle");this.setSvgStyle(n,e);var o=e.class||"";i||(o+=" e-disabled");var a={id:e.id,cx:e.centerX,cy:e.centerY,r:e.radius,visibility:e.visible?"visible":"hidden",class:o};r&&(a.role="img",a["aria-label"]=r),n.style.display=e.visible?"block":"none",Ja(n,a),t.appendChild(n)},t.prototype.drawPath=function(t,e,i,r,n,a,s){var h=[];h=l(h=o(e.data)),e.shadow&&this.renderShadow(e,t,h,n);var d;n&&!e.shadow&&(d=n.getElementById(e.id+"_groupElement_shadow"))&&d.parentNode.removeChild(d),n&&(d=n.getElementById(e.id+"_groupElement_shadow"))&&(d.style.visibility=e.visible?"visible":"hidden");var c;if(n&&(c=n.getElementById(e.id)),!c||r)if(c=document.createElementNS("http://www.w3.org/2000/svg","path"),t.parentElement&&"diagram_nativeLayer"===t.parentElement.id){var p=document.createElementNS("http://www.w3.org/2000/svg","g");p.id=e.id+"_groupElement",t.appendChild(p),p.appendChild(c)}else t.appendChild(c);this.renderPath(c,e,h);var g={};g=s?{id:e.id,transform:"rotate("+e.angle+","+(e.x+e.width*e.pivotX)+","+(e.y+e.height*e.pivotY)+")translate("+e.x+","+e.y+"),scale("+s+")",visibility:e.visible?"visible":"hidden",opacity:e.opacity}:{id:e.id,transform:"rotate("+e.angle+","+(e.x+e.width*e.pivotX)+","+(e.y+e.height*e.pivotY)+")translate("+e.x+","+e.y+")",visibility:e.visible?"visible":"hidden",opacity:e.opacity},a&&(g.role="img",g["aria-label"]=a),e.class&&(g.class=e.class),Ja(c,g),this.setSvgStyle(c,e,i)},t.prototype.renderPath=function(t,e,i){var r,n,o,a,s,h,d,l,c=i,p="";for(s=0,h=0,l=0,d=c.length;l<d;++l){var g=c[parseInt(l.toString(),10)],u=g.command;switch("x1"in g&&(r=g.x1),"x2"in g&&(o=g.x2),"y1"in g&&(n=g.y1),"y2"in g&&(a=g.y2),"x"in g&&(s=g.x),"y"in g&&(h=g.y),u){case"M":p=p+"M"+s.toString()+","+h.toString()+" ";break;case"L":p=p+"L"+s.toString()+","+h.toString()+" ";break;case"C":p=p+"C"+r.toString()+","+n.toString()+","+o.toString()+","+a.toString()+",",p+=s.toString()+","+h.toString()+" ";break;case"Q":p=p+"Q"+r.toString()+","+n.toString()+","+s.toString()+","+h.toString()+" ";break;case"A":p=p+"A"+g.r1.toString()+","+g.r2.toString()+","+g.angle.toString()+",",p+=g.largeArc.toString()+","+g.sweep+","+s.toString()+","+h.toString()+" ";break;case"Z":case"z":p+="Z "}}t.setAttribute("d",p)},t.prototype.setSvgFontStyle=function(t,e){t.style.fontStyle=e.italic?"italic":"normal",t.style.fontWeight=e.bold?"bold":"normal",t.style.fontSize=e.fontSize.toString()+"px",t.style.fontFamily=e.fontFamily},t.prototype.drawText=function(t,e,i,r,n,o,a){if(void 0!==e.content){var s=a.groupElement,h=void 0,d=void 0,l=void 0,c=void 0,p=void 0,g=void 0,u=0,f=0,m=0,y=void 0,v=void 0;if(i&&(y=i.getElementById(e.id+"_text")),y){if(e.doWrap)for(;y.firstChild;)y.removeChild(y.firstChild)}else if(e.doWrap=!0,y=document.createElementNS("http://www.w3.org/2000/svg","text"),"pre-wrap"===e.whiteSpace&&y.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),s&&(v=document.getElementById(s.id+"_content_groupElement")),v&&s&&s.children&&s.children[0]instanceof Gs){var b=this.createGElement("g",{id:r+"_groupElement"});v.appendChild(b),b.appendChild(y)}else t.appendChild(y);var S=e.x+e.width*e.pivotX,w=e.y+e.height*e.pivotY,x=0;if(e.doWrap||"Wrap"!==e.textOverflow){for(;y.firstChild;)y.removeChild(y.firstChild);for(this.setSvgStyle(y,e,n),this.setSvgFontStyle(y,e),h=document.createTextNode(e.content),d=e.childNodes,l=e.wrapBounds,c=this.svgLabelAlign(e,l,d),l.width>e.width&&"Wrap"!==e.textOverflow&&"NoWrap"===e.textWrapping&&(d[0].text=Y(e.content,e)),m=0;m<d.length;m++)if(g=document.createElementNS("http://www.w3.org/2000/svg","tspan"),h=document.createTextNode(d[parseInt(m.toString(),10)].text),p=d[parseInt(m.toString(),10)],p.x=is(p,d,m,e),u="justify"===e.textAlign||"left"===e.textAlign?0:c.x+p.x-l.x,f=c.y+p.dy*m+.8*e.fontSize,"Clip"!==e.textOverflow&&"Ellipsis"!==e.textOverflow||"WrapWithOverflow"!==e.textWrapping&&"Wrap"!==e.textWrapping||!s)this.alignText(y,g,p,h,u,f,m,e,d);else{var I=e.isHorizontalLane?s.actualSize.width:s.actualSize.height;if(!(f<I))break;if("Ellipsis"===e.textOverflow&&d[m+1]){var C=d[m+1];c.y+C.dy*(m+1)+.8*e.fontSize>I&&(p.text=p.text.slice(0,p.text.length-3),p.text=p.text.concat("..."),h.data=p.text)}this.alignText(y,g,p,h,u,f,m,e,d),x+=p.dy}}x&&e.isHorizontalLane&&(S=e.parentOffsetX+e.pivotX,w=e.parentOffsetY+e.pivotY,e.y=e.parentOffsetY-x*e.pivotY+.5),e.textDecoration&&"LineThrough"===e.textDecoration&&(e.textDecoration=W(e.textDecoration));var P={id:e.id+"_text",fill:e.color,visibility:e.visible?"visible":"hidden","text-decoration":e.textDecoration,transform:"rotate("+e.angle+","+S+","+w+")translate("+e.x+","+e.y+")",opacity:e.opacity};r&&(P.role="img",P["aria-label"]=r),Ja(y,P)}},t.prototype.alignText=function(t,e,i,r,n,o,a,s,h){if("justify"!==s.textAlign)this.setText(t,e,i,r,n,o,s);else if(a!==h.length-1){var d=s.width;this.setText(t,e,i,r,n,o,s,d,"spacing")}else this.setText(t,e,i,r,n,o,s)},t.prototype.setText=function(t,e,i,r,n,o,a,s,h){var d={x:n.toString(),y:o.toString()};"justify"===a.textAlign&&(d.textLength=(s||0).toString(),d.lengthAdjust=h||"spacing"),Ja(e,d),t.setAttribute("fill",i.text),e.appendChild(r),t.appendChild(e)},t.prototype.drawImage=function(t,e,i,r){var n;i&&(n=i.getElementById(e.id+"image")),n||(n=document.createElementNS("http://www.w3.org/2000/svg","image"),t.appendChild(n));var o=new Image;o.src=e.source;var a="None"!==e.scale?e.scale:"",s=e.alignment,h=s.charAt(0).toLowerCase()+s.slice(1);"Stretch"!==a&&(h+=" "+a.charAt(0).toLowerCase()+a.slice(1)),Ja(n,{id:e.id+"image",x:e.x.toString(),y:e.y.toString(),transform:"rotate("+e.angle+","+(e.x+e.width*e.pivotX)+","+(e.y+e.height*e.pivotY)+")",width:e.width.toString(),visibility:e.visible?"visible":"hidden",height:e.height.toString(),preserveAspectRatio:h,opacity:e.opacity.toString()}),n.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",o.src.toString())},t.prototype.drawHTMLContent=function(t,e,i,r,n){var o,a;if(e&&(o=e.querySelector("#"+t.id+"_html_element")),!o){(a=e.querySelector("#"+t.id+"_html_element")||e.querySelector("#"+t.nodeId+"_html_element"))||(a=Va("div",{id:t.nodeId+"_html_element",class:"foreign-object"}));var s={id:t.id+"_html_element",class:"foreign-object"};o=Va("div",s);var h=document.getElementById(t.diagramId).ej2_instances[0],d=!1;if(e.parentNode&&e.parentNode.parentNode&&e.parentNode.parentNode.parentNode&&e.parentNode.parentNode.parentNode.classList.contains("e-overview")&&(d=!0),d)h.isReact?h.renderReactTemplates(function(){o.appendChild(t.template.cloneNode(!0))}):o.appendChild(t.template.cloneNode(!0));else{if("string"==typeof t.template){var l=document.createElement("div");l.innerHTML=t.template,t.template=l,h.selectedItems.userHandles.filter(function(e){return e.name===t.id.split("_shape")[0]&&""!==e.template})[0].template=t.template}t.isTemplate&&t.template?h instanceof Tp?o.appendChild(t.template):o.appendChild(t.template.cloneNode(!0)):t.template&&o.appendChild(t.template.cloneNode(!0))}void 0!==n&&e.childNodes.length>n&&e.insertBefore(o,e.childNodes[parseInt(n.toString(),10)]),a.appendChild(o),e.appendChild(a)}var c=L(t).topLeft;o.style.height=t.actualSize.height+"px",o.style.width=t.actualSize.width+"px",o.style.left=c.x+"px",o.style.top=c.y+"px",o.style.position="absolute",o.style.transform="rotate("+(t.rotateAngle+t.parentTransform)+"deg)",o.style.pointerEvents=r?"all":"none",o.style.visibility=t.visible?"visible":"hidden",o.style.opacity=t.style.opacity.toString()},t.prototype.drawNativeContent=function(t,e,i,r,n){var o,a;if(n&&(o=n.getElementById(t.id+"_native_element"),a=n.getElementById(t.id+"_clip")),!o){(o=document.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("id",t.id+"_native_element"),o.appendChild(t.template.cloneNode(!0));var s=this.createGElement("g",{id:t.id+"_inner_native_element"});s.appendChild(o),e.appendChild(s)}a&&o.removeChild(a),o.style.visibility=t.visible?"visible":"hidden",o.style.opacity=t.style.opacity?t.style.opacity.toString():"1",this.setNativTransform(t,o,i,r),"Slice"===t.scale&&this.drawClipPath(t,o,i,r,n),Ja(o,t.description?{role:"img","aria-label":t.description}:{})},t.prototype.setNativTransform=function(t,e,i,r){var n=0!==t.contentSize.width?t.contentSize.width:1,o=0!==t.contentSize.height?t.contentSize.height:1,a=t.templatePosition.x*r/n,s=t.templatePosition.y*i/o;e.setAttribute("transform","rotate("+t.parentTransform+","+t.offsetX+","+t.offsetY+") translate("+(t.offsetX-a-r*t.pivot.x)+","+(t.offsetY-s-i*t.pivot.y)+") scale("+r/n+","+i/o+")")},t.prototype.drawClipPath=function(t,e,i,r,n){var o=t.contentSize.width,a=t.contentSize.height,s=t.width/(r/o),h=t.height/(i/a),d=t.templatePosition.x+(t.width>=t.height?0:(o-s)/2),l=t.templatePosition.y+(t.height>=t.width?0:(a-h)/2),c=n.getElementById(t.id+"_clip");(c=document.createElementNS("http://www.w3.org/2000/svg","clipPath")).setAttribute("id",t.id+"_clip"),e.appendChild(c);var p=n.getElementById(t.id+"_clip_rect");return p=document.createElementNS("http://www.w3.org/2000/svg","rect"),c.appendChild(p),Ja(p,{id:t.id+"_clip_rect",width:s.toString(),height:h.toString(),x:d.toString(),y:l.toString()}),To()?e.setAttribute("clip-path","url("+location.protocol+"//"+location.host+location.pathname+"#"+t.id+"_clip)"):e.setAttribute("clip-path","url(#"+t.id+"_clip)"),e},t.prototype.renderGradient=function(t,e,i){var r,n,o,a=ja(i),s=a.getElementById(i+"gradient_pattern");s||(s=Xa("defs",{id:i+"gradient_pattern"}),a.insertBefore(s,a.firstChild));var h,d;if(to(e.id),"None"!==t.gradient.type){for(l=0;l<t.gradient.stops.length;l++)r=r?Math.max(r,t.gradient.stops[parseInt(l.toString(),10)].offset):t.gradient.stops[parseInt(l.toString(),10)].offset,n=n?Math.min(n,t.gradient.stops[parseInt(l.toString(),10)].offset):t.gradient.stops[parseInt(l.toString(),10)].offset;"Linear"===t.gradient.type?((d=t.gradient).id=e.id+"_linear",o=this.createLinearGradient(d),s.appendChild(o)):((h=t.gradient).id=e.id+"_radial",o=this.createRadialGradient(h),s.appendChild(o));for(var l=0;l<t.gradient.stops.length;l++){var c=t.gradient.stops[parseInt(l.toString(),10)],p=n<0?(r+c.offset)/(2*r):c.offset/r,g=document.createElementNS("http://www.w3.org/2000/svg","stop");Ja(g,{offset:p.toString(),style:"stop-color:"+c.color}),o.appendChild(g)}}return o},t.prototype.createLinearGradient=function(t){var e=document.createElementNS("http://www.w3.org/2000/svg","linearGradient");return Ja(e,{id:t.id,x1:t.x1+"%",y1:t.y1+"%",x2:t.x2+"%",y2:t.y2+"%"}),e},t.prototype.createRadialGradient=function(t){var e=document.createElementNS("http://www.w3.org/2000/svg","radialGradient");return Ja(e,{id:t.id,cx:t.cx+"%",cy:t.cy+"%",r:t.r+"%",fx:t.fx+"%",fy:t.fy+"%"}),e},t.prototype.setSvgStyle=function(t,e,i){if(e.canApplyStyle||void 0===e.canApplyStyle){"none"===e.fill&&(e.fill="transparent"),"none"===e.stroke&&(e.stroke="transparent");var r=[],n=void 0;if(e.dashArray&&(r=(new Zl).parseDashArray(e.dashArray)),e.gradient&&"None"!==e.gradient.type&&i){var o=this.renderGradient(e,t,i);n=To()?"url("+location.protocol+"//"+location.host+location.pathname+"#"+o.id+")":"url(#"+o.id+")"}else n=e.fill;e.stroke&&t.setAttribute("stroke",e.stroke),void 0!==e.strokeWidth&&null!==e.strokeWidth&&t.setAttribute("stroke-width",e.strokeWidth.toString()),r&&t.setAttribute("stroke-dasharray",r.toString()||"none"),n&&t.setAttribute("fill",n)}},t.prototype.svgLabelAlign=function(t,e,i){var r=new ps(e.width,i.length*(1.2*t.fontSize)),n={x:0,y:0},o=.5*t.width,a=.5*t.height;return"left"===t.textAlign||"justify"===t.textAlign?o=0:"center"===t.textAlign?o=e.width>t.width&&("Ellipsis"===t.textOverflow||"Clip"===t.textOverflow)&&"NoWrap"===t.textWrapping?0:.5*t.width:"right"===t.textAlign&&(o=1*t.width),n.x=0+o+(e?e.x:0),n.y=1.2+a-r.height/2,n},t}(),Rd=function(){function e(t,e,i){this.renderer=null,this.isSvgMode=!0,this.touchMove=void 0,this.transform={x:0,y:0},this.diagramId=t,this.element=Aa(this.diagramId),this.svgRenderer=e,this.isSvgMode=i,this.renderer=i?new Nd:new Zl}return e.prototype.setCursor=function(t,e){t.style.cursor=e},e.prototype.setLayers=function(){this.iconSvgLayer=this.element.getElementsByClassName("e-ports-expand-layer")[0],this.adornerSvgLayer=this.element.getElementsByClassName("e-adorner-layer")[0],this.nativeSvgLayer=this.element.getElementsByClassName("e-native-layer")[0],this.diagramSvgLayer=this.element.getElementsByClassName("e-diagram-layer")[0]},e.prototype.getAdornerLayer=function(){return La(this.diagramId)},e.prototype.getParentSvg=function(e,i,r){return this.diagramId&&e&&e.id?e.id.split("_icon_content").length>1||e.id.split("_nodeport").length>1||e.elementActions&t.ElementAction.ElementIsPort?this.iconSvgLayer:i&&"selector"===i?this.adornerSvgLayer:e instanceof Gs?this.nativeSvgLayer:this.diagramSvgLayer:r},e.prototype.getParentElement=function(e,i,r,n){var o=i;if(r&&this.diagramId&&e&&e.id){e.id.split("_icon_content").length>1?(o=r.getElementById(this.diagramId+"_diagramExpander"),i=null):e.id.split("_nodeport").length>1?o=r.getElementById(this.diagramId+"_diagramPorts"):e instanceof Gs?(o=r.getElementById(this.diagramId+"_nativeLayer"),i=null):e.elementActions&t.ElementAction.ElementIsPort?(o=r.getElementById(this.diagramId+"_diagramPorts"),i=null):o=r.getElementById(this.diagramId+"_diagramLayer");var a=this.getGroupElement(e,i||o,n);o=a.g,a.svg&&(r=a.svg)}return{g:o,svg:r}},e.prototype.getGroupElement=function(t,e,i){var r,n,o=this.getParentSvg(t);if(e&&o){if(o&&!(r=o.getElementById(t.id+"_groupElement"))&&o!==this.nativeSvgLayer){var a=this.nativeSvgLayer;r=a.getElementById(t.id+"_groupElement"),n=a}r||(r=this.svgRenderer.createGElement("g",{id:t.id+"_groupElement"}),void 0!==i&&e.childNodes.length>i?e.insertBefore(r,e.childNodes[parseInt(i.toString(),10)]):e.appendChild(r))}return{g:r,svg:n}},e.prototype.renderElement=function(t,e,i,r,n,o,a,s,h,d,l){t instanceof Ns?(t.id=t.id?t.id:O(),this.renderContainer(t,e,i,r,n,o,a,s,h,d,l)):t instanceof Fs?this.renderImageElement(t,e,r,n,a):t instanceof Ws?this.renderPathElement(t,e,r,n,a,h,l):t instanceof js?this.renderTextElement(t,e,r,n,a,d):t instanceof Gs?this.renderNativeElement(t,e,r,n,a):t instanceof wh?this.renderHTMLElement(t,e,i,r,n,a,s):this.renderRect(t,e,r,n,h)},e.prototype.drawSelectionRectangle=function(t,e,i,r,n,o){t=(t+o.tx)*o.scale,e=(e+o.ty)*o.scale;var a={width:i*o.scale,height:r*o.scale,x:t+.5,y:e+.5,fill:"transparent",stroke:"gray",angle:0,pivotX:.5,pivotY:.5,strokeWidth:1,dashArray:"6 3",opacity:1,visible:!0,id:n.id+"_selected_region"},s=this.getAdornerLayer();this.svgRenderer.updateSelectionRegion(s,a)},e.prototype.renderHighlighter=function(t,e,i){var r=t.actualSize.width||2,n=t.actualSize.height||2,o=t.offsetX-r*t.pivot.x,a=t.offsetY-n*t.pivot.y;o=(o+i.tx)*i.scale,a=(a+i.ty)*i.scale;var s={width:r*i.scale,height:n*i.scale,x:o,y:a,fill:"transparent",stroke:"#8CC63F",angle:t.rotateAngle,pivotX:t.pivot.x,pivotY:t.pivot.y,strokeWidth:4,dashArray:"",opacity:1,cornerRadius:0,visible:!0,id:e.id+"_highlighter",class:"e-diagram-highlighter"};this.svgRenderer.drawRectangle(e,s,this.diagramId,void 0,void 0,e)},e.prototype.renderSelectionRectangle=function(t,e,i,r){var n=t.actualSize.width||2,o=t.actualSize.height||2,a=t.offsetX-n*t.pivot.x,s=t.offsetY-o*t.pivot.y;a=(a+i.tx)*i.scale,s=(s+i.ty)*i.scale;var h={width:n*i.scale,height:o*i.scale,x:a,y:s,fill:"transparent",stroke:"#00cc00",angle:t.rotateAngle,pivotX:t.pivot.x,pivotY:t.pivot.y,strokeWidth:r?2:1,dashArray:"",opacity:1,cornerRadius:0,visible:!0,id:t.id+"_highlighter",class:r?"e-diagram-first-selection-indicator e-diagram-selection-indicator":"e-diagram-selection-indicator"},d=this.getParentSvg(t,"selector");this.svgRenderer.drawRectangle(e,h,this.diagramId,void 0,void 0,d)},e.prototype.renderSelectionLine=function(t,e,i,r){var n=this.getBaseAttributes(t,i);n.data=t.absolutePath,n.id=n.id+"_highlighter";var o=t.description?t.description:t.id;this.isSvgMode||(n.x=t.flipOffset.x?t.flipOffset.x:n.x,n.y=t.flipOffset.y?t.flipOffset.y:n.y),i&&(n.x=n.x*i.scale,n.y=n.y*i.scale),n.stroke="#00cc00",n.strokeWidth=r?2:1,n.class=r?"e-diagram-first-selection-indicator e-diagram-selection-indicator":"e-diagram-selection-indicator";var a=this.getParentSvg(t,"selector");this.svgRenderer.drawPath(e,n,this.diagramId,void 0,a,o,i.scale)},e.prototype.renderStackHighlighter=function(t,e,i,r,n,a,s){var h=t.actualSize.width||2,d=t.offsetX-h*t.pivot.x,l=t.actualSize.height||2,p=t.offsetY-l*t.pivot.y;d=(d+i.tx)*i.scale;var g,f=t.bounds,m="";if(p=(p+i.ty)*i.scale,r)if(a){g="M 0 0 L "+((b=h*i.scale)+2)+" 0 Z";var y=-f.x,v=-f.y;y=t.actualSize.width/Number(f.width?f.width:1)*i.scale,v=t.actualSize.height/Number(f.height?f.height:1)*i.scale;m=c(u(o("M7,4 L8,4 8,7 11,7 11,8 8,8 8,11 7,11 7,8 4,8 4,7 7,7 z M7.5,0.99999994C3.9160004,1 1,3.9160004 0.99999994,7.5 1,11.084 3.9160004,14 7.5,14 11.084,14 14,11.084 14,7.5 14,3.9160004 11.084,1 7.5,0.99999994 z M7.5,0 C11.636002,0 15,3.3639984 15,7.5 15,11.636002 11.636002,15 7.5,15 3.3640003,15 0,11.636002 0,7.5 0,3.3639984 3.3640003,0 7.5,0 z")),y+b+2,v-8,!1,f.x,f.y,0,0),n.y>=t.offsetY&&(p+=l)}else{s&&n.y>=t.offsetY&&(p+=l*i.scale);var b=h*i.scale;g="M -10 -10 L 0 0 Z M -10 10 L 0 0 Z M 0 0 L "+b+" 0 Z M "+b+" 0 L "+(b+10)+" 10 Z L "+(b+10)+" -10 Z"}else g="M 10 -10 L 0 0 Z M -10 -10 L 0 0 Z M 0 0 L 0 "+(b=l*i.scale)+" Z M 0  "+b+" L -10  "+(b+10)+" Z L 10  "+(b+10)+" Z",n.x>=t.offsetX&&(d+=h*i.scale);var S={data:g+m,width:h*i.scale,height:l*i.scale,x:d,y:p,fill:"transparent",stroke:"#8CC63F",angle:t.rotateAngle,pivotX:t.pivot.x,pivotY:t.pivot.y,strokeWidth:1,dashArray:"",opacity:1,visible:!0,id:e.id+"_stack_highlighter",class:"e-diagram-highlighter"};this.svgRenderer.drawPath(e,S,this.diagramId)},e.prototype.drawLine=function(t,e){this.svgRenderer.drawLine(t,e)},e.prototype.drawPath=function(t,e){this.svgRenderer.drawPath(t,e,this.diagramId)},e.prototype.renderResizeHandle=function(e,i,r,n,o,a,s,h,d,l,c){var p=e.offsetX-e.actualSize.width*e.pivot.x,g=e.offsetY-e.actualSize.height*e.pivot.y,u=e.actualSize.height,f=e.actualSize.width;if(!l&&r&t.ThumbsConstraints.Rotate&&ai(this.rendererActions)&&!si(this.rendererActions))this.renderPivotLine(e,i,a,o,s),this.renderRotateThumb(e,i,a,o,s);else if(this.touchMove){var m=document.getElementById("rotateThumb");m&&m.setAttribute("visibility","hidden")}this.renderBorder(e,i,a,h,d,l);var y=e.actualSize.width*n,v=e.actualSize.height*n;d||!ai(this.rendererActions)||si(this.rendererActions)||e.isTextAnnotation||(y>=40&&v>=40&&(o&t.SelectorConstraints.ResizeNorthWest&&this.renderCircularHandle("resizeNorthWest",e,p,g,i,oo(o,"ResizeNorthWest"),r&t.ThumbsConstraints.ResizeNorthWest,a,void 0,s,{"aria-label":"Thumb to resize the selected object on top left side direction"},void 0,"e-diagram-resize-handle e-northwest",c),o&t.SelectorConstraints.ResizeNorthEast&&this.renderCircularHandle("resizeNorthEast",e,p+f,g,i,oo(o,"ResizeNorthEast"),r&t.ThumbsConstraints.ResizeNorthEast,a,void 0,s,{"aria-label":"Thumb to resize the selected object on top right side direction"},void 0,"e-diagram-resize-handle e-northeast",c),o&t.SelectorConstraints.ResizeSouthWest&&this.renderCircularHandle("resizeSouthWest",e,p,g+u,i,oo(o,"ResizeSouthWest"),r&t.ThumbsConstraints.ResizeSouthWest,a,void 0,s,{"aria-label":"Thumb to resize the selected object on bottom left side direction"},void 0,"e-diagram-resize-handle e-southwest",c),o&t.SelectorConstraints.ResizeSouthEast&&this.renderCircularHandle("resizeSouthEast",e,p+f,g+u,i,oo(o,"ResizeSouthEast"),r&t.ThumbsConstraints.ResizeSouthEast,a,void 0,s,{"aria-label":"Thumb to resize the selected object on bottom right side direction"},void 0,"e-diagram-resize-handle e-southeast",c)),o&t.SelectorConstraints.ResizeNorth&&this.renderCircularHandle("resizeNorth",e,p+f/2,g,i,oo(o,"ResizeNorth"),r&t.ThumbsConstraints.ResizeNorth,a,void 0,s,{"aria-label":"Thumb to resize the selected object on top side direction"},void 0,"e-diagram-resize-handle e-north",c),o&t.SelectorConstraints.ResizeSouth&&this.renderCircularHandle("resizeSouth",e,p+f/2,g+u,i,oo(o,"ResizeSouth"),r&t.ThumbsConstraints.ResizeSouth,a,void 0,s,{"aria-label":"Thumb to resize the selected object on bottom side direction"},void 0,"e-diagram-resize-handle e-south",c),o&t.SelectorConstraints.ResizeWest&&this.renderCircularHandle("resizeWest",e,p,g+u/2,i,oo(o,"ResizeWest"),r&t.ThumbsConstraints.ResizeWest,a,void 0,s,{"aria-label":"Thumb to resize the selected object on left side direction"},void 0,"e-diagram-resize-handle e-west",c),o&t.SelectorConstraints.ResizeEast&&this.renderCircularHandle("resizeEast",e,p+f,g+u/2,i,oo(o,"ResizeEast"),r&t.ThumbsConstraints.ResizeEast,a,void 0,s,{"aria-label":"Thumb to resize the selected object on right side direction"},void 0,"e-diagram-resize-handle e-east",c));var b=document.getElementById(this.diagramId+"_SelectorElement");if(e.flippedPoint&&b){var S=document.getElementById(e.id+"_groupElement").getAttribute("transform");S.includes("scale")&&(S="translate("+(e.flippedPoint.x-e.corners.topLeft.x)+","+(e.flippedPoint.y-e.corners.topLeft.y)+")"),S&&b.setAttribute("transform",S)}else b&&b.setAttribute("transform","")},e.prototype.renderEndPointHandle=function(e,i,r,n,o,a,s,h,d,l){var c,p,g=e.sourcePoint,u=e.targetPoint,f=e.wrapper;if(this.renderCircularHandle("connectorSourceThumb",f,g.x,g.y,i,oo(n,"ConnectorSourceThumb"),r&t.ThumbsConstraints.ConnectorSource,o,a,void 0,{"aria-label":"Thumb to move the source point of the connector"},void 0,"e-diagram-endpoint-handle e-sourceend",l),this.renderCircularHandle("connectorTargetThumb",f,u.x,u.y,i,oo(n,"ConnectorTargetThumb"),r&t.ThumbsConstraints.ConnectorTarget,o,s,void 0,{"aria-label":"Thumb to move the target point of the connector"},void 0,"e-diagram-endpoint-handle e-targetend",l),h)if("Straight"===e.type&&e.segments.length>0)for(c=0;c<e.segments.length-1;c++){p=e.segments[parseInt(c.toString(),10)];m="e-diagram-straight-segment-handle";this.renderCircularHandle("segementThumb_"+(c+1),f,p.point.x,p.point.y,i,!0,r&t.ThumbsConstraints.ConnectorSource,o,a,null,null,c,m,l)}else if("Bezier"===e.type&&e.segments.length>0)for(c=0;c<e.segments.length-1;c++){p=e.segments[parseInt(c.toString(),10)];var m="e-diagram-bezier-segment-handle";this.renderBezierHandle("segementThumb_"+(c+1),f,p.point.x,p.point.y,i,!0,e,o,a,null,c,m,l)}else if(e.maxSegmentThumb){var y=e.segments.length<=e.maxSegmentThumb?0:1,v=e.segments.length<=e.maxSegmentThumb?e.segments.length:e.segments.length-1;for(e.maxSegmentThumb>=3&&3===e.segments.length&&(y=1,v=e.segments.length-1),y=e.segments.length>e.maxSegmentThumb+2?2:y,v=e.segments.length>e.maxSegmentThumb+2?e.segments.length-2:v,1===e.segments.length&&e.segments[0].points.length<=2&&(y=1,v=e.segments.length),c=y;c<v;c++){b=e.segments[parseInt(c.toString(),10)];this.renderOrthogonalThumbs("orthoThumb_"+(c+1),f,b,i,oo(n,"ConnectorSourceThumb"),o,e)}}else for(c=0;c<e.segments.length;c++){var b=e.segments[parseInt(c.toString(),10)];this.renderOrthogonalThumbs("orthoThumb_"+(c+1),f,b,i,oo(n,"ConnectorSourceThumb"),o,e)}if("Bezier"===e.type&&d){var S=e.segments.length-1,w=null!=e.bezierSettings?e.bezierSettings.controlPointsVisibility:null;for(c=0;c<=S;c++){var x=e.segments[parseInt(c.toString(),10)],I=fs.isEmptyPoint(x.point1)?x.bezierPoint1:x.point1;(null!=w&&0===c&&ao(w,"Source")||0!==c&&ao(w,"Intermediate"))&&(this.renderCircularHandle("bezierPoint_"+(c+1)+"_1",f,I.x,I.y,i,oo(n,"ConnectorSourceThumb"),r&t.ThumbsConstraints.ConnectorSource,o,void 0,void 0,{"aria-label":"Thumb to move the source point of the connector"},void 0,"e-diagram-bezier-control-handle e-source",l),oo(n,"ConnectorSourceThumb")&&this.renderBezierLine("bezierLine_"+(c+1)+"_1",f,i,x.points[0],fs.isEmptyPoint(x.point1)?x.bezierPoint1:x.point1,o)),I=fs.isEmptyPoint(x.point2)?x.bezierPoint2:x.point2,(null!=w&&c===S&&ao(w,"Target")||c!==S&&ao(w,"Intermediate"))&&(this.renderCircularHandle("bezierPoint_"+(c+1)+"_2",f,I.x,I.y,i,oo(n,"ConnectorTargetThumb"),r&t.ThumbsConstraints.ConnectorTarget,o,void 0,void 0,{"aria-label":"Thumb to move the target point of the connector"},void 0,"e-diagram-bezier-control-handle e-target",l),oo(n,"ConnectorTargetThumb")&&this.renderBezierLine("bezierLine_"+(c+1)+"_2",f,i,x.points[1],fs.isEmptyPoint(x.point2)?x.bezierPoint2:x.point2,o))}}},e.prototype.renderOrthogonalThumbs=function(t,e,i,r,n,o,a){var s,h,d,l,c=0;if(a.maxSegmentThumb){var p=i.points.length<3?0:1,g=i.points.length<3?i.points.length-1:i.points.length-2;for(p=1===a.segments.length?p:0,g=1===a.segments.length?g:i.points.length-1,c=p;c<g;c++)d=fs.distancePoints(i.points[parseInt(c.toString(),10)],i.points[c+1]),s=i.points[parseInt(c.toString(),10)].y.toFixed(2)===i.points[c+1].y.toFixed(2)?"horizontal":"vertical",h=!!(d>=50&&i.allowDrag),this.renderOrthogonalThumb(t+"_"+(c+1),e,(i.points[parseInt(c.toString(),10)].x+i.points[c+1].x)/2,(i.points[parseInt(c.toString(),10)].y+i.points[c+1].y)/2,r,h,s,o,a,l)}else for(c=0;c<i.points.length-1;c++)d=fs.distancePoints(i.points[parseInt(c.toString(),10)],i.points[c+1]),s=i.points[parseInt(c.toString(),10)].y.toFixed(2)===i.points[c+1].y.toFixed(2)?"horizontal":"vertical",l=fs.direction(i.points[parseInt(c.toString(),10)],i.points[c+1]),h=!!(d>=50&&i.allowDrag),this.renderOrthogonalThumb(t+"_"+(c+1),e,(i.points[parseInt(c.toString(),10)].x+i.points[c+1].x)/2,(i.points[parseInt(c.toString(),10)].y+i.points[c+1].y)/2,r,h,s,o,a,l)},e.prototype.renderOrthogonalThumb=function(e,i,r,n,o,a,s,h,d,l){var c,p,g=0,u=document.getElementById(this.diagramId);u&&(p=u.ej2_instances[0]);var f=d.constraints&t.ConnectorConstraints.InheritSegmentThumbShape?p.segmentThumbShape:d.segmentThumbShape,m=d.constraints&t.ConnectorConstraints.InheritSegmentThumbSize?p.segmentThumbSize:d.segmentThumbSize;if(c="horizontal"===s?rt(f):nt(f),"Arrow"===f||"DoubleArrow"===f||"OpenArrow"===f)switch(l){case"Bottom":case"Right":g=180;break;default:g=0}else if("Fletch"===f||"OpenFetch"===f||"IndentedArrow"===f||"OutdentedArrow"===f)switch(l){case"Bottom":g=-90;break;case"Top":g=90;break;case"Right":g=180;break;default:g=0}var y={x:(r+h.tx)*h.scale-m/2,y:(n+h.ty)*h.scale-m/2,angle:g,fill:"#e2e2e2",stroke:"black",strokeWidth:1,dashArray:"",data:c,width:m,height:m,pivotX:.5,pivotY:.5,opacity:1,visible:a,id:e,class:"e-diagram-ortho-segment-handle"},v=ma(y.data),b=new ps(y.width,y.height),S=new Ws;if(y.data=S.updatePath(y.data,v,b),this.touchMove){var w=document.getElementById(e);w?this.updateSegmentPosition(w,y):this.svgRenderer.drawPath(o,y,this.diagramId)}else this.svgRenderer.drawPath(o,y,this.diagramId)},e.prototype.renderPivotLine=function(e,i,r,n,o){var a=e,s=!!(n&t.SelectorConstraints.Rotate);o&&(s=!1);var h=this.getBaseAttributes(a,r);h.fill="None",h.stroke="black",h.strokeWidth=1,h.dashArray="2,3",h.visible=s;var d=r.scale;h.x*=d,h.y*=d,h.width*=d,h.height*=d,h.id="pivotLine",h.class="e-diagram-pivot-line";var l={x:a.actualSize.width*a.pivot.x*d,y:-20},c={x:a.actualSize.width*a.pivot.x*d,y:0};h.startPoint=l,h.endPoint=c,this.svgRenderer.drawLine(i,h)},e.prototype.renderBezierLine=function(t,e,i,r,n,o){var a=this.getBaseAttributes(e,o);a.id=t,a.stroke="black",a.strokeWidth=1,a.dashArray="3,3",a.fill="None",a.class="e-diagram-bezier-control-line",a.x=0,a.y=0;var s=o.scale,h={x:(r.x+o.tx)*s,y:(r.y+o.ty)*s},d={x:(n.x+o.tx)*s,y:(n.y+o.ty)*s};a.startPoint=h,a.endPoint=d,this.svgRenderer.drawLine(i,a)},e.prototype.renderCircularHandle=function(t,e,i,r,n,o,a,s,h,d,l,c,p,g){var u=e,f={x:i,y:r};if(0!==u.rotateAngle||0!==u.parentTransform){var m=y();S(m,u.rotateAngle+u.parentTransform,u.offsetX,u.offsetY),f=v(m,f)}var b=this.getBaseAttributes(u);if(b.stroke="black",b.strokeWidth=1,void 0!==c?(b.id="segmentEnd_"+c,b.fill="#e2e2e2"):b.fill=h?"#8CC63F":"white",b.cornerRadius=g/2,b.angle=e.rotateAngle,b.id=t,b.visible=o,b.class=p,b.width=g,b.height=g,b.x=(f.x+s.tx)*s.scale,b.y=(f.y+s.ty)*s.scale,b.x=b.x-b.width/2,b.y=b.y-b.height/2,h&&(b.class+=" e-connected"),d&&(b.visible=!1),this.touchMove){var w=document.getElementById(t);if(w)this.updateResizeHandle(w,b);else{x=this.getParentSvg(e,"selector");this.svgRenderer.drawRectangle(n,b,this.diagramId,!0,!0,x,l,!0,a)}}else{var x=this.getParentSvg(e,"selector");this.svgRenderer.drawRectangle(n,b,this.diagramId,!0,!0,x,l,!0,a)}},e.prototype.updateResizeHandle=function(t,e){Ja(t,{id:e.id,x:e.x.toString(),y:e.y.toString(),width:e.width.toString(),height:e.height.toString(),visibility:e.visible?"visible":"hidden",transform:"rotate("+e.angle+","+(e.x+e.width/2)+","+(e.y+e.height/2)+")",rx:e.cornerRadius||0,ry:e.cornerRadius||0,opacity:e.opacity})},e.prototype.renderBezierHandle=function(e,i,r,n,o,a,s,h,d,l,c,p,g){var u,f=document.getElementById(this.diagramId);f&&(u=f.ej2_instances[0]);var m=i,b={x:r,y:n};if(0!==m.rotateAngle||0!==m.parentTransform){var w=y();S(w,m.rotateAngle+m.parentTransform,m.offsetX,m.offsetY),b=v(w,b)}var x=s.constraints&t.ConnectorConstraints.InheritSegmentThumbShape?u.segmentThumbShape:s.segmentThumbShape,I=s.constraints&t.ConnectorConstraints.InheritSegmentThumbSize?u.segmentThumbSize:s.segmentThumbSize,C=nt(x),P=this.getBaseAttributes(m);P.stroke="black",P.strokeWidth=1,void 0!==c?(P.id="segmentEnd_"+c,P.fill="#e2e2e2"):P.fill=d?"#8CC63F":"white",P.angle=i.rotateAngle,P.id=e,P.visible=a,P.class=p,P.width=I,P.height=I,P.data=C,P.x=(b.x+h.tx)*h.scale,P.y=(b.y+h.ty)*h.scale,P.x=P.x-P.width/2,P.y=P.y-P.height/2,d&&(P.class+=" e-connected"),l&&(P.visible=!1);var D=ma(P.data),T=new ps(P.width,P.height),A=new Ws;if(P.data=A.updatePath(P.data,D,T),this.touchMove){var O=document.getElementById(e);if(O)this.updateSegmentPosition(O,P);else{M=this.getParentSvg(i,"selector");this.svgRenderer.drawPath(o,P,this.diagramId,!0,M)}}else{var M=this.getParentSvg(i,"selector");this.svgRenderer.drawPath(o,P,this.diagramId,!0,M)}},e.prototype.updateSegmentPosition=function(t,e){Ja(t,{id:e.id,transform:"rotate("+e.angle+","+(e.x+e.width*e.pivotX)+","+(e.y+e.height*e.pivotY)+")translate("+e.x+","+e.y+")",visibility:e.visible?"visible":"hidden",opacity:e.opacity})},e.prototype.renderBorder=function(e,i,r,n,o,a){var s=e,h=this.getBaseAttributes(s,r);h.x*=r.scale,h.y*=r.scale,h.width*=r.scale,h.height*=r.scale,h.fill="transparent",h.stroke="#097F7F",h.strokeWidth=1.2,h.gradient=null,h.dashArray="6,3",h.class="e-diagram-selector",a&&(h.class+=" e-diagram-lane"),h.id="borderRect",h.id=this.rendererActions&t.RendererAction.DrawSelectorBorder?"borderRect_symbol":"borderRect",n||(h.class+=" e-disabled"),o&&(h.class+=" e-thick-border"),h.cornerRadius=0;var d=this.getParentSvg(e,"selector");this.svgRenderer.drawRectangle(i,h,this.diagramId,void 0,!0,d)},e.prototype.renderUserHandler=function(e,i,r,n,a,s){for(var h,d=e.wrapper,l=0,p=e.userHandles;l<p.length;l++){var g=p[l];h=!0,(g.disableConnectors&&e.connectors.length>0||g.disableNodes&&e.nodes.length>0||"Drag"===a&&s)&&(h=!1);var f=document.getElementById(g.name+"_template_hiddenUserHandle");f&&(g.template=f.childNodes[0].cloneNode(!0));var m=ro(e,g,r);if(m.x=(m.x+r.tx)*r.scale,m.y=(m.y+r.ty)*r.scale,g.visible&&(g.visible=!!(e.constraints&t.SelectorConstraints.UserHandle)),h)if(g.pathData){var y=g.pathData?g.pathData:g.content,v=this.getBaseAttributes(d);v.id=g.name+"_userhandle",v.fill=g.backgroundColor,v.stroke=g.borderColor,v.strokeWidth=g.borderWidth,v.centerX=m.x,v.centerY=m.y,v.radius=.5*g.size,v.class="e-diagram-userhandle-circle",v.angle=0,v.visible=g.visible,v.opacity=1,this.svgRenderer.drawCircle(i,v,1,{"aria-label":g.name+"user handle"});var b=[];b=u(b=o(y));var S=ma(y),w=c(b,(g.size-.45*g.size)/S.width,(g.size-.45*g.size)/S.height,!0,S.x,S.y,0,0);S=ma(w);var x={x:m.x-S.width/2,y:m.y-S.height/2,angle:0,id:"",class:"e-diagram-userhandle-path",fill:g.pathColor,stroke:g.backgroundColor,strokeWidth:.5,dashArray:"",data:w,width:g.size-5,height:g.size-5,pivotX:0,pivotY:0,opacity:1,visible:g.visible};this.svgRenderer.drawPath(i,x,this.diagramId,void 0,void 0,{"aria-label":g.name+"user handle"})}else if(g.content){var I=new Gs(g.name,this.diagramId);I.content=g.content,I.offsetX=m.x,I.offsetY=m.y,I.id=g.name+"_shape",I.horizontalAlignment="Center",I.verticalAlignment="Center",I.visible=g.visible,I.setOffsetWithRespectToBounds(m.x,m.y,"Fraction"),I.relativeMode="Object",I.description=g.name||"User handle",I.measure(new ps(g.size,g.size)),I.arrange(I.desiredSize),this.svgRenderer.drawNativeContent(I,i,g.size,g.size,this.adornerSvgLayer)}else if(g.source){var C=new Fs;(x=this.getBaseAttributes(C,r)).width=g.size,x.height=g.size,x.x=m.x-g.size/2,x.y=m.y-g.size/2,x.sourceWidth=g.size,x.sourceHeight=g.size,x.alignment=C.imageAlign,x.source=g.source,x.scale=C.imageScale,x.visible=g.visible,x.description=g.name||"User handle",x.id=g.name+"_",this.renderer.drawImage(i,x,this.adornerSvgLayer,!1)}else{var P=new wh(g.name,this.diagramId);P.offsetX=m.x,P.offsetY=m.y,P.id=g.name+"_shape",P.visible=g.visible,P.relativeMode="Object",P.template=g.template,P.measure(new ps(g.size,g.size)),P.arrange(P.desiredSize),this.svgRenderer.drawHTMLContent(P,n,void 0,!0,void 0)}}},e.prototype.renderRotateThumb=function(e,i,r,n,o){new Ws;var a,s=new ps;s.width=18,s.height=16;var h=e.offsetY-e.actualSize.height*e.pivot.y,d=e.offsetX-e.actualSize.width*e.pivot.x,l=!!(n&t.SelectorConstraints.Rotate);o&&(l=!1);var c=d+e.pivot.x*e.actualSize.width,p=h;if(c=(c+r.tx)*r.scale,p=(p+r.ty)*r.scale,a={x:c-.5*s.width,y:p-30-.5*s.height},0!==e.rotateAngle||0!==e.parentTransform){var g=y();S(g,e.rotateAngle+e.parentTransform,(r.tx+e.offsetX)*r.scale,(r.ty+e.offsetY)*r.scale),a=v(g,a)}var u={x:a.x,y:a.y,angle:e.rotateAngle+e.parentTransform,fill:"#231f20",stroke:"black",strokeWidth:.5,dashArray:"",data:"M 16.856144362449648 10.238890446662904 L 18.000144362449646 3.437890446662903L 15.811144362449646 4.254890446662903 C 14.837144362449646 2.5608904466629028 13.329144362449647  1.2598904466629026 11.485144362449645 0.5588904466629026 C 9.375144362449646 - 0.24510955333709716 7.071144362449646  - 0.18010955333709716 5.010144362449646 0.7438904466629028 C 2.942144362449646 1.6678904466629028 1.365144362449646 3.341890446662903 0.558144362449646 5.452890446662903 C - 0.244855637550354 7.567890446662903 - 0.17985563755035394 9.866890446662904 0.7431443624496461 11.930890446662904 C 1.6681443624496461 13.994890446662904 3.343144362449646 15.575890446662903 5.457144362449647 16.380890446662903 C 6.426144362449647 16.7518904466629 7.450144362449647 16.9348904466629 8.470144362449647 16.9348904466629 C 9.815144362449647 16.9348904466629 11.155144362449647 16.6178904466629 12.367144362449647 15.986890446662901 L 11.351144362449647 14.024890446662901 C 9.767144362449647 14.8468904466629 7.906144362449647 14.953890446662902 6.237144362449647 14.3178904466629 C 4.677144362449647 13.7218904466629 3.444144362449647 12.5558904466629 2.758144362449647 11.028890446662901 C 2.078144362449646 9.501890446662903 2.031144362449646 7.802890446662903 2.622144362449646 6.243890446662903 C 3.216144362449646 4.6798904466629025 4.387144362449646 3.442890446662903 5.914144362449646 2.760890446662903 C 7.437144362449646 2.078890446662903 9.137144362449646 2.0298904466629026 10.700144362449645 2.6258904466629027 C 11.946144362449646 3.100890446662903 12.971144362449646 3.9538904466629026 13.686144362449646 5.049890446662903 L 11.540144362449645 5.850890446662903 L 16.856144362449648 10.238890446662904 Z",width:20,height:20,pivotX:0,pivotY:0,opacity:1,visible:l,id:e.id,class:"e-diagram-rotate-handle"};if(u.id="rotateThumb",this.touchMove){var f=document.getElementById("rotateThumb");f?this.updateSegmentPosition(f,u):this.svgRenderer.drawPath(i,u,this.diagramId,!0,void 0,{"aria-label":"Thumb to rotate the selected object"})}else this.svgRenderer.drawPath(i,u,this.diagramId,!0,void 0,{"aria-label":"Thumb to rotate the selected object"})},e.prototype.renderPathElement=function(t,e,i,r,n,a,s){var h=this.getBaseAttributes(t,i,a);if(h.data=t.absolutePath,h.data=t.absolutePath,t.isPathPort&&s){h.x=s[t.id]?s[t.id].cx:h.x,h.y=s[t.id]?s[t.id].cy:h.y,t.bounds.x=h.x,t.bounds.y=h.y;var d=document.getElementById(this.diagramId);d&&"PortDrag"!==d.ej2_instances[0].eventHandler.currentAction&&(t.offsetX=h.x+t.width/2,t.offsetY=h.y+t.height/2)}var l=t.description?t.description:t.id;if(t.isExport){var c=t.absoluteBounds,p=o(h.data),g=this.findAndStoreArcValues(p);h.arc=g,h.data=Da(t,c,void 0,h)}this.renderer.drawPath(e,h,this.diagramId,void 0,r,l,void 0,this,t)},e.prototype.findAndStoreArcValues=function(t){var e=[];return t.forEach(function(t){if("A"===t.command){var i={r1:t.r1/2,r2:t.r2/2};e.push(i)}}),e},e.prototype.renderSvgGridlines=function(e,i,r,n,o,a){var s=document.createElementNS("http://www.w3.org/2000/svg","pattern"),h=document.createElementNS("http://www.w3.org/2000/svg","defs");h.setAttribute("id",this.diagramId+"_grid_pattern_defn"),(e.constraints&t.SnapConstraints.ShowHorizontalLines||e.constraints&t.SnapConstraints.ShowVerticalLines)&&s.setAttribute("id",this.diagramId+"_pattern");var d=0,l=0,c=0,p=0,g=1,u=!1,f="Lines"===e.gridType,m=f?e.verticalGridlines.lineIntervals:e.verticalGridlines.dotIntervals,y=f?e.horizontalGridlines.lineIntervals:e.horizontalGridlines.dotIntervals;if(n.showRulers&&n.dynamicGrid&&o&&a)c=a.updateSegmentWidth(r.scale),p=o.updateSegmentWidth(r.scale),e.horizontalGridlines.scaledIntervals=[c/o.interval],e.verticalGridlines.scaledIntervals=[p/a.interval],u=!0;else{for(v=0;v<m.length;v+=1)d+=m[parseInt(v.toString(),10)];for(var v=0;v<y.length;v+=1)l+=y[parseInt(v.toString(),10)];g=this.scaleSnapInterval(e,r.scale)}d=u?p:d*g,l=u?c:l*g,Ja(s,{id:this.diagramId+"_pattern",x:0,y:0,width:d,height:l,patternUnits:"userSpaceOnUse"}),this.horizontalSvgGridlines(s,d,l,g,e,n,a,u,f,y),this.verticalSvgGridlines(s,d,l,g,e,n,o,u,f,m),h.appendChild(s),i.appendChild(h)},e.prototype.horizontalSvgGridlines=function(e,i,r,n,o,a,s,h,d,l){var c,p=0,g=[];if(o.constraints&t.SnapConstraints.ShowHorizontalLines){o.horizontalGridlines.lineDashArray&&(g=this.renderer.parseDashArray(o.horizontalGridlines.lineDashArray)),a.showRulers&&a.dynamicGrid&&s&&(l=this.updateLineIntervals(l,a,s,r,d)),l=nn(l,d);for(var u=0;u<l.length;u+=2){p=rn(l,d,u,p);c=document.createElementNS("http://www.w3.org/2000/svg",d?"path":"circle");var f=d?p+l[parseInt(u.toString(),10)]/2:p;f=h?f:f*n,d?(Ja(c,""===g.toString()?{"stroke-width":l[parseInt(u.toString(),10)],d:"M0,"+f+" L"+i+","+f+" Z",class:1.25===l[parseInt(u.toString(),10)]?"e-diagram-thick-grid":"e-diagram-thin-grid",stroke:o.horizontalGridlines.lineColor}:{"stroke-width":l[parseInt(u.toString(),10)],stroke:o.horizontalGridlines.lineColor,d:"M0,"+f+" L"+i+","+f+" Z",class:1.25===l[parseInt(u.toString(),10)]?"e-diagram-thick-grid":"e-diagram-thin-grid",dashArray:g.toString()}),e.appendChild(c),p+=l[u+1]+l[parseInt(u.toString(),10)]):(this.renderDotGrid(u,e,o,0,f,n,!0),p+=l[parseInt(u.toString(),10)])}}},e.prototype.renderDotGrid=function(t,e,i,r,n,o,a){var s=a?i.verticalGridlines.dotIntervals:i.horizontalGridlines.dotIntervals;s=nn(s,!1);for(var h,d,l,c=1;c<s.length;c+=2)h=c===s.length-1?s[0]:s[c-1],l=r,l*=o,Ja(d=document.createElementNS("http://www.w3.org/2000/svg","circle"),{cx:a?l:n,cy:a?n:l,fill:i.horizontalGridlines.lineColor,r:h}),e.appendChild(d),r+=s[parseInt(c.toString(),10)]+s[c-1]},e.prototype.verticalSvgGridlines=function(e,i,r,n,o,a,s,h,d,l){var c,p=0,g=[];if(o.constraints&t.SnapConstraints.ShowVerticalLines){o.verticalGridlines.lineDashArray&&(g=this.renderer.parseDashArray(o.verticalGridlines.lineDashArray)),a.showRulers&&a.dynamicGrid&&s&&(l=this.updateLineIntervals(l,a,s,i,d));l=nn(l,d);for(var u=0;u<l.length;u+=2){p=rn(l,d,u,p);var f=d?p+l[parseInt(u.toString(),10)]/2:p;f=h?f:f*n,c=document.createElementNS("http://www.w3.org/2000/svg",d?"path":"circle");d?(Ja(c,""===g.toString()?{"stroke-width":l[parseInt(u.toString(),10)],d:"M"+f+",0 L"+f+","+r+" Z",class:1.25===l[parseInt(u.toString(),10)]?"e-diagram-thick-grid":"e-diagram-thin-grid",stroke:o.verticalGridlines.lineColor}:{"stroke-width":l[parseInt(u.toString(),10)],class:1.25===l[parseInt(u.toString(),10)]?"e-diagram-thick-grid":"e-diagram-thin-grid",stroke:o.verticalGridlines.lineColor,d:"M"+f+",0 L"+f+","+r+" Z",dashArray:g.toString()}),e.appendChild(c),p+=l[u+1]+l[parseInt(u.toString(),10)]):(this.renderDotGrid(u,e,o,0,f,n,!1),p+=l[parseInt(u.toString(),10)])}}},e.prototype.updateGrid=function(t,e,i,r,n,o){var a=e.getElementById(this.diagramId+"_grid_rect"),s=!1;if(a){var h=e.getElementById(this.diagramId+"_pattern");h&&h.parentNode.removeChild(h);var d=0,l=0,c=1,p="Lines"===t.gridType,g=p?t.verticalGridlines.lineIntervals:t.verticalGridlines.dotIntervals,u=p?t.horizontalGridlines.lineIntervals:t.horizontalGridlines.dotIntervals;r.showRulers&&r.dynamicGrid&&o&&n?(d=o.updateSegmentWidth(i.scale),l=n.updateSegmentWidth(i.scale),s=!0,t.horizontalGridlines.scaledIntervals=[d/n.interval],t.verticalGridlines.scaledIntervals=[l/o.interval]):c=this.scaleSnapInterval(t,i.scale);for(var f=0,m=0;m<u.length;m+=1)f+=u[parseInt(m.toString(),10)];for(var y=0,m=0;m<g.length;m+=1)y+=g[parseInt(m.toString(),10)];var v={x:-i.tx*i.scale,y:-i.ty*i.scale};Ja(a,v),y=s?l:y*c,f=s?d:f*c,v={id:this.diagramId+"_pattern",x:0,y:0,width:y,height:f,patternUnits:"userSpaceOnUse"},Ja(h=document.createElementNS("http://www.w3.org/2000/svg","pattern"),v),this.horizontalSvgGridlines(h,y,f,c,t,r,o,s,p,u),this.verticalSvgGridlines(h,y,f,c,t,r,n,s,p,g);var b=e.getElementById(this.diagramId+"_grid_pattern_defn");b&&b.appendChild(h)}},e.prototype.updateLineIntervals=function(t,e,i,r,n){for(var o=[],a=r/i.interval,s=n?i.interval:i.interval+1,h=0;h<2*s;h++)o[parseInt(h.toString(),10)]=h%2==0?n?0===h?1.25:.25:0:n?a-o[h-1]:a;return o},e.prototype.scaleSnapInterval=function(t,e){if(e>=2)for(;e>=2;)e/=2;else if(e<=.5)for(;e<=.5;)e*=2;var i;if(t.horizontalGridlines.scaledIntervals=t.horizontalGridlines.snapIntervals,t.verticalGridlines.scaledIntervals=t.verticalGridlines.snapIntervals,1!==e){var r=t.horizontalGridlines;for(r.scaledIntervals=[],i=0;i<r.snapIntervals.length;i++)r.scaledIntervals[parseInt(i.toString(),10)]=r.snapIntervals[parseInt(i.toString(),10)]*e;for((r=t.verticalGridlines).scaledIntervals=[],i=0;i<r.snapIntervals.length;i++)r.scaledIntervals[parseInt(i.toString(),10)]=r.snapIntervals[parseInt(i.toString(),10)]*e}return e},e.prototype.renderTextElement=function(t,e,i,r,n,o){var a=this.getBaseAttributes(t,i);o&&(a.x=o[t.id]?o[t.id].cx:a.x,a.y=o[t.id]?o[t.id].cy:a.y,t.bounds.x=a.x,t.bounds.y=a.y,t.isExport&&(a.x=a.x*Math.min(t.exportScaleValue.x||t.exportScaleValue.y),a.y=a.y*Math.min(t.exportScaleValue.x||t.exportScaleValue.y))),a.cornerRadius=0,a.whiteSpace=V(t.style.whiteSpace,t.style.textWrapping),a.content=t.content,a.breakWord=W(t.style.textWrapping),a.textAlign=H(t.style.textAlign),a.color=t.style.color,a.italic=t.style.italic,a.bold=t.style.bold,a.fontSize=t.style.fontSize,a.fontFamily=t.style.fontFamily,a.textOverflow=t.style.textOverflow,a.textWrapping=t.style.textWrapping,a.textDecoration=t.style.textDecoration,a.doWrap=t.doWrap,a.wrapBounds=t.wrapBounds,a.childNodes=t.childNodes,a.isHorizontalLane=t.isLaneOrientation,a.id=t.id?t.id:O(),t.isLaneOrientation&&(a.parentOffsetX=this.groupElement.offsetX,a.parentOffsetY=this.groupElement.offsetY,a.parentWidth=this.groupElement.actualSize.width,a.parentHeight=this.groupElement.actualSize.height),a.dashArray="",a.strokeWidth=0,a.fill=t.style.fill;var s=t.description?t.description:t.content?t.content:t.id;("Wrap"===t.style.textWrapping||"WrapWithOverflow"===t.style.textWrapping)&&this.groupElement&&a.height>this.groupElement.actualSize.height&&("Clip"===t.style.textOverflow||"Ellipsis"===t.style.textOverflow)&&(a.y=a.y+(a.height-this.groupElement.actualSize.height)/2),this.renderer.drawRectangle(e,a,this.diagramId,void 0,void 0,r,void 0,void 0,void 0,this,t),this.renderer.drawText(e,a,r,s,this.diagramId,t.isExport&&Math.min(t.exportScaleValue.x||t.exportScaleValue.y),this,t),this.isSvgMode&&(t.doWrap=!1)},e.prototype.renderNativeElement=function(t,e,i,r,n){var o,a,s=this.getParentSvg(t,void 0,e)||r,h=this.getParentElement(t,e,s).g||e,d=this.getBaseAttributes(t,i);switch(d.fill="transparent",d.cornerRadius=t.cornerRadius,d.stroke="transparent",this.renderer.drawRectangle(e,d,this.diagramId,void 0,void 0,r),t.scale){case"None":o=t.contentSize.width,a=t.contentSize.height;break;case"Stretch":o=t.actualSize.width,a=t.actualSize.height;break;case"Meet":o=a=t.actualSize.width<=t.actualSize.height?t.actualSize.width:t.actualSize.height;break;case"Slice":o=a=t.actualSize.width>=t.actualSize.height?t.actualSize.width:t.actualSize.height}this.svgRenderer&&this.svgRenderer.drawNativeContent(t,h,a,o,s)},e.prototype.renderHTMLElement=function(t,e,i,r,n,o,a){var s=this.getBaseAttributes(t,r);s.fill="transparent",s.cornerRadius=t.cornerRadius,s.stroke="transparent",this.renderer.drawRectangle(e,s,this.diagramId,void 0,void 0,n),this.svgRenderer&&this.svgRenderer.drawHTMLContent(t,i.children[0],r,ln(i),a)},e.prototype.renderImageElement=function(t,e,i,r,n){var o=this.getBaseAttributes(t,i);o.cornerRadius=0,this.renderer.drawRectangle(e,o,this.diagramId,void 0,void 0,r);var a,s,h,d,l,c=t.contentSize.width,p=t.contentSize.height,g=o.width/c,u=o.height/p;if("Stretch"===t.stretch)a=c*(l=Math.min(g,u)),s=p*l;else switch(t.stretch){case"Meet":a=c*(l=Math.min(g,u)),s=p*l,o.x+=Math.abs(o.width-a)/2,o.y+=Math.abs(o.height-s)/2;break;case"Slice":a=c*(l=Math.max(g,u)),s=p*l,h=o.width/a*c,d=o.height/s*p;break;case"None":a=c,s=p}o.width=a,o.height=s,o.sourceWidth=h,o.sourceHeight=d,o.source=t.source,o.alignment=t.imageAlign,o.scale=t.imageScale,o.description=t.description?t.description:t.id,this.renderer.drawImage(e,o,r,n,this,t)},e.prototype.renderContainer=function(e,i,r,n,o,a,s,h,d,l,c){var p,g={svg:o,g:i},u=document.getElementById(this.diagramId);if(u&&(p=u.ej2_instances[0]),this.diagramId&&(o=this.getParentSvg(e)||o,this.isSvgMode)){var f=this.getParentElement(e,i,o,h).g||i;o=this.getParentSvg(this.hasNativeParent(e.children))||o;var m=this.getParentElement(this.hasNativeParent(e.children),f,o,h);g.svg=m.svg||o,g.g=m.g||f,a?(o&&(o.getElementById(g.g.id)||i.appendChild(g.g)),i=g.g):i=g.g}if(e&&e.id&&e.id.endsWith("_transaction_events")&&0!==e.flip&&(this.transactionBounds=e.bounds),this.renderRect(e,i,n,o),this.groupElement=e,e.hasChildren()){for(var y,v=void 0,b=0,S=e.children;b<S.length;b++){var w=S[b];this.groupElement=e,o=this.getParentSvg(this.hasNativeParent(e.children)||w)||o,this.isSvgMode&&(v=(y=this.getParentElement(this.hasNativeParent(e.children)||w,i,o)).g||i,y.svg&&(o=y.svg)),this.isSvgMode||"Object"===w.relativeMode&&(w.flip=e.flip,w.id&&(w.id.includes("_0_compensation")||w.id.includes("_0_adhoc"))&&e.children[0].flip&&(w.flip=e.children[0].flip));var x=v;this.renderElement(w,v||i,r,n,o,!0,s,h,d,l,c),e.children&&e.children[0]instanceof Gs&&(w instanceof js||w.elementActions&t.ElementAction.ElementIsPort)&&(x=document.getElementById(w.id+"_groupElement")),w instanceof js&&x&&this.renderFlipTextElement(e,x,w,w.flip,w.flipMode)}var I=void 0;p&&p.selectedItems&&p.selectedItems.nodes&&p.selectedItems.nodes.length>0&&(I=p.selectedItems.nodes[0]);var C,P=void 0,D=!1,T=e.id.includes("group_container")?e.id.split("group_container")[0]:e.id;p&&p.selectedItems&&(C=p.getObject(T)),(I=C)&&I.flipMode&&(D=!0);var A="";I&&(A=I.children?I.id+"group_container":I.id+"_content_groupElement"),(p instanceof Tp&&p.nameTable[""+T]&&"connectors"!==p.nameTable[""+T].propName||p instanceof Wd)&&(D&&I||p instanceof Wd)&&(e.children&&e.children[0]instanceof Gs?P=p instanceof Wd?document.querySelector(".e-overview g[id="+T+"_content_inner_native_element]"):document.getElementById(I.id+"_content_inner_native_element"):e.children&&e.children[0]instanceof wh?(P=p instanceof Wd?document.querySelector("#"+p.id+"_htmlLayer_div").querySelector("#"+T+"_content_html_element"):document.getElementById(I.id+"_content_html_element"))||(P=document.getElementById(A)):P=document.getElementById(A),P&&this.renderFlipElement(e,P,e.flip))}},e.prototype.renderFlipTextElement=function(e,i,r,n,o,a){var s={},h=1,d=1,l=0,c=0,p=0,g=0;if(n!==t.FlipDirection.None){var u=e.rotateAngle;0===e.rotateAngle&&e.id.includes("group_container")&&(u=e.parentTransform);var f=r.getAbsolutePosition(r.desiredSize);if(!f){var m=r.desiredSize;f={x:.5*m.width,y:.5*m.height}}if(f&&""!==r.content)if("All"===o||"LabelAndLabelText"===o){if(n!==t.FlipDirection.Horizontal&&n!==t.FlipDirection.Both||(l=e.bounds.center.x,p=-e.bounds.center.x,h=-1),n!==t.FlipDirection.Vertical&&n!==t.FlipDirection.Both||(c=e.bounds.center.y,g=-e.bounds.center.y,d=-1),n===t.FlipDirection.Horizontal||n===t.FlipDirection.Vertical){var y=Math.sin(u*Math.PI/180);if(void 0!==f.y&&!isNaN(f.y)){var v=f.y/r.desiredSize.height;isNaN(v)||(p+=-e.desiredSize.height*y*(-2*v+1))}if(void 0!==f.x&&!isNaN(f.x)){var b=f.x/r.desiredSize.width;isNaN(b)||(g+=e.desiredSize.width*y*(-2*b+1))}}s={transform:"translate("+l+","+c+") scale("+h+","+d+") translate("+p+","+g+")"}}else if("LabelText"===o||"PortAndLabelText"===o)n!==t.FlipDirection.Horizontal&&n!==t.FlipDirection.Both||(l=r.offsetX,p=-r.offsetX,h=-1),n!==t.FlipDirection.Vertical&&n!==t.FlipDirection.Both||(c=r.offsetY,g=-r.offsetY,d=-1),s={transform:"translate("+l+","+c+") scale("+h+","+d+") translate("+p+","+g+")"};else if("PortAndLabel"===o||"Label"===o){var S=this.flipLabel(e,r,f,n);s={transform:"translate("+(S.x-r.offsetX)+","+(S.y-r.offsetY)+")"}}}else s={transform:"translate(0,0)"};return a?s:(this.setFlipAttributes(e,i,s,h,d,!1),{})},e.prototype.renderFlipElement=function(e,i,r,n){var o={},a=1,s=1,h=0,d=0,l=0,c=0;r!==t.FlipDirection.None?(r!==t.FlipDirection.Horizontal&&r!==t.FlipDirection.Both||(h=e.bounds.center.x,l=-e.bounds.center.x,a=-1),r!==t.FlipDirection.Vertical&&r!==t.FlipDirection.Both||(d=e.bounds.center.y,c=-e.bounds.center.y,s=-1),o={transform:"translate("+h+","+d+") scale("+a+","+s+") translate("+l+","+c+")"}):o={transform:"translate(0,0)"};var p=e&&e.children&&e.children.length&&e.children[0]instanceof wh;return n?o:(this.setFlipAttributes(e,i,o,a,s,p),{})},e.prototype.setFlipAttributes=function(e,i,r,n,o,a){if(r)if(a){var s=i.id.split("_preview");i=(document.getElementById(s[0]+"_html_div")||Ya(this.diagramId).children[0]).querySelector("#"+e.id+"_content_html_element");var h=e.flip===t.FlipDirection.None||e.flip===t.FlipDirection.Both?1:-1;i&&(i.style.transform="scale("+n+","+o+")rotate("+(h*e.rotateAngle+e.parentTransform)+"deg)")}else Ja(i,r)},e.prototype.flipLabel=function(e,i,r,n){if(n!==t.FlipDirection.None){var o={x:e.offsetX-e.desiredSize.width/2,y:e.offsetY-e.desiredSize.height/2},a=.5,s=.5;"Left"===i.horizontalAlignment||"Auto"===i.horizontalAlignment?a=0:"Right"===i.horizontalAlignment&&(a=1),"Top"===i.verticalAlignment||"Auto"===i.verticalAlignment?s=0:"Bottom"===i.verticalAlignment&&(s=1);var h=r.x/i.desiredSize.width,d=r.y/i.desiredSize.height,l=o.x+e.desiredSize.width*h,c=o.y+e.desiredSize.height*d,p=(a-.5)*i.desiredSize.width,g=(s-.5)*i.desiredSize.height,u=n===t.FlipDirection.Horizontal||n===t.FlipDirection.Both,f=n===t.FlipDirection.Vertical||n===t.FlipDirection.Both;u&&(l=o.x+e.desiredSize.width*(1-h),c-=f?0:g),f&&(c=o.y+e.desiredSize.height*(1-d),l-=u?0:p),u&&!f?l+=p:f&&!u?c+=g:u&&f&&(l+=p,c+=g);var m={x:l,y:c};return U(e.rotateAngle+e.parentTransform,e.offsetX,e.offsetY,m)}},e.prototype.hasNativeParent=function(t,e){if(t&&t.length>0){var i=t[0];if(i instanceof Gs)return i;i.children&&i.children.length&&this.hasNativeParent(i.children,e++||0)}},e.prototype.renderRect=function(t,e,i,r,n){var o=this.getBaseAttributes(t,i,n);o.cornerRadius=t.cornerRadius||0,t.isExport&&(o.cornerRadius*=t.exportScaleValue.x);var a=t.description?t.description:t.id;this.renderer.drawRectangle(e,o,this.diagramId,t.isExport,void 0,r,a,void 0,void 0,this,t)},e.prototype.drawRect=function(t,e){e.cornerRadius=0,this.svgRenderer.drawRectangle(t,e,this.diagramId)},e.prototype.getBaseAttributes=function(e,i,r){var n={width:e.actualSize.width,height:e.actualSize.height,x:e.offsetX-e.actualSize.width*e.pivot.x,y:e.offsetY-e.actualSize.height*e.pivot.y,fill:e.style.fill,stroke:e.style.strokeColor,angle:e.rotateAngle+e.parentTransform,pivotX:e.pivot.x,pivotY:e.pivot.y,strokeWidth:e.style.strokeWidth,dashArray:e.style.strokeDashArray||"",opacity:e.style.opacity,shadow:e.shadow,gradient:e.style.gradient,visible:e.visible,id:e.id,description:e.description,canApplyStyle:e.canApplyStyle,shapeType:e.shapeType};return"Page"===e.rotationReference&&(n.angle=e.rotateAngle),r&&(n.x=n.x-.5,n.y=n.y-.5),e.isExport&&(n.width*=e.exportScaleValue.x,n.height*=e.exportScaleValue.y,n.x*=e.exportScaleValue.x,n.y*=e.exportScaleValue.y,n.strokeWidth*=e.exportScaleValue.x),e.flip?(n.flip=e.flip,e.flip!==t.FlipDirection.Horizontal&&e.flip!==t.FlipDirection.Vertical||!(e instanceof Fs||e.isRectElement)||this.isSvgMode||(n.isImage=!0)):n.flip=t.FlipDirection.None,e.flipMode&&(n.flipMode=e.flipMode),i&&(n.x+=i.tx,n.y+=i.ty),n},e.renderSvgBackGroundImage=function(t,e,i,r,n,o){if(t.source){var a=ja(e.id).getElementById(e.id+"_image");if(!a){var s=Ha(e.id);(a=document.createElementNS("http://www.w3.org/2000/svg","image")).setAttribute("id",e.id+"_image"),s.appendChild(a)}var h=new Image;h.src=t.source,a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",h.src.toString());var d="None"!==t.scale?t.scale:"",l=t.align,c=l.charAt(0).toLowerCase()+l.slice(1);d&&(c+=" "+d.charAt(0).toLowerCase()+d.slice(1)),Ja(a,{id:e.id+"_image",x:i,y:r,width:n,height:o,preserveAspectRatio:c})}},e.prototype.transformLayers=function(t,e){var i=t.tx*t.scale,r=t.ty*t.scale;return(i!==this.transform.x||r!==this.transform.y||0===i||0===r)&&(e&&(window.domTable[this.diagramId+"_diagramLayer"]||(window.domTable[this.diagramId+"_diagramLayer"]=this.diagramSvgLayer.getElementById(this.diagramId+"_diagramLayer")),window.domTable[this.diagramId+"_diagramLayer"].setAttribute("transform","translate("+t.tx*t.scale+","+t.ty*t.scale+"),scale("+t.scale+")")),_a(this.diagramId).setAttribute("transform","translate("+t.tx*t.scale+","+t.ty*t.scale+")"),window.domTable[this.diagramId+"_diagramPorts"]||(window.domTable[this.diagramId+"_diagramPorts"]=this.iconSvgLayer.getElementById(this.diagramId+"_diagramPorts")),window.domTable[this.diagramId+"_diagramPorts"].setAttribute("transform","translate("+t.tx*t.scale+","+t.ty*t.scale+"),scale("+t.scale+")"),window.domTable[this.diagramId+"_diagramExpander"]||(window.domTable[this.diagramId+"_diagramExpander"]=this.iconSvgLayer.getElementById(this.diagramId+"_diagramExpander")),window.domTable[this.diagramId+"_diagramExpander"].setAttribute("transform","translate("+t.tx*t.scale+","+t.ty*t.scale+"),scale("+t.scale+")"),window.domTable[this.diagramId+"_nativeLayer"]||(window.domTable[this.diagramId+"_nativeLayer"]=this.nativeSvgLayer.getElementById(this.diagramId+"_nativeLayer")),window.domTable[this.diagramId+"_nativeLayer"].setAttribute("transform","translate("+t.tx*t.scale+","+t.ty*t.scale+"),scale("+t.scale+")"),Ya(this.diagramId).children[0].style.transform="translate("+t.tx*t.scale+"px,"+t.ty*t.scale+"px)scale("+t.scale+")",this.transform={x:t.tx*t.scale,y:t.ty*t.scale},!0)},e.prototype.updateNode=function(t,e,i,r,n,o,a){this.renderElement(t,e,i,r,this.getParentSvg(t),void 0,void 0,n,null,o,a)},e}(),jd=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Hd=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Wd=function(i){function r(t,e){var r=i.call(this,t,e)||this;return r.mode="Canvas",r.id="overview",r.actionName="",r.startPoint=null,r.currentPoint=null,r.prevPoint=null,r.scale=null,r.inAction=!1,r.viewPortRatio=1,r.horizontalOffset=0,r.verticalOffset=0,r.model={},r.event=!0,r.overviewid=88123,r.prevTransform="",r.model={width:r.width,height:r.height},r}return jd(r,i),r.prototype.onPropertyChanged=function(t,e){for(var i=0,r=Object.keys(t);i<r.length;i++)switch(r[i]){case"sourceID":this.setParent(t.sourceID);break;case"width":case"height":this.renderCanvas(),this.setParent(this.sourceID)}},r.prototype.getPersistData=function(){var t=["loaded"];return this.addOnPersist(t)},r.prototype.preRender=function(){if(""===this.element.id){var t=document.getElementsByClassName("e-overview").length;this.element.id="overview_"+this.overviewid+"_"+t}this.id=this.element.id?this.element.id:this.id,this.element.style.background="transparent",this.unWireEvents(),this.wireEvents(),this.element.classList.add("e-overview")},r.prototype.render=function(){this.diagramRenderer=new Rd(this.element.id,new Nd,!1),this.renderCanvas(),this.setParent(this.sourceID),this.renderComplete()},r.prototype.getSizeValue=function(t){return t.toString().indexOf("px")>0||t.toString().indexOf("%")>0?t.toString():t.toString()+"px"},r.prototype.renderCanvas=function(t){var e=document.getElementById(this.element.id+"_canvas");e||(e=Va("div",{}),this.element.appendChild(e)),ts(e,{id:this.element.id+"_canvas",class:"drawing",style:"position:relative; height:"+this.getSizeValue(this.model.height)+"; width:"+this.getSizeValue(this.model.width)+";style:-ms-touch-action: none;touch-action: none;"}),this.element.setAttribute("tabindex",String(-1)),this.element.style.overflow="hidden",this.element.style.height=String(this.model.height),this.element.style.width=String(this.model.width),this.canvas=e},r.prototype.setParent=function(t){var e=document.getElementById(t);if(this.parent){var i=this.parent;this.parent=null,i.setOverview(null,this.element.id),this.removeDocument(this)}this.parent=this.getDiagram(e,"ej2_instances"),this.parent&&this.parent.setOverview(this)},r.prototype.getDiagram=function(t,e){for(var i,r=t[""+e].length,n=0;n<r;n++)if(Ga(t[""+e][parseInt(n.toString(),10)].element,"e-diagram")){i=t[""+e][parseInt(n.toString(),10)];break}return i},r.prototype.unWireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchMoveEvent,r=e.Browser.isPointer?"pointerleave":"mouseleave",n=e.Browser.touchEndEvent;e.EventHandler.remove(this.element,t,this.mouseDown),e.EventHandler.remove(this.element,i,this.mouseMove),e.EventHandler.remove(this.element,n,this.mouseUp),e.EventHandler.remove(this.element,r,this.documentMouseUp),e.EventHandler.remove(window,"resize",this.windowResize);var o=document.getElementById(this.sourceID+"content");o&&e.EventHandler.remove(o,"scroll",this.scrolled)},r.prototype.wireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchEndEvent,r=e.Browser.touchMoveEvent,n=e.Browser.isPointer?"pointerleave":"mouseleave";e.EventHandler.add(this.element,t,this.mouseDown,this),e.EventHandler.add(this.element,r,this.mouseMove,this),e.EventHandler.add(this.element,i,this.mouseUp,this),e.EventHandler.add(this.element,n,this.documentMouseUp,this),e.EventHandler.add(window,"resize",this.windowResize,this);var o=document.getElementById(this.sourceID+"content");o&&e.EventHandler.add(o,"scroll",this.scrolled,this)},r.prototype.initializeOverviewLayers=function(){this.htmlLayer=document.getElementById(this.element.id+"_htmlLayer"),this.overviewLayer=document.getElementById(this.element.id+"_overviewlayer"),this.diagramCanvas=document.getElementById(this.element.id+"_diagramLayer"),this.nativeLayer=Fa(this.element.id),this.context2d=this.diagramCanvas.getContext("2d")},r.prototype.renderDocument=function(t){t.canvas=this.canvas;var e=document.getElementById(this.canvas.id+"_svg");e&&e.parentNode.removeChild(e);var i=Xa("svg",{id:this.canvas.id+"_svg",version:"1.1",class:"overview_svg"});this.svg=i,t.svg=i,t.canvas.appendChild(i);var r=document.getElementById(this.element.id),n=r.clientWidth||r.offsetWidth,o=r.clientHeight||r.offsetHeight,a=r.getBoundingClientRect(),s=window.screenX<0?-1*window.screenX:window.screenX,h=window.screenY<0?-1*window.screenY:window.screenY;if(0===n){var d=Math.floor(window.innerWidth-s-Math.floor(a.left));n=d>0?d:Math.floor(window.innerWidth)}if(0===o){var l=Math.floor(window.innerHeight-h-Math.floor(a.top));o=l>0?l:Math.floor(window.innerHeight)}n>0&&(i.setAttribute("width",String(n)),this.model.height=o),o>0&&(i.setAttribute("height",String(o)),this.model.width=n),t.diagramLayerDiv||(t.diagramLayerDiv=Va("div",{}),t.diagramLayer=Zl.createCanvas(this.element.id+"_diagramLayer",this.model.width,this.model.height),t.diagramLayer.style.position="absolute",t.diagramLayer.style.left="0px",t.diagramLayer.style.top="0px",t.diagramLayerDiv.appendChild(t.diagramLayer),t.canvas.appendChild(t.diagramLayerDiv));var c={id:this.element.id+"_diagramLayer_div",style:"width:"+this.model.width+"px; height:"+this.model.height+"px;position:absolute;top:0px;left:0px"};ts(t.diagramLayerDiv,c),this.renderHtmlLayer(t.canvas),this.renderNativeLayer(t.canvas,t),this.addOverviewRectPanel(t)},r.prototype.removeDocument=function(t){var e=document.getElementById(this.canvas.id+"_svg");this.canvas.removeChild(e);var i=document.getElementById(this.element.id+"_htmlLayer");this.canvas.removeChild(i);var r=document.getElementById(this.element.id+"_diagramLayer_div");this.canvas.removeChild(r),t.diagramLayerDiv=null,t.diagramLayer=null;window.domTable[this.id+"html_layer"]=null},r.prototype.renderHtmlLayer=function(t){var e=Va("div",{id:this.element.id+"_htmlLayer",class:"e-html-layer",style:"pointer-events:none;position:absolute;top:0px;left:0px;"}),i=Va("div",{id:this.element.id+"_htmlLayer_div",style:"position:absolute;top:0px;left:0px;"});return e.appendChild(i),t.appendChild(e),e},r.prototype.renderNativeLayer=function(t,e){if(!document.getElementById(this.element.id+"_nativeLayer_svg")){var i=this.parent.createSvg(this.element.id+"_nativeLayer_svg",this.model.width,this.model.height),r=Xa("g",{id:this.element.id+"_nativeLayer"});i.appendChild(r),e.diagramLayerDiv.appendChild(i),Ja(i,{class:"e-native-layer"})}},r.prototype.addOverviewRectPanel=function(t){var e=document.getElementById(this.canvas.id+"_overviewsvg");e&&e.parentNode.removeChild(e),e=Xa("svg",{id:this.canvas.id+"_overviewsvg",class:"overviewsvg",version:"1.1",style:"position:absolute;left:0px;top:0px; aria-label:Specifies overview",width:this.model.width,height:this.model.height}),t.canvas.appendChild(e);var i=Xa("g",{id:this.element.id+"_overviewlayer",style:"pointer-events:none"});e.appendChild(i);var r=Xa("rect",{fill:"transparent",width:"100%",height:"100%",class:"overviewbackrect",id:this.canvas.id+"overviewbackrect"});r.style.pointerEvents="none",i.appendChild(r);var n=Xa("g",{id:this.canvas.id+"overviewhandle",style:"pointer-events:all"});i.appendChild(n);var o=Xa("rect",{id:this.canvas.id+"overviewrect",fill:"transparent"});n.appendChild(o),this.renderOverviewCorner("left",n),this.renderOverviewCorner("right",n),this.renderOverviewCorner("top",n),this.renderOverviewCorner("bottom",n),this.renderOverviewCorner("topleft",n),this.renderOverviewCorner("topright",n),this.renderOverviewCorner("bottomleft",n),this.renderOverviewCorner("bottomright",n)},r.prototype.renderOverviewCorner=function(t,e){this.svg;var i,r=Xa(i="top"===t||"bottom"===t||"right"===t||"left"===t?"rect":"circle",{id:this.canvas.id+"visible"+t,class:"overview-resizer"});e.appendChild(r);var n=Xa(i,{id:this.canvas.id+t,class:"overviewresizer",fill:"transparent"});e.appendChild(n)},r.prototype.updateOverviewRectangle=function(){var t=this.currentPoint.x-this.prevPoint.x,e=this.currentPoint.y-this.prevPoint.y,i=new ps;i.width=0,i.height=0;var r=0,n=0;switch(this.resizeDirection){case"left":i.width-=t,i.height-=t/this.viewPortRatio,r=t,n=t/this.viewPortRatio,n/=2;break;case"right":i.width+=t,i.height+=t/this.viewPortRatio,n=t/this.viewPortRatio,n/=-2;break;case"top":i.height-=e,i.width-=e*this.viewPortRatio,n=e,r=e*this.viewPortRatio,r/=2;break;case"bottom":i.height+=e,i.width+=e*this.viewPortRatio,r=e*this.viewPortRatio,r/=-2;break;case"topleft":Math.abs(e)>Math.abs(t)?t=e*this.viewPortRatio:e=t/this.viewPortRatio,i.width-=t,i.height-=e,r=t,n=e;break;case"topright":Math.abs(e)>Math.abs(t)?t=-e*this.viewPortRatio:e=-t/this.viewPortRatio,n=e,i.width+=t,i.height-=e;break;case"bottomleft":Math.abs(e)>Math.abs(t)?t=-e*this.viewPortRatio:e=-t/this.viewPortRatio,r=t,i.width-=t,i.height+=e;break;case"bottomright":Math.abs(e)>Math.abs(t)?t=e*this.viewPortRatio:e=t/this.viewPortRatio,i.width+=t,i.height+=e}this.updateHelper(r,n,i,void 0,void 0)},r.prototype.updateHelper=function(t,e,i,r,n){var o,a,s,h=this.element.id+"_canvas_overviewsvg",d=document.getElementById(h).getElementById("helper");if(i)o=(s=d.getBBox()).x+t,a=s.y+e,r=s.width+i.width,n=s.height+i.height;else{var l;l=this.currentPoint.x>this.startPoint.x?this.currentPoint.x-this.prevPoint.x:this.prevPoint.x-this.currentPoint.x;var c;c=this.currentPoint.y>this.startPoint.y?this.currentPoint.y-this.prevPoint.y:this.prevPoint.y-this.currentPoint.y,Math.abs(c)>Math.abs(l)?l=this.viewPortRatio*c:c=l/this.viewPortRatio,s=d.getBBox(),o=this.startPoint.x>this.currentPoint.x?s.x-l:s.x,a=this.startPoint.y>this.currentPoint.y?s.y-c:s.y,r=s.width+l,n=s.height+c}Ja(this.helper,{id:this.helper.id,x:o,y:a,width:Math.max(0,r),height:Math.max(0,n)})},r.prototype.updateOverviewrect=function(t,e,i,r){ts(document.getElementById(this.canvas.id+"overviewrect"),{x:t,y:e,width:Math.max(1,i),height:Math.max(1,r)}),this.updateOverviewCorner("top",t+8,e+1,Math.max(0,i-16),2),this.updateOverviewCorner("bottom",t+8,e+r+3,Math.max(0,i-16),2),this.updateOverviewCorner("left",t-2,e+11,2,Math.max(0,r-16)),this.updateOverviewCorner("right",t+i,e+11,2,Math.max(0,r-16)),this.updateOverviewCorner("topleft",t,e+3,5,5),this.updateOverviewCorner("topright",t+i,e+3,5,5),this.updateOverviewCorner("bottomleft",t,e+r+3,5,5),this.updateOverviewCorner("bottomright",t+i,e+r+3,5,5)},r.prototype.updateOverviewCorner=function(t,e,i,r,n){var o,a,s="visible"+t,h=document.getElementById(this.canvas.id+s);"top"===t||"bottom"===t||"right"===t||"left"===t?(o={x:e,y:i,width:r,height:n,fill:"#ED1C24"},a={x:e-2,y:i-2,width:2===r?4:r,height:2===n?4:n}):(o={cx:e,cy:i,r:4,fill:"#ED1C24"},a={cx:e,cy:i,r:6,fill:"transparent"}),ts(h,o),ts(document.getElementById(this.canvas.id+t),a)},r.prototype.translateOverviewRectangle=function(){Number(this.model.width),Number(this.model.height);var t=this.currentPoint.x-this.prevPoint.x,e=this.currentPoint.y-this.prevPoint.y,i=this.element.getElementsByClassName("overviewsvg")[0].getElementById(this.canvas.id+"overviewrect").getBBox(),r=i.x+t,n=i.y+e,o=i.width,a=i.height;this.updateOverviewrect(r,n,o,a),this.updateParentView(this.parent.scroller.currentZoom,r,n,o,a,null)},r.prototype.renderOverviewRect=function(t,e,i,r){var n=Number(this.model.width),o=Number(this.model.height),a=i/n*this.contentWidth,s=r/o*this.contentHeight,h=Math.max(this.parent.scroller.viewPortWidth/a,this.parent.scroller.viewPortHeight/s);if(h>=.25&&h<=30){var d={x:0,y:0};this.updateParentView(h,t,e,i,r,d);var l=this.scrollOverviewRect(this.parent.scroller.horizontalOffset,this.parent.scroller.verticalOffset,this.parent.scroller.currentZoom,!0);if(this.helper){var c=this.element.getElementsByTagName("rect")[10].getBBox();l.x=c.x,l.y=c.y}"pan"===this.actionName?this.updateOverviewrect(-l.x,-l.y,l.width,l.height):this.updateOverviewrect(l.x,l.y,l.width,l.height)}},r.prototype.scrollOverviewRect=function(t,e,i,r){if(!this.actionName||r){var n=Number(this.model.width),o=Number(this.model.height),a=Math.min(this.contentWidth/n,this.contentHeight/o),s=new ms,h=s.x=t/i/a,d=s.y=e/i/a,l=0;this.parent.rulerSettings.showRulers&&(l=25);var c=document.getElementById(this.parent.element.id+"content"),p=0,g=0;c&&(p=c.offsetWidth-c.clientWidth,g=c.offsetHeight-c.clientHeight);var u=s.width=(this.parent.scroller.viewPortWidth-l-p)/i/a,f=s.height=(this.parent.scroller.viewPortHeight-l-g)/i/a;if(r){var m=new ms;return m.x=h,m.y=d,m.width=u,m.height=f,m}this.updateOverviewrect(-h,-d,u,f)}return null},r.prototype.updateParentView=function(i,r,n,o,a,s){var h,d,l=Number(this.model.width),c=Number(this.model.height),p=r*(this.contentWidth/l)*i,g=n*(this.contentHeight/c)*i;this.parent.scroller.getPageBounds();1===i&&"pan"!==this.actionName||(h=-p-this.parent.scroller.horizontalOffset,d=-g-this.parent.scroller.verticalOffset),this.parent.setBlazorDiagramProps(!0),this.parent.realActions|=t.RealAction.OverViewAction;"scale"===this.actionName||"draw"===this.actionName?this.parent.scroller.zoom(i/this.parent.scroller.currentZoom,h,d,s):e.isBlazor()?this.parent.scroller.zoom(1,h,d,s):this.parent.pan(h,d,s,!0)},r.prototype.updateHtmlLayer=function(t){var e=Ya(t.element.id),i=this.parent.scroller.getPageBounds(!0),r=i.width,n=i.height,o=Math.max(r,this.parent.scroller.viewPortWidth),a=Math.max(n,this.parent.scroller.viewPortHeight/this.parent.scroller.currentZoom),s=Math.min(Number(this.model.width)/o,Number(this.model.height)/a);e.style.transform="scale("+s+") translate("+this.parent.scroller.transform.tx+"px,"+this.parent.scroller.transform.ty+"px)"},r.prototype.updateView=function(t){var e=this.parent.scroller.getPageBounds(),i=e.width,r=e.height,n=Number(this.model.width),o=Number(this.model.height),a=Math.max(i,this.parent.scroller.viewPortWidth),s=Math.max(r,this.parent.scroller.viewPortHeight);this.contentWidth=a=Math.max(a,n/o*s),this.contentHeight=s=Math.max(s,o/n*a);var h=Math.min(n/a,o/s),d="scale("+h+") translate("+-e.x+"px, "+-e.y+"px)";d===this.prevTransform&&this.htmlLayer.style.transform||(this.htmlLayer.style.transform=d,this.htmlLayer.style.webkitTransform=d,this.prevTransform=d),this.overviewLayer.setAttribute("transform","translate("+-e.x*h+","+-e.y*h+")"),this.horizontalOffset=e.x*h,this.verticalOffset=e.y*h;var l=Number(this.model.width)/this.contentWidth,c=Number(this.model.height)/this.contentHeight;l=Math.min(l,c);var p=this.parent.scroller.transform,g=p.tx,u=p.ty;this.nativeLayer.setAttribute("transform","translate("+g*l+","+u*c+"),scale("+l+")"),this.context2d.setTransform(l,0,0,l,0,0),this.context2d.fillStyle="red",this.scrollOverviewRect(this.parent.scroller.horizontalOffset,this.parent.scroller.verticalOffset,this.parent.scroller.currentZoom)},r.prototype.scrolled=function(t){if(this.event){var e=this.scrollOverviewRect(this.parent.scroller.horizontalOffset,this.parent.scroller.verticalOffset,this.parent.scroller.currentZoom,!0);this.updateOverviewrect(-e.x,-e.y,e.width,e.height),this.updateView(this)}},r.prototype.updateCursor=function(t){if(Ga(t.target,"overviewresizer"))switch(t.target.id){case this.canvas.id+"left":this.canvas.style.cursor="w-resize";break;case this.canvas.id+"right":this.canvas.style.cursor="e-resize";break;case this.canvas.id+"top":this.canvas.style.cursor="n-resize";break;case this.canvas.id+"bottom":this.canvas.style.cursor="s-resize";break;case this.canvas.id+"topleft":this.canvas.style.cursor="nw-resize";break;case this.canvas.id+"topright":this.canvas.style.cursor="ne-resize";break;case this.canvas.id+"bottomleft":this.canvas.style.cursor="sw-resize";break;case this.canvas.id+"bottomright":this.canvas.style.cursor="se-resize"}else this.canvas.style.cursor="default"},r.prototype.mouseMove=function(t){if(this.event=!1,this.updateCursor(t),this.currentPoint=this.mousePosition(t),this.actionName)switch(this.actionName){case"draw":this.inAction||this.startPoint.x===this.currentPoint.x&&this.startPoint.y===this.currentPoint.y||(this.initHelper(),this.inAction=!0),this.inAction&&this.updateHelper();break;case"scale":this.inAction||(this.initHelper(),this.inAction=!0),this.updateOverviewRectangle();break;case"pan":(this.startPoint.x!==this.currentPoint.x||this.startPoint.y===this.currentPoint.y||this.inAction)&&(this.inAction=!0,this.translateOverviewRectangle())}this.prevPoint=this.currentPoint},r.prototype.documentMouseUp=function(t){this.inAction=!1,this.actionName="",this.helper&&(this.helper.parentNode.removeChild(this.helper),this.helper=null),this.event=!0,document.getElementById(this.canvas.id+"overviewhandle").style.pointerEvents="all"},r.prototype.windowResize=function(t){var e=this;return this.resizeTo&&clearTimeout(this.resizeTo),this.resizeTo=setTimeout(function(){var t=document.getElementById(e.element.id).getBoundingClientRect();e.model.width=t.width>0?t.width:e.model.width,e.model.height=t.height>0?t.height:e.model.height,e.renderCanvas(),e.setParent(e.sourceID)},10),!1},r.prototype.mouseDown=function(t){if(t.target.id===this.canvas.id+"_overviewsvg"&&(this.actionName="draw"),t.target.id===this.canvas.id+"overviewrect"&&(this.actionName="pan"),Ga(t.target,"overviewresizer"))switch(this.actionName="scale",t.target.id){case this.canvas.id+"left":this.resizeDirection="left";break;case this.canvas.id+"right":this.resizeDirection="right";break;case this.canvas.id+"top":this.resizeDirection="top";break;case this.canvas.id+"bottom":this.resizeDirection="bottom";break;case this.canvas.id+"topleft":this.resizeDirection="topleft";break;case this.canvas.id+"topright":this.resizeDirection="topright";break;case this.canvas.id+"bottomleft":this.resizeDirection="bottomleft";break;case this.canvas.id+"bottomright":this.resizeDirection="bottomright"}this.startPoint=this.prevPoint=this.mousePosition(t),this.viewPortRatio=this.parent.scroller.viewPortWidth/this.parent.scroller.viewPortHeight,document.getElementById(this.canvas.id+"overviewhandle").style.pointerEvents="none"},r.prototype.mouseUp=function(t){if(this.currentPoint=this.mousePosition(t),this.actionName)if(this.startPoint.x!==this.currentPoint.x||this.startPoint.y!==this.currentPoint.y){if("pan"===this.actionName);else if(this.helper){var e=this.element.getElementsByTagName("rect")[10].getBBox();this.resizeDirection=this.resizeDirection||"";var i=e.x,r=e.y,n=e.width,o=e.height;"topleft"===this.resizeDirection||"topright"===this.resizeDirection||"bottomleft"===this.resizeDirection||this.resizeDirection;this.renderOverviewRect(i,r,n,o)}}else if(t.target.id===this.canvas.id+"_overviewsvg"||"helper"===t.target.id){var a=this.element.id+"_canvas_overviewsvg",n=(e=document.getElementById(a).getElementById(this.canvas.id+"overviewrect").getBBox()).width,o=e.height;this.inAction=!0,this.actionName="pan",this.renderOverviewRect(this.currentPoint.x-n/2,this.currentPoint.y-o/2,n,o),this.inAction=!1}this.helper&&(this.helper.parentNode.removeChild(this.helper),this.helper=null),this.actionName="",this.startPoint=null,this.currentPoint=null,this.prevPoint=null,this.helper=null,this.viewPortRatio=1,this.resizeDirection="",this.inAction=!1,this.event=!0,document.getElementById(this.canvas.id+"overviewhandle").style.pointerEvents="all"},r.prototype.initHelper=function(){var t=this.element.id+"_canvas_overviewsvg",e=document.getElementById(t),i=this.startPoint.x,r=this.startPoint.y,n=1,o=1;if("scale"===this.actionName){var a=e.getElementById(this.canvas.id+"overviewrect").getBBox();i=a.x,r=a.y,n=a.width,o=a.height}var s=Xa("rect",{id:"helper",x:i,y:r,width:n,height:o,fill:"transparent",stroke:"gray","stroke-dasharray":"2 2","shape-rendering":"crispEdges"});e.getElementById(this.element.id+"_overviewlayer").appendChild(s),this.helper=s},r.prototype.mousePosition=function(t){var e,i,r;if(-1!==t.type.indexOf("touch")){var n=(e=t).changedTouches[0].clientX,o=e.changedTouches[0].clientY;i=n-this.element.offsetLeft,r=o-this.element.offsetTop}else i=t.clientX,r=t.clientY;var a=this.element.getBoundingClientRect();return i-=a.left,r-=a.top,{x:i+this.horizontalOffset,y:r+this.verticalOffset}},r.prototype.destroy=function(){if(this.unWireEvents(),this.notify("destroy",{}),i.prototype.destroy.call(this),document.getElementById(this.element.id)){this.element.classList.remove("e-overview");var t=document.getElementById(this.element.id+"_canvas");t&&this.element.removeChild(t)}this.parent.views.splice(this.parent.views.indexOf(this.element.id),1),this.diagramLayerDiv=null,this.canvas=null,this.parent=null},r.prototype.getModuleName=function(){return"Overview"},Hd([e.Property("100%")],r.prototype,"width",void 0),Hd([e.Property("100%")],r.prototype,"height",void 0),Hd([e.Property("")],r.prototype,"sourceID",void 0),Hd([e.Event()],r.prototype,"created",void 0),r}(e.Component),_d=function(t){return t&&(t=void 0!==t.sourceID||void 0!==t.sourcePoint||void 0!==t.targetID||void 0!==t.targetPoint||void 0!==t.type?xd:Hl),t},Fd=function(e,i,r,n,o,a){if(!e.sourceID||!e.targetID)if(i||r||(i=a===t.FlipDirection.Horizontal||a===t.FlipDirection.Both,r=a===t.FlipDirection.Vertical||a===t.FlipDirection.Both),e.wrapper){var s={x:e.sourcePoint.x,y:e.sourcePoint.y},h={x:e.targetPoint.x,y:e.targetPoint.y},d=void 0,l=void 0,c=0;if(o&&e.parentId){var p=n.nameTable[e.parentId];p.wrapper&&(l={x:(d=n.groupBounds).center.x,y:d.center.y},c=p.rotateAngle||0)}if(o){if(o&&l)if(0!==c){var g=y(),u=y(),f=y(),m=y(),v=y();(g=y())[4]=-l.x,g[5]=-l.y,u=y();var b=-c*Math.PI/180;u[0]=Math.cos(b),u[1]=Math.sin(b),u[2]=-Math.sin(b),u[3]=Math.cos(b),f=y(),i&&(f[0]=-1),r&&(f[3]=-1),m=y();var S=c*Math.PI/180;m[0]=Math.cos(S),m[1]=Math.sin(S),m[2]=-Math.sin(S),m[3]=Math.cos(S),(v=y())[4]=l.x,v[5]=l.y;var w=function(t,e,i,r){var n={x:t.x,y:t.y},o=t.x-e.x,a=t.y-e.y,s=-c*Math.PI/180,h=o*Math.cos(s)-a*Math.sin(s),d=o*Math.sin(s)+a*Math.cos(s),l=h,p=d;i&&(l=-h),r&&(p=-d);var g=c*Math.PI/180,u=l*Math.cos(g)-p*Math.sin(g),f=l*Math.sin(g)+p*Math.cos(g);return n.x=e.x+u,n.y=e.y+f,n};e.sourceID||e.targetID?e.sourceID&&!e.targetID?e.targetPoint=w(h,l,i,r):!e.sourceID&&e.targetID&&(e.sourcePoint=w(s,l,i,r)):(e.sourcePoint=w(s,l,i,r),e.targetPoint=w(h,l,i,r))}else e.sourceID||e.targetID?e.sourceID&&!e.targetID?(i&&(e.targetPoint.x=2*l.x-h.x),r&&(e.targetPoint.y=2*l.y-h.y)):!e.sourceID&&e.targetID&&(i&&(e.sourcePoint.x=2*l.x-s.x),r&&(e.sourcePoint.y=2*l.y-s.y)):(i&&(e.sourcePoint.x=2*l.x-s.x,e.targetPoint.x=2*l.x-h.x),r&&(e.sourcePoint.y=2*l.y-s.y,e.targetPoint.y=2*l.y-h.y))}else i&&(e.sourcePoint.x=h.x,e.targetPoint.x=s.x),r&&(e.sourcePoint.y=h.y,e.targetPoint.y=s.y),n&&!o&&(e.sourceID="",e.targetID="",n.updateConnectorProperties(e));n&&(n.connectorFlipInProgress=!0,n.updateConnectorProperties(e),n.connectorFlipInProgress=!1)}else{var s={x:e.sourcePoint.x,y:e.sourcePoint.y},h={x:e.targetPoint.x,y:e.targetPoint.y};e.flip===t.FlipDirection.Horizontal?(e.sourcePoint.x=h.x,e.targetPoint.x=s.x):e.flip===t.FlipDirection.Vertical?(e.sourcePoint.y=h.y,e.targetPoint.y=s.y):e.flip===t.FlipDirection.Both&&(e.sourcePoint=h,e.targetPoint=s)}},Yd=function(e,i,r){var n=r.offset.x,o=r.offset.y;return i===t.FlipDirection.Horizontal?(n=1-r.offset.x,o=r.offset.y):i===t.FlipDirection.Vertical?(n=r.offset.x,o=1-r.offset.y):i===t.FlipDirection.Both&&(n=1-r.offset.x,o=1-r.offset.y),e.setOffsetWithRespectToBounds(n,o,"Fraction"),e},Vd=function(e,i,r,n,o,a,s,h){if(e.hasChildren())for(var d=0,l=e.children;d<l.length;d++){var c=l[d],p=void 0;if(c instanceof Vs){(p=n.nameTable[c.id])&&(a&&(p.flip^=t.FlipDirection.Horizontal),s&&(p.flip^=t.FlipDirection.Vertical));var g=n.nameTable[c.id];if(g&&g instanceof xd&&(a||s||o)){Fd(g,a,s,n,!0,o),a&&(g.wrapper.flip^=t.FlipDirection.Horizontal),s&&(g.wrapper.flip^=t.FlipDirection.Vertical);continue}}var u=e.rotateAngle*(Math.PI/180),f=c.offsetX-i,m=c.offsetY-r,y=f*Math.cos(u)+m*Math.sin(u),v=-f*Math.sin(u)+m*Math.cos(u);(a||o===t.FlipDirection.Horizontal||o===t.FlipDirection.Both)&&(y=-y),(s||o===t.FlipDirection.Vertical||o===t.FlipDirection.Both)&&(v=-v);var b=i+(y*Math.cos(u)-v*Math.sin(u)),S=r+(y*Math.sin(u)+v*Math.cos(u));if(c instanceof js||c.elementActions&t.ElementAction.ElementIsPort||(c.offsetX=b,c.offsetY=S,p&&(p.offsetX=b,p.offsetY=S),c.flipOffset.x=b-c.desiredSize.width/2,c.flipOffset.y=S-c.desiredSize.height/2),h||(c instanceof Vs||c instanceof Ns)&&(a&&(c.flip^=t.FlipDirection.Horizontal),s&&(c.flip^=t.FlipDirection.Vertical),c.id.includes("group_container")||c.id.endsWith("_transaction_events")||!c.children||(a&&(c.children[0].flip^=t.FlipDirection.Horizontal),s&&(c.children[0].flip^=t.FlipDirection.Vertical)),Vd(c,i,r,n,o,a,s,h)),c.measure(new ps(c.bounds.width,c.bounds.height)),c.arrange(c.desiredSize),!n.groupBounds){var w=n.nameTable[c.id];w&&n.updateConnectorEdges(w)}}},Xd=function(t,e){if((!t.children||0===t.children.length)&&t instanceof Hl){var i=(t.rotateAngle%360+360)%360;t.rotateAngle=0===i?0:360-i,e.nodePropertyChange(t,{},{rotateAngle:t.rotateAngle},void 0,!0)}else{for(var r=[],n=0,o=t.children;n<o.length;n++){var a=o[n],s=e.nameTable[""+a];r[""+a]=s.rotateAngle}var h=(t.rotateAngle%360+360)%360;t.rotateAngle=0===h?0:360-h,e.nodePropertyChange(t,{},{rotateAngle:t.rotateAngle},void 0,!0);for(var d=0,l=t.children;d<l.length;d++){var c=l[d];if((a=e.nameTable[""+c])instanceof Hl){var p=r[a.id];if(a){var g=(p%360+360)%360;a.rotateAngle=0===g?0:360-g,e.nodePropertyChange(a,{},{rotateAngle:a.rotateAngle},void 0,!0)}}}}},Ud=function(t){var e=t.selectedItems.nodes,i=t.selectedItems.connectors,r=t.allowServerDataBinding,n=t.isProtectedOnChange;t.protectPropertyChange(!0),t.allowServerDataBinding=!1,t.selectedItems.nodes=[],t.selectedItems.connectors=[],t.allowServerDataBinding=r,t.protectPropertyChange(n);for(var o=k(t.selectedItems),a=0;a<e.length;a++)t.selectedItems.nodes.push(t.nameTable[e[a].id]);for(a=0;a<i.length;a++)t.selectedItems.connectors.push(t.nameTable[i[a].id]);return o},Gd=function(e,i){for(var r,n=new Ws,o=0;o<e.length-1;o++){r=Kd(e[o],e[o+1]),n.data=r[0],n.id=i.id+"_"+i.shape.sequence;var a=Zd(e);n.offsetX=a.x,n.offsetY=a.y,n.rotateAngle=45,n.transform=t.Transform.Self;break}return n},Zd=function(t,e,i){for(var r,n,o=0,a=0;a<t.length-1;a++)o+=Jd(t[parseInt(a.toString(),10)],t[a+1]);var s;s=i?o*i:o/2>30?10:o/2;for(var h=0,d=0;d<t.length-1;d++){var l=Jd(t[parseInt(d.toString(),10)],t[d+1]);if(h+l>=s){var c=s-h;r=_t(t[d],t[d+1]),n=fs.transform(t[d],r,c);break}h+=l}return n},qd=function(t,e){if(t instanceof Hl||t instanceof xd)for(var i=0;i<t.ports.length;i++)if(t.ports[i].id===e.id.split("_").splice(1).join("_"))return!0;return!1},Kd=function(t,e){var i={x:t.x,y:t.y},r=Jd(t,e);r=Math.min(10,r/2);var n=_t(t,e),o=fs.transform({x:i.x,y:i.y},n,r),a=fs.transform({x:o.x,y:o.y},n,-11),s=fs.transform({x:a.x,y:a.y},n,22);return["M"+a.x+" "+a.y+" L"+s.x+" "+s.y,o]},Qd=function(t,e){return Math.abs(e.x-t.x)>Math.abs(e.y-t.y)?t.x<e.x?"Right":"Left":t.y<e.y?"Bottom":"Top"},Jd=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},$d=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),tl=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},el=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return $d(i,t),tl([e.Property("None")],i.prototype,"shape",void 0),tl([e.Property("white")],i.prototype,"fill",void 0),tl([e.Property("Auto")],i.prototype,"horizontalAlignment",void 0),tl([e.Property("Auto")],i.prototype,"verticalAlignment",void 0),tl([e.Property(10)],i.prototype,"width",void 0),tl([e.Property(10)],i.prototype,"height",void 0),tl([e.Complex({x:.5,y:1},fs)],i.prototype,"offset",void 0),tl([e.Property("#1a1a1a")],i.prototype,"borderColor",void 0),tl([e.Property(1)],i.prototype,"borderWidth",void 0),tl([e.Complex({},Is)],i.prototype,"margin",void 0),tl([e.Property("")],i.prototype,"pathData",void 0),tl([e.Property("")],i.prototype,"content",void 0),tl([e.Property(0)],i.prototype,"cornerRadius",void 0),tl([e.Complex({left:2,right:2,top:2,bottom:2},Is)],i.prototype,"padding",void 0),tl([e.Property("#1a1a1a")],i.prototype,"iconColor",void 0),i}(e.ChildProperty),il=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),rl=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.orientation="Vertical",e.measureChildren=void 0,e.considerPadding=!0,e}return il(e,t),e.prototype.measure=function(t){var e="Horizontal"===this.orientation?this.updateHorizontalStack:this.updateVerticalStack;return this.desiredSize=this.measureStackPanel(t,e),this.desiredSize},e.prototype.arrange=function(t){var e="Horizontal"===this.orientation?this.arrangeHorizontalStack:this.arrangeVerticalStack;return this.actualSize=this.arrangeStackPanel(t,e),this.updateBounds(),this.actualSize},e.prototype.measureStackPanel=function(e,i){var r=void 0;if(void 0!==this.children&&this.children.length>0)for(var n=0,o=this.children;n<o.length;n++){var a=o[n];a.parentTransform=this.rotateAngle+this.parentTransform,this.measureChildren?a.measure(a.desiredSize):a.measure(e);var s=a.desiredSize.clone();this.applyChildMargin(a,s),0!==a.rotateAngle&&(s=X(s,a.rotateAngle)),void 0===r?r=s:a.preventContainer||i(s,r)}return r=t.prototype.validateDesiredSize.call(this,r,e),this.stretchChildren(r),this.considerPadding&&this.applyPadding(r),r},e.prototype.arrangeStackPanel=function(e,i){if(void 0!==this.children&&this.children.length>0){var r=void 0,n=void 0;r=this.offsetX-e.width*this.pivot.x+this.padding.left,n=this.offsetY-e.height*this.pivot.y+this.padding.top;for(var o=0,a=this.children;o<a.length;o++){var s=a[o],h=s.desiredSize.clone(),d=h;"Vertical"===this.orientation?n+=s.margin.top:r+=s.margin.left,0!==s.rotateAngle&&(d=X(h,s.rotateAngle));var l=i(r,n,s,this,e,d);t.prototype.findChildOffsetFromCenter.call(this,s,l),s.arrange(h,!0),"Vertical"===this.orientation?n+=d.height+s.margin.bottom:r+=d.width+s.margin.right}}return e},e.prototype.updateHorizontalStack=function(t,e){e.height=Math.max(t.height,e.height),e.width+=t.width},e.prototype.updateVerticalStack=function(t,e){e.width=Math.max(t.width,e.width),e.height+=t.height},e.prototype.arrangeHorizontalStack=function(t,e,i,r,n,o){var a=0;return"Top"===i.verticalAlignment?a=e+i.margin.top+o.height/2:"Bottom"===i.verticalAlignment?a=r.offsetY+n.height*(1-r.pivot.y)-r.padding.bottom-i.margin.bottom-o.height/2:(a=r.offsetY-n.height*r.pivot.y+n.height/2,i.margin.top&&(a=e+i.margin.top+o.height/2)),{x:t+o.width/2,y:a}},e.prototype.arrangeVerticalStack=function(t,e,i,r,n,o){var a=0;return"Left"===i.horizontalAlignment?a=t+i.margin.left+o.width/2:"Right"===i.horizontalAlignment?a=r.offsetX+n.width*(1-r.pivot.x)-r.padding.right-i.margin.right-o.width/2:(a=r.offsetX-n.width*r.pivot.x+n.width/2,i.margin.left&&(a=t+i.margin.left+o.width/2)),{x:a,y:e+o.height/2}},e.prototype.stretchChildren=function(t){if(void 0!==this.children&&this.children.length>0)for(var e=0,i=this.children;e<i.length;e++){var r=i[e];"Vertical"===this.orientation?"Stretch"===r.horizontalAlignment&&(r.desiredSize.width=t.width-(r.margin.left+r.margin.right)):"Stretch"===r.verticalAlignment&&(r.desiredSize.height=t.height-(r.margin.top+r.margin.bottom))}},e.prototype.applyChildMargin=function(t,e){e.height+=t.margin.top+t.margin.bottom,e.width+=t.margin.left+t.margin.right},e}(Ns),nl=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),ol=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},al=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return nl(i,t),ol([e.Property("Horizontal")],i.prototype,"orientation",void 0),ol([e.Property("Center")],i.prototype,"type",void 0),ol([e.Property(void 0)],i.prototype,"offset",void 0),ol([e.Property(!1)],i.prototype,"enableRouting",void 0),ol([e.Property([])],i.prototype,"children",void 0),ol([e.Property("")],i.prototype,"assistants",void 0),ol([e.Property("")],i.prototype,"level",void 0),ol([e.Property("")],i.prototype,"hasSubTree",void 0),ol([e.Property("")],i.prototype,"rows",void 0),i}(e.ChildProperty),sl=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),hl=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},dl=function(t){if(t)switch(t.type){case"Basic":return ml;case"Flow":return yl;case"Path":return cl;case"Image":return ul;case"Text":return fl;case"Bpmn":return Al;case"Native":return pl;case"HTML":return gl;case"UmlActivity":return Ol;case"UmlClassifier":return Rl;case"SwimLane":return Yl;case"Container":return t.header||(t.hasHeader=!1),Vl;default:return ml}return ml},ll=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Property("Basic")],i.prototype,"type",void 0),i}(e.ChildProperty),cl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Path"},hl([e.Property("Path")],i.prototype,"type",void 0),hl([e.Property("")],i.prototype,"data",void 0),i}(ll),pl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Native"},hl([e.Property("Native")],i.prototype,"type",void 0),hl([e.Property("")],i.prototype,"content",void 0),hl([e.Property("Stretch")],i.prototype,"scale",void 0),i}(ll),gl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Html"},hl([e.Property("HTML")],i.prototype,"type",void 0),hl([e.Property("")],i.prototype,"content",void 0),i}(ll),ul=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Image"},hl([e.Property("Image")],i.prototype,"type",void 0),hl([e.Property("")],i.prototype,"source",void 0),hl([e.Property("None")],i.prototype,"scale",void 0),hl([e.Property("None")],i.prototype,"align",void 0),i}(ll),fl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Text"},hl([e.Property("Text")],i.prototype,"type",void 0),hl([e.Property("")],i.prototype,"content",void 0),hl([e.Complex({},Is)],i.prototype,"margin",void 0),i}(ll),ml=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BasicShape"},hl([e.Property("Basic")],i.prototype,"type",void 0),hl([e.Property("Rectangle")],i.prototype,"shape",void 0),hl([e.Property(0)],i.prototype,"cornerRadius",void 0),hl([e.Collection([],fs)],i.prototype,"points",void 0),i}(ll),yl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"FlowShape"},hl([e.Property("Flow")],i.prototype,"type",void 0),hl([e.Property("Terminator")],i.prototype,"shape",void 0),i}(ll),vl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnGateway"},hl([e.Property("None")],i.prototype,"type",void 0),i}(e.ChildProperty),bl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnDataObject"},hl([e.Property("None")],i.prototype,"type",void 0),hl([e.Property(!1)],i.prototype,"collection",void 0),i}(e.ChildProperty),Sl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Property("None")],i.prototype,"type",void 0),hl([e.Property("None")],i.prototype,"loop",void 0),hl([e.Property(!1)],i.prototype,"call",void 0),hl([e.Property(!1)],i.prototype,"compensation",void 0),i}(e.ChildProperty),wl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnEvent"},hl([e.Property("Start")],i.prototype,"event",void 0),hl([e.Property("None")],i.prototype,"trigger",void 0),i}(e.ChildProperty),xl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnSubEvent"},hl([e.Property("None")],i.prototype,"trigger",void 0),hl([e.Property("Start")],i.prototype,"event",void 0),hl([e.Property("")],i.prototype,"id",void 0),hl([e.Complex({},fs)],i.prototype,"offset",void 0),hl([e.Collection([],ah)],i.prototype,"annotations",void 0),hl([e.Collection([],th)],i.prototype,"ports",void 0),hl([e.Property()],i.prototype,"width",void 0),hl([e.Property()],i.prototype,"height",void 0),hl([e.Complex({},Is)],i.prototype,"margin",void 0),hl([e.Property("Center")],i.prototype,"horizontalAlignment",void 0),hl([e.Property("Center")],i.prototype,"verticalAlignment",void 0),hl([e.Property(!0)],i.prototype,"visible",void 0),i}(e.ChildProperty),Il=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Complex({id:"success",event:"End",offset:{x:1,y:.5}},xl)],i.prototype,"success",void 0),hl([e.Complex({id:"failure",event:"Intermediate",trigger:"Error",offset:{x:.25,y:1}},xl)],i.prototype,"failure",void 0),hl([e.Complex({id:"cancel",event:"Intermediate",trigger:"Cancel",offset:{x:.75,y:1}},xl)],i.prototype,"cancel",void 0),i}(e.ChildProperty),Cl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Property("None")],i.prototype,"type",void 0),hl([e.Property(!1)],i.prototype,"adhoc",void 0),hl([e.Property("Default")],i.prototype,"boundary",void 0),hl([e.Property(!1)],i.prototype,"compensation",void 0),hl([e.Property("None")],i.prototype,"loop",void 0),hl([e.Property(!0)],i.prototype,"collapsed",void 0),hl([e.Collection([],xl)],i.prototype,"events",void 0),hl([e.Complex({},Il)],i.prototype,"transaction",void 0),hl([e.Property(void 0)],i.prototype,"processes",void 0),i}(e.ChildProperty),Pl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnActivity"},hl([e.Property("Task")],i.prototype,"activity",void 0),hl([e.Complex({},Sl)],i.prototype,"task",void 0),hl([e.Complex({},Cl)],i.prototype,"subProcess",void 0),i}(e.ChildProperty),Dl=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnAnnotation"},hl([e.Property("")],i.prototype,"text",void 0),hl([e.Property("")],i.prototype,"id",void 0),hl([e.Property(0)],i.prototype,"angle",void 0),hl([e.Property()],i.prototype,"height",void 0),hl([e.Property()],i.prototype,"width",void 0),hl([e.Property(0)],i.prototype,"length",void 0),i}(e.ChildProperty),Tl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Property("")],i.prototype,"textAnnotationTarget",void 0),hl([e.Property("Auto")],i.prototype,"textAnnotationDirection",void 0),i}(e.ChildProperty),Al=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"BpmnShape"},hl([e.Property("Bpmn")],i.prototype,"type",void 0),hl([e.Property("Event")],i.prototype,"shape",void 0),hl([e.Complex({},wl)],i.prototype,"event",void 0),hl([e.Complex({},vl)],i.prototype,"gateway",void 0),hl([e.Complex({},bl)],i.prototype,"dataObject",void 0),hl([e.Complex({},Pl)],i.prototype,"activity",void 0),hl([e.Complex({},Dl)],i.prototype,"annotation",void 0),hl([e.Collection([],Dl)],i.prototype,"annotations",void 0),hl([e.Complex({},Tl)],i.prototype,"textAnnotation",void 0),i}(ll),Ol=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlActivityShape"},hl([e.Property("UmlActivity")],i.prototype,"type",void 0),hl([e.Property("Action")],i.prototype,"shape",void 0),i}(ll),Ml=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"MethodArguments"},hl([e.Property("")],i.prototype,"name",void 0),hl([e.Property("")],i.prototype,"type",void 0),hl([e.Complex({},Ls)],i.prototype,"style",void 0),i}(e.ChildProperty),El=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlClassAttribute"},hl([e.Property("Public")],i.prototype,"scope",void 0),hl([e.Property(!1)],i.prototype,"isSeparator",void 0),hl([e.Complex({fill:"#F9F9F9",strokeColor:"#CCCCCC"},Ms)],i.prototype,"separatorStyle",void 0),i}(Ml),Ll=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlClassMethod"},hl([e.Collection([],Ml)],i.prototype,"parameters",void 0),i}(El),zl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlClass"},hl([e.Property("")],i.prototype,"name",void 0),hl([e.Collection([],El)],i.prototype,"attributes",void 0),hl([e.Collection([],Ll)],i.prototype,"methods",void 0),hl([e.Complex({},Ls)],i.prototype,"style",void 0),i}(e.ChildProperty),kl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlInterface"},hl([e.Property(!1)],i.prototype,"isSeparator",void 0),hl([e.Complex({fill:"#F9F9F9",strokeColor:"#CCCCCC"},Ms)],i.prototype,"separatorStyle",void 0),i}(zl),Bl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlEnumerationMember"},hl([e.Property("")],i.prototype,"name",void 0),hl([e.Property("")],i.prototype,"value",void 0),hl([e.Property(!1)],i.prototype,"isSeparator",void 0),hl([e.Complex({fill:"#F9F9F9",strokeColor:"#CCCCCC"},Ms)],i.prototype,"separatorStyle",void 0),hl([e.Complex({},Ls)],i.prototype,"style",void 0),i}(e.ChildProperty),Nl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlEnumeration"},hl([e.Property("")],i.prototype,"name",void 0),hl([e.Collection([],Bl)],i.prototype,"members",void 0),hl([e.Complex({},Ls)],i.prototype,"style",void 0),i}(e.ChildProperty),Rl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"UmlClassifierShape"},hl([e.Property("UmlClassifier")],i.prototype,"type",void 0),hl([e.Complex({},zl)],i.prototype,"classShape",void 0),hl([e.Complex({},kl)],i.prototype,"interfaceShape",void 0),hl([e.Complex({},Nl)],i.prototype,"enumerationShape",void 0),hl([e.Property("Class")],i.prototype,"classifier",void 0),i}(ll),jl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"DiagramShape"},hl([e.Property("Basic")],i.prototype,"type",void 0),hl([e.Property("Rectangle")],i.prototype,"basicShape",void 0),hl([e.Property("Terminator")],i.prototype,"flowShape",void 0),hl([e.Property("Event")],i.prototype,"bpmnShape",void 0),hl([e.Property("Action")],i.prototype,"umlActivityShape",void 0),hl([e.Property("")],i.prototype,"data",void 0),hl([e.Property("")],i.prototype,"content",void 0),hl([e.Property("")],i.prototype,"textContent",void 0),hl([e.Property("Stretch")],i.prototype,"scale",void 0),hl([e.Property("")],i.prototype,"source",void 0),hl([e.Property("None")],i.prototype,"align",void 0),hl([e.Complex({},Is)],i.prototype,"margin",void 0),hl([e.Property(0)],i.prototype,"cornerRadius",void 0),hl([e.Collection([],fs)],i.prototype,"points",void 0),hl([e.Complex({},bl)],i.prototype,"dataObject",void 0),hl([e.Complex({},wl)],i.prototype,"event",void 0),hl([e.Complex({},vl)],i.prototype,"gateway",void 0),hl([e.Collection([],Dl)],i.prototype,"annotations",void 0),hl([e.Complex({},Pl)],i.prototype,"activity",void 0),hl([e.Complex({},Dl)],i.prototype,"annotation",void 0),hl([e.Complex({},Nl)],i.prototype,"enumerationShape",void 0),hl([e.Property("Class")],i.prototype,"classifier",void 0),hl([e.Complex({},zl)],i.prototype,"classShape",void 0),hl([e.Complex({},kl)],i.prototype,"interfaceShape",void 0),i}(e.ChildProperty),Hl=function(i){function r(t,e,r,n){var o=i.call(this,t,e,r,n)||this;o.isCanvasUpdate=!1,o.status="None",o.parentId="",o.showDefaultTooltipForPalette=!0,o.processId="",o.umlIndex=-1,o.outEdges=[],o.inEdges=[],o.isHeader=!1,o.isLane=!1,o.isPhase=!1,o.laneGrids=[];var a;return o.children&&o.children.length>0&&((a=r).style&&a.style.fill||(o.style.fill="transparent"),a.style&&a.style.strokeColor||(o.style.strokeColor="transparent")),o.shape&&"UmlActivity"===o.shape.type&&an(r,o),!o.shape||"SwimLane"!==o.shape.type&&"Container"!==o.shape.type||en(r,o),o.ports&&o.ports.length&&on(o),o}return sl(r,i),Object.defineProperty(r.prototype,"actualSize",{get:function(){return null!==this.wrapper?this.wrapper.actualSize:new ps(this.width||0,this.height||0)},enumerable:!0,configurable:!0}),r.prototype.init=function(i){var r;r="SwimLane"!==this.shape.type?new ks:new Ah;var n;switch(this.shape.changedProperties={},this.shape.oldProperties={},this.shape.type){case"Path":if(e.isBlazor()||"Freehand"!==this.type){var o=new Ws;o.data=this.shape.data,r=o}else(p=new Ws).data=d(this.shape.points),r=p;break;case"Image":var a=new Fs;a.source=this.shape.source,a.imageAlign=this.shape.align,a.imageScale=this.shape.scale,r=a;break;case"Text":var s=new js;s.content=this.shape.content,r=s,n=this.style,r.style=n;break;case"Basic":if(e.isBlazor()||"Rectangle"!==this.shape.shape)if(e.isBlazor()||"Polygon"!==this.shape.shape){var l=new Ws,c=q(this.shape.shape);l.data=c,r=l}else{var p=new Ws;p.data=h(this.shape.points),r=p}else(r=l=new ks).cornerRadius=this.shape.cornerRadius;break;case"Flow":var g=new Ws,u=at(this.shape.shape);g.data=u,r=g;break;case"UmlActivity":r=$n(new Ws,r,this);break;case"Bpmn":if(i.bpmnModule){this.shape.activity&&"SubProcess"===this.shape.activity.activity&&!1===this.shape.activity.subProcess.collapsed&&(this.flip=t.FlipDirection.None,this.wrapper.flip=t.FlipDirection.None),r=i.bpmnModule.initBPMNContent(r,this,i),this.wrapper.elementActions=this.wrapper.elementActions|t.ElementAction.ElementIsGroup;var f=this.shape.activity.subProcess;if(f.processes&&f.processes.length)for(var m=0,y=this.shape.activity.subProcess.processes;m<y.length;m++){var v=y[m];!i.nameTable[""+v]||i.nameTable[""+v].processId&&i.nameTable[""+v].processId!==this.id||(i.nameTable[""+v].processId=this.id,f.collapsed&&i.updateElementVisibility(i.nameTable[""+v].wrapper,i.nameTable[""+v],!f.collapsed),r.children.push(i.nameTable[""+v].wrapper))}}else console.warn('[WARNING] :: Module "BpmnDiagrams" is not available in Diagram component! You either misspelled the module name or forgot to load it.');break;case"Native":i.initNodeTemplate=!0;var b=new Gs(this.id,i.element.id,i.nodeTemplate);!this.shape.content&&!i.nodeTemplate||this.shape.content&&("string"==typeof this.shape.content||!i.isReact)?b.content=this.shape.content:i.nodeTemplate&&(b.isTemplate=!0,b.template=b.content=Qa(b,!1,this)),this.shape.content&&"function"==typeof this.shape.content&&i.isReact&&(b.isTemplate=!0,b.templateFn=e.compile(this.shape.content),b.template=b.content=Qa(b,!1,this)),b.scale=this.shape.scale,r=b,i.initNodeTemplate=!1;break;case"HTML":i.initNodeTemplate=!0;var S=new wh(this.id,i.element.id,void 0,i.nodeTemplate);!this.shape.content||"string"!=typeof this.shape.content&&i.isReact?i.nodeTemplate&&(S.isTemplate=!0,S.template=S.content=Qa(S,!0,this)):S.content=this.shape.content,this.shape.content&&"function"==typeof this.shape.content&&i.isReact&&(S.isTemplate=!0,S.templateFn=e.compile(this.shape.content),S.template=S.content=Qa(S,!0,this)),r=S,i.initNodeTemplate=!1;break;case"UmlClassifier":r=jo(r,this,i);break;case"Container":this.constraints|=t.NodeConstraints.ReadOnly|t.NodeConstraints.AllowDrop,this.flip=t.FlipDirection.None,this.wrapper.flip=t.FlipDirection.None,r=Go(r,this,i);break;case"SwimLane":this.annotations=[],this.ports=[],this.flip=t.FlipDirection.None,this.wrapper.flip=t.FlipDirection.None,r.cellStyle.fill="none",r.cellStyle.strokeColor="none",this.container={type:"Grid",orientation:this.shape.orientation},r.id=this.id,r.pivot=this.pivot,this.container.orientation=this.shape.orientation,this.constraints|=t.NodeConstraints.HideThumbs,hi(r,i,this)}return r.id=this.id+"_content",r.relativeMode="Object","Basic"===this.shape.type&&"Rectangle"===this.shape.shape?r.shapeType="Rectangle":r.shapeType="Others",void 0!==this.width&&(r.width=this.width),r.horizontalAlignment="Stretch",void 0!==this.height&&(r.height=this.height),void 0!==this.minHeight&&(r.minHeight=this.minHeight),void 0!==this.maxHeight&&(r.maxHeight=this.maxHeight),void 0!==this.minWidth&&(r.minWidth=this.minWidth),void 0!==this.maxWidth&&(r.maxWidth=this.maxWidth),e.isBlazor()||"Rectangle"!==this.shape.shape||this.shape.cornerRadius||(r.isRectElement=!0),r.verticalAlignment="Stretch",this.shape instanceof fl&&(r.margin=this.shape.margin),!ze(this)||"Freehand"===this.type||"Bpmn"===this.shape.type&&"TextAnnotation"!==this.shape.shape||0!=(this.constraints&t.NodeConstraints.Shadow)&&this.visible&&(r.shadow=this.shadow),"Bpmn"===this.shape.type&&(e.isBlazor()||"Message"!==this.shape.shape)&&(e.isBlazor()||"DataSource"!==this.shape.shape)||"UmlActivity"===this.shape.type&&(e.isBlazor()||"FinalNode"===this.shape.shape)||"Text"!==this.shape.type&&(r.style=this.style,this.oldGradientValue=this.style.gradient?k(this.style.gradient):null),(this.wrapper.elementActions&t.ElementAction.ElementIsGroup||this.flip!==t.FlipDirection.Horizontal)&&this.flip!==t.FlipDirection.Vertical||(r.flip=this.flip,r.flipMode=this.flipMode),r},r.prototype.initContainer=function(){this.id||(this.id=O());var t;if(!this.container||this.shape instanceof Yl||"Container"===this.shape.type)t=this.children?new Ns:new Vs;else switch(this.container.type){case"Canvas":t=new Vs;break;case"Stack":t=new rl;break;case"Grid":(t=new Ah).setDefinitions(this.rows,this.columns)}return t.id=this.id,t.offsetX=this.offsetX,t.offsetY=this.offsetY,t.visible=this.visible,t.horizontalAlignment=this.horizontalAlignment,t.verticalAlignment=this.verticalAlignment,this.container&&"SwimLane"!==this.shape.type&&(t.width=this.width,t.height=this.height,"Stack"===this.container.type&&(t.orientation=this.container.orientation)),t.style.fill=this.backgroundColor,t.style.strokeColor=this.borderColor,t.style.strokeWidth=this.borderWidth,t.rotateAngle=this.rotateAngle,t.minHeight=this.minHeight,t.minWidth=this.minWidth,t.maxHeight=this.maxHeight,t.maxWidth=this.maxWidth,t.pivot=this.pivot,t.margin=this.margin,t.flip=this.flip,t.flipMode=this.flipMode,this.wrapper=t,t},r.prototype.initPorts=function(t,e){for(var i=0;this.ports,i<this.ports.length;i++)this.initPort(t,e,this.ports[parseInt(i.toString(),10)])},r.prototype.initPort=function(e,i,r){var n,o=this.wrapper;n=this.initPortWrapper(r,this);var a,s=Z(e);s&&(a=s(n,this)),n.description=a||n.id,n.inversedAlignment=o.inversedAlignment,n.elementActions=n.elementActions|t.ElementAction.ElementIsPort,i.children.push(n)},r.prototype.getIconOffet=function(t,e){var i,r;return"BottomToTop"===t.orientation?(i=e.offset.x,r=1-e.offset.y):"LeftToRight"===t.orientation?(i=e.offset.y,r=e.offset.x):"RightToLeft"===t.orientation?(i=1-e.offset.y,r=e.offset.x):(i=e.offset.x,r=e.offset.y),{x:i,y:r}},r.prototype.initIcons=function(t,e,i,r){var n,o=this.wrapper,a=this.isExpanded?this.expandIcon:this.collapseIcon;if("None"!==a.shape){var s=new Vs;s.float=!0;var h=[];s.id=this.id+"_icon_content",s.children=h,s.height=a.height,s.width=a.width,s.style.strokeColor="transparent",s.margin=a.margin,s.horizontalAlignment="Center",s.verticalAlignment="Center",s.visible=this.visible,s.cornerRadius=a.cornerRadius,n=this.getIconOffet(e,a),s.setOffsetWithRespectToBounds(n.x,n.y,"Fraction"),s.relativeMode="Point",this.initIconSymbol(a,s,t,r);var d=void 0,l=Z(t);l&&(d=l(a,this)),s.description=d||s.id,s.inversedAlignment=o.inversedAlignment,i.children.push(s)}},r.prototype.initFixedUserHandles=function(t,e,i){var r;if(""===t.pathData&&e)(r=new wh(this.id,i,void 0,e)).isTemplate=!0,r.template=Qa(r,!0,t),t.id=t.id||O(),r.id=this.id+"_"+t.id;else{var n=this.wrapper,o=[];(r=new Vs).children=o,t.id=t.id||O(),r.id=this.id+"_"+t.id;var a=xn(t,r);r.children.push(a),r.inversedAlignment=n.inversedAlignment}r.float=!0,r.height=t.height,r.width=t.width,r.style.strokeColor=t.handleStrokeColor,r.style.fill=t.fill,r.style.strokeWidth=t.handleStrokeWidth,r.margin=t.margin,r.visible=t.visibility,r.cornerRadius=t.cornerRadius,r.horizontalAlignment="Center",r.verticalAlignment="Center";var s=this.getfixedUserHandleOffet(t);return r.setOffsetWithRespectToBounds(s.x,s.y,"Fraction"),r.relativeMode="Point",r.description=r.id,r},r.prototype.getfixedUserHandleOffet=function(t){return{x:t.offset.x,y:t.offset.y}},r.prototype.initAnnotations=function(t,e,i,r,n){for(var o,a=0;this.annotations,a<this.annotations.length;a++){o=this.initAnnotationWrapper(this.annotations[parseInt(a.toString(),10)],i,r,a,n);var s=void 0,h=Z(t);h&&(s=h(o,this)),o.description=s||o.id,o.inversedAlignment=e.inversedAlignment,e.children.push(o)}},r.prototype.initPortWrapper=function(e,i){e.id=e.id||O();var r=new Ws;r.height=e.height,r.width=e.width,r.connectionDirection=e.connectionDirection,e.shape=e.shape||"Square";var n="Custom"===e.shape?e.pathData:et(e.shape);r.id=this.id+"_"+e.id,r.margin=e.margin,r.data=n,i&&"Bpmn"===i.shape.type&&(r.flip=this.flip);var o=e.style;return r.style={fill:o.fill,strokeColor:o.strokeColor,gradient:null,opacity:o.opacity,strokeDashArray:o.strokeDashArray,strokeWidth:o.strokeWidth},r.horizontalAlignment=e.horizontalAlignment,r.verticalAlignment=e.verticalAlignment,r="None"!==this.flipMode&&"Label"!==this.flipMode&&"LabelText"!==this.flipMode&&"LabelAndLabelText"!==this.flipMode?Yd(r,this.flip,e):Yd(r,t.FlipDirection.None,e),void 0===this.width&&void 0===this.height||(r.float=!0),r.relativeMode="Point",r.visible=!(!so(e,t.PortVisibility.Visible)||so(e,t.PortVisibility.Hover)||so(e,t.PortVisibility.Connect)),r.elementActions=r.elementActions|t.ElementAction.ElementIsPort,r},r.prototype.initAnnotationWrapper=function(t,i,r,n,o){t.content=t.content||"",t.id=t.id||n+"annotation"||O();var a,s=t;if(i&&(t.template||"Template"===t.annotationType||o&&""===t.content)){a=new wh(this.id,i,t.id,o);var h=document.getElementById(i).ej2_instances[0];t.template&&"function"==typeof t.template&&h.isReact&&(a.templateFn=e.compile(t.template),a.isTemplate=!0),a=rs(a,t,o,h)}else{(a=new js).canMeasure=!r;var d=t.style,l=t.hyperlink.link?t.hyperlink:void 0;a.style={fill:d.fill,strokeColor:d.strokeColor,strokeWidth:d.strokeWidth,bold:d.bold,textWrapping:d.textWrapping,color:l?l.color||a.hyperlink.color:d.color,whiteSpace:d.whiteSpace,fontFamily:d.fontFamily,fontSize:d.fontSize,italic:d.italic,gradient:null,opacity:d.opacity,strokeDashArray:d.strokeDashArray,textAlign:d.textAlign,textOverflow:t.style.textOverflow,textDecoration:l?l.textDecoration||a.hyperlink.textDecoration:d.textDecoration},a.hyperlink.link=t.hyperlink.link||void 0,a.hyperlink.hyperlinkOpenState=t.hyperlink.hyperlinkOpenState||void 0,a.hyperlink.content=t.hyperlink.content||void 0,a.hyperlink.textDecoration=t.hyperlink.textDecoration||void 0,a.content=l?l.content||a.hyperlink.link:t.content}return a.constraints=t.constraints,a.height=t.height,a.width=t.width,a.visible=t.visibility,a.annotationVisibility=a.visible?"Visible":"Collapsed",a.rotateAngle=t.rotateAngle,a.rotationReference=t.rotationReference,a.id=this.id+"_"+t.id,void 0===this.width||t.template||void 0===t.width&&("Wrap"!==t.style.textWrapping&&"WrapWithOverflow"!==t.style.textWrapping||(a.width=this.width)),a.margin=t.margin,a.horizontalAlignment=t.horizontalAlignment,a.verticalAlignment=t.verticalAlignment,a.setOffsetWithRespectToBounds(s.offset.x,s.offset.y,"Fraction"),void 0===this.width&&void 0===this.height||(a.float=!0),a.relativeMode="Point",a},r.prototype.initIconContainer=function(t,e){var i=new ks;return i.id=e.id+"_rect",i.height=t.height,i.width=t.width,i.visible=e.visible,i.margin=t.margin,i.cornerRadius=t.cornerRadius,i.style={fill:t.fill,strokeColor:t.borderColor,strokeWidth:t.borderWidth},i.setOffsetWithRespectToBounds(.5,.5,"Fraction"),i.horizontalAlignment="Center",i.verticalAlignment="Center",i.relativeMode="Object",i.description=i.description||"Click here to expand or collapse",i},r.prototype.initIconSymbol=function(t,e,i,r){var n;if(e.children.push(this.initIconContainer(t,e)),"Template"===t.shape)(n=new Gs(this.id,r)).content=t.content,n.height=10,n.width=10;else{(n=new Ws).data=ot(t);var o=ma(n.data);n.height=o.height<10?o.height:10-(t.padding.bottom+t.padding.top),n.width=o.width<10?o.width:10-(t.padding.left+t.padding.right)}n.id=e.id+"_shape",n.horizontalAlignment="Center",n.verticalAlignment="Center",n.visible=e.visible,n.visible=e.visible,n.style={fill:"black",strokeColor:t.iconColor,strokeWidth:t.borderWidth},n.setOffsetWithRespectToBounds(.5,.5,"Fraction"),n.relativeMode="Object",n.description=e.description||"Click here to expand or collapse",e.children.push(n)},r.prototype.getClassName=function(){return"Node"},hl([e.Collection([],ah)],r.prototype,"annotations",void 0),hl([e.Property(0)],r.prototype,"offsetX",void 0),hl([e.Complex({},al)],r.prototype,"layoutInfo",void 0),hl([e.Property(0)],r.prototype,"offsetY",void 0),hl([e.Collection([],th)],r.prototype,"ports",void 0),hl([e.Property(!0)],r.prototype,"isExpanded",void 0),hl([e.Collection([],Ph)],r.prototype,"fixedUserHandles",void 0),hl([e.Complex({},el)],r.prototype,"expandIcon",void 0),hl([e.Complex({},el)],r.prototype,"collapseIcon",void 0),hl([e.Complex({x:.5,y:.5},fs)],r.prototype,"pivot",void 0),hl([e.Property()],r.prototype,"width",void 0),hl([e.Property()],r.prototype,"height",void 0),hl([e.Property()],r.prototype,"minWidth",void 0),hl([e.Property()],r.prototype,"minHeight",void 0),hl([e.Property()],r.prototype,"maxWidth",void 0),hl([e.Property()],r.prototype,"maxHeight",void 0),hl([e.Property(0)],r.prototype,"rotateAngle",void 0),hl([e.Complex({fill:"white"},Ls)],r.prototype,"style",void 0),hl([e.Property("transparent")],r.prototype,"backgroundColor",void 0),hl([e.Property("none")],r.prototype,"borderColor",void 0),hl([e.Property(0)],r.prototype,"borderWidth",void 0),hl([e.Property()],r.prototype,"data",void 0),hl([e.ComplexFactory(dl)],r.prototype,"shape",void 0),hl([e.Complex({},fh)],r.prototype,"previewSize",void 0),hl([e.Complex({},fh)],r.prototype,"dragSize",void 0),hl([e.Property(null)],r.prototype,"wrapper",void 0),hl([e.Property(t.NodeConstraints.Default)],r.prototype,"constraints",void 0),hl([e.Complex({},Cs)],r.prototype,"shadow",void 0),hl([e.Property()],r.prototype,"children",void 0),hl([e.Complex({left:0,right:0,top:0,bottom:0},Is)],r.prototype,"padding",void 0),hl([e.Property(null)],r.prototype,"container",void 0),hl([e.Property("Left")],r.prototype,"horizontalAlignment",void 0),hl([e.Property("Top")],r.prototype,"verticalAlignment",void 0),hl([e.Property()],r.prototype,"rows",void 0),hl([e.Property()],r.prototype,"columns",void 0),hl([e.Property()],r.prototype,"rowIndex",void 0),hl([e.Property()],r.prototype,"columnIndex",void 0),hl([e.Property()],r.prototype,"rowSpan",void 0),hl([e.Property()],r.prototype,"columnSpan",void 0),hl([e.Property("")],r.prototype,"branch",void 0),r}(bh),Wl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),hl([e.Property("")],i.prototype,"id",void 0),hl([e.Complex({},ah)],i.prototype,"annotation",void 0),hl([e.Complex({fill:"#FFFFFF",strokeColor:"#CCCCCC"},Ms)],i.prototype,"style",void 0),hl([e.Property(50)],i.prototype,"height",void 0),hl([e.Property(50)],i.prototype,"width",void 0),i}(e.ChildProperty),_l=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Lane"},hl([e.Property("")],i.prototype,"id",void 0),hl([e.Complex({fill:"#F9F9F9",strokeColor:"#CCCCCC"},Ms)],i.prototype,"style",void 0),hl([e.Collection([],Hl)],i.prototype,"children",void 0),hl([e.Property(100)],i.prototype,"height",void 0),hl([e.Property(100)],i.prototype,"width",void 0),hl([e.Complex({style:{fill:"#E7F4FF",strokeColor:"#CCCCCC"},annotation:{content:"Function"}},Wl)],i.prototype,"header",void 0),hl([e.Property(!0)],i.prototype,"canMove",void 0),hl([e.Property()],i.prototype,"addInfo",void 0),i}(e.ChildProperty),Fl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return sl(i,t),i.prototype.getClassName=function(){return"Phase"},hl([e.Property("")],i.prototype,"id",void 0),hl([e.Complex({fill:"#FFFFFF",strokeColor:"#CCCCCC"},Ms)],i.prototype,"style",void 0),hl([e.Complex({annotation:{content:"Phase"}},Wl)],i.prototype,"header",void 0),hl([e.Property(100)],i.prototype,"offset",void 0),hl([e.Property()],i.prototype,"addInfo",void 0),i}(e.ChildProperty),Yl=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.padding=20,e.hasHeader=!0,e}return sl(i,t),i.prototype.getClassName=function(){return"SwimLane"},hl([e.Property("SwimLane")],i.prototype,"type",void 0),hl([e.Property(20)],i.prototype,"phaseSize",void 0),hl([e.Collection([],Fl)],i.prototype,"phases",void 0),hl([e.Property("Horizontal")],i.prototype,"orientation",void 0),hl([e.Collection([],_l)],i.prototype,"lanes",void 0),hl([e.Complex({style:{fill:"#E7F4FF",strokeColor:"#CCCCCC"},annotation:{content:"Function"}},Wl)],i.prototype,"header",void 0),hl([e.Property(!1)],i.prototype,"isLane",void 0),hl([e.Property(!1)],i.prototype,"isPhase",void 0),i}(ll),Vl=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.hasHeader=!0,e}return sl(i,t),i.prototype.getClassName=function(){return"Container"},hl([e.Property("Container")],i.prototype,"type",void 0),hl([e.Complex({},Wl)],i.prototype,"header",void 0),hl([e.Property()],i.prototype,"children",void 0),i}(ll),Xl=function(){function t(){}return t.prototype.getClassName=function(){return"ChildContainer"},hl([e.Property("Canvas")],t.prototype,"type",void 0),hl([e.Property("Vertical")],t.prototype,"orientation",void 0),t}(),Ul=function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return sl(r,i),r.prototype.init=function(t){var e=new Ns;if(e.measureChildren=!1,e.children=[],this.annotation){var i=this.nodes.length>0?t.nameTable[this.nodes[0].id].wrapper:t.nameTable[this.connectors[0].id].wrapper,r=t.getWrapper(i,this.annotation.id);e.children.push(r)}else if(this.nodes||this.connectors){for(var n=0;n<this.nodes.length;n++){r=t.nameTable[this.nodes[parseInt(n.toString(),10)].id].wrapper;e.children.push(r)}for(var o=0;o<this.connectors.length;o++){r=t.nameTable[this.connectors[parseInt(o.toString(),10)].id].wrapper;e.children.push(r)}}var a=t.isProtectedOnChange;return t.protectPropertyChange(!1),this.wrapper=e,t.protectPropertyChange(a),e},hl([e.Property(null)],r.prototype,"wrapper",void 0),hl([e.Property(14)],r.prototype,"handleSize",void 0),hl([e.Collection([],Hl)],r.prototype,"nodes",void 0),hl([e.Collection([],xd)],r.prototype,"connectors",void 0),hl([e.Property()],r.prototype,"width",void 0),hl([e.Property()],r.prototype,"height",void 0),hl([e.Property(0)],r.prototype,"rotateAngle",void 0),hl([e.Property(0)],r.prototype,"offsetX",void 0),hl([e.Property(0)],r.prototype,"offsetY",void 0),hl([e.Complex({x:.5,y:.5},fs)],r.prototype,"pivot",void 0),hl([e.Property("CompleteIntersect")],r.prototype,"rubberBandSelectionMode",void 0),hl([e.Collection([],Ad)],r.prototype,"userHandles",void 0),hl([e.Property(t.SelectorConstraints.All)],r.prototype,"constraints",void 0),hl([e.Property()],r.prototype,"setTooltipTemplate",void 0),hl([e.Collection([],Hl)],r.prototype,"selectedObjects",void 0),hl([e.Property(!1)],r.prototype,"canToggleSelection",void 0),r}(e.ChildProperty),Gl={},Zl=function(){function e(){}return e.getContext=function(t){return t.getContext("2d")},e.setCanvasSize=function(t,e,i){t&&(t.setAttribute("width",e.toString()),t.setAttribute("height",i.toString()))},e.prototype.renderGradient=function(t,e,i,r){var n,o,a;if("None"!==t.gradient.type){for(b=0;b<t.gradient.stops.length;b++)n=void 0!==n?t.gradient.stops[parseInt(b.toString(),10)].offset:Math.max(n,t.gradient.stops[parseInt(b.toString(),10)].offset),o=void 0!==o?t.gradient.stops[parseInt(b.toString(),10)].offset:Math.min(o,t.gradient.stops[parseInt(b.toString(),10)].offset);if("Linear"===t.gradient.type){var s=t.gradient,h=s.x1,d=s.x2,l=s.y1,c=s.y2;if(s.controlParent instanceof Tp&&"SVG"===s.controlParent.mode&&(h=t.width?h*t.width/100:h,d=t.width?d*t.width/100:d,l=t.height?l*t.height/100:l,c=t.height?c*t.height/100:c,h!==d&&l!==c)){var p=d-h,g=c-l,u=Math.atan2(g,p),f=u*(180/Math.PI)%360,m=(90-(f=f<0?f+360:f))*(Math.PI/180),y=p*Math.sin(u)+g*Math.cos(u);d=h+y*Math.cos(m),c=l+y*Math.sin(m)}a=e.createLinearGradient(i+h,r+l,i+d,r+c)}else{var v=t.gradient;a=e.createRadialGradient(i+v.fx,r+v.fy,0,i+v.cx,r+v.cy,v.r)}for(var b=0;b<t.gradient.stops.length;b++){var S=t.gradient.stops[parseInt(b.toString(),10)],w=o<0?(n+S.offset)/(2*n):S.offset/n;a.addColorStop(w,S.color)}e.fillStyle=a}return e},e.prototype.renderShadow=function(t,i,r){void 0===r&&(r=null);var n=e.getContext(i);n.save(),n.beginPath(),n.strokeStyle=n.fillStyle=t.shadow.color,n.globalAlpha=t.shadow.opacity;var o={x:0,y:0},a=fs.transform(o,t.shadow.angle,t.shadow.distance),s=t.x+a.x,h=t.y+a.y,d=s+t.width*t.pivotX,l=h+t.height*t.pivotY;this.rotateContext(i,t.angle,d,l),r?(n.translate(s,h),this.renderPath(i,t,r),n.translate(-s,-h)):(n.rect(s,h,t.width,t.height),n.fillRect(s,h,t.width,t.height)),n.fill(),n.stroke(),n.closePath(),n.restore()},e.createCanvas=function(t,e,i){var r=Va("canvas",{id:t});return this.setCanvasSize(r,e,i),r},e.prototype.setStyle=function(t,i){var r=e.getContext(t);"none"===i.fill&&(i.fill="transparent"),"none"===i.stroke&&(i.stroke="transparent"),r.strokeStyle=i.stroke,r.lineWidth=i.strokeWidth,0===i.strokeWidth&&(r.strokeStyle="transparent"),r.globalAlpha=i.opacity;var n=[];i.dashArray&&(n=this.parseDashArray(i.dashArray)),r.setLineDash(n),i.gradient&&"None"!==i.gradient.type?"Rectangle"===i.shapeType?this.renderGradient(i,r,i.x,i.y):this.renderGradient(i,r,0,0):r.fillStyle=i.fill},e.prototype.rotateContext=function(t,i,r,n){var o=e.getContext(t);o.translate(r,n),o.rotate(i*Math.PI/180),o.translate(-r,-n)},e.prototype.setFontStyle=function(t,i){var r=e.getContext(t),n="";i.italic&&(n+="italic "),i.bold&&(n+="bold "),n+=i.fontSize+"px ",n+=i.fontFamily,r.font=n},e.prototype.parseDashArray=function(t){for(var e=[],i=-1!==t.indexOf(" ")?" ":",",r=0,n=t.split(i);r<n.length;r++){var o=n[r];e.push(Number(o))}return e},e.prototype.drawRoundedRect=function(t,i){var r=e.getContext(t);r.beginPath();var n=i.x,o=i.y,a=i.width,s=i.height,h=n+a/2,d=o+s/2;r.beginPath(),this.setStyle(t,i),r.moveTo(n,d),r.quadraticCurveTo(n,o,h,o),r.quadraticCurveTo(n+a,o,n+a,d),r.quadraticCurveTo(n+a,o+s,h,o+s),r.quadraticCurveTo(n,o+s,n,d),r.fill(),r.stroke()},e.prototype.drawRectangle=function(t,i,r,n,o,a,h,d,l,c,p){if(!0===i.visible)if(i.cornerRadius)!n&&(i.width<30||i.height<30)?this.drawRoundedRect(t,i):(i.data=s(i.cornerRadius,i.height,i.width),this.drawPath(t,i,r,o,a,h,void 0,c,p));else{var g=e.getContext(t);i.shadow&&this.renderShadow(i,t),g.save(),g.beginPath();i.cornerRadius;var u=i.x+i.width*i.pivotX,f=i.y+i.height*i.pivotY;if(i.textWrapping&&i.wrapBounds)this.applyFlipAndRotate(g,i,t,u,f,c,p);else{var m=i.isImage?-i.angle:i.angle;this.rotateContext(t,m,u,f)}this.setStyle(t,i),g.rect(i.x,i.y,i.width,i.height),g.fillRect(i.x,i.y,i.width,i.height),g.fill(),g.stroke(),g.closePath(),g.restore()}},e.prototype.drawPath=function(t,i,r,n,a,s,h,d,c){var p=[];p=l(p=o(i.data)),i.shadow&&this.renderShadow(i,t,p);var g=e.getContext(t);g.save(),g.beginPath();var u=i.y+i.height*i.pivotY,f=i.x+i.width*i.pivotX;this.applyFlipAndRotate(g,i,t,f,u,d,c),this.setStyle(t,i),g.translate(i.x,i.y),this.renderPath(t,i,p),g.fill(),g.translate(-i.x,-i.y),g.stroke(),g.restore()},e.prototype.renderPath=function(t,i,r){if(!0===i.visible){var n,o=0,a=e.getContext(t),s=void 0,h=void 0,d=void 0,l=void 0,c=void 0,p=void 0,g=void 0,u=void 0,f=void 0,m=r;for(g=0,u=0,f=0,n=m.length;f<n;++f){var y=m[parseInt(f.toString(),10)],v=y.command;switch("x1"in y&&(d=y.x1),"x2"in y&&(c=y.x2),"y1"in y&&(l=y.y1),"y2"in y&&(p=y.y2),"x"in y&&(g=y.x),"y"in y&&(u=y.y),v){case"M":a.moveTo(g,u),y.x=g,y.y=u;break;case"L":a.lineTo(g,u),y.x=g,y.y=u;break;case"C":a.bezierCurveTo(d,l,c,p,g,u),y.x=g,y.y=u,y.x1=d,y.y1=l,y.x2=c,y.y2=p;break;case"Q":a.quadraticCurveTo(d,l,g,u),y.x=g,y.y=u,y.x1=d,y.y1=l;break;case"A":var b={x:s,y:h},S=void 0,w=void 0;i.arc&&i.arc.length>0?(S=0===y.r1?i.arc[parseInt(o.toString(),10)].r1:y.r1,w=0===y.r2?i.arc[parseInt(o.toString(),10)].r2:y.r2,o++):(S=y.r1,w=y.r2);var x=y.angle*(Math.PI/180),I=y.largeArc,C=y.sweep,P={x:g,y:u},D={x:Math.cos(x)*(b.x-P.x)/2+Math.sin(x)*(b.y-P.y)/2,y:-Math.sin(x)*(b.x-P.x)/2+Math.cos(x)*(b.y-P.y)/2},T=Math.pow(D.x,2)/Math.pow(S,2)+Math.pow(D.y,2)/Math.pow(w,2);T>1&&(S*=Math.sqrt(T),w*=Math.sqrt(T));var A=Math.pow(w,2)*Math.pow(D.x,2),O=(I===C?-1:1)*Math.sqrt((Math.pow(S,2)*Math.pow(w,2)-Math.pow(S,2)*Math.pow(D.y,2)-A)/(Math.pow(S,2)*Math.pow(D.y,2)+Math.pow(w,2)*Math.pow(D.x,2)));isNaN(O)&&(O=0);var M={x:O*S*D.y/w,y:O*-w*D.x/S},E={x:(b.x+P.x)/2+Math.cos(x)*M.x-Math.sin(x)*M.y,y:(b.y+P.y)/2+Math.sin(x)*M.x+Math.cos(x)*M.y},L=this.a([1,0],[(D.x-M.x)/S,(D.y-M.y)/w]),z=[(D.x-M.x)/S,(D.y-M.y)/w],k=[(-D.x-M.x)/S,(-D.y-M.y)/w],B=this.a(z,k);this.r(z,k)<=-1&&(B=Math.PI),this.r(z,k)>=1&&(B=0);var N=L+(C?1:-1)*(B/2);Math.cos(N),Math.sin(N);if(y.centp=E,y.xAxisRotation=x,y.rx=S,y.ry=w,y.a1=L,y.ad=B,y.sweep=C,null!=a){var R=S>w?S:w,j=S>w?1:S/w,H=S>w?w/S:1;a.save(),a.translate(E.x,E.y),a.rotate(x),a.scale(j,H),a.arc(0,0,R,L,L+B,!C),a.scale(1/j,1/H),a.rotate(-x),a.translate(-E.x,-E.y),a.restore()}break;case"Z":case"z":a.closePath(),g=s,u=h}s=g,h=u}}},e.prototype.drawText=function(t,i,r,n,o,a,s,h){if(i.content&&!0===i.visible){var d=s.groupElement,l=e.getContext(t);l.save(),this.setStyle(t,i),a&&(i.fontSize*=a);var c=i.x+i.width*i.pivotX,p=i.y+i.height*i.pivotY;this.applyFlipAndRotate(l,i,t,c,p,s,h),this.setFontStyle(t,i);var g=0,u=[];u=i.childNodes;var f=i.wrapBounds;if(l.fillStyle=i.color,f){var m=this.labelAlign(i,f,u);for(g=0;g<u.length;g++){var y=u[parseInt(g.toString(),10)];y.x=is(y,u,g,i);var v=m.x+(a?y.x*a:y.x)-f.x,b=m.y+(a?y.dy*a:y.dy)*g+.8*i.fontSize;if(f.width>i.width&&"Wrap"!==i.textOverflow&&"NoWrap"===i.textWrapping&&(y.text=Y(y.text,i)),"Clip"!==i.textOverflow&&"Ellipsis"!==i.textOverflow||"Wrap"!==i.textWrapping)l.fillText(y.text,v,b);else if(b<d.actualSize.height+d.bounds.y){if("Ellipsis"===i.textOverflow&&u[g+1]){var S=u[g+1];m.y+S.dy*(g+1)+.8*i.fontSize>d.actualSize.height+d.bounds.y&&(y.text=y.text.slice(0,y.text.length-3),y.text=y.text.concat("..."))}l.fillText(y.text,v,b)}if("Underline"===i.textDecoration||"Overline"===i.textDecoration||"LineThrough"===i.textDecoration){var w=v,x=void 0,I=v+l.measureText(y.text).width,C=void 0;switch(i.textDecoration){case"Underline":x=b+2,C=b+2;break;case"Overline":x=m.y+y.dy*g,C=m.y+y.dy*g;break;case"LineThrough":x=(b+m.y+y.dy*g)/2+2,C=(b+m.y+y.dy*g)/2+2}l.beginPath(),l.moveTo(w,x),l.lineTo(I,C),l.strokeStyle=i.color,l.lineWidth=.08*i.fontSize,l.globalAlpha=i.opacity,l.stroke()}}}l.restore()}},e.prototype.applyFlipAndRotate=function(e,i,r,n,o,a,s){if(i.flip!==t.FlipDirection.None&&a&&s&&!(s.elementActions&t.ElementAction.ElementIsPort)){var h=a.groupElement,d=s,l=void 0;if(s instanceof js&&s.position?l=a.renderFlipTextElement(h,r,d,i.flip,i.flipMode,!0):(s instanceof Ws||s instanceof Fs||s instanceof js&&!s.position||s instanceof ks)&&(l=a.renderFlipElement(h,r,i.flip,!0)),(l=this.setElementTransform(s,a)||l)&&l.transform)for(var c=/(translate|scale|rotate)\(([^)]+)\)/g,p=void 0;null!==(p=c.exec(l.transform));){var g=p[1],u=p[2].split(",").map(function(t){return parseFloat(t.trim())});switch(g){case"translate":var f=u[0]||0,m=u[1]||0;e.translate(f,m);break;case"scale":var y=u[0]||1,v=u[1]||y;e.scale(y,v)}}}this.rotateContext(r,i.angle,n,o)},e.prototype.setElementTransform=function(t,e){for(var i=0,r=["_cancel_1_event","_cancel_0_event","_cancel_2_trigger","_success_0_event","_success_1_event","_success_2_trigger","_failure_0_event","_failure_1_event","_failure_2_trigger"];i<r.length;i++){var n=r[i];if(t.id.endsWith(n)){var o=e.transactionBounds,a=0,s=0,h=1,d=1,l=0,c=0;return 1!==t.flip&&3!==t.flip||(h=-1,l=-(a=o.center.x)),2!==t.flip&&3!==t.flip||(d=-1,c=-(s=o.center.y)),{transform:"translate("+a+","+s+") scale("+h+","+d+") translate("+l+","+c+")"}}}return null},e.prototype.loadImage=function(t,e,i,r,n){var o=new Image;o.src=e.source,this.image(t,o,e.x,e.y,e.width,e.height,e)},e.prototype.drawImage=function(t,i,r,n,o,a){var s=this;if(i.visible){var h=e.getContext(t);h.save();var d=i.x+i.width*i.pivotX,l=i.y+i.height*i.pivotY,c=new Image;c.src=i.source,this.setStyle(t,i);var p=h.canvas.id.split("_");p[p.length-1];this.applyFlipAndRotate(h,i,t,d,l,o,a),n?c.onload=function(){s.loadImage(h,i,t,d,l)}:this.loadImage(h,i,t,d,l),h.restore()}},e.prototype.image=function(t,e,i,r,n,o,a){t.beginPath();var s=e.width,h=e.height,d=n,l=o,c=0,p=0;if(a&&"None"!==a.alignment){var g=a.alignment.toLowerCase().substr(1,3),u=a.alignment.toLowerCase().substr(5,3);if("Slice"===a.scale){var f=function(){c=d,p=h*d/s},m=function(){c=s*l/h,p=l};d>l?(f(),l>p&&m()):d===l?s>h?m():f():(m(),d>c&&f());var y=this.getSliceOffset(g,c,d,s),v=this.getSliceOffset(u,p,l,h),b=s-y,S=h-v,w=c-y*(c/s),x=p-v*(p/h),I=Va("canvas",{width:n.toString(),height:o.toString()});I.getContext("2d").drawImage(e,y,v,b,S,0,0,w,x),t.drawImage(I,i,r,n,o)}else if("Meet"===a.scale){var C=h/s,P=l/d;c=P>C?d:l/C,p=P>C?d*C:l,i+=this.getMeetOffset(g,c,d),r+=this.getMeetOffset(u,p,l),t.drawImage(e,0,0,s,h,i,r,c,p)}else t.drawImage(e,i,r,n,o)}else t.drawImage(e,i,r,n,o);t.closePath()},e.prototype.getSliceOffset=function(t,e,i,r){switch(t){case"min":return 0;case"mid":return(e-i)/2*r/e;case"max":return(e-i)*r/e;default:return 0}},e.prototype.getMeetOffset=function(t,e,i){var r=Math.max(e,i),n=Math.min(e,i);switch(t){case"min":return 0;case"mid":return(r-n)/2;case"max":return r-n;default:return 0}},e.prototype.m=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2))},e.prototype.r=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(this.m(t)*this.m(e))},e.prototype.a=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(this.r(t,e))},e.prototype.labelAlign=function(t,e,i){var r=new ps(e.width,i.length*(1.2*t.fontSize)),n={x:0,y:0},o=t.x,a=t.y,s=.5*t.width,h=.5*t.height;return"left"===t.textAlign?s=0:"center"===t.textAlign?s=e.width>t.width&&("Ellipsis"===t.textOverflow||"Clip"===t.textOverflow)&&"NoWrap"===t.textWrapping?0:.5*t.width:"right"===t.textAlign&&(s=1*t.width),n.x=o+s+(e?e.x:0),n.y=a+h-r.height/2,n},e}(),ql=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Kl=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ql=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ql(i,t),Kl([e.Property("")],i.prototype,"source",void 0),Kl([e.Property("transparent")],i.prototype,"color",void 0),Kl([e.Property("None")],i.prototype,"scale",void 0),Kl([e.Property("None")],i.prototype,"align",void 0),i}(e.ChildProperty),Jl=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ql(i,t),Kl([e.Property("Page")],i.prototype,"mode",void 0),Kl([e.Property("PageSettings")],i.prototype,"region",void 0),Kl([e.Complex({top:25,bottom:25,left:25,right:25},Is)],i.prototype,"margin",void 0),Kl([e.Property(!1)],i.prototype,"canZoomIn",void 0),Kl([e.Property(void 0)],i.prototype,"customBounds",void 0),Kl([e.Property(!1)],i.prototype,"canFit",void 0),i}(e.ChildProperty),$l=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ql(i,t),Kl([e.Property(null)],i.prototype,"width",void 0),Kl([e.Property(null)],i.prototype,"height",void 0),Kl([e.Complex({},Is)],i.prototype,"margin",void 0),Kl([e.Property("Landscape")],i.prototype,"orientation",void 0),Kl([e.Property("Infinity")],i.prototype,"boundaryConstraints",void 0),Kl([e.Complex({},Ql)],i.prototype,"background",void 0),Kl([e.Property(!1)],i.prototype,"multiplePage",void 0),Kl([e.Property(!1)],i.prototype,"showPageBreaks",void 0),Kl([e.Complex({},Jl)],i.prototype,"fitOptions",void 0),i}(e.ChildProperty),tc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ql(i,t),Kl([e.Property(0)],i.prototype,"horizontalOffset",void 0),Kl([e.Property(0)],i.prototype,"verticalOffset",void 0),Kl([e.Property(1)],i.prototype,"currentZoom",void 0),Kl([e.Property(0)],i.prototype,"viewPortWidth",void 0),Kl([e.Property(0)],i.prototype,"viewPortHeight",void 0),Kl([e.Property(.2)],i.prototype,"minZoom",void 0),Kl([e.Property(30)],i.prototype,"maxZoom",void 0),Kl([e.Property("Diagram")],i.prototype,"scrollLimit",void 0),Kl([e.Property()],i.prototype,"scrollableArea",void 0),Kl([e.Property(!1)],i.prototype,"canAutoScroll",void 0),Kl([e.Property(100)],i.prototype,"autoScrollFrequency",void 0),Kl([e.Complex({left:15,right:15,top:15,bottom:15},Is)],i.prototype,"autoScrollBorder",void 0),Kl([e.Complex({left:0,right:0,top:0,bottom:0},Is)],i.prototype,"padding",void 0),Kl([e.Property(.2)],i.prototype,"zoomFactor",void 0),i}(e.ChildProperty),ec=function(){function t(){this.services={}}return t.prototype.register=function(t,e){this.services[""+t]=e},t.prototype.getService=function(t){return this.services[""+t]},t}(),ic=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),rc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},nc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ic(i,t),rc([e.Property("lightgray")],i.prototype,"lineColor",void 0),rc([e.Property("")],i.prototype,"lineDashArray",void 0),rc([e.Property([1.25,18.75,.25,19.75,.25,19.75,.25,19.75,.25,19.75])],i.prototype,"lineIntervals",void 0),rc([e.Property([1,19,.5,19.5,.5,19.5,.5,19.5,.5,19.5])],i.prototype,"dotIntervals",void 0),rc([e.Property([20])],i.prototype,"snapIntervals",void 0),i}(e.ChildProperty),oc=function(i){function r(){return null!==i&&i.apply(this,arguments)||this}return ic(r,i),rc([e.Complex({},nc)],r.prototype,"horizontalGridlines",void 0),rc([e.Complex({},nc)],r.prototype,"verticalGridlines",void 0),rc([e.Property(t.SnapConstraints.All)],r.prototype,"constraints",void 0),rc([e.Property(5)],r.prototype,"snapAngle",void 0),rc([e.Property("Lines")],r.prototype,"gridType",void 0),rc([e.Property(5)],r.prototype,"snapObjectDistance",void 0),rc([e.Property("#07EDE1")],r.prototype,"snapLineColor",void 0),r}(e.ChildProperty),ac=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),sc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},hc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ac(i,t),sc([e.Property(5)],i.prototype,"interval",void 0),sc([e.Property(100)],i.prototype,"segmentWidth",void 0),sc([e.Property("Horizontal")],i.prototype,"orientation",void 0),sc([e.Property("RightOrBottom")],i.prototype,"tickAlignment",void 0),sc([e.Property("red")],i.prototype,"markerColor",void 0),sc([e.Property(25)],i.prototype,"thickness",void 0),sc([e.Property(null)],i.prototype,"arrangeTick",void 0),i}(e.ChildProperty),dc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ac(i,t),sc([e.Property(!1)],i.prototype,"showRulers",void 0),sc([e.Property(!0)],i.prototype,"dynamicGrid",void 0),sc([e.Complex({orientation:"Horizontal"},hc)],i.prototype,"horizontalRuler",void 0),sc([e.Complex({orientation:"Vertical"},hc)],i.prototype,"verticalRuler",void 0),i}(e.ChildProperty),lc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),cc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},pc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return lc(i,t),cc([e.Property("")],i.prototype,"property",void 0),cc([e.Property("")],i.prototype,"field",void 0),i}(e.ChildProperty),gc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),uc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},fc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gc(i,t),uc([e.Property("")],i.prototype,"read",void 0),uc([e.Property("")],i.prototype,"create",void 0),uc([e.Property("")],i.prototype,"update",void 0),uc([e.Property("")],i.prototype,"destroy",void 0),uc([e.Property()],i.prototype,"customFields",void 0),i}(e.ChildProperty),mc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gc(i,t),uc([e.Property("")],i.prototype,"id",void 0),uc([e.Property("")],i.prototype,"sourceID",void 0),uc([e.Property("")],i.prototype,"targetID",void 0),uc([e.Property(null)],i.prototype,"sourcePointX",void 0),uc([e.Property(null)],i.prototype,"sourcePointY",void 0),uc([e.Property(null)],i.prototype,"targetPointX",void 0),uc([e.Property(null)],i.prototype,"targetPointY",void 0),uc([e.Property(null)],i.prototype,"dataManager",void 0),uc([e.Complex({},fc)],i.prototype,"crudAction",void 0),i}(e.ChildProperty),yc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return gc(i,t),uc([e.Property("")],i.prototype,"id",void 0),uc([e.Property(null)],i.prototype,"dataManager",void 0),uc([e.Property(null)],i.prototype,"dataSource",void 0),uc([e.Property("")],i.prototype,"root",void 0),uc([e.Property("")],i.prototype,"parentId",void 0),uc([e.Property()],i.prototype,"doBinding",void 0),uc([e.Collection([],pc)],i.prototype,"dataMapSettings",void 0),uc([e.Complex({},fc)],i.prototype,"crudAction",void 0),uc([e.Complex({},mc)],i.prototype,"connectionDataSource",void 0),i}(e.ChildProperty),vc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),bc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Sc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return vc(i,t),bc([e.Property("LeftInFlow")],i.prototype,"yesBranchDirection",void 0),bc([e.Property("RightInFlow")],i.prototype,"noBranchDirection",void 0),bc([e.Property(["Yes","True"])],i.prototype,"yesBranchValues",void 0),bc([e.Property(["No","False"])],i.prototype,"noBranchValues",void 0),i}(e.ChildProperty),wc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return vc(i,t),bc([e.Property("")],i.prototype,"fixedNode",void 0),bc([e.Property(30)],i.prototype,"horizontalSpacing",void 0),bc([e.Property("SamePoint")],i.prototype,"connectionPointOrigin",void 0),bc([e.Property("Nonlinear")],i.prototype,"arrangement",void 0),bc([e.Property(30)],i.prototype,"verticalSpacing",void 0),bc([e.Property(30)],i.prototype,"maxIteration",void 0),bc([e.Property(40)],i.prototype,"springFactor",void 0),bc([e.Property(50)],i.prototype,"springLength",void 0),bc([e.Complex({left:50,top:50,right:0,bottom:0},Is)],i.prototype,"margin",void 0),bc([e.Property("Auto")],i.prototype,"horizontalAlignment",void 0),bc([e.Property("Auto")],i.prototype,"verticalAlignment",void 0),bc([e.Property("TopToBottom")],i.prototype,"orientation",void 0),bc([e.Property("Auto")],i.prototype,"connectionDirection",void 0),bc([e.Property("Default")],i.prototype,"connectorSegments",void 0),bc([e.Property("None")],i.prototype,"type",void 0),bc([e.Property()],i.prototype,"getLayoutInfo",void 0),bc([e.Property()],i.prototype,"layoutInfo",void 0),bc([e.Property()],i.prototype,"getBranch",void 0),bc([e.Property()],i.prototype,"bounds",void 0),bc([e.Property(!0)],i.prototype,"enableAnimation",void 0),bc([e.Property(!1)],i.prototype,"enableRouting",void 0),bc([e.Property("")],i.prototype,"root",void 0),bc([e.Complex({},Sc)],i.prototype,"flowchartLayoutSettings",void 0),i}(e.ChildProperty),xc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Ic=function(i){function r(t,e){var r=i.call(this,t,!0)||this;return r.oldValue=null,r.endPoint=e,r}return xc(r,i),r.prototype.mouseDown=function(e){var r,n=!0;if(e.source&&e.source.connectors&&(r=e.source.connectors[0]),e.info&&e.actualObject&&(n=e.info.ctrlKey&&"Orthogonal"!==e.actualObject.type),r&&n){this.inAction=!0,this.undoElement=k(e.source),i.prototype.mouseDown.call(this,e);var o=r.constraints&t.ConnectorConstraints.InheritSegmentThumbSize?this.commandHandler.diagram.segmentThumbSize:r.segmentThumbSize,a=o>20&&"Straight"!==r.type?o/2:10;a/=this.commandHandler.diagram.scrollSettings.currentZoom;for(var s=0;s<r.segments.length;s++){var h=r.segments[parseInt(s.toString(),10)];if("OrthoThumb"===this.endPoint)for(var d=0;d<h.points.length-1;d++){var l={x:0,y:0};l.x=(h.points[parseInt(d.toString(),10)].x+h.points[d+1].x)/2,l.y=(h.points[parseInt(d.toString(),10)].y+h.points[d+1].y)/2,Mr(this.currentPosition,l,a)&&(this.selectedSegment=h,this.segmentIndex=d)}else Mr(this.currentPosition,h.point,a)&&(this.selectedSegment=h)}}},r.prototype.mouseMove=function(r){if(i.prototype.mouseMove.call(this,r),this.currentPosition=r.position,this.currentPosition&&this.prevPosition){var n=this.currentPosition.y-this.prevPosition.y,o=this.currentPosition.x-this.prevPosition.x;this.currentPosition=this.commandHandler.snapConnectorEnd(this.currentPosition);var a=void 0,s=void 0,h=!1;r.source&&r.source.connectors&&(a=r.source.connectors[0]),fs.equals(this.startPosition,this.prevPosition)&&(h=!0),null===this.oldValue&&(this.oldValue=k(this.selectedSegment));var d={source:a,state:"Start",oldValue:this.oldValue,newValue:this.oldValue,segment:this.selectedSegment,cancel:!1};if(d={source:Do(a),state:"Start",oldValue:Do(this.oldValue),newValue:Do(this.oldValue),segment:Do(this.selectedSegment),cancel:!1},h&&!e.isBlazor()&&this.commandHandler.triggerEvent(t.DiagramEvent.segmentChange,d),d.cancel&&this.commandHandler.diagram.resetTool(),this.inAction&&void 0!==this.selectedSegment&&void 0!==this.endPoint&&(0!==o||0!==n)&&!d.cancel){if("OrthoThumb"===this.endPoint)this.blocked=!this.dragOrthogonalSegment(a,this.selectedSegment,this.currentPosition,this.segmentIndex),null===this.oldValue.length&&null===this.oldValue.direction&&(this.oldValue=k(this.selectedSegment)),s=k(this.selectedSegment);else{var l=this.currentPosition.x-this.selectedSegment.point.x,c=this.currentPosition.y-this.selectedSegment.point.y,p=a.segments.indexOf(this.selectedSegment);this.blocked=!this.commandHandler.dragControlPoint(a,l,c,!1,p),s=k(this.selectedSegment)}this.commandHandler.updateSelector(),this.currentPosition=r.position;var g={source:Do(a),state:"Progress",oldValue:Do(this.oldValue),newValue:Do(s),segment:Do(this.selectedSegment),cancel:!1};this.commandHandler.triggerEvent(t.DiagramEvent.segmentChange,g)}}return this.prevPosition=this.currentPosition,!this.blocked},r.prototype.mouseUp=function(e){var r,n;if(e.source&&e.source.connectors&&(n={segments:(r=e.source.connectors[0]).segments}),e&&e.source&&e.info&&e.info.ctrlKey&&e.info.shiftKey&&"Straight"===r.type)this.addOrRemoveSegment(r,this.currentPosition);else if("OrthoThumb"===this.endPoint&&this.selectedSegment){var o=r.segments.indexOf(this.selectedSegment),a=r.segments[o-1],s=r.segments[o+1];if(o===r.segments.length-2&&this.updateLastSegment(r,this.selectedSegment))r.segments.splice(r.segments.length-2,1);else if(a&&Math.abs(a.length)<5&&a.length>0)1!==o&&this.removePrevSegment(r,o);else if(s){var h=fs.distancePoints(s.points[0],s.points[1]),d=s.length||0===s.length?s.length:h;Math.abs(d)<=5&&this.removeNextSegment(r,o)}this.commandHandler.updateEndPoint(r,n),r.selectedSegmentIndex=0}if(this.undoElement){var l={type:"SegmentChanged",redoObject:k(e.source),undoObject:this.undoElement,category:"Internal"};this.commandHandler.addHistoryEntry(l)}if(r.isBezierEditing&&(r.isBezierEditing=!1),this.prevPosition!==this.startPosition){var c={source:Do(r),state:"Completed",oldValue:Do(this.oldValue),newValue:k(this.selectedSegment),cancel:!1,segment:Do(this.selectedSegment)};this.commandHandler.triggerEvent(t.DiagramEvent.segmentChange,c)}i.prototype.mouseUp.call(this,e)},r.prototype.removePrevSegment=function(e,i){var r=e.segments[i-2],n=e.segments[i+1];if(n&&!((n.length||0===n.length?n.length:fs.distancePoints(n.points[0],n.points[1]))<=5)){var o={element:e,removeSegments:e.segments.slice(i-1,i+1),type:"Removal",cancel:!1};if(this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,o),!o.cancel){var a=e.segments[i+1];e.segments.splice(i-1,2);var s=this.selectedSegment;"Left"===s.direction||"Right"===s.direction?(r.points[r.points.length-1].x=a.points[0].x,a.points[0].y=r.points[r.points.length-1].y):(r.points[r.points.length-1].y=a.points[0].y,a.points[0].x=r.points[r.points.length-1].x),(s.length||0===s.length)&&this.findSegmentDirection(r),this.findSegmentDirection(a)}}},r.prototype.findSegmentDirection=function(t){t.direction&&(t.length||0===t.length)&&(t.length=fs.distancePoints(t.points[0],t.points[t.points.length-1]),t.direction=fs.direction(t.points[0],t.points[t.points.length-1]))},r.prototype.removeNextSegment=function(e,i){var r,n,o=this.selectedSegment,a=e.segments[i-1],s=e.segments[i+2],h=e.segments[i+1];if(h.length||0===h.length?(n={element:e,removeSegments:r=e.segments.slice(i,2),type:"Removal",cancel:!1},n={element:Do(e),removeSegments:Do(r),type:"Removal",cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,n),n.cancel||(e.segments.splice(i,2),"Top"===o.direction||"Bottom"===o.direction?(s.points[0].y=o.points[0].y,a.points[a.points.length-1].x=s.points[0].x):(s.points[0].x=o.points[0].x,a.points[a.points.length-1].y=s.points[0].y))):(n={element:e,removeSegments:r=e.segments.slice(i+1,1),type:"Removal",cancel:!1},this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,n),n.cancel||(e.segments.splice(i+1,1),"Top"===o.direction||"Bottom"===o.direction?a.points[a.points.length-1].x=h.points[h.points.length-1].x:a.points[a.points.length-1].y=h.points[h.points.length-1].y,this.findSegmentDirection(a),o.length=o.direction=null)),a&&s&&!n.cancel&&(a.length=fs.distancePoints(a.points[0],s.points[0]),a.direction=fs.direction(a.points[0],s.points[0]),s.length||0===s.length)){s.length=fs.distancePoints(a.points[a.points.length-1],s.points[s.points.length-1]);var d=a.points,l=s.points;s.direction=fs.direction(d[d.length-1],l[l.length-1])}},r.prototype.addOrRemoveSegment=function(e,i,r){for(var n,o,a=[],s={segments:e.segments},h=0;h<e.segments.length;h++)if(Mr(i,(d=e.segments[parseInt(h.toString(),10)]).point,e.hitPadding)){o=h,n=!0,a.push(d);g={element:e,removeSegments:a,type:"Removal",cancel:!1};r&&r.triggerEvent(t.DiagramEvent.segmentCollectionChange,g)}if(this.commandHandler||(this.commandHandler=r),n&&void 0!==o){if(e.segments&&e.segments[parseInt(o.toString(),10)]&&"Straight"===e.segments[parseInt(o.toString(),10)].type){var d=e.segments[parseInt(o.toString(),10)],l=e.segments[o+1];l&&(e.segments.splice(o,1),l.points[0]=d.points[0])}}else{this.commandHandler.enableServerDataBinding(!1);var c=this.findIndex(e,i);if(e.segments&&e.segments[parseInt(c.toString(),10)]&&"Straight"===e.segments[parseInt(c.toString(),10)].type){var d=e.segments[parseInt(c.toString(),10)],p=new ud(e,"segments",{type:"Straight",point:i},!0);p.points[0]=d.points[0],p.points[1]=i,d.points[0]=i,e.segments.splice(c,0,p),n=!0,a.push(d);var g={element:e,addSegments:a,type:"Addition",cancel:!1};this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,g)}this.commandHandler.enableServerDataBinding(!0)}n&&this.commandHandler.updateEndPoint(e,s)},r.prototype.findIndex=function(t,e){for(var i=[],r=0;r<t.segments.length;r++){var n=t.segments[parseInt(r.toString(),10)],o=ms.toBounds([n.points[0],n.points[1]]);o.Inflate(t.hitPadding),o.containsPoint(e)&&i.push(n)}if(1===i.length)return t.segments.indexOf(i[0]);for(var a=void 0,s=void 0,h=void 0,d=void 0,l=void 0,c=void 0,r=0;r<i.length;r++)d=i[parseInt(r.toString(),10)],l=(e.y-d.points[0].y)/(d.points[1].y-e.y),c=(e.x-d.points[0].x)/(d.points[1].x-e.x),a=Math.abs(l-c),0===r&&(s=a,h=0),a<s&&(s=a,h=r);return t.segments.indexOf(i[parseInt(h.toString(),10)])},r.prototype.dragOrthogonalSegment=function(t,e,i,r){var n={x:0,y:0},o={segments:t.segments};n.x=(e.points[parseInt(r.toString(),10)].x+e.points[r+1].x)/2,n.y=(e.points[parseInt(r.toString(),10)].y+e.points[r+1].y)/2;var a=i.y-n.y,s=i.x-n.x,h=t.segments.indexOf(e),d=!1;return t.allowNodeOverlap&&(t.selectedSegmentIndex=h||r),-1!==h&&(0===h&&1===t.segments.length&&2===e.points.length?(h=this.addSegments(t,e,s,a,h),d=!0):h!==t.segments.length-1||null!==e.direction&&null!==e.length?0===h&&(h=this.insertFirstSegment(t,e,s,a,h),d=!0):(h=this.addTerminalSegment(t,e,s,a,r),d=!0),h&&(d&&(this.selectedSegment=e=t.segments[parseInt(h.toString(),10)],this.segmentIndex=0),this.updateAdjacentSegments(t,h,s,a),this.commandHandler.updateEndPoint(t,o))),!0},r.prototype.addSegments=function(e,i,r,n,o){var a,s=[],h=fs.distancePoints(i.points[0],i.points[1]),d=fs.direction(i.points[0],i.points[1]);s.push(new md(e,"segments",{type:"Orthogonal",direction:d,length:h/4},!0));var l=i.points[0].y===i.points[1].y?n>0?"Bottom":"Top":r>0?"Right":"Left",c=i.points[0].x===i.points[1].x?n:r;s.push(new md(e,"segments",{type:"Orthogonal",direction:l,length:c},!0)),s.push(new md(e,"segments",{type:"Orthogonal",direction:d,length:h/2},!0));var p={element:e,addSegments:s,type:"Addition",cancel:!1};return this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,p),p.cancel||(e.segments=s.concat(e.segments),a=o+2),a},r.prototype.insertFirstSegment=function(e,i,r,n,o){var a,s,h,d,l,c=[];if(e.sourcePortID&&i.length&&e.segments[0].points.length>2)for(var p=void 0,g=0;g<i.points.length-1;g++){var u=fs.distancePoints(i.points[parseInt(g.toString(),10)],i.points[g+1]),f=fs.direction(i.points[parseInt(g.toString(),10)],i.points[g+1]);0===(l=new md(e,"segments",{type:"Orthogonal",direction:f,length:u},!0)).length&&(!p||"Top"!==p.direction&&"Bottom"!==p.direction?l.direction=n>0?"Bottom":"Top":l.direction=r>0?"Right":"Left"),p=l,c.push(l)}else h={type:"Orthogonal",direction:i.direction,length:i.length/3},c.push(new md(e,"segments",h,!0)),"Bottom"===i.direction||"Top"===i.direction?(s=Math.abs(r),a=r>0?"Right":"Left"):(s=Math.abs(n),a=n>0?"Bottom":"Top"),l=new md(e,"segments",{type:"Orthogonal",direction:a,length:s},!0),c.push(l);var m={element:e,addSegments:c,type:"Addition",cancel:!1};if(this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,m),!m.cancel){if(e.sourcePortID&&i.length&&e.segments[0].points.length>2)e.segments.splice(0,1),d=1;else{var y=e.segments[1];y&&y.length&&(y.length=a!==y.direction?y.length+s:y.length-s),d=2,i.length=2*i.length/3}e.segments=c.concat(e.segments)}return d},r.prototype.updateAdjacentSegments=function(t,e,i,r){var n=t.segments[parseInt(e.toString(),10)],o=n.points[n.points.length-1],a=n.points[0],s=!0;if("Orthogonal"===n.type&&(n.points[0]=a,n.points[n.points.length-1]=o,t.segments[e-1]&&(s=this.updatePreviousSegment(i,r,t,e)),t.segments.length-1>e&&s)){var h=t.segments[e+1];this.updateNextSegment(t,n,h,i,r)}},r.prototype.addTerminalSegment=function(e,i,r,n,o){var a,s,h,d,l=e.segments.indexOf(i),c=[],p=e.segments.pop(),g=e.segments[e.segments.length-1];a=g&&"Orthogonal"===g.type?g:null;for(var u=0;u<i.points.length-2;u++)h=fs.distancePoints(i.points[parseInt(u.toString(),10)],i.points[u+1]),d=fs.direction(i.points[parseInt(u.toString(),10)],i.points[u+1]),s=new md(e,"segments",{type:"Orthogonal",length:h,direction:d},!0),c.push(s),a=s;var f=o;if((2===i.points.length||f===i.points.length-2)&&(a&&(a.length+=5),void 0!==f)){h=2*fs.distancePoints(i.points[i.points.length-2],i.points[i.points.length-1])/3,d=fs.direction(i.points[i.points.length-2],i.points[i.points.length-1]);var m=new md(e,"segments",{type:"Orthogonal",length:h,direction:d});c.push(m)}var y=new md(e,"segments",{type:"Orthogonal"},!0);c.push(y);var v={element:e,addSegments:c,type:"Addition",cancel:!1},b={element:Do(e),addSegments:Do(c),type:"Addition",cancel:v.cancel};return this.commandHandler.triggerEvent(t.DiagramEvent.segmentCollectionChange,b),b.cancel?e.segments.push(p):(e.segments=e.segments.concat(c),l+=o),this.commandHandler.updateEndPoint(e),l},r.prototype.updatePortSegment=function(t,e,i,r,n){if(1===i&&2===t.points.length&&t.length<0){var o=e.sourceWrapper.corners,a=e.segments[parseInt(i.toString(),10)],s=e.segments[i+1],h=void 0,d=[];h=new md(e,"segments",{type:"Orthogonal",length:13,direction:t.direction}),d.push(h);var l=void 0;l="Left"===a.direction?a.points[0].x-(o.middleLeft.x-20):"Right"===a.direction?o.middleRight.x+20-a.points[0].x:"Bottom"===a.direction?o.bottomCenter.y+20-a.points[0].y:a.points[0].y-(o.topCenter.y-20),h=new md(e,"segments",{type:"Orthogonal",length:l,direction:a.direction}),d.push(h),a.length=a.length-l,s&&s.length&&s.direction&&(s.direction===t.direction?s.length-=13:s.direction===xe(t.direction)&&(s.length+=13)),e.segments=d.concat(e.segments),this.selectedSegment=e.segments[3]}},r.prototype.updatePreviousSegment=function(t,e,i,r){var n=i.segments[parseInt(r.toString(),10)],o=i.segments[r-1];o.points[o.points.length-1]=n.points[0];var a=!i.sourceID||""!==i.sourcePortID,s=!0;return"Orthogonal"===o.type&&("Bottom"===o.direction?o.length+=e:"Top"===o.direction?o.length-=e:"Right"===o.direction?o.length+=t:o.length-=t,""!==i.sourcePortID&&o.length<0&&!i.allowNodeOverlap?this.updatePortSegment(o,i,r,t,e):i.sourceID&&""===i.sourcePortID&&o.length<0&&1===r&&(s=!1,this.updateFirstSegment(i,n)),a&&this.changeSegmentDirection(o,i)),s},r.prototype.changeSegmentDirection=function(t,e){e.maxSegmentThumb||t.length<0&&(t.direction=xe(t.direction),t.length*=-1)},r.prototype.updateNextSegment=function(t,e,i,r,n){i.points[0]=e.points[e.points.length-1],i&&"Orthogonal"===i.type&&(i.length||0===i.length)&&("Left"===i.direction||"Right"===i.direction?0!==r&&(i.length="Right"===i.direction?i.length-r:i.length+r,(i.length||0===i.length)&&this.changeSegmentDirection(i,t)):0!==n&&(i.length="Bottom"===i.direction?i.length-n:i.length+n,(i.length||0===i.length)&&this.changeSegmentDirection(i,t)))},r.prototype.updateFirstSegment=function(t,e){var i,r=t.segments.indexOf(e),n=!1,o=t.segments[parseInt(r.toString(),10)],a=t.segments[r-1],s={segments:t.segments};if(a.length<0&&t.sourceID){var h=t.sourceWrapper.corners,d=[],l=void 0,c=!1;this.changeSegmentDirection(o,t);var p=t.segments[r+1],g=t.segments[r+2];switch(p&&this.changeSegmentDirection(p,t),g&&this.changeSegmentDirection(g,t),a.direction){case"Top":case"Bottom":i=o.length>0&&"Left"===o.direction?h.middleLeft:h.middleRight,o.length>h.width/2?Math.abs(a.length)<h.height/2&&(a.length=fs.distancePoints(h.center,a.points[a.points.length-1]),o.points[0].x=i.x,o.length=fs.distancePoints(o.points[0],o.points[o.points.length-1]),o.length-=20,n=!0):(p&&p.direction&&p.length&&(p.points[0].y=i.y,p.points[0].x=p.points[p.points.length-1].x="Right"===o.direction?i.x+20:i.x-20),n=!0,c=!0);break;case"Left":case"Right":i=o.length>0&&"Top"===o.direction?h.topCenter:h.bottomCenter,o.length>h.height/2?Math.abs(a.length)<h.width/2&&(a.length=fs.distancePoints(h.center,a.points[a.points.length-1]),o.points[0].y=i.y,o.length=fs.distancePoints(o.points[0],o.points[o.points.length-1]),o.length-=20,n=!0):(p&&p.direction&&p.length&&(p.points[0].x=i.x,p.points[0].y=p.points[p.points.length-1].y="Bottom"===o.direction?i.y+20:i.y-20),n=!0,c=!0)}this.changeSegmentDirection(a,t),this.changeSegmentDirection(o,t),n&&(l={type:"Orthogonal",direction:o.direction,length:20},d.push(new md(t,"segments",l,!0)),c&&(p&&p.direction&&p.length&&(p.length=fs.distancePoints(p.points[0],p.points[p.points.length-1])),g&&g.direction&&g.length&&(g.length=fs.distancePoints(p.points[p.points.length-1],g.points[g.points.length-1])),t.segments.splice(r-1,2)),t.segments=d.concat(t.segments)),this.selectedSegment=c?t.segments[r-1]:t.segments[r+1],this.commandHandler.updateEndPoint(t,s)}},r.prototype.updateLastSegment=function(t,e){if(t.targetID&&""===t.targetPortID){var i=void 0,r=void 0,n=void 0,o=void 0,a=t.targetWrapper.corners,s=e.points[0],h=e.points[e.points.length-1];return"Right"===e.direction||"Left"===e.direction?(i={x:s.x,y:s.y},r={x:"Left"===e.direction?h.x-a.width/2:h.x+a.width/2,y:h.y},n={x:a.center.x,y:a.center.y-a.height},o={x:a.center.x,y:a.center.y+a.height}):(i={x:s.x,y:s.y},r={x:h.x,y:"Bottom"===e.direction?h.y+a.height/2:h.y-a.height/2},n={x:a.center.x-a.width,y:a.center.y},o={x:a.center.x+a.width,y:a.center.y}),fn({x1:i.x,y1:i.y,x2:r.x,y2:r.y},{x1:n.x,y1:n.y,x2:o.x,y2:o.y}).enabled}return!1},r.prototype.destroy=function(){},r.prototype.getModuleName=function(){return"ConnectorEditingTool"},r}(jh),Cc=function(){function i(t,e){this.currentAction="None",this.previousAction="None",this.previousTarget=null,this.touchArgs=void 0,this.focus=!1,this.isBlocked=!1,this.isMouseDown=!1,this.inAction=!1,this.doingAutoScroll=!1,this.diagram=null,this.objectFinder=null,this.tool=null,this.eventArgs=null,this.previousElement=null,this.isKeyUp=!0,this.keyCount=0,this.isNudgeKey=!1,this.commandObj={},this.keyArgs={},this.diagram=t,this.objectFinder=new Pc,this.commandHandler=e}return Object.defineProperty(i.prototype,"action",{get:function(){return this.currentAction},set:function(e){e!==this.currentAction&&("PortDraw"===this.currentAction&&(this.diagram.tool&=~t.DiagramTools.DrawOnce,this.diagram.currentDrawingObject&&(this.diagram.currentDrawingObject=null),this.tool&&(this.tool.drawingObject&&(this.tool.drawingObject=null),this.tool.mouseUp({position:this.currentPosition})),this.tool=null),"Rotate"===e||"LabelRotate"===e?this.diagram.diagramCanvas.classList.add("e-diagram-rotate"):"Rotate"!==this.currentAction&&"LabelRotate"!==this.currentAction||this.diagram.diagramCanvas.classList.remove("e-diagram-rotate"),this.currentAction=e,"None"===this.currentAction||"Select"===this.currentAction||this.diagram.diagramActions&t.DiagramAction.TextEdit||this.currentPosition&&this.commandHandler.isUserHandle(this.currentPosition)||"FixedUserHandle"===this.currentAction?this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.ToolAction:this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.ToolAction,this.diagram.setCursor(this.diagram.getCursor(e,this.inAction)))},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"blocked",{get:function(){return this.isBlocked},set:function(t){this.isBlocked=t,this.blocked?this.diagram.setCursor("not-allowed"):this.diagram.setCursor(this.diagram.getCursor(this.action,this.inAction))},enumerable:!0,configurable:!0}),i.prototype.getMousePosition=function(t){var e,i,r;-1!==t.type.indexOf("touch")?(i=(e=t).changedTouches[0].clientX,r=e.changedTouches[0].clientY):(i=t.clientX,r=t.clientY),i=this.diagram.modifyClientOffset(i),r=this.diagram.modifyClientOffset(r);var n=new ps;n=Vr(this.diagram);var o=this.diagram.element.getBoundingClientRect();return this.diagram.modifyBounds(o),i=i+this.diagram.diagramCanvas.scrollLeft-o.left-n.width,r=r+this.diagram.diagramCanvas.scrollTop-o.top-n.height,i/=this.diagram.scroller.transform.scale,r/=this.diagram.scroller.transform.scale,i-=this.diagram.scroller.transform.tx,r-=this.diagram.scroller.transform.ty,{x:i,y:r}},i.prototype.windowResize=function(t){var e=this;return this.resizeTo&&clearTimeout(this.resizeTo),this.resizeTo=setTimeout(function(){e.updateViewPortSize(e.diagram.element)},300),!1},i.prototype.updateViewPortSize=function(t){var e=document.getElementById(t.id);if(e){var i=e.getBoundingClientRect();this.diagram.modifyBounds(i),this.diagram.scroller.setViewPortSize(i.width,i.height);var r=new ps;r=Vr(this.diagram);var n=this.diagram.getSizeValue(this.diagram.width,r.width),o=this.diagram.getSizeValue(this.diagram.height,r.height);if(this.diagram.diagramCanvas.style.width=n,this.diagram.diagramCanvas.style.height=o,this.diagram.scroller.setSize(),this.diagram.transformLayers(),this.diagram.rulerSettings.showRulers&&Fr(this.diagram),this.diagram.views.length>1)for(var a=0,s=this.diagram.views;a<s.length;a++){var h=s[a],d=this.diagram.views[""+h];d instanceof Wd&&d.onPropertyChanged({sourceID:d.sourceID},{})}}},i.prototype.canHideResizers=function(){return(this.tool instanceof Fh||this.tool instanceof Yh)&&this.isMouseDown},i.prototype.updateCursor=function(){if(1===this.diagram.selectedItems.nodes.length||1===this.diagram.selectedItems.connectors.length){var t=[];t=t.concat(this.diagram.selectedItems.nodes,this.diagram.selectedItems.connectors),this.blocked=!(this.eventArgs&&this.eventArgs.source&&!Ce(this.eventArgs.source))&&(this.isMouseDown&&1===t.length&&this.tool instanceof Hh&&!Ce(t[0]))}},i.prototype.isForeignObject=function(t,e){var i=t;if(i&&"img"!==i.tagName.toLowerCase())for(;null!==i.parentNode;){if("string"==typeof i.className&&(!e&&-1!==i.className.indexOf("foreign-object")||e&&-1!==i.className.indexOf("e-diagram-text-edit")))return i;i=i.parentNode}return null},i.prototype.isMetaKey=function(t){return"mousewheel"===t.type?t.ctrlKey:navigator.platform.match("Mac")?t.metaKey:t.ctrlKey},i.prototype.renderUmlHighLighter=function(t){this.diagram.commandHandler.removeStackHighlighter();var e=this.diagram.selectedItems.nodes[0];if(e&&e.container&&"Stack"===e.container.type&&"UmlClassifier"===e.shape.type&&!e.wrapper.bounds.containsPoint(this.currentPosition)){var i=this.diagram.findObjectsUnderMouse({x:this.currentPosition.x-20,y:this.currentPosition.y}),r=this.diagram.findObjectUnderMouse(i,this.action,this.inAction);if(r&&r.parentId&&r.parentId===e.id){var n="Vertical"===this.diagram.nameTable[r.parentId].container.orientation;xr(r.wrapper,n,t.position,this.diagram,!0)}}},i.prototype.isDeleteKey=function(t,e){return navigator.platform.match("Mac")&&"Backspace"===t&&"delete"===e},i.prototype.isMouseOnScrollBar=function(t){var e,i,r,n,o,a=t.offsetX,s=t.offsetY,h=this.diagram.diagramCanvas,d=h.offsetHeight,l=h.offsetWidth;return!!(d<h.scrollHeight&&(e={x:l-17,y:0},i={x:l,y:0},r={x:l-17,y:d},n={x:l,y:d},o=ms.toBounds([e,i,r,n]),0!==this.diagram.scroller.verticalOffset&&(o.x=o.x-this.diagram.scroller.horizontalOffset,o.y=o.y-this.diagram.scroller.verticalOffset),o.containsPoint({x:a,y:s})))||!!(l<h.scrollWidth&&(e={x:0,y:d-17},i={x:l,y:d-17},r={x:0,y:d},n={x:l,y:d},o=ms.toBounds([e,i,r,n]),0!==this.diagram.scroller.horizontalOffset&&(o.x=o.x-this.diagram.scroller.horizontalOffset,o.y=o.y-this.diagram.scroller.verticalOffset),o.containsPoint({x:a,y:s})))},i.prototype.updateVirtualization=function(){var t=this,e=setInterval(function(i){t.diagram.removeVirtualObjects(e)},50);setTimeout(function(){t.diagram.deleteVirtualObject=!0},50)},i.prototype.checkPreviousAction=function(){if(this.action!==this.previousAction&&this.diagram.selectedItems.userHandles.length)for(var e=0;e<this.diagram.selectedItems.userHandles.length;e++)this.previousAction&&this.diagram.selectedItems.userHandles[parseInt(e.toString(),10)]&&(this.checkUserHandleEvent(t.DiagramEvent.onUserHandleMouseLeave),this.previousAction="None");this.action!==this.previousAction&&(this.checkFixedUserHandleEvent(t.DiagramEvent.onFixedUserHandleMouseLeave,this.targetItem,this.previousTarget),this.previousTarget=null,this.targetItem=null)},i.prototype.checkUserHandleEvent=function(e){if(this.diagram.selectedItems&&this.diagram.selectedItems.userHandles.length>0)for(var i=e===t.DiagramEvent.onUserHandleMouseLeave?this.previousAction:this.action,r={element:void 0},n=0;n<this.diagram.selectedItems.userHandles.length;n++)(i===this.diagram.selectedItems.userHandles[parseInt(n.toString(),10)].name||e===t.DiagramEvent.onUserHandleMouseUp&&"Select"===i)&&(r.element=this.diagram.selectedItems.userHandles[parseInt(n.toString(),10)],this.userHandle(e,n,r,null))},i.prototype.userHandle=function(e,i,r,n){if(e===t.DiagramEvent.onUserHandleMouseEnter||e===t.DiagramEvent.onFixedUserHandleMouseEnter){if(this.previousAction=this.action,r.element.tooltip&&"Auto"===r.element.tooltip.openOn&&""!==r.element.tooltip.content){$(this.diagram,r.element);var o=void 0;r.element.pathData?e===t.DiagramEvent.onUserHandleMouseEnter?o=document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_userhandle"):e===t.DiagramEvent.onFixedUserHandleMouseEnter&&(o=document.getElementById(n.id+"_"+n.fixedUserHandles[parseInt(i.toString(),10)].id+"_groupElement")):o=r.element.source?document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_image"):r.element.content?document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_shape_native_element"):document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_shape_html_element"),"Auto"===r.element.tooltip.openOn&&r.element!==this.isUserHandleHover&&(this.isUserHandleHover=r.element,this.diagram.tooltipObject.open(o))}this.diagram.triggerEvent(e,r)}if(e===t.DiagramEvent.onUserHandleMouseDown?(this.userHandleObject=this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name,this.diagram.triggerEvent(e,r)):e===t.DiagramEvent.onFixedUserHandleMouseDown&&this.diagram.triggerEvent(e,r),e===t.DiagramEvent.onUserHandleMouseUp){var a=void 0;a=r.element.pathData?document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_userhandle"):r.element.source?document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_image"):r.element.content?document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_shape_native_element"):document.getElementById(this.diagram.selectedItems.userHandles[parseInt(i.toString(),10)].name+"_shape_html_element"),this.commandHandler.isUserHandle(this.currentPosition)&&a&&a.id&&a.id.split(this.userHandleObject).length>1&&this.diagram.triggerEvent(e,r)}else e===t.DiagramEvent.onFixedUserHandleMouseUp&&this.diagram.triggerEvent(e,r);e!==t.DiagramEvent.onUserHandleMouseLeave&&e!==t.DiagramEvent.onFixedUserHandleMouseLeave||(this.diagram.tooltipObject&&"Custom"!==this.diagram.tooltipObject.openOn&&(this.isUserHandleHover=null,this.diagram.tooltipObject.close()),this.diagram.triggerEvent(e,r))},i.prototype.checkFixedUserHandleEvent=function(t,e,i){if(e&&e.fixedUserHandles.length>0)for(var r={element:void 0},n=void 0,o=void 0,a=0;a<e.fixedUserHandles.length;a++)n=e.fixedUserHandles[parseInt(a.toString(),10)].id,i&&i.id&&i.id.indexOf(n)>-1&&(o=n,this.previousTarget=i,this.targetItem=e),o===e.fixedUserHandles[parseInt(a.toString(),10)].id&&(r.element=e.fixedUserHandles[parseInt(a.toString(),10)],this.userHandle(t,a,r,e))},i.prototype.mouseDown=function(e){var i=this;if("touchstart"===e.type&&(this.timeOutTapHold=setTimeout(function(){"Select"!==i.action&&"Drag"!==i.action||i.mouseMove(e,void 0)},500)),!(!0===this.inAction&&(this.tool instanceof Xh||this.tool instanceof Uh)||!0===this.inAction&&e.buttons&&0!=(e.buttons&e.buttons-1))){this.focus=!0;var r=e.touches,n=!!document.getElementsByClassName("e-dragclone")[0];if(this.isMouseOnScrollBar(e)&&!n)return this.isScrolling=!0,void e.preventDefault();if(this.checkFixedUserHandleEvent(t.DiagramEvent.onFixedUserHandleMouseDown,this.targetItem,this.previousTarget),this.checkUserHandleEvent(t.DiagramEvent.onUserHandleMouseDown),!this.checkEditBoxAsTarget(e)&&Ke(this.diagram)||Ve(this.diagram)&&!Ge(this.diagram))if(this.diagram.restrictedDeltaValue={x:0,y:0},"Select"!==this.action&&"Drag"!==this.action||this.diagram.updatePortVisibility(this.hoverElement,t.PortVisibility.Hover,!0),!(this.tool instanceof Qh||this.tool instanceof Jh)||2!==e.button&&2!==e.buttons)if(!0===this.inAction&&!0===this.isMouseDown&&(this.tool instanceof Qh||this.tool instanceof Jh))this.isMouseDown=!0,this.eventArgs={},this.getMouseEventArgs(this.currentPosition,this.eventArgs),this.eventArgs.position=this.currentPosition,this.tool.mouseDown(this.eventArgs);else{this.isMouseDown=!0,this.currentPosition=this.prevPosition=this.getMousePosition(e),this.eventArgs={},this.diagram.textEditing&&!this.isMouseOnScrollBar(e)&&(this.diagram.endEdit(),this.diagram.textEditing=!1,"Canvas"===this.diagram.mode&&1!==this.diagram.scroller.currentZoom&&this.diagram.refreshDiagramLayer());var o=this.getTargetElement();this.action=this.diagram.findActionToBeDone(o.obj,o.sourceElement,this.currentPosition,o.target);var a=this.isMetaKey(e);if(a&&e.shiftKey&&this.diagram.connectorEditingToolModule?this.action="SegmentEnd":(a||e.shiftKey)&&(Fe(this.diagram)||Ye(this.diagram))&&(this.action="Select"),this.diagram.constraints&t.DiagramConstraints.AutomaticPortCreation&&e.ctrlKey&&this.eventArgs.actualObject&&this.createPortAutomaticallyAndActivateTool(!0),this.tool=this.diagram.getTool(this.action),this.tool||(this.action="Select",this.tool=this.diagram.getTool(this.action)),this.getMouseEventArgs(this.currentPosition,this.eventArgs),a||e.shiftKey){var s=a&&e.shiftKey?{ctrlKey:a,shiftKey:e.shiftKey}:{ctrlKey:!0};this.eventArgs.info=s}this.eventArgs.position=this.currentPosition;var h=this.diagram.selectedItems.nodes;if(this.tool.mouseDown(this.eventArgs),this.diagram.selectedItems.canToggleSelection&&h&&this.diagram.selectedItems.nodes&&this.tool instanceof Fh)for(var d=0;d<h.length;d++)h[parseInt(d.toString(),10)].id!==this.diagram.selectedItems.nodes[parseInt(d.toString(),10)].id&&(this.isSwimlaneSelected=!0);this.initialEventArgs={source:this.eventArgs.source,sourceWrapper:this.eventArgs.sourceWrapper},this.initialEventArgs.position=this.currentPosition,this.initialEventArgs.info=this.eventArgs.info,this.inAction=!1,"touchstart"===e.type&&(r&&r.length>=2&&(this.touchStartList=qa(this.touchStartList,e,r)),r||e.preventDefault())}else{Do(this.diagram),Do(this.currentPosition),e.buttons,Do(this.eventArgs.actualObject),0===e.button||e.button;this.inAction=!1,this.tool.mouseUp(this.eventArgs)}this.isForeignObject(e.target)||this.isForeignObject(e.target,!0)||r||e.preventDefault()}},i.prototype.deletePortAutomatically=function(){if(this.hoverElement instanceof th||this.hoverElement instanceof eh)for(var t=this.hoverElement,e=this.diagram.nameTable[t.parentObj.id],i=0;i<e.ports.length;i++)e.ports[parseInt(i.toString(),10)].id===t.id&&0===t.inEdges.length&&0===t.outEdges.length&&this.diagram.removePorts(e,[t])},i.prototype.createPortAutomaticallyAndActivateTool=function(e){var i=this.findObjectsUnderMouse(this.currentPosition);if(this.hoverElement)if(this.hoverElement instanceof Hl){var r=this.hoverElement,n=r.wrapper.bounds,o=(this.currentPosition.x-n.x)/n.width,a=(this.currentPosition.y-n.y)/n.height,s=void 0;if(r.ports&&r.ports.length>0?((s=k(r.ports[0])).id="port"+O(),s.offset={x:o,y:a},s.constraints|=t.PortConstraints.Draw):s={id:"port"+O(),offset:{x:o,y:a},visibility:t.PortVisibility.Visible,constraints:t.PortConstraints.Default|t.PortConstraints.Draw},e){this.diagram.addPorts(r,[s]);var h=Tr(this.diagram,r.ports[r.ports.length-1]);this.action="PortDraw"===h?h:this.action}else this.eventArgs.source instanceof xd&&this.eventArgs.target instanceof Hl?this.eventArgs.target.id===r.id&&(this.diagram.addPorts(r,[s]),(p=this.eventArgs.source).targetID=r.id,p.targetPortID=s.id):this.eventArgs.source instanceof xd&&i[0]instanceof xd&&this.addAutomaticPortCreationForConnector(i,this.eventArgs)}else if(this.hoverElement instanceof xd){var d=this.hoverElement,l=this.findConnectorOffset(d.intermediatePoints),s=void 0;if(d.ports&&d.ports.length>0?((s=k(d.ports[0])).id="port"+O(),s.offset=l,s.constraints|=t.PortConstraints.Draw):s={id:"port"+O(),offset:l,visibility:t.PortVisibility.Visible,constraints:t.PortConstraints.Default|t.PortConstraints.Draw},e)this.diagram.addPorts(d,[s]),this.diagram.drawingObject={sourcePortID:s.id,sourceID:d.id,type:"Orthogonal"},this.action="PortDraw";else if(this.eventArgs.source instanceof xd&&this.eventArgs.target instanceof xd){var c=this.eventArgs.target,p=this.eventArgs.source;p.id!==d.id&&c.id===d.id&&(this.diagram.addPorts(d,[s]),p.targetID=d.id,p.targetPortID=s.id)}else this.eventArgs.source instanceof xd&&i[0]instanceof xd&&this.addAutomaticPortCreationForConnector(i,this.eventArgs)}else(this.hoverElement instanceof th||this.hoverElement instanceof eh)&&0===(s=this.hoverElement).inEdges.length&&0===s.outEdges.length&&(this.action="PortDraw")},i.prototype.addAutomaticPortCreationForConnector=function(e,i){var r=e[0],n=this.findConnectorOffset(r.intermediatePoints),o={id:"port"+O(),offset:n,visibility:t.PortVisibility.Visible,constraints:t.PortConstraints.Default|t.PortConstraints.Draw};this.diagram.addPorts(r,[o]);var a=i.source;a.targetID=r.id,a.targetPortID=o.id},i.prototype.findConnectorOffset=function(t){for(var e=0,i=[],r=0;r<t.length-1;r++){var n=t[r+1].x-t[parseInt(r.toString(),10)].x,o=t[r+1].y-t[parseInt(r.toString(),10)].y,a=Math.hypot(n,o);i.push(a),e+=a}for(var s=0,h=1/0,d=0,l=0;d<t.length-1;d++){var c=t[parseInt(d.toString(),10)],p=t[d+1],g=this.getProjectionOnSegment(this.currentPosition,c,p),u=Math.hypot(this.currentPosition.x-g.x,this.currentPosition.y-g.y);u<h&&(h=u,s=l+Math.hypot(g.x-c.x,g.y-c.y)),l+=i[parseInt(d.toString(),10)]}return s/e},i.prototype.getProjectionOnSegment=function(t,e,i){var r=i.x-e.x,n=i.y-e.y,o=r*r+n*n;if(0===o)return e;var a=((t.x-e.x)*r+(t.y-e.y)*n)/o;return a=Math.max(0,Math.min(1,a)),{x:e.x+a*r,y:e.y+a*n}},i.prototype.mouseMoveExtend=function(e,i){(this.tool instanceof Qh||this.tool instanceof Jh)&&this.tool.mouseMove(this.eventArgs),this.diagram.scrollSettings.canAutoScroll?this.checkAutoScroll(e):this.blocked||this.tool instanceof Qh||this.tool instanceof Jh||this.tool.mouseMove(this.eventArgs),this.eventArgs.target&&(this.hoverElement=this.eventArgs.target);var r=!(this.eventArgs.target instanceof Hl||this.eventArgs.target instanceof xd)||!(i instanceof Hl||i instanceof xd);this.tool instanceof _h&&this.diagram.updatePortVisibility(this.hoverElement instanceof Hl||this.hoverElement instanceof xd?this.hoverElement:this.hoverNode,t.PortVisibility.Connect|t.PortVisibility.Hover,r),this.hoverElement instanceof Hl&&this.hoverNode instanceof Hl&&this.hoverNode&&this.hoverNode.id!==this.hoverElement.id&&this.diagram.updatePortVisibility(this.hoverNode,t.PortVisibility.Connect|t.PortVisibility.Hover,!0),this.hoverElement instanceof xd&&this.hoverElement.ports.length>0&&this.diagram.updatePortVisibility(this.hoverElement,t.PortVisibility.Connect|t.PortVisibility.Hover,!0),this.previousElement instanceof Hl&&this.hoverElement&&this.previousElement.id!==this.hoverElement.id&&this.diagram.updatePortVisibility(this.previousElement,t.PortVisibility.Connect|t.PortVisibility.Hover,!0),this.previousElement=this.hoverElement,""!==this.diagram.tooltip.content&&(this.hoverElement=null),this.hoverNode=r?null:i},i.prototype.checkAction=function(t){if("LabelSelect"===this.action&&this.eventArgs.sourceWrapper&&(this.eventArgs.sourceWrapper instanceof js||this.eventArgs.sourceWrapper instanceof wh)){var e=this.commandHandler.findTarget(this.eventArgs.sourceWrapper,this.eventArgs.source);!zr(this.diagram,e,!1,this.eventArgs.sourceWrapper)&&Ce(e)&&(this.action="LabelDrag",this.tool=this.getTool(this.action),this.tool.mouseDown(this.initialEventArgs))}else Ce(t)&&Ie(t)&&this.initialEventArgs&&this.initialEventArgs.source&&"Select"===this.action&&(!zr(this.diagram,this.eventArgs.source,!1)&&this.eventArgs.source instanceof Ul&&this.getMouseEventArgs(this.currentPosition,this.eventArgs),t instanceof xd&&(!(t instanceof xd)||Mr(this.currentPosition,t.sourcePoint,t.hitPadding)||Mr(this.currentPosition,t.targetPoint,t.hitPadding))||(this.action="Drag"),this.tool=this.getTool(this.action),this.tool.mouseDown(this.initialEventArgs))},i.prototype.isSwimlaneElements=function(t){return!t||!(t.isLane||t.isPhase||t.isHeader)},i.prototype.canShowTouchTooltip=function(e){return!!("touchstart"===e.type&&this.diagram.tool&t.DiagramTools.SingleSelect&&this.diagram.tool&t.DiagramTools.ZoomPan)&&(this.isMouseDown=!1,!0)},i.prototype.mouseMove=function(e,i){if(this.focus=!0,"touchmove"===e.type&&(this.touchArgs={target:e.target,type:"touchmove"}),this.isScrolling)return void e.preventDefault();if(Ke(this.diagram)||Ve(this.diagram)&&!Ge(this.diagram)){this.currentPosition=this.getMousePosition(e);var r=this.diagram.findObjectsUnderMouse(this.currentPosition),n=this.diagram.findObjectUnderMouse(r,this.action,this.inAction);Gr(this.diagram,this.currentPosition);var o=!1,a=void 0;if("touchmove"===e.type&&(i=e.touches)&&i.length>1&&(this.touchMoveList=qa(this.touchMoveList,e,i),"PinchZoom"!==this.action&&(o=!0)),!1===fs.equals(this.currentPosition,this.prevPosition)||this.inAction||this.canShowTouchTooltip(e)){if(!1===this.isMouseDown||o){this.eventArgs={};var s=null,h=void 0;if(null!==n){if((s=this.diagram.findElementUnderMouse(n,this.currentPosition,this.diagram))&&(h=this.commandHandler.findTarget(s,n)),(h instanceof ah||h instanceof sh)&&(h.tooltip&&""!==h.tooltip.content||(h=n)),h!==this.hoverElement){var d=this.getContent();this.hoverElement&&"Auto"===this.hoverElement.tooltip.openOn&&""!==d&&this.elementLeave(),this.diagram.updatePortVisibility(this.hoverElement,t.PortVisibility.Hover,!0),n instanceof Hl&&(this.hoverNode=n);var l=!0;!this.isSwimlaneElements(n)&&this.hoverElement&&this.isSwimlaneElements(this.hoverElement)&&(l=!1),this.hoverElement=l?n:this.hoverElement;var c=null,p=void 0;(c=this.diagram.findElementUnderMouse(n,this.currentPosition,this.diagram))instanceof Ws&&((p=this.commandHandler.findTarget(c,n))instanceof th||p instanceof eh)&&this.hoverElement.constraints&t.PortConstraints.ToolTip&&(this.hoverElement=p);var g=void 0;c instanceof js&&((g=this.commandHandler.findTarget(c,n))instanceof ah||g instanceof sh)&&g.constraints&t.AnnotationConstraints.Tooltip&&(this.hoverElement=g),l?this.elementEnter(this.currentPosition,!1):this.hoverElement=n}else this.hoverElement&&this.hoverElement===h&&this.hoverElement.tooltip.content&&void 0!==this.diagram.tooltipObject&&"Mouse"===this.hoverElement.tooltip.relativeMode&&this.setTooltipOffset(this.currentPosition);s&&(a=this.commandHandler.findTarget(s,n))}this.action=this.diagram.findActionToBeDone(n,s,this.currentPosition,a),this.checkFixedUserHandleEvent(t.DiagramEvent.onFixedUserHandleMouseEnter,n,s),this.checkUserHandleEvent(t.DiagramEvent.onUserHandleMouseEnter),this.checkPreviousAction(),this.getMouseEventArgs(this.currentPosition,this.eventArgs),this.tool=this.getTool(this.action),this.mouseEvents(),this.tool instanceof Uh||this.tool instanceof Jh||this.tool instanceof Qh?this.tool.mouseMove(this.eventArgs):i&&this.tool instanceof Zh&&this.tool.mouseDown(this.eventArgs),this.updateCursor(),this.renderUmlHighLighter(this.eventArgs);var u=!1;this.hoverElement&&!(this.tool instanceof Zh)&&n instanceof Hl&&this.isSwimlaneElements(n)&&(0===this.diagram.selectedItems.nodes.length||!zr(this.diagram,this.hoverElement))||this.hoverElement instanceof xd||(u=!0),this.hoverElement&&!(this.tool instanceof Zh)&&n instanceof xd&&(0===this.diagram.selectedItems.connectors.length||!zr(this.diagram,this.hoverElement))||this.hoverElement instanceof Hl||(u=!0),this.diagram.updatePortVisibility(this.hoverElement,t.PortVisibility.Hover,u);var f=this.getContent();null===n&&this.hoverElement&&"Auto"===this.hoverElement.tooltip.openOn&&f&&(this.hoverElement=null,this.elementLeave()),o=!1}else{if(this.eventArgs.position=this.currentPosition,"Drag"===this.action&&!zr(this.diagram,this.eventArgs.source,!1)&&this.eventArgs.source instanceof Ul&&this.getMouseEventArgs(this.currentPosition,this.eventArgs),this.mouseEvents(),e.ctrlKey||e.shiftKey){var m=e.ctrlKey&&e.shiftKey?{ctrlKey:e.ctrlKey,shiftKey:e.shiftKey}:{ctrlKey:!0};this.eventArgs.info=m}this.checkAction(n);var y=this.getConnectorPadding(this.eventArgs);this.getMouseEventArgs(this.currentPosition,this.eventArgs,this.eventArgs.source,y),e.ctrlKey&&this.diagram.lineRoutingModule&&this.diagram.constraints&t.DiagramConstraints.LineRouting&&this.diagram.selectedItems.nodes.length+this.diagram.selectedItems.connectors.length>1&&(this.eventArgs.source=this.diagram.selectedItems),this.updateCursor(),this.inAction=!0,this.initialEventArgs=null,"Drag"!==this.action&&"Rotate"!==this.action||(this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.Interactions);var v=this.diagram.scroller.getPageBounds();this.tool&&this.mouseMoveExtend(e,n);var b=this.diagram.scroller.getPageBounds();if(n&&(v.width!==b.width||v.height!==b.height||v.x!==b.x||v.y!==b.y)&&this.diagram.views&&this.diagram.views.overview){var S=this.diagram.views.overview;S.updateView(S)}}this.prevPosition=this.currentPosition,this.isForeignObject(e.target,!0)||e.preventDefault()}}},i.prototype.getContent=function(){var e,i=this.hoverElement instanceof Hl&&this.hoverElement.constraints&t.NodeConstraints.Tooltip||this.hoverElement instanceof xd&&this.hoverElement.constraints&t.ConnectorConstraints.Tooltip||(this.hoverElement instanceof th||this.hoverElement instanceof eh)&&this.hoverElement.constraints&t.PortConstraints.ToolTip||(this.hoverElement instanceof ah||this.hoverElement instanceof sh)&&this.hoverElement.constraints&t.AnnotationConstraints.Tooltip,r=this.hoverElement;r instanceof Hl&&r.children&&r.children.length>0&&(e=this.findIntersectChild(r));var n=i?this.hoverElement.tooltip.content:this.diagram.tooltip.content;return n=e?e.tooltip.content:n},i.prototype.findIntersectChild=function(t){for(var e,i=new ms(this.currentPosition.x,this.currentPosition.y,8,8),r=0;r<t.children.length;r++)if((e=this.diagram.getObject(t.children[parseInt(r.toString(),10)])).wrapper.outerBounds.intersects(i))return e;return null},i.prototype.checkAutoScroll=function(t){var e=this.startAutoScroll(t);if(!e&&this.doingAutoScroll)this.doingAutoScroll=!1,clearInterval(this.timeOutValue);else if(e){if((this.tool instanceof Xh||this.tool instanceof Uh||this.tool instanceof Fh||this.tool instanceof Vh||this.tool instanceof Hh||this.tool instanceof _h)&&this.inAction){var i=this,r=this.diagram.scrollSettings.autoScrollFrequency;(r<10||isNaN(r))&&(r=100),this.diagram.scrollSettings.canAutoScroll&&e&&!this.doingAutoScroll&&(this.doingAutoScroll=!0,this.timeOutValue=setInterval(function(n){i.doAutoScroll(e,t,r)},r))}}else this.blocked=!this.tool.mouseMove(this.eventArgs)},i.prototype.mouseUp=function(e){clearTimeout(this.timeOutTapHold),this.touchArgs=void 0,this.diagram.diagramRenderer.touchMove=void 0,this.commandHandler.annotationRestrictDeltaValue={x:0,y:0},this.eventArgs&&this.eventArgs.target&&this.eventArgs.target!==this.hoverNode&&this.eventArgs.target!==this.lastObjectUnderMouse&&(this.hoverNode=this.eventArgs.target,this.lastObjectUnderMouse=this.eventArgs.target);var i=!1;(this.tool instanceof Fh||this.tool instanceof Yh)&&(i=!0),this.checkFixedUserHandleEvent(t.DiagramEvent.onFixedUserHandleMouseUp,this.targetItem,this.previousTarget),this.checkUserHandleEvent(t.DiagramEvent.onUserHandleMouseUp),"SVG"===this.diagram.mode&&We(this.diagram)&&this.updateVirtualization();var r,n=this.diagram.selectedItems.nodes,o=this.diagram.selectedItems.connectors;this.diagram.previousSelectedObject=null,this.diagram.diagramRenderer.rendererActions=this.diagram.removeConstraints(this.diagram.diagramRenderer.rendererActions,t.RendererAction.DrawSelectorBorder);var a=e.touches;if(this.isScrolling)return this.isScrolling=!1,void e.preventDefault();if(!this.checkEditBoxAsTarget(e)&&Ke(this.diagram)||Ve(this.diagram)&&!Ge(this.diagram)){if(this.tool&&(!(this.tool instanceof Qh||this.tool instanceof Jh)||(this.tool instanceof Qh||this.tool instanceof Jh)&&2===e.detail)){if(!this.isForeignObject(e.target)&&this.isMouseDown&&document.getElementById(this.diagram.element.id+"content").focus(),!this.inAction&&3!==e.which&&"Drag"===this.action){this.action="Select";var s=this.diagram.selectedItems.nodes.concat(this.diagram.selectedItems.connectors),h=this.diagram.findObjectsUnderMouse(this.currentPosition),d=this.diagram.findObjectUnderMouse(h,this.action,this.inAction),l=!0;if(!e.ctrlKey&&this.isMouseDown&&this.diagram.selectedItems.nodes.length+this.diagram.selectedItems.connectors.length>1&&1===e.which&&!oi(this.diagram.diagramActions)&&(l=!1,this.commandHandler.clearSelection()),(!zr(this.diagram,d)||!l)&&(this.commandHandler.selectObjects([d],void 0,s),this.diagram.selectedItems.canToggleSelection)){var c=this.diagram.selectedItems.nodes;c?c[0].parentObj instanceof _l&&(r=!0):this.diagram.selectedItems.connectors.length>0&&(r=!0)}}var p=!1,g=this.updateContainerProperties();this.eventArgs.actualObject&&this.eventArgs.actualObject instanceof Hl&&("Container"===this.eventArgs.actualObject.shape.type||this.eventArgs.actualObject.shape.activity&&this.eventArgs.actualObject.shape.activity.subProcess&&this.eventArgs.actualObject.shape.activity.subProcess.processes)&&this.diagram.updateDiagramElementQuad();var u=void 0;if(this.addUmlNode(),this.inAction=!1,this.isMouseDown=!1,this.diagram.selectedObject.helperObject&&(u=this.updateContainerBounds()),this.tool&&(this.tool.prevPosition||this.tool instanceof Kh)){this.eventArgs.position=this.currentPosition;var f=this.getConnectorPadding(this.eventArgs);this.getMouseEventArgs(this.currentPosition,this.eventArgs,this.eventArgs.source,f);var m=this.isMetaKey(e);if(m||e.shiftKey){var y=m&&e.shiftKey?{ctrlKey:m,shiftKey:e.shiftKey}:{ctrlKey:!0};this.eventArgs.info=y}if(this.diagram.diagramActions&t.DiagramAction.Interactions&&(this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.Interactions),this.eventArgs.clickCount=e.detail,this.diagram.selectedObject.helperObject&&(this.tool instanceof Fh||this.tool instanceof Vh)){if(this.diagram.selectedObject.actualObject&&""!==this.diagram.selectedObject.actualObject.parentId){var v=this.diagram.getObject(this.diagram.selectedObject.actualObject.parentId);v&&v.isLane&&(this.commandHandler.isContainer=!0)}(p=this.diagram.lineRoutingModule&&this.diagram.nameTable.helper&&this.eventArgs.target&&this.eventArgs.target.isLane&&(this.eventArgs.source instanceof Ul&&this.eventArgs.source.nodes.length>0&&""===this.eventArgs.source.nodes[0].parentId||""===this.eventArgs.source.parentId))&&(this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.PreventLaneContainerUpdate),this.tool.mouseUp(this.eventArgs,g.isPreventHistory)}else{if(this.diagram.selectedItems.canToggleSelection){var b=void 0,S=void 0;if(this.diagram.selectedItems.nodes.length>0)for(x=0;x<this.diagram.selectedItems.nodes.length;x++)this.diagram.selectedItems.nodes[parseInt(x.toString(),10)].isLane||this.diagram.selectedItems.nodes[parseInt(x.toString(),10)].isPhase||this.diagram.selectedItems.nodes[parseInt(x.toString(),10)].parentObj instanceof _l||this.diagram.selectedItems.nodes[parseInt(x.toString(),10)].parentObj instanceof Fl||(b=""!==this.diagram.selectedItems.nodes[parseInt(x.toString(),10)].parentId);for(var w=this.diagram.selectedItems.nodes,x=0;x<n.length;x++)(n.length>1&&w[0].id===n[parseInt(x.toString(),10)].id||o.length>0)&&(S=!0);!this.isSwimlaneSelected&&!r&&!S&&this.tool instanceof Fh&&"Select"===this.currentAction&&(!b||this.diagram.selectedItems.connectors.length>0)&&this.commandHandler.clearSelection(!0)}this.diagram.constraints&t.DiagramConstraints.AutomaticPortCreation&&e.ctrlKey&&this.createPortAutomaticallyAndActivateTool(!1),this.isSwimlaneSelected=!1,this.tool instanceof Hh?this.tool.mouseUp(this.eventArgs,e.button):this.tool.mouseUp(this.eventArgs),this.diagram.constraints&t.DiagramConstraints.AutomaticPortCreation&&e.ctrlKey&&this.deletePortAutomatically(),!this.diagram.checkMenu||-1===window.navigator.userAgent.indexOf("Linux")&&-1===window.navigator.userAgent.indexOf("X11")||(!e.pageY&&e instanceof TouchEvent&&e.changedTouches?(window.getSelection().removeAllRanges(),this.diagram.contextMenuModule.contextMenu.open(e.changedTouches[0].pageY,e.changedTouches[0].pageX,this.diagram.element),e.preventDefault()):this.diagram.contextMenuModule.contextMenu.open(e.pageY,e.pageX,this.diagram.element),this.diagram.checkMenu=!1)}g.hasStack&&this.diagram.endGroupAction()}if(u&&this.diagram.endGroupAction(),this.updateContainerBounds(!0),2!==this.eventArgs.clickCount&&("Select"!==this.action&&this.commandHandler.updateSelectedNodeProperties(this.eventArgs.source),p)){this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.PreventLaneContainerUpdate;var I=this.eventArgs.source instanceof Ul?this.eventArgs.source.nodes:[this.eventArgs.source];if(I)for(x=0;x<I.length;x++)I[parseInt(x.toString(),10)].container||(this.commandHandler.dropChildToContainer(this.eventArgs.target,I[parseInt(x.toString(),10)]),this.commandHandler.renderContainerHelper(I[parseInt(x.toString(),10)]))}if(this.diagram.selectedObject&&this.diagram.selectedObject.helperObject){var C=this.isSwimlaneChild(this.diagram.selectedObject.actualObject),P=this.diagram.selectedObject.actualObject&&this.diagram.selectedObject.actualObject.width===this.diagram.selectedObject.helperObject.width&&this.diagram.selectedObject.actualObject.height===this.diagram.selectedObject.helperObject.height;this.diagram.remove(this.diagram.selectedObject.helperObject),this.commandHandler.isTargetSubProcess(this.diagram.selectedObject.actualObject)&&""===this.diagram.selectedObject.actualObject.parentId&&this.swapProcessChildInDom(this.diagram.element.id+"_diagramLayer",this.diagram.selectedObject.actualObject),this.diagram.selectedObject={helperObject:void 0,actualObject:void 0},(this.diagram.diagramActions&t.DiagramAction.PublicMethod&&this.diagram.constraints&t.DiagramConstraints.LineRouting||C&&P)&&(this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.PublicMethod)}if(this.blocked=!1,this.hoverElement){var D=t.PortVisibility.Connect;zr(this.diagram,this.hoverElement)&&(D|=t.PortVisibility.Hover),this.diagram.updatePortVisibility(this.hoverElement,D,!0),this.hoverElement=null}this.touchStartList=null,this.touchMoveList=null,this.tool instanceof Gh||(this.tool=null)}a||e.preventDefault(),this.diagram.currentDrawingObject=void 0;var T=this.diagram.selectedItems,A=!1;if(this.commandHandler.isUserHandle(this.currentPosition)&&this.isForeignObject(e.target)&&(A=!0),!this.inAction&&T.wrapper&&T.userHandles.length>0&&!A&&this.diagram.renderSelector(!0),!this.inAction&&!this.diagram.currentSymbol&&this.eventArgs){var O=this.getTargetElement(),M={element:O.target instanceof th||O.target instanceof eh||O.target instanceof Ad||O.target instanceof Ph||O.target instanceof Dh?O.target:Do(this.eventArgs.source)||Do(this.diagram),position:Do(this.eventArgs.position),count:e.detail,actualObject:Do(this.eventArgs.actualObject),button:0===e.button?"Left":1===e.button?"Middle":"Right"};this.diagram.tool!==t.DiagramTools.ZoomPan&&this.diagram.triggerEvent(t.DiagramEvent.click,M)}this.eventArgs={}}this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.PreventLaneContainerUpdate,i&&this.updateAnnotation(this.diagram.selectedItems),this.previousElement=null,this.eventArgs={},this.diagram.commandHandler.removeStackHighlighter()},i.prototype.isSwimlaneChild=function(t){if(t.shape&&"SwimLane"!==t.shape.type){var e=this.diagram.nameTable[t.parentId];if(!e)return!1;var i=e.parentId?this.diagram.nameTable[e.parentId]:e;return i&&i.shape&&"SwimLane"===i.shape.type}return!1},i.prototype.updateAnnotation=function(t){var e=t.nodes;if(e.length>0)for(var i=0;i<e.length;i++){var r=e[parseInt(i.toString(),10)];this.diagram.updateConnectorEdges(r)}},i.prototype.swapProcessChildInDom=function(t,e){var i=document.getElementById(t);if(e.shape.activity.subProcess.processes)for(var r=0;r<e.shape.activity.subProcess.processes.length;r++){var n=document.getElementById(e.shape.activity.subProcess.processes[parseInt(r.toString(),10)]+"_groupElement");n&&i.appendChild(n)}},i.prototype.getTargetElement=function(){var t,e=this.objectFinder.findObjectsUnderMouse(this.currentPosition,this.diagram,this.eventArgs,null,this.action),i=this.objectFinder.findObjectUnderMouse(this.diagram,e,this.action,this.inAction,this.eventArgs,this.currentPosition);if("None"!==this.previousAction&&this.diagram.selectedItems.userHandles)for(var r=0;r<this.diagram.selectedItems.userHandles.length;r++){var n=this.diagram.selectedItems.userHandles[parseInt(r.toString(),10)];this.previousAction===n.name&&(t=n)}var o=null;return null!==i&&(o=this.diagram.findElementUnderMouse(i,this.currentPosition,this.diagram))&&(t=this.commandHandler.findTarget(o,i)),{obj:i,sourceElement:o,target:t}},i.prototype.getConnectorPadding=function(e){var i,r=e.source;if(r&&r instanceof Ul&&r.connectors.length){var n=r.connectors[0];i=n.constraints&t.ConnectorConstraints.ConnectToNearByPort?n.connectionPadding:0}else r&&r instanceof xd&&"PortDraw"===this.action&&this.tool instanceof Uh&&r.constraints&t.ConnectorConstraints.ConnectToNearByPort&&(i=r.connectionPadding);return i||0},i.prototype.addSwimLaneObject=function(t){var e,i,r,n,o,a,s=0,h=t.shape,d=this.objectFinder.findObjectsUnderMouse(this.currentPosition,this.diagram,this.eventArgs,null,this.action);if(i||(i=this.diagram.findObjectUnderMouse(d,this.action,this.inAction)),this.diagram.clearSelectorLayer(),i&&!(i.isLane||i.isPhase||i.isHeader))for(var l=0;l<d.length;l++){var c=this.diagram.nameTable[d[parseInt(l.toString(),10)].id];(c.isLane||c.isPhase||c.isHeader)&&(i=c)}if(i&&(h.isPhase||h.isLane&&i.isLane)){var p=i.parentId;e=this.diagram.nameTable[""+p]}var g=null;if(e&&(r=e.shape,o=h.isLane?h.orientation===r.orientation:h.orientation!==r.orientation,h.isLane&&h.orientation!==r.orientation&&(o=!0,g="Horizontal"===h.orientation?"height":"width")),o&&i){if(r&&r.header&&r.hasHeader&&"Horizontal"===r.orientation&&(s=1),r.phases&&r.phases.length>0&&(s+=1),h.isPhase){a="Horizontal"===r.orientation?this.currentPosition.x-e.wrapper.bounds.x:this.currentPosition.y-(e.wrapper.bounds.y+(r.hasHeader?r.header.height:0));var u={id:O(),offset:a,header:{annotation:{content:void 0===h.phases[0].header?"Phase":h.phases[0].header.annotation.content,style:void 0===h.phases[0].header?{}:h.phases[0].header.annotation.style}},style:void 0===h.phases[0]?{}:h.phases[0].style};this.diagram.addPhases(e,[u])}else{var f={id:O(),style:h.lanes[0].style,canMove:h.lanes[0].canMove,header:{annotation:{content:h.lanes[0].header.annotation.content,style:h.lanes[0].header.annotation.style},style:h.lanes[0].header.style}};if("Horizontal"===h.orientation?f.height=h.lanes[0].height:f.width=h.lanes[0].width,"Horizontal"===r.orientation?(n=i.rowIndex?i.rowIndex:this.diagram.nameTable[i.parentId].rowIndex,i.wrapper.offsetY<this.currentPosition.y&&(n+=1)):(n=i.columnIndex?i.columnIndex:this.diagram.nameTable[i.parentId].columnIndex,this.currentPosition.x<i.wrapper.bounds.center.x&&(n-=1)),r.lanes.length>n)f.header.width=r.lanes[parseInt(n.toString(),10)].header.width,f.header.height=r.lanes[parseInt(n.toString(),10)].header.height;else{var m=void 0;m="Horizontal"===r.orientation?i.rowIndex<3?0:n-s-1:n-1,f.header.width=r.lanes[parseInt(m.toString(),10)].header.width,f.header.height=r.lanes[parseInt(m.toString(),10)].header.height}g&&("height"===g?(f.width=f.height,delete f.height):(f.height=f.width,delete f.width)),this.diagram.addLanes(e,[f],"Horizontal"===r.orientation?n-s:n)}this.commandHandler.select(e)}else if(h.isLane){var y={id:O(),width:t.width,height:t.height,addInfo:t.addInfo,shape:{type:"SwimLane",header:{annotation:{content:void 0===h.header?"Header":h.header.annotation.content,style:void 0===h.header?{}:h.header.annotation.style},height:50,style:h.header?h.header.style:h.lanes[0].header.style},phases:[{id:O(),header:{annotation:{content:void 0===h.phases?"Phase":void 0===h.phases[0].header?"Phase":h.phases[0].header.annotation.content,style:void 0===h.phases?{}:void 0===h.phases[0].header?{}:h.phases[0].header.annotation.style},style:void 0===h.phases?{}:void 0===h.phases[0].header?{}:h.phases[0].header.style},style:void 0===h.phases?{}:h.phases[0].style}],lanes:[{id:O(),height:t.height,width:t.width,style:h.lanes[0].style,canMove:h.lanes[0].canMove,header:{annotation:{content:h.lanes[0].header.annotation.content,style:h.lanes[0].header.annotation.style},style:h.lanes[0].header.style}}],orientation:h.orientation}};"Vertical"===h.orientation&&(y.width+=20),y.offsetX=this.currentPosition.x+y.width/2,y.offsetY=this.currentPosition.y+y.height/2,y.style=t.style,this.diagram.add(y)}},i.prototype.mouseLeave=function(e){this.tool&&this.inAction&&this.tool.mouseLeave(this.eventArgs),this.diagram.selectedObject.helperObject&&(this.updateContainerProperties(),this.updateContainerBounds()&&this.diagram.endGroupAction()),this.eventArgs&&this.eventArgs.source&&(this.diagram.updatePortVisibility(this.eventArgs.source,t.PortVisibility.Hover,!0),this.hoverElement=null),this.eventArgs&&!this.eventArgs.source&&this.hoverElement&&(this.hoverElement=null),this.tool instanceof _h&&this.eventArgs&&this.eventArgs.target&&this.eventArgs.target instanceof Hl&&(this.diagram.updatePortVisibility(this.eventArgs.target,t.PortVisibility.Hover|t.PortVisibility.Connect,!0),this.hoverElement=null);var i=this.diagram.selectedItems;i&&i.wrapper&&(Lo(this.diagram,i)||this.diagram.renderSelector(!0)),(this.diagram.diagramActions&t.DiagramAction.Interactions||this.diagram.diagramActions&t.DiagramAction.ToolAction)&&(this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.ToolAction),this.isMouseDown=!1,this.focus=!1,this.touchStartList=null,this.touchMoveList=null,this.elementLeave(),this.commandHandler.removeSnap(),this.inAction=!1,this.eventArgs={},this.diagram.selectedObject&&this.diagram.selectedObject.helperObject&&(this.diagram.remove(this.diagram.selectedObject.helperObject),this.diagram.selectedObject={helperObject:void 0,actualObject:void 0}),this.tool=null,Ur(),"Rotate"===this.action&&this.diagram.diagramCanvas.classList.remove("e-diagram-rotate"),e.preventDefault()},i.prototype.mouseWheel=function(e){this.diagram.blazorActions|=t.BlazorAction.interaction;var i={event:e,cancel:!1};if(this.diagram.triggerEvent(t.DiagramEvent.mouseWheel,i),!i.cancel){var r=e.wheelDelta>0||-40*e.detail>0,n=this.getMousePosition(e);if(this.diagram.tooltipObject.close(),this.isMetaKey(e)){var o=this.diagram.scrollSettings.zoomFactor;r?this.diagram.zoomTo({type:"ZoomIn",zoomFactor:o,focusPoint:n}):this.diagram.zoomTo({type:"ZoomOut",zoomFactor:o,focusPoint:n}),e.preventDefault()}else{var a=this.diagram.scroller.horizontalOffset,s=this.diagram.scroller.verticalOffset,h=r?10:-10;this.tool&&(this.tool instanceof Qh||this.tool instanceof Jh)&&(this.eventArgs={},this.getMouseEventArgs(n,this.eventArgs),this.eventArgs.position=n,this.tool.mouseWheel(this.eventArgs)),this.diagram.scrollActions|=t.ScrollActions.Interaction;if(e.isTrusted){var d=!1;(Math.abs(e.deltaY)<100&&-0===Math.abs(e.deltaX)||Math.abs(e.deltaX)<100&&-0===Math.abs(e.deltaY))&&(d=!0);var l=!1;0===e.deltaX&&0===e.deltaY||(l=navigator.userAgent.includes("Macintosh")),l?Math.abs(e.deltaX)>Math.abs(e.deltaY)?(e.shiftKey||e.deltaX&&-0!==e.deltaX&&(d||!l))&&this.diagram.scroller.zoom(1,h,0,n,!0,void 0,d):!e.deltaY||-0===e.deltaY||!d&&l||this.diagram.scroller.zoom(1,0,h,n,!0,void 0,d):e.shiftKey||e.deltaX&&-0!==e.deltaX&&(d||!l)?this.diagram.scroller.zoom(1,h,0,n,!0,void 0,d):!e.deltaY||-0===e.deltaY||!d&&l||this.diagram.scroller.zoom(1,0,h,n,!0,void 0,d)}else e.shiftKey||e.deltaX&&-0!==e.deltaX?this.diagram.scroller.zoom(1,h,0,n,!0):this.diagram.scroller.zoom(1,0,h,n,!0);this.diagram.scrollActions&=~t.ScrollActions.Interaction,a===this.diagram.scroller.horizontalOffset&&s===this.diagram.scroller.verticalOffset||e.preventDefault()}if(this.diagram.textEditing){if(this.diagram.isTriggerEvent=!0,this.diagram.activeLabel.parentId){var c=this.diagram.getObject(this.diagram.activeLabel.parentId);this.diagram.startTextEdit(c,this.diagram.activeLabel.id)}this.diagram.isTriggerEvent=!1}this.diagram.blazorActions=this.diagram.blazorActions&~t.BlazorAction.interaction}},i.prototype.keyDown=function(i){if(i.fromMouseEvents&&(i.ctrlKey&&(this.keyArgs.keyModifiers=1),i.shiftKey&&(this.keyArgs.keyModifiers=4),i.shiftKey&&i.ctrlKey&&(this.keyArgs.keyModifiers=5)),!(this.diagram.diagramActions&t.DiagramAction.TextEdit)&&!this.checkEditBoxAsTarget(i)||"Escape"===i.key||27===i.keyCode){var r=void 0,n=i.keyCode?i.keyCode:i.which,o=i.key;"ArrowDown"!==o&&"ArrowUp"!==o&&"ArrowLeft"!==o&&"ArrowRight"!==o||(this.isNudgeKey=!0);var a=this.isMetaKey(i);if(this.diagram.commandManager&&this.diagram.commands)for(var s=this.diagram.commands,h=0,d=Object.keys(s);h<d.length;h++){var l=d[h];if((r=this.diagram.commands[""+l])&&(r.gesture.keyModifiers||r.gesture.key)&&(n===r.gesture.key||t.Keys[r.gesture.key]&&o===t.Keys[r.gesture.key]||o===t.Keys[r.gesture.key].split("Number")[1]||this.isDeleteKey(o,l))&&(!r.gesture.keyModifiers&&!i.altKey&&!i.shiftKey&&!a||r.gesture.keyModifiers&&(a||i.altKey||i.shiftKey)&&this.altKeyPressed(r.gesture.keyModifiers)&&i.altKey||this.shiftKeyPressed(r.gesture.keyModifiers)&&i.shiftKey||this.ctrlKeyPressed(r.gesture.keyModifiers)&&a&&this.keyArgs.keyModifiers===r.gesture.keyModifiers)){var c=Z(r.canExecute);if(e.isBlazor()||c&&c({keyDownEventArgs:KeyboardEvent,parameter:r.parameter})){if(i.preventDefault(),"Escape"===i.key)if(this.checkEditBoxAsTarget(i))document.getElementById(this.diagram.diagramCanvas.id).focus();else if(this.diagram.currentSymbol){this.diagram.removeFromAQuad(this.diagram.currentSymbol),this.diagram.removeObjectsFromLayer(this.diagram.nameTable[this.diagram.currentSymbol.id]),this.diagram.removeElements(this.diagram.currentSymbol);var p=this.diagram.currentSymbol;p instanceof Hl&&"Bpmn"===p.shape.type&&"TextAnnotation"===p.shape.shape&&this.diagram.removeDependentConnector(p),Ln(this.diagram.currentSymbol,this.diagram),delete this.diagram.nameTable[this.diagram.currentSymbol.id],this.diagram.droppable.sourceElement.draggable.intDestroy();var g=this.diagram.droppable.selectedSymbols;g.parentNode.removeChild(g);var u=this.diagram.diagramActions;this.diagram.diagramActions=this.diagram.addConstraints(u,t.DiagramAction.PreventClearSelection),this.tool.mouseUp(this.eventArgs),this.diagram.diagramRenderer.rendererActions=this.diagram.removeConstraints(this.diagram.diagramRenderer.rendererActions,t.RendererAction.DrawSelectorBorder),this.diagram.previousSelectedObject&&this.diagram.select(this.diagram.previousSelectedObject),this.action="Select",this.diagram.previousSelectedObject=null,this.diagram.currentSymbol=null,this.diagram.diagramActions=this.diagram.removeConstraints(u,t.DiagramAction.PreventClearSelection),this.isMouseDown=!1}else this.inAction&&this.diagram.drawingObject&&this.tool&&this.tool.inAction&&(this.tool.mouseUp(this.eventArgs),this.tool=null,this.isMouseDown=!1);if(r.execute&&(this.commandObj=r,this.diagram.tool!==t.DiagramTools.ZoomPan)){var f=Z(r.execute);this.isNudgeKey?(this.isKeyUp||(this.keyArgs.oldValue={offsetX:this.diagram.selectedItems.offsetX,offsetY:this.diagram.selectedItems.offsetY},++this.keyCount>4&&(f({keyDownEventArgs:KeyboardEvent,parameter:r.parameter,type:"KEYDOWN"}),this.keyCount=0,this.keyArgs.newValue={offsetX:this.diagram.selectedItems.offsetX,offsetY:this.diagram.selectedItems.offsetY},this.diagram.triggerEvent(t.DiagramEvent.positionChange,this.keyArgs))),this.isKeyUp=!1):f({keyDownEventArgs:KeyboardEvent,parameter:r.parameter})}break}}}}this.diagram.selectedItems.nodes.length?this.diagram.selectedItems.nodes:this.diagram.selectedItems.connectors;var m=Do(this.diagram.selectedItems);this.keyArgs={element:m,key:i.key,keyCode:i.keyCode?i.keyCode:i.which},this.getKeyModifier(this.keyArgs,i),this.diagram.diagramActions&t.DiagramAction.TextEdit&&this.getlabel(this.keyArgs,i),this.diagram.triggerEvent(t.DiagramEvent.keyDown,this.keyArgs)},i.prototype.getlabel=function(t,e){var i=this.diagram.activeLabel;t.target=this.diagram.element.id+"_editBox";var r=this.diagram.nameTable[i.parentId];if(document.getElementById(this.diagram.element.id+"_editBox")){t.text=document.getElementById(this.diagram.element.id+"_editBox").value;for(var n=0;n<r.annotations.length;n++)if(r.annotations[parseInt(n.toString(),10)].id===i.id){t.label=r.annotations[parseInt(n.toString(),10)];break}}},i.prototype.getKeyModifier=function(e,i){e.keyModifiers=t.KeyModifiers.None,i.ctrlKey&&(e.keyModifiers|=t.KeyModifiers.Control),i.shiftKey&&(e.keyModifiers|=t.KeyModifiers.Shift),i.altKey&&(e.keyModifiers|=t.KeyModifiers.Alt),this.isMetaKey(i)&&(e.keyModifiers|=t.KeyModifiers.Meta)},i.prototype.keyUp=function(e){var i=Do(this.diagram.selectedItems);this.keyArgs={element:i,key:e.key,keyCode:e.keyCode?e.keyCode:e.which,oldValue:{offsetX:i.offsetX,offsetY:i.offsetY},newValue:{offsetX:i.offsetX,offsetY:i.offsetY}};this.diagram.selectedItems.nodes.length?this.diagram.selectedItems.nodes:this.diagram.selectedItems.connectors;this.getKeyModifier(this.keyArgs,e),this.diagram.diagramActions&t.DiagramAction.TextEdit&&this.getlabel(this.keyArgs,e),this.diagram.triggerEvent(t.DiagramEvent.keyUp,this.keyArgs),!this.isKeyUp&&this.isNudgeKey&&(Z(this.commandObj.execute)({keyDownEventArgs:KeyboardEvent,parameter:this.commandObj.parameter,type:"KEYUP"}),this.keyArgs.newValue={offsetX:this.diagram.selectedItems.offsetX,offsetY:this.diagram.selectedItems.offsetY},this.diagram.triggerEvent(t.DiagramEvent.positionChange,this.keyArgs),this.isNudgeKey=!1,this.keyCount=0)},i.prototype.startAutoScroll=function(t){var i=this.getMousePosition(t);i.x*=this.diagram.scroller.currentZoom,i.y*=this.diagram.scroller.currentZoom;var r,n=Vr(this.diagram),o=this.diagram.scrollSettings.autoScrollBorder;if("mozilla"===e.Browser.info.name&&0===this.diagram.scroller.viewPortWidth){var a=document.getElementById(this.diagram.element.id).getBoundingClientRect();a.width!==this.diagram.scroller.viewPortWidth&&this.diagram.scroller.setViewPortSize(a.width,a.height)}return this.diagram.scrollSettings.canAutoScroll&&(i.x+this.diagram.scroller.horizontalOffset+o.right+n.width>=this.diagram.scroller.viewPortWidth-18?r="right":i.x+this.diagram.scroller.horizontalOffset<o.left?r="left":i.y+this.diagram.scroller.verticalOffset+o.bottom+n.height>this.diagram.scroller.viewPortHeight-18?r="bottom":i.y+this.diagram.scroller.verticalOffset<o.top&&(r="top")),r},i.prototype.doAutoScroll=function(e,i,r,n){var o=e;if((this.tool instanceof Xh||this.tool instanceof Uh||this.tool instanceof Fh||this.tool instanceof Vh||this.tool instanceof Hh||this.tool instanceof _h)&&this.inAction){var a=this.getMousePosition(i),s=(this.diagram.scrollSettings.autoScrollBorder,0),h=0,d=!1,l="",c={x:a.x,y:a.y};switch(this.tool instanceof Vh&&("ResizeSouthEast"===this.tool.corner||"ResizeSouthWest"===this.tool.corner||"ResizeNorthWest"===this.tool.corner||"ResizeNorthEast"===this.tool.corner)&&(d=!0,l=this.tool.corner),o){case"right":c.x=a.x+10,s=10,d&&("ResizeSouthEast"===l?(c.y=a.y+10,h=10):(c.y=a.y-10,h=-10));break;case"left":c.x=a.x-10,s=-10,d&&("ResizeNorthWest"===l?(c.y=a.y-10,h=-10):(c.y=a.y+10,h=10));break;case"bottom":c.y=a.y+10,h=10,d&&("ResizeSouthEast"===l?(c.x=a.x+10,s=10):(c.x=a.x-10,s=-10));break;case"top":c.y=a.y-10,h=-10,d&&("ResizeNorthEast"===l?(c.x=a.x+10,s=10):(c.x=a.x-10,s=-10))}this.eventArgs.position={x:c.x,y:c.y},this.currentPosition=this.eventArgs.position;var p=this.objectFinder.findObjectsUnderMouse(this.currentPosition,this.diagram,this.eventArgs,null,this.action);this.eventArgs.target=this.diagram.findObjectUnderMouse(p,this.action,this.inAction),this.tool.mouseMove(this.eventArgs),this.diagram.scrollActions|=t.ScrollActions.Interaction,this.diagram.scroller.zoom(1,-s,-h,a,!0),this.diagram.scrollActions&=~t.ScrollActions.Interaction}},i.prototype.mouseEvents=function(){for(var i=this.diagram.findObjectsUnderMouse(this.currentPosition),r=0;r<i.length;r++)this.eventArgs.actualObject===i[parseInt(r.toString(),10)]&&i.splice(r,1);var n={targets:{}};if(e.isBlazor()||(n={targets:Do(i),element:Do(this.eventArgs.source===this.eventArgs.actualObject?void 0:this.eventArgs.source),actualObject:Do(this.eventArgs.actualObject)}),this.lastObjectUnderMouse&&this.diagram.mouseLeave&&(!this.eventArgs.actualObject||this.lastObjectUnderMouse!==this.eventArgs.actualObject)){var o={targets:void 0,element:Do(this.lastObjectUnderMouse),actualObject:void 0};this.diagram.triggerEvent(t.DiagramEvent.mouseLeave,o),this.lastObjectUnderMouse=null}(!this.lastObjectUnderMouse&&this.eventArgs.source||this.lastObjectUnderMouse!==this.eventArgs.actualObject)&&(this.lastObjectUnderMouse=this.eventArgs.actualObject,void 0!==this.eventArgs.actualObject&&this.diagram.triggerEvent(t.DiagramEvent.mouseEnter,n)),this.eventArgs.actualObject&&this.diagram.triggerEvent(t.DiagramEvent.mouseOver,n)},i.prototype.elementEnter=function(e,i){if(!i){var r=this.hoverElement instanceof Hl&&this.hoverElement.constraints&t.NodeConstraints.Tooltip||this.hoverElement instanceof xd&&this.hoverElement.constraints&t.ConnectorConstraints.Tooltip||(this.hoverElement instanceof th||this.hoverElement instanceof eh)&&this.hoverElement.constraints&t.PortConstraints.ToolTip||(this.hoverElement instanceof ah||this.hoverElement instanceof sh)&&this.hoverElement.constraints&t.AnnotationConstraints.Tooltip,n=this.getContent(),o=void 0;this.diagram.tooltipObject&&(this.diagram.tooltipObject.windowCollision=!0),this.hoverElement&&this.hoverElement.children&&this.hoverElement.children.length>0&&(o=this.findIntersectChild(this.hoverElement),""===n&&(n=this.hoverElement.tooltip.content)),"Auto"===this.hoverElement.tooltip.openOn&&""!==n&&$(this.diagram,r?this.hoverElement:void 0),this.hoverElement.tooltip.content&&("Mouse"===this.hoverElement.tooltip.relativeMode?this.setTooltipOffset(e):(this.diagram.tooltipObject.offsetX=0,this.diagram.tooltipObject.offsetY=0));var a=this.diagram.findObjectsUnderMouse(this.currentPosition),s=this.diagram.findObjectUnderMouse(a,this.action,this.inAction);if(null!==s){var h=void 0;if(this.hoverElement.tooltip.isSticky&&(this.diagram.tooltipObject.isSticky=!0),s instanceof Hl&&s.children&&s.children.length>0&&(s=o||s),s.ports&&(this.hoverElement instanceof th||this.hoverElement instanceof eh))h=document.getElementById(s.id+"_"+this.hoverElement.id);else if(s.annotations&&(this.hoverElement instanceof ah||this.hoverElement instanceof sh))h=document.getElementById(s.id+"_"+this.hoverElement.id);else{var d=s.shape&&s.shape instanceof pl?"_content_native_element":"_groupElement";h=document.getElementById(s.id+d)}"Auto"===this.hoverElement.tooltip.openOn&&""!==n&&(this.diagram.tooltipObject.close(),this.diagram.tooltipObject.openOn=this.hoverElement.tooltip.openOn,this.diagram.tooltipObject.dataBind()),_e(this.hoverElement,this.diagram)&&"Auto"===this.hoverElement.tooltip.openOn&&(this.diagram.tooltipObject.target=this.hoverElement.id,"Mouse"===this.hoverElement.tooltip.relativeMode?this.diagram.tooltipObject.open(this.diagram.element):this.diagram.tooltipObject.open(h))}}},i.prototype.elementLeave=function(){this.diagram.tooltipObject&&!this.diagram.tooltipObject.isSticky&&"Custom"!==this.diagram.tooltipObject.openOn&&this.diagram.tooltipObject.close()},i.prototype.setTooltipOffset=function(t){var e=this.updatePointBasedOnScale(t),i=bn(this.diagram,e,this.hoverElement);this.diagram.tooltipObject.offsetX=i.x,this.diagram.tooltipObject.offsetY=i.y},i.prototype.updatePointBasedOnScale=function(t){var e=this.diagram.scaleValue;return{x:t.x*e,y:t.y*e}},i.prototype.altKeyPressed=function(e){return!!(e&t.KeyModifiers.Alt)},i.prototype.ctrlKeyPressed=function(e){return!!(e&t.KeyModifiers.Control)},i.prototype.shiftKeyPressed=function(e){return!!(e&t.KeyModifiers.Shift)},i.prototype.scrolled=function(t){this.diagram.updateScrollOffset()},i.prototype.isMobileOrIPadDevice=function(){var t=navigator.userAgent||navigator.vendor||window.opera;return"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1?"iOS (iPad)":/iPhone|iPad|iPod/.test(t)&&!window.MSStream?"iOS":/android/i.test(t)?"Android":/Mobile|Tablet/.test(t)?"Mobile":"Desktop"},i.prototype.doubleClick=function(e){if(Ke(this.diagram)){var i=this.isMobileOrIPadDevice(),r=this.diagram.tool;"Desktop"!==i&&this.tool&&(this.tool instanceof Qh||this.tool instanceof Jh)&&(this.diagram.tool=0);var n=void 0,o=this.diagram.findObjectsUnderMouse(this.currentPosition),a=this.diagram.findObjectUnderMouse(o,this.action,this.inAction);if(null!==a&&Ke(this.diagram))if(n=this.diagram.findElementUnderMouse(a,this.currentPosition,this.diagram),this.tool&&(this.tool instanceof Qh||this.tool instanceof Jh)){Do(a),this.currentPosition,e.detail;this.diagram.tool=r,this.tool.mouseUp(this.eventArgs),this.isMouseDown=!1,this.eventArgs={},this.tool=null,e.preventDefault()}else{var s=this.diagram.commandHandler.getObjectLayer(a.id);if(s&&!s.lock&&s.visible&&!(this.diagram.diagramActions&t.DiagramAction.TextEdit)){this.diagram.startTextEdit(a,n instanceof js?n.id.split(a.id+"_")[1]:void 0)}}var h={source:Do(a)||Do(this.diagram),position:this.currentPosition,count:e.detail};this.diagram.triggerEvent(t.DiagramEvent.doubleClick,h)}},i.prototype.itemClick=function(t,e){var i=t;return ur(this.diagram,i,!0)?i:null},i.prototype.inputChange=function(t){var e,i,r,n,o,a,s,h,d,l=document.getElementById(this.diagram.element.id+"_editBox"),c=document.getElementById(this.diagram.element.id+"_editTextBoxDiv"),p=l.value,g=p.split("\n");(!(n=this.diagram.selectedItems.nodes[0]?this.diagram.selectedItems.nodes[0]:this.diagram.selectedItems.connectors[0])&&this.tool instanceof Gh||n&&"SwimLane"===n.shape.type)&&(n=this.diagram.nameTable[this.diagram.activeLabel.parentId]),n&&("Text"!==n.shape.type&&n.annotations.length>0||"Text"===n.shape.type)&&(r=this.diagram.getWrapper(n.wrapper,this.diagram.activeLabel.id),e=(e=n.wrapper.bounds.width<r.bounds.width?n.wrapper.bounds.width:r.bounds.width)>90?e:90,s=wa(r.style,p,void 0,void 0,e),i=Number(l.style.fontSize.split("px")[0]),g.length>1&&""===g[g.length-1]&&(s.height=s.height+i),h=this.diagram.scroller.transform,d=ti(this.diagram)?h.scale:1,a=(90>(a=s.width)?90:a)*d,o=(12>s.height?12:s.height)*d,c.style.left=(r.bounds.center.x+h.tx)*h.scale-a/2-2.5+"px",c.style.top=(r.bounds.center.y+h.ty)*h.scale-o/2-3+"px",r.flipTransformOffset&&(c.style.left=parseFloat(c.style.left)+r.flipTransformOffset.x+"px",c.style.top=parseFloat(c.style.top)+r.flipTransformOffset.y+"px"),c.style.width=a+"px",c.style.height=o+"px",l.style.minHeight="12px",l.style.minWidth="90px",l.style.width=a+"px",l.style.height=o+"px")},i.prototype.isAddTextNode=function(t,e){return!!(this.tool instanceof Gh||e)&&(this.tool=null,t&&!Xe(this.diagram)&&(this.diagram.drawingObject=void 0,this.diagram.currentDrawingObject=void 0),!uo(this.diagram.nodes,t.id)&&!uo(this.diagram.connectors,t.id))},i.prototype.checkEditBoxAsTarget=function(t){return!(!t.target||t.target.id!==this.diagram.element.id+"_editBox")},i.prototype.getMouseEventArgs=function(e,i,r,n){i.position=e;var o,a;r?(a=this.diagram.findObjectsUnderMouse(this.currentPosition,r),o=this.diagram.findTargetObjectUnderMouse(a,this.action,this.inAction,i.position,r)):"Drag"===this.action||"ConnectorSourceEnd"===this.action||"SegmentEnd"===this.action||"OrthoThumb"===this.action||"BezierSourceThumb"===this.action||"BezierTargetThumb"===this.action||"ConnectorTargetEnd"===this.action||-1!==this.action.indexOf("Rotate")||-1!==this.action.indexOf("Resize")?(o=this.diagram.selectedItems,!this.diagram.currentSymbol&&"Drag"===this.action&&o&&this.diagram.selectedItems.nodes.length>0&&"SwimLane"===this.diagram.selectedItems.nodes[0].shape.type&&(a=this.diagram.findObjectsUnderMouse(this.currentPosition),o=this.diagram.findObjectUnderMouse(a,this.action,this.inAction))):(a=this.diagram.findObjectsUnderMouse(this.currentPosition),o=this.diagram.findObjectUnderMouse(a,this.action,this.inAction)),o&&o.isHeader&&-1===["LabelSelect","LabelDrag"].indexOf(this.currentAction)&&(o=this.diagram.nameTable[o.parentId],this.eventArgs.actualObject=o);var s;if(o){var h=void 0,d=void 0,l=void 0;if(((s=this.diagram.findElementUnderMouse(o,this.currentPosition,this.diagram,n))&&o.ports&&o.ports.length&&!qd(o,s)||!s||!o)&&a&&a.length&&r instanceof Ul)for(h=r.connectors[0],l=a.length-1;l>=0;l--)if(((d=a[parseInt(l.toString(),10)])instanceof Hl||d instanceof xd)&&h&&h.connectionPadding){if(o=d,s=this.diagram.findElementUnderMouse(o,this.currentPosition,this.diagram,n),h.constraints&t.ConnectorConstraints.ConnectToNearByPort&&o&&o.ports&&o.ports.length&&qd(o,s))break;if((d instanceof Hl||d instanceof xd)&&h&&h.connectionPadding&&d.wrapper.outerBounds.containsPoint(this.currentPosition)&&h.constraints&t.ConnectorConstraints.ConnectToNearByNode&&!(h.constraints&t.ConnectorConstraints.ConnectToNearByPort)){o=d,s=this.diagram.findElementUnderMouse(o,this.currentPosition,this.diagram,0);break}}}return r?(i.target=o,i.targetWrapper=s):(i.source=o,i.sourceWrapper=s),i.actualObject=this.eventArgs.actualObject,i.source instanceof Ul&&void 0===i.actualObject&&(i.source.nodes.length>0||i.source.connectors.length>0)&&(i.actualObject=i.source.nodes.length>0?this.diagram.nameTable[i.source.nodes[0].id]:this.diagram.nameTable[i.source.connectors[0].id]),i.startTouches=this.touchStartList,i.moveTouches=this.touchMoveList,i},i.prototype.resetTool=function(){this.action="Select",this.hoverElement=null,this.hoverNode=null,this.tool=this.diagram.getTool(this.action),this.updateCursor()},i.prototype.updateTool=function(){if(this.currentPosition){var t=this.diagram.findObjectsUnderMouse(this.currentPosition),e=this.diagram.findObjectUnderMouse(t,this.action,this.inAction),i=null,r=void 0;null!==e&&(i=this.diagram.findElementUnderMouse(e,this.currentPosition,this.diagram)),i&&(r=this.commandHandler.findTarget(i,e)),this.action=this.diagram.findActionToBeDone(e,i,this.currentPosition,r)}else this.action="Select"},i.prototype.getTool=function(t){switch(t){case"Select":return new Hh(this.commandHandler,!0);case"Drag":return new Fh(this.commandHandler);case"Rotate":return new Yh(this.commandHandler);case"LayoutAnimation":return new qh(this.commandHandler);case"FixedUserHandle":return new Wh(this.commandHandler,!0);case"Hyperlink":return new Kh(this.commandHandler);case"ResizeSouthEast":case"ResizeSouthWest":case"ResizeNorthEast":case"ResizeNorthWest":case"ResizeSouth":case"ResizeNorth":case"ResizeWest":case"ResizeEast":return new Vh(this.commandHandler,t);case"ConnectorSourceEnd":case"ConnectorTargetEnd":case"BezierSourceThumb":case"BezierTargetThumb":return new _h(this.commandHandler,t);case"SegmentEnd":case"OrthoThumb":return new Ic(this.commandHandler,t);case"Draw":var e=tn(this.diagram.drawingObject);if("Node"===e&&"Text"===this.diagram.drawingObject.shape.type)return new Gh(this.commandHandler);if("Connector"===e&&"Freehand"===this.diagram.drawingObject.type)return new id(this.commandHandler);if("Node"===e&&"Polygon"===this.diagram.drawingObject.shape.shape&&!this.diagram.drawingObject.shape.points)return new Qh(this.commandHandler);if("Node"===e||"Node"===e&&"Polygon"===this.diagram.drawingObject.shape.shape&&this.diagram.drawingObject.shape.points)return new Xh(this.commandHandler,this.diagram.drawingObject);if("Connector"===e&&"Polyline"===this.diagram.drawingObject.type)return new Jh(this.commandHandler);if("Connector"===e)return new Uh(this.commandHandler,"ConnectorSourceEnd",this.diagram.drawingObject);break;case"Pan":return new Zh(this.commandHandler,!1);case"PinchZoom":return new Zh(this.commandHandler,!0);case"PortDrag":return new Fh(this.commandHandler,"Port");case"PortDraw":return new Uh(this.commandHandler,"ConnectorSourceEnd",this.diagram.drawingObject);case"LabelSelect":return new Hh(this.commandHandler,!0,"LabelSelect");case"LabelDrag":return new $h(this.commandHandler);case"LabelResizeSouthEast":case"LabelResizeSouthWest":case"LabelResizeNorthEast":case"LabelResizeNorthWest":case"LabelResizeSouth":case"LabelResizeNorth":case"LabelResizeWest":case"LabelResizeEast":return new td(this.commandHandler,t);case"LabelRotate":return new ed(this.commandHandler)}return null},i.prototype.getCursor=function(t){var e=this.diagram.selectedItems.annotation?this.diagram.selectedItems.wrapper.children[0]:this.diagram.selectedItems;return kr(t,this.diagram.selectedItems.annotation?e.rotateAngle+e.parentTransform:e.rotateAngle)},i.prototype.findElementUnderMouse=function(t,e,i,r){return this.objectFinder.findElementUnderSelectedItem(t,e,i,r)},i.prototype.findObjectsUnderMouse=function(t,e){return this.objectFinder.findObjectsUnderMouse(t,this.diagram,this.eventArgs,e)},i.prototype.findObjectUnderMouse=function(t,e,i){return this.objectFinder.findObjectUnderMouse(this.diagram,t,e,i,this.eventArgs,this.currentPosition)},i.prototype.findTargetUnderMouse=function(t,e,i,r,n){return this.objectFinder.findObjectUnderMouse(this.diagram,t,e,i,this.eventArgs,r,n)},i.prototype.findActionToBeDone=function(t,e,i,r){return Cr(t,e,this.currentPosition,this.diagram,this.touchStartList,this.touchMoveList,r)},i.prototype.updateContainerBounds=function(t){var e=!1;if(this.diagram.selectedObject.helperObject&&this.diagram.selectedObject.actualObject)for(var i=this.diagram.selectedObject.actualObject,r=this.diagram.selectedObject.actualObject instanceof Ul?i.nodes:[i],n=0;n<r.length;n++){var o=r[parseInt(n.toString(),10)],a=this.tool instanceof Vh,s=this.diagram.nameTable[o.parentId];t?lr(this.diagram,o,this.currentPosition,a):((!s||s&&"SwimLane"!==s.shape.type)&&this.diagram.updateDiagramObject(o),e=dr(this.diagram,o,this.currentPosition,a),this.diagram.updateSelector(),(o.isLane||o.isPhase)&&(this.diagram.clearSelection(),this.commandHandler.selectObjects([o])))}return e},i.prototype.updateContainerProperties=function(){var e,i,r,n,o=!1,a=!1,s={hasStack:!1,isPreventHistory:!1};if(this.diagram.selectedObject.helperObject){var h=this.diagram.findObjectsUnderMouse(this.currentPosition),d=this.diagram.findObjectUnderMouse(h,this.action,this.inAction);if(e=this.diagram.selectedObject.helperObject,(n=this.diagram.selectedObject.actualObject)instanceof Hl){if("SwimLane"===n.shape.type&&(r=yi(this.diagram,n.wrapper.children[0])),"SwimLane"!==n.shape.type&&n.parentId&&"SwimLane"===this.diagram.getObject(n.parentId).shape.type&&d instanceof Hl&&this.diagram.getObject(d.parentId)&&"SwimLane"!==this.diagram.getObject(d.parentId).shape.type&&(d=this.diagram.getObject(d.parentId)),"Drag"===this.currentAction&&n.container&&"Canvas"===n.container.type&&n.parentId&&"SwimLane"===this.diagram.getObject(n.parentId).shape.type&&d&&d.container&&"Canvas"===d.container.type&&d.isLane&&n.isLane&&d.parentId===n.parentId)d!==n&&Di(this.diagram,n,d,this.currentPosition),s.isPreventHistory=!0;else{if(!(E=this.diagram.nameTable[n.parentId])||E&&"SwimLane"!==E.shape.type)if(E&&E.isLane&&n.constraints&t.NodeConstraints.AllowMovingOutsideLane){var l=this.diagram.getObject(E.parentId),c=void 0,p=void 0;if("Vertical"===l.shape.orientation)c=l.wrapper.bounds.x+l.shape.phaseSize,p=l.wrapper.bounds.y+l.shape.header.height;else{var g=l.shape.header.height+l.shape.phaseSize;c=l.wrapper.bounds.x,p=l.wrapper.bounds.y+g}var u=l.wrapper.bounds.bottomRight.x-c,f=l.wrapper.bounds.bottomRight.y-p;new ms(c,p,u,f).containsPoint(this.currentPosition)&&(n.offsetX=e.offsetX,n.offsetY=e.offsetY,n.width=e.width,n.height=e.height,n.rotateAngle=e.rotateAngle)}else if(1===this.diagram.selectedItems.nodes.length)n.offsetX=e.offsetX,n.offsetY=e.offsetY,n&&n.shape&&"UmlClassifier"!==n.shape.type&&(n.width=e.width,n.height=e.height),n.rotateAngle=e.rotateAngle;else if(this.diagram.selectedItems.nodes.length>1)for(var m=e.offsetX-this.diagram.selectedItems.offsetX,y=e.offsetY-this.diagram.selectedItems.offsetY,v=e.rotateAngle-this.diagram.selectedItems.rotateAngle,b=0;b<this.diagram.selectedItems.nodes.length;b++)this.diagram.selectedItems.nodes[parseInt(b.toString(),10)].offsetX+=m,this.diagram.selectedItems.nodes[parseInt(b.toString(),10)].offsetY+=y,this.diagram.selectedItems.nodes[parseInt(b.toString(),10)].rotateAngle+=v;var S=void 0;if(E&&E.container&&"Stack"===E.container.type&&(this.diagram.startGroupAction(),a=!0),!d&&E&&E.container&&"Stack"===E.container.type&&"Drag"===this.action){var w=E.wrapper.children.indexOf(n.wrapper);if(S={targetIndex:void 0,target:void 0,sourceIndex:w,source:k(n)},w>-1){var x=E.children;x.splice(x.indexOf(n.id),1),this.diagram.nameTable[n.id].parentId="",i=!0,E.wrapper.children.splice(w,1)}}if(Ir(n,d,this.diagram,this.action),(E=ur(this.diagram,n)?this.diagram.nameTable[n.parentId]:this.diagram.nameTable[n.parentId]||n)&&E.container&&"Canvas"===E.container.type&&(E.wrapper.maxWidth=E.maxWidth=E.wrapper.actualSize.width,E.wrapper.maxHeight=E.maxHeight=E.wrapper.actualSize.height,o=!0),ur(this.diagram,n,!0)&&E&&"Canvas"===E.container.type)if(this.diagram.selectedItems.nodes.length>1)for(b=0;b<this.diagram.selectedItems.nodes.length;b++)fr(this.diagram,this.diagram.selectedItems.nodes[parseInt(b.toString(),10)]);else fr(this.diagram,n);else s=this.updateContainerPropertiesExtend(E,n,r,e,s);if(this.diagram.lineRoutingModule&&this.diagram.constraints&t.DiagramConstraints.LineRouting&&!ur(this.diagram,n,!0)&&(n.children&&(this.diagram.realActions|=t.RealAction.EnableGroupAction),this.diagram.nodePropertyChange(n,{},{width:n.width,height:n.height,offsetX:n.offsetX,offsetY:n.offsetY}),n.children&&(this.diagram.realActions&=~t.RealAction.EnableGroupAction)),n.shape.lanes&&this.updateLaneChildNode(n),o&&(E.maxWidth=E.wrapper.maxWidth=void 0,E.maxHeight=E.wrapper.maxHeight=void 0),i){this.diagram.nodePropertyChange(E,{},{offsetX:E.offsetX,offsetY:E.offsetY,width:E.width,height:E.height,rotateAngle:E.rotateAngle});var I={redoObject:{sourceIndex:void 0,source:S.source},type:"StackChildPositionChanged",undoObject:S,category:"Internal"};this.diagram.diagramActions&t.DiagramAction.UndoRedo||this.diagram.addHistoryEntry(I)}n&&n.container&&("Stack"===n.container.type||"Canvas"===n.container.type&&""===n.parentId)&&(n&&n.shape&&"UmlClassifier"===n.shape.type&&(n.wrapper.measureChildren=!0),this.diagram.nodePropertyChange(n,{},{offsetX:n.offsetX,offsetY:n.offsetY,width:n.width,height:n.height,rotateAngle:n.rotateAngle}),n&&n.shape&&"UmlClassifier"===n.shape.type&&(n.wrapper.measureChildren=!1))}Pi(r,this.diagram),s.hasStack=a}else if(n instanceof Ul){var m=e.offsetX-n.offsetX,y=e.offsetY-n.offsetY,v=e.rotateAngle-n.rotateAngle,u=e.width-n.width,f=e.height-n.height,C=e.width/n.width,P=e.height/n.height;if(this.tool.corner)for(var D=this.tool.getPivot(this.tool.corner),b=0;b<n.nodes.length;b++){var T=(M=n.nodes[parseInt(b.toString(),10)]).wrapper,A=n.wrapper,O=Po(c=A.offsetX-A.actualSize.width*A.pivot.x,p=A.offsetY-A.actualSize.height*A.pivot.y,A.actualSize.width,A.actualSize.height,A.rotateAngle,A.offsetX,A.offsetY,D);this.diagram.commandHandler.scaleObject(C,P,O,M,T,n)}else for(b=0;b<n.nodes.length;b++){var M=n.nodes[parseInt(b.toString(),10)],E=this.diagram.nameTable[M.parentId];E&&"SwimLane"!==E.shape.type&&ur(this.diagram,M,!0)&&"Canvas"===E.container.type&&(M.offsetX+=m,M.offsetY+=y,M&&M.shape&&"UmlClassifier"!==M.shape.type&&(M.width+=u,M.height+=f),M.rotateAngle+=v,fr(this.diagram,M))}}}return n&&(n.isPhase||n.isLane||n.shape&&"SwimLane"===n.shape.type)&&this.diagram.updateDiagramElementQuad(),s},i.prototype.updateLaneChildNode=function(t){for(var e=0;e<t.shape.lanes.length;e++)if(t.shape.lanes[parseInt(e.toString(),10)].children&&t.shape.lanes[parseInt(e.toString(),10)].children.length>0)for(var i=0;i<t.shape.lanes[parseInt(e.toString(),10)].children.length;i++){var r=t.shape.lanes[parseInt(e.toString(),10)].children[parseInt(i.toString(),10)].id,n=this.diagram.nameTable[""+r];n&&(n.offsetX=n.wrapper.offsetX,n.offsetY=n.wrapper.offsetY)}},i.prototype.updateContainerPropertiesExtend=function(t,e,i,r,n){if("ResizeEast"===this.currentAction||"ResizeSouth"===this.currentAction||"SwimLane"===e.shape.type){var o=k(e),a=!1;if(t&&t.container&&"Grid"===t.container.type){var s="SwimLane"===t.shape.type,h=s?t.wrapper.children[0]:t.wrapper,d=s?t.shape.padding:void 0,l=t.wrapper.bounds.x,c=t.wrapper.bounds.y;if(void 0!==e.columnIndex&&"Horizontal"===t.container.orientation&&(s&&e.isPhase||!s&&1===e.rowIndex)||"Vertical"===t.container.orientation&&(!s&&e.rowIndex>0&&e.columnIndex>0||s&&e.isLane)){"Horizontal"===t.container.orientation&&e.isPhase&&e.wrapper.width>e.maxWidth&&(e.maxWidth=e.wrapper.width,e.wrapper.maxWidth=e.wrapper.width);var p=r.wrapper.actualSize.width-e.wrapper.actualSize.width;if(h.updateColumnWidth(e.columnIndex,r.width,!0,d),Ai(this.diagram,e,t,r,p),e.isPhase){var g=t.shape.phases[e.columnIndex].header.id,u=this.diagram.nameTable[""+g];u.maxWidth<r.width&&(u.maxWidth=r.width,u.wrapper.maxWidth=r.width)}"SwimLane"===t.shape.type&&(t.width=t.width?h.width:t.width,zi(this.diagram,t),t.wrapper.width=t.width,i=yi(this.diagram,h,e.rowIndex))}else if(void 0!==e.rowIndex){a=!0;var f=r.wrapper.actualSize.height-e.wrapper.actualSize.height;h.updateRowHeight(e.rowIndex,r.height,!0,d),Ai(this.diagram,e,t,r,void 0,f),"SwimLane"===t.shape.type&&(t.height=t.height?h.height:t.height,t.wrapper.height=t.height,i=yi(this.diagram,h,e.rowIndex))}"SwimLane"===t.shape.type&&(n.isPreventHistory=!0),this.diagram.nodePropertyChange(t,{},{offsetX:t.offsetX,offsetY:t.offsetY,rotateAngle:t.rotateAngle}),this.diagram.drag(t,l-t.wrapper.bounds.x,c-t.wrapper.bounds.y)}else e&&e.shape&&"UmlClassifier"===e.shape.type&&(e.wrapper.measureChildren=!0),this.diagram.nodePropertyChange(e,{},{offsetX:e.offsetX,offsetY:e.offsetY,width:e.width,height:e.height,rotateAngle:e.rotateAngle}),e.wrapper.measureChildren=!1;if(e.wrapper.measure(new ps(e.wrapper.width,e.wrapper.height)),e.wrapper.arrange(e.wrapper.desiredSize),"ResizeEast"===this.currentAction||"ResizeSouth"===this.currentAction){var m=k(e),y={category:"Internal",type:a?"RowHeightChanged":"ColumnWidthChanged",undoObject:o,redoObject:m};this.diagram.addHistoryEntry(y)}}return Pi(i,this.diagram),n},i.prototype.addUmlNode=function(){var e,i,r=this.diagram.selectedItems.nodes[0],n=this.diagram.findObjectsUnderMouse({x:this.currentPosition.x+20,y:this.currentPosition.y}),o=this.diagram.findObjectUnderMouse(n,this.action,this.inAction);if(o||(n=this.diagram.findObjectsUnderMouse({x:this.currentPosition.x-20,y:this.currentPosition.y}),o=this.diagram.findObjectUnderMouse(n,this.action,this.inAction)),r&&r.container&&"Stack"===r.container.type&&o&&o.parentId&&o.parentId===r.id){var a=o,s=Ma(this.diagram.element.id);if(s.getElementById(s.id+"_stack_highlighter")){var h=r.wrapper.children.indexOf(o.wrapper)+1;this.diagram.enableServerDataBinding(!1);var d=new Hl(this.diagram,"nodes",{style:{fill:r.style.fill,strokeColor:"black"===r.style.strokeColor?"#ffffff00":r.style.strokeColor},annotations:o.annotations,verticalAlignment:"Stretch",horizontalAlignment:"Stretch",constraints:(t.NodeConstraints.Default|t.NodeConstraints.HideThumbs)&~(t.NodeConstraints.Rotate|t.NodeConstraints.Drag|t.NodeConstraints.Resize),minHeight:25},!0);d.annotations[0].content=" + Name : Type";a.id.split("_");d.id=O()+d.id,d.parentId=r.id,d.zIndex=-1,d.umlIndex=h,this.diagram.startGroupAction();var l={name:"Name",type:"Type"};if("Class"===r.shape.classifier&&(o.id.includes("_umlProperty")&&r.shape.classShape.attributes.length>0?(e=new El(r,"",l),r.shape.classShape.attributes.push(e)):o.id.includes("_umlMethods")&&r.shape.classShape.methods.length>0&&(i=new Ll(r,"",l),r.shape.classShape.methods.push(i))),"Interface"===r.shape.classifier&&(o.id.includes("_umlProperty")&&r.shape.interfaceShape.attributes.length>0?(e=new El(r,"",l),r.shape.classShape.attributes.push(e)):o.id.includes("_umlMethods")&&r.shape.interfaceShape.methods.length>0&&(i=new Ll(r,"",l),r.shape.interfaceShape.methods.push(i))),"Enumeration"===r.shape.classifier&&o.id.includes("_umlMember")&&r.shape.enumerationShape.members.length>0){var c=new Bl(r,"",l);r.shape.enumerationShape.members.push(c)}r.wrapper.children.indexOf(d.wrapper);this.diagram.enableServerDataBinding(!0),this.diagram.add(d),this.diagram.updateConnectorEdges(r),this.diagram.clearSelection(),this.diagram.select([this.diagram.nameTable[d.id]]),this.diagram.endGroupAction(),this.diagram.startTextEdit()}}},i}(),Pc=function(){function e(){}return e.prototype.findObjectsUnderMouse=function(e,i,r,n,o){var a=[];n&&n instanceof Ul&&n.nodes.length+n.connectors.length===1&&(n=n.nodes[0]||n.connectors[0]).children&&0===n.children.length&&(r.actualObject=n);for(var s,h,d,l,c,p=n&&n instanceof xd&&(n.constraints&t.ConnectorConstraints.ConnectToNearByNode||n.constraints&t.ConnectorConstraints.ConnectToNearByPort)&&n.connectionPadding||0,g={},u=0,f=i.spatialSearch.findObjects(new ms(e.x-50-p,e.y-50-p,100+p,100+p));u<f.length;u++){var m=e;h=(M=f[u]).wrapper.outerBounds;var b=!M.rotateAngle&&h.containsPoint(m,p);if(((M!==n||i.currentDrawingObject instanceof xd)&&M instanceof xd?M!==i.currentDrawingObject:M.wrapper.visible)&&(D=i.commandHandler.getObjectLayer(M.id))&&!D.lock&&D.visible){if(c=g[D.zIndex]=g[D.zIndex]||[],M.rotateAngle){h=L(s=M.wrapper);for(var w=0,x=s.children;w<x.length;w++)d=x[w],S(l=y(),-(d.rotateAngle+d.parentTransform),d.offsetX,d.offsetY),m=v(l,e),L(d).containsPoint(m,p)&&(b=!0)}if((!n||!1===zr(i,M))&&Pe(M)&&(M instanceof xd?un(M,e):b||M.flip)){var I=M instanceof xd?M.hitPadding||0:0;this.findElementUnderMouse(M,e,i,p||I)&&"helper"!==M.id&&bo(M,"zIndex",c)}}}for(var C=0,P=i.layers;C<P.length;C++){var D=P[C],T=g[D.zIndex];T&&T.length>1&&(T=vo(T));for(var A=0,O=a=a.concat(T||[]);A<O.length;A++){var M=O[A];"Bpmn"!==M.shape.type||!M.processId||i.eventHandler.tool instanceof Fh&&!(i.eventHandler.tool instanceof Fh&&He(M))||(N=a.indexOf(i.nameTable[M.processId]))>-1&&a.splice(N,1),"UmlClassifier"===M.shape.type&&M.container&&"Stack"===M.container.type&&(N=a.indexOf(i.nameTable[i.nameTable[M.id].wrapper.children[0].id]))>-1&&a.splice(N,1)}}for(R=0;R<a.length;R++){var E=i.nameTable[a[parseInt(R.toString(),10)].parentId];if(E)for(var z=this.findElementUnderMouse(E,e,i),k=0;k<E.ports.length;k++)if(z&&z.id.match("_"+E.ports[parseInt(k.toString(),10)].id+"$")){var B=E.ports[parseInt(k.toString(),10)];if(ni(B)||ri(B))return a}for(;E;){var N=a.indexOf(E);if(-1===N)break;a.splice(N,1),E=i.nameTable[E.parentId]}}if(this.checkSwimlane(a,i),r&&!r.source)for(var R=0;R<a.length;R++){var j=i.nameTable[a[parseInt(R.toString(),10)].parentId];if(j&&"SwimLane"===j.shape.type)for(k=0;k<a.length;k++)a[parseInt(k.toString(),10)]instanceof xd&&a.splice(R,1)}return a},e.prototype.checkSwimlane=function(t,e){for(var i,r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)],o=void 0,a=void 0;n instanceof Hl&&(o=t[parseInt(r.toString(),10)].parentId,a=n),""===o&&(i="SwimLane"!==a.shape.type);var s=e.nameTable[""+o];if(s&&s.isLane&&e.nameTable[s.parentId].zIndex>n.zIndex&&(t[parseInt(r.toString(),10)]=s),r>0&&i&&a&&(a.isLane||a.isPhase||a.isHeader)&&t[parseInt(r.toString(),10)].zIndex<t[r-1].zIndex){var h=t[parseInt(r.toString(),10)];t[parseInt(r.toString(),10)]=t[r-1],t[r-1]=h}}if(t.length>=2)for(var d=t.length-1;d>=0;d--)if(t[parseInt(d.toString(),10)].parentId){var l=Eo(t[parseInt(d.toString(),10)],e,""),c=Eo(t[d-1],e,""),p=e.nameTable[""+l],g=e.nameTable[""+c];g&&l!==c&&p.zIndex<g.zIndex&&t.splice(d,1)}},e.prototype.isTarget=function(t,e,i){var r,n=e.selectedItems.connectors[0];if(!(r="ConnectorSourceEnd"===i?e.nameTable[n.targetID]:r=e.nameTable[n.sourceID])||r.processId&&!t.processId||r.processId!==t.processId||(r.processId!==t.processId&&(t=null),t&&t.parentId&&"UmlClassifier"===e.nameTable[t.parentId].shape.type&&(t=e.nameTable[t.parentId])),"ConnectorSourceEnd"===i&&n.targetID){var o=e.nameTable[n.targetID];if(o&&o.shape&&"TextAnnotation"===o.shape.shape){var a=n.id.split("_");("Bpmn"===o.shape.type&&"Bpmn"!==t.shape.type||a[0]===t.id||"TextAnnotation"===t.shape.shape)&&(t=null),t&&t.parentId&&"UmlClassifier"===e.nameTable[t.parentId].shape.type&&(t=e.nameTable[t.parentId])}}return t&&(r&&t.id===r.processId||r&&"Container"===t.shape.type&&t.id===r.parentId||("ConnectorSourceEnd"===i||"ConnectorTargetEnd"===i)&&t.id===n.parentId)&&(t=null),t},e.prototype.findObjectUnderMouse=function(t,e,i,r,n,o,a){var s,h,d=null;if(null===n&&(n={}),0!==e.length)if(a&&a instanceof Ul&&a.nodes.length+a.connectors.length===1&&(a=a.nodes[0]||a.connectors[0]),"ConnectorSourceEnd"===i&&a||"PortDraw"===i||(Ue(t)||Xe(t))&&_d(t.drawingObject)===xd)for(var l=t.selectedItems.connectors[0],c=e.length-1;c>=0;c--){h=co(e[parseInt(c.toString(),10)],!1),s=co(e[parseInt(c.toString(),10)],!0);var p=t.eventHandler.tool,g=this.findTargetElement(e[parseInt(c.toString(),10)].wrapper,o,t,void 0);if("Draw"===i&&g&&(e[parseInt(c.toString(),10)]instanceof Hl||e[parseInt(c.toString(),10)]instanceof xd)&&!qd(e[parseInt(c.toString(),10)],g)&&(p&&"ConnectorSourceEnd"===p.endPoint&&!Ne(e[parseInt(c.toString(),10)])||p&&"ConnectorTargetEnd"===p.endPoint&&!ke(e[parseInt(c.toString(),10)])))return d;if(e[parseInt(c.toString(),10)]instanceof Hl||e[parseInt(c.toString(),10)]instanceof xd&&(Ne(e[parseInt(c.toString(),10)])||Re(h)||ke(e[parseInt(c.toString(),10)])||Be(s)||"PortDraw"===i&&p instanceof _h&&"ConnectorTargetEnd"===p.endPoint&&(ke(e[parseInt(c.toString(),10)])||Be(s))))return d=e[parseInt(c.toString(),10)],l&&(d=this.isTarget(d,t,i)),n.actualObject=d,d}else if("ConnectorTargetEnd"===i&&a){for(c=e.length-1;c>=0;c--)if(s=co(e[parseInt(c.toString(),10)],!0),(e[parseInt(c.toString(),10)]instanceof Hl||e[parseInt(c.toString(),10)]instanceof xd)&&(ke(e[parseInt(c.toString(),10)])||Be(s)))return d=e[parseInt(c.toString(),10)],d=this.isTarget(d,t,i),n.actualObject=d,d}else{if(a&&("Drag"===i||t.eventHandler.tool instanceof Fh)){for(var u=0,c=0;c<e.length;c++){var f=e[parseInt(c.toString(),10)];a!==f&&(f instanceof xd||!o||f.wrapper.bounds.containsPoint(o))&&He(f)&&(d?(d=u>=f.zIndex?d:f,u=Math.max(u,f.zIndex)):u=(d=f).zIndex)}return d&&"Bpmn"===d.shape.type&&(d=t.selectedItems.nodes.length>0&&"Bpmn"===t.selectedItems.nodes[0].shape.type&&"TextAnnotation"!==t.selectedItems.nodes[0].shape.shape?d:null),d&&(n.actualObject=d),d}if("Select"!==i&&"Pan"!==i||!t.eventHandler.tool)if("Pan"===i||"LayoutAnimation"===i){for(c=e.length-1;c>=0;c--)if(e[parseInt(c.toString(),10)]instanceof Hl||e[parseInt(c.toString(),10)]instanceof xd){g=this.findTargetElement(e[parseInt(c.toString(),10)].wrapper,o,t,void 0);if("Pan"===i||g&&(g.id.match("_icon_content_shape$")||g.id.match("_icon_content_rect$")))return e[parseInt(c.toString(),10)]}}else d=e[e.length-1],n&&d&&(n.actualObject=d);else{for(c=e.length-1;c>=0;c--)if(e[parseInt(c.toString(),10)]instanceof xd){var m=e[c-1];if(e[c-1]instanceof Hl&&m.ports){if((g=this.findTargetElement(m.wrapper,o,t,void 0))&&(g.id.match("_icon_content_shape$")||g.id.match("_icon_content_rect$")))return m;for(var y=0;y<m.ports.length;y++)if(g&&g.id.match("_"+m.ports[parseInt(y.toString(),10)].id+"$")&&ri(m.ports[parseInt(y.toString(),10)]))return m}}if(d=e[e.length-1],n.actualObject=d,!t.eventHandler.itemClick(d,!0)&&d.parentId&&t.nameTable[d.parentId]&&"Container"!==t.nameTable[d.parentId].shape.type)for(var v=d,b=zr(t,v);v&&(!zr(t,v)||b)&&(d=v,""===v.tooltip.content);)v=t.nameTable[v.parentId]}}return d},e.prototype.findElementUnderSelectedItem=function(t,e,i,r){return t instanceof Ul?1!==t.nodes.length||t.connectors&&t.connectors.length?t.nodes&&!t.nodes.length||1!==t.connectors.length?null:this.findElementUnderMouse(t.connectors[0],e,i):this.findElementUnderMouse(t.nodes[0],e,i):this.findElementUnderMouse(t,e,i,r)},e.prototype.findElementUnderMouse=function(t,e,i,r){return this.findTargetElement(t.wrapper,e,i,r)},e.prototype.findTargetElement=function(t,e,i,r){for(var n=t.children.length-1;n>=0;n--){var o=t.children[parseInt(n.toString(),10)],a=void 0;if(o instanceof js&&No(o)&&o.position){var s=Bo({width:t.desiredSize.width,height:t.desiredSize.height,padding:t.padding,offsetX:t.offsetX,offsetY:t.offsetY,parentTransform:t.parentTransform,rotateAngle:t.rotateAngle},o);o.flippedPoint=s;var h=s.x-o.corners.topLeft.x,d=s.y-o.corners.topLeft.y;s?(a={left:o.bounds.x+h,top:o.bounds.y+d,right:o.bounds.x+h+o.bounds.width,bottom:o.bounds.y+d+o.bounds.height},o.flippedPoint=s):o.flippedPoint=void 0}else o.flippedPoint=void 0;if(o&&(a?Ro(a,e,r||0):o.outerBounds.containsPoint(e,r||0)))if(o.visible){if(o instanceof Ns){var l=this.findTargetElement(o,e,i);if(l)return l}var c="Clip"===o.style.textOverflow||"Ellipsis"===o.style.textOverflow;if((a?Ro(a,e,r||0):o.bounds.containsPoint(e,r||0))&&!c)return o;if(t.bounds.containsPoint(e,r||0)&&c)return o}else if(o instanceof Ws&&t&&t.id){var p=void 0;if(t.id.includes("group_container")){var g=t.id.slice(0,-15);p=i.getObject(g)}else p=i.getObject(t.id);if(lo(p,o.id))return o}}return t.bounds.containsPoint(e,r)&&"none"!==t.style.fill?t:null},e}(),Dc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Tc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Ac=function(t){function i(e,i,r,n){var o=t.call(this,e,i,r,n)||this;return o.objectZIndex=-1,o.zIndexTable={},o.objects=[],o}return Dc(i,t),Tc([e.Property("")],i.prototype,"id",void 0),Tc([e.Property(!0)],i.prototype,"visible",void 0),Tc([e.Property(!1)],i.prototype,"lock",void 0),Tc([e.Property()],i.prototype,"objects",void 0),Tc([e.Property()],i.prototype,"addInfo",void 0),Tc([e.Property(-1)],i.prototype,"zIndex",void 0),i}(e.ChildProperty),Oc=function(){return(Oc=Object.assign||function(t){for(var e,i=1,r=arguments.length;i<r;i++){e=arguments[i];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])}return t}).apply(this,arguments)},Mc=function(t,e,i,r){return new(i||(i=Promise))(function(n,o){function a(t){try{h(r.next(t))}catch(t){o(t)}}function s(t){try{h(r.throw(t))}catch(t){o(t)}}function h(t){t.done?n(t.value):new i(function(e){e(t.value)}).then(a,s)}h((r=r.apply(t,e||[])).next())})},Ec=function(t,e){function i(t){return function(e){return r([t,e])}}function r(i){if(n)throw new TypeError("Generator is already executing.");for(;h;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return h.label++,{value:i[1],done:!1};case 5:h.label++,o=i[1],i=[0];continue;case 7:i=h.ops.pop(),h.trys.pop();continue;default:if(a=h.trys,!(a=a.length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){h=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){h.label=i[1];break}if(6===i[0]&&h.label<a[1]){h.label=a[1],a=i;break}if(a&&h.label<a[2]){h.label=a[2],h.ops.push(i);break}a[2]&&h.ops.pop(),h.trys.pop();continue}i=e.call(t,h)}catch(t){i=[6,t],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}var n,o,a,s,h={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},Lc=function(){function i(t){this.clipboardData={},this.diagramObject={},this.newSelectedObjects={},this.oldSelectedObjects={},this.changedNodeZIndexes={},this.connectorsTable=[],this.PreventConnectorSplit=!1,this.processTable={},this.containerChildTable={},this.isContainer=!1,this.canUpdateTemplate=!1,this.cloningInProgress=!1,this.clonedChildrenTable={},this.annotationRestrictDeltaValue={x:0,y:0},this.childTable={},this.objectStore=[],this.parentTable={},this.blazor="Blazor",this.blazorInterop="sfBlazor",this.cloneGroupChildCollection=[],this.diagram=t}return Object.defineProperty(i.prototype,"snappingModule",{get:function(){return this.diagram.snappingModule},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"layoutAnimateModule",{get:function(){return this.diagram.layoutAnimateModule},enumerable:!0,configurable:!0}),i.prototype.startTransaction=function(t){this.state={element:this.diagram.selectedItems,backup:null},t&&this.diagram.protectPropertyChange(!0),La(this.diagram.element.id).style.pointerEvents="none"},i.prototype.endTransaction=function(t){this.state=null,t&&this.diagram.protectPropertyChange(!1),La(this.diagram.element.id).style.pointerEvents="all"},i.prototype.setFocus=function(){document.getElementById(this.diagram.element.id).focus()},i.prototype.showTooltip=function(t,i,r,n,o){var a,s,h=this,d=!1;if(t instanceof Ul?1===t.nodes.length&&0===t.connectors.length?(a=t.nodes[0].id,t.nodes[0].shape&&t.nodes[0].shape instanceof pl&&(d=!0)):0===t.nodes.length&&1===t.connectors.length?a=t.connectors[0].id:s=document.getElementById(this.diagram.element.id+"_SelectorElement"):t instanceof Hl?(a=t.id,t.shape&&t.shape instanceof pl&&(d=!0)):a=t.id,e.isNullOrUndefined(s)&&!e.isNullOrUndefined(a)){var l=d?"_content_native_element":"_groupElement";s=document.getElementById(a+l)}if(o&&(this.diagram.tooltipObject.position="BottomCenter",this.diagram.tooltipObject.animation={open:{delay:0,duration:0}},this.diagram.tooltipObject.openDelay=0,this.diagram.tooltipObject.closeDelay=0),this.diagram.selectedItems.setTooltipTemplate){var c=void 0,p=Z(this.diagram.selectedItems.setTooltipTemplate);p&&(c=p(t,this.diagram)),r=c instanceof HTMLElement?c.cloneNode(!0):c||r}this.diagram.tooltipObject.isSticky=!1,t.tooltip&&(this.diagram.tooltipObject.openOn=t.tooltip.openOn),this.diagram.tooltipObject.content="string"==typeof r?e.initializeCSPTemplate(function(){return r}):r,this.diagram.tooltipObject.offsetX=0,this.diagram.tooltipObject.offsetY=0,this.diagram.tooltipObject.refresh(s),o&&setTimeout(function(){h.diagram.tooltipObject.open(s)},1)},i.prototype.connectorSplit=function(e,i){var r=e.id,n=k(i),o=this.diagram.connectors.indexOf(i),a=this.diagram.nodes.indexOf(e),s=k(e),h={},d={},l={offsetX:s.offsetX,offsetY:s.offsetY},c={sourceID:n.sourceID,sourcePoint:n.sourcePoint,sourcePortID:n.sourcePortID,targetID:n.targetID,targetPoint:n.targetPoint,targetPortID:n.targetPortID};h[parseInt(o.toString(),10)]=c,d[parseInt(a.toString(),10)]=l;var p={},g={},u={},f={};if(""!==n.sourceID&&""!==n.targetID?f.targetID=this.ConnectorTargetChange(i,r):""!==n.sourceID&&""===n.targetID?(this.nodeOffsetChange(u,s,i.targetPoint),f.targetID=this.ConnectorTargetChange(i,r)):(""===n.sourceID&&""===n.targetID||""===n.sourceID&&""!==n.targetID)&&(this.nodeOffsetChange(u,s,i.sourcePoint),f.sourceID=this.ConnectorSourceChange(i,r)),p[parseInt(o.toString(),10)]=f,g[parseInt(a.toString(),10)]=u,this.diagram.nodePropertyChange(e,l,u),this.diagram.updateSelector(),this.diagram.connectorPropertyChange(i,c,f),""!==n.sourceID&&""!==n.targetID){var m={id:"connector "+r,constraints:t.ConnectorConstraints.Default|t.ConnectorConstraints.AllowDrop,sourceID:r};m.type=n.type,m.style=n.style,m.sourceDecorator=n.sourceDecorator,m.targetDecorator=n.targetDecorator,m.targetID=n.targetID,""!==n.targetPortID&&(m.targetPortID=n.targetPortID),this.diagram.add(m)}var y={type:"PropertyChanged",redoObject:{nodes:g},undoObject:{nodes:d},category:"Internal"};this.diagram.addHistoryEntry(y);var v={type:"PropertyChanged",redoObject:{connectors:p},undoObject:{connectors:h},category:"Internal"};this.diagram.addHistoryEntry(v)},i.prototype.nodeOffsetChange=function(t,e,i){t.offsetX=e.offsetX=i.x,t.offsetY=e.offsetY=i.y},i.prototype.ConnectorTargetChange=function(t,e){return t.targetID=e,e},i.prototype.ConnectorSourceChange=function(t,e){return t.sourceID=e,e},i.prototype.closeTooltip=function(){this.diagram.tooltipObject.close()},i.prototype.canEnableDefaultTooltip=function(){return!!(this.diagram.selectedItems.constraints&t.SelectorConstraints.ToolTip)},i.prototype.updateSelector=function(){this.diagram.updateSelector()},i.prototype.triggerEvent=function(e,i){return Mc(this,void 0,void 0,function(){var r;return Ec(this,function(n){switch(n.label){case 0:return e!==t.DiagramEvent.drop&&e!==t.DiagramEvent.positionChange&&e!==t.DiagramEvent.connectionChange?[3,3]:this.diagram.currentSymbol?[2]:(e===t.DiagramEvent.drop&&(i.source=Do(this.diagram)),this.diagram.currentDrawingObject instanceof xd&&e!==t.DiagramEvent.positionChange?[4,this.diagram.triggerEvent(e,i)]:[3,2]);case 1:return[2,n.sent()];case 2:if(this.diagram.currentDrawingObject&&e!==t.DiagramEvent.positionChange)return[2];n.label=3;case 3:return[4,this.diagram.triggerEvent(e,i)];case 4:return r=n.sent(),[2,r]}})})},i.prototype.dragOverElement=function(e,i){if(this.diagram.currentSymbol){var r={element:Do(e.source),target:Do(e.target),mousePosition:Do(i),diagram:Do(this.diagram)};this.triggerEvent(t.DiagramEvent.dragOver,r)}},i.prototype.disConnect=function(e,i,r){var n,o,a={},s={};if(e instanceof Ul?o=e.connectors[0]:e instanceof xd&&this.diagram.currentDrawingObject&&this.diagram.currentDrawingObject instanceof xd?o=this.diagram.currentDrawingObject:this.diagram.eventHandler.tool&&this.diagram.eventHandler.tool instanceof Uh&&this.diagram.eventHandler.tool.drawingObject&&(o=this.diagram.eventHandler.tool.drawingObject),e&&o&&(Lr(this.diagram)||this.diagram.currentDrawingObject))if(!i||"ConnectorSourceEnd"!==i&&"ConnectorTargetEnd"!==i){if("OrthoThumb"!==i&&"SegmentEnd"!==i&&(o.sourceID||o.targetID)){a={sourceID:o.sourceID,sourcePortID:o.sourcePortID,targetID:o.targetID,targetPortID:o.targetPortID},o.sourceID="",o.sourcePortID="",o.targetID="",o.targetPortID="",s={sourceID:o.sourceID,sourcePortID:o.sourcePortID,targetID:o.targetID,targetPortID:o.targetPortID};var h={connector:Do(o),oldValue:a,newValue:s,cancel:!1,state:"Changing",connectorEnd:i};this.triggerEvent(t.DiagramEvent.connectionChange,h),h.cancel?(o.sourceID=a.sourceID,o.sourcePortID=a.sourcePortID,o.targetID=a.targetID,o.targetPortID=a.targetPortID):(this.diagram.connectorPropertyChange(o,a,s),this.diagram.updateDiagramObject(o),h={connector:o,oldValue:a,newValue:s,cancel:!1,state:"Changed",connectorEnd:i},this.triggerEvent(t.DiagramEvent.connectionChange,h))}}else{var d="ConnectorSourceEnd"===i?"sourceID":"targetID",l="ConnectorSourceEnd"===i?"sourcePortID":"targetPortID";o[""+d]&&(a[""+d]=o[""+d],o[""+d]="",s[""+d]=o[""+d],(o.sourcePortID||o.targetPortID)&&(a[""+l]=o[""+l],o[""+l]="",s[""+l]=o[""+l]),n=this.connectionEventChange(o,a,s,i,r))}return n},i.prototype.trackConnectorChange=function(t){if(t.nodes&&t.nodes.length>0)for(var e=0,i=t.nodes;e<i.length;e++)for(var r=i[e],n=0,o=r.outEdges.concat(r.inEdges);n<o.length;n++){var a=o[n],s=this.diagram.getObject(a);if(s&&s.segments&&("Bezier"===s.type?s.segments.length>=1:s.segments.length>1)&&-1===t.connectors.indexOf(s)){var h=k(s);t.connectors.push(h)}}},i.prototype.connectionEventChange=function(e,i,r,n,o){var a,s="ConnectorSourceEnd"===n?"sourceID":"targetID",h="ConnectorSourceEnd"===n?"sourcePortID":"targetPortID";if(this.enableCloneObject){l=k(a=this.diagram.nameTable[r[""+s]]);this.diagram.insertValue(l,!0)}var d={cancel:!1,state:"Changing",connectorEnd:n,connector:Do(e),oldValue:{nodeId:i[""+s],portId:i[""+h]},newValue:{nodeId:r[""+s],portId:r[""+h]}};if(this.triggerEvent(t.DiagramEvent.connectionChange,d),d.cancel&&(e[""+s]=i[""+s],e[""+h]=i[""+h],r=i),this.diagram.connectorPropertyChange(e,i,r),this.diagram.updateDiagramObject(e),d={connector:Do(e),oldValue:{nodeId:i[""+s],portId:i[""+h]},newValue:{nodeId:r[""+s],portId:r[""+h]},cancel:!1,state:"Changing",connectorEnd:n},this.enableCloneObject&&void 0===a){var l=k(a=this.diagram.nameTable[i[""+s]]);this.diagram.insertValue(l,!0)}this.diagram.bpmnModule&&e.isBpmnAnnotationConnector&&(this.diagram.nameTable[e.targetID].shape.textAnnotation.textAnnotationTarget=e.sourceID)},i.prototype.findTarget=function(t,i,r,n){if(i instanceof Hl){if(t&&t.id===i.id+"_content")return i;if(r&&"Bpmn"===i.shape.type&&!e.isBlazor()&&"Activity"===i.shape.shape&&"Transaction"===i.shape.activity.subProcess.type){var o=i.shape.activity.subProcess.transaction;if(o.success.visible&&0===t.id.indexOf(i.id+"_success"))return o.success;if(o.cancel.visible&&0===t.id.indexOf(i.id+"_cancel"))return o.cancel;if(o.failure.visible&&0===t.id.indexOf(i.id+"_failure"))return o.failure}if(t instanceof Ws||t instanceof wh){var a=this.findMatch(i.ports,i.id,t.id);if(a)return a;var s=this.findMatch(i.fixedUserHandles,i.id,t.id);if(s)return s}}if(i instanceof xd){if(t&&t.id===i.id+"_path")return i;if(t instanceof Ws||t instanceof wh){var h=this.findMatch(i.ports,i.id,t.id);if(h)return h;var d=this.findMatch(i.fixedUserHandles,i.id,t.id);if(d)return d}}if(!n)for(var l=void 0,c=0;c<i.annotations.length;c++)if(l=i.annotations[parseInt(c.toString(),10)],t.id===i.id+"_"+l.id)return l;return i},i.prototype.findMatch=function(t,e,i){for(var r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)];if(i===e+"_"+n.id||i===e+"_"+n.id+"_shape")return n}},i.prototype.canDisconnect=function(t,e,i,r){var n;e.source instanceof Ul?n=e.source.connectors[0]:e.source instanceof xd&&this.diagram.currentDrawingObject&&(n=this.diagram.currentDrawingObject);this.findTarget(e.targetWrapper,e.target,"ConnectorSourceEnd"===t,!0);var o="ConnectorSourceEnd"===t?"sourceID":"targetID",a="ConnectorSourceEnd"===t?"sourcePortID":"targetPortID";return n[""+o]!==r||n[""+a]!==i},i.prototype.connect=function(e,i,r){var n,o,a,s,h={},d={};i.source instanceof Ul?a=i.source.connectors[0]:i.source instanceof xd&&this.diagram.currentDrawingObject&&this.diagram.currentDrawingObject instanceof xd?a=this.diagram.currentDrawingObject:this.diagram.eventHandler.tool&&(this.diagram.eventHandler.tool instanceof Jh||this.diagram.eventHandler.tool instanceof Uh)&&this.diagram.eventHandler.tool.drawingObject&&(a=this.diagram.eventHandler.tool.drawingObject);var l=this.findTarget(i.targetWrapper||i.sourceWrapper,i.target||i.actualObject,"ConnectorSourceEnd"===e,!0),c="ConnectorSourceEnd"===e?"sourceID":"targetID",p="ConnectorSourceEnd"===e?"sourcePortID":"targetPortID";if(l instanceof Hl)d[""+c]=a[""+c],a[""+c]=l.id,h[""+c]=a[""+c],d[""+p]=a[""+p],s=this.connectionEventChange(a,d,h,e,r);else if(l instanceof $s||l instanceof xl){n=a[""+c],o=a[""+p],a[""+p]=l.id,a[""+c]=i.target&&i.target.id||i.actualObject.id,h[""+c]=a[""+c],h[""+p]=a[""+p];var g={connector:Do(a),oldValue:{nodeId:n,portId:o},newValue:{nodeId:h[""+c],portId:h[""+p]},cancel:!1,state:"Changing",connectorEnd:e};this.triggerEvent(t.DiagramEvent.connectionChange,g),g.cancel?(a[""+c]=n,a[""+p]=o,h[""+c]=n,h[""+p]=o):(this.diagram.connectorPropertyChange(a,d,h),this.diagram.updateDiagramObject(a),g={connector:Do(a),oldValue:{nodeId:n,portId:o},newValue:{nodeId:h[""+c],portId:h[""+p]},cancel:!1,state:"Changing",connectorEnd:e})}return this.updateSelector(),this.renderHighlighter(i,void 0,"ConnectorSourceEnd"===e),s},i.prototype.cut=function(){this.clipboardData.pasteIndex=0,this.diagram.undoRedoModule&&this.diagram.historyManager.startGroupAction(),this.clipboardData.clipObject=this.copyObjects(),this.diagram.undoRedoModule&&this.diagram.historyManager.endGroupAction(),"SVG"!==this.diagram.mode&&this.diagram.refreshDiagramLayer()},i.prototype.addLayer=function(t,e,i){t.id=t.id||O(),t.zIndex=this.diagram.layers.length;var r=this.diagram.allowServerDataBinding;this.diagram.enableServerDataBinding(!1),t=new Ac(this.diagram,"layers",t,!0),this.diagram.enableServerDataBinding(r),t.objectZIndex=-1,t.zIndexTable={},this.diagram.layers.push(t),this.diagram.layerZIndexTable[t.zIndex]=t.id,this.diagram.activeLayer=t;t.objects;if(e)for(var n=0;n<e.length;n++)this.diagram.add(e[parseInt(n.toString(),10)])},i.prototype.getObjectLayer=function(t){var e=this.diagram.layers;if(e.length>1)for(var i=0;i<e.length;i++)if(e[parseInt(i.toString(),10)].objects.indexOf(t)>-1)return e[parseInt(i.toString(),10)];return this.diagram.activeLayer},i.prototype.getLayer=function(t){for(var e=this.diagram.layers,i=0;i<e.length;i++)if(e[parseInt(i.toString(),10)].id===t)return e[parseInt(i.toString(),10)]},i.prototype.removeLayer=function(t,e){var i=this.getLayer(t);if(i){for(var r=this.diagram.layers.indexOf(i),n=i.objects,o=n.length-1;o>=0;o--)this.diagram.unSelect(this.diagram.nameTable[n[parseInt(o.toString(),10)]]),this.diagram.remove(this.diagram.nameTable[n[parseInt(o.toString(),10)]]),"default_layer"!==i.id&&this.diagram.activeLayer.id===t&&(this.diagram.activeLayer=this.diagram.layers[this.diagram.layers.length-1]);delete this.diagram.layerZIndexTable[i.zIndex],this.diagram.layers.splice(r,1),"SVG"!==this.diagram.mode&&this.diagram.refreshDiagramLayer()}},i.prototype.moveObjects=function(t,e){this.diagram.startGroupAction();for(var i={},r=[],n=0;n<t.length;n++)if((m=this.diagram.nameTable[t[parseInt(n.toString(),10)]])instanceof Hl){o={inEdges:m.inEdges,outEdges:m.outEdges};i[""+m.id]=k(o)}else if(m instanceof xd){var o={sourceID:m.sourceID,targetID:m.targetID,sourcePortID:m.sourcePortID,targetPortID:m.targetPortID};i[""+m.id]=k(o)}var a=this.getLayer(e)||this.diagram.activeLayer;this.diagram.setActiveLayer(a.id);for(var s,h=0,d=t;h<d.length;h++){n=d[h];if(this.getObjectLayer(n).objects.indexOf(n)>-1){if(s=this.diagram.nameTable[""+n],r=[],s.children)for(var l=0,c=s.children;l<c.length;l++){var p=c[l];r.push(this.diagram.nameTable[""+p])}this.diagram.unSelect(s),this.diagram.deleteDependentConnector=!1,this.diagram.remove(this.diagram.nameTable[""+n]),this.diagram.deleteDependentConnector=!0;for(var g=null,u=0;u<a.objects.length;u++){var f=a.objects[parseInt(u.toString(),10)],m=this.diagram.nameTable[""+f];m&&(null===g||m.zIndex>g)&&(g=m.zIndex)}if(r.length>0){for(var y=void 0,v=0;v<r.length;v++)(p=r[parseInt(v.toString(),10)]).zIndex=g+2+v,y=this.diagram.add(p),this.setConnectorDetails(y||p,i),s.children.push(y.id);s.zIndex=g+1,y=this.diagram.add(s),this.setConnectorDetails(y||s,i)}else{s.zIndex=g+1;y=this.diagram.add(s);this.setConnectorDetails(y||s,i)}if(s.parentId){var b=s.parentId,S=this.diagram.nameTable[""+b];this.diagram.addChildToGroup(S,s.id)}}}this.diagram.endGroupAction()},i.prototype.setConnectorDetails=function(t,e){var i=e[t.id];if(t instanceof Hl){if(i){if(i.inEdges&&i.inEdges.length>0)for(r=0;r<i.inEdges.length;r++)(n=this.diagram.nameTable[i.inEdges[parseInt(r.toString(),10)]]).targetID=t.id;if(i.outEdges&&i.outEdges.length>0)for(var r=0;r<i.outEdges.length;r++){var n=this.diagram.nameTable[i.outEdges[parseInt(r.toString(),10)]];n.sourceID=t.id}}}else t instanceof xd&&i&&(t.sourceID=i.sourceID,t.targetID=i.targetID,t.sourcePortID=i.sourcePortID,t.targetPortID=i.targetPortID)},i.prototype.cloneLayer=function(t){this.diagram.layers;var e=this.getLayer(t);if(e){var i=[],r={id:t+"_"+O(),objects:[],visible:!0,lock:!1};this.addLayer(r,null,!0),r.zIndex=this.diagram.layers.length-1;i.length;for(var n=0,o=e.objects;n<o.length;n++){var a=o[n];i.push(this.diagram.nameTable[""+a])}this.paste(i)}},i.prototype.copy=function(){return this.clipboardData.pasteIndex=1,this.clipboardData.clipObject=this.copyObjects(),this.clipboardData.clipObject},i.prototype.copyObjects=function(){var t=[],e=[];this.clipboardData.childTable={};var i={};if(this.diagram.selectedItems.connectors.length>0){t=t.concat(this.diagram.selectedItems.connectors);for(o=0;o<t.length;o++){var r=void 0;r=k(this.diagram.bpmnModule&&t[parseInt(o.toString(),10)].isBpmnAnnotationConnector?this.diagram.nameTable[t[parseInt(o.toString(),10)].targetID]:t[parseInt(o.toString(),10)]),e.push(r)}}if(this.diagram.selectedItems.nodes.length>0){t=t.concat(this.diagram.selectedItems.nodes);for(var n=this,o=0;o<this.diagram.selectedItems.nodes.length;o++){var a=function(t){if(!n.diagram.selectedItems.nodes[parseInt(t.toString(),10)].isPhase){var r;n.diagram.selectedItems.nodes.forEach(function(t){t.isLane&&(r=t.parentId,i[parseInt(r.toString(),10)]=i[parseInt(r.toString(),10)]||[],-1===i[parseInt(r.toString(),10)].indexOf(t.id)&&i[parseInt(r.toString(),10)].push(t.id))});var o=k(n.diagram.selectedItems.nodes[parseInt(t.toString(),10)]),a=e.filter(function(t){return t.isLane}),s=!1;if(o.isLane)for(var h=0,d=a;h<d.length;h++)if(ar(d[h],o,n.diagram)){s=!0;break}if(!((o.isLane||o.isHeader)&&n.checkSwimlaneInSelection(o,e)||or(o,n.diagram)||s)){o.wrapper&&o.offsetX!==o.wrapper.offsetX&&(o.offsetX=o.wrapper.offsetX),o.wrapper&&o.offsetY!==o.wrapper.offsetY&&(o.offsetY=o.wrapper.offsetY),n.copyProcesses(o),n.copyContainerChild(o),e.push(k(o));var l=y();if(S(l,-o.rotateAngle,o.offsetX,o.offsetY),o.children){for(var c=n.clipboardData.childTable,p=void 0,g=[],u=n.getAllDescendants(o,g,!0),f=0;f<u.length;f++){var m=c[(p=n.diagram.nameTable[u[parseInt(f.toString(),10)].id]).id]=k(p),b=v(l,{x:m.wrapper.offsetX,y:m.wrapper.offsetY});p instanceof Hl&&(m.offsetX=b.x,m.offsetY=b.y,m.rotateAngle-=o.rotateAngle)}n.clipboardData.childTable=c}if("SwimLane"===o.shape.type)for(var w=n.diagram.getObject(n.diagram.selectedItems.nodes[parseInt(t.toString(),10)].id),c=n.clipboardData.childTable,x=yi(n.diagram,w.wrapper.children[0]),f=0;f<x.length;f++){var I=n.diagram.getObject(x[parseInt(f.toString(),10)]);c[I.id]=k(I),c[I.id].parentSwimlaneId=o.id}if(o&&o.isLane){var c=n.clipboardData.childTable,w=n.diagram.getObject(o.parentId);if(0===n.clipboardData.pasteIndex&&w&&w.shape&&w.shape.lanes&&w.shape.lanes.length===i[parseInt(r.toString(),10)].length)return{value:[]};var C=nr(o,n.diagram);c[o.id]=k(C),c[o.id].width=w.wrapper.actualSize.width}}}}(o);if("object"==typeof a)return a.value}}if(this.sortByZIndex(e,"zIndex"),this.diagram.selectedItems.nodes.some(function(t){return"SwimLane"===t.shape.type})&&(e=this.removeDuplicateObjects(e)),0===this.clipboardData.pasteIndex){this.startGroupAction();for(var s=0,h=t;s<h.length;s++){var d=h[s];this.diagram.nameTable[d.id]&&(this.diagram.itemType="Clipboard",this.diagram.remove(d))}this.endGroupAction()}return e},i.prototype.findProcesses=function(t){var e=[];return t.shape.lanes.forEach(function(t){t.children&&t.children.forEach(function(t){var i=t.shape.activity;i&&i.subProcess.processes&&i.subProcess.processes.forEach(function(t){e.push(t)})})}),e},i.prototype.removeDuplicateObjects=function(t){for(var e={},i=0;i<t.length;i++)e[t[parseInt(i.toString(),10)].id]=t[parseInt(i.toString(),10)];var r=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.push(e[""+n]);for(var o,a=this,i=0;i<r.length;i++)!function(t){if(r[parseInt(t.toString(),10)].parentId){var e=a.diagram.getObject(r[parseInt(t.toString(),10)].parentId);e&&e.isLane&&e.parentId&&r.some(function(t){return t.id===e.parentId})&&(r.splice(t,1),t--)}o=t}(i),i=o;var s=Object.keys(this.clipboardData.childTable);return r.filter(function(t){return-1===s.indexOf(t.id)||t.isLane})},i.prototype.checkSwimlaneInSelection=function(t,e){return this.diagram.selectedItems.nodes.some(function(e){return e.id===t.parentId})},i.prototype.copyProcesses=function(t){var e=[];"Bpmn"===t.shape.type&&t.shape.activity&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length>0?e=t.shape.activity.subProcess.processes:"SwimLane"===t.shape.type&&(e=this.findProcesses(t));for(var i=0,r=e;i<r.length;i++){var n=r[i];this.processTable[""+n]=k(this.diagram.nameTable[""+n]),this.processTable[""+n].shape.activity.subProcess.processes&&this.processTable[""+n].shape.activity.subProcess.processes.length>0&&this.copyProcesses(this.processTable[""+n])}this.clipboardData.processTable=this.processTable},i.prototype.copyContainerChild=function(t){var e=[];if("Container"===t.shape.type&&t.shape.children&&t.shape.children.length>0&&(e=t.shape.children),t.children&&t.children.length>0)for(var i=0;i<t.children.length;i++){var r=t.children[parseInt(i.toString(),10)],n=this.diagram.nameTable[""+r];n&&"Container"===n.shape.type&&n.shape.children.length>0&&(e=e.concat(n.shape.children))}for(var o=0,a=e;o<a.length;o++){var s=a[o];this.containerChildTable[""+s]=k(this.diagram.nameTable[""+s]),this.containerChildTable[""+s].shape.children&&this.containerChildTable[""+s].shape.children.length>0&&this.copyContainerChild(this.containerChildTable[""+s])}this.clipboardData.containerChildTable=this.containerChildTable},i.prototype.group=function(){var e=this;this.oldSelectedObjects=Ud(this.diagram);var i=this.diagram.isProtectedOnChange;this.diagram.protectPropertyChange(!0),this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.Group;var r=[],n={};n.id="group"+O(),(n=new Hl(this.diagram,"nodes",n,!0)).children=[],r=this.diagram.selectedItems.nodes,r=r.concat(this.diagram.selectedItems.connectors),this.diagram.connectors.forEach(function(t){var i=e.diagram.nameTable[t.sourceID],n=e.diagram.nameTable[t.targetID],o=i&&i.processId&&zr(e.diagram,e.diagram.nameTable[i.processId]),a=n&&n.processId&&zr(e.diagram,e.diagram.nameTable[n.processId]);r.some(function(e){return e.id===t.id})||!o&&!a||r.push(t)});for(var o=r.sort(function(t,e){return t.zIndex-e.zIndex}),a={},s=0;s<o.length;s++)o[parseInt(s.toString(),10)].parentId||o[parseInt(s.toString(),10)].processId||(n.children.push(o[parseInt(s.toString(),10)].id),a[o[parseInt(s.toString(),10)].id]=o[parseInt(s.toString(),10)].zIndex);if(n.children.length>0){this.diagram.itemType="Group";var h=this.diagram.add(n),d=this.getObjectLayer(h.id);this.updateGroupInZindexTable(h,a,d),h&&this.select(h),n.annotations=h.annotations,n.ports=h.ports,n.zIndex=h.zIndex,n.style=h.style;var l={type:"Group",undoObject:n,redoObject:n,category:"Internal"};this.addHistoryEntry(l),this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.Group,this.diagram.protectPropertyChange(i)}},i.prototype.updateGroupInZindexTable=function(t,e,i){var r=i.zIndexTable;for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[""+n];r[parseInt(o.toString(),10)]===n&&delete r[parseInt(o.toString(),10)]}if(t.children&&t.children.length)for(var a=0,s=t.children;a<s.length;a++){var n=s[a],h=this.diagram.nameTable[""+n];h&&(r[h.zIndex]=h.id)}},i.prototype.unGroup=function(i){var r=this.diagram.isProtectedOnChange;this.diagram.protectPropertyChange(!0),this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.Group;var n=[];if(i){var o=this.diagram.nameTable[i.id];n.push(o)}else n=this.diagram.selectedItems.nodes;this.diagram.startGroupAction();for(var a=0;a<n.length;a++){for(var s=n[parseInt(a.toString(),10)],h=k(s),d=[],l=0;l<s.children.length;l++)d.push(s.children[parseInt(l.toString(),10)]);if(s.children){s.ports&&s.ports.length>0&&this.diagram.removePorts(s,s.ports),s.annotations&&s.annotations.length>0&&!e.isBlazor()&&this.diagram.removeLabels(s,s.annotations);for(var c=this.diagram.nameTable[s.parentId],p=s.children.length-1;p>=0;p--){this.diagram.nameTable[s.children[parseInt(p.toString(),10)]].parentId="";var g=s.children[parseInt(p.toString(),10)];this.diagram.deleteChild(this.diagram.nameTable[s.children[parseInt(p.toString(),10)]],s),s.parentId&&g&&this.diagram.addChild(c,g)}this.resetDependentConnectors(s.inEdges,!0),this.resetDependentConnectors(s.outEdges,!1);var u={type:"UnGroup",undoObject:h,redoObject:h,category:"Internal"};this.diagram.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(u),s.parentId&&this.diagram.deleteChild(s,c)}this.diagram.removeNode(s,d),this.clearSelection()}this.diagram.endGroupAction(),this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.Group,this.diagram.protectPropertyChange(r)},i.prototype.resetDependentConnectors=function(e,i){for(var r=0;r<e.length;r++){var n=this.diagram.nameTable[e[parseInt(r.toString(),10)]],o=k(n),a=void 0;i?(n.targetID="",n.targetPortID="",a={targetID:n.targetID,targetPortID:n.targetPortID}):(n.sourceID="",n.sourcePortID="",a={sourceID:n.sourceID,sourcePortID:n.sourcePortID}),this.diagram.connectorPropertyChange(n,{},a);var s={type:"ConnectionChanged",undoObject:{connectors:[o],nodes:[]},redoObject:{connectors:[k(n)],nodes:[]},category:"Internal"};this.diagram.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(s)}},i.prototype.paste=function(t){if(t||this.clipboardData.clipObject){this.diagram.protectPropertyChange(!0);var e=t?this.getNewObject(t):this.clipboardData.clipObject;if(e){var i=1!==e.length,r=!1,n={},o={};this.clonedChildrenTable={},0!==this.clipboardData.pasteIndex&&this.clearSelection(),this.diagram.undoRedoModule&&(r=!0,this.diagram.historyManager.startGroupAction());for(var a=0,s=e;a<s.length;a++)n[(l=s[a]).id]=l;var h=[];i&&(this.diagram.isServerUpdate=!0);for(var d=0;d<e.length;d++){var l=e[parseInt(d.toString(),10)];if(l.parentId&&"SwimLane"!==this.diagram.getObject(l.parentId).shape.type&&l.parentId&&(l.parentId=""),_d(l)===xd){var c=k(l),p=c.sourceID;c.sourceID="",n[""+p]&&o[""+p]&&(c.sourceID=o[""+p]),this.clonedChildrenTable[""+p]&&(c.sourceID=this.clonedChildrenTable[""+p]),p=c.targetID,c.targetID="",n[""+p]&&o[""+p]&&(c.targetID=o[""+p]),this.clonedChildrenTable[""+p]&&(c.targetID=this.clonedChildrenTable[""+p]);var g=!0;if(c.targetID){var u=this.diagram.nameTable[c.targetID];"TextAnnotation"===u.shape.shape&&u.inEdges&&u.inEdges.length>0&&(g=!1)}if(g){var f=this.cloneConnector(c,i);h.push(f),o[l.id]=f.id}}else{l.shape&&"Bpmn"===l.shape.type&&(l.processId=""),this.cloningInProgress=!0;var m=this.cloneNode(l,i);if(this.cloningInProgress=!1,h.push(m),m){o[l.id]=m.id;var y=l.inEdges;if(y)for(var v=0,b=y;v<b.length;v++)n[""+(x=b[v])]&&o[""+x]&&((I=this.diagram.nameTable[o[""+x]]).targetID=o[l.id],this.diagram.connectorPropertyChange(I,{targetID:"",targetPortID:""},{targetID:I.targetID,targetPortID:I.targetPortID}));if(y=l.outEdges)for(var S=0,w=y;S<w.length;S++){var x=w[S];if(n[""+x]&&o[""+x]){var I=this.diagram.nameTable[o[""+x]];I.sourceID=o[l.id],this.diagram.connectorPropertyChange(I,{sourceID:"",sourcePortID:""},{sourceID:I.sourceID,sourcePortID:I.sourcePortID})}}}}}i&&(this.diagram.isServerUpdate=!1,this.diagram.select(h,!0)),!0===r&&(this.diagram.historyManager.endGroupAction(),r=!1),"SVG"!==this.diagram.mode&&this.diagram.refreshDiagramLayer(),this.clipboardData.pasteIndex++,this.diagram.protectPropertyChange(!1)}}},i.prototype.getNewObject=function(t){var e,i=[];this.clipboardData.pasteIndex=1;for(var r=0;r<t.length;r++)e=k(t[parseInt(r.toString(),10)]),i.push(e);return i},i.prototype.cloneConnector=function(t,e){var i=k(t);this.translateObject(i),i.zIndex=Number.MIN_VALUE,this.diagram.itemType="Clipboard";var r=this.diagram.add(i);return this.diagram.isServerUpdate||this.selectObjects([r],e),r},i.prototype.cloneNode=function(t,e,i,r){var n,o,a,s={},h=k(t),d=this.diagram.nameTable[t.parentId];t.shape&&"Bpmn"===t.shape.type&&t.shape.activity&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length&&(o=h.shape.activity.subProcess.processes,h.zIndex=Number.MIN_VALUE,h.shape.activity.subProcess.processes=void 0),t.shape&&"Container"===t.shape.type&&t.shape.children&&t.shape.children.length&&(a=h.shape.children,h.zIndex=Number.MIN_VALUE,h.shape.children=void 0),t.shape&&"SwimLane"===t.shape.type?Vi(t,this.diagram,this.clipboardData):d&&"SwimLane"===d.shape.type?Vi(k(d),this.diagram,this.clipboardData,t,!0):!t.children||!t.children.length||i&&i.length?(this.translateObject(h,r),h.zIndex=Number.MIN_VALUE,i&&(h.children=i),h.shape&&"TextAnnotation"===h.shape.shape&&(h.isTextAnnotationCopied=!0),this.diagram.itemType="Clipboard",n=this.diagram.add(h)):n=this.cloneGroup(t,e),t.shape&&"SwimLane"===t.shape.type&&(o=this.findProcesses(t));for(var l=0,c=Object.keys(s);l<c.length;l++){var p=c[l];this.diagram.add(s[""+p])}return o&&o.length&&("Bpmn"===t.shape.type?(n.shape.activity.subProcess.processes=o,this.cloneSubProcesses(n)):"SwimLane"===t.shape.type&&this.cloneSubProcesses(t)),a&&a.length&&(n.shape.children=a,this.cloneSubProcesses(n)),n&&!this.diagram.isServerUpdate&&this.selectObjects([n],e),n},i.prototype.cloneSubProcesses=function(t){var e=this,i=[];if("Bpmn"===t.shape.type&&t.shape.activity&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length)i=t.shape.activity.subProcess.processes,this.cloneProcessess(i,t);else if("Container"===t.shape.type&&t.shape.children&&t.shape.children.length)for(var r=[],n={},o=t.shape.children,a=0;a<o.length;a++){for(var s=0,h=(b=this.diagram.nameTable[o[parseInt(a.toString(),10)]]||this.clipboardData.containerChildTable[o[parseInt(a.toString(),10)]]).outEdges;s<h.length;s++){S=h[s];r.indexOf(S)<0&&r.push(S)}for(var d=0,l=b.inEdges;d<l.length;d++){S=l[d];r.indexOf(S)<0&&r.push(S)}var c=k(this.clipboardData.containerChildTable[o[parseInt(a.toString(),10)]]);c.parentId=t.id;var p=this.cloneNode(c,!1);n[o[parseInt(a.toString(),10)]]=p.id,o[parseInt(a.toString(),10)]=p.id,this.clonedChildrenTable[c.id]=p.id,da(p,t.id,this.diagram);for(var g=this,u=0,f=r;u<f.length;u++)!function(t){var e=g.diagram.nameTable[""+t]||g.diagram.connectorTable[""+t];if(!g.clipboardData.clipObject.find(function(t){return t.id===e.id})){var i=k(e);n[i.sourceID]&&n[i.targetID]&&(i.zIndex=-1,i.id+=O(),i.sourceID=n[i.sourceID],i.targetID=n[i.targetID],r.splice(r.indexOf(t),1),i.zIndex=Number.MIN_VALUE,g.diagram.add(i))}}(v=f[u])}if("SwimLane"===t.shape.type)for(var m=void 0,y=t.shape.lanes,v=0;v<y.length;v++)for(var b=y[parseInt(v.toString(),10)].children,S=0;S<b.length;S++){var w=b[parseInt(S.toString(),10)].shape.activity;w&&w.subProcess.processes&&(i=w.subProcess.processes,m=b[parseInt(S.toString(),10)],i.forEach(function(t){e.diagram.nameTable[""+t]&&(e.clipboardData.processTable[""+t]=e.diagram.nameTable[""+t])}),this.diagram.isServerUpdate=!0,this.cloneProcessess(i,m),this.diagram.isServerUpdate=!1)}},i.prototype.cloneProcessess=function(t,e){for(var i=[],r={},n=this.diagram.nameTable[e.id],o=0;o<t.length;o++){for(var a=this.diagram.nameTable[t[parseInt(o.toString(),10)]]||this.clipboardData.processTable[t[parseInt(o.toString(),10)]],s=0,h=a.outEdges;s<h.length;s++){c=h[s];i.indexOf(c)<0&&i.push(c)}for(var d=0,l=a.inEdges;d<l.length;d++){var c=l[d];i.indexOf(c)<0&&i.push(c)}var p=k(this.clipboardData.processTable[t[parseInt(o.toString(),10)]]);p.processId=n.id;var g=this.cloneNode(p,!1);r[t[parseInt(o.toString(),10)]]=g.id,n.shape.activity.subProcess.processes[parseInt(o.toString(),10)]=g.id,t[parseInt(o.toString(),10)]=g.id,this.diagram.addProcess(g,n.id);for(var u=0,f=i;u<f.length;u++){var m=f[u],y=k(this.diagram.nameTable[""+m]||this.diagram.connectorTable[""+m]);r[y.sourceID]&&r[y.targetID]&&(y.zIndex=-1,y.id+=O(),y.sourceID=r[y.sourceID],y.targetID=r[y.targetID],i.splice(i.indexOf(m),1),y.zIndex=Number.MIN_VALUE,this.diagram.add(y))}}},i.prototype.cloneGroup=function(e,i){var r,n,o,a=[],s=[],h=[],d=[];s=s.concat(e.children);var l=O(),c=[];if(this.diagram.blazorActions|=t.BlazorAction.GroupClipboardInProcess,this.clipboardData.childTable||e.children.length>0)for(var p=0;p<s.length;p++){var g=void 0;this.clipboardData.childTable?(g=this.clipboardData.childTable[s[parseInt(p.toString(),10)]])||(g=this.diagram.nameTable[s[parseInt(p.toString(),10)]]):g=this.diagram.nameTable[s[parseInt(p.toString(),10)]],g.parentId="",g&&(_d(g)===xd?h.push(g):(o=this.cloneNode(g,i,void 0,l),d.push(g.id),a.push(o.id),c.push(o)))}for(var u=0;u<h.length;u++){if(h[parseInt(u.toString(),10)].sourceID||h[parseInt(u.toString(),10)].targetID)for(var f=0;f<d.length;f++)h[parseInt(u.toString(),10)].sourceID===d[parseInt(f.toString(),10)]&&(r=h[parseInt(u.toString(),10)].sourceID,h[parseInt(u.toString(),10)].sourceID+=l),h[parseInt(u.toString(),10)].targetID===d[parseInt(f.toString(),10)]&&(n=h[parseInt(u.toString(),10)].targetID,h[parseInt(u.toString(),10)].targetID+=l);o=this.cloneConnector(h[parseInt(u.toString(),10)],i),h[parseInt(u.toString(),10)].sourceID=r,h[parseInt(u.toString(),10)].targetID=n,a.push(o.id),c.push(o)}var m=this.cloneNode(e,i,a);return c.push(m),m&&m.container&&m.shape&&"UmlClassifier"===m.shape.type&&(this.diagram.updateDiagramObject(m),m.wrapper.measure(new ps)),this.diagram.blazorActions&=~t.BlazorAction.GroupClipboardInProcess,this.diagram.isServerUpdate?this.cloneGroupChildCollection=c:this.diagram.UpdateBlazorDiagramModelCollection(void 0,c,void 0,!0),m},i.prototype.translateObject=function(t,e){t.id+=e||O();var i=10*this.clipboardData.pasteIndex;if(_d(t)===xd){if(t.sourcePoint={x:t.sourcePoint.x+i,y:t.sourcePoint.y+i},t.targetPoint={x:t.targetPoint.x+i,y:t.targetPoint.y+i},"Bezier"===t.type)for(var r=t.segments,n=0;n<r.length;n++)fs.isEmptyPoint(r[parseInt(n.toString(),10)].point1)||(r[parseInt(n.toString(),10)].point1={x:r[parseInt(n.toString(),10)].point1.x+i,y:r[parseInt(n.toString(),10)].point1.y+i}),fs.isEmptyPoint(r[parseInt(n.toString(),10)].point2)||(r[parseInt(n.toString(),10)].point2={x:r[parseInt(n.toString(),10)].point2.x+i,y:r[parseInt(n.toString(),10)].point2.y+i});if(("Straight"===t.type||"Bezier"===t.type)&&t.segments&&t.segments.length>0)for(var r=t.segments,n=0;n<r.length-1;n++)r[parseInt(n.toString(),10)].point.x+=i,r[parseInt(n.toString(),10)].point.y+=i}else t.offsetX+=i,t.offsetY+=i},i.prototype.drawObject=function(t){var e;t&&t.shape&&"Text"===t.shape.type&&(t.width=this.diagram.drawingObject.width?this.diagram.drawingObject.width:50,t.height=this.diagram.drawingObject.height?this.diagram.drawingObject.height:20);for(var i=k(this.diagram.drawingObject),r=0,n=Object.keys(t);r<n.length;r++){var o=n[r];i[""+o]=t[""+o]}return _d(this.diagram.drawingObject)===Hl||_d(this.diagram.drawingObject)===xd&&"Freehand"===this.diagram.drawingObject.type&&"Bezier"!==t.type?(e=new Hl(this.diagram,"nodes",i,!0)).id=(this.diagram.drawingObject.id||"node")+O():(e=new xd(this.diagram,"connectors",i,!0)).id=(this.diagram.drawingObject&&this.diagram.drawingObject.id?this.diagram.drawingObject.id:"connector")+O(),this.diagram.initObject(e),this.diagram.updateDiagramObject(e),this.diagram.currentDrawingObject=e,e},i.prototype.addObjectToDiagram=function(e){this.diagram.removeFromAQuad(e),this.diagram.removeObjectsFromLayer(this.diagram.nameTable[e.id]),delete this.diagram.nameTable[e.id],e instanceof xd&&"Bezier"===e.type&&e.segments.length>0&&this.diagram.drawingObject&&"Bezier"===this.diagram.drawingObject.type&&(e.segments=[]),this.diagram.itemType="DrawingTool";var i=this.diagram.add(e);"SVG"!==this.diagram.mode&&this.diagram.refreshDiagramLayer(),this.selectObjects([i]),e&&!Xe(this.diagram)&&(this.diagram.tool&=~t.DiagramTools.DrawOnce,this.diagram.currentDrawingObject=void 0)},i.prototype.enableServerDataBinding=function(t){this.diagram.enableServerDataBinding(t)},i.prototype.addText=function(t,e){var i=this.diagram.findElementUnderMouse(t,e,this.diagram);this.diagram.startTextEdit(t,i instanceof js?i.id.split("_")[1]:void 0)},i.prototype.isUserHandle=function(t){var e=this.diagram.selectedItems;if(e.wrapper&&oo(e.constraints,"UserHandle"))for(var i=0,r=e.userHandles;i<r.length;i++){var n=r[i];if(n.visible&&!(n.disableConnectors&&this.diagram.selectedItems.connectors.length>0||n.disableNodes&&this.diagram.selectedItems.nodes.length>0)&&Mr(t,ro(e,n,this.diagram.scroller.transform),n.size/(2*this.diagram.scroller.transform.scale)))return!0}return!1},i.prototype.selectObjects=function(i,r,n){return Mc(this,void 0,void 0,function(){var o,a,s,h,d,l,c,p,g,u,f,m,y;return Ec(this,function(v){if(o={oldValue:n||this.getSelectedObject(),newValue:i,cause:this.diagram.diagramActions,state:"Changing",type:"Addition",cancel:!1},i.length>0&&i[0]&&i[0].isLane)for(a=this.diagram.getObject(i[0].parentId),i[0].shape.header=[],s="",h=0;h<i.length;h++)for(u=0;u<a.shape.lanes.length;u++)d=i[0].id.split(i[0].parentId),(s=d[1].slice(0,-1))===a.shape.lanes[parseInt(u.toString(),10)].id&&i[0].shape.header.push(a.shape.lanes[parseInt(u.toString(),10)].header);if(this.diagram.enableServerDataBinding(!1),l=!0,e.isBlazor()?this.oldSelectedObjects=Ud(this.diagram):this.diagram.triggerEvent(t.DiagramEvent.selectionChange,o),c=this.diagram.selectedItems.annotation?[this.diagram.selectedItems.annotation]:this.diagram.selectedItems.nodes.concat(this.diagram.selectedItems.connectors),p=Ye(this.diagram),(g=Fe(this.diagram))||p){if(!p&&(i.length>1||r&&1===i.length)){if(1!==i.length)return[2];this.clearSelection()}if(!(g||p||1!==i.length||r&&Er(this.diagram)))return this.clearSelection(),[2]}if(!o.cancel){for(u=0;u<i.length;u++)if(f=i[parseInt(u.toString(),10)])if(l=!0,Er(this.diagram)){if((u>0||r)&&f.children&&!f.parentId)for(m=0;m<this.diagram.selectedItems.nodes.length;m++)(y=this.diagram.nameTable[this.diagram.selectedItems.nodes[parseInt(m.toString(),10)].parentId])&&(y=this.findParent(y))&&f.id===y.id&&this.selectGroup(f);this.selectProcesses(f),(l=this.selectBpmnSubProcesses(f))&&this.select(f,u>0||r,!0)}else this.select(f,u>0||r,!0);void 0===n&&(n=c),o={oldValue:n||[],newValue:this.getSelectedObject(),cause:this.diagram.diagramActions,state:"Changed",type:"Addition",cancel:!1},this.diagram.renderSelector(r||i&&i.length>1),e.isBlazor()||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,o),this.diagram.enableServerDataBinding(!0)}return[2]})})},i.prototype.findParent=function(t){return t.parentId&&(t=this.diagram.nameTable[t.parentId],this.findParent(t)),t},i.prototype.selectProcesses=function(t){if(this.hasProcesses(t))for(var e=t.shape.activity.subProcess.processes,i=0;i<e.length;i++){var r=this.diagram.nameTable[e[parseInt(i.toString(),10)]];this.hasProcesses(r)&&this.selectObjects([r],!0),this.unSelect(r)}else if(t&&"Container"===t.shape.type&&t.shape.children&&t.shape.children.length>0)for(var n=t.shape.children,i=0;i<n.length;i++)(r=this.diagram.nameTable[n[parseInt(i.toString(),10)]])&&"Container"===r.shape.type&&r.shape.children&&r.shape.children.length>0&&this.selectObjects([r],!0),this.unSelect(r)},i.prototype.selectGroup=function(t){for(var e=0;e<t.children.length;e++){var i=this.diagram.nameTable[t.children[parseInt(e.toString(),10)]];i.children&&this.selectGroup(i),this.unSelect(this.diagram.nameTable[t.children[parseInt(e.toString(),10)]])}},i.prototype.selectBpmnSubProcesses=function(t){var e,i=!0;if(t.processId)i=!zr(this.diagram,this.diagram.nameTable[t.processId])&&this.selectBpmnSubProcesses(this.diagram.nameTable[t.processId]);else if(t.parentId&&this.diagram.nameTable[t.parentId]&&"Container"===this.diagram.nameTable[t.parentId].shape.type)i=!zr(this.diagram,this.diagram.nameTable[t.parentId])&&this.selectBpmnSubProcesses(this.diagram.nameTable[t.parentId]);else if(t instanceof xd){if(t.sourceID&&this.diagram.nameTable[t.sourceID]&&this.diagram.nameTable[t.sourceID].processId&&(e=this.diagram.nameTable[t.sourceID].processId),t.targetID&&this.diagram.nameTable[t.targetID]&&this.diagram.nameTable[t.targetID].processId&&(e=this.diagram.nameTable[t.targetID].processId),e){if(zr(this.diagram,this.diagram.nameTable[""+e]))return!1;i=this.selectBpmnSubProcesses(this.diagram.nameTable[""+e])}}else t.parentId&&this.diagram.nameTable[t.parentId]&&"UmlClassifier"===this.diagram.nameTable[t.parentId].shape.type&&zr(this.diagram,this.diagram.nameTable[t.parentId])&&(i=!1);return i},i.prototype.hasProcesses=function(t){return!!(t&&"Bpmn"===t.shape.type&&t.shape.activity&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length>0)},i.prototype.select=function(t,e,i){var r=this.getObjectLayer(t.id);if(Ie(t)&&!(t instanceof Ul)&&!zr(this.diagram,t)&&r&&!r.lock&&r.visible&&t.wrapper.visible){(e=!!Er(this.diagram)&&e)||this.clearSelection(),this.diagram.enableServerDataBinding(!1);var n=this.diagram.selectedItems;if(t instanceof Hl)if(t.isHeader){var o=this.diagram.nameTable[t.parentId];n.nodes.push(o)}else n.nodes.push(t);else n.connectors.push(t);if(n.selectedObjects.push(t),e)n.wrapper.rotateAngle=n.rotateAngle=0,n.wrapper.children.push(t.wrapper);else if(n.init(this.diagram),1===n.nodes.length&&0===n.connectors.length){var a=Xi(this.diagram,n);a&&(n.wrapper.children[0]=a),n.rotateAngle=n.nodes[0].rotateAngle,n.wrapper.rotateAngle=n.nodes[0].rotateAngle,n.wrapper.pivot=n.nodes[0].pivot}i||this.diagram.renderSelector(e),this.diagram.enableServerDataBinding(!0)}},i.prototype.labelSelect=function(i,r,n){this.oldSelectedObjects=Ud(this.diagram);var o=this.findTarget(r,i),a={oldValue:n||this.getSelectedObject(),newValue:[o],cause:this.diagram.diagramActions,state:"Changing",type:"Addition",cancel:!1};if(e.isBlazor()?this.oldSelectedObjects=Ud(this.diagram):this.diagram.triggerEvent(t.DiagramEvent.selectionChange,a),!a.cancel){var s=this.diagram.selectedItems,h=this.diagram.allowServerDataBinding;this.diagram.allowServerDataBinding=!1,s.nodes=s.connectors=[],this.diagram.allowServerDataBinding=h,i instanceof Hl?s.nodes[0]=i:s.connectors[0]=i,s.annotation=o,s.init(this.diagram),this.diagram.renderSelector(!1),a={oldValue:n||[],newValue:[s.annotation],cause:this.diagram.diagramActions,state:"Changed",type:"Addition",cancel:!1},e.isBlazor()||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,a)}},i.prototype.unSelect=function(i){var r=this.diagram.selectedItems.nodes.concat(this.diagram.selectedItems.connectors),n=r.filter(function(t){return t.id!==i.id}),o={oldValue:r,newValue:n,cause:this.diagram.diagramActions,state:"Changing",type:"Removal",cancel:!1};if(this.diagram.currentSymbol||e.isBlazor()||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,o),zr(this.diagram,i)){var a=this.diagram.selectedItems,s=void 0;i instanceof Hl?(s=a.nodes.indexOf(i,0),a.nodes.splice(s,1)):(s=a.connectors.indexOf(i,0),a.connectors.splice(s,1)),s=a.selectedObjects.indexOf(i,0),a.selectedObjects.splice(s,1),o={oldValue:r,newValue:n,cause:this.diagram.diagramActions,state:"Changed",type:"Removal",cancel:!1},(o={oldValue:Do(r),newValue:n,cause:this.diagram.diagramActions,state:"Changed",type:"Removal",cancel:o.cancel}).cancel||(s=a.wrapper.children.indexOf(i.wrapper,0),a.wrapper.children.splice(s,1),this.diagram.updateSelector(),this.diagram.currentSymbol||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,o))}},i.prototype.moveSvgNode=function(t,e){var i=this.diagram.nameTable[""+e];if("Native"===i.shape.type||"HTML"===i.shape.type)this.updateNativeNodeIndex(t,e);else{var r=Aa(e+"_groupElement",this.diagram.element.id),n=Aa(t+"_groupElement",this.diagram.element.id);r.parentNode.insertBefore(n,r)}},i.prototype.moveAfterSvgNode=function(t,e){var i=this.diagram.nameTable[""+e];if(!i||"HTML"!==i.shape.type&&"Native"!==i.shape.type){var r=Aa(e+"_groupElement",this.diagram.element.id),n=Aa(t+"_groupElement",this.diagram.element.id);r.insertAdjacentElement("afterend",n)}else for(var o=0;o<this.diagram.views.length;o++){var a="HTML"===i.shape.type?"_html_element":"_content_groupElement",n=Aa(t+a,this.diagram.views[parseInt(o.toString(),10)]),r=e?Aa(e+a,this.diagram.views[parseInt(o.toString(),10)]):n.parentElement.firstChild;n&&r&&n.parentNode.id===r.parentNode.id&&r.insertAdjacentElement("afterend",n)}},i.prototype.sendLayerBackward=function(t){var e=this.getLayer(t);if(e&&0!==e.zIndex){var i=e.zIndex;if("SVG"===this.diagram.mode){var r=e.objects,n=this.getLayer(this.diagram.layerZIndexTable[i-1]).objects[0];if(n)for(var o=0,a=r;o<a.length;o++){var s=a[o];this.moveSvgNode(s,n)}}var h=this.getLayer(this.diagram.layerZIndexTable[i-1]);h.zIndex=h.zIndex+1,e.zIndex=e.zIndex-1;var d=this.diagram.layerZIndexTable[parseInt(i.toString(),10)];this.diagram.layerZIndexTable[parseInt(i.toString(),10)]=this.diagram.layerZIndexTable[i-1],this.diagram.layerZIndexTable[i-1]=d,this.diagram.layers[h.zIndex]=h,this.diagram.layers[e.zIndex]=e,"Canvas"===this.diagram.mode&&this.diagram.refreshDiagramLayer()}},i.prototype.bringLayerForward=function(t){var e=this.getLayer(t);if(e&&e.zIndex<this.diagram.layers.length-1){var i=e.zIndex,r=this.getLayer(this.diagram.layerZIndexTable[i+1]);if("SVG"===this.diagram.mode)for(var n=e.objects[0],o=0,a=r.objects;o<a.length;o++){var s=a[o];s&&this.moveSvgNode(s,n)}r.zIndex=r.zIndex-1,e.zIndex=e.zIndex+1;var h=this.diagram.layerZIndexTable[parseInt(i.toString(),10)];this.diagram.layerZIndexTable[parseInt(i.toString(),10)]=this.diagram.layerZIndexTable[i+1],this.diagram.layerZIndexTable[i+1]=h,this.diagram.layers[r.zIndex]=r,this.diagram.layers[e.zIndex]=e,"Canvas"===this.diagram.mode&&this.diagram.refreshDiagramLayer()}},i.prototype.sendToBack=function(e){if(this.diagram.protectPropertyChange(!0),Er(this.diagram)||e){var i=this.diagram.selectedItems,r=[];e&&e.id?r.push(e):(r=r.concat(i.nodes),r=r.concat(i.connectors));var n=e&&e.id,o=k(this.diagram.selectedItems);r=r.slice().sort(function(t,e){return t.zIndex-e.zIndex});for(var a,s=this.diagram.layers.indexOf(this.getObjectLayer(r[0].id)),h=this.diagram.layers[parseInt(s.toString(),10)].objects,d=null,l=0;l<h.length;l++){y=this.diagram.nameTable[h[parseInt(l.toString(),10)]];(null===d||y.zIndex<d)&&(d=y.zIndex,a=y)}if(r.some(function(t){return t.id===a.id})&&r.every(function(t,e){return 0===e||t.zIndex===r[e-1].zIndex+1}))return void this.diagram.protectPropertyChange(!1);for(l=r.length-1;l>=0;l--){k(r[parseInt(l.toString(),10)]);n=r[parseInt(l.toString(),10)].id;var c=this.diagram.nameTable[""+n].zIndex,p=this.diagram.layers.indexOf(this.getObjectLayer(n));this.updateLayerZindexTable(p);for(var g=this.diagram.layers[parseInt(p.toString(),10)].zIndexTable,u=this.diagram.layers[parseInt(p.toString(),10)].objects,f=null,m=0;m<u.length;m++){var y=this.diagram.nameTable[u[parseInt(m.toString(),10)]];(null===f||y.zIndex<f)&&(f=y.zIndex,y.id)}var v=JSON.parse(JSON.stringify(g)),b=0;if(1!==this.diagram.nodes.length&&(void 0===this.diagram.nameTable[""+n].children||this.checkObjectBehind(n,g,c))){if((y=this.diagram.nameTable[""+n]).zIndex>f&&"SwimLane"!==y.shape.type){var S=k(y),w=null;y.children?(w=this.findMaxZIndex(y)-y.zIndex,y.zIndex=f-1-w,this.updateGroupZindex(y,"SendToBack",f)):y.zIndex=f-1,this.triggerOrderCommand(S,y,y)}else"SwimLane"===y.shape.type&&(b=this.swapZIndexObjects(c,g,n,v));if("SVG"===this.diagram.mode){for(var x="SwimLane"!==this.diagram.nameTable[""+n].shape.type?f:b,I=g[parseInt(x.toString(),10)];!I&&x<c;)I=g[++x];(I=this.resetTargetNode(n,I,x,g))&&(I=this.diagram.nameTable[""+I].parentId?this.checkParentExist(I):I,this.moveSvgNode(n,I)),this.updateNativeNodeIndex(n),this.updateLayerZindexTable(p)}else this.diagram.refreshCanvasLayers(),this.updateLayerZindexTable(p)}}var C={type:"SendToBack",category:"Internal",undoObject:o,redoObject:k(this.diagram.selectedItems)};this.diagram.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(C),this.refreshOverviewLayer()}this.diagram.protectPropertyChange(!1)},i.prototype.findMaxZIndex=function(t){var e=this,i=null,r=function(t){for(var n=0;n<t.children.length;n++){var o=e.diagram.nameTable[t.children[parseInt(n.toString(),10)]];(null===i||o.zIndex>i)&&(i=o.zIndex),o.children&&r(o)}};return r(t),i},i.prototype.updateGroupZindex=function(t,e,i){var r,n=this;void 0===r&&(r=t.zIndex+1);var o=function(t){for(var e=0;e<t.children.length;e++){var i=n.diagram.nameTable[t.children[parseInt(e.toString(),10)]];i.children?(i.zIndex=r++,o(i)):i.zIndex=r++}};o(t)},i.prototype.updateLayerZindexTable=function(t){var e=this.diagram.layers[parseInt(t.toString(),10)];e.zIndexTable={};for(var i=0;i<e.objects.length;i++){var r=this.diagram.nameTable[e.objects[parseInt(i.toString(),10)]];e.zIndexTable[r.zIndex]=r.id}},i.prototype.swapZIndexObjects=function(t,e,i,r){for(var n=0,o=0,a=-1,s=1,h=0;h<=t;h++)e[parseInt(h.toString(),10)]&&this.diagram.nameTable[e[parseInt(h.toString(),10)]].parentId===i&&(-1===a&&(a=h),o++);for(h=0;h<=t;h++)if(e[parseInt(h.toString(),10)]&&s<=o){for(;!e[parseInt(a.toString(),10)];)a++;e[parseInt(h.toString(),10)]=e[parseInt(a.toString(),10)],this.diagram.nameTable[e[parseInt(h.toString(),10)]].zIndex=h,a++,s++}for(var d=0,h=0;h<o;h++){for(;!e[parseInt(d.toString(),10)];)d++;n=this.diagram.nameTable[e[parseInt(d.toString(),10)]].zIndex,d++}for(n+=1;!e[parseInt(n.toString(),10)];)++n;d=0,e[parseInt(n.toString(),10)]=this.diagram.nameTable[""+i].id,this.diagram.nameTable[""+i].zIndex=n;for(h=n+=1;h<=t;h++)if(e[parseInt(h.toString(),10)]){for(;!r[parseInt(d.toString(),10)];)d++;e[parseInt(h.toString(),10)]=r[parseInt(d.toString(),10)],this.diagram.nameTable[e[parseInt(h.toString(),10)]].zIndex=h,d++}return n},i.prototype.resetTargetNode=function(t,e,i,r){return"SwimLane"===this.diagram.nameTable[""+t].shape.type&&void 0!==this.diagram.nameTable[""+e].parentId&&""!==this.diagram.nameTable[""+e].parentId&&this.diagram.nameTable[this.diagram.nameTable[""+e].parentId].isLane?(i+=1,r[parseInt(i.toString(),10)]?(e=r[parseInt(i.toString(),10)],e=this.resetTargetNode(t,e,i,r)):e):e},i.prototype.checkParentExist=function(t){for(var e=t;this.diagram.nameTable[""+e].parentId;)e=this.diagram.nameTable[""+e].parentId;return e},i.prototype.checkObjectBehind=function(t,e,i){return!0},i.prototype.bringToFront=function(e){if(this.diagram.protectPropertyChange(!0),Er(this.diagram)||e){var i=e&&e.id,r=this.diagram.selectedItems,n=[];e&&e.id?n.push(e):(n=n.concat(r.nodes),n=n.concat(r.connectors));var o=k(this.diagram.selectedItems);n=n.slice().sort(function(t,e){return t.zIndex-e.zIndex});for(var a,s=this.diagram.layers.indexOf(this.getObjectLayer(n[0].id)),h=this.diagram.layers[parseInt(s.toString(),10)].objects,d=null,l=0;l<h.length;l++){var c=this.diagram.nameTable[h[parseInt(l.toString(),10)]];(null===d||c.zIndex>d)&&(d=c.zIndex,a=c)}if(n.some(function(t){return t.id===a.id})&&n.every(function(t,e){return 0===e||t.zIndex===n[e-1].zIndex+1}))return void this.diagram.protectPropertyChange(!1);for(l=0;l<n.length;l++){k(n[parseInt(l.toString(),10)]);i=n[parseInt(l.toString(),10)].id;var p=this.diagram.layers.indexOf(this.getObjectLayer(i));this.updateLayerZindexTable(p);for(var g=this.diagram.layers[parseInt(p.toString(),10)].zIndexTable,u=this.diagram.layers[parseInt(p.toString(),10)].objects,f=null,m=0;m<u.length;m++){var y=this.diagram.nameTable[u[parseInt(m.toString(),10)]];(null===f||y.zIndex>f)&&(f=y.zIndex)}for(var v=JSON.parse(JSON.stringify(g)),b=Number(Object.keys(g).sort(function(t,e){return Number(t)-Number(e)}).reverse()[0]),S=this.diagram.nameTable[""+i].zIndex,w=[],x=0;x<=b;x++)w.push(g[parseInt(x.toString(),10)]);if("SwimLane"===this.diagram.nameTable[""+i].shape.type)for(var I=b;I>=S;I--)if(g[parseInt(I.toString(),10)]&&this.diagram.nameTable[g[parseInt(I.toString(),10)]].parentId!==i){b=I;break}var C=this.diagram.nameTable[""+i];if(C.zIndex<f&&"SwimLane"!==C.shape.type){var P=k(C);C.children?this.findMaxZIndex(C)<f&&(C.zIndex=f+1,this.updateGroupZindex(C,"BringToFront",f)):C.zIndex=f+1,this.triggerOrderCommand(P,C,C)}else if("SwimLane"===C.shape.type){for(var D=0,T=-1,A=0,O=0,M=JSON.parse(JSON.stringify(g)),E=0;E<=S;E++)if(g[parseInt(E.toString(),10)]&&this.diagram.nameTable[g[parseInt(E.toString(),10)]].parentId===i&&-1===T){T=E,A=E;break}for(var L=0;L<=b;L++)if(v[parseInt(L.toString(),10)]&&v[parseInt(L.toString(),10)]!==i&&this.diagram.nameTable[v[parseInt(L.toString(),10)]].parentId!==i){var z=this.diagram.nameTable[v[parseInt(L.toString(),10)]],B=this.diagram.nameTable[""+i];z.zIndex>=B.zIndex&&D++}for(var N=T,R=0;R<=D;R++){for(;!g[parseInt(N.toString(),10)];)N++;O=this.diagram.nameTable[g[parseInt(N.toString(),10)]].zIndex,N++}for(var j=O;j<=b;j++){for(;!M[parseInt(T.toString(),10)];)T++;for(;!g[parseInt(j.toString(),10)];)j++;g[parseInt(j.toString(),10)]=M[parseInt(T.toString(),10)],this.diagram.nameTable[g[parseInt(j.toString(),10)]].zIndex=j,T++}g[parseInt(b.toString(),10)]=this.diagram.nameTable[""+i].id,this.diagram.nameTable[""+i].zIndex=b,N=S+1;for(var H=A,W=0;W<D;W++){for(;!v[parseInt(N.toString(),10)];)N++;for(;this.diagram.nameTable[v[parseInt(N.toString(),10)]].parentId===i;)N++;for(;!g[parseInt(H.toString(),10)];)H++;g[parseInt(H.toString(),10)]=v[parseInt(N.toString(),10)],this.diagram.nameTable[g[parseInt(H.toString(),10)]].zIndex=H,N++,H++}}if("SVG"===this.diagram.mode){var _="SwimLane"!==this.diagram.nameTable[""+i].shape.type?f:0,F=g[parseInt(_.toString(),10)];(F=this.resetTargetNode(i,F,_,g))&&(F=this.diagram.nameTable[""+F].parentId?this.checkParentExist(F):F,this.moveAfterSvgNode(i,F));var Y=this.diagram.diagramLayer,V=Aa(i+"_groupElement",this.diagram.element.id),X=this.diagram.selectedItems.nodes;if(X.length>0&&("Native"===X[0].shape.type||"HTML"===X[0].shape.type)){V.parentNode.removeChild(V);for(H=0;H<this.diagram.views.length;H++){var U=(V=Aa(i+("HTML"===X[0].shape.type?"_html_element":"_content_groupElement"),this.diagram.views[parseInt(H.toString(),10)])).parentNode.lastChild;U.parentNode.insertBefore(V,U.nextSibling)}var G=Ya(this.diagram.element.id);this.diagram.diagramRenderer.renderElement(this.diagram.nameTable[""+i].wrapper,Y,G)}this.updateLayerZindexTable(p)}else this.diagram.refreshCanvasLayers(),this.updateLayerZindexTable(p)}var Z={type:"BringToFront",category:"Internal",undoObject:o,redoObject:k(this.diagram.selectedItems)};this.diagram.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(Z),this.refreshOverviewLayer()}this.diagram.protectPropertyChange(!1)},i.prototype.triggerOrderCommand=function(e,i,r){var n={zIndex:k(e).zIndex},o={zIndex:i.zIndex},a={element:r,cause:this.diagram.diagramActions,diagramAction:this.diagram.getDiagramAction(this.diagram.diagramActions),oldValue:n,newValue:o};this.diagram.triggerEvent(t.DiagramEvent.propertyChange,a)},i.prototype.checkGroupNode=function(t,e,i){return i[""+e].parentId===i[""+t].parentId},i.prototype.sortByZIndex=function(t,e,i){if("BringForward"===i){var r=e||"zIndex";t=t.sort(function(t,e){return e[""+r]-t[""+r]})}else{var n=e||"zIndex";t=t.sort(function(t,e){return t[""+n]-e[""+n]})}return t},i.prototype.refreshOverviewLayer=function(){for(var t=0,e=this.diagram.views;t<e.length;t++){var i=e[t],r=this.diagram.views[""+i],n=Ya(r.element.id);r instanceof Tp||this.diagram.renderDiagramElements(r.diagramLayer,r.diagramRenderer,n,void 0,void 0,void 0)}},i.prototype.orderCommands=function(t,i,r){var n=this,o=i.nodes;o=o.concat(i.connectors);for(var a,s=this.diagram.layers.indexOf(this.getObjectLayer(o[0].id)),h=this.diagram.layers[parseInt(s.toString(),10)].objects,d=null,l=0;l<h.length;l++){A=this.diagram.nameTable[h[parseInt(l.toString(),10)]];(null===d||A.zIndex<d)&&(d=A.zIndex,a=A)}for(var c,p=o.some(function(t){return t.id===a.id}),g=null,u=0;u<h.length;u++){A=this.diagram.nameTable[h[parseInt(u.toString(),10)]];(null===g||A.zIndex>g)&&(g=A.zIndex,c=A)}var f=o.some(function(t){return t.id===c.id});if(t){var m=i.selectedObjects;if(m=m.slice().sort(function(t,e){return t.zIndex-e.zIndex}),"SendBackward"===r)for(l=0;l<m.length;l++)this.sendBackward(m[parseInt(l.toString(),10)]);else if("SendForward"===r)for(l=m.length-1;l>=0;l--)this.sendForward(m[parseInt(l.toString(),10)]);else if("BringToFront"===r){if(!f)for(l=0;l<m.length;l++)this.bringToFront(m[parseInt(l.toString(),10)])}else if("SendToBack"===r&&!p)for(l=m.length-1;l>=0;l--)this.sendToBack(m[parseInt(l.toString(),10)])}else{var y=o[0],v=this.getObjectLayer(y.id),b=v.zIndex,S=v.zIndexTable,w=void 0;if("SendBackward"===r||"SendToBack"===r){o=o.slice().sort(function(t,e){return t.zIndex-e.zIndex});for(l=0;l<o.length;l++){E=o[parseInt(l.toString(),10)];if((L=this.diagram.nameTable[o[parseInt(l.toString(),10)].id]).zIndex=E.zIndex,this.diagram.layers[parseInt(b.toString(),10)].zIndexTable[E.zIndex]=E.id,w=E.id,"SendToBack"===r&&("SwimLane"===o[0].shape.type&&this.bringToFront(o[0]),L.children&&this.updateGroupZindex(L,"",null),this.updateLayerZindexTable(v.zIndex)),"SVG"===this.diagram.mode){for(var x=(z=this.diagram.nameTable[""+w]).zIndex,I=this.diagram.layers.indexOf(this.getObjectLayer(w)),C=this.diagram.layers[parseInt(I.toString(),10)].objects,P=null,D=this,T=0;T<C.length;T++)!function(t){var e=D.diagram.nameTable[C[parseInt(t.toString(),10)]];if(e.isHeader||e.isLane||e.isPhase)return"continue";var r=!0;i.selectedObjects.forEach(function(t){r=n.notChildOfSelectedNode(e,t)}),r&&e.zIndex<x&&(null===P||e.zIndex>P)&&(i.selectedObjects[0].shape.type===e.shape.type||"Native"!==i.selectedObjects[0].shape.type&&"Native"!==e.shape.type&&"HTML"!==i.selectedObjects[0].shape.type&&"HTML"!==e.shape.type)&&(P=e.zIndex)}(T);var A=this.diagram.nameTable[""+w],O=P,M=void 0;e.isNullOrUndefined(O)||(M=S[parseInt(O.toString(),10)]),M&&(M=this.diagram.nameTable[""+M].parentId?this.checkParentExist(M):M,"SendBackward"===r?""===z.parentId&&this.moveAfterSvgNode(w,M):"SendToBack"===r&&"SwimLane"!==o[0].shape.type&&this.moveAfterSvgNode(w,M)),this.refreshOverviewLayer()}else this.diagram.refreshCanvasLayers()}}else if("SendForward"===r||"BringToFront"===r){o=o.slice().sort(function(t,e){return t.zIndex-e.zIndex});for(l=0;l<o.length;l++){var E=o[parseInt(l.toString(),10)],L=this.diagram.nameTable[o[parseInt(l.toString(),10)].id];if(L.zIndex=E.zIndex,this.diagram.layers[parseInt(b.toString(),10)].zIndexTable[E.zIndex]=E.id,w=E.id,"BringToFront"===r&&("SwimLane"===o[0].shape.type&&this.sendToBack(o[0]),L.children&&this.updateGroupZindex(L,"",null),this.updateLayerZindexTable(v.zIndex)),"SVG"===this.diagram.mode){for(var z=this.diagram.nameTable[""+w],x=z.zIndex,I=this.diagram.layers.indexOf(this.getObjectLayer(w)),k=null,B=this,N=(C=this.diagram.layers[parseInt(I.toString(),10)].objects).length-1;N>=0;N--)!function(t){var e=B.diagram.nameTable[C[parseInt(t.toString(),10)]];if(e.isHeader||e.isLane||e.isPhase)return"continue";var r=!0;i.selectedObjects.forEach(function(t){r=n.notChildOfSelectedNode(e,t)}),!i.selectedObjects.some(function(t){return t.id===e.id})&&r&&e.zIndex>x&&(null===k||e.zIndex<k)&&(i.selectedObjects[0].shape.type===e.shape.type||"Native"!==i.selectedObjects[0].shape.type&&"Native"!==e.shape.type&&"HTML"!==i.selectedObjects[0].shape.type&&"HTML"!==e.shape.type)&&(k=e.zIndex)}(N);var A=this.diagram.nameTable[""+w],O=k,M=void 0;e.isNullOrUndefined(O)||(M=S[parseInt(O.toString(),10)]),M&&(M=this.diagram.nameTable[""+M].parentId?this.checkParentExist(M):M,"SendForward"===r?""===z.parentId&&this.moveSvgNode(w,M):"BringToFront"===r&&"SwimLane"!==o[0].shape.type&&this.moveSvgNode(w,M)),this.refreshOverviewLayer()}else this.diagram.refreshCanvasLayers()}}}},i.prototype.sendForward=function(e){var i=this;if(this.diagram.protectPropertyChange(!0),Er(this.diagram)||e){var r=this.diagram.selectedItems,n=[];e&&e.id?n.push(e):(n=n.concat(r.nodes),n=n.concat(r.connectors)),this.sortByZIndex(n);var o=e&&e.id,a=k(this.diagram.selectedItems);this.diagram.startGroupAction();for(var s=[],h=this,d=n.length-1;d>=0;d--)!function(t){k(n[parseInt(t.toString(),10)]);o=n[parseInt(t.toString(),10)].id;var e=h.diagram.layers.indexOf(h.getObjectLayer(o)),r=k(h.diagram.nameTable),d=h.diagram.layers[parseInt(e.toString(),10)].zIndexTable,l=h.diagram.nameTable[""+o],c=[],p=h.diagram.spatialSearch.findObjects(l.wrapper.bounds);p.length>2&&(p=h.sortByZIndex(p,void 0,"BringForward"));for(var g=0,u=p;g<u.length;g++)!function(t){if(l.id!==t.id){var i=h.getObjectLayer(t.id).zIndex,r=h.diagram.selectedItems.selectedObjects.some(function(e){return e.id===t.id});(1===h.diagram.selectedItems.selectedObjects.length||!r)&&e===i&&Number(h.diagram.nameTable[""+o].zIndex)<Number(t.zIndex)&&""===t.parentId&&l.wrapper.bounds.intersects(t.wrapper.bounds)&&(l.shape.type===t.shape.type||"Native"!==l.shape.type&&"HTML"!==l.shape.type&&"Native"!==t.shape.type&&"HTML"!==t.shape.type)&&c.push(t)}}(b=u[g]);for(b=c.length-1;b>=0;b--)h.diagram.nameTable[c[parseInt(b.toString(),10)].id].parentId===o&&c.splice(b,1);if(c.length>0){var f=h.diagram.nameTable[c[c.length-1].id];if(f.parentId){var m=Eo(f,h.diagram,""),y=h.diagram.nameTable[""+m];y.id!==o&&(c[0]=y)}for(var v={},b=0;b<h.diagram.nodes.length;b++){var S=h.diagram.nodes[parseInt(b.toString(),10)];v[S.id]=S.zIndex}for(var w=0;w<h.diagram.connectors.length;w++){var x=h.diagram.connectors[parseInt(w.toString(),10)];v[x.id]=x.zIndex}var I=c[0].zIndex,C=(d[parseInt(I.toString(),10)],{});c.forEach(function(t){C[t.id]=t.zIndex});var P=[];if(l){var D=l.zIndex;Object.keys(C).length>0&&(Object.values(C).forEach(function(t){t>=D&&P.push(t)}),0!==P.length&&h.updateZIndexBySendForward(l,P,e))}var T=[];if(Object.keys(h.changedNodeZIndexes).forEach(function(t){if((r[""+t]?r[""+t].zIndex:null)!==i.changedNodeZIndexes[""+t]){var e=k(r[""+t]);T.push(e)}}),h.updateLayerZindexTable(e),T.forEach(function(t){if(!a.nodes.some(function(e){return e.id===t.id})){var e=k(t);a.nodes.push(e)}}),"SVG"===h.diagram.mode){var A=c[c.length-1].id;h.moveAfterSvgNode(o,A),h.updateNativeNodeIndex(A,o)}else h.diagram.refreshCanvasLayers();Object.keys(h.changedNodeZIndexes).forEach(function(t){if((r[""+t]?r[""+t].zIndex:null)!==i.changedNodeZIndexes[""+t]){var e=k(i.diagram.nameTable[""+t]);s.push(e)}})}}(d);var l=k(this.diagram.selectedItems);s.forEach(function(t){if(!l.nodes.some(function(e){return e.id===t.id})){var e=k(t);l.nodes.push(e)}});var c={type:"SendForward",category:"Internal",undoObject:a,redoObject:l};!(this.diagram.diagramActions&t.DiagramAction.UndoRedo)&&s.length>0&&this.addHistoryEntry(c),this.diagram.endGroupAction(),s.length>0&&this.refreshOverviewLayer()}this.diagram.protectPropertyChange(!1)},i.prototype.updateZIndexBySendForward=function(t,e,i){var r=k(t),n=Math.min.apply(Math,e),o=this.diagram.layers[parseInt(i.toString(),10)].zIndexTable[parseInt(n.toString(),10)];this.diagram.nameTable[""+o].children&&(n=this.findGreatestChildZIndex(this.diagram.nameTable[""+o]));var a,s=this.diagram.layers[parseInt(i.toString(),10)].objects,h=this.diagram.nodes.filter(function(t){return-1!==s.indexOf(t.id)});this.diagram.connectors.filter(function(t){return-1!==s.indexOf(t.id)}).forEach(function(t){h.push(t)});var d=h.filter(function(e){return e.zIndex===n&&e.id!==t.id});t.children?(t.zIndex=n+1,this.updateGroupZindex(t,"BringForward",t.zIndex),a=this.findGreatestChildZIndex(t)):(t.zIndex=n+1,a=t.zIndex),this.triggerOrderCommand(r,t,t);for(var l=h.slice().sort(function(t,e){return t.zIndex-e.zIndex}),c=!0,p=0;p<l.length;p++){var g=l[parseInt(p.toString(),10)];if(t.children&&(c=this.notChildOfSelectedNode(g,t)),g.zIndex>n&&g!==t&&g.parentId!==t.id&&c&&d&&d.length>0&&g.parentId!==d[0].id){var u=k(g);if(!(g.zIndex<=a+1))break;g.zIndex=a+1,a++,this.triggerOrderCommand(u,g,g)}var f=g.zIndex;this.changedNodeZIndexes.hasOwnProperty(g.id),this.changedNodeZIndexes[g.id]=f}},i.prototype.findGreatestChildZIndex=function(t){var e=this,i=t.zIndex,r=function(t){for(var n=0;n<t.children.length;n++){var o=e.diagram.nameTable[t.children[parseInt(n.toString(),10)]];o.children?r(o):o.zIndex>i&&(i=o.zIndex)}};return r(t),i},i.prototype.notChildOfSelectedNode=function(t,e){var i=this,r=!0,n=function(t,e){for(var o=0;o<e.children.length;o++){var a=i.diagram.nameTable[e.children[parseInt(o.toString(),10)]];if(a.id===t.id)return r=!1;a.children&&n(t,a)}return r};return e.children&&n(t,e),r},i.prototype.sendBackward=function(e){var i=this;if(this.diagram.protectPropertyChange(!0),Er(this.diagram)||e){var r=this.diagram.selectedItems,n=[];e&&e.id?n.push(e):(n=n.concat(r.nodes),n=n.concat(r.connectors)),this.sortByZIndex(n);var o=e&&e.id,a=k(this.diagram.selectedItems);this.diagram.startGroupAction();for(var s=[],h=this,d=0;d<n.length;d++)!function(t){k(n[parseInt(t.toString(),10)]);o=n[parseInt(t.toString(),10)].id;var e=h.diagram.layers.indexOf(h.getObjectLayer(o)),r=k(h.diagram.nameTable),d=h.diagram.layers[parseInt(e.toString(),10)].zIndexTable,l=h.diagram.nameTable[""+o],c=[],p=h.diagram.spatialSearch.findObjects(l.wrapper.bounds);p.length>2&&(p=h.sortByZIndex(p));for(var g=0,u=p;g<u.length;g++)!function(t){if(l.id!==t.id){var i=h.getObjectLayer(t.id).zIndex,r=h.diagram.selectedItems.selectedObjects.some(function(e){return e.id===t.id});(1===h.diagram.selectedItems.selectedObjects.length||!r)&&e===i&&Number(h.diagram.nameTable[""+o].zIndex)>Number(t.zIndex)&&""===t.parentId&&l.wrapper.bounds.intersects(t.wrapper.bounds)&&(l.shape.type===t.shape.type||"Native"!==l.shape.type&&"HTML"!==l.shape.type&&"Native"!==t.shape.type&&"HTML"!==t.shape.type)&&c.push(t)}}(b=u[g]);for(b=c.length-1;b>=0;b--)(f=h.diagram.nameTable[c[parseInt(b.toString(),10)].id]).parentId===o&&c.splice(b,1);if(c.length>0){var f=h.diagram.nameTable[c[c.length-1].id];if(f.parentId){var m=Eo(f,h.diagram,""),y=h.diagram.nameTable[""+m];o!==y.id&&(c[c.length-1]=y)}for(var v={},b=0;b<h.diagram.nodes.length;b++){var S=h.diagram.nodes[parseInt(b.toString(),10)];v[S.id]=S.zIndex}for(var w=0;w<h.diagram.connectors.length;w++){var x=h.diagram.connectors[parseInt(w.toString(),10)];v[x.id]=x.zIndex}var I=c[c.length-1].zIndex,C=(d[parseInt(I.toString(),10)],{});c.forEach(function(t){C[t.id]=t.zIndex});var P=[];if(l){var D=l.zIndex;Object.keys(C).length>0&&(Object.values(C).forEach(function(t){t<=D&&P.push(t)}),0!==P.length&&h.updateZIndexBySendBackward(l,P,e))}var T=[];if(Object.keys(h.changedNodeZIndexes).forEach(function(t){if((r[""+t]?r[""+t].zIndex:null)!==i.changedNodeZIndexes[""+t]){var e=k(r[""+t]);T.push(e)}}),h.updateLayerZindexTable(e),T.forEach(function(t){if(!a.nodes.some(function(e){return e.id===t.id})){var e=k(t);a.nodes.push(e)}}),"SVG"===h.diagram.mode){var A=c[c.length-1].id,O=c[c.length-1];O&&"HTML"!==O.shape.type&&"Native"!==O.shape.type&&h.moveSvgNode(o,A);var M=h.diagram.nameTable[""+A];M.children&&M.children.length>0?h.updateNativeNodeIndex(o):h.updateNativeNodeIndex(o,A)}else h.diagram.refreshCanvasLayers();Object.keys(h.changedNodeZIndexes).forEach(function(t){if((r[""+t]?r[""+t].zIndex:null)!==i.changedNodeZIndexes[""+t]){var e=k(i.diagram.nameTable[""+t]);s.push(e)}})}}(d);var l=k(this.diagram.selectedItems);s.forEach(function(t){if(!l.nodes.some(function(e){return e.id===t.id})){var e=k(t);l.nodes.push(e)}});var c={type:"SendBackward",category:"Internal",undoObject:a,redoObject:l};!(this.diagram.diagramActions&t.DiagramAction.UndoRedo)&&s.length>0&&this.addHistoryEntry(c),this.diagram.endGroupAction(),s.length>0&&this.refreshOverviewLayer()}this.diagram.protectPropertyChange(!1)},i.prototype.updateZIndexBySendBackward=function(t,e,i){var r=k(t),n=Math.max.apply(Math,e),o=this.diagram.layers[parseInt(i.toString(),10)].objects,a=this.diagram.nodes.filter(function(t){return-1!==o.indexOf(t.id)});this.diagram.connectors.filter(function(t){return-1!==o.indexOf(t.id)}).forEach(function(t){a.push(t)});var s,h,d=a.filter(function(e){return e.zIndex===n&&e.id!==t.id});t.children?(s=this.findMaxZIndex(t)-t.zIndex,t.zIndex=n-1-s,this.updateGroupZindex(t,"SendBackward",t.zIndex),h=this.findLowestChildZIndex(t)):(t.zIndex=n-1,h=t.zIndex),this.triggerOrderCommand(r,t,t);for(var l=a.slice().sort(function(t,e){return e.zIndex-t.zIndex}),c=!0,p=0;p<l.length;p++){var g=l[parseInt(p.toString(),10)];if(t.children&&(c=this.notChildOfSelectedNode(g,t)),g.zIndex<n&&g!==t&&g.parentId!==t.id&&c&&d&&d.length>0&&g.parentId!==d[0].id){var u=k(g);if(!(g.zIndex>=h-1))break;g.zIndex=h-1,h--,this.triggerOrderCommand(u,g,g)}var f=g.zIndex;this.changedNodeZIndexes.hasOwnProperty(g.id),this.changedNodeZIndexes[""+g.id]=f}},i.prototype.findLowestChildZIndex=function(t){for(var e=t.zIndex,i=0;i<t.children.length;i++){var r=this.diagram.nameTable[t.children[parseInt(i.toString(),10)]];r.zIndex<e&&(e=r.zIndex)}return e},i.prototype.updateNativeNodeIndex=function(t,e){var i=this.diagram.selectedItems.nodes[0]||this.diagram.getObject(e);if(!i||"HTML"!==i.shape.type&&"Native"!==i.shape.type){if(e){var r=this.diagram.nameTable[""+e];if(r&&("HTML"===r.shape.type||"Native"===r.shape.type)){s=Aa(e+"_groupElement",this.diagram.element.id);(a=Aa(t+"_groupElement",this.diagram.element.id))&&s&&s.parentNode.insertBefore(a,s)}}}else for(var n=0;n<this.diagram.views.length;n++){var o="HTML"===i.shape.type?"_html_element":"_content_groupElement",a=Aa(t+o,this.diagram.views[parseInt(n.toString(),10)]),s=e?Aa(e+o,this.diagram.views[parseInt(n.toString(),10)]):a.parentElement.firstChild;a&&s&&a.parentNode.id===s.parentNode.id&&s.parentNode.insertBefore(a,s)}},i.prototype.initSelectorWrapper=function(){var t=this.diagram.selectedItems;t.init(this.diagram),1===t.nodes.length&&0===t.connectors.length&&(t.rotateAngle=t.nodes[0].rotateAngle,t.wrapper.rotateAngle=t.nodes[0].rotateAngle,t.wrapper.pivot=t.nodes[0].pivot)},i.prototype.doRubberBandSelection=function(t){this.clearSelectionRectangle();var e=[],i=[];e=this.diagram.getNodesConnectors(e),(i="CompleteIntersect"===this.diagram.selectedItems.rubberBandSelectionMode?Jr(t,e):this.diagram.spatialSearch.findObjects(t)).length&&this.selectObjects(i,!0)},i.prototype.clearSelectionRectangle=function(){var t=Ma(this.diagram.element.id).getElementById(this.diagram.element.id+"_diagramAdorner_selected_region");t&&e.remove(t)},i.prototype.dragConnectorEnds=function(t,e,i,r,n,o){var a,s,h,d=!1;return e instanceof Ul?a=e.connectors[0]:e instanceof xd&&this.diagram.currentDrawingObject&&(this.clearSelection(),a=this.diagram.currentDrawingObject),!!(a&&a instanceof xd)&&("BezierSourceThumb"!==t&&"BezierTargetThumb"!==t||(d=!0,a.isBezierEditing=!0),"ConnectorSourceEnd"===t||"BezierSourceThumb"===t?(s=i.x-(d?r.bezierPoint1.x:a.sourcePoint.x),h=i.y-(d?r.bezierPoint1.y:a.sourcePoint.y),this.dragSourceEnd(a,s,h,null,i,t,void 0,n,o,void 0,r)):(s=i.x-(d?r.bezierPoint2.x:a.targetPoint.x),h=i.y-(d?r.bezierPoint2.y:a.targetPoint.y),this.dragTargetEnd(a,s,h,null,i,t,void 0,r)))},i.prototype.getSelectedObject=function(){var t=this.diagram.selectedItems;return t.annotation?[t.annotation]:t.nodes.concat(t.connectors)},i.prototype.enableCloneObject=function(t){},i.prototype.getBlazorOldValues=function(t,e){},i.prototype.clearObjectSelection=function(t){var e=this.diagram.selectedItems,i=[];-1===(i=i.concat(e.nodes,e.connectors)).indexOf(t)&&(this.clearSelection(i.length>0),this.selectObjects([t],!0))},i.prototype.clearSelection=function(i,r){return Mc(this,void 0,void 0,function(){var r,n,o,a;return Ec(this,function(s){return r=this.diagram.allowServerDataBinding,this.diagram.enableServerDataBinding(!1),Er(this.diagram)&&(n=this.diagram.selectedItems,o=this.getSelectedObject(),this.diagram.currentSymbol&&(this.diagram.previousSelectedObject=o),a={oldValue:o,newValue:[],cause:this.diagram.diagramActions,state:"Changing",type:"Removal",cancel:!1},i&&(e.isBlazor()||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,a)),a.cancel||(n.offsetX=0,n.offsetY=0,n.width=0,n.height=0,n.rotateAngle=0,n.nodes=[],n.connectors=[],n.wrapper=null,n.annotation=void 0,n.selectedObjects=[],this.diagram.clearSelectorLayer(),i&&(a={oldValue:Do(o),newValue:[],cause:this.diagram.diagramActions,state:"Changed",type:"Removal",cancel:!1},e.isBlazor()||this.diagram.triggerEvent(t.DiagramEvent.selectionChange,a))),this.diagram.enableServerDataBinding(r)),[2]})})},i.prototype.clearSelectedItems=function(){var t=this.diagram.selectedItems.nodes?this.diagram.selectedItems.nodes.length:0,e=this.diagram.selectedItems.connectors?this.diagram.selectedItems.connectors.length:0;this.clearSelection(t+e>0)},i.prototype.removeStackHighlighter=function(){var t=Ma(this.diagram.element.id),e=t.getElementById(t.id+"_stack_highlighter");e&&e.parentNode.removeChild(e)},i.prototype.renderStackHighlighter=function(t,e){var i,r,n,o=this.diagram.selectedItems.nodes[0];if(!e){var a=this.diagram.findObjectsUnderMouse(t.position);if((e=this.diagram.findObjectUnderMouse(a,"Drag",!0))&&!(e.isLane||e.isPhase||e.isHeader))for(var s=0;s<a.length;s++){var h=this.diagram.nameTable[a[parseInt(s.toString(),10)].id];(!h.isLane||h.isPhase||h.isHeader)&&(e=h,this.diagram.parentObject=e)}}if(o&&e&&e.isLane&&o.shape&&!o.shape.isPhase&&(r=this.diagram.nameTable[e.parentId],this.diagram.currentSymbol&&"SwimLane"===r.shape.type&&(i=!0),o&&!o.parentId&&"SwimLane"!==o.shape.type||o&&o.parentId&&this.diagram.nameTable[o.parentId]&&this.diagram.nameTable[o.parentId].isLane&&o.parentId!==e.parentId&&o.parentId!==e.id)){n=this.diagram.selectedItems;d=Xi(this.diagram,n,e.id,!0);this.diagram.renderSelector(!1,!0,d),n.wrapper.children[0]=n.nodes[0].wrapper}if(o&&e&&e.parentId&&o.shape&&o.shape.isPhase&&"SwimLane"===this.diagram.nameTable[e.parentId].shape.type){d=this.diagram.nameTable[e.parentId].wrapper;this.diagram.renderSelector(!1,!0,d)}if(i&&this.diagram.currentSymbol.shape.isLane||o&&e&&o.parentId&&e.parentId&&!o.isPhase&&o.parentId===e.parentId&&o.id!==e.id&&r&&r.container&&("Stack"===r.container.type||"Grid"===r.container.type)){var d=void 0,l="Vertical"===r.container.orientation,c="Stack"===r.container?l:!l;"Grid"===r.container.type&&e.isLane&&("Horizontal"===r.shape.orientation&&e.rowIndex!==o.rowIndex||"Vertical"===r.shape.orientation&&e.columnIndex!==o.columnIndex||this.diagram.currentSymbol&&this.diagram.currentSymbol.shape.orientation===r.container.orientation)&&(n=this.diagram.selectedItems,(o.isLane&&sr(o,this.diagram)||!o.isLane)&&(d=Xi(this.diagram,n,e.id,i)));var p="Stack"===r.container.type?e.wrapper:d;p&&xr(p,c,t.position,this.diagram,!1,!0)}},i.prototype.insertBlazorConnector=function(t){if(t instanceof Ul)for(var e=0;e<t.connectors.length;e++)this.diagram.insertBlazorConnector(t.connectors[parseInt(e.toString(),10)]);else this.diagram.insertBlazorConnector(t)},i.prototype.drag=function(e,i,r){var n,o=[];if(!this.diagram.rotateUsingButton&&e.shape&&"SwimLane"!==e.shape.type&&(this.diagram.eventHandler.currentAction="Drag"),Ce(e)&&this.checkBoundaryConstraints(i,r,e.wrapper.bounds)&&ei(this.diagram))if(e instanceof Hl){c={offsetX:e.offsetX,offsetY:e.offsetY};if(e.offsetX+=i,e.offsetY+=r,e.children&&!e.container){ur(this.diagram,e,!0)||(this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.isGroupDragging);for(var a=this.getAllDescendants(e,o),s=0;s<a.length;s++)n=this.diagram.nameTable[a[parseInt(s.toString(),10)].id],this.drag(n,i,r);this.updateInnerParentProperties(e),this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.isGroupDragging}if(ur(this.diagram,e,!0)?fr(this.diagram,e):(e&&e.shape&&"UmlClassifier"===e.shape.type&&(e.wrapper.measureChildren=!0),this.diagram.nodePropertyChange(e,c,{offsetX:e.offsetX,offsetY:e.offsetY},void 0,void 0,!1),e.wrapper.measureChildren=!1),"SwimLane"===e.shape.type&&!this.diagram.currentSymbol){var h=e.wrapper.children[0];Pi(yi(this.diagram,h),this.diagram)}}else{var d=e,l=k(e),c={sourcePoint:l.sourcePoint,targetPoint:l.targetPoint},p="Bezier"===d.type,g=!1;d.sourceWrapper?g=!0:this.dragSourceEnd(d,i,r,!0,null,"",p),d.targetWrapper?g=!0:this.dragTargetEnd(d,i,r,!0,null,"",p);var u=!1;if(e instanceof xd&&(u=!0),!g||u){this.dragControlPoint(d,i,r,!0);var f={sourcePoint:d.sourcePoint,targetPoint:d.targetPoint};this.diagram.connectorPropertyChange(d,c,f)}}for(var m=0,y=this.diagram.views;m<y.length;m++){var v=y[m],b=this.diagram.views[v];b instanceof Wd&&this.diagram.refreshCanvasDiagramLayer(b)}},i.prototype.connectorSegmentChange=function(e,i,r){var n,o,a=!0;if(!1===i.equals(i,e.wrapper.bounds)&&e.outEdges.length>0)for(var s=0;s<e.outEdges.length;s++){var h=this.diagram.nameTable[e.outEdges[parseInt(s.toString(),10)]];if(a=""!==h.targetID?!this.isSelected(this.diagram.nameTable[h.targetID]):!this.isSelected(this.diagram.nameTable[h.id]),"Orthogonal"===h.type&&h.segments&&h.segments.length>1)if(r){if(!this.isSelected(this.diagram.nameTable[h.id])){var d=h.segments[0],l=h.segments[1],c=Ft(At(e.wrapper,e.wrapper.corners,e.wrapper.bounds),d.direction),p=he({corners:void 0,point:c=Xt(h,h.sourceWrapper,c,{x:h.sourceWrapper.offsetX,y:h.sourceWrapper.offsetY},!1),margin:void 0,direction:d.direction},{corners:void 0,point:l.points[1],margin:void 0,direction:void 0});d.length=fs.distancePoints(p[0],p[1]),l.direction&&l.length&&(l.length=fs.distancePoints(p[1],p[2]))}}else if(a){switch(h.segments[0].direction){case"Bottom":n=e.wrapper.bounds.bottomCenter.x-i.bottomCenter.x,o=e.wrapper.bounds.bottomCenter.y-i.bottomCenter.y;break;case"Top":n=e.wrapper.bounds.topCenter.x-i.topCenter.x,o=e.wrapper.bounds.topCenter.y-i.topCenter.y;break;case"Left":n=e.wrapper.bounds.middleLeft.x-i.middleLeft.x,o=e.wrapper.bounds.middleLeft.y-i.middleLeft.y;break;case"Right":n=e.wrapper.bounds.middleRight.x-i.middleRight.x,o=e.wrapper.bounds.middleRight.y-i.middleRight.y}this.dragSourceEnd(h,n,o,!0,null,"ConnectorSourceEnd",void 0,void 0,void 0,!(e.parentId&&this.diagram.diagramActions&t.DiagramAction.isGroupDragging))}}},i.prototype.updateEndPoint=function(t,e){t.sourcePoint,t.targetPoint,t.sourceID&&t.sourceID,t.targetID&&t.targetID,t.sourcePortID&&t.sourcePortID,t.targetPortID&&t.targetPortID,t.segments&&t.segments;var i={sourcePoint:t.sourcePoint,targetPoint:t.targetPoint};t.sourceID&&(i.sourceID=t.sourceID),t.targetID&&(i.targetID=t.targetID),t.sourcePortID&&(i.sourcePortID=t.sourcePortID),t.targetPortID&&(i.targetPortID=t.targetPortID),t.segments&&(i.segments=t.segments),this.diagram.connectorPropertyChange(t,e||{},i),this.diagram.updateSelector()},i.prototype.dragSourceEnd=function(e,i,r,n,o,a,s,h,d,l,c){var p=this.diagram.nameTable[e.id],g={},u=this.checkBoundaryConstraints(i,r,p.wrapper.bounds);if(Oe(p)&&u&&"BezierSourceThumb"!==a&&ei(this.diagram)){if(g={sourcePoint:p.sourcePoint},g=k(g),this.diagram.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var f=p.sourcePoint.x+i,m=p.sourcePoint.y+r;p.sourcePoint.x=f<0?0:f,p.sourcePoint.y=m<0?0:m}else p.sourcePoint.x+=i,p.sourcePoint.y+=r;"ConnectorSourceEnd"===a&&"Orthogonal"===p.type&&this.changeSegmentLength(p,h,d,l),"Bpmn"===p.shape.type&&"Default"===p.shape.sequence&&"Sequence"===p.shape.flow&&this.updatePathElementOffset(p)}if("Bezier"===p.type)if(g={sourcePoint:p.sourcePoint},c)this.translateBezierPoints(e,""===a?"ConnectorSourceEnd":a,i,r,c,o,!s);else for(var y=0;y<e.segments.length;y++)this.translateBezierPoints(e,""===a?"ConnectorSourceEnd":a,i,r,e.segments[parseInt(y.toString(),10)],o,!s);return n||this.updateEndPoint(p,g),this.diagram.realActions&t.RealAction.AnimationClick||this.diagram.refreshCanvasLayers(),u},i.prototype.updatePathElementOffset=function(t){t.wrapper.children.splice(3,1);var e=new Ws,i=t.intermediatePoints;e=Gd(i,t),t.wrapper.children.splice(3,0,e)},i.prototype.getDirection=function(t,e){var i;return"Right"===t||"Left"===t?i=e.points[0].x<e.points[1].x?"Right":"Left":"Top"!==t&&"Bottom"!==t||(i=e.points[0].y<e.points[1].y?"Bottom":"Top"),i},i.prototype.changeSegmentLength=function(t,e,i,r){var n=!e||this.canConnect(t,e);if(t.segments&&t.segments[0].direction&&(!e&&""===t.sourceID||r)&&n){if((D=t.segments[0]).direction!==this.getDirection(D.direction,D)&&(t.segments.splice(0,1),null===t.segments[0].direction))return;var o=t.segments[0],a=t.segments[1],s=this.diagram.nameTable[t.sourceID],h=void 0;o.points[0]=t.sourcePoint,"Top"===o.direction||"Bottom"===o.direction?(o.points[o.points.length-1].x=t.sourcePoint.x,a.points[0].y=o.points[o.points.length-1].y):(o.points[o.points.length-1].y=t.sourcePoint.y,a.points[0].x=o.points[o.points.length-1].x),o.direction&&(o.length||0===o.length)&&(o.length=fs.distancePoints(o.points[0],o.points[o.points.length-1])),a.direction&&(a.length||0===a.length)&&(a.length=fs.distancePoints(o.points[o.points.length-1],a.points[a.points.length-1]),a.direction=fs.direction(o.points[o.points.length-1],a.points[a.points.length-1]));var d,l=o.points,c=o.direction,p=l[0],g=l[l.length-1];switch(c){case"Left":d=p.x-g.x;break;case"Right":d=g.x-p.x;break;case"Top":d=p.y-g.y;break;case"Bottom":d=g.y-p.y}if(""!==t.sourcePortID&&(o.length<10||d<0))if(t.segments.length>2){var u=t.segments[2],f=t.segments[3],m=fs.direction(u.points[0],u.points[1]);if(o.direction===xe(m))"Right"===o.direction?u.points[0].x=o.points[o.points.length-1].x=s.wrapper.corners.middleRight.x+20:"Left"===o.direction?u.points[0].x=o.points[o.points.length-1].x=s.wrapper.corners.middleLeft.x-20:"Top"===o.direction?u.points[0].y=o.points[o.points.length-1].y=s.wrapper.corners.topCenter.y-20:u.points[0].y=o.points[o.points.length-1].y=s.wrapper.corners.bottomCenter.y+20,u.direction&&u.length&&(u.length=fs.distancePoints(u.points[0],u.points[u.points.length-1])),o.length=fs.distancePoints(o.points[0],o.points[o.points.length-1]);else if(o.direction===m&&u.direction&&u.length){var y=20-d;if(o.length=20,u.length-=y,f&&u.length<5){var v=t.segments[1],b=v.length,S=0;S=v.direction===f.direction?Math.abs(b+f.length):Math.abs(b-f.length),f.length=S;var w=f.direction,x=o.points[o.points.length-1],I=f.points[f.points.length-1];f.direction=fs.direction(x,I),w!==f.direction&&w!==xe(f.direction)&&(f.direction=xe(w));var C=t.segments[4];if(C){var P=0;"Bottom"===c?o.points[0].y>f.points[0].y&&(P=Math.abs(o.points[0].y-f.points[0].y),P+=20):"Top"===c?o.points[0].y<f.points[0].y&&(P=Math.abs(o.points[0].y-f.points[0].y),P+=20):"Left"===c?o.points[0].x<f.points[0].x&&(P=Math.abs(o.points[0].x-f.points[0].x),P+=20):"Right"===c&&o.points[0].x>f.points[0].x&&(P=Math.abs(o.points[0].x-f.points[0].x),P+=20),C.length+=P}t.segments.splice(1,2)}}else o.length=20}else o.length=20;else o.length<1&&(""!==t.sourceID?("Right"===a.direction?(h=s.wrapper.corners.middleRight,a.points[a.points.length-1].y=h.y):"Left"===a.direction?(h=s.wrapper.corners.middleLeft,a.points[a.points.length-1].y=h.y):"Top"===a.direction?(h=s.wrapper.corners.topCenter,a.points[a.points.length-1].x=h.x):(h=s.wrapper.corners.bottomCenter,a.points[a.points.length-1].x=h.x),a.length=fs.distancePoints(h,a.points[a.points.length-1]),t.segments.length>2&&(u=t.segments[2]).direction&&u.length&&(u.length=fs.distancePoints(a.points[a.points.length-1],u.points[u.points.length-1])),t.segments.splice(0,1)):t.segments.splice(0,1))}else if(t.segments&&t.segments[0].direction)if(e&&e instanceof Hl&&!i){var D=t.segments[0],T=t.segments[1],A=D.direction,O=t.sourcePoint,M=this.diagram.nameTable[e.id],E=M.wrapper?M.wrapper.corners:void 0,L=function(){if(!A||!E)return O;switch(A){case"Bottom":return E.bottomCenter;case"Top":return E.topCenter;case"Left":return E.middleLeft;case"Right":return E.middleRight;default:return O}}();t.sourcePoint.x=L.x,t.sourcePoint.y=L.y,D.points[0]=L;var z=D.points[D.points.length-1];if("Top"===A||"Bottom"===A?(z.x=L.x,T.points[0].y=z.y):(z.y=L.y,T.points[0].x=z.x),D.length=fs.distancePoints(D.points[0],z),T.direction){var k=T.points[T.points.length-1];T.length=fs.distancePoints(z,k),T.direction=fs.direction(z,k)}}else e&&e instanceof Hl&&i&&t.sourcePortID!==i&&this.changeSourceEndToPort(t,e,i)},i.prototype.canConnect=function(t,e){return!(!ke(e)||!Ne(e))},i.prototype.changeSourceEndToPort=function(t,e,i){var r=this.diagram.getWrapper(e.wrapper,i),n={x:r.offsetX,y:r.offsetY};t.sourcePoint.x=n.x,t.sourcePoint.y=n.y;var o=Se(n,L(e.wrapper),e.wrapper.bounds),a=t.segments[0],s=t.segments[1],h="Top"===o||"Bottom"===o;if(a.direction!==o){if(a.direction!==xe(o)){if(s.direction===o){if(t.segments.splice(0,1),t.segments.length>1){a=s,s=t.segments[1],a.points[0]=n;var d=a.points[a.points.length-1];if(h?d.x=n.x:d.y=n.y,a.length=fs.distancePoints(a.points[0],d),s.direction){b=s.points[s.points.length-1];s.length=fs.distancePoints(d,b),s.direction=fs.direction(d,b)}}return}t.segments.slice(0,-2).filter(function(t){return t.isTerminal}).length>1&&(this.removeTerminalSegment(t),a=t.segments[0],s=t.segments[1]);var l=new md(t,"segments",{type:"Orthogonal",direction:o,length:20,isTerminal:!0},!0),c=a.points[0],p=a.points[a.points.length-1];if(h?(c.x=n.x,c.y=p.y="Top"===o?n.y-20:n.y+20):(c.y=n.y,c.x=p.x="Right"===o?n.x+20:n.x-20),a.length=fs.distancePoints(c,p),s.direction){b=s.points[s.points.length-1];s.length=fs.distancePoints(p,b),s.direction=fs.direction(p,b)}return t.segments=[l].concat(t.segments),t.sourcePoint.x=n.x,void(t.sourcePoint.y=n.y)}var g=t.segments.length>2?t.segments[2]:void 0,u=a.points.length-1,f=Oc({},a.points[parseInt(u.toString(),10)]),m=a.points[a.points.length-1];if(a.points[0]=n,h?(m.x=n.x,m.y="Top"===o?n.y-20:n.y+20,s.points[0].x=m.x,s.points[0].y=m.y,s.points[s.points.length-1].y=m.y):(m.y=n.y,m.x="Right"===o?n.x+20:n.x-20,s.points[0].x=m.x,s.points[0].y=m.y,s.points[s.points.length-1].x=m.x),a.length=fs.distancePoints(a.points[0],m),s.direction){b=s.points[s.points.length-1];s.length=fs.distancePoints(m,b),s.direction=fs.direction(m,b)}var y=h?Math.abs(f.y-m.y):Math.abs(f.x-m.x);g&&g.direction&&(a.direction===g.direction?g.length+=y:g.length-=y)}else{a.points[0]=n;var v=a.points[a.points.length-1];if(h?v.x=n.x:v.y=n.y,a.length=fs.distancePoints(a.points[0],v),s.direction){var b=s.points[s.points.length-1];s.length=fs.distancePoints(v,b),s.direction=fs.direction(v,b)}}},i.prototype.removeTerminalSegment=function(t,e){for(var i=0;i<t.segments.length-2;i++){var r=t.segments[0];r.isTerminal&&(e?r.isTerminal=!1:(t.segments.splice(i,1),i--))}},i.prototype.translateBezierPoints=function(t,e,i,r,n,o,a){var s=t.segments.indexOf(n),h=t.segments[parseInt(s.toString(),10)],d=s>0?t.segments[s-1]:null,l=null!==d?d.point:t.sourcePoint,c=s===t.segments.length-1?t.targetPoint:h.point;if(h)if("BezierSourceThumb"===e&&(h.vector1.angle||h.vector1.distance)){var p=h.vector1.distance,g=h.vector1.angle;h.vector1={distance:t.distance(l,o),angle:fs.findAngle(l,o)};var u=h.vector1.distance-p,f=h.vector1.angle-g;this.translateSubsequentSegment(t,n,!0,u,f)}else if("BezierTargetThumb"===e&&(h.vector2.angle||h.vector2.distance)){var p=h.vector2.distance,g=h.vector2.angle;h.vector2={distance:t.distance(c,o),angle:fs.findAngle(c,o)};var u=h.vector2.distance-p,f=h.vector2.angle-g;this.translateSubsequentSegment(t,n,!1,u,f)}else("ConnectorSourceEnd"===e&&!t.sourceID||"ConnectorTargetEnd"===e&&!t.targetID)&&a&&Nr(h.vector1)&&Nr(h.vector2)?(fs.isEmptyPoint(h.point1)&&(h.bezierPoint1=Rr(t.sourcePoint,t.targetPoint)),fs.isEmptyPoint(h.point2)&&(h.bezierPoint2=Rr(t.targetPoint,t.sourcePoint))):"BezierSourceThumb"===e||"ConnectorSourceEnd"===e&&!a&&Nr(h.vector1)?(h.bezierPoint1.x+=i,h.bezierPoint1.y+=r,fs.isEmptyPoint(h.point1)&&!a||(h.point1={x:h.bezierPoint1.x,y:h.bezierPoint1.y}),0===i&&0===r||!0!==n.isInternalSegment||(n.isInternalSegment=!1)):("BezierTargetThumb"===e||"ConnectorTargetEnd"===e&&!a&&Nr(h.vector2))&&(h.bezierPoint2.x+=i,h.bezierPoint2.y+=r,fs.isEmptyPoint(h.point2)&&!a||(h.point2={x:h.bezierPoint2.x,y:h.bezierPoint2.y}),0===i&&0===r||!0!==n.isInternalSegment||(n.isInternalSegment=!1))},i.prototype.translateSubsequentSegment=function(e,i,r,n,o){var a=e.segments.indexOf(i);e.segments[parseInt(a.toString(),10)];e.bezierSettings.smoothness&t.BezierSmoothness.SymmetricAngle||(o=null),e.bezierSettings.smoothness&t.BezierSmoothness.SymmetricDistance||(n=null),null==n&&null==o||(r?0!==a&&this.updatePreviousBezierSegment(e,a,n,o):a!==e.segments.length-1&&this.updateNextBezierSegment(e,a,n,o))},i.prototype.updatePreviousBezierSegment=function(t,e,i,r){var n=t.segments[e-1],o=n.vector2.distance+i,a=(n.vector2.angle+r)%360;a<0&&(a+=360),n.vector2={distance:o,angle:a}},i.prototype.updateNextBezierSegment=function(t,e,i,r){var n=t.segments[e+1],o=n.vector1.distance+i,a=(n.vector1.angle+r)%360;a<0&&(a+=360),n.vector1={distance:o,angle:a}},i.prototype.dragTargetEnd=function(e,i,r,n,o,a,s,h){var d,l=this.diagram.nameTable[e.id],c=this.checkBoundaryConstraints(i,r,l.wrapper.bounds);if(Me(l)&&"BezierTargetThumb"!==a&&c&&ei(this.diagram)){if(d={targetPoint:l.targetPoint},d=k(d),this.diagram.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var p=l.targetPoint.x+i,g=l.targetPoint.y+r;l.targetPoint.x=p<0?0:p,l.targetPoint.y=g<0?0:g}else l.targetPoint.x+=i,l.targetPoint.y+=r;if("ConnectorTargetEnd"===a&&"Orthogonal"===l.type&&l.segments&&l.segments.length>0){var u=l.segments[l.segments.length-2];u&&2===l.segments[l.segments.length-1].points.length&&("Left"===u.direction||"Right"===u.direction?u.points[u.points.length-1].x=l.targetPoint.x:u.points[u.points.length-1].y=l.targetPoint.y,u.length=fs.distancePoints(u.points[0],u.points[u.points.length-1]),u.direction=fs.direction(u.points[0],u.points[u.points.length-1]))}"Bpmn"===l.shape.type&&"Default"===l.shape.sequence&&"Sequence"===l.shape.flow&&this.updatePathElementOffset(l)}if("Bezier"===l.type)if(d={targetPoint:l.targetPoint},h)this.translateBezierPoints(e,""===a?"ConnectorTargetEnd":a,i,r,h,o,!s);else for(var f=0;f<e.segments.length;f++)this.translateBezierPoints(e,""===a?"ConnectorTargetEnd":a,i,r,e.segments[parseInt(f.toString(),10)],o,!s);return n||this.updateEndPoint(l,d),this.diagram.realActions&t.RealAction.AnimationClick||this.diagram.refreshCanvasLayers(),c},i.prototype.dragControlPoint=function(t,e,i,r,n){var o=this.diagram.nameTable[t.id];if(("Straight"===o.type||"Bezier"===o.type)&&o.segments.length>0){if(void 0!==n&&o.segments[parseInt(n.toString(),10)])if("Bezier"===o.type){var a=o.segments[parseInt(n.toString(),10)],s=a.isInternalSegment;s&&null!==o.bezierSettings&&"FreeForm"!==o.bezierSettings.segmentEditOrientation?("Horizontal"===a.orientation?a.point.x+=e:a.point.y+=i,this.updateDirectionalBezierCurve(o)):(a.point.x+=e,a.point.y+=i),s&&(o.isBezierEditing=!0)}else o.segments[parseInt(n.toString(),10)].point.x+=e,o.segments[parseInt(n.toString(),10)].point.y+=i;else for(var h=0;h<o.segments.length-1;h++)o.segments[parseInt(h.toString(),10)].point.x+=e,o.segments[parseInt(h.toString(),10)].point.y+=i;r||this.updateEndPoint(o)}return!0},i.prototype.updateDirectionalBezierCurve=function(t){var e=[];e.push(t.sourcePoint);for(var i=0;i<t.segments.length-1;i++){var r=t.segments[parseInt(i.toString(),10)];"Horizontal"===r.orientation?e.push({x:r.point.x,y:e[e.length-1].y}):e.push({x:e[e.length-1].x,y:r.point.y}),i===t.segments.length-2&&("Horizontal"===r.orientation?e.push({x:r.point.x,y:t.targetPoint.y}):e.push({x:t.targetPoint.x,y:r.point.y}))}e.push(t.targetPoint);var n=e[0],o=e[e.length-1];if(t.segments.length>1){var a=e[1],s=e[2],h={x:.5*(a.x+s.x),y:.5*(a.y+s.y)},d=t.segments[0];d.vector1.angle=_t(n,a),d.vector1.distance=.5*fs.findLength(n,a),d.vector2.angle=_t(h,a),d.vector2.distance=.5*fs.findLength(h,a),d.point=h;var l=t.segments[1];if(l.vector1.angle=_t(h,s),l.vector1.distance=.5*fs.findLength(h,s),t.segments.length>2){var c=e[3],p={x:.5*(s.x+c.x),y:.5*(s.y+c.y)};l.vector2.angle=_t(p,s),l.vector2.distance=.5*fs.findLength(p,s),l.point=p;var g=t.segments[2];if(g.vector1.angle=_t(p,c),g.vector1.distance=.5*fs.findLength(p,c),t.segments.length>3){var u=e[4],f={x:.5*(c.x+u.x),y:.5*(c.y+u.y)};g.vector2.angle=_t(f,c),g.vector2.distance=.5*fs.findLength(f,c),g.point=f;var m=t.segments[3];m.vector1.angle=_t(f,u),m.vector1.distance=.5*fs.findLength(f,u),m.vector2.angle=_t(o,u),m.vector2.distance=.5*fs.findLength(o,u)}else g.vector2.angle=_t(o,c),g.vector2.distance=.5*fs.findLength(o,c)}else l.vector2.angle=_t(o,s),l.vector2.distance=.5*fs.findLength(o,s)}},i.prototype.rotateObjects=function(t,e,i,r,n){r=r||{};var o=y();S(o,i,r.x,r.y);for(var a,s=0,h=e;s<h.length;s++){var d=h[s];if(d instanceof Hl){if(Le(d)&&ei(this.diagram)){if(!1!==n||t!==d){a={offsetX:d.wrapper.offsetX,offsetY:d.wrapper.offsetY,rotateAngle:d.rotateAngle},d.rotateAngle=(d.rotateAngle+i+360)%360;var l=v(o,{x:d.wrapper.offsetX,y:d.wrapper.offsetY});d.offsetX=l.x,d.offsetY=l.y,this.diagram.nodePropertyChange(d,a,{offsetX:d.offsetX,offsetY:d.offsetY,rotateAngle:d.rotateAngle})}var c=this.diagram.nameTable[d.parentId];if(d.processId){var p=this.diagram.nameTable[d.processId],g=this.diagram.bpmnModule.getChildrenBound(p,d.id,this.diagram);this.diagram.bpmnModule.updateSubProcessess(g,d,this.diagram)}else c&&c.shape instanceof Vl&&ra(g=ia(c,d.id,this.diagram),d,this.diagram,!1);d.children&&d.children.length&&!d.container&&this.getChildren(d,e)}}else this.rotatePoints(d,i,r||{x:d.wrapper.offsetX,y:d.wrapper.offsetY});this.diagram.updateDiagramObject(d)}this.diagram.refreshCanvasLayers(),this.diagram.updateSelector()},i.prototype.snapConnectorEnd=function(e){return this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToLines&&this.snappingModule&&this.diagram.snappingModule.snapConnectorEnd(e),e},i.prototype.snapAngle=function(e){return this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToLines&&this.snappingModule?this.snappingModule.snapAngle(this.diagram,e):0},i.prototype.rotatePoints=function(t,e,i){if(!t.sourceWrapper||!t.targetWrapper){var r=y();S(r,e,i.x,i.y),t.sourcePoint=v(r,t.sourcePoint),t.targetPoint=v(r,t.targetPoint),"Bpmn"===t.shape.type&&"Default"===t.shape.sequence&&"Sequence"===t.shape.flow&&this.updatePathElementOffset(t);var n={sourcePoint:t.sourcePoint,targetPoint:t.targetPoint};if(this.diagram.connectorPropertyChange(t,{},n),t.segments&&t.segments.length>0){var o=this.diagram.getProtectPropertyChangeValue();this.diagram.protectPropertyChange(!0);var a=t;a.segments=[],this.diagram.connectorPropertyChange(a,{},{segments:a.segments}),this.diagram.protectPropertyChange(o)}}},i.prototype.updateInnerParentProperties=function(t){var e=[],i=this.diagram.isProtectedOnChange;this.diagram.protectPropertyChange(!0);for(var r=this.getAllDescendants(t,e,!1,!0),n=0;n<r.length;n++){var o=this.diagram.nameTable[r[parseInt(n.toString(),10)].id];o.offsetX=o.wrapper.offsetX,o.offsetY=o.wrapper.offsetY,o.width=o.wrapper.width,o.height=o.wrapper.height}this.diagram.protectPropertyChange(i)},i.prototype.scale=function(t,e,i,r,n,o){var a=this.diagram.nameTable[t.id],s=a,h=[],d=a.wrapper;n||(n=t);var l=n.wrapper,c=Po(l.offsetX-l.actualSize.width*l.pivot.x,l.offsetY-l.actualSize.height*l.pivot.y,l.actualSize.width,l.actualSize.height,l.rotateAngle,l.offsetX,l.offsetY,r);if(void 0!==d.actualSize.width&&void 0!==d.actualSize.height&&ei(this.diagram)){if(s.children&&!s.container){for(var p=0,g=this.getAllDescendants(s,h);p<g.length;p++){var u=g[p];this.scaleObject(e,i,c,u,d,n)}t.wrapper.measure(new ps),t.wrapper.arrange(t.wrapper.desiredSize),this.diagram.updateGroupOffset(a),this.updateInnerParentProperties(s)}else this.scaleObject(e,i,c,a,d,n);var f=z(t.wrapper);if(!this.checkBoundaryConstraints(void 0,void 0,f)&&o)return this.scale(t,1/e,1/i,r,void 0,!0),!1;this.diagram.updateDiagramObject(t)}return!0},i.prototype.getAllDescendants=function(t,e,i,r){for(var n=t,o=[],a=0;a<n.children.length;a++)(t=this.diagram.nameTable[n.children[parseInt(a.toString(),10)]])&&(t.children?(i&&e.push(t),r&&o.push(t),e=this.getAllDescendants(t,e)):e.push(t));return r?o:e},i.prototype.getChildren=function(t,e){var i=t;if(t.children&&t.children.length)for(var r=0;r<i.children.length;r++)(t=this.diagram.nameTable[i.children[parseInt(r.toString(),10)]])&&e.push(t);return e},i.prototype.cloneChild=function(t){return this.diagram.nameTable[""+t]},i.prototype.scaleObject=function(e,i,r,n,o,a,s){e=e<0?1:e,i=i<0?1:i;var h={};if(1!==e||1!==i){var d=void 0,l=void 0;if(n instanceof Hl){var c=n,p=void 0,g=void 0;if(h={width:n.wrapper.actualSize.width,height:n.wrapper.actualSize.height,offsetX:n.wrapper.offsetX,offsetY:n.wrapper.offsetY,margin:{top:c.margin.top,left:c.margin.left}},"Bpmn"===c.shape.type&&c.shape.activity.subProcess.processes&&c.shape.activity.subProcess.processes.length>0&&(g=this.diagram.bpmnModule.getChildrenBound(c,c.id,this.diagram),p=c.wrapper.bounds.containsRect(g)),"Container"===c.shape.type&&c.shape.children&&c.shape.children.length>0&&(g=ia(c,c.id,this.diagram),p=c.wrapper.bounds.containsRect(g)),d=c.wrapper.actualSize.width*e,l=c.wrapper.actualSize.height*i,"SwimLane"===c.shape.type&&(e<1||i<1)){var u="SwimLane"===n.shape.type?n.shape.padding:void 0,f="Horizontal"===c.shape.orientation?c.shape.phases[c.shape.phases.length-1]:c.shape.lanes[c.shape.lanes.length-1],m=this.diagram.nameTable[f.header.id];n.wrapper.children[0].updateColumnWidth(m.columnIndex,d,!0,u),d=m.actualSize.width,l=n.height}var b=(c.constraints&t.NodeConstraints.AspectRatio)===t.NodeConstraints.AspectRatio,x=void 0!==c.minWidth&&0!==c.minWidth,I=void 0!==c.maxWidth&&0!==c.maxWidth,C=void 0!==c.minHeight&&0!==c.minHeight,P=void 0!==c.maxHeight&&0!==c.maxHeight;if(b){var D=c.wrapper.actualSize;x&&C?l/c.minHeight<d/c.minWidth?l<c.minHeight&&(l=c.minHeight,d=c.minHeight*(D.width/D.height)):d<c.minWidth&&(d=c.minWidth,l=c.minWidth*(D.height/D.width)):x?d<c.minWidth&&(d=c.minWidth,l=c.minWidth*(D.height/D.width)):C&&l<c.minHeight&&(l=c.minHeight,d=c.minHeight*(D.width/D.height)),I&&P?l/c.maxHeight>d/c.maxWidth?l>c.maxHeight&&(l=c.maxHeight,d=c.maxHeight*(D.width/D.height)):d>c.maxWidth&&(d=c.maxWidth,l=c.maxWidth*(D.height/D.width)):I?d>c.maxWidth&&(d=c.maxWidth,l=c.maxWidth*(D.height/D.width)):P&&l>c.maxHeight&&(l=c.maxHeight,d=c.maxHeight*(D.width/D.height))}else I&&(d=Math.min(c.maxWidth,d)),x&&(d=Math.max(c.minWidth,d)),C&&(l=Math.max(c.minHeight,l)),P&&(l=Math.min(c.maxHeight,l));p&&(d=Math.max(d,g.right-c.wrapper.bounds.x),l=Math.max(l,g.bottom-c.wrapper.bounds.y)),e=d/c.actualSize.width,i=l/c.actualSize.height}var T=y();a||(a=n);var A=a.wrapper;if(S(T,-A.rotateAngle,r.x,r.y),w(T,e,i,r.x,r.y),S(T,A.rotateAngle,r.x,r.y),n instanceof Hl){var O=(c=n).wrapper.offsetX-c.wrapper.actualSize.width*c.pivot.x,M=c.wrapper.offsetY-c.wrapper.actualSize.height*c.pivot.y,E=!(this.diagram.undoRedoModule&&this.diagram.checkUndoRedo&&("Bpmn"===c.shape.type||c.parentId&&this.diagram.nameTable[c.parentId])),L=v(T,{x:c.wrapper.offsetX,y:c.wrapper.offsetY}),z=E?L.x:h.offsetX,k=E?L.y:h.offsetY,B=c.processId?this.diagram.nameTable[c.processId]:c.parentId?this.diagram.nameTable[c.parentId]:void 0;if(d>0){var N=c.margin.left+d,R=!B||void 0===B.maxWidth||N<B.maxWidth;B&&c.processId&&N>B.wrapper.actualSize.width&&(R=!!(B.constraints&t.NodeConstraints.Resize)),R&&(c.width=d,c.offsetX=z)}if(l>0){var j=c.margin.top+l,H=!B||void 0===B.maxHeight||j<B.maxHeight;B&&c.processId&&j>B.wrapper.actualSize.height&&(H=!!(B.constraints&t.NodeConstraints.Resize)),H&&(c.height=l,c.offsetY=k)}var W=c.wrapper.offsetX-c.wrapper.actualSize.width*c.pivot.x,_=c.wrapper.offsetY-c.wrapper.actualSize.height*c.pivot.y,F=this.diagram.nameTable[c.processId],Y=0;!F&&this.diagram.nameTable[c.parentId]&&"Container"===this.diagram.nameTable[c.parentId].shape.type&&(F=this.diagram.nameTable[c.parentId]).shape.hasHeader&&(Y=F.shape.header.height),F&&(W=c.offsetX-c.width*c.pivot.x,_=c.offsetY-c.height*c.pivot.y),F&&(c.margin.top-Y+(_-M)<=0||c.margin.left+(W-O)<=0)?"Drag"!==this.diagram.eventHandler.currentAction?this.diagram.nodePropertyChange(n,{},{margin:{top:c.margin.top,left:c.margin.left}}):this.diagram.nodePropertyChange(n,{},{width:c.width,height:c.height,margin:{top:c.margin.top,left:c.margin.left}}):ur(this.diagram,n,!0)?fr(this.diagram,n):s||this.diagram.nodePropertyChange(n,h,{width:c.width,height:c.height,offsetX:c.offsetX,offsetY:c.offsetY,margin:{top:c.margin.top+(_-M),left:c.margin.left+(W-O)}})}else{var V=n,X={sourcePoint:V.sourcePoint,targetPoint:V.targetPoint};V.sourceWrapper&&V.targetWrapper||this.scaleConnector(V,T,X,e,i,r)}var U=this.diagram.nameTable[n.processId],G=this.diagram.nameTable[n.parentId];if(U){U.wrapper.bounds,n.wrapper.bounds;g=this.diagram.bpmnModule.getChildrenBound(U,n.id,this.diagram);this.diagram.bpmnModule.updateSubProcessess(g,n,this.diagram)}else G&&G.shape instanceof Vl&&ra(g=ia(G,n.id,this.diagram),n,this.diagram,!0)}},i.prototype.scaleConnector=function(t,e,i,r,n,o){t.sourcePoint=v(e,t.sourcePoint),t.targetPoint=v(e,t.targetPoint),"Bpmn"===t.shape.type&&"Default"===t.shape.sequence&&"Sequence"===t.shape.flow&&this.updatePathElementOffset(t);var a={sourcePoint:t.sourcePoint,targetPoint:t.targetPoint};this.diagram.connectorPropertyChange(t,i,a);var s=this.diagram.selectedItems;if(Lo(this.diagram,s)){var h=k(this.diagram.selectedItems),d={offsetX:h.offsetX,offsetY:h.offsetY,height:h.height,width:h.width,rotateAngle:h.rotateAngle},l=new Hl(this.diagram,"nodes",d,!0);l.wrapper=h.wrapper,l.wrapper.rotateAngle=s.rotateAngle,this.scaleObject(r,n,o,l,l.wrapper,l,!0),s.wrapper.actualSize.width=l.width,s.wrapper.actualSize.height=l.height,s.wrapper.offsetX=l.offsetX,s.wrapper.offsetY=l.offsetY,this.diagram.selectedItems.connectors[0].id!==t.id&&this.measureSelector(s)}},i.prototype.measureSelector=function(t){var e,i=void 0,r=[];r=k(this.diagram.selectedItems).connectors;for(var n={x:this.diagram.selectedItems.offsetX,y:this.diagram.selectedItems.offsetY},o=0;o<r.length;o++){var a=y();S(a,-t.rotateAngle,n.x,n.y),r[parseInt(o.toString(),10)].sourcePoint=v(a,r[parseInt(o.toString(),10)].sourcePoint),r[parseInt(o.toString(),10)].targetPoint=v(a,r[parseInt(o.toString(),10)].targetPoint);var s={x:r[parseInt(o.toString(),10)].sourcePoint.x,y:r[parseInt(o.toString(),10)].sourcePoint.y},h={x:r[parseInt(o.toString(),10)].targetPoint.x,y:r[parseInt(o.toString(),10)].targetPoint.y};e=this.calculateBounds(s,h),void 0===i?i=e:i.uniteRect(e)}var d={};void 0!==i&&(d={x:i.x+i.width*t.wrapper.pivot.x,y:i.y+i.height*t.wrapper.pivot.y});var l={offsetX:d.x,offsetY:d.y,height:i.height,width:i.width,rotateAngle:0},c=new Hl(this.diagram,"nodes",l,!0),p=y();S(p,t.rotateAngle,n.x,n.y),c.rotateAngle+=t.rotateAngle,c.rotateAngle=(c.rotateAngle+360)%360;var g=v(p,{x:c.offsetX,y:c.offsetY});c.offsetX=g.x,c.offsetY=g.y,t.wrapper.actualSize.width=i.width,t.wrapper.actualSize.height=i.height,t.wrapper.offsetX=c.offsetX,t.wrapper.offsetY=c.offsetY;var u=Ea(this.diagram.element.id);this.diagram.diagramRenderer.renderResizeHandle(t.wrapper,u,t.thumbsConstraints,this.diagram.scroller.currentZoom,t.constraints,this.diagram.scroller.transform,!1,Ce(t),null,null,t.handleSize)},i.prototype.calculateBounds=function(t,e){var i=Math.min(t.x,e.x),r=Math.max(t.x,e.x),n=Math.min(t.y,e.y),o=Math.max(t.y,e.y);return new ms(i,n,r-i,o-n)},i.prototype.portDrag=function(t,e,i,r){var n,o,a=this.findTarget(e,t),s=z(t.wrapper);a&&ni(a,this.diagram)&&(t instanceof Hl?(n=this.getPortChanges(t,a),a.offset.x+=i/s.width,a.offset.y+=r/s.height,a.offset.x=Math.max(0,Math.min(1,a.offset.x)),a.offset.y=Math.max(0,Math.min(1,a.offset.y)),o=this.getPortChanges(t,a),this.diagram.nodePropertyChange(t,n,o)):(n=this.getConnectorPortChanges(t,a),this.updatePortOffset(t,a,i,r),a.alignment="Center",o=this.getConnectorPortChanges(t,a),this.diagram.connectorPropertyChange(t,n,o)),this.diagram.updateDiagramObject(t))},i.prototype.labelDrag=function(e,i,r,n){var o=this.findTarget(i,e),a=L(e.wrapper),s=this.getAnnotationChanges(e,o),h=this.getSelectedObject();if(o instanceof ah){var d=i.flippedPoint&&i.flip===t.FlipDirection.Horizontal||i.flip===t.FlipDirection.Both?-1:1,l=i.flippedPoint&&i.flip===t.FlipDirection.Vertical||i.flip===t.FlipDirection.Both?-1:1;if(this.diagram.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){this.annotationRestrictDeltaValue=this.annotationRestrictDeltaValue||{x:0,y:0},this.annotationRestrictDeltaValue.x>0&&(this.annotationRestrictDeltaValue.x-=r,r=this.annotationRestrictDeltaValue.x>0?0:-this.annotationRestrictDeltaValue.x,this.annotationRestrictDeltaValue.x=Math.max(0,this.annotationRestrictDeltaValue.x)),this.annotationRestrictDeltaValue.y>0&&(this.annotationRestrictDeltaValue.y-=n,n=this.annotationRestrictDeltaValue.y>0?0:-this.annotationRestrictDeltaValue.y,this.annotationRestrictDeltaValue.y=Math.max(0,this.annotationRestrictDeltaValue.y));var c=Math.cos(i.parentTransform*Math.PI/180),p=Math.sin(i.parentTransform*Math.PI/180),g={x:e.offsetX+((a.x+o.offset.x*a.width+r-e.offsetX)*c-(a.y+o.offset.y*a.height+n-e.offsetY)*p),y:e.offsetY+((a.x+o.offset.x*a.width+r-e.offsetX)*p+(a.y+o.offset.y*a.height+n-e.offsetY)*c)},u=(i.parentTransform+i.rotateAngle)%360,f=this.getRotatedAnnotationCorners(g,i.actualSize.width,i.actualSize.height,u),m=f.map(function(t){return t.x}),y=f.map(function(t){return t.y}),v=Math.min.apply(Math,m),b=Math.min.apply(Math,y);(v<0||b<0)&&(r=0,n=0,0===i.parentTransform&&(v<0&&(this.annotationRestrictDeltaValue.x+=-v),b<0&&(this.annotationRestrictDeltaValue.y+=-b)))}o.offset.x+=d*r/a.width,o.offset.y+=l*n/a.height}else this.updatePathAnnotationOffset(e,o,r,n),o instanceof sh&&(o.alignment="Center");var S=this.getAnnotationChanges(e,o);e instanceof Hl?this.diagram.nodePropertyChange(e,s,S):this.diagram.connectorPropertyChange(e,s,S),this.diagram.updateDiagramObject(e),zr(this.diagram,o,!1,i)||this.labelSelect(e,i,h);for(var w=0,x=this.diagram.views;w<x.length;w++){var I=x[w],C=this.diagram.views[I];C instanceof Tp||this.diagram.refreshCanvasDiagramLayer(C)}},i.prototype.getRotatedAnnotationCorners=function(t,e,i,r){var n=Math.cos(r*Math.PI/180),o=Math.sin(r*Math.PI/180),a=e/2,s=i/2;return[{x:t.x+(-a*n- -s*o),y:t.y+(-a*o+-s*n)},{x:t.x+(a*n- -s*o),y:t.y+(a*o+-s*n)},{x:t.x+(-a*n-s*o),y:t.y+(-a*o+s*n)},{x:t.x+(a*n-s*o),y:t.y+(a*o+s*n)}]},i.prototype.updatePathAnnotationOffset=function(t,e,i,r,n,o){var a,s,h,d,l=this.diagram.getWrapper(t.wrapper,e.id),c=l.offsetX,p=l.offsetY,g=t.intermediatePoints,u=0,f=0;switch(e.verticalAlignment){case"Center":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p+r});break;case"Top":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p-l.actualSize.height/2+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p-l.actualSize.height/2+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p-l.actualSize.height/2+r});break;case"Bottom":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p+l.actualSize.height/2+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p+l.actualSize.height/2+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p+l.actualSize.height/2+r})}var m=this.getInterceptWithSegment(d,g),y=g[g.length-1];if(f=fs.getLengthFromListOfPoints(g),m.length>0){if(e.dragLimit=e.dragLimit?e.dragLimit:{},e.dragLimit.top||e.dragLimit.bottom||e.dragLimit.left||e.dragLimit.right){var v={minDistance:null};y=this.getRelativeOffset(d,g,v);var b={minDistance:null};h=this.getRelativeOffset(d,m,b),y=null!=v&&b.minDistance<v.minDistance?h:An(t.intermediatePoints,e).point}else y=h=m[m.length-1];if(y){var S=void 0;for(S=0;S<g.length;S++){if(null!=s){if(ms.toBounds([s,g[parseInt(S.toString(),10)]]).containsPoint(y)){u+=fs.findLength(s,y);break}u+=fs.findLength(s,g[parseInt(S.toString(),10)])}s=g[parseInt(S.toString(),10)]}a={x:u/f,y:0}}this.updateLabelMargin(t,e,a,d,o,i,r)}else this.updateLabelMargin(t,e,null,d,o,i,r)},i.prototype.updatePortOffset=function(t,e,i,r,n,o){var a,s,h,d,l=this.diagram.getWrapper(t.wrapper,e.id),c=l.offsetX,p=l.offsetY,g=t.intermediatePoints,u=0,f=0;switch(e.verticalAlignment){case"Center":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p+r});break;case"Top":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p-l.actualSize.height/2+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p-l.actualSize.height/2+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p-l.actualSize.height/2+r});break;case"Bottom":"Center"===e.horizontalAlignment?d=n||{x:c+i,y:p+l.actualSize.height/2+r}:"Right"===e.horizontalAlignment?d=n||{x:c+l.actualSize.width/2+i,y:p+l.actualSize.height/2+r}:"Left"===e.horizontalAlignment&&(d=n||{x:c-l.actualSize.width/2+i,y:p+l.actualSize.height/2+r})}var m=this.getInterceptWithSegment(d,g),y=g[g.length-1];if(f=fs.getLengthFromListOfPoints(g),m.length>0){y=h=m[m.length-1];var v={minDistance:null};y=this.getRelativeOffset(d,g,v);var b={minDistance:null};if(h=this.getRelativeOffset(d,m,b),y=null!=v&&b.minDistance<v.minDistance?h:An(t.intermediatePoints,e).point){var S=void 0;for(S=0;S<g.length;S++){if(null!=s){if(ms.toBounds([s,g[parseInt(S.toString(),10)]]).containsPoint(y)){u+=fs.findLength(s,y);break}u+=fs.findLength(s,g[parseInt(S.toString(),10)])}s=g[parseInt(S.toString(),10)]}a={x:u/f,y:0}}this.updateLabelMargin(t,e,a,d,o,i,r)}else this.updateLabelMargin(t,e,null,d,o,i,r)},i.prototype.getRelativeOffset=function(t,e,i){var r,n,o,a;for(a=0;a<e.length;a++)o=e[parseInt(a.toString(),10)],n=Math.round(Math.sqrt(Math.pow(t.x-o.x,2)+Math.pow(t.y-o.y,2))),null!==i.minDistance&&Math.min(Math.abs(i.minDistance),Math.abs(n))!==Math.abs(n)||(r=o,i.minDistance=n);return r},i.prototype.dragLimitValue=function(t,e,i,r){var n=!1,o=!1;return i.x>=e.x-t.left-r.width/2&&i.x<=e.x+t.right+r.width/2&&(n=!0),i.y>=e.y-t.top-r.height/2&&i.y<=e.y+t.bottom+r.height/2&&(o=!0),{x:n,y:o}},i.prototype.updateLabelMargin=function(t,e,i,r,n,o,a){if(i=i||{x:e.offset,y:0},e&&i&&i.x>0&&i.x<1){var s=fs.getLengthFromListOfPoints(t.intermediatePoints),h=this.getPointAtLength(s*i.x,t.intermediatePoints,0),d=this.diagram.scrollSettings.currentZoom,l=e.dragLimit?e.dragLimit:{left:0,right:0,top:0,bottom:0};if(l.top||l.bottom||l.left||l.right||e instanceof eh){this.diagram.getWrapper(t.wrapper,e.id);var c=new ms(0,0,0,0),p=this.diagram.getWrapper(t.wrapper,e.id);c.x=p.offsetX/d+o,c.y=p.offsetY/d+a,c.width=e instanceof eh?0:p.bounds.width/d,c.height=e instanceof eh?0:p.bounds.height/d;var g=new ms(h.x-(l.left||0)-c.width/2,h.y-(l.top||0)-c.height/2,(l.left||0)+(l.right||0)+c.width,(l.top||0)+(l.bottom||0)+c.height);if(g.containsPoint(r))r=r;else for(var u=void 0,f=[h,r],m=0,y=u=this.boundsInterSects(f,g,!1);m<y.length;m++)r=y[m];var v=this.dragLimitValue(l,h,r,c);e.margin={left:v.x?r.x-h.x:e.margin.left,top:v.y?r.y-h.y:e.margin.top,right:0,bottom:0}}else e.margin={left:r.x-h.x,top:r.y-h.y,right:0,bottom:0};e.offset=i.x,n&&(e.width=n.width,e.height=n.height)}},i.prototype.boundsInterSects=function(t,e,i){var r;if(e){var n=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height},{x:e.x,y:e.y}];r=this.intersect(t,n,i)}return r},i.prototype.intersect=function(t,e,i){for(var r=[],n=0;n<t.length-1;n++)for(var o=0;o<e.length-1;o++){var a=mn(t[n],t[n+1],e[o],e[o+1]);0!==a.x&&0!==a.y&&r.push(a)}return r},i.prototype.getPointAtLength=function(t,e,i){for(var r,n,o=0,a={x:0,y:0},s=0;s<e.length;s++)if(n=e[s],r){var h=fs.findLength(r,n),d=void 0,l=void 0,c=void 0,p=void 0;if(o+h>=t){d=t-o,l=fs.findAngle(r,n),c=d*Math.cos(l*Math.PI/180),p=d*Math.sin(l*Math.PI/180),a={x:r.x+c,y:r.y+p};break}o+=h,r=n}else r=n;return a},i.prototype.getInterceptWithSegment=function(t,e){for(var i,r,n=[],o=[],a=[],s=fs.findLength({x:0,y:0},{x:this.diagram.scroller.viewPortWidth,y:this.diagram.scroller.viewPortHeight}),h=1;h<e.length;h++){a=[e[h-1],e[h]],o=[],r=Math.round(fs.findAngle(a[0],a[1])%360),i=Math.round(fs.findAngle(a[1],a[0])%360);var d=r>0&&r<=90||r>180&&r<=270?90:-90;o.push(fs.transform(t,r+d,s)),o.push(fs.transform(t,i+d,s));var l=fn({x1:a[0].x,y1:a[0].y,x2:a[1].x,y2:a[1].y},{x1:o[0].x,y1:o[0].y,x2:o[1].x,y2:o[1].y});l.enabled&&n.push(l.intersectPt)}return n},i.prototype.getAnnotationChanges=function(t,e){var i={};return i[po(t,e.id,!0)]={width:e.width,height:e.height,offset:t instanceof Hl?{x:e.offset.x,y:e.offset.y}:e.offset,rotateAngle:e.rotateAngle,margin:{left:e.margin.left,right:e.margin.right,top:e.margin.top,bottom:e.margin.bottom},horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,alignment:t instanceof xd?e.alignment:void 0},{annotations:i}},i.prototype.getConnectorPortChanges=function(t,e){var i={};return i[go(t,e.id)]={width:e.width,height:e.height,offset:e.offset,margin:{left:e.margin.left,right:e.margin.right,top:e.margin.top,bottom:e.margin.bottom},horizontalAlignment:e.horizontalAlignment,verticalAlignment:e.verticalAlignment,alignment:t instanceof xd?e.alignment:void 0},{ports:i}},i.prototype.getPortChanges=function(t,e){var i={};return i[po(t,e.id,!1)]={offset:e.offset},{ports:i}},i.prototype.labelRotate=function(t,e,i,r){var n,o;n=this.getAnnotationChanges(t,e);y(),e.rotateAngle;var a=this.diagram.getWrapper(t.wrapper,e.id),s=0,h=0;a.flippedPoint&&(s=a.flippedPoint.x-a.corners.topLeft.x,h=a.flippedPoint.y-a.corners.topLeft.y);var d=_t({x:a.offsetX+s,y:a.offsetY+h},i)+90,l=this.snapAngle(d);d=0!==l?l:d,e instanceof sh&&e.segmentAngle&&(d-=Cn(t.intermediatePoints,e,t.wrapper.bounds).angle),d=(d+360)%360,e.rotateAngle+=d-(e.rotateAngle+a.parentTransform),e instanceof sh&&(e.alignment="Center");var c=a.rotateAngle;a.rotateAngle=e.rotateAngle,r.wrapper.rotateAngle=r.rotateAngle=e.rotateAngle,a.rotateAngle=this.diagram.canRotateOnNegativeAxis(a)?e.rotateAngle:e.rotateAngle=c,o=this.getAnnotationChanges(t,e),t instanceof Hl?this.diagram.nodePropertyChange(t,n,o):this.diagram.connectorPropertyChange(t,n,o),this.diagram.updateDiagramObject(t);for(var p=0,g=this.diagram.views;p<g.length;p++){var u=g[p],f=this.diagram.views[u];f instanceof Tp||this.diagram.refreshCanvasDiagramLayer(f)}},i.prototype.labelResize=function(e,i,r,n,o,a){var s,h,d;s=this.getAnnotationChanges(e,i);var l=a.wrapper.children[0];if(r&&1!==r||n&&1!==n){var c=y(),p=y();S(c,-e.rotateAngle,e.offsetX,e.offsetY),S(p,-(d=(l.rotateAngle+(e instanceof Hl?e.rotateAngle:0)+360)%360),o.x,o.y),w(p,r,n,o.x,o.y),S(p,d,o.x,o.y);var g=v(p,{x:l.offsetX,y:l.offsetY}),u=l.actualSize.height*n,f=l.actualSize.width*r;if(this.diagram.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var m=v(p,{x:l.offsetX,y:l.offsetY});if(this.getRotatedAnnotationCorners(m,f,u,d).some(function(t){return t.x<0||t.y<0}))return r=1,n=1,f=l.actualSize.width,void(u=l.actualSize.height)}var b=this.findTarget(l,e);if(b instanceof sh&&(g.y+="Top"===b.verticalAlignment?-u/2:"Bottom"===b.verticalAlignment?u/2:0,g.x+="Left"===b.horizontalAlignment?-f/2:"Right"===b.horizontalAlignment?f/2:0),b instanceof sh)this.updatePathAnnotationOffset(e,i,0,0,g,new ps(f,u));else{var x=L(e.wrapper);(g=v(c,g)).x=g.x-l.margin.left+l.margin.right,g.y=g.y-l.margin.top+l.margin.bottom,g.y+="Top"===b.verticalAlignment?-u/2:"Bottom"===b.verticalAlignment?u/2:0,g.x+="Left"===b.horizontalAlignment?-f/2:"Right"===b.horizontalAlignment?f/2:0;var I=x.width/(g.x-x.x),C=x.height/(g.y-x.y);if(f>1){b.width=f;var P=b.offset.x;b.offset.x=1/I,!l.flippedPoint||l.flip!==t.FlipDirection.Horizontal&&l.flip!==t.FlipDirection.Both||"Center"!==l.horizontalAlignment||(b.offset.x=P+P-b.offset.x)}if(u>1){b.height=u;var D=b.offset.y;b.offset.y=1/C,!l.flippedPoint||l.flip!==t.FlipDirection.Vertical&&l.flip!==t.FlipDirection.Both||"Center"!==l.verticalAlignment||(b.offset.y=D+D-b.offset.y)}}}i instanceof sh&&(i.alignment="Center"),h=this.getAnnotationChanges(e,i),e instanceof Hl?this.diagram.nodePropertyChange(e,s,h):this.diagram.connectorPropertyChange(e,s,h),this.diagram.updateDiagramObject(e);for(var T=0,A=this.diagram.views;T<A.length;T++){var O=A[T],M=this.diagram.views[O];M instanceof Tp||this.diagram.refreshCanvasDiagramLayer(M)}},i.prototype.getSubProcess=function(t){var e,i={nodes:[],connectors:[]};return t instanceof Hl?e=t.processId:t&&t.nodes&&t.nodes.length&&t.nodes[0].processId&&(e=t.nodes[0].processId),e?(i.nodes.push(k(this.diagram.nameTable[e])),i):i},i.prototype.getContainer=function(t){var e,i={nodes:[],connectors:[]};return t instanceof Hl?e=t.parentId:t&&t.nodes&&t.nodes.length&&t.nodes[0].parentId&&(e=t.nodes[0].parentId),e?(i.nodes.push(k(this.diagram.nameTable[e])),i):i},i.prototype.checkBoundaryConstraints=function(t,e,i,r){var n=this.diagram.pageSettings,o=this.diagram.pageSettings.boundaryConstraints,a=this.diagram.scroller;if("Page"===o||"Diagram"===o){var s=i?void 0:this.diagram.selectedItems.wrapper.bounds,h="Page"===o?n.width:a.viewPortWidth,d="Page"===o?n.height:a.viewPortHeight,l=i,c=(i?l.right:s.right)+(t||0),p=(i?l.left:s.left)+(t||0),g=(i?l.top:s.top)+(e||0),u=(i?l.bottom:s.bottom)+(e||0);return!!(c<=h&&p>=0&&u<=d&&g>=0||"None"!==this.diagram.layout.type&&r)}return!0},i.prototype.dragSelectedObjects=function(e,i){var r=this,n=this.diagram.selectedItems;this.state&&!this.state.backup&&(this.state.backup={},this.state.backup.offsetX=n.offsetX,this.state.backup.offsetY=n.offsetY),n=gr(this.diagram,n)||n;var o=this.diagram.selectedItems.nodes.filter(function(t){return"SwimLane"===t.shape.type}),a=[];if(o.length>0&&!this.diagram.currentSymbol&&this.diagram.selectedItems.nodes.length+this.diagram.selectedItems.connectors.length>1){var s=this.diagram.selectedItems.nodes.filter(function(t){return""===t.parentId||"SwimLane"!==r.diagram.nameTable[t.parentId].shape.type});if(s.length>0){for(d=0;d<s.length;d++)(this.diagram.nameTable[s[parseInt(d.toString(),10)].parentId]&&this.diagram.nameTable[s[parseInt(d.toString(),10)].parentId].isLane||"SwimLane"===s[parseInt(d.toString(),10)].shape.type)&&(s.splice(d,1),d--);for(var h=o.filter(function(t,e,i){return e===i.findIndex(function(e){return e.id===t.id})}),d=0;d<h.length;d++)a=a.concat(yi(this.diagram,h[d].wrapper.children[0]));(s.length>0||h.length>1||this.diagram.selectedItems.connectors.length>0)&&(s=s.concat(h),this.diagram.selectedItems.nodes.splice(0,this.diagram.selectedItems.nodes.length),s.forEach(function(t){r.diagram.selectedItems.nodes.push(t)}),n=this.diagram.selectedItems,this.diagram.selectedObject.helperObject=void 0)}}if(this.checkBoundaryConstraints(e,i)){this.diagram.diagramActions=this.diagram.diagramActions|t.DiagramAction.PreventZIndexOnDragging|t.DiagramAction.DragUsingMouse;var l=this.diagram.selectedObject.actualObject;return(l&&l instanceof Hl&&l.isLane&&sr(l,this.diagram)||!l||!l.isLane)&&(this.diagram.drag(n,e,i),Pi(a,this.diagram)),this.diagram.diagramActions=this.diagram.diagramActions&~(t.DiagramAction.PreventZIndexOnDragging|t.DiagramAction.DragUsingMouse),this.diagram.refreshCanvasLayers(),this.checkHtmlObjectDrag(n),!0}return!1},i.prototype.checkHtmlObjectDrag=function(t){var e=!1;this.diagram.views&&this.diagram.views.length>1&&(t instanceof Ul?e=t.nodes.some(function(t){return t.shape&&"HTML"===t.shape.type}):t.shape&&"HTML"===t.shape.type&&(e=!0),e&&this.resetOverviewCanvas())},i.prototype.resetOverviewCanvas=function(){for(var t=0,e=this.diagram.views;t<e.length;t++){var i=e[t],r=this.diagram.views[i];if(!(r instanceof Tp)){var n=document.getElementById(r.canvas.id+"overviewrect"),o=Number(n.getAttribute("x")),a=Number(n.getAttribute("y")),s=Number(n.getAttribute("width")),h=Number(n.getAttribute("height"));ts(n,{x:o,y:a,width:Math.max(1,s),height:Math.max(1,h)})}}},i.prototype.scaleSelectedItems=function(t,e,i){var r=this.diagram.selectedItems;this.state&&!this.state.backup&&(this.state.backup={},this.state.backup.offsetX=r.offsetX,this.state.backup.offsetY=r.offsetY,this.state.backup.width=r.width,this.state.backup.height=r.height,this.state.backup.pivot=i),r=gr(this.diagram,r)||r;if(!isNaN(t)&&isFinite(t)||(t=1),!isNaN(e)&&isFinite(e)||(e=1),r&&r.connectors&&r.connectors.length>0&&r.wrapper&&r.wrapper.actualSize){var n=r.wrapper.actualSize.width||r.width||0,o=r.wrapper.actualSize.height||r.height||0;n>0&&n*t<10&&(t=10/n),o>0&&o*e<10&&(e=10/o)}return r.width*t<1&&(t=1),r.height*e<1&&(e=1),this.diagram.scale(r,t,e,i)},i.prototype.rotateSelectedItems=function(t){var e=this.diagram.selectedItems;return this.state&&!this.state.backup&&(this.state.backup={},this.state.backup.angle=e.rotateAngle),e=gr(this.diagram,e)||e,this.diagram.rotate(e,t,void 0,!0)},i.prototype.hasSelection=function(){return Er(this.diagram)},i.prototype.isSelected=function(t){return zr(this.diagram,t)},i.prototype.initExpand=function(e){var i=this.diagram.isProtectedOnChange;this.diagram.protectPropertyChange(!0);var r=e.target||e.source,n={isExpanded:r.isExpanded};r.isExpanded=!r.isExpanded,this.diagram.preventNodesUpdate=!0,this.diagram.diagramActions|=t.DiagramAction.PreventIconsUpdate,this.diagram.nodePropertyChange(r,n,{isExpanded:r.isExpanded}),this.diagram.diagramActions=this.diagram.diagramActions&~t.DiagramAction.PreventIconsUpdate,this.diagram.preventNodesUpdate=!1;for(var o=0,a=this.diagram.views;o<a.length;o++){var s=a[o],h=this.diagram.views[s];h instanceof Tp||this.diagram.refreshCanvasDiagramLayer(h)}this.diagram.protectPropertyChange(i)},i.prototype.expandNode=function(e,i,r){var n=this.diagram.preventNodesUpdate,o=e.isExpanded;this.diagram.preventNodesUpdate=!0,this.expandCollapse(e,o,this.diagram,void 0),e.isExpanded=o;var a=this.diagram.layout.fixedNode;this.diagram.layout.fixedNode=e.id,this.diagram.diagramActions!=t.DiagramAction.Render&&this.diagram.layoutAnimateModule&&this.diagram.layout.enableAnimation&&this.diagram.organizationalChartModule&&(this.diagram.organizationalChartModule.isAnimation=!0),this.diagram.blazorActions|=t.BlazorAction.expandNode;var s={};if(r||(this.layoutAnimateModule&&this.layoutAnimateModule.setIntervalObject.length>0&&(this.layoutAnimateModule.stopCurrentAnimation(this.objectStore[0],i,e),this.objectStore=[]),s=this.diagram.doLayout(),this.objectStore.push(s)),this.canUpdateTemplate=!1,this.diagram.blazorActions&=~t.BlazorAction.expandNode,this.diagram.preventNodesUpdate=n,this.diagram.layoutAnimateModule&&this.diagram.organizationalChartModule&&!r)this.diagram.allowServerDataBinding=!1,this.layoutAnimateModule.expand(this.diagram.layout.enableAnimation,s,e,this.diagram);else{var h={element:Do(k(e)),state:!!e.isExpanded};this.triggerEvent(t.DiagramEvent.expandStateChange,h),this.diagram.lineRoutingModule&&this.diagram.constraints&t.DiagramConstraints.LineRouting&&"ComplexHierarchicalTree"!==this.diagram.layout.type&&this.diagram.resetSegments()}return this.diagram.layout.fixedNode=""===a?"":this.diagram.layout.fixedNode,s},i.prototype.getparentexpand=function(t,e,i,r){for(var n,o=0;o<t.inEdges.length;o++){var a=e.nameTable[t.inEdges[o]],s=e.nameTable[a.sourceID];if(s.isExpanded&&!i&&s.id!==r.sourceID&&a.visible)return!1;n=!0}return n},i.prototype.expandCollapse=function(t,e,i,r){if(r&&0!==r.length||(r=[]),!r.some(function(e){return e.id===t.id})){r.push(t);for(var n=0;n<t.outEdges.length;n++){var o=i.nameTable[t.outEdges[n]],a=i.nameTable[o.targetID],s=this.getparentexpand(a,i,e,o);o.visible=e;var h={visible:a.visible,style:{opacity:a.wrapper.style.opacity}},d={visible:a.visible,style:{opacity:a.wrapper.style.opacity}};s&&(a.isExpanded&&this.expandCollapse(a,e,i,r),a.visible=e,a.style.opacity=this.diagram.layoutAnimateModule&&this.diagram.layout.enableAnimation&&e?.1:a.style.opacity,i.nodePropertyChange(a,h,d)),i.connectorPropertyChange(o,h,d)}}},i.prototype.updateNodeDimension=function(t,e){t instanceof Hl&&(t.offsetX=e.x+e.width/2,t.offsetY=e.y+e.height/2,t.width=e.width,t.height=e.height,t.wrapper.children[0].canMeasurePath=!0,this.diagram.nodePropertyChange(t,{},{width:e.width,height:e.height,offsetX:t.offsetX,offsetY:t.offsetY}),"SVG"!==this.diagram.mode&&this.diagram.refreshDiagramLayer())},i.prototype.updateConnectorPoints=function(t,e){t instanceof xd&&"Bezier"!==t.type?(this.diagram.connectorPropertyChange(t,{},{targetPoint:t.targetPoint}),this.diagram.updateDiagramObject(t)):(this.diagram.connectorPropertyChange(t,{},{segments:t.segments}),this.diagram.updateDiagramObject(t))},i.prototype.updateSelectedNodeProperties=function(e){if(this.diagram.lineRoutingModule&&this.diagram.constraints&t.DiagramConstraints.LineRouting){this.diagram.protectPropertyChange(!0);var i=[],r=[],n=this.diagram.selectedObject.actualObject,o=this.diagram.selectedObject.helperObject,a=n instanceof Ul?k(n):void 0;if(o&&n){var s=o.offsetX-n.offsetX,h=o.offsetY-n.offsetY,d=o.width-n.width,l=o.height-n.height,c=o.rotateAngle-n.rotateAngle;if(this.diagram.selectedItems.nodes.length+this.diagram.selectedItems.connectors.length>0&&(this.diagram.selectedItems.wrapper.rotateAngle=this.diagram.selectedItems.rotateAngle=o.rotateAngle),!(n instanceof Hl&&"SwimLane"!==n.shape.type)||n.isLane||n.isPhase||n.isHeader||ur(this.diagram,n)){if(n instanceof Ul){var p=o.width/n.width,g=o.height/n.height,u=this.diagram.eventHandler.tool.getPivot(this.diagram.eventHandler.tool.corner);if(this.diagram.eventHandler.tool.corner)for(D=0;D<n.nodes.length;D++){var f=(x=n.nodes[parseInt(D.toString(),10)]).wrapper,m=n.wrapper,y=Po(m.offsetX-m.actualSize.width*m.pivot.x,m.offsetY-m.actualSize.height*m.pivot.y,m.actualSize.width,m.actualSize.height,m.rotateAngle,m.offsetX,m.offsetY,u);this.diagram.commandHandler.scaleObject(p,g,y,x,f,n)}else{for(D=0;D<n.nodes.length;D++)if((x=n.nodes[D])instanceof Hl&&"SwimLane"!==x.shape.type&&!ur(this.diagram,x)&&!x.isLane&&!x.isPhase&&!x.isHeader){x.constraints&t.NodeConstraints.Drag&&(x.offsetX+=s,x.offsetY+=h),x.width+=d,x.height+=l;var v=x.rotateAngle;x.rotateAngle+=c;var b=v!==x.rotateAngle,S={offsetX:x.offsetX,offsetY:x.offsetY,width:x.width,height:x.height,rotateAngle:x.rotateAngle};b||delete S.rotateAngle,this.diagram.nodePropertyChange(x,{},S),i=i.concat(this.diagram.spatialSearch.findObjects(n.wrapper.outerBounds))}if(this.diagram.lineRoutingModule)for(D=0;D<n.connectors.length;D++){var w={sourcePoint:(I=n.connectors[D]).sourcePoint,targetPoint:I.targetPoint,sourceID:I.sourceID,targetID:I.targetID,sourcePortID:I.sourcePortID,targetPortID:I.targetPortID};this.diagram.connectorPropertyChange(I,{},w,void 0,!0)}}}}else n.offsetX===n.wrapper.offsetX&&n.offsetY===n.wrapper.offsetY&&n.width===n.wrapper.width&&n.height===n.wrapper.height&&n.rotateAngle===n.wrapper.rotateAngle||(n.offsetX+=s,n.offsetY+=h,n.width+=d,n.height+=l,n.rotateAngle+=c,this.diagram.nodePropertyChange(n,{},{offsetX:n.offsetX,offsetY:n.offsetY,width:n.width,height:n.height,rotateAngle:n.rotateAngle},!1,!0)),i=this.diagram.spatialSearch.findObjects(n.wrapper.outerBounds)}else if(e instanceof xd?i.push(e):e instanceof Ul&&e.connectors.length&&(i=i.concat(e.connectors)),e instanceof Ul&&-1!==this.diagram.nodes.indexOf(e.nodes[0])){var x=n||e.nodes[0];!(x instanceof Hl&&"SwimLane"!==x.shape.type)||ur(this.diagram,x)||x.isLane||x.isPhase||x.isHeader||(i=i.concat(this.diagram.spatialSearch.findObjects(x.wrapper.outerBounds)))}for(D=0;D<i.length;D++)i[D]instanceof xd&&-1===r.indexOf(i[D].id)&&r.push(i[D].id);(r.length>0||this.diagram.routedConnectors.length>0)&&(this.diagram.avoidLineOverlappingModule&&(this.diagram.avoidLineOverlappingModule.removeConnectors(r),this.diagram.avoidLineOverlappingModule.removeConnectors(this.diagram.routedConnectors)),this.diagram.lineRoutingModule.renderVirtualRegion(this.diagram,!0)),this.diagram.lineRoutingModule.skipObstacleCheck=!0;for(D=0;D<this.diagram.routedConnectors.length;D++){I=this.diagram.nameTable[this.diagram.routedConnectors[D]];this.ReRouteConnector(I)}this.diagram.lineRoutingModule.skipObstacleCheck=!1;for(D=0;D<r.length;D++){var I=this.diagram.nameTable[r[D]];-1===this.diagram.routedConnectors.indexOf(I.id)&&this.ReRouteConnector(I)}if(this.diagram.routedConnectors=[],o&&n&&a&&"Drag"===this.diagram.eventHandler.currentAction){for(var C=!1,P=this.diagram.nameTable,D=0;D<n.nodes.length;D++)P[n.nodes[D].parentId]&&P[n.nodes[D].parentId].isLane||(C=!0);if(C){var T=k(n);this.diagram.startGroupAction();var A={type:"PositionChanged",redoObject:k(T),undoObject:a,category:"Internal"};this.diagram.addHistoryEntry(A),this.diagram.endGroupAction()}}this.updateSelector(),this.diagram.protectPropertyChange(!1)}},i.prototype.drawSelectionRectangle=function(t,e,i,r){this.diagram.drawSelectionRectangle(t,e,i,r)},i.prototype.ReRouteConnector=function(t){if(t instanceof xd&&"Orthogonal"===t.type&&t.sourceID&&t.targetID&&t.sourceID!=t.targetID&&"ComplexHierarchicalTree"!==this.diagram.layout.type){var e=this.diagram.getObject(t.sourceID),i=this.diagram.getObject(t.targetID),r=i.offsetX>e.offsetX?i.wrapper.outerBounds.middleLeft.x-e.wrapper.outerBounds.middleRight.x:e.wrapper.outerBounds.middleLeft.x-i.wrapper.outerBounds.middleRight.x,n=i.offsetY>e.offsetY?i.wrapper.outerBounds.topCenter.y-e.wrapper.outerBounds.bottomCenter.y:e.wrapper.outerBounds.topCenter.y-i.wrapper.outerBounds.bottomCenter.y;(r>30||n>30)&&this.diagram.lineRoutingModule.refreshConnectorSegments(this.diagram,t,!0)}},i.prototype.startGroupAction=function(){this.diagram.startGroupAction()},i.prototype.endGroupAction=function(){this.diagram.endGroupAction()},i.prototype.removeChildFromBPmn=function(t,e,i){var r=this,n=this.diagram.nameTable[t.id]||t.nodes[0];if(i)if(n&&n.processId&&n.processId===i.wrapper.id){(a=k(n)).processId=n.processId;var o=this.diagram.nameTable[n.processId].shape.activity.subProcess.processes||[];n.hasTextAnnotation&&n.outEdges.concat(n.inEdges).forEach(function(t){var e=r.diagram.nameTable[t].targetID,i=o.indexOf(e);-1!==i&&(o.splice(i,1),r.diagram.bpmnModule.removeChildFromBPMN(r.diagram.nameTable[n.processId].wrapper,e,r.diagram),r.diagram.nameTable[e].processId="")}),o.splice(o.indexOf(n.id),1),this.diagram.bpmnModule.removeChildFromBPMN(this.diagram.nameTable[n.processId].wrapper,n.id,this.diagram),this.diagram.nameTable[n.id].processId="",n.offsetX=n.wrapper.offsetX,n.offsetY=n.wrapper.offsetY}else if(n&&n.parentId&&n.parentId===i.wrapper.id&&this.diagram.nameTable[n.parentId].shape instanceof Vl){var a=k(n);a.parentId=n.parentId;var s=this.diagram.nameTable[n.parentId].shape.children||[];s.splice(s.indexOf(n.id),1),ha(this.diagram.nameTable[n.parentId].wrapper,n.id,this.diagram),this.diagram.nameTable[n.id].parentId="",n.offsetX=n.wrapper.offsetX,n.offsetY=n.wrapper.offsetY}},i.prototype.isDroppable=function(t,i){var r=this.diagram.nameTable[t.id]||t.nodes[0]||t.connectors[0];return(r instanceof Hl||r instanceof xd)&&(!e.isBlazor()&&"TextAnnotation"===r.shape.shape||("Group"===i.shape.shape&&(i.shape.activity.subProcess.collapsed=!1),(!r||"Bpmn"!==r.shape.type||r.processId!==i.id&&r.id!==i.processId&&("Bpmn"!==i.shape.type||i instanceof xd||!i.shape.activity||!i.shape.activity.subProcess||!i.shape.activity.subProcess.collapsed))&&((!r||r.parentId!==i.id&&r.id!==i.parentId||"Container"!==i.shape.type||i instanceof xd)&&!(r&&"Container"===r.shape.type&&i.isLane||r&&"SwimLane"===r.shape.type&&"Container"===i.shape.type))))},i.prototype.renderHighlighter=function(t,e,i){new ms;if(t.target instanceof Hl||t.target instanceof xd||e&&(t.source instanceof Hl||t.source instanceof xd)){var r=e?t.source:t.target,n=e?t.sourceWrapper:t.targetWrapper,o=this.findTarget(n,r,i,!0),a=void 0;if(o instanceof xl)for(var s=o.id,h=t.target,d=0,l=h.wrapper.children[0].children[0].children[2].children;d<l.length;d++){var c=l[d];if(c.id===h.id+"_"+s){a=c.children[0];break}}else a=o instanceof Hl?o.wrapper:e?t.sourceWrapper:t.targetWrapper;!a||o instanceof xd||this.diagram.renderHighlighter(a)}},i.prototype.mouseOver=function(t,e,i){return!0},i.prototype.snapPoint=function(e,i,r,n){var o,a=this.diagram.selectedItems,s=i.x<e.x,h=i.y<e.y,d=o={x:r,y:n};return this.snappingModule&&(a.nodes.length>0&&a.nodes[0].constraints&t.NodeConstraints.Drag||a.connectors.length>0&&a.connectors[0].constraints&t.ConnectorConstraints.Drag)&&(d=this.diagram.snappingModule.snapPoint(this.diagram,a,s,h,o,e,i)),d},i.prototype.removeSnap=function(){this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&this.snappingModule&&this.snappingModule.removeGuidelines(this.diagram)},i.prototype.dropAnnotation=function(t,i){if(t instanceof Hl||t instanceof Ul){var r=t instanceof Hl?t:t.nodes[0];if(this.diagram.bpmnModule&&"Bpmn"===i.shape.type&&!e.isBlazor()&&"TextAnnotation"===r.shape.shape){r.hasTarget=i.id,r.shape.annotation.nodeId=i.id,this.diagram.currentSymbol||(this.diagram.addTextAnnotation(r.shape.annotation,i),r.shape.annotation.nodeId="",this.diagram.remove(r)),this.diagram.refreshDiagramLayer()}}},i.prototype.drop=function(t,e,i){if(this.diagram.bpmnModule&&"Container"!==e.shape.type){var r=t instanceof Hl?[t]:t.nodes;if(r){for(var n=0;n<r.length;n++){var o=r[n];if(o&&"Bpmn"===o.shape.type&&e instanceof Hl&&"Bpmn"===e.shape.type&&!(e instanceof xd)&&(this.diagram.bpmnModule.dropBPMNchild(e,o,this.diagram),o.hasTextAnnotation))for(var a=0;a<o.outEdges.length;a++){var s=this.diagram.nameTable[o.outEdges[parseInt(a.toString(),10)]];if(s.isBpmnAnnotationConnector){var h=this.diagram.nameTable[s.targetID];this.diagram.bpmnModule.dropBPMNchild(e,h,this.diagram)}}}this.diagram.refreshDiagramLayer()}}else if("Container"===e.shape.type){for(var d=t instanceof Hl?[t]:t.nodes,l=0;l<d.length;l++)ea(e,d[l],this.diagram);this.diagram.refreshDiagramLayer()}},i.prototype.addHistoryEntry=function(t){this.diagram.addHistoryEntry(t)},i.prototype.align=function(t,e,i){if(t.length>0){var r=0;t[0]=this.diagram.nameTable[t[0].id]||t[0];var n="Object"===i?z(t[0].wrapper):this.diagram.selectedItems.wrapper.bounds,o={nodes:[],connectors:[]},a={nodes:[],connectors:[]};for(r="Object"===i?r+1:r;r<t.length;r++){var s=0,h=0;t[r]=this.diagram.nameTable[t[r].id]||t[r];var d=z(t[r].wrapper);"Left"===e?s=n.left+d.width/2-d.center.x:"Right"===e?s=n.right-d.width/2-d.center.x:"Top"===e?h=n.top+d.height/2-d.center.y:"Bottom"===e?h=n.bottom-d.height/2-d.center.y:"Center"===e?s=n.center.x-d.center.x:"Middle"===e&&(h=n.center.y-d.center.y),o=this.storeObject(o,t[r]),this.drag(t[r],s,h),this.diagram.updateSelector(),a=this.storeObject(a,t[r])}o=k(o),a=k(a);var l={type:"Align",category:"Internal",undoObject:k(o),redoObject:k(a)};this.addHistoryEntry(l)}},i.prototype.distribute=function(t,e){if(t.length>0){var i=0,r=0,n=0,o=0,a=0,s=0,h=0,d=0,l=0,c={nodes:[],connectors:[]},p={nodes:[],connectors:[]};for(i=0;i<t.length;i++)t[i]=this.diagram.nameTable[t[i].id]||t[i];for(t=In(t,e),i=1;i<t.length;i++)r=r+t[i].wrapper.bounds.topRight.x-t[i-1].wrapper.bounds.topRight.x,n=n+t[i].wrapper.bounds.topLeft.x-t[i-1].wrapper.bounds.topLeft.x,o=o+t[i].wrapper.bounds.topRight.y-t[i-1].wrapper.bounds.topRight.y,a=a+t[i].wrapper.bounds.bottomRight.y-t[i-1].wrapper.bounds.bottomRight.y,s=s+t[i].wrapper.bounds.center.x-t[i-1].wrapper.bounds.center.x,h=h+t[i].wrapper.bounds.center.y-t[i-1].wrapper.bounds.center.y,d=d+t[i].wrapper.bounds.topRight.y-t[i-1].wrapper.bounds.bottomRight.y,l=l+t[i].wrapper.bounds.middleLeft.x-t[i-1].wrapper.bounds.middleRight.x;for(i=1;i<t.length-1;i++){var g=0,u=0,f=z(t[i-1].wrapper),m=z(t[i].wrapper);"Center"===e?g=f.center.x-m.center.x+s/(t.length-1):"RightToLeft"===e?g=f.middleRight.x-m.middleLeft.x+l/(t.length-1):"Right"===e?g=f.topRight.x-m.topRight.x+r/(t.length-1):"Left"===e?g=f.topLeft.x-m.topLeft.x+n/(t.length-1):"Middle"===e?u=f.center.y-m.center.y+h/(t.length-1):"Top"===e?u=f.topRight.y-m.topRight.y+o/(t.length-1):"Bottom"===e?u=f.bottomRight.y-m.bottomRight.y+a/(t.length-1):"BottomToTop"===e&&(u=f.bottomRight.y-m.topRight.y+d/(t.length-1)),c=this.storeObject(c,t[i]),this.drag(t[i],g,u),this.diagram.updateSelector(),p=this.storeObject(p,t[i])}c=k(c),p=k(p);var y={type:"Distribute",category:"Internal",undoObject:k(c),redoObject:k(p)};this.addHistoryEntry(y)}},i.prototype.sameSize=function(t,e){if(t.length>0){var i=0,r={x:.5,y:.5};t[0]=this.diagram.nameTable[t[0].id]||t[0];var n=z(t[0].wrapper),o={nodes:[],connectors:[]},a={nodes:[],connectors:[]};for(i=1;i<t.length;i++){t[parseInt(i.toString(),10)]=this.diagram.nameTable[t[parseInt(i.toString(),10)].id]||t[0];var s=z(t[parseInt(i.toString(),10)].wrapper),h=1,d=1;"Width"===e?h=n.width/s.width:"Height"===e?d=n.height/s.height:"Size"===e&&(h=n.width/s.width,d=n.height/s.height),o=this.storeObject(o,t[parseInt(i.toString(),10)]),this.scale(t[parseInt(i.toString(),10)],h,d,r),a=this.storeObject(a,t[parseInt(i.toString(),10)])}this.diagram.updateSelector(),o=k(o),a=k(a);var l={type:"Sizing",category:"Internal",undoObject:k(o),redoObject:k(a)};this.addHistoryEntry(l)}},i.prototype.storeObject=function(t,e){return e instanceof Hl?t.nodes.push(k(e)):t.connectors.push(k(e)),t},i.prototype.updatePanState=function(e){if(e)this.diagram.realActions=this.diagram.realActions|t.RealAction.PanInProgress;else{this.diagram.dataBind();var i=this.diagram.scrollSettings,r=this.diagram.initialScrollValues;this.diagram.realActions=this.diagram.realActions&~t.RealAction.PanInProgress;var n={oldValue:{VerticalOffset:r?r.VerticalOffset:i.verticalOffset,HorizontalOffset:r?r.HorizontalOffset:i.horizontalOffset,ViewportHeight:r?r.ViewportHeight:i.viewPortHeight,ViewportWidth:r?r.ViewportWidth:i.viewPortWidth,CurrentZoom:r?r.CurrentZoom:i.currentZoom},newValue:{VerticalOffset:i.verticalOffset,HorizontalOffset:i.horizontalOffset,ViewportHeight:i.viewPortHeight,ViewportWidth:i.viewPortWidth,CurrentZoom:i.currentZoom},source:this.diagram,panState:"Completed"};this.triggerEvent(t.DiagramEvent.scrollChange,n)}},i.prototype.dataBinding=function(){this.diagram.dataBind()},i.prototype.setBlazorDiagramProps=function(t){this.diagram.setBlazorDiagramProps(t)},i.prototype.scroll=function(t,e,i){var r=Je(this.diagram),n=$e(this.diagram);this.diagram.pan((t=r?t:0)*this.diagram.scroller.currentZoom,(e=n?e:0)*this.diagram.scroller.currentZoom,i,!0)},i.prototype.drawHighlighter=function(t){this.diagram.renderHighlighter(t.wrapper)},i.prototype.removeHighlighter=function(){this.diagram.clearHighlighter()},i.prototype.renderContainerHelper=function(t){return gr(this.diagram,t)},i.prototype.isParentAsContainer=function(t,e){return ur(this.diagram,t,e)},i.prototype.isTargetSubProcess=function(t){return!!(t&&t.shape&&"Bpmn"===t.shape.type&&t.shape.activity&&"SubProcess"===t.shape.activity.activity)},i.prototype.dropChildToContainer=function(e,i){if(!(this.diagram.diagramActions&t.DiagramAction.PreventLaneContainerUpdate)&&(vr(this.diagram,e,i),i.hasTextAnnotation))for(var r=0;r<i.outEdges.length;r++){var n=this.diagram.nameTable[i.outEdges[parseInt(r.toString(),10)]];if(n.isBpmnAnnotationConnector){var o=this.diagram.nameTable[n.targetID];vr(this.diagram,e,o)}}},i.prototype.updateLaneChildrenZindex=function(t,e){var i=this.findLeastIndexObject(t,e),r=this.diagram.nameTable[e.parentId];if(r&&r.zIndex>i.zIndex){for(var n=this.diagram.layers.indexOf(this.diagram.getActiveLayer()),o=this.diagram.layers[parseInt(n.toString(),10)].zIndexTable,a=JSON.parse(JSON.stringify(o)),s=i.zIndex,h=r.zIndex,d=h;d>=s;d--)if(s!==d)o[d-1]?(o[parseInt(d.toString(),10)]=o[d-1],this.diagram.nameTable[o[parseInt(d.toString(),10)]].zIndex=d):(o[d-1]=o[parseInt(d.toString(),10)],this.diagram.nameTable[o[d-1]].zIndex=d,delete o[parseInt(d.toString(),10)]);else this.swapZIndexObjects(h,o,r.id,a);"SVG"===this.diagram.mode?(this.moveSvgNode(e.parentId,i.id),this.updateNativeNodeIndex(e.parentId,i.id)):this.diagram.refreshCanvasLayers()}},i.prototype.findLeastIndexConnector=function(t,e,i){for(var r=0;r<t.length;r++){var n=this.diagram.nameTable[t[parseInt(r.toString(),10)]];i.zIndex>n.zIndex&&(i=n)}return i},i.prototype.findLeastIndexObject=function(t,e){var i=t;return t instanceof Hl&&(i=this.findLeastIndexConnector(t.inEdges,e,i),i=this.findLeastIndexConnector(t.outEdges,e,i)),i},i.prototype.checkSelection=function(t,e){var i;if(1===t.nodes.length&&0===t.connectors.length)if(ur(this.diagram,t.nodes[0],!0)){i="SwimLane"===t.nodes[0].shape?t.nodes[0]:this.diagram.nameTable[t.nodes[0].parentId];var r=t.nodes[0];if("SwimLane"===i.shape.type){var n="Horizontal"===i.shape.orientation;(r.isPhase&&(n&&"ResizeSouth"===e||!n&&"ResizeEast"===e)||r.isLane&&(n&&"ResizeEast"===e||!n&&"ResizeSouth"===e))&&Yi(this.diagram,i,e)}else if("Grid"===i.container.type)if("Horizontal"===i.container.orientation&&1===r.rowIndex||"Vertical"===i.container.orientation&&r.rowIndex>0&&r.columnIndex>0){if("ResizeSouth"===e)for(o=0;o<this.diagram.nodes.length;o++)if((a=this.diagram.nodes[parseInt(o.toString(),10)]).rowIndex===i.rows.length-1&&0===a.columnIndex){this.select(a);break}}else if("ResizeEast"===e)for(var o=0;o<this.diagram.nodes.length;o++){var a=this.diagram.nodes[parseInt(o.toString(),10)];if(1===a.rowIndex&&a.columnIndex===i.columns.length-1){this.select(a);break}}}else Yi(this.diagram,t.nodes[0],e)},i.prototype.zoom=function(t,e,i,r){this.diagram.scroller.zoom(t,e*this.diagram.scroller.currentZoom,i*this.diagram.scroller.currentZoom,r)},i}(),zc=function(){function e(t){this.transform={tx:0,ty:0,scale:1},this.oldCollectionObjects=[],this.removeCollection=[],this.vPortWidth=0,this.vPortHeight=0,this.currentZoomFActor=1,this.hOffset=0,this.vOffset=0,this.scrolled=!1,this.hScrollSize=0,this.vScrollSize=0,this.diagram=t,this.objects=[],this.transform=t.scroller?t.scroller.transform:{tx:0,ty:0,scale:1},this.vPortWidth=t.scrollSettings.viewPortWidth,this.vPortHeight=t.scrollSettings.viewPortHeight,this.currentZoomFActor=t.scrollSettings.currentZoom,this.hOffset=t.scrollSettings.horizontalOffset,this.vOffset=t.scrollSettings.verticalOffset}return Object.defineProperty(e.prototype,"viewPortHeight",{get:function(){return this.vPortHeight},set:function(t){this.vPortHeight=t,this.diagram.scrollSettings.viewPortHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentZoom",{get:function(){return this.currentZoomFActor||1},set:function(t){this.currentZoomFActor=t,this.diagram.scrollSettings.currentZoom=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"viewPortWidth",{get:function(){return this.vPortWidth},set:function(t){this.vPortWidth=t,this.diagram.scrollSettings.viewPortWidth=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"horizontalOffset",{get:function(){return this.hOffset},set:function(e){this.hOffset=e,Math.abs(this.hOffset-this.diagram.scrollSettings.horizontalOffset)>1&&(this.diagram.realActions=this.diagram.realActions|t.RealAction.hScrollbarMoved,this.scrolled=!0),this.diagram.scrollSettings.horizontalOffset=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"verticalOffset",{get:function(){return this.vOffset},set:function(e){this.vOffset=e,Math.abs(this.vOffset-this.diagram.scrollSettings.verticalOffset)>1&&(this.diagram.realActions=this.diagram.realActions|t.RealAction.vScrollbarMoved,this.scrolled=!0),this.diagram.scrollSettings.verticalOffset=e},enumerable:!0,configurable:!0}),e.prototype.getBounds=function(){var t=this.diagram.spatialSearch.getPageBounds(0,0);return(t.x<0||t.y<0)&&!this.diagram.pageSettings.multiplePage?this.getPageBounds(void 0,void 0,!0,!0):this.getPageBounds(void 0,void 0,!0)},e.prototype.updateScrollOffsets=function(t,e){var i=0,r=0,n=this.getBounds();n.x*=this.currentZoom,n.y*=this.currentZoom,n.width*=this.currentZoom,n.height*=this.currentZoom,i=Math.max(0,t-n.left),r=Math.max(0,e-n.top),void 0!==t&&void 0!==e?(this.horizontalOffset=i,this.verticalOffset=r,this.diagram.setOffset(i,r)):this.diagram.setOffset(-this.horizontalOffset-n.x,-this.verticalOffset-n.y),this.transform={tx:Math.max(this.horizontalOffset,-n.left)/this.currentZoom,ty:Math.max(this.verticalOffset,-n.top)/this.currentZoom,scale:this.currentZoom}},e.prototype.setScrollOffset=function(t,e){this.scrolled=!1;var i=this.getBounds();i.x*=this.currentZoom,i.y*=this.currentZoom,i.width*=this.currentZoom,i.height*=this.currentZoom;var r=-i.left,n=-i.top,o=r-t;o!==this.horizontalOffset&&(r<this.horizontalOffset&&this.horizontalOffset>o?this.horizontalOffset-=t:this.horizontalOffset=o);var a=n-e;a!==this.verticalOffset&&(n<this.verticalOffset&&this.verticalOffset>a?this.verticalOffset-=e:this.verticalOffset=a),this.transform={tx:Math.max(this.horizontalOffset,-i.left)/this.currentZoom,ty:Math.max(this.verticalOffset,-i.top)/this.currentZoom,scale:this.currentZoom},this.setSize()},e.prototype.getObjects=function(t,e){for(var i=[],r=new Set(e),n=0;n<t.length;n++)r.has(t[parseInt(n.toString(),10)])||i.push(t[parseInt(n.toString(),10)]);return i},e.prototype.virtualizeElements=function(){for(var t=this.viewPortWidth/this.currentZoom,e=this.viewPortHeight/this.currentZoom,i=this.diagram.spatialSearch.findObjects(new ms(-this.horizontalOffset/this.currentZoom,-this.verticalOffset/this.currentZoom,t,e)),r=[],n=[],o=0;o<i.length;o++){var a=i[parseInt(o.toString(),10)].shape;if("Bpmn"===a.type&&a&&a.activity&&a.activity.subProcess&&a.activity.subProcess.processes&&a.activity.subProcess.processes.length>0){for(c=0;c<a.activity.subProcess.processes.length;c++)n.push(a.activity.subProcess.processes[parseInt(c.toString(),10)]);n.push(i[parseInt(o.toString(),10)].id)}else""!==i[parseInt(o.toString(),10)].processId&&void 0!==i[parseInt(o.toString(),10)].processId||n.push(i[parseInt(o.toString(),10)].id)}r=n;for(var s=[],o=0;o<i.length;o++){var h=i[parseInt(o.toString(),10)].shape;if("Bpmn"===h.type&&h&&h.activity&&h.activity.subProcess&&h.activity.subProcess.processes&&h.activity.subProcess.processes.length>0){s.push(i[parseInt(o.toString(),10)].id);for(var d=0;d<h.activity.subProcess.processes.length;d++)s.push(h.activity.subProcess.processes[parseInt(d.toString(),10)])}else""!==i[parseInt(o.toString(),10)].processId&&void 0!==i[parseInt(o.toString(),10)].processId||s.push(i[parseInt(o.toString(),10)].id)}for(var l={},c=0;c<s.length;c++)l[s[parseInt(c.toString(),10)]]=c;this.diagram.protectPropertyChange(!0);for(o=0;o<i.length;o++){var p=i[parseInt(o.toString(),10)].id;p in l&&(i[parseInt(o.toString(),10)].zIndex=l[""+p])}this.diagram.protectPropertyChange(!1);var g=this.getObjects(r,this.oldCollectionObjects);0===this.oldCollectionObjects.length&&(this.oldCollectionObjects=r);var u=this.getObjects(this.oldCollectionObjects,r);this.diagram.updateVirtualObjects(g,!1,u),this.oldCollectionObjects=r},e.prototype.setSize=function(e){var i=this.getPageBounds(void 0,void 0,!0);i.x*=this.currentZoom,i.y*=this.currentZoom,i.width*=this.currentZoom,i.height*=this.currentZoom;var r=Math.min(i.x,-this.horizontalOffset),n=Math.min(i.y,-this.verticalOffset),o=(this.horizontalOffset,this.viewPortWidth,i.right,this.verticalOffset,this.viewPortHeight,i.bottom,this.scrollerWidth),a=this.scrollerWidth;-this.verticalOffset<=i.y&&-this.verticalOffset+this.viewPortHeight>=i.bottom&&(a=0),-this.horizontalOffset<=i.x&&-this.horizontalOffset+this.viewPortWidth>=i.right&&(o=0),this.hScrollSize=o,this.vScrollSize=a;var s=this.diagramWidth,h=this.diagramHeight;this.diagramWidth=Math.max(i.right,-this.horizontalOffset+this.viewPortWidth-a)-r,this.diagramHeight=Math.max(i.bottom,-this.verticalOffset+this.viewPortHeight-o)-n,s===this.diagramWidth&&h===this.diagramHeight||"Diagram"===this.diagram.scrollSettings.scrollLimit||this.diagram.setSize(this.diagramWidth,this.diagramHeight);var d=i.height>this.viewPortHeight||i.width>this.viewPortWidth;"Diagram"===this.diagram.scrollSettings.scrollLimit&&(s===this.diagramWidth&&h===this.diagramHeight&&1===this.currentZoom||this.diagram.diagramActions&&e&&(!this.diagram.diagramActions||!e||0===this.verticalOffset&&this.verticalOffset!==e.y||0===this.horizontalOffset&&this.horizontalOffset!==e.x)?e&&s===this.diagramWidth&&h===this.diagramHeight&&(this.diagram.diagramCanvas.scrollHeight>this.viewPortHeight&&e.y<0&&this.horizontalOffset===e.x&&0===this.verticalOffset||this.diagram.diagramCanvas.scrollWidth>this.viewPortWidth&&e.x<0&&this.verticalOffset===e.y&&0===this.horizontalOffset)&&(this.verticalOffset=e.y,this.horizontalOffset=e.x,this.transform={tx:Math.max(e.x,-i.left)/this.currentZoom,ty:Math.max(e.y,-i.top)/this.currentZoom,scale:this.currentZoom}):(this.diagram.scrollActions&t.ScrollActions.Interaction&&e&&d&&(this.transform={tx:Math.max(e.x,-i.left/this.currentZoom)/this.currentZoom,ty:Math.max(e.y,-i.top/this.currentZoom)/this.currentZoom,scale:this.currentZoom},this.horizontalOffset=e.x,this.verticalOffset=e.y),this.diagram.setSize(this.diagramWidth,this.diagramHeight),this.diagram.scrollActions&t.ScrollActions.PropertyChange||!e||d&&(this.horizontalOffset=e.x,this.verticalOffset=e.y,this.transform={tx:Math.max(e.x,-i.left)/this.currentZoom,ty:Math.max(e.y,-i.top)/this.currentZoom,scale:this.currentZoom}))),this.diagram.transformLayers(),this.diagram.element.style.overflow="hidden"},e.prototype.setViewPortSize=function(t,e){this.viewPortWidth=t,this.viewPortHeight=e},e.prototype.getPageBounds=function(t,e,i,r){var n,o=new ms;if("Content"===e||r||null===this.diagram.pageSettings.width||null===this.diagram.pageSettings.height){var a=t?void 0:0;n=this.diagram.spatialSearch.getPageBounds(a,a)}else{var s=this.diagram.pageSettings.width,h=this.diagram.pageSettings.height,d=0,l=0;if(this.diagram.pageSettings.multiplePage){if((o=this.diagram.spatialSearch.getPageBounds(0,0)).right>s&&(s*=c=Math.ceil(o.right/s)),o.bottom>h&&(h*=c=Math.ceil(o.bottom/h)),o.left<0&&Math.abs(o.left)>d){c=Math.ceil(Math.abs(o.left)/this.diagram.pageSettings.width);d=this.diagram.pageSettings.width*c}if(o.top<0&&Math.abs(o.top)>l){var c=Math.ceil(Math.abs(o.top)/this.diagram.pageSettings.height);l=this.diagram.pageSettings.height*c}}n=new ms(-d,-l,s+d,h+l)}if(i){var p=this.diagram.scrollSettings.padding;n.x-=p.left,n.y-=p.top,n.width+=p.left+p.right,n.height+=p.top+p.bottom}return n},e.prototype.getPageBreak=function(t){for(var e=0,i=0,r=-1,n=[],o=0,a=0,s=0,h=0,d=this.diagram.pageSettings.margin.left,l=this.diagram.pageSettings.margin.right,c=this.diagram.pageSettings.margin.top,p=this.diagram.pageSettings.margin.bottom,g=1,u=1,f={x1:o,y1:s,x2:a,y2:h};t.width>e;)(e+=this.diagram.pageSettings.width?this.diagram.pageSettings.width:t.width)===this.diagram.pageSettings.width&&(f={x1:t.left+d,y1:t.top+c,x2:t.left+d,y2:t.bottom-p},n[++r]=f),e<t.width&&(f={x1:o=t.topLeft.x+this.diagram.pageSettings.width*g,y1:s=t.topLeft.y+c,x2:a=t.bottomLeft.x+this.diagram.pageSettings.width*g,y2:h=t.bottomLeft.y-p},n[++r]=f,g++),t.width===e&&(f={x1:t.right-l,y1:t.top+c,x2:t.right-l,y2:t.bottom-p},n[++r]=f);for(;t.height>i;)(i+=this.diagram.pageSettings.height?this.diagram.pageSettings.height:t.height)===this.diagram.pageSettings.height&&(f={x1:t.left+d,y1:t.top+c,x2:t.right-l,y2:t.top+c},n[++r]=f),i<t.height&&(f={x1:o=t.topLeft.x+d,y1:s=t.topLeft.y+this.diagram.pageSettings.height*u,x2:a=t.topRight.x-l,y2:h=t.topRight.y+this.diagram.pageSettings.height*u},n[++r]=f,u++),t.height===i&&(f={x1:t.left+d,y1:t.bottom-p,x2:t.right-l,y2:t.bottom-p},n[++r]=f);return n},e.prototype.zoom=function(e,i,r,n,o,a,s,h){if(Ze(this.diagram)&&1!==e||qe(this.diagram)&&1===e){var d=y();if(w(d,this.currentZoom,this.currentZoom),x(d,this.horizontalOffset,this.verticalOffset),n=n||{x:(this.viewPortWidth/2-this.horizontalOffset)/this.currentZoom,y:(this.viewPortHeight/2-this.verticalOffset)/this.currentZoom},n=v(d,n),this.currentZoom*e<=this.diagram.scrollSettings.maxZoom&&(this.currentZoom*e>=this.diagram.scrollSettings.minZoom||h||e>=1)){this.currentZoom*=e;var l=this.getPageBounds(void 0,void 0,!0);l.x*=this.currentZoom,l.y*=this.currentZoom;var c=y();w(c,e,e,n.x,n.y),x(c,i||0,r||0),D(d,c);var p=v(d,{x:0,y:0});if(1===e&&(p=this.applyScrollLimit(p.x,p.y,o,a,s)),s=-l.y>=p.y&&-l.x>=p.x&&s,(this.diagram.scrollActions&t.ScrollActions.PropertyChange||!(this.diagram.scrollActions&t.ScrollActions.Interaction)||"Diagram"!==this.diagram.scrollSettings.scrollLimit||s)&&(this.transform={tx:Math.max(p.x,-l.left)/this.currentZoom,ty:Math.max(p.y,-l.top)/this.currentZoom,scale:this.currentZoom},this.horizontalOffset=p.x,this.verticalOffset=p.y),this.setSize(p),"SVG"!==this.diagram.mode&&We(this.diagram)&&this.diagram.scroller.virtualizeElements(),"SVG"===this.diagram.mode||We(this.diagram)||this.diagram.refreshDiagramLayer(),this.diagram.setOffset(-this.horizontalOffset-l.x,-this.verticalOffset-l.y),Fr(this.diagram),this.diagram.views&&this.diagram.views.overview){var g=this.diagram.views.overview,u=g.scrollOverviewRect(g.parent.scroller.horizontalOffset,g.parent.scroller.verticalOffset,g.parent.scroller.currentZoom,!0);g.updateOverviewrect(-u.x,-u.y,u.width,u.height),g.updateView(g)}}}},e.prototype.fitToPage=function(t){var e=(t=t||{}).mode,i=t.region,r=t.margin||{},n=t.canZoomIn,o=t.customBounds,a=t.canZoomOut;r.bottom=r.bottom||25,r.top=r.top||25,r.left=r.left||25,r.right=r.right||25;var s,h=o,d=-this.horizontalOffset,l=-this.verticalOffset;if("PageSettings"===(i=i||"PageSettings")&&this.diagram.pageSettings.width&&this.diagram.pageSettings.height||this.diagram.nodes.length>0||this.diagram.connectors.length>0){e=e||"Page","CustomBounds"!==i&&(h=this.getPageBounds(!0,i,!0));var c={x:0,y:0};r.left+r.right>this.viewPortWidth&&(this.viewPortWidth<=100?(r.left=5,r.right=5):(r.left=25,r.right=25)),r.top+r.bottom>this.viewPortHeight&&(this.viewPortHeight<=100?(r.top=5,r.bottom=5):(r.top=25,r.bottom=25)),c.x=(this.viewPortWidth-(r.left+r.right))/h.width,c.y=(this.viewPortHeight-(r.top+r.bottom))/h.height,!n&&h.width-this.horizontalOffset<this.viewPortWidth&&h.height-this.verticalOffset<this.viewPortHeight&&(c.x=Math.min(this.currentZoom,c.x),c.y=Math.min(this.currentZoom,c.y));var p=void 0,g=void 0,u=void 0;switch(e){case"Width":s=(p=c.x)/this.currentZoom,d+=(g=(this.viewPortWidth-h.width*p)/2-h.x*p)+(r.left-r.right)/2*p,l-=-this.verticalOffset*s,l="CustomBounds"!==i?l:l-this.verticalOffset*s;break;case"Height":s=(p=c.y)/this.currentZoom,g=(this.viewPortWidth-h.width*p)/2-h.x*p,u=(this.viewPortHeight-h.height*p)/2-h.y*p,d+=g+(r.left-r.right)/2*p,l+=u+(r.top-r.bottom)/2*p;break;case"Page":s=(p=Math.min(c.x,c.y))/this.currentZoom,g=(this.viewPortWidth-h.width*p)/2-h.x*p,u=(this.viewPortHeight-h.height*p)/2-h.y*p,d+=g+(r.left-r.right)/2*p,l+=u+(r.top-r.bottom)/2*p}this.zoom(s,d,l,{x:0,y:0},!0,void 0,void 0,a)}else s=1/this.currentZoom,this.zoom(s,d,l,{x:0,y:0},!0,void 0,void 0,a)},e.prototype.bringIntoView=function(t,e){var i=0,r=0,n=this.currentZoom,o=t,a=-this.horizontalOffset,s=-this.verticalOffset;o=new ms(o.x*n,o.y*n,o.width*n,o.height*n);new ms(a,s,this.viewPortWidth,this.viewPortHeight).containsRect(o)||(o.right>-a+this.viewPortWidth&&(i=o.right-this.viewPortWidth,i+=20),o.x<-a&&(i=o.x),o.bottom>-s+this.viewPortHeight&&(r=o.bottom-this.viewPortHeight,r+=20),o.y<-s&&(r=o.y),this.zoom(1,-this.horizontalOffset-i,-this.verticalOffset-r,null,void 0,e))},e.prototype.bringToCenter=function(t){var e=this.currentZoom,i=new ms(t.x*e,t.y*e,t.width*e,t.height*e),r=i.x+i.width/2-this.viewPortWidth/2,n=i.y+i.height/2-this.viewPortHeight/2;r*=-1,n*=-1,this.zoom(1,-this.horizontalOffset-r,-this.verticalOffset-n,null)},e.prototype.applyScrollLimit=function(t,e,i,r,n){if("Infinity"===this.diagram.scrollSettings.scrollLimit&&(void 0!==i||r||(t=-t,e=-e)),"Infinity"!==this.diagram.scrollSettings.scrollLimit){var o=void 0;if("Limited"===this.diagram.scrollSettings.scrollLimit){var a=this.diagram.scrollSettings.scrollableArea;o=new ms(a.x,a.y,a.width,a.height)}o=o||(n?this.getPageBounds(!1,void 0,!0):this.getPageBounds(!0,void 0,!0));"Pan"===this.diagram.eventHandler.currentAction&&this.diagram.eventHandler.inAction&&(o=this.getPageBounds(!1,void 0,!0)),o.x*=this.currentZoom,o.y*=this.currentZoom,o.width*=this.currentZoom,o.height*=this.currentZoom,void 0!==i&&(t*=-1,e*=-1),r&&(t*=-1,e*=-1);var s=Math.max(o.right,this.viewPortWidth);if(!r&&!(t<=o.x&&(t+this.viewPortWidth>=o.right||t>=o.right-this.viewPortWidth)||t>=o.x&&t+this.viewPortWidth<=s))if(t>=o.x)t=Math.max(o.x,Math.min(t,t-(t+this.viewPortWidth-this.vScrollSize-s)));else{d=o.right-this.viewPortWidth;t=Math.min(d,o.x)}var h=Math.max(o.bottom,this.viewPortHeight);if(!r&&!(e<=o.y&&e+this.viewPortHeight>=o.bottom||e>=o.y&&e+this.viewPortHeight<=h))if(e>=o.y)e=Math.max(o.y,Math.min(e,e-(e+this.viewPortHeight-this.hScrollSize-h)));else{var d=o.bottom-this.viewPortHeight;e=Math.min(o.y,d)}t*=-1,e*=-1}return{x:t,y:e}},e}(),kc=function(){function t(t,e,i,r,n){this.objects=[],this.left=t,this.top=e,this.width=i,this.height=r,this.spatialSearch=n}return t.prototype.findQuads=function(t,e){null!=this.first&&this.first.isIntersect(t)&&this.first.findQuads(t,e),null!=this.second&&this.second.isIntersect(t)&&this.second.findQuads(t,e),null!=this.third&&this.third.isIntersect(t)&&this.third.findQuads(t,e),null!=this.fourth&&this.fourth.isIntersect(t)&&this.fourth.findQuads(t,e),this.objects.length>0&&e.push(this)},t.prototype.isIntersect=function(t){return!(this.left+this.width<t.left||this.top+this.height<t.top||this.left>t.right||this.top>t.bottom)},t.prototype.selectQuad=function(){for(var t,e=null,i=this;null!=i;)i=(t=i.getQuad(e)).source,e=t.target||e;return e},t.prototype.getQuad=function(e){var i=this.width/2,r=this.height/2;if(i>=1e3&&r>=1e3){var n=this.left+i,o=this.top+r;if(this.spatialSearch.childRight<=n){if(this.spatialSearch.childBottom<=o)return this.first||((a=new t(this.left,this.top,i,r,this.spatialSearch)).parent=this,this.first=a),{source:this.first};if(this.spatialSearch.childTop>=o)return this.third||((a=new t(this.left,o,i,r,this.spatialSearch)).parent=this,this.third=a),{source:this.third}}else if(this.spatialSearch.childLeft>=n){if(this.spatialSearch.childBottom<=o)return this.second||((a=new t(n,this.top,i,r,this.spatialSearch)).parent=this,this.second=a),{source:this.second};if(this.spatialSearch.childTop>=o){if(!this.fourth){var a=new t(n,o,i,r,this.spatialSearch);a.parent=this,this.fourth=a}return{source:this.fourth}}}}return this.objects.push(this.spatialSearch.childNode),{target:this}},t.prototype.isContained=function(){return this.spatialSearch.childLeft>=this.left&&this.spatialSearch.childRight<=this.left+this.width&&this.spatialSearch.childTop>=this.top&&this.spatialSearch.childBottom<=this.top+this.height},t.prototype.addIntoAQuad=function(t){var e={};this.spatialSearch.setCurrentNode(t);for(var i=null;!e.isAdded;)i=(e=this.spatialSearch.parentQuad.add(i)).quad;return i},t.prototype.add=function(e){if(e=null,this.isContained())return e=this.selectQuad(),{isAdded:!0,quad:e};var i=void 0,r=!(0!==this.objects.length||this.first||this.second||this.third||this.fourth),n=2*this.width,o=2*this.height;return this.spatialSearch.childLeft<this.left?this.spatialSearch.childTop<this.top?(i=new t(this.left-this.width,this.top-this.height,n,o,this.spatialSearch),r||(i.fourth=this)):(i=new t(this.left-this.width,this.top,n,o,this.spatialSearch),r||(i.second=this)):this.spatialSearch.childTop<this.top?(i=new t(this.left,this.top-this.height,n,o,this.spatialSearch),r||(i.third=this)):(i=new t(this.left,this.top,n,o,this.spatialSearch),r||(i.first=this)),this.parent=i,this.spatialSearch.parentQuad=i,{isAdded:!1,quad:e}},t}(),Bc=function(){function t(t){this.quadSize=500,this.objectTable=t,this.parentQuad=new kc(0,0,2*this.quadSize,2*this.quadSize,this),this.pageLeft=Number.MAX_VALUE,this.pageRight=-Number.MAX_VALUE,this.pageTop=Number.MAX_VALUE,this.pageBottom=-Number.MAX_VALUE,this.quadTable={}}return t.prototype.removeFromAQuad=function(t){if(this.quadTable[t.id]){var e=this.quadTable[t.id],i=this.objectIndex(e.objects,t);-1!==i&&(e.objects.splice(i,1),this.update(e),delete this.quadTable[t.id])}},t.prototype.update=function(t){if(!t.parent||0!==t.objects.length||null!=t.first||null!=t.second||null!=t.third||null!=t.fourth)return void(t!==this.parentQuad||t.first||t.second||t.third||t.fourth||(t.left=0,t.width=1e3,t.top=0,t.height=1e3));var e=t.parent;e.first===t?e.first=null:e.second===t?e.second=null:e.third===t?e.third=null:e.fourth===t&&(e.fourth=null),this.update(t.parent)},t.prototype.addIntoAQuad=function(t){var e=this.parentQuad.addIntoAQuad(t);this.quadTable[t.id]=e},t.prototype.objectIndex=function(t,e){for(var i=0;i<t.length;i++)if(t[parseInt(i.toString(),10)].id===e.id)return i;return-1},t.prototype.updateQuad=function(t){this.setCurrentNode(t);var e=t.outerBounds;if(isNaN(e.x)||isNaN(e.y)||isNaN(e.width)||isNaN(e.height))return!1;if(this.quadTable[t.id]?this.quadTable[t.id].isContained()||(this.removeFromAQuad(t),this.addIntoAQuad(t)):this.addIntoAQuad(t),!this.isWithinPageBounds(e)||this.leftElement===t||this.topElement===t||this.rightElement===t||this.bottomElement===t){var i=!1;return this.pageLeft===this.childLeft&&t===this.leftElement||(this.pageLeft>=this.childLeft?(this.pageLeft=this.childLeft,this.leftElement=t,i=!0):t===this.leftElement&&(this.pageLeft=Number.MAX_VALUE,this.findLeft(this.parentQuad),i=!0)),this.pageTop===this.childTop&&t===this.topElement||(this.pageTop>=this.childTop?(this.pageTop=this.childTop,this.topElement=t,i=!0):t===this.topElement&&(this.pageTop=Number.MAX_VALUE,this.findTop(this.parentQuad),i=!0)),this.pageBottom===this.childBottom&&t===this.bottomElement||(this.pageBottom<=this.childBottom?(i=!0,this.pageBottom=this.childBottom,this.bottomElement=t):t===this.bottomElement&&(this.pageBottom=-Number.MAX_VALUE,this.findBottom(this.parentQuad),i=!0)),this.pageRight===this.childRight&&t===this.rightElement||(this.pageRight<=this.childRight?(this.pageRight=this.childRight,this.rightElement=t,i=!0):t===this.rightElement&&(this.pageRight=-Number.MAX_VALUE,this.findRight(this.parentQuad),i=!0)),i}return this.setCurrentNode(null),!1},t.prototype.isWithinPageBounds=function(t){return t.left>=this.pageLeft&&t.right<=this.pageRight&&t.top>=this.pageTop&&t.bottom<=this.pageBottom},t.prototype.findQuads=function(t){var e=[];return this.parentQuad.findQuads(t,e),e},t.prototype.findObjects=function(t){for(var e=[],i=0,r=this.findQuads(t);i<r.length;i++)for(var n=0,o=r[i].objects;n<o.length;n++){var a=o[n];(a.outerBounds.intersects(t)||No(a))&&e.push(this.objectTable[a.id])}return e},t.prototype.updateBounds=function(t,e){var i=!1;return e?(this.topElement&&t.id===this.topElement.id&&(i=this.updateTop()),this.leftElement&&t.id===this.leftElement.id&&(i=this.updateLeft()),this.rightElement&&t.id===this.rightElement.id&&(i=this.updateRight()),this.bottomElement&&t.id===this.bottomElement.id&&(i=this.updateBottom())):(t===this.topElement&&(i=this.updateTop()),t===this.leftElement&&(i=this.updateLeft()),t===this.rightElement&&(i=this.updateRight()),t===this.bottomElement&&(i=this.updateBottom())),i},t.prototype.updateTop=function(){return this.pageTop=Number.MAX_VALUE,this.topElement=null,this.findTop(this.parentQuad),!0},t.prototype.updateBottom=function(){return this.pageBottom=-Number.MAX_VALUE,this.bottomElement=null,this.findBottom(this.parentQuad),!0},t.prototype.updateLeft=function(){return this.pageLeft=Number.MAX_VALUE,this.leftElement=null,this.findLeft(this.parentQuad),!0},t.prototype.updateRight=function(){return this.pageRight=-Number.MAX_VALUE,this.rightElement=null,this.findRight(this.parentQuad),!0},t.prototype.findBottom=function(t){t.third||t.fourth?(t.third&&this.findBottom(t.third),t.fourth&&this.findBottom(t.fourth)):(t.second&&this.findBottom(t.second),t.first&&this.findBottom(t.first));for(var e=0,i=t.objects;e<i.length;e++){var r=i[e];this.pageBottom<=r.outerBounds.bottom&&(this.pageBottom=r.outerBounds.bottom,this.bottomElement=r)}},t.prototype.findRight=function(t){(t.second||t.fourth)&&(t.second&&this.findRight(t.second),t.fourth&&this.findRight(t.fourth)),t.first&&this.findRight(t.first),t.third&&this.findRight(t.third);for(var e=0,i=t.objects;e<i.length;e++){var r=i[e];this.pageRight<=r.outerBounds.right&&(this.pageRight=r.outerBounds.right,this.rightElement=r)}},t.prototype.findLeft=function(t){t.first||t.third?(t.first&&this.findLeft(t.first),t.third&&this.findLeft(t.third)):(t.second&&this.findLeft(t.second),t.fourth&&this.findLeft(t.fourth));for(var e=0,i=t.objects;e<i.length;e++){var r=i[e];this.pageLeft>=r.outerBounds.left&&(this.pageLeft=r.outerBounds.left,this.leftElement=r)}},t.prototype.findTop=function(t){t.first||t.second?(t.first&&this.findTop(t.first),t.second&&this.findTop(t.second)):(t.third&&this.findTop(t.third),t.fourth&&this.findTop(t.fourth));for(var e=0,i=t.objects;e<i.length;e++){var r=i[e];this.pageTop>=r.outerBounds.top&&(this.pageTop=r.outerBounds.top,this.topElement=r)}},t.prototype.setCurrentNode=function(t){if(this.childNode=t,t){var e=t.outerBounds;this.childLeft=Number(e.left),this.childTop=Number(e.top),this.childRight=Number(e.right),this.childBottom=Number(e.bottom)}else this.childLeft=Number.MAX_VALUE,this.childTop=Number.MAX_VALUE,this.childRight=-Number.MAX_VALUE,this.childBottom=-Number.MAX_VALUE},t.prototype.getPageBounds=function(t,e){if(this.pageLeft===Number.MAX_VALUE)return new ms(0,0,0,0);var i=void 0!==t?Math.min(this.pageLeft,0):this.pageLeft,r=void 0!==e?Math.min(this.pageTop,0):this.pageTop;return new ms(Math.round(i),Math.round(r),Math.round(this.pageRight-i),Math.round(this.pageBottom-r))},t.prototype.getQuad=function(t){return this.quadTable[t.id]},t}(),Nc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Rc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},jc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Nc(i,t),Rc([e.Property(!1)],i.prototype,"preventDefaults",void 0),i}(e.ChildProperty),Hc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Wc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},_c=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Hc(i,t),Wc([e.Property("")],i.prototype,"action",void 0),Wc([e.Property("")],i.prototype,"cursor",void 0),i}(e.ChildProperty),Fc=function(){function t(){this.size=20,this.intermediatePoints=[],this.gridCollection=[],this.startArray=[],this.targetGridCollection=[],this.sourceGridCollection=[],this.considerWalkable=[],this.skipObstacleCheck=!1,this.nonWalkableGrids=[]}return t.prototype.lineRouting=function(t){var e=t.connectors.length;if(this.renderVirtualRegion(t),e>0)for(var i=0;i<e;i++){var r=t.connectors[parseInt(i.toString(),10)];"Orthogonal"===r.type&&r.visible&&this.refreshConnectorSegments(t,r,!0)}},t.prototype.renderVirtualRegion=function(t,e){var i=this.size;(t.spatialSearch.pageTop<0||t.spatialSearch.pageLeft<0)&&(i=this.size+this.size/2);var r=t.spatialSearch.pageRight+i,n=t.spatialSearch.pageBottom+i,o=t.spatialSearch.pageLeft-i,a=t.spatialSearch.pageTop-i;if(o=o<0?o-20:0,a=a<0?a-20:0,e&&(this.width!==r-o||this.height!==n-a||this.diagramStartX!==o||this.diagramStartY!==a)||void 0===e){this.width=r-o,this.height=n-a,this.diagramStartX=o,this.diagramStartY=a,this.gridCollection=[],this.noOfRows=this.width/this.size,this.noOfCols=this.height/this.size;for(var s=this.size,h=this.diagramStartX<0?this.diagramStartX:0,d=this.diagramStartY<0?this.diagramStartY:0,l=0;l<this.noOfCols;l++){for(var c=0;c<this.noOfRows;c++){0===l&&this.gridCollection.push([0]);var p={x:h,y:d,width:s,height:s,gridX:c,gridY:l,walkable:!0,tested:void 0,nodeId:[]};this.gridCollection[parseInt(c.toString(),10)][parseInt(l.toString(),10)]=p,h+=s}h=this.diagramStartX<0?this.diagramStartX:0,d+=s}0!==this.nonWalkableGrids.length&&(this.nonWalkableGrids.length=0)}var g=this.findNodes(t.nodes);this.updateNodesInVirtualRegion(g)},t.prototype.findNodes=function(t){for(var e,i=[],r=0;r<t.length;r++)"SwimLane"===(e=t[parseInt(r.toString(),10)]).shape.type||e.isLane||e.isPhase||e.isHeader||!e.visible||i.push(e);return i},t.prototype.updateNodesInVirtualRegion=function(t){for(var e=this.size,i=0,r=this.nonWalkableGrids;i<r.length;i++)(d=r[i]).walkable=!0,d.tested=void 0,d.nodeId=[],d.parentNodeId="";0!==this.nonWalkableGrids.length&&(this.nonWalkableGrids.length=0);for(var n=0;n<t.length;n++){var o=t[parseInt(n.toString(),10)],a=o.wrapper.bounds;if(a)for(var s=0,h=this.getGridsIntersectBounds(a);s<h.length;s++){var d=h[s],l=new ms(d.x,d.y,e,e);this.intersectRect(l,a)&&(d.nodeId.push(o.id),d.walkable=!1,this.nonWalkableGrids.push(d),""!==o.parentId&&(d.parentNodeId=o.parentId))}}},t.prototype.getGridsIntersectBounds=function(t){for(var e=[],i=t.topLeft.x,r=t.bottomRight.x,n=t.topLeft.y,o=t.bottomRight.y,a=this.size,s=Math.floor((i-this.diagramStartX)/a),h=Math.floor((n-this.diagramStartY)/a),d=Math.floor((r-this.diagramStartX)/a),l=Math.floor((o-this.diagramStartY)/a),c=s;c<=d;c++)for(var p=h;p<=l;p++){var g=this.gridCollection[parseInt(c.toString(),10)];if(g){var u=g[parseInt(p.toString(),10)];u&&-1===e.indexOf(u)&&e.push(u)}}return e},t.prototype.intersectRect=function(t,e){return!(e.left>=t.right||e.right<=t.left||e.top>=t.bottom||e.bottom<=t.top)},t.prototype.findEndPoint=function(t,e,i){var r,n;if(e&&""!==t.sourcePortID&&t.sourcePortWrapper||!e&&""!==t.targetPortID&&t.targetPortWrapper){n=Se(r=e?{x:t.sourcePortWrapper.offsetX,y:t.sourcePortWrapper.offsetY}:{x:t.targetPortWrapper.offsetX,y:t.targetPortWrapper.offsetY},void 0,e?t.sourceWrapper.bounds:t.targetWrapper.bounds);var o=e?t.sourcePortWrapper.bounds:t.targetPortWrapper.bounds;r=i?"Top"===n?{x:o.topCenter.x,y:o.topCenter.y}:"Left"===n?{x:o.middleLeft.x,y:o.middleLeft.y}:"Right"===n?{x:o.middleRight.x,y:o.middleRight.y}:{x:o.bottomCenter.x,y:o.bottomCenter.y}:{x:o.center.x,y:o.center.y}}else r=e&&this.startNode||!e&&this.targetNode?e?{x:this.startNode.wrapper.offsetX,y:this.startNode.wrapper.offsetY}:{x:this.targetNode.wrapper.offsetX,y:this.targetNode.wrapper.offsetY}:e?{x:t.sourcePoint.x,y:t.sourcePoint.y}:{x:t.targetPoint.x,y:t.targetPoint.y};return r},t.prototype.getGridsIntersect=function(t,e){var i=[],r=Math.min(t.x,e.x),n=Math.min(t.y,e.y),o=Math.max(t.x,e.x),a=Math.max(t.y,e.y),s=this.size,h=Math.floor((r-this.diagramStartX)/s),d=Math.floor((n-this.diagramStartY)/s),l=Math.floor((o-this.diagramStartX)/s),c=Math.floor((a-this.diagramStartY)/s);if(o-r>a-n)for(var p=h;p<=l;p++)(u=this.gridCollection[parseInt(p.toString(),10)])&&(f=u[parseInt(d.toString(),10)])&&-1===i.indexOf(f)&&i.push(f);else for(var g=d;g<=c;g++){var u=this.gridCollection[parseInt(h.toString(),10)];if(u){var f=u[parseInt(g.toString(),10)];f&&-1===i.indexOf(f)&&i.push(f)}}return i},t.prototype.isPathWalkable=function(t,e,i,r){for(var n=Math.min(t.x,e.x),o=Math.min(t.y,e.y),a=Math.max(t.x,e.x),s=Math.max(t.y,e.y),h=this.getGridsIntersect(t,e),d=0;d<h.length;d++){var l=h[parseInt(d.toString(),10)];if((!r||-1===l.nodeId.indexOf(r.sourceID)&&-1===l.nodeId.indexOf(r.targetID))&&!l.walkable)for(var c=a-n>s-o,p=0,g=l.nodeId;p<g.length;p++){var u=g[p],f=i.nameTable[""+u];if(f){var m=f.wrapper.bounds;if(c){if(m.top-5<o&&m.bottom+5>s)return!1}else if(m.left-5<n&&m.right+5>a)return!1}}}return!0},t.prototype.checkObstaclesIntersect=function(t,e,i){for(var r=1;r<t.length;r++){var n=t[r-1],o=t[parseInt(r.toString(),10)];if(!this.isPathWalkable(n,o,i,e))return!1}return!0},t.prototype.refreshConnectorSegments=function(t,e,i,r){if(e.sourceID&&e.targetID&&e.sourceID!==e.targetID){if(!this.skipObstacleCheck&&e.segments&&e.segments.length<2&&e.intermediatePoints&&this.checkObstaclesIntersect(e.intermediatePoints,e,t))return void(t.avoidLineOverlappingModule&&i&&(t.avoidLineOverlappingModule.addConnector(e),t.avoidLineOverlappingModule.refreshModifiedConnectors(t)));var n,o,a,s,h,d,l,c,p,g,u,f=e.sourceID,m=e.targetID,y=e.sourcePortID,v=e.targetPortID;if(Ae(e,t)||r){this.startNode=t.nameTable[""+f],this.targetNode=t.nameTable[""+m],this.intermediatePoints=[],this.startArray=[],this.targetGridCollection=[],this.sourceGridCollection=[],this.startGrid=void 0,this.targetGrid=void 0;for(I=0;I<this.noOfCols;I++)for(b=0;b<this.noOfRows;b++)this.gridCollection[parseInt(b.toString(),10)][parseInt(I.toString(),10)].tested=this.gridCollection[parseInt(b.toString(),10)][parseInt(I.toString(),10)].parent=void 0,this.gridCollection[parseInt(b.toString(),10)][parseInt(I.toString(),10)].previousDistance=this.gridCollection[parseInt(b.toString(),10)][parseInt(I.toString(),10)].afterDistance=void 0,this.gridCollection[parseInt(b.toString(),10)][parseInt(I.toString(),10)].totalDistance=void 0;n=this.findEndPoint(e,!0),o=this.findEndPoint(e,!1);for(I=0;I<this.noOfRows;I++)for(var b=0;b<this.noOfCols;b++){a=this.gridCollection[parseInt(I.toString(),10)][parseInt(b.toString(),10)];var S=new ms(a.x,a.y,a.width,a.height);if(!S.containsPoint(n)||this.startGrid||-1===a.nodeId.indexOf(f)&&""!==f||(this.startGrid=(y&&this.startGrid,a)),!S.containsPoint(o)||this.targetGrid||-1===a.nodeId.indexOf(m)&&""!==m||(this.targetGrid=(v&&this.targetGrid,a)),!y&&this.startNode){w=this.startNode.wrapper.bounds;S.containsPoint(w.topCenter)&&!s&&(s=a),S.containsPoint(w.middleLeft)&&!d&&(d=a),S.containsPoint(w.middleRight)&&!l&&(l=a),S.containsPoint(w.bottomCenter)&&!h&&(h=a)}if(!v&&this.targetNode){var w=this.targetNode.wrapper.bounds;S.containsPoint(w.topCenter)&&!p&&(p=a),S.containsPoint(w.middleLeft)&&!u&&(u=a),S.containsPoint(w.middleRight)&&!c&&(c=a),S.containsPoint({x:w.bottomCenter.x,y:w.bottomCenter.y})&&!g&&(g=a)}}this.findEdgeBoundary(y,d,l,s,h,!0),this.findEdgeBoundary(v,u,c,p,g,!1),this.startGrid.totalDistance=0,this.startGrid.previousDistance=0,this.intermediatePoints.push({x:this.startGrid.gridX,y:this.startGrid.gridY}),this.startArray.push(this.startGrid),e&&u&&c&&p&&g&&this.checkObstacles(e,t,u,c,p,g);t:for(;this.startArray.length>0;){var x=this.startArray.pop();if(x){for(var I=0;I<this.targetGridCollection.length;I++){var C=this.targetGridCollection[parseInt(I.toString(),10)];if(x&&x.gridX===C.gridX&&x.gridY===C.gridY){if(this.getIntermediatePoints(x),this.optimizeIntermediatePoints(),x.nodeId&&x.nodeId.length>1&&(e.segments=[]),this.updateConnectorSegments(t,this.intermediatePoints,this.gridCollection,e,i)){this.considerWalkable=[];break t}this.targetGridCollection.splice(this.targetGridCollection.indexOf(C),1),x=this.startArray.pop()}}x&&this.findPath(x)}}}}},t.prototype.checkChildNodes=function(t,e){var i=!1,r=!1;if(t.nodeId.length>=1&&!e)for(var n=0;n<t.nodeId.length;n++){for(var o=t.nodeId[parseInt(n.toString(),10)],a=0;a<t.nodeId.length;a++)this.targetNode.parentId===t.nodeId[parseInt(a.toString(),10)]&&(r=!0);i=!r&&this.targetNode.id===o}else 1===t.nodeId.length&&(i=!0);return i},t.prototype.findEdgeBoundary=function(t,e,i,r,n,o){var a,s=o?this.sourceGridCollection:this.targetGridCollection;if(!t&&(o?this.startNode:this.targetNode)){for(h=e.gridX;h<=i.gridX;h++)a=this.gridCollection[parseInt(h.toString(),10)][e.gridY],(this.checkChildNodes(a,o)&&(h===e.gridX||h===i.gridX)||h!==e.gridX&&h!==i.gridX)&&s.push(a);for(var h=r.gridY;h<=n.gridY;h++)a=this.gridCollection[r.gridX][parseInt(h.toString(),10)],(this.checkChildNodes(a,o)&&(h===r.gridY||h===n.gridY)||h!==r.gridY&&h!==n.gridY)&&-1===s.indexOf(a)&&s.push(a)}else s.push(o?this.startGrid:this.targetGrid)},t.prototype.checkObstacles=function(t,e,i,r,n,o){var a=this.findNearestNeigbours(this.startGrid,this.gridCollection,!0);if(0===a.length&&(""!==t.sourcePortID?"Top"===(h=Se(s={x:t.sourcePortWrapper.offsetX,y:t.sourcePortWrapper.offsetY},void 0,t.sourceWrapper.bounds))?this.resetGridColl(this.startGrid,"top",!0):"Right"===h?this.resetGridColl(this.startGrid,"right",!0):"Bottom"===h?this.resetGridColl(this.startGrid,"bottom",!0):this.resetGridColl(this.startGrid,"left",!0):(this.resetGridColl(this.startGrid,"top",!0),this.resetGridColl(this.startGrid,"right",!0),this.resetGridColl(this.startGrid,"bottom",!0),this.resetGridColl(this.startGrid,"left",!0))),0===(a=this.findNearestNeigbours(this.targetGrid,this.gridCollection,!1)).length)if(""!==t.targetPortID){var s={x:t.targetPortWrapper.offsetX,y:t.targetPortWrapper.offsetY},h=Se(s,void 0,t.targetWrapper.bounds);"Top"===h?this.resetGridColl(this.targetGrid,"top",!0):"Right"===h?this.resetGridColl(this.targetGrid,"right",!0):"Bottom"===h?this.resetGridColl(this.targetGrid,"bottom",!0):this.resetGridColl(this.targetGrid,"left",!0)}else this.resetGridColl(this.targetGrid,"top",!1),this.resetGridColl(this.targetGrid,"right",!1),this.resetGridColl(this.targetGrid,"bottom",!1),this.resetGridColl(this.targetGrid,"left",!1);if(this.targetGridCollection.length>1&&this.targetGridCollection[0].nodeId.length>1)for(var d=0;d<=1;d++){for(var l=this.targetGridCollection[parseInt(d.toString(),10)].gridX,c=this.targetGridCollection[parseInt(d.toString(),10)].gridY,p=this.targetGridCollection[parseInt(d.toString(),10)].nodeId,g=void 0,u=0;u<p.length;u++)if(this.targetNode.id!==p[parseInt(u.toString(),10)]){g=p[parseInt(u.toString(),10)];break}var f=void 0,m=void 0,y=void 0;e.nameTable[this.targetNode.id]&&(f=e.nameTable[this.targetNode.id].wrapper),e.nameTable[""+g]&&(m=e.nameTable[""+g].wrapper),f&&m&&(y=this.contains(m.bounds,f.bounds));for(var v=void 0,b=0;b<p.length;b++)this.targetNode.parentId===p[parseInt(b.toString(),10)]&&(v=!0);if(!this.gridCollection[parseInt(l.toString(),10)][parseInt(c.toString(),10)].walkable&&y&&!v){var S=void 0,w=void 0;S=this.getEndvalue(i,"left"),w=i.gridX-S.gridX,this.changeValue(i,w,"left"),w=(S=this.getEndvalue(r,"right")).gridX-r.gridX,this.changeValue(r,w,"right"),S=this.getEndvalue(n,"top"),w=n.gridY-S.gridY,this.changeValue(n,w,"top"),S=this.getEndvalue(o,"bottom"),w=o.gridY-S.gridY,this.changeValue(o,w,"top")}}},t.prototype.contains=function(t,e){return t.left<=e.left&&t.right>=e.right&&t.top<=e.top&&t.bottom>=e.bottom},t.prototype.getEndvalue=function(t,e){return this.gridCollection[t.gridX][t.gridY].walkable?t:"left"===e?this.getEndvalue(this.gridCollection[t.gridX-1][t.gridY],e):"right"===e?this.getEndvalue(this.gridCollection[t.gridX+1][t.gridY],e):"top"===e?this.getEndvalue(this.gridCollection[t.gridX][t.gridY-1],e):"bottom"===e?this.getEndvalue(this.gridCollection[t.gridX][t.gridY+1],e):t},t.prototype.changeValue=function(t,e,i){t.walkable||this.considerWalkable.push(t);for(var r,n=0;n<=e;n++)"left"===i?r=this.gridCollection[t.gridX-n][t.gridY]:"right"===i?r=this.gridCollection[t.gridX+n][t.gridY]:"top"===i?r=this.gridCollection[t.gridX][t.gridY-n]:"bottom"===i&&(r=this.gridCollection[t.gridX][t.gridY+n]),r.walkable||this.considerWalkable.push(r)},t.prototype.getIntermediatePoints=function(t){var e;for(this.intermediatePoints=[];t;)this.intermediatePoints.push({x:t.gridX,y:t.gridY}),t=t.parent;this.intermediatePoints.reverse(),this.intermediatePoints.length>=1&&void 0!==this.intermediatePoints[0]&&void 0!==this.intermediatePoints[1]&&(this.intermediatePoints[0].x===this.intermediatePoints[1].x?this.intermediatePoints[0].y<this.intermediatePoints[1].y?(e=this.neigbour(this.startGrid,"bottom",void 0,!0),this.intermediatePoints[0].y+=e-1):(e=this.neigbour(this.startGrid,"top",void 0,!0),this.intermediatePoints[0].y-=e-1):this.intermediatePoints[0].x<this.intermediatePoints[1].x?(e=this.neigbour(this.startGrid,"right",void 0,!0),this.intermediatePoints[0].x+=e-1):(e=this.neigbour(this.startGrid,"left",void 0,!0),this.intermediatePoints[0].x-=e-1))},t.prototype.optimizeIntermediatePoints=function(){this.intermediatePoints=this.removePointsInSameLine(this.intermediatePoints),this.intermediatePoints=this.getValidPoints(this.intermediatePoints)},t.prototype.removePointsInSameLine=function(t){if(t.length<3)return t;for(var e=[t[0]],i=1;i<t.length-1;i++){var r=e[e.length-1],n=t[parseInt(i.toString(),10)],o=t[i+1];this.arePointsInSameLine(r,n,o)||e.push(n)}return e.push(t[t.length-1]),e},t.prototype.arePointsInSameLine=function(t,e,i){return(e.x-t.x)*(i.y-t.y)==(i.x-t.x)*(e.y-t.y)},t.prototype.getValidPoints=function(t){if(t.length<4)return t;for(var e=1;e<t.length-3;){var i=t[parseInt(e.toString(),10)],r=t[e+1],n=t[e+2],o=t[e+3];if(i.x===r.x){if(r.y<i.y&&o.y<n.y||r.y>i.y&&o.y>n.y){for(var a=i.x<n.x?1:-1,s=r.y<i.y?-1:1,h=i.x+a,d=i.y,l=!1;h!==o.x||d!==o.y;){if(!this.isWalkable(h,d)){l=!1;break}l=!0,h!==n.x?h+=a:d+=s}if(l){i.x=n.x,t.splice(e+1,2);continue}}}else if(i.y===r.y&&(r.x<i.x&&o.x<n.x||r.x>i.x&&o.x>n.x)){for(var c=i.y<n.y?1:-1,p=r.x<i.x?-1:1,g=i.y+c,u=i.x,f=!1;u!==o.x||g!==o.y;){if(!this.isWalkable(u,g)){f=!1;break}f=!0,g!==n.y?g+=c:u+=p}if(f){i.y=n.y,t.splice(e+1,2);continue}}e++}return t},t.prototype.updateConnectorSegments=function(t,e,i,r,n){var o,a,s,h,d,l,c,p,g,u=[],f=[],m=r.targetWrapper,y=r.sourceWrapper,v=this.findEndPoint(r,!0);""===r.targetPortID&&r.targetWrapper||(a=this.findEndPoint(r,!1,!0));for(var b=0;b<e.length;b++)(d=i[e[parseInt(b.toString(),10)].x][e[parseInt(b.toString(),10)].y])&&(s=d.x+d.width/2,h=d.y+d.height/2,f.push({x:s,y:h}),b>=1&&f.length>1&&(p=f[f.length-2].x!==f[f.length-1].x?f[f.length-2].x>f[f.length-1].x?"Left":"Right":f[f.length-2].y>f[f.length-1].y?"Top":"Bottom"),b>=2&&g===p&&f.length>1&&f.splice(f.length-2,1),g=p);if(f&&f.length>1){for(D=0;D<f.length-1;D++){var S=f[parseInt(D.toString(),10)],w=f[D+1];if(S.x!==w.x){if(0===D&&""===r.sourcePortID&&y&&(v=S.x>w.x?y.bounds.middleLeft:y.bounds.middleRight),D===f.length-2&&""===r.targetPortID&&m&&(a=S.x>w.x?m.bounds.middleRight:m.bounds.middleLeft),0===D&&v){if(S.x=v.x,S.y=w.y=v.y,""===r.sourcePortID){var x=S.x>w.x?"Left":"Right";v=Xt(r,y,v,C=Ft(y.bounds,xe(x)),!1)}S.x=v.x}D===f.length-2&&a&&(D>0&&r.targetDecorator&&a.x-w.x<0&&Math.abs(a.x-S.x)<r.targetDecorator.width+1&&(S.x=f[D-1].x-=this.size/2),D>0&&r.targetDecorator&&a.x-w.x>0&&Math.abs(a.x-S.x)<r.targetDecorator.width+1&&(S.x=f[D-1].x+=this.size/2),w.x=a.x,S.y=w.y=a.y)}else{if(0===D&&""===r.sourcePortID&&y&&(v=S.y>w.y?y.bounds.topCenter:y.bounds.bottomCenter),D===f.length-2&&""===r.targetPortID&&m&&(a=S.y>w.y?m.bounds.bottomCenter:m.bounds.topCenter),0===D&&v){if(S.y=v.y,S.x=w.x=v.x,""===r.sourcePortID){var I=S.y>w.y?"Top":"Bottom",C=Ft(y.bounds,xe(I));v=Xt(r,y,v,C,!1)}S.y=v.y}D===f.length-2&&a&&(D>0&&r.targetDecorator&&a.y-w.y<0&&Math.abs(a.y-S.y)<r.targetDecorator.height+1&&(S.y=f[D-1].y-=this.size/2),D>0&&r.targetDecorator&&a.y-w.y>0&&Math.abs(a.y-S.y)<r.targetDecorator.height+1&&(S.y=f[D-1].y+=this.size/2),w.y=a.y,S.x=w.x=a.x)}}if(t.avoidLineOverlappingModule&&n){t.avoidLineOverlappingModule.addConnector(r,f);var P=t.avoidLineOverlappingModule.getModifiedConnector();P.has(r)&&(u=t.avoidLineOverlappingModule.getModifiedConnectorSegments(r),P.delete(r)),P.size>0&&t.avoidLineOverlappingModule.refreshModifiedConnectors(t)}if(0===u.length)for(var D=0;D<f.length-1;D++){var S=f[parseInt(D.toString(),10)],w=f[D+1];S.x!==w.x?S.x>w.x?(l="Left",c=S.x-w.x):(l="Right",c=w.x-S.x):S.y>w.y?(l="Top",c=S.y-w.y):(l="Bottom",c=w.y-S.y),o={type:"Orthogonal",length:c,direction:l},u.push(o)}}if(u&&u.length>0){var T=u[u.length-1];if(1===u.length&&(T.length-=20),T.length<10&&2===u.length&&(u.pop(),u.length>0&&(u[0].length-=20,T=u[0])),r.targetDecorator&&("Top"===T.direction||"Bottom"===T.direction)&&T.length>r.targetDecorator.height+1||("Right"===T.direction||"Left"===T.direction)&&T.length>r.targetDecorator.width+1)return!n&&t.avoidLineOverlappingModule||(r.segments=u),n&&t.connectorPropertyChange(r,{},{type:"Orthogonal",segments:u}),!0}return!1},t.prototype.findPath=function(t){for(var e,i=[],r=this.findNearestNeigbours(t,this.gridCollection,!0),n=0;n<r.length;n++)if(null!==(e=this.findIntermediatePoints(r[parseInt(n.toString(),10)].gridX,r[parseInt(n.toString(),10)].gridY,t.gridX,t.gridY,this.targetGrid.gridX,this.targetGrid.gridY))){var o=this.gridCollection[e.x][e.y],a=this.octile(Math.abs(e.x-t.gridX),Math.abs(e.y-t.gridY));t.parent&&t.parent.parent&&o.gridX!==t.parent.gridX&&o.gridY!==t.parent.gridY&&(a+=.1);var s=t.previousDistance+a;o.previousDistance&&!(o.previousDistance>s)||e.x===t.gridX&&e.y===t.gridY||(i.push(e),o.previousDistance=s,o.afterDistance=o.afterDistance||this.manhattan(Math.abs(e.x-this.targetGrid.gridX),Math.abs(e.y-this.targetGrid.gridY)),o.totalDistance=o.previousDistance+o.afterDistance,o.parent=t)}if(i.length>0)for(n=0;n<i.length;n++){o=this.gridCollection[i[parseInt(n.toString(),10)].x][i[parseInt(n.toString(),10)].y];-1===this.startArray.indexOf(o)&&this.startArray.push(o)}this.sorting(this.startArray)},t.prototype.sorting=function(t){return t.sort(function(t,e){return e.totalDistance-t.totalDistance})},t.prototype.octile=function(t,e){var i=Math.SQRT2-1;return e>t?i*t+e:i*e+t},t.prototype.manhattan=function(t,e){return t+e},t.prototype.findNearestNeigbours=function(t,e,i){var r=[],n=t.parent;if(n){var o=(t.gridX-n.gridX)/Math.max(Math.abs(t.gridX-n.gridX),1),a=(t.gridY-n.gridY)/Math.max(Math.abs(t.gridY-n.gridY),1);0!==o?(this.isWalkable(t.gridX,t.gridY-1,!0)&&-1===this.sourceGridCollection.indexOf(e[t.gridX][t.gridY-1])&&r.push(e[t.gridX][t.gridY-1]),this.isWalkable(t.gridX,t.gridY+1,!0)&&this.sourceGridCollection.indexOf(e[t.gridX][t.gridY+1])&&r.push(e[t.gridX][t.gridY+1]),this.isWalkable(t.gridX+o,t.gridY,!0)&&-1===this.sourceGridCollection.indexOf(e[t.gridX+o][t.gridY])&&r.push(e[t.gridX+o][t.gridY])):0!==a&&(this.isWalkable(t.gridX-1,t.gridY,!0)&&-1===this.sourceGridCollection.indexOf(e[t.gridX-1][t.gridY])&&r.push(e[t.gridX-1][t.gridY]),this.isWalkable(t.gridX+1,t.gridY,!0)&&-1===this.sourceGridCollection.indexOf(e[t.gridX+1][t.gridY])&&r.push(e[t.gridX+1][t.gridY]),this.isWalkable(t.gridX,t.gridY+a,!0)&&-1===this.sourceGridCollection.indexOf(e[t.gridX][t.gridY+a])&&r.push(e[t.gridX][t.gridY+a]))}else this.neigbour(t,"top",r,i),this.neigbour(t,"right",r,i),this.neigbour(t,"bottom",r,i),this.neigbour(t,"left",r,i);return r},t.prototype.neigbour=function(t,e,i,r){for(var n,o=1;o>0;){var a="top"===e||"bottom"===e?t.gridX:"left"===e?t.gridX-o:t.gridX+o,s="right"===e||"left"===e?t.gridY:"top"===e?t.gridY-o:t.gridY+o;if((n=this.gridCollection[parseInt(a.toString(),10)][parseInt(s.toString(),10)])&&(r&&-1===this.sourceGridCollection.indexOf(n)||!r&&-1===this.targetGridCollection.indexOf(n)))return i&&this.isWalkable(a,s)&&i.push(n),o;if(!(a>0&&s>0))break;o++}return null},t.prototype.resetGridColl=function(t,e,i){for(var r,n=1;n>0;){var o="top"===e||"bottom"===e?t.gridX:"left"===e?t.gridX-n:t.gridX+n,a="right"===e||"left"===e?t.gridY:"top"===e?t.gridY-n:t.gridY+n;if((r=this.gridCollection[parseInt(o.toString(),10)][parseInt(a.toString(),10)])&&(i&&-1===this.sourceGridCollection.indexOf(r)||!i&&-1===this.targetGridCollection.indexOf(r))){if(this.isWalkable(o,a))break;var s=this.gridCollection[parseInt(o.toString(),10)][parseInt(a.toString(),10)];this.considerWalkable.push(s)}if(!(o>0&&a>0))break;"top"===e||"left"===e?n--:n++}return null},t.prototype.isWalkable=function(t,e,i){if(t>=0&&t<this.noOfRows&&e>=0&&e<this.noOfCols){var r=this.gridCollection[parseInt(t.toString(),10)][parseInt(e.toString(),10)];if(r&&(r.walkable||(1===r.nodeId.length||2===r.nodeId.length&&r.parentNodeId||-1!==this.considerWalkable.indexOf(r))&&(-1!==this.sourceGridCollection.indexOf(r)||-1!==this.targetGridCollection.indexOf(r)||-1!==this.considerWalkable.indexOf(r)))&&(i&&!r.parent||!i))return!0}return!1},t.prototype.findIntermediatePoints=function(t,e,i,r,n,o){for(var a=t-i,s=e-r,h=t,d=e,l=0;l<this.targetGridCollection.length;l++)if(t===this.targetGridCollection[parseInt(l.toString(),10)].gridX&&e===this.targetGridCollection[parseInt(l.toString(),10)].gridY)return{x:t,y:e};if(!this.isWalkable(t,e))return null;var c=this.gridCollection[parseInt(t.toString(),10)][parseInt(e.toString(),10)];if(c.tested)return{x:t,y:e};if(c.tested=!0,0!==a&&(a=a>0?1:-1,this.isWalkable(h,d-1)&&!this.isWalkable(h-a,d-1)||this.isWalkable(h,d+1)&&!this.isWalkable(h-a,d+1)))return{x:t,y:e};if(0!==s){if(s=s>0?1:-1,this.isWalkable(h-1,d)&&!this.isWalkable(h-1,d-s)||this.isWalkable(h+1,d)&&!this.isWalkable(h+1,d-s))return{x:t,y:e};if(this.findIntermediatePoints(h+1,d,h,d,n,o)||this.findIntermediatePoints(h-1,d,h,d,n,o))return{x:t,y:e}}return this.findIntermediatePoints(h+a,d+s,h,d,n,o)},t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"LineRouting"},t}(),Yc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Vc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Xc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Yc(i,t),Vc([e.Property(!0)],i.prototype,"inversedAlignment",void 0),i}(e.ChildProperty),Uc=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Gc=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a};!function(t){t.Synchronous="Synchronous",t.Asynchronous="Asynchronous",t.Reply="Reply",t.Create="Create",t.Delete="Delete",t.Self="Self"}(t.UmlSequenceMessageType||(t.UmlSequenceMessageType={})),function(t){t.Alternative="Alternative",t.Loop="Loop",t.Optional="Optional"}(t.UmlSequenceFragmentType||(t.UmlSequenceFragmentType={}));var Zc;!function(t){t.Solid="Solid",t.Dashed="Dashed",t.SolidArrow="SolidArrow",t.DashedArrow="DashedArrow",t.Bidirectional="Bidirectional",t.DashedBidirectional="DashedBidirectional",t.OpenArrow="OpenArrow",t.DashedOpenArrow="DashedOpenArrow"}(Zc||(Zc={}));var qc,Kc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Uc(i,t),Gc([e.Property(void 0)],i.prototype,"id",void 0),Gc([e.Property(void 0)],i.prototype,"startMessageID",void 0),Gc([e.Property(void 0)],i.prototype,"endMessageID",void 0),i}(e.ChildProperty),Qc=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.width=100,e.height=50,e}return Uc(i,t),Gc([e.Property(void 0)],i.prototype,"id",void 0),Gc([e.Property("")],i.prototype,"content",void 0),Gc([e.Property(!1)],i.prototype,"isActor",void 0),Gc([e.Property(!1)],i.prototype,"showDestructionMarker",void 0),Gc([e.Collection([],Kc)],i.prototype,"activationBoxes",void 0),i}(e.ChildProperty),Jc=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Uc(i,t),Gc([e.Property(void 0)],i.prototype,"id",void 0),Gc([e.Property(void 0)],i.prototype,"fromParticipantID",void 0),Gc([e.Property(void 0)],i.prototype,"toParticipantID",void 0),Gc([e.Property("")],i.prototype,"content",void 0),Gc([e.Property("Synchronous")],i.prototype,"type",void 0),i}(e.ChildProperty),$c=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Uc(i,t),Gc([e.Property("")],i.prototype,"content",void 0),Gc([e.Property([])],i.prototype,"messageIds",void 0),Gc([e.Property(void 0)],i.prototype,"fragmentIds",void 0),i}(e.ChildProperty),tp=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return Uc(i,t),Gc([e.Property(void 0)],i.prototype,"id",void 0),Gc([e.Property("Optional")],i.prototype,"type",void 0),Gc([e.Collection([],$c)],i.prototype,"conditions",void 0),i}(e.ChildProperty),ep=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.isLoadedFromMermaid=!1,e.hideFootBox=!0,e.activationWidth=20,e.initialLifelineLength=100,e.messageSpacing=50,e.participantWidth=100,e.participantHeight=50,e.margin=0,e}return Uc(i,t),i.prototype.parse=function(t,e){this.diagram=e,this.diagram.clear(),vp.clearLifelines(),gp.clearMessages();var i=new wp(e);this.model=i.parse(t),this.isLoadedFromMermaid=!0},i.prototype.loadDiagramFromMermaid=function(t,e){new cp(e).render(this.model,this),this.mermaidData=t},i.prototype.generateMermaidFromModel=function(){return(new xp).generateMermaidText(this)},i.prototype.updateUmlSequenceDiagram=function(t){this.diagram||(this.diagram=t),this.diagram.clear(),vp.clearLifelines(),gp.clearMessages(),this.model=new ip(this.diagram),this.model.isLoadedFromMermaid=!1,this.model.updateParticipants(this.participants),this.model.updateMessages(this.messages),this.model.updateActivations(this.participants),this.model.updateFragments(this.fragments)},i.prototype.render=function(){new cp(this.diagram).render(this.model,this),this.isLoadedFromMermaid=!1},Gc([e.Collection([],Qc)],i.prototype,"participants",void 0),Gc([e.Collection([],Jc)],i.prototype,"messages",void 0),Gc([e.Collection([],tp)],i.prototype,"fragments",void 0),Gc([e.Property(100)],i.prototype,"spaceBetweenParticipants",void 0),i}(e.ChildProperty),ip=function(){function e(t){this.maxParticipantWidth=100,this.maxParticipantHeight=50,this.isLoadedFromMermaid=!1,this.diagram=t,rp.clearMessageMapping(),this.participants=new Map,this.messages=[],this.activations=[],this.fragments=[],this.affectedParticipants=[],this.destroyedParticipants=[],this.destroyAtEndParticipants=[],this.aliases=new Map}return e.prototype.addParticipant=function(t){rp.updateNodeColor(t,"#6495ED"),this.diagram.nodes.push(t),this.participants.set(t.id,t),this.addLifeLine(t)},e.prototype.addLifeLine=function(t){var e=new xd(this.diagram,"connectors",{id:t.id+"_Lifeline"},!0);rp.updateConnectorStyles(e,"Dashed"),this.diagram.connectors.push(e),vp.lifelines.set(t.id,e)},e.prototype.addMessage=function(t){this.diagram.connectors.push(t),this.messages.push(t)},e.prototype.addActivation=function(t){rp.updateNodeColor(t.node,"#6495ED"),this.activations.push(t)},e.prototype.addFragment=function(t){t.node&&this.diagram.nodes.push(t.node),this.fragments.push(t)},e.prototype.addAlias=function(t,e){this.aliases.set(t,e)},e.prototype.updateParticipants=function(t){this.participants.clear();for(var e=0,i=0,r=0,n=t;r<n.length;r++){var o=n[r];if(o.id){var a=new Hl(this.diagram,"nodes",{id:o.id.toString(),width:o.width,height:o.height,data:o},!0);rp.updateNodeShape(a,o.isActor),rp.updateAnnotation(a,o.content,o.isActor),o.showDestructionMarker&&this.destroyAtEndParticipants.push(o.id.toString()),this.addParticipant(a),o.width>e&&(e=o.width),o.height>i&&(i=o.height)}else console.warn("[WARNING] :: Participant ID cannot be undefined.")}this.maxParticipantWidth=e,this.maxParticipantHeight=i},e.prototype.updateMessages=function(e){this.messages=[],this.affectedParticipants=[];for(var i=0,r=e;i<r.length;i++){var n=r[i];if(n.id){var o=null,a=null;if(n.type===t.UmlSequenceMessageType.Self?a=o=this.getNodeFromId(n.fromParticipantID||n.toParticipantID):(o=this.getNodeFromId(n.fromParticipantID),a=this.getNodeFromId(n.toParticipantID)),o&&a){var s=new xd(this.diagram,"connectors",{id:n.id.toString()},!0);rp.addOrUpdateParticipantDetails(s,o.id,a.id,n.type,null),rp.updateConnectorStyles(s,n.type.toString()),rp.updateAnnotation(s,n.content),n.type===t.UmlSequenceMessageType.Create?(rp.addOrUpdateParticipantDetails(s,o.id,a.id,t.UmlSequenceMessageType.Create,n.toParticipantID.toString()),this.affectedParticipants.push(n.toParticipantID.toString())):n.type===t.UmlSequenceMessageType.Delete&&(rp.addOrUpdateParticipantDetails(s,o.id,a.id,t.UmlSequenceMessageType.Delete,n.toParticipantID.toString()),-1===this.affectedParticipants.indexOf(n.toParticipantID.toString())&&this.affectedParticipants.push(n.toParticipantID.toString()),this.destroyedParticipants.push(n.toParticipantID.toString())),this.addMessage(s)}}else console.warn("[WARNING] :: Message ID cannot be undefined.")}},e.prototype.updateActivations=function(t){this.activations=[];for(var e=0,i=t;e<i.length;e++){var r=i[e];if(r.id&&r.activationBoxes&&r.activationBoxes.length>0)for(var n=0,o=r.activationBoxes;n<o.length;n++){var a=o[n];if(a.startMessageID&&a.endMessageID){var s=this.getNodeFromId(r.id),h=a.id?a.id.toString():O(),d=new Hl(this.diagram,"nodes",{id:s.id+"_Activation_"+h,minHeight:10,minWidth:10,data:a},!0);rp.updateNodeShape(d,!1);var l=this.getConnectorFromId(a.startMessageID),c=this.getConnectorFromId(a.endMessageID);if(l&&c){var p=rp.getParticipantDetails(l),g=rp.getParticipantDetails(c),u=new op(l.id,p.sourceParticipantName,p.targetParticipantName,rp.getAnnotation(l),0),f=new op(c.id,g.sourceParticipantName,g.targetParticipantName,rp.getAnnotation(c),0),m=new np(d,s.id,u,f,0);this.addActivation(m)}else console.warn("[WARNING] :: Activation or deactivation connector details not found.")}}}},e.prototype.updateFragments=function(t){this.fragments=[];for(var e=0,i=t;e<i.length;e++){var r=i[e];if(r.id){var n=this.processFragment(r);this.removeChildFragmentsFromCollection(n),this.addFragment(n)}else console.warn("[WARNING] :: Fragment ID cannot be null.")}},e.prototype.removeChildFragmentsFromCollection=function(t){for(var e=0,i=t.childFragments;e<i.length;e++){var r=i[e],n=this.fragments.indexOf(r);-1!==n&&this.fragments.splice(n,1),this.removeChildFragmentsFromCollection(r)}},e.prototype.processFragment=function(e){for(var i=new ap(e.id.toString(),e.type,[],[],new Hl(this.diagram,"nodes",{id:e.id.toString()+"_Fragment",data:e,shape:{type:"Path"},style:{fill:"transparent",strokeColor:"#000000",strokeWidth:1}},!0),0),r=0,n=e.conditions;r<n.length;r++){var o=n[r],a=new sp(o.content,[],[],new hp);if(o.fragmentIds)for(var s=this,h=0,d=o.fragmentIds;h<d.length;h++)!function(t){var e=s.fragments.find(function(e){return e.id===t});e?(a.nestedFragments.push(e),i.childFragments.push(e)):console.warn("[WARNING] :: Please ensure that all child fragments are defined in the collection before their respective parent fragments.")}(d[h]);this.processSequenceMessageIds(a,o.messageIds),e.type===t.UmlSequenceFragmentType.Alternative&&this.populateConditionAltBlockDetails(a),i.conditions.push(a)}return i},e.prototype.populateConditionAltBlockDetails=function(t){for(var e=0,i=t.connectors;e<i.length;e++)!function(e){t.altBlockDetails.connectors.some(function(t){return t.id===e.id})||t.altBlockDetails.connectors.push(new dp(e.id,e.source,e.target,e.message,-1,"",!1,-1))}(i[e]);for(var r=0,n=t.nestedFragments;r<n.length;r++){var o=n[r];this.addChildFragmentConnectors(t,o)}},e.prototype.addChildFragmentConnectors=function(t,e){for(var i=0,r=e.conditions;i<r.length;i++){for(var n=r[i],o=0,a=n.connectors;o<a.length;o++)!function(i){t.altBlockDetails.connectors.some(function(t){return t.id===i.id})||t.altBlockDetails.connectors.push(new dp(i.id,i.source,i.target,i.message,-1,e.id.toString(),!0,-1))}(a[o]);for(var s=0,h=n.nestedFragments;s<h.length;s++){var d=h[s];this.addChildFragmentConnectors(t,d)}}},e.prototype.processSequenceMessageIds=function(t,e){for(var i=0,r=e;i<r.length;i++){var n=r[i];void 0!==n&&""!==n&&this.processConnector(t,n)}},e.prototype.processConnector=function(t,e){var i=this.getConnectorFromId(e);if(i){var r=rp.getParticipantDetails(i),n=new op(i.id.toString(),r.sourceParticipantName,r.targetParticipantName,rp.getAnnotation(i),0);t.connectors.push(n)}},e.prototype.getNodeFromId=function(t){var e;return t?this.participants.has(t.toString())?e=this.participants.get(t.toString()):console.warn("[WARNING] :: Participant '"+t.toString()+"' not found."):console.warn("[WARNING] :: ParticipantID is null."),e},e.prototype.getConnectorFromId=function(t){var e=this.messages.find(function(e){return e.id.toString()===t.toString()});return e||console.warn("[WARNING] :: Message ID '"+t.toString()+"' is not found."),e},e}(),rp=function(){function e(){}return e.addOrUpdateParticipantDetails=function(t,e,i,r,n){var o=new lp(e,i,n,r);this.messageMapping.set(t,o)},e.getParticipantDetails=function(t){return this.messageMapping.get(t)},e.clearMessageMapping=function(){this.messageMapping.clear()},e.updateAnnotation=function(t,e,i){var r=e.trim();if(t instanceof Hl){if(t.annotations=[{content:r,horizontalAlignment:"Center"}],i){var n=t.annotations[0];n.style.textWrapping="NoWrap",n.offset={x:.5,y:1},n.margin={left:0,top:6,right:0,bottom:0}}}else t.annotations=[{content:r,style:{textWrapping:"NoWrap"},margin:{left:0,top:-10,right:0,bottom:0},rotationReference:"Page"}]},e.getAnnotation=function(t){return t.annotations[0].content},e.updateNodeShape=function(t,e){t.shape=e?{type:"Path",data:bp}:{type:"Path",data:Sp}},e.isActor=function(t){var e=t.shape;return"Path"===e.type&&e.data===bp},e.updateNodeColor=function(t,e){t.style={fill:e,strokeColor:"#000000",strokeWidth:1}},e.updateConnectorStyles=function(t,e){t.segments=[{type:"Straight"}];var i={fill:"black",strokeColor:"black",strokeWidth:1};t.sourceDecorator={shape:"None",style:i},t.targetDecorator={shape:"None",style:i};var r={strokeColor:"black",strokeWidth:1},n={strokeColor:"black",strokeWidth:1,strokeDashArray:"5,5"};if(this.isMermaidConnectorType(e))switch(e){case"Solid":t.style=r;break;case"Dashed":t.style=n;break;case"SolidArrow":t.style=r,t.targetDecorator.shape="Arrow";break;case"DashedArrow":t.style=n,t.targetDecorator.shape="Arrow";break;case"Bidirectional":t.style=r,t.sourceDecorator.shape="Arrow",t.targetDecorator.shape="Arrow";break;case"DashedBidirectional":t.style=n,t.sourceDecorator.shape="Arrow",t.targetDecorator.shape="Arrow";break;case"OpenArrow":t.style=r,t.targetDecorator.shape="OpenArrow";break;case"DashedOpenArrow":t.style=n,t.targetDecorator.shape="OpenArrow"}else if(this.isUmlSequenceMessageType(e))switch(e){case"Synchronous":t.style=r,t.targetDecorator.shape="Arrow";break;case"Asynchronous":case"Create":t.style=r,t.targetDecorator.shape="OpenArrow";break;case"Delete":t.style=r,t.targetDecorator.shape="Arrow";break;case"Reply":t.style=n,t.targetDecorator.shape="OpenArrow";break;case"Self":t.type="Orthogonal",t.segments=[{type:"Orthogonal",length:20,direction:"Left"},{type:"Orthogonal",length:50,direction:"Bottom"},{type:"Orthogonal",length:20,direction:"Right"}],t.style=r,t.targetDecorator.shape="Arrow"}},e.removeConnectableConstraintForNode=function(e){e&&(e.constraints=t.NodeConstraints.Default&~(t.NodeConstraints.InConnect|t.NodeConstraints.OutConnect))},e.isMermaidConnectorType=function(t){return-1!==["Solid","Dashed","SolidArrow","DashedArrow","Bidirectional","DashedBidirectional","OpenArrow","DashedOpenArrow"].indexOf(t)},e.isUmlSequenceMessageType=function(t){return-1!==["Synchronous","Asynchronous","Create","Delete","Reply","Self"].indexOf(t)},e.messageMapping=new Map,e}(),np=function(){function t(t,e,i,r,n){this._node=null,this.node=t,this.participantName=e,this.activateConnectorDetails=i,this.deactivateConnectorDetails=r,this.depth=n}return Object.defineProperty(t.prototype,"node",{get:function(){return this._node},set:function(t){this._node=t,this._node.annotations=null,rp.removeConnectableConstraintForNode(this._node)},enumerable:!0,configurable:!0}),t}(),op=function(){function t(t,e,i,r,n){this.id="",this.index=-1,this.source="",this.target="",this.message="",this.id=t,this.index=n,this.source=e,this.target=i,this.message=r}return t}(),ap=function(){function t(t,e,i,r,n,o,a){this.id="",this.conditions=[],this.depth=0,this.index=0,this.childFragments=[],this.id=t,this.type=e,this.conditions=i,this.childFragments=r,this.node=n,this.index=o,this.depth=a,this.fragmentStartIndex=-1,this.fragmentEndIndex=-1}return Object.defineProperty(t.prototype,"node",{get:function(){return this._node},set:function(t){this._node=t,rp.removeConnectableConstraintForNode(this._node)},enumerable:!0,configurable:!0}),t}(),sp=function(){function t(t,e,i,r){this.content="",this.connectors=[],this.altBlockDetails=new hp,this.nestedFragments=[],this.conditionStartIndex=-1,this.conditionEndIndex=-1,this.content=t,this.nestedFragments=e,this.connectors=i,this.altBlockDetails=r}return t}(),hp=function(){function t(){this.connectors=[]}return t}(),dp=function(t){function e(e,i,r,n,o,a,s,h){var d=t.call(this,e,i,r,n,o)||this;return d.fragmentID="",d.inFragment=!1,d.fragmentIndex=-1,d.fragmentID=a,d.inFragment=s,d.fragmentIndex=h,d}return Uc(e,t),e}(op),lp=function(){function t(t,e,i,r){this.sourceParticipantName=t,this.targetParticipantName=e,this.affectedParticipantName=i,this.messageType=r}return t}(),cp=function(){function t(t){this.diagram=t}return t.prototype.render=function(t,e){e.messageSpacing=50,pp.render(this.diagram,t,e),gp.render(this.diagram,t,e);for(r=0;r<this.diagram.nodes.length;r++){var i=this.diagram.nodes[parseInt(r.toString(),10)];this.diagram.preventNodesUpdate=!0,this.diagram.nodePropertyChange(i,{},{offsetX:i.offsetX,offsetY:i.offsetY,width:i.width,height:i.height,annotations:i.annotations,ports:i.ports},!0),this.diagram.preventNodesUpdate=!1}for(var r=0;r<this.diagram.connectors.length;r++){var n=this.diagram.connectors[parseInt(r.toString(),10)];this.diagram.preventConnectorsUpdate=!0,this.diagram.connectorPropertyChange(n,{},{sourcePoint:n.sourcePoint,targetPoint:n.targetPoint,sourceID:n.sourceID,targetID:n.targetID,sourcePortID:n.sourcePortID,targetPortID:n.targetPortID,sourcePadding:n.sourcePadding,targetPadding:n.targetPadding,sourceDecorator:n.sourceDecorator,targetDecorator:n.targetDecorator,annotations:n.annotations,ports:n.ports,constraints:n.constraints,segments:n.segments},!0),this.diagram.preventConnectorsUpdate=!1}mp.render(this.diagram,t,e),yp.render(this.diagram,t,e)},t}(),pp=function(){function t(){}return t.render=function(t,e,i){this.diagram=t,this.model=e,this.settings=i;var r=[];e.participants.forEach(function(t,e){return r.push(t)}),this.updateParticipantsSize(r);for(var n=this.getUpdatedMargin(),o=i.margin+n.x,a=0;a<r.length;a++){var s=r[parseInt(a.toString(),10)];s.offsetX=o,s.offsetY=i.margin+n.y;var h=0;if(a<r.length-1){var d=r[a+1];rp.isActor(d)&&e.isLoadedFromMermaid&&this.resizeWithAspectRatio(d,e.maxParticipantHeight),h=d.width>0?d.width:this.model.maxParticipantWidth}o+=s.width/2+i.spaceBetweenParticipants+h/2,vp.render(t,e,s,i)}},t.updateParticipantsSize=function(t){for(var e=0,i=t;e<i.length;e++){var r=i[e];if(rp.isActor(r)){var n=r.annotations[0];n.style.textWrapping="NoWrap",n.offset={x:.5,y:1},n.margin={left:0,top:6,right:0,bottom:0},this.model.isLoadedFromMermaid?this.resizeWithAspectRatio(r,this.model.maxParticipantHeight):this.resizeWithAspectRatio(r,50)}else r.width>0||(r.width=this.model.maxParticipantWidth),r.height>0||(r.height=this.model.maxParticipantHeight)}},t.resizeWithAspectRatio=function(t,e){t.width=e,t.height=1.5*t.width},t.getUpdatedMargin=function(){var t=0,e=0,i=!0;return this.model.participants.forEach(function(r,n){r.width;var o=r.height/2;i&&(t=r.width/2,i=!1),o>e&&(e=o)}),{x:t,y:e}},t}(),gp=function(){function e(){}return e.render=function(t,e,i){this.diagram=t,this.model=e,this.settings=i,this.messageLayouts=[],this.model.participants.forEach(function(t,i){t.height>e.maxParticipantHeight&&(e.maxParticipantHeight=t.height)});var r=i.messageSpacing+e.maxParticipantHeight;this.adjustMessageSpacing(e,i);for(var n=0;n<e.messages.length;n++){var o=e.messages[parseInt(n.toString(),10)];r=this.storeLayoutInfo(r,o),r+=i.messageSpacing}fp.adjustMessagePositionsForFragments(e,this.messageLayouts,i.messageSpacing);var a=this.calculateRequiredLifelineLength();this.model.participants.forEach(function(t,e){vp.updateLifelineLength(t,a)}),this.updateCreateMessage(),this.updateDestroyMessage(),this.renderMessagesOnLifeline()},e.adjustMessageSpacing=function(t,e){var i=e.messageSpacing;t.maxParticipantHeight>100&&(i+=.5*(t.maxParticipantHeight-100)),this.settings.messageSpacing=Math.max(i,e.messageSpacing)},e.storeLayoutInfo=function(t,e){return this.messageLayouts.push(new up(e.id.toString(),t,e)),this.isSelfMessage(e)&&(t+=this.settings.messageSpacing),this.isCreateMessage(e)&&(t+=this.settings.messageSpacing/2),t},e.calculateRequiredLifelineLength=function(){if(!this.messageLayouts||0===this.messageLayouts.length)return this.getTopAndBottomPadding();for(var t=0,e=0,i=this.messageLayouts;e<i.length;e++){var r=i[e];r.yPosition>t&&(t=r.yPosition)}return t+this.settings.messageSpacing},e.getTopAndBottomPadding=function(){return 2*(this.settings.messageSpacing+this.model.maxParticipantHeight)},e.isSelfMessage=function(t){var e=rp.getParticipantDetails(t);return!!e&&e.sourceParticipantName===e.targetParticipantName},e.isCreateMessage=function(e){var i=rp.getParticipantDetails(e);return i&&i.messageType===t.UmlSequenceMessageType.Create},e.updateCreateMessage=function(){for(var e=this,i=0,r=this.model.messages;i<r.length;i++)!function(i){var r=rp.getParticipantDetails(i);if(r&&r.messageType===t.UmlSequenceMessageType.Create){var n=void 0;if(r.affectedParticipantName&&e.model.participants.has(r.affectedParticipantName)){n=e.model.participants.get(r.affectedParticipantName);var o=e.messageLayouts.find(function(t){return t.messageID===i.id.toString()});o&&(n.offsetY=o.yPosition,vp.updateLifelinePosition(n,o.yPosition))}}}(r[i])},e.updateDestroyMessage=function(){for(var e=this,i=0,r=this.model.messages;i<r.length;i++)!function(i){var r=rp.getParticipantDetails(i);if(r&&r.messageType===t.UmlSequenceMessageType.Delete){var n=void 0;if(r.affectedParticipantName&&e.model.participants.has(r.affectedParticipantName)){n=e.model.participants.get(r.affectedParticipantName);var o=e.messageLayouts.find(function(t){return t.messageID===i.id.toString()});o&&vp.updateLifelineToDestroy(n,i,o.yPosition)}}}(r[i])},e.renderMessagesOnLifeline=function(){vp.clearPorts();for(var t=0,e=this.messageLayouts;t<e.length;t++){var i=e[t],r=i.connector,n=rp.getParticipantDetails(r);if(n){var o=this.getLifeline(this.model.participants,n.sourceParticipantName),a=this.getLifeline(this.model.participants,n.targetParticipantName);this.isSelfMessage(r)?this.renderSelfMessage(o,r,i.yPosition):this.renderNormalMessage(o,a,r,i.yPosition)}}},e.renderNormalMessage=function(t,e,i,r){var n=this.createPort(t,r),o=this.createPort(e,r);this.applyActivationPadding(n,i,r,!0),this.applyActivationPadding(o,i,r,!1),this.assignPortOrPoint(i,n,t,r,!0),this.assignPortOrPoint(i,o,e,r,!1),i.sourcePortID||(i.sourcePoint.y=r),i.targetPortID||(i.targetPoint.y=r)},e.renderSelfMessage=function(t,e,i){var r=this.createPort(t,i),n=this.createPort(t,i+this.settings.messageSpacing);this.applyActivationPadding(r,e,i,!0),this.applyActivationPadding(n,e,i+this.settings.messageSpacing,!1),e.type="Orthogonal",e.segments=[{type:"Orthogonal",length:20,direction:"Left"},{type:"Orthogonal",length:50,direction:"Bottom"},{type:"Orthogonal",length:20,direction:"Right"}],this.assignPortOrPoint(e,r,t,i,!0),this.assignPortOrPoint(e,n,t,i,!1)},e.applyActivationPadding=function(t,e,i,r){var n=rp.getParticipantDetails(e);if(n&&this.model.activations){var o=r?n.sourceParticipantName:n.targetParticipantName;this.isWithinActivation(o,i,e)&&(r?e.sourcePadding=this.settings.activationWidth/2-t.height/2:e.targetPadding=this.settings.activationWidth/2-t.height/2)}},e.isWithinActivation=function(t,e,i){var r=this.model.messages.findIndex(function(t){return t.id.toString()===i.id.toString()});if(-1===r)return!1;for(var n=this,o=0,a=this.model.activations;o<a.length;o++){var s=function(e){if(e.participantName===t&&e.activateConnectorDetails&&e.deactivateConnectorDetails){var i=n.model.messages.findIndex(function(t){return t.id.toString()===e.activateConnectorDetails.id}),o=n.model.messages.findIndex(function(t){return t.id.toString()===e.deactivateConnectorDetails.id});if(-1!==i&&-1!==o){var a=rp.getParticipantDetails(n.model.messages[parseInt(i.toString(),10)]);if(a&&a.sourceParticipantName===a.targetParticipantName&&r===i)return{value:!1};if(r>=i&&r<=o)return{value:!0}}}}(a[o]);if("object"==typeof s)return s.value}return!1},e.createPort=function(t,e){var i=this.getLifelineSourceY(t),r=this.calculateLifelineLength(t,i),n=this.calculateLengthFraction(e,i,r);n=n>1?1:n;var o=new eh(this.diagram,"ports",{id:O(),offset:n});return this.addPortToLifeline(t,o),o},e.assignPortOrPoint=function(e,i,r,n,o){var a=r.sourcePoint.x;if(1===i.offset)o?e.sourcePoint={x:a,y:n}:e.targetPoint={x:a,y:n};else if(o)e.sourceID=r.id,e.sourcePortID=i.id;else{var s=rp.getParticipantDetails(e);if(s&&s.messageType===t.UmlSequenceMessageType.Create&&s.affectedParticipantName&&s.targetParticipantName===s.affectedParticipantName){var h=void 0;this.model.participants.has(s.affectedParticipantName)&&(h=this.model.participants.get(s.affectedParticipantName),e.targetID=h.id,e.targetPadding=0)}e.targetID||(e.targetID=r.id,e.targetPortID=i.id)}},e.addPortToLifeline=function(t,e){this.diagram.addPorts(t,[e]),this.diagram.protectPropertyChange(!0)},e.getLifelineSourceY=function(t){return t.sourcePoint.y},e.calculateLifelineLength=function(t,e){return t.targetPoint.y-e},e.calculateLengthFraction=function(t,e,i){return(t-e)/i},e.getLifeline=function(t,e){return vp.lifelines.get(e)},e.clearMessages=function(){this.messageLayouts=[]},e.messageLayouts=[],e}(),up=function(){function t(t,e,i){this.messageID=t,this.yPosition=e,this.connector=i}return t}(),fp=function(){function e(){}return e.adjustMessagePositionsForFragments=function(e,i,r){for(var n=0,o=e.fragments;n<o.length;n++){var a=o[n];this.computeFragmentMessageRange(a,e)}var s=[];this.collectAllFragments(e.fragments,s),s.sort(function(t,e){return t.fragmentStartIndex-e.fragmentStartIndex});for(var h=0,d=s;h<d.length;h++)if(!((a=d[h]).fragmentStartIndex<0)){var l=a.childFragments&&a.childFragments.length>0?1.5*r:r,c=.7*r;if(this.shiftMessages(i,a.fragmentStartIndex,l),a.fragmentEndIndex>=0&&a.fragmentEndIndex+1<i.length&&this.shiftMessages(i,a.fragmentEndIndex+1,c),a.type===t.UmlSequenceFragmentType.Alternative){for(var p=0,g=a.conditions;p<g.length;p++){var u=g[p];this.computeConditionMessageRange(u,e)}for(var f=a.conditions.filter(function(t){return t.conditionStartIndex>=0}).sort(function(t,e){return t.conditionStartIndex-e.conditionStartIndex}),m=.8*r,y=1;y<f.length;y++){var v=f[parseInt(y.toString(),10)].conditionStartIndex;v>=0&&v<i.length&&this.shiftMessages(i,v,m)}}}},e.collectAllFragments=function(t,e){for(var i=0,r=t;i<r.length;i++){var n=r[i];e.push(n),n.childFragments&&n.childFragments.length>0&&this.collectAllFragments(n.childFragments,e)}},e.computeFragmentMessageRange=function(t,e){for(var i=Number.MAX_SAFE_INTEGER,r=Number.MIN_SAFE_INTEGER,n=0,o=t.conditions;n<o.length;n++)for(var a=0,s=o[n].connectors;a<s.length;a++)!function(t){var n=e.messages.findIndex(function(e){return e.id.toString()===t.id});n>=0&&n<i&&(i=n),n>r&&(r=n)}(s[a]);for(var h=0,d=t.childFragments;h<d.length;h++){var l=d[h];this.computeFragmentMessageRange(l,e),l.fragmentStartIndex>=0&&l.fragmentStartIndex<i&&(i=l.fragmentStartIndex),l.fragmentEndIndex>r&&(r=l.fragmentEndIndex)}i===Number.MAX_SAFE_INTEGER&&(i=-1),r===Number.MIN_SAFE_INTEGER&&(r=-1),t.fragmentStartIndex=i,t.fragmentEndIndex=r},e.computeConditionMessageRange=function(t,e){for(var i=Number.MAX_SAFE_INTEGER,r=Number.MIN_SAFE_INTEGER,n=0,o=t.connectors;n<o.length;n++)!function(t){var n=e.messages.findIndex(function(e){return e.id.toString()===t.id});if(n<0)return"continue";n<i&&(i=n),n>r&&(r=n)}(o[n]);i===Number.MAX_SAFE_INTEGER&&(i=-1),r===Number.MIN_SAFE_INTEGER&&(r=-1),t.conditionStartIndex=i,t.conditionEndIndex=r},e.shiftMessages=function(t,e,i){if(0!==i)for(var r=e;r<t.length;r++)t[parseInt(r.toString(),10)].yPosition+=i},e}(),mp=function(){function e(){}return e.render=function(t,e,i){this.diagram=t,this.model=e,this.settings=i;for(var r=0,n=e.activations;r<n.length;r++){var o=n[r];this.renderActivation(o)}},e.renderActivation=function(e){var i=this.model.messages.find(function(t){var i=rp.getParticipantDetails(t);return null!=t.id&&t.id===e.activateConnectorDetails.id.toString()&&null!=i&&i.sourceParticipantName===e.activateConnectorDetails.source&&i.targetParticipantName===e.activateConnectorDetails.target&&rp.getAnnotation(t)===e.activateConnectorDetails.message}),r=this.model.messages.find(function(t){var i=rp.getParticipantDetails(t);return null!=t.id&&t.id===e.deactivateConnectorDetails.id.toString()&&null!=i&&i.sourceParticipantName===e.deactivateConnectorDetails.source&&i.targetParticipantName===e.deactivateConnectorDetails.target&&rp.getAnnotation(t)===e.deactivateConnectorDetails.message}),n=this.getParticipantByName(e.participantName),o=i?{x:i.sourcePoint.x,y:i.sourcePoint.y}:{x:0,y:0},a=r?{x:r.targetPoint.x,y:r.targetPoint.y}:{x:0,y:0};e.depth=this.calculateActivationDepth(e,o,a);var s=rp.getParticipantDetails(i);s&&(s.sourceParticipantName===s.targetParticipantName?o.y=i.targetPoint.y:s.messageType===t.UmlSequenceMessageType.Create&&s.targetParticipantName===e.participantName&&(o.y+=n.height/2+(rp.isActor(n)?15:5)));var h=e.node;h.offsetX=n.offsetX+e.depth*(this.settings.activationWidth/4),h.offsetY=o.y+(a.y-o.y)/2,h.width=this.settings.activationWidth,h.height=Math.abs(o.y-a.y),this.diagram.add(h)},e.calculateActivationDepth=function(t,e,i){for(var r=this,n=0,o=0,a=this.model.activations.filter(function(e){return e.participantName===t.participantName&&e!==t&&r.isOverlapping(t,e)}).sort(function(t,e){return t.activateConnectorDetails.index-e.activateConnectorDetails.index});o<a.length;o++){var s=a[o],h=this.getStartPoint(s);e.y>h&&n++}return n},e.isOverlapping=function(t,e){var i=this.getStartPoint(t),r=this.getEndPoint(t),n=this.getStartPoint(e);return i<this.getEndPoint(e)&&n<r},e.getStartPoint=function(t){var e=this.model.messages.find(function(e){return e.id.toString()===t.activateConnectorDetails.id.toString()});return e?e.sourcePoint.y:0},e.getEndPoint=function(t){var e=this.model.messages.find(function(e){return e.id.toString()===t.deactivateConnectorDetails.id.toString()});return e?e.targetPoint.y:0},e.getParticipantByName=function(t){return this.model.participants.has(t)?this.model.participants.get(t):null},e}(),yp=function(){function e(){}return e.render=function(t,e,i){this.diagram=t,this.model=e,this.settings=i;for(var r=0,n=e.fragments;r<n.length;r++){var o=n[r];this.renderFragment(o)}},e.renderFragment=function(e){for(var i=0,r=e.childFragments;i<r.length;i++){var n=r[i];this.renderFragment(n)}switch(e.type){case t.UmlSequenceFragmentType.Optional:case t.UmlSequenceFragmentType.Loop:this.renderGeneralFragment(e);break;case t.UmlSequenceFragmentType.Alternative:this.renderAlternativeFragment(e)}},e.renderGeneralFragment=function(t){for(var e=0,i=t.conditions;e<i.length;e++){var r=i[e],n=this.calculateFragmentBoundary(r,t);if(n&&0!==n.width&&0!==n.height){this.createFragmentNode(t,r.content,n);var o=t.node;this.diagram.preventNodesUpdate=!0,this.diagram.nodePropertyChange(o,{shape:{type:"Path"}},{shape:o.shape},!0),this.diagram.preventNodesUpdate=!1}}},e.renderAlternativeFragment=function(t){var e=this.calculateAltFragmentBoundary(t);if(e&&0!==e.width&&0!==e.height){this.createFragmentNode(t,t.conditions[0].content,e);var i=t.node;this.updateAlternativeFragmentShape(t,i),this.diagram.preventNodesUpdate=!0,this.diagram.nodePropertyChange(i,{shape:{type:"Path"}},{shape:i.shape},!0),this.diagram.preventNodesUpdate=!1}},e.updateAlternativeFragmentShape=function(t,e){var i=e.wrapper.bounds,r=this.getAlternateFragmentShape(i);r=this.appendConditionDottedLines(t,e,i,r),e.shape={type:"Path",data:r}},e.getAlternateFragmentShape=function(t){var e=t.width,i=t.height,r="M "+t.x+" "+t.y+" L "+(t.x+e)+" "+t.y+" L "+(t.x+e)+" "+(t.y+i)+" L "+t.x+" "+(t.y+i)+" Z";return r+" "+r+" "+("M "+t.x+" "+t.y+" H "+(t.x+40)+" V "+(t.y+9.85+19.7/6)+" C "+(t.x+40-7.6)+" "+(t.y+19.7)+" "+(t.x+40)+" "+(t.y+9.85+19.7/6)+" "+(t.x+40-7.6)+" "+(t.y+19.7)+" H "+t.x+" Z")},e.appendConditionDottedLines=function(t,e,i,r){for(var n=0;n<t.conditions.length-1;n++){var o=t.conditions[parseInt(n.toString(),10)],a=t.conditions[n+1],s=this.calculateCenterYBetweenConditions(o,a);0===s&&(s=i.top+i.height/(t.conditions.length+1)*(n+1)),r+=this.createDashedLinePath(e,i,s),this.addAnnotationForAlternativeCondition(e,s,i,a)}return r},e.createDashedLinePath=function(t,e,i){for(var r="M "+e.x+" "+i+" ",n=Math.floor(e.width/10),o=0;o<n;o++)r+="l 5 0 ",r+="m 5 0 ";return r},e.addAnnotationForAlternativeCondition=function(t,e,i,r){var n=this.calculateAnnotationYOffset(e,t.height,i.y),o=new ah(t,"annotations",{content:"["+r.content+"]",offset:{x:0,y:n},horizontalAlignment:"Left",margin:{left:9,top:15,right:5,bottom:5},style:{bold:!0}});this.diagram.addLabels(t,[o]),this.diagram.protectPropertyChange(!0)},e.calculateAnnotationYOffset=function(t,e,i){var r=t-i;return Math.max(0,Math.min(r,e))/e},e.calculateFragmentBoundary=function(t,e){var i=void 0;if(t.connectors&&t.connectors.length>0){var r=this.getMessagesFromConnectorDetails(t.connectors);i=this.getBoundaryFromMessages(r)}var n=this.calculateChildFragmentBoundary(e),o=this.model.maxParticipantWidth/4;if(i||n){if(!i){var a=new ms(n.left-o,n.top-o,n.width+2*o,n.height+2*o);return this.adjustCombinedBoundary(a,i,n)}return n?this.combineBoundaries(i,n):i}},e.getBoundaryFromMessages=function(e){var i=this.getMinCoordinates(e),r=this.getMaxCoordinates(e),n=this.hasCreateMessage(e),o=this.hasSelfMessage(e),a=this.model.maxParticipantWidth/4;n&&(a+=this.model.maxParticipantWidth/3),o&&(a+=this.model.maxParticipantWidth/6);for(var s=this.settings.messageSpacing/3,h=i.x-a,d=i.y-s,l=r.x-i.x+2*a,c=r.y-i.y+2*s,p=0,g=e;p<g.length;p++){var u=g[p];if(u.targetID&&this.diagram.getObject(u.targetID)instanceof Hl){var f=this.diagram.getObject(u.targetID);if(f&&f instanceof Hl&&f.wrapper){var m=f.wrapper.bounds,y=m.x+m.width+a,v=m.y+m.height+s;l=Math.max(l,y-h),c=Math.max(c,v-d)}}}var b=e[e.length-1],S=rp.getParticipantDetails(b);return S&&S.messageType===t.UmlSequenceMessageType.Delete&&(c+=25),new ms(h,d,l,c)},e.hasSelfMessage=function(t){for(var e=0,i=t;e<i.length;e++){var r=i[e],n=rp.getParticipantDetails(r);if(n&&n.sourceParticipantName===n.targetParticipantName)return!0}return!1},e.hasCreateMessage=function(t){for(var e=0,i=t;e<i.length;e++){var r=i[e];if(r.targetID&&this.diagram.getObject(r.targetID)instanceof Hl)return!0}return!1},e.calculateChildFragmentBoundary=function(t){if(t.childFragments&&0!==t.childFragments.length){for(var e=[],i=0;i<t.childFragments.length;i++){for(var r=t.childFragments[parseInt(i.toString(),10)],n=[],o=0;o<r.conditions.length;o++)for(var a=r.conditions[parseInt(o.toString(),10)].connectors,s=0;s<a.length;s++)n.push(a[parseInt(s.toString(),10)]);var h=this.getMessagesFromConnectorDetails(n),d=this.getBoundaryFromMessages(h),l=this.calculateChildFragmentBoundary(r),c=this.combineBoundaries(d,l);c&&e.push(c)}if(0!==e.length){var p=Math.min.apply(null,e.map(function(t){return t.left})),g=Math.min.apply(null,e.map(function(t){return t.top})),u=Math.max.apply(null,e.map(function(t){return t.right})),f=Math.max.apply(null,e.map(function(t){return t.bottom}));return new ms(p,g,u-p,f-g)}}},e.combineBoundaries=function(t,e){if(!e)return t;var i=this.model.maxParticipantWidth/4,r=new ms(Math.min(t.left,e.left)-i,Math.min(t.top,e.top)-i,Math.max(t.right,e.right)-Math.min(t.left,e.left)+2*i,Math.max(t.bottom,e.bottom)-Math.min(t.top,e.top)+2*i);return this.adjustCombinedBoundary(r,t,e)},e.adjustCombinedBoundary=function(t,e,i){var r=this.settings.messageSpacing/2;return!e&&i?new ms(t.left,t.top-r,t.width,t.height+r):e&&i&&e.top>i.top?new ms(t.left,t.top-r,t.width,t.height+r):t},e.getMinCoordinates=function(t){for(var e=Number.POSITIVE_INFINITY,i=Number.POSITIVE_INFINITY,r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)],o=Math.min(n.sourcePoint.x,n.targetPoint.x),a=Math.min(n.sourcePoint.y,n.targetPoint.y);o<e&&(e=o),a<i&&(i=a)}return{x:e,y:i}},e.getMaxCoordinates=function(t){for(var e=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY,r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)],o=Math.max(n.sourcePoint.x,n.targetPoint.x),a=Math.max(n.sourcePoint.y,n.targetPoint.y);o>e&&(e=o),a>i&&(i=a)}return{x:e,y:i}},e.calculateAltFragmentBoundary=function(t){var e=[].concat.apply([],t.conditions.map(function(t){return t.connectors})),i=void 0;if(e.length>0){var r=this.getMessagesFromConnectorDetails(e);i=this.getBoundaryFromMessages(r)}var n=this.calculateChildFragmentBoundary(t),o=this.model.maxParticipantWidth/4;if(i||n){if(!i){var a=new ms(n.x-o,n.y-o,n.width+2*o,n.height+2*o);return this.adjustCombinedBoundary(a,i,n)}return n?this.combineBoundaries(i,n):i}},e.getMessagesFromConnectorDetails=function(t){for(var e=[],i=0;i<t.length;i++){for(var r=t[parseInt(i.toString(),10)],n=[],o=0;o<this.model.messages.length;o++){var a=this.model.messages[parseInt(o.toString(),10)],s=rp.getParticipantDetails(a);null!=a.id&&a.id.toString()===r.id.toString()&&null!=s&&this.stringEquals(s.sourceParticipantName,r.source)&&this.stringEquals(s.targetParticipantName,r.target)&&this.stringEquals(rp.getAnnotation(a),r.message)&&n.push(a)}Array.prototype.push.apply(e,n)}return e},e.stringEquals=function(t,e){return t.toString().toLowerCase()===e.toString().toLowerCase()},e.getMessageFromConnectorDetails=function(t,e,i,r){return this.model.messages.find(function(n){var o=rp.getParticipantDetails(n);return null!=n.id&&n.id.toString().toLowerCase()===t.toLowerCase()&&null!=o&&o.sourceParticipantName.toLowerCase()===e.toLowerCase()&&o.targetParticipantName.toLowerCase()===i.toLowerCase()&&rp.getAnnotation(n).toLowerCase()===r.toLowerCase()})},e.calculateCenterYBetweenConditions=function(t,e){var i=0,r=0;if(t.altBlockDetails.connectors.length>0){var n=t.altBlockDetails.connectors[t.altBlockDetails.connectors.length-1];if(n.inFragment){i=(-1!==n.fragmentIndex?this.diagram.getObject(n.fragmentIndex.toString()+"_Fragment"):this.diagram.getObject(n.fragmentID+"_Fragment")).wrapper.bounds.bottomLeft.y}else{var o=this.getMessageFromConnectorDetails(n.id,n.source,n.target,n.message);o&&(i=o.targetPoint.y)}}if(e.altBlockDetails.connectors.length>0){var a=e.altBlockDetails.connectors[0];if(a.inFragment){r=(-1!==a.fragmentIndex?this.diagram.getObject(a.fragmentIndex.toString()+"_Fragment"):this.diagram.getObject(a.fragmentID+"_Fragment")).wrapper.bounds.topLeft.y}else{var s=this.getMessageFromConnectorDetails(a.id,a.source,a.target,a.message);s&&(r=s.targetPoint.y)}}return 0!==i&&0!==r?i+(r-i)/2:0===i&&0!==r?r-20:0===r&&0!==i?i+10:0},e.createFragmentNode=function(t,e,i){var r=this.getFragmentType(t.type),n=Math.max(i.width,this.model.maxParticipantWidth),o=i.height+this.settings.messageSpacing,a=0===t.index?t.id.toString():t.index.toString(),s=i.x+i.width/2,h=i.y+i.height/2-this.settings.messageSpacing/2,d=[this.createAnnotation(r),this.createAnnotation(e?"["+e+"]":"",30)],l=t.node;l?(l.id=a+"_Fragment",this.diagram.addLabels(l,d),this.diagram.protectPropertyChange(!0),l.width=n,l.height=o,l.offsetX=s,l.offsetY=h,l.shape={type:"Path",data:this.getGeneralFragmentShape(n,o)},this.diagram.preventNodesUpdate=!0,this.diagram.nodePropertyChange(l,{},{offsetX:l.offsetX,offsetY:l.offsetY,width:l.width,height:l.height,annotations:l.annotations},!0),this.diagram.preventNodesUpdate=!1):(t.node=new Hl(this.diagram,"nodes",{id:a+"_Fragment",annotations:d,width:n,height:o,offsetX:s,offsetY:h,shape:{type:"Path",data:this.getGeneralFragmentShape(n,o)},style:{fill:"transparent",strokeColor:"#000000",strokeWidth:1}},!0),t.node=this.diagram.add(t.node))},e.getGeneralFragmentShape=function(t,e){var i="M 0,0 L "+t+",0 L "+t+","+e+" L 0,"+e+" Z";return i+" "+i+" M 0,0 H 40 V 12 C 32 20 40 12 32 20 H 0 Z"},e.getFragmentType=function(e){switch(e){case t.UmlSequenceFragmentType.Alternative:return"alt";case t.UmlSequenceFragmentType.Loop:return"loop";case t.UmlSequenceFragmentType.Optional:return"opt";default:throw new Error("Invalid fragment type")}},e.createAnnotation=function(t,e){return void 0===e&&(e=9),{content:t,offset:{x:0,y:0},horizontalAlignment:"Left",verticalAlignment:"Top",margin:{left:9,top:e,right:5,bottom:5},style:{bold:!0}}},e}(),vp=function(){function e(){}return e.render=function(t,e,i,r){this.diagram=t,this.model=e,this.settings=r;var n={x:i.offsetX,y:i.offsetY+e.maxParticipantHeight},o={x:n.x,y:n.y+r.initialLifelineLength},a=null;r.hideFootBox||-1!==e.destroyedParticipants.indexOf(i.id.toString())||-1!==e.destroyAtEndParticipants.indexOf(i.id.toString())||((a=this.renderFootBoxNode(i)).offsetX=o.x,a.offsetY=o.y),this.createCenterPort(i),this.createLifelineConnector(i,a,o)},e.createCenterPort=function(t){var e=new th(this.diagram,"ports",{id:t.id+"_center_port",shape:null});this.diagram.addPorts(t,[e]),this.diagram.protectPropertyChange(!0)},e.createLifelineConnector=function(e,i,r){var n=this.lifelines.get(e.id);if(i&&i.ports&&i.ports.length>0){a=i.ports[0];n.targetPortID=a.id,n.targetID=i.id;var o=i.height/2;n.targetPadding=-(o+a.height/2),n.targetPoint={x:i.offsetX,y:i.offsetY-o}}else n.targetPoint=r;if(e&&e.ports&&e.ports.length>0){var a=e.ports[0];n.sourcePortID=a.id,n.sourceID=e.id;var s=rp.isActor(e)?e.height/2+e.height/6:e.height/2;n.sourcePadding=s-a.height/2,n.sourcePoint={x:e.offsetX,y:e.offsetY+s}}return n.annotations=null,n.sourceDecorator={shape:"None"},n.targetDecorator={shape:"None"},n.constraints=n.constraints&~(t.ConnectorConstraints.DragSourceEnd|t.ConnectorConstraints.Delete),n},e.renderFootBoxNode=function(t){var e=new Hl(this.diagram,"nodes",{id:"FootBox_"+t.id,width:t.width,height:t.height,shape:t.shape,annotations:t.annotations,style:t.style,ports:[{id:t.id+"_center_port",shape:null}]},!0);return this.diagram.add(e)},e.updateLifelineLength=function(t,e){var i=this.lifelines.get(t.id);if(this.settings.hideFootBox)i.targetPoint={x:i.targetPoint.x,y:t.offsetY+this.model.maxParticipantHeight+e},-1!==this.model.destroyAtEndParticipants.indexOf(t.id.toString())&&-1===this.model.destroyedParticipants.indexOf(t.id.toString())&&this.updateDestroyMark(i);else{var r=i.targetID,n=t.offsetY+this.model.maxParticipantHeight+e;r?this.diagram.nodes.find(function(t){return t.id===r}).offsetY=n:-1!==this.model.destroyAtEndParticipants.indexOf(t.id.toString())&&-1===this.model.destroyedParticipants.indexOf(t.id.toString())&&(i.targetPoint={x:i.targetPoint.x,y:n},this.updateDestroyMark(i))}},e.updateLifelinePosition=function(t,e){var i=this.lifelines.get(t.id),r=rp.isActor(t)?t.height/2+t.height/6:t.height/2;i.sourcePoint={x:i.sourcePoint.x,y:e+r}},e.updateLifelineToDestroy=function(t,e,i){var r=this.lifelines.get(t.id);i+=20,r.targetPoint={x:r.targetPoint.x,y:i},this.updateDestroyMark(r)},e.updateDestroyMark=function(t){t.targetDecorator={shape:"Custom",pathData:"M 0,0 L 25,25 M 25,0 L 0,25",pivot:{x:.5,y:.5},style:{fill:"none",strokeColor:"#000000",strokeWidth:1}}},e.clearLifelines=function(){this.lifelines.clear()},e.clearPorts=function(){this.lifelines.forEach(function(t,e){t.ports=[]})},e.lifelines=new Map,e}(),bp="M4.5000001,12.548 L18.5,12.548 C20.709,12.548 22.5,14.335995 22.5,16.542004 L22.5,32.516996 19.5,32.516996 19.5,24.529997 17.5,24.529997 17.5,43.5 12.5,43.5 12.5,35.512999 C12.5,34.960997 12.052002,34.514006 11.5,34.514006 10.947998,34.514006 10.5,34.960997 10.5,35.512999 L10.5,43.5 5.4999996,43.5 5.4999996,24.529997 3.5000001,24.529997 3.5000001,32.516996 0.5,32.516996 0.5,16.542004 C0.50000012,14.335995 2.2910005,12.548 4.5000001,12.548 z M11.499001,0.5 C14.305002,0.5 16.580004,2.795001 16.580004,5.6260009 16.580004,8.4570012 14.305002,10.752001 11.499001,10.752002 8.6939994,10.752001 6.4189988,8.4570012 6.4189988,5.6260009 6.4189988,2.795001 8.6939994,0.5 11.499001,0.5 z",Sp="M242,1078L231,1078L231,1067L242,1067z",wp=function(){function e(t){this.lines=[],this.activationCache=new Map,this.fragmentStack=[],this.currentCondition=null,this.diagram=t,this.sequenceDiagramModel=new ip(t),this.sequenceDiagramModel.isLoadedFromMermaid=!0}return e.prototype.parse=function(t){this.lines=t.split(/\r?\n/).filter(function(t){return t.trim().length>0});for(var e=1;e<=this.lines.length;e++){var i=this.lines[e-1];this.parseLine(i.trim(),e)}return this.sequenceDiagramModel},e.prototype.parseLine=function(t,e){/^\s*(create|destroy)\b/i.test(t)?this.parseCreateOrDestroyMessage(t,e):/^\s*(participant|actor)\b/i.test(t)?this.parseParticipant(t):/\w+\s*(<<-{1,2}|-{1,2}>>?|<<-{1,2}>>?|-{1,2}\))\s*\w+/i.test(t)?this.parseConnector(t,e):/^(?!\s*(alt|else if|else|opt|loop|end)\b)(?!\w+\s*--?\)\s*\w+\s*:)(?=.*(?:activate|deactivate)\b|.*[+-])/i.test(t)?this.parseActivation(t,e):/^\s*(alt|else if|else|opt|loop|end)(?:\s+(.*))?/i.test(t)&&this.parseFragment(t,e)},e.prototype.parseCreateOrDestroyMessage=function(e,i){if(/^\s*create\b/i.test(e)){if(!(g=e.match(/create\s+(participant|actor)\s+(\w+)(?:\s+as\s+(.+))?/i)))return void console.warn("[WARNING] :: Invalid create syntax: '"+e+"'.");var r=g[1],n=g[3]?g[2]:null,o=g[3]||g[2],a=n||o;this.createOrGetParticipant(o,n,"actor"===r.toLowerCase());for(var s=i,h=null;s<this.lines.length&&(!(h=this.lines[parseInt(s.toString(),10)].trim())||h.startsWith("%%"));)s++;if(s<this.lines.length&&/\w+\s*(-\)|<<-{1,2}|-{1,2}>>?|<<-{1,2}>>?|\(-{1,2}\))\s*\w+\s*:\s*.+/.test(h)&&(u=h.match(/(\w+)\s*(-\)|<<-{1,2}|-{1,2}>>?|<<-{1,2}>>?|\(-{1,2}\))\s*(\w+)\s*:\s*(.+)/))){var d=u[1],l=(u[2],u[3]),c=u[4];if(d.toLowerCase()===a.toLowerCase()||l.toLowerCase()===a.toLowerCase()){var p=new xd(this.diagram,"connectors",{id:(s+1).toString()},!0);rp.addOrUpdateParticipantDetails(p,d,l,t.UmlSequenceMessageType.Create,a),rp.updateAnnotation(p,c),rp.updateConnectorStyles(p,t.UmlSequenceMessageType.Create.toString()),this.sequenceDiagramModel.affectedParticipants.push(a),this.sequenceDiagramModel.addMessage(p),this.registerConnectorInCondition(p,s+1)}}}else{var g=e.match(/destroy\s+(\w+)/i);if(!g)return void console.warn("[WARNING] :: Invalid destroy syntax: '"+e+"'.");o=g[1];if(!this.sequenceDiagramModel.participants.has(o))return void console.warn("[WARNING] :: Participant '"+o+"' not found for destroy.");for(var s=i,h=null;s<this.lines.length&&(!(h=this.lines[parseInt(s.toString(),10)].trim())||h.startsWith("%%"));)s++;if(s<this.lines.length&&/\w+\s*(<<-{1,2}|-{1,2}>>?|\(-{1,2}\)|<<-{1,2}>>?)\s*\w+\s*:\s*.+/.test(h)){var u=h.match(/(\w+)\s*(<<-{1,2}|-{1,2}>>?|\(-{1,2}\)|<<-{1,2}>>?)\s*(\w+)\s*:\s*(.+)/);if(u){var d=u[1],l=(u[2],u[3]),c=u[4];if(d.toLowerCase()===o.toLowerCase()||l.toLowerCase()===o.toLowerCase()){var f=new xd(this.diagram,"connectors",{id:(s+1).toString()},!0);rp.addOrUpdateParticipantDetails(f,d,l,t.UmlSequenceMessageType.Delete,o),rp.updateAnnotation(f,c),rp.updateConnectorStyles(f,t.UmlSequenceMessageType.Delete.toString()),-1===this.sequenceDiagramModel.affectedParticipants.indexOf(o)&&this.sequenceDiagramModel.affectedParticipants.push(o),this.sequenceDiagramModel.destroyedParticipants.push(o),this.sequenceDiagramModel.addMessage(f),this.registerConnectorInCondition(f,s+1)}}}}},e.prototype.parseParticipant=function(t){var e=/^(participant|actor)\s+([A-Za-z0-9._/\-\s]+?)(?:\s+as\s+(.+))?$/i.exec(t);if(!e)return void console.warn("[WARNING] :: Invalid participant syntax: '"+t+"'.");var i=e[1],r=e[3]?e[2]:null,n=e[3]?e[3]:e[2];this.createOrGetParticipant(n,r,"actor"===i.toLowerCase())},e.prototype.parseConnector=function(e,i){if(!this.sequenceDiagramModel.messages.some(function(t){return t.id.toString()===i.toString()})){var r=(e=this.removeActivationSymbols(e)).match(/([\w/.\-_ ]+?)\s*(<<-{1,2}|-{1,2}>>?|\(-{1,2}\)|-{1,2}\)|<<-{1,2}>>?)\s*([\w/.\-_ ]+?)\s*:\s*(.+)/);if(!r)return void console.warn("[WARNING] :: Invalid connector syntax: '"+e+"'.");var n=r[1],o=r[2],a=r[3],s=r[4];this.createOrGetParticipant(n),this.createOrGetParticipant(a);var h=new xd(this.diagram,"connectors",{id:i.toString()},!0);rp.addOrUpdateParticipantDetails(h,n,a,t.UmlSequenceMessageType.Synchronous,null),rp.updateAnnotation(h,s),rp.updateConnectorStyles(h,this.getMermaidConnectorTypeFromArrow(o).toString()),this.sequenceDiagramModel.addMessage(h),this.registerConnectorInCondition(h,i)}},e.prototype.parseActivation=function(t,e){var i,r,n,o;if(t.startsWith("activate")||t.startsWith("deactivate")){if(!(p=t.match(/(activate|deactivate)\s+(\w+)/i)))return void console.warn("[WARNING] :: Invalid activation syntax: '"+t+"'.");var a=p[1].toLowerCase();if(i=p[2],this.createOrGetParticipant(i),e>1)for(var s=e-2;s>=0;){var h=this.lines[parseInt(s.toString(),10)].trim();if(h&&!h.startsWith("%%")){var d=h.match(/(\w+)\s*(<<-{1,2}|-{1,2}>>?|\(-{1,2}\)|-{1,2}\)|<<-{1,2}>>?)\s*(\w+)\s*:\s*(.+)/);if(d){r=d[1],n=d[3],o=d[4],e=s+2;break}s--}else s--}if("activate"===a)this.activationCache.has(i)||this.activationCache.set(i,[]),this.activationCache.get(i).push(new op((e-1).toString(),r,n,o,e));else if(this.activationCache.has(i)&&this.activationCache.get(i).length>0){var l=this.activationCache.get(i).pop(),c=new Hl(this.diagram,"nodes",{id:i+"_Activation_"+O(),minHeight:10,minWidth:10},!0);rp.updateNodeShape(c,!1),this.sequenceDiagramModel.addActivation(new np(c,i,l,new op((e-1).toString(),r,n,o,e))),0===this.activationCache.get(i).length&&this.activationCache.delete(i)}}else{this.parseConnector(t,e);var p=t.match(/(\w+)\s*(-+>|->>|-->|-->|<<->>|<<-->>|-x|--x|-\)|--\)|-x|--)>\s*(\+|-)\s*(\w+)\s*:\s*(.+)/);if(!p)return void console.warn("[WARNING] :: Invalid activation syntax: '"+t+"'.");r=p[1];var g=p[3];if(n=p[4],o=p[5],i="+"===g?n:r,this.createOrGetParticipant(r),this.createOrGetParticipant(i),"+"===g)this.activationCache.has(i)||this.activationCache.set(i,[]),this.activationCache.get(i).push(new op(e.toString(),r,n,o,e));else if("-"===g&&this.activationCache.has(i)&&this.activationCache.get(i).length>0){var l=this.activationCache.get(i).pop(),c=new Hl(this.diagram,"nodes",{id:i+"_Activation_"+O(),minHeight:10,minWidth:10},!0);rp.updateNodeShape(c,!1),this.sequenceDiagramModel.addActivation(new np(c,i,l,new op(e.toString(),r,n,o,e))),0===this.activationCache.get(i).length&&this.activationCache.delete(i)}}},e.prototype.parseFragment=function(e,i){var r=this,n=e.match(/(alt|else|opt|loop|end)(?:\s+(.*))?/i),o=n[1].toLowerCase(),a=n[2]||null;if("end"===o){if(0===this.fragmentStack.length)return void console.warn("[WARNING] :: Unmatched 'end' found.");var s=this.fragmentStack.pop();if(null!==this.currentCondition&&(s.conditions.some(function(t){return t.content===r.currentCondition.content})||s.conditions.push(this.currentCondition),this.currentCondition=null),s.conditions.forEach(function(t){r.populateConditionAltBlockDetails(t,s)}),this.fragmentStack.length>0){var h=this.fragmentStack[this.fragmentStack.length-1];h.childFragments.push(s),h.type===t.UmlSequenceFragmentType.Alternative&&h.conditions.length>0&&h.conditions[h.conditions.length-1].nestedFragments.push(s)}else this.sequenceDiagramModel.addFragment(s)}else{var d=null;if(this.fragmentStack.length>0&&(d=this.fragmentStack[this.fragmentStack.length-1]),"alt"===o||"opt"===o||"loop"===o){var l=new ap("",t.UmlSequenceFragmentType.Optional,[],[],null,i,this.fragmentStack.length);switch(o){case"alt":l.type=t.UmlSequenceFragmentType.Alternative;break;case"opt":l.type=t.UmlSequenceFragmentType.Optional;break;case"loop":l.type=t.UmlSequenceFragmentType.Loop}this.fragmentStack.push(l),d=l}if(d&&("alt"===o||"opt"===o||"loop"===o||"else if"===o||"else"===o)){var c=new sp(a,[],[],new hp);d.conditions.some(function(t){return t.content===c.content})?this.currentCondition=d.conditions.find(function(t){return t.content===c.content})||null:(this.currentCondition=c,d.conditions.push(c))}}},e.prototype.populateConditionAltBlockDetails=function(t,e){for(var i=0,r=t.connectors;i<r.length;i++){var n=r[i];t.altBlockDetails.connectors.push(new dp(n.id,n.source,n.target,n.message,-1,"",!1,-1))}t.altBlockDetails.connectors.sort(function(t,e){return parseInt(t.id,10)-parseInt(e.id,10)});for(var o=0,a=t.nestedFragments;o<a.length;o++){var s=a[o];this.addChildFragmentConnectors(t,s)}},e.prototype.addChildFragmentConnectors=function(t,e){for(var i=0,r=e.conditions;i<r.length;i++){var n=r[i];if(-1!==t.nestedFragments.indexOf(e)){for(var o=0,a=n.connectors;o<a.length;o++){var s=a[o];t.altBlockDetails.connectors.push(new dp(s.id,s.source,s.target,s.message,-1,"",!0,e.index))}for(var h=0,d=e.childFragments;h<d.length;h++){var l=d[h];this.addChildFragmentConnectors(t,l)}}}t.altBlockDetails.connectors.sort(function(t,e){return parseInt(t.id,10)-parseInt(e.id,10)})},e.prototype.registerConnectorInCondition=function(t,e){var i=rp.getParticipantDetails(t);if(this.currentCondition){o=new op(e.toString(),i.sourceParticipantName,i.targetParticipantName,rp.getAnnotation(t),e);this.currentCondition.connectors.push(o)}else if(this.fragmentStack.length>0){var r=this.fragmentStack[this.fragmentStack.length-1];if(r.conditions.length>0){var n=r.conditions[r.conditions.length-1],o=new op(e.toString(),i.sourceParticipantName,i.targetParticipantName,rp.getAnnotation(t),e);n.connectors.push(o)}}},e.prototype.createOrGetParticipant=function(t,e,i){if(void 0===e&&(e=""),void 0===i&&(i=!1),!t||""===t.trim())return void console.warn("[WARNING] :: Participant name cannot be null or empty.");if(!this.sequenceDiagramModel.participants.has(e||t)){var r=new Hl(this.diagram,"nodes",{id:e||t},!0);rp.updateNodeShape(r,i),rp.updateAnnotation(r,t,i),this.sequenceDiagramModel.addParticipant(r),e&&this.sequenceDiagramModel.addAlias(e,t)}},e.prototype.getMermaidConnectorTypeFromArrow=function(t){switch(t){case"->":return Zc.Solid;case"--\x3e":return Zc.Dashed;case"->>":return Zc.SolidArrow;case"--\x3e>":return Zc.DashedArrow;case"<<->>":return Zc.Bidirectional;case"<<--\x3e>":return Zc.DashedBidirectional;case"-)":return Zc.OpenArrow;case"--)":return Zc.DashedOpenArrow;default:return Zc.SolidArrow}},e.prototype.removeActivationSymbols=function(t){return t.replace(/(->>\s*)(\+|-)(\s*\w+)/g,function(t,e,i,r){return e+r})},e}(),xp=function(){function e(){}return e.prototype.generateMermaidText=function(e){for(var i="sequenceDiagram\n",r=new Set(e.messages.filter(function(e){return e.type===t.UmlSequenceMessageType.Create}).map(function(t){return t.toParticipantID})),n=0,o=e.participants;n<o.length;n++){var a=o[n];a.id&&!r.has(a.id)&&(i+="    "+this.getParticipantContent(a)+"\n")}for(var s=this.buildActivationLookup(e.participants,!0),h=this.buildActivationLookup(e.participants,!1),d=[],l=this,c=0,p=e.messages;c<p.length;c++)!function(r){for(var n=l.getContextChainForMessage(r.id,e.fragments);d.length>n.length;){var o=d.length,a=Array(4*o+1).join(" ");i+=a+"end\n",d.pop()}for(var c=0,p=0;p<d.length&&p<n.length&&d[parseInt(p.toString(),10)].fragment.id.toString()===n[parseInt(p.toString(),10)].fragment.id.toString();){if(d[parseInt(p.toString(),10)].condition.content!==n[parseInt(p.toString(),10)].condition.content){for(;d.length>p+1;){a=Array(4*d.length+1).join(" ");i+=a+"end\n",d.pop()}var g=Array(4*(p+1)+1).join(" ");i+=g+"else "+n[parseInt(p.toString(),10)].condition.content+"\n",d[parseInt(p.toString(),10)]=n[parseInt(p.toString(),10)]}p++}c=p;for(u=d.length-1;u>=c;u--){a=Array(4*(u+1)+1).join(" ");i+=a+"end\n",d.pop()}for(var u=c;u<n.length;u++){a=Array(4*(d.length+1)+1).join(" ");i+=a+l.getFragmentType(n[parseInt(u.toString(),10)].fragment.type)+" "+n[parseInt(u.toString(),10)].condition.content+"\n",d.push(n[parseInt(u.toString(),10)])}var f=Array(4*(d.length+1)+1).join(" ");if(r.toParticipantID&&r.type===t.UmlSequenceMessageType.Create){var m=e.participants.find(function(t){return t.id.toString()===r.toParticipantID.toString()});m&&(i+=f+"create "+l.getParticipantContent(m)+"\n")}if(r.toParticipantID&&r.type===t.UmlSequenceMessageType.Delete){var y=e.participants.find(function(t){return t.id.toString()===r.toParticipantID.toString()});y&&(i+=f+"destroy "+y.id+"\n")}i+=f+l.getParticipantContentByID(e,r.fromParticipantID)+l.getArrowType(r.type)+l.getParticipantContentByID(e,r.toParticipantID)+": "+r.content+"\n",i=l.handleActivationsAndDeactivations(i,r,s,h,d.length+1)}(p[c]);for(var g=d.length-1;g>=0;g--){var u=Array(4*(g+1)+1).join(" ");i+=u+"end\n"}return i},e.prototype.getContextChainForMessage=function(t,e){for(var i=[],r=0;r<e.length;r++)for(var n=e[parseInt(r.toString(),10)],o=0;o<n.conditions.length;o++){var a=n.conditions[parseInt(o.toString(),10)];if(this.isMessageIdInCondition(a,t))return i.push({fragment:n,condition:a}),i}return i},e.prototype.isMessageIdInCondition=function(t,e){for(var i=0;i<t.messageIds.length;i++)if(t.messageIds[parseInt(i.toString(),10)].toString()===e.toString())return!0;return!1},e.prototype.handleActivationsAndDeactivations=function(t,e,i,r,n){void 0===n&&(n=1);var o=" ".repeat(4*n),a=i.get(e.id.toString());a&&a.forEach(function(e){t+=o+"activate "+e+"\n"});var s=r.get(e.id.toString());return s&&s.forEach(function(e){t+=o+"deactivate "+e+"\n"}),t},e.prototype.buildActivationLookup=function(t,e){var i=new Map;return t.forEach(function(t){t.activationBoxes.forEach(function(r){var n=(e?r.startMessageID:r.endMessageID).toString(),o=t.id.toString();i.has(n)||i.set(n,[]),i.get(n).push(o)})}),i},e.prototype.getArrowType=function(e){switch(e){case t.UmlSequenceMessageType.Synchronous:case t.UmlSequenceMessageType.Delete:return"->>";case t.UmlSequenceMessageType.Asynchronous:case t.UmlSequenceMessageType.Create:return"--\x3e";case t.UmlSequenceMessageType.Reply:return"--\x3e>";default:return"->>"}},e.prototype.getFragmentType=function(e){switch(e){case t.UmlSequenceFragmentType.Alternative:return"alt";case t.UmlSequenceFragmentType.Loop:return"loop";case t.UmlSequenceFragmentType.Optional:return"opt";default:throw new Error("Invalid fragment type")}},e.prototype.getParticipantContent=function(t){return(t.isActor?"actor":"participant")+" "+t.id+" as "+t.content},e.prototype.getParticipantContentByID=function(t,e){return t.participants.find(function(t){return t.id&&t.id.toString()===e.toString()}).id.toString()},e}(),Ip=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),Cp=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},Pp=function(t,e,i,r){return new(i||(i=Promise))(function(n,o){function a(t){try{h(r.next(t))}catch(t){o(t)}}function s(t){try{h(r.throw(t))}catch(t){o(t)}}function h(t){t.done?n(t.value):new i(function(e){e(t.value)}).then(a,s)}h((r=r.apply(t,e||[])).next())})},Dp=function(t,e){function i(t){return function(e){return r([t,e])}}function r(i){if(n)throw new TypeError("Generator is already executing.");for(;h;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return h.label++,{value:i[1],done:!1};case 5:h.label++,o=i[1],i=[0];continue;case 7:i=h.ops.pop(),h.trys.pop();continue;default:if(a=h.trys,!(a=a.length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){h=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){h.label=i[1];break}if(6===i[0]&&h.label<a[1]){h.label=a[1],a=i;break}if(a&&h.label<a[2]){h.label=a[2],h.ops.push(i);break}a[2]&&h.ops.pop(),h.trys.pop();continue}i=e.call(t,h)}catch(t){i=[6,t],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}var n,o,a,s,h={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},Tp=function(i){function r(e,r){var n=i.call(this,e,r)||this;n.version=17.1,n.checkMenu=!1,n.isServerUpdate=!1,n.oldNodeObjects=[],n.oldDiagramObject={},n.oldConnectorObjects=[],n.preventOverviewRefresh=!1,n.canEnableBlazorObject=!1,n.connectorTable={},n.groupTable={},n.scrollActions=t.ScrollActions.None,n.blazorActions=t.BlazorAction.Default,n.activeLabel={id:"",parentId:"",isGroup:!1,text:void 0},n.textEditing=!1,n.isTriggerEvent=!1,n.preventNodesUpdate=!1,n.preventConnectorsUpdate=!1,n.callBlazorModel=!0,n.isRowHeightUpdate=!1,n.selectionConnectorsList=[],n.deleteVirtualObject=!1,n.canLayout=!0,n.cancelPositionChange=!1,n.isRefreshed=!1,n.swimlaneChildTable={},n.swimlaneZIndexTable={},n.canExpand=!1,n.itemType="PublicMethod",n.changedConnectorCollection=[],n.changedNodesCollection=[],n.previousNodeCollection=[],n.previousConnectorCollection=[],n.crudDeleteNodes=[],n.previousSelectedObjects=[],n.blazorAddorRemoveCollection=[],n.blazorRemoveIndexCollection=[],n.diagramid=88123,n.portCenterPoint=[],n.selectedObject={helperObject:void 0,actualObject:void 0},n.deleteDependentConnector=!0,n.scaleValue=1,n.routedConnectors=[],n.pathDataStorage=new Map,n.isUndo=!1,n.connectorOrRotatedGroups=[],n.connectorFlipInProgress=!1,n.overviewObject=void 0,n.checkUndoRedo=!1,n.activeLayerObjectsSet=new Set,n.isScrollOffsetInverted=!0,n.initNodeTemplate=!1,n.tempTable={},n.deserializing=!1,n.mermaidNodeBaseCollection=[],n.bangShape="M0 0 a15.470625686645507,15.470625686645507 1 0,0 25.78437614440918,-3.7200001525878905 a15.470625686645507,15.470625686645507 1 0,0 25.78437614440918,0 a15.470625686645507,15.470625686645507 1 0,0 25.78437614440918,0 a15.470625686645507,15.470625686645507 1 0,0 25.78437614440918,3.7200001525878905 a15.470625686645507,15.470625686645507 1 0,0 15.470625686645507,12.276000503540038 a12.376500549316406,12.376500549316406 1 0,0 0,12.648000518798828 a15.470625686645507,15.470625686645507 1 0,0 -15.470625686645507,12.276000503540038 a15.470625686645507,15.470625686645507 1 0,0 -25.78437614440918,5.580000228881835 a15.470625686645507,15.470625686645507 1 0,0 -25.78437614440918,0 a15.470625686645507,15.470625686645507 1 0,0 -25.78437614440918,0 a15.470625686645507,15.470625686645507 1 0,0 -25.78437614440918,-5.580000228881835 a15.470625686645507,15.470625686645507 1 0,0 -10.313750457763673,-12.276000503540038 a12.376500549316406,12.376500549316406 1 0,0 0,-12.648000518798828 a15.470625686645507,15.470625686645507 1 0,0 10.313750457763673,-12.276000503540038 H0 V0 Z",n.cloudShape="M0 0 a16.18875045776367,16.18875045776367 0 0,1 26.981250762939453,-10.792500305175782 a37.77375106811523,37.77375106811523 1 0,1 43.17000122070313,-10.792500305175782 a26.981250762939453,26.981250762939453 1 0,1 37.77375106811523,21.585000610351564 a16.18875045776367,16.18875045776367 1 0,1 16.18875045776367,13.020000534057615 a21.585000610351564,21.585000610351564 1 0,1 -16.18875045776367,24.180000991821288 a26.981250762939453,16.18875045776367 1 0,1 -26.981250762939453,16.18875045776367 a37.77375106811523,37.77375106811523 1 0,1 -53.962501525878906,0 a16.18875045776367,16.18875045776367 1 0,1 -26.981250762939453,-16.18875045776367 a16.18875045776367,16.18875045776367 1 0,1 -10.792500305175782,-13.020000534057615 a21.585000610351564,21.585000610351564 1 0,1 10.792500305175782,-24.180000991821288 H0 V0 Z",n.renderTimer=null;var o,a;n.ignoreCollectionWatch=!0;for(s=0;e&&e.nodes&&s<e.nodes.length;s++)o=e.nodes[parseInt(s.toString(),10)],a=n.nodes[parseInt(s.toString(),10)],o.children&&o.children.length>0&&(o.style&&o.style.fill||(a.style.fill="transparent"),o.style&&o.style.strokeColor||(a.style.strokeColor="transparent")),o.shape&&"UmlActivity"===o.shape.type&&an(o,a),!o.shape||"SwimLane"!==o.shape.type&&"Container"!==o.shape.type||en(o,a),n.nodeDefaults&&pn(a,o,n.nodeDefaults),n.updateAnnotationText(a.annotations);if(e&&e.connectors)for(s=0;e&&e.connectors&&s<e.connectors.length;s++)o=e.connectors[parseInt(s.toString(),10)],a=n.connectors[parseInt(s.toString(),10)],n.connectorDefaults&&pn(a,o,n.connectorDefaults),n.updateAnnotationText(a.annotations);for(var s=0;e&&e.connectors&&s<e.connectors.length;s++){var h=e.connectors[parseInt(s.toString(),10)],d=n.connectors[parseInt(s.toString(),10)];h.shape&&"None"!==h.shape.type&&sn(h,d)}return n}return Ip(r,i),r.prototype.updateAnnotationText=function(t){},r.prototype.clearCollection=function(t){for(var e,i=[],r=0,n=Object.keys(this.nameTable);r<n.length;r++){var o=n[r];(e=this.nameTable[""+o])&&(t&&e instanceof xd||!t&&e instanceof Hl)&&i.push(e)}this.clearObjects(i)},r.prototype.onPropertyChanged=function(e,n){var o=this;if(this.rotateUsingButton)this.rotateUsingButton=!1;else{var a=!0,s=!1,h=!1,d=void 0;if(this.diagramActions&t.DiagramAction.Render){for(var l=0,c=Object.keys(e);l<c.length;l++)switch(c[l]){case"width":case"height":this.element.style.width=this.getSizeValue(this.width),this.element.style.height=this.getSizeValue(this.height),this.eventHandler.updateViewPortSize(this.element);for(var p=0,g=this.views;p<g.length;p++){var u=g[p];(it=this.views[""+u])instanceof r||it.updateView(it)}break;case"nodes":if(e.nodes.length>0&&0===n.nodes.length)this.clearCollection(),h=!0;else{for(var f=0,m=Object.keys(e.nodes);f<m.length;f++){var y=m[f],v=Number(y),b=this.nodes[parseInt(v.toString(),10)],S=e.nodes[parseInt(v.toString(),10)];e.nodes[parseInt(v.toString(),10)].style&&e.nodes[parseInt(v.toString(),10)].style.gradient&&(this.updateGradient(e.nodes[parseInt(v.toString(),10)],n.nodes[parseInt(v.toString(),10)],this.nodes[parseInt(v.toString(),10)]),this.nodes[parseInt(v.toString(),10)].oldGradientValue=k(e.nodes[parseInt(v.toString(),10)].style.gradient)),s=s||void 0!==S.excludeFromLayout,e.nodes[v]&&e.nodes[v].shape&&e.nodes[v].shape.textAnnotation&&""!==e.nodes[v].shape.textAnnotation.textAnnotationTarget&&(d=k(this.nameTable[b.inEdges[0]])),this.nodePropertyChange(b,n.nodes[parseInt(v.toString(),10)],S,void 0,!0,!0);B={element:Do(b),cause:this.diagramActions,diagramAction:this.getDiagramAction(this.diagramActions),oldValue:Do(n.nodes[parseInt(v.toString(),10)]),newValue:Do(e.nodes[parseInt(v.toString(),10)])};this.triggerEvent(t.DiagramEvent.propertyChange,B),a&&(a=!1)}"Canvas"===this.mode&&this.refreshDiagramLayer()}break;case"connectors":if(e.connectors.length>0&&0===n.connectors.length)this.clearCollection(!0),h=!0;else{for(var w=0,x=Object.keys(e.connectors);w<x.length;w++){var y=x[w],v=Number(y),b=this.connectors[parseInt(v.toString(),10)],S=e.connectors[parseInt(v.toString(),10)],I={sourcePoint:{x:b.sourcePoint.x,y:b.sourcePoint.y},targetPoint:{x:b.targetPoint.x,y:b.targetPoint.y}};S&&(S.sourceDecorator||S.targetDecorator)&&(this.diagramActions|=t.DiagramAction.DecoratorPropertyChange),this.connectorPropertyChange(b,n.connectors[parseInt(v.toString(),10)],S,!0,!0),e.connectors[parseInt(v.toString(),10)].sourceID&&!e.connectors[parseInt(v.toString(),10)].sourcePoint&&(n.connectors[parseInt(v.toString(),10)].sourcePoint={x:I.sourcePoint.x,y:I.sourcePoint.y},e.connectors[parseInt(v.toString(),10)].sourcePoint={x:b.sourcePoint.x,y:b.sourcePoint.y}),e.connectors[parseInt(v.toString(),10)].targetID&&!e.connectors[parseInt(v.toString(),10)].targetPoint&&(n.connectors[parseInt(v.toString(),10)].targetPoint={x:I.targetPoint.x,y:I.targetPoint.y},e.connectors[parseInt(v.toString(),10)].targetPoint={x:b.targetPoint.x,y:b.targetPoint.y}),S&&(S.sourceDecorator||S.targetDecorator)&&(this.diagramActions=this.diagramActions&~t.DiagramAction.DecoratorPropertyChange);B={element:Do(b),cause:this.diagramActions,diagramAction:this.getDiagramAction(this.diagramActions),oldValue:Do(n.connectors[parseInt(v.toString(),10)]),newValue:Do(e.connectors[parseInt(v.toString(),10)])};this.triggerEvent(t.DiagramEvent.propertyChange,B),b&&b.parentId&&"UmlClassifier"===this.nameTable[b.parentId].shape.type&&this.updateConnectorEdges(this.nameTable[b.parentId]||b),a&&(a=!1)}this.updateBridging(),"Canvas"===this.mode&&this.refreshDiagramLayer()}break;case"bridgeDirection":this.updateBridging(),"Canvas"===this.mode&&this.refreshDiagramLayer();break;case"backgroundColor":this.intOffPageBackground();break;case"pageSettings":this.validatePageSize(),this.updatePage();break;case"selectedItems":if(e.selectedItems.userHandles&&this.selectedItems.wrapper&&this.selectedItems.userHandles&&this.selectedItems.userHandles.length>0){this.renderSelector(!0);break}if(e.selectedItems.constraints){this.renderSelector(!0);break}break;case"snapSettings":this.updateSnapSettings(e);break;case"commandManager":this.initCommands();break;case"layout":s=!0;break;case"segmentThumbShape":this.updateSelector();break;case"dataSourceSettings":this.clear(),"None"===this.layout.type?h=!0:(this.initObjects(),s=!0);break;case"tooltip":K(this);break;case"rulerSettings":this.updateRulerSettings(e);break;case"layers":this.updateLayer(e);break;case"scrollSettings":this.scrollActions|=t.ScrollActions.PropertyChange,this.updateScrollSettings(e,n),this.scrollActions&=~t.ScrollActions.PropertyChange;break;case"locale":e.locale!==n.locale&&i.prototype.refresh.call(this);break;case"contextMenuSettings":if(void 0!==e.contextMenuSettings.showCustomMenuOnly&&(this.contextMenuSettings.showCustomMenuOnly=e.contextMenuSettings.showCustomMenuOnly),void 0!==e.contextMenuSettings.show&&(this.contextMenuSettings.show=e.contextMenuSettings.show),e.contextMenuSettings.items){for(var C=e.contextMenuSettings.items,P=0,D=Object.keys(C);P<D.length;P++){var y=D[P],v=Number(y);this.contextMenuSettings.items[parseInt(v.toString(),10)]=C[parseInt(v.toString(),10)]}this.contextMenuModule?this.contextMenuModule.refreshItems():console.warn('[WARNING] :: Module "DiagramContextMenu" is not available in Diagram component! You either misspelled the module name or forgot to load it.')}break;case"serializationSettings":void 0!==e.serializationSettings.preventDefaults&&(this.serializationSettings.preventDefaults=e.serializationSettings.preventDefaults);break;case"tool":this.eventHandler.updateTool();break;case"constraints":(e.constraints&t.DiagramConstraints.LineRouting)==(n.constraints&t.DiagramConstraints.LineRouting)&&(e.constraints&t.DiagramConstraints.AvoidLineOverlapping)==(n.constraints&t.DiagramConstraints.AvoidLineOverlapping)||this.resetSegments()}if(s&&!h){if(n.layout&&"DifferentPoint"===n.layout.connectionPointOrigin&&"SamePoint"===e.layout.connectionPointOrigin||n.layout&&e.layout&&!e.layout.enableRouting&&n.layout.enableRouting){for(var T=0;T<this.nodes.length;T++){var A=this.nodes[parseInt(T.toString(),10)];if(A.ports&&A.ports.length>0){for(var O=[],M=A.ports.length-1;M>=0;M--)"LineDistribution"===A.ports[parseInt(M.toString(),10)].id.split("_")[1]&&O.push(A.ports[parseInt(M.toString(),10)]);this.removePorts(A,O)}}for(M=0;M<this.connectors.length;M++){var E=this.connectors[parseInt(M.toString(),10)],L=E.sourcePortID,z=E.targetPortID;E.sourcePortID="",E.targetPortID="",E.sourcePortWrapper=void 0,E.targetPortWrapper=void 0,E.segments=[],this.connectorPropertyChange(E,{sourcePortID:L,targetPortID:z},{sourcePortID:"",targetPortID:""})}}this.doLayout(),this.renderReactTemplates()}if(a&&this.propertyChange){var B={element:Do(this),cause:this.diagramActions,diagramAction:this.getDiagramAction(this.diagramActions),oldValue:Do(n),newValue:Do(e)};this.triggerEvent(t.DiagramEvent.propertyChange,B)}if(!h&&this.canLogChange()&&this.modelChanged(e,n)){var N=[],R=[],j=[],H=void 0,W=void 0;if(e.nodes&&Object.keys(e.nodes).length>0)for(var _=0,F=Object.keys(e.nodes);_<F.length;_++){y=F[_];if(H=parseInt(y,10),R.push(this.nodes[parseInt(H.toString(),10)].id),e.nodes[parseInt(H.toString(),10)]&&e.nodes[parseInt(H.toString(),10)].shape&&e.nodes[parseInt(H.toString(),10)].shape.lanes)for(var Y=0,V=Object.keys(e.nodes[parseInt(H.toString(),10)].shape.lanes);Y<V.length;Y++){var X=V[Y];W=parseInt(X,10)}}if(e.connectors&&Object.keys(e.connectors).length>0)for(var U=0,G=Object.keys(e.connectors);U<G.length;U++){var y=G[U],Z=parseInt(y,10);j.push(this.connectors[parseInt(Z.toString(),10)].id)}if(N=R.concat(j),0===j.filter(function(t){return o.nameTable[""+t].isBpmnAnnotationConnector}).length)if(e.nodes&&e.nodes[H]&&e.nodes[H].shape&&e.nodes[H].shape.textAnnotation&&""!==e.nodes[H].shape.textAnnotation.textAnnotationTarget){var q=this.nameTable[this.nodes[parseInt(H.toString(),10)].inEdges[0]];this.startGroupAction();var Q={type:"ConnectionChanged",undoObject:d,redoObject:k(q),category:"Internal"},J={type:"PropertyChanged",undoObject:n,redoObject:e,category:"Internal"};this.historyManager&&(this.addHistoryEntry(Q),this.addHistoryEntry(J,N)),this.endGroupAction()}else{J={type:"PropertyChanged",undoObject:n,redoObject:e,category:"Internal"};this.historyManager&&!this.isRowHeightUpdate&&(this.addHistoryEntry(J,N),e.nodes&&e.nodes[H]&&e.nodes[H].shape&&e.nodes[H].shape.lanes&&e.nodes[H].shape.lanes[W]&&e.nodes[H].shape.lanes[W].children&&!(this.diagramActions&t.DiagramAction.UndoRedo)&&this.endGroupAction()),this.isRowHeightUpdate=!1}}this.resetDiagramActions(),h&&(this.initObjects(!0),this.refreshDiagramLayer(),s&&this.doLayout());var $=1===Object.keys(e).length&&void 0!==e.scrollSettings;if(!h)for(var tt=0,et=this.views;tt<et.length;tt++){var it=et[tt];(u=this.views[""+it])instanceof r||(e.scrollSettings&&(e.scrollSettings.currentZoom,n.scrollSettings.currentZoom),$||this.refreshCanvasDiagramLayer(u))}}}},r.prototype.updateSnapSettings=function(t){(void 0!==t.snapSettings.constraints||t.snapSettings.horizontalGridlines||t.snapSettings.verticalGridlines||t.snapSettings.gridType)&&this.diagramRenderer.updateGrid(this.snapSettings,Ra(this.element.id),this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler)},r.prototype.updateGradient=function(t,e,i){if(i.oldGradientValue)for(var r=i,n=i,o=e.style.gradient,a=e.style.gradient,s=0,h=Object.keys(t.style.gradient);s<h.length;s++)switch(h[s]){case"type":r.type&&(o.type=r.type);break;case"x1":r.x1&&(o.x1=r.x1);break;case"x2":r.x2&&(o.x2=r.x2);break;case"y1":r.y1&&(o.y1=r.y1);break;case"y2":r.y2&&(o.y2=r.y2);break;case"cx":n.cx&&(a.cx=n.cx);break;case"cy":n.cy&&(a.cy=n.cy);break;case"fx":n.fx&&(a.fx=n.fx);break;case"fy":n.fy&&(a.fy=n.fy);break;case"r":n.r&&(a.r=n.r);break;case"stops":if(i.oldGradientValue.stops){var d=Object.values(k(i.oldGradientValue.stops));d.pop(),e.style.gradient.stops=d}}},r.prototype.updateRulerSettings=function(t){void 0!==t.rulerSettings.dynamicGrid&&this.diagramRenderer.updateGrid(this.snapSettings,Ra(this.element.id),this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler),void 0!==t.rulerSettings.showRulers?(this.intOffPageBackground(),this.scroller.setSize(),this.renderRulers()):void 0===t.rulerSettings.horizontalRuler&&void 0===t.rulerSettings.verticalRuler||(void 0!==t.rulerSettings.horizontalRuler.thickness||void 0!==t.rulerSettings.verticalRuler.thickness?(Yr(this),this.intOffPageBackground(),this.scroller.setSize(),this.renderRulers()):Fr(this)),this.diagramRenderer.updateGrid(this.snapSettings,Ra(this.element.id),this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler)},r.prototype.getPersistData=function(){var t=["loaded"];return this.addOnPersist(t)},r.prototype.preRender=function(){this.initializePrivateVariables(),this.isProtectedOnChange=!0,this.serviceLocator=new ec,this.initializeServices(),this.setCulture();window.measureElement&&(window.measureElement=null),this.initDiagram(),this.initViews(),this.unWireEvents(),this.wireEvents(),this.element.classList.add("e-diagram")},r.prototype.initializePrivateVariables=function(){if(""===this.element.id){var t=document.getElementsByClassName("e-diagram").length;this.element.id="diagram_"+this.diagramid+"_"+t}this.defaultLocale={Copy:"Copy",Cut:"Cut",Paste:"Paste",Undo:"Undo",Redo:"Redo",SelectAll:"Select All",Grouping:"Grouping",Group:"Group",UnGroup:"Un Group",Order:"Order",BringToFront:"Bring To Front",MoveForward:"Move Forward",SendToBack:"Send To Back",SendBackward:"Send Backward"},this.layerZIndex=-1,this.layerZIndexTable={},void 0===this.swimlaneChildTable&&void 0===this.swimlaneZIndexTable&&(this.swimlaneChildTable={},this.swimlaneZIndexTable={}),this.activeLayerObjectsSet||(this.activeLayerObjectsSet=new Set),this.isScrollOffsetInverted||(this.isScrollOffsetInverted=!0),this.connectorOrRotatedGroups||(this.connectorOrRotatedGroups=[]),this.refreshing&&!this.deserializing&&this.nodes.some(function(t){return"SwimLane"===t.shape.type})&&(this.getSwimlaneChildTable(),this.removeSwimlaneChildOnRefresh()),this.nameTable={},this.pathTable={},this.groupTable={},this.commands={},this.isLoading||(this.views=[]),this.commandHandler=new Lc(this),this.eventHandler=new Cc(this,this.commandHandler),this.spatialSearch=new Bc(this.nameTable),this.scroller=new zc(this)},r.prototype.removeSwimlaneChildOnRefresh=function(){Bn(kn(this.nodes),this),this.nodes.forEach(function(t){var e=t.shape;if(e&&e.lanes&&e.lanes.length>0){var i=t.offsetX-t.wrapper.actualSize.width/2,r=t.offsetY-t.wrapper.actualSize.height/2,n="Vertical"===e.orientation;n&&"Vertical"===e.orientation&&(r+=e.header&&e.hasHeader?e.header.height:0),e.lanes.forEach(function(t){t.children&&t.children.length>0&&t.children.forEach(function(t){var e=t.wrapper.offsetX-t.width/2,o=t.wrapper.offsetY-t.height/2;n?t.margin.top=o-r:t.margin.left=e-i})})}})},r.prototype.initializeServices=function(){this.serviceLocator.register("localization",this.localeObj=new e.L10n(this.getModuleName(),this.defaultLocale,this.locale))},r.prototype.setCulture=function(){this.localeObj=new e.L10n(this.getModuleName(),this.defaultLocale,this.locale)},r.prototype.getSwimlaneChildTable=function(){for(var t,e,i=[],r=0;r<this.nodes.length;r++)if("SwimLane"===(t=this.nodes[parseInt(r.toString(),10)]).shape.type){e=t.wrapper.children[0].childTable;for(var n=0,o=Object.keys(e);n<o.length;n++)i=zn(e[""+o[n]],i);for(var a=0;a<i.length;a++)this.nameTable[i[parseInt(a.toString(),10)]]&&(this.swimlaneChildTable[i[parseInt(a.toString(),10)]]=this.nameTable[i[parseInt(a.toString(),10)]].zIndex);this.swimlaneZIndexTable[t.id]=t.zIndex}},r.prototype.render=function(){if(this.refreshing&&this.dataSourceSettings.dataSource&&!this.isLoading&&(this.nodes=[],this.connectors=[]),!this.refreshing){var i={diagram:this,name:"load"};this.trigger("load",i)}this.isRefreshed=!1,this.ignoreCollectionWatch=!0;window.domTable={};var r=[];this.dataSourceSettings.crudAction.read&&this.renderInitialCrud(),this.initHistory(),this.diagramRenderer=new Rd(this.element.id,new Nd,"SVG"===this.mode),this.initLayers(),this.initializeDiagramLayers(),this.diagramRenderer.setLayers(),this.initObjects(!0);for(var n=this.nodes,o=0;o<n.length;o++)n[parseInt(o.toString(),10)].isExpanded||r.push(n[parseInt(o.toString(),10)]);if(r.length)for(o=r.length-1;o>=0;o--)0===o?this.commandHandler.expandNode(r[parseInt(o.toString(),10)],this,!1):this.commandHandler.expandNode(r[parseInt(o.toString(),10)],this,!0);this.canLayout&&this.doLayout(),this.updateFromModel(),this.lineRoutingModule?this.lineRoutingModule.lineRouting(this):this.constraints&t.DiagramConstraints.LineRouting&&console.warn('[WARNING] :: Module "LineRouting" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),this.validatePageSize(),this.renderPageBreaks(),this.diagramRenderer.renderSvgGridlines(this.snapSettings,Ra(this.element.id),this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler),this.commandHandler.initSelectorWrapper(),this.notify("initial-load",{}),this.trigger("load"),this.scroller.setSize(),this.scroller.updateScrollOffsets(),this.isRefreshed||this.refreshDiagramLayer(),(this.scrollSettings.verticalOffset>0||this.scrollSettings.horizontalOffset>0)&&this.updateScrollOffset(),e.Browser.isDevice&&(this.tool=t.DiagramTools.ZoomPan|t.DiagramTools.SingleSelect),this.notify("initial-end",{}),this.isProtectedOnChange=!1,this.tooltipObject=K(this),this.diagramActions=t.DiagramAction.Render,this.initCommands();var a=document.getElementsByClassName(this.element.id+"_hiddenUserHandleTemplate");ns(this.userHandleTemplate,a,this.selectedItems,this.element.id),this.isLoading=!1,this.refreshRoutingConnectors(),this.renderComplete(),this.updateFitToPage(),this.refreshing&&(this.renderReactTemplates(),this.updateViews())},r.prototype.updateViews=function(){this.overviewObject&&this.overviewObject.view&&this.overviewObject.view instanceof Wd&&this.overviewObject.view.setParent(this.element.id)},r.prototype.updateFitToPage=function(){this.pageSettings&&this.pageSettings.fitOptions&&this.pageSettings.fitOptions.canFit&&this.fitToPage(this.pageSettings.fitOptions)},r.prototype.updateTemplate=function(){},r.prototype.renderInitialCrud=function(){var t=this;if(t.dataSourceSettings.crudAction.read&&((i=new e.Fetch(t.dataSourceSettings.crudAction.read,"GET")).onSuccess=function(e){t.dataSourceSettings.dataManager?t.dataSourceSettings.dataManager=JSON.parse(e):t.dataSourceSettings.dataSource=JSON.parse(e),t.dataBind()},i.send().then()),t.dataSourceSettings.connectionDataSource.crudAction.read){var i=new e.Fetch(t.dataSourceSettings.connectionDataSource.crudAction.read,"GET");i.onSuccess=function(e){t.dataSourceSettings.connectionDataSource.dataManager=JSON.parse(e),t.dataBind()},i.send().then()}},r.prototype.getModuleName=function(){return"diagram"},r.prototype.getClassName=function(){return"Diagram"},r.prototype.requiredModules=function(){var e=[];return e.push({member:"Bpmn",args:[]}),e.push({member:"Bridging",args:[]}),e.push({member:"ConnectorEditingTool",args:[]}),this.constraints&t.DiagramConstraints.UndoRedo&&e.push({member:"UndoRedo",args:[]}),("OrganizationalChart"===this.layout.type||"HierarchicalTree"===this.layout.type||this.layout.enableAnimation)&&e.push({member:"LayoutAnimate",args:[]}),this.snapSettings.constraints&&e.push({member:"Snapping",args:[this]}),e.push({member:"Ej1Serialization",args:[this]}),e.push({member:"PrintandExport",args:[this]}),this.contextMenuSettings.show&&e.push({member:"contextMenu",args:[this,this.serviceLocator]}),"OrganizationalChart"!==this.layout.type&&"HierarchicalTree"!==this.layout.type||e.push({member:"OrganizationalChart",args:[this]}),"ComplexHierarchicalTree"===this.layout.type&&e.push({member:"ComplexHierarchicalTree",args:[]}),"MindMap"===this.layout.type&&e.push({member:"MindMapChart",args:[]}),"RadialTree"===this.layout.type&&e.push({member:"RadialTree",args:[]}),"SymmetricalLayout"===this.layout.type&&e.push({member:"SymmetricalLayout",args:[]}),"Flowchart"===this.layout.type&&e.push({member:"FlowchartLayout",args:[]}),(this.dataSourceSettings.dataManager||this.dataSourceSettings.dataSource||this.dataSourceSettings.crudAction.read||this.dataSourceSettings.connectionDataSource.crudAction.read)&&e.push({member:"DataBinding",args:[]}),this.constraints&t.DiagramConstraints.LineRouting&&e.push({member:"LineRouting",args:[]}),this.constraints&t.DiagramConstraints.AvoidLineOverlapping&&e.push({member:"AvoidLineOverlapping",args:[this]}),(this.layout&&("ComplexHierarchicalTree"===this.layout.type||"HierarchicalTree"===this.layout.type)||"Linear"===this.layout.arrangement||this.layout.enableRouting)&&e.push({member:"LineDistribution",args:[]}),e},r.prototype.removeUserHandlesTemplate=function(){if(this.selectedItems.userHandles.length)for(var t=0;t<this.selectedItems.userHandles.length;t++)for(var e=0,i=this.views;e<i.length;e++){var r=i[e];Ka(this.selectedItems.userHandles[parseInt(t.toString(),10)].name+"_template_hiddenUserHandle",r)}},r.prototype.destroy=function(){if(clearInterval(this.renderTimer),this.renderTimer=null,this.hRuler&&this.vRuler&&(this.hRuler.destroy(),this.vRuler.destroy()),this.tooltipObject.destroy(),this.droppable.destroy(),this.unWireEvents(),this.notify("destroy",{}),i.prototype.destroy.call(this),this.removeUserHandlesTemplate(),this.clearTemplate(),document.getElementById(this.element.id)){this.element.classList.remove("e-diagram");for(var t=document.getElementsByClassName("e-diagram-tooltip");t.length>0;)t[0].parentNode.removeChild(t[0]);var e=document.getElementById(this.element.id+"content");e&&this.element.removeChild(e);if(window.measureElement){window.measureElement.usageCount-=1;0===--window.measureElementCount&&(window.measureElement.parentNode.removeChild(window.measureElement),window.measureElement=null)}fa()}window.domTable={};for(var r=0;r<this.layers.length;r++)this.layers[parseInt(r.toString(),10)].zIndexTable={};this.diagramActions=void 0},r.prototype.wireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchEndEvent,r=e.Browser.touchMoveEvent,n=e.Browser.isPointer?"pointerleave":"mouseleave",o=e.Browser.isPointer,a="mozilla"===e.Browser.info.name?o?"mousewheel":"DOMMouseScroll":"mousewheel";e.EventHandler.add(this.diagramCanvas,t,this.eventHandler.mouseDown,this.eventHandler),e.EventHandler.add(this.diagramCanvas,r,this.eventHandler.mouseMove,this.eventHandler),e.EventHandler.add(this.diagramCanvas,i,this.eventHandler.mouseUp,this.eventHandler),e.EventHandler.add(this.diagramCanvas,n,this.eventHandler.mouseLeave,this.eventHandler),e.EventHandler.add(this.diagramCanvas,"keydown",this.eventHandler.keyDown,this.eventHandler),e.EventHandler.add(this.diagramCanvas,"keyup",this.eventHandler.keyUp,this.eventHandler),e.EventHandler.add(this.diagramCanvas,"dblclick",this.eventHandler.doubleClick,this.eventHandler),e.EventHandler.add(this.diagramCanvas,"scroll",this.eventHandler.scrolled,this.eventHandler),e.EventHandler.add(this.diagramCanvas,a,this.eventHandler.mouseWheel,this.eventHandler),e.EventHandler.add(window,"resize",this.eventHandler.windowResize,this.eventHandler),this.initDroppables()},r.prototype.unWireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchMoveEvent,r=e.Browser.isPointer?"pointerleave":"mouseleave",n=e.Browser.isPointer,o="mozilla"===e.Browser.info.name?n?"mousewheel":"DOMMouseScroll":"mousewheel",a=e.Browser.touchEndEvent;e.EventHandler.remove(this.diagramCanvas,t,this.eventHandler.mouseDown),e.EventHandler.remove(this.diagramCanvas,i,this.eventHandler.mouseMove),e.EventHandler.remove(this.diagramCanvas,a,this.eventHandler.mouseUp),e.EventHandler.remove(this.diagramCanvas,r,this.eventHandler.mouseLeave),e.EventHandler.remove(this.diagramCanvas,"keydown",this.eventHandler.keyDown),e.EventHandler.remove(this.diagramCanvas,"keyup",this.eventHandler.keyUp),e.EventHandler.remove(this.diagramCanvas,"dblclick",this.eventHandler.doubleClick),e.EventHandler.remove(this.diagramCanvas,"scroll",this.eventHandler.scrolled),e.EventHandler.remove(this.diagramCanvas,o,this.eventHandler.mouseWheel),e.EventHandler.remove(window,"resize",this.eventHandler.windowResize)},r.prototype.select=function(t,e,i){null!=t&&this.commandHandler.selectObjects(t,e,i)},r.prototype.getDiagramAction=function(e){var i;return 2===e&&t.DiagramAction.Render?i="Render":e&t.DiagramAction.UndoRedo?i="UndoRedo":e&t.DiagramAction.PublicMethod?i="PublicMethod":e&t.DiagramAction.ToolAction?i="ToolAction":e&t.DiagramAction.TextEdit?i="TextEdit":e&t.DiagramAction.Group?i="Group":e&t.DiagramAction.Interactions?i="Interactions":e&t.DiagramAction.PreventHistory?i="PreventHistory":e&t.DiagramAction.DecoratorPropertyChange?i="DecoratorPropertyChange":e&t.DiagramAction.PreventZIndexOnDragging?i="PreventZIndexOnDragging":e&t.DiagramAction.isGroupDragging?i="isGroupDragging":e&t.DiagramAction.DragUsingMouse&&(i="DragUsingMouse"),i},r.prototype.selectAll=function(){var t=[];t=this.getObjectsOfLayer(this.activeLayer.objects),this.select(t)},r.prototype.unSelect=function(t){t&&zr(this,t)&&this.commandHandler.unSelect(t)},r.prototype.clearSelection=function(){this.commandHandler.clearSelection(!0)},r.prototype.updateViewPort=function(){var t=this.getZoomingAttribute();this.updateBlazorDiagramProperties(t),this.eventHandler.updateViewPortSize(this.element),this.updateBlazorDiagramProperties(t,!0)},r.prototype.cutCommand=function(){this.cut(),this.itemType="PublicMethod"},r.prototype.cut=function(){this.commandHandler.cut()},r.prototype.addProcess=function(t,e){this.bpmnModule&&this.bpmnModule.addProcess(t,e,this)},r.prototype.removeProcess=function(t){this.bpmnModule&&this.bpmnModule.removeProcess(t,this)},r.prototype.pasteCommand=function(){this.paste()},r.prototype.paste=function(t){this.commandHandler.paste(t)},r.prototype.fitToPage=function(t){var e=this.getZoomingAttribute();this.updateBlazorDiagramProperties(e),this.scroller.fitToPage(t),this.updateBlazorDiagramProperties(e,!0)},r.prototype.bringIntoView=function(t){var e=this.getZoomingAttribute();this.updateBlazorDiagramProperties(e),this.scroller.bringIntoView(t,!0),this.updateBlazorDiagramProperties(e,!0)},r.prototype.bringToCenter=function(t){var e=this.getZoomingAttribute();this.updateBlazorDiagramProperties(e),this.scroller.bringToCenter(t),this.updateBlazorDiagramProperties(e,!0)},r.prototype.copyCommand=function(){this.copy()},r.prototype.copy=function(){return this.commandHandler.copy()},r.prototype.group=function(){this.selectedItems.nodes.concat(this.selectedItems.connectors).length>1&&(this.callBlazorModel=!1,this.insertBlazorDiagramObjects(this.selectedItems),this.commandHandler.group(),this.callBlazorModel=!0,this.commandHandler.getBlazorOldValues())},r.prototype.unGroup=function(){this.callBlazorModel=!1,this.insertBlazorDiagramObjects(this.selectedItems),this.commandHandler.unGroup(),this.callBlazorModel=!0,this.commandHandler.getBlazorOldValues()},r.prototype.sendToBack=function(){this.commandHandler.sendToBack()},r.prototype.setActiveLayer=function(t){var e=this.commandHandler.getLayer(t);this.activeLayer=e;var i=e.objects;this.activeLayerObjectsSet.clear();for(var r=0,n=i;r<n.length;r++){var o=n[r];this.activeLayerObjectsSet.add(o)}},r.prototype.addLayer=function(t,e){this.commandHandler.addLayer(t,e)},r.prototype.removeLayer=function(t){this.commandHandler.removeLayer(t,e.isBlazor())},r.prototype.moveObjects=function(t,e){k(this.layers);this.enableServerDataBinding(!1),this.commandHandler.moveObjects(t,e)},r.prototype.layerObjectUpdate=function(){},r.prototype.sendLayerBackward=function(t){this.layerObjectUpdate(),this.commandHandler.sendLayerBackward(t)},r.prototype.bringLayerForward=function(t){this.layerObjectUpdate(),this.commandHandler.bringLayerForward(t)},r.prototype.cloneLayer=function(t){this.commandHandler.cloneLayer(t)},r.prototype.bringToFront=function(){this.commandHandler.bringToFront()},r.prototype.moveForward=function(){this.commandHandler.sendForward()},r.prototype.sendBackward=function(){this.commandHandler.sendBackward()},r.prototype.getObject=function(t){return this.nameTable[""+t]},r.prototype.getNodeObject=function(t){return k(this.nameTable[""+t])},r.prototype.getConnectorObject=function(t){return k(this.nameTable[""+t])},r.prototype.getActiveLayer=function(){return this.activeLayer},r.prototype.nudgeCommand=function(t,e,i){if(this.eventHandler.keyArgs&&void 0!==this.eventHandler.keyArgs.keyModifiers&&0!==this.eventHandler.keyArgs.keyModifiers)return null;if("object"!=typeof t&&(this.selectedItems.nodes.length||this.selectedItems.connectors.length)>0){var r=void 0;e.type&&"KEYDOWN"===e.type&&(r=e.type),this.nudge(t,void 0,void 0,r)}},r.prototype.nudge=function(t,e,i,r){var n=0,o=0;"Left"===t||"Right"===t?n=("Left"===t?-1:1)*(e||1):o=("Up"===t?-1:1)*(i||1),"KEYDOWN"===r&&(n*=5,o*=5),this.restrictedDeltaValue={x:0,y:0};var a=this.selectedItems,s=this.selectedItems.wrapper.children[0];if(s instanceof js)this.commandHandler.labelDrag(a.nodes[0],s,n,o);else{var h=k(this.selectedItems);this.protectPropertyChange(!0),this.drag(a,n,o),this.protectPropertyChange(!1);var d={type:"PositionChanged",redoObject:k(this.selectedItems),undoObject:h,category:"Internal"};this.addHistoryEntry(d)}this.refreshCanvasLayers()},r.prototype.insertBlazorDiagramObjects=function(t){},r.prototype.drag=function(e,i,r){if(this.insertBlazorDiagramObjects(e),this.bpmnModule&&e instanceof Hl&&(!this.nameTable[e.parentId]||"Container"!==this.nameTable[e.parentId].shape.type)){if(this.bpmnModule.updateAnnotationDrag(e,this,i,r))return}else if(e instanceof Hl&&this.nameTable[e.parentId]&&"Container"===this.nameTable[e.parentId].shape.type)return void na(e,this,i,r);if((e instanceof Ul&&e.wrapper||e&&"helper"===e.id&&e.wrapper)&&this.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var n=e.wrapper.bounds;if(n){if(this.restrictedDeltaValue.x>0&&(this.restrictedDeltaValue.x-=i,this.restrictedDeltaValue.x>0?i=0:(i=-1*this.restrictedDeltaValue.x,this.restrictedDeltaValue.x=0)),this.restrictedDeltaValue.y>0&&(this.restrictedDeltaValue.y-=r,this.restrictedDeltaValue.y>0?r=0:(r=-1*this.restrictedDeltaValue.y,this.restrictedDeltaValue.y=0)),n.x+i<0){var o=-(n.x+i);this.restrictedDeltaValue.x+=o,i+=o}if(n.y+r<0){var a=-(n.y+r);this.restrictedDeltaValue.y+=a,r+=a}}}if(e instanceof Ul){if(this.preventConnectorsUpdate=!0,e.nodes&&e.nodes.length){for(var s=0,h=e.nodes;s<h.length;s++){var d=h[s];if(this.callBlazorModel=!1,this.drag(d,i,r),d.parentId){var l=this.nameTable[d.parentId];l.isLane&&(e.nodes.length>1&&(this.preventConnectorsUpdate=!1),wr(l,this.nameTable[l.parentId],d,this))}}this.callBlazorModel=!0}if(e.connectors&&e.connectors.length){this.callBlazorModel=!1;for(var c=0,p=e.connectors;c<p.length;c++){var g=p[c];this.drag(g,i,r),-1===this.selectionConnectorsList.indexOf(g)&&this.selectionConnectorsList.push(g)}this.callBlazorModel=!0}this.updateSelector(),this.diagramActions&t.DiagramAction.DragUsingMouse&&this.updatePage()}else e instanceof Hl&&this.bpmnModule&&this.bpmnModule.updateAnnotationDrag(e,this,i,r),this.commandHandler.drag(e,i,r);if(e instanceof Ul){this.preventConnectorsUpdate=!1;for(var u=0,f=this.selectionConnectorsList;u<f.length;u++){var m=f[u];this.updateConnectorProperties(this.nameTable[m.id]),"Bpmn"===m.shape.type&&"Default"===m.shape.sequence&&"Sequence"===m.shape.flow&&this.commandHandler.updatePathElementOffset(m)}this.selectionConnectorsList=[]}!this.callBlazorModel||this.blazorActions&t.BlazorAction.interaction||this.blazorActions&t.BlazorAction.GroupClipboardInProcess||this.commandHandler.getBlazorOldValues(),e&&e.shape&&"Container"===e.shape.type&&this.updateChildOffset(e,i,r)},r.prototype.updateChildOffset=function(t,e,i){var r=this,n=t.shape.children;!n||n.length<1||n.forEach(function(t){var n=r.nameTable[""+t];n&&n.shape&&("Container"===n.shape.type&&r.updateChildOffset(n,e,i),n.offsetX+=e,n.offsetY+=i)})},r.prototype.disableStackContainerPadding=function(t,e){if(t instanceof rl&&(t.considerPadding=e),t.children)for(var i=0,r=t.children;i<r.length;i++){var n=r[i];this.disableStackContainerPadding(n,!1)}},r.prototype.checkSize=function(e,i,r){if(!e||!e.wrapper||!e.wrapper.bounds)return!0;if(e.constraints&&e.constraints&t.NodeConstraints.AspectRatio)return!0;var n=e.wrapper.bounds,o=n.width*i,a=n.height*r;if(void 0!==e.minWidth&&o<e.minWidth||void 0!==e.minHeight&&a<e.minHeight||void 0!==e.maxWidth&&o>e.maxWidth||void 0!==e.maxHeight&&a>e.maxHeight)return!1;if(e.children&&e.children.length>0)for(var s=0,h=e.children;s<h.length;s++){var d=h[s],l=this.nameTable[""+d];if(l&&!this.checkSize(l,i,r))return!1}return!0},r.prototype.scale=function(e,i,r,n){this.disableStackContainerPadding(e.wrapper,!1),this.insertBlazorDiagramObjects(e);var o=!0;if(e.id&&(e=this.nameTable[e.id]||e),(e instanceof Ul&&e.wrapper||e&&"helper"===e.id&&e.wrapper)&&this.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var a=e.wrapper.bounds;if(a){var s=e.wrapper,h=Po(s.offsetX-s.actualSize.width*s.pivot.x,s.offsetY-s.actualSize.height*s.pivot.y,s.actualSize.width,s.actualSize.height,s.rotateAngle,s.offsetX,s.offsetY,n),d=y();S(d,-e.rotateAngle,h.x,h.y),w(d,i,r,h.x,h.y),S(d,e.rotateAngle,h.x,h.y);var l={x:a.x+.5*a.width,y:a.y+.5*a.height},c=v(d,l);if(e.rotateAngle%360==0){var p=c.x-a.width*i*.5;p<0&&(i=Math.round(a.width*i+p)/a.width);var g=c.y-a.height*r*.5;g<0&&(r=Math.round(a.height*r+g)/a.height)}else{var u=[{x:a.x,y:a.y},{x:a.x+a.width,y:a.y},{x:a.x,y:a.y+a.height},{x:a.x+a.width,y:a.y+a.height}].map(function(t){return v(d,t)}),f=Math.min.apply(Math,u.map(function(t){return t.x})),m=Math.min.apply(Math,u.map(function(t){return t.y}));(f<0||m<0)&&(i=1,r=1)}}}if(e instanceof Ul){if(e.nodes&&e.nodes.length){this.callBlazorModel=!1;for(var b=0,x=e.nodes;b<x.length;b++){P=x[b];if(!this.checkSize(P,i,r))return!1}for(var I=0,C=e.nodes;I<C.length;I++){var P=C[I];o=this.commandHandler.scale(P,i,r,n,e),this.commandHandler.checkBoundaryConstraints(void 0,void 0,e.wrapper.bounds)||this.commandHandler.scale(P,1/i,1/r,n,e)}this.callBlazorModel=!0}if(e.connectors&&e.connectors.length){this.callBlazorModel=!1;for(var D=0,T=e.connectors;D<T.length;D++){var A=T[D];this.commandHandler.scale(A,i,r,n,e),this.commandHandler.checkBoundaryConstraints(void 0,void 0,e.wrapper.bounds)||this.commandHandler.scale(A,1/i,1/r,n,e)}this.callBlazorModel=!0}Lo(this,this.selectedItems)||this.updateSelector(),this.refreshCanvasLayers()}else this.commandHandler.scale(e,i,r,n,e.children?e:void 0);return!this.callBlazorModel||this.blazorActions&t.BlazorAction.interaction||this.blazorActions&t.BlazorAction.GroupClipboardInProcess||this.commandHandler.getBlazorOldValues(),this.disableStackContainerPadding(e.wrapper,!0),o},r.prototype.rotate=function(e,i,r,n){var o,a=[];if(!n){if((o=k(e)).nodes&&o.nodes.length>0&&o.nodes[0].children){var s=[];this.fromUndo||(this.rotateUsingButton=!0);for(var h=this.commandHandler.getAllDescendants(o.nodes[0],s),d=0;d<h.length;d++){var l=this.commandHandler.cloneChild(h[parseInt(d.toString(),10)].id);a[h[parseInt(d.toString(),10)].id]=k(l)}}i<0&&(i=(i+360)%360)}this.insertBlazorDiagramObjects(e);var c;if(e.id&&(e=this.nameTable[e.id]||e),e)if(r=r||{x:e.wrapper.offsetX,y:e.wrapper.offsetY},e instanceof Ul){this.callBlazorModel=!1,e.rotateAngle+=i,e.wrapper.rotateAngle+=i;var p=z(e.wrapper);if(!(c=this.commandHandler.checkBoundaryConstraints(void 0,void 0,p))||!this.canRotateOnNegativeAxis(e.wrapper))return e.rotateAngle-=i,e.wrapper.rotateAngle-=i,!1;var g=[];g=(g=g.concat(e.nodes)).concat(e.connectors),this.commandHandler.rotateObjects(e,g,i,r),this.callBlazorModel=!0}else this.commandHandler.rotateObjects(e,[e],i,r);if(!this.callBlazorModel||this.blazorActions&t.BlazorAction.interaction||this.commandHandler.getBlazorOldValues(),!n&&!this.fromUndo&&o.nodes&&o.nodes.length>0&&o.nodes[0].children){var u={type:"RotationChanged",redoObject:k(e),undoObject:k(o),category:"Internal",childTable:a};this.commandHandler.addHistoryEntry(u),this.commandHandler.updateSelector()}return c},r.prototype.canRotateOnNegativeAxis=function(e){return!(this.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop)||z(e).left>=0&&z(e).top>=0},r.prototype.dragSourceEnd=function(t,e,i){this.insertBlazorDiagramObjects(t),this.commandHandler.dragSourceEnd(t,e,i),this.callBlazorModel&&this.commandHandler.getBlazorOldValues()},r.prototype.dragTargetEnd=function(t,e,i){this.insertBlazorDiagramObjects(t),this.commandHandler.dragTargetEnd(t,e,i),this.callBlazorModel&&this.commandHandler.getBlazorOldValues()},r.prototype.findObjectsUnderMouse=function(t,e){return this.eventHandler.findObjectsUnderMouse(t,e)},r.prototype.findObjectUnderMouse=function(t,e,i){return this.eventHandler.findObjectUnderMouse(t,e,i)},r.prototype.findTargetObjectUnderMouse=function(t,e,i,r,n){return this.eventHandler.findTargetUnderMouse(t,e,i,r,n)},r.prototype.findElementUnderMouse=function(t,e,i,r){return this.eventHandler.findElementUnderMouse(t,e,i,r)},r.prototype.findActionToBeDone=function(t,e,i,r){return this.eventHandler.findActionToBeDone(t,e,i,r)},r.prototype.updateConnectorPort=function(t){if(t.ports.length)for(var e=void 0,i=0,r=t.ports;i<r.length;i++){var n=r[i];e=this.getWrapper(t.wrapper,n.id),t.initPortWrapper(n,t.intermediatePoints,t.wrapper.bounds,e)}t.wrapper.measure(new ps(t.wrapper.width,t.wrapper.height)),t.wrapper.arrange(t.wrapper.desiredSize)},r.prototype.getTool=function(t){var e,i=Z(this.getCustomTool);return i&&(e=i(t))?e:this.eventHandler.getTool(t)},r.prototype.getCursor=function(t,e){var i,r=Z(this.getCustomCursor);if(r&&(i=r(t,e)))return i;if(this.customCursor.length)for(var n=0;n<this.customCursor.length;n++)if(this.customCursor[parseInt(n.toString(),10)].action===t)return this.customCursor[parseInt(n.toString(),10)].cursor;return this.eventHandler.getCursor(t)},r.prototype.initHistory=function(){this.undoRedoModule&&this.undoRedoModule.initHistory(this)},r.prototype.addHistoryEntry=function(e,i){if(this.undoRedoModule&&this.constraints&t.DiagramConstraints.UndoRedo&&(!this.currentSymbol||this.checkCurrentSymbol(this.currentSymbol,e))){if(e.undoObject&&"helper"===e.undoObject.id)return;var r=this.undoRedoModule.addHistoryEntry(e,this);"StartGroup"!==e.type&&"EndGroup"!==e.type&&r&&this.historyChangeTrigger(e,"CustomAction",i)}},r.prototype.checkCurrentSymbol=function(t,e){var i=!1;if(e.undoObject&&e.redoObject){var r=e.undoObject,n=e.undoObject;return n.id&&r.id&&n.id!==t.id&&r.id!==t.id?i=!0:i}return i},r.prototype.addCustomHistoryEntry=function(t){},r.prototype.historyChangeTrigger=function(e,i,r){var n={},o=[];if("Internal"===e.category){switch(e&&e.redoObject&&e.redoObject.nodes instanceof Array&&e.redoObject.connectors instanceof Array?o=e.redoObject.nodes.concat(e.redoObject.connectors):e.redoObject&&o.push(e.redoObject),n.type=e.type,e.type){case"PositionChanged":"Undo"===i?(n.oldValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY},n.newValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY}):(n.oldValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY},n.newValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY});break;case"RotationChanged":"Undo"===i?(n.oldValue={rotateAngle:e.redoObject.rotateAngle},n.newValue={rotateAngle:e.undoObject.rotateAngle}):(n.oldValue={rotateAngle:e.undoObject.rotateAngle},n.newValue={rotateAngle:e.redoObject.rotateAngle});break;case"SizeChanged":"Undo"===i?(n.oldValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY,width:e.redoObject.width,height:e.redoObject.height},n.newValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY,width:e.undoObject.width,height:e.undoObject.height}):(n.oldValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY,width:e.undoObject.width,height:e.undoObject.height},n.newValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY,width:e.redoObject.width,height:e.redoObject.height});break;case"CollectionChanged":n[e.changeType]=o;break;case"ConnectionChanged":"Undo"===i?(n.oldValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY},n.newValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY}):(n.oldValue={offsetX:e.undoObject.offsetX,offsetY:e.undoObject.offsetY},n.newValue={offsetX:e.redoObject.offsetX,offsetY:e.redoObject.offsetY})}var a=[],s=[];if(void 0===r&&"PropertyChanged"===e.type){for(p=0;p<Object.keys(e.undoObject).length;p++)if("nodes"===Object.keys(e.undoObject)[parseInt(p.toString(),10)])for(var h=0,d=Object.keys(e.undoObject.nodes);h<d.length;h++){var l=d[h],c=parseInt(l,10);a.push(this.nodes[parseInt(c.toString(),10)].id)}for(var p=0;p<Object.keys(e.undoObject).length;p++)if("connectors"===Object.keys(e.undoObject)[parseInt(p.toString(),10)])for(var g=0,u=Object.keys(e.undoObject.connectors);g<u.length;g++){var l=u[g],c=parseInt(l,10);s.push(this.connectors[parseInt(c.toString(),10)].id)}r=a.concat(s)}var f={cause:e.category,source:Do(o),change:Do(n),action:i,sourceId:r};o.length&&this.triggerEvent(t.DiagramEvent.historyChange,f)}},r.prototype.startGroupAction=function(){var e={type:"StartGroup",category:"Internal"};this.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(e)},r.prototype.endGroupAction=function(){var e={type:"EndGroup",category:"Internal"};this.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(e)},r.prototype.undo=function(){this.canEnableBlazorObject=!0,this.callBlazorModel=!1,this.undoRedoModule&&this.constraints&t.DiagramConstraints.UndoRedo?(this.isUndo=!0,this.undoRedoModule.undo(this),this.isUndo=!1):this.constraints&t.DiagramConstraints.UndoRedo&&console.warn('[WARNING] :: Module "UndoRedo" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),this.commandHandler.getBlazorOldValues(),this.callBlazorModel=!0,this.canEnableBlazorObject=!1},r.prototype.redo=function(){this.canEnableBlazorObject=!0,this.callBlazorModel=!1,this.undoRedoModule&&this.constraints&t.DiagramConstraints.UndoRedo?this.undoRedoModule.redo(this):this.constraints&t.DiagramConstraints.UndoRedo&&console.warn('[WARNING] :: Module "UndoRedo" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),this.commandHandler.getBlazorOldValues(),this.callBlazorModel=!0,this.canEnableBlazorObject=!1},r.prototype.getBlazorDiagramObjects=function(t){if(t)for(var e=0;e<t.length;e++)this.insertBlazorDiagramObjects(t[parseInt(e.toString(),10)]);else this.insertBlazorDiagramObjects(this.selectedItems);this.callBlazorModel=!1,this.canEnableBlazorObject=!0},r.prototype.align=function(e,i,r){this.getBlazorDiagramObjects(i),i||(i=(i=[]).concat(this.selectedItems.nodes,this.selectedItems.connectors)),this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod,this.commandHandler.align(i,e,r||"Object"),this.commandHandler.getBlazorOldValues(),this.callBlazorModel=!0,this.canEnableBlazorObject=!1},r.prototype.distribute=function(e,i){this.getBlazorDiagramObjects(i);var r=[];i||(i=(i=[]).concat(this.selectedItems.nodes),this.selectedItems.connectors.forEach(function(t){t.sourceWrapper?-1===r.indexOf(t)&&r.push(t):t.targetWrapper?-1===r.indexOf(t)&&r.push(t):-1===i.indexOf(t)&&i.push(t)})),this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod,this.commandHandler.distribute(i,e);for(var n=0,o=r;n<o.length;n++){var a=o[n];this.updateConnectorProperties(a)}this.commandHandler.getBlazorOldValues(),this.canEnableBlazorObject=!1,this.callBlazorModel=!0},r.prototype.sameSize=function(e,i){this.getBlazorDiagramObjects(i),i||(i=(i=[]).concat(this.selectedItems.nodes,this.selectedItems.connectors)),this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod,this.commandHandler.sameSize(i,e),this.commandHandler.getBlazorOldValues(),this.canEnableBlazorObject=!1,this.callBlazorModel=!0},r.prototype.updateBlazorDiagramProperties=function(t,e){},r.prototype.getZoomingAttribute=function(){var t=[];return t.push("scrollSettings"),t.push("snapSettings"),t},r.prototype.zoom=function(e,i){var r=this.getZoomingAttribute();this.updateBlazorDiagramProperties(r),this.scroller.zoom(e,0,0,i),this.blazorActions&t.BlazorAction.interaction||this.updateBlazorDiagramProperties(r,!0)},r.prototype.zoomTo=function(t){var e=this.getZoomingAttribute();this.updateBlazorDiagramProperties(e);var i=t.zoomFactor?t.zoomFactor:.2;i="ZoomOut"===t.type?1/(1+i):1+i,this.scroller.zoom(i,0,0,t.focusPoint),this.updateBlazorDiagramProperties(e,!0)},r.prototype.pan=function(t,e,i,r){var n=this.getZoomingAttribute();this.updateBlazorDiagramProperties(n),this.setCursor("grabbing"),this.scroller.zoom(1,t,e,i,r),this.updateBlazorDiagramProperties(n,!0)},r.prototype.reset=function(){var t=this.getZoomingAttribute();this.updateBlazorDiagramProperties(t),this.scroller.zoom(1/this.scroller.currentZoom,-this.scroller.horizontalOffset,-this.scroller.verticalOffset,{x:0,y:0}),this.updateBlazorDiagramProperties(t,!0)},r.prototype.resetSegments=function(){if(this.constraints&t.DiagramConstraints.LineRouting&&this.lineRoutingModule)this.lineRoutingModule.lineRouting(this);else{this.protectPropertyChange(!0);for(var e=void 0,i=0;i<this.connectors.length;i++)(e=this.connectors[parseInt(i.toString(),10)]).segments=[],this.connectorPropertyChange(e,{},{segments:e.segments}),this.avoidLineOverlappingModule&&this.avoidLineOverlappingModule.removeConnector(e);this.protectPropertyChange(!1)}},r.prototype.setBlazorDiagramProps=function(t){var e=this.getZoomingAttribute();t?this.updateBlazorDiagramProperties(e):this.updateBlazorDiagramProperties(e,!0)},r.prototype.triggerEvent=function(e,i){return Pp(this,void 0,void 0,function(){var r;return Dp(this,function(n){switch(n.label){case 0:return i&&this.updateEventValue(i),[4,this.trigger(t.DiagramEvent[""+e],i)];case 1:return r=n.sent(),[2,r]}})})},r.prototype.updateEventValue=function(t){var e=t.element;t.element&&e instanceof Ul&&e.nodes.length+e.connectors.length===1&&(t.element=1===e.nodes.length?e.nodes[0]:e.connectors[0])},r.prototype.addNodeToLane=function(t,e,i){if(this.nameTable[""+e]){var r=this.nameTable[""+e];if(this.protectPropertyChange(!0),this.undoRedoModule&&this.historyManager.startGroupAction(),this.nameTable[t.id]||(t.offsetX=r.wrapper.bounds.width+r.wrapper.bounds.x,t.offsetY=r.wrapper.bounds.height+r.wrapper.bounds.y,t=this.add(t)),t.parentId="",r.shape.phases.length)for(var n=0;n<r.shape.phases.length;n++){d=e+i+n;if(this.nameTable[""+d]&&this.nameTable[""+d].isLane){var o=this.nameTable[""+d].wrapper.bounds,a={x:o.x+(o.x-r.wrapper.bounds.x+t.margin.left+t.wrapper.bounds.width/2),y:o.y+r.wrapper.bounds.y-t.margin.top};if("Horizontal"===r.shape.orientation)a.y=o.y;else{a.x=o.x;var s=this.nameTable[""+d].parentId+r.shape.lanes[0].id+"_0_header";a.y=o.y+(r.wrapper.bounds.y-this.nameTable[""+s].wrapper.bounds.height+t.margin.top+t.wrapper.bounds.height/2)}var h=r.shape.phases[parseInt(n.toString(),10)];if(t.margin.left<=h.offset){this.addChildToPhase(t,r,d);break}if(d===e+i+(r.shape.phases.length-1)||o.containsPoint(a)){this.addChildToPhase(t,r,d);break}}}else{var d=e+i+"0";this.nameTable[""+d]&&(this.commandHandler.updateLaneChildrenZindex(t,this.nameTable[""+d]),vr(this,this.nameTable[""+d],t,void 0,!0),wr(this.nameTable[""+d],r,t,this))}this.undoRedoModule&&this.historyManager.endGroupAction(),this.protectPropertyChange(!1)}this.updateDiagramElementQuad()},r.prototype.addChildToPhase=function(t,e,i){this.commandHandler.updateLaneChildrenZindex(t,this.nameTable[""+i]),vr(this,this.nameTable[""+i],t,void 0,!0),wr(this.nameTable[""+i],e,t,this)},r.prototype.showTooltip=function(t){t&&t.id&&!t.wrapper&&(t=this.nameTable[t.id]);var e=z(t.wrapper),i={x:0,y:0},r=t.tooltip.content?t.tooltip.content:"X:"+Math.round(e.x)+" Y:"+Math.round(e.y);t&&"Custom"===t.tooltip.openOn&&(i=t instanceof Hl?{x:t.offsetX+t.width/2,y:t.offsetY+t.height/2}:{x:t.targetPoint.x,y:t.targetPoint.x},this.commandHandler.showTooltip(t,i,r,"SelectTool",!0))},r.prototype.hideTooltip=function(t){t&&"Custom"===t.tooltip.openOn&&this.tooltipObject.close()},r.prototype.addNode=function(t,e){return this.add(t,e)},r.prototype.addChildToGroup=function(e,i){var r=e&&e.shape&&"Container"===e.shape.type,n=this.allowServerDataBinding;this.enableServerDataBinding(!1);var o=this.isProtectedOnChange;this.protectPropertyChange(!0),e=this.getObject(e.id);var a=!(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.Group||this.diagramActions&t.DiagramAction.PreventHistory);if(r&&!i.id){var s=this.getObject(i);s?i=s:i.id=O()}a&&this.startGroupAction();var h=i.id;if(r)da(i,e.id,this);else{h=this.addChild(e,i);var d=this.nameTable[i]?this.nameTable[i]:i,l=document.getElementById(d.id+"_groupElement"),c=document.getElementById(e.id+"_groupElement");c&&l&&c.appendChild(l)}if(a){var p={};p[""+h]=k(this.getObject(h));var g={type:"AddChildToGroupNode",changeType:"Insert",undoObject:k(e),redoObject:k(e),category:"Internal",objectId:h,childTable:p};this.addHistoryEntry(g),this.endGroupAction()}this.protectPropertyChange(o),this.enableServerDataBinding(n),this.updateSelector()},r.prototype.removeChildFromGroup=function(e,i){var r=e&&e.shape&&"Container"===e.shape.type,n=this.allowServerDataBinding;this.enableServerDataBinding(!1);var o=this.isProtectedOnChange;this.protectPropertyChange(!0);var a=k(e=this.getObject(e.id)),s=!(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.Group||this.diagramActions&t.DiagramAction.PreventHistory),h=i.id||(this.nameTable[i]?this.nameTable[i].id:i);if(s&&this.startGroupAction(),r){if(s){(l={})[""+h]=k(this.getObject(h));c={type:"RemoveChildFromGroupNode",changeType:"Remove",undoObject:a,redoObject:k(e),category:"Internal",objectId:h,childTable:l};this.addHistoryEntry(c),la(i instanceof Hl?i:this.nameTable[""+h],this)}}else{var d=this.removeChild(e,i);if(s){var l={};l[""+d]=k(this.getObject(d));var c={type:"RemoveChildFromGroupNode",changeType:"Remove",undoObject:k(a),redoObject:k(e),category:"Internal",objectId:d,childTable:l};this.addHistoryEntry(c)}var p=this.nameTable[i]?this.nameTable[i]:i,g=p.zIndex,u=this.layers.indexOf(this.commandHandler.getObjectLayer(p.id)),f=this.layers[parseInt(u.toString(),10)].objects[g+1],m=document.getElementById(f+"_groupElement"),y=document.getElementById(p.id+"_groupElement"),v=document.getElementById(e.id+"_groupElement");v&&y&&(f&&m?v.contains(m)?v.insertBefore(y,m):v.parentNode.contains(m)&&m.parentElement===v.parentElement?v.parentNode.insertBefore(y,m):v.parentNode.appendChild(y):v.parentNode.appendChild(y))}s&&this.endGroupAction(),this.protectPropertyChange(o),this.enableServerDataBinding(n),this.updateSelector()},r.prototype.getHistoryStack=function(t){var e=[],i=t?this.historyManager.undoStack:this.historyManager.redoStack;if(void 0!==this.historyManager.stackLimit){for(var r=i.length-1;r>=0;r--)if(e.push(i[parseInt(r.toString(),10)]),e.length>this.historyManager.stackLimit)return e}else e=i;return e},r.prototype.getEdges=function(t){return t.outEdge?this.nameTable[t.id].outEdges:this.nameTable[t.id].inEdges},r.prototype.getParentId=function(t){return this.nameTable[""+t].parentId},r.prototype.addConnector=function(t){return this.add(t)},r.prototype.UpdateBlazorDiagramModelCollection=function(t,e,i,r){},r.prototype.UpdateBlazorDiagramModel=function(t,e,i,r){},r.prototype.UpdateBlazorLabelOrPortObjects=function(t,e,i,r){},r.prototype.addBlazorDiagramObjects=function(){},r.prototype.removeNodeEdges=function(t,e,i){var r=this.nameTable[""+t],n=i?r.outEdges:r.inEdges;if(n.length>0)for(var o=0;o<n.length;o++)n[parseInt(o.toString(),10)]===e&&n.splice(o,1)},r.prototype.insertBlazorConnector=function(t){},r.prototype.add=function(e,i){var n,o=this.isProtectedOnChange;this.protectPropertyChange(!0);var a=!1;if(e){var s=void 0;if(s={element:e=k(e),cause:this.diagramActions,diagramAction:this.itemType,state:"Changing",type:"Addition",cancel:!1},this.parentObject&&(s.parentId=this.parentObject.id),"helper"===e.id||this.diagramActions&t.DiagramAction.PreventCollectionChangeOnDragOver||this.triggerEvent(t.DiagramEvent.collectionChange,s),s.cancel&&this.drawingObject){this.removeElements(s.element),this.tooltipObject.close();var h=this.getObject(s.element.sourceID),d=void 0;if(_d(s.element)===xd){if(s.element.sourceID&&(this.removeNodeEdges(s.element.sourceID,s.element.id,!0),h.ports.length>0)){for(g=0;g<h.ports.length;g++){var l=h.ports[parseInt(g.toString(),10)];l.id===s.element.sourcePortID&&(d=!(l.outEdges.length>0))}this.removePortEdges(h,s.element.sourcePortID,s.element.id,d)}s.element.targetID&&this.removeNodeEdges(s.element.targetID,s.element.id,!1)}}this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod,e.id=e.id||O();var c=this.activeLayer;if(!s.cancel&&c&&!c.lock){if(c.objects.indexOf(e.id)<0&&!c.lock&&(c.visible||(c.visible=!0,this.dataBind()),c.objects.push(e.id),this.activeLayerObjectsSet.add(e.id)),_d(e)===xd)(n=new xd(this,"connectors",e,!0)).status="New",this.nameTable[n.targetID]&&"TextAnnotation"===this.nameTable[n.targetID].shape.shape&&(n.isBpmnAnnotationConnector=!0,n.constraints=n.constraints&~t.ConnectorConstraints.Delete),pn(n,e,this.connectorDefaults),this.connectors.push(n),this.initObject(n,c),!1===e.visible&&this.updateElementVisibility(n.wrapper,n,e.visible),this.updateEdges(n),this.insertBlazorConnector(n);else{if(n=new Hl(this,"nodes",e,!0),pn(n,e,this.nodeDefaults),n.parentId=e.parentId?e.parentId:n.parentId,n.umlIndex=e.umlIndex,n.status="New",(a="TextAnnotation"===n.shape.shape)&&!e.isTextAnnotationCopied&&(n.inEdges=e.inEdges?e.inEdges:n.inEdges),this.nodes.push(n),this.initObject(n,c,void 0,i),a&&this.bpmnModule)for(g=0;g<this.bpmnModule.bpmnTextAnnotationConnector.length;g++)null===this.bpmnModule.bpmnTextAnnotationConnector[parseInt(g.toString(),10)].wrapper&&this.initConnectors(this.bpmnModule.bpmnTextAnnotationConnector[parseInt(g.toString(),10)],void 0,!0);if(this.updateTemplate(),this.bpmnModule&&n.shape.activity&&n.shape.activity.subProcess.processes&&n.shape.activity.subProcess.processes.length&&this.bpmnModule.updateDocks(n,this),this.lineRoutingModule&&this.constraints&t.DiagramConstraints.LineRouting)for(var p=this.spatialSearch.findObjects(n.wrapper.outerBounds),g=0;g<p.length;g++){var u=p[parseInt(g.toString(),10)];u instanceof xd&&this.connectorPropertyChange(u,{},{sourceID:u.sourceID,targetID:u.targetID,sourcePortID:u.sourcePortID,targetPortID:u.targetPortID,sourcePoint:u.sourcePoint,targetPoint:u.targetPoint})}else this.constraints&t.DiagramConstraints.LineRouting&&console.warn('[WARNING] :: Module "LineRouting" is not available in Diagram component! You either misspelled the module name or forgot to load it.');if(n.umlIndex>-1&&e.parentId&&this.nameTable[e.parentId]&&"UmlClassifier"===this.nameTable[e.parentId].shape.type){var f=this.nameTable[e.parentId];f.children.splice(n.umlIndex,0,n.id),f.wrapper.children.splice(n.umlIndex,0,n.wrapper),f.wrapper.measure(new ps),f.wrapper.arrange(f.wrapper.desiredSize),this.updateDiagramObject(f)}}if(s={element:n,cause:this.diagramActions,diagramAction:this.itemType,state:"Changed",type:"Addition",cancel:!1},this.parentObject&&(s.parentId=this.parentObject.id),"helper"===e.id||this.diagramActions&t.DiagramAction.PreventCollectionChangeOnDragOver||this.triggerEvent(t.DiagramEvent.collectionChange,s),!(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.Group||this.diagramActions&t.DiagramAction.PreventHistory)){var m=void 0,y={type:"CollectionChanged",changeType:"Insert",undoObject:k(m=e&&e.shape&&"SwimLane"===e.shape.type||e&&e.shape&&"Bpmn"===e.shape.type?e:n),redoObject:k(m),category:"Internal"};this.addHistoryEntry(y)}if(this.parentObject=void 0,"SVG"===this.mode){if(this.updateSvgNodes(n),this.updateTextElementValue(n),this.updateDiagramObject(n),a){var v=this.nameTable[n.inEdges[0]];this.updateDiagramObject(v)}n.shape.activity&&n.shape.activity.subProcess.processes&&n.shape.activity.subProcess.processes.length&&this.updateProcesses(n),this.updateBridging()}}}if(this.protectPropertyChange(o),this.resetDiagramActions(t.DiagramAction.PublicMethod),n&&this.layers.length>1&&this.moveNode(n),this.views)for(var b=0,S=this.views;b<S.length;b++){var w=S[b],x=this.views[""+w];x instanceof r||this.refreshCanvasDiagramLayer(x)}return this.renderReactTemplates(),this.itemType="PublicMethod",n},r.prototype.addElements=function(t){for(var e=0;e<t.length;e++)this.add(t[parseInt(e.toString(),10)]);this.pathDataStorage&&this.pathDataStorage.clear()},r.prototype.getPathData=function(t){return this.pathDataStorage||(this.pathDataStorage=new Map),this.pathDataStorage.has(t)?this.pathDataStorage.get(t):[]},r.prototype.setPathData=function(t,e){0===(this.pathDataStorage.get(t)||[]).length&&this.pathDataStorage.set(t,e)},r.prototype.updateSvgNodes=function(t){if(t.children)for(var e=0,i=t.children;e<i.length;e++){var r=i[e];if(this.nameTable[""+r]&&this.nameTable[""+r].parentId){var n=Aa(r+"_groupElement",this.element.id);n&&n.parentNode.removeChild(n)}}},r.prototype.updateProcesses=function(t){if(this.bpmnModule&&t&&t.shape&&t.shape.activity&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length){var e=t.shape.activity.subProcess.processes;this.moveSvgNode(t.id);for(var i=0,r=e;i<r.length;i++){h=r[i];this.moveSvgNode(h);for(var n=[],o=(n=n.concat(this.nameTable[""+h].outEdges,this.nameTable[""+h].inEdges)).length-1;o>=0;o--)this.moveSvgNode(n[parseInt(o.toString(),10)])}for(var a=0,s=e;a<s.length;a++){var h=s[a];this.nameTable[""+h].shape.activity.subProcess.processes&&this.nameTable[""+h].shape.activity.subProcess.processes.length&&this.updateProcesses(this.nameTable[""+h])}}else this.moveSvgNode(t.id)},r.prototype.moveSvgNode=function(t){var e=Aa(t+"_groupElement",this.element.id),i=e.parentElement;e.parentNode.removeChild(e),i.appendChild(e)},r.prototype.addTextAnnotation=function(t,e){this.bpmnModule&&this.getBPMNTextAnnotation(e,this,t,!0)},r.prototype.spliceConnectorEdges=function(t,e){var i=[],r=e?this.nameTable[t.sourceID]:this.nameTable[t.targetID];if(r){for(var n=(i=e?r.outEdges:r.inEdges).length-1;n>=0;n--)i[parseInt(n.toString(),10)]===t.id&&i.splice(n,1);for(var o=0;r.ports&&o<r.ports.length;o++){var a=!e;this.removePortEdges(r,r.ports[parseInt(o.toString(),10)].id,t.id,a)}}},r.prototype.removeDependentConnector=function(t){if(t)for(var e=void 0,i=[],r=(i=i.concat(t.outEdges,t.inEdges)).length-1;r>=0;r--)if(e=this.nameTable[i[parseInt(r.toString(),10)]])if(this.connectorTable[e.id]=k(e),e.isBpmnAnnotationConnector){var n=this.nameTable[e.targetID];this.removeObjectsFromLayer(e);var o=this.connectors.indexOf(e);-1!==o&&this.connectors.splice(o,1),this.removeElements(e),this.removeFromAQuad(e),delete this.nameTable[e.id];var a=this.nameTable[e.sourceID];if(a){var s=a.outEdges.indexOf(e.id);-1!==s&&a.outEdges.splice(s,1)}t.id!==e.targetID&&this.remove(n)}else this.remove(e)},r.prototype.removeObjectsFromLayer=function(t){if(t.children)for(var e=0;e<t.children.length;e++){var i=this.nameTable[t.children[parseInt(e.toString(),10)]];i&&this.removeObjectsFromLayer(i)}var r=this.layers.indexOf(this.commandHandler.getObjectLayer(t.id)),n=this.layers[parseInt(r.toString(),10)].objects.indexOf(t.id);n>-1&&(zr(this,t)&&this.unSelect(t),this.layers[parseInt(r.toString(),10)].objects.splice(n,1),this.activeLayerObjectsSet.delete(t.id),delete this.layers[parseInt(r.toString(),10)].zIndexTable[this.nameTable[t.id].zIndex])},r.prototype.removeElements=function(e){if("SVG"===this.mode||"Canvas"===this.mode&&"Native"===e.shape.type){var i=Aa(e.id+"_groupElement",this.element.id),n=e;if(n.ports&&n.ports.length>0)for(d=0;d<n.ports.length;d++){var o=n.ports[parseInt(d.toString(),10)],a=Aa(n.id+"_"+o.id+"_groupElement",this.element.id);a&&a.parentNode.removeChild(a)}i&&i.parentNode.removeChild(i)}if(this.refreshCanvasLayers(),e.wrapper){var s=e.wrapper.children,h=void 0;if(s){s.length>0&&!(e.wrapper instanceof Vs)&&(s=s[0].children);for(var d=0;d<s.length;d++){if(s[parseInt(d.toString(),10)]instanceof Gs||s[parseInt(d.toString(),10)].id&&s[parseInt(d.toString(),10)].id.indexOf("icon_content")>0){s[parseInt(d.toString(),10)].id.indexOf("icon_content")>0&&"SVG"===this.mode&&((h=Aa(s[parseInt(d.toString(),10)].id+"_shape_groupElement",this.element.id))&&h.parentNode.removeChild(h),(h=Aa(s[parseInt(d.toString(),10)].id+"_rect_groupElement",this.element.id))&&h.parentNode.removeChild(h));for(var l=0,c=this.views;l<c.length;l++){f=c[l];Ka(s[parseInt(d.toString(),10)].id+"_groupElement",f);var p=this.scroller.removeCollection.indexOf(e.id);this.scroller.removeCollection.splice(p,1)}}else if(s[parseInt(d.toString(),10)]instanceof wh)for(var g=0,u=this.views;g<u.length;g++){var f=u[g];if(this.views[""+f]instanceof r||!this.preventOverviewRefresh){Ka(e.id+"_html_element",f),Ka(s[parseInt(d.toString(),10)].id+"_html_element",f);var m=!0,y=this.nameTable[e.parentId];(this.isAngular||this.isReact||this.isVue)&&(y&&y.isLane||this.constraints&t.DiagramConstraints.Virtualization)&&(m=!1),m&&(this.clearTemplate(["nodeTemplate_"+e.id]),s[parseInt(d.toString(),10)].annotationId&&this.clearTemplate(["annotationTemplate_"+e.id+s[parseInt(d.toString(),10)].annotationId]))}}to(s[parseInt(d.toString(),10)].id)}}}},r.prototype.removeCommand=function(){this.itemType="KeyboardDelete",this.remove(),this.itemType="PublicMethod"},r.prototype.remove=function(i){var r=[];r=r.concat(this.selectedItems.nodes,this.selectedItems.connectors);var n,o=!1;if(i){if(i=this.nameTable[i.id],this.insertBlazorConnector(i),i&&(De(i)||this.diagramActions&t.DiagramAction.Clear)&&(n={element:i,cause:this.diagramActions,diagramAction:this.itemType,state:"Changing",type:"Removal",cancel:!1},this.diagramActions&t.DiagramAction.Clear||"helper"===i.id||this.triggerEvent(t.DiagramEvent.collectionChange,n),!n.cancel)){if(De(i)&&i&&i.shape&&"SwimLane"===i.shape.type&&Zi(this,i),!(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.PreventHistory||!(i instanceof Hl||i instanceof xd))){u={type:"CollectionChanged",changeType:"Remove",undoObject:k(i),redoObject:k(i),category:"Internal"};this.diagramActions&t.DiagramAction.Clear||i.children&&!i.isLane&&!i.isPhase&&i.children.length>0&&this.undoRedoModule&&"None"===this.layout.type&&(this.historyManager.startGroupAction(),o=!0),(i instanceof Hl||i instanceof xd)&&this.deleteDependentConnector&&this.removeDependentConnector(i),i.isLane||i.isPhase||i.isHeader&&"Container"===this.nameTable[i.parentId].shape.type||this.diagramActions&t.DiagramAction.Clear||this.isStackChild(i)||this.addHistoryEntry(u)}"TextAnnotation"===i.shape.shape&&this.removeDependentConnector(i),!i.children||i.isLane||i.isPhase||this.diagramActions&t.DiagramAction.UndoRedo&&e.isBlazor()||this.deleteGroup(i),i.parentId&&(this.deleteChild(i,void 0,!0),this.nameTable[i.parentId]&&"UmlClassifier"===this.nameTable[i.parentId].shape.type&&(this.updateDiagramObject(this.nameTable[i.parentId]),this.updateConnectorEdges(this.nameTable[i.parentId])));var a=void 0;this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod;var s=this.nameTable[i.id];if(s instanceof Hl){if("Bpmn"===s.shape.type&&this.bpmnModule&&this.bpmnModule.removeBpmnProcesses(s,this),(s.parentId&&this.nameTable[s.parentId]&&"Container"===this.nameTable[s.parentId].shape.type||"Container"===s.shape.type)&&sa(s,this),s.isLane||s.isPhase||"SwimLane"===s.shape.type){(d=s.isLane||s.isPhase?this.nameTable[s.parentId]:this.nameTable[s.id]).wrapper.children[0];s.isLane?Ki(this,s,d):s.isPhase&&$i(this,s,d)}-1!==(a=this.nodes.indexOf(s))&&(this.crudDeleteNodes.push(this.nameTable[s.id]),this.nodes.splice(a,1),this.updateNodeEdges(s))}else-1!==(a=this.connectors.indexOf(s))&&(this.crudDeleteNodes.push(this.nameTable[s.id]),this.connectors.splice(a,1)),this.updateEdges(s),this.spliceConnectorEdges(i,!0),this.spliceConnectorEdges(i,!1);if(this.isServerUpdate||this.blazorActions&t.BlazorAction.GroupClipboardInProcess||this.commandHandler.getBlazorOldValues(),o&&this.historyManager.endGroupAction(),zr(this,s)&&this.unSelect(s),!s.isPhase){if(this.removeObjectsFromLayer(i),this.currentDrawingObject&&(this.currentDrawingObject.wrapper=void 0),delete this.nameTable[i.id],r.length>0&&r[0].id===s.id&&s.parentId){var h=this.nameTable[s.parentId];if(h&&h.isLane&&"SwimLane"===this.nameTable[h.parentId].shape.type){var d=this.nameTable[h.parentId];Ui(this,d,h,s)}}this.removeElements(s),this.updateBridging(),"SVG"!==this.mode&&this.refreshDiagramLayer(),this.diagramActions&t.DiagramAction.Clear||(this.removeFromAQuad(s),n={element:i,cause:this.diagramActions,diagramAction:this.itemType,state:"Changed",type:"Removal",cancel:!1},"helper"!==i.id&&this.triggerEvent(t.DiagramEvent.collectionChange,n),this.resetTool())}}this.selectedItems.annotation&&this.clearSelection()}else if(r.length>0){this.undoRedoModule&&(this.historyManager.startGroupAction(),this.blazorActions|=t.BlazorAction.GroupingInProgress,o=!0);for(var l=0;l<r.length;l++){var c=r[parseInt(l.toString(),10)],p=this.nameTable[c.parentId];if(this.nameTable[r[parseInt(l.toString(),10)].id])if(p&&p.shape instanceof Yl&&!c.isPhase){if(c.isLane){var g=p.shape.header.id?p.shape.header.height:0;(this.selectedItems.wrapper.bounds.x<=p.wrapper.bounds.x&&this.selectedItems.wrapper.bounds.width>=p.wrapper.bounds.width&&"Horizontal"===p.shape.orientation||this.selectedItems.wrapper.bounds.y<=p.wrapper.bounds.y+g&&this.selectedItems.wrapper.bounds.height>=p.wrapper.bounds.height-g&&"Vertical"===p.shape.orientation)&&(De(p)||p.shape.lanes.length>1)&&this.remove(r[parseInt(l.toString(),10)])}}else this.remove(r[parseInt(l.toString(),10)])}o&&(this.blazorActions&=~t.BlazorAction.GroupingInProgress,this.isServerUpdate=!0,this.commandHandler.getBlazorOldValues(),this.UpdateBlazorDiagramModelCollection(void 0,void 0,void 0,!0),this.historyManager.endGroupAction(),this.isServerUpdate=!1),this.clearSelection()}if(!(i&&(De(i)||this.diagramActions&t.DiagramAction.Clear)||this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.PreventHistory||!(i instanceof Hl||i instanceof xd))){var u={type:"ConnectionChanged",undoObject:k(i),redoObject:k(i),category:"Internal"};i.isLane||i.isPhase||i.isHeader&&this.nameTable[i.parentId]&&"Container"===this.nameTable[i.parentId].shape.type||this.diagramActions&t.DiagramAction.Clear||this.isStackChild(i)||this.addHistoryEntry(u)}if(this.tooltipObject.close(),i&&"helper"!==i.id&&this.lineRoutingModule&&this.constraints&t.DiagramConstraints.LineRouting&&i instanceof Hl&&"ComplexHierarchicalTree"!==this.layout.type){var f=z(i.wrapper);f.Inflate(40);var m=this.spatialSearch.findObjects(f);this.avoidLineOverlappingModule&&this.avoidLineOverlappingModule.removeConnectors(m),this.lineRoutingModule.renderVirtualRegion(this,!0);for(var y=0,v=m;y<v.length;y++){var b=v[y];b instanceof xd&&"Orthogonal"===b.type&&this.lineRoutingModule.refreshConnectorSegments(this,b,!0)}}},r.prototype.isStackChild=function(e){var i,r=this.nameTable[e.parentId];if(e&&e.parentId&&r.container&&"Stack"===r.container.type&&"UmlClassifier"!==this.nameTable[e.parentId].shape.type){i=!0;var n={type:"StackChildPositionChanged",redoObject:{sourceIndex:void 0,source:e,target:void 0,targetIndex:void 0},undoObject:{sourceIndex:r.wrapper.children.indexOf(e.wrapper),source:e,target:void 0,targetIndex:void 0},category:"Internal"};this.diagramActions&t.DiagramAction.UndoRedo||this.addHistoryEntry(n)}return i},r.prototype.deleteChild=function(t,e,i){var r;if(e=e?this.nameTable[e.id]:this.nameTable[t.parentId],r="string"==typeof t?t:t.id,e&&e.children){for(var n=0;n<e.children.length;n++)if(e.children[parseInt(n.toString(),10)]===r){e.children.splice(n,1);for(var o=0;o<e.wrapper.children.length;o++)e.wrapper.children[parseInt(o.toString(),10)].id===r&&e.wrapper.children.splice(o,1);if(!i){var a=this.getObject(e.parentId);if(a&&a.shape instanceof Yl)for(var s=0;s<a.shape.lanes.length;s++){var h=t.parentId.split(a.id);if(a.shape.lanes[parseInt(s.toString(),10)].id===h[1].slice(0,-1))for(var d=0;d<a.shape.lanes[parseInt(s.toString(),10)].children.length;d++)if(t.id===a.shape.lanes[parseInt(s.toString(),10)].children[parseInt(d.toString(),10)].id){a.shape.lanes[parseInt(s.toString(),10)].children.splice(d,1);break}}}}e.wrapper.measure(new ps),e.wrapper.arrange(e.wrapper.desiredSize)}},r.prototype.addChild=function(t,e,i){var r,n=this.nameTable[t.id];if(n.children||(n.children=[]),n.children&&("string"==typeof e?this.nameTable[""+e]&&(r=e):(r=e.id=e.id||O(),this.add(e)),r&&(!e.umlIndex||-1===e.umlIndex))){var o=this.nameTable[""+r];if(o.parentId=n.id,n.container&&"Stack"===n.container.type&&this.updateStackProperty(n,o),i)n.children.splice(i,0,r),n.wrapper.children.splice(i,0,o.wrapper);else{n.children.push(r),n.wrapper.children.push(o.wrapper);var a=this.getObject(t.parentId),s=!1;if(a&&a.shape instanceof Yl)for(var h=0;h<a.shape.lanes.length;h++){var d=nr(n,this);if(a.shape.lanes[parseInt(h.toString(),10)].id===d.id){for(var l=0;l<a.shape.lanes[parseInt(h.toString(),10)].children.length;l++)if(a.shape.lanes[parseInt(h.toString(),10)].children[parseInt(l.toString(),10)].id===o.id){s=!0;break}s||a.shape.lanes[parseInt(h.toString(),10)].children.push(o);break}}}n.wrapper.measure(new ps),n.wrapper.arrange(n.wrapper.desiredSize),n.isLane||(this.nameTable[t.id].width=n.wrapper.actualSize.width,this.nameTable[t.id].height=n.wrapper.actualSize.height,this.nameTable[t.id].offsetX=n.wrapper.offsetX,this.nameTable[t.id].offsetY=n.wrapper.offsetY),void 0!==n.container&&(o.offsetX=o.wrapper.offsetX,o.offsetY=o.wrapper.offsetY),(!n.parentId||this.nameTable[n.parentId]&&"SwimLane"!==this.nameTable[n.parentId].shape.type)&&this.updateDiagramObject(n)}return r},r.prototype.removeChild=function(t,e){var i,r=this.nameTable[t.id];if(r.children||(r.children=[]),r.children&&("string"==typeof e?this.nameTable[""+e]&&(i=e):i=e.id=e.id||O(),i&&(!e.umlIndex||-1===e.umlIndex))){var n=this.nameTable[""+i];n.parentId="",r.container&&"Stack"===r.container.type&&this.updateStackProperty(r,n);for(var o=0;o<r.children.length;o++)if(r.children[parseInt(o.toString(),10)]===i){r.children.splice(o,1);for(var a=0;a<r.wrapper.children.length;a++)r.wrapper.children[parseInt(a.toString(),10)]===n.wrapper&&r.wrapper.children.splice(a,1)}r.wrapper.measure(new ps),r.wrapper.arrange(r.wrapper.desiredSize),r.isLane||(this.nameTable[t.id].width=r.wrapper.actualSize.width,this.nameTable[t.id].height=r.wrapper.actualSize.height,this.nameTable[t.id].offsetX=r.wrapper.offsetX,this.nameTable[t.id].offsetY=r.wrapper.offsetY),(!r.parentId||this.nameTable[r.parentId]&&"SwimLane"!==this.nameTable[r.parentId].shape.type)&&this.updateDiagramObject(r)}return i},r.prototype.clear=function(){this.clearObjects(),this.clearLayers()},r.prototype.clearLayers=function(){for(var t=this.layers.length-1;t>=0;t--)this.removeLayer(this.layers[parseInt(t.toString(),10)].id);var e={id:"default_layer",visible:!0,lock:!1,objects:[],zIndex:0,objectZIndex:-1,zIndexTable:{}};this.commandHandler.addLayer(e,null,!0),this.setActiveLayer(this.layers[this.layers.length-1].id)},r.prototype.clearObjects=function(e){var i=[];i=e||(i=i.concat(this.nodes)).concat(this.connectors),this.diagramActions=this.diagramActions|t.DiagramAction.Clear;for(var r=0,n=i;r<n.length;r++){var o=n[r];this.nameTable[o.id]&&this.remove(o)}this.diagramActions=this.diagramActions&~t.DiagramAction.Clear,this.spatialSearch=new Bc(this.nameTable),this.initHistory()},r.prototype.startEditCommad=function(){var t,e=this.selectedItems.nodes[0]?this.selectedItems.nodes[0]:void 0;if(e&&e instanceof Hl)if(e.isLane&&e.parentId)for(var i=this.nameTable[e.parentId],r=i.shape.lanes,n=e.id.slice(i.id.length),o=n.substring(0,n.length-1),a=0;a<r.length;a++)e.isLane&&o===r[parseInt(a.toString(),10)].id&&(t=this.nameTable[r[parseInt(a.toString(),10)].header.id]);else if("SwimLane"===e.shape.type&&e.shape.header&&e.shape.hasHeader){var s=e.wrapper.children[0].rows[0].cells[0].children[0].id;t=this.nameTable[""+s]}this.startTextEdit(t)},r.prototype.startTextEdit=function(i,r){if(!Ve(this)&&!Ye(this)||Fe(this)){this.textEditing=!0;var n=this.scroller.transform,o=ti(this)?n.scale:1,a=void 0,s=void 0,h=void 0,d=void 0,l=void 0;if(i||(i=this.selectedItems.nodes[0]?this.selectedItems.nodes[0]:this.selectedItems.connectors[0]),i){!i.shape||"UmlClassifier"!==i.shape.type||i instanceof xd||(i=this.nameTable[i.children[0]]);var c=!1;if(l)c=!0;else{if("Text"!==i.shape.type&&0===i.annotations.length&&(i.constraints&t.NodeConstraints.ReadOnly||(this.activeLabel.isGroup=!0,this.startGroupAction(),this.addLabels(i,[{id:O(),content:""}]))),!r&&("Text"!==i.shape.type&&i.annotations.length>0||"Text"===i.shape.type))if("Text"===i.shape.type)r=i.wrapper.children[0].id.split("_")[1];else for(var p=i.annotations.length-1;p>=0;p--)i.annotations[parseInt(p.toString(),10)].visibility&&(r=i.annotations[parseInt(p.toString(),10)].id);r&&(l=this.getWrapper(i.wrapper,r))}if(i&&l&&!(l instanceof wh)&&(!ii(l,i)||c)){var g=l.style,u=void 0;u=90>(u=l.bounds.width<i.wrapper.bounds.width?l.bounds.width:i.wrapper.bounds.width)?90:u;var f=document.getElementById(this.element.id+"_editTextBoxDiv"),m=document.getElementById(this.element.id+"_editBox");if(a=m?m.value:l.content,this.activeLabel.text=a,f||m||(f=Va("div",{}),m=Va("textarea",{}),this.diagramCanvas.appendChild(f),f.appendChild(m),m.appendChild(document.createTextNode(a))),(s=wa(l.style,a,void 0,void 0,u)).isEmpty()&&(s="Text"!==i.shape.type?new ps(ho(i,l.id.split(i.id+"_")[1]).width||50,l.style.fontSize):new ps(i.width>50?50:i.width,l.style.fontSize)),i.parentId&&"UmlClassifier"===this.nameTable[i.parentId].shape.type?(s.width=i.wrapper.bounds.width-20,h=(i.wrapper.bounds.center.x+n.tx)*n.scale-s.width/2*o-2.5,d=(i.wrapper.bounds.center.y+n.ty)*n.scale-s.height/2*o-3,l.style.textAlign="Left"):(s.width=Math.max(s.width,50),h=(l.bounds.center.x+n.tx)*n.scale-s.width/2*o-2.5,d=(l.bounds.center.y+n.ty)*n.scale-s.height/2*o-3),l.flippedPoint&&No(l)){var y=l.flippedPoint.x-l.corners.topLeft.x,v=l.flippedPoint.y-l.corners.topLeft.y;h+=y,d+=v,l.flipTransformOffset={x:y,y:v}}ts(f,{id:this.element.id+"_editTextBoxDiv",style:"position: absolute;left:"+h+"px;top:"+d+"px;width:"+(s.width+1)*o+"px;height:"+s.height*o+"px; containerName:"+i.id+";"}),ts(m,{"aria-label":a,id:this.element.id+"_editBox",style:"width:"+(s.width+1)*o+"px;height:"+s.height*o+"px;resize: none;outline: none;overflow: hidden;;font-family:"+g.fontFamily+";font-size:"+g.fontSize*o+"px;text-align:"+l.style.textAlign.toLocaleLowerCase()+";",class:"e-diagram-text-edit"}),m.style.fontWeight=g.bold?"bold":"",m.style.fontStyle=g.italic?"italic":"",m.style.lineHeight=(1.2*g.fontSize+"px;").toString(),m.style.textDecoration=g.textDecoration?g.textDecoration:"",this.activeLabel.parentId=i.id,this.activeLabel.id=r,l.visible=!1,this.updateDiagramObject(i),this.diagramActions=this.diagramActions|t.DiagramAction.TextEdit,this.isTriggerEvent||(e.EventHandler.add(m,"input",this.eventHandler.inputChange,this.eventHandler),e.EventHandler.add(m,"focusout",this.focusOutEdit,this),m.select())}}}},r.prototype.updateConnectorfixedUserHandles=function(t){if(t.fixedUserHandles.length)for(var e=void 0,i=0,r=t.fixedUserHandles;i<r.length;i++){var n=r[i];e=this.getWrapper(t.wrapper,n.id),t.updateAnnotation(n,t.intermediatePoints,t.wrapper.bounds,e)}t.wrapper.measure(new ps(t.wrapper.width,t.wrapper.height)),t.wrapper.arrange(t.wrapper.desiredSize)},r.prototype.updateNodeExpand=function(t,e){for(var i=0;i<t.outEdges.length;i++){var r=this.nameTable[t.outEdges[parseInt(i.toString(),10)]],n=this.nameTable[r.targetID];r.visible=e,n&&(e||(this.updateElementVisibility(r.wrapper,r,!1),n.isExpanded=e),this.updateNodeExpand(n,n.isExpanded),n.visible=e,e||this.updateElementVisibility(n.wrapper,n,!1))}},r.prototype.updateConnectorAnnotation=function(e){if(e.annotations.length)for(var i=void 0,r=0,n=e.annotations;r<n.length;r++){var o=n[r];i=this.getWrapper(e.wrapper,o.id),e.updateAnnotation(o,e.intermediatePoints,e.wrapper.bounds,i,this.diagramActions&t.DiagramAction.Interactions)}e.wrapper.measure(new ps(e.wrapper.width,e.wrapper.height)),e.wrapper.arrange(e.wrapper.desiredSize)},r.prototype.removeChildrenFromLayout=function(t){for(var e,i=[],r=0;r<t.length;r++)(e=t[parseInt(r.toString(),10)]).parentId||e.processId||i.push(e);return i},r.prototype.doLayout=function(){var e,i=!1,r="ComplexHierarchicalTree"===this.layout.type||"HierarchicalTree"===this.layout.type,n=this.isProtectedOnChange;this.protectPropertyChange(!0);var o=this.removeChildrenFromLayout(this.nodes),a=this.layout.enableRouting&&"ComplexHierarchicalTree"===this.layout.type,s={x:this.scroller.viewPortWidth,y:this.scroller.viewPortHeight},h=!1;if("None"!==this.layout.type){if(this.organizationalChartModule||this.mindMapChartModule||this.radialTreeModule||this.symmetricalLayoutModule||this.complexHierarchicalTreeModule||this.flowchartLayoutModule){I={state:"Started",type:this.layout.type};this.triggerEvent(t.DiagramEvent.layoutUpdated,I)}if(this.organizationalChartModule)e=this.organizationalChartModule.updateLayout(o,this.nameTable,this.layout,s,this.dataSourceSettings.id,this.diagramActions),i=!0,this.canDistribute(a,r)&&this.lineDistributionModule.initLineDistribution(this.layout,this),this.layoutAnimateModule&&e.rootNode&&!this.diagramActions?this.updateNodeExpand(e.rootNode,e.rootNode.isExpanded):this.layoutAnimateModule||!e.rootNode||e.rootNode.isExpanded||this.canExpand||this.updateNodeExpand(e.rootNode,e.rootNode.isExpanded);else if(this.mindMapChartModule)o&&o.length>0&&this.mindMapChartModule.updateLayout(o,this.nameTable,this.layout,s,this.dataSourceSettings.id,this.dataSourceSettings.root),i=!0;else if(this.radialTreeModule)this.radialTreeModule.updateLayout(o,this.nameTable,this.layout,s),i=!0;else if(this.symmetricalLayoutModule)this.symmetricalLayoutModule.maxIteration=this.layout.maxIteration,this.symmetricalLayoutModule.springLength=this.layout.springLength,this.symmetricalLayoutModule.springFactor=this.layout.springFactor,this.symmetricalLayoutModule.updateLayout(o,this.connectors,this.symmetricalLayoutModule,this.nameTable,this.layout,s),i=!0;else if(this.complexHierarchicalTreeModule){if(this.canDistribute(a,r)){this.lineDistributionModule.diagram=this;this.connectors.forEach(function(t){t.obstaclePointCollection=[]})}var d=this.complexHierarchicalTreeModule.getLayoutNodesCollection(this.nodes);d.length>0&&this.complexHierarchicalTreeModule.doLayout(d,this.nameTable,this.layout,s,this),i=!0,this.canDistribute(a,r)&&this.lineDistributionModule.initLineDistribution(this.layout,this)}else if(this.flowchartLayoutModule)this.flowchartLayoutModule.updateLayout(this.nodes,this),i=!0;else{var l="OrganizationalChart"===this.layout.type?"HierarchicalTree":this.layout.type;console.warn("[WARNING] :: Module "+l+" is not available in Diagram component! You either misspelled the module name or forgot to load it.")}if(i){this.preventDiagramUpdate=!0;for(var c={},p=0,g=o;p<g.length;p++){var u=g[p];if(this.preventNodesUpdate||this.diagramActions&&this.diagramActions&t.DiagramAction.PreventIconsUpdate||(this.updateIcon(u),this.updateDefaultLayoutIcons(u)),this.preventNodesUpdate=!0,this.nodePropertyChange(u,{},{offsetX:u.offsetX,offsetY:u.offsetY},!0),this.preventNodesUpdate=!1,u.wrapper.measure(new ps(u.wrapper.width,u.wrapper.height)),u.wrapper.arrange(u.wrapper.desiredSize),this.updateDiagramObject(u,!0),u.inEdges.length>0)for(var f=0;f<u.inEdges.length;f++)c[(w=this.nameTable[u.inEdges[parseInt(f.toString(),10)]]).id]=w;if(u.outEdges.length>0)for(var m=0;m<u.outEdges.length;m++){var y=this.nameTable[u.outEdges[parseInt(m.toString(),10)]];c[y.id]=y}}for(var v=0,b=Object.keys(c);v<b.length;v++){var S=b[v];"SamePoint"!==this.layout.connectionPointOrigin&&this.lineDistributionModule&&a&&this.lineDistributionModule.resetConnectorSegments(this.nameTable[""+S]);var w=c[""+S],x=this.getPoints(w);"SamePoint"!==this.layout.connectionPointOrigin&&this.lineDistributionModule&&a&&this.lineDistributionModule.resetRoutingSegments(w,this,x),io(w,x),"Bpmn"===w.shape.type&&"Default"===w.shape.sequence&&"Sequence"===w.shape.flow&&this.commandHandler.updatePathElementOffset(w),w.wrapper.measure(new ps(void 0,void 0)),w.wrapper.arrange(w.wrapper.desiredSize),this.updateConnectorAnnotation(w),this.updateConnectorfixedUserHandles(w),this.updateQuad(w),this.updateDiagramObject(w,!0)}(a||"DifferentPoint"===this.layout.connectionPointOrigin&&this.lineDistributionModule&&r)&&(this.layout.enableRouting&&(this.refreshRoutingConnectors(),h=!0),"SamePoint"!==this.layout.connectionPointOrigin&&this.lineDistributionModule&&this.lineDistributionModule.distributeLines(this.layout,this)),this.refreshFlowChartConnectors(),this.preventDiagramUpdate=!1,this.updatePage(),this.diagramActions&t.DiagramAction.Render&&"Canvas"!==this.mode||(this.refreshDiagramLayer(),this.isRefreshed=!0)}n||this.protectPropertyChange(n)}if(i&&this.updateDiagramElementQuad(),this.diagramActions&t.DiagramAction.Render&&this.layout.enableRouting&&!h&&this.refreshRoutingConnectors(),i){var I={state:"Completed",type:this.layout.type};this.triggerEvent(t.DiagramEvent.layoutUpdated,I)}return!(this.blazorActions&t.BlazorAction.expandNode)||e},r.prototype.refreshRoutingConnectors=function(){var t=this.isProtectedOnChange;if(this.isProtectedOnChange=!0,this.routingConnectors)for(var e=0;e<this.routingConnectors.length;e++){var i=this.routingConnectors[parseInt(e.toString(),10)],r=this.nameTable[i.sourceID],n=this.nameTable[i.targetID],o=new Fc;r.visible&&n.visible&&(o.renderVirtualRegion(this,!0),o.refreshConnectorSegments(this,i,!0,!0),this.routingConnectors.splice(e,1),e--)}this.isProtectedOnChange=t},r.prototype.refreshFlowChartConnectors=function(){if(this.flowchartLayoutModule){this.flowchartLayoutModule.reRouteFlowChartConnectors(this.layout.flowChartData,this);for(var t=0;t<this.connectors.length;t++){var e=this.connectors[parseInt(t.toString(),10)];io(e,this.getPoints(e)),e.wrapper.measure(new ps(void 0,void 0)),e.wrapper.arrange(e.wrapper.desiredSize),this.updateConnectorAnnotation(e),this.updateConnectorfixedUserHandles(e),this.updateQuad(e),this.updateDiagramObject(e,!0)}}},r.prototype.canDistribute=function(t,e){var i="SamePoint"!==this.layout.connectionPointOrigin&&t||"DifferentPoint"===this.layout.connectionPointOrigin&&e||"Linear"===this.layout.arrangement&&"SamePoint"!==this.layout.connectionPointOrigin;return!(!this.lineDistributionModule||!i)||(i&&console.warn('[WARNING] :: Module "LineDistribution" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),!1)},r.prototype.saveDiagram=function(){for(var t,e,i=[],r=0;r<this.nodes.length;r++)if("SwimLane"===(t=this.nodes[parseInt(r.toString(),10)]).shape.type){e=t.wrapper.children[0].childTable;for(var n=0,o=Object.keys(e);n<o.length;n++)i=zn(e[""+o[n]],i);for(var a=0;a<i.length;a++)this.nameTable[i[parseInt(a.toString(),10)]]&&(this.swimlaneChildTable[i[parseInt(a.toString(),10)]]=this.nameTable[i[parseInt(a.toString(),10)]].zIndex);this.swimlaneZIndexTable[t.id]=t.zIndex}return Nn(this)},r.prototype.loadDiagram=function(t,e){if(e&&this.ej1SerializationModule){var i=JSON.parse(t);t=this.ej1SerializationModule.getSerializedData(i)}else e&&console.warn('[WARNING] :: Module "Ej1Serialization" is not available in Diagram component! You either misspelled the module name or forgot to load it.');return Wn(t,this)},r.prototype.saveDiagramAsMermaid=function(){return this.layout&&"Flowchart"===this.layout.type?this.saveFlowDiagramInMermaidFormat():this.layout&&"MindMap"===this.layout.type?this.saveMindmapDiagramInMermaidFormat():this.saveSequenceDiagramAsMermaid()},r.prototype.saveMindmapDiagramInMermaidFormat=function(){var t="",e=[];if(this.layout&&"MindMap"===this.layout.type&&(e.push("mindmap"),this.nodes.length>0)){var i=this.nodes.filter(function(t){return 0===t.inEdges.length})[0],r=this.convertMindmapToMermaid(i,0);e.push(r);var n=i.outEdges;this.updateTextDataSource(e,n,1),t=(e=e.filter(function(t){return""!==t.trim()})).join("\n")}return t},r.prototype.updateTextDataSource=function(t,e,i){for(var r=0;r<e.length;){var n=this.getObject(e[parseInt(r.toString(),10)]),o=this.getObject(n.targetID),a=this.convertMindmapToMermaid(o,i);t.push(a);var s=o.outEdges;s.length>0&&this.updateTextDataSource(t,s,i+1),r++}},r.prototype.convertMindmapToMermaid=function(t,e){var i=t.id,r=2*(e+1),n=" ".repeat(r),o=t.annotations.length>0?t.annotations[0].content.replace(/\n/g," "):"",a=n+o,s=n+i;if(t.shape&&"Basic"===t.shape.type){var h=t.shape;"Rectangle"===h.shape?a=s+"["+o+"]":"Ellipse"===h.shape?a=s+"(("+o+"))":"Hexagon"===h.shape&&(a=s+"{{"+o+"}}")}else if(t.shape&&"Flow"===t.shape.type)"Terminator"===t.shape.shape&&(a=s+"("+o+")");else if(t.shape&&"Path"===t.shape.type){var d=t.shape;d.data===this.bangShape?a=s+"))"+o+"((":d.data===this.cloudShape&&(a=s+")"+o+"(")}return a},r.prototype.saveFlowDiagramInMermaidFormat=function(){var t=this,e=[],i="graph TD\n",r={nodes:this.nodes,edges:this.connectors},n=r.nodes.reduce(function(t,e){return t[e.id]=e.annotations.length?e.annotations[0].content:"",t},{});return r.edges.forEach(function(r){var o=r.sourceID,a=r.targetID,s=(n[""+o],n[""+a],t.nameTable[""+o]),h=t.nameTable[""+a],d=t.getNodeShape(s),l=t.getNodeShape(h),c=r.annotations[0]&&""!==r.annotations[0].content?"|"+r.annotations[0].content+"|":"";-1===e.indexOf(o)?e.push(o):d="",-1===e.indexOf(a)?e.push(a):l="";var p=t.arrowType(r);i+="    "+o+d+" "+p+c+" "+a+l+"\n"}),r.nodes.forEach(function(t){var e=t.id,r=t.style.fill,n=t.style.strokeColor,o=t.style.strokeWidth+"px";i+="    style "+e+" fill:"+r+",stroke:"+n+",stroke-width:"+o+";\n"}),i},r.prototype.arrowType=function(t){var e=t.targetDecorator.shape,i=t.style.strokeDashArray,r=t.style.strokeWidth;return t.style.opacity<1?"~~~":""!==i?"-.->":"Arrow"===e?r>1?"==>":"--\x3e":"None"===e?"---":"--\x3e"},r.prototype.getNodeShape=function(t){var e=t.annotations.length>0?t.annotations[0].content:"",i=t.shape.shape;if(!i){var r=t.shape.data;return"M 0 0 A 1 1 0 0 0 7 0 A 1 1 0 0 0 0 0 M -1 0 A 1 1 0 0 0 8 0 A 1 1 0 0 0 -1 0"===r?"((("+e+")))":"M 0 0 L 1 -1 L 5 -1 L 6 0 L 0 0"===r?"[/"+e+"\\]":"M 0 1 L 0 6 C 2 7 4 7 6 6 L 6 1 C 5 0 1 0 0 1 C 1 2 5 2 6 1"===r?"[("+e+")]":"M 0 0 L 12 0 L 14 2 L 2 2 L 0 0"===r?"[\\"+e+"\\]":"M 0 0 L 5 0 L 4 1 L 1 1 L 0 0"===r?"[\\"+e+"/]":"M 0 0 L 2 -2 L 11 -2 L 13 0 L 11 2 L 2 2 L 0 0"===r?"{{"+e+"}}":">"+e+"]"}switch(i){case"Terminator":return"(["+e+"])";case"Process":return"["+e+"]";case"Decision":return"{"+e+"}";case"Parallelogram":return"[/"+e+"/]";case"Ellipse":return"(("+e+"))";case"PreDefinedProcess":return"[["+e+"]]";default:return"["+e+"]"}},r.prototype.loadDiagramFromMermaid=function(t){this.layout&&"Flowchart"===this.layout.type&&this.flowchartLayoutModule?this.convertMermaidToFlowChart(t):this.layout&&"MindMap"===this.layout.type&&this.mindMapChartModule?this.convertMermaidToMindmap(t):this.isSequenceDiagram(t)?this.loadSequenceDiagramFromMermaid(t):console.warn('[WARNING] :: Module "FlowchartLayout" or "MindMap" is not available in Diagram component! You either misspelled the module name or forgot to load it.')},r.prototype.countLeadingSpaces=function(t){for(var e=0,i=t.length;e<i&&" "===t.charAt(e);)e++;return e},r.prototype.convertMermaidToMindmap=function(t){if(t&&this.layout&&"MindMap"===this.layout.type&&this.mindMapChartModule){var e=t.split(/\r?\n/).filter(function(t){return t.trim().length>0});this.clear(),this.mermaidNodeBaseCollection=[];var i=[],r={text:"",children:[],currentLevel:0,branch:"Left"},n=[],o=!1,a=!1,s=!1;if(e.length>0){for(var h=this,d=0;d<e.length;d++)!function(t){var d=e[parseInt(t.toString(),10)],l=0,c="",p=h.countLeadingSpaces(d),g=d.includes('"`');if(a=d.includes('`"'),o=!!g||o,s=o||s?s:0===p&&t>0,o&&a&&!g)return r.text+="\n"+d,o=!1,"continue";if(!g&&o)return r.text+="\n"+d,"continue";if(o=!a&&o,d.length>0&&(/\s/.test(d[0])&&t>0||0===p)){if(-1!==n.findIndex(function(t){return t.space===p.toString()}))for(f=n.length-1;f>=0;f--){var u=n[parseInt(f.toString(),10)];if((y=parseFloat(u.space))>p)n.splice(f,1);else{if(y<p){n.push({space:p.toString(),level:u.level+1}),l=u.level+1;break}if(y===p){l=u.level;break}}}else if(0===n.length)n.push({space:p.toString(),level:1}),l=1;else{for(var f=n.length-1;f>=0;f--){var m=n[parseInt(f.toString(),10)],y=parseFloat(m.space);if(!(y>p)){var v=n[n.length-1];n.push({space:p.toString(),level:v.level+1});break}n.splice(f,1)}l=n[n.length-1].level}c=d.trim().replace(/^[+-]/,"")}var b={text:c,branch:void 0,children:[],currentLevel:0===t?0:l-1};if(i.length>0){for(;i.length>=l&&0!==i.length;)i.pop();i.length>0&&i[i.length-1].children.push(b)}i.push(b),r=b}(d);var l=i[0];if("mindmap"===l.text||s){if(s){var c=this.getNodeDetails(l),p={id:c.nodeId,shape:c.nodeShapeData,annotations:[{content:c.annotationContent}]};this.mermaidNodeBaseCollection.push(p),this.createDataSource(l.children,l,p.id)}else{var g=l.children[0],u=this.getNodeDetails(g),f={id:u.nodeId,shape:u.nodeShapeData,annotations:[{content:u.annotationContent}]};this.mermaidNodeBaseCollection.push(f),this.createDataSource(g.children,g,f.id)}this.addElements(this.mermaidNodeBaseCollection),this.doLayout()}}}},r.prototype.saveSequenceDiagramAsMermaid=function(){var t=this.model;return t.isLoadedFromMermaid?t.mermaidData:t.generateMermaidFromModel()},r.prototype.isSequenceDiagram=function(t){var e=t.split(/\r?\n/).filter(function(t){return t.trim().length>0});return e.length>0&&"sequenceDiagram"===e[0].trim()},r.prototype.loadSequenceDiagramFromMermaid=function(t){this.model={},this.model.parse(t,this),this.initLayerObjects();var e=this.isProtectedOnChange;this.protectPropertyChange(!0),this.model.loadDiagramFromMermaid(t,this),this.refreshDiagramLayer(),e||this.protectPropertyChange(e),this.fitToPage({mode:"Page",region:"Content",margin:{left:10,top:10,right:10,bottom:10},canZoomIn:!0,canZoomOut:!0})},r.prototype.createDataSource=function(t,e,i){for(var r=0;r<t.length;){var n=t[parseInt(r.toString(),10)],o=this.getNodeDetails(n),a={id:o.nodeId,shape:o.nodeShapeData,annotations:[{content:o.annotationContent}]},s={sourceID:i,targetID:a.id};this.mermaidNodeBaseCollection.push(a),this.mermaidNodeBaseCollection.push(s),this.createDataSource(n.children,n,a.id),r++}},r.prototype.getNodeDetails=function(t){var e=t.text.match(/^(.*?)\s*([\\[\\(\\{][\s\S]*?[\]\\)\\}]|[)\\(][\s\S]*|[)\\{][\s\S]*|[)\\(][^{}()\\[\]]*$)/),i=O(),r=t.text,n={type:"Basic",shape:"Rectangle"};if(e){i=e[1]?e[1]:i;var o=e[2].trim().replace(/["`]/g,""),a=o.charAt(0);"["===a?r=o.slice(1,-1):"("===a?(r=o.startsWith("((")?o.slice(2,-1):o.slice(1,-1),n=o.startsWith("((")?{type:"Basic",shape:"Ellipse"}:{type:"Flow",shape:"Terminator"}):")"===a?(r=o.startsWith("))")?o.slice(2,-2):o.slice(1,-1),n=o.startsWith("))")?{type:"Path",data:this.bangShape}:{type:"Path",data:this.cloudShape}):"{"===a&&(r=o.slice(2,-1),n={type:"Basic",shape:"Hexagon"})}return{nodeId:i,annotationContent:r,nodeShapeData:n}},r.prototype.convertMermaidToFlowChart=function(t){var e=[];this.clear();for(var i=(t=t.replace(/;(?!\s*[\n\r])/g,";\n")).trim().split("\n"),r=this,n=1;n<i.length;n++)!function(t){var n=i[parseInt(t.toString(),10)];(n=n.trim()).endsWith(";")&&!n.startsWith("style")&&(n=n.slice(0,-1).trim());var o=["%","subgraph","graph","flowchart","end","End"];if(""!==n&&!o.some(function(t){return n.startsWith(t)}))if(n.startsWith("style"))r.parseStyle(n,e);else{var a=r.getLineSplitting(n),s=[a[0],a[1]],h=r.getNodeData(s,e,a[2]);if(h&&h.length>0){var d=h[h.length-1];d.arrowType=a[2],""!==a[3]&&(d.label&&d.label.some(function(t){return t.trim().length>0})?d.label.push(a[3]):(d.label=[],d.label[d.parentId.length-1]=a[3])),h.filter(function(t){return t.parentId&&0===t.parentId.length}).forEach(function(t){t.parentId=null}),e=e.concat(h)}}}(n);this.createFlowChart(e),this.doLayout(),this.clearHistory()},r.prototype.createFlowChart=function(t){for(var e=[],i=0;i<t.length;i++){var r={id:(o=t[parseInt(i.toString(),10)]).id,shape:o.shape,annotations:[{content:o.name}],style:{fill:o.color,strokeColor:o.stroke,strokeWidth:o.strokeWidth}};e.push(r)}for(var n=0;n<t.length;n++){var o=t[parseInt(n.toString(),10)],a=zo(o);if(o.parentId&&o.parentId.length>1)for(var s=0;s<o.parentId.length;s++){h={id:O(),sourceID:o.parentId[parseInt(s.toString(),10)],targetID:o.id,annotations:[{content:o.label?o.label[parseInt(s.toString(),10)]:""}],style:{strokeWidth:a.strokeWidth?a.strokeWidth:1,strokeDashArray:a.strokeDashArray?a.strokeDashArray:"",opacity:void 0!==a.opacity?a.opacity:1},targetDecorator:{shape:a.targetDecorator}};e.push(h)}else if(o.parentId&&1===o.parentId.length){var h={id:O(),sourceID:o.parentId[0],targetID:o.id,annotations:[{content:o.label?o.label[0]:""}],style:{strokeWidth:a.strokeWidth?a.strokeWidth:1,strokeDashArray:a.strokeDashArray?a.strokeDashArray:"",opacity:void 0!==a.opacity?a.opacity:1},targetDecorator:{shape:a.targetDecorator}};e.push(h)}}this.addElements(e)},r.prototype.getLineSplitting=function(t){var e,i,r,n="",o=t.match(/^(.*?)\s*(-->|---|--\s*.*?\s*-->|~~~|==>|===|==\s*.*?\s*==>|\s*-\.\s*->|\s*-\.\s*-|\s*-\.\s*.*?\s*\.\s*->|\s*-\..*?\.\s*->)(.*)$/);if(o){e=o[1].trim();var a=o[2].trim();i=o[3].trim();var s=a.match(/(-\.|\\-\\-|==|--|~~)(.*?)(\1>|\.->|==>|\\->|~~>)/),h=void 0,d="";n=null!==(h=s?{text:s[2].trim()||null,arrowType:s[1]+s[3]}:{text:null,arrowType:a}).text?h.text:"",r=(d=h.arrowType).includes("--\x3e")?"single-line-arrow":d.includes("---")?"single-line":d.includes("==>")?"double-line-arrow":d.includes("==")?"double-line":d.includes("~~~")?"wiggly-arrow":d.includes("-.->")||d.includes(".->")?"dotted-arrow":d.includes("-.-")||d.includes(".-")?"dotted":"single-line-arrow"}else e=t.trim(),i=null;return[e,i,r,n]},r.prototype.parseStyle=function(t,e){if(t.startsWith("style")){var i=t.match(/^style\s+(\w+)\s+fill:([^,]+),stroke:([^,]+),stroke-width:(\d+)px;/);if(i){var r={id:i[1],fill:i[2],stroke:i[3],strokeWidth:parseInt(i[4],10)},n=e.filter(function(t){return t.id===r.id});n[0].color=r.fill,n[0].stroke=r.stroke,n[0].strokeWidth=r.strokeWidth}}},r.prototype.getNodeData=function(t,e,i){for(var r=[],n=null,o=null,a=0,s="",h=this,d=0;d<t.length;d++)!function(i){var d=t[parseInt(i.toString(),10)];if(d){var l=h.splitNested(d);if(l&&l[0].includes("|")){var c=l[0].match(/\|([^|]*)\|/);c&&(s=c[1]);var p=l[0].split("|");p.length>=3&&(l[0]=p[2].trim())}var g=l[0].trim().replace(/;$/,"");if(0===i?n=g:o=g,e.find(function(t){return t.id===g}))a++;else{var u=l.length>1?l[1]:l[0],f=h.getShape(u),m=u.replace(/[\\[\]\\(\\)\\{\\}\\{\\}\\/>]/g,""),y={id:g,name:m,shape:f,color:"white",parentId:[]};r.push(y)}}}(d);if(r.length){var l=r[r.length-1];if(l.id!==n)l.parentId.push(n),l.label?l.label.push(s):l.label=[s];else{var c=e.find(function(t){return t.id===o});c&&(c.parentId?c.parentId.push(n):c.parentId=[n],c.label?c.label.push(s):c.label=[s])}}else 2===a&&((p=e.filter(function(t){return t.id===o})[0]).parentId=p.parentId||[],p.parentId.push(n),p.label=p.label||[],p.label[p.parentId.length-1]=s);if(i){var p=e.filter(function(t){return t.id===o})[0];p&&(p.arrowType=i)}return r},r.prototype.splitNested=function(t){for(var e=[],i="",r=0,n="",o=0,a=t;o<a.length;o++){var s=a[o];"["===s||"{"===s||"("===s||">"===s?0===r?(i.trim().length>0&&e.push(i.trim()),i=s,n=s,r++):(i+=s,r++):"]"===s||"}"===s||")"===s?1===r&&s===n?(i+=s,e.push(i.trim()),i="",r--):r>1?(i+=s,r--):i+=s:i+=s}return i.trim().length>0&&e.push(i.trim()),e},r.prototype.getShape=function(t){var e={};return t.startsWith("(((")?e={type:"Path",data:"M 0 0 A 1 1 0 0 0 7 0 A 1 1 0 0 0 0 0 M -1 0 A 1 1 0 0 0 8 0 A 1 1 0 0 0 -1 0"}:t.startsWith("((")?e={shape:"Ellipse",type:"Basic"}:t.startsWith("([")?e={type:"Flow",shape:"Terminator"}:t.startsWith("(")?e={type:"Flow",shape:"Process"}:t.startsWith("[[")?e={type:"Flow",shape:"PreDefinedProcess"}:t.startsWith("[/")?e=t.endsWith("/]")?{type:"Basic",shape:"Parallelogram"}:{type:"Path",data:"M 0 0 L 1 -1 L 5 -1 L 6 0 L 0 0"}:t.startsWith("[(")?e={type:"Path",data:"M 0 1 L 0 6 C 2 7 4 7 6 6 L 6 1 C 5 0 1 0 0 1 C 1 2 5 2 6 1"}:t.startsWith("[\\")?e=t.endsWith("\\]")?{type:"Path",data:"M 0 0 L 12 0 L 14 2 L 2 2 L 0 0"}:{type:"Path",data:"M 0 0 L 5 0 L 4 1 L 1 1 L 0 0"}:t.startsWith("[")?e={type:"Basic",shape:"Rectangle"}:t.startsWith("{{")?e={type:"Path",data:"M 0 0 L 2 -2 L 11 -2 L 13 0 L 11 2 L 2 2 L 0 0"}:t.startsWith("{")?e={type:"Flow",shape:"Decision"}:t.startsWith(">")&&(e={type:"Path",data:"M 0 0 L 8 0 L 8 2 L 0 2 L 2 1 L 0 0"}),e},r.prototype.getDiagramContent=function(t){return this.printandExportModule?this.printandExportModule.getDiagramContent(t):(console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),"")},r.prototype.exportImage=function(t,e){this.printandExportModule?this.printandExportModule.exportImages(t,e):console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.')},r.prototype.printImage=function(t,e){this.printandExportModule?(e.printOptions=!0,this.printandExportModule.exportImages(t,e)):console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.')},r.prototype.setStackLimit=function(t){this.undoRedoModule&&t&&(this.historyManager.stackLimit=t,this.undoRedoModule.applyLimit(this.historyManager.currentEntry,t,this,!0))},r.prototype.clearHistory=function(){this.undoRedoModule&&this.undoRedoModule.clearHistory(this)},r.prototype.getDiagramBounds=function(){if(this.printandExportModule){var t=this.printandExportModule.getDiagramBounds("",{});return t.width=t.width>this.scrollSettings.viewPortWidth?t.width+(t.x>0?t.x:0):this.scrollSettings.viewPortWidth,t.height=t.height>this.scrollSettings.viewPortHeight?t.height+(t.y>0?t.y:0):this.scrollSettings.viewPortHeight,t.x=t.x>0?0:t.x,t.y=t.y>0?0:t.y,t}return console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),new ms},r.prototype.exportDiagram=function(t){return this.printandExportModule?this.printandExportModule.exportDiagram(t):(console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),"")},r.prototype.print=function(t){this.printandExportModule?this.printandExportModule.print(t):console.warn('[WARNING] :: Module "PrintAndExport" is not available in Diagram component! You either misspelled the module name or forgot to load it.')},r.prototype.addPorts=function(e,i){this.protectPropertyChange(!0);var r=!1;e=this.nameTable[e.id]||e;var n;i.length>1&&this.startGroupAction();for(var o=this,a=0;a<i.length;a++)!function(a){if(r=e.ports.some(function(t){return t.id===i[parseInt(a.toString(),10)].id}))return"continue";if(e instanceof Hl?(n=new th(e,"ports",i[parseInt(a.toString(),10)],!0),e.ports.push(n)):e instanceof xd&&(n=new eh(e,"ports",i[parseInt(a.toString(),10)],!0),e.ports.push(n)),e.children)for(var s=e.wrapper,h=0;h<s.children.length;h++){var d=s.children[parseInt(h.toString(),10)];if(d.id.match(s.id)){e.initPort(o.getDescription,d,n);break}}else{var l=e.wrapper;if(e instanceof Hl)l.children.push(e.initPortWrapper(e.ports[e.ports.length-1]));else if(e instanceof xd){var c="Bezier"===e.type?e.intermediatePoints:e.getConnectorPoints(e.type);c=e.clipDecorators(e,c);var p=ms.toBounds(c);l.children.push(e.initPort(e.ports[e.ports.length-1],c,p,void 0))}}if(!(o.diagramActions&t.DiagramAction.UndoRedo||o.diagramActions&t.DiagramAction.Group)){var g={type:"PortCollectionChanged",changeType:"Insert",undoObject:k(n),redoObject:k(e),category:"Internal"};o.addHistoryEntry(g)}}(a);i.length>1&&this.endGroupAction(),e.wrapper.measure(new ps(e.width,e.height)),e.wrapper.arrange(e.wrapper.desiredSize),this.updateDiagramObject(e),this.protectPropertyChange(!1)},r.prototype.addConstraints=function(t,e){return t|e},r.prototype.removeConstraints=function(t,e){return t&~e},r.prototype.addNodeLabels=function(t,e){this.addLabels(t,e)},r.prototype.addConnectorLabels=function(t,e){this.addLabels(t,e)},r.prototype.addLabels=function(e,i){this.protectPropertyChange(!0);var r,n=(e=this.nameTable[e.id]||e).wrapper;i.length>1&&this.startGroupAction();for(var o=0;o<i.length;o++){if(e instanceof Hl)if(r=new ah(e,"annotations",i[parseInt(o.toString(),10)],!0),e.annotations.push(r),e.children)for(var a=e,s=0;s<a.wrapper.children.length;s++)a.wrapper.children[parseInt(s.toString(),10)].id===a.id+"group_container"&&a.wrapper.children[parseInt(s.toString(),10)].children.push(e.initAnnotationWrapper(e.annotations[e.annotations.length-1],this.element.id));else n.children.push(e.initAnnotationWrapper(e.annotations[e.annotations.length-1],this.element.id));else if(e instanceof xd){r=new sh(e,"annotations",i[parseInt(o.toString(),10)],!0),e.annotations.push(r);var h=n.children[0],d=new ms(h.offsetX-h.width/2,h.offsetY-h.height/2,h.width,h.height);n.children.push(e.getAnnotationElement(e.annotations[e.annotations.length-1],e.intermediatePoints,d,this.getDescription,this.element.id))}if(!(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.Group)){var l={type:"LabelCollectionChanged",changeType:"Insert",undoObject:k(r),redoObject:k(e),category:"Internal"};this.addHistoryEntry(l)}}i.length>1&&this.endGroupAction(),e.wrapper.measure(new ps(n.width,n.height)),e.wrapper.arrange(n.desiredSize),this.updateDiagramObject(e),this.protectPropertyChange(!1),this.refreshCanvasLayers()},r.prototype.addChildToUmlNode=function(t,e,i){var r,n,o,a;"Class"===t.shape.classifier||"Interface"===t.shape.classifier?"Method"===i?(n=new Ll(t,"",e),"Class"===t.shape.classifier?(t.shape.classShape.methods.push(n),r=t.shape.classShape):"Interface"===t.shape.classifier&&(t.shape.interfaceShape.methods.push(n),r=t.shape.interfaceShape),Yo(t,this,r,"NoWrap")):"Attribute"===i&&(o=new El(t,"",e),"Class"===t.shape.classifier?(t.shape.classShape.attributes.push(o),r=t.shape.classShape):"Interface"===t.shape.classifier&&(t.shape.interfaceShape.attributes.push(o),r=t.shape.interfaceShape),_o(t,this,r,"NoWrap")):"Enumeration"===t.shape.classifier&&"Member"===i&&(a=new Bl(t,"",e),t.shape.enumerationShape.members.push(a),Wo(t,this,r=t.shape.enumerationShape,"NoWrap")),this.clearSelection(),this.updateSelector()},r.prototype.addLanes=function(t,e,i){t=this.nameTable[t.id]||t;for(var r=0;r<e.length;r++)ki(this,t,e[parseInt(r.toString(),10)],i),void 0!==i&&(i+=1);this.updateDiagramElementQuad()},r.prototype.addPhases=function(t,e){t=this.nameTable[t.id]||t;for(var i=0;i<e.length;i++)this.protectPropertyChange(!0),Ri(this,t,e[parseInt(i.toString(),10)]),this.protectPropertyChange(!1);this.updateDiagramElementQuad()},r.prototype.removeLane=function(e,i){if(i){var r=this.nameTable[i.header.id];this.diagramActions=this.diagramActions|t.DiagramAction.PublicMethod,Ki(this,r,e,void 0),this.updateDiagramElementQuad()}},r.prototype.removePhase=function(t,e){var i=e.header.id;$i(this,this.nameTable[""+i],t),this.updateDiagramElementQuad()},r.prototype.editSegment=function(t){if("Straight"===t.connector.type){for(var e=t.connector,i=t&&t.SegmentEditing?t.SegmentEditing:"Toggle",r=t.point,n=void 0,o=void 0,a=0;a<e.segments.length;a++)if(Mr(r,e.segments[parseInt(a.toString(),10)].point,e.hitPadding)){n=!0;break}(n&&"Remove"===i||!n&&"Add"===i)&&(o=!0),"Straight"!==e.type||!o&&"Toggle"!==i||this.connectorEditingToolModule.addOrRemoveSegment(e,r,this.commandHandler)}},r.prototype.removelabelExtension=function(e,i,r,n){for(var o=0;o<n.children.length;o++){var a=n.children[parseInt(o.toString(),10)];if((a instanceof js||a instanceof wh)&&a.id.match("_"+i[parseInt(r.toString(),10)].id+"$")){for(var s=0;s<e.annotations.length;s++)if(a.id.match("_"+e.annotations[parseInt(s.toString(),10)].id+"$")){if(!(this.diagramActions&t.DiagramAction.UndoRedo)){var h={type:"LabelCollectionChanged",changeType:"Remove",undoObject:k(e.annotations[parseInt(s.toString(),10)]),redoObject:k(e),category:"Internal"};this.addHistoryEntry(h)}e.annotations.splice(s,1)}if(n.children.splice(o,1),"SVG"===this.mode){var d=Aa(a.id,this.element.id);if(d){var l=Aa(a.id,this.element.id);l.parentNode.removeChild(l)}Aa(a.id+"_text",this.element.id)&&(d=Aa(a.id+"_text",this.element.id)).parentNode.removeChild(d);var c=Aa(a.id+"_html_element",this.element.id);c&&c.parentNode.removeChild(c)}else this.refreshCanvasLayers()}}},r.prototype.removeLabels=function(t,e){t=this.nameTable[t.id]||t,e.length>1&&this.startGroupAction();for(var i=e.length-1;i>=0;i--)if(t.children&&t.children.length>0){var r=t.wrapper.children.filter(function(e){return e.id===t.id+"group_container"});r&&r.length>0&&this.removelabelExtension(t,e,i,r[0])}else this.removelabelExtension(t,e,i,t.wrapper);e.length>1&&this.endGroupAction(),this.refreshCanvasLayers()},r.prototype.removePortsExtenion=function(e,i,r,n){for(var o=0;o<n.children.length;o++){var a=n.children[parseInt(o.toString(),10)];if(a instanceof Ws&&a.id.match("_"+i[parseInt(r.toString(),10)].id+"$")){for(var s=0;s<e.ports.length;s++)if(a.id.match("_"+e.ports[parseInt(s.toString(),10)].id+"$")){if(!(this.diagramActions&t.DiagramAction.UndoRedo)){var h={type:"PortCollectionChanged",changeType:"Remove",undoObject:k(e.ports[parseInt(s.toString(),10)]),redoObject:k(e),category:"Internal"};this.addHistoryEntry(h)}e.ports.splice(s,1)}if(n.children.splice(o,1),"SVG"===this.mode){var d=Aa(a.id,this.element.id);d&&d.parentNode.removeChild(d)}else this.refreshCanvasLayers()}}},r.prototype.removePorts=function(t,e){t=this.nameTable[t.id]||t;var i=e.length;i>1&&this.startGroupAction();for(var r=e.length-1;r>=0;r--)if(t.children&&t.children.length>0)for(var n=0;n<t.wrapper.children.length;n++)t.wrapper.children[parseInt(n.toString(),10)].id.match(t.wrapper.id)&&this.removePortsExtenion(t,e,r,t.wrapper.children[parseInt(n.toString(),10)]);else this.removePortsExtenion(t,e,r,t.wrapper);i>1&&this.endGroupAction()},r.prototype.getSizeValue=function(t,e){var i;if(i=t.toString().indexOf("px")>0?t.toString():t.toString().indexOf("%")>0?void 0!==e?"100%":t.toString():t.toString()+"px",e){Vr(this);i="calc("+i+" - "+e+"px)"}return i},r.prototype.renderRulers=function(){this.rulerSettings.showRulers?(Wr(this),_r(this,!0),_r(this,!1)):Yr(this)},r.prototype.intOffPageBackground=function(){var t=new ps;t=Vr(this);var e=document.getElementById(this.element.id+"content");this.width||(this.width="100%"),this.height||(this.height="100%");var i=this.getSizeValue(this.width,t.width),r=this.getSizeValue(this.height,t.height),n=this.rulerSettings.showRulers?"width:"+i+"; height:"+r+";top:"+t.height+"px;left:"+t.width+"px;overflow: scroll;position:absolute;overflow:auto;":"width:"+i+"; height:"+r+";position:absolute; left:0px;  top:0px;overflow: auto;",o={id:this.element.id+"content",tabindex:"0",style:n};e?(this.diagramCanvas=e,$a(this.diagramCanvas,n)):(this.diagramCanvas=Va("div",o),this.element.appendChild(this.diagramCanvas)),this.diagramCanvas.style.background=this.backgroundColor},r.prototype.initDiagram=function(){this.intOffPageBackground(),ts(this.element,{style:"width:"+this.getSizeValue(this.width)+"; height:"+this.getSizeValue(this.height)+";position:relative;overflow:hidden;"})},r.prototype.renderHiddenUserHandleTemplateLayer=function(t){var e=Va("div",{class:this.element.id+"_hiddenUserHandleTemplate",style:"width:"+t.width+"px; height:"+t.height+"px;visibility:hidden ;  overflow: hidden;"});this.element.appendChild(e)},r.prototype.renderBackgroundLayer=function(t,e){var i=this.createSvg(this.element.id+"_backgroundLayer_svg",t.width,t.height);$a(i,e);var r=Xa("g",{id:this.element.id+"_backgroundImageLayer",class:"e-background-image-layer"});i.appendChild(r);var n=Xa("g",{id:this.element.id+"_backgroundLayer",class:"e-background-layer"});i.appendChild(n),this.diagramCanvas.appendChild(i)},r.prototype.renderGridLayer=function(t,e){var i=this.createSvg(this.element.id+"_gridline_svg",t.width,t.height);i.setAttribute("class","e-grid-layer");var r=Xa("g",{id:this.element.id+"_gridline"}),n=Xa("rect",{id:this.element.id+"_grid_rect",x:"0",y:"0",width:"100%",height:"100%"});To()?""!==new URL(window.location.href).search?n.setAttribute("fill","url(#"+this.element.id+"_pattern)"):n.setAttribute("fill","url("+location.protocol+"//"+location.host+location.pathname+"#"+this.element.id+"_pattern)"):n.setAttribute("fill","url(#"+this.element.id+"_pattern)"),r.appendChild(n),i.appendChild(r),this.diagramCanvas.appendChild(i),Ja(i,{style:e})},r.prototype.renderDiagramLayer=function(t,e){var i={id:this.element.id+"_diagramLayer_div",style:"width:"+t.width+"px; height:"+t.height+"px;"+e};if(this.diagramLayerDiv=Va("div",i),"SVG"===this.mode){var r=this.createSvg(this.element.id+"_diagramLayer_svg",t.width,t.height);r.style["pointer-events"]="none",r.setAttribute("class","e-diagram-layer");var n=Xa("g",{id:this.element.id+"_diagramLayer"}),o=Xa("g",{});this.diagramLayer=n,r.style["pointer-events"]="all",o.appendChild(n),r.appendChild(o),this.diagramLayerDiv.appendChild(r)}else this.diagramLayer=Zl.createCanvas(this.element.id+"_diagram",t.width,t.height),$a(this.diagramLayer,"position:absolute;left:0px;top:0px;"),this.diagramLayerDiv.appendChild(this.diagramLayer);this.diagramCanvas.appendChild(this.diagramLayerDiv)},r.prototype.initLayers=function(){var t="position:absolute;top:0px;left:0px;overflow:hidden;pointer-events:none;",e=document.getElementById(this.element.id),i=e.getBoundingClientRect();this.setScaleFromElement(i,e),this.modifyBounds(i);var r=Za();this.scroller.scrollerWidth=r,this.scroller.setViewPortSize(i.width,i.height),this.renderRulers();window.measureElement&&(window.measureElement=null,document.getElementById("measureElement").remove()),es(),this.renderBackgroundLayer(i,t),this.renderGridLayer(i,t),this.renderDiagramLayer(i,t),this.renderHTMLLayer(i,t),this.renderPortsExpandLayer(i,t),this.renderNativeLayer(i,t),this.renderAdornerLayer(i,t),this.renderHiddenUserHandleTemplateLayer(i)},r.prototype.setScaleFromElement=function(t,e){var i=t.width/e.clientWidth;this.scaleValue=i},r.prototype.modifyBounds=function(t){var e=this.scaleValue;t.x=t.x/e,t.y=t.y/e,t.width=t.width/e,t.height=t.height/e},r.prototype.modifyClientOffset=function(t,e){var i=this.scaleValue;return e?t*i:t/i},r.prototype.renderAdornerLayer=function(t,e){var i=Va("div",{id:this.element.id+"_diagramAdornerLayer",style:"width:"+t.width+"px;height:"+t.height+"px;"+e}),r=Va("div",{id:this.element.id+"_diagramUserHandleLayer",style:"width:"+t.width+"px;height:"+t.height+"px;"+e});r.setAttribute("class","e-userHandle-layer"),i.appendChild(r);var n=this.createSvg(this.element.id+"_diagramAdorner_svg",t.width,t.height);n.setAttribute("class","e-adorner-layer"),n.style["pointer-events"]="none",this.adornerLayer=Xa("g",{id:this.element.id+"_diagramAdorner"}),this.adornerLayer.style[" pointer-events"]="all",n.appendChild(this.adornerLayer),i.appendChild(n),this.diagramCanvas.appendChild(i);var o=Xa("g",{id:this.element.id+"_SelectorElement"});this.adornerLayer.appendChild(o),Ja(n,{style:"pointer-events:none;"})},r.prototype.renderPortsExpandLayer=function(t,e){var i=this.createSvg(this.element.id+"_diagramPorts_svg",t.width,t.height);i.setAttribute("class","e-ports-expand-layer");var r=Xa("g",{id:this.element.id+"_diagramPorts",class:"e-ports-layer",style:"pointer-events: all;"});i.appendChild(r);var n=Xa("g",{id:this.element.id+"_diagramExpander",class:"e-expand-layer",style:"pointer-events: all;"});i.appendChild(n),this.diagramCanvas.appendChild(i),Ja(i,{style:e})},r.prototype.renderHTMLLayer=function(t,e){this.htmlLayer=Va("div",{id:this.element.id+"_htmlLayer",style:"width:"+t.width+"px; height:"+t.height+"px;position:absolute;top:0px;left:0px;overflow:hidden;pointer-events:none;",class:"e-html-layer"});var i=Va("div",{id:this.element.id+"_htmlLayer_div",style:"position:absolute;top:0px;left:0px;pointer-events:all;"});this.htmlLayer.appendChild(i),this.diagramCanvas.appendChild(this.htmlLayer)},r.prototype.renderNativeLayer=function(t,e){var i=this.createSvg(this.element.id+"_nativeLayer_svg",t.width,t.height),r=Xa("g",{id:this.element.id+"_nativeLayer",style:"pointer-events:all;"});i.appendChild(r),this.diagramLayerDiv.appendChild(i),Ja(i,{class:"e-native-layer",style:e})},r.prototype.createSvg=function(t,e,i){var r=document.createElementNS("http://www.w3.org/2000/svg","svg");return Ja(r,{id:t,width:e,height:i}),r},r.prototype.updateBazorShape=function(){for(var t=0;t<this.nodes.length;t++){var e=this.nodes[parseInt(t.toString(),10)];switch(e.shape.type){case"Bpmn":e.shape.bpmnShape=e.shape.shape;break;case"UmlActivity":e.shape.umlActivityShape=e.shape.shape;break;case"Flow":e.shape.flowShape=e.shape.shape;break;case"Basic":e.shape.basicShape=e.shape.shape;break;case"Text":e.shape.textContent=e.shape.content}}},r.prototype.initObjects=function(t){this.updateBazorShape(),this.isLoading||this.initData(),this.initLayerObjects(),this.updateBridging(t)},r.prototype.initLayerObjects=function(){for(var e=this.layers.length>1,i=[],r={},n={},o={},a=[],s=0,h=this.nodes;s<h.length;s++)(T=h[s]).id=T.id||O(),this.addToLayer(T,e),r[T.id]=T;for(var d=0,l=this.connectors;d<l.length;d++)(T=l[d]).id=T.id||O(),this.addToLayer(T,e),r[T.id]=T;this.tempTable=r;for(var c=0,p=this.layers;c<p.length;c++){for(var g=0,u=(A=p[c]).objects;g<u.length;g++)if(r[""+(T=u[g])])if(r[""+T]instanceof xd)if((L=r[""+T]).sourceID&&L.targetID){var f=r[L.sourceID],m=r[L.targetID],y=!0;this.isLoading&&(f&&f.children&&f.children.length>0||m&&m.children&&m.children.length>0)&&(y=!1),f&&f.wrapper&&m&&m.wrapper&&y?this.initConnectors(r[""+T],A):i.push(r[""+T])}else{var f=r[L.sourceID],m=r[L.targetID];f&&f.children&&f.children.length>0||m&&m.children&&m.children.length>0?i.push(r[""+T]):this.initConnectors(r[""+T],A)}else r[""+T].children?a.push(T):r[""+T].shape instanceof Al&&r[""+T].shape.activity.subProcess.processes&&r[""+T].shape.activity.subProcess.processes.length>0?n[r[""+T].id]=T:r[""+T].shape instanceof Vl&&r[""+T].shape.children&&r[""+T].shape.children.length>0?o[r[""+T].id]=T:this.initNodes(r[""+T],A);if(this.pathDataStorage&&this.pathDataStorage.clear(),this.bpmnModule)for(var v=0,b=this.bpmnModule.bpmnTextAnnotationConnector;v<b.length;v++){T=b[v];this.initConnectors(T,void 0,!0)}}for(var S=0,w=Object.keys(n);S<w.length;S++){T=w[S];this.initObject(r[""+T]),this.bpmnModule.updateDocks(r[""+T],this)}var x=[];Object.keys(o).length>0&&(x=this.sortContainersTopologically(o,r));for(var I=0,C=x;I<C.length;I++){T=C[I];this.initObject(r[""+T]),aa(r[""+T],this)}for(var P=0,D=this.alignGroup(a,r);P<D.length;P++){var T=D[P],A=this.commandHandler.getObjectLayer(T);this.initNodes(r[""+T],A)}for(var M=0,E=i;M<E.length;M++){var L=E[M],A=this.commandHandler.getObjectLayer(L.id);this.initConnectors(L,A)}for(var z=0,k=this.connectorOrRotatedGroups;z<k.length;z++)if((T=k[z]).children&&T.flip!==t.FlipDirection.None&&!this.refreshing){this.groupBounds=T.wrapper.bounds,Vd(T.wrapper,T.wrapper.offsetX,T.wrapper.offsetY,this,T.wrapper.flip,void 0,void 0);for(var B=0,N=T.children;B<N.length;B++){var R=N[B],j=this.nameTable[""+R];j instanceof xd&&j.sourceID&&j.targetID&&this.updateConnectorProperties(j)}T.wrapper.measure(new ps(T.wrapper.actualSize.width,T.wrapper.actualSize.height)),T.wrapper.arrange(T.wrapper.desiredSize)}},r.prototype.hasNestingContainer=function(t,e){for(var i=!1,r=0,n=Object.keys(t);r<n.length;r++){var o=e[""+n[r]];if(o&&o.shape instanceof Vl&&Array.isArray(o.shape.children))for(var a=0,s=o.shape.children;a<s.length;a++)if(t[""+s[a]]){i=!0;break}if(i)break}return i},r.prototype.sortContainersTopologically=function(t,e){if(!this.hasNestingContainer(t,e))return Object.keys(t);for(var i={},r={},n=[],o=0,a=Object.keys(t);o<a.length;o++)i[""+(m=a[o])]=[],r[""+m]=0;for(var s=0,h=Object.keys(t);s<h.length;s++){var d=h[s],l=e[""+d];if(l&&l.shape instanceof Vl&&Array.isArray(l.shape.children)&&l.shape.children.length>0)for(var c=0,p=l.shape.children;c<p.length;c++)t[""+(S=p[c])]&&(i[""+d].push(S),r[""+S]=(r[""+S]||0)+1)}for(var g=[],u=0,f=Object.keys(r);u<f.length;u++){var m=f[u];0===r[""+m]&&g.push(m)}for(;g.length>0;){var y=g.shift();n.push(y);for(var v=0,b=i[""+y];v<b.length;v++){var S=b[v];0===--r[""+S]&&g.push(S)}}return n.reverse()},r.prototype.alignGroup=function(t,e){var i,r,n,o,a=[],s=[];for(n=0;n<t.length;n++){var h=void 0;if((r=e[""+(i=t[parseInt(n.toString(),10)])])&&r.children.length)for(o=0;o<r.children.length;o++)h=r.children[parseInt(o.toString(),10)],t.indexOf(h)>-1&&-1===a.indexOf(h)&&-1===s.indexOf(h)&&a.splice(0,0,h);-1===a.indexOf(i)&&s.push(i)}return a=a.concat(s)},r.prototype.addToLayer=function(t,e){var i;if(e&&(i=this.commandHandler.getObjectLayer(t.id)),e&&i||this.activeLayerObjectsSet.has(t.id)||(this.activeLayer.objects.push(t.id),this.activeLayerObjectsSet.add(t.id)),(t instanceof Hl||t instanceof xd)&&("SwimLane"!==t.shape.type||t.children&&t.children.length>0)){if(t.parentId){var r=this.swimlaneZIndexTable[t.parentId],n=this.swimlaneChildTable[t.id];(r&&-1!==r||n&&-1!==n)&&(t.zIndex=this.swimlaneChildTable[t.id])}t instanceof xd&&t.sourceID&&t.targetID?this.activeLayerObjectsSet.has(t.sourceID)&&this.activeLayerObjectsSet.has(t.targetID)&&this.setZIndex(i||this.activeLayer,t):this.setZIndex(i||this.activeLayer,t)}},r.prototype.updateLayer=function(t){for(var e=0,i=Object.keys(t.layers);e<i.length;e++){for(var r=i[e],n=0,o=this.layers[""+r].objects;n<o.length;n++){var a=o[n],s=this.nameTable[""+a];void 0!==t.layers[""+r].visible?this.updateElementVisibility(s.wrapper,s,t.layers[""+r].visible):!0===t.layers[""+r].lock&&this.unSelect(s)}void 0!==t.layers[""+r].lock&&(this.layers[""+r].lock=t.layers[""+r].lock)}"SVG"!==this.mode&&this.refreshDiagramLayer()},r.prototype.updateScrollSettings=function(e,i){var r=-this.scroller.horizontalOffset+e.scrollSettings.horizontalOffset||0,n=-this.scroller.verticalOffset+e.scrollSettings.verticalOffset||0;this.scrollSettings.horizontalOffset=-this.scroller.horizontalOffset||0,this.scrollSettings.verticalOffset=-this.scroller.verticalOffset||0;var o="Start";this.realActions&t.RealAction.PanInProgress&&(o="Progress");var a;"Start"===o?(a={VerticalOffset:void 0!==i.scrollSettings.verticalOffset?i.scrollSettings.verticalOffset:this.scrollSettings.verticalOffset,HorizontalOffset:void 0!==i.scrollSettings.horizontalOffset?i.scrollSettings.horizontalOffset:this.scrollSettings.horizontalOffset,ViewportHeight:void 0!==i.scrollSettings.viewPortHeight?i.scrollSettings.viewPortHeight:this.scrollSettings.viewPortHeight,ViewportWidth:void 0!==i.scrollSettings.viewPortWidth?i.scrollSettings.viewPortWidth:this.scrollSettings.viewPortWidth,CurrentZoom:void 0!==i.scrollSettings.currentZoom?i.scrollSettings.currentZoom:this.scroller.currentZoom},this.initialScrollValues=a):"Progress"===o&&(a={VerticalOffset:this.currentScrollValues.VerticalOffset,HorizontalOffset:this.currentScrollValues.HorizontalOffset,ViewportHeight:this.currentScrollValues.ViewportHeight,ViewportWidth:this.currentScrollValues.ViewportWidth,CurrentZoom:this.currentScrollValues.CurrentZoom}),0===r&&0===n||(this.pan(r,n),this.scrollSettings.horizontalOffset=-this.scroller.horizontalOffset||0,this.scrollSettings.verticalOffset=-this.scroller.verticalOffset||0);var s={VerticalOffset:this.scrollSettings.verticalOffset,HorizontalOffset:this.scrollSettings.horizontalOffset,ViewportHeight:this.scrollSettings.viewPortHeight,ViewportWidth:this.scrollSettings.viewPortWidth,CurrentZoom:this.scroller.currentZoom};this.currentScrollValues=s;var h={oldValue:a,newValue:s,source:this,panState:o};this.triggerEvent(t.DiagramEvent.scrollChange,h),this.commandHandler.updatePanState(!0),"Canvas"===this.mode&&this.constraints&t.DiagramConstraints.Virtualization&&this.refreshDiagramLayer()},r.prototype.updateFromModel=function(){if(this.model.participants.length>0){this.model.updateUmlSequenceDiagram(this),this.initLayerObjects();var e=this.isProtectedOnChange;this.protectPropertyChange(!0),this.model.render(),this.refreshDiagramLayer(),this.diagramActions&t.DiagramAction.Render&&"Canvas"!==this.mode||(this.isRefreshed=!0),e||this.protectPropertyChange(e),this.fitToPage({mode:"Page",region:"Content",margin:{left:10,top:10,right:10,bottom:10},canZoomIn:!0,canZoomOut:!0})}},r.prototype.initData=function(){var e=this.dataSourceSettings.dataManager||this.dataSourceSettings.dataSource;if(!this.dataBindingModule||this.realActions&t.RealAction.PreventDataInit)e&&!this.dataBindingModule&&console.warn('[WARNING] :: Module "DataBinding" is not available in Diagram component! You either misspelled the module name or forgot to load it.');else if(e&&this.dataSourceSettings.connectionDataSource.dataManager){var i=this.dataSourceSettings.dataManager||this.dataSourceSettings.dataSource;this.nodes=this.generateData(i,!0),this.connectors=this.generateData(this.dataSourceSettings.connectionDataSource.dataManager,!1)}else e&&e.dataSource&&(e.dataSource.url||"BlazorAdaptor"===e.adaptorName&&!e.dataSource.url)?this.dataBindingModule.initSource(this.dataSourceSettings,this):this.dataBindingModule.initData(this.dataSourceSettings,this)},r.prototype.generateData=function(t,e){var i,r=[];for(i=0;i<t.length;i++){var n=t[parseInt(i.toString(),10)],o=e?this.makeData(n,!0):this.makeData(n,!1);o&&o.id&&!$r(r,o.id)&&r.push(o)}return r},r.prototype.makeData=function(t,e){var i,r=e?this.dataSourceSettings:this.dataSourceSettings.connectionDataSource,n={};if(n.id=t[r.id]?t[r.id]:O(),r.sourceID&&(n.sourceID=t[r.sourceID]),r.targetID&&(n.targetID=t[r.targetID]),t[r.sourcePointX]&&t[r.sourcePointY]&&(n.sourcePoint={x:Number(t[r.sourcePointX]),y:Number(t[r.sourcePointY])}),t[r.targetPointX]&&t[r.targetPointY]&&(n.targetPoint={x:Number(t[r.targetPointX]),y:Number(t[r.targetPointY])}),r.crudAction.customFields&&r.crudAction.customFields.length>0)for(i=0;i<r.crudAction.customFields.length;i++)n[r.crudAction.customFields[parseInt(i.toString(),10)]]=t[r.crudAction.customFields[parseInt(i.toString(),10)]];return n},r.prototype.initNodes=function(t,e){this.preventDiagramUpdate=!0,this.initObject(t,e),this.preventDiagramUpdate=!1},r.prototype.initConnectors=function(t,e,i){this.preventDiagramUpdate=!0,this.initObject(t,e,i),this.updateEdges(t),this.preventDiagramUpdate=!1},r.prototype.setZIndex=function(t,e){var i=t;if(e.zIndex===Number.MIN_VALUE){for(;i.zIndexTable[i.objectZIndex+1];)t.objectZIndex++;this.setIndex(t,e)}else{var r=null!==e.zIndex?e.zIndex:i.objectZIndex+1;if(i.zIndexTable[parseInt(r.toString(),10)])for(var n=Object.keys(i.zIndexTable).length,o=0;o<n;o++)if(o===r){for(var a=n;a>r;a--)i.zIndexTable[parseInt(a.toString(),10)]=i.zIndexTable[a-1],this.nameTable[i.zIndexTable[parseInt(a.toString(),10)]]&&(this.nameTable[i.zIndexTable[parseInt(a.toString(),10)]].zIndex=a);i.zIndexTable[parseInt(o.toString(),10)]=e.id}}},r.prototype.setIndex=function(t,e){var i=this,r=function(e){e.zIndex=++t.objectZIndex,"Bpmn"===e.shape.type&&e.shape.activity&&e.shape.activity.subProcess&&e.shape.activity.subProcess.processes&&e.shape.activity.subProcess.processes.length&&e.shape.activity.subProcess.processes.forEach(function(e){var r=i.nameTable[""+e];r&&(r.zIndex=++t.objectZIndex)})},n=function(e){var n=i.nodes.find(function(t){return t.id===e}),o=i.connectors.find(function(t){return t.id===e});n?n.children&&n.children.length>0?i.setIndex(t,n):n.shape.activity&&n.shape.activity.subProcess&&n.shape.activity.subProcess.processes&&n.shape.activity.subProcess.processes.length>0?i.setIndex(t,n):r(n):o&&r(o)};if(-1!==t.objects.indexOf(e.id))if(e instanceof Hl){if(r(e),"SwimLane"!==e.shape.type&&e.children&&e.children.length>0)for(var o=0;o<e.children.length;o++)n(e.children[parseInt(o.toString(),10)]);else if(e.shape.activity&&e.shape.activity.subProcess&&e.shape.activity.subProcess.processes&&e.shape.activity.subProcess.processes.length>0)for(var a=0;a<e.shape.activity.subProcess.processes.length;a++)n(e.shape.activity.subProcess.processes[parseInt(a.toString(),10)])}else r(e)},r.prototype.initializeDiagramLayers=function(){for(r=0;r<this.layers.length;r++)if(-1!==this.layers[parseInt(r.toString(),10)].zIndex){o=this.layers[parseInt(r.toString(),10)];this.layers[parseInt(r.toString(),10)]=this.layers[this.layers[parseInt(r.toString(),10)].zIndex],this.layers[o.zIndex]=o}for(var t=0,e=this.layers;t<e.length;t++){var i=e[t];i.zIndex=-1!==i.zIndex?i.zIndex:this.layers.indexOf(i),this.layerZIndexTable[i.zIndex]=i.id}for(var r=0;r<this.layers.length;r++)for(var n=r+1;n<this.layers.length;n++)if(this.layers[parseInt(r.toString(),10)].zIndex>this.layers[parseInt(n.toString(),10)].zIndex){var o=this.layers[parseInt(r.toString(),10)];this.layers[parseInt(r.toString(),10)]=this.layers[parseInt(n.toString(),10)],this.layers[parseInt(n.toString(),10)]=o}if(this.layers.length>0&&"default_layer"!==(this.activeLayer?this.activeLayer.id:void 0)){var a=this.layers.flatMap(function(t){return t.objects}),s=[].concat(this.nodes,this.connectors).filter(function(t){return!a.includes(t.id)});if(s.length>0){var h=s.map(function(t){return t.id}),d={id:"default_layer",visible:!0,lock:!1,objects:[],zIndex:0,objectZIndex:-1,zIndexTable:{}};this.commandHandler.addLayer(d,null,!0);var l=this.layers.findIndex(function(t){return"default_layer"===t.id});if(-1!==l){var c=this.layers.splice(l,1)[0];this.layers.unshift(c),c.objects=h}}}if(0===this.layers.length){d={id:"default_layer",visible:!0,lock:!1,objects:[],zIndex:0,objectZIndex:-1,zIndexTable:{}};this.commandHandler.addLayer(d,null,!0)}this.setActiveLayer(this.layers[this.layers.length-1].id)},r.prototype.resetTool=function(){this.eventHandler.resetTool()},r.prototype.initObjectExtend=function(t,e,i){if(i){var r=this.commandHandler.checkBoundaryConstraints(void 0,void 0,t.wrapper.bounds,!0);if("SwimLane"===t.shape.type)for(var n=0,o=Object.keys(e.zIndexTable);n<o.length;n++)e.zIndexTable[o[parseInt(n.toString(),10)]]&&e.zIndexTable[o[parseInt(n.toString(),10)]]===t.id&&delete e.zIndexTable[o[parseInt(n.toString(),10)]];if(e.zIndexTable[t.zIndex]=t.id,!r){for(var a=t instanceof Hl?this.nodes:this.connectors,n=0;n<=a.length;n++)a[parseInt(n.toString(),10)]&&t.id===a[parseInt(n.toString(),10)].id&&a.splice(n,1);delete e.zIndexTable[t.zIndex]}}},r.prototype.initObject=function(e,i,r,n){if(void 0===r&&(r=!0),void 0!==e){if(r&&(i||(this.addToLayer(e,!1),i=this.activeLayer),(e instanceof Hl||e instanceof xd)&&("SwimLane"!==e.shape.type||e.children&&e.children.length>0)&&this.setZIndex(i,e)),e instanceof Hl){if(r){if("helper"!==e.id&&!(this.diagramActions&t.DiagramAction.UndoRedo)&&(o=Z(this.getNodeDefaults))){if((a=o(e,this))&&a.ports)for(m=0;m<a.ports.length;m++)a.ports[parseInt(m.toString(),10)].inEdges=[],a.ports[parseInt(m.toString(),10)].outEdges=[];a&&a!==e&&R(a,e)}this.initNode(e,this.element.id)}}else if(e instanceof xd){var o=Z(this.getConnectorDefaults);if(o){var a=o(e,this);a&&a!==e&&R(a,e),e.segments.length&&e.type!==e.segments[0].type&&(e.segments=[])}var s=this.nameTable[e.sourceID],h=this.nameTable[e.targetID],d=this.getConnectedPort(s,e,!0),l=this.getConnectedPort(h,e),c=this.findInOutConnectPorts(s,!1),p=this.findInOutConnectPorts(h,!0);(void 0!==s&&Ne(s)||""!==e.sourcePortID&&Re(c))&&(e.sourceWrapper=this.getEndNodeWrapper(s,e,!0),e.sourcePortID&&d&&d.constraints&&!(d.constraints&t.PortConstraints.None)&&d.constraints&t.PortConstraints.OutConnect&&(e.sourcePortWrapper=this.getWrapper(s.wrapper,e.sourcePortID))),(void 0!==h&&ke(h)||""!==e.targetPortID&&Be(p))&&(e.targetWrapper=this.getEndNodeWrapper(h,e,!1),e.targetPortID&&l&&l.constraints&&!(l.constraints&t.PortConstraints.None)&&l.constraints&t.PortConstraints.InConnect&&(e.targetPortWrapper=this.getWrapper(h.wrapper,e.targetPortID))),r||io(e,e.getConnectorPoints(e.type)),r&&e.init(this);for(var g=0;g<e.wrapper.children.length;g++)this.pathTable[e.wrapper.children[parseInt(g.toString(),10)].data]&&(e.wrapper.children[parseInt(g.toString(),10)].absoluteBounds=this.pathTable[e.wrapper.children[parseInt(g.toString(),10)].data].absoluteBounds);e.wrapper.measure(new ps(void 0,void 0)),e.wrapper.arrange(e.wrapper.desiredSize),e instanceof xd&&"Bezier"===e.type&&(this.updateConnectorAnnotation(e),this.updateConnectorfixedUserHandles(e));for(var u=0;u<e.wrapper.children.length;u++)this.pathTable[e.wrapper.children[parseInt(u.toString(),10)].data]={},this.pathTable[e.wrapper.children[parseInt(u.toString(),10)].data].absoluteBounds=e.wrapper.children[parseInt(u.toString(),10)].absoluteBounds}if(e instanceof Hl&&e.children&&e.container)for(m=0;m<e.children.length;m++)this.nameTable[e.children[parseInt(m.toString(),10)]].offsetX=this.nameTable[e.children[parseInt(m.toString(),10)]].wrapper.offsetX,this.nameTable[e.children[parseInt(m.toString(),10)]].offsetY=this.nameTable[e.children[parseInt(m.toString(),10)]].wrapper.offsetY;if(e instanceof Hl&&e.shape&&"Activity"===e.shape.shape&&"SubProcess"===e.shape.activity.activity&&e.shape.activity.subProcess.processes)for(var f=e.shape.activity.subProcess.processes,m=0;m<f.length;m++)this.nameTable[f[parseInt(m.toString(),10)]]&&(this.nameTable[f[parseInt(m.toString(),10)]].offsetX=this.nameTable[f[parseInt(m.toString(),10)]].wrapper.offsetX,this.nameTable[f[parseInt(m.toString(),10)]].offsetY=this.nameTable[f[parseInt(m.toString(),10)]].wrapper.offsetY,this.updateQuad(this.nameTable[f[parseInt(m.toString(),10)]]));if(this.initObjectExtend(e,i,r),this.nameTable[e.id]=e,!this.refreshing&&e.shape.annotations&&e.shape.annotations.length>0)for(m=0;m<e.shape.annotations.length&&e.shape.annotations[parseInt(m.toString(),10)].text;m++)this.getBPMNTextAnnotation(e,this,e.shape.annotations[parseInt(m.toString(),10)],!1);if(e instanceof Hl&&e.children){this.preventNodesUpdate=!0,this.preventConnectorsUpdate=!0,n||e.container||this.updateGroupOffset(e,!0),this.groupTable[e.id]=e.children;for(m=0;m<e.children.length;m++){var y=this.nameTable[e.children[parseInt(m.toString(),10)]];y&&(y.parentId=e.id)}this.isLoading||!e.rotateAngle||e.container||this.isUndo||this.commandHandler.rotateObjects(e,[e],e.rotateAngle,{x:e.offsetX,y:e.offsetY},!1),this.preventNodesUpdate=!1,this.preventConnectorsUpdate=!1}void 0===this.enterObject&&this.updateQuad(e)}!1===e.visible&&this.updateElementVisibility(e.wrapper,e,!1)},r.prototype.getConnectedPort=function(t,e,i){if(t&&t.ports)for(var r=0,n=t.ports;r<n.length;r++){var o=n[r];if(o.id===e.sourcePortID&&i)return o;if(o.id===e.targetPortID&&!i)return o}return null},r.prototype.scaleObject=function(e,i,r){var n=r?e.wrapper.actualSize.width:e.wrapper.actualSize.height,o=r?1+(i-n)/n:1,a=r?1:1+(i-n)/n;this.realActions|=t.RealAction.PreventDrag,this.scale(e,o,a,{x:.5,y:.5}),this.realActions&=~t.RealAction.PreventDrag},r.prototype.updateDefaultLayoutIcons=function(t){"OrganizationalChart"!==this.layout.type&&"HierarchicalTree"!==this.layout.type&&"ComplexHierarchicalTree"!==this.layout.type||(this.updateDefaultLayoutIcon(t,t.expandIcon),this.updateDefaultLayoutIcon(t,t.collapseIcon))},r.prototype.updateDefaultLayoutIcon=function(t,e){if("None"!==e.shape&&"Auto"===e.horizontalAlignment&&"Auto"===e.verticalAlignment&&.5===e.offset.x&&1===e.offset.y){var i=this.getWrapper(t.wrapper,"icon_content"),r=void 0,n=void 0;"TopToBottom"===this.layout.orientation||"BottomToTop"===this.layout.orientation?(r=.5,n="TopToBottom"===this.layout.orientation?1:0):"RightToLeft"!==this.layout.orientation&&"LeftToRight"!==this.layout.orientation||(r="LeftToRight"===this.layout.orientation?1:0,n=.5),i.setOffsetWithRespectToBounds(r,n,"Fraction"),i.horizontalAlignment="Center",i.verticalAlignment="Center",t.wrapper.measure(new ps(t.wrapper.width,t.wrapper.height)),t.wrapper.arrange(t.wrapper.desiredSize)}},r.prototype.updateGroupOffset=function(e,i){if(e.children&&e.children.length>0&&!e.container||e.processId||e.parentId&&this.nameTable[e.parentId]&&"Container"===this.nameTable[e.parentId].shape.type){var r=this.nameTable[e.id];if(!(this.realActions&t.RealAction.PreventScale||this.realActions&t.RealAction.PreventDrag)){if(!r.offsetX||!(this.realActions&t.RealAction.EnableGroupAction)&&(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.ToolAction||this.diagramActions&t.DiagramAction.PublicMethod||e.processId))r.offsetX=e.wrapper.offsetX;else{this.realActions|=t.RealAction.PreventScale;var n=r.offsetX-e.wrapper.offsetX;r.offsetX=e.wrapper.offsetX;o=r.offsetY-e.wrapper.offsetY;r.offsetY=e.wrapper.offsetY,n+o!==0&&this.drag(r,n,o),this.realActions&=~t.RealAction.PreventScale}if(!r.offsetY||!(this.realActions&t.RealAction.EnableGroupAction)&&(this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.ToolAction||this.diagramActions&t.DiagramAction.PublicMethod||e.processId))r.offsetY=e.wrapper.offsetY;else{this.realActions|=t.RealAction.PreventScale;var o=r.offsetY-e.wrapper.offsetY;r.offsetY=e.wrapper.offsetY,this.drag(r,0,o),this.realActions&=~t.RealAction.PreventScale}this.diagramActions&&(r.width=e.wrapper.actualSize.width,r.height=e.wrapper.actualSize.height)}}e&&e.annotations&&e.annotations.length>0&&(e.wrapper.children.forEach(function(t){t instanceof Vs&&t.children.forEach(function(t){t&&t instanceof js&&t.refreshTextElement()})}),e.wrapper.measure(new ps(e.width,e.height),e.id,this.onLoadImageSize.bind(this)),e.wrapper.arrange(e.wrapper.desiredSize)),i&&e.children&&e.children.length>0&&(void 0!==this.nameTable[e.id].width?this.scaleObject(e,this.nameTable[e.id].width,!0):this.nameTable[e.id].width=e.wrapper.actualSize.width,void 0!==this.nameTable[e.id].height?this.scaleObject(e,this.nameTable[e.id].height,!1):this.nameTable[e.id].height=e.wrapper.actualSize.height)},r.prototype.initNode=function(i,r,n){var o,a=this,s=i.initContainer(),h=new Vs;if(this.diagramSettings.inversedAlignment||(s.inversedAlignment=!1),s.children||(s.children=[]),i.children){if(s.measureChildren=!1,h.id=i.id+"group_container",i.shape&&"SwimLane"===i.shape.type?h.style.fill=i.style.fill:h.style.fill="none",h.style.strokeColor="none",h.horizontalAlignment="Stretch",h.verticalAlignment="Stretch",h.pivot=i.pivot,s.style=i.style,i.shape&&"Basic"===i.shape.type&&(s.cornerRadius=i.shape.cornerRadius),s.padding.left=i.padding.left,s.padding.right=i.padding.right,s.padding.top=i.padding.top,s.padding.bottom=i.padding.bottom,h.children=[],h.preventContainer=!0,i.container&&(h.relativeMode="Object"),i.container&&"Grid"===i.container.type)for(m=0;m<i.children.length;m++){var d=new Vs,l=this.nameTable[i.children[m]];d.children=[],d.children.push(l.wrapper),l&&s.addObject(l.wrapper,l.rowIndex,l.columnIndex,l.rowSpan,l.columnSpan)}else for(m=0;m<i.children.length;m++)if(this.nameTable[i.children[m]]){l=this.nameTable[i.children[m]];this.updateStackProperty(i,l,m),s.children.push(l.wrapper),s.elementActions=s.elementActions|t.ElementAction.ElementIsGroup,l.wrapper.flip=l.wrapper.flip^=i.wrapper.flip}(e.isNullOrUndefined(i.container)||i.container&&"Grid"!==i.container.type)&&s.children.push(h)}else{var c=Z(this.setNodeTemplate);c&&"helper"!==i.id&&(o=c(i,this)),o||(o=i.init(this)),s.children.push(o)}var p;p=Z(this.getDescription),(i.children?s:o).description=p||(i.annotations.length?i.annotations[0].content:i.id);var g=i.children?h:s;i.initAnnotations(this.getDescription,g,this.element.id,!!We(this),this.annotationTemplate),i.initPorts(this.getDescription,g),i.initIcons(this.getDescription,this.layout,g,r);for(m=0;i.fixedUserHandles,m<i.fixedUserHandles.length;m++){var u=i.initFixedUserHandles(i.fixedUserHandles[m],this.fixedUserHandleTemplate,this.element.id);g.children.push(u)}if("SwimLane"===i.shape.type&&i.wrapper&&i.wrapper.children.length>0&&i.wrapper.children[0]instanceof Ah?(this.setZIndex(this.activeLayer,i),vi(i),Si(this,i),this.updateLaneAfterAddChild(i),i.shape.lanes.forEach(function(t){t.children&&t.children.length>0&&t.children.forEach(function(t){a.updateQuad(t)})}),this.updateDiagramElementQuad()):(s.measure(new ps(i.width,i.height),i.id,this.onLoadImageSize.bind(this)),s instanceof Ah?s.arrange(s.desiredSize,!0):s.arrange(s.desiredSize)),"Container"===i.shape.type&&this.updateDiagramElementQuad(),i.wrapper.flip!==t.FlipDirection.None&&this.isNotContainerOrSubProcess(i))if(i.children&&i.children.length>0){for(var f=!1,m=0;m<i.children.length;m++){var y=this.nameTable[i.children[m]];(y instanceof xd||0!==i.rotateAngle)&&(f=!0,-1==this.connectorOrRotatedGroups.indexOf(i)&&this.connectorOrRotatedGroups.push(i)),y&&(this.refreshing||this.commandHandler.cloningInProgress||this.diagramActions&t.DiagramAction.UndoRedo||(y.flip^=i.flip,y.flipMode=i.flipMode),"None"!==y.flipMode&&"Label"!==y.flipMode&&"LabelText"!==y.flipMode&&"LabelAndLabelText"!==y.flipMode?this.updatePorts(y,y.flip):this.updatePorts(y,t.FlipDirection.None),this.applyWrapperFlip(y),y.wrapper.measure(new ps(y.wrapper.bounds.width,y.wrapper.bounds.height),y.id,this.onLoadImageSize.bind(this)),y.wrapper.arrange(y.wrapper.desiredSize))}var v=i.wrapper.children[i.wrapper.children.length-1];v.flip=i.wrapper.flip,v.flipMode=i.wrapper.flipMode;for(var b=0;b<v.children.length;b++){var S=v.children[b];S instanceof js&&"Port"!==i.flipMode&&"None"!==i.flipMode&&(S.flip=i.wrapper.flip,S.flipMode=i.wrapper.flipMode)}f||this.refreshing||this.commandHandler.cloningInProgress||this.diagramActions&t.DiagramAction.UndoRedo||Vd(i.wrapper,i.wrapper.offsetX,i.wrapper.offsetY,this,i.wrapper.flip,void 0,void 0,!0)}else this.applyWrapperFlip(i);if("Bpmn"===i.shape.type&&"TextAnnotation"===i.shape.shape){for(var w=!1,m=0;m<this.connectors.length;m++)if(this.connectors[parseInt(m.toString(),10)].id===i.id+"_connector"){this.connectors[parseInt(m.toString(),10)].isBpmnAnnotationConnector=!0,w=!0;break}w||this.addBpmnAnnotationConnector(i,s)}i instanceof Hl&&i.container&&(i.width<s.outerBounds.width||i.height<s.outerBounds.height)&&s.bounds.x<=s.outerBounds.x&&s.bounds.y<=s.outerBounds.y&&(i.width=s.width=s.outerBounds.width,i.height=s.height=s.outerBounds.height,s.measure(new ps(i.width,i.height)),s.arrange(s.desiredSize)),i.container&&"Grid"===i.container.type&&i.children&&i.children.length>0&&this.updateChildPosition(i)},r.prototype.isNotContainerOrSubProcess=function(t){return"Container"!==t.shape.type&&!("Bpmn"===t.shape.type&&"Activity"===t.shape.shape&&"SubProcess"===t.shape.activity.activity&&!1===t.shape.activity.subProcess.collapsed)},r.prototype.isNotSwimlaneObject=function(t){return"SwimLane"!==t.shape.type&&!t.isLane&&!t.isPhase&&!t.isHeader},r.prototype.updateLaneAfterAddChild=function(t){for(var e=0;e<this.nodes.length;e++){var i=this.nodes[parseInt(e.toString(),10)];i.parentId!==t.id||t.shape.hasHeader||(i.width=i.wrapper.width,i.height=i.wrapper.height)}},r.prototype.applyWrapperFlip=function(t){if(t instanceof Hl){t.wrapper.flip=t.flip,t.wrapper.flipMode=t.flipMode,t.wrapper.children[0].flip=t.flip,t.wrapper.children[0].flipMode=t.flipMode;for(var e=0;e<t.wrapper.children.length;e++){var i=t.wrapper.children[e];i instanceof Vs?this.applyWrapperCanvasFlip(i,t):(i.flip=t.flip,i.flipMode=t.flipMode)}}},r.prototype.applyWrapperCanvasFlip=function(t,e){for(var i=0;i<t.children.length;i++){var r=t.children[parseInt(i.toString(),10)];r instanceof Vs?this.applyWrapperCanvasFlip(r,e):"None"!==e.flipMode&&(r.flip=e.flip,r.flipMode=e.flipMode)}},r.prototype.addBpmnAnnotationConnector=function(e,i){if(e.parentObj instanceof r||e.parentObj instanceof _l){var n=e.shape,o=n.textAnnotation.textAnnotationDirection,a=""!==n.textAnnotation.textAnnotationTarget&&this.nameTable[n.textAnnotation.textAnnotationTarget],s=a?this.nameTable[n.textAnnotation.textAnnotationTarget]:null,h=null!=s?s.wrapper:null,d=e.ports[0],l={x:0,y:0};switch(o){case"Left":d.offset={x:0,y:.5},l.x=i.bounds.left-40,l.y=i.bounds.bottom+30;break;case"Right":d.offset={x:1,y:.5},l.x=i.bounds.right+40,l.y=i.bounds.bottom+30;break;case"Top":d.offset={x:.5,y:0},l.x=i.bounds.right+30,l.y=i.bounds.top-40;break;case"Bottom":d.offset={x:.5,y:1},l.x=i.bounds.right+30,l.y=i.bounds.bottom+40;break;default:d.offset={x:0,y:.5},l.x=i.bounds.left-40,l.y=i.bounds.bottom+30,a&&null!=i&&null!=h&&(i.bounds.left>h.bounds.right?d.offset={x:0,y:.5}:i.bounds.right<h.bounds.left?d.offset={x:1,y:.5}:i.bounds.bottom>h.bounds.top?d.offset={x:.5,y:0}:i.bounds.top<h.bounds.bottom&&(d.offset={x:.5,y:1}))}var c=new xd(this,"connectors",{id:e.id+"_connector",targetID:e.id,targetPortID:d.id,type:"Straight",shape:{type:"Bpmn",flow:"Association"},constraints:t.ConnectorConstraints.Default&~(t.ConnectorConstraints.DragTargetEnd|t.ConnectorConstraints.Delete),isBpmnAnnotationConnector:!0},!0);a?c.sourceID=n.textAnnotation.textAnnotationTarget:c.sourcePoint=l;var p=this.isProtectedOnChange;this.isProtectedOnChange=!0,e.constraints|=t.NodeConstraints.InConnect,this.connectors.push(c),this.bpmnModule.bpmnTextAnnotationConnector||(this.bpmnModule.bpmnTextAnnotationConnector=[]),this.bpmnModule.bpmnTextAnnotationConnector.push(c);var g=0!=(e.constraints&t.NodeConstraints.Shadow),u=0!=(e.constraints&t.NodeConstraints.AllowMovingOutsideLane);e.constraints=t.NodeConstraints.Default&~(t.NodeConstraints.OutConnect|t.NodeConstraints.InConnect),g&&(e.constraints|=t.NodeConstraints.Shadow),u&&(e.constraints|=t.NodeConstraints.AllowMovingOutsideLane),this.isProtectedOnChange=p}},r.prototype.getBPMNTextAnnotation=function(e,i,r,n){var o,a={id:r.id||O(),height:r.height||100,width:r.width||100,annotations:[{id:(r.id?r.id:O())+r.text,content:r.text}],offsetX:e.offsetX+r.length*Math.cos(r.angle*(Math.PI/180)),offsetY:e.offsetY+r.length*Math.sin(r.angle*(Math.PI/180)),shape:{type:"Bpmn",shape:"TextAnnotation",textAnnotation:{textAnnotationDirection:"Auto",textAnnotationTarget:e.id}},constraints:t.NodeConstraints.Default&~(t.NodeConstraints.OutConnect|t.NodeConstraints.InConnect)},s=e.wrapper.bounds,h={x:a.offsetX,y:a.offsetY},d=Se(h,s,s);switch(d){case"Right":o={x1:s.right,y1:s.top,x2:s.right,y2:s.bottom};break;case"Left":o={x1:s.left,y1:s.top,x2:s.left,y2:s.bottom};break;case"Bottom":o={x1:s.right,y1:s.bottom,x2:s.left,y2:s.bottom};break;case"Top":o={x1:s.right,y1:s.top,x2:s.left,y2:s.top}}var l=s.center,c=Gt(o,[l,fs.transform(h,r.angle,Math.max(s.width,s.height))],!1,l);if(void 0!==r.length&&void 0!==r.angle&&c&&(c=fs.transform(c,r.angle,r.length),a.offsetX=c.x,a.offsetY=c.y),"Right"===d?a.offsetX+=a.width/2:"Left"===d?a.offsetX-=a.width/2:"Bottom"===d?a.offsetY+=a.height/2:a.offsetY-=a.height/2,n)this.add(a);else{var p=new Hl(this,"nodes",a,!0);i.initObject(p,void 0,void 0,!0),i.nodes.push(p)}},r.prototype.updateDiagramElementQuad=function(){for(var t=0;t<this.nodes.length;t++)this.nodes[parseInt(t.toString(),10)].wrapper&&this.nodes[parseInt(t.toString(),10)].wrapper instanceof Ns&&this.updateQuad(this.nodes[parseInt(t.toString(),10)])},r.prototype.onLoadImageSize=function(e,i){var r=this.getObject(e),n=document.getElementById(e+"sf-imageNode");n&&n.parentNode.removeChild(n),this.nodePropertyChange(r,{},{width:i.width,height:i.height});var o={element:k(r),size:i};this.triggerEvent(t.DiagramEvent.onImageLoad,o)},r.prototype.updateChildPosition=function(t){for(var e=0;e<t.children.length;e++){var i=this.getObject(t.children[parseInt(e.toString(),10)]);i.offsetX=i.wrapper.offsetX,i.offsetY=i.wrapper.offsetY,i.children&&i.children.length>0&&this.updateChildPosition(i)}},r.prototype.canExecute=function(){return!0},r.prototype.updateStackProperty=function(t,e,i){t.container&&"Stack"===t.container.type&&(e.width||(e.wrapper.horizontalAlignment="Stretch",e.horizontalAlignment="Stretch"),e.height||(e.verticalAlignment="Stretch",e.wrapper.verticalAlignment="Stretch"),i&&"UmlClassifier"===t.shape.type&&(e.umlIndex=i))},r.prototype.initViews=function(){this.isLoading||(this.views.push(this.element.id),this.views[this.element.id]=this)},r.prototype.initCommands=function(){var e=this.commandManager.commands,i={copy:{execute:this.copyCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.C,keyModifiers:t.KeyModifiers.Control}},paste:{execute:this.pasteCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.V,keyModifiers:t.KeyModifiers.Control}},cut:{execute:this.cutCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.X,keyModifiers:t.KeyModifiers.Control}},delete:{execute:this.removeCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Delete}},selectAll:{execute:this.selectAll.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.A,keyModifiers:t.KeyModifiers.Control}},undo:{execute:this.undo.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Z,keyModifiers:t.KeyModifiers.Control}},redo:{execute:this.redo.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Y,keyModifiers:t.KeyModifiers.Control}},nudgeUp:{execute:this.nudgeCommand.bind(this,"Up"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Up},parameter:"up"},nudgeRight:{execute:this.nudgeCommand.bind(this,"Right"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Right},parameter:"right"},nudgeDown:{execute:this.nudgeCommand.bind(this,"Down"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Down},parameter:"down"},nudgeLeft:{execute:this.nudgeCommand.bind(this,"Left"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Left},parameter:"left"},startEdit:{execute:this.startEditCommad.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.F2}},endEdit:{execute:this.endEditCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Escape}},focusToNextItem:{execute:this.navigateItems.bind(this,!0),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Tab}},focusToPreviousItem:{execute:this.navigateItems.bind(this,!1),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Tab,keyModifiers:t.KeyModifiers.Shift}},selectFocusedItem:{execute:this.startEditCommad.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Enter}},bold:{execute:this.fontStyleCommand.bind(this,"bold"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.B,keyModifiers:t.KeyModifiers.Control}},italic:{execute:this.fontStyleCommand.bind(this,"italic"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.I,keyModifiers:t.KeyModifiers.Control}},underline:{execute:this.fontStyleCommand.bind(this,"underline"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.U,keyModifiers:t.KeyModifiers.Control}},duplicate:{execute:this.duplicateCommand.bind(this),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.D,keyModifiers:t.KeyModifiers.Control}},group:{execute:this.groupCommand.bind(this,"group"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.G,keyModifiers:t.KeyModifiers.Control}},ungroup:{execute:this.groupCommand.bind(this,"ungroup"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.U,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},rotateClockwise:{execute:this.rotateCommand.bind(this,"clockwise"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.R,keyModifiers:t.KeyModifiers.Control}},rotateAntiClockwise:{execute:this.rotateCommand.bind(this,"antiClockwise"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.L,keyModifiers:t.KeyModifiers.Control}},flipHorizontal:{execute:this.flipCommand.bind(this,"horizontal"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.H,keyModifiers:t.KeyModifiers.Control}},flipVertical:{execute:this.flipCommand.bind(this,"vertical"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.J,keyModifiers:t.KeyModifiers.Control}},pointerTool:{execute:this.toolCommand.bind(this,"pointer"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number1,keyModifiers:t.KeyModifiers.Control}},textTool:{execute:this.toolCommand.bind(this,"text"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number2,keyModifiers:t.KeyModifiers.Control}},connectTool:{execute:this.toolCommand.bind(this,"connect"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number3,keyModifiers:t.KeyModifiers.Control}},freeForm:{execute:this.toolCommand.bind(this,"freeForm"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number5,keyModifiers:t.KeyModifiers.Control}},lineTool:{execute:this.toolCommand.bind(this,"line"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number6,keyModifiers:t.KeyModifiers.Control}},rectangleTool:{execute:this.toolCommand.bind(this,"rectangle"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number8,keyModifiers:t.KeyModifiers.Control}},ellipseTool:{execute:this.toolCommand.bind(this,"ellipse"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Number9,keyModifiers:t.KeyModifiers.Control}},zoomIn:{execute:this.zoomCommand.bind(this,"zoomIn"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Plus,keyModifiers:t.KeyModifiers.Control}},zoomOut:{execute:this.zoomCommand.bind(this,"zoomOut"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Minus,keyModifiers:t.KeyModifiers.Control}},shiftUp:{execute:this.shiftCommand.bind(this,"Up"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Up,keyModifiers:t.KeyModifiers.Shift}},shiftDown:{execute:this.shiftCommand.bind(this,"Down"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Down,keyModifiers:t.KeyModifiers.Shift}},shiftLeft:{execute:this.shiftCommand.bind(this,"Left"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Left,keyModifiers:t.KeyModifiers.Shift}},shiftRight:{execute:this.shiftCommand.bind(this,"Right"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.Right,keyModifiers:t.KeyModifiers.Shift}},alignTextCenter:{execute:this.alignCommand.bind(this,"center"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.C,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignTextLeft:{execute:this.alignCommand.bind(this,"right"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.L,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignTextRight:{execute:this.alignCommand.bind(this,"left"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.R,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignTextTop:{execute:this.alignCommand.bind(this,"top"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.E,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignTextCenterVertical:{execute:this.alignCommand.bind(this,"centerVertical"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.M,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignTextBottom:{execute:this.alignCommand.bind(this,"bottom"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.V,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},alignJustify:{execute:this.alignCommand.bind(this,"justify"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.J,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},sendToBack:{execute:this.orderCommand.bind(this,"sendToBack"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.B,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},bringToFront:{execute:this.orderCommand.bind(this,"bringToFront"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.F,keyModifiers:t.KeyModifiers.Control|t.KeyModifiers.Shift}},sendBackward:{execute:this.orderCommand.bind(this,"sendBackward"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.BracketLeft,keyModifiers:t.KeyModifiers.Control}},bringForward:{execute:this.orderCommand.bind(this,"bringForward"),canExecute:this.canExecute.bind(this),gesture:{key:t.Keys.BracketRight,keyModifiers:t.KeyModifiers.Control}}};this.initCommandManager(e,i)},r.prototype.overrideCommands=function(t,e){for(var i,r=0,n=Object.keys(e);r<n.length;r++){var o=n[r];if(i=e[""+o],t.gesture.key===i.gesture.key&&t.gesture.keyModifiers===i.gesture.keyModifiers){delete e[""+o];break}}},r.prototype.initCommandManager=function(t,e){var i=0;if(t)for(i=0;i<t.length;i++)e[t[parseInt(i.toString(),10)].name]&&t[parseInt(i.toString(),10)]?(t[parseInt(i.toString(),10)].canExecute&&(e[t[parseInt(i.toString(),10)].name].canExecute=t[parseInt(i.toString(),10)].canExecute),t[parseInt(i.toString(),10)].execute&&(e[t[parseInt(i.toString(),10)].name].execute=t[parseInt(i.toString(),10)].execute),(t[parseInt(i.toString(),10)].gesture.key||t[parseInt(i.toString(),10)].gesture.keyModifiers)&&(e[t[parseInt(i.toString(),10)].name].gesture=t[parseInt(i.toString(),10)].gesture),""!==t[parseInt(i.toString(),10)].parameter&&(e[t[parseInt(i.toString(),10)].name].parameter=t[parseInt(i.toString(),10)].parameter)):(this.overrideCommands(t[parseInt(i.toString(),10)],e),e[t[parseInt(i.toString(),10)].name]={execute:t[parseInt(i.toString(),10)].execute,canExecute:t[parseInt(i.toString(),10)].canExecute,gesture:t[parseInt(i.toString(),10)].gesture,parameter:t[parseInt(i.toString(),10)].parameter});this.commands=e},r.prototype.updateNodeEdges=function(t){for(var e=0,i=t.inEdges;e<i.length;e++){o=i[e];this.nameTable[""+o]&&(this.nameTable[""+o].targetID="")}for(var r=0,n=t.outEdges;r<n.length;r++){var o=n[r];this.nameTable[""+o]&&(this.nameTable[""+o].sourceID="")}t.inEdges=[],t.outEdges=[]},r.prototype.updateIconVisibility=function(t,e){for(var i=t.id+"_icon",r=0,n=t.wrapper.children;r<n.length;r++){var o=n[r];o.id&&o.id.startsWith(i)&&(o.visible=e,this.updateDiagramContainerVisibility(o,e))}},r.prototype.updateEdges=function(t){if(void 0!==t.sourceID&&""!==t.sourceID){var e=this.nameTable[t.sourceID];e&&e.outEdges&&0===e.outEdges.length&&(e.outEdges=[]),e&&e.outEdges&&-1===e.outEdges.indexOf(t.id)&&e.outEdges.push(t.id),this.updatePortEdges(e,t,!1)}if(void 0!==t.targetID&&""!==t.targetID){var i=this.nameTable[t.targetID];if(i&&i.inEdges&&0===i.inEdges.length&&(i.inEdges=[]),i&&i.inEdges&&-1===i.inEdges.indexOf(t.id)&&i.inEdges.push(t.id),this.updatePortEdges(i,t,!0),i&&i.visible&&i.outEdges){var r=0!==i.outEdges.length;this.updateIconVisibility(i,r)}}},r.prototype.updatePortEdges=function(t,e,i){if(t)for(var r=0;r<t.ports.length;r++){var n=t.ports[parseInt(r.toString(),10)],o=i?e.targetPortID:e.sourcePortID;if(n.id===o){var a=i?n.inEdges:n.outEdges;-1===a.indexOf(e.id)&&a.push(e.id)}}},r.prototype.refreshDiagram=function(){this.initLayerObjects(),this.doLayout(),this.updateBridging(),this.scroller.setSize(),this.addBlazorDiagramObjects(),this.updateFitToPage()},r.prototype.updateCanupdateStyle=function(t,e){for(var i=0;i<t.length;i++)t[parseInt(i.toString(),10)].children&&this.updateCanupdateStyle(t[parseInt(i.toString(),10)].children,e),t[parseInt(i.toString(),10)].canApplyStyle=e},r.prototype.getZindexPosition=function(t,e){var i=[],r=void 0;i=(i=i.concat(this.nodes)).concat(this.connectors);var n,o;if(o=t.children?this.commandHandler.findMaxZIndex(t):t.zIndex,t.zIndex!==Number.MIN_VALUE)for(var a=0;a<i.length;a++)if(i[parseInt(a.toString(),10)].zIndex>o){"HTML"!==t.shape.type&&"Native"!==t.shape.type||(n="HTML"===t.shape.type?"html":"native"),r=Oa(e,i[parseInt(a.toString(),10)].id,n);break}return r},r.prototype.updateDiagramObject=function(e,i,r){for(var n,o=0,a=this.views;o<a.length;o++){var s=a[o];if(n=this.views[""+s],this.diagramActions&&"SVG"===n.mode){var h=void 0;if(this.layers.length>1&&(h=this.commandHandler.getObjectLayer(e.id)),void 0===h||h&&h.visible||r){var d=Ya(this.element.id);window.domTable[n.element.id+"_diagramLayer"]||(window.domTable[n.element.id+"_diagramLayer"]=document.getElementById(n.element.id+"_diagramLayer"));var l=window.domTable[n.element.id+"_diagramLayer"];this.diagramActions&t.DiagramAction.Interactions&&this.updateCanupdateStyle(e.wrapper.children,!0);var c=this.getMidPoint(e);this.diagramRenderer.updateNode(e.wrapper,l,d,void 0,i?void 0:this.getZindexPosition(e,n.element.id),c,this.portCenterPoint),this.updateCanupdateStyle(e.wrapper.children,!0)}}}},r.prototype.applyMarginBezier=function(t,e){e.cx=e.cx+t.margin.left,e.cx=e.cx-t.margin.right,e.cy=e.cy+t.margin.top,e.cy=e.cy-t.margin.bottom},r.prototype.getMidPoint=function(t){var e;if(t instanceof xd&&"Bezier"===t.type){e=[];for(var i=this.getBezierPoints(t),r=fs.getLengthFromListOfPoints(i),n=0;n<t.annotations.length;n++)for(var o=t.annotations[parseInt(n.toString(),10)].offset*r,a=this.commandHandler.getPointAtLength(o,i,0),s={cx:a.x,cy:a.y},h=0;h<t.wrapper.children.length;h++)t.wrapper&&t.wrapper.children[parseInt(h.toString(),10)]instanceof js&&t.wrapper.children[parseInt(h.toString(),10)].id===t.id+"_"+t.annotations[parseInt(n.toString(),10)].id&&(this.applyMarginBezier(t.wrapper.children[parseInt(h.toString(),10)],s),e[t.id+"_"+t.annotations[parseInt(n.toString(),10)].id]=this.applyAlignment(t.wrapper.children[parseInt(h.toString(),10)],s,t.annotations[parseInt(n.toString(),10)].displacement));for(n=0;n<t.ports.length;n++)for(var d=t.ports[parseInt(n.toString(),10)].offset*r,l=this.commandHandler.getPointAtLength(d,i,0),c={cx:l.x,cy:l.y},h=0;h<t.wrapper.children.length;h++)t.wrapper&&t.wrapper.children[parseInt(h.toString(),10)]instanceof Ws&&t.wrapper.children[parseInt(h.toString(),10)].isPathPort&&t.wrapper.children[parseInt(h.toString(),10)].id===t.id+"_"+t.ports[parseInt(n.toString(),10)].id&&(this.applyMarginBezier(t.wrapper.children[parseInt(h.toString(),10)],c),this.portCenterPoint[t.id+"_"+t.ports[parseInt(n.toString(),10)].id]=this.applyAlignment(t.wrapper.children[parseInt(h.toString(),10)],c,t.ports[parseInt(n.toString(),10)].displacement))}return e},r.prototype.applyAlignment=function(t,e,i){switch(t.horizontalAlignment){case"Auto":case"Left":e.cx=t.inversedAlignment?e.cx:e.cx-t.desiredSize.width,e.cx+=i.x;break;case"Stretch":case"Center":e.cx-=t.desiredSize.width*t.pivot.x;break;case"Right":e.cx=t.inversedAlignment?e.cx-t.desiredSize.width:e.cx,e.cx-=i.x}switch(t.verticalAlignment){case"Auto":case"Top":e.cy=t.inversedAlignment?e.cy:e.cy-t.desiredSize.height,e.cy+=i.y;break;case"Stretch":case"Center":e.cy-=t.desiredSize.height*t.pivot.y;break;case"Bottom":e.cy=t.inversedAlignment?e.cy-t.desiredSize.height:e.cy,e.cy-=i.y}return e},r.prototype.getBezierPoints=function(t){var e,i=[],r={x:t.sourcePoint.x,y:t.sourcePoint.y};for(i.push(r),e=0;e<t.segments.length;e++){var n=t.segments[parseInt(e.toString(),10)].getPoints(t.segments[parseInt(e.toString(),10)],r);i.push.apply(i,n),r=i[i.length-1]}return i},r.prototype.updateGridContainer=function(t){for(var e,i=Ya(this.element.id),r=0,n=this.views;r<n.length;r++){var o=n[r];if("SVG"===(e=this.views[""+o]).mode&&this.diagramActions){var a=document.getElementById(e.element.id+"_diagramLayer");this.diagramRenderer.updateNode(t,a,i,void 0)}else this.refreshCanvasDiagramLayer(e)}},r.prototype.getObjectsOfLayer=function(t){for(var e=[],i=0,r=t;i<r.length;i++){var n=r[i];this.nameTable[""+n]&&e.push(this.nameTable[""+n])}return e},r.prototype.refreshDiagramLayer=function(){for(var t,e=0,i=this.views;e<i.length;e++){var r=i[e];switch((t=this.views[""+r]).mode){case"SVG":this.refreshSvgDiagramLayer(t);break;case"Canvas":this.refreshCanvasLayers(t)}}},r.prototype.refreshCanvasLayers=function(t){if(t)this.refreshCanvasDiagramLayer(t);else for(var e=0,i=this.views;e<i.length;e++){var r=i[e],n=this.views[""+r];this.refreshCanvasDiagramLayer(n)}},r.prototype.renderBasicElement=function(t){for(var e=Ya(t.element.id),i=0;i<this.basicElements.length;i++){var r=this.basicElements[parseInt(i.toString(),10)];r instanceof Ns&&(r.prevRotateAngle=0),r.measure(new ps(r.width,r.height)),r.arrange(r.desiredSize),t.diagramRenderer.renderElement(r,t.diagramLayer,e)}},r.prototype.refreshElements=function(t){var e=!1;if(!this.isDestroyed){this.clearCanvas(t),t instanceof r?(t.diagramLayer.getContext("2d").setTransform(t.scroller.currentZoom,0,0,t.scroller.currentZoom,0,0),t.diagramLayer.getContext("2d").scale(1.5,1.5)):(e=!0,(o=document.getElementById(t.element.id+"_nativeLayer")).children.length>0&&t.updateView(t));var i=Ya(t.element.id);this.renderDiagramElements(t.diagramLayer,t.diagramRenderer,i,void 0,void 0,e);for(var n=0;n<this.basicElements.length;n++){var o=this.basicElements[parseInt(n.toString(),10)];o.measure(new ps(o.width,o.height)),o.arrange(o.desiredSize),t.diagramRenderer.renderElement(o,t.diagramLayer,i)}t instanceof r&&(t.diagramLayer.style.transform="scale("+2/3+")",t.diagramLayer.style.transformOrigin="0 0"),this.renderTimer=null}},r.prototype.refreshCanvasDiagramLayer=function(e){var i=this;"SVG"===e.mode||this.isDestroyed||(this.basicElements.length>0&&this.renderBasicElement(e),this.preventOverviewRefresh||(!this.diagramActions||0==(this.diagramActions&t.DiagramAction.Render)||t.DiagramAction.ToolAction&this.diagramActions||We(this)||1!==this.scroller.currentZoom?this.refreshElements(e):this.renderTimer||(this.renderTimer=setTimeout(function(){i.refreshElements(e)},40))))},r.prototype.updatePortVisibility=function(e,i,r){var n,o=!this.drawingObject||!this.drawingObject.shape;if((e instanceof Hl||e instanceof xd)&&o&&Ce(e)){for(var a=e.ports,s=!1,h=0;h<a.length;h++)n=this.getWrapper(e.wrapper,a[parseInt(h.toString(),10)].id),(i&t.PortVisibility.Hover||i&t.PortVisibility.Connect)&&so(a[parseInt(h.toString(),10)],i)&&(n.visible=!r,s=!0);s&&this.updateDiagramObject(e),"Canvas"===this.mode&&this.refreshCanvasLayers()}},r.prototype.refreshSvgDiagramLayer=function(e){var i,r=document.getElementById(e.element.id+"_diagramLayer"),n=Ya(e.element.id);if(We(this))this.scroller.virtualizeElements();else{for(var o=0;o<this.basicElements.length;o++)(i=this.basicElements[parseInt(o.toString(),10)]).measure(new ps(i.width,i.height)),i.arrange(i.desiredSize,!(this.diagramActions&t.DiagramAction.Render)),this.diagramRenderer.renderElement(i,r,n);this.renderDiagramElements(r,this.diagramRenderer,n)}},r.prototype.removeVirtualObjects=function(t){if(this.deleteVirtualObject){this.preventOverviewRefresh=!0;for(var e=0;e<this.scroller.removeCollection.length;e++){var i=this.nameTable[this.scroller.removeCollection[parseInt(e.toString(),10)]];void 0!==i&&this.removeElements(i)}this.deleteVirtualObject=!1,this.preventOverviewRefresh=!1}clearInterval(t)},r.prototype.updateTextElementValue=function(t){for(var e=0;e<t.wrapper.children.length;e++){var i=t.wrapper.children[parseInt(e.toString(),10)];if(i instanceof js){i.canMeasure=!0;var r=this.scroller.viewPortHeight,n=this.scroller.viewPortWidth,o=!1;t.offsetX<n&&t.offsetY<r&&(o=!0),o&&We(this)&&void 0===i.actualSize.height&&void 0===i.actualSize.width&&(t.wrapper.measure(new ps(t.width,t.height),t.id,this.onLoadImageSize.bind(this)),t.wrapper.arrange(t.wrapper.desiredSize)),i.measure(new ps(t.width,t.height)),i.arrange(i.desiredSize)}}},r.prototype.updateVirtualObjects=function(t,e,i){var r=document.getElementById(this.element.id+"_diagramLayer"),n=Ya(this.element.id);if("SVG"===this.mode){for(var o=0;o<t.length;o++){var a=this.scroller.removeCollection.indexOf(t[parseInt(o.toString(),10)]);a>=0&&this.scroller.removeCollection.splice(a,1);var s=this.nameTable[t[parseInt(o.toString(),10)]];this.updateTextElementValue(s),this.diagramRenderer.renderElement(s.wrapper,r,n,void 0,void 0,void 0,void 0,s.zIndex)}for(var h=0;h<i.length;h++)this.scroller.removeCollection.push(i[parseInt(h.toString(),10)]);1!==this.scroller.currentZoom&&this.eventHandler.updateVirtualization()}else this.diagramActions&&this.refreshDiagramLayer()},r.prototype.renderDiagramElements=function(e,i,r,n,o,a,s){void 0===n&&(n=!0);var h=this.scroller.getPageBounds();h.x*=this.scroller.currentZoom,h.y*=this.scroller.currentZoom,h.width*=this.scroller.currentZoom,h.height*=this.scroller.currentZoom;for(var d,l=-this.scroller.horizontalOffset-h.x,c=-this.scroller.verticalOffset-h.y,p=0,g=Object.keys(this.layerZIndexTable);p<g.length;p++){var u=g[p],f=this.commandHandler.getLayer(this.layerZIndexTable[""+u]),m=void 0,y=void 0;"Canvas"===this.mode&&We(this)&&!this.diagramActions&&this.scroller.virtualizeElements();var v="Canvas"===this.mode&&We(this)&&this.scroller.oldCollectionObjects.length>0?this.scroller.oldCollectionObjects:void 0,b=Object.keys(v||f.zIndexTable);b.sort(function(t,e){return parseInt(""+t,10)-parseInt(""+e,10)});for(var S=0,w=b;S<w.length;S++){var x=w[S],I=v?this.nameTable[v[""+x]]:this.nameTable[f.zIndexTable[""+x]];if(I&&!I.parentId&&f.visible&&(!I.processId||this.refreshing)){var C=void 0;if(C=this.scroller.currentZoom<1&&"SVG"===this.mode?{tx:-h.x/this.scroller.currentZoom,ty:-h.y/this.scroller.currentZoom,scale:this.scroller.transform.scale}:{tx:this.scroller.transform.tx,ty:this.scroller.transform.ty,scale:this.scroller.transform.scale},(a||s)&&(C={tx:-h.x/this.scroller.currentZoom,ty:-h.y/this.scroller.currentZoom,scale:this.scroller.transform.scale}),We(this)){if(this.scroller.currentZoom<1){if(h.x<0||this.scroller.horizontalOffset<0){var P=this.scroller.verticalOffset<0?this.scroller.verticalOffset:0;m=(l>0?l:0)+"px",y=(this.realActions&t.RealAction.vScrollbarMoved?0:-P)+"px"}else m="0px",y="0px";this.realActions&t.RealAction.hScrollbarMoved&&(this.realActions=this.realActions&~t.RealAction.hScrollbarMoved),this.realActions&t.RealAction.vScrollbarMoved&&(this.realActions=this.realActions&~t.RealAction.vScrollbarMoved)}else m=(h.x<0?l:-this.scroller.horizontalOffset)+"px",y=(h.y<0?c:-this.scroller.verticalOffset)+"px";this.diagramLayer.style.left=m,this.diagramLayer.style.top=y,C.tx=-h.x/C.scale,C.ty=-h.y/C.scale}var D=!0;if(o&&(D=!1),this.updateTextElementValue(I),this.refreshing&&I.shape.activity&&I.shape.activity.subProcess&&I.shape.activity.subProcess.processes){for(var T=0;T<I.shape.activity.subProcess.processes.length;T++){var A=I.shape.activity.subProcess.processes[parseInt(T.toString(),10)];I.wrapper.children.push(this.nameTable[""+A].wrapper)}I.wrapper.measure(new ps(I.wrapper.bounds.width,I.wrapper.bounds.height)),I.wrapper.arrange(I.wrapper.desiredSize)}I instanceof xd&&"Bezier"===I.type?(d=this.getMidPoint(I),"Canvas"===this.mode&&n&&(d.cx+=C.tx,d.cy+=C.ty)):d=null,i.renderElement(I.wrapper,e,r,!i.isSvgMode&&n?C:void 0,void 0,void 0,D&&(!this.diagramActions||s),void 0,void 0,d,this.portCenterPoint)}}}},r.prototype.updateBridging=function(e){if(this.bridgingModule)for(var i=0;i<this.connectors.length;i++){var r=this.connectors[parseInt(i.toString(),10)];this.bridgingModule.updateBridging(r,this);var n=this.connectors[parseInt(i.toString(),10)].wrapper;if(n&&n.children&&n.children.length>0){var o=n.children[0],a=o.data;(r.isBezierEditing&&this.selectedItems.connectors[0].id===r.id||"Bezier"!==r.type)&&(this.updateQuad(r),r.getSegmentElement(r,o,"ComplexHierarchicalTree"===this.layout.type||"HierarchicalTree"===this.layout.type?this.layout.orientation:void 0,void 0,!1)),o.data!==a&&(n.measure(new ps),n.arrange(n.desiredSize),"SVG"!==this.mode||e||this.updateDiagramObject(r))}}else this.constraints&t.DiagramConstraints.Bridging&&console.warn('[WARNING] :: Module "ConnectorBridging" is not available in Diagram component! You either misspelled the module name or forgot to load it.')},r.prototype.setCursor=function(t){this.diagramRenderer.setCursor(this.diagramCanvas,t)},r.prototype.clearCanvas=function(t){var e=t.contentWidth||t.diagramLayer.width/this.scroller.currentZoom,i=t.contentHeight||t.diagramLayer.height/this.scroller.currentZoom;"SVG"!==t.mode&&Zl.getContext(t.diagramLayer).clearRect(0,0,e,i)},r.prototype.updateScrollOffset=function(){this.scroller.setScrollOffset(this.diagramCanvas.scrollLeft,this.diagramCanvas.scrollTop),Fr(this),We(this)&&this.scroller.virtualizeElements()},r.prototype.setOffset=function(t,e){var i=this.element.id+"content",r=window.domTable;if(!r[""+i]){var n=document.getElementById(i);n&&(r[""+i]=n)}var o=r[""+i];o&&(o.scrollLeft!==t&&(o.scrollLeft=t),o.scrollTop!==e&&(o.scrollTop=e))},r.prototype.setSize=function(e,i){if(this.diagramLayer&&!this.preventDiagramUpdate){var r=Vr(this);e-=r.width,i-=r.height;var n=this.spatialSearch.getPageBounds();n.x*=this.scroller.currentZoom,n.y*=this.scroller.currentZoom,n.width*=this.scroller.currentZoom,n.height*=this.scroller.currentZoom;var o="SVG"===this.mode?1:1.5,a="SVG"===this.mode?Ta(this.element.id):this.diagramLayer,s="Canvas"===this.mode&&this.constraints&t.DiagramConstraints.Virtualization?this.scroller.viewPortWidth:e,h="Canvas"===this.mode&&this.constraints&t.DiagramConstraints.Virtualization?this.scroller.viewPortHeight:i;a.setAttribute("width",(o*s).toString()),a.setAttribute("height",(o*h).toString());var d=document.getElementById(this.element.id+"_diagramUserHandleLayer");d&&(d.style.width=e+"px",d.style.height=i+"px");var l={width:e.toString(),height:i.toString()};this.diagramLayerDiv.style.width=e+"px",this.diagramLayerDiv.style.height=i+"px",Ja(Na(this.element.id),l),Ja(Ba(this.element.id),l);var c=Ma(this.element.id);Ja(c,l),c.parentNode.style.width=e+"px",c.parentNode.style.height=i+"px";var p=Ra(this.element.id);Ja(p,l),this.diagramRenderer.updateGrid(this.snapSettings,p,this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler),Ja(ja(this.element.id),l),this.htmlLayer.style.width=e+"px",this.htmlLayer.style.height=i+"px","SVG"===this.mode||We(this)||this.refreshDiagramLayer(),"SVG"===this.mode&&We(this)&&this.scroller.virtualizeElements()}},r.prototype.transformLayers=function(){var e=this.spatialSearch.getPageBounds();e.x*=this.scroller.currentZoom,e.y*=this.scroller.currentZoom,e.width*=this.scroller.currentZoom,e.height*=this.scroller.currentZoom,this.diagramRenderer.updateGrid(this.snapSettings,Ra(this.element.id),this.scroller.transform,this.rulerSettings,this.hRuler,this.vRuler),this.diagramRenderer.transformLayers(this.scroller.transform,"SVG"===this.mode),this.diagramActions&t.DiagramAction.DragUsingMouse||this.updateSelector(),this.renderPageBreaks(e)},r.prototype.removePageBreaks=function(){if(this.diagramLayer){var t=Wa(this.element.id);if(t&&t.childNodes)for(var e=t.childNodes.length,i=0;i<e;i++)t.removeChild(t.childNodes[0])}},r.prototype.renderPageBreaks=function(t){this.removePageBreaks();var e=Wa(this.element.id);if(e){var i=0;t=this.scroller.getPageBounds(!0);var r=(this.scroller.transform.tx+t.x)*this.scroller.currentZoom,n=(this.scroller.transform.ty+t.y)*this.scroller.currentZoom,o=t.height*this.scroller.currentZoom,a=t.width*this.scroller.currentZoom;Rd.renderSvgBackGroundImage(this.pageSettings.background,this.element,r,n,a,o);var s={id:e.id+"rect",x:r,y:n,height:o,width:a,angle:0,stroke:"",strokeWidth:1,fill:this.pageSettings.background.color,opacity:1,pivotX:0,pivotY:0,visible:!0,dashArray:"0"};if(this.diagramRenderer.drawRect(e,s),this.pageSettings.showPageBreaks){var h=this.scroller.getPageBreak(t);for(i=0;i<h.length;i++)this.diagramRenderer.drawLine(e,{class:"e-diagram-page-break",fill:"none",stroke:"#aaaaaa",strokeWidth:1,dashArray:"10 10",opacity:2,x:0,y:0,width:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,startPoint:{x:(h[parseInt(i.toString(),10)].x1+this.scroller.transform.tx)*this.scroller.currentZoom,y:(h[parseInt(i.toString(),10)].y1+this.scroller.transform.ty)*this.scroller.currentZoom},endPoint:{x:(h[parseInt(i.toString(),10)].x2+this.scroller.transform.tx)*this.scroller.currentZoom,y:(h[parseInt(i.toString(),10)].y2+this.scroller.transform.ty)*this.scroller.currentZoom},id:h[parseInt(i.toString(),10)].y1===h[parseInt(i.toString(),10)].y2?"HorizontalLines":"VerticalLines"})}}},r.prototype.validatePageSize=function(){var t=0;"Portrait"===this.pageSettings.orientation?this.pageSettings.width>this.pageSettings.height&&(t=this.pageSettings.height,this.pageSettings.height=this.pageSettings.width,this.pageSettings.width=t):this.pageSettings.height>this.pageSettings.width&&(t=this.pageSettings.width,this.pageSettings.width=this.pageSettings.height,this.pageSettings.height=t)},r.prototype.setOverview=function(t,e){if(t)t&&(this.views.push(t.id),this.views[t.id]=t,this.overviewObject={id:t.id,view:t},t.renderDocument(t),t.diagramRenderer.setLayers(),t.initializeOverviewLayers(),t.updateView(t),this.renderNodes(t));else{for(var i=0;i<this.views.length;i++)this.views[parseInt(i.toString(),10)]===e&&(t=this.views[""+e]);this.views[""+e]=void 0;var r=this.views.indexOf(e);r>=0&&this.views.splice(r,1)}},r.prototype.renderNodes=function(t){if(t){var e=new Rd(t.id,new Nd,!1),i=document.getElementById(t.element.id+"_diagramLayer"),r=Ya(t.element.id);this.renderDiagramElements(i,t.diagramRenderer||e,r,void 0,void 0,void 0,!0)}},r.prototype.updateThumbConstraints=function(e,i,r){for(var n=e.length,o=0;o<n;o++){var a=e[parseInt(o.toString(),10)],s=!1,h=i.thumbsConstraints,d=!1;this.nameTable[a.parentId]&&(d=this.nameTable[a.parentId].isLane),a instanceof Hl?(s="Bpmn"===a.shape.type&&"Activity"===a.shape.shape&&!1===a.shape.activity.subProcess.collapsed||"SwimLane"===a.shape.type||d,Le(a)&&h&t.ThumbsConstraints.Rotate&&!s||(h&=~t.ThumbsConstraints.Rotate),je(a,"SouthEast")&&h&t.ThumbsConstraints.ResizeSouthEast||(h&=~t.ThumbsConstraints.ResizeSouthEast),je(a,"NorthWest")&&h&t.ThumbsConstraints.ResizeNorthWest||(h&=~t.ThumbsConstraints.ResizeNorthWest),je(a,"East")&&h&t.ThumbsConstraints.ResizeEast||(h&=~t.ThumbsConstraints.ResizeEast),je(a,"West")&&h&t.ThumbsConstraints.ResizeWest||(h&=~t.ThumbsConstraints.ResizeWest),je(a,"North")&&h&t.ThumbsConstraints.ResizeNorth||(h&=~t.ThumbsConstraints.ResizeNorth),je(a,"South")&&h&t.ThumbsConstraints.ResizeSouth||(h&=~t.ThumbsConstraints.ResizeSouth),je(a,"NorthEast")&&h&t.ThumbsConstraints.ResizeNorthEast||(h&=~t.ThumbsConstraints.ResizeNorthEast),je(a,"SouthWest")&&h&t.ThumbsConstraints.ResizeSouthWest||(h&=~t.ThumbsConstraints.ResizeSouthWest)):a instanceof xd?(r||(h|=t.ThumbsConstraints.Default),Oe(a)?h|=t.ThumbsConstraints.ConnectorSource:h&=~t.ThumbsConstraints.ConnectorSource,Me(a)?h|=t.ThumbsConstraints.ConnectorTarget:h&=~t.ThumbsConstraints.ConnectorTarget):(r||(h|=t.ThumbsConstraints.Default),je(a)||(h&=~(t.ThumbsConstraints.ResizeSouthEast|t.ThumbsConstraints.ResizeSouthWest|t.ThumbsConstraints.ResizeSouth|t.ThumbsConstraints.ResizeEast|t.ThumbsConstraints.ResizeWest|t.ThumbsConstraints.ResizeNorth|t.ThumbsConstraints.ResizeNorthEast|t.ThumbsConstraints.ResizeNorthWest)),Le(a)||(h&=~t.ThumbsConstraints.Rotate)),i.thumbsConstraints=h}},r.prototype.renderSelector=function(e,i,r){var n=this.isProtectedOnChange,o=new ps,a=this.selectedItems,s=(a.constraints,this.diagramRenderer.rendererActions);document.getElementsByClassName("blazor-inner-template");if(this.diagramRenderer.rendererActions=this.currentSymbol?this.addConstraints(s,t.RendererAction.DrawSelectorBorder):this.removeConstraints(s,t.RendererAction.DrawSelectorBorder),this.clearSelectorLayer(),this.commandHandler.hasSelection()){if(1===a.nodes.length&&0===a.connectors.length&&(a.rotateAngle=a.nodes[0].rotateAngle,a.pivot=a.nodes[0].pivot),a.wrapper.measure(o),a.wrapper.arrange(a.wrapper.desiredSize),a.width=a.wrapper.actualSize.width,a.height=a.wrapper.actualSize.height,a.offsetX=a.wrapper.offsetX,a.offsetY=a.wrapper.offsetY,0!==a.rotateAngle){for(var h=0,d=a.nodes;h<d.length;h++){var l=d[h];l.offsetX=l.wrapper.offsetX,l.offsetY=l.wrapper.offsetY}for(var c=0,p=a.connectors;c<p.length;c++)p[c]}this.spatialSearch.getPageBounds();var g=Ea(this.element.id),u=za(this.element.id);if(a.thumbsConstraints=t.ThumbsConstraints.Default,a.annotation?this.updateThumbConstraints([a.annotation],a):(this.updateThumbConstraints(a.nodes,a),this.updateThumbConstraints(a.connectors,a,!0)),a.annotation)this.renderSelectorForAnnotation(a,g);else if(a.nodes.length+a.connectors.length===1||this.nameTable.helper){if(a.nodes[0]instanceof Hl){var f=a.nodes[0];ur(this,f)&&(i||"UmlClassifier"===f.shape.type||f.parentId&&this.nameTable[f.parentId]&&"UmlClassifier"===this.nameTable[f.parentId].shape.type||(a.thumbsConstraints&=~t.ThumbsConstraints.Rotate));var m=!!i||!!(f.constraints&t.NodeConstraints.HideThumbs),y=!!("SwimLane"===f.shape.type||f.isLane||f.isPhase||i);this.diagramRenderer.renderResizeHandle(i?r:a.wrapper.children[0],g,a.thumbsConstraints,this.scroller.currentZoom,a.constraints,this.scroller.transform,void 0,Ce(f),m,y,a.handleSize)}else if(a.connectors[0]instanceof xd&&ai(this.diagramRenderer.rendererActions)){var v=a.connectors[0];this.diagramRenderer.renderEndPointHandle(v,g,a.thumbsConstraints,a.constraints,this.scroller.transform,void 0!==v.sourceWrapper,void 0!==v.targetWrapper,!(!this.connectorEditingToolModule||!Ee(v)),!!this.connectorEditingToolModule,a.handleSize)}}else this.diagramRenderer.renderResizeHandle(a.wrapper,g,a.thumbsConstraints,this.scroller.currentZoom,a.constraints,this.scroller.transform,void 0,Ce(a),null,null,a.handleSize);a.annotation||this.currentSymbol||this.diagramRenderer.renderUserHandler(a,g,this.scroller.transform,u,this.eventHandler.currentAction,this.eventHandler.inAction)}this.selectedItems.selectedObjects.length>1&&this.updateSelectionRectangle(),this.isProtectedOnChange=n},r.prototype.updateSelectionRectangle=function(){for(var t=Ea(this.element.id),e=!1,i=0;i<this.selectedItems.selectedObjects.length;i++)e=0===i,_d(this.selectedItems.selectedObjects[parseInt(i.toString(),10)])===xd?this.diagramRenderer.renderSelectionLine(this.selectedItems.selectedObjects[parseInt(i.toString(),10)].wrapper.children[0],t,this.scroller.transform,e):this.diagramRenderer.renderSelectionRectangle(this.selectedItems.selectedObjects[parseInt(i.toString(),10)].wrapper,t,this.scroller.transform,e)},r.prototype.updateSelector=function(){var e=this.allowServerDataBinding;this.enableServerDataBinding(!1);var i=new ps,r=this.selectedItems,n=r.constraints;document.getElementsByClassName("blazor-inner-template");if(this.diagramActions&t.DiagramAction.ToolAction||1!==this.selectedItems.nodes.length||(this.selectedItems.rotateAngle=this.selectedItems.nodes[0].rotateAngle,this.selectedItems.wrapper.rotateAngle=this.selectedItems.nodes[0].rotateAngle),void 0!==this.selectedItems&&(this.clearSelectorLayer(),null!==r.wrapper&&r.wrapper.children&&r.wrapper.children.length)){var o=!0,a=!0;if(r.wrapper.rotateAngle=r.rotateAngle,Lo(this,r)){var s=this.eventHandler.action,h=s.includes("Rotate"),d=s.includes("None")||s.includes("Select")||s.includes("Drag");(h||d)&&(a=!1),d||(o=!1)}if(o&&(r.wrapper.measure(i),r.wrapper.arrange(r.wrapper.desiredSize)),0!==r.rotateAngle||r.rotateAngle!==r.wrapper.prevRotateAngle)for(var l=0,c=r.nodes;l<c.length;l++){var p=c[l];p.offsetX=p.wrapper.offsetX,p.offsetY=p.wrapper.offsetY}r.width=r.wrapper.actualSize.width,r.height=r.wrapper.actualSize.height,r.offsetX=r.wrapper.offsetX,r.offsetY=r.wrapper.offsetY;var g=Ea(this.element.id),u=za(this.element.id),f=this.eventHandler.canHideResizers();if(r.thumbsConstraints=t.ThumbsConstraints.Default,r.annotation?this.updateThumbConstraints([r.annotation],r):(this.updateThumbConstraints(r.nodes,r),this.updateThumbConstraints(r.connectors,r,!0)),this.selectedItems.constraints&t.SelectorConstraints.UserHandle&&!r.annotation&&!this.currentSymbol&&this.diagramRenderer.renderUserHandler(r,g,this.scroller.transform,u,this.eventHandler.currentAction,this.eventHandler.inAction),r.annotation)this.renderSelectorForAnnotation(r,g);else if(r.nodes.length+r.connectors.length===1){if(r.connectors[0]instanceof xd&&ai(this.diagramRenderer.rendererActions)){var m=r.connectors[0];this.diagramRenderer.renderEndPointHandle(m,g,r.thumbsConstraints,n,this.scroller.transform,void 0!==m.sourceWrapper,void 0!==m.targetWrapper,!(!this.connectorEditingToolModule||!Ee(m)),!!this.connectorEditingToolModule,r.handleSize)}else if(r.nodes[0]instanceof Hl){var y=r.nodes[0];ur(this,r.nodes[0])&&("UmlClassifier"===y.shape.type||y.parentId&&this.nameTable[y.parentId]&&"UmlClassifier"===this.nameTable[y.parentId].shape.type||(r.thumbsConstraints&=~t.ThumbsConstraints.Rotate));var v=!("SwimLane"!==y.shape.type&&!y.isLane&&!y.isPhase);this.diagramRenderer.renderResizeHandle(r.wrapper.children[0],g,r.thumbsConstraints,this.scroller.currentZoom,r.constraints,this.scroller.transform,f,Ce(r.nodes[0]),!!(r.nodes[0].constraints&t.NodeConstraints.HideThumbs),v,r.handleSize)}}else this.diagramActions&t.DiagramAction.Interactions&&(this.diagramRenderer.rendererActions=this.diagramRenderer.rendererActions|t.RendererAction.PreventRenderSelector),Lo(this,r)&&a||this.diagramRenderer.renderResizeHandle(r.wrapper,g,r.thumbsConstraints,this.scroller.currentZoom,r.constraints,this.scroller.transform,f,Ce(r),null,null,r.handleSize),this.diagramRenderer.rendererActions=this.diagramRenderer.rendererActions&~t.RendererAction.PreventRenderSelector}this.selectedItems.selectedObjects.length>1&&this.updateSelectionRectangle(),this.enableServerDataBinding(e)},r.prototype.renderSelectorForAnnotation=function(t,e){this.diagramRenderer.renderResizeHandle(t.wrapper.children[0],e,t.thumbsConstraints,this.scroller.currentZoom,t.constraints,this.scroller.transform,void 0,Ce(t.annotation),void 0,void 0,t.handleSize)},r.prototype.drawSelectionRectangle=function(t,e,i,r){this.clearSelectorLayer(),this.diagramRenderer.drawSelectionRectangle(t,e,i,r,this.adornerLayer,this.scroller.transform)},r.prototype.renderHighlighter=function(t){var e=Ma(this.element.id);this.diagramRenderer.renderHighlighter(t,e,this.scroller.transform)},r.prototype.clearHighlighter=function(){var t=Ma(this.element.id),e=t.getElementById(t.id+"_highlighter");e&&e.parentNode.removeChild(e)},r.prototype.getNodesConnectors=function(t){for(i=0;i<this.nodes.length;i++){var e=this.nodes[parseInt(i.toString(),10)];t.push(e)}for(var i=0;i<this.connectors.length;i++){var r=this.connectors[parseInt(i.toString(),10)];t.push(r)}return t},r.prototype.clearSelectorLayer=function(){var t,i=Ma(this.element.id);document.getElementsByClassName("blazor-inner-template");if(this.currentSymbol){var r=i.getElementById("borderRect_symbol");r&&r.parentNode.removeChild(r)}else{var n=i.getElementById(this.adornerLayer.id+"_selected_region");n&&n.parentNode.removeChild(n),this.clearHighlighter();var o=Ea(this.element.id).childNodes,a=void 0,s=this.eventHandler.touchArgs?this.eventHandler.touchArgs.target.id:void 0;s&&s.includes("bezierLine")&&(s=void 0);for(var h=o.length;h>0;h--)this.eventHandler&&this.eventHandler.touchArgs&&"touchmove"===this.eventHandler.touchArgs.type?(this.diagramRenderer.touchMove=!0,s&&s===o[h-1].id||(a=o[h-1]).parentNode.removeChild(a)):(a=o[h-1]).parentNode.removeChild(a);if(!e.isBlazor()){var d=za(this.element.id).childNodes;for(t=d.length;t>0;t--)d[t-1].parentNode.removeChild(d[t-1])}}},r.prototype.getWrapper=function(t,e){var i;e=t.id+"_"+e;for(var r=t instanceof Vs?t:this.getPortContainer(this.nameTable[t.id]),n=0;n<r.children.length;n++)e===r.children[parseInt(n.toString(),10)].id&&(i=r.children[parseInt(n.toString(),10)]);return i},r.prototype.getEndNodeWrapper=function(t,i,r){if("Bpmn"===t.shape.type&&t.wrapper.children[0]instanceof Vs){if(!e.isBlazor()&&"Activity"===t.shape.shape){if(r&&"Transaction"===t.shape.activity.subProcess.type&&i.sourcePortID){var n=i.sourcePortID,o=t.wrapper.children[0].children[0].children[2];if(o.children)for(var a=0,s=o.children;a<s.length;a++){var h=s[a];if(h.visible&&h.id===t.id+"_"+n)return h.children[0]}}return t.wrapper.children[0].children[0].children[0]}return"Group"===t.shape.shape?t.wrapper.children[0]:t.wrapper.children[0].children[0]}var d=t.wrapper.children[0];return!d||this.containsMargin(d)||t.children&&0!==t.children.length?t.wrapper:d},r.prototype.containsMargin=function(t){return t.margin&&(0!==t.margin.left||0!==t.margin.top||0!==t.margin.right||0!==t.margin.bottom)},r.prototype.focusOutEdit=function(){this.endEdit(),"Canvas"===this.mode&&1!==this.scroller.currentZoom&&this.refreshDiagramLayer()},r.prototype.endEditCommand=function(){this.endEdit(),this.textEditing=!1,"Canvas"===this.mode&&1!==this.scroller.currentZoom&&this.refreshDiagramLayer()},r.prototype.fontStyleCommand=function(t){for(n=0;n<this.selectedItems.nodes.length;n++){var e=this.selectedItems.nodes[parseInt(n.toString(),10)];if("SwimLane"===e.shape.type&&e.shape.hasHeader&&this.applyStyleText(t,e.shape.header.annotation),e.isLane){var i=this.getObject(e.shape.header[0].id);this.applyStyle(t,i.annotations)}if("Text"===e.shape.type){var r=e;this.applyStyleText(t,r)}if(e.annotations.length>0){o=e.annotations;this.applyStyle(t,o)}}for(var n=0;n<this.selectedItems.connectors.length;n++)if(this.selectedItems.connectors[parseInt(n.toString(),10)].annotations.length>0){var o=this.selectedItems.connectors[parseInt(n.toString(),10)].annotations;this.applyStyle(t,o)}},r.prototype.applyStyle=function(t,e){for(var i=0;i<e.length;i++)switch(t){case"bold":e[parseInt(i.toString(),10)].style.bold=!e[parseInt(i.toString(),10)].style.bold;break;case"italic":e[parseInt(i.toString(),10)].style.italic=!e[parseInt(i.toString(),10)].style.italic;break;case"underline":"None"===e[parseInt(i.toString(),10)].style.textDecoration?e[parseInt(i.toString(),10)].style.textDecoration="Underline":"Underline"===e[parseInt(i.toString(),10)].style.textDecoration&&(e[parseInt(i.toString(),10)].style.textDecoration="None")}this.dataBind()},r.prototype.applyStyleText=function(t,e){switch(t){case"bold":e.style.bold=!e.style.bold;break;case"italic":e.style.italic=!e.style.italic;break;case"underline":"None"===e.style.textDecoration?e.style.textDecoration="Underline":"Underline"===e.style.textDecoration&&(e.style.textDecoration="None")}this.dataBind()},r.prototype.duplicateCommand=function(){var t=[];t=t.concat(this.selectedItems.nodes,this.selectedItems.connectors),this.copy(),this.paste()},r.prototype.groupCommand=function(t){switch(t){case"group":this.group();break;case"ungroup":this.unGroup()}},r.prototype.rotateCommand=function(t){var e=this.selectedItems;switch(t){case"clockwise":this.rotate(e,90);break;case"antiClockwise":this.rotate(e,-90)}},r.prototype.flipCommand=function(e){var i=[];i=i.concat(this.selectedItems.nodes,this.selectedItems.connectors);for(var r=0;r<i.length;r++)switch(e){case"horizontal":i[parseInt(r.toString(),10)].flip=t.FlipDirection.Horizontal;break;case"vertical":i[parseInt(r.toString(),10)].flip=t.FlipDirection.Vertical}this.dataBind()},r.prototype.toolCommand=function(e){switch(e){case"pointer":this.tool=t.DiagramTools.Default,this.dataBind();break;case"text":var i={shape:{type:"Text"}};this.drawingObject=i,this.tool=t.DiagramTools.DrawOnce,this.dataBind();break;case"connect":var r={id:"connector1",type:"Straight"};this.drawingObject=r,this.tool=t.DiagramTools.DrawOnce,this.dataBind();break;case"freeForm":var n={id:"connector1",type:"Freehand"};this.drawingObject=n,this.tool=t.DiagramTools.DrawOnce,this.dataBind();break;case"line":var o={id:"connector1",type:"Polyline"};this.drawingObject=o,this.tool=t.DiagramTools.DrawOnce,this.dataBind();break;case"rectangle":var a={shape:{type:"Basic",shape:"Rectangle"}};this.drawingObject=a,this.tool=t.DiagramTools.DrawOnce,this.dataBind();break;case"ellipse":var s={shape:{type:"Basic",shape:"Ellipse"}};this.drawingObject=s,this.tool=t.DiagramTools.DrawOnce,this.dataBind()}},r.prototype.zoomCommand=function(t){switch(t){case"zoomIn":this.zoomTo({type:"ZoomIn",zoomFactor:.2});break;case"zoomOut":this.zoomTo({type:"ZoomOut",zoomFactor:.2})}},r.prototype.shiftCommand=function(e){if(this.eventHandler.keyArgs&&void 0!==this.eventHandler.keyArgs.keyModifiers&&4!==this.eventHandler.keyArgs.keyModifiers)return null;if(this.selectedItems instanceof Ul&&this.selectedItems.wrapper&&this.constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){var i=this.selectedItems.wrapper.bounds;if(i){if("Left"===e&&i.x-5<0)return;if("Top"===e&&i.y-5<0)return}}var r=0,n=0;"Left"===e||"Right"===e?r="Left"===e?-5:5:n="Up"===e?-5:5;var o=this.selectedItems,a=this.selectedItems.wrapper.children[0];a instanceof js?this.commandHandler.labelDrag(o.nodes[0],a,r,n):this.drag(o,r,n);for(var s=0;s<this.selectedItems.connectors.length;s++){var h=this.selectedItems;"Up"===e?this.drag(h,0,-5):"Down"===e?this.drag(h,0,5):"Left"===e?this.drag(h,-5,0):"Right"===e&&this.drag(h,5,0)}},r.prototype.alignCommand=function(t){if(this.selectedItems.nodes.length>0)for(var e=0;e<this.selectedItems.nodes.length;e++)this.updateNodesAndConnectorAnnotation(this.selectedItems.nodes[parseInt(e.toString(),10)],t)},r.prototype.updateNodesAndConnectorAnnotation=function(t,e){for(var i,r=0;r<t.annotations.length;r++){switch(i=t.annotations[parseInt(r.toString(),10)],e){case"left":i.horizontalAlignment="Left";break;case"center":i.horizontalAlignment="Center";break;case"right":i.horizontalAlignment="Right";break;case"justify":i.style.textAlign="Justify";break;case"top":i.verticalAlignment="Top";break;case"centerVertical":i.verticalAlignment="Center";break;case"bottom":i.verticalAlignment="Bottom"}this.dataBind()}},r.prototype.orderCommand=function(t){switch(t){case"sendToBack":this.sendToBack();break;case"bringToFront":this.bringToFront();break;case"sendBackward":this.sendBackward();break;case"bringForward":this.moveForward()}},r.prototype.navigateItems=function(t){var e=0,i=this.activeLayer.objectZIndex,r=[],n=[];r=r.concat(this.selectedItems.nodes,this.selectedItems.connectors),n=n.concat(this.nodes,this.connectors),(e=r.length>0?r[0].zIndex+(t?1:-1):t?0:i)<0?e=i:e>i&&(e=0);var o=!1;do{for(var a=0;a<n.length;a++){var s=n[parseInt(a.toString(),10)];if(e===s.zIndex){this.clearSelection(),this.select([s]),o=!0;break}}o||(t?e++:e--)}while(!o&&n.length>0)},r.prototype.endEdit=function(){return Pp(this,void 0,void 0,function(){var i,r,n,o,a,s,h,d,l,c,p,g,u,f,m,y,v,b,S,w,x,I,C,P;return Dp(this,function(D){if(this.diagramActions&t.DiagramAction.TextEdit&&(i=void 0,r=void 0,n={},this.enableServerDataBinding(!1),o=document.getElementById(this.element.id+"_editBox"),!e.isBlazor())){if(a=o.value,e.EventHandler.remove(o,"input",this.eventHandler.inputChange),e.EventHandler.remove(o,"focusout",this.focusOutEdit),s=document.getElementById(this.element.id+"_editTextBoxDiv"),h=void 0,h=this.nameTable[this.activeLabel.parentId],d=ho(h,this.activeLabel.id),l={oldValue:this.activeLabel.text,newValue:a,cancel:!1,element:h,annotation:d},s.parentNode.removeChild(s),c=void 0,!d||d instanceof fl?i={shape:{content:h.shape.content}}:(u=po(h,d.id,!0),n[""+u]={content:d.content},i={annotations:n}),p=!1,"Draw"===this.eventHandler.currentAction&&(p=this.eventHandler.isAddTextNode(h,!0)),p||s.textContent===a&&a===this.activeLabel.text||this.triggerEvent(t.DiagramEvent.textEdit,l),c||(c=this.getWrapper(h.wrapper,this.activeLabel.id)),g=!1,d&&d.content!==a&&!l.cancel&&(g=!0,this.activeLabel.isGroup||this.startGroupAction(),h.parentId&&"UmlClassifier"===this.nameTable[h.parentId].shape.type&&-1===a.indexOf("+")&&-1===a.indexOf("-")&&-1===a.indexOf("#")&&-1===a.indexOf("~")&&-1===h.id.indexOf("_umlClass_header")&&(a=" + "+a),(h.isLane||h.isPhase)&&this.protectPropertyChange(!0),d instanceof fl?r={shape:{content:a}}:(u=po(h,d.id,!0),(f={})[""+u]={content:a},r={annotations:f}),(m=this.getIndex(h,h.id))&&((y={})[""+m]=i,(v={})[""+m]=r,_d(h)===Hl?this.onPropertyChanged({nodes:v},{nodes:y}):this.onPropertyChanged({connectors:v},{connectors:y})),this.protectPropertyChange(!0),d.content=a,this.protectPropertyChange(!1),this.updateSelector(),(h.isLane||h.isPhase)&&this.protectPropertyChange(!1)),p&&(this.removeObjectsFromLayer(h),this.removeFromAQuad(h),delete this.nameTable[this.activeLabel.parentId],""!==a&&(this.clearSelection(),b=k(h),h=this.add(b),this.updateDiagramObject(h),this.commandHandler.oldSelectedObjects=Ud(this),this.commandHandler.select(this.nameTable[h.id]))),this.selectedItems.nodes.length){if(S=this.nameTable[this.activeLabel.parentId],(w=this.nameTable[S.parentId])&&"SwimLane"===w.shape.type||"SwimLane"===S.shape.type)if(x="LaneHeaderParent",I="PhaseHeaderParent","SwimLane"===S.shape.type&&(w=this.nameTable[this.activeLabel.parentId],S=h),S.isLane||S.isPhase)for(C=S.isLane?w.shape.lanes:w.shape.phases,P=0;P<C.length;P++)C[parseInt(P.toString(),10)].id===(S[""+x]||S[""+I])&&(C[parseInt(P.toString(),10)].header.annotation.content=S.annotations[0].content);else S.isHeader&&w.shape.hasHeader&&(w.shape.header.annotation.content=S.annotations[0].content);this.dataBind()}c.visible=!0,this.updateDiagramObject(h),this.diagramActions=this.diagramActions&~t.DiagramAction.TextEdit,(this.activeLabel.isGroup||g)&&this.endGroupAction(),this.activeLabel={id:"",parentId:"",isGroup:!1,text:void 0},this.commandHandler.getBlazorOldValues(),this.enableServerDataBinding(!0)}return[2]})})},r.prototype.getIndex=function(t,e){for(var i=_d(t)===Hl?this.nodes:this.connectors,r=0;r<i.length;r++)if(i[parseInt(r.toString(),10)].id.toString()===e.toString())return r.toString();return null},r.prototype.canLogChange=function(){return!(!(this.diagramActions&t.DiagramAction.Render)||this.diagramActions&t.DiagramAction.ToolAction||this.diagramActions&t.DiagramAction.UndoRedo||this.diagramActions&t.DiagramAction.PublicMethod)},r.prototype.modelChanged=function(t,e){return!!(t.connectors||e.connectors||t.nodes||e.connectors||t.pageSettings||e.pageSettings||t.bridgeDirection||e.bridgeDirection)},r.prototype.resetDiagramActions=function(e){var i=!!e;this.diagramActions&t.DiagramAction.UndoRedo&&(!i||e===t.DiagramAction.UndoRedo)&&(this.diagramActions=this.diagramActions&~t.DiagramAction.UndoRedo),this.diagramActions&t.DiagramAction.PublicMethod&&(!i||e===t.DiagramAction.PublicMethod)&&(this.diagramActions=this.diagramActions&~t.DiagramAction.PublicMethod)},r.prototype.removeNode=function(t,e){this.removeObjectsFromLayer(t),this.removeFromAQuad(this.nameTable[t.id]);var i=document.getElementById(t.id+"_groupElement");if(delete this.nameTable[t.id],t.children&&delete this.groupTable[t.id],this.nodes.splice(this.nodes.indexOf(t),1),i&&i.children&&i.children.length>0)for(var r=void 0,n=i.children.length-1;n>=0;n--){var o=i.children[parseInt(n.toString(),10)];e.length>0&&-1!==e.indexOf(o.id.split("_groupElement")[0])&&(r?i.parentNode.insertBefore(o,r):i.parentNode.insertBefore(o,i),r=o)}i&&i.parentNode.removeChild(i)},r.prototype.deleteGroup=function(t){var e=[],i=[];t.children&&(i=this.commandHandler.getChildren(t,e)),this.UpdateBlazorDiagramModelCollection(t);for(var r=0,n=i;r<n.length;r++){var o=n[r];o&&this.nameTable[o.id]&&this.remove(o)}},r.prototype.updateObject=function(e,i,r){if(!(this.diagramActions&t.DiagramAction.ToolAction)){var n=e.wrapper.children[0].bounds;if(!this.commandHandler.checkBoundaryConstraints(void 0,void 0,n,!0))if(e instanceof Hl){for(var o=i,a=0,s=Object.keys(r);a<s.length;a++)switch(l=s[a]){case"width":e.width=o.width;break;case"height":e.height=o.height;break;case"offsetX":e.offsetX=o.offsetX;break;case"offsetY":e.offsetY=o.offsetY;break;case"rotateAngle":e.rotateAngle=o.rotateAngle}this.nodePropertyChange(e,r,i)}else{for(var h=0,d=Object.keys(r);h<d.length;h++){var l=d[h],c=i,p=e.sourcePoint,g=e.targetPoint;switch(l){case"sourcePoint":p.x=c.sourcePoint.x||p.x,p.y=c.sourcePoint.y||p.y;break;case"targetPoint":g.x=c.targetPoint.x||g.x,g.y=c.targetPoint.y||g.y}}this.connectorPropertyChange(e,r,i)}}},r.prototype.nodePropertyChangeExtend=function(e,i,r,n){return void 0!==r.style&&"Bpmn"!==e.shape.type&&(Xn(r.style,e.wrapper.children[0]),n=!0),void 0!==r.shadow&&(this.updateShadow(e.shadow,r.shadow),n=!0),void 0!==r.constraints&&(i.constraints&t.NodeConstraints.Select&&!(r.constraints&t.NodeConstraints.Select)&&zr(this,e)?this.clearSelection():(this.updateThumbConstraints(this.selectedItems.nodes,this.selectedItems),this.updateSelector(),n=!0)),this.updateTextAnnotationInSwimlane(e,r),this.swimLaneNodePropertyChange(e,i,r,n),n},r.prototype.updateTextAnnotationInSwimlane=function(t,e){if(t.hasTextAnnotation&&this.isPositionUndo)for(var i=0;i<t.outEdges.length;i++){var r=this.nameTable[t.outEdges[parseInt(i.toString(),10)]];if(r.isBpmnAnnotationConnector){var n=this.nameTable[r.targetID];if(this.isProtectedOnChange=!0,t.laneMargin&&n){var o=t.margin.left-t.laneMargin.left,a=t.margin.top-t.laneMargin.top;n.margin.left+=o,n.margin.top+=a,n.offsetX+=o,n.offsetY+=a,n.wrapper.offsetX+=o,n.wrapper.offsetY+=a,n.wrapper.measure(new ps(n.wrapper.width,n.wrapper.height)),n.wrapper.arrange(n.wrapper.desiredSize),this.updateDiagramObject(n)}this.isProtectedOnChange=!1}}},r.prototype.swimLaneNodePropertyChange=function(e,i,r,n){if(("SwimLane"===e.shape.type||"Container"===e.shape.type)&&!this.currentSymbol){if(i.shape){var o=r.shape,a=e.shape,s="Horizontal"===a.orientation,h=a.padding,d=i.shape,l=e.wrapper.children[0],c=void 0,p=void 0,g=void 0;if(d.lanes||d.phases){if(d.lanes)for(var u=0,f=Object.keys(o.lanes);u<f.length;u++){var m=f[u],y=Number(m),v=d.lanes[parseInt(y.toString(),10)],b=void 0,S=o.lanes[parseInt(y.toString(),10)];if(S&&S.header&&(g=a.lanes[parseInt(y.toString(),10)].header.id,c=v.header,(p=S.header).annotation&&p.annotation.content&&(this.nameTable[""+g].annotations[0].content=p.annotation.content),p.annotation&&p.annotation.style&&(this.nameTable[""+g].annotations[0].style=p.annotation.style),p.annotation&&p.annotation.offset&&(this.nameTable[""+g].annotations[0].offset=p.annotation.offset),this.nodePropertyChange(this.nameTable[""+g],c,p)),v.children){for(var w=0,x=Object.keys(v.children);w<x.length;w++){var I=x[w];g=a.lanes[parseInt(y.toString(),10)].children[Number(I)].id;var C=this.nameTable[""+g];c=v.children[Number(I)],p=S.children[Number(I)],this.nodePropertyChange(C,c,p);var P=this.nameTable[C.parentId];this.diagramActions&t.DiagramAction.UndoRedo||(this.startGroupAction(),wr(P,e,C,this))}this.updateSelector()}v.width&&!s&&(b=a.phases&&a.phaseSize?y+1:y,l.updateColumnWidth(b,S.width,!0,h),this.updateDiagramElementQuad()),v.height&&s&&(b=a.header&&a.hasHeader?y+1:y,b+=a.phases&&a.phaseSize?1:0,l.updateRowHeight(b,S.height,!0,h),this.updateDiagramElementQuad())}if(o.phases)for(var D=0,T=Object.keys(o.phases);D<T.length;D++){var A=T[D],y=Number(A),M=o.phases[parseInt(y.toString(),10)],E=void 0,L=a.header&&a.hasHeader?1:0;if(M&&M.header&&(g=a.phases[parseInt(y.toString(),10)].header.id,c=d.phases[parseInt(y.toString(),10)].header,(p=M.header).annotation&&p.annotation.content&&(this.nameTable[""+g].annotations[0].content=p.annotation.content),p.annotation&&p.annotation.style&&(this.nameTable[""+g].annotations[0].style=p.annotation.style),p.annotation&&p.annotation.offset&&(this.nameTable[""+g].annotations[0].offset=p.annotation.offset),this.nodePropertyChange(this.nameTable[""+g],c,p)),M.offset){if(0===y)E=M.offset;else{var z=a.phases[y-1];(E=M.offset-z.offset)<=0&&(E=M.offset)}s?(l.updateColumnWidth(y,E,!0,h),Li(e,this,l.rows[parseInt(L.toString(),10)].cells[parseInt(y.toString(),10)],y)):l.updateRowHeight(L+y,E,!0,h)}}}if(void 0!==o.phaseSize&&a.phases.length)if(0===o.phaseSize||0===d.phaseSize)if(d.phaseSize)s?(l.removeRow(a.header&&a.hasHeader?1:0),e.height=e.wrapper.height=l.height):(a.header&&a.hasHeader&&(l.rows[0].cells[1].children=l.rows[0].cells[0].children,l.rows[0].cells[1].columnSpan=l.rows[0].cells[0].columnSpan-1,l.rows[0].cells[0].children=[]),l.removeColumn(0));else{if(s){var k=new Oh;k.height=o.phaseSize,l.addRow(a.header&&a.hasHeader?1:0,k,!0),e.height=e.wrapper.height+=o.phaseSize}else{var B=new Mh;B.width=o.phaseSize,l.addColumn(0,B,!0),a.header&&a.hasHeader&&(l.rows[0].cells[0].children=l.rows[0].cells[1].children,l.rows[0].cells[1].children=[],l.rows[0].cells[1].columnSpan=1,l.rows[0].cells[1].minWidth=void 0,l.rows[0].cells[0].columnSpan=a.lanes.length+1)}for(var N=0;N<a.phases.length;N++)""===a.phases[parseInt(N.toString(),10)].id&&(a.phases[parseInt(N.toString(),10)].id=O()),ci(l,this,e,a.header&&a.hasHeader?1:0,s,N)}else s?l.updateRowHeight(a.header&&a.hasHeader?1:0,o.phaseSize,!1):l.updateColumnWidth(0,o.phaseSize,!1);if(a.header&&a.hasHeader&&d.header){var R;"SwimLane"===e.shape.type?R=l.rows[0].cells[0].children[0].id:"Container"===e.shape.type&&(R=l.children[1].id),p=o.header,c=d.header,p.annotation&&p.annotation.offset&&(this.nameTable[""+R].annotations[0].offset=p.annotation.offset),this.nodePropertyChange(this.nameTable[""+R],c,p)}e.height=l.height,e.width=l.width,"SwimLane"===e.shape.type&&(e.wrapper.height=l.height,e.wrapper.width=l.width)}else if(i.constraints){var j=i.constraints&t.NodeConstraints.Select,H=r.constraints&t.NodeConstraints.Select;if(j!==H){var o=e.shape,W=this.nameTable[e.id+o.header.id];W.constraints=H?W.constraints|t.NodeConstraints.Select:W.constraints&~t.NodeConstraints.Select;var _=void 0;if(o.phaseSize>0)for(X=0;X<o.phases.length;X++)(_=this.nameTable[e.id+o.phases[parseInt(X.toString(),10)].id+"_header"]).constraints=H?_.constraints|t.NodeConstraints.Select:_.constraints&~t.NodeConstraints.Select;for(var F=void 0,Y=void 0,V=o.phases.length||1,X=0;X<o.lanes.length;X++)for(var U=0;U<V;U++)(F=this.nameTable[e.id+o.lanes[parseInt(X.toString(),10)].id+U]).constraints=H?F.constraints|t.NodeConstraints.Select:F.constraints&~t.NodeConstraints.Select,0===U&&((Y=this.nameTable[e.id+o.lanes[parseInt(X.toString(),10)].id+"_"+U+"_header"]).constraints=H?Y.constraints|t.NodeConstraints.Select:Y.constraints&~t.NodeConstraints.Select)}}n=!0}return n},r.prototype.insertValue=function(e,i){if(!(this.blazorActions&t.BlazorAction.GroupClipboardInProcess)){for(var r=void 0,n=i?this.oldNodeObjects:this.oldConnectorObjects,o=0;o<n.length;o++)n[parseInt(o.toString(),10)].id===e.id&&(r=!0);r||(i?this.oldNodeObjects.push(e):this.oldConnectorObjects.push(e))}},r.prototype.nodePropertyChange=function(i,r,n,o,a,s){var h=this;if(this.canEnableBlazorObject&&"helper"!==i.id){var d=k(i);this.insertValue(d,!0)}var l,c=i.wrapper.outerBounds,p=i.wrapper.bounds,g=!1,u=0,f=0,m=0,y=0,v=!1,b=!1,S=!1;if(void 0!==n.width&&(i.children?i.container?i.wrapper.width=n.width:this.scaleObject(i,n.width,!0):(i.wrapper.children[0].width=n.width,l=!0,g=!0,"SwimLane"===i.shape.type&&(i.wrapper.width=n.width)),v=!0),void 0!==n.height){if(i.children)i.container?i.wrapper.height=n.height:this.scaleObject(i,n.height,!1);else if(i.wrapper.children[0].height=n.height,l=!0,g=!0,"SwimLane"===i.shape.type&&(i.wrapper.height=n.height,"SwimLane"===i.shape.type&&this.isUndo)){var w=i.shape;if(w.header&&w.hasHeader){var x=i.wrapper.children[0],I=w.padding,C=r.height-n.height,P=x.rowDefinitions(),D=P.length-1,T=P[parseInt(D.toString(),10)].height-C;x.updateRowHeight(D,T,!0,I,!0)}}v=!0}if(l=this.nodePropertyChangeExtend(i,r,n,l),void 0!==n.constraints&&ze(r)!==ze(n)&&(i.wrapper.children[0].shadow=ze(i)?i.shadow:null),void 0!==n.offsetX){if(u=r.offsetX,f=n.offsetX,i.wrapper.flip!==t.FlipDirection.None)if(i.offsetX!==i.wrapper.offsetX&&void 0!==r.offsetX){var A=n.offsetX-r.offsetX;i.wrapper.offsetX=i.wrapper.offsetX+A,this.updateFlipOffset(i.wrapper,A,0,i.wrapper.flip)}else i.wrapper.offsetX=n.offsetX;else i.wrapper.offsetX=n.offsetX;l=!0,g=!0,b=!0}if(void 0!==n.offsetY){if(m=r.offsetY,y=n.offsetY,i.wrapper.flip!==t.FlipDirection.None)if(i.offsetY!==i.wrapper.offsetY&&void 0!==r.offsetY){var O=n.offsetY-r.offsetY;i.wrapper.offsetY=i.wrapper.offsetY+O,this.updateFlipOffset(i.wrapper,0,O,i.wrapper.flip)}else i.wrapper.offsetY=n.offsetY;else i.wrapper.offsetY=n.offsetY;l=!0,g=!0,b=!0}if(void 0!==n.padding&&(i.wrapper.padding.left=void 0!==n.padding.left?n.padding.left:i.wrapper.padding.left,i.wrapper.padding.right=void 0!==n.padding.right?n.padding.right:i.wrapper.padding.right,i.wrapper.padding.top=void 0!==n.padding.top?n.padding.top:i.wrapper.padding.top,i.wrapper.padding.bottom=void 0!==n.padding.bottom?n.padding.bottom:i.wrapper.padding.bottom,l=!0),void 0!==n.pivot&&(i.wrapper.pivot=n.pivot,l=!0),void 0!==n.minWidth&&(i.wrapper.minWidth=i.wrapper.children[0].minWidth=n.minWidth,l=!0,g=!0,v=!0),void 0!==n.minHeight&&(i.wrapper.minHeight=i.wrapper.children[0].minHeight=n.minHeight,l=!0,g=!0,v=!0),void 0!==n.maxWidth&&(i.wrapper.maxWidth=n.maxWidth,l=!0,g=!0,v=!0),void 0!==n.maxHeight&&(i.wrapper.maxHeight=n.maxHeight,l=!0,g=!0,v=!0),this.isNotContainerOrSubProcess(i)&&this.isNotSwimlaneObject(i)){if(void 0!==n.flip){var M=(n.flip&t.FlipDirection.Horizontal^i.wrapper.flip&t.FlipDirection.Horizontal)===t.FlipDirection.Horizontal,E=(n.flip&t.FlipDirection.Vertical^i.wrapper.flip&t.FlipDirection.Vertical)===t.FlipDirection.Vertical;if(M&&(i.wrapper.flip^=t.FlipDirection.Horizontal),E&&(i.wrapper.flip^=t.FlipDirection.Vertical),l=!0,g=!0,i.children){var L=i.children.filter(function(t){return h.nameTable[""+t]&&h.nameTable[""+t]instanceof xd});L&&L.length>0?this.groupBounds=i.wrapper.bounds:this.groupBounds=null}else this.groupBounds=null;Vd(i.wrapper,i.offsetX,i.offsetY,this,void 0,M,E),M!==E&&Xd(i,this),this.updateWrapperChildFlip(i)}if(void 0!==n.flipMode){var z="";z=i.wrapper.flipMode=n.flipMode,l=!0,g=!0,this.updateWrapperChildFlip(i,z)}}if(void 0!==n.rotateAngle&&i.constraints&t.NodeConstraints.Rotate&&(i.children&&a&&this.commandHandler.rotateObjects(i,[i],i.rotateAngle-i.wrapper.rotateAngle,{x:i.offsetX,y:i.offsetY},!1),i.wrapper.rotateAngle=n.rotateAngle,l=!0,g=!0,S=!0,i.processId||i.parentId&&"Container"===this.nameTable[i.parentId].shape.type)){var B=k(i),N=void 0;N=i.processId?this.nameTable[i.processId]:this.nameTable[i.parentId],B.margin.top=i.offsetY-i.actualSize.height/2-(N.offsetY-N.actualSize.height/2),B.margin.left=i.offsetX-i.actualSize.width/2-(N.offsetX-N.actualSize.width/2),B.margin.left===i.margin.left&&B.margin.top===i.margin.top||this.updateMargin(i,B)}if(void 0!==n.backgroundColor&&(i.wrapper.style.fill=n.backgroundColor),void 0!==n.visible&&this.updateElementVisibility(i.wrapper,i,i.visible),void 0!==n.shape&&"Bpmn"!==i.shape.type&&(l=!0,qn(n,i,r,this),g=!0),n.margin&&(l=!0,this.updateMargin(i,n),i.parentId&&"Container"===this.nameTable[i.parentId].shape.type&&oa(i,this),g=!0,b=!0),(void 0!==n.shape&&void 0===n.shape.type||void 0!==n.width||void 0!==n.maxWidth||void 0!==n.minWidth||void 0!==n.maxHeight||void 0!==n.minHeight||void 0!==n.height||void 0!==n.style)&&"Bpmn"===i.shape.type&&this.bpmnModule&&(l=!0,g=!0,this.bpmnModule.updateBPMN(n,r,i,this)),void 0===n.width&&void 0===n.height||"Container"!==i.shape.type||(l=!0,Qo(n,r,i,i.wrapper.children[0],this)),void 0!==n.style&&"Container"===i.shape.type&&(l=!0,Xn(n.style,i.wrapper.children[0].children[0])),"UmlActivity"!==i.shape.type||e.isBlazor()||"FinalNode"!==i.shape.shape||(l=!0,g=!0,this.updateUMLActivity(n,r,i,this)),(i.shape&&"UmlClassifier"===i.shape.type||i.parentId&&this.nameTable[i.parentId]&&"UmlClassifier"===this.nameTable[i.parentId].shape.type)&&(l=!0,g=!0),void 0!==n.ports)for(var R=0,j=Object.keys(n.ports);R<j.length;R++){var H=j[R],W=Number(H);l=!0;var _=n.ports[""+H],F=i.ports[parseInt(W.toString(),10)];this.updatePort(_,F,i.wrapper),i.flip!==t.FlipDirection.None&&("Port"!==i.flipMode&&"PortAndLabel"!==i.flipMode&&"PortAndLabelText"!==i.flipMode&&"All"!==i.flipMode||this.updatePorts(i,i.flip)),g=!0}if(void 0!==n.annotation||void 0!==n.annotations||void 0!==n.width)for(var Y=0,V=Object.keys(n.annotations||i.annotations);Y<V.length;Y++){var H=V[Y],W=Number(H);l=!0;_=void 0;_=n.annotation?n.annotation:n.annotations?n.annotations[""+H]:i.annotations;var X=i.annotations[parseInt(W.toString(),10)];if(X){var U=!!i.width;this.updateAnnotation(_,X,i.wrapper,i,U);var G=this.nameTable[i.parentId];if(G&&"SwimLane"===G.shape.type){if(i.isLane||i.isPhase){for(var Z=i.isLane?G.shape.lanes:G.shape.phases,q=0;q<Z.length;q++)if(Z[parseInt(q.toString(),10)].id===(i.LaneHeaderParent||i.PhaseHeaderParent)){Z[parseInt(q.toString(),10)].header.annotation.content=i.annotations[0].content,Z[parseInt(q.toString(),10)].header.annotation.style=i.annotations[0].style,Z[parseInt(q.toString(),10)].header.annotation.offset.x=i.annotations[0].offset.x,Z[parseInt(q.toString(),10)].header.annotation.offset.y=i.annotations[0].offset.y,Z[parseInt(q.toString(),10)].header.annotation.width=i.annotations[0].width,Z[parseInt(q.toString(),10)].header.annotation.height=i.annotations[0].height;break}}else i.isHeader&&(G.shape.header.annotation.offset.x=i.annotations[0].offset.x,G.shape.header.annotation.offset.y=i.annotations[0].offset.y,G.shape.header.annotation.rotateAngle=i.annotations[0].rotateAngle,G.shape.header.annotation.width=i.annotations[0].width,G.shape.header.annotation.height=i.annotations[0].height)}else if(G&&"Container"===G.shape.type&&i.isHeader){var K=G.shape.header;K.annotation.content=i.annotations[0].content,K.annotation.offset=i.annotations[0].offset,K.annotation.width=i.annotations[0].width,K.annotation.height=i.annotations[0].height,K.annotation.rotateAngle=i.annotations[0].rotateAngle}}}if(void 0===n.expandIcon&&void 0===n.collapseIcon&&void 0===n.isExpanded||(this.updateIcon(i),this.updateDefaultLayoutIcons(i),void 0!==n.isExpanded&&(this.canExpand=!0,this.diagramActions|=t.DiagramAction.PreventIconsUpdate,this.commandHandler.expandNode(i,this),this.diagramActions=this.diagramActions&~t.DiagramAction.PreventIconsUpdate),l=!0,this.canExpand=!1),void 0!==n.fixedUserHandles)for(var W=void 0,_=void 0,Q=void 0,J=0,$=Object.keys(n.fixedUserHandles);J<$.length;J++){H=$[J];W=Number(H),l=!0,n.fixedUserHandles[parseInt(W.toString(),10)]&&(_=n.fixedUserHandles[parseInt(W.toString(),10)]),(Q=i.fixedUserHandles[parseInt(W.toString(),10)])&&this.updateNodefixedUserHandle(_,Q,i.wrapper,i)}if(void 0!==n.tooltip&&this.updateTooltip(i,n),l){if(void 0!==this.bpmnModule&&(b&&!v&&!this.sizeUndo||v&&"Bpmn"===i.shape.type&&"TextAnnotation"!==i.shape.shape)&&!S&&this.updateBpmnAnnotationPosition(u,m,f,y,i,i.wrapper,i.shape,"TextAnnotation"===i.shape.shape,r,v,this.sizeUndo),this.checkSelectedItem(i)&&i.wrapper.children[0]instanceof js&&i.wrapper.children[0].refreshTextElement(),i.wrapper.measure(new ps(i.wrapper.bounds.width,i.wrapper.bounds.height),i.id,this.onLoadImageSize.bind(this)),i.wrapper.arrange(i.wrapper.desiredSize),this.updateObject(i,r,n),!("SwimLane"!==i.shape.type||this.currentSymbol||this.diagramActions&t.DiagramAction.ToolAction)){zi(this,i);var x=i.wrapper.children[0],tt=i.shape,et=x.columnDefinitions().length;if("Horizontal"===tt.orientation){W=tt.header&&tt.hasHeader?1:0;Li(i,this,x.rows[parseInt(W.toString(),10)].cells[et-1],et-1)}i.wrapper.measure(new ps(i.wrapper.bounds.width,i.wrapper.bounds.height)),i.wrapper.arrange(i.wrapper.desiredSize)}if(this.diagramActions&t.DiagramAction.ToolAction&&!(this.diagramActions&t.DiagramAction.UndoRedo)||this.checkSelectedItem(i)&&this.updateSelector(),!1===c.equals(c,i.wrapper.outerBounds)&&(this.updateQuad(i),i.parentId&&this.nameTable[i.parentId])){var it=this.nameTable[i.parentId];this.updateQuad(it)}if(o?i&&i.visible&&i.outEdges&&this.updateIconVisibility(i,0!==i.outEdges.length):this.commandHandler.connectorSegmentChange(i,p,void 0!==n.rotateAngle),void 0!==this.bpmnModule&&this.bpmnModule.updateDocks(i,this),i.shape instanceof Vl&&aa(i,this),(n.annotations||i.isHeader)&&(i.processId||i.parentId&&"Container"===this.nameTable[i.parentId].shape.type)||void 0!==n.flip||this.updateGroupOffset(i),i.parentId&&this.nameTable[i.parentId]){var rt=this.nameTable[i.parentId];rt.wrapper.measure(new ps(rt.wrapper.width,i.wrapper.height)),rt.wrapper.arrange(rt.wrapper.desiredSize),rt.offsetX=rt.wrapper.offsetX,rt.offsetY=rt.wrapper.offsetY}if(!1===p.equals(p,i.wrapper.bounds)&&("Drag"!==this.eventHandler.currentAction&&this.updateGroupSize(i),i.children&&this.updateGroupOffset(i)),"SwimLane"===i.shape.type&&!this.currentSymbol&&this.diagramActions&t.DiagramAction.Render&&Pi(yi(this,i.wrapper.children[0]),this),!this.preventNodesUpdate){if((!We(this)||We(this)&&this.scroller.oldCollectionObjects.indexOf(i.id)>-1)&&(this.diagramActions&t.DiagramAction.PreventZIndexOnDragging?this.updateDiagramObject(i,!0):this.updateDiagramObject(i),i.parentId)){var nt=this.nameTable[i.parentId];"BPMN"===nt.shape.type||this.diagramActions&t.DiagramAction.isGroupDragging||(this.diagramActions&t.DiagramAction.PreventZIndexOnDragging?this.updateDiagramObject(nt,!0):nt.isLane||this.updateDiagramObject(nt))}if(!o&&g&&(this.lineRoutingModule&&this.diagramActions&&this.constraints&t.DiagramConstraints.LineRouting&&"helper"!==i.id?this.diagramActions&t.DiagramAction.ToolAction||this.lineRoutingModule.renderVirtualRegion(this,!0):this.diagramActions&&this.constraints&t.DiagramConstraints.LineRouting&&"helper"!==i.id&&console.warn('[WARNING] :: Module "LineRouting" is not available in Diagram component! You either misspelled the module name or forgot to load it.'),this.updateConnectorEdges(i),"helper"!==i.id&&!(this.diagramActions&t.DiagramAction.ToolAction)))for(var ot=this.spatialSearch.findObjects(i.wrapper.outerBounds),at=0;at<ot.length;at++){var st=ot[parseInt(at.toString(),10)];st instanceof xd&&this.connectorPropertyChange(ot[parseInt(at.toString(),10)],{},{sourceID:st.sourceID,targetID:st.targetID,sourcePortID:st.sourcePortID,targetPortID:st.targetPortID,sourcePoint:st.sourcePoint,targetPoint:st.targetPoint})}}"New"!==i.status&&this.diagramActions&&(i.status="Update")}if(!s){var ht={element:i,cause:this.diagramActions,diagramAction:this.getDiagramAction(this.diagramActions),oldValue:r,newValue:n};this.triggerEvent(t.DiagramEvent.propertyChange,ht)}},r.prototype.hasSelectedConnector=function(t){var e=(this.selectedItems.connectors||[]).map(function(t){return t.id});return!!(t.outEdges||[]).concat(t.inEdges||[]).some(function(t){return-1!==e.indexOf(t)})},r.prototype.updateWrapperChildFlip=function(e,i){if(e&&e.children&&e.children.length>0)for(var r=0;r<e.children.length;r++){var n=e.children[parseInt(r.toString(),10)],o=this.nameTable[""+n],a="";i?(a=i,o.wrapper.flipMode=a,o.flipMode=a):a=o.flipMode,"None"===a||"Label"===a||"LabelText"===a||"LabelAndLabelText"===a?this.updatePorts(o,t.FlipDirection.None):this.updatePorts(o,o.wrapper.flip),this.updateWrapperFlip(o.wrapper,o)}"None"===(i=e.flipMode)||"Label"===i||"LabelText"===i||"LabelAndLabelText"===i?this.updatePorts(e,t.FlipDirection.None):this.updatePorts(e,e.wrapper.flip);var s;(s=e.children?e.wrapper.children[e.wrapper.children.length-1]:e.wrapper).flip=e.wrapper.flip,s.flipMode=e.flipMode,this.updateWrapperFlip(s,e)},r.prototype.updateWrapperFlip=function(e,i){for(var r=0;r<e.children.length;r++){var n=e.children[parseInt(r.toString(),10)];n instanceof js?"None"!==i.flipMode&&"Port"!==i.flipMode?(n.flip=i.wrapper.flip,n.flipMode=i.flipMode):n.flip=t.FlipDirection.None:n instanceof Vs&&this.applyWrapperCanvasFlip(n,i)}},r.prototype.getResizeHandle=function(t,e,i,r,n,o,a,s){var h=n-t,d=o-e,l=a-i,c=s-r;return 0===c&&(h>0&&l>0||h<0&&l<0)?"ResizeEast":0===c&&(h>0&&l<0||h<0&&l>0)?"ResizeWest":0===l&&(d>0&&c<0||d<0&&c>0)?"ResizeNorth":0===l&&(d>0&&c>0||d<0&&c<0)?"ResizeSouth":(h>0&&l>0||h<0&&l<0)&&(d>0&&c>0||d<0&&c<0)?"ResizeSouthEast":(h>0&&l<0||h<0&&l>0)&&(d>0&&c>0||d<0&&c<0)?"ResizeSouthWest":(h>0&&l>0||h<0&&l<0)&&(d>0&&c<0||d<0&&c>0)?"ResizeNorthEast":(h>0&&l<0||h<0&&l>0)&&(d>0&&c<0||d<0&&c>0)?"ResizeNorthWest":null},r.prototype.getTextAnnotationOffset=function(t,e,i,r,n){var o=t.width-i.width,a=t.height-i.height,s=this.getTextAnnotationQuadrant(t,e),h=this.getResizeHandle(i.offsetX,i.offsetY,i.width,i.height,t.offsetX,t.offsetY,t.width,t.height),d=0,l=0;return function(t){return"ResizeEast"===h||"ResizeNorthEast"===h||"ResizeSouthEast"===h?t.includes("East"):("ResizeWest"===h||"ResizeNorthWest"===h||"ResizeSouthWest"===h)&&t.includes("West")}(s)&&(d=h.includes("West")?-o:o),function(t){return"ResizeSouth"===h||"ResizeSouthWest"===h||"ResizeSouthEast"===h?t.includes("South"):("ResizeNorth"===h||"ResizeNorthWest"===h||"ResizeNorthEast"===h)&&t.includes("North")}(s)&&(l=h.includes("North")?-a:a),{x:r+d,y:n+l}},r.prototype.getTextAnnotationQuadrant=function(t,e){var i=t.wrapper.bounds.left,r=t.wrapper.bounds.right,n=t.wrapper.bounds.top,o=t.wrapper.bounds.bottom,a=e.wrapper.bounds.center.x,s=e.wrapper.bounds.center.y;if(a>=i&&a<=r){if(s<n)return"North";if(s>o)return"South"}if(s>=n&&s<=o){if(a<i)return"West";if(a>r)return"East"}return a<i&&s<n?"NorthWest":a>r&&s<n?"NorthEast":a<i&&s>o?"SouthWest":a>r&&s>o?"SouthEast":""},r.prototype.updateBpmnAnnotationPosition=function(t,e,i,r,n,o,a,s,h,d,l){var c,p,g=i>t?Math.abs(i-t):Math.abs(t-i),u=r>e?Math.abs(r-e):Math.abs(e-r);(0===g&&0===u||Number.isNaN(g)&&Number.isNaN(u))&&n.laneMargin&&(c=n.margin.left-n.laneMargin.left,p=n.margin.top-n.laneMargin.top);var f=n.width,m=n.height,y=new ms(0,0,0,0);if(0!==f&&0!==m&&(y=new ms((0!==i?i:n.offsetX)-f/2,(0!==r?r:n.offsetY)-m/2,f,m)),s){var v=a,b=""!==v.textAnnotation.textAnnotationTarget&&this.nameTable[v.textAnnotation.textAnnotationTarget],S=this.selectedItems.nodes?this.selectedItems.nodes[0]:void 0,w=S&&S.shape&&"TextAnnotation"===S.shape.shape;if(b)if(""===n.parentId||w){if("Auto"===v.textAnnotation.textAnnotationDirection&&o.children[0]instanceof Vs&&o.children[0].children[0]instanceof Ws){var x=o.children[0],I=document.getElementById(x.id+"_groupElement"),C=document.getElementById(x.children[0].id+"_groupElement");I.removeChild(C),x.children.splice(0,1),this.isProtectedOnChange=!0,this.bpmnModule.setAnnotationPath(y,x,n,v,v.textAnnotation.textAnnotationDirection,this),this.isProtectedOnChange=!1}}else this.isPositionUndo=!0,this.updateTextAnnotationInSwimlane(n,n),this.isPositionUndo=!1;else if(n.inEdges.length>0){var P=n.inEdges[0];(O=this.nameTable[""+P])&&O.isBpmnAnnotationConnector&&(O.sourcePoint={x:i>t?O.sourcePoint.x+g:O.sourcePoint.x-g,y:r>e?O.sourcePoint.y+u:O.sourcePoint.y-u})}B={ports:[{offset:n.ports[0].offset}]};this.nodePropertyChange(n,{},B)}else for(var D=0,T=n.outEdges;D<T.length;D++){var A=T[D],O=this.nameTable[""+A];if(O&&O.isBpmnAnnotationConnector){var M=this.nameTable[O.targetID],E=M.shape.textAnnotation.textAnnotationTarget,L=this.nameTable[""+E];if(d&&!l){var z=this.getTextAnnotationOffset(n,M,h,t,e);i=z.x,r=z.y,g=i>t?Math.abs(i-t):Math.abs(t-i),u=r>e?Math.abs(r-e):Math.abs(e-r)}if("TextAnnotation"===M.shape.shape&&!zr(this,M)&&zr(this,L)){var k=void 0,B=void 0;if(n.isResized){k={margin:{left:M.margin.left,top:M.margin.top}};var N=n.resizeDif[M.id];N&&(M.margin.left+=N.x,M.margin.top+=N.y,B={margin:{left:M.margin.left,top:M.margin.top}})}else void 0!==c&&void 0!==p?M.parentId?(k={margin:{left:M.margin.left,top:M.margin.top}},M.margin.left+=c,M.margin.top+=p,B={margin:{left:M.margin.left,top:M.margin.top}}):(k={offsetX:M.offsetX,offsetY:M.offsetY},M.offsetX+=c,M.offsetY+=p,B={offsetX:M.offsetX,offsetY:M.offsetY}):(k={offsetX:M.offsetX,offsetY:M.offsetY},M.offsetX=i>t?M.offsetX+g:M.offsetX-g,M.offsetY=r>e?M.offsetY+u:M.offsetY-u,B={offsetX:M.offsetX,offsetY:M.offsetY});this.nodePropertyChange(M,k,B)}}}},r.prototype.updatePorts=function(t,e){if(t&&t.ports.length>0)for(var i=0,r=Object.keys(t.ports);i<r.length;i++){var n=r[i],o=Number(n),a=t.ports[parseInt(o.toString(),10)],s=this.getWrapper(t.wrapper,a.id);(s=Yd(s,e,a)).relativeMode="Point",void 0===t.wrapper.measureChildren&&(t.wrapper.measureChildren=!1),s.measure(new ps(s.width,s.height)),s.arrange(s.desiredSize)}},r.prototype.updateFlipOffset=function(e,i,r,n){if(e.hasChildren())for(var o=0,a=e.children;o<a.length;o++){var s=a[o];n!==t.FlipDirection.Horizontal&&n!==t.FlipDirection.Both||(s.flipOffset.x=s.flipOffset.x+i),n!==t.FlipDirection.Vertical&&n!==t.FlipDirection.Both||(s.flipOffset.y=s.flipOffset.y+r),(s instanceof Vs||s instanceof Ns)&&this.updateFlipOffset(s,i,r,n)}},r.prototype.updateUMLActivity=function(t,e,i,r){if(void 0!==t.width||void 0!==t.height){var n=i.wrapper.children[0].children[0];n.width=t.width,n.height=t.height;var o=i.wrapper.children[0].children[1];o.width=t.width/1.5,o.height=t.height/1.5}},r.prototype.updateConnectorProperties=function(t){if(this.preventConnectorsUpdate)-1===this.selectionConnectorsList.indexOf(t)&&t&&this.selectionConnectorsList.push(t);else{var e={sourcePoint:t.sourcePoint,targetPoint:t.targetPoint,sourceID:t.sourceID,targetID:t.targetID,sourcePortID:t.sourcePortID,targetPortID:t.targetPortID};this.connectorPropertyChange(t,{},e,void 0,!0)}},r.prototype.updateConnectorEdges=function(t){var e=(this.selectedItems.connectors||[]).map(function(t){return t.id});if(t.inEdges.length>0)for(var i=0;i<t.inEdges.length;i++){var r=t.inEdges[parseInt(i.toString(),10)];"Drag"===this.eventHandler.currentAction&&-1!==e.indexOf(r)||this.updateConnectorProperties(this.nameTable[""+r])}if(t.outEdges.length>0)for(var n=0;n<t.outEdges.length;n++){var o=t.outEdges[parseInt(n.toString(),10)];"Drag"===this.eventHandler.currentAction&&-1!==e.indexOf(o)||this.updateConnectorProperties(this.nameTable[""+o])}t instanceof xd||!t.parentId||!this.nameTable[t.parentId]||this.updateConnectorEdges(this.nameTable[t.parentId])},r.prototype.connectorProprtyChangeExtend=function(t,e,i,r){return void 0!==i.type&&i.type!==e.type&&t.segments.length>0&&void 0===i.segments&&(t.segments=[]),void 0!==i.shape&&void 0!==t.shape&&t.shape&&"Bpmn"===t.shape.type&&this.bpmnModule&&this.bpmnModule.updateBPMNConnector(t,e,i,this),void 0!==t.constraints?(this.updateThumbConstraints(this.selectedItems.connectors,this.selectedItems,!0),r=!0):r},r.prototype.connectorPropertyChange=function(e,i,r,n,o){if(this.canEnableBlazorObject){var a=k(e);this.insertValue(a,!1)}var s;if(e&&void 0!==e.wrapper){s=e.wrapper.bounds;var h=!1,d=[];h=this.connectorProprtyChangeExtend(e,i,r,h);var l,c,p,g;if(void 0!==r.visible&&this.updateElementVisibility(e.wrapper,e,e.visible),void 0!==r.sourcePoint||void 0!==r.targetPoint||void 0!==r.sourceID||void 0!==r.targetID||void 0!==r.targetPadding||void 0!==r.sourcePortID||void 0!==r.targetPortID||void 0!==r.sourcePadding||void 0!==r.type||void 0!==r.segments||void 0!==r.flip){if(void 0!==r.sourceID&&r.sourceID!==i.sourceID||r.sourcePortID){var u=this.nameTable[e.sourceID];if(c=this.findInOutConnectPorts(u,!1),(!u||Ne(u)||""!==e.sourcePortID&&Re(c))&&(e.sourceWrapper=u?this.getEndNodeWrapper(u,e,!0):void 0,e.sourcePortID&&void 0===r.sourcePortID&&(e.sourcePortWrapper=u?this.getWrapper(u.wrapper,e.sourcePortID):void 0),this.removePortEdges(this.nameTable[i.sourceID]||u,i.sourcePortID||e.sourcePortID,e.id,!1)),void 0!==r.sourceID&&void 0!==i.sourceID&&""!==i.sourceID){var f=this.nameTable[i.sourceID];void 0!==f&&f.outEdges&&-1!==f.outEdges.indexOf(e.id)&&eo(f.outEdges,e.id)}this.updateEdges(e)}if(void 0!==r.targetID&&r.targetID!==i.targetID){y=this.nameTable[r.targetID];if(l=this.findInOutConnectPorts(y,!0),(!y||ke(y)||""!==e.targetPortID&&Be(l))&&(e.targetWrapper=y?this.getEndNodeWrapper(y,e,!1):void 0,e.targetPortID&&void 0===r.targetPortID&&(e.targetPortWrapper=y?this.getWrapper(y.wrapper,e.targetPortID):void 0),this.removePortEdges(this.nameTable[i.targetID]||y,i.targetPortID||e.targetPortID,e.id,!0)),void 0!==i&&void 0!==i.targetID&&""!==i.targetID){var m=this.nameTable[i.targetID];void 0!==m&&m.inEdges&&-1!==m.inEdges.indexOf(e.id)&&eo(m.inEdges,e.id)}this.updateEdges(e)}if(void 0!==r.sourcePortID&&r.sourcePortID!==i.sourcePortID&&(e.sourceID&&this.nameTable[e.sourceID]&&(p=this.nameTable[e.sourceID].wrapper),!(u=this.nameTable[e.sourceID])||Ne(u)||""!==e.sourcePortID&&Re(c)?e.sourcePortWrapper=p?this.getWrapper(p,r.sourcePortID):void 0:""!==e.sourcePortID||Ne(u)||(e.sourcePortWrapper=void 0)),void 0!==r.targetPortID&&r.targetPortID!==i.targetPortID){var y=this.nameTable[e.targetID];e.targetID&&this.nameTable[e.targetID]&&(g=this.nameTable[e.targetID].wrapper),!y||ke(y)||""!==e.targetPortID&&Be(l)?e.targetPortWrapper=g?this.getWrapper(g,r.targetPortID):void 0:""!==e.targetPortID||ke(y)||(e.targetPortWrapper=void 0)}if(void 0!==r.flip){e.flip=r.flip;var v=(e.flip&t.FlipDirection.Horizontal^e.wrapper.flip&t.FlipDirection.Horizontal)===t.FlipDirection.Horizontal,b=(e.flip&t.FlipDirection.Vertical^e.wrapper.flip&t.FlipDirection.Vertical)===t.FlipDirection.Vertical;v&&(e.wrapper.flip^=t.FlipDirection.Horizontal),b&&(e.wrapper.flip^=t.FlipDirection.Vertical),Fd(e,v,b,this)}"Orthogonal"===e.type&&this.lineRoutingModule&&this.diagramActions&&this.constraints&t.DiagramConstraints.LineRouting&&!(this.diagramActions&t.DiagramAction.ToolAction)&&"ComplexHierarchicalTree"!==this.layout.type&&(this.lineRoutingModule.renderVirtualRegion(this,!0),e.sourceID!==e.targetID&&e.segments.length>1&&this.lineRoutingModule.refreshConnectorSegments(this,e,!1)),d=this.getPoints(e)}void 0!==r.style&&Xn(r.style,e.wrapper.children[0]),(d.length>0||void 0!==r.sourceDecorator||void 0!==r.targetDecorator&&Ao(Object.keys(r.targetDecorator))||void 0!==r.cornerRadius)&&(io(e,d.length>0?d:e.intermediatePoints,this.diagramActions),void 0!==r.type&&(h=!0),d.length>0&&(e.wrapper.measure(new ps(e.wrapper.width,e.wrapper.height)),e.wrapper.arrange(e.wrapper.desiredSize),this.updateConnectorAnnotation(e),this.updateConnectorPort(e),this.updateConnectorfixedUserHandles(e),this.updateObject(e,i,r))),(r.sourcePoint||r.targetPoint||r.segments)&&this.diagramActions===t.DiagramAction.Render&&(h=!0),"Bpmn"===e.shape.type&&"Default"===e.shape.sequence&&"Sequence"===e.shape.flow&&this.commandHandler.updatePathElementOffset(e),n||this.updateBridging(),this.updateAnnotations(r,e),this.updateConnectorPorts(r,e),this.updatefixedUserHandle(r,e),e.wrapper.measure(new ps(e.wrapper.width,e.wrapper.height)),e.wrapper.arrange(e.wrapper.desiredSize),!1!==s.equals(s,e.wrapper.bounds)||this.connectorFlipInProgress||(this.updateQuad(e),"Drag"!==this.eventHandler.currentAction&&this.updateGroupSize(e)),!0!==h||!this.checkSelectedItem(e)||this.diagramActions&t.DiagramAction.ToolAction&&!(this.diagramActions&t.DiagramAction.UndoRedo)||this.updateSelector(),this.preventConnectorsUpdate||(!We(this)||We(this)&&this.scroller.oldCollectionObjects.indexOf(e.id)>-1)&&(this.diagramActions&t.DiagramAction.PreventZIndexOnDragging?this.updateDiagramObject(e,!0):this.updateDiagramObject(e)),this.updateConnectorEdges(e),this.diagramActions&&"New"!==e.status&&(e.status="Update"),this.triggerPropertyChange(o,e,i,r)}},r.prototype.removePortEdges=function(t,e,i,r){if(t)for(var n=0;n<t.ports.length;n++){var o=t.ports[parseInt(n.toString(),10)];o.id===e&&eo(r?o.inEdges:o.outEdges,i)}},r.prototype.updateConnectorPorts=function(t,e){if(void 0!==t.ports)for(var i=0,r=Object.keys(t.ports);i<r.length;i++){var n=r[i],o=Number(n),a=t.ports[""+n],s=e.ports[parseInt(o.toString(),10)];this.updatePort(a,s,e.wrapper,e)}},r.prototype.triggerPropertyChange=function(e,i,r,n){if(!e){var o={element:Do(i),cause:this.diagramActions,diagramAction:this.getDiagramAction(this.diagramActions),oldValue:Do(r),newValue:Do(n)};this.triggerEvent(t.DiagramEvent.propertyChange,o)}},r.prototype.findInOutConnectPorts=function(t,e){var i={};return t&&(i=co(t,e)),i},r.prototype.getPoints=function(t,e){var i=!(!this.lineDistributionModule||"DifferentPoint"!==this.layout.connectionPointOrigin);return t.getConnectorPoints(t.type,e,"ComplexHierarchicalTree"===this.layout.type||"HierarchicalTree"===this.layout.type?this.layout.orientation:void 0,i)},r.prototype.updateNodeProperty=function(t,e,i){if(void 0===e)this.updateElementVisibility(t,this.nameTable[t.id],e);else{t.style.opacity=i;for(var r=0;r<t.children.length;r++)t.children[parseInt(r.toString(),10)]instanceof Ns&&this.updateNodeProperty(t.children[parseInt(r.toString(),10)],void 0,i),t.children[parseInt(r.toString(),10)].style.opacity=i}},r.prototype.checkSelectedItem=function(t){var e=this.selectedItems,i=!1,r=[];return(r=r.concat(e.nodes,e.connectors)).length>0&&t.id===r[r.length-1].id&&(i=!0),i},r.prototype.updateDiagramContainerVisibility=function(t,e){if(t instanceof Ns)for(var i=0;i<t.children.length;i++)this.updateDiagramContainerVisibility(t.children[parseInt(i.toString(),10)],e);t.visible=e},r.prototype.updateElementVisibility=function(e,i,r){if(void 0!==r){if(e.visible=r,i instanceof Hl){if(i.children)for(var n=0,o=i.children;n<o.length;n++){var a=o[n];this.updateElementVisibility(this.nameTable[""+a].wrapper,this.nameTable[""+a],r)}else e.children[0].visible=r,this.updateDiagramContainerVisibility(e.children[0],r),"Bpmn"===i.shape.type&&this.bpmnModule&&this.bpmnModule.updateElementVisibility(i,r,this);if("Bpmn"===i.shape.type&&"TextAnnotation"===i.shape.shape&&this.diagramActions){var s=this.nameTable[i.inEdges[0]],h=s.visible;s.visible=r,this.connectorPropertyChange(s,{visible:h},{visible:r})}if(i.ports)for(var d=0,l=i.ports;d<l.length;d++){var c=l[d];c.visibility&t.PortVisibility.Visible&&((y=this.getWrapper(e,c.id)).visible=r)}if(i.annotations)for(var p=0,g=i.annotations;p<g.length;p++){m=g[p];(y=this.getWrapper(e,m.id)).visible=r?"Visible"===y.annotationVisibility:r}}else if("Bpmn"===i.shape.type)for(v=0;v<4;v++)e.children[parseInt(v.toString(),10)].visible=r;else for(v=0;v<3;v++)e.children[parseInt(v.toString(),10)].visible=r;if(i.annotations)for(var u=0,f=i.annotations;u<f.length;u++){var m=f[u];(y=this.getWrapper(e,m.id)).visible=r?"Visible"===y.annotationVisibility:r}if(i.expandIcon||i.collapseIcon){var y=this.getWrapper(e,"icon_content");if(y){for(var v=0;v<y.children.length;v++)y.children[parseInt(v.toString(),10)].visible=r;y.visible=r}i&&i.visible&&i.outEdges&&this.updateIconVisibility(i,0!==i.outEdges.length)}!1===r&&this.unSelect(this.nameTable[e.id]),(i instanceof Hl&&!this.preventNodesUpdate||i instanceof xd&&!this.preventConnectorsUpdate)&&this.diagramActions&&this.updateDiagramObject(this.nameTable[e.id],void 0,!0)}},r.prototype.updateAnnotations=function(t,e){if(void 0!==t.annotations)for(var i=0,r=Object.keys(t.annotations);i<r.length;i++){var n=r[i],o=Number(n),a=t.annotations[""+n],s=e.annotations[parseInt(o.toString(),10)];this.updateAnnotation(a,s,e.wrapper,e)}},r.prototype.updatefixedUserHandle=function(t,e){if(void 0!==t.fixedUserHandles)for(var i=void 0,r=void 0,n=void 0,o=0,a=Object.keys(t.fixedUserHandles);o<a.length;o++){var s=a[o];i=Number(s),r=t.fixedUserHandles[""+s],n=e.fixedUserHandles[parseInt(i.toString(),10)],this.updateConnectorfixedUserHandle(r,n,e.wrapper,e)}},r.prototype.updateConnectorfixedUserHandle=function(t,e,i,r,n){var o=!1,a=this.getWrapper(i,e.id);void 0!==a&&(void 0!==t.width&&(a.width=t.width,o=!0),void 0!==t.height&&(a.height=t.height,o=!0),e instanceof Dh&&void 0!==t.offset&&r.updateAnnotation(e,r.intermediatePoints,r.wrapper.bounds,a),e instanceof Dh&&t.displacement&&(void 0===t.displacement.x&&void 0===t.displacement.y||(o=!0)),void 0!==t.fill&&(a.style.fill=t.fill),void 0!==t.handleStrokeColor&&(a.style.strokeColor=t.handleStrokeColor),void 0!==t.handleStrokeWidth&&(a.style.strokeWidth=t.handleStrokeWidth),void 0!==t.visibility&&(a.visible=t.visibility),void 0!==t.cornerRadius&&(a.cornerRadius=t.cornerRadius),this.updatefixedUserHandleContent(t,o,a,r,e,i),!0===o&&(a.measure(new ps(a.width,a.height)),a.arrange(a.desiredSize)))},r.prototype.updateAnnotation=function(e,i,r,n,o){var a=!1,s=this.getWrapper(r,i.id);if(void 0!==s){if(void 0!==e.width&&void 0!==e.height&&(s.width=e.width,s.height=e.height,a=!0),void 0!==e.rotateAngle&&(s.rotateAngle=e.rotateAngle),!o||s instanceof wh||s.refreshTextElement(),i instanceof sh&&void 0!==e.segmentAngle&&(s.rotateAngle=i.rotateAngle),void 0!==e.rotationReference&&(s.rotationReference=e.rotationReference),i instanceof ah&&void 0!==e.offset){var h=e.offset;a=!0;var d=void 0!==h.x?h.x:i.offset.x,l=void 0!==h.y?h.y:i.offset.y;s.setOffsetWithRespectToBounds(d,l,"Fraction"),s.relativeMode="Point"}else i instanceof sh&&(void 0!==e.offset||void 0!==e.segmentAngle||void 0!==e.alignment)&&n.updateAnnotation(i,n.intermediatePoints,n.wrapper.bounds,s);if(i instanceof sh&&e.displacement&&(void 0===e.displacement.x&&void 0===e.displacement.y||(a=!0,n.updateAnnotation(i,n.intermediatePoints,n.wrapper.bounds,s))),void 0!==e.margin&&(a=!0,void 0!==e.margin.bottom&&(s.margin.bottom=e.margin.bottom),void 0!==e.margin.top&&(s.margin.top=e.margin.top),void 0!==e.margin.left&&(s.margin.left=e.margin.left),void 0!==e.margin.right&&(s.margin.right=e.margin.right)),(a||o)&&(s.width=i.width||n.width,i.template&&(s.width=s.width||s.actualSize.width,s.height=i.height||n.height||s.actualSize.height)),void 0!==e.horizontalAlignment&&(s.horizontalAlignment=e.horizontalAlignment,a=!0),void 0!==e.verticalAlignment&&(s.verticalAlignment=e.verticalAlignment,a=!0),void 0!==e.visibility){s.visible=!(!r.visible||!e.visibility),s.annotationVisibility=s.visible?"Visible":"Collapsed";var c=this.selectedItems;!s.visible&&c.annotation&&this.clearSelection()}if(void 0!==e.constraints){s.constraints&t.AnnotationConstraints.Select&&!(e.constraints&t.AnnotationConstraints.Select)&&zr(this,n,!1,s),s.constraints=e.constraints}void 0!==e.style&&Xn(e.style,s),void 0!==e.hyperlink&&Gn(e.hyperlink,s,i),this.updateAnnotationContent(e,a,s,n,i,r),!0===a&&(s.measure(new ps(s.width,s.height)),s.arrange(s.desiredSize)),s instanceof wh||s.refreshTextElement()}},r.prototype.updatefixedUserHandleContent=function(t,e,i,r,n,o){void 0!==t&&this.updateConnectorfixedUserHandleWrapper(i,r,n,o)},r.prototype.updateConnectorfixedUserHandleWrapper=function(t,e,i,r){for(var n=0,o=this.views;n<o.length;n++){var a=o[n];Ka(t.id+"_groupElement",a),Ka(t.id+"_html_element",a)}if(e instanceof xd){var s=e.wrapper.children[0],h=new ms(s.offsetX-s.width/2,s.offsetY-s.height/2,s.width,s.height);t=e.getFixedUserHandle(e.fixedUserHandles[e.fixedUserHandles.length-1],e.intermediatePoints,h,void 0,void 0)}for(var d=0;d<r.children.length;d++)t.id===r.children[parseInt(d.toString(),10)].id&&r.children.splice(d,1,t)},r.prototype.updateAnnotationContent=function(t,i,r,n,o,a){void 0!==t.content&&(r&&("UmlActivity"!==n.shape.type||e.isBlazor()||"StructuredNode"!==n.shape.shape?r.content=t.content:r.content="<<"+t.content+">>"),r instanceof wh&&this.updateAnnotationWrapper(r,n,o,a)),void 0!==t.template&&(r.content=t.template,this.updateAnnotationWrapper(r,n,o,a))},r.prototype.updateAnnotationWrapper=function(t,e,i,r){for(var n=0,o=this.views;n<o.length;n++){var a=o[n];Ka(t.id+"_groupElement",a),Ka(t.id+"_html_element",a)}if(e instanceof Hl)t=e.initAnnotationWrapper(i,this.element.id);else if(e instanceof xd){var s=e.wrapper.children[0],h=new ms(s.offsetX-s.width/2,s.offsetY-s.height/2,s.width,s.height);t=e.getAnnotationElement(e.annotations[e.annotations.length-1],e.intermediatePoints,h,this.getDescription,this.element.id)}for(var d=0;d<r.children.length;d++)t.id===r.children[parseInt(d.toString(),10)].id&&r.children.splice(d,1,t)},r.prototype.updateNodefixedUserHandle=function(t,e,i,r){var n=!1,o=this.getWrapper(i,e.id);if(void 0!==o){if(void 0!==t.width&&(o.actualSize.width=t.width,n=!0),void 0!==t.height&&(o.height=t.height,n=!0),e instanceof Ph&&void 0!==t.offset){var a=t.offset;n=!0;var s=void 0!==a.x?a.x:e.offset.x,h=void 0!==a.y?a.y:e.offset.y;o.setOffsetWithRespectToBounds(s,h,"Fraction"),o.relativeMode="Point"}void 0!==t.margin&&(n=!0,void 0!==t.margin.bottom&&(o.margin.bottom=t.margin.bottom),void 0!==t.margin.top&&(o.margin.top=t.margin.top),void 0!==t.margin.left&&(o.margin.left=t.margin.left),void 0!==t.margin.right&&(o.margin.right=t.margin.right)),void 0!==t.visibility&&(o.visible=t.visibility),void 0!==t.fill&&(o.style.fill=t.fill),void 0!==t.handleStrokeColor&&(o.style.strokeColor=t.handleStrokeColor),void 0!==t.handleStrokeWidth&&(o.style.strokeWidth=t.handleStrokeWidth),void 0!==t.cornerRadius&&(o.cornerRadius=t.cornerRadius),this.updatefixedUserHandleWrapper(o,r,e,i),!0===n&&(o.measure(new ps(o.width,o.height)),o.arrange(o.desiredSize))}},r.prototype.updatefixedUserHandleWrapper=function(t,e,i,r){for(var n=0,o=this.views;n<o.length;n++){var a=o[n];Ka(t.id+"_groupElement",a),Ka(t.id+"_html_element",a)}e instanceof Hl&&(t=e.initFixedUserHandles(i,void 0,void 0));for(var s=0;s<r.children.length;s++)t.id===r.children[parseInt(s.toString(),10)].id&&r.children.splice(s,1,t)},r.prototype.updatePort=function(e,i,r,n){var o=!1,a=this.getWrapper(r,i.id);if(void 0!==a){if(void 0!==e.offset)if(o=!0,n)void 0!==e.offset&&n.updateAnnotation(i,n.intermediatePoints,n.wrapper.bounds,a);else{var s=void 0!==e.offset.x?e.offset.x:i.offset.x,h=void 0!==e.offset.y?e.offset.y:i.offset.y;a.setOffsetWithRespectToBounds(s,h,"Fraction"),a.relativeMode="Point"}if(void 0!==e.width&&(o=!0,a.width=e.width),void 0!==e.height&&(o=!0,a.height=e.height),void 0!==e.connectionDirection&&(a.connectionDirection=e.connectionDirection),void 0!==e.visibility&&(a.visible=!(!r.visible||!so(i,t.PortVisibility.Visible))),void 0!==e.margin&&(o=!0,void 0!==e.margin.bottom&&(a.margin.bottom=e.margin.bottom),void 0!==e.margin.top&&(a.margin.top=e.margin.top),void 0!==e.margin.right&&(a.margin.right=e.margin.right),void 0!==e.margin.left&&(a.margin.left=e.margin.left)),void 0!==e.horizontalAlignment&&(o=!0,a.horizontalAlignment=e.horizontalAlignment),void 0!==e.verticalAlignment&&(o=!0,a.verticalAlignment=e.verticalAlignment),void 0!==e.style&&(void 0!==e.style.fill&&(a.style.fill=e.style.fill),void 0!==e.style.opacity&&(a.style.opacity=e.style.opacity),void 0!==e.style.strokeColor&&(a.style.strokeColor=e.style.strokeColor),void 0!==e.style.strokeWidth&&(a.style.strokeWidth=e.style.strokeWidth),void 0!==e.style.strokeDashArray&&(a.style.strokeDashArray=e.style.strokeDashArray)),void 0!==e.shape&&a){var d=et(e.shape);a.data=d,a.canMeasurePath=!0}void 0!==e.pathData&&(a.data=String(e.pathData),o=!0),!0===o&&(a.measure(new ps(a.width,a.height)),a.arrange(a.desiredSize))}},r.prototype.updateIcon=function(e){var i=this.getWrapper(e.wrapper,"icon_content"),r=this.diagramActions&t.DiagramAction.Render?this.element.id:void 0;if(i){if("SVG"===this.mode){var n=Aa(e.wrapper.id+"_icon_content",r);if(n){var o=Aa(n.id+"_rect",r),a=Aa(n.id+"_shape",r),s=Aa(a.id+"_native_element",r);s&&s.parentNode.removeChild(s),a.parentNode.removeChild(a),o.parentNode.removeChild(o),n.parentNode.removeChild(n)}}var h=e.wrapper.children.indexOf(i);e.wrapper.children.splice(h,1)}var d=this.getPortContainer(e);e.initIcons(this.getDescription,this.layout,d,this.element.id)},r.prototype.getPortContainer=function(t){if(t.children)for(var e=0;e<t.wrapper.children.length;e++)if(t.wrapper.children[parseInt(e.toString(),10)].id===t.id+"group_container")return t.wrapper.children[parseInt(e.toString(),10)];return t.wrapper},r.prototype.updateTooltip=function(t,e){void 0!==e.tooltip.content&&(t.tooltip.content=e.tooltip.content),void 0!==e.tooltip.position&&(t.tooltip.position=e.tooltip.position),void 0!==e.tooltip.height&&(t.tooltip.height=e.tooltip.height),void 0!==e.tooltip.width&&(t.tooltip.width=e.tooltip.width),void 0!==e.tooltip.showTipPointer&&(t.tooltip.showTipPointer=e.tooltip.showTipPointer),void 0!==e.tooltip.relativeMode&&(t.tooltip.relativeMode=e.tooltip.relativeMode)},r.prototype.updateQuad=function(t){this.spatialSearch.updateQuad(t.wrapper)&&!this.preventDiagramUpdate&&this.updatePage()},r.prototype.removeFromAQuad=function(t){if(t.children)for(var e=void 0,i=t.children,r=0;r<i.length;r++)(e=this.nameTable[i[parseInt(r.toString(),10)]])&&this.removeFromAQuad(e);this.spatialSearch.removeFromAQuad(t.wrapper);var n="SwimLane"===t.shape.type;this.spatialSearch.updateBounds(t.wrapper,n)&&!this.preventDiagramUpdate&&this.updatePage()},r.prototype.updateGroupSize=function(t){var e;t.parentId&&(e=this.nameTable[t.parentId])&&(e.parentId?this.updateGroupSize(e):(e.wrapper.measure(new ps),e.wrapper.arrange(e.wrapper.desiredSize),this.updateGroupOffset(e),this.updateDiagramObject(e)))},r.prototype.updatePage=function(){if(this.diagramActions&t.DiagramAction.Render&&!(this.diagramActions&t.DiagramAction.DragUsingMouse)){this.scroller.updateScrollOffsets(),this.scroller.setSize();for(var e=0,i=this.views;e<i.length;e++){var n=i[e],o=this.views[""+n];o instanceof r||o.updateView(o)}}this.diagramActions&t.DiagramAction.DragUsingMouse&&(this.renderPageBreaks(),this.pageSettings.width&&this.pageSettings.height&&!this.pageSettings.multiplePage||(this.scroller.updateScrollOffsets(),this.scroller.setSize()))},r.prototype.protectPropertyChange=function(t){this.isProtectedOnChange=t},r.prototype.getProtectPropertyChangeValue=function(){return this.isProtectedOnChange},r.prototype.enableServerDataBinding=function(t){},r.prototype.updateShadow=function(t,e){void 0!==e.angle&&(t.angle=e.angle),void 0!==e.color&&(t.color=e.color),void 0!==e.distance&&(t.distance=e.distance),void 0!==e.opacity&&(t.opacity=e.opacity)},r.prototype.updateMargin=function(t,e){void 0!==e.margin.top&&(t.margin.top=e.margin.top),void 0!==e.margin.bottom&&(t.margin.bottom=e.margin.bottom),void 0!==e.margin.left&&(t.margin.left=e.margin.left),void 0!==e.margin.right&&(t.margin.right=e.margin.right)},r.prototype.removePreviewChildren=function(t){if(t.children&&t.children.length&&t.shape&&"SwimLane"===t.shape.type){for(var e=0;e<t.children.length;e++){var i=t.children[parseInt(e.toString(),10)],r=this.nodes.indexOf(this.nameTable[""+i]);r>=0&&this.nodes.splice(r,1),delete this.nameTable[""+i]}(o=this.nodes.indexOf(this.nameTable[this.currentSymbol.id]))>=0&&this.nodes.splice(o,1)}else if("Container"===t.shape.type){if(t.shape.hasHeader){var n=this.nodes.indexOf(this.nameTable[t.id+t.shape.header.id]);n>=0&&this.nodes.splice(n,1)}var o=this.nodes.indexOf(this.nameTable[this.currentSymbol.id]);o>=0&&this.nodes.splice(o,1)}},r.prototype.selectDragedNode=function(t,e,i){this.currentSymbol=t,"SVG"!==this.mode&&this.refreshDiagramLayer(),this.commandHandler.oldSelectedObjects=Ud(this),this.commandHandler.select(t),this.eventHandler.mouseDown(e.event),this.eventHandler.mouseMove(e.event,e),this.preventDiagramUpdate=!1,this.updatePage(),i.style.opacity="0"},r.prototype.initDroppables=function(){var i,r,n=this,o={},a={};this.droppable=new e.Droppable(this.element);var s=5;this.droppable.over=function(e){if(n.rulerSettings.showRulers){var h=document.getElementById(n.element.id+"_vRuler"),d=parseFloat(h.style.width);s=d+1}if(0!==n.previousSelectedObjects.length||n.currentSymbol||(n.previousSelectedObjects=n.commandHandler.getSelectedObject()),n.commandHandler.PreventConnectorSplit=!0,n.currentSymbol)e.event.touches&&e.event.touches.length&&n.eventHandler.mouseMove(e.event,e.event.touches);else{var l=null;if(!e.dragData&&"drag"===e.name){var c=document.getElementsByClassName("e-dragclone")[0];c&&(l=c)}if(e.dragData||l){var p=void 0,g=void 0;document.getElementById(n.element.id+"content").focus();var u=n.eventHandler.getMousePosition(e.event),f=void 0,m=l||e.dragData.helper,y=m.getAttribute("paletteId"),v=void 0,b=void 0,S=void 0,w=void 0;if(!y&&e.dragData){H={source:null,element:p,cancel:!1,diagram:n,dragData:e.dragData.draggedElement.ej2_instances[0].dragData,dragItem:p};n.triggerEvent(t.DiagramEvent.dragEnter,H);var x=void 0,I=void 0;if(H.dragItem){if(H.dragItem.sourcePoint&&H.dragItem.targetPoint?I=new xd(n,"connectors",H.dragItem,!0):x=new Hl(n,"nodes",H.dragItem,!0),p=x||I,n.initObject(p,void 0,void 0,!0),n.enterObject=p,n.enterTable=a,p instanceof Hl)x.offsetX=u.x+5+x.width*x.pivot.x,x.offsetY=u.y+x.height*x.pivot.y;else if(p instanceof xd){var C=ms.toBounds([p.sourcePoint,p.targetPoint]),P=u.x-C.left,D=u.y-C.top;p.sourcePoint.x+=P,p.sourcePoint.y+=D,p.targetPoint.x+=P,p.targetPoint.y+=D}n.preventDiagramUpdate=!0,n.currentSymbol=p,"SVG"!==n.mode&&n.refreshDiagramLayer(),n.selectDragedNode(p,e,m),delete n.enterObject,delete n.enterTable,n.droppable.selectedSymbols=m,n.allowServerDataBinding=!0}}if(y){var T=document.getElementById(y).ej2_instances[0];n.droppable.sourceElement=T;if(T){var A=T.selectedSymbols,M=A.wrapper.children[0].children[0];if("Native"!==A.shape.type&&"HTML"!==A.shape.type||A.shape.content&&"function"==typeof A.shape.content&&(A.shape.content=M.template.innerHTML),n.allowServerDataBinding=!1,f=k(T.selectedSymbols),o=T.childTable,w=Oo(T,f,M),T.selectedSymbols instanceof Hl){"TextAnnotation"===A.shape.shape?(f.offsetX=u.x+11+w.width*f.pivot.x,f.offsetY=u.y+11+w.height*f.pivot.y):(f.offsetX=u.x+5+w.width*f.pivot.x,f.offsetY=u.y+w.height*f.pivot.y),"Bpmn"===(x=new Hl(n,"nodes",f,!0)).shape.type&&x.shape.activity.subProcess.processes&&x.shape.activity.subProcess.processes.length&&(x.shape.activity.subProcess.processes=[]),v=x.dragSize,b=x.previewSize,S=T.symbolDragSize;var E=T.symbolPreview;if(x.width=v.width||S.width||b.width||E.width||x.width,x.height=v.height||S.height||b.height||E.height||x.height,"SwimLane"===x.shape.type&&(n.diagramActions|=t.DiagramAction.PreventHistory,x.shape.isLane&&(x.children=[],i={id:"header"+O()},"Horizontal"===x.shape.orientation?(i.width=x.shape.lanes[0].header.width,i.height=x.shape.lanes[0].height):(i.width=x.shape.lanes[0].width,i.height=x.shape.lanes[0].header.height),i.style=x.shape.lanes[0].header.style,i.offsetX=u.x+s+i.width/2,i.offsetY=u.y+i.height/2,n.diagramActions|=t.DiagramAction.PreventCollectionChangeOnDragOver,i=n.add(i),r={id:"body"+O()},"Horizontal"===x.shape.orientation?(r.width=x.shape.lanes[0].width-i.width,r.height=x.shape.lanes[0].height,r.offsetX=u.x+s+(x.shape.lanes[0].header.width+r.width/2),r.offsetY=u.y+r.height/2):(r.width=x.shape.lanes[0].width,r.height=x.shape.lanes[0].height-i.height,r.offsetX=u.x+s+r.width/2,r.offsetY=u.y+(x.shape.lanes[0].header.height+r.height/2)),r.style=x.shape.lanes[0].style,r=n.add(r),(L={id:"group"+O(),children:[i.id,r.id]}).shape=x.shape,L.width=x.shape.lanes[0].width,L.height=x.shape.lanes[0].height,L.previewSize=x.previewSize,L.dragSize=x.dragSize,L.addInfo=x.addInfo,x=n.add(L),n.diagramActions&=~t.DiagramAction.PreventCollectionChangeOnDragOver),n.diagramActions&=~t.DiagramAction.PreventHistory),"Container"===x.shape.type){n.diagramActions|=t.DiagramAction.PreventHistory,n.diagramActions|=t.DiagramAction.PreventCollectionChangeOnDragOver,x.shape.hasHeader&&((i={id:"header"+O()}).width=x.width,i.height=x.shape.header.height,i.style=x.shape.header.style);var L={id:"group"+O()};L.shape=x.shape,L.shape.header=i,L.width=x.width,L.height=x.height,L.previewSize=x.previewSize,L.dragSize=x.dragSize,L.addInfo=x.addInfo,L.offsetX=x.offsetX,L.offsetY=x.offsetY,L.ports=x.ports,L.style=x.style,x=n.add(L),n.diagramActions&=~t.DiagramAction.PreventCollectionChangeOnDragOver,n.diagramActions&=~t.DiagramAction.PreventHistory}if(x.shape.isPhase&&((g="Horizontal"===x.shape.orientation)?(x.offsetX=u.x+s+(x.width||M.actualSize.width)/2,x.offsetY=u.y,x.shape.data="M20,"+x.height/2+" L"+(x.width-20)+","+x.height/2+"z",x.height=1):(x.offsetX=u.x+5,x.offsetY=u.y+(x.height||M.actualSize.height)/2,x.shape.data="M"+x.width/2+",20 L"+x.width/2+","+(x.height-20)+"z",x.width=1)),"UmlClassifier"===x.shape.type&&(x.children=x.width=x.height=void 0,f.children=void 0,"Class"===x.shape.classifier&&x.shape.classShape.methods.length<=0&&x.shape.classShape.attributes.length<=0&&(x.shape.classShape.attributes=[{name:"Name",type:"Type",style:{}}]),"Enumeration"===x.shape.classifier&&x.shape.enumerationShape.members.length<=0&&(x.shape.enumerationShape.members=[{name:"Name"}]),"Interface"===x.shape.classifier&&x.shape.interfaceShape.methods.length<=0&&x.shape.interfaceShape.attributes.length<=0&&(x.shape.interfaceShape.attributes=[{name:"Name",type:"Type",style:{}}])),p=x,f.children){var z=f,B={};a=n.getChildren(z,B,o),mo(z,-z.offsetX,-z.offsetY,a,!0,n)}}else if(T.selectedSymbols instanceof xd){p=new xd(n,"connectors",f,!0);var N=ms.toBounds([p.sourcePoint,p.targetPoint]),R=u.x-N.left,j=u.y-N.top;p.sourcePoint.x+=R,p.sourcePoint.y+=j,p.targetPoint.x+=R,p.targetPoint.y+=j}p.shape.isLane||"Container"===p.shape.type||(p.id+=O());var H={source:T,element:p,cancel:!1,diagram:n,dragData:null,dragItem:p};if(n.enterObject=p,n.enterTable=a,n.triggerEvent(t.DiagramEvent.dragEnter,H),p instanceof Hl&&"SwimLane"===p.shape.type&&p.shape.isLane){var W=H.element,_=W.shape.lanes[0];g="Horizontal"===W.shape.orientation;var F=n.nameTable[p.children[0]],Y=n.nameTable[p.children[1]];v=p.dragSize,b=p.previewSize,S=T.symbolDragSize,_.width=v.width||S.width||b.width||_.width,_.height=v.height||S.height||b.height||_.height,g?(i.width=_.header.width,i.height=_.height,r.width=_.width-i.width,r.height=_.height,r.offsetX=u.x+s+(_.header.width+Y.width/2),r.offsetY=u.y+Y.height/2):(i.width=_.width,i.height=_.header.height,r.width=_.width,r.height=_.height-i.height,r.offsetX=u.x+s+Y.width/2,r.offsetY=u.y+(_.header.height+Y.height/2)),i.offsetX=u.x+s+F.width/2,i.offsetY=u.y+F.height/2,p.width=_.width,p.height=_.height}p instanceof Hl&&p.shape.isPhase&&(g?p.height=1:p.width=1);var V=!1;if(n.element.ej2_instances[0].constraints&t.DiagramConstraints.RestrictNegativeAxisDragDrop){if(p instanceof Hl){var X=p.offsetX-p.width*p.pivot.x,U=p.offsetY-p.height*p.pivot.y;V=X<0||U<0}else if(p instanceof xd){var X=Math.min(p.sourcePoint.x,p.targetPoint.x),U=Math.min(p.sourcePoint.y,p.targetPoint.y);V=X<0||U<0}V&&n.element.ej2_instances[0].setCursor("not-allowed")}if(!n.activeLayer.lock&&!H.cancel&&!V){if(n.preventDiagramUpdate=!0,p.children&&n.findChild(p,a),n.preventDiagramUpdate=!0,p.zIndex!==Number.MIN_VALUE&&(p.zIndex=Number.MIN_VALUE),"Container"!==p.shape.type&&n.initObject(p,void 0,void 0,!0),n.bpmnModule)for(var G=0;G<n.bpmnModule.bpmnTextAnnotationConnector.length;G++)null===n.bpmnModule.bpmnTextAnnotationConnector[parseInt(G.toString(),10)].wrapper&&n.initConnectors(n.bpmnModule.bpmnTextAnnotationConnector[parseInt(G.toString(),10)],void 0,!0);n.selectDragedNode(p,e,m)}delete n.enterObject,delete n.enterTable}n.droppable.selectedSymbols=m,n.allowServerDataBinding=!0}}}},this.droppable.drop=function(i){return Pp(n,void 0,void 0,function(){var r,n,o,a,s,h,d,l,c,p,g,u,f;return Dp(this,function(m){if(this.allowServerDataBinding=!1,r="sourceElement",this.currentSymbol?(o=!1,s=this.currentSymbol instanceof xd,i.event.touches&&this.eventHandler.mouseUp(i.event),l={source:this.droppable[""+r],element:this.currentSymbol,target:this.eventHandler.hoverNode||this.findObjectsUnderMouse(this.eventHandler.getMousePosition(i.event))[0]||this,cancel:!1,position:{x:this.currentSymbol.wrapper.offsetX,y:this.currentSymbol.wrapper.offsetY}},this.commandHandler.PreventConnectorSplit=!1,this.triggerEvent(t.DiagramEvent.drop,l),p="id",(c=k(this.currentSymbol)).hasTarget=this.currentSymbol.hasTarget,this.removeFromAQuad(this.currentSymbol),this.removeObjectsFromLayer(this.nameTable[this.currentSymbol.id]),this.removeElements(this.currentSymbol),(this.currentSymbol.shape.isLane||this.currentSymbol.shape.isPhase||"UmlClassifier"===this.currentSymbol.shape.type||"Container"===this.currentSymbol.shape.type)&&this.removeChildInNodes(this.currentSymbol),l.cancel&&Ln(this.currentSymbol,this),this.currentSymbol.shape.isPhase&&(o=!0,a=this.currentSymbol.shape.orientation,c.shape.phases=this.currentSymbol.shape.phases),this.removePreviewChildren(this.currentSymbol),delete this.nameTable[this.currentSymbol.id],this.currentSymbol=null,this.protectPropertyChange(!0),this.itemType="SymbolPalette",l.cancel?this.clearSelectorLayer():(this.startGroupAction(),c&&(c.shape.isLane||o)&&(o&&(c.shape.isPhase=o,c.shape.orientation=a),this.eventHandler.addSwimLaneObject(c)),c&&"UmlClassifier"===c.shape.type&&!c.shape.relationship&&(c.children=void 0,this.clearSelectorLayer(),this.add(c)),"Bpmn"===c.shape.type&&c.shape.annotation&&c.hasTarget&&(h=c.shape.annotation.nodeId,c.shape.annotation.id=c.id,this.addTextAnnotation(c.shape.annotation,this.nameTable[""+h]),c.nodeId=""),c.shape.isLane||o||void 0===c.type&&"UmlClassifier"===c.shape.type||(c.children&&this.addChildNodes(c),l.target&&l.target instanceof Hl&&!s&&ur(this,l.target)&&He(l.target)&&!this.commandHandler.isTargetSubProcess(l.target)?vr(this,l.target,c):("Bezier"===c.type&&c.segments.length>0&&(c.segments=[]),n=this.add(c,!0)),(c||n)&&(Fe(this)||Ye(this))&&this.select([this.nameTable[c[""+p]]],!1,this.previousSelectedObjects),this.lineRoutingModule&&this.constraints&t.DiagramConstraints.LineRouting&&this.commandHandler.updateSelectedNodeProperties(this.selectedItems),l.target&&l.target instanceof xd&&!0===this.enableConnectorSplit&&this.nameTable[c[""+p]]instanceof Hl&&(this.commandHandler.connectorSplit(this.nameTable[c[""+p]],l.target),this.commandHandler.PreventConnectorSplit=!1))),this.protectPropertyChange(!1),d=this.nameTable[c[""+p]],c.hasTarget&&(c.nodeId=c.hasTarget,this.remove(c)),this.bpmnModule&&d instanceof Hl&&c.processId&&(d.processId=c.processId,this.bpmnModule.dropBPMNchild(this.nameTable[d.processId],d,this)),d instanceof Hl&&c.parentId&&this.nameTable[c.parentId]&&"Container"===this.nameTable[c.parentId].shape.type&&(d.parentId=c.parentId,ea(this.nameTable[d.parentId],d,this)),l.cancel||this.endGroupAction(),"SVG"!==this.mode&&this.refreshDiagramLayer(),delete this.droppable[""+r]):(l={source:Do(i.droppedElement),element:void 0,target:Do(this.eventHandler.hoverNode||this.eventHandler.lastObjectUnderMouse||this),cancel:!1,position:void 0},this.triggerEvent(t.DiagramEvent.drop,l),c=void 0,p="id"),g="selectedSymbols",this.droppable[""+g]&&this.droppable[""+g].parentNode)e.remove(this.droppable[""+g]);else for(u=document.getElementsByClassName("e-dragclone"),f=0;f<u.length;f++)u[parseInt(f.toString(),10)].remove();return this.allowServerDataBinding=!0,this.previousSelectedObjects=[],[2]})})},this.droppable.out=function(e){if("touchmove"===e.evt.type&&n.eventHandler.mouseLeave(e.evt),n.currentSymbol&&!n.eventHandler.focus){if(n.unSelect(n.currentSymbol),n.removeFromAQuad(n.currentSymbol),"SVG"!==n.mode&&"Native"===n.currentSymbol.shape.type&&n.removeElements(n.currentSymbol),n.removeObjectsFromLayer(n.nameTable[n.currentSymbol.id]),n.currentSymbol.shape&&"TextAnnotation"===n.currentSymbol.shape.shape){var i=n.nameTable[n.currentSymbol.inEdges[0]];n.removeObjectsFromLayer(n.nameTable[i.id]),n.removeFromAQuad(i),n.removePreviewChildren(i),delete n.nameTable[i.id];var r=n.connectors.indexOf(i);n.connectors.splice(r,1),n.removeElements(i)}n.removePreviewChildren(n.currentSymbol),delete n.nameTable[n.currentSymbol.id];var o={element:Do(n.currentSymbol),diagram:n};if(n.triggerEvent(t.DiagramEvent.dragLeave,o),"SVG"!==n.mode)n.refreshDiagramLayer();else{if(n.removeElements(n.currentSymbol),"SwimLane"!==n.currentSymbol.shape.type&&n.currentSymbol.children&&n.currentSymbol.children.length>0)for(var a=0;a<n.currentSymbol.children.length;a++){s=n.nameTable[n.currentSymbol.children[parseInt(a.toString(),10)]];n.removeElements(s),delete n.nameTable[n.currentSymbol.children[parseInt(a.toString(),10)]]}if("Container"===n.currentSymbol.shape.type&&n.currentSymbol.shape.hasHeader){var s=n.nameTable[n.currentSymbol.id+n.currentSymbol.shape.header.id];n.removeFromAQuad(s),delete n.nameTable[s.id],n.removeElements(s)}}n.currentSymbol=null;n.droppable.selectedSymbols.style.opacity="1";delete n.droppable.sourceElement,n.diagramRenderer.rendererActions=n.removeConstraints(n.diagramRenderer.rendererActions,t.RendererAction.DrawSelectorBorder),n.previousSelectedObject&&n.select(n.previousSelectedObject,n.previousSelectedObject.length>1),n.previousSelectedObject=null}}},r.prototype.getDropEventArgs=function(t){if(this.eventHandler.lastObjectUnderMouse||this.eventHandler.hoverNode){var e=this.eventHandler.lastObjectUnderMouse||this.eventHandler.hoverNode;t.target=_d(e)===xd?{connector:Do(e)}:{node:Do(e)}}else t.target.diagramId=this.element.id},r.prototype.removeChildInNodes=function(t){if(t&&"Container"!==t.shape.type){if(t.children)for(var e=0;e<t.children.length;e++)this.removeChildInNodes(this.nameTable[t.children[parseInt(e.toString(),10)]]);-1!==(i=this.nodes.indexOf(t))&&this.nodes.splice(i,1)}else if(t&&"Container"===t.shape.type){t.shape.hasHeader&&this.removeChildInNodes(this.nameTable[t.id+t.shape.header.id]);var i=this.nodes.indexOf(t);-1!==i&&this.nodes.splice(i,1)}},r.prototype.getBlazorDragEventArgs=function(t){return t={source:Do(t.source),element:_d(t.element)===xd?{connector:Do(t.element)}:{node:Do(t.element)},cancel:t.cancel,diagramId:this.element.id}},r.prototype.findChild=function(t,e){for(var i,r,n=0;n<t.children.length;n++)(i=e[t.children[parseInt(n.toString(),10)]])&&(i.children&&this.findChild(i,e),i.id=i.id+O(),e[i.id]=i,t.children[parseInt(n.toString(),10)]=i.id,r=new Hl(this,"nodes",i,!0),this.initObject(r,void 0,void 0,!0))},r.prototype.getChildren=function(t,e,i){for(var r,n=0;n<t.children.length;n++)(r=i[t.children[parseInt(n.toString(),10)]])&&(r.children&&(e=this.getChildren(r,e,i)),e[r.id]=k(r));return e},r.prototype.addChildNodes=function(t){for(var e,i=0;i<t.children.length;i++)(e=this.nameTable[t.children[parseInt(i.toString(),10)]])&&(e.children&&this.addChildNodes(e),this.add(e,!0))},r.prototype.moveNode=function(t){for(var e,i=this.commandHandler.getObjectLayer(t.id),r=i.zIndex,n=i.objects.length,o=0;o<this.layers.length;o++)r===this.layers[parseInt(o.toString(),10)].zIndex&&(e=this.layers[o+1]);if(n>1){var a=2;if(t.children&&t.children.length>0)for(;t.children.indexOf(i.objects[n-a])>-1;)a++;if(n-a>-1){var s=this.nameTable[i.objects[n-a]];if(t.zIndex>s.zIndex){var h=s.parentId!==t.parentId&&s.parentId?this.getRootParentId(s):s.id;this.commandHandler.moveSvgNode(t.id,h),this.commandHandler.moveSvgNode(h,t.id)}}else this.moveNodeWithTargetLayer(t,i,e)}else this.moveNodeWithTargetLayer(t,i,e)},r.prototype.moveNodeWithTargetLayer=function(t,e,i){if(i){var r=this.commandHandler.getLayer(this.layerZIndexTable[i.zIndex]).objects[0];r?(this.commandHandler.moveSvgNode(t.id,r),this.commandHandler.updateNativeNodeIndex(t.id,r)):this.moveObjectsUp(t,e)}else this.moveObjectsUp(t,e)},r.prototype.getRootParentId=function(t){for(var e=t;e&&e.parentId;){var i=e.parentId,r=this.nameTable[""+i];if(!r)break;e=r}return e.id},r.prototype.moveObjectsUp=function(t,e){for(var i,r=this.layers.length-1;r>=0;r--)if(i=this.layers[parseInt(r.toString(),10)],e.id!==i.id){var n=this.commandHandler.getLayer(this.layerZIndexTable[i.zIndex]).objects[i.objects.length-1];if(n){this.commandHandler.moveSvgNode(t.id,n),this.commandHandler.moveSvgNode(n,t.id);break}}},r.prototype.insertData=function(t){return this.crudOperation(t,"create",this.getNewUpdateNodes("New"))},r.prototype.updateData=function(t){return this.crudOperation(t,"update",this.getNewUpdateNodes("Update"))},r.prototype.removeData=function(t){return this.crudOperation(t,"destroy",this.getDeletedNodes())},r.prototype.distributePorts=function(t){for(var e=this,i=[],r=this,n=0;n<t.length;n++)!function(n){var o=r.nameTable[t[parseInt(n.toString(),10)]];if(!(o&&o.ports&&o.width&&o.height))return"continue";for(var a=0;a<o.ports.length;a++)!function(t){var e=o.ports[parseInt(t.toString(),10)],i=0;if(e.inEdges&&e.inEdges.length&&(i+=e.inEdges.length),e.outEdges&&e.outEdges.length&&(i+=e.outEdges.length),i>1)return"continue";var n=e.offset.x*o.width,a=e.offset.y*o.height,s=n,h=o.width-n,d=a,l=o.height-a,c=[{edge:"Left",value:s},{edge:"Right",value:h},{edge:"Top",value:d},{edge:"Bottom",value:l}],p=Math.min(s,h,d,l),g=c.filter(function(t){return t.value===p}),u=g[0].edge;if(g.length>1){var f=null;if(e.outEdges&&e.outEdges.length>0?f=r.nameTable[e.outEdges[0]]:e.inEdges&&e.inEdges.length>0&&(f=r.nameTable[e.inEdges[0]]),f){var m=f.targetPoint;if(m){var y=o.offsetX-o.width*o.pivot.x,v=o.offsetY-o.height*o.pivot.y,b={x:y+e.offset.x*o.width,y:v+e.offset.y*o.height},S=m.x-b.x,w=m.y-b.y;Math.abs(S)>Math.abs(w)?S<0&&g.some(function(t){return"Left"===t.edge})?u="Left":S>0&&g.some(function(t){return"Right"===t.edge})&&(u="Right"):w<0&&g.some(function(t){return"Top"===t.edge})?u="Top":w>0&&g.some(function(t){return"Bottom"===t.edge})&&(u="Bottom")}}}switch(u){case"Left":e.offset.x=0;break;case"Right":e.offset.x=1;break;case"Top":e.offset.y=0;break;case"Bottom":e.offset.y=1}}(a);for(var s={Left:[],Right:[],Top:[],Bottom:[]},h=0;h<o.ports.length;h++){var d=o.ports[parseInt(h.toString(),10)];0===d.offset.x?s.Left.push(d):1===d.offset.x?s.Right.push(d):0===d.offset.y?s.Top.push(d):1===d.offset.y&&s.Bottom.push(d)}["Left","Right","Top","Bottom"].forEach(function(t){var r=s[""+t];if(0!==r.length){r.sort(e.callSort(o,t,e,i)),-1===i.indexOf(o.id)&&i.push(o.id);for(var n=r.length,a=0;a<n;a++){var h=r[parseInt(a.toString(),10)],d=0;if(h.inEdges&&h.inEdges.length&&(d+=h.inEdges.length),h.outEdges&&h.outEdges.length&&(d+=h.outEdges.length),!(d>1)){var l=(a+1)/(n+1);"Left"===t||"Right"===t?h.offset.y=l:h.offset.x=l}}}})}(n)},r.prototype.getProjectedOffset=function(t,e,i){var r=e.offsetX-e.width*e.pivot.x,n=e.offsetY-e.height*e.pivot.y;return{x:r+t.offset.x*e.width,y:n+t.offset.y*e.height}},r.prototype.callSort=function(t,e,i,r){return function(n,o){var a,s,h,d,l,c,p,g,u=n.outEdges&&n.outEdges.length||n.inEdges&&n.inEdges.length,f=o.outEdges&&o.outEdges.length||o.inEdges&&o.inEdges.length,m=u?i.getConnectorTargetOffset(n,t,e,i):i.getProjectedOffset(n,t,e),y=f?i.getConnectorTargetOffset(o,t,e,i):i.getProjectedOffset(o,t,e),v=n.outEdges&&n.outEdges.length?i.nameTable[n.outEdges[0]]:n.inEdges&&n.inEdges.length?i.nameTable[n.inEdges[0]]:null,b=o.outEdges&&o.outEdges.length?i.nameTable[o.outEdges[0]]:o.inEdges&&o.inEdges.length?i.nameTable[o.inEdges[0]]:null,S=!1;if(v&&(a=i.nameTable[v.sourceID],h=i.getConnectedPort(a,v,!0),l=i.nameTable[v.targetID],p=i.getConnectedPort(l,v),v.targetID===t.id&&(S=!0),l&&-1!==r.indexOf(l.id)&&(v=null)),b&&(s=i.nameTable[b.sourceID],d=i.getConnectedPort(s,b,!0),c=i.nameTable[b.targetID],g=i.getConnectedPort(c,b),b.targetID===t.id&&(S=!0),c&&-1!==r.indexOf(c.id)&&(b=null)),v&&b){var w=void 0,x=void 0;return(p&&0===p.offset.x||!p&&h&&0===h.offset.x)&&(w="Left"),(p&&1===p.offset.x||!p&&h&&1===h.offset.x)&&(w="Right"),(p&&0===p.offset.y||!p&&h&&0===h.offset.y)&&(w="Top"),(p&&1===p.offset.y||!p&&h&&1===h.offset.y)&&(w="Bottom"),(g&&0===g.offset.x||!g&&d&&0===d.offset.x)&&(x="Left"),(g&&1===g.offset.x||!g&&d&&1===d.offset.x)&&(x="Right"),(g&&0===g.offset.y||!g&&d&&0===d.offset.y)&&(x="Top"),(g&&1===g.offset.y||!g&&d&&1===d.offset.y)&&(x="Bottom"),"Top"===e||"Bottom"===e?b.targetID!==t.id&&("Top"===e&&"Bottom"===w||"Top"===e&&"Right"===w||"Bottom"===e&&"Top"===w||"Bottom"===e&&"Left"===w)?m.x-y.x==0?y.y-m.y:m.x-y.x:"Top"===e&&"Top"===w||"Top"===e&&"Left"===w||"Bottom"===e&&"Bottom"===w||"Bottom"===e&&"Right"===w?l&&c&&l.id===c.id&&!S&&("Bottom"===e&&"Right"===w&&"Right"===x||"Bottom"===e&&"Bottom"===w&&"Bottom"===x||"Top"===e&&"Top"===w&&"Top"===x||"Top"===e&&"Left"===w&&"Left"===x)?m.x-y.x==0?m.y-y.y:y.x-m.x:m.x-y.x==0?y.y-m.y:m.x-y.x:m.x-y.x==0?m.y-y.y:y.x-m.x:"Left"===e&&"Right"===w||"Left"===e&&"Bottom"===w||"Right"===e&&"Left"===w||"Right"===e&&"Top"===w?m.y-y.y==0?y.x-m.x:m.y-y.y:"Left"===e&&"Left"===w||"Left"===e&&"Top"===w||"Right"===e&&"Right"===w||"Right"===e&&"Bottom"===w?l&&c&&l.id===c.id&&!S&&("Right"===e&&"Bottom"===w&&"Bottom"===x||"Right"===e&&"Right"===w&&"Right"===x||"Left"===e&&"Left"===w&&"Left"===x||"Left"===e&&"Top"===w&&"Top"===x)?m.y-y.y==0?m.x-y.x:y.y-m.y:m.y-y.y==0?y.x-m.x:m.y-y.y:m.y-y.y==0?m.x-y.x:y.y-m.y}return 0}},r.prototype.getConnectorTargetOffset=function(t,e,i,r){var n=null;return t.outEdges&&t.outEdges.length>0?n=r.nameTable[t.outEdges[0]]:t.inEdges&&t.inEdges.length>0&&(n=r.nameTable[t.inEdges[0]]),n?n.targetPoint:this.getProjectedOffset(t,e,i)},r.prototype.crudOperation=function(t,e,i){if(t){var r=this.parameterMap(t,!(t instanceof xd));if(r){var n=t instanceof xd?this.dataSourceSettings.connectionDataSource.crudAction[""+e]:this.dataSourceSettings.crudAction[""+e];this.raiseAjaxPost(JSON.stringify(r),n)}return r}var o=i;return this.processCrudCollection(o,this.dataSourceSettings.crudAction[""+e],this.dataSourceSettings.connectionDataSource.crudAction[""+e]),o},r.prototype.processCrudCollection=function(t,e,i){if(t.nodes){var r=[],n=void 0;for(n=0;n<t.nodes.length;n++)r.push(this.parameterMap(t.nodes[parseInt(n.toString(),10)],!0));r&&r.length>0&&this.raiseAjaxPost(JSON.stringify(r),e)}if(t.connectors){var r=[],n=void 0;for(n=0;n<t.connectors.length;n++)r.push(this.parameterMap(t.connectors[parseInt(n.toString(),10)],!1));r&&r.length>0&&this.raiseAjaxPost(JSON.stringify(r),i)}},r.prototype.parameterMap=function(t,e){var i,r={},n=e?this.dataSourceSettings:this.dataSourceSettings.connectionDataSource;if(n.id&&(r[n.id]=t.id),n.sourcePointX&&n.sourcePointY&&(r[n.sourcePointX]=t.sourcePoint.x,r[n.sourcePointY]=t.sourcePoint.y),n.targetPointX&&n.targetPointY&&(r[n.targetPointX]=t.targetPoint.x,r[n.targetPointY]=t.targetPoint.y),n.sourceID&&(r[n.sourceID]=t.sourceID),n.targetID&&(r[n.targetID]=t.targetID),n.crudAction&&n.crudAction.customFields&&n.crudAction.customFields.length>0)for(i=0;i<n.crudAction.customFields.length;i++)r[n.crudAction.customFields[parseInt(i.toString(),10)]]=t[n.crudAction.customFields[parseInt(i.toString(),10)]];return r},r.prototype.getNewUpdateNodes=function(t){var e=[],i=[];for(var r in this.nameTable){var n=this.nameTable[""+r];n.status===t&&(n&&n instanceof xd?(n.status="None",i.push(n)):(n.status="None",e.push(n)))}return{nodes:e,connectors:i}},r.prototype.getDeletedNodes=function(){var t,e=[],i=[];for(t=0;t<this.crudDeleteNodes.length;t++){var r=this.crudDeleteNodes[parseInt(t.toString(),10)];r&&r.segments?i.push(r):r&&e.push(r)}return this.crudDeleteNodes=[],{nodes:e,connectors:i}},r.prototype.raiseAjaxPost=function(t,i){var r=new e.Fetch(i,"POST","application/json"),n=JSON.stringify(JSON.parse(t));r.send(n).then(),r.onSuccess=function(t){}},r.prototype.getHiddenItems=function(t){var e=[];if(this.contextMenuModule){this.contextMenuModule.hiddenItems=[];for(var i=0,r=t.items;i<r.length;i++){var n=r[i];if(this.contextMenuModule.ensureItems(n,t.event),n.items&&n.items.length)for(var o=0,a=n.items;o<a.length;o++){var s=a[o];this.contextMenuModule.ensureItems(s,t.event)}}return this.contextMenuModule.hiddenItems}return e},Cp([e.Property("100%")],r.prototype,"width",void 0),Cp([e.Property(!1)],r.prototype,"enableConnectorSplit",void 0),Cp([e.Property("SVG")],r.prototype,"mode",void 0),Cp([e.Property("100%")],r.prototype,"height",void 0),Cp([e.Property("Circle")],r.prototype,"segmentThumbShape",void 0),Cp([e.Property(10)],r.prototype,"segmentThumbSize",void 0),Cp([e.Complex({},Bd)],r.prototype,"contextMenuSettings",void 0),Cp([e.Property(t.DiagramConstraints.Default)],r.prototype,"constraints",void 0),Cp([e.Property(t.DiagramTools.Default)],r.prototype,"tool",void 0),Cp([e.Property("Top")],r.prototype,"bridgeDirection",void 0),Cp([e.Property("transparent")],r.prototype,"backgroundColor",void 0),Cp([e.Complex({},oc)],r.prototype,"snapSettings",void 0),Cp([e.Complex({},dc)],r.prototype,"rulerSettings",void 0),Cp([e.Complex({},$l)],r.prototype,"pageSettings",void 0),Cp([e.Complex({},jc)],r.prototype,"serializationSettings",void 0),Cp([e.Collection([],Hl)],r.prototype,"nodes",void 0),Cp([e.Property()],r.prototype,"drawingObject",void 0),Cp([e.Collection([],xd)],r.prototype,"connectors",void 0),Cp([e.Property([])],r.prototype,"basicElements",void 0),Cp([e.Complex({},Ks)],r.prototype,"tooltip",void 0),Cp([e.Complex({},yc)],r.prototype,"dataSourceSettings",void 0),Cp([e.Property()],r.prototype,"addInfo",void 0),Cp([e.Property()],r.prototype,"historyManager",void 0),Cp([e.Property()],r.prototype,"nodeTemplate",void 0),Cp([e.Property()],r.prototype,"annotationTemplate",void 0),Cp([e.Property()],r.prototype,"userHandleTemplate",void 0),Cp([e.Property()],r.prototype,"fixedUserHandleTemplate",void 0),Cp([e.Property()],r.prototype,"getNodeDefaults",void 0),Cp([e.Property()],r.prototype,"nodeDefaults",void 0),Cp([e.Property()],r.prototype,"getConnectorDefaults",void 0),Cp([e.Property()],r.prototype,"connectorDefaults",void 0),Cp([e.Property()],r.prototype,"setNodeTemplate",void 0),Cp([e.Property()],r.prototype,"getDescription",void 0),Cp([e.Property()],r.prototype,"getCustomProperty",void 0),Cp([e.Property()],r.prototype,"getCustomTool",void 0),Cp([e.Property()],r.prototype,"getCustomCursor",void 0),Cp([e.Collection([],_c)],r.prototype,"customCursor",void 0),Cp([e.Property()],r.prototype,"updateSelection",void 0),Cp([e.Complex({},Xc)],r.prototype,"diagramSettings",void 0),Cp([e.Complex({},Ul)],r.prototype,"selectedItems",void 0),Cp([e.Complex({},tc)],r.prototype,"scrollSettings",void 0),Cp([e.Complex({},wc)],r.prototype,"layout",void 0),Cp([e.Complex(void 0,ep)],r.prototype,"model",void 0),Cp([e.Complex({},kd)],r.prototype,"commandManager",void 0),Cp([e.Event()],r.prototype,"dataLoaded",void 0),Cp([e.Event()],r.prototype,"dragEnter",void 0),Cp([e.Event()],r.prototype,"dragLeave",void 0),Cp([e.Event()],r.prototype,"dragOver",void 0),Cp([e.Event()],r.prototype,"click",void 0),Cp([e.Event()],r.prototype,"historyChange",void 0),Cp([e.Event()],r.prototype,"historyStateChange",void 0),Cp([e.Event()],r.prototype,"doubleClick",void 0),Cp([e.Event()],r.prototype,"textEdit",void 0),Cp([e.Event()],r.prototype,"scrollChange",void 0),Cp([e.Event()],r.prototype,"mouseWheel",void 0),Cp([e.Event()],r.prototype,"selectionChange",void 0),Cp([e.Event()],r.prototype,"sizeChange",void 0),Cp([e.Event()],r.prototype,"connectionChange",void 0),Cp([e.Event()],r.prototype,"sourcePointChange",void 0),Cp([e.Event()],r.prototype,"targetPointChange",void 0),Cp([e.Event()],r.prototype,"propertyChange",void 0),Cp([e.Event()],r.prototype,"positionChange",void 0),Cp([e.Event()],r.prototype,"keyUp",void 0),Cp([e.Event()],r.prototype,"keyDown",void 0),Cp([e.Event()],r.prototype,"animationComplete",void 0),Cp([e.Event()],r.prototype,"rotateChange",void 0),Cp([e.Event()],r.prototype,"collectionChange",void 0),Cp([e.Event()],r.prototype,"fixedUserHandleClick",void 0),Cp([e.Event()],r.prototype,"onUserHandleMouseDown",void 0),Cp([e.Event()],r.prototype,"onUserHandleMouseUp",void 0),Cp([e.Event()],r.prototype,"onUserHandleMouseEnter",void 0),Cp([e.Event()],r.prototype,"onUserHandleMouseLeave",void 0),Cp([e.Event()],r.prototype,"onFixedUserHandleMouseDown",void 0),Cp([e.Event()],r.prototype,"onFixedUserHandleMouseUp",void 0),Cp([e.Event()],r.prototype,"onFixedUserHandleMouseEnter",void 0),Cp([e.Event()],r.prototype,"onFixedUserHandleMouseLeave",void 0),Cp([e.Event()],r.prototype,"segmentCollectionChange",void 0),Cp([e.Event()],r.prototype,"onImageLoad",void 0),Cp([e.Event()],r.prototype,"expandStateChange",void 0),Cp([e.Event()],r.prototype,"load",void 0),Cp([e.Event()],r.prototype,"created",void 0),Cp([e.Event()],r.prototype,"mouseEnter",void 0),Cp([e.Event()],r.prototype,"mouseLeave",void 0),Cp([e.Event()],r.prototype,"mouseOver",void 0),Cp([e.Event()],r.prototype,"elementDraw",void 0),Cp([e.Event()],r.prototype,"contextMenuOpen",void 0),Cp([e.Event()],r.prototype,"contextMenuBeforeItemRender",void 0),Cp([e.Event()],r.prototype,"contextMenuClick",void 0),Cp([e.Event()],r.prototype,"commandExecute",void 0),Cp([e.Collection([],Ac)],r.prototype,"layers",void 0),Cp([e.Event()],r.prototype,"drop",void 0),Cp([e.Event()],r.prototype,"segmentChange",void 0),Cp([e.Event()],r.prototype,"loaded",void 0),Cp([e.Event()],r.prototype,"layoutUpdated",void 0),r}(e.Component),Ap=function(){function i(t){var e=this;this.printWindow=void 0,this.closePrintWindow=function(){e.printWindow&&!e.printWindow.closed&&e.printWindow.close()},this.diagram=t}return i.prototype.exportDiagram=function(t){var i,r,n,o="data",a=[],s=t.margin||{},h=t&&t.region?t.region:"Content",d=t&&t.mode?t.mode:"Download",l=this.getDiagramBounds(h,t);t.bounds&&(r=!0,l.x=t.bounds.x?t.bounds.x:l.x,l.y=t.bounds.y?t.bounds.y:l.y,l.width=t.bounds.width||l.width,l.height=t.bounds.height||l.height),s={top:void 0!==s.top?s.top:25,bottom:void 0!==s.bottom?s.bottom:25,right:void 0!==s.right?s.right:25,left:void 0!==s.left?s.left:25};this.diagram.nodes;"PageSettings"!==h&&(l.x-=s.left,l.y-=s.top,l.width+=s.left+s.right,l.height+=s.top+s.bottom);var c=t.fileName||"diagram";if("SVG"!==t.format){if(null!==(o=this.setCanvas(t,l,s,d,r,h,c)))return o}else{i=t.format,t.bounds=l,t.margin=s;var p=n=this.diagramAsSvg(t,s);if("Data"===d)return n;var g=(new XMLSerializer).serializeToString(p);a.push(g)}if("Download"===d&&null!==o)for(var u=0;u<a.length;u++){var f=new Blob([a[parseInt(u.toString(),10)]],{type:"application/octet-stream"});if("msie"===e.Browser.info.name)window.navigator.msSaveOrOpenBlob(f,c+"."+i);else{var m=Va("a",{download:c+"."+i}),y=URL.createObjectURL(f);m.href=y;var v=document.createEvent("MouseEvents");v.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),m.dispatchEvent(v)}}return null},i.prototype.setCanvas=function(t,e,i,r,n,o,a){var s;t.bounds=e,t.region=o;this.setScaleValueforCanvas(t,e);var h,d=this.diagramAsCanvas({bounds:e,margin:i,region:o,scaleX:t.scaleX,scaleY:t.scaleY,scaleOffsetX:t.scaleOffsetX,scaleOffsetY:t.scaleOffsetY},n);return h=s=qc="JPG"===t.format?d.toDataURL("image/jpeg"):"BMP"===t.format?d.toDataURL("image/bmp"):d.toDataURL(),"Data"===r?s:(this.canvasMultiplePage(t,d,i,h,a),null)},i.prototype.canvasMultiplePage=function(t,e,i,r,n){var o=this,a=[],s=r.substring(r.indexOf(":")+1,r.indexOf(";")),h=s.substring(s.indexOf("/")+1),d=(h="jpeg"===h?void 0:h.toUpperCase())||"JPG";if(t.multiplePage&&"Content"!==t.region){if(t.pageHeight=t.pageHeight?t.pageHeight:this.diagram.pageSettings.height,t.pageWidth=t.pageWidth?t.pageWidth:this.diagram.pageSettings.width,t.pageHeight=t.pageHeight?t.pageHeight:e.width,t.pageWidth=t.pageWidth?t.pageWidth:e.height,i=t.margin||{},t.pageOrientation&&("Landscape"===t.pageOrientation&&t.pageHeight>t.pageWidth||"Portrait"===t.pageOrientation&&t.pageWidth>t.pageHeight)){var l=t.pageWidth;t.pageWidth=t.pageHeight,t.pageHeight=l}t.margin={top:isNaN(i.top)?0:i.top,bottom:isNaN(i.bottom)?0:i.bottom,left:isNaN(i.left)?0:i.left,right:isNaN(i.right)?0:i.right};var c=Va("img",{id:this.diagram.element.id+"_printImage",src:r});c.onload=function(){a=o.getMultipleImage(c,t,!0),o.exportImage(a,n,d,r)}}else a=[r],this.exportImage(a,n,d,r)},i.prototype.exportImage=function(t,i,r,n){for(var o=[],a=t instanceof HTMLElement?0:t.length,s=0;s<a;s++){for(var h=(n=(n=t[parseInt(s.toString(),10)]).replace(/^data:[a-z]*;,/,"")).split(","),d=atob(h[1]),l=new ArrayBuffer(d.length),c=new Uint8Array(l),p=0;p<d.length;p++)c[parseInt(p.toString(),10)]=d.charCodeAt(p);o.push(l)}for(var g=0;g<o.length;g++)!function(t){var n=new Blob([o[parseInt(t.toString(),10)]],{type:"application/octet-stream"});if("msie"===e.Browser.info.name)window.navigator.msSaveOrOpenBlob(n,i+"."+r);else{var a=Va("a",{download:i+"."+r}),s=URL.createObjectURL(n);a.href=s;var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),setTimeout(function(){a.dispatchEvent(h)},5*(t+1))}}(g)},i.prototype.getObjectsBound=function(t){for(var e,i=0,r=this.diagram.nodes;i<r.length;i++){var n=r[i];n.visible&&(("SVG"===t.format||n instanceof Gs||n instanceof wh)&&("SVG"!==t.format||n instanceof wh)||(e=e?e.uniteRect(n.wrapper.outerBounds):n.wrapper.outerBounds))}for(var o=0,a=this.diagram.connectors;o<a.length;o++){var s=a[o];s.visible&&(e=e?e.uniteRect(s.wrapper.outerBounds):s.wrapper.outerBounds)}return e||new ms(0,0,0,0)},i.prototype.getDiagramBounds=function(t,e){var i=this.getObjectsBound(e),r=i.left,n=i.top,o=i.right-i.left,a=i.bottom-i.top;if("Content"!==t&&(this.diagram.pageSettings&&this.diagram.pageSettings.multiplePage?(r=i.left,n=i.top,this.diagram.pageSettings.width&&(r=Math.floor(r/this.diagram.pageSettings.width)*this.diagram.pageSettings.width,o=Math.ceil(i.right/this.diagram.pageSettings.width)*this.diagram.pageSettings.width-r),this.diagram.pageSettings.height&&(n=Math.floor(n/this.diagram.pageSettings.height)*this.diagram.pageSettings.height,a=Math.ceil(i.bottom/this.diagram.pageSettings.height)*this.diagram.pageSettings.height-n),0===i.width&&null!==this.diagram.pageSettings.width&&(o=this.diagram.pageSettings.width),0===i.height&&null!==this.diagram.pageSettings.height&&(a=this.diagram.pageSettings.height)):(this.diagram.pageSettings.width&&(r=0,o=this.diagram.pageSettings.width),this.diagram.pageSettings.height&&(n=0,a=this.diagram.pageSettings.height))),this.diagram.scrollSettings.padding){var s=this.diagram.scrollSettings.padding;r-=s.left,n-=s.top,o+=s.left+s.right,a+=s.top+s.bottom}var h=new ms;return h.x=r,h.y=n,h.width=o,h.height=a,h},i.prototype.setScaleValueforCanvas=function(t,e){t.scaleX=1,t.scaleY=1,t.scaleOffsetX=0,t.scaleOffsetY=0;var i=t&&"Content"===t.region;if(!i){t.pageHeight=t.pageHeight||this.diagram.pageSettings.height,t.pageWidth=t.pageWidth||this.diagram.pageSettings.width;var r=t.pageOrientation||this.diagram.pageSettings.orientation;if(r||(r="Portrait"),"Portrait"===r){if(t.pageWidth>t.pageHeight){n=t.pageHeight;t.pageHeight=t.pageWidth,t.pageWidth=n}}else if(t.pageHeight>t.pageWidth){var n=t.pageWidth;t.pageWidth=t.pageHeight,t.pageHeight=n}t.pageWidth&&t.pageHeight&&!t.multiplePage&&(t.stretch="Meet")}var o=i?e.height:t.pageHeight||e.height,a=i?e.width:t.pageWidth||e.width;"Stretch"!==t.stretch&&"Meet"!==t.stretch&&"Slice"!==t.stretch||(t.scaleX=a/e.width,t.scaleY=o/e.height,"Meet"===t.stretch?(t.scaleX=t.scaleY=Math.min(t.scaleX,t.scaleY),t.scaleOffsetY=(t.pageHeight-e.height*t.scaleX)/2,t.scaleOffsetX=(t.pageWidth-e.width*t.scaleX)/2):"Slice"===t.stretch&&(t.scaleX=t.scaleY=Math.max(t.scaleX,t.scaleY)),e.width=a,e.height=o),e.x*=t.scaleX,e.y*=t.scaleY},i.prototype.diagramAsSvg=function(t,e){var i=this.diagram.createSvg(this.diagram.element.id+"_diagram_svg",t.bounds.width,t.bounds.height);document.body.appendChild(i);var r=Xa("g",{id:this.diagram.element.id+"_pageBackground"}),n=t&&t.region?t.region:"Content",o=this.getDiagramBounds(n,t),a=o.x,s=o.y,h=o.width,d=o.height;i.appendChild(r);var l={x:String(a),y:String(s),width:String(h),height:String(d)};Ja(r,l),this.setTransform(r,t.bounds,e);var c=document.getElementById(this.diagram.element.id+"gradient_pattern");c&&i.appendChild(c.cloneNode(!0)),l={x:String(a),y:String(s),width:String(h+e.left+e.right),height:String(d+e.top+e.bottom)};var p=document.getElementById(this.diagram.element.id+"_backgroundImageLayer").cloneNode(!0);Ja(p,l),i.appendChild(p),this.setTransform(p,o,e);var g=document.getElementById(this.diagram.element.id+"_backgroundLayerrect").cloneNode(!0);if(Ja(g,l),i.appendChild(g),this.setTransform(g,o,e),"SVG"===this.diagram.mode){var u=void 0,f=void 0,m=Ta(this.diagram.element.id);for(i.appendChild(m.getElementById(this.diagram.diagramLayer.id).cloneNode(!0)),f=0;f<i.childNodes.length;f++)(u=i.childNodes[parseInt(f.toString(),10)]).id===this.diagram.element.id+"_diagramLayer"&&this.setTransform(u,o,e)}else{r=Xa("g",{id:this.diagram.element.id+"_diagramLayer"}),i.appendChild(r),this.setTransform(r,t.bounds,e);var y=new Rd("",null,!0),v=Ya(this.diagram.element.id);this.diagram.renderDiagramElements(i,y,v,!1)}return document.body.removeChild(i),i},i.prototype.setTransform=function(t,e,i){t.setAttribute("transform","translate("+(-e.x+i.left)+", "+(-e.y+i.top)+")")},i.prototype.diagramAsCanvas=function(t,e){var i=t.bounds,r=t.margin,n=t.region,o=this.getDiagramBounds(n,t),a=this.diagram.pageSettings.background.color,s=Zl.createCanvas(this.diagram.element.id+"_diagram",t.bounds.width,t.bounds.height),h=s.getContext("2d");h.translate(-i.x,-i.y),h.save(),h.fillStyle="transparent"===this.diagram.pageSettings.background.color?"white":this.diagram.pageSettings.background.color,i="Content"===n?o:i,h.fillRect(i.x,i.y,i.width,i.height);var d=this.diagram.pageSettings.background;if(d&&d.source){o=this.getDiagramBounds(n,t);var l=new Image;l.src=d.source;var c=o.width/l.width,p=o.height/l.height,g=o.x,u=o.y,f=o.width,m=o.height,y=this.isImageExportable(d);if("None"!==d.scale&&"None"!==d.align){var v="Meet"===d.scale?Math.min(c,p):Math.max(c,p);f=v*l.width,m=v*l.height,d.align.indexOf("xmid")>-1?g+=(o.width-f)/2:d.align.indexOf("xmax")>-1&&(g=g+o.width-f),d.align.indexOf("ymid")>-1?u+=(o.height-m)/2:d.align.indexOf("ymax")>-1&&(u=u+o.height-m),"none"!==this.diagram.pageSettings.background.color&&"transparent"!==this.diagram.pageSettings.background.color||(h.fillStyle="white",h.fillRect(o.x*t.scaleX,o.y*t.scaleY,o.width*t.scaleX,o.height*t.scaleY)),y&&h.drawImage(l,g,u,v*l.width,v*l.height)}else y&&h.drawImage(l,g,u,o.width,o.height)}else h.fillStyle="transparent"===a?"white":a,h.fillRect(o.x*t.scaleX-r.left,o.y*t.scaleY-r.top,o.width*t.scaleX+r.left+r.right,t.scaleY*o.height+r.top+r.bottom);var b=this.diagram.pageSettings.background.color,S=this.diagram.pageSettings.width;S&&(h.strokeStyle="none"===b?"transparent":b,h.lineWidth=S,h.strokeRect(o.x*t.scaleX,o.y*t.scaleY,o.width*t.scaleX,o.height*t.scaleY)),h.restore();var w=Ya(this.diagram.element.id),x=new Rd("",null,!1);return this.updateObjectValue(t.scaleX,t.scaleOffsetX,t.scaleOffsetY,!0),this.diagram.renderDiagramElements(s,x,w,!1,!0),this.updateObjectValue(t.scaleX,t.scaleOffsetX,t.scaleOffsetY,!1),s},i.prototype.updateWrapper=function(t,e,i,r,n){if(t&&t.length>0)for(var o=0;o<t.length;o++)t[parseInt(o.toString(),10)].children&&this.updateWrapper(t[parseInt(o.toString(),10)].children,e,i,r,n),t[parseInt(o.toString(),10)].exportScaleValue.x=e,t[parseInt(o.toString(),10)].exportScaleValue.y=e,t[parseInt(o.toString(),10)].exportScaleOffset.x=i,t[parseInt(o.toString(),10)].exportScaleOffset.y=r,t[parseInt(o.toString(),10)].isExport=n},i.prototype.scaleGradientValue=function(t,e,i){if(t.style.gradient.stops.length>0){var r=t.style.gradient;t.style.gradient instanceof As?(r.x1=i?r.x1*e:r.x1/e,r.y1=i?r.y1*e:r.y1/e,r.x2=i?r.x2*e:r.x2/e,r.y2=i?r.y2*e:r.y2/e):(r.fx=i?r.fx*e:r.fx/e,r.fy=i?r.fy*e:r.fy/e,r.cx=i?r.cx*e:r.cx/e,r.cy=i?r.cy*e:r.cy/e,r.r=i?r.r*e:r.r/e)}},i.prototype.updateObjectValue=function(t,e,i,r){for(var n,o=0;o<this.diagram.nodes.length;o++)n=this.diagram.nodes[parseInt(o.toString(),10)].wrapper,this.scaleGradientValue(this.diagram.nodes[parseInt(o.toString(),10)],t,r),this.updateWrapper(n.children,t,e,i,r),n.exportScaleValue.x=t,n.exportScaleValue.y=t,n.exportScaleOffset.x=e,n.exportScaleOffset.y=i,n.isExport=r;for(var a=0;a<this.diagram.connectors.length;a++){n=this.diagram.connectors[parseInt(a.toString(),10)].wrapper;for(var s=0;s<n.children.length;s++)n.children[parseInt(s.toString(),10)].isExport=r,r&&(n.children[parseInt(s.toString(),10)].exportScaleValue.x=t,n.children[parseInt(s.toString(),10)].exportScaleValue.y=t,n.children[parseInt(s.toString(),10)].exportScaleOffset.x=e,n.children[parseInt(s.toString(),10)].exportScaleOffset.y=i)}},i.prototype.isImageExportable=function(t){var e,i=!0;if(t.source)try{var r=(e=Zl.createCanvas(this.diagram.element.id+"temp_canvas",100,100)).getContext("2d");r.save();var n=new Image;n.src=t.source,r.drawImage(n,0,0,100,100),r.restore(),e.toDataURL()}catch(t){i=!1}return i},i.prototype.getPrintCanvasStyle=function(t,e){var i=0,r=0,n=new ps;if(i=t.width,r=t.height,(e.pageHeight||e.pageWidth)&&(r=e.pageHeight?e.pageHeight:r,i=e.pageWidth?e.pageWidth:i),e.pageOrientation&&("Landscape"===e.pageOrientation&&r>i||"Portrait"===e.pageOrientation&&i>r)){var o=i;i=r,r=o}return n.height=r,n.width=i,n},i.prototype.getMultipleImage=function(t,e,i){var r=[],n=Va("div",{}),o=this.getPrintCanvasStyle(t,e),a=e.margin,s=a.left,h=a.top,d=a.right,l=a.bottom,c=0,p=o.width+c,g=o.height+0,u=0,f=0;if(e&&e.multiplePage){n.style.height="auto",n.style.width="auto";var m=t.height,y=t.width,v=0,b=0,S=void 0,w=0,x=0,I=void 0,C=void 0;do{do{w=o.width,x=o.height,u+o.width>=y&&(w=y-u),f+o.height>=m&&(x=m-f),(I=(C=Zl.createCanvas(this.diagram.element.id+"_multiplePrint",o.width,o.height)).getContext("2d")).drawImage(t,c+u+s,0+f+h,w-d-s,x-l-h,0+s,0+h,w-d-s,x-l-h),u+o.width>=y&&(u-=u-y),S=C.toDataURL(),I.restore(),u+=p,i?r.push(S):this.printImage(n,S,v+""+b,p+"px;",g+"px;"),v++}while(u<y);b++,v=c=u=0,f+o.height>=m&&(f-=f-m),f+=g}while(f<m)}else{var P=this.getPrintCanvasStyle(t,e),D=P.width,T=P.height;(I=(C=Zl.createCanvas(this.diagram.element.id+"_diagram",D,T)).getContext("2d")).drawImage(t,0+s,0+h,t.width-(d+s),t.height-(h+l),0+s,0+h,D-(d+s),T-(h+l));S=C.toDataURL();I.restore(),i?r.push(S):this.printImage(n,S,0)}return i?r:n},i.prototype.printImage=function(t,e,i,r,n){var o={class:"e-diagram-print-page",style:"width:"+r+"height:"+n},a=Va("img",o),s=Va("div",o);ts(a,o={id:this.diagram.element.id+"_multiplePrint_img"+i,style:"float:left",src:e}),s.appendChild(a),t.appendChild(s)},i.prototype.print=function(t){t.mode="Data";var e=this.exportDiagram(t);this.printImages(e,t)},i.prototype.printImages=function(t,e){var i=this,r={id:this.diagram.element.id+"_printImage",src:t};e.margin={top:0,bottom:0,right:0,left:0};var n=Va("img",r);n.onload=function(){var t=i.getMultipleImage(n,e),r=window.open("");i.printWindow=r,null!=r&&t instanceof HTMLElement&&(r.document.write("<html><head><style> body{margin:0px;}  @media print { .e-diagram-print-page{page-break-after: left; }.e-diagram-print-page:last-child {page-break-after: avoid;}}</style><title></title></head>"),window.addEventListener("beforeunload",i.closePrintWindow),r.addEventListener("load",function(){setTimeout(function(){r.window.print(),r.close()},3e3)}),r.document.write("<center>"+t.innerHTML+"</center>"),r.document.close())}},i.prototype.getContent=function(e){var i=this.diagram.snapSettings.constraints;this.diagram.snapSettings.constraints=this.diagram.snapSettings.constraints&~t.SnapConstraints.ShowLines,this.diagram.dataBind(),this.diagram.clearSelection(),e=e||document.styleSheets;for(var r="",n=0;n<e.length;n++)(e[parseInt(n.toString(),10)].href||"string"==typeof e[parseInt(n.toString(),10)])&&(r+="<link href='"+(e[parseInt(n.toString(),10)].href||e[parseInt(n.toString(),10)])+"' rel='stylesheet' />");var o=document.getElementById(this.diagram.element.id+"content").innerHTML;return o=r+"<body style=\"margin: 0px; padding: 0px\"><div style='margin-left:0px;margin-top:0px;margin-right:0px;margin-bottom:0px;'>"+o+"</div></body>",o=o.replace(/ transform: t/g," -webkit-transform: t"),this.diagram.snapSettings.constraints=i,this.diagram.dataBind(),o},i.prototype.getDiagramContent=function(t){if(1===this.diagram.scroller.currentZoom){p=this.getContent(t);return To()?p.replace("url("+location.protocol+"//"+location.host+location.pathname+"#diagram_pattern ","url(#diagram_pattern)"):p}var e=document.getElementById(this.diagram.element.id+"content"),i=e.scrollLeft,r=e.scrollTop,n=this.diagram.scrollSettings.currentZoom,o=this.diagram.scroller.horizontalOffset,a=this.diagram.scroller.verticalOffset,s=Number(String(this.diagram.width).split("%")[0])?e.clientWidth:Number(String(this.diagram.width).split("px")[0]),h=Number(String(this.diagram.height).split("%")[0])?e.clientHeight:Number(String(this.diagram.height).split("px")[0]),d=this.getDiagramBounds("",{});this.diagram.scroller.zoom(1/n);var l=0,c=0;l=d.x,c=d.y,this.diagram.scroller.transform={tx:-l,ty:-c,scale:this.diagram.scroller.currentZoom},this.diagram.scroller.horizontalOffset=-l,this.diagram.scroller.verticalOffset=-c,this.diagram.scroller.setSize(),this.diagram.setSize(d.width,d.height);var p=this.getContent(t);return this.diagram.setSize(s,h),this.diagram.scroller.zoom(n/this.diagram.scrollSettings.currentZoom),this.diagram.dataBind(),i||r?this.diagram.setOffset(i,r):(this.diagram.scroller.transform={tx:o/this.diagram.scroller.currentZoom,ty:a/this.diagram.scroller.currentZoom,scale:this.diagram.scroller.currentZoom},this.diagram.scroller.horizontalOffset=o,this.diagram.scroller.verticalOffset=a),this.diagram.renderSelector(!1),To()?p.replace("url("+location.protocol+"//"+location.host+location.pathname+"#diagram_pattern ","url(#diagram_pattern)"):p},i.prototype.exportImages=function(t,e){var i=this,r=e&&e.region?e.region:"Content",n=e.margin||{};n={top:isNaN(n.top)?0:n.top,bottom:isNaN(n.bottom)?0:n.bottom,left:isNaN(n.left)?0:n.left,right:isNaN(n.right)?0:n.right};var o=this.getDiagramBounds(r,{});e.bounds&&(o.x=isNaN(e.bounds.x)?o.x:e.bounds.x,o.y=isNaN(e.bounds.y)?o.y:e.bounds.y,o.width=e.bounds.width||o.width,o.height=e.bounds.height||o.height);var a=document.createElement("img");ts(a,{src:t});var s=this;a.onload=function(){var r=Zl.createCanvas(s.diagram.element.id+"innerImage",o.width+(n.left+n.right),o.height+(n.top+n.bottom)),h=r.getContext("2d");if(h.fillStyle=s.diagram.pageSettings.background.color,h.fillRect(0,0,o.width+(n.left+n.right),o.height+(n.top+n.bottom)),h.drawImage(a,0,0,o.width,o.height,n.left,n.top,o.width,o.height),t=t&&"JPG"===e.format?r.toDataURL("image/jpeg"):r.toDataURL(),e.printOptions)return void s.printImages(t,e);h.restore();var d=e.fileName||"diagram";i.canvasMultiplePage(e,r,n,t,d)},"SVG"===e.format&&this.exportDiagram(e)},i.prototype.destroy=function(){window.removeEventListener("beforeunload",this.closePrintWindow),this.printWindow=void 0},i.prototype.getModuleName=function(){return"PrintandExport"},i}(),Op=function(){function t(){this.dataTable={}}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"DataBinding"},t.prototype.initData=function(t,i){var r,n=t.dataManager||t.dataSource||{};(r=n.data||n.json||(n.dataSource?n.dataSource.json:void 0))&&0===r.length&&n.dataSource.data&&(r=n.dataSource.data),r&&r.length&&(this.applyDataSource(t,r,i),i.trigger("dataLoaded",{diagram:e.isBlazor()?null:Do(i)}))},t.prototype.initSource=function(t,i){var n,o=this,a=t,s=t;if(a.dataManager instanceof r.DataManager||a.dataSource instanceof r.DataManager){var h=(s.dataManager||s.dataSource).defaultQuery||new r.Query;(t.dataManager||t.dataSource).executeQuery(h).then(function(r){n=r.result,i.isDestroyed||(i.protectPropertyChange(!0),o.applyDataSource(t,n,i),i.refreshDiagram(),i.protectPropertyChange(!1),i.trigger("dataLoaded",{diagram:e.isBlazor()?null:Do(i)}))})}},t.prototype.applyDataSource=function(t,e,i){this.dataTable={};var r,n,o,a,s,h=[],d=[];if(void 0!==e){for(var l=0;l<e.length;l++)void 0===(r=e[parseInt(l.toString(),10)])[t.parentId]||null===r[t.parentId]||"object"!=typeof r[t.parentId]||0===r[t.parentId].length?isNaN(r[t.parentId])&&void 0!==r[t.parentId]?void 0!==h[r[t.parentId]?r[t.parentId].toLowerCase():r[t.parentId]]?h[r[t.parentId].toLowerCase()].items.push(r):h[r[t.parentId]?r[t.parentId].toLowerCase():r[t.parentId]]={items:[r]}:void 0!==h[r[t.parentId]]?h[r[t.parentId]].items.push(r):h[r[t.parentId]]={items:[r]}:h=this.updateMultipleRootNodes(r,h,t,e),t.root&&isNaN(t.root)&&r[t.id]&&isNaN(r[t.id])?t.root.toLowerCase()===r[t.id].toLowerCase()&&(n={items:[r]}):t.root===r[t.id]&&(n={items:[r]});if(n)d.push(n);else for(var c=0,p=Object.keys(h);c<p.length;c++){var g=p[c];g&&"undefined"!==g&&"''"!==g&&"null"!==g||d.push(h[""+g])}for(var u=0;u<d.length;u++)for(var f=0;f<d[parseInt(u.toString(),10)].items.length;f++)a=d[parseInt(u.toString(),10)].items[parseInt(f.toString(),10)],o=this.applyNodeTemplate(t,a,i),i.nodes.push(o),isNaN(a[t.id])&&void 0!==a[t.id]?this.dataTable[a[t.id].toLowerCase()]=o:this.dataTable[a[t.id]]=o,void 0!==(s=isNaN(o.data[t.id])&&void 0!==o.data[t.id]?h[o.data[t.id].toLowerCase()]:h[o.data[t.id]])&&this.renderChildNodes(t,s,o.id,h,i)}this.dataTable=null},t.prototype.updateMultipleRootNodes=function(t,e,i,r){for(var n,o=t[i.parentId],a=0;a<o.length;a++)o[parseInt(a.toString(),10)]?e[""+(n=isNaN(o[parseInt(a.toString(),10)])?o[parseInt(a.toString(),10)].toLowerCase():o[parseInt(a.toString(),10)])]?e[""+n].items.push(t):e[""+n]={items:[t]}:e[""+(n=o[parseInt(a.toString(),10)])]?e[""+n].items.push(t):e[""+n]={items:[t]};return e},t.prototype.applyNodeTemplate=function(t,e,i){var r={id:O()+e[t.id],data:e};if("Flowchart"===i.layout.type){var n=this.getFlowChartNodeShape(e),o={fill:e.color?e.color:"white",strokeColor:e.stroke?e.stroke:"black",strokeWidth:e.strokeWidth?e.strokeWidth:1};r.shape=n,r.style=o,r.annotations=[{content:e.name?e.name:""}]}var a=Z(t.doBinding);a&&a(r,e,i);var s=new Hl(i,"nodes",r,!0);if(pn(s,r,i.nodeDefaults),t.dataMapSettings)for(var h=void 0,d=[],l=[],c=0;c<t.dataMapSettings.length;c++){if(-1!==t.dataMapSettings[parseInt(c.toString(),10)].property.indexOf(".")){l=this.splitString(t.dataMapSettings[parseInt(c.toString(),10)].property);for(var p=0;p<l.length;p++)-1!==l[parseInt(p.toString(),10)].indexOf("[")&&(h=l[parseInt(p.toString(),10)].indexOf("["),d=l[parseInt(p.toString(),10)].split("["));if(h)if(l[2])s[d[0]][l[0].charAt(h+1)][l[1]][l[2]]=e[t.dataMapSettings[parseInt(c.toString(),10)].field];else{var g=e[t.dataMapSettings[parseInt(c.toString(),10)].field];s[d[0]][l[0].charAt(h+1)][l[1]]=g}else l[2]?s[l[0]][l[1]][l[2]]=e[t.dataMapSettings[parseInt(c.toString(),10)].field]:s[l[0]][l[1]]=e[t.dataMapSettings[parseInt(c.toString(),10)].field]}else{var u=t.dataMapSettings[parseInt(c.toString(),10)].property;s[""+(u=u.charAt(0).toLowerCase()+u.slice(1))]=e[t.dataMapSettings[parseInt(c.toString(),10)].field]}h=0,d=[],l=[]}return this.collectionContains(s,i,t.id,t.parentId)?e[t.id]&&isNaN(e[t.id])?this.dataTable[e[t.id].toLowerCase()]:this.dataTable[e[t.id]]:s},t.prototype.getFlowChartNodeShape=function(t){if(""!==t.shape)switch(t.shape){case"Rectangle":return{type:"Basic",shape:"Rectangle"};case"Decision":return{type:"Flow",shape:"Decision"};case"Hexagon":return{type:"Path",data:"M 0 0 L 2 -2 L 11 -2 L 13 0 L 11 2 L 2 2 L 0 0"};case"Ellipse":return{type:"Basic",shape:"Ellipse"};case"Terminator":return{type:"Flow",shape:"Terminator"};case"PredefinedProcess":return{type:"Flow",shape:"PreDefinedProcess"};case"Parallelogram":return{type:"Basic",shape:"Parallelogram"};case"ParallelogramAlt":return{type:"Path",data:"M 0 0 L 12 0 L 14 2 L 2 2 L 0 0"};case"Trapezoid":return{type:"Path",data:"M 0 0 L 1 -1 L 5 -1 L 6 0 L 0 0"};case"TrapezoidAlt":return{type:"Path",data:"M 0 0 L 5 0 L 4 1 L 1 1 L 0 0"};case"DataSource":return{type:"Path",data:"M 0 1 L 0 6 C 2 7 4 7 6 6 L 6 1 C 5 0 1 0 0 1 C 1 2 5 2 6 1"};case"Asymmetric":return{type:"Path",data:"M 0 0 L 8 0 L 8 2 L 0 2 L 2 1 L 0 0"};case"DoubleCircle":return{type:"Path",data:"M 0 0 A 1 1 0 0 0 7 0 A 1 1 0 0 0 0 0 M -1 0 A 1 1 0 0 0 8 0 A 1 1 0 0 0 -1 0"};case"Document":return{type:"Flow",shape:"Document"};case"PaperTap":return{type:"Flow",shape:"PaperTap"};case"DirectData":return{type:"Flow",shape:"DirectData"};case"SequentialData":return{type:"Flow",shape:"SequentialData"};case"Sort":return{type:"Flow",shape:"Sort"};case"MultiDocument":return{type:"Flow",shape:"MultiDocument"};case"Collate":return{type:"Flow",shape:"Collate"};case"SummingJunction":return{type:"Flow",shape:"SummingJunction"};case"Or":return{type:"Flow",shape:"Or"};case"InternalStorage":return{type:"Flow",shape:"InternalStorage"};case"Extract":return{type:"Flow",shape:"Extract"};case"ManualOperation":return{type:"Flow",shape:"ManualOperation"};case"Merge":return{type:"Flow",shape:"Merge"};case"OffPageReference":return{type:"Flow",shape:"OffPageReference"};case"SequentialAccessStorage":return{type:"Flow",shape:"SequentialAccessStorage"};case"Data":return{type:"Flow",shape:"Data"};case"Card":return{type:"Flow",shape:"Card"};case"Delay":return{type:"Flow",shape:"Delay"};case"Preparation":return{type:"Flow",shape:"Preparation"};case"Display":return{type:"Flow",shape:"Display"};case"ManualInput":return{type:"Flow",shape:"ManualInput"};case"LoopLimit":return{type:"Flow",shape:"LoopLimit"};case"StoredData":return{type:"Flow",shape:"StoredData"};case"Annotation":return{type:"Flow",shape:"Annotation"};case"Annotation2":return{type:"Flow",shape:"Annotation2"};default:return{type:"Flow",shape:"Process"}}return{type:"Flow",shape:"Process"}},t.prototype.splitString=function(t){var e=[];e=t.split(".");for(var i=0;i<e.length;i++)e[parseInt(i.toString(),10)]=e[parseInt(i.toString(),10)].charAt(0).toLowerCase()+e[parseInt(i.toString(),10)].slice(1);return e},t.prototype.renderChildNodes=function(t,e,i,r,n,o){var a,s,h;o||(o=new Set(n.connectors.filter(function(t){return t.sourceID&&t.targetID}).map(function(t){return t.sourceID+"->"+t.targetID})));for(var d=0;d<e.items.length;d++)if((a=e.items[parseInt(d.toString(),10)])[t.id]){h=this.applyNodeTemplate(t,a,n);var l=!1;if(this.collectionContains(h,n,t.id,t.parentId)?l=!0:(a[t.id]&&isNaN(a[t.id])?this.dataTable[a[t.id].toLowerCase()]=h:this.dataTable[a[t.id]]=h,n.nodes.push(h)),!this.containsConnector(n,i,h.id,o)){var c=this.applyConnectorTemplate(i,h.id,n);n.connectors.push(c),o.add(c.sourceID+"->"+c.targetID)}l||void 0!==(s=h.data[t.id]&&isNaN(h.data[t.id])?r[h.data[t.id].toLowerCase()]:r[h.data[t.id]])&&this.renderChildNodes(t,s,h.id,r,n,o)}},t.prototype.containsConnector=function(t,e,i,r){return e&&i&&r.has(e+"->"+i)},t.prototype.collectionContains=function(t,e,i,r){var n;return void 0!==(n=isNaN(t.data[""+i])&&t.data[""+i]?this.dataTable[t.data[""+i].toLowerCase()]:this.dataTable[t.data[""+i]])&&n.data[""+i]===t.data[""+i]&&n.data[""+r]===t.data[""+r]},t.prototype.applyConnectorTemplate=function(t,e,i){var r,n={id:O(),sourceID:t,targetID:e};if("Flowchart"===i.layout.type){var o=i.nodes.find(function(t){return t.id===e});if("string"==typeof o.data.label)n.annotations=[{content:o.data.label}];else if(Array.isArray(o.data.label)){var a=i.connectors.filter(function(t){return t.targetID===e}),s=0;a.length>0&&(s=a.length),n.annotations=[{content:o.data.label[parseInt(s.toString(),10)]}]}r=this.getConnectorArrowType(o.data)}var h=new xd(i,"connectors",n,!0);return r&&(h.style.strokeWidth=r.strokeWidth,h.targetDecorator.shape=r.targetDecorator),pn(h,n,i.connectorDefaults),h},t.prototype.getConnectorArrowType=function(t){if(""===t.arrowType)return{targetDecorator:"Arrow",strokeWidth:1};switch(t.arrowType){case"None":return{targetDecorator:"None",strokeWidth:1};case"Arrow":return{targetDecorator:"Arrow",strokeWidth:1};case"Diamond":return{targetDecorator:"Diamond",strokeWidth:1};case"Circle":return{targetDecorator:"Circle",strokeWidth:1};case"OpenArrow":return{targetDecorator:"OpenArrow",strokeWidth:1};case"Square":return{targetDecorator:"Square",strokeWidth:1};case"Fletch":return{targetDecorator:"Fletch",strokeWidth:1};case"OpenFetch":return{targetDecorator:"OpenFetch",strokeWidth:1};case"IndentedArrow":return{targetDecorator:"IndentedArrow",strokeWidth:1};case"OutdentedArrow":return{targetDecorator:"OutdentedArrow",strokeWidth:1};case"DoubleArrow":return{targetDecorator:"DoubleArrow",strokeWidth:1};default:return{targetDecorator:"Arrow",strokeWidth:1}}},t}(),Mp=function(t,e,i,r){return new(i||(i=Promise))(function(n,o){function a(t){try{h(r.next(t))}catch(t){o(t)}}function s(t){try{h(r.throw(t))}catch(t){o(t)}}function h(t){t.done?n(t.value):new i(function(e){e(t.value)}).then(a,s)}h((r=r.apply(t,e||[])).next())})},Ep=function(t,e){function i(t){return function(e){return r([t,e])}}function r(i){if(n)throw new TypeError("Generator is already executing.");for(;h;)try{if(n=1,o&&(a=2&i[0]?o.return:i[0]?o.throw||((a=o.return)&&a.call(o),0):o.next)&&!(a=a.call(o,i[1])).done)return a;switch(o=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return h.label++,{value:i[1],done:!1};case 5:h.label++,o=i[1],i=[0];continue;case 7:i=h.ops.pop(),h.trys.pop();continue;default:if(a=h.trys,!(a=a.length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){h=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){h.label=i[1];break}if(6===i[0]&&h.label<a[1]){h.label=a[1],a=i;break}if(a&&h.label<a[2]){h.label=a[2],h.ops.push(i);break}a[2]&&h.ops.pop(),h.trys.pop();continue}i=e.call(t,h)}catch(t){i=[6,t],o=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}var n,o,a,s,h={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s},Lp={content:".e-diagramcontent",copy:"e-copy",paste:"e-paste",undo:"e-undo",redo:"e-redo",cut:"e-cut",selectAll:"e-selectall",grouping:"e-grouping",group:"e-group",unGroup:"e-ungroup",bringToFront:"e-bringfront",sendToBack:"e-sendback",moveForward:"e-bringforward",sendBackward:"e-sendbackward",order:"e-order"},zp=function(){function t(t,e){this.defaultItems={},this.disableItems=[],this.hiddenItems=[],this.localeText=this.setLocaleKey(),this.parent=t,this.serviceLocator=e,this.addEventListener()}return t.prototype.addEventListener=function(){this.parent.isDestroyed||this.parent.on("initial-load",this.render,this)},t.prototype.removeEventListener=function(){this.parent.isDestroyed||this.parent.off("initial-load",this.render)},t.prototype.render=function(){this.l10n=this.serviceLocator.getService("localization"),this.element=Va("ul",{id:this.parent.element.id+"_contextMenu"}),this.parent.element.appendChild(this.element);var t="#"+this.parent.element.id;this.contextMenu=new n.ContextMenu({items:this.getMenuItems(),enableRtl:this.parent.enableRtl,enablePersistence:this.parent.enablePersistence,locale:this.parent.locale,target:t,select:this.contextMenuItemClick.bind(this),beforeOpen:this.contextMenuBeforeOpen.bind(this),onOpen:this.contextMenuOpen.bind(this),beforeItemRender:this.BeforeItemRender.bind(this),onClose:this.contextMenuOnClose.bind(this),cssClass:"e-diagram-menu",animationSettings:{effect:"None"}}),this.contextMenu.appendTo(this.element)},t.prototype.getMenuItems=function(){var t=[],e=[],i=[];if(!this.parent.contextMenuSettings.showCustomMenuOnly){for(var r=0,n=this.getDefaultItems();r<n.length;r++){var o=n[r];-1!==o.toLocaleLowerCase().indexOf("group")?"grouping"!==o.toLocaleLowerCase()&&i.push(this.buildDefaultItems(o)):-1!==o.toLocaleLowerCase().indexOf("order")?"order"!==o.toLocaleLowerCase()&&e.push(this.buildDefaultItems(o)):t.push(this.buildDefaultItems(o))}var a=this.buildDefaultItems("grouping");a.items=i,t.push(a);var s=this.buildDefaultItems("order");s.items=e,t.push(s)}if(this.parent.contextMenuSettings.items)for(var h=0,d=this.parent.contextMenuSettings.items;h<d.length;h++){var l=d[h];t.push(l)}return t},t.prototype.contextMenuOpen=function(){this.isOpen=!0},t.prototype.BeforeItemRender=function(t){this.parent.trigger("contextMenuBeforeItemRender",t)},t.prototype.contextMenuItemClick=function(t){document.getElementById(this.parent.element.id+"content").focus(),this.parent.trigger("contextMenuClick",t);var e=this.getKeyFromId(t.item.id);if(!t.cancel)switch(e){case"cut":this.parent.cut();break;case"copy":this.parent.copy();break;case"undo":this.parent.undo();break;case"redo":this.parent.redo();break;case"paste":this.parent.paste();break;case"selectAll":this.parent.selectAll();break;case"group":this.parent.group();break;case"unGroup":this.parent.unGroup();break;case"bringToFrontOrder":this.parent.bringToFront();break;case"moveForwardOrder":this.parent.moveForward();break;case"sendToBackOrder":this.parent.sendToBack();break;case"sendBackwardOrder":this.parent.sendBackward()}},t.prototype.contextMenuOnClose=function(t){t.items.length>0&&t.items[0].parentObj instanceof n.ContextMenu&&this.updateItemStatus()},t.prototype.getLocaleText=function(t){return this.l10n.getConstant(this.localeText[""+t])},t.prototype.updateItemStatus=function(){this.contextMenu.showItems(this.hiddenItems,!0),this.contextMenu.enableItems(this.disableItems,!1,!0),this.hiddenItems=[],this.disableItems=[],this.isOpen=!1},t.prototype.ensureItems=function(t,e){var i=this.getKeyFromId(t.id);this.defaultItems[""+i];-1!==this.getDefaultItems().indexOf(i)&&t.target&&(e||this.parent.checkMenu)&&!this.ensureTarget(t)&&this.hiddenItems.push(t.id)},t.prototype.refreshItems=function(){this.updateItems(),this.contextMenu.refresh()},t.prototype.updateItems=function(){for(var t=!0,e=0;e<this.parent.contextMenuSettings.items.length;e++){for(var i=this.parent.contextMenuSettings.items[parseInt(e.toString(),10)],r=0;r<this.contextMenu.items.length;r++)this.contextMenu.items[parseInt(r.toString(),10)].text===this.parent.contextMenuSettings.items[parseInt(e.toString(),10)].text&&(t=!1);t&&this.contextMenu.insertAfter([i],this.contextMenu.items[this.contextMenu.items.length-1].text)}},t.prototype.contextMenuBeforeOpen=function(t){return Mp(this,void 0,void 0,function(){var e,i,r,n,o,a,s,h,d,l;return Ep(this,function(c){for(this.parent.checkMenu||-1===window.navigator.userAgent.indexOf("Linux")&&-1===window.navigator.userAgent.indexOf("X11")||(this.parent.checkMenu=t.cancel=!0),this.parent.checkMenu&&(this.hiddenItems=[]),(e=t).hiddenItems=[],i=0,r=t.items;i<r.length;i++)if(l=r[i],this.ensureItems(l,t.event),l.items.length)for(n=0,o=l.items;n<o.length;n++)a=o[n],this.ensureItems(a,t.event);for(this.eventArgs=t.event,this.parent.trigger("contextMenuOpen",e),s=!0,this.hiddenItems=this.hiddenItems.concat(e.hiddenItems),this.contextMenu.enableItems(this.disableItems,!1,!0),h=this,d=0;d<t.items.length;d++)l=t.items[parseInt(d.toString(),10)],h.hiddenItems.indexOf(l.id)>-1&&h.contextMenu.hideItems([l.id],!0);for(d=0;d<h.contextMenu.items.length;d++)l=h.contextMenu.items[parseInt(d.toString(),10)],-1===h.hiddenItems.indexOf(l.id)&&(s=!1,h.contextMenu.showItems([l.id],!0));return s&&(e.cancel=s,this.hiddenItems=[]),this.parent.selectedItems.nodes.length&&this.parent.selectedItems.nodes[0].isPhase&&!this.parent.contextMenuSettings.showCustomMenuOnly&&(t.cancel=!0),[2]})})},t.prototype.ensureTarget=function(t){var e=this.parent.selectedItems.nodes.length+this.parent.selectedItems.connectors.length,i=!1;switch(this.getKeyFromId(t.id)){case"undo":i=!(!this.parent.historyManager||!this.parent.historyManager.canUndo);break;case"redo":i=!(!this.parent.historyManager||!this.parent.historyManager.canRedo);break;case"paste":i=!!this.parent.commandHandler.clipboardData.clipObject;break;case"selectAll":i=!!(this.parent.nodes.length+this.parent.connectors.length);break;case"grouping":i=!!(e>1||this.parent.selectedItems.nodes[0]&&this.parent.selectedItems.nodes[0].children&&this.parent.selectedItems.nodes[0].children.length>1);break;case"group":i=e>1;break;case"unGroup":i=!!(1===this.parent.selectedItems.nodes.length&&0===this.parent.selectedItems.connectors.length&&this.parent.selectedItems.nodes[0]&&this.parent.selectedItems.nodes[0].children&&this.parent.selectedItems.nodes[0].children.length>1);break;case"cut":case"copy":case"order":case"bringToFrontOrder":case"moveForwardOrder":case"sendToBackOrder":case"sendBackwardOrder":i=!!e}return i},t.prototype.destroy=function(){this.contextMenu.destroy(),e.remove(this.element),this.removeEventListener()},t.prototype.getModuleName=function(){return"contextMenu"},t.prototype.generateID=function(t){return this.parent.element.id+"_contextMenu_"+t},t.prototype.getKeyFromId=function(t){return t.replace(this.parent.element.id+"_contextMenu_","")},t.prototype.buildDefaultItems=function(t){var e;switch(t){case"copy":e={target:Lp.content,iconCss:Lp.copy};break;case"cut":e={target:Lp.content,iconCss:Lp.cut};break;case"paste":e={target:Lp.content,iconCss:Lp.paste};break;case"undo":e={target:Lp.content,iconCss:Lp.undo};break;case"redo":e={target:Lp.content,iconCss:Lp.redo};break;case"grouping":e={target:Lp.content};break;case"group":e={target:Lp.content,iconCss:Lp.group};break;case"unGroup":e={target:Lp.content,iconCss:Lp.unGroup};break;case"order":e={target:Lp.content,iconCss:Lp.order};break;case"bringToFrontOrder":e={target:Lp.content,iconCss:Lp.bringToFront};break;case"moveForwardOrder":e={target:Lp.content,iconCss:Lp.moveForward};break;case"sendToBackOrder":e={target:Lp.content,iconCss:Lp.sendToBack};break;case"sendBackwardOrder":e={target:Lp.content,iconCss:Lp.sendBackward};break;case"selectAll":e={target:Lp.content}}return this.defaultItems[""+t]={text:this.getLocaleText(t),id:this.generateID(t),target:e.target,iconCss:e.iconCss?"e-icons "+e.iconCss:""},this.defaultItems[""+t]},t.prototype.getDefaultItems=function(){return["copy","cut","paste","undo","redo","selectAll","grouping","group","unGroup","order","bringToFrontOrder","moveForwardOrder","sendToBackOrder","sendBackwardOrder"]},t.prototype.setLocaleKey=function(){return{copy:"Copy",cut:"Cut",paste:"Paste",undo:"Undo",redo:"Redo",selectAll:"SelectAll",grouping:"Grouping",group:"Group",unGroup:"UnGroup",order:"Order",bringToFrontOrder:"BringToFront",moveForwardOrder:"MoveForward",sendToBackOrder:"SendToBack",sendBackwardOrder:"SendBackward"}},t}(),kp=function(){function i(){this.bpmnTextAnnotationConnector=[]}return i.prototype.getSize=function(t,e){var i=new ps(t.width,t.height);return e instanceof Ws||(i.width=i.width||50,i.height=i.height||50),e.actualSize.width&&e.actualSize.height?e.actualSize:(e.measure(new ps),i.width=i.width||e.desiredSize.width,i.height=i.height||e.desiredSize.height,void 0!==t.maxWidth&&(i.width=Math.min(i.width,t.maxWidth)),void 0!==t.maxHeight&&(i.height=Math.min(i.height,t.maxHeight)),void 0!==t.minWidth&&(i.width=Math.max(i.width,t.minWidth)),void 0!==t.minHeight&&(i.height=Math.max(i.height,t.minHeight)),i)},i.prototype.initBPMNContent=function(t,e,i){var r=e.shape,n=e.shape.shape;return"Event"===n&&(t=this.getBPMNEventShape(e,r.event)),"Gateway"===n&&(t=this.getBPMNGatewayShape(e)),"DataObject"===n&&(t=this.getBPMNDataObjectShape(e)),"Message"!==n&&"DataSource"!==n||(t=this.getBPMNShapes(e)),"Group"===n&&((t=this.getBPMNGroup(e,i)).style.strokeDashArray=""!==e.style.strokeDashArray?e.style.strokeDashArray:"2 2 6 2",t.cornerRadius=10),"Activity"===n&&(t=this.getBPMNActivityShape(e)),"TextAnnotation"===n&&(t=e.parentObj instanceof Tp||e.parentObj instanceof _l?this.getBpmnTextAnnotationShape(e,e.shape,i):this.getBpmnTextAnnotationSymbol(e,e.shape,i)),t},i.prototype.getBpmnTextAnnotationShape=function(t,e,i){var r=new Vs;r.measureChildren=!1,r.offsetX=t.offsetX,r.offsetY=t.offsetY,r.float=!0,r.id=t.id+"_textannotation",r.style.strokeColor="transparent",r.style.fill="transparent",r.relativeMode="Object",r.rotateAngle=0;var n=t.width,o=t.height,a=new ms(0,0,0,0);0!==n&&0!==o&&(a=new ms(t.offsetX-n/2,t.offsetY-o/2,n,o));var s=i.isProtectedOnChange;return i.isProtectedOnChange=!1,this.setAnnotationPath(a,r,t,e,e.textAnnotation.textAnnotationDirection,i),i.isProtectedOnChange=s,r},i.prototype.getBpmnTextAnnotationSymbol=function(t,e,i){var r="M33.33,15 L0,43 M39.33,0 L33.33,0 L33.33,30 L39.33,30 M60,0";"Top"===e.textAnnotation.textAnnotationDirection?r="M15,33.33 L43,0 M0,39.33 L0,33.33 L30,33.33 L30,39.33 M0,60":"Right"===e.textAnnotation.textAnnotationDirection?r="M6,15 L39.33,43 M0,0 L6,0 L6,30 L0,30 M-20,0":"Bottom"===e.textAnnotation.textAnnotationDirection&&(r="M15,6 L43,39.33 M0,0 L0,6 L30,6 L30,0 M0,-20");var n=new Ws;return n.data=r,n.style.fill="white"===t.style.fill?"transparent":t.style.fill,n.style.strokeDashArray=t.style.strokeDashArray?t.style.strokeDashArray:"",n.style.strokeWidth=t.style.strokeWidth,n.style.strokeColor="transparent"===t.style.strokeColor?"black":t.style.strokeColor,n.style.opacity=t.style.opacity,n},i.prototype.getBPMNShapes=function(e){var i=new Ws;this.setStyle(i,e),0!=(e.constraints&t.NodeConstraints.Shadow)&&e.visible&&(i.shadow=e.shadow);var r=os(e.shape.shape);return i.data=r,i.id=e.id+"_"+e.shape.shape,void 0!==e.width&&void 0!==e.height&&(i.width=e.width,i.height=e.height),i},i.prototype.getBPMNGroup=function(t,e){var i=new Vs;this.setStyle(i,t),i.id=t.id+"_group",i.children||(i.children=[]);var r=t.shape.group;if(t.shape.group)for(var n=0;n<r.children.length;n++){var o=e.nameTable[r.children[parseInt(n.toString(),10)]];i.children.push(o.wrapper)}return i.width=t.width,i.height=t.height,i},i.prototype.getBPMNGatewayShape=function(t){var e=new Vs,i=new Ws;i.id=t.id+"_0_gateway",i.offsetX=t.offsetX,i.offsetY=t.offsetY,i.data="M 40 20 L 20 40 L 0 20 L 20 0 L 40 20 Z",this.setStyle(i,t);var r=new Ws;r.id=t.id+"_1_gatewayType",r.style.opacity=t.style.opacity,r.style.strokeColor=t.style.strokeColor,r.horizontalAlignment="Center",r.verticalAlignment="Center",r.relativeMode="Object";var n=t.shape.gateway,o=ss(n.type);"EventBased"===n.type||"ExclusiveEventBased"===n.type||"ParallelEventBased"===n.type?r.style.fill="white":r.style.fill="black",r.data=o,e.style.fill="transparent",e.style.strokeColor="transparent",e.style.strokeWidth=0,e.children=[i,r];var a=this.getSize(t,i);return this.setSizeForBPMNGateway(t.shape.gateway,e,a.width,a.height),e},i.prototype.getBPMNDataObjectShape=function(t){var e=new Vs,i=t.shape.dataObject,r=new Ws;r.id=t.id+"_0_dataobj",r.data="M29.904,5 L7.853,5 L7.853,45 L42.147,45 L42.147,17.242,L29.932,5,L29.932,17.242,L42.147,17.242";var n=this.getSize(t,r);r.width=n.width,r.height=n.height,this.setStyle(r,t);var o=new Ws;o.id=t.id+"_1_type",o.width=25,o.height=20,o.margin.left=5,o.margin.top=5,o.data="M 3 9.4 l 6 0 v 2.4 l 3.6 -4 L 9 4 v 2.5 H 3 V 9.4 Z",o.style.opacity=t.style.opacity;var a=new Ws;switch(a.id=t.id+"_2_collection",a.width=7.5,a.height=15,a.style.fill="black",a.visible=!0,a.horizontalAlignment="Center",a.verticalAlignment="Bottom",a.relativeMode="Object",a.style.opacity=t.style.opacity,a.data="M 0 0 L 0.1 0 L 0.1 2 L 0 2 Z M 0.4 0 L 0.6 0 L 0.6 2 L0.4 2 Z M 0.9 0 L 1 0 L 1 2 L 0.9 2 Z",i.type){case"None":o.visible=!1;break;case"Input":o.style.fill="white";break;case"Output":o.style.fill="black"}return!1===i.collection&&(a.visible=!1),e.style.fill="transparent",e.style.strokeColor="transparent",e.style.strokeWidth=0,e.children=[r,o,a],e},i.prototype.getBPMNTaskShape=function(t){var e=t.shape.activity.task,i=new Vs,r=new ks;r.cornerRadius=10;var n=this.getSize(t,r);r.id=t.id+"_0_task",r.width=n.width,r.height=n.height,this.setStyle(r,t),void 0!==e.call&&!0===e.call&&(r.style.strokeWidth=4),i.width=n.width,i.height=n.height;var o,a=this.getTaskChildCount(t),s=12*a,h=n.width/2-s;o=1===a?h+8:h+8*(a-1);var d=new Ws;"Receive"===e.type||"Send"===e.type?(d.width=18,d.height=16):"Manual"===e.type?(d.width=16,d.height=11):(d.width=20,d.height=20),d.id=t.id+"_1_tasktType",d.margin.left=5,d.margin.top=5,e.type=e.type||"None";var l=hs(e.type);if(d.data=l,d.style.fill="transparent",d.style.opacity=t.style.opacity,"Send"===e.type&&(d.style.fill="black"),i.style.fill="transparent",i.style.strokeColor="transparent",i.style.strokeWidth=0,i.children=[r,d],"Service"===e.type){var c=new Ws;c.id=t.id+"_1_taskTypeService",c.data=l,c.margin.left=d.margin.left+9,c.margin.top=d.margin.top+9,c.style.fill="white",c.style.opacity=t.style.opacity,i.children.push(c)}var p=e.loop,g=new Ws,u=ds(p);g.data=u,g.style.fill="black",g.visible="None"!==p,1===a&&(o=h+9),g.margin.left=o-3,!0===g.visible&&(o+=20),g.width=12,g.height=12,g.margin.bottom=5,g.id=t.id+"_2_loop",g.horizontalAlignment="Left",g.verticalAlignment="Bottom",g.setOffsetWithRespectToBounds(0,1,"Fraction"),g.relativeMode="Point",g.style.fill="transparent",d.style.opacity=t.style.opacity,i.children.push(g);var f=new Ws;return f=this.getBPMNCompensationShape(t,f),!0===e.compensation?f.visible=!0:f.visible=!1,1===a&&(o=h+9),f.margin.left=o-3,o+=18,i.children.push(f),i},i.prototype.getBPMNEventShape=function(i,r,n,o){var a=new Vs;a.flip=i.flip||t.FlipDirection.None;var s,h,d,l;o=o||i.id;var c="M164.1884,84.6909000000001C156.2414,84.6909000000001,149.7764,78.2259000000001,149.7764,70.2769000000001C149.7764,62.3279000000001,156.2414,55.8629000000001,164.1884,55.8629000000001C172.1354,55.8629000000001,178.6024,62.3279000000001,178.6024,70.2769000000001C178.6024,78.2259000000001,172.1354,84.6909000000001,164.1884,84.6909000000001",p=i.shape.event;if(e.isBlazor()||"Event"!==i.shape.shape||(s=p.event,h=p.trigger),d=r.width,l=r.height,n)d=d||20,l=l||20;else if(void 0===r.width||void 0===r.height){var g=new Ws;g.data=c;var u=this.getSize(i,g);d=u.width,l=u.height}var f=i.shape.activity;if(!e.isBlazor()&&"Activity"===i.shape.shape){f.subProcess;s=r.event,h=r.trigger}var m=new Ws;m.data=c,m.id=o+"_0_event",m.width=d,m.height=l,m.horizontalAlignment="Center",m.verticalAlignment="Center",m.relativeMode="Object",this.setStyle(m,i);var y=new Ws;y.data=c,y.id=o+"_1_event",y.style.gradient=i.style.gradient,y.horizontalAlignment="Center",y.verticalAlignment="Center",y.relativeMode="Object",y.style.strokeColor=i.style.strokeColor,y.style.opacity=i.style.opacity;var v=new Ws,b=as(h);switch(v.data=b,v.id=o+"_2_trigger",v.horizontalAlignment="Center",v.verticalAlignment="Center",v.relativeMode="Object",v.style.strokeColor=i.style.strokeColor,v.style.opacity=i.style.opacity,s){case"Start":y.visible=!1;break;case"NonInterruptingStart":m.style.strokeDashArray="2 3",y.visible=!1;break;case"Intermediate":m.style.fill=i.style.fill,m.style.gradient=null;break;case"NonInterruptingIntermediate":m.style.fill=i.style.fill,m.style.gradient=null,m.style.strokeDashArray="2 3",y.style.strokeDashArray="2 3";break;case"ThrowingIntermediate":case"End":m.style.fill="End"!==s?i.style.fill:"white"!==i.style.fill?i.style.fill:"black",m.style.gradient=null,v.style.fill="black",v.style.strokeColor="white"}return a.style.fill="transparent",a.style.strokeColor="transparent",a.style.strokeWidth=0,a.children=[m,y,v],this.setSizeForBPMNEvents(p,a,d,l),a},i.prototype.setEventVisibility=function(t,e){var i=t.shape.event.event,r=e[0],n=e[1];e[2];switch(i){case"Start":n.visible=!1;break;case"NonInterruptingStart":r.style.strokeDashArray="2 3",n.visible=!1}},i.prototype.setSubProcessVisibility=function(t){var e=t.shape.activity.subProcess,i=e.events.length,r="Transaction"===t.shape.activity.subProcess.type?2:0,n=t.wrapper.children[0].children[0];if(!1===e.adhoc&&(n.children[3+r+i].visible=!1),!1===e.compensation&&(n.children[4+r+i].visible=!1),i>0)for(var o=0;o<i;o++)this.setEventVisibility(t,n.children[2+o].children)},i.prototype.getBPMNSubProcessShape=function(e){var i,r,n,o=new Vs,a=new Ws,s=(new Vs,new Ws),h=e.shape.activity,d=h.subProcess,l=this.getSubprocessChildCount(e),c=new ks;c.id=e.id+"_0_Subprocess",c.style.fill="transparent",c.cornerRadius=10;var p=this.getSize(e,c);c.width=p.width,c.height=p.height,o.children=[c],"Transaction"===h.subProcess.type&&this.getBPMNSubProcessTransaction(e,e.shape,o);var g=12*l,u=p.width/2;n=1===l?u-6:u-g/2-4*(l-1)/2,this.setStyle(c,e),0!=(e.constraints&t.NodeConstraints.Shadow)&&e.visible&&(o.shadow=e.shadow);var f=new Ws;if(f.id=e.id+"_0_collapsed",f.width=12,f.height=12,f.style.fill="black",f.style.strokeColor=e.style.strokeColor,f.margin.bottom=5,f.style.opacity=e.style.opacity,f.horizontalAlignment="Left",f.verticalAlignment="Bottom",f.setOffsetWithRespectToBounds(0,1,"Fraction"),f.relativeMode="Point",f.data=os("collapsedShape"),f.margin.left=n,!0!==d.collapsed||d.processes?f.visible=!1:f.visible=!0,!0===f.visible&&(n+=16),o.children.push(f),"Event"===d.type){c.style.strokeWidth=1,c.style.strokeDashArray="2 2",i=d.events;for(var m=0;m<i.length;m++)r=i[parseInt(m.toString(),10)],this.getBPMNSubEvent(r,e,o)}s=this.getBPMNSubProcessLoopShape(e),1===l&&(n=u-6),s.margin.left=n,!0===s.visible&&(n+=16),s.style.opacity=e.style.opacity,o.children.push(s),c.id=e.id+"_boundary","Default"===d.boundary&&(c.style.strokeWidth=e.style.strokeWidth?e.style.strokeWidth:1,c.style.strokeDashArray="1 0"),"Call"===d.boundary&&(c.style.strokeWidth=4,c.style.strokeDashArray="1 0"),"Event"===d.boundary&&(c.style.strokeWidth=e.style.strokeWidth?e.style.strokeWidth:1,c.style.strokeDashArray="2 2"),a=this.getBPMNAdhocShape(e,a,d),1===l&&(n=u-6),a.margin.left=n,!0===a.visible&&(n+=16),a.style.opacity=e.style.opacity,o.children.push(a);var y=new Ws;return!0===d.compensation?y.visible=!0:y.visible=!1,y=this.getBPMNCompensationShape(e,y),1===l&&(n=u-6),y.margin.left=n,!0===y.visible&&(n+=16),y.style.opacity=e.style.opacity,o.children.push(y),o.style.strokeColor="transparent",o.style.strokeWidth=0,o.style.fill="transparent",o},i.prototype.getBPMNSubEvent=function(t,e,i,r){i.children=i.children||[];var n=this.getBPMNEventShape(e,t,!0,r);this.getBPMNSubprocessEvent(e,n,t),n.id=r||e.id+"_subprocessEvents",n.width=t.width||20,n.height=t.height||20,n.setOffsetWithRespectToBounds(t.offset.x,t.offset.y,"Fraction"),n.relativeMode="Point",n.margin=t.margin,n.horizontalAlignment=t.horizontalAlignment,n.verticalAlignment=t.verticalAlignment,n.style.fill="transparent",n.style.strokeColor="transparent",n.style.strokeWidth=0,i.children.push(n)},i.prototype.getBPMNSubProcessTransaction=function(e,i,r){var n=r.children[0].width,o=r.children[0].height,a=new ks;a.margin={left:3,right:0,top:3,bottom:0},a.id=e.id+"_0_Subprocess_innnerRect",a.cornerRadius=10,a.width=n-6,a.style.fill="transparent",a.height=o-6,r.children.push(a);var s=new Vs;s.id=e.id+"_transaction_events",s.flip=e.flip||t.FlipDirection.None,s.style.gradient=e.style.gradient;var h=i.activity.subProcess.transaction;this.getBPMNSubEvent(h.success,e,s,e.id+"_success"),this.getBPMNSubEvent(h.cancel,e,s,e.id+"_cancel"),this.getBPMNSubEvent(h.failure,e,s,e.id+"_failure"),this.updateDiagramContainerVisibility(s.children[0],h.success.visible),this.updateDiagramContainerVisibility(s.children[1],h.cancel.visible),this.updateDiagramContainerVisibility(s.children[2],h.failure.visible),s.float=!0,s.width=n,s.height=o,s.style.fill=s.style.strokeColor="transparent",r.children.push(s)},i.prototype.getBPMNSubProcessLoopShape=function(t){var e,i,r=t.shape.activity,n=new Ws;return e=r.subProcess.loop,i=ds(e),n.visible="None"!==e,n.id=t.id+"_loop",n.data=i,n.style.fill="black",n.width=12,n.height=12,n.horizontalAlignment="Left",n.verticalAlignment="Bottom",n.setOffsetWithRespectToBounds(0,1,"Fraction"),n.relativeMode="Point",n.margin.bottom=5,n.style.fill="transparent",n.style.strokeColor=t.style.strokeColor,n},i.prototype.drag=function(t,e,i,r){var n=r.nameTable[t.processId],o=t.margin.left,a=t.margin.top,s={top:t.margin.top+i>=0?t.margin.top+i:t.margin.top,left:t.margin.left+e>=0?t.margin.left+e:t.margin.left};if(s.top===t.margin.top&&s.left===t.margin.left||r.nodePropertyChange(t,{},{margin:s}),!("Drag"===r.eventHandler.currentAction||r.eventHandler.isNudgeKey||t.hasTextAnnotation||a===t.margin.top&&o===t.margin.left)){var h={offsetX:t.offsetX+e>=0?t.offsetX+e:t.offsetX,offsetY:t.offsetY+i>=0?t.offsetY+i:t.offsetY};r.nodePropertyChange(t,{},{offsetX:h.offsetX,offsetY:h.offsetY})}var d=this.getChildrenBound(n,t.id,r);this.updateSubProcessess(d,t,r);var l=t.margin.left-o,c=t.margin.top-a;if(0!==t.outEdges.length)for(var p=0;p<t.outEdges.length;p++){var g=r.nameTable[t.outEdges[parseInt(p.toString(),10)]];if(g&&"Bpmn"===g.shape.type&&g.isBpmnAnnotationConnector){var u=r.nameTable[g.targetID],f={offsetX:u.offsetX,offsetY:u.offsetY};u.offsetX+=l,u.offsetY+=c;var m={offsetX:u.offsetX,offsetY:u.offsetY};r.nodePropertyChange(u,f,m)}}n.wrapper.measure(new ps(void 0,void 0)),n.wrapper.arrange(n.wrapper.desiredSize),r.refreshCanvasLayers(),r.updateSelector(),r.updateDiagramObject(n),r.updateConnectorEdges(t),this.updateDocks(t,r)},i.prototype.dropBPMNchild=function(t,i,r){if(i&&"Bpmn"===i.shape.type&&"Bpmn"===t.shape.type&&!e.isBlazor()){var n=r.nameTable[t.id].shape.activity.subProcess;if(r.currentSymbol&&"Bpmn"===t.shape.type&&!n.collapsed)return void(i.processId=t.id);if(n.processes=n.processes||[],n.processes&&-1===n.processes.indexOf(i.id)&&!n.collapsed){n.processes.push(i.id),n.processes.length>1&&this.sortProcessOrder(n.processes,r);var o=k(i),a=r.nameTable[i.id].wrapper,s=r.nameTable[t.id].wrapper;a.margin.top=a.offsetY-a.actualSize.height/2-(t.offsetY-t.actualSize.height/2),a.margin.left=a.offsetX-a.actualSize.width/2-(t.offsetX-t.actualSize.width/2),a.margin.top=a.margin.top<0?0:a.margin.top,a.margin.left=a.margin.left<0?0:a.margin.left,r.nameTable[i.id].processId=t.id,s.children.push(r.nameTable[i.id].wrapper);var h=this.getChildrenBound(t,i.id,r);this.updateSubProcessess(h,i,r),s.measure(new ps(void 0,void 0)),s.arrange(s.desiredSize),r.refreshCanvasLayers(),r.updateSelector();var d={type:"PositionChanged",undoObject:{nodes:[o]},redoObject:{nodes:[k(i)]},category:"Internal"};r.addHistoryEntry(d),"SVG"===r.mode&&(i.zIndex<t.zIndex&&(r.updateProcesses(i),this.updateSubprocessNodeIndex(i,r,t)),Aa(t.id+"_groupElement").appendChild(Aa(i.id+"_groupElement"))),this.updateDocks(i,r)}}},i.prototype.sortProcessOrder=function(t,e){t.sort(function(t,i){return e.nameTable[""+t].zIndex-e.nameTable[""+i].zIndex})},i.prototype.updateIndex=function(t,e){var i=e,r=t.getIndex(i,i.id);t.nodes.splice(Number(r),1),i.zIndex=++t.activeLayer.objectZIndex,t.nodes.push(i)},i.prototype.updateSubprocessNodeIndex=function(t,e,i){if(t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length>0)for(var r=0;r<t.shape.activity.subProcess.processes.length;r++){this.updateIndex(e,t);var n=t.shape.activity.subProcess.processes[parseInt(r.toString(),10)];if(e.nameTable[""+n].shape.activity.subProcess.processes.length>0)this.updateSubprocessNodeIndex(e.nameTable[""+n],e,i);else{var o=e.nameTable[t.shape.activity.subProcess.processes[parseInt(r.toString(),10)]];this.updateIndex(e,o)}}else this.updateIndex(e,t)},i.prototype.updateDocks=function(t,e){if("Bpmn"===t.shape.type&&t.shape.activity.subProcess.processes&&!t.shape.activity.subProcess.collapsed)for(var i=0,r=t.shape.activity.subProcess.processes;i<r.length;i++){var n=r[i],o=e.nameTable[""+n];o&&(e.updateConnectorEdges(o),o.wrapper.measure(new ps(o.wrapper.width,o.wrapper.height)),o.wrapper.arrange(o.wrapper.desiredSize),o.shape.activity.subProcess.processes&&o.shape.activity.subProcess.processes.length&&this.updateDocks(o,e))}},i.prototype.removeBpmnProcesses=function(t,e){var i=e.nameTable[t.processId];if("Bpmn"===t.shape.type&&t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length>0)for(var r=(n=t.shape.activity.subProcess.processes).length-1;r>=0;r--)e.remove(e.nameTable[n[parseInt(r.toString(),10)]]);if(i){e.removeDependentConnector(t);var n=i.shape.activity.subProcess.processes;this.removeChildFromBPMN(i.wrapper,t.id,e,!0);var o=n.indexOf(t.id);n.splice(o,1)}},i.prototype.removeChildFromBPMN=function(t,e,i,r){for(var n=0,o=t.children;n<o.length;n++){var a=o[n];a.id===e?(t.children.splice(t.children.indexOf(a),1),r||this.removeGElement(a.id,i)):a.children&&this.removeChildFromBPMN(a,e,i,r)}},i.prototype.removeGElement=function(t,e){var i=document.getElementById(t+"_groupElement"),r=document.getElementById(e.element.id+"_diagramLayer");i.parentElement.removeChild(i),r.appendChild(i);var n=e.nameTable[""+t],o=e.nameTable[""+n.processId],a=n.zIndex+1,s=this.getNode(a,e);if(s.length>0){var h=document.getElementById(s[0].id+"_groupElement"),d=Array.from(r.children).findIndex(function(t){return t===h}),l=-1!==d?d:1;n.zIndex<o.zIndex&&r.children[parseInt(l.toString(),10)].insertAdjacentElement("beforebegin",i)}},i.prototype.getNode=function(t,e){var i=e.nodes.filter(function(e){return e.zIndex===t});return 0===i.length&&t>0?this.getNode(t-1,e):i},i.prototype.removeProcess=function(e,i){var r=i.nameTable[""+e];if(r){var n=i.nameTable[r.processId],o=k(r);if(n&&"Bpmn"===n.shape.type){var a=n.shape.activity.subProcess.processes;this.removeChildFromBPMN(n.wrapper,e,i,!0);var s=a.indexOf(e);if(a.splice(s,1),r.processId="",!(i.diagramActions&t.DiagramAction.UndoRedo)){var h={type:"PositionChanged",undoObject:{nodes:[o]},redoObject:{nodes:[k(r)]},category:"Internal"};i.addHistoryEntry(h)}i.refreshDiagramLayer(),i.updateSelector()}}},i.prototype.addProcess=function(e,i,r){e.id=e.id||O();var n=e.id,o=r.nameTable[""+n],a=k(o);o||r.add(e),e.processId=i;var s=r.nameTable[""+i],h=s.shape.activity.subProcess,d=r.diagramActions&t.DiagramAction.UndoRedo;if(d||r.protectPropertyChange(!0),h.processes||(h.processes=[]),d||r.protectPropertyChange(!1),o&&s&&"Bpmn"===s.shape.type&&"Bpmn"===o.shape.type){if(o.processId=i,!d){r.protectPropertyChange(!0),o.zIndex<s.zIndex&&this.updateIndex(r,o);var l=s.offsetX-s.width*s.pivot.x+(o.margin.left+o.width*o.pivot.x),c=s.offsetY-s.height*s.pivot.y+(o.margin.top+o.height*o.pivot.y);o.offsetX===l&&o.offsetY===c||(o.offsetX=l,o.offsetY=c),r.protectPropertyChange(!1)}var p=s.shape.activity.subProcess.processes;if(p.indexOf(n)<0&&p.push(n),s.wrapper.children.push(o.wrapper),s.wrapper.measure(new ps),s.wrapper.arrange(s.wrapper.desiredSize),r.bpmnModule.updateDocks(s,r),r.refreshDiagramLayer(),r.updateSelector(),!(r.diagramActions&t.DiagramAction.UndoRedo)){var g={type:"PositionChanged",undoObject:{nodes:[a]},redoObject:{nodes:[k(o)]},category:"Internal"};r.addHistoryEntry(g)}"SVG"===r.mode&&o.shape&&o.shape.activity&&!o.shape.activity.subProcess.processes&&Aa(i+"_groupElement").appendChild(Aa(e.id+"_groupElement"))}},i.prototype.getChildrenBound=function(t,e,i){var r,n=t.shape.activity.subProcess.processes;if(n&&n.length)for(var o=0,a=n;o<a.length;o++){var s=a[o];e!==s&&(r=r?i.nameTable[""+s].wrapper.bounds.uniteRect(r):i.nameTable[""+s].wrapper.bounds)}return r||i.nameTable[""+e].wrapper.bounds},i.prototype.updateSubProcessess=function(e,i,r){var n,o,a,s,h=r.nameTable[i.processId],d={x:.5,y:.5},l=i.width||i.minWidth,c=i.height||i.minHeight;h.wrapper.bounds.left+i.margin.left+l>h.wrapper.bounds.right&&(a=!0),h.wrapper.bounds.top+i.margin.top+c>h.wrapper.bounds.bottom&&(s=!0),a&&(d.x=0),s&&(d.y=0);var p=h.wrapper.actualSize;a&&(n=(i.wrapper.margin.left+i.wrapper.bounds.width)/p.width),s&&(o=(i.wrapper.margin.top+i.wrapper.bounds.height)/p.height),(n>0||o>0)&&h.constraints&t.NodeConstraints.Resize&&r.commandHandler.scale(r.nameTable[i.processId],n||1,o||1,d)},i.prototype.getBPMNCompensationShape=function(t,e){return e.id=t.id+"_0_compensation",e.width=12,e.height=12,e.margin.bottom=5,e.style.fill="transparent",e.style.strokeColor=t.style.strokeColor,e.horizontalAlignment="Left",e.verticalAlignment="Bottom",e.relativeMode="Object",e.data="M 22.462 18.754 l -6.79 3.92 l 6.79 3.92 V 22.89 l 6.415 3.705 v -7.841 l -6.415 3.705 V 18.754 Z M 28.331 19.701 v 5.947 l -5.149 -2.973 L 28.331 19.701 Z M 21.916 25.647 l -5.15 -2.973 l 5.15 -2.973 V 25.647 Z M 22.275 12.674 c -5.513 0 -9.999 4.486 -9.999 9.999 c 0 5.514 4.486 10.001 9.999 10.001 c 5.514 0 9.999 -4.486 9.999 -10.001 C 32.274 17.16 27.789 12.674 22.275 12.674 Z M 22.275 32.127  c -5.212 0 -9.453 -4.241 -9.453 -9.454 c 0 -5.212 4.241 -9.453 9.453 -9.453 c 5.212 0 9.453 4.241 9.453 9.453 C 31.728 27.887 27.487 32.127 22.275 32.127 Z",e},i.prototype.getBPMNActivityShape=function(t){var e,i=new Vs,r=t.shape.activity,n=r.activity,o=r.subProcess;r.activity;return"Task"===n&&(e=this.getBPMNTaskShape(t)),"SubProcess"===n&&o&&(e=this.getBPMNSubProcessShape(t)),e.id=n+t.id,i.children=[e],i.style.fill="transparent",i.style.strokeColor="transparent",i.style.strokeWidth=0,i},i.prototype.getBPMNSubprocessEvent=function(t,e,i){var r,n;if(0!==i.annotations.length)for(a=0;a<i.annotations.length;a++){var o=i.annotations[parseInt(a.toString(),10)];(r=t.initAnnotationWrapper(o)).width=i.width,r.height=i.height,e.children.push(r)}if(0!==i.ports.length)for(var a=0;a<i.ports.length;a++){var s=i.ports[parseInt(a.toString(),10)];n=t.initPortWrapper(s),e.children.push(n)}},i.prototype.getBPMNAdhocShape=function(t,e,i){return e.id=t.id+"_0_adhoc",e.width=12,e.height=8,e.style.fill="black",e.style.strokeColor=t.style.strokeColor,e.margin.bottom=5,e.horizontalAlignment="Left",e.verticalAlignment="Bottom",e.relativeMode="Object",e.data="M 49.832 76.811 v -2.906 c 0 0 0.466 -1.469 1.931 -1.5 c 1.465 -0.031 2.331 1.219 2.897 1.688 s 1.06 0.75 1.526 0.75 c 0.466 0 1.548 -0.521 1.682 -1.208 s 0.083 3.083 0.083 3.083 s -0.76 0.969 -1.859 0.969 c -1.066 0 -1.865 -0.625 -2.464 -1.438 s -1.359 -0.998 -2.064 -0.906 C 50.598 75.467 49.832 76.811 49.832 76.811 Z",i&&!0===i.adhoc?e.visible=!0:e.visible=!1,e},i.prototype.setAnnotationPath=function(t,e,i,r,n,o){var a=new Ws;a.id=e.id+"_path",a.width=i.width,a.height=i.height,a.style.fill="white"===i.style.fill?"transparent":i.style.fill,a.style.strokeDashArray=i.style.strokeDashArray?i.style.strokeDashArray:"",a.style.gradient=i.style.gradient?i.style.gradient:null,a.style.strokeWidth=i.style.strokeWidth,a.style.strokeColor="transparent"===i.style.strokeColor?"black":i.style.strokeColor,a.style.opacity=i.style.opacity,a.relativeMode="Object",a.horizontalAlignment="Stretch",a.verticalAlignment="Stretch";var s=i.ports.length>0?i.ports[0]:new th(i,"ports","",!0);switch(o.protectPropertyChange(!0),i.ports=[s],o.protectPropertyChange(!1),n){case"Left":a.data="M10,20 L0,20 L0,0 L10,0",a.width=10,a.horizontalAlignment="Left",s.offset={x:0,y:.5};break;case"Right":a.data="M0,0 L10,0 L10,20 L0,20",a.width=10,a.horizontalAlignment="Right",s.offset={x:1,y:.5};break;case"Top":a.data="M20,10 L20,0 L0,0 L0,10",a.height=10,a.verticalAlignment="Top",s.offset={x:.5,y:0};break;case"Bottom":a.data="M0,0 L0,10 L20,10 L20,0",a.height=10,a.verticalAlignment="Bottom",s.offset={x:.5,y:1};break;default:if(""!==r.textAnnotation.textAnnotationTarget){if(o.nameTable[r.textAnnotation.textAnnotationTarget]){var h=o.nameTable[r.textAnnotation.textAnnotationTarget];if(h.hasTextAnnotation=!0,null!==h.wrapper){var d=h.width,l=h.height,c=new ms(0,0,0,0);0!==d&&0!==l&&(c=new ms(h.offsetX-d/2,h.offsetY-l/2,d,l)),this.setAnnotationPosition(c,i,t,a)}}}else""===r.textAnnotation.textAnnotationTarget&&(a.data="M10,20 L0,20 L0,0 L10,0",a.width=10,a.horizontalAlignment="Left",s.offset={x:0,y:.5})}e.children=[],e.children.push(a)},i.prototype.setAnnotationPosition=function(t,e,i,r){var n=e.ports[0],o={x:i.x,y:i.y},a=this.getAnnotationPathAngle(o,t);90===a?(r.data="M20,10 L20,0 L0,0 L0,10",r.height=10,r.verticalAlignment="Top",n.offset={x:.5,y:0}):180===a?(r.data="M0,0 L10,0 L10,20 L0,20",r.width=10,r.horizontalAlignment="Right",n.offset={x:1,y:.5}):0===a?(r.data="M10,20 L0,20 L0,0 L10,0",r.width=10,r.horizontalAlignment="Left",n.offset={x:0,y:.5}):(r.data="M0,0 L0,10 L20,10 L20,0",r.height=10,r.verticalAlignment="Bottom",n.offset={x:.5,y:1})},i.prototype.getSubprocessChildCount=function(t){var e=0,i=t.shape.activity.subProcess,r=i.loop;return void 0!==r&&"None"!==r&&e++,void 0!==i.compensation&&!0===i.compensation&&e++,void 0!==i.collapsed&&!0===i.collapsed&&e++,void 0!==i.adhoc&&!0===i.adhoc&&e++,e},i.prototype.getTaskChildCount=function(t){var e=0,i=t.shape.activity.task;return void 0!==i.compensation&&!0===i.compensation&&e++,void 0!==i.loop&&"None"!==i.loop&&e++,e},i.prototype.setStyle=function(e,i){e.style.fill=i.style.fill,e.style.strokeColor=i.style.strokeColor,e.style.strokeWidth=i.style.strokeWidth,e.style.strokeDashArray=i.style.strokeDashArray,e.style.opacity=i.style.opacity,e.style.gradient=i.style.gradient,0!=(i.constraints&t.NodeConstraints.Shadow)&&i.visible&&(e.shadow=i.shadow)},i.prototype.updateBPMN=function(t,i,r,n){var o=t.shape||{},a=r.wrapper.children[0],s=r.shape.shape||r.shape.bpmnShape;if(o.textAnnotation&&"TextAnnotation"===s){if(void 0!==o.textAnnotation.textAnnotationDirection){this.setAnnotationPath(r.wrapper.bounds,r.wrapper.children[0],r,r.shape,r.shape.textAnnotation.textAnnotationDirection,n),r.wrapper.children[0].children[0].id=r.id+"_textannotation_path";var h={ports:{0:{offset:r.ports[0].offset}}};n.nodePropertyChange(r,{},h)}if(void 0!==o.textAnnotation.textAnnotationTarget){var d=n.nameTable[o.textAnnotation.textAnnotationTarget];if(d&&"Bpmn"===d.shape.type)(l=n.nameTable[r.inEdges[0]])&&(l.sourceID=d.id,n.connectorPropertyChange(l,{},{sourceID:d.id}));else if(""===o.textAnnotation.textAnnotationTarget){var l=n.nameTable[r.inEdges[0]];if(l){var c=n.nameTable[i.shape.textAnnotation.textAnnotationTarget],p=c.outEdges.indexOf(l.id);c.outEdges.splice(p,1),l.sourceID="",n.connectorPropertyChange(l,{},{sourceID:""})}}}}var g=void 0!==t.width||void 0!==t.height||void 0!==t.maxWidth||void 0!==t.minWidth||void 0!==t.maxHeight||void 0!==t.minHeight;if("Gateway"===o.shape&&o.gateway)this.removeBPMNElementFromDOM(r,n),r.wrapper.children[0]=this.getBPMNGatewayShape(r);else if("DataObject"===o.shape&&o.dataObject)this.removeBPMNElementFromDOM(r,n),r.wrapper.children[0]=this.getBPMNDataObjectShape(r);else if("Activity"===o.shape&&o.activity)this.removeBPMNElementFromDOM(r,n),r.wrapper.children[0]=this.getBPMNActivityShape(r);else if("Event"!==r.shape.bpmnShape&&"Event"!==r.shape.shape&&"Event"!==o.shape||!o.event)"Message"===o.shape||"DataSource"===o.shape?(this.removeBPMNElementFromDOM(r,n),r.wrapper.children[0]=this.getBPMNShapes(r)):void 0!==o.gateway||"Gateway"===s&&g?this.updateBPMNGateway(r,t):void 0!==o.dataObject||"DataObject"===s&&g?this.updateBPMNDataObject(r,t,i):void 0!==o.activity||"Activity"===s&&g?this.updateBPMNActivity(r,t,i,n):(void 0!==o.event||"Event"===s&&g)&&this.updateBPMNEvent(r,t,i);else{this.removeBPMNElementFromDOM(r,n);var u=o.event;r.wrapper.children[0]=this.getBPMNEventShape(r,u)}if(r.wrapper.children[0].id=r.wrapper.children[0].id||a.id,t.style){var f=a;if(a instanceof Ns&&(e.isBlazor()||"Activity"!==r.shape.shape?f=e.isBlazor()||"Group"!==r.shape.shape?a.children[0]:a:(f=a.children[0].children[0],"Call"===r.shape.activity.subProcess.boundary&&t.style.strokeWidth&&(t.style.strokeWidth=4))),Xn(t.style,f),a&&void 0!==a.children&&a.children.length>0&&!e.isBlazor()&&"Activity"===r.shape.shape&&"SubProcess"===r.shape.activity.activity&&"Transaction"===r.shape.activity.subProcess.type){for(var m=a.children[0].children[2],y=0;y<m.children.length;y++){b=m.children[parseInt(y.toString(),10)].children[0];Xn(t.style,b)}if(t.style.strokeColor)for(y=0;y<m.children.length;y++){b=m.children[parseInt(y.toString(),10)];this.updateBPMNStyle(b,t.style.strokeColor)}}if(t.style&&t.style.strokeColor&&a&&void 0!==a.children&&a.children.length>0)if(e.isBlazor()||"Activity"!==r.shape.shape||"SubProcess"!==r.shape.activity.activity||"Transaction"===r.shape.activity.subProcess.type)if(e.isBlazor()||"Activity"!==r.shape.shape||"SubProcess"!==r.shape.activity.activity||"Transaction"!==r.shape.activity.subProcess.type)(!e.isBlazor()&&"Gateway"===r.shape.shape||!e.isBlazor()&&"Event"===r.shape.shape)&&this.updateBPMNStyle(a,t.style.strokeColor);else{m=a.children[0].children[2];this.updateBPMNStyle(m,t.style.strokeColor);for(y=3;y<=6;y++){var v=a.children[0].children[parseInt(y.toString(),10)];Xn({strokeColor:t.style.strokeColor},v)}}else{var b=a.children[0];this.updateBPMNStyle(b,t.style.strokeColor)}t.style&&void 0!==t.style.opacity&&this.updateBpmnChildOpacity(r.wrapper,t.style.opacity)}},i.prototype.updateBpmnChildOpacity=function(t,e){if(t.children&&t.children.length>0)for(var i=0;i<t.children.length;i++){var r=t.children[parseInt(i.toString(),10)];r.children&&this.updateBpmnChildOpacity(r,e),r instanceof js||(r.style.opacity=e)}},i.prototype.removeBPMNElementFromDOM=function(t,e){for(var i=0,r=e.views;i<r.length;i++){var n=r[i];Ka(t.id+"_groupElement",n)}},i.prototype.updateBPMNStyle=function(t,e){for(var i=0;i<t.children.length;i++)Xn({strokeColor:e},t.children[parseInt(i.toString(),10)])},i.prototype.updateBPMNGateway=function(t,e){var i=t.shape,r=t.wrapper.children[0];if(i){Xn(t.style,r.children[0]);var n=ss(i.gateway.type),o=this.updateGatewaySubType(r,t,n),a=i.gateway.type;o.style.fill="None"===a||"EventBased"===a||"ExclusiveEventBased"===a||"ParallelEventBased"===a?"white":"black",Ka(r.children[1].id),r.children.splice(1,1),r.children.push(o)}if(void 0!==e.width||void 0!==e.height||void 0!==e.maxWidth||void 0!==e.minWidth||void 0!==e.maxHeight||void 0!==e.minHeight){var s=e.width||t.width,h=e.height||t.height;if(e.maxWidth||e.minWidth||e.maxHeight||e.minHeight){var d=new Ws,l=this.getSize(t,d);s=l.width,h=l.height}this.setSizeForBPMNGateway(t.shape.gateway,r,s,h)}},i.prototype.updateGatewaySubType=function(t,e,i){var r=new Ws;return r.id=e.id+"_1_gatewayType",r.width=t.children[1].width,r.height=t.children[1].height,r.margin.left=t.children[1].margin.left,r.margin.top=t.children[1].margin.top,r.data=i,r.offsetX=t.children[1].offsetX,r.offsetY=t.children[1].offsetY,r.style=t.children[1].style,r.horizontalAlignment=t.children[1].horizontalAlignment,r.verticalAlignment=t.children[1].verticalAlignment,r.relativeMode=t.children[1].relativeMode,r.transform=t.children[1].transform,r},i.prototype.updateBPMNDataObject=function(t,e,i){var r=e.shape,n=t.wrapper.children[0];if(r){var o=n.children[1],a=n.children[2];if(void 0!==e.style&&(Xn(e.style,n.children[0]),o.style.opacity=t.style.opacity,a.style.opacity=t.style.opacity),r.dataObject){switch(r.dataObject.type){case"None":o.visible=!1;break;case"Input":o.style.fill="white";break;case"Output":o.style.fill="black"}"None"===i.shape.dataObject.type&&(o.visible=!0),void 0!==e.shape.dataObject.collection&&(a.visible=r.dataObject.collection)}}if(void 0!==e.width||void 0!==e.height||void 0!==e.maxWidth||void 0!==e.minWidth||void 0!==e.maxHeight||void 0!==e.minHeight){var s=e.width||t.width,h=e.height||t.height;if(e.maxWidth||e.minWidth||e.maxHeight||e.minHeight){var d=new Ws,l=this.getSize(t,d);s=l.width,h=l.height}this.setSizeForBPMNDataObjects(t.shape.dataObject,n,s,h)}},i.prototype.getEvent=function(t,e,i,r,n,o){switch(i){case"Start":n.visible=!1,r.style.strokeDashArray="",o.style.fill="white",o.style.strokeColor="black",r.style.fill="white";break;case"NonInterruptingStart":r.style.strokeDashArray="2 3",o.style.fill="white",r.style.fill="white",o.style.strokeColor="black",n.visible=!1;break;case"Intermediate":r.style.strokeDashArray="",r.style.fill="white",n.style.strokeDashArray="",r.style.gradient=null,o.style.fill="white",o.style.strokeColor="black",this.updateEventVisibility(e,n);break;case"NonInterruptingIntermediate":r.style.fill="white",r.style.gradient=null,o.style.fill="white",o.style.strokeColor="black",r.style.strokeDashArray="2 3",n.style.strokeDashArray="2 3",this.updateEventVisibility(e,n);break;case"ThrowingIntermediate":case"End":r.style.fill="End"!==i?"white":"black",r.style.strokeDashArray="",n.style.strokeDashArray="",r.style.gradient=null,o.style.fill="black",this.updateEventVisibility(e,n)}},i.prototype.updateEventVisibility=function(t,e){if(t.shape.activity&&t.shape.activity.subProcess&&t.shape.activity.subProcess.events&&void 0!==t.shape.activity.subProcess.events[0]&&void 0!==t.shape.activity.subProcess.events[0].event)"NonInterruptingStart"!==t.shape.activity.subProcess.events[0].event&&"Start"!==t.shape.activity.subProcess.events[0].event||(e.visible=!0);else if(t.shape.activity&&t.shape.activity.subProcess&&t.shape.activity.subProcess.transaction){var i=t.shape.activity.subProcess.transaction,r=function(t){return"Start"===t||"NonInterruptingStart"===t},n=["success","failure","cancel"].some(function(t){var e=i[""+t];return!!e&&r(e.event)});e.visible=n||e.visible}else void 0!==t.shape.event&&("NonInterruptingStart"!==t.shape.event.event&&"Start"!==t.shape.event.event||(e.visible=!0))},i.prototype.updateBPMNEvent=function(t,e,i){e.shape;var r=t.wrapper.children[0];if(void 0!==e.width||void 0!==e.height||void 0!==e.maxWidth||void 0!==e.minWidth||void 0!==e.maxHeight||void 0!==e.minHeight){var n=e.width||t.width,o=e.height||t.height;if(e.maxWidth||e.minWidth||e.maxHeight||e.minHeight){var a=new Ws,s=this.getSize(t,a);n=s.width,o=s.height}this.setSizeForBPMNEvents(t.shape.event,r,n,o)}},i.prototype.updateBPMNActivity=function(t,e,i,r){var n=e.shape,o=t.wrapper.children[0];if(o&&o.children&&o.children.length>0&&o.children[0]){var a=this.getSize(t,o.children[0].children[0]);if(n){var s=i.shape.activity.activity,h=t.shape.activity.activity;if("SubProcess"!==s&&"Task"!==s||"SubProcess"!==h&&"Task"!==h){if("Task"===h&&void 0!==n.activity.task){this.updateBPMNActivityTask(t,e);var d=this.getTaskChildCount(t),l=void 0,c=12*d,p=a.width/2-c;l=1===d?p+8:p+8*(d-1),void 0!==n.activity.task.loop&&this.updateBPMNActivityTaskLoop(t,e,l,d,p,2)}"SubProcess"===h&&void 0!==n.activity.subProcess&&this.updateBPMNActivitySubProcess(t,e,i,r)}else r.removeElements(t),t.wrapper.children[0]=this.getBPMNActivityShape(t);this.setSizeForBPMNActivity(t.shape.activity,o,e.width||a.width,e.height||a.height,t)}if(void 0!==e.width||void 0!==e.height||void 0!==e.maxWidth||void 0!==e.minWidth||void 0!==e.maxHeight||void 0!==e.minHeight){var g=e.width||t.width,u=e.height||t.height;if(e.maxWidth||e.minWidth||e.maxHeight||e.minHeight){var f=new ks,m=this.getSize(t,f);g=m.width,u=m.height}this.setSizeForBPMNActivity(t.shape.activity,o,g,u,t)}}},i.prototype.updateBPMNActivityTask=function(e,i){for(var r=i.shape,n=e.wrapper.children[0].children[0],o=r.activity.task,a=0;a<n.children.length;a++)n.children[parseInt(a.toString(),10)].id===e.id+"_2_loop"&&(d=document.getElementById(e.id+"_2_loop")).parentNode.removeChild(d);if(void 0!==o.type){o.type=o.type||"None";var s=hs(o.type),h=t.FlipDirection.None;n.children[1].data=s;for(a=0;a<n.children.length;a++)if(n.children[parseInt(a.toString(),10)].id===e.id+"_1_tasktType"&&(h=n.children[parseInt(a.toString(),10)].flip,n.children.splice(a,1),(d=document.getElementById(e.id+"_1_tasktType")).parentNode.removeChild(d)),n.children[parseInt(a.toString(),10)].id===e.id+"_1_taskTypeService"){h=n.children[parseInt(a.toString(),10)].flip,n.children.splice(a,1);var d=document.getElementById(e.id+"_1_taskTypeService");d.parentNode.removeChild(d)}var l=new Ws;if(l.id=e.id+"_1_tasktType",l.flip=h||0,l.margin.left=5,l.margin.top=5,l.data=s,l.style.fill="transparent",l.style.opacity=e.style.opacity,"Receive"===o.type||"Send"===o.type)l.width=18,l.height=16,"Send"===o.type&&(l.style.fill="black"),n.children.splice(1,0,l);else if("Manual"===o.type)l.width=16,l.height=11,n.children.splice(1,0,l);else if("Service"!==o.type)l.width=20,l.height=20,n.children.splice(1,0,l);else{l.width=20,l.height=20,n.children.splice(1,0,l);var c=new Ws;c.id=e.id+"_1_taskTypeService",c.data=s,c.margin.left=n.children[1].margin.left+9,c.margin.top=n.children[1].margin.top+9,c.style.fill="white",c.style.opacity=e.style.opacity,n.children.splice(2,0,c)}}if(void 0!==r.activity.task.call&&(!1!==r.activity.task.call?n.children[0].style.strokeWidth=4:n.children[0].style.strokeWidth=1),void 0!==r.activity.task.compensation)if(!0===r.activity.task.compensation){var p="Service"===e.shape.activity.task.type;n.children[p?4:3].visible=!0}else n.children[3].visible=!1},i.prototype.updateBPMNActivityTaskLoop=function(t,e,i,r,n,o){var a,s,h=e.shape,d=t.wrapper.children[0].children[0],l=h.activity,c=t.shape.activity.task.type,p=0;if(void 0!==l.subProcess){var g=l.subProcess;p="Transaction"===l.subProcess.type?2:l.subProcess.events.length>0?1:0,s=ds(a=g.loop),d.children[2+p].data=s,d.children[2+p].visible="None"!==a}else void 0!==l.task&&void 0!==l.task.loop&&"Service"!==c?(s=ds(l.task.loop),d.children[2].data=s,d.children[2].visible="None"!==l.task.loop):void 0!==l.task&&void 0!==l.task.loop&&"Service"===c&&(s=ds(l.task.loop),d.children[3].data=s,d.children[3].visible="None"!==l.task.loop);this.updateChildMargin(d,r,n,i,o+p)},i.prototype.updateChildMargin=function(t,e,i,r,n){if(1===e)for(o=n;o<t.children.length;o++)2!==o&&!0===t.children[parseInt(o.toString(),10)].visible&&(t.children[parseInt(o.toString(),10)].margin.left=r,r=i+8);else{r=i+8*(e-1);for(var o=n;o<t.children.length;o++)2!==o&&!0===t.children[parseInt(o.toString(),10)].visible&&(t.children[parseInt(o.toString(),10)].margin.left=r,r+=20)}},i.prototype.updateBPMNActivitySubProcess=function(t,e,i,r){var n,o=e.shape,a=t.wrapper.children[0],s=this.getSize(t,a.children[0].children[0]),h=o.activity.subProcess,d=this.getSubprocessChildCount(t),l=12*d,c=s.width/2-l;n=1===d?c+8:c+8*(d-1),Xn(t.style,a.children[0].children[0]),void 0!==h.events&&this.updateBPMNSubProcessEvent(t,e,i,r),void 0!==h.adhoc&&this.updateBPMNSubProcessAdhoc(t,i,h,n,d,c),void 0!==h.boundary&&this.updateBPMNSubProcessBoundary(t,h),void 0!==h.collapsed&&this.updateBPMNSubProcessCollapsed(t,i,h,n,d,c,r),void 0!==h.compensation&&this.updateBPMNSubProcessCompensation(t,i,h,n,d,c),void 0!==h.loop&&this.updateBPMNSubProcessLoop(t,i,h,n,d,c),void 0!==h.transaction&&this.updateBPMNSubProcessTransaction(t,e,i,r)},i.prototype.updateBPMNSubProcessEvent=function(t,e,i,r){for(var n=e.shape,o=t.wrapper.children[0],a=o.children[0],s=(o.children[0].children.length,n.activity.subProcess),h=0,d=Object.keys(s.events);h<d.length;h++){var l=d[h],c=Number(l),p=a.children[c+2],g=t.shape.activity.subProcess.events[parseInt(c.toString(),10)];this.updateBPMNSubEvent(t,s.events[parseInt(c.toString(),10)],g,p,e,i,r)}},i.prototype.updateBPMNSubEvent=function(t,e,i,r,n,o,a){var s=t.wrapper.children[0],h=n.shape;if(void 0!==r.children){var d=r.children[0],l=r.children[1],c=r.children[2],p=void 0,g=void 0;if(n.style&&(void 0===n.style.strokeColor&&void 0===n.style.opacity||(s.children[0].children[1].style.strokeColor=n.style.strokeColor,s.children[0].children[1].style.opacity=n.style.opacity)),void 0!==h.activity.subProcess&&(p=e.event,g=e.trigger),void 0!==p&&this.getEvent(n,o,p,d,l,c),void 0!==g&&(n.style&&Xn(n.style,s.children[0]),this.removeBPMNElementFromDOM(t,a),t.wrapper.children[0]=this.getBPMNActivityShape(t)),void 0===e.height&&void 0===e.width||this.getEventSize(e,r),void 0!==e.id&&(r.id=e.id),void 0!==e.margin&&(r.margin=e.margin),void 0!==e.horizontalAlignment&&(r.horizontalAlignment=e.horizontalAlignment),void 0!==e.verticalAlignment&&(r.verticalAlignment=e.verticalAlignment),void 0!==e.offset&&(r.setOffsetWithRespectToBounds(i.offset.x,i.offset.y,"Fraction"),r.relativeMode="Point"),void 0!==e.annotations){var u=void 0,f=s.children[0].children[2];r.children[3]&&r.children.length>3&&(u=r.children[3],a.updateAnnotation(e.annotations[0],u,f))}if(void 0!==e.ports){var m=void 0,y=s.children[0].children[2];r.children[4]&&r.children.length>4&&(m=r.children[4],a.updatePort(e.ports[0],m,y))}void 0!==e.visible&&"Event"!==t.shape.activity.subProcess.type&&this.updateDiagramContainerVisibility(r,e.visible)}},i.prototype.updateBPMNSubProcessTransaction=function(t,e,i,r){var n,o=e.shape.activity.subProcess.transaction,a=t.wrapper.children[0].children[0].children[2];void 0!==o.success&&(n=t.shape.activity.subProcess.transaction.success,this.updateBPMNSubEvent(t,o.success,n,a.children[0],e,i,r)),void 0!==o.cancel&&(n=t.shape.activity.subProcess.transaction.cancel,this.updateBPMNSubEvent(t,o.cancel,n,a.children[1],e,i,r)),void 0!==o.failure&&(n=t.shape.activity.subProcess.transaction.failure,this.updateBPMNSubEvent(t,o.failure,n,a.children[2],e,i,r));for(var s=0,h=t.outEdges;s<h.length;s++){var d=h[s],l=r.nameTable[""+d];switch(l.sourcePortID){case"success":o.success&&void 0!==o.success.visible&&r.connectorPropertyChange(l,{},{sourcePortID:"success"});break;case"cancel":o.cancel&&void 0!==o.cancel.visible&&r.connectorPropertyChange(l,{},{sourcePortID:"cancel"});break;case"failure":o.failure&&void 0!==o.failure.visible&&r.connectorPropertyChange(l,{},{sourcePortID:"failure"})}}},i.prototype.getEventSize=function(t,e){void 0!==t.height&&(e.height=t.height,e.children[0].height=t.height,e.children[1].height=.85*t.height,e.children[2].height=.54*t.height),void 0!==t.width&&(e.width=t.width,e.children[0].width=t.width,e.children[1].width=.85*t.width,e.children[2].width=.54*t.width)},i.prototype.updateBPMNSubProcessAdhoc=function(t,e,i,r,n,o){t.shape;var a,s=t.wrapper.children[0].children[0];a="Transaction"===t.shape.activity.subProcess.type?2:t.shape.activity.subProcess.events.length>0?1:0,!1===i.adhoc?s.children[3+a].visible=!1:s.children[3+a].visible=!0,this.updateChildMargin(s,n,o,r,3+a)},i.prototype.updateBPMNSubProcessBoundary=function(t,e){t.shape;var i=t.wrapper.children[0].children[0].children[0];"Default"===e.boundary&&(i.style.strokeWidth=1,i.style.strokeDashArray="1 0"),"Call"===e.boundary&&(i.style.strokeWidth=4,i.style.strokeDashArray="1 0"),"Event"===e.boundary&&(i.style.strokeWidth=1,i.style.strokeDashArray="2 2")},i.prototype.updateElementVisibility=function(t,i,r){if(t.shape.activity.subProcess.processes&&t.shape.activity.subProcess.processes.length>0)for(var n=t.shape.activity.subProcess.processes,o=n.length-1;o>=0;o--){var a=r.nameTable[n[parseInt(o.toString(),10)]];a.visible=i,r.updateElementVisibility(a.wrapper,a,i),i&&(e.isBlazor()||"Event"!==a.shape.shape||this.setEventVisibility(a,a.wrapper.children[0].children),"SubProcess"===a.shape.activity.activity&&this.setSubProcessVisibility(a));for(var s=a.inEdges.concat(a.outEdges),h=s.length-1;h>=0;h--){var d=r.nameTable[s[parseInt(h.toString(),10)]];d.visible=i,r.updateElementVisibility(d.wrapper,d,i)}}if(i&&(e.isBlazor()||"Event"!==t.shape.shape||this.setEventVisibility(t,t.wrapper.children[0].children),"SubProcess"===t.shape.activity.activity&&this.setSubProcessVisibility(t),"Task"!==t.shape.activity.activity||e.isBlazor()||"Activity"!==t.shape.shape||"None"!==t.shape.activity.subProcess.loop||(t.wrapper.children[0].children[0].children[3].visible=!1),"DataObject"===t.shape.shape))if(!1===t.shape.dataObject.collection&&"None"===t.shape.dataObject.type)for(h=t.wrapper.children[0].children.length-1;h>0;h--)t.wrapper.children[0].children[parseInt(h.toString(),10)].visible=!1;else!0===t.shape.dataObject.collection&&"None"===t.shape.dataObject.type?t.wrapper.children[0].children[1].visible=!1:!1!==t.shape.dataObject.collection||"Input"!==t.shape.dataObject.type&&"Output"!==t.shape.dataObject.type||(t.wrapper.children[0].children[2].visible=!1)},i.prototype.updateBPMNSubProcessCollapsed=function(t,e,i,r,n,o,a){var s,h=t.shape.activity.subProcess.events.length,d=t.wrapper.children[0].children[0];s="Transaction"===t.shape.activity.subProcess.type?3:t.shape.activity.subProcess.events.length>0?0:1,!1===i.collapsed?(this.updateElementVisibility(t,!0,a),d.children[s+h].visible=!1):(this.updateElementVisibility(t,!1,a),d.children[s+h].visible=!0),this.updateChildMargin(d,n,o,r,3+h)},i.prototype.updateBPMNSubProcessCompensation=function(t,e,i,r,n,o){var a,s=t.wrapper.children[0].children[0];a="Transaction"===t.shape.activity.subProcess.type?2:t.shape.activity.subProcess.events.length>0?1:0,!1===i.compensation?s.children[4+a].visible=!1:s.children[4+a].visible=!0,this.updateChildMargin(s,n,o,r,4+a)},i.prototype.updateBPMNSubProcessLoop=function(t,e,i,r,n,o){this.updateBPMNActivityTaskLoop(t,t,r,n,o,1)},i.prototype.updateBPMNConnector=function(t,e,i,r){var n=i.shape,o=t.shape.flow;return"Sequence"!==n.flow&&!n.sequence||"Sequence"!==o||(t=this.getSequence(t,e,i,r)),"Association"!==n.flow&&!n.association||"Association"!==o||(t=this.getAssociation(t,e,i,r)),"Message"!==n.flow&&!n.message||"Message"!==o||(t=this.getMessage(t,e,i,r)),t},i.prototype.getSequence=function(e,i,r,n){if("Normal"!==r.shape.sequence&&"Normal"!==e.shape.sequence||(e.targetDecorator.shape="Arrow",e.sourceDecorator.shape="None",e.style.strokeDashArray="None",e.targetDecorator.style.fill="black",e.targetDecorator.width=10,e.targetDecorator.height=10,n.connectorPropertyChange(e,i,{targetDecorator:{shape:"Arrow",style:{fill:"black"},height:10,width:10},sourceDecorator:{shape:"None"},style:{strokeDashArray:"None"}}),e.wrapper.children[3].visible=!1),"Default"===r.shape.sequence||"Default"===e.shape.sequence){e.targetDecorator.shape="Arrow",e.sourceDecorator.shape="None",e.style.strokeDashArray="None",e.targetDecorator.style.fill="black",e.targetDecorator.width=10,e.targetDecorator.height=10,n.connectorPropertyChange(e,i,{style:{strokeDashArray:"None"},targetDecorator:{shape:"Arrow",style:{fill:"black"},height:10,width:10},sourceDecorator:{shape:"None"}});var o=new Ws,a=(new Ws,void 0);o=e.getSegmentElement(e,o);for(var s=e.intermediatePoints,h=0;h<s.length-1;h++)length+=e.distance(s[parseInt(h.toString(),10)],s[h+1]),a=e.findPath(s[parseInt(h.toString(),10)],s[h+1]);var d=new Ws;d.data=a[0],d.id=e.id+"_"+r.shape.sequence||e.shape.sequence,d.offsetX=a[1].x,d.offsetY=a[1].y,d.rotateAngle=45,d.transform=t.Transform.Self,this.removeDomElement(e,n,d)}return"Conditional"!==r.shape.sequence&&"Conditional"!==e.shape.sequence||(e.sourceDecorator.shape="Diamond",e.sourceDecorator.width=20,e.sourceDecorator.height=10,e.sourceDecorator.style.fill="white",e.targetDecorator.style.fill="black",e.style.strokeDashArray="None",e.targetDecorator.shape="Arrow",n.connectorPropertyChange(e,i,{style:{strokeDashArray:"None"},targetDecorator:{shape:"Arrow",style:{fill:"black"},height:10,width:10},sourceDecorator:{shape:"Diamond",width:20,height:10,style:{fill:"white"}}}),e.wrapper.children[3].visible=!1),e},i.prototype.getAssociation=function(t,e,i,r){return"Default"!==i.shape.association&&"Default"!==t.shape.association||(t.sourceDecorator.shape="None",t.targetDecorator.shape="None",t.style.strokeDashArray="2 2",r.connectorPropertyChange(t,e,{style:{strokeDashArray:"2 2"},targetDecorator:{shape:"None"},sourceDecorator:{shape:"None"}}),t.wrapper.children[3].visible=!1),"Directional"!==i.shape.association&&"Directional"!==t.shape.association||(t.sourceDecorator.shape="None",t.style.strokeDashArray="2 2",t.targetDecorator.shape="OpenArrow",t.targetDecorator.width=10,t.targetDecorator.height=10,r.connectorPropertyChange(t,e,{style:{strokeDashArray:"2 2"},targetDecorator:{shape:"OpenArrow",width:10,height:10},sourceDecorator:{shape:"None"}}),t.wrapper.children[3].visible=!1),"BiDirectional"!==i.shape.association&&"BiDirectional"!==t.shape.association||(t.sourceDecorator.shape="OpenArrow",t.targetDecorator.shape="OpenArrow",t.sourceDecorator.width=10,t.sourceDecorator.height=10,t.sourceDecorator.style.fill="black",r.connectorPropertyChange(t,e,{style:{strokeDashArray:"2 2"},targetDecorator:{shape:"OpenArrow",width:10,height:10},sourceDecorator:{shape:"OpenArrow",width:10,height:10,style:{fill:"black"}}}),t.wrapper.children[3].visible=!1),t},i.prototype.getMessage=function(e,i,r,n){var o,a;e.sourceDecorator.shape="Circle",e.sourceDecorator.width=10,e.targetDecorator.shape="Arrow",e.sourceDecorator.height=10,e.sourceDecorator.style.fill="White",e.targetDecorator.style.fill="White",n.connectorPropertyChange(e,i,{sourceDecorator:{shape:"Circle",style:{fill:"White"},width:10,height:10},targetDecorator:{shape:"Arrow",style:{fill:"white"}}});for(var s=e.intermediatePoints,h=0,d=0;d<s.length-1;d++){var l=.5*(h+=e.distance(s[d],s[d+1]));h>=l&&(o=_t(s[parseInt(d.toString(),10)],s[d+1]),a=fs.transform(s[parseInt(d.toString(),10)],o,l))}var c=new Ws;return e.wrapper.children[0].style.strokeDashArray=" 4 4",e.style.strokeDashArray="4 4",c.id=e.id+"_"+r.shape.message||e.shape.message,c.width=25,c.height=15,c.data="M0,0 L19.8,12.8 L40,0 L0, 0 L0, 25.5 L40, 25.5 L 40, 0",c.horizontalAlignment="Center",c.verticalAlignment="Center",c.transform=t.Transform.Self,c.style.fill="NonInitiatingMessage"===r.shape.message?"lightgrey":"white",c.offsetX=a.x,c.offsetY=a.y,"Default"!==r.shape.message&&void 0!==r.shape.message||"Default"!==e.shape.message?c.style.fill="NonInitiatingMessage"===(r.shape.message||e.shape.message)?"lightgrey":"white":c.visible=!1,this.removeDomElement(e,n,c),e},i.prototype.removeDomElement=function(t,e,i){for(var r=0,n=e.views;r<n.length;r++){var o=n[r];Ka(t.id+"_groupElement",o),Ka(t.id+"_content_groupElement",o),Ka(t.id+"_html_element",o)}t.wrapper.children.splice(3,1),t.wrapper.children.splice(3,0,i)},i.prototype.setSizeForBPMNEvents=function(t,e,i,r){e.children[0].width=i,e.children[0].height=r;var n=e.children[1];n.width=.85*i,n.height=.85*r;var o=e.children[2];"Message"===t.trigger?(o.width=.54*i,o.height=.4*r):(o.width=.5*i,o.height=.5*r)},i.prototype.updateAnnotationDrag=function(t,e,i,r){return!!t.processId&&(this.drag(t,i,r,e),!0)},i.prototype.getAnnotationPathAngle=function(t,e){var i=0;switch(Se(t,e,e)){case"Right":i=0;break;case"Left":i=180;break;case"Bottom":i=90;break;case"Top":i=270}return i},i.prototype.setSizeForBPMNGateway=function(t,e,i,r){e.children[0].width=i,e.children[0].height=r,e.children[1].width=.45*i,e.children[1].height=.45*r},i.prototype.setSizeForBPMNDataObjects=function(t,e,i,r){e.children[0].width=i,e.children[0].height=r},i.prototype.setSizeForBPMNActivity=function(t,e,i,r,n){e.children[0].width=i,e.children[0].height=r,e.children[0].children[0].width=i,e.children[0].children[0].height=r,"Transaction"===t.subProcess.type&&(e.children[0].children[1].width=Math.max(i-6,1),e.children[0].children[1].height=Math.max(r-6,1),e.children[0].children[2].width=i,e.children[0].children[2].height=r);var o,a,s=new ks,h=this.getSize(n,s),d=12*(a="Task"===t.activity?this.getTaskChildCount(n):this.getSubprocessChildCount(n)),l=(i||h.width)/2;o=1===a?l-6:l-d/2-4*(a-1)/2;for(var c=0;c<e.children[0].children.length;c++)e.children[0].children[parseInt(c.toString(),10)].visible&&(e.children[0].children[parseInt(c.toString(),10)].id.indexOf("_loop")>-1||e.children[0].children[parseInt(c.toString(),10)].id.indexOf("_0_compensation")>-1||e.children[0].children[parseInt(c.toString(),10)].id.indexOf("_0_adhoc")>-1||e.children[0].children[parseInt(c.toString(),10)].id.indexOf("_0_collapsed")>-1)&&(e.children[0].children[parseInt(c.toString(),10)].margin.left=o,o+=e.children[0].children[parseInt(c.toString(),10)].actualSize.width+4)},i.prototype.updateDiagramContainerVisibility=function(t,e){if(t instanceof Ns)for(var i=0;i<t.children.length;i++)this.updateDiagramContainerVisibility(t.children[parseInt(i.toString(),10)],e);t.visible&&t.visible!==e&&(t.visible=e)},i.prototype.destroy=function(){},i.prototype.getModuleName=function(){return"Bpmn"},i}(),Bp={Event:"M80.5,12.5 C80.5,19.127417 62.59139,24.5 40.5,24.5 C18.40861,24.5 0.5,19.127417 0.5,12.5C0.5,5.872583 18.40861,0.5 40.5,0.5 C62.59139,0.5 80.5,5.872583 80.5,12.5 z",Message:"M0,0L19.8,12.8L40,0L0,0L0,25.5L40,25.5L40,0z",DataSource:"M 0 10.6 c 0 5.9 16.8 10.6 37.5 10.6 S 75 16.4 75 10.6 v 0 v 68.9 v -0.1 C 75 85.3 58.2 90 37.5 90 S 0 85.3 0 79.4 l 0 0.1 V 56 V 40.6 L 0 10.6 C 0 4.7 16.8 0 37.5 0 S 75 4.7 75 10.6 S 58.2 21.2 37.5 21.2S 0 16.5 0 10.6 l 0 6.7 v -0.2 c 0 5.9 16.8 10.6 37.5 10.6 S 75 22.9 75 17.1 v 6.8 v -0.1 c 0 5.9 -16.8 10.6 -37.5 10.6 S 0 29.6 0 23.8",SubProcess:"M100,100 h200 a20,20 0 0 1 20,20 v200 a20,20 0 0 1 -20,20 h-200 a20,20 0 0 1 -20,-20 v-200 a20,20 0 0 1 20,-20 z",collapsedShape:"M 8.13789 15 H 0 V 0 H 8.13789 V 15 Z M 0.625991 13.75 H 7.51189 V 1.25 H 0.625991 V 13.75 Z M 2.18095 7.03125 L 5.95631 7.03125 L 5.95631 7.46875 L 2.18095 7.46875 Z M 3.8342 3.73 L 4.30369 3.73 L 4.30369 11.2687 L 3.8342 11.2687 Z"},Np={Message:"M0,0 L19.8,12.8 L40,0 L0, 0 L0, 25.5 L40, 25.5 L 40, 0",Timer:"M40,20c0,8.654-5.496,16.024-13.189,18.81C24.685,39.58,22.392,40,20,40C8.954,40,0,31.046,0,20S8.954,0,20,0S40,8.954,40,20z M20,0 L20,2.583 L20,5.283 M10.027,2.681L11.659,5.507 L12.669,7.257 M2.731,9.989 L6.014,11.885 L7.307,12.631 M0.067,19.967 L2.667,19.967 L5.35,19.967M2.748,29.939 L5.731,28.217 L7.323,27.298 M10.056,37.236 L11.292,35.095 L12.698,32.66 M20.033,39.9 L20.033,36.417 L20.033,34.617M30.006,37.219 L28.893,35.292 L27.364,32.643 M37.302,29.911 L34.608,28.355 L32.727,27.269M39.967,19.933 L37.417,19.933 L34.683,19.933 M37.286,9.961 L34.583,11.521 L32.71,12.602 M29.977,2.664 L28.653,4.957 L27.336,7.24 M22.104,8.5 L19.688,20 L24.75,20 L31.604,20 L24.75,20 L19.688,20z",Error:"M 23.77 18.527 l -7.107 27.396 l 8.507 -17.247 L 36.94 40.073 l 6.394 -25.997 l -8.497 15.754 L 23.77 18.527 Z",Escalation:"M 30.001 8.098 L 11.842 43.543 l 18.159 -18.882 l 18.162 18.882 L 30.001 8.098 Z ",Cancel:"M 3.5 16 L 0 12.6 L 4.6 8 L 0 3.5 L 3.4 0 L 8 4.6 l 4.5 -4.5 L 16 3.5 L 11.5 8 l 4.5 4.5 l -3.4 3.5 L 8 11.4 L 3.5 16 Z",Compensation:"M 25.7086 0 L 0 25 L 25.7086 50 V 26.3752 L 50 50 V 0 L 25.7086 23.6248 V 0 Z ",Conditional:"M 0 0 H 16 V 16 H 0 z M 1.14 3.2 H 14.85 M 1.14 6.4 H 14.85 M 1.14 9.6 H 14.85 M 1.14 12.8 H 14.85",Link:"M 32.014 19.258 v 5.992 H 9.373 v 9.504 h 22.641 v 5.988 L 50.622 30 L 32.014 19.258 Z",Signal:"M 50 50 H 0 L 25.0025 0 L 50 50 Z",Terminate:"M 25 50 C 11.21 50 0 38.79 0 25 C 0 11.21 11.21 0 25 0 C 38.78 0 50 11.21 50 25 C 50 38.79 38.78 50 25 50",Multiple:"M 17.784 48.889 H 42.21 l 7.548 -23.23 L 29.997 11.303 L 10.236 25.658 L 17.784 48.889 Z",Parallel:"M 27.276 49.986 h 5.58 v -17.15 h 17.146 V 27.17 h -17.15 l 0.004 -17.15 h -5.58 l -0.004 17.15 H 9.994 v 5.666 h 17.278 L 27.276 49.986 Z"},Rp={None:"",Exclusive:"M 11.196 29.009 l 6.36 -9.712 l -5.764 -8.899 h 4.393 l 3.732 5.979 l 3.656 -5.979 h 4.354 l -5.789 9.039l 6.36 9.572 h -4.532 l -4.126 -6.437 l -4.139 6.437 H 11.196 Z",Inclusive:"M 20.323 31.333 c -6.625 0 -12.015 -5.39 -12.015 -12.015 s 5.39 -12.015 12.015 -12.015 s 12.016 5.39 12.016 12.015 S 26.948 31.333 20.323 31.333 Z M 20.323 9.303 c -5.522 0 -10.015 4.493 -10.015 10.015 s 4.492 10.015 10.015 10.015 s 10.016 -4.493 10.016 -10.015 S 25.846 9.303 20.323 9.303 Z",Parallel:"M 18.394 29.542 v -8.833 H 9.626 v -3.691 h 8.768 V 8.251 h 3.734 v 8.767 h 8.768 v 3.691 h -8.768 v 8.833 H 18.394 Z",Complex:"M29.198,19.063L23.089,19.063L27.794,14.358L26.38,12.944L21.223,18.101L21.223,10.443L19.223,10.443L19.223,17.976L14.022,12.776L12.608,14.19L17.48,19.063L10.365,19.063L10.365,21.063L18.261,21.063L12.392,26.932L13.806,28.346L19.223,22.929L19.223,30.225L21.223,30.225L21.223,22.805L25.925,27.507L27.339,26.093L22.309,21.063L29.198,21.063z",EventBased:"M 20.322 29.874 c -5.444 0 -9.873 -4.43 -9.873 -9.874 s 4.429 -9.874 9.873 -9.874 s 9.874 4.429 9.874 9.874 S 25.767 29.874 20.322 29.874 Z M 20.322 32.891 c -7.107 0 -12.89 -5.783 -12.89 -12.891 c 0 -7.107 5.782 -12.89 12.89 -12.89 c 7.108 0 12.891 5.783 12.891 12.89 C 33.213 27.108 27.431 32.891 20.322 32.891 Z M 24.191 25.386 h -7.984 l -2.469 -7.595 l 6.461 -4.693 l 6.461 4.693 L 24.191 25.386 Z",ExclusiveEventBased:"M 30 15 C 30 23.28 23.28 30 15 30 S 0 23.28 0 15 S 6.72 0 15 0 S 30 6.72 30 15 z M 15 5 L 5 12.5 L 8 22.5 H 22 L 25 12.5 z",ParallelEventBased:"M 35 17.5 C 35 27.16 27.16 35 17.5 35 S 0 27.16 0 17.5 S 7.84 0 17.5 0 S 35 7.84 35 17.5 z M 14.58 5.83 V 14.58 H 5.83 V 20.42 H 14.58 V 29.17 H 20.42 V 20.42 H 29.17 V 14.58 H 20.42 V 5.83 z"},jp={None:"",Service:"M 32.699 20.187 v -4.005 h -3.32 c -0.125 -0.43 -0.292 -0.83 -0.488 -1.21 l 2.373 -2.375 l -2.833 -2.83 l -2.333 2.333 c -0.44 -0.253 -0.9 -0.448 -1.387 -0.595 v -3.32 h -4.003 v 3.32 c -0.46 0.137 -0.890.322 -1.3 0.537 l -2.285 -2.275 l -2.833 2.83 l 2.285 2.278 c -0.235 0.42 -0.41 0.847 -0.547 1.307 h -3.33 v 4.005 h 3.33 c 0.148 0.488 0.343 0.955 0.588 1.395 l -2.325 2.325 l 2.822 2.832 l 2.373 -2.382 c 0.392 0.205 0.792 0.37 1.212 0.497 v 3.33 h 4.003 v -3.33 c 0.46 -0.138 0.89 -0.323 1.3 -0.547 l 2.43 2.432 l 2.822 -2.832 l -2.42 -2.422 c 0.222 -0.41 0.4 -0.85 0.535-1.297 H 32.699 Z M 22.699 21.987 c -2.1 0 -3.803 -1.703 -3.803 -3.803 c 0 -2.1 1.703 -3.803 3.803 -3.803 c 2.1 0 3.803 1.703 3.803 3.803 C 26.502 20.285 24.8 21.987 22.699 21.987 Z",Receive:"M 12.217 12.134 v 13.334 h 20 V 12.134 H 12.217 Z M 30.44 13.007 l -8.223 5.35 l -8.223 -5.35 H 30.44 Z M 13.09 24.594 V 13.459 l 9.127 5.94 l 9.127 -5.94 v 11.135 H 13.09 Z",Send:"M0,1.2260086 L8.0000002,8.3380068 16,1.2260086 16,12.000007 0,12.000007 z M1.6300015,0 L14.371001,0 8.0000055,5.662 z",InstantiatingReceive:"M 16.306 17.39 v 8.79 h 13.198 v -8.79 H 16.306 Z M 28.375 17.946 l -5.47 3.558 l -5.47 -3.558 H 28.375 Z M 28.948 25.625 H 16.861 v -7.389 l 6.043 3.931 l 6.043 -3.931 V 25.625 Z M 22.905 11.785c -5.514 0 -9.999 4.486 -9.999 10 c 0 5.514 4.485 10 9.999 10 s 9.999 -4.486 9.999 -10 C 32.904 16.272 28.419 11.785 22.905 11.785 Z M 22.905 31.239 c -5.212 0 -9.453 -4.241 -9.453 -9.454c 0 -5.212 4.241 -9.453 9.453 -9.453 s 9.452 4.241 9.452 9.453 C 32.357 26.998 28.117 31.239 22.905 31.239 Z",Manual:"M9.21 612 L5.82 612 L1.07 612 a1.07317 1 -180 0 1 -1.07317 -1 L0 604.75 A3.42007 1.59344 -180 0 0 1.61 604 L2.6 604 L5.99 604 a0.721171 0.672 0 0 1 0.721171 0.672 a0.721171 0.672 0 0 1 -0.721171 0.672 L2.6 605.34 a0.48818 0.183302 -90 0 0 0.0837073 0.342385 L5.63 605.69 a0.721171 0.672 0 0 1 0.184585 -0.0223847 L10.28 605.66 a0.721171 0.672 0 0 1 0.721171 0.672 a0.721171 0.672 0 0 1 -0.721171 0.672 L5.82 607.01 a0.721171 0.672 0 0 1 -0.184585 -0.0223847 L5.63 607.35 a0.721171 0.672 0 0 1 0.184585 -0.0223847 L10.01 607.33 a0.721171 0.672 0 0 1 0.721171 0.672 a0.721171 0.672 0 0 1 -0.721171 0.672 L5.82 608.67 a0.721171 0.672 0 0 1 -0.184585 -0.0223847 L5.63 609.01 a0.721171 0.672 0 0 1 0.184585 -0.0223847 L9.47 608.99 a0.721171 0.672 0 0 1 0.721171 0.672 a0.721171 0.672 0 0 1 -0.721171 0.672 L5.82 610.34 a0.721171 0.672 0 0 1 -0.184585 -0.0223847 L5.63 610.68 a0.721171 0.672 0 0 1 0.184585 -0.0223847 L9.21 610.66 a0.721171 0.672 0 0 1 0.721171 0.672 a0.721171 0.672 0 0 1 -0.721171 0.672",BusinessRule:"M 32.844 13.245 h -0.089 v 0 H 13.764 v -0.015 h -1.009 v 16.989 h 0.095 v 0.011 h 19.716 v -0.011 h 0.278 V 13.245 Z M 31.844 14.229 v 4.185 h -18.08 v -4.185 H 31.844 Z M 18.168 25.306 v 3.938 h -4.404 v -3.938 H 18.168 Z M 13.764 24.322 v -4.923 h 4.404 v 4.923 H 13.764 Z M 19.177 25.306 h 12.667 v 3.938 H 19.177 V 25.306 Z M 19.177 24.322v -4.923 h 12.667 v 4.923 H 19.177 Z",User:"M8.6751149,13.75 L10.79009,18.703003 11.664047,18.696991 13.792084,13.75 13.824066,13.75 C18.177001,13.75 21.709022,17.259003 21.748998,21.60199 21.748998,21.649994 21.743993,21.700012 21.735021,21.747009 21.137981,24.774994 18.775997,27.144989 15.74904,27.75 L6.7491024,27.75 C3.7231224,27.144989 1.3601628,24.774994 0.76312089,21.747009 0.75414884,21.700012 0.74914402,21.649994 0.75012076,21.60199 0.78912175,17.259003 4.3221171,13.75 8.6751149,13.75 z M11.249014,0.75 C14.287014,0.75 16.749015,3.2119999 16.749015,6.25 16.749015,9.2880001 14.287014,11.75 11.249014,11.75 8.211015,11.75 5.7490147,9.2880001 5.7490147,6.25 5.7490147,3.2119999 8.211015,0.75 11.249014,0.75 z",Script:"M22.3,80.4 A82.9529,77.0159,-180,0,0,10.3,46.7 A69.8467,64.8477,0,0,1,0,19.7 A27.6207,25.6439,0,0,1,12.1,0 L84.7,0 A37.4124,34.7347,-180,0,0,77.7,19.6 A82.8871,76.9547,-180,0,0,89.7,53.3 A69.8146,64.81790000000001,0,0,1,100,80.3 A27.603399999999997,25.6278,0,0,1,87.9,100 L15.3,100 A37.4265,34.7479,-180,0,0,22.3,80.4 M12.5,28.6 L67.3,28.6 M18.3,42.9 L72.1,42.9 M80.8,57.1 L26,57.1 M85.6,71.4 L32.6,71.4"},Hp={None:"",Standard:"M 52.002 73.379 c -2.494 -2.536 -6.55 -2.534 -9.043 0 c -1.208 1.228 -1.874 2.861 -1.874 4.598 c 0 1.225 0.337 2.395 0.957 3.411 l -1.167 1.186 l 2.071 0.458 l 2.071 0.458 l -0.45 -2.106 l -0.45 -2.106 l -1.292 1.314c -1.119 -2.065 -0.842 -4.709 0.877 -6.458 c 2.084 -2.119 5.475 -2.117 7.557 0 c 2.083 2.119 2.083 5.565 0 7.685c -0.976 0.992 -2.272 1.557 -3.65 1.59 l 0.025 1.068 c 1.65 -0.041 3.2 -0.716 4.368 -1.903 c 1.208 -1.228 1.874 -2.861 1.874 -4.597 C 53.875 76.24 53.209 74.607 52.002 73.379 Z",ParallelMultiInstance:"M 51.5,69.5 L52.5,69.5 L52.5,84.5 L51.5 84.5 Z M 46.5,69.5 L47.5,69.5 L47.5,84.5 L46.5 84.5 Z M 41.5,69.5 L42.5,69.5 L42.5,84.5 L41.5 84.5 Z  ",SequenceMultiInstance:"M 40.375,71.5 L 55.375,71.5 L 55.375,72.5 L 40.375,72.5 Z M 40.375,76.5 L 55.375,76.5 L 55.375,77.5 L 40.375,77.5 Z M 40.375,76.5 L 55.375,76.5 L 55.375,77.5 L 40.375,77.5 Z M 40.375,81.5 L 55.375,81.5L 55.375,82.5 L 40.375,82.5 Z"},Wp=function(){function t(){}return t.prototype.updateBridging=function(t,e){var i,r=[];if(t.bridges=[],Te(t,e)){var n=this.getPoints(t);i=ms.toBounds(n);for(var o=t.bridgeSpace,a=e.bridgeDirection||"Top",s=-1,h=e.connectors,d=0;d<h.length;d++){var l=h[parseInt(d.toString(),10)];if(t&&l&&t.id!==l.id&&l.visible){var c=this.getPoints(l),p=ms.toBounds(c);if(this.intersectsRect(i,p)){var g=this.intersect(n,c,!1,a,!0);if(g.length>0)for(var u=0;u<g.length;u++){var f=0,m=0,y=0,v=this.getLengthAtFractionPoint(t,g[parseInt(u.toString(),10)]);if(-1!==v.pointIndex){f=v.lengthFractionIndex,v.fullLength,m=v.segmentIndex,y=v.pointIndex;var b=this.getPointAtLength(f-o/2,n),S=this.getPointAtLength(f+o/2,n);this.isEmptyPoint(S)&&(S=b);var w=void 0,x=t.sourcePoint;w="Straight"===t.type?t.targetPoint:t.intermediatePoints[parseInt(y.toString(),10)];var I=this.angleCalculation(x,w);if(r.length){var C=t.sourcePoint,P=Math.abs(this.lengthCalculation(C,S)),D=0,T=-1;s=-1;for(var A=0;A<r[parseInt(m.toString(),10)].bridges.length;A++){s++;var O=r[parseInt(m.toString(),10)].bridges[parseInt(A.toString(),10)];if(D=Math.abs(this.lengthCalculation(C,O.endPoint)),P<D){T=s;break}}if(T>=0)(M=this.createSegment(b,S,I,a,y,t,e)).target=l.id,r[parseInt(m.toString(),10)].bridges.splice(T,0,M),r[parseInt(m.toString(),10)].bridges.join(),r[parseInt(m.toString(),10)].bridgeStartPoint.splice(T,0,b),r[parseInt(m.toString(),10)].bridgeStartPoint.join(),r[parseInt(m.toString(),10)].segmentIndex=m;else{var M=this.createSegment(b,S,I,a,y,t,e);M.target=l.id,r[parseInt(m.toString(),10)].bridges.push(M),r[parseInt(m.toString(),10)].bridgeStartPoint.push(b),r[parseInt(m.toString(),10)].segmentIndex=m}}else if(!isNaN(b.x)&&!isNaN(b.y)&&!this.isEmptyPoint(S)){var E=[],L=[],z=this.createSegment(b,S,I,a,y,t,e),k={bridges:E,bridgeStartPoint:L,segmentIndex:m};z.target=l.id;var B=[],N=[];B.push(b),N.push(S),r[parseInt(m.toString(),10)]=k,r[parseInt(m.toString(),10)].bridges.push(z),r[parseInt(m.toString(),10)].bridgeStartPoint=B,r[parseInt(m.toString(),10)].segmentIndex=m}}}}}}0!==r.length&&this.firstBridge(r,t,o)}},t.prototype.firstBridge=function(t,e,i){for(var r=0;r<t.length;r++){for(var n=t[parseInt(r.toString(),10)],o=1;o<n.bridges.length;o++)if(fs.findLength(n.bridges[parseInt(o.toString(),10)].endPoint,n.bridges[o-1].endPoint)<i){n.bridges[o-1].endPoint=n.bridges[parseInt(o.toString(),10)].endPoint;var a=n.bridges[o-1],s=this.createBridgeSegment(a.startPoint,a.endPoint,a.angle,i,a.sweep);n.bridges[o-1].path=s,n.bridges.splice(o,1),n.bridgeStartPoint.splice(o,1),o--}e.sourcePoint;for(var h=0;h<n.bridges.length;h++)(a=n.bridges[parseInt(h.toString(),10)]).endPoint,e.bridges.push(a)}},t.prototype.createSegment=function(t,e,i,r,n,o,a){var s={angle:0,endPoint:{x:0,y:0},target:"",path:"",segmentPointIndex:-1,startPoint:{x:0,y:0},sweep:1,rendered:!1},h=this.sweepDirection(i,r,o,a),d=this.createBridgeSegment(t,e,i,o.bridgeSpace,h);return s.path=d,s.startPoint=t,s.endPoint=e,s.angle=i,s.segmentPointIndex=n,s.sweep=h,s},t.prototype.createBridgeSegment=function(t,e,i,r,n){return"A "+r/2+" "+r/2+" "+i+" , 1 "+n+" "+e.x+","+e.y},t.prototype.sweepDirection=function(t,e,i,r){var n,o=Math.abs(t);switch(e){case"Top":case"Bottom":n=1,o>=0&&o<=90&&(n=0);break;case"Left":case"Right":n=1,t<0&&t>=-180&&(n=0)}return"Right"!==e&&"Bottom"!==e||(n=0===n?1:0),n},t.prototype.getPointAtLength=function(t,e){for(var i,r=0,n={x:0,y:0},o=0;o<e.length;o++){var a=e[parseInt(o.toString(),10)];if(i){var s=this.lengthCalculation(i,a);if(r+s>t){var h=t-r,d=fs.findAngle(i,a),l=h*Math.cos(d*Math.PI/180),c=h*Math.sin(d*Math.PI/180);n={x:i.x+l,y:i.y+c};break}r+=s,i=a}else i=a}return n},t.prototype.getPoints=function(t){var e=[];if(t.intermediatePoints&&("Straight"===t.type||"Orthogonal"===t.type))for(var i=0;i<t.intermediatePoints.length;i++)e.push(t.intermediatePoints[parseInt(i.toString(),10)]);return e},t.prototype.intersectsRect=function(t,e){return e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height},t.prototype.intersect=function(t,e,i,r,n){i&&e.length>=2&&(e.splice(0,1),e.splice(0,1));for(var o=[],a=0;a<t.length-1;a++){var s=this.inter1(t[parseInt(a.toString(),10)],t[a+1],e,n,r);if(s.length>0)for(var h=0;h<s.length;h++)o.push(s[parseInt(h.toString(),10)]);i&&e.length>=1&&e.splice(0,1)}return o},t.prototype.inter1=function(t,e,i,r,n){for(var o=[],a=0;a<i.length-1;a++){var s=mn(t,e,i[parseInt(a.toString(),10)],i[a+1]);if(!this.isEmptyPoint(s)){var h=this.angleCalculation(t,e),d=this.angleCalculation(i[parseInt(a.toString(),10)],i[a+1]);switch(h=this.checkForHorizontalLine(h),d=this.checkForHorizontalLine(d),n){case"Left":case"Right":h>d&&o.push(s);break;case"Top":case"Bottom":h<d&&o.push(s)}h===d&&r&&o.push(s)}}return o},t.prototype.checkForHorizontalLine=function(t){var e=Math.abs(t);return e>90?180-e:e},t.prototype.isEmptyPoint=function(t){return 0===t.x&&0===t.y},t.prototype.getLengthAtFractionPoint=function(t,e){for(var i=100,r=-1,n=0,o=-1,a=0,s=0,h=t.sourcePoint,d=h,l=[],c=0;c<t.intermediatePoints.length;c++){var p=t.intermediatePoints[parseInt(c.toString(),10)];l.push(p)}for(var g=0;g<l.length;g++){var u=l[parseInt(g.toString(),10)],f=this.getSlope(u,h,e,t);f<i&&(i=f,s=n+this.lengthCalculation(e,d),o=a,r=g),n+=fs.findLength(u,h),h=u,d=u}return a++,{lengthFractionIndex:s,fullLength:n,segmentIndex:o,pointIndex:r}},t.prototype.getSlope=function(t,e,i,r){var n=Math.abs(t.x-e.x),o=Math.abs(t.y-e.y),a=(i.y-t.y)/(e.y-t.y),s=(i.x-t.x)/(e.x-t.x);if(!isFinite(a)||!isFinite(s)||isNaN(a)||isNaN(s)){if(t.x===e.x){if(t.y===e.y)return 1e4;if(t.y>i.y&&i.y>e.y||t.y<i.y&&i.y<e.y)return Math.abs(t.x-i.x)}else if(t.y===e.y&&(t.x>i.x&&i.x>e.x||t.x<i.x&&i.x<e.x))return Math.abs(t.y-i.y)}else if((t.x>=i.x&&i.x>=e.x||t.x<=i.x&&i.x<=e.x||n<3)&&(t.y>=i.y&&i.y>=e.y||t.y<=i.y&&i.y<=e.y||o<3))return Math.abs(a-s);return 1e4},t.prototype.angleCalculation=function(t,e){var i=t.x-e.x,r=t.y-e.y;return Math.atan2(r,i)*(180/Math.PI)},t.prototype.lengthCalculation=function(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))},t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"Bridging"},t}(),_p=function(){function e(t){this.line=[],this.diagram=t}return e.prototype.canSnap=function(){return 0!=(this.diagram.snapSettings.constraints&(t.SnapConstraints.SnapToObject|t.SnapConstraints.SnapToLines))},e.prototype.getWrapperObject=function(e,i){if(e.nodes&&e.nodes.length>0&&(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToLines||this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject))for(var r=0;r<e.nodes.length;r++)return("SwimLane"===e.nodes[parseInt(r.toString(),10)].shape.type||e.nodes[parseInt(r.toString(),10)].isLane||""!==e.nodes[parseInt(r.toString(),10)].parentId&&i[e.nodes[parseInt(r.toString(),10)].parentId]&&i[e.nodes[parseInt(r.toString(),10)].parentId].isLane)&&i.helper?i.helper.wrapper:e.wrapper;return e.wrapper},e.prototype.setSnapLineColor=function(){return this.diagram.snapSettings.snapLineColor},e.prototype.snapPoint=function(e,i,r,n,o,a,s){var h=this.diagram.snapSettings,d=this.diagram.scroller.currentZoom,l={x:0,y:0},c=z(this.getWrapperObject(i,e.nameTable)),p={snapped:!1,offset:0},g={snapped:!1,offset:0};if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject){var u=document.createElementNS("http://www.w3.org/2000/svg","g");u.setAttribute("id","_SnappingLines"),u.setAttribute("shapeRendering","crispEdges"),this.getAdornerLayerSvg().appendChild(u),this.snapObject(e,i,u,p,g,o,a===s)}var f=c.x+o.x,m=c.y+o.y,y=c.x+c.width+o.x,v=c.y+c.height+o.y,b=h.verticalGridlines.scaledIntervals,S=this.round(y,b,d),w=this.round(f,b,d);b=h.horizontalGridlines.scaledIntervals;var x=this.round(m,b,d),I=this.round(v,b,d),C=c.x+c.width,P=c.y+c.height;return p.snapped?this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject?l.x=p.offset:l.x=s.x-a.x:this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToVerticalLines?Math.abs(o.x)>=1&&(r?Math.abs(S-C)>Math.abs(w-c.x)?l.x+=w-c.x:l.x+=S-C:Math.abs(S-C)<Math.abs(w-c.x)?l.x+=S-C:l.x+=w-c.x):l.x=s.x-a.x,g.snapped?l.y=g.offset:this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToHorizontalLines?Math.abs(o.y)>=1&&(n?Math.abs(I-P)>Math.abs(x-c.y)?l.y+=x-c.y:l.y+=I-P:Math.abs(I-P)<Math.abs(x-c.y)?l.y+=I-P:l.y+=x-c.y):l.y=s.y-a.y,l},e.prototype.round=function(t,e,i){i=1===i?Math.pow(2,Math.floor(Math.log(i)/Math.log(2))):i;var r=0,n=0;for(n=0;n<e.length;n++)r+=e[parseInt(n.toString(),10)];var o=t%(r/=i),a=Math.floor(Math.abs(t)/r)*r;if(a!==t)if(t>=0)for(n=0;n<e.length;n++){if(o<=e[parseInt(n.toString(),10)]/i)return a+(o<e[parseInt(n.toString(),10)]/(2*i)?0:e[parseInt(n.toString(),10)]/i);a+=e[parseInt(n.toString(),10)]/i,o-=e[parseInt(n.toString(),10)]/i}else for(a*=-1,n=e.length-1;n>=0;n--){if(Math.abs(o)<=e[parseInt(n.toString(),10)]/i)return a-(Math.abs(o)<e[parseInt(n.toString(),10)]/(2*i)?0:e[parseInt(n.toString(),10)]/i);a-=e[parseInt(n.toString(),10)]/i,o+=e[parseInt(n.toString(),10)]/i}return t},e.prototype.snapObject=function(t,e,i,r,n,o,a){var s,h,d,l=null,c=this.diagram.scroller,p=this.diagram.snapSettings,g=[],u=[],f=[],m=[],y=z(this.getWrapperObject(e,t.nameTable)),v=t.scroller.currentZoom,b=-c.horizontalOffset,S=-c.verticalOffset,w=p.snapObjectDistance/v,x=new ms(0,0,c.viewPortWidth,c.viewPortHeight),I=new ms(b/v,y.y-w-5,x.width/v,y.height+2*w+10),C=new ms(y.x-w-5,S/v,y.width+2*w+10,x.height/v);x=new ms(b/v,S/v,x.width/v,x.height/v);var P,D,T,A=this.findNodes(t.spatialSearch,e,C,x),O=t.nameTable;for(P=0;P<A.length;P++)D=A[parseInt(P.toString(),10)],this.canBeTarget(t,D)&&(this.diagram.nameTable[D.id]instanceof xd||!this.canConsider(O,e,D)||((T=D.bounds).height+T.y<o.y+y.y?f.push({obj:D,distance:Math.abs(y.y+o.y-T.y-T.height)}):T.y>y.y+o.y+y.height&&m.push({obj:D,distance:Math.abs(y.y+o.y+y.height-T.y)}),(null==l||l>Math.abs(T.y-y.y-o.y))&&(Math.abs(T.x+T.width/2-(y.x+y.width/2+o.x))<=w?(h=this.createSnapObject(T,y,"centerX"),l=Math.abs(T.y-y.y)):Math.abs(T.x+T.width-(y.x+y.width+o.x))<=w?(h=this.createSnapObject(T,y,"right"),l=Math.abs(T.y-y.y)):Math.abs(T.x-(y.x+o.x))<=w?(h=this.createSnapObject(T,y,"left"),l=Math.abs(T.y-y.y)):Math.abs(T.x-(y.x+y.width+o.x))<=w?(h=this.createSnapObject(T,y,"rightLeft"),l=Math.abs(T.y-y.y)):Math.abs(T.x+T.width-(y.x+o.x))<=w&&(h=this.createSnapObject(T,y,"leftRight"),l=Math.abs(T.y-y.y)))));A=this.findNodes(t.spatialSearch,e,I,x);for(var M=0;M<A.length;M++)D=A[parseInt(M.toString(),10)],this.canBeTarget(t,D)&&(this.diagram.nameTable[D.id]instanceof xd||!this.canConsider(O,e,D)||((T=D.bounds).x+T.width<y.x+o.x&&(g[g.length]={obj:D,distance:Math.abs(y.x+o.x-T.x-T.width)}),T.x>y.x+o.x+y.width&&(u[u.length]={obj:D,distance:Math.abs(y.x+o.x+y.width-T.x)}),(null==s||s>Math.abs(T.x-y.x-o.x))&&(Math.abs(T.y+T.height/2-(y.y+y.height/2+o.y))<=w?(d=this.createSnapObject(T,y,"centerY"),s=Math.abs(T.x-y.x)):Math.abs(T.y-y.y-o.y)<=w?(d=this.createSnapObject(T,y,"top"),s=Math.abs(T.x-y.x)):Math.abs(T.y+T.height-(y.y+y.height+o.y))<=w?(d=this.createSnapObject(T,y,"bottom"),s=Math.abs(T.x-y.x)):Math.abs(T.y+T.height-y.y-o.y)<=w?(d=this.createSnapObject(T,y,"topBottom"),s=Math.abs(T.x-y.x)):Math.abs(T.y-(y.y+y.height+o.y))<=w&&(d=this.createSnapObject(T,y,"bottomTop"),s=Math.abs(T.x-y.x)))));this.createGuidelines(t,h,d,i,r,n,a),r.snapped||this.createHSpacingLines(t,i,e,g,u,r,n,a,o,w),n.snapped||this.createVSpacingLines(t,i,e,f,m,r,n,a,o,w)},e.prototype.snapConnectorEnd=function(e){var i=this.diagram.snapSettings,r=this.diagram.scroller.currentZoom;return i.constraints&t.SnapConstraints.SnapToLines&&(e.x=this.round(e.x,i.verticalGridlines.scaledIntervals,r),e.y=this.round(e.y,i.horizontalGridlines.scaledIntervals,r)),e},e.prototype.canBeTarget=function(t,e){return e=this.diagram.nameTable[e.id],!zr(this.diagram,e,!1)},e.prototype.snapSize=function(t,e,i,r,n,o,a,s){var h,d,l,c,p=this.diagram.snapSettings,g=this.diagram.scroller,u=z(a.wrapper),f=t.nameTable,m=[],y=[],v=t.scroller.currentZoom,b=-g.horizontalOffset,S=-g.verticalOffset,w=p.snapObjectDistance/v,x=new ms(0,0,g.viewPortWidth,g.viewPortHeight),I=new ms(b/v,(u.y-5)/v,x.width/v,(u.height+10)/v),C=new ms((u.x-5)/v,S/v,(u.width+10)/v,x.height/v);x=new ms(b/v,S/v,x.width/v,x.height/v);var P,D,T,A=[],O=this.findNodes(t.spatialSearch,a,C,x,A);for(P=0;P<O.length;P++)D=O[parseInt(P.toString(),10)],!this.canConsider(f,a,D)||this.diagram.nameTable[D.id]instanceof xd||(T=D.bounds,(null==h||h>Math.abs(T.y-u.y))&&(e.left?Math.abs(u.x+n-T.x)<=w?(l=this.createSnapObject(T,u,"left"),h=Math.abs(T.y-u.y)):Math.abs(u.x+n-T.x-T.width)<=w&&(l=this.createSnapObject(T,u,"leftRight"),h=Math.abs(T.y-u.y)):e.right&&(Math.abs(u.x+n+u.width-T.x-T.width)<=w?(l=this.createSnapObject(T,u,"right"),h=Math.abs(T.y-u.y)):Math.abs(u.x+n+u.width-T.x)<=w&&(l=this.createSnapObject(T,u,"rightLeft"),h=Math.abs(T.y-u.y)))));O=this.findNodes(t.spatialSearch,a,I,x);for(var M=0;M<O.length;M++){var E=O[parseInt(M.toString(),10)];if(this.canConsider(f,a,E)&&!(this.diagram.nameTable[E.id]instanceof xd)){var L=E.bounds;(null==d||d>Math.abs(L.x-u.x))&&(i.top?Math.abs(u.y+o-L.y)<=w?(c=this.createSnapObject(L,u,"top"),d=Math.abs(L.x-u.x)):Math.abs(u.y+o-L.y-L.height)<=w&&(c=this.createSnapObject(L,u,"topBottom"),d=Math.abs(L.x-u.x)):i.bottom&&(Math.abs(u.y+u.height+o-L.y-L.height)<=w?(c=this.createSnapObject(L,u,"bottom"),d=Math.abs(L.x-u.x)):Math.abs(u.y+u.height+o-L.y)<=w&&(c=this.createSnapObject(L,u,"bottomTop"),d=Math.abs(L.x-u.x))))}}for(P=0;P<A.length;P++)if(D=A[parseInt(P.toString(),10)],this.canConsider(f,a,D)){var k=D.bounds,B=e.left?-n:n,N=Math.abs(u.width+B-k.width),R=void 0;N<=w&&(R=e.left?-k.width+u.width:k.width-u.width,m[m.length]={source:D,difference:N,offset:R}),B=i.top?-o:o;var j=Math.abs(u.height+B-k.height);j<=w&&(R=i.top?-k.height+u.height:k.height-u.height,y[y.length]={source:D,difference:j,offset:R})}if(!t.getTool)this.createGuidelines(t,l,c,r,e,i,s);!e.snapped&&m.length>0&&(e.left||e.right)&&this.addSameWidthLines(t,r,m,e,s,a),!i.snapped&&y.length>0&&(i.top||i.bottom)&&this.addSameHeightLines(t,r,y,i,s,a)},e.prototype.snapTop=function(e,i,r,n,o,a,s,h){var d=o;i.top=!0;var l;e.left=e.right=!1;var c=this.diagram.scroller.currentZoom;if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&!a.rotateAngle&&(l=h.y-h.height*a.pivot.y+o-(a.offsetY-a.height*a.pivot.y),this.snapSize(this.diagram,e,i,r,n,l,this.diagram.selectedItems,s)),i.snapped)d=o-l+i.offset;else if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToHorizontalLines){var p=h.y-h.height*a.pivot.y,g=p+o;d=this.round(g,this.diagram.snapSettings.horizontalGridlines.scaledIntervals,c)-p}return d},e.prototype.snapRight=function(e,i,r,n,o,a,s,h){var d,l=n;e.right=!0,i.top=i.bottom=!1;var c=this.diagram.scroller.currentZoom;if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&!a.rotateAngle&&(d=h.x+h.width*(1-a.pivot.x)+n-(a.offsetX+a.width*(1-a.pivot.x)),this.snapSize(this.diagram,e,i,r,d,o,this.diagram.selectedItems,s)),e.snapped)l=n-d+e.offset;else if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToVerticalLines){var p=h.x+h.width*(1-a.pivot.x),g=p+n;l=this.round(g,this.diagram.snapSettings.verticalGridlines.scaledIntervals,c)-p}return l},e.prototype.snapLeft=function(e,i,r,n,o,a,s,h){var d=n,l=0;e.left=!0,i.top=i.bottom=!1;var c=this.diagram.scroller.currentZoom;if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&!a.rotateAngle&&(l=h.x-h.width*a.pivot.x+n-(a.offsetX-a.width*a.pivot.x),this.snapSize(this.diagram,e,i,r,l,o,this.diagram.selectedItems,s)),e.snapped)d=n-l+e.offset;else if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToVerticalLines){var p=h.x-h.width*a.pivot.x,g=p+n;d=this.round(g,this.diagram.snapSettings.horizontalGridlines.scaledIntervals,c)-p}return d},e.prototype.snapBottom=function(e,i,r,n,o,a,s,h){var d=o;i.bottom=!0,e.left=e.right=!1;var l=this.diagram.scroller.currentZoom,c=0;this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&!a.rotateAngle&&(c=h.y+h.height*(1-a.pivot.y)+o-(a.offsetY+a.height*(1-a.pivot.y)),this.snapSize(this.diagram,e,i,r,n,c,this.diagram.selectedItems,s));z(a instanceof js||a instanceof wh?a:a.wrapper);if(i.snapped)d=o-c+i.offset;else if(this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToHorizontalLines){var p=h.y+h.height*(1-a.pivot.y),g=p+o;d=this.round(g,this.diagram.snapSettings.horizontalGridlines.scaledIntervals,l)-p}return d},e.prototype.createGuidelines=function(t,e,i,r,n,o,a){return e&&(n.offset=e.offsetX,n.snapped=!0,a||(e.type,this.renderAlignmentLines(e.start,e.end,r,t.scroller.transform))),i&&(o.offset=i.offsetY,o.snapped=!0,a||(i.type,this.renderAlignmentLines(i.start,i.end,r,t.scroller.transform))),r},e.prototype.renderAlignmentLines=function(t,e,i,r){t={x:(t.x+r.tx)*r.scale,y:(t.y+r.ty)*r.scale},e={x:(e.x+r.tx)*r.scale,y:(e.y+r.ty)*r.scale};var n={stroke:this.setSnapLineColor(),strokeWidth:1,startPoint:{x:t.x,y:t.y},endPoint:{x:e.x,y:e.y},fill:this.setSnapLineColor(),dashArray:"",width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,opacity:1,id:O()},o=0;for(this.line.push(n),o=0;o<this.line.length;o++)this.diagram.diagramRenderer.drawLine(i,this.line.pop())},e.prototype.createHSpacingLines=function(t,e,i,r,n,o,a,s,h,d){var l=0;this.sortByDistance(r,"distance",!0),this.sortByDistance(n,"distance",!0);var c,p=[];c=z(t.selectedObject.helperObject?t.selectedObject.helperObject.wrapper:i.wrapper);var g,u,f,m;if(r.length>0&&(p[p.length]=r[0],l=(g=r[0].obj.bounds).y,r.length>1?(f=r[1].obj.bounds,m=g.x-f.x-f.width,Math.abs(m-r[0].distance)<=d?l=this.findEquallySpacedNodesAtLeft(r,m,l,p):m=r[0].distance):m=r[0].distance),this.sortByDistance(p,"distance"),p[p.length]={obj:i,distance:0},l=c.y<l||!l?c.y:l,n.length>0){var y=void 0;if(u=n[0].obj.bounds,l=u.y<l?u.y:l,n.length>1&&(y=(f=n[1].obj.bounds).x-u.x-u.width),r.length>0)if(Math.abs(n[0].distance-r[0].distance)<=d){var v=Math.abs(n[0].distance-r[0].distance)/2;n[0].distance<r[0].distance?m-=v:m+=v,p[p.length]=n[0]}else 1===r.length&&(g=void 0,p.splice(0,1),p[p.length]=n[0],m=y);else m=y,p[p.length]=n[0];n.length>1&&u.x+u.width<f.x&&(l=this.findEquallySpacedNodesAtRight(n,y,l,p,d))}if(p.length>2){this.addHSpacingLines(t,e,p,s,l);var b=0;s&&(b=h.x),g?o.offset=m-Math.abs(c.x+b-g.x-g.width)+b:u&&(o.offset=Math.abs(c.x+c.width+b-u.x)-m+b),o.snapped=!0}},e.prototype.createVSpacingLines=function(t,e,i,r,n,o,a,s,h,d){var l=0;this.sortByDistance(r,"distance",!0),this.sortByDistance(n,"distance",!0);var c,p,g,u,f=[],m=z(this.getWrapperObject(i,t.nameTable));r.length>0&&(f[f.length]=r[0],l=(c=r[0].obj.bounds).x+c.width,r.length>1?(g=r[1].obj.bounds,u=c.y-g.y-g.height,Math.abs(u-r[0].distance)<=d?l=this.findEquallySpacedNodesAtTop(r,u,l,f):u=r[0].distance):u=r[0].distance),this.sortByDistance(f,"distance"),f[f.length]={obj:i,distance:0},l=m.x+m.width>l||!l?m.x+m.width:l;var y;if(n.length>0){if(p=n[0].obj.bounds,l=p.x+p.width>l?p.x+p.width:l,n.length>1&&(y=(g=n[1].obj.bounds).y-p.y-p.height),r.length>0)if(Math.abs(n[0].distance-r[0].distance)<=d){var v=Math.abs(n[0].distance-r[0].distance)/2;n[0].distance<r[0].distance?u-=v:u+=v,f[f.length]=n[0]}else 1===r.length&&(c=void 0,f.splice(0,1),f[f.length]=n[0],u=y);else u=y,f[f.length]=n[0];n.length>1&&g.y>p.y+p.height&&(l=this.findEquallySpacedNodesAtBottom(n,y,l,f,d))}if(f.length>2){this.addVSpacingLines(t,e,f,s,l);var b=0;s&&(b=h.y),c?a.offset=u-Math.abs(m.y+b-c.y-c.height)+b:p&&(a.offset=Math.abs(m.y+m.height+b-p.y)-u+b),a.snapped=!0}},e.prototype.addHSpacingLines=function(t,e,i,r,n){var o,a,s;if(!r)for(o=0;o<i.length-1;o++){var h=i[parseInt(o.toString(),10)].obj instanceof Ul?z(i[parseInt(o.toString(),10)].obj.wrapper):i[parseInt(o.toString(),10)].obj.bounds,d=i[o+1].obj instanceof Ul?z(i[o+1].obj.wrapper):i[o+1].obj.bounds;a={x:h.x+h.width,y:n-15},s={x:d.x,y:n-15},this.renderSpacingLines(a,s,e,this.getAdornerLayerSvg(),t.scroller.transform)}},e.prototype.addVSpacingLines=function(t,e,i,r,n){var o,a;if(!r)for(var s=0;s<i.length-1;s++){var h=i[parseInt(s.toString(),10)].obj instanceof Ul?z(i[parseInt(s.toString(),10)].obj.wrapper):i[parseInt(s.toString(),10)].obj.bounds,d=i[s+1].obj instanceof Ul?z(i[s+1].obj.wrapper):i[s+1].obj.bounds;o={x:n+15,y:h.y+h.height},a={x:n+15,y:d.y},this.renderSpacingLines(o,a,e,this.getAdornerLayerSvg(),t.scroller.transform)}},e.prototype.addSameWidthLines=function(t,e,i,r,n,o){this.sortByDistance(i,"offset");var a,s,h=z(o.wrapper),d=i[0],l=d.source.bounds,c=[];c.push(i[0]);var p;for(p=1;p<i.length;p++)i[parseInt(p.toString(),10)].source.bounds.width===l.width&&c.push(i[parseInt(p.toString(),10)]);if(!n)for(a={x:h.x+d.offset,y:h.y-15},s={x:h.x+h.width+d.offset,y:h.y-15},this.renderSpacingLines(a,s,e,this.getAdornerLayerSvg(),t.scroller.transform),p=0;p<c.length;p++)a={x:(h=c[parseInt(p.toString(),10)].source.bounds).x,y:h.y-15},s={x:h.x+h.width,y:h.y-15},this.renderSpacingLines(a,s,e,this.getAdornerLayerSvg(),t.scroller.transform);r.offset=d.offset,r.snapped=!0},e.prototype.addSameHeightLines=function(t,e,i,r,n,o){this.sortByDistance(i,"offset");var a,s,h=z(o.wrapper),d=i[0],l=d.source.bounds,c=[];c.push(i[0]);var p;for(p=0;p<i.length;p++)i[parseInt(p.toString(),10)].source.bounds.height===l.height&&c.push(i[parseInt(p.toString(),10)]);if(!n)for(a={x:h.x+h.width+15,y:h.y+d.offset},s={x:h.x+h.width+15,y:h.y+d.offset+h.height},this.renderSpacingLines(a,s,e,this.getAdornerLayerSvg(),t.scroller.transform),p=0;p<c.length;p++)a={x:(h=c[parseInt(p.toString(),10)].source.bounds).x+h.width+15,y:h.y},s={x:h.x+h.width+15,y:h.y+h.height},this.renderSpacingLines(a,s,e,this.getAdornerLayerSvg(),t.scroller.transform);r.offset=d.offset,r.snapped=!0},e.prototype.renderSpacingLines=function(t,e,i,r,n){var o,a,s=new Ws,h={};t={x:(t.x+n.tx)*n.scale,y:(t.y+n.ty)*n.scale},e={x:(e.x+n.tx)*n.scale,y:(e.y+n.ty)*n.scale},t.x===e.x?(o="M"+(t.x-5)+" "+(t.y+5)+"L"+t.x+" "+t.y+"L"+(t.x+5)+" "+(t.y+5)+"zM"+(e.x-5)+" "+(e.y-5)+" L"+e.x+" "+e.y+" L"+(e.x+5)+" "+(e.y-5)+"z",a={startPoint:{x:t.x-8,y:t.y-1},endPoint:{x:t.x+8,y:t.y-1},stroke:this.setSnapLineColor(),strokeWidth:1,fill:this.setSnapLineColor(),dashArray:"",width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,opacity:1,id:O()},s.data=o,h.data=s.data,h.angle=0,h.pivotX=0,h.pivotY=0,h.x=0,h.y=0,h.height=0,h.width=1,h.id=O(),this.diagram.diagramRenderer.drawPath(i,h),this.line.push(a),this.diagram.diagramRenderer.drawLine(i,this.line.pop()),a={startPoint:{x:e.x-8,y:e.y+1},endPoint:{x:e.x+8,y:e.y+1},stroke:this.setSnapLineColor(),strokeWidth:1,fill:this.setSnapLineColor(),dashArray:"",width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,opacity:1,id:this.getAdornerLayerSvg().id+"spacing"},this.line.push(a),this.diagram.diagramRenderer.drawLine(i,this.line.pop())):(o="M"+(t.x+5)+" "+(t.y+5)+" L"+t.x+" "+t.y+" L"+(t.x+5)+" "+(t.y-5)+"zM"+(e.x-5)+" "+(e.y-5)+" L"+e.x+" "+e.y+" L"+(e.x-5)+" "+(e.y+5)+"z",s.data=o,h.data=o,h.angle=0,h.pivotX=0,h.pivotY=0,h.x=0,h.y=0,h.height=0,h.width=1,h.id=O(),this.diagram.diagramRenderer.drawPath(i,h),a={visible:!0,opacity:1,id:O(),startPoint:{x:t.x-1,y:t.y-8},endPoint:{x:t.x-1,y:t.y+8},stroke:this.setSnapLineColor(),strokeWidth:1,fill:this.setSnapLineColor(),dashArray:"0",width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0},this.line.push(a),this.diagram.diagramRenderer.drawLine(i,this.line.pop()),a={width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,opacity:1,id:O(),startPoint:{x:e.x+1,y:e.y-8},endPoint:{x:e.x+1,y:e.y+8},stroke:this.setSnapLineColor(),strokeWidth:1,fill:this.setSnapLineColor(),dashArray:"0"},this.line.push(a),this.diagram.diagramRenderer.drawLine(i,this.line.pop())),a={startPoint:{x:t.x,y:t.y},endPoint:{x:e.x,y:e.y},stroke:this.setSnapLineColor(),strokeWidth:1,fill:this.setSnapLineColor(),dashArray:"0",width:1,x:0,y:0,height:0,angle:0,pivotX:0,pivotY:0,visible:!0,opacity:1,id:O()},this.line.push(a),this.diagram.diagramRenderer.drawLine(i,this.line.pop())},e.prototype.createSnapObject=function(t,e,i){var r;switch(i){case"left":r={start:{x:t.x,y:Math.min(t.y,e.y)},end:{x:t.x,y:Math.max(t.y+t.height,e.y+e.height)},offsetX:t.x-e.x,offsetY:0,type:"sideAlign"};break;case"right":r={type:"sideAlign",start:{x:t.x+t.width,y:Math.min(t.y,e.y)},offsetX:t.x+t.width-e.x-e.width,offsetY:0,end:{x:t.x+t.width,y:Math.max(t.y+t.height,e.y+e.height)}};break;case"top":r={offsetY:t.y-e.y,offsetX:0,type:"sideAlign",start:{x:Math.min(t.x,e.x),y:t.y},end:{x:Math.max(t.x+t.width,e.x+e.width),y:t.y}};break;case"bottom":r={type:"sideAlign",offsetY:t.y+t.height-e.y-e.height,offsetX:0,end:{x:Math.max(t.x+t.width,e.x+e.width),y:t.y+t.height},start:{x:Math.min(t.x,e.x),y:t.y+t.height}};break;case"topBottom":r={start:{x:Math.min(t.x,e.x),y:t.y+t.height},end:{x:Math.max(t.x+t.width,e.x+e.width),y:t.y+t.height},offsetY:t.y+t.height-e.y,offsetX:0,type:"sideAlign"};break;case"bottomTop":r={start:{x:Math.min(t.x,e.x),y:t.y},end:{x:Math.max(t.x+t.width,e.x+e.width),y:t.y},offsetY:t.y-e.y-e.height,offsetX:0,type:"sideAlign"};break;case"leftRight":r={start:{x:t.x+t.width,y:Math.min(t.y,e.y)},end:{x:t.x+t.width,y:Math.max(t.y+t.height,e.y+e.height)},offsetX:t.x+t.width-e.x,offsetY:0,type:"sideAlign"};break;case"rightLeft":r={start:{x:t.x,y:Math.min(t.y,e.y)},end:{x:t.x,y:Math.max(t.y+t.height,e.y+e.height)},offsetX:t.x-e.x-e.width,offsetY:0,type:"sideAlign"};break;case"centerX":r={start:{x:t.x+t.width/2,y:Math.min(t.y,e.y)},end:{x:t.x+t.width/2,y:Math.max(t.y+t.height,e.y+e.height)},offsetX:t.x+t.width/2-(e.x+e.width/2),offsetY:0,type:"centerAlign"};break;case"centerY":r={start:{x:Math.min(t.x,e.x),y:t.y+t.height/2},end:{x:Math.max(t.x+t.width,e.x+e.width),y:t.y+t.height/2},offsetY:t.y+t.height/2-(e.y+e.height/2),offsetX:0,type:"centerAlign"}}return r},e.prototype.snapAngle=function(t,e){var i=this.diagram.snapSettings.snapAngle,r=e%(i||0);return r>=i/2?e+i-r:e-r},e.prototype.canConsider=function(t,e,i){return!this.diagram.selectedItems.nodes.length||this.diagram.selectedItems.nodes[0].id!==i.id},e.prototype.findNodes=function(t,e,i,r,n){for(var o,a,s=[],h=t.findQuads(n?r:i),d=0;d<h.length;d++){var l=h[parseInt(d.toString(),10)];if(l.objects.length>0)for(var c=0;c<l.objects.length;c++)o=l.objects[parseInt(c.toString(),10)],this.diagram.nameTable[o.id]instanceof xd||!o.visible||"SwimLane"===this.diagram.nameTable[o.id].shape.type||this.diagram.nameTable[o.id].isLane||this.diagram.nameTable[o.id].isPhase||this.diagram.nameTable[o.id].isHeader||"helper"===o.id||(a=z(o),-1===s.indexOf(o)&&this.intersectsRect(i,a)&&s.push(o),n&&n.indexOf(o)&&this.intersectsRect(r,a)&&n.push(o))}return s},e.prototype.intersectsRect=function(t,e){return e.x<t.x+t.width&&t.x<e.x+e.width&&e.y<t.y+t.height&&t.y<e.y+e.height},e.prototype.getAdornerLayerSvg=function(){return this.diagram.diagramRenderer.adornerSvgLayer},e.prototype.removeGuidelines=function(t){var e=this.getAdornerLayerSvg().getElementById("_SnappingLines"),i=this.getAdornerLayerSvg().getElementById("pivotLine");e&&e.parentNode.removeChild(e),i&&i.parentNode.removeChild(i)},e.prototype.sortByDistance=function(t,e,i){var r,n,o;if(i)for(r=0;r<t.length;r++)for(n=r+1;n<t.length;n++)t[parseInt(r.toString(),10)][""+e]>t[parseInt(n.toString(),10)][""+e]&&(o=t[parseInt(r.toString(),10)],t[parseInt(r.toString(),10)]=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=o);else for(r=0;r<t.length;r++)for(n=r+1;n<t.length;n++)t[parseInt(r.toString(),10)][""+e]<t[parseInt(n.toString(),10)][""+e]&&(o=t[parseInt(r.toString(),10)],t[parseInt(r.toString(),10)]=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=o)},e.prototype.findEquallySpacedNodesAtLeft=function(t,e,i,r){var n,o,a,s;for(s=1;s<t.length&&(n=t[s-1].obj.bounds,o=t[parseInt(s.toString(),10)].obj.bounds,a=n.x-o.x-o.width,Math.abs(a-e)<=1);s++)r[r.length]=t[parseInt(s.toString(),10)],o.y<i&&(i=o.y);return i},e.prototype.findEquallySpacedNodesAtRight=function(t,e,i,r,n){var o,a,s,h,d=t[0].distance;if(Math.abs(e-d)<=n)for(var l=0;l<t.length-1&&(o=t[parseInt(l.toString(),10)].obj,a=t[l+1].obj.bounds,s=o.bounds,h=a.x-s.x-s.width,Math.abs(h-e)<=1);l++)r[r.length]=t[l+1],s.y<i&&(i=s.y);return i},e.prototype.findEquallySpacedNodesAtTop=function(t,e,i,r){for(var n,o,a,s=1;s<t.length&&(n=t[s-1].obj.bounds,o=t[parseInt(s.toString(),10)].obj.bounds,a=n.y-o.y-o.height,Math.abs(a-e)<=1);s++)r[r.length]=t[parseInt(s.toString(),10)],o.x+o.width>i&&(i=o.x+o.width);return i},e.prototype.findEquallySpacedNodesAtBottom=function(t,e,i,r,n){var o,a,s,h,d=t[0].distance;if(Math.abs(e-d)<=n)for(var l=0;l<t.length-1&&(o=t[parseInt(l.toString(),10)].obj,a=t[l+1].obj.bounds,s=o.bounds,h=a.y-s.y-s.height,Math.abs(h-e)<=1);l++)r[r.length]=t[l+1],s.x+s.width>i&&(i=s.x+s.width);return i},e.prototype.getLayer=function(){var e;return this.diagram.snapSettings.constraints&t.SnapConstraints.SnapToObject&&((e=document.createElementNS("http://www.w3.org/2000/svg","g")).setAttribute("id","_SnappingLines"),e.setAttribute("shapeRendering","crispEdges"),this.getAdornerLayerSvg().appendChild(e)),e},e.prototype.destroy=function(){},e.prototype.getModuleName=function(){return"Snapping"},e}(),Fp=function(){function i(){this.groupUndo=!1,this.childTable=[],this.historyCount=0,this.hasGroup=!1,this.groupCount=0,this.undoOffsets=[],this.checkRedo=!1}return i.prototype.initHistory=function(t){t.historyManager={canRedo:!1,canUndo:!1,currentEntry:null,push:t.addHistoryEntry.bind(t),undo:Function,redo:Function,startGroupAction:t.startGroupAction.bind(t),endGroupAction:t.endGroupAction.bind(t),canLog:null,undoStack:[],redoStack:[],stackLimit:t.historyManager?t.historyManager.stackLimit:void 0}},i.prototype.addHistoryEntry=function(t,e){if("EndGroup"===t.type&&"StartGroup"===e.historyManager.currentEntry.type)return e.historyManager.currentEntry.previous&&(e.historyManager.currentEntry.previous.next=void 0),e.historyManager.currentEntry=e.historyManager.currentEntry.previous,e.historyManager.currentEntry||(e.historyManager.canUndo=!1),!1;var i=null;if(e.historyManager.canLog&&!0===e.historyManager.canLog(t).cancel)return!1;if(e.historyManager&&e.historyManager.canUndo&&e.historyManager.currentEntry&&((i=e.historyManager.currentEntry).next?i.previous&&(i.next.previous=null,i.next=t,t.previous=i):(i.next=t,t.previous=i)),e.historyManager.currentEntry=t,e.historyManager.stackLimit){if("StartGroup"===t.type||"EndGroup"===t.type){var r="EndGroup"===t.type;this.setEntryLimit(r)}this.hasGroup||0!==this.groupCount||(this.historyCount<e.historyManager.stackLimit?this.historyCount++:this.applyLimit(e.historyManager.currentEntry,e.historyManager.stackLimit,e))}return this.getHistoryList(e),e.historyManager.canUndo=!0,e.historyManager.canRedo=!1,!0},i.prototype.applyLimit=function(t,e,i,r){if(t&&t.previous){if("StartGroup"===t.type||"EndGroup"===t.type){var n="StartGroup"===t.type;this.setEntryLimit(n)}this.hasGroup||0!==this.groupCount||e--,0===e?(r&&this.limitHistoryStack(t.previous,i),i.historyManager.stackLimit<this.historyCount&&(this.historyCount=i.historyManager.stackLimit),delete t.previous):t.previous&&this.applyLimit(t.previous,e,i,r)}this.groupCount=0},i.prototype.clearHistory=function(t){var e=t.historyManager;e.currentEntry=void 0,e.canUndo=!1,e.canRedo=!1,this.historyCount=0,this.groupCount=0,t.historyManager.undoStack=[],t.historyManager.redoStack=[]},i.prototype.setEntryLimit=function(t){t?this.groupCount--:this.groupCount++,this.hasGroup=t?!t:t},i.prototype.limitHistoryStack=function(t,e){"StartGroup"!==t.type&&"EndGroup"!==t.type&&(this.removeFromStack(e.historyManager.undoStack,t),this.removeFromStack(e.historyManager.redoStack,t)),t.previous&&this.limitHistoryStack(t.previous,e)},i.prototype.removeFromStack=function(t,e){if(t.length)for(var i=0;i<=t.length;i++)if(t[parseInt(i.toString(),10)].undoObject===e.undoObject&&t[parseInt(i.toString(),10)].redoObject===e.redoObject){t.splice(i,1);break}},i.prototype.undo=function(i){i.checkUndoRedo=!0;var r=this.getUndoEntry(i),n=0;if(r)if("Internal"===r.category)"EndGroup"===r.type?(n++,this.groupUndo=!0):this.undoEntry(r,i),this.groupUndo&&(this.undoGroupAction(r,i,n),this.groupUndo=!1);else{e.isBlazor()||i.historyManager.undo(r);var o={entryType:"undo",oldValue:r.undoObject,newValue:r.redoObject};i.triggerEvent(t.DiagramEvent.historyStateChange,o)}i.checkUndoRedo=!1},i.prototype.getHistoryList=function(t){var e,i,r=[],n=[],o=t.historyManager.currentEntry;for(o=t.historyManager.currentEntry,t.historyManager.canUndo||0===t.historyManager.undoStack.length?this.getHistroyObject(r,o):this.getHistroyObject(n,o);o&&o.previous;)e=o.previous,this.getHistroyObject(r,e),o=o.previous;for(o=t.historyManager.currentEntry;o&&o.next;)i=o.next,this.getHistroyObject(n,i),o=o.next;t.historyManager.undoStack=r,t.historyManager.redoStack=n},i.prototype.getHistroyObject=function(t,e){e&&"StartGroup"!==e.type&&"EndGroup"!==e.type&&t.push({redoObject:e.redoObject?e.redoObject:null,undoObject:e.undoObject?e.undoObject:null,type:e.type?e.type:null,category:e.category?e.category:null})},i.prototype.undoGroupAction=function(t,e,i){for(;0!==i;)this.undoEntry(t,e),"StartGroup"===(t=this.getUndoEntry(e)).type?i--:"EndGroup"===t.type&&i++;i=0},i.prototype.undoEntry=function(e,i){var r,n;if("PropertyChanged"!==e.type&&"CollectionChanged"!==e.type&&"LabelCollectionChanged"!==e.type&&(n=r=e.undoObject?e.undoObject:e.previous.undoObject),"StartGroup"!==e.type&&"EndGroup"!==e.type&&i.historyManager.undoStack.length>0){var o=i.historyManager.undoStack.splice(0,1);i.historyManager.redoStack.splice(0,0,o[0]),n=e.undoObject}switch(i.protectPropertyChange(!0),i.diagramActions|=t.DiagramAction.UndoRedo,e.type){case"PositionChanged":case"Align":case"Distribute":this.recordPositionChanged(r,i);break;case"SizeChanged":case"Sizing":this.recordSizeChanged(r,i,e);break;case"RotationChanged":this.recordRotationChanged(r,i,e,"undo");break;case"ConnectionChanged":this.recordConnectionChanged(r,i);break;case"PropertyChanged":this.recordPropertyChanged(e,i,!1);break;case"CollectionChanged":if(e&&e.next&&"AddChildToGroupNode"===e.next.type&&"Insert"===e.next.changeType){var a=i.getObject(e.next.undoObject.id);i.insertValue(k(a),!0)}e.isUndo=!0,this.recordCollectionChanged(e,i),e.isUndo=!1,e&&e.next&&"AddChildToGroupNode"===e.next.type&&"Insert"===e.next.changeType&&((a=i.getObject(e.next.undoObject.id)).wrapper.measure(new ps),a.wrapper.arrange(a.wrapper.desiredSize),i.updateDiagramObject(a));break;case"LabelCollectionChanged":e.isUndo=!0,this.recordLabelCollectionChanged(e,i),e.isUndo=!1;break;case"PortCollectionChanged":e.isUndo=!0,this.recordPortCollectionChanged(e,i),e.isUndo=!1;break;case"Group":this.unGroup(e,i);break;case"UnGroup":i.itemType="Undo",this.group(e,i);break;case"SegmentChanged":this.recordSegmentChanged(r,i);break;case"PortPositionChanged":this.recordPortChanged(e,i,!1);break;case"AnnotationPropertyChanged":this.recordAnnotationChanged(e,i,!1);break;case"ChildCollectionChanged":this.recordChildCollectionChanged(e,i,!1);break;case"StackChildPositionChanged":this.recordStackPositionChanged(e,i,!1);break;case"RowHeightChanged":this.recordGridSizeChanged(e,i,!1,!0);break;case"ColumnWidthChanged":this.recordGridSizeChanged(e,i,!1,!1);break;case"LanePositionChanged":this.recordLanePositionChanged(e,i,!1);break;case"LaneCollectionChanged":case"PhaseCollectionChanged":e.isUndo=!0,this.recordLaneOrPhaseCollectionChanged(e,i,!1),e.isUndo=!1;break;case"SendToBack":case"SendForward":case"SendBackward":case"BringToFront":this.recordOrderCommandChanged(e,i,!1);break;case"AddChildToGroupNode":this.recordAddChildToGroupNode(e,i,!1);break;case"RemoveChildFromGroupNode":this.recordRemoveChildFromGroupNode(e,i,!1);break;case"ExternalEntry":i.historyManager.undo(e)}if(i.diagramActions&=~t.DiagramAction.UndoRedo,i.protectPropertyChange(!1),i.historyChangeTrigger(e,"Undo"),n){var s=this.checkNodeObject(n,i);if(s){var h=Z(i.updateSelection);h&&h(s,i)}}},i.prototype.checkNodeObject=function(t,e){var i;if(t.id)i=e.nameTable[t.id];else if(t.nodes&&t.nodes.length>0||t.connectors&&t.connectors.length>0)for(var r=0,n=t.nodes.length>0?t.nodes:t.connectors;r<n.length;r++)i=n[r],i=e.nameTable[i.id];else{var o=t.nodes?t.nodes:t.connectors;if(o)for(var a=0,s=Object.keys(o);a<s.length;a++){var h=s[a],d=Number(h);i=t.nodes?e.nodes[parseInt(d.toString(),10)]:e.connectors[parseInt(d.toString(),10)]}}return i},i.prototype.group=function(t,e){e.add(t.undoObject)},i.prototype.unGroup=function(t,e){t.redoObject=k(t.undoObject);var i=t.undoObject;e.commandHandler.unGroup(i)},i.prototype.ignoreProperty=function(t){return"zIndex"===t||"wrapper"===t||"parentObj"===t||"controlParent"===t},i.prototype.getProperty=function(t,e){for(var i=0,r=Object.keys(e);i<r.length;i++){var n=r[i];t&&(this.ignoreProperty(n)||(e[""+n]instanceof Object?this.getProperty(t[""+n],e[""+n]):t[""+n]=e[""+n]))}},i.prototype.recordLaneOrPhaseCollectionChanged=function(t,e,i){var r,n=t.redoObject,o=t.undoObject;if(t.isUndo?(e.itemType="Undo",r="Insert"===t.changeType?"Remove":"Insert"):(e.itemType="Redo",r=t.changeType),"Remove"===r)e.remove(n);else if(n.isPhase){var a=e.nameTable[n.parentId];e.addPhases(a,[o])}else{var s=Oi(a=e.nameTable[n.parentId],n);e.addLanes(a,[o],s)}e.clearSelection()},i.prototype.recordAnnotationChanged=function(t,e,i){var r=i?t.redoObject:t.undoObject;if(e.canEnableBlazorObject){var n=k(e.nameTable[r.id]);e.insertValue(n,n instanceof Hl)}var o=ho(r,t.objectId),a=e.commandHandler.getAnnotationChanges(e.nameTable[r.id],o),s=e.nameTable[r.id],h=ho(s,t.objectId);h.offset=o.offset,h.margin=o.margin,h.width=o.width,h.height=o.height,h.rotateAngle=o.rotateAngle,h.margin=o.margin,s instanceof Hl?e.nodePropertyChange(s,{},a):e.connectorPropertyChange(s,{},a)},i.prototype.recordChildCollectionChanged=function(t,e,i){var r=i?t.redoObject:t.undoObject,n=e.nameTable[r.parentId],o=e.nameTable[r.id];n?vr(e,n,o,!i,"AddNodeToLane"===t.historyAction,i):(o.parentId&&(n=e.nameTable[o.parentId])&&(this.removeChildFromLane(e,n,o),n.children.splice(n.children.indexOf(o.id),1),n.wrapper.children.splice(n.wrapper.children.indexOf(o.wrapper),1)),r.parentId&&""!==r.parentId&&((n=e.nameTable[r.parentId]).children.push(r.id),n.wrapper.children.push(o.wrapper)),o.parentId=r.parentId,e.removeElements(o),e.updateDiagramObject(o))},i.prototype.removeChildFromLane=function(t,e,i){var r=t.nameTable[e.parentId];if(r&&r.shape&&r.shape.lanes.length>0){var n="Horizontal"===r.shape.orientation,o=0;r.shape.phases.length>0&&r.shape.phaseSize>0||(o=1);var a=n?r.shape.hasHeader?e.rowIndex-(2-o):e.rowIndex-(1-o):e.columnIndex-(1-o),s=r.shape.lanes[parseInt(a.toString(),10)];if(s&&s.children&&s.children.length>0)for(var h=s.children.length-1;h>=0;h--)s.children[parseInt(h.toString(),10)].id===i.id&&s.children.splice(h,1)}},i.prototype.recordStackPositionChanged=function(t,e,i){var r=i?t.redoObject:t.undoObject;if(r.source){var n=e.nameTable[r.source.parentId];n&&(r.target?(n.wrapper.children.splice(r.targetIndex,1),n.wrapper.children.splice(r.sourceIndex,0,r.source.wrapper)):void 0!==r.sourceIndex?(e.nameTable[r.source.id]||e.add(r.source),n.wrapper.children.splice(r.sourceIndex,0,e.nameTable[r.source.id].wrapper),e.nameTable[r.source.id].parentId=n.id):(n.wrapper.children.splice(n.wrapper.children.indexOf(e.nameTable[r.source.id].wrapper),1),e.nameTable[r.source.id].parentId=""),i&&"UmlClassifier"===n.shape.type&&e.remove(r.source),n.wrapper.measure(new ps),n.wrapper.arrange(n.wrapper.desiredSize),e.updateDiagramObject(n),e.updateSelector())}},i.prototype.recordGridSizeChanged=function(e,i,r,n){var o=r?e.redoObject:e.undoObject,a=r?e.undoObject:e.redoObject;if(o.parentId){var s=i.nameTable[o.parentId],h=i.nameTable[o.id],d=s.wrapper.bounds.x,l=s.wrapper.bounds.y;if("SwimLane"===s.shape.type){var c=s.wrapper.children[0],p=s.shape.padding,g=!1;i.diagramActions&t.DiagramAction.UndoRedo&&(g=!0);var u=0,f=0;o.wrapper&&o.wrapper.actualSize&&a.wrapper&&a.wrapper.actualSize&&(u=o.wrapper.actualSize.width-a.wrapper.actualSize.width,f=o.wrapper.actualSize.height-a.wrapper.actualSize.height),Ai(i,a,s,o,u,f),n?(c.updateRowHeight(o.rowIndex,o.wrapper.actualSize.height,!0,p,g),s.height=s.wrapper.height=c.height):(c.updateColumnWidth(o.columnIndex,o.wrapper.actualSize.width,!0,p,g),s.width=s.wrapper.width=c.width,o.isPhase&&(h.maxWidth=h.wrapper.maxWidth=o.wrapper.actualSize.width)),vi(s);var m=d-s.wrapper.bounds.x,y=l-s.wrapper.bounds.y;i.drag(s,m,y),i.clearSelection(),i.updateDiagramObject(s)}}},i.prototype.recordLanePositionChanged=function(t,e,i){var r=i?t.redoObject:t.undoObject;if(r.source){var n=e.nameTable[r.source.parentId];n&&"SwimLane"===n.shape.type&&(Di(e,r.target,r.source),e.clearSelection())}},i.prototype.recordPortChanged=function(t,e,i){var r=i?t.redoObject.nodes[0]:t.undoObject.nodes[0];if(e.canEnableBlazorObject){var n=k(e.nameTable[r.id]);e.insertValue(n,!0)}var o=lo(r,t.objectId),a=e.commandHandler.getPortChanges(e.nameTable[r.id],o),s=e.nameTable[r.id];lo(s,t.objectId).offset=o.offset,e.nodePropertyChange(s,{},a),s.parentId&&e.updateConnectorEdges(e.nameTable[s.parentId])},i.prototype.recordPropertyChanged=function(e,i,r){var n=e.redoObject,o=e.undoObject;this.getProperty(i,r?n:o),r?i.onPropertyChanged(n,o):i.onPropertyChanged(o,n),i.diagramActions=i.diagramActions|t.DiagramAction.UndoRedo},i.prototype.recordOrderCommandChanged=function(e,i,r){var n=e.redoObject,o=e.undoObject;i.commandHandler.orderCommands(r,r?n:o,e.type),i.diagramActions=i.diagramActions|t.DiagramAction.UndoRedo},i.prototype.recordAddChildToGroupNode=function(t,e,i){var r=e.nameTable[t.undoObject.id],n=e.nameTable[t.objectId];i&&"Insert"===t.changeType?e.addChildToGroup(r,n.id):e.removeChildFromGroup(r,n.id)},i.prototype.recordRemoveChildFromGroupNode=function(t,e,i){var r=e.nameTable[t.undoObject.id],n=e.nameTable[t.objectId];i&&"Remove"===t.changeType?e.removeChildFromGroup(r,n.id):e.addChildToGroup(r,n.id)},i.prototype.recordSegmentChanged=function(t,e){var i,r=0;if(t.connectors&&t.connectors.length>0)for(r=0;r<t.connectors.length;r++)i=t.connectors[parseInt(r.toString(),10)],this.segmentChanged(i,e)},i.prototype.segmentChanged=function(t,e){var i=e.nameTable[t.id];i&&(i.segments=t.segments,e.commandHandler.updateEndPoint(i))},i.prototype.recordPositionChanged=function(t,e){var i,r,n=0;if(t.nodes&&t.nodes.length>0){for(n=0;n<t.nodes.length;n++)e.bpmnModule&&(e.isPositionUndo=!0),i=t.nodes[parseInt(n.toString(),10)],this.positionChanged(i,e);e.isPositionUndo=!1}if(t.connectors&&t.connectors.length>0)for(n=0;n<t.connectors.length;n++)r=t.connectors[parseInt(n.toString(),10)],this.segmentChanged(r,e),this.connectionChanged(r,e)},i.prototype.positionChanged=function(t,e){var i=e.nameTable[t.id];if(t.processId&&!i.processId&&e.addProcess(t,t.processId),!t.processId&&i.processId&&e.removeProcess(t.id),t.parentId&&"Container"===e.nameTable[t.parentId].shape.type&&!i.parentId&&da(t,t.parentId,e),!t.parentId&&i.parentId&&"Container"===e.nameTable[i.parentId].shape.type&&la(i,e),i.processId||i.parentId&&e.nameTable[i.parentId]&&"Container"===e.nameTable[i.parentId].shape.type){var r=t.margin.left-i.margin.left,n=t.margin.top-i.margin.top;e.drag(i,r,n)}else{if(i.parentId){var o=e.nameTable[i.parentId];o.isLane&&(t.wrapper.offsetX=t.width/2+(o.wrapper.bounds.x+t.margin.left),t.wrapper.offsetY=t.height/2+(o.wrapper.bounds.y+t.margin.top))}var r=t.wrapper.offsetX-i.offsetX,n=t.wrapper.offsetY-i.offsetY;e.drag(i,r,n)}e.bpmnModule&&e.bpmnModule.updateDocks(i,e)},i.prototype.recordSizeChanged=function(t,e,i){var r,n,o=0;if(t&&t.nodes&&t.nodes.length>0)for(o=0;o<t.nodes.length;o++)if((n=t.nodes[parseInt(o.toString(),10)]).children&&!n.container)for(var a=[],s=e.commandHandler.getAllDescendants(n,a),h=0;h<s.length;h++){var d=i.childTable[s[parseInt(h.toString(),10)].id];_d(d)===Hl?(this.sizeChanged(d,e,i),this.positionChanged(d,e)):this.connectionChanged(d,e,i)}else e.bpmnModule&&(e.sizeUndo=!0),this.sizeChanged(n,e),this.positionChanged(n,e),e.bpmnModule&&(e.sizeUndo=!1);if(t&&t.connectors&&t.connectors.length>0){var l=t.connectors;for(o=0;o<l.length;o++)r=l[parseInt(o.toString(),10)],this.segmentChanged(r,e),this.connectionChanged(r,e)}e.updateSelector()},i.prototype.sizeChanged=function(t,e,i){var r=e.nameTable[t.id],n=t.wrapper.actualSize.width/r.wrapper.actualSize.width,o=t.wrapper.actualSize.height/r.wrapper.actualSize.height;i&&i.childTable&&(i.childTable[t.id]=k(r)),e.scale(r,n,o,{x:t.wrapper.offsetX/r.wrapper.offsetX,y:t.wrapper.offsetY/r.wrapper.offsetY})},i.prototype.recordRotationChanged=function(t,e,i,r){var n,o,a=0,s=e.selectedItems;if(s.rotateAngle=t.rotateAngle,s&&s.wrapper&&(s.wrapper.rotateAngle=t.rotateAngle),e.fromUndo=!0,t&&t.nodes&&t.nodes.length>0)for(a=0;a<t.nodes.length;a++){var h=!1;if((n=t.nodes[parseInt(a.toString(),10)]).children&&n.children.length>0){for(var d=0;d<n.children.length;d++){var l=e.nameTable[n.children[parseInt(d.toString(),10)]];if(_d(l)!==Hl&&(""===l.sourceID||""===l.targetID)){h=!0;break}}if(h&&Object.keys(i.childTable).length>0){for(var c=[],p=e.commandHandler.getAllDescendants(n,c),g=0;g<p.length;g++){var u=i.childTable[p[parseInt(g.toString(),10)].id];if(_d(u)===Hl){var f={id:"",rotateAngle:0,wrapper:{offsetX:0,offsetY:0}};if("redo"===r?(f.id=u.id,f.rotateAngle=n.rotateAngle):f=u,this.rotationChanged(f,e),"undo"===r){var m=e.nameTable[f.id];this.undoOffsets.push({id:m.id,offsetX:m.offsetX,offsetY:m.offsetY})}else{for(var y=-1,v=this.undoOffsets.length-1;v>=0;v--)if(this.undoOffsets[parseInt(v.toString(),10)].id===f.id){f.wrapper=this.undoOffsets[parseInt(v.toString(),10)],y=v;break}-1!==y&&this.undoOffsets.splice(y,1)}this.positionChanged(f,e)}else this.connectionChanged(u,e,i)}e.nameTable[n.id].rotateAngle=t.rotateAngle,e.updateSelector(),this.rotationChanged(n,e)}else this.rotationChanged(n,e),this.positionChanged(n,e)}else this.rotationChanged(n,e),this.positionChanged(n,e)}if(e.fromUndo=!1,t&&t.connectors&&t.connectors.length>0)for(a=0;a<t.connectors.length;a++)o=t.connectors[parseInt(a.toString(),10)],this.segmentChanged(o,e),this.connectionChanged(o,e)},i.prototype.rotationChanged=function(t,e){var i=e.nameTable[t.id];e.rotate(i,t.rotateAngle-i.rotateAngle)},i.prototype.recordConnectionChanged=function(t,e){var i;(i=t&&t.connectors?t.connectors[0]:t).sourceID&&e.nameTable[i.sourceID]&&e.insertValue(e.nameTable[i.sourceID],!0),i.targetID&&e.nameTable[i.targetID]&&e.insertValue(e.nameTable[i.targetID],!0),(i instanceof xd||"None"===i.shape.type||"Bpmn"===i.shape.type)&&this.connectionChanged(i,e)},i.prototype.connectionChanged=function(t,e,i){var r=e.nameTable[t.id];if(r){var n;t.sourcePortID!==r.sourcePortID&&(e.removePortEdges(e.nameTable[r.sourceID],r.sourcePortID,r.id,!1),r.sourcePortID=t.sourcePortID,r.segments=t.segments,e.connectorPropertyChange(r,{},{sourcePortID:t.sourcePortID})),t.targetPortID!==r.targetPortID&&(e.removePortEdges(e.nameTable[r.targetID],r.targetPortID,r.id,!0),r.targetPortID=t.targetPortID,r.segments=t.segments,e.connectorPropertyChange(r,{},{targetPortID:t.targetPortID})),t.sourceID!==r.sourceID&&(""===t.sourceID||null===t.sourceID?eo((n=e.nameTable[r.sourceID]).outEdges,t.id):((n=e.nameTable[t.sourceID]).outEdges.push(t.id),e.updatePortEdges(n,t,!1)),r.sourceID=t.sourceID,r.isBpmnAnnotationConnector&&(e.nameTable[r.targetID].shape.textAnnotation.textAnnotationTarget=r.sourceID),r.segments=t.segments,e.connectorPropertyChange(r,{},{sourceID:t.sourceID})),t.targetID!==r.targetID&&(""===t.targetID||null===t.targetID?eo((n=e.nameTable[r.targetID]).inEdges,t.id):((n=e.nameTable[t.targetID]).inEdges.push(t.id),e.updatePortEdges(n,t,!0)),r.targetID=t.targetID,r.segments=t.segments,e.connectorPropertyChange(r,{},{targetID:t.targetID})),i&&i.childTable&&(i.childTable[t.id]=k(r));var o=t.sourcePoint.x-r.sourcePoint.x,a=t.sourcePoint.y-r.sourcePoint.y;0===o&&0===a||(r.segments=t.segments,e.dragSourceEnd(r,o,a));var s=t.targetPoint.x-r.targetPoint.x,h=t.targetPoint.y-r.targetPoint.y;0===s&&0===h||(r.segments=t.segments,e.dragTargetEnd(r,s,h)),e.updateSelector(),"SVG"!==e.mode&&e.refreshDiagramLayer()}},i.prototype.recordCollectionChanged=function(t,e){var i=t.undoObject;if(t&&t.changeType){var r=void 0;if(t.isUndo?(e.itemType="Undo",r="Insert"===t.changeType?"Remove":"Insert"):(e.itemType="Redo",r=t.changeType),"Remove"===r)i.nodeId?e.remove(e.nameTable[i.nodeId+"_textannotation_"+i.id]):(e.remove(i),i.parentId&&(n=e.nameTable[i.parentId])&&this.removeChildFromLane(e,n,i),e.clearSelectorLayer());else{if(e.clearSelectorLayer(),i.parentId&&e.nameTable[i.parentId]&&"Container"!==e.nameTable[i.parentId].shape.type){var n=e.nameTable[i.parentId];n?e.addChild(n,i):e.add(i)}else i.nodeId?e.addTextAnnotation(i,e.nameTable[i.nodeId]):e.nameTable[i.id]||(i&&i.shape&&"SwimLane"===i.shape.type&&t.isUndo&&Vi(i,void 0,void 0,void 0,void 0,!0),this.updateConnectorZindex(i,e),e.add(i));i.processId&&e.nameTable[i.processId]&&e.addProcess(i,i.processId),i.parentId&&e.nameTable[i.parentId]&&"Container"===e.nameTable[i.parentId].shape.type&&da(i,i.parentId,e)}"SVG"!==e.mode&&e.refreshDiagramLayer(),e.itemType="PublicMethod"}},i.prototype.updateConnectorZindex=function(t,e){if(t.sourceID||t.targetID){var i=e.nameTable[t.sourceID],r=e.nameTable[t.targetID];if(i&&i.parentId){var n=e.nameTable[i.parentId];n&&n.isLane&&(a=e.nameTable[n.parentId])&&a.zIndex>t.zIndex&&yr(t,a,e)}else if(r&&r.parentId){var o=e.nameTable[r.parentId];if(o&&o.isLane){var a=e.nameTable[o.parentId];a&&a.zIndex>t.zIndex&&yr(t,a,e)}}}},i.prototype.recordLabelCollectionChanged=function(t,e){var i=t.undoObject,r=t.redoObject,n=e.nameTable[r.id];if(t&&t.changeType){"Remove"===(t.isUndo?"Insert"===t.changeType?"Remove":"Insert":t.changeType)?(e.removeLabels(n,[i]),e.clearSelectorLayer()):(e.clearSelectorLayer(),e.addLabels(n,[i])),"SVG"!==e.mode&&e.refreshDiagramLayer()}},i.prototype.recordPortCollectionChanged=function(t,e){var i=t.undoObject,r=t.redoObject,n=e.nameTable[r.id];if(t&&t.changeType){"Remove"===(t.isUndo?"Insert"===t.changeType?"Remove":"Insert":t.changeType)?(e.removePorts(n,[i]),e.clearSelectorLayer()):(e.clearSelectorLayer(),e.addPorts(n,[i])),"SVG"!==e.mode&&e.refreshDiagramLayer()}},i.prototype.redo=function(i){i.checkUndoRedo=!0,this.checkRedo=!0;var r=this.getRedoEntry(i),n=0;if(r)if("Internal"===r.category)"StartGroup"===r.type?(n++,this.groupUndo=!0):this.redoEntry(r,i),this.groupUndo&&(this.redoGroupAction(r,i,n),this.groupUndo=!1);else{e.isBlazor()||i.historyManager.redo(r);var o={entryType:"redo",oldValue:r.redoObject,newValue:r.undoObject};i.triggerEvent(t.DiagramEvent.historyStateChange,o)}this.checkRedo=!1,i.checkUndoRedo=!1},i.prototype.redoGroupAction=function(t,e,i){for(;0!==i;)this.redoEntry(t,e),"EndGroup"===(t=this.getRedoEntry(e)).type?i--:"StartGroup"===t.type&&i++;i=0},i.prototype.redoEntry=function(e,i){var r,n;if("PropertyChanged"!==e.type&&"CollectionChanged"!==e.type&&(r=e.redoObject,n=e.redoObject),i.diagramActions|=t.DiagramAction.UndoRedo,"StartGroup"!==e.type&&"EndGroup"!==e.type&&i.historyManager.redoStack.length>0){var o=i.historyManager.redoStack.splice(0,1);i.historyManager.undoStack.splice(0,0,o[0]),n=e.redoObject}switch(i.protectPropertyChange(!0),e.type){case"PositionChanged":case"Align":case"Distribute":this.recordPositionChanged(r,i);break;case"SizeChanged":case"Sizing":this.recordSizeChanged(r,i,e);break;case"RotationChanged":this.recordRotationChanged(r,i,e,"redo");break;case"ConnectionChanged":this.recordConnectionChanged(r,i);break;case"PropertyChanged":this.recordPropertyChanged(e,i,!0);break;case"CollectionChanged":this.recordCollectionChanged(e,i);break;case"LabelCollectionChanged":this.recordLabelCollectionChanged(e,i);break;case"PortCollectionChanged":this.recordPortCollectionChanged(e,i);break;case"Group":i.itemType="Redo",this.group(e,i);break;case"UnGroup":this.unGroup(e,i);break;case"SegmentChanged":this.recordSegmentChanged(r,i);break;case"PortPositionChanged":this.recordPortChanged(e,i,!0);break;case"AnnotationPropertyChanged":this.recordAnnotationChanged(e,i,!0);break;case"ChildCollectionChanged":this.recordChildCollectionChanged(e,i,!0);break;case"StackChildPositionChanged":this.recordStackPositionChanged(e,i,!0);break;case"RowHeightChanged":this.recordGridSizeChanged(e,i,!0,!0);break;case"ColumnWidthChanged":this.recordGridSizeChanged(e,i,!0,!1);break;case"LanePositionChanged":this.recordLanePositionChanged(e,i,!0);break;case"LaneCollectionChanged":case"PhaseCollectionChanged":this.recordLaneOrPhaseCollectionChanged(e,i,!0);break;case"SendToBack":case"SendForward":case"SendBackward":case"BringToFront":this.recordOrderCommandChanged(e,i,!0);break;case"AddChildToGroupNode":this.recordAddChildToGroupNode(e,i,!0);break;case"RemoveChildFromGroupNode":this.recordRemoveChildFromGroupNode(e,i,!0);break;case"ExternalEntry":i.historyManager.redo(e)}if(i.protectPropertyChange(!1),i.diagramActions&=~t.DiagramAction.UndoRedo,i.historyChangeTrigger(e,"Redo"),n){var a=this.checkNodeObject(n,i);if(a){var s=Z(i.updateSelection);s&&s(a,i)}}},i.prototype.getUndoEntry=function(t){var e,i=null,r=t.historyManager;return r.canUndo&&(i=r.currentEntry,(e=r.currentEntry.previous)?(r.currentEntry=e,r.canRedo||(r.canRedo=!0)):(r.canRedo=!0,r.canUndo=!1)),i},i.prototype.getRedoEntry=function(t){var e,i=null,r=t.historyManager;return r.canRedo&&((e=r.currentEntry.previous||r.canUndo?r.currentEntry.next:r.currentEntry)&&(r.currentEntry=e,r.canUndo||(r.canUndo=!0),e.next||(r.canRedo=!1,r.canUndo=!0)),i=r.currentEntry),i},i.prototype.destroy=function(){},i.prototype.getModuleName=function(){return"UndoRedo"},i}(),Yp=function(){function e(){this.protectChange=!1,this.setIntervalObject=[]}return e.prototype.expand=function(e,i,r,n){var o=this,a=0;if(n.realActions=n.realActions|t.RealAction.AnimationClick,this.setIntervalObject[parseInt((0).toString(),10)]=setInterval(function(){return a++,o.layoutAnimation(i,o.setIntervalObject,6===a,n,r)},20),r.isExpanded){var s=.2;n.protectPropertyChange(!1);var h={};e&&(this.updateOpacity(r,s,n),h[parseInt((0).toString(),10)]=setInterval(function(){n.allowServerDataBinding=!1,s<=1?o.updateOpacity(r,s,n):clearInterval(h[0]),s+=.2,n.allowServerDataBinding=!0},20))}},e.prototype.stopCurrentAnimation=function(e,i,r){clearInterval(this.setIntervalObject[0]),this.setIntervalObject=[];for(var n=0;n<e.objects.length;n++){var o=i.nameTable[e.objects[parseInt(n.toString(),10)].id];o.offsetX+=e.objects[parseInt(n.toString(),10)].differenceX-e.objects[parseInt(n.toString(),10)].differenceX/5,o.offsetY+=e.objects[parseInt(n.toString(),10)].differenceY-e.objects[parseInt(n.toString(),10)].differenceY/5}i.realActions=i.realActions&t.RealAction.AnimationClick,i.refreshCanvasLayers(),i.protectPropertyChange(!0),i.triggerEvent(t.DiagramEvent.animationComplete,void 0),i.layout.fixedNode="",i.protectPropertyChange(this.protectChange);var a={element:Do(k(r)),state:!!r.isExpanded};i.triggerEvent(t.DiagramEvent.expandStateChange,a),i.lineRoutingModule&&i.constraints&t.DiagramConstraints.LineRouting&&i.resetSegments()},e.prototype.layoutAnimation=function(e,i,r,n,o){if(!r)for(var a=0;a<e.objects.length;a++){var s=n.nameTable[e.objects[parseInt(a.toString(),10)].id];s.offsetX+=e.objects[parseInt(a.toString(),10)].differenceX/5,s.offsetY+=e.objects[parseInt(a.toString(),10)].differenceY/5}if(r){clearInterval(i[0]),this.setIntervalObject=[],n.realActions=n.realActions&~t.RealAction.AnimationClick,n.refreshCanvasLayers(),n.protectPropertyChange(!0),n.triggerEvent(t.DiagramEvent.animationComplete,void 0),n.organizationalChartModule.isAnimation=!1,n.layout.fixedNode="",n.protectPropertyChange(this.protectChange);var h={element:Do(k(o)),state:!!o.isExpanded};n.triggerEvent(t.DiagramEvent.expandStateChange,h),n.lineRoutingModule&&n.constraints&t.DiagramConstraints.LineRouting&&n.resetSegments()}},e.prototype.updateOpacity=function(t,e,i){for(var r=0;r<t.outEdges.length;r++){var n=i.nameTable[t.outEdges[parseInt(r.toString(),10)]],o=i.nameTable[n.targetID];n.style.opacity=e;for(var a=0;a<n.wrapper.children.length;a++)n.wrapper.children[parseInt(a.toString(),10)].style.opacity=e,o.style.opacity=e,o.wrapper instanceof Ns&&i.updateNodeProperty(o.wrapper,void 0,e);this.updateOpacity(o,e,i)}},e.prototype.destroy=function(){},e.prototype.getModuleName=function(){return"LayoutAnimate"},e}(),Vp=function(){function t(t,e,i){this.startPoint=t,this.endPoint=e,this.previous=i,i&&(i.next=this);var r=t.x===e.x;this.coordinate=r?t.x:t.y,this.sortedStart=r?Math.min(t.y,e.y):Math.min(t.x,e.x),this.sortedEnd=r?Math.max(t.y,e.y):Math.max(t.x,e.x),this.direction=r?t.y<e.y?"Bottom":"Top":t.x<e.x?"Right":"Left",this.startEvent=new Xp(this,!0),this.endEvent=new Xp(this,!1)}return t.prototype.updateCoordinate=function(t){this.coordinate+=t;var e="Left"===this.direction||"Right"===this.direction,i=e?{x:this.startPoint.x,y:this.coordinate}:{x:this.coordinate,y:this.startPoint.y},r=e?{x:this.endPoint.x,y:this.coordinate}:{x:this.coordinate,y:this.endPoint.y};this.startPoint=i,this.previous&&this.previous.adjustEnd(i),this.endPoint=r,this.next&&this.next.adjustStart(r)},t.prototype.adjustStart=function(t){this.startPoint=t,this.updateSortedValues()},t.prototype.adjustEnd=function(t){this.endPoint=t,this.updateSortedValues()},t.prototype.updateSortedValues=function(){var t="Top"===this.direction||"Bottom"===this.direction;this.sortedStart=t?Math.min(this.startPoint.y,this.endPoint.y):Math.min(this.startPoint.x,this.endPoint.x),this.sortedEnd=t?Math.max(this.startPoint.y,this.endPoint.y):Math.max(this.startPoint.x,this.endPoint.x),this.startEvent.refresh(),this.endEvent.refresh()},t}(),Xp=function(){function t(t,e){this.segment=t,this.isStart=e,this.value=e?t.sortedStart:t.sortedEnd}return t.prototype.refresh=function(){this.value=this.isStart?this.segment.sortedStart:this.segment.sortedEnd},t.prototype.compareTo=function(t){return this.value!==t.value?this.value<t.value?-1:1:this.isStart?-1:t.isStart?1:0},t}(),Up=function(){function t(){this.horizontalBranches=new Map,this.verticalBranches=new Map}return t.prototype.addSegment=function(t){var e=this.getBranches(t.direction);this.addSegmentToBranch(e,t)},t.prototype.addSegmentToBranch=function(t,e){t.has(e.coordinate)||t.set(e.coordinate,new Set);var i=t.get(e.coordinate);i&&(i.add(e.startEvent),i.add(e.endEvent))},t.prototype.removeSegment=function(t){var e=this.getBranches(t.direction);this.removeSegmentFromBranch(e,t)},t.prototype.removeSegmentFromBranch=function(t,e){var i=t.get(e.coordinate);i&&(i.delete(e.startEvent),i.delete(e.endEvent),0===i.size&&t.delete(e.coordinate))},t.prototype.findOverlappingSegments=function(t){var e=this.getBranches(t.direction);return this.findOverlappingSegmentsInBranch(e,t)},t.prototype.findOverlappingSegmentsInBranch=function(t,e){var i=[],r=new Set,n=t.get(e.coordinate);if(n){var o=[];n.forEach(function(t){return o.push(t)});for(var a=0;a<o.length;a++){var s=o[parseInt(a.toString(),10)];(s.segment.sortedStart<e.sortedStart&&s.segment.sortedEnd>e.sortedEnd||!(s.value<e.sortedStart||s.value>e.sortedEnd))&&(s.segment===e||r.has(s.segment)||(r.add(s.segment),Math.max(e.sortedStart,s.segment.sortedStart)<Math.min(e.sortedEnd,s.segment.sortedEnd)&&i.push(s.segment)))}}return i},t.prototype.getBranches=function(t){return"Left"===t||"Right"===t?this.horizontalBranches:this.verticalBranches},t}(),Gp=function(){function t(t){this.requireReroute=!1,this.reRoutedCount=0,this.considerNonWalkable=[],this.diagram=t,this.segmentTree=new Up,this.segmentMappings=new Map,this.connectorMappings=new Map,this.modifiedConnector=new Set,this.modifiedSegments=new Map,this.currentSegments=new Map}return t.prototype.getModifiedConnector=function(){return this.modifiedConnector},t.prototype.getModifiedConnectorSegments=function(t){var e=this.segmentMappings.get(t);return this.convertSegmentsToOrthogonal(e)},t.prototype.refreshModifiedConnectors=function(t){var e=this;this.modifiedConnector.forEach(function(i){var r=e.getModifiedConnectorSegments(i);r.length&&(i.segments=r,t.connectorPropertyChange(i,{},{type:"Orthogonal",segments:r}))}),this.modifiedConnector.clear()},t.prototype.removeConnectors=function(t){for(var e=0;e<t.length;e++){var i=t[parseInt(e.toString(),10)],r=void 0;"string"==typeof i?r=this.diagram.nameTable[i]:i instanceof xd&&(r=i),r&&"Orthogonal"===r.type&&this.removeConnector(r)}},t.prototype.removeConnector=function(t){var e=this,i=this.segmentMappings.get(t);i&&i.forEach(function(t){e.segmentTree.removeSegment(t),e.connectorMappings.delete(t)}),this.segmentMappings.delete(t)},t.prototype.addConnector=function(t,e,i){var r=this;if(void 0===e&&(e=[]),!this.diagram.lineDistributionModule){0===e.length&&(e=t.intermediatePoints),this.removeConnector(t);var n=this.createLineSegments(e);if(this.mapSegmentsToConnector(t,n),e.length>3)this.adjustConnector(t);else{for(var o=new Set,a=0,s=n;a<s.length;a++)for(var h=s[a],d=0,l=this.segmentTree.findOverlappingSegments(h);d<l.length;d++){var c=l[d],p=this.connectorMappings.get(c);o.add(p)}o.forEach(function(t){return r.adjustConnector(t)})}}},t.prototype.createLineSegments=function(t){for(var e=[],i=0;i<t.length-1;i++){var r=new Vp(t[parseInt(i.toString(),10)],t[parseInt((i+1).toString(),10)],0===i?null:e[parseInt((i-1).toString(),10)]);e.push(r)}return e},t.prototype.mapSegmentsToConnector=function(t,e){var i=this;this.segmentMappings.set(t,e),e.forEach(function(e){i.segmentTree.addSegment(e),i.connectorMappings.has(e)||i.connectorMappings.set(e,t)})},t.prototype.convertSegmentsToOrthogonal=function(t){var e=[];return t&&t.forEach(function(t){var i={type:"Orthogonal",direction:t.direction,length:Math.abs(t.sortedEnd-t.sortedStart)};e.push(i)}),e},t.prototype.adjustConnector=function(e){var i=this;this.requireReroute=!1;var r=this.segmentMappings.get(e);if(r.length>2){var n=r[0],o=this.diagram.nameTable[e.sourceID];if(o&&o.outEdges.length>0){for(var a=void 0,s=0;s<o.outEdges.length;s++){var h=this.diagram.nameTable[o.outEdges[parseInt(s.toString(),10)]];if(h!==e){var d=this.segmentMappings.get(h);if(d&&d.length>2){var l=d[0];l.direction===n.direction&&l.next.direction===n.next.direction&&(a?Math.abs(n.coordinate-l.coordinate)<Math.abs(n.coordinate-a.coordinate)&&(a=l):a=l)}}}if(a){var c=a.next.coordinate-n.next.coordinate;if(c){var p=n.next.next,g=n.direction!==p.direction;if(n.direction===p.direction){var u=this.calculateMaximumSegmentShift(n,p,p.direction);g=Math.abs(c)<=u}g&&(this.modifiedSegments.clear(),this.segmentTree.removeSegment(n.next),n.next.updateCoordinate(c),this.segmentTree.addSegment(n.next),this.modifiedSegments.set(n.next,n.next.coordinate),this.modifiedConnector.add(e))}}}}for(var f=void 0,m=0;m<r.length-1;m++){var y=r[parseInt(m.toString(),10)];if(y.previous&&y.next){var v=this.segmentTree.findOverlappingSegments(y);if(v.length>0&&!this.resolveOverlappingSegments(y,v)&&this.requireReroute){f=y;break}}}if(f&&this.diagram.lineRoutingModule&&this.reRoutedCount<=t.maxReRouteLimit){for(;this.considerNonWalkable.length>0;)(b=this.considerNonWalkable.pop()).walkable=!0;this.diagram.lineRoutingModule.getGridsIntersect(f.startPoint,f.endPoint).forEach(function(t){t.walkable=!1,i.considerNonWalkable.push(t)}),this.reRoutedCount++,this.diagram.lineRoutingModule.refreshConnectorSegments(this.diagram,e,!1)}for(this.reRoutedCount=0;this.considerNonWalkable.length>0;){var b=this.considerNonWalkable.pop();b.walkable=!0}},t.prototype.resolveOverlappingSegments=function(t,e){this.modifiedSegments.clear(),this.currentSegments.clear(),this.rootShiftingSegment=t;var i=this.shouldAdjustSelfFirst(t,e),r=e[0],n=i?this.calculateShiftDirection(t,e):this.calculateShiftDirection(r,this.segmentTree.findOverlappingSegments(r)),o=!1;if(i){var a=1===e.length?r:void 0;(o=this.attemptAdjustment(t,n,a))||(n=xe(n),o=this.attemptAdjustment(t,n,a,!0))}else(o=this.attemptAdjustment(r,n,t))||(n=xe(n),o=this.attemptAdjustment(r,n,t,!0));return this.updateSegmentTreeWithModifiedSegments(),this.rootShiftingSegment=void 0,o},t.prototype.shouldAdjustSelfFirst=function(t,e){var i=e.length>1;if(1===e.length){var r=e[0];if(r.previous&&r.next){var n=Math.max(t.sortedStart,r.sortedStart),o=Math.min(t.sortedEnd,r.sortedEnd);(o-n)/(t.sortedEnd-t.sortedStart)>=(o-n)/(r.sortedEnd-r.sortedStart)&&(i=!0)}else i=!0}return i},t.prototype.attemptAdjustment=function(t,e,i,r){void 0===r&&(r=!1);var n=this.adjustSegment(t,e,r);return this.updateModifiedSegments(n),n||i&&i.previous&&i.next&&(e=xe(e),n=this.adjustSegment(i,e,r),this.updateModifiedSegments(n)),n},t.prototype.updateModifiedSegments=function(t){var e=this;t&&this.modifiedSegments.clear(),this.currentSegments.forEach(function(i,r){t&&e.modifiedSegments.set(r,r.coordinate),e.segmentTree.removeSegment(r),r.updateCoordinate(i-r.coordinate),e.segmentTree.addSegment(r)}),this.currentSegments.clear()},t.prototype.updateSegmentTreeWithModifiedSegments=function(){var t=this;this.modifiedSegments.size>0&&this.modifiedSegments.forEach(function(e,i){t.segmentTree.removeSegment(i),i.updateCoordinate(e-i.coordinate),t.segmentTree.addSegment(i);var r=t.connectorMappings.get(i);t.modifiedConnector.has(r)||t.modifiedConnector.add(r)})},t.prototype.resolveOverlappingAtGivenDirection=function(t,e,i,r,n){if(n){for(var o=!1,a=0,s=e;a<s.length;a++)if((l=s[a]).previous&&l.next&&!(o=this.adjustSegment(l,i,r,n)))return!1;return o}var h=t;if(1===e.length){var d=this.shouldAdjustSelfFirst(t,e),l=e[0],c=d?this.calculateShiftDirection(t,e):this.calculateShiftDirection(l,this.segmentTree.findOverlappingSegments(l));r&&(c=xe(c)),(h=d?c===i?t:l:c===i?l:t)!==l||l.previous&&l.next||(h=t)}return this.adjustSegment(h,i,r)},t.prototype.calculateShiftDirection=function(t,e){var i=e[0],r=t,n=r.previous,o=r.next,a="Left"===r.direction||"Right"===r.direction?r.startPoint.x:r.startPoint.y,s="Left"===r.direction||"Right"===r.direction?r.endPoint.x:r.endPoint.y,h=r.direction;if(n.direction===o.direction){var d=i.previous,l=i.next,c=i.sortedStart<=a&&a<=i.sortedEnd,p=i.sortedStart<=s&&s<=i.sortedEnd;if(c&&p){var g="Left"===i.direction||"Right"===i.direction?i.startPoint.x:i.startPoint.y,u="Left"===i.direction||"Right"===i.direction?i.endPoint.x:i.endPoint.y;if(r.direction!==i.direction){var f=g;g=u,u=f}Math.abs(a-g)>=Math.abs(s-u)?p=!1:o.next&&r.direction===o.next.direction&&0!==this.segmentTree.findOverlappingSegments(o).length?p=!1:c=!1}h=c?xe(r.direction===i.direction&&l?l.direction:r.direction!==i.direction&&d?d.direction:n.direction):p?r.direction===i.direction&&d?d.direction:xe(r.direction!==i.direction&&l?l.direction:n.direction):o.direction}else if(i.previous&&i.next&&i.previous.direction!==i.next.direction){var m=Math.max(r.sortedStart,i.sortedStart),y=Math.min(r.sortedEnd,i.sortedEnd);h=(y-m)/(r.sortedEnd-r.sortedStart)>=(y-m)/(i.sortedEnd-i.sortedStart)?o.direction:n.direction}else h=o.direction;return h},t.prototype.adjustSegment=function(e,i,r,n){void 0===n&&(n=!1);var o=e.coordinate,a=e.previous,s=e.next,h=this.calculateMaximumSegmentShift(a,s,i),d=("Right"===i||"Bottom"===i?1:-1)*t.ConnectorSpacing;if(Math.abs(d)<=h){if(this.segmentTree.removeSegment(e),e.updateCoordinate(d),this.segmentTree.addSegment(e),this.currentSegments.has(e)||this.currentSegments.set(e,o),this.diagram.lineRoutingModule){var l=e.startPoint,c=e.endPoint;if(!this.diagram.lineRoutingModule.isPathWalkable(l,c,this.diagram)){if(!n&&e===this.rootShiftingSegment){this.segmentTree.removeSegment(e),e.updateCoordinate(-1*d),this.segmentTree.addSegment(e);var p=this.segmentTree.findOverlappingSegments(e);if(0!==p.length){u=xe(i);return this.resolveOverlappingAtGivenDirection(e,p,u,r,!0)}}return this.requireReroute=!0,!1}}if(0!==(g=this.segmentTree.findOverlappingSegments(e)).length)return!(0!==this.modifiedSegments.size&&this.modifiedSegments.size>this.currentSegments.size+1)&&this.resolveOverlappingAtGivenDirection(e,g,i,r,n)}else if(!n&&e===this.rootShiftingSegment){var g=this.segmentTree.findOverlappingSegments(e);if(0!==g.length){var u=xe(i);return this.resolveOverlappingAtGivenDirection(e,g,u,r,!0)}}return e.coordinate!==o},t.prototype.calculateMaximumSegmentShift=function(t,e,i){var r=Math.abs(t.sortedEnd-t.sortedStart),n=Math.abs(e.sortedEnd-e.sortedStart),o=this.connectorMappings.get(t);if(o){if(!t.previous){var a=7;"None"!==o.sourceDecorator.shape&&(a=Math.max(o.sourceDecorator.width,o.sourceDecorator.height)),r-=a+5}if(!e.next){var s=7;"None"!==o.targetDecorator.shape&&(s=Math.max(o.targetDecorator.width,o.targetDecorator.height)),n-=s+5}}return t.direction===e.direction?i===e.direction?n:r:i===e.direction?Math.min(r,n):Number.MAX_VALUE},t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"AvoidLineOverlapping"},t.ConnectorSpacing=5,t.maxReRouteLimit=5,t}(),Zp=function(){function t(){}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"LineDistribution"},t.prototype.initLineDistribution=function(t,e){var i="Bottom";if("DifferentPoint"===e.layout.connectionPointOrigin||e.layout.enableRouting){var r="Top";"BottomToTop"===t.orientation?(i="Top",r="Bottom"):"RightToLeft"===t.orientation?(i="Left",r="Right"):"LeftToRight"===t.orientation&&(i="Right",r="Left");var n=e.nodes;if(n.length>0)for(var o=0;o<n.length;o++){var a=e.nameTable[n[parseInt(o.toString(),10)].id];this.addDynamicPortandDistrrbuteLine(t,a,i,r,e)}}},t.prototype.ObstacleSegment=function(t){return t.direction=Qd(t.startpt,t.endpt),t.distance=fs.findLength(t.startpt,t.endpt),t.orientation="Left"===t.direction||"Right"===t.direction?"horizontal":"vertical",t.id=t.id,"horizontal"===t.orientation?(t.coord=t.startpt.y,"Left"===t.direction?(t.start=t.endpt.x,t.end=t.startpt.x):(t.start=t.startpt.x,t.end=t.endpt.x)):(t.coord=t.startpt.x,"Top"===t.direction?(t.start=t.endpt.y,t.end=t.startpt.y):(t.start=t.startpt.y,t.end=t.endpt.y)),t},t.prototype.distributeLines=function(t,e){for(var i="LeftToRight"===t.orientation||"RightToLeft"===t.orientation,r=i?t.horizontalSpacing:t.verticalSpacing,n=r-8-10,o=[],a=[],s=e.connectors,h=0;h<s.length;h++){for(var d=s[parseInt(h.toString(),10)],l=[],c=0;c<d.segments.length;c++)for(var p=d.segments[parseInt(c.toString(),10)],g=0;g<p.points.length;g++){var u=p.points[parseInt(g.toString(),10)];0!==l.length&&fs.equals(u,l[l.length-1])||l.push(u)}for(var f=[],m=1;m<l.length;m++){var y=this.ObstacleSegment({startpt:l[m-1],endpt:l[parseInt(m.toString(),10)],id:d.id});f.push(y)}var v={wrapper:d,segments:f},b=[];if(i)for(c=0;c<v.segments.length;c++)"vertical"===(y=v.segments[parseInt(c.toString(),10)]).orientation&&y.distance>1&&b.push(y);else for(c=0;c<v.segments.length;c++)"horizontal"===(y=v.segments[parseInt(c.toString(),10)]).orientation&&y.distance>1&&b.push(y);for(m=0;m<b.length;m++){A=b[parseInt(m.toString(),10)];this.containsValue(o,A.coord)||o.push({key:A.coord,value:[]});for(var S=void 0,g=0;g<o.length;g++){c=o[parseInt(g.toString(),10)].key;if(Number(c)===A.coord){S=g;break}}o[parseInt(S.toString(),10)].value.push(A)}a.push(v)}if(o.length>0)for(var w=o.map(function(t){return t.key}).sort(function(t,e){return t-e}),h=0;h<w.length-1;)!function(){var t=w[parseInt(h.toString(),10)],e=w[h+1];if(Math.abs(e-t)<.5*r){var i=o.findIndex(function(e){return e.key===t}),n=o.findIndex(function(t){return t.key===e});if(-1===i||-1===n)return h++,"continue";var a=o[parseInt(i.toString(),10)],s=o[parseInt(n.toString(),10)],d=(t+e)/2,l=a.value.concat(s.value),c=Math.max(i,n),p=Math.min(i,n);o.splice(c,1),o.splice(p,1),o.push({key:d,value:l}),w=o.map(function(t){return t.key}).sort(function(t,e){return t-e})}else h++}();this.sortConnectors(o,e);for(var x=[],I=0;I<o.length;I++){var C=o[parseInt(I.toString(),10)],P=C.value;P.sort(function(t,e){return t.start-e.start});var D=void 0;D=[];var S=0,T=Number.MIN_VALUE;D.push([]);for(O=0;O<P.length;O++){var A=P[parseInt(O.toString(),10)];!(D[parseInt(S.toString(),10)].length>0)||T>=A.start?(D[parseInt(S.toString(),10)].push(A),T=Math.max(T,D[parseInt(S.toString(),10)][D[parseInt(S.toString(),10)].length-1].end)):(S++,D.push([]),D[parseInt(S.toString(),10)].push(A),T=D[parseInt(S.toString(),10)][D[parseInt(S.toString(),10)].length-1].end)}for(var O=0;O<D.length;O++){for(var M=D[parseInt(O.toString(),10)],E=[],m=0;m<M.length;m++)(B=M[parseInt(m.toString(),10)]).start&&E.push(B);for(var L=i?"Bottom":"Right",z=[],m=0;m<E.length;m++)(B=E[parseInt(m.toString(),10)]).direction===L&&z.push(B);for(var k=[],m=0;m<E.length;m++){var B=E[parseInt(m.toString(),10)];B.direction!==L&&k.push(B)}var N=[];if(z.length>0)for(var R=z[0].start,m=0;m<k.length;)k[parseInt(m.toString(),10)].end>R?(N.push(k[parseInt(m.toString(),10)]),k.splice(m,1)):m++;var j=[];j=this.updateSegmentRow(N,j);var H=[];H=[],H=this.updateSegmentRow(k,H),z.reverse(),H=this.updateSegmentRow(z,H),j[j.length-1].length>0||j.splice(j.length-1,1),H[H.length-1].length>0||H.splice(H.length-1,1);var W=[];if(N.length>0&&(E[E.length-1].direction===N[N.length-1].direction||E[0].direction===N[0].direction)){W=H;for(U=0;U<j.length;U++){_=j[parseInt(U.toString(),10)];W[W.length]=_}}else{W=j;for(U=0;U<H.length;U++){var _=H[parseInt(U.toString(),10)];W[W.length]=_}}if(W.length>1){var F=1;"BottomToTop"!==t.orientation&&"RightToLeft"!==t.orientation||(F=-1);for(var Y=C.key-F*n/2,V=n/W.length,h=0;h<W.length;h++)for(var X=Y+h*V*F,U=0;U<W[parseInt(h.toString(),10)].length;U++){(A=W[parseInt(h.toString(),10)][parseInt(U.toString(),10)]).coord=X,this.containsValue(x,A.coord)||x.push({key:A.coord,value:[]});for(var G=void 0,g=0;g<x.length;g++)if(x[parseInt(g.toString(),10)].key===A.coord){G=g;break}x[parseInt(G.toString(),10)].value.push(A)}}}}for(I=0;I<a.length;I++){for(var v=a[parseInt(I.toString(),10)],l=[],h=0;h<v.segments.length;h++)0===h?l.push(this.getObstacleStartPoint(v.segments[parseInt(h.toString(),10)])):i?"vertical"===v.segments[parseInt(h.toString(),10)].orientation&&(l[l.length-1]=this.getObstacleStartPoint(v.segments[parseInt(h.toString(),10)])):i||"horizontal"===v.segments[parseInt(h.toString(),10)].orientation&&(l[l.length-1]=this.getObstacleStartPoint(v.segments[parseInt(h.toString(),10)])),l.push(this.getObstacleEndPoint(v.segments[parseInt(h.toString(),10)]));v.wrapper.obstaclePointCollection=[];for(m=0;m<l.length;m++){var Z=l[parseInt(m.toString(),10)];(0===m||m>0&&!fs.equals(Z,l[m-1]))&&v.wrapper.obstaclePointCollection.push(this.getPointvalue(Z.x,Z.y))}"Orthogonal"===v.wrapper.type&&this.resetConnectorPoints(v.wrapper,e)}},t.prototype.sortConnectors=function(t,e){for(var i=0;i<t.length;i++)for(var r=0;r<t[parseInt(i.toString(),10)].value.length;r++)t[parseInt(i.toString(),10)].value.length>1&&("LeftToRight"===e.layout.orientation||"RightToLeft"===e.layout.orientation?t[parseInt(i.toString(),10)].value.sort(function(t,i){var r=e.nameTable[""+t.id],n=e.nameTable[""+i.id];return r.targetPoint.y-n.targetPoint.y}):"TopToBottom"!==e.layout.orientation&&"BottomToTop"!==e.layout.orientation||t[parseInt(i.toString(),10)].value.sort(function(t,i){var r=e.nameTable[""+t.id],n=e.nameTable[""+i.id];return r.targetPoint.x-n.targetPoint.x}))},t.prototype.resetConnectorPoints=function(t,e){var i="obstaclePointCollection";if(t.segments[0].points&&t.segments[0].points.length>0&&t[""+i]){var r=t;r.sourcePoint=t[""+i][0],r.targetPoint=t[""+i][t[""+i].length-1];var n=void 0;n=[];for(var o=0;o<t[""+i].length-1;o++){var a=t[""+i][parseInt(o.toString(),10)],s=t[""+i][o+1],h=Jd(a,s),d=Qd(a,s);o===t[""+i].length-2&&("RightToLeft"===e.layout.orientation&&"Left"===d||"LeftToRight"===e.layout.orientation&&"Right"===d||"TopToBottom"===e.layout.orientation&&"Bottom"===d||"BottomToTop"===e.layout.orientation&&"Top"===d)&&(h/=2);var l=new md(t,"segments",{type:"Orthogonal"},!0);l.length=h,l.direction=d,n.push(l)}r.segments=n,r.type="Orthogonal",e.connectorPropertyChange(r,{},{type:"Orthogonal",segments:r.segments})}},t.prototype.getObstacleEndPoint=function(t){return"horizontal"===t.orientation?"Left"===t.direction?this.getPointvalue(t.start,t.coord):this.getPointvalue(t.end,t.coord):"Top"===t.direction?this.getPointvalue(t.coord,t.start):this.getPointvalue(t.coord,t.end)},t.prototype.getObstacleStartPoint=function(t){return"horizontal"===t.orientation?"Left"===t.direction?this.getPointvalue(t.end,t.coord):this.getPointvalue(t.start,t.coord):"Top"===t.direction?this.getPointvalue(t.coord,t.end):this.getPointvalue(t.coord,t.start)},t.prototype.updateSegmentRow=function(t,e){var i=0;e.length>0||(e[0]=[]);for(var r=0;r<t.length;r++)for(var n=t[parseInt(r.toString(),10)];i<e.length;){if(i===e.length-1&&(e[i+1]=[]),!(e[parseInt(i.toString(),10)].length>0)||e[parseInt(i.toString(),10)][e[parseInt(i.toString(),10)].length-1].end<n.start){e[parseInt(i.toString(),10)].push(n);break}i++}return e},t.prototype.portOffsetCalculation=function(t,e,i,r){"Top"===i&&(t.offset={x:(r+1)*(1/(e+1)),y:0}),"Bottom"===i&&(t.offset={x:(r+1)*(1/(e+1)),y:1}),"Left"===i&&(t.offset={x:0,y:(r+1)*(1/(e+1))}),"Right"===i&&(t.offset={x:1,y:(r+1)*(1/(e+1))})},t.prototype.addDynamicPortandDistrrbuteLine=function(t,e,i,r,n){if(e.ports&&e.ports.length>0){var o=e.ports;n.removePorts(e,o)}e.ports;var a=e.outEdges,s=e.inEdges;this.initPort(a,n,e,i,!1),this.initPort(s,n,e,r,!0)},t.prototype.initPort=function(t,e,i,r,n){var o=t;t.length>1&&n&&(t=this.sortObjects(o,n,e));for(var a=0;a<=t.length-1;a++){var s=e.nameTable[t[parseInt(a.toString(),10)]];s.obstaclePointCollection=[];var h=lo(i,n?s.targetPortID:s.sourcePortID),d=r;void 0===h&&((h=new th(i,"ports","",!0)).id=O()+"_LineDistribution",n?s.targetPortID=h.id:s.sourcePortID=h.id),this.portOffsetCalculation(h,t.length,d,a),i.ports.push(h);var l=i.initPortWrapper(i.ports[i.ports.length-1]);i.wrapper.children.push(l),i.wrapper.measure(new ps(i.width,i.height),i.id),i.wrapper.arrange(i.wrapper.desiredSize),e.connectorPropertyChange(s,n?{targetPortID:""}:{sourcePortID:""},n?{targetPortID:h.id}:{sourcePortID:h.id})}},t.prototype.sortObjects=function(t,e,i){for(var r,n=0;n<t.length;n++)for(var o=n+1;o<t.length;o++){var a=i.nameTable[t[parseInt(n.toString(),10)]],s=i.nameTable[t[parseInt(o.toString(),10)]];if(e){var h=i.nameTable[a.sourceID],d=i.nameTable[s.sourceID];"LeftToRight"===i.layout.orientation||"RightToLeft"===i.layout.orientation?h.offsetY>d.offsetY&&(r=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=t[parseInt(o.toString(),10)],t[parseInt(o.toString(),10)]=r):h.offsetX>d.offsetX&&(r=t[parseInt(n.toString(),10)],t[parseInt(n.toString(),10)]=t[parseInt(o.toString(),10)],t[parseInt(o.toString(),10)]=r)}}return t},t.prototype.resetConnectorSegments=function(t){for(var e=t.segments,i=e.length;i>0;i--)e.splice(i-1,1)},t.prototype.resetRoutingSegments=function(t,e,i){if(t.levelSkip){for(var r=void 0,n=void 0,o=e.layout.ranks.reverse(),a=0;a<o.length;a++)for(u=0;u<o[parseInt(a.toString(),10)].length;u++)t.sourceID===o[parseInt(a.toString(),10)][parseInt(u.toString(),10)].id&&(r=a),t.targetID===o[parseInt(a.toString(),10)][parseInt(u.toString(),10)].id&&(n=a);var s=[];if(r<n)for(a=0;a<o.length;a++)a>=r&&a<=n&&s.push(o[parseInt(a.toString(),10)]);else for(a=0;a<o.length;a++)a<=r&&a>=n&&s.push(o[parseInt(a.toString(),10)]);for(var h=[],a=0;a<s.length;a++)for(u=0;u<s[parseInt(a.toString(),10)].length;u++)if(void 0===s[parseInt(a.toString(),10)][parseInt(u.toString(),10)].edges){var d=e.nameTable[s[parseInt(a.toString(),10)][parseInt(u.toString(),10)].id];h.push(d)}e.routingConnectors||(e.routingConnectors=[]);var l=this.getConnectorBounds(t);t:for(var c=0;c<h.length;c++){var p=h[parseInt(c.toString(),10)].wrapper.bounds;if(l.intersects(p))for(a=0;a<t.segments.length;a++)for(var g=t.segments[parseInt(a.toString(),10)].points,u=0;u<g.length;u++){var f=g[parseInt(u.toString(),10)],m=g[u+1];if(m){var y=this.pointsAlongLine(f,m);if(this.pointInsideBounds(y,p)){e.routingConnectors.push(t);break t}}}}}},t.prototype.getConnectorBounds=function(t){for(var e=Number.MAX_VALUE,i=Number.MAX_VALUE,r=Number.MIN_VALUE,n=Number.MIN_VALUE,o=0;o<t.segments.length;o++)for(var a=t.segments[o].points,s=0;s<a.length;s++){var h=a[s];e=Math.min(e,h.x),i=Math.min(i,h.y),r=Math.max(r,h.x),n=Math.max(n,h.y)}return new ms(e,i,r-e,n-i)},t.prototype.pointsAlongLine=function(t,e){for(var i=e.x-t.x,r=e.y-t.y,n=Math.sqrt(i*i+r*r),o=i/n,a=r/n,s=[],h=0;h<=n;h+=2)s.push({x:t.x+o*h,y:t.y+a*h});return s},t.prototype.pointInsideBounds=function(t,e){for(var i=0,r=t;i<r.length;i++){var n=r[i];if(e.right>n.x&&e.left<n.x&&e.top<n.y&&e.bottom>n.y)return!0}return!1},t.prototype.getPointvalue=function(t,e){return{x:Number(t)||0,y:Number(e)||0}},t.prototype.containsValue=function(t,e){for(var i=0;i<t.length;i++){if(t[parseInt(i.toString(),10)]===e)return!0;if(t[parseInt(i.toString(),10)]&&t[parseInt(i.toString(),10)].key===e)return!0}return!1},t}(),qp=function(){function e(){this.isAnimation=!1}return e.prototype.destroy=function(){},e.prototype.getModuleName=function(){return"OrganizationalChart"},e.prototype.updateLayout=function(t,e,i,r,n,o){var a={type:i.type,connectionPointOrigin:i.connectionPointOrigin,nameTable:e,anchorX:0,anchorY:0,firstLevelNodes:[],centerNode:null,levels:[],maxLevel:0,graphNodes:{},orientation:i.orientation,horizontalSpacing:i.horizontalSpacing,verticalSpacing:i.verticalSpacing,verticalAlignment:i.verticalAlignment,horizontalAlignment:i.horizontalAlignment,fixedNode:i.fixedNode,getLayoutInfo:Z(i.getLayoutInfo),layoutInfo:i.layoutInfo,margin:i.margin,bounds:i.bounds,objects:[],root:i.root};return this.doLayout(a,t,r,n,o),a},e.prototype.updateLayoutBounds=function(t,e,i,r){var n=i[parseInt(r.toString(),10)],o=i[parseInt(r.toString(),10)-1],a=t.horizontalSpacing-(n.x-o.right),s=function(e){if(t.nameTable[""+e]){var i=t.graphNodes[""+e];if(i.x+=a,void 0!==i.mid&&(i.mid+=a),i.firstChild&&void 0!==i.firstChild.x&&(i.firstChild.x+=a),i.tree.children&&i.tree.children.length>0)for(var r=0;r<i.tree.children.length;r++)s(i.tree.children[parseInt(r.toString(),10)]);if(i.tree.assistants&&i.tree.assistants.length>0)for(var n=0;n<i.tree.assistants.length;n++)s(i.tree.assistants[parseInt(n.toString(),10)])}};s(e.id),n.x+=a,n.right+=a},e.prototype.doLayout=function(t,e,i,r,n){var o,a,s={},h=[];for(t.nameTable[t.root]&&t.firstLevelNodes.push(t.nameTable[t.root]),a=0;a<e.length;a++)if(!((o=e[parseInt(a.toString(),10)]).excludeFromLayout||(s=t.graphNodes[o.id]=this.setUpLayoutInfo(t,o),s.tree.hasSubTree=!1,t.nameTable[t.root]||o.inEdges&&o.inEdges.length))){o.parentId||o.processId||h.push(o),o.data&&String(o.data[""+r])===t.root&&t.firstLevelNodes.push(o)}for(0===t.firstLevelNodes.length&&(t.firstLevelNodes=h),a=0;a<t.firstLevelNodes.length;a++)o=t.firstLevelNodes[parseInt(a.toString(),10)],this.updateEdges(t,o,1,n,e);var d=[];if(t.firstLevelNodes.length>0){t.rootNode=t.firstLevelNodes[0];var l=0,c=0,p=void 0,g=void 0,u=void 0,f=void 0,m=void 0;for(a=0;a<t.firstLevelNodes.length;a++){m=this.updateTree(t,l,c,t.firstLevelNodes[parseInt(a.toString(),10)],0,t.firstLevelNodes[a-1]),d.push(m),t.firstLevelNodes.length>1&&a>0&&a<t.firstLevelNodes.length&&this.updateLayoutBounds(t,t.firstLevelNodes[parseInt(a.toString(),10)],d,a);var y=t.graphNodes[t.firstLevelNodes[parseInt(a.toString(),10)].id];m.y=Math.min(m.y,y.y),m.x=Math.min(m.x,y.x),-1!==t.orientation.indexOf("Left")?c=m.right+t.horizontalSpacing:l=m.right+t.horizontalSpacing,0===a?(p=m.x,f=m.y,u=m.right,g=m.bottom):(p=Math.min(p,m.x),f=Math.min(f,m.y),u=Math.max(u,m.right),g=Math.max(g,m.bottom)),t.levels=[],t.maxLevel=void 0}for(this.updateAnchor(t,{x:p,y:f,right:u,bottom:g},i),a=0;a<t.firstLevelNodes.length;a++)this.updateNodes(t,t.firstLevelNodes[parseInt(a.toString(),10)],0);for(a=0;a<t.firstLevelNodes.length;a++)this.updateConnectors(t,t.firstLevelNodes[parseInt(a.toString(),10)],1)}},e.prototype.getBounds=function(t){var e=t.offsetX-t.actualSize.width*t.pivot.x,i=t.offsetY-t.actualSize.height*t.pivot.y;return new ms(e,i,t.actualSize.width,t.actualSize.height)},e.prototype.updateTree=function(t,e,i,r,n,o,a){var s,h,d={},l=this.getDimensions(t,r,e,i,n);d=t.graphNodes[r.id],t.maxLevel=Math.max(t.maxLevel,n),s=n;var c=this.hasChild(t,r);if(c||d.tree.assistants.length){var p=void 0,g=void 0,u=void 0,f=void 0,m=void 0,y=void 0,v=void 0;v=l.y+l.height+t.verticalSpacing,d.tree.assistants.length&&(s=(h=this.setDepthSpaceForAssitants(t,r,v,l.height,n,t.verticalSpacing)).level,v=h.bottom),d.tree.assistants.length||"Horizontal"===d.tree.orientation||(v=l.y+l.height+t.verticalSpacing/2),d.tree.children.length&&(p="Horizontal"!==d.tree.orientation||"Balanced"===d.tree.type&&1!==d.tree.children.length?"Balanced"===d.tree.type?this.updateHorizontalTreeWithMultipleRows(t,r,o,l.x,v,s):this.updateVerticalTree(t,r,l.x,v,s,a):this.updateHorizontalTree(t,r,o,l.x,v,s)),d.y&&d.y>l.y||(d.y=l.y),void 0!==d.mid&&(e=d.mid),d.tree.assistants.length&&(y=void 0!==e?e:l.x,m=this.setBreadthSpaceForAssistants(t,r,l,y,v,n),c||(e=((u=p=m).x+u.right)/2-l.width/2,p=u),f=m?m.canMoveBy:void 0),d.x=e,d.translate||(d.treeWidth=p.right-p.x);var b={layout:t,shape:r,shapeBounds:g={x:e,y:l.y,right:e+l.width,bottom:l.y+l.height},treeBounds:p,dim:l,level:n};return this.translateSubTree(b,f,void 0!==o,a),d.firstChild&&"string"!=typeof d.firstChild&&(d.firstChild.x+=d.subTreeTranslation),r.treeBounds=p,p}return r.treeBounds=this.updateLeafNode(t,r,o,l,n,a),r.treeBounds},e.prototype.updateLeafNode=function(t,e,i,r,n,o){var a=t.graphNodes[e.id];a.x=r.x,a.y&&a.y>r.y||(a.y=r.y,a.maxLevel=Math.max(n,a.maxLevel||0));var s={x:r.x,y:r.y,right:r.x+r.width,bottom:r.y+r.height};a.maxLevel=Math.max(a.maxLevel||0,n);var h={layout:t,shape:e,shapeBounds:s,treeBounds:s,dim:r,level:n};return this.translateSubTree(h,void 0,void 0!==i,o),{x:a.x,y:a.y,right:a.x+r.width,bottom:a.y+r.height}},e.prototype.setUpLayoutInfo=function(t,e){var i={};return i.subTreeTranslation=0,"OrganizationalChart"===t.type?i.tree={orientation:"Vertical",type:"Alternate",offset:20,enableRouting:!0}:i.tree={orientation:"Horizontal",type:"Center",enableRouting:!0},i.tree.children=[],i.tree.assistants=[],i.tree.level=0,i.translate=!0,i},e.prototype.translateSubTree=function(t,e,i,r){var n=t.layout,o=t.shape,a=t.shapeBounds,s=t.treeBounds,h=t.level,d=t.dim,l=n.graphNodes[o.id],c=n.nameTable[l.firstChild?l.firstChild.child:l.tree.children[0]],p=c?n.graphNodes[c.id]:null,g=this.hasChild(n,o),u=this.findIntersectingLevels(n,a,h,l.actualLevel),f=this.findIntersectingLevels(n,s,h,l.actualLevel),m=[];u.length&&l.translate?(l.intersect=u,this.spaceLeftFromPrevSubTree(n,o,a),l.canMoveBy=l.diff,void 0!==e&&(l.canMoveBy=Math.min(e,l.canMoveBy)),c&&void 0!==p.canMoveBy&&(p.canMoveBy>=l.canMoveBy&&(l.translated=!0),l.canMoveBy=Math.min(l.canMoveBy,p.canMoveBy)),i?(l.x-=l.canMoveBy,l.subTreeTranslation-=l.canMoveBy,g&&(this.shiftSubordinates(n,f,l.canMoveBy),s.x=Math.min(s.x,l.x),s.right=Math.max(s.right,l.x+d.width),s.bottom=Math.max(s.bottom,l.y+d.height),s.x-=l.canMoveBy,s.right-=l.canMoveBy),c&&p.canMoveBy>l.canMoveBy?l.canMoveBy=p.canMoveBy-l.canMoveBy:c&&void 0!==l.canMoveBy&&(l.canMoveBy=0)):void 0!==l.canMoveBy&&g&&(s.x=Math.min(s.x,l.x),s.right=Math.max(s.right,l.x+d.width))):(g&&(s.x=Math.min(s.x,a.x),s.right=Math.max(s.right,a.x+d.width),s.bottom=Math.max(s.bottom,l.y+d.height)),l.translate||(l.canMoveBy=0,l.subTreeTranslation=0)),r||(a={x:l.x,y:d.y,right:l.x+d.width,bottom:d.y+d.height},m.push({rBounds:a}),this.updateRearBounds(n,o,m,h))},e.prototype.updateRearBounds=function(t,e,i,r,n){var o,a,s,h,d=!0,l={};e&&(n=(l=t.graphNodes[e.id]).intersect,d=!l.tree.children.length&&!l.tree.assistants.length);var c=i[0].rBounds,p=i[i.length-1].rBounds;if(n&&n.length){for(h=(o=t.levels[n[0]].rBounds).bottom,o.y<c.y&&(o.bottom=c.y,i.splice(0,0,{rBounds:o})),h>p.bottom?i.push({rBounds:{x:o.x,right:o.right,y:c.bottom,bottom:h}}):(o=t.levels[n[n.length-1]].rBounds,d&&o.bottom>p.bottom&&(o.y=p.bottom,i.push({rBounds:o}))),a=n[0],s=i.length-1;s>=0;s--)t.levels.splice(a,0,i[parseInt(s.toString(),10)]);a+=i.length,t.levels.splice(a,n.length)}else for(a=this.findLevel(t,i[i.length-1].rBounds,r),s=i.length-1;s>=0;s--)t.levels.splice(a,0,i[parseInt(s.toString(),10)])},e.prototype.shiftSubordinates=function(t,e,i){var r;if(0!==i)for(r=0;r<e.length;r++)t.levels[e[parseInt(r.toString(),10)]].rBounds&&(t.levels[e[parseInt(r.toString(),10)]].rBounds.x-=i,t.levels[e[parseInt(r.toString(),10)]].rBounds.right-=i)},e.prototype.setDepthSpaceForAssitants=function(t,e,i,r,n,o){var a,s,h,d,l=t.graphNodes[e.id],c={};for(d=i,s=0;s<l.tree.assistants.length;s++)(c=t.graphNodes[l.tree.assistants[parseInt(s.toString(),10)]])&&(c.tree.children=c.tree.assistants=[],c.y=i,a=(h=t.nameTable[l.tree.assistants[parseInt(s.toString(),10)]]).actualSize.height,-1!==t.orientation.indexOf("Left")&&(a=h.actualSize.width),d=i+a+o/2,t.maxLevel=n+1,s%2==1&&s!==l.tree.assistants.length-1&&(i=d,n++));return{level:t.maxLevel,bottom:i+a+o}},e.prototype.setBreadthSpaceForAssistants=function(t,e,i,r,n,o){var a,s,h,d,l,c,p,g={},u=t.graphNodes[e.id],f=o,m={x:0,y:0,right:0,bottom:0};for(d=0;d<u.tree.assistants.length;d++)(g=t.graphNodes[u.tree.assistants[parseInt(d.toString(),10)]])&&(a=(h=t.nameTable[u.tree.assistants[parseInt(d.toString(),10)]]).actualSize.width,-1!==t.orientation.indexOf("Left")&&(a=h.actualSize.height),l=d%2==0?r+i.width/2-20-a:r+i.width/2+20,s=this.updateTree(t,l,g.y,t.nameTable[u.tree.assistants[parseInt(d.toString(),10)]],f+1),this.hasChild(t,e)||(0===d?m=s:this.uniteRects(m,s)),d%2==0&&g.prevBounds&&(c=void 0===c?g.canMoveBy:Math.min(c,g.canMoveBy)),d%2!=1&&d!==u.tree.assistants.length-1||(p=this.findIntersectingLevels(t,s,f+1),this.updateRearBounds(t,null,[{rBounds:s}],f+1,p),f++));return m&&(m.canMoveBy=c),m},e.prototype.getDimensions=function(t,e,i,r,n){var o;o=e.actualSize.width;var a;if(a=e.actualSize.height,t.orientation=t.orientation||"TopToBottom",-1!==t.orientation.indexOf("Left")){if(!n){var s=i;i=r,r=s}a=e.actualSize.width,o=e.actualSize.height}return{x:i,y:r,width:o,height:a}},e.prototype.hasChild=function(t,e){var i=t.graphNodes[e.id];return i?i.tree.children&&i.tree.children.length:0},e.prototype.updateHorizontalTree=function(t,e,i,r,n,o){var a=this.getDimensions(t,e,r,n,o),s={},h=(s=t.graphNodes[e.id]).tree.type,d=o,l=0;l=r;var c,p,g,u,f,m,y,v,b,S,w,x,I,C,P=n;t.levels.slice(0,t.levels.length);if(this.hasChild(t,e)){var D=-1!==t.orientation.indexOf("Left");for(x=0;x<s.tree.children.length;x++){c=(g=t.nameTable[s.tree.children[parseInt(x.toString(),10)]]).actualSize.width,p=g.actualSize.height,f=D?p:c,m=D?c:p;t.levels[d+1]&&t.levels[d+1].rBounds;if(u=this.updateTree(t,l,P,g,d+1,t.nameTable[s.tree.children[x-1]]),I=t.graphNodes[g.id],s.maxLevel=Math.max(s.maxLevel||0,I.maxLevel||0),v={x:I.x,y:I.y,right:I.x+f,bottom:I.y+m},0===x&&(y={x:Math.min(I.x,u.x),y:Math.min(I.y,u.y),right:u.right,bottom:u.bottom},C=I),w?(w.x=v.x,w.y=v.y,v.right>w.right&&(w.right=v.right),w.bottom=v.bottom):w=v,0===x&&(s.firstChild={x:I.x,canMoveBy:I.canMoveBy,child:g.id}),this.hasChild(t,g))if(!s.firstChild||s.firstChild.x>=I.firstChild.x){I.firstChild&&s.firstChild.canMoveBy<I.canMoveBy&&(S=s.firstChild.canMoveBy,I.canMoveBy=S,t.graphNodes[s.firstChild.child].canMoveBy=S,s.firstChild.canMoveBy=S);var T=void 0!==S?S:I.canMoveBy;s.firstChild={x:I.firstChild.x,canMoveBy:T,child:g.id}}else I.firstChild&&I.translated&&s.firstChild.canMoveBy>I.canMoveBy&&(s.firstChild.canMoveBy=t.graphNodes[s.firstChild.child].canMoveBy=I.canMoveBy);b=b?Math.max(I.maxLevel,b):I.maxLevel,this.uniteRects(y,u),l=0!==x&&!this.hasChild(t,g)&&I.subTreeTranslation<0?u.right-I.subTreeTranslation+t.horizontalSpacing:u.right+t.horizontalSpacing}isNaN(void 0)||(C.canMoveBy=void 0),s.mid=(C.x+w.right)/2-a.width/2,"Left"===h?s.mid=v.right-a.width:"Right"===h&&(s.mid=r)}return y},e.prototype.updateHorizontalTreeWithMultipleRows=function(t,e,i,r,n,o){var a,s,h,d,l,c,p,g,u,f,m,y=this.getDimensions(t,e,r,n,o),v=t.graphNodes[e.id],b=(v.tree.type,o),S=r,w=n,x=(t.levels.slice(0,t.levels.length),0);if(this.hasChild(t,e)){var I=-1!==t.orientation.indexOf("Left"),C=void 0,P=this.splitChildrenInRows(t,e),D=5===v.tree.children.length&&3===P[0].length,T=[],A=[];D?A=P:this.splitRows(P,T,A);var O={leftTree:T,rows:P,rightTree:A,dimensions:y},M=this.updateLeftTree(t,O,e,r,w,b);l=O.bounds;var E=void 0,L=(M||0)+(void 0!==M?t.horizontalSpacing/2:0);void 0!==M&&(v.mid=L-y.width/2,E=M+t.horizontalSpacing),w=n;var z=void 0;for(z=[],u=0;u<A.length;u++)for(S=P[u].length%2==1&&u===A.length-1||D?r:E||r,0!==u&&(w=z[u-1].bottom+t.verticalSpacing),g=0;g<A[u].length;g++)c=(a=t.nameTable[A[u][g]]).actualSize.width,p=a.actualSize.height,d=I?p:c,(s=t.graphNodes[a.id]).actualLevel=b+1+u,0===g&&T[u]&&T[u].length&&(s.translate=!1),D&&1===u&&(0===g&&f+d+t.horizontalSpacing<=m&&(C=!0,S=f-d/2),C&&1===g&&(S=m-d/2)),h=this.updateTree(t,S,w,a,b+1,t.nameTable[A[u][g-1]]),D&&g<=2&&0===u&&1===g&&(f=h.x-t.horizontalSpacing/2,m=h.x+d+t.horizontalSpacing/2),0===g?z[u]={x:h.x,y:h.y,right:h.right,bottom:h.bottom}:this.uniteRects(z[u],h),l||(l={x:z[u].x,y:z[u].y,right:z[u].right,bottom:z[u].bottom}),this.uniteRects(l,z[u]),S=h.right+t.horizontalSpacing,(!v.firstChild||(u===A.length-1&&P[u].length%2==1||D)&&0===g&&void 0!==s.canMoveBy&&x>s.canMoveBy)&&(x=Math.min(x,s.canMoveBy||0),v.firstChild={x:s.x,child:a.id,canMoveBy:s.canMoveBy}),O.leftCenter=f,O.rightCenter=m,O.align=C,O.level=b,O.rightBounds=z,this.alignRowsToCenter(t,u,e,O,E)}return l},e.prototype.updateLeftTree=function(t,e,i,r,n,o){for(var a,s,h,d,l,c=e.leftTree,p=t.graphNodes[i.id],g=[],u=-1!==t.orientation.indexOf("Left"),f=0;f<c.length&&c[parseInt(f.toString(),10)].length;f++){a=r,g[f-1]&&(n=g[f-1].bottom+t.verticalSpacing);for(b=0;b<c[parseInt(f.toString(),10)].length;b++){var m=t.nameTable[c[parseInt(f.toString(),10)][parseInt(b.toString(),10)]],y=(u?m.actualSize.height:m.actualSize.width,u?m.actualSize.width:m.actualSize.height,t.graphNodes[m.id]);y.actualLevel=o+1+f,d=this.updateTree(t,a,n,m,o+1,t.nameTable[c[parseInt(f.toString(),10)][b-1]]),0===b?g[parseInt(f.toString(),10)]={x:d.x,y:d.y,right:d.right,bottom:d.bottom}:this.uniteRects(g[parseInt(f.toString(),10)],d),0===f&&0===b?(s=y.canMoveBy,p.firstChild={x:y.x,child:m.id,canMoveBy:y.canMoveBy}):0===b&&void 0!==y.canMoveBy&&s>y.canMoveBy&&(s=Math.min(s,y.canMoveBy||0),p.firstChild={x:y.x,child:m.id,canMoveBy:y.canMoveBy}),a=d.right+t.horizontalSpacing}h=0===f?g[parseInt(f.toString(),10)].right:Math.max(h,g[parseInt(f.toString(),10)].right)}for(f=0;f<c.length&&c[parseInt(f.toString(),10)].length;f++){if(h!==g[parseInt(f.toString(),10)].right)for(var v=h-g[parseInt(f.toString(),10)].right,b=0;b<c[parseInt(f.toString(),10)].length;b++){t.nameTable[c[parseInt(f.toString(),10)][parseInt(b.toString(),10)]];t.graphNodes[c[parseInt(f.toString(),10)][parseInt(b.toString(),10)]].x+=v}0===f?l={x:g[0].x,y:g[0].y,right:g[0].right,bottom:g[0].bottom}:this.uniteRects(l,g[parseInt(f.toString(),10)])}return e.bounds=l,h},e.prototype.alignRowsToCenter=function(t,e,i,r,n){var o,a,s,h=t.graphNodes[i.id],d=r.rows,l=r.rightTree,c=r.leftCenter,p=r.rightCenter,g=r.align,u=r.rightBounds,f=r.dimensions,m=r.level,y=5===h.tree.children.length&&3===d[0].length;if(y&&1===e&&(o=u[0].right-u[0].x>=u[1].right-u[1].x?0:1),e===d.length-1&&(d[parseInt(e.toString(),10)].length%2==1||y&&1===e)){a=l[parseInt(e.toString(),10)][Math.floor(l[parseInt(e.toString(),10)].length/2)];var v=t.nameTable[""+a],b=t.graphNodes[""+a].x,S=t.graphNodes[""+a].y,w=this.getDimensions(t,v,b,S,m+1);s=void 0,!g&&y?(1===o&&(e=0),s=(u[parseInt(o.toString(),10)].x+u[parseInt(o.toString(),10)].right)/2-(u[parseInt(e.toString(),10)].x+u[parseInt(e.toString(),10)].right)/2,0===e&&(h.mid+=s)):y||void 0===n||(s=n-t.horizontalSpacing/2-(b+w.width/2)),void 0!==s&&this.updateRearBoundsOfTree(t,l[parseInt(e.toString(),10)],s,f),y&&(h.mid=(p+c)/2+(0===e?s:0)-f.width/2),void 0===h.mid&&t.graphNodes[""+a]&&(h.mid=b),g=!1,e++}},e.prototype.updateRearBoundsOfTree=function(t,e,i,r){for(var n=0;n<e.length;n++){var o=t.graphNodes[e[parseInt(n.toString(),10)]];if(o.x+=i,o.canMoveBy+=i,n===e.length-1){var a={x:o.x,y:o.y,right:o.x+r.width,bottom:o.y+r.height},s=this.findIntersectingLevels(t,a,o.actualLevel);this.updateRearBounds(t,null,[{rBounds:a}],o.actualLevel,s)}}},e.prototype.splitRows=function(t,e,i){for(var r=0;r<t.length;r++){e[parseInt(r.toString(),10)]=[],i[parseInt(r.toString(),10)]=[];var n=void 0;if(n=t[parseInt(r.toString(),10)].length,t[parseInt(r.toString(),10)].length%2!=1){n=Math.ceil(t[parseInt(r.toString(),10)].length/2);for(var o=0;o<n;o++)e[parseInt(r.toString(),10)].push(t[parseInt(r.toString(),10)][parseInt(o.toString(),10)])}for(var a=e[parseInt(r.toString(),10)].length;a<t[parseInt(r.toString(),10)].length;a++)i[parseInt(r.toString(),10)].push(t[parseInt(r.toString(),10)][parseInt(a.toString(),10)])}},e.prototype.updateVerticalTree=function(t,e,i,r,n,o){var a,s,h,d,l,c,p,g,u,f,m,y,v,b,S=t.graphNodes[e.id],w=t.nameTable[S.tree.children[0]],x=-1!==t.orientation.indexOf("Left"),I="Left"===S.tree.type?-1:0,C=i,P=r,D=n,T=[],A=[];for(m=0;m<S.tree.children.length;m++){if("Alternate"===S.tree.type&&(v=m%2==0&&S.tree.children.length>2?"Left":"Right",I=m%2==0&&S.tree.children.length>2?-1:0),C=i+this.findOffset(t,e,S,v),a=t.nameTable[S.tree.children[parseInt(m.toString(),10)]],d=x?a.actualSize.height:a.actualSize.width,l=x?a.actualSize.width:a.actualSize.height,h=this.updateTree(t,C+I*d,P,a,n+1,void 0,!0),s=t.graphNodes[a.id],g={x:s.x,y:s.y,right:s.x+d,bottom:s.y+l},0===m?(this.uniteRects(h,g),p=h):this.uniteRects(p,h),!s.prevBounds||"Alternate"===S.tree.type&&m%2==1&&S.tree.children.length>2||(b=void 0!==b?Math.min(s.canMoveBy,b):s.canMoveBy),S.maxLevel=Math.max(S.maxLevel||0,s.maxLevel||0),"Alternate"===S.tree.type&&S.tree.children.length>2&&m%2==0?(0!==m&&(P=c.bottom+t.verticalSpacing/2),A.push({rBounds:g}),s.levelBounds&&(A=A.concat(s.levelBounds))):(P="Alternate"===S.tree.type&&S.tree.children.length>2?Math.max(h.bottom,c.bottom)+t.verticalSpacing/2:h.bottom+t.verticalSpacing/2,n=S.maxLevel,T.push({rBounds:g}),f?this.uniteRects(f,g):f={x:s.x,y:s.y,right:s.x+d,bottom:s.y+l},s.levelBounds&&(T=T.concat(s.levelBounds))),0===m&&(S.firstChild={x:s.x,canMoveBy:s.canMoveBy,child:a.id}),this.hasChild(t,a))if(!S.firstChild||S.firstChild.x>=s.firstChild.x){if(s.firstChild&&S.firstChild.canMoveBy<s.canMoveBy){var O=S.firstChild.canMoveBy;s.canMoveBy=O,t.graphNodes[S.firstChild.child].canMoveBy=O,S.firstChild.canMoveBy=O}S.firstChild={x:s.firstChild.x,canMoveBy:void 0!==b?b:s.canMoveBy,child:a.id}}else s.firstChild&&s.translated&&S.firstChild.canMoveBy>s.canMoveBy&&(S.firstChild.canMoveBy=t.graphNodes[S.firstChild.child].canMoveBy=s.canMoveBy);c=g}return o?S.levelBounds=T:("Alternate"===S.tree.type&&S.tree.children.length>2&&(u={x:A[0].rBounds.x,y:A[0].rBounds.y,right:A[A.length-1].rBounds.right,bottom:A[A.length-1].rBounds.bottom},y=this.findIntersectingLevels(t,u,D+1),this.updateRearBounds(t,null,A,D+1,y)),y=this.findIntersectingLevels(t,f||p,D+1),this.updateRearBounds(t,null,f?T:[{rBounds:p}],D+1,y)),isNaN(b)||(t.graphNodes[w.id].canMoveBy=b),S.childBounds=p,S.mid=i,p},e.prototype.splitChildrenInRows=function(t,e){var i,r=t.graphNodes[e.id];i=4;var n,o=[];n=r.tree.children.length;var a=this.extend(r.tree.children);if(r.tree.rows){r.tree.children.length;var s=r.tree.rows;i=s%2==0?s:s-1}else 3===r.tree.children.length||4===r.tree.children.length?i=2:5===r.tree.children.length&&(i=3);for(;n>0;)o[o.length]=a.splice(0,i),(n-=i)<i&&(n%2==0?i=n:1!==n&&(i=n-1),n<i&&(i=n));return o},e.prototype.extend=function(t){var e,i=[];for(e=0;e<t.length;e++)i[parseInt(e.toString(),10)]=t[parseInt(e.toString(),10)];return i},e.prototype.findOffset=function(t,e,i,r){var n=0,o=-1!==t.orientation.indexOf("Left")?e.actualSize.height:e.actualSize.width,a=r||i.tree.type;switch(n=i.tree.offset||20,"Alternate"===i.tree.type&&n>=t.horizontalSpacing&&(n=t.horizontalSpacing/2),a){case"Left":n=o/2-n;break;case"Right":n+=o/2}return n},e.prototype.uniteRects=function(t,e){t.x=Math.min(t.x,e.x),t.right=Math.max(t.right,e.right),t.bottom=Math.max(t.bottom,e.bottom)},e.prototype.spaceLeftFromPrevSubTree=function(t,e,i){for(var r,n,o=t.graphNodes[e.id],a=t.horizontalSpacing,s=0;s<o.intersect.length;s++)n=t.levels[o.intersect[parseInt(s.toString(),10)]].rBounds,r=i.x-(n.right+a),(void 0===o.diff||r<o.diff)&&(o.diff=r,o.prevBounds=t.levels[o.intersect[parseInt(s.toString(),10)]].rBounds)},e.prototype.findIntersectingLevels=function(t,e,i,r){var n={x:e.x,y:e.y,right:e.right,bottom:e.bottom};n.y-=t.verticalSpacing/2,n.bottom+=t.verticalSpacing/2;var o,a,s=[];a=void 0!==r?r:i,o=t.levels[parseInt(a.toString(),10)]?t.levels[parseInt(a.toString(),10)].rBounds:null;do{if(o&&(n.y<o.y&&n.bottom>o.y||n.y<o.bottom&&o.bottom<n.bottom||n.y>=o.y&&n.bottom<=o.bottom||n.y<o.y&&n.bottom>o.bottom)){s.splice(0,0,a)}else if(o&&o.bottom<n.y)break;a--,o=t.levels[parseInt(a.toString(),10)]?t.levels[parseInt(a.toString(),10)].rBounds:null}while(a>=0);a=(void 0!==r?r:i)+1,o=t.levels[parseInt(a.toString(),10)]?t.levels[parseInt(a.toString(),10)].rBounds:null;do{if(o&&(n.y<o.y&&n.bottom>o.y||n.y<o.bottom&&o.bottom<n.bottom||n.y>=o.y&&n.bottom<=o.bottom||n.y<o.y&&n.bottom>o.bottom))s.push(a);else if(o&&o.y>n.bottom)break;a++,o=t.levels[parseInt(a.toString(),10)]?t.levels[parseInt(a.toString(),10)].rBounds:null}while(a<=t.levels.length);return s},e.prototype.findLevel=function(t,e,i){var r,n=e;r=0;var o;for(o=t.levels[parseInt(r.toString(),10)]?t.levels[parseInt(r.toString(),10)].rBounds:null;r<t.levels.length;){if(o&&n.bottom<o.y)return r;r++,o=t.levels[parseInt(r.toString(),10)]?t.levels[parseInt(r.toString(),10)].rBounds:null}return r},e.prototype.getParentNode=function(t,e){return t.nameTable[t.nameTable[e.inEdges[0]].sourceID]},e.prototype.updateEdges=function(e,i,r,n,o){var a,s=e.graphNodes[i.id];if(i.outEdges&&i.outEdges.length&&(i.isExpanded||n===t.DiagramAction.Render))for(a=0;a<i.outEdges.length;a++){var h=e.nameTable[e.nameTable[i.outEdges[parseInt(a.toString(),10)]].targetID];h&&!h.excludeFromLayout&&(-1===s.tree.children.indexOf(h.id)&&s.tree.children.push(h.id),h.outEdges&&h.outEdges.length&&h.isExpanded&&(s.tree.hasSubTree=!0),this.updateEdges(e,h,r+1,n,o))}s.tree.level=r,s.tree.hasSubTree&&(s.tree.orientation="Horizontal",s.tree.type="Center"),(e.getLayoutInfo||e.layoutInfo)&&"OrganizationalChart"===e.type&&(e.getLayoutInfo?e.getLayoutInfo(i,s.tree):gn(s.tree,e.layoutInfo,o,i),"Balanced"===s.tree.type&&s.tree.hasSubTree&&(s.tree.type="Center",s.tree.orientation="Horizontal")),e.level&&"Alternate"!==s.tree.type&&r>=e.level&&(s.tree.hasSubTree=!1)},e.prototype.updateAnchor=function(t,e,i){var r,n,o=0,a=0,s=0,h=0,d=new ms(0,0,i.x,i.y),l=t.bounds?t.bounds:d,c=t.orientation;if(t.fixedNode){o=(n=t.nameTable[t.fixedNode]).actualSize.width,a=n.actualSize.height,t.anchorX=n.offsetX,t.anchorY=n.offsetY;var p=n.pivot;for(t.anchorX+="RightToLeft"===t.orientation?o*p.x:-o*p.x,t.anchorY+="BottomToTop"===t.orientation?a*p.y:-a*p.y,r=n,s=0;r.inEdges.length;)r=this.getParentNode(t,r),s+=t.graphNodes[r.id].subTreeTranslation||0;-1!==t.orientation.indexOf("Left")?(h=t.graphNodes[n.id].y,"LeftToRight"===c?t.anchorX-=h:t.anchorX+=h,t.anchorY-=t.graphNodes[n.id].x+s):(h=t.graphNodes[n.id].y,t.anchorX-=t.graphNodes[n.id].x+s,"TopToBottom"===c?t.anchorY-=h:t.anchorY+=h)}else if("TopToBottom"===c||"BottomToTop"===c){switch(t.horizontalAlignment){case"Left":t.anchorX=l.x-e.x+t.margin.left;break;case"Right":t.anchorX=l.x+l.width-t.margin.right-e.right;break;case"Auto":case"Center":t.anchorX=l.x+l.width/2-(e.x+e.right)/2}switch(t.verticalAlignment){case"Auto":case"Top":var g;g=l.y+t.margin.top,t.anchorY="TopToBottom"===c?g:e.bottom+g;break;case"Bottom":var u=void 0;u=l.y+l.height-t.margin.bottom,t.anchorY="TopToBottom"===c?u-e.bottom:u;break;case"Center":y=void 0;y=l.y+l.height/2,t.anchorY="TopToBottom"===t.orientation?y-(e.y+e.bottom)/2:y+(e.y+e.bottom)/2}}else{switch(t.horizontalAlignment){case"Auto":case"Left":var f=void 0;f=l.x+t.margin.left,t.anchorX="LeftToRight"===c?f:e.bottom+f;break;case"Right":var m=void 0;m=l.x+l.width-t.margin.right,t.anchorX="LeftToRight"===c?m-e.bottom:m;break;case"Center":var y=void 0;y=l.width/2+l.x,t.anchorX="LeftToRight"===t.orientation?y-(e.y+e.bottom)/2:y+(e.y+e.bottom)/2}switch(t.verticalAlignment){case"Top":t.anchorY=l.y+t.margin.top-e.x;break;case"Auto":case"Center":t.anchorY=l.y+l.height/2-(e.right+e.x)/2;break;case"Bottom":t.anchorY=l.y+l.height-t.margin.bottom-e.right}}},e.prototype.updateConnectors=function(t,e,i){var r,n,o,a=t.graphNodes[e.id];if(e.outEdges.length)for(r=0;r<e.outEdges.length;r++)if(o=t.nameTable[e.outEdges[parseInt(r.toString(),10)]],o.points=[],n=t.nameTable[o.targetID],o.visible){if(o.visited=!0,t.getConnectorSegments)t.getConnectorSegments(o);else a&&-1!==a.tree.children.indexOf(o.targetID)&&(o.segments=[],"Bezier"===o.type&&"SamePoint"===t.connectionPointOrigin&&o.segments.push(new fd(o,"segments",{type:"Bezier"},!0)),"OrganizationalChart"===t.type&&"Orthogonal"===o.type&&this.updateSegments(t,o,e,n,r));n&&(n.isExpanded||this.hasChild(t,n))&&this.updateConnectors(t,n,i+1)}if(a&&a.tree.assistants.length)for(r=0;r<a.tree.assistants.length;r++)n=t.nameTable[a.tree.assistants[parseInt(r.toString(),10)]],o=t.nameTable[n.inEdges[0]],this.get3Points(t,e,n,o),(n.isExpanded||this.hasChild(t,n))&&this.updateConnectors(t,n,i+1)},e.prototype.updateSegments=function(t,e,i,r,n){var o=t.graphNodes[i.id];o.tree.assistants.length?this.updateSegmentsForHorizontalOrientation(t,i,r,e):"Horizontal"===o.tree.orientation&&"Balanced"===o.tree.type?this.updateSegmentsForBalancedTree(t,e,i,r,n):"Horizontal"===o.tree.orientation?this.updateSegmentsForHorizontalOrientation(t,i,r,e):o.tree.offset<5?this.get5Points(t,i,r,e):this.get3Points(t,i,r,e)},e.prototype.updateSegmentsForBalancedTree=function(t,e,i,r,n){var o,a=t.graphNodes[i.id];if(5===a.tree.children.length&&n>2){o=a.tree.children[1],isNaN(t.graphNodes[""+o].treeWidth)&&(t.graphNodes[""+o].treeWidth=t.nameTable[""+o].actualSize.width);var s=3!==n?1:-1;if(-1!==t.orientation.indexOf("Left"))t.nameTable[""+o].offsetY-t.graphNodes[""+o].treeWidth/2-t.verticalSpacing*s/2;else t.nameTable[""+o].offsetX,t.graphNodes[""+o].treeWidth,t.horizontalSpacing;this.getSegmentsForMultipleRows(t,i,r,e)}else a.tree.children.length>5?n<4||n<a.tree.rows?this.getSegmentsForMultipleRows(t,i,r,e):this.updateSegmentsForHorizontalOrientation(t,i,r,e):4===a.tree.children.length?n<2||n<a.tree.rows?this.getSegmentsForMultipleRows(t,i,r,e):this.updateSegmentsForHorizontalOrientation(t,i,r,e):this.getSegmentsForMultipleRows(t,i,r,e)},e.prototype.get3Points=function(t,e,i,r){var n=[],o=this.getBounds(e),a=this.getBounds(i);if(-1!==t.orientation.indexOf("Top")){var s=0===t.orientation.indexOf("Top")?o.bottomCenter:o.topCenter,h=e.offsetX>i.offsetX?a.middleRight:a.middleLeft;n.push(s,{x:o.bottomCenter.x,y:h.y},h)}else{var s=0===t.orientation.indexOf("Left")?o.middleRight:o.middleLeft,h=e.offsetY>i.offsetY?a.bottomCenter:a.topCenter;n.push(s,{x:a.bottomCenter.x,y:o.middleRight.y},h)}this.getSegmentsFromPoints(n,r)},e.prototype.get5Points=function(t,e,i,r){var n,o,a,s,h=[],d=this.getBounds(e),l=this.getBounds(i);-1!==t.orientation.indexOf("Top")?(n=e.offsetY<i.offsetY?d.bottomCenter:d.topCenter,s=t.verticalSpacing/4*(e.offsetY<i.offsetY?1:-1),a=t.horizontalSpacing/2*(e.offsetX>i.offsetX?1:-1),o=e.offsetX>i.offsetX?l.middleRight:l.middleLeft,h.push(n,{x:n.x,y:n.y+s},{x:o.x+a,y:n.y+s},{x:o.x+a,y:o.y},o)):(n=e.offsetX>i.offsetX?d.middleLeft:d.middleRight,o=e.offsetY>i.offsetY?l.bottomCenter:l.topCenter,a=t.horizontalSpacing/4*(e.offsetX<i.offsetX?1:-1),s=t.verticalSpacing/2*(e.offsetY>i.offsetY?1:-1),h.push(n,{x:n.x+a,y:n.y},{x:n.x+a,y:n.y+s},{x:o.x,y:n.y+s},o)),this.getSegmentsFromPoints(h,r)},e.prototype.getSegmentsFromPoints=function(t,e){for(var i,r=[],n=0;n<t.length-2;n++)(i=new md(e,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(t[parseInt(n.toString(),10)],t[n+1]),i.length=fs.distancePoints(t[parseInt(n.toString(),10)],t[n+1]),r.push(i);e.segments=r},e.prototype.getSegmentsForMultipleRows=function(t,e,i,r){var n,o,a=[],s=this.getBounds(i),h=this.getBounds(e);switch(t.orientation){case"TopToBottom":n={x:h.bottomCenter.x,y:h.bottomCenter.y+t.verticalSpacing/4},(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(h.bottomCenter,n),o.length=fs.distancePoints(h.bottomCenter,n),a.push(o);break;case"BottomToTop":n={x:h.bottomCenter.x,y:h.topCenter.y-t.verticalSpacing/4},(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(h.topCenter,n),o.length=fs.distancePoints(h.topCenter,n),a.push(o);break;case"LeftToRight":if(n={x:h.middleRight.x+t.verticalSpacing/4,y:h.middleRight.y},o=new md(r,"segments",{type:"Orthogonal"},!0),o.direction=fs.direction(h.middleRight,n),o.length=fs.distancePoints(h.middleRight,n),a.push(o),s.center.y!==h.center.y){var d={x:h.middleRight.x+t.verticalSpacing/4,y:s.middleLeft.y};(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(n,d),o.length=fs.distancePoints(n,d),a.push(o)}break;case"RightToLeft":if(n={x:h.middleLeft.x-t.verticalSpacing/4,y:h.middleRight.y},o=new md(r,"segments",{type:"Orthogonal"},!0),o.direction=fs.direction(h.middleLeft,n),o.length=fs.distancePoints(h.middleLeft,n),a.push(o),s.center.y!==h.center.y){var l={x:h.middleLeft.x-t.verticalSpacing/4,y:s.middleLeft.y};(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(l,l),o.length=fs.distancePoints(l,l),a.push(o)}}r.segments=a},e.prototype.updateSegmentsForHorizontalOrientation=function(t,e,i,r){var n,o,a=[],s=[],h=this.getBounds(e),d=this.getBounds(i);switch(t.orientation){case"TopToBottom":n={x:h.bottomCenter.x,y:d.topCenter.y-t.verticalSpacing/2},(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(h.bottomCenter,n),o.length=fs.distancePoints(h.bottomCenter,n),s.push(o);break;case"BottomToTop":n={x:h.topCenter.x,y:d.bottomCenter.y+t.verticalSpacing/2},(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(h.topCenter,n),o.length=fs.distancePoints(h.topCenter,n),s.push(o);break;case"LeftToRight":if(n={x:d.middleLeft.x-t.verticalSpacing/2,y:h.middleRight.y},o=new md(r,"segments",{type:"Orthogonal"},!0),o.direction=fs.direction(h.middleRight,n),o.length=fs.distancePoints(h.middleRight,n),s.push(o),d.center.y!==h.center.y){var l={x:d.middleLeft.x-t.verticalSpacing/2,y:d.middleLeft.y};(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(n,l),o.length=fs.distancePoints(n,l),s.push(o)}break;case"RightToLeft":if(n={x:d.middleRight.x+t.verticalSpacing/2,y:h.middleRight.y},o=new md(r,"segments",{type:"Orthogonal"},!0),o.direction=fs.direction(h.middleLeft,n),o.length=fs.distancePoints(h.middleLeft,n),s.push(o),d.center.y!==h.center.y){var c={x:d.middleRight.x+t.verticalSpacing/2,y:d.middleLeft.y};(o=new md(r,"segments",{type:"Orthogonal"},!0)).direction=fs.direction(n,c),o.length=fs.distancePoints(n,c),s.push(o)}}return r.segments=s,a},e.prototype.updateNodes=function(t,e,i,r,n,o){var a,s,h,d,l,c;if(e&&!e.excludeFromLayout){h=e.actualSize.width,d=e.actualSize.height,l=t.anchorX,c=t.anchorY,"LeftToRight"===t.orientation?(l+=t.graphNodes[e.id].y+h/2,c+=t.graphNodes[e.id].x+i+d/2):"RightToLeft"===t.orientation?(l-=t.graphNodes[e.id].y+h/2,c+=t.graphNodes[e.id].x+i+d/2):"TopToBottom"===t.orientation?(l+=t.graphNodes[e.id].x+i+h/2,c+=t.graphNodes[e.id].y+d/2):(l+=t.graphNodes[e.id].x+i+h/2,c-=t.graphNodes[e.id].y+d/2),t.graphNodes&&(l+=n=n||0,c+=o=o||0,this.isAnimation||(e.offsetX=l,e.offsetY=c));var p={id:e.id,differenceX:l-e.offsetX,differenceY:c-e.offsetY};t.objects.push(p);var g=[];if(this.hasChild(t,e))for(a=0;a<t.graphNodes[e.id].tree.children.length;a++)s=t.nameTable[t.graphNodes[e.id].tree.children[parseInt(a.toString(),10)]],this.updateNodes(t,s,i+(t.graphNodes[e.id].subTreeTranslation||0),r,n,o),g.push(s);if(t.graphNodes[e.id].tree.assistants.length)for(a=0;a<t.graphNodes[e.id].tree.assistants.length;a++)s=t.nameTable[t.graphNodes[e.id].tree.assistants[parseInt(a.toString(),10)]],this.updateNodes(t,s,i+(t.graphNodes[e.id].subTreeTranslation||0),null,n,o)}},e}(),Kp=function(){function t(){this.isAnimation=!1}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"MindMapChart"},t.prototype.updateLayout=function(t,e,i,r,n,o){var a=this.checkRoot(t,i,n,o,e);if(a)i.fixedNode=a;else for(var s=0,h=t;s<h.length;s++)if(!((m=h[s]).excludeFromLayout||m.inEdges&&m.inEdges.length)){i.fixedNode=m.id;break}var d=e[i.fixedNode],l=this.findFirstLevelNodes(d,i,e),c=[],p=[],g=Z(i.getBranch);g=g||Z(this.getBranch);for(var u=0,f=l;u<f.length;u++){var m=f[u],y=g(m,l);"Left"===(y=m&&m.branch?m.branch:y)?c.push(m):p.push(m)}var v=new ms(0,0,r.x,r.y);e[i.fixedNode].offsetX=v.x+v.width/2,e[i.fixedNode].offsetY=v.y+v.height/2,c.length&&this.updateMindMapBranch(t,p,e,i,r,n,"Left"),p.length&&this.updateMindMapBranch(t,c,e,i,r,n,"Right")},t.prototype.checkRoot=function(t,e,i,r,n){for(var o=0,a=t;o<a.length;o++){var s=a[o];if(!s.excludeFromLayout){if(s.data&&(s.data[""+i].toString()===r||s.data[""+i].toString()===e.root))return s.id;if(!s.data&&s.id===e.root)return s.id}}return""},t.prototype.updateMindMapBranch=function(t,e,i,r,n,o,a){var s={type:"HierarchicalTree",horizontalSpacing:r.verticalSpacing,verticalSpacing:r.horizontalSpacing,verticalAlignment:r.verticalAlignment,horizontalAlignment:r.horizontalAlignment,fixedNode:r.fixedNode,getLayoutInfo:Z(r.getLayoutInfo),layoutInfo:r.layoutInfo,margin:r.margin,orientation:r.orientation,root:r.fixedNode};"Vertical"===s.orientation?s.orientation="Left"===a?"TopToBottom":"BottomToTop":s.orientation="Left"===a?"LeftToRight":"RightToLeft",this.excludeFromLayout(e,i,!0),(new qp).updateLayout(t,i,s,n,o),this.excludeFromLayout(e,i,!1)},t.prototype.getBranch=function(t,e){return e.indexOf(t)%2==0?"Left":"Right"},t.prototype.excludeFromLayout=function(t,e,i){for(var r=0,n=t;r<n.length;r++)e[n[r].id].excludeFromLayout=i},t.prototype.findFirstLevelNodes=function(t,e,i){var r=[];if(t&&t.outEdges.length)for(var n=0,o=t.outEdges;n<o.length;n++){var a=o[n];r.push(i[i[""+a].targetID])}return r},t}(),Qp=function(){function t(){}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"RadialTree"},t.prototype.updateLayout=function(t,e,i,r){var n={type:i.type,nameTable:e,anchorX:0,anchorY:0,firstLevelNodes:[],centerNode:null,levels:[],maxLevel:0,graphNodes:{},layoutNodes:[],orientation:i.orientation,horizontalSpacing:i.horizontalSpacing,verticalSpacing:i.verticalSpacing,verticalAlignment:i.verticalAlignment,horizontalAlignment:i.horizontalAlignment,fixedNode:i.fixedNode,margin:i.margin,bounds:i.bounds,objects:[],root:i.root};this.doLayout(n,t,e,r)},t.prototype.doLayout=function(t,e,i,r){for(var n,o=0;o<e.length;o++)(n=e[parseInt(o.toString(),10)]).excludeFromLayout||(t.graphNodes[n.id]=this.setUpLayoutInfo(t,n),n.inEdges&&n.inEdges.length||t.firstLevelNodes.push(n));t.root&&i[t.root]?t.centerNode=i[t.root]:t.firstLevelNodes.length&&(t.centerNode=t.firstLevelNodes[0],t.root=t.centerNode.id),t.centerNode&&(this.updateEdges(t,t.centerNode,0,i),this.depthFirstAllignment(t,t.centerNode,0,0),this.populateLevels(t),this.transformToCircleLayout(t),this.updateAnchor(t,r),this.updateNodes(t,t.centerNode,i))},t.prototype.updateEdges=function(t,e,i,r){var n=t.graphNodes[e.id];t.layoutNodes.push(n),n.level=i,n.visited=!0,t.maxLevel=Math.max(t.maxLevel,i);for(var o=0;o<e.outEdges.length;o++){var a=r[r[e.outEdges[parseInt(o.toString(),10)]].targetID];a.excludeFromLayout||a.visited||(n.children.push(a),this.updateEdges(t,a,i+1,r))}},t.prototype.depthFirstAllignment=function(t,e,i,r){var n,o=t.graphNodes[e.id];if(o.children.length){r+=300;for(h=0;h<o.children.length;h++)i=(n=this.depthFirstAllignment(t,o.children[parseInt(h.toString(),10)],i,r)).x,r=n.y;o.children=o.children.sort(function(e,i){return t.graphNodes[e.id].x-t.graphNodes[i.id].x});var a=t.graphNodes[o.children[0].id].min,s=t.graphNodes[o.children[o.children.length-1].id].max;if(o.x=a+(s-a)/2,i=s+t.horizontalSpacing,o.segmentOffset=s+t.horizontalSpacing,o.x-=o.width/2,o.y-=o.height/2,o.min=a,o.max=s,o.x<a&&o.visited){o.x=a,i=o.x+o.width/2-(s-a)/2,o.visited=!1;for(var h=0;h<o.children.length;h++)n=this.depthFirstAllignment(t,o.children[parseInt(h.toString(),10)],i,r);o.visited=!0,i=o.x+o.width+t.horizontalSpacing}i=i<(s=t.graphNodes[o.children[o.children.length-1].id].segmentOffset)?s:i,r-=300,o.y=r}else o.x=i,o.y=r,o.min=i,o.max=i+o.width,i+=o.width+t.horizontalSpacing;return{x:i,y:r}},t.prototype.populateLevels=function(t){var e=[],i=Math.min.apply(Math,t.layoutNodes.map(function(t){return t.x})),r=Math.max.apply(Math,t.layoutNodes.map(function(e){return e.x+e.width+t.horizontalSpacing}))-i;t.levels=[];for(var n=0;n<=t.maxLevel;n++)!function(n){e=t.layoutNodes.filter(function(t){return t.level===n?t:null});var o={};e=e.sort(function(t,e){return t.x-e.x}),o.min=e[0].x,o.max=e[e.length-1].x+e[e.length-1].width+t.horizontalSpacing,o.actualCircumference=0,o.height=0;for(var a=0;a<e.length;a++)e[parseInt(a.toString(),10)].height>o.height&&(o.height=e[parseInt(a.toString(),10)].height),o.actualCircumference+=Math.max(e[parseInt(a.toString(),10)].width,e[parseInt(a.toString(),10)].height),a!==e.length-1&&(o.actualCircumference+=t.horizontalSpacing);o.circumference=o.max-o.min,o.actualCircumference<o.circumference&&(o.circumference=(o.circumference+o.actualCircumference)/2),o.radius=o.circumference/(2*Math.PI)+o.height,o.nodes=[],n>1&&t.levels[n-1].radius+t.levels[n-1].height>=o.radius&&(o.radius=t.levels[n-1].radius+t.levels[n-1].height);for(var s=0;s<e.length;s++)e[parseInt(s.toString(),10)].ratio=Math.abs(e[parseInt(s.toString(),10)].x+e[parseInt(s.toString(),10)].width/2-i)/r,o.nodes.push(e[parseInt(s.toString(),10)]);t.levels.push(o)}(n)},t.prototype.transformToCircleLayout=function(t){var e=t.graphNodes[t.centerNode.id];e.x=0,e.y=0;for(var i=1;i<t.levels.length;i++)for(var r=0;r<t.levels[parseInt(i.toString(),10)].nodes.length;r++){var n=t.levels[parseInt(i.toString(),10)].nodes[parseInt(r.toString(),10)];n.x=Math.cos(360*n.ratio*Math.PI/180)*(t.levels[parseInt(i.toString(),10)].radius+t.verticalSpacing*i),n.y=Math.sin(360*n.ratio*Math.PI/180)*(t.levels[parseInt(i.toString(),10)].radius+t.verticalSpacing*i),t.anchorX=Math.min(t.anchorX,n.x),t.anchorY=Math.min(t.anchorY,n.y)}},t.prototype.updateAnchor=function(t,e){t.anchorX=t.centerNode.offsetX||e.x/2,t.anchorY=t.centerNode.offsetY||e.y/2},t.prototype.updateNodes=function(t,e,i){var r=t.graphNodes[e.id],n=r.x+t.anchorX,o=r.y+t.anchorY;e.offsetX=n,e.offsetY=o;for(var a=0;a<r.children.length;a++){var s=r.children[parseInt(a.toString(),10)];this.updateNodes(t,i[s.id],i)}},t.prototype.setUpLayoutInfo=function(t,e){var i={};return i.name=e.id,i.x=0,i.y=0,i.min=0,i.max=0,i.width=e.actualSize.width,i.height=e.actualSize.height,i.children=[],i.level=0,i.ratio=0,i.visited=!1,i},t}(),Jp=function(){function t(t){this.velocityX=0,this.velocityY=0,this.nodes=[],this.graphNode=t;var e=ls(this.graphNode);this.location=e.center,this.nodes=[],t.treeInfo.parents||(t.treeInfo.parents=[]),t.treeInfo.children||(t.treeInfo.children=[]),this.nodes=t.treeInfo.parents.concat(t.treeInfo.children)}return t.prototype.applyChanges=function(){this.graphNode.treeInfo.center=this.location},t}(),$p=function(){function t(){this.cdCOEF=.442,this.cfMAXVELOCITY=50,this.cnMAXITERACTION=1e3,this.cnSPRINGLENGTH=100,this.mszMaxForceVelocity={width:this.cfMAXVELOCITY,height:this.cfMAXVELOCITY},this.springLength=0,this.springFactor=this.cdCOEF,this.maxIteration=this.cnMAXITERACTION,this.springLength=this.cnSPRINGLENGTH}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"SymmetricalLayout"},t.prototype.doGraphLayout=function(t){var e=this.selectedNode;e.treeInfo.Bounds=t.getModelBounds(t.nodes);var i=e.treeInfo.GraphNodes,r=this.convertGraphNodes(i),n=r.length;n=Math.min(this.maxIteration,n*n*n),this.preLayoutNodes(r,e.treeInfo.Bounds);for(var o=0,a=n;o<a;o++)this.makeSymmetricLayout(r),this.appendForces(r);this.resetGraphPosition(r,e)},t.prototype.preLayoutNodes=function(t,e){for(var i=Math.max(e.width,e.height),r={x:i/2,y:i/2},n=2*Math.PI/t.length,o=n,a=0;a<t.length;a++){var s=t[parseInt(a.toString(),10)];this.getForceNode(s).location={x:r.x+i*Number(Math.cos(o).toFixed(2)),y:r.y+i*Number(Math.sin(o).toFixed(2))},o-=n}},t.prototype.doLayout=function(t){this.selectedNode=t.selectedNode,this.doGraphLayout(t)},t.prototype.makeSymmetricLayout=function(t){for(var e,i,r=0;r<t.length;r++){for(var n=t[parseInt(r.toString(),10)],o=(e=this.getForceNode(n)).nodes,a=0;a<o.length;a++){var s=o[parseInt(a.toString(),10)];this.calcNodesForce(e,this.getForceNode(s))}for(var h=0,d=o.length;h<d&&!(d<2);h++){var l=this.getForceNode(o[parseInt(h.toString(),10)]),c=h+1>=d?this.getForceNode(o[0]):this.getForceNode(o[h+1]),p=360/o.length/2*Math.PI/180,g=2*this.springLength*Math.sin(p);this.calcRelatesForce(l,c,g)}for(var u=0;u<t.length;u++)cs((s=t[parseInt(u.toString(),10)]).id,o)||s.id===n.id||(i=this.getForceNode(s),this.updateNeigbour(e,i))}},t.prototype.appendForces=function(t){for(var e=null,i=0;i<t.length;i++){var r=t[parseInt(i.toString(),10)],n=(e=this.getForceNode(r)).location;n.x+=Math.min(e.velocityX,this.mszMaxForceVelocity.width),n.y+=Math.min(e.velocityY,this.mszMaxForceVelocity.height),e.velocityX=0,e.velocityY=0,e.location=n}},t.prototype.resetGraphPosition=function(t,e){for(var i,r={width:Number.MAX_VALUE,height:Number.MAX_VALUE},n=null,o=0;o<t.length;o++){i=t[parseInt(o.toString(),10)];var a={x:(n=this.getForceNode(i)).location.x-i.actualSize.width/2,y:n.location.y-i.actualSize.height/2};r.width=Math.min(r.width,a.x),r.height=Math.min(r.height,a.y)}for(o=0;o<t.length;o++)i=t[parseInt(o.toString(),10)],(a=(n=this.getForceNode(i)).location).x-=r.width-(e.treeInfo.location?e.treeInfo.location.x:0),a.y-=r.height-(e.treeInfo.location?e.treeInfo.location.y:0),n.location=a,n.applyChanges()},t.prototype.convertGraphNodes=function(t){for(var e=[],i=0,r=Object.keys(t);i<r.length;i++){var n=t[""+r[i]],o=new Jp(n);n.treeInfo.tag=o,e.push(n)}return e},t.prototype.getForceNode=function(t){return t.treeInfo.tag},t.prototype.updateNeigbour=function(t,e){if(null!=e&&null!=t){var i=this.pointDistance(t.location,e.location),r=this.lineAngle(t.location,e.location),n=.9*this.springLength;i<n&&this.calcForce(i,n,r,e)}},t.prototype.lineAngle=function(t,e){var i=0,r=e.x-t.x,n=e.y-t.y;return 0===r?i=n<=0?3*Math.PI/2:Math.PI/2:0===n?i=r<0?Math.PI:0:(i=Math.atan(n/r),r<0&&n>0?i=Math.PI+i:r<0&&n<0?i=Math.PI+i:r>0&&n<0&&(i=2*Math.PI+i)),i},t.prototype.pointDistance=function(t,e){var i=e.x-t.x,r=e.y-t.y,n=i*i+r*r;return Math.sqrt(n)},t.prototype.calcRelatesForce=function(t,e,i){var r=this.pointDistance(t.location,e.location),n=this.lineAngle(t.location,e.location);r<i&&this.calcForce(r,i,n,e)},t.prototype.updateLayout=function(t,e,i,r,n,o){(new tg).updateLayout(t,e,i,r,n,o)},t.prototype.calcNodesForce=function(t,e){var i=this.pointDistance(t.location,e.location),r=this.lineAngle(t.location,e.location);(i>this.springLength||i<this.springLength)&&this.calcForce(i,this.springLength,r,e)},t.prototype.calcForce=function(t,e,i,r){var n=r.nodes.length,o=(t-e)*(this.springFactor/(n*n)*Math.sqrt(n)),a=Math.cos(i)*o,s=Math.sin(i)*o;r.velocityX-=a,r.velocityY-=s},t}(),tg=function(){function t(){this.visitedStack=[],this.cycleEdgesCollection=[],this.graphObjects=[],this.passedNodes=[]}return t.prototype.updateLayout=function(t,e,i,r,n,o){this.nameTable=r,this.nodes=t,this.connectors=e;var a=t;a.length>0&&(this.mhelperSelectedNode=k(a[0]));for(var s=0,h=t;s<h.length;s++){var d=f=h[s];d.treeInfo={},d.treeInfo.graphType="Node",this.graphObjects.push(d)}for(var l=0,c=e;l<c.length;l++){var p=c[l];p.treeInfo={},p.treeInfo.graphType="Connector",this.graphObjects.push(p)}this.updateLayout1(this.graphObjects,i);for(var g=this.getModelBounds(a),u=0;u<a.length;u++){var f=a[parseInt(u.toString(),10)],m=(o.x-g.width)/2,y=n.margin,v=f.treeInfo.tag.location.x-(f.offsetX-f.actualSize.width/2)-g.x+m+y.left,b=f.treeInfo.tag.location.y-(f.offsetY-f.actualSize.height/2)-g.y+y.top;f.offsetX+=v,f.offsetY+=b,delete f.treeInfo}return!0},t.prototype.getModelBounds=function(t){t=t.slice();for(var e,i=null,r=null,n=0;n<t.length;n++){var o=ls(e=t[parseInt(n.toString(),10)]);i=new ms(e.treeInfo.tag?e.treeInfo.tag.location.x:o.x,e.treeInfo.tag?e.treeInfo.tag.location.y:o.y,e.actualSize.width,e.actualSize.height),r=r?r.uniteRect(i):i}return r},t.prototype.updateLayout1=function(t,e){this.detectCyclesInGraph(t);var i=t.length;if(i>0){for(var r=[],n=[],o=[],a=0;a<t.length;a++){var s=t[parseInt(a.toString(),10)];void 0===s.treeInfo.isCycleEdge&&(s.treeInfo.isCycleEdge=!1),"Connector"!==s.treeInfo.graphType||s.treeInfo.isCycleEdge?"Connector"===s.treeInfo.graphType?r.push(s):o.push(s):n.push(s)}for(n=n.concat(o),n=r.concat(n);i>this.dictionaryLength(this.passedNodes);)this.getNodesToPosition(n),null!=this.selectedNode&&(e.doLayout(this),this.selectedNode=null,this.visitedStack=[]);this.passedNodes=null,this.selectedNode=null}return!1},t.prototype.getNodesToPosition=function(t){for(var e=0;e<t.length;e++){var i=t[parseInt(e.toString(),10)];this.selectNodes(i);break}},t.prototype.selectNodes=function(t){var e=t;"Connector"===t.treeInfo.graphType?this.exploreGraphEdge(t):null!=e&&this.addNode(t,"passed")&&(this.addNode(t,"selected"),this.isConnectedToAnotherNode(e)&&(this.selectedNode={treeInfo:{}},this.selectedNode.treeInfo.LeftMargin=10,this.selectedNode.treeInfo.TopMargin=10,this.selectConnectedNodes(e)))},t.prototype.selectConnectedNodes=function(t){var e=this.selectedNode;e.treeInfo.GraphNodes||(e.treeInfo.GraphNodes={});var i=t;this.addNode(i,"passed");var r=i.id;if(this.dictionaryContains(e.treeInfo.GraphNodes,i)){var n=e.treeInfo.GraphNodes[""+r];n.treeInfo.Added&&(n.treeInfo.Added=!1,this.getConnectedRelatives(n),this.exploreRelatives(t))}else{var o=this.addGraphNode(i);this.getConnectedRelatives(o),this.exploreRelatives(t)}},t.prototype.exploreRelatives=function(t){this.exploreRelatives1(t,"Parents"),this.exploreRelatives1(t,"Children")},t.prototype.exploreRelatives1=function(t,e){var i=[];i="Parents"===e?t.inEdges:t.outEdges;for(var r=0;r<i.length;r++){var n=this.nameTable[i[parseInt(r.toString(),10)]];if(this.addNode(n,"passed")){var o=this.nameTable[n.sourceID],a=this.nameTable[n.targetID];"Parents"===e&&null!=o&&cs(o.id,this.nodes)?this.selectConnectedNodes(this.nameTable[n.sourceID]):"Children"===e&&null!=a&&cs(a.id,this.nodes)&&this.selectConnectedNodes(this.nameTable[n.targetID])}}},t.prototype.getConnectedRelatives=function(t){this.getConnectedParents(t),this.getConnectedChildren(t)},t.prototype.dictionaryContains=function(t,e){for(var i=Object.keys(t),r=0;r<i.length;r++)if(i[parseInt(r.toString(),10)]===e.id)return!0;return!1},t.prototype.dictionaryLength=function(t){return Object.keys(t).length},t.prototype.getConnectedChildren=function(t){for(var e=this.selectedNode,i=t,r=0;r<i.outEdges.length;r++){var n=this.nameTable[i.outEdges[parseInt(r.toString(),10)]];if(!n.treeInfo.isCycleEdge){var o=this.nameTable[n.targetID];if(cs(o.id,this.nodes)&&null!=o&&o.visible){var a=void 0;this.dictionaryContains(e.treeInfo.GraphNodes,o)?a=e.treeInfo.GraphNodes[o.id]:(a=this.addGraphNode(o)).treeInfo.Added=!0,t.treeInfo.children||(t.treeInfo.children=[]),a.treeInfo.parents||(a.treeInfo.parents=[]),this.setNode(a.treeInfo.parents,t),this.findNode(t.treeInfo.children,a.id)<0&&t.treeInfo.children.push(a)}}}},t.prototype.getConnectedParents=function(t){for(var e=this.selectedNode,i=t,r=0;r<i.inEdges.length;r++){var n=this.nameTable[i.inEdges[parseInt(r.toString(),10)]];if(!n.treeInfo.isCycleEdge){var o=this.nameTable[n.sourceID];if(cs(o.id,this.nodes)&&null!=o&&o.visible){var a=void 0;this.dictionaryContains(e.treeInfo.GraphNodes,o)?a=e.treeInfo.GraphNodes[o.id]:(a=this.addGraphNode(o)).treeInfo.Added=!0,t.treeInfo.parents||(t.treeInfo.parents=[]),a.treeInfo.children||(a.treeInfo.children=[]),this.setNode(a.treeInfo.children,t),this.findNode(t.treeInfo.parents,a.id)<0&&t.treeInfo.parents.push(a)}}}},t.prototype.setNode=function(t,e){var i=this.findNode(t,e.id);i>=0&&i<t.length?t[parseInt(i.toString(),10)]=e:t.push(e)},t.prototype.findNode=function(t,e){var i=-1;if(null!=t&&""!==e)for(var r=0,n=t.length;r<n;r++){var o=t[parseInt(r.toString(),10)];if(null!=o&&o.id===e){i=r;break}}return i},t.prototype.addGraphNode=function(t){var e=t;this.selectedNode.treeInfo.GraphNodes[e.id]=e;var i=this.mhelperSelectedNode;return null!=i&&t.id===i.id&&(this.mhelperSelectedNode=e),e},t.prototype.isConnectedToAnotherNode=function(t){var e=!1;return t.inEdges.concat(t.outEdges).length>0&&(null!=t.inEdges&&t.inEdges.length>0&&(e=this.searchEdgeCollection(t.inEdges,"FromNode")),!e&&null!=t.outEdges&&t.outEdges.length>0&&(e=this.searchEdgeCollection(t.outEdges,"ToNode"))),e},t.prototype.searchEdgeCollection=function(t,e){for(var i=!1,r=0;r<t.length-1;r++){var n=this.nameTable[t[parseInt(r.toString(),10)]];if(this.addNode(n,"passed")&&(!n.treeInfo.isCycleEdge&&("FromNode"===e&&null!=this.nameTable[n.sourceID]||"ToNode"===e&&null!=this.nameTable[n.targetID]))){i=!0;break}}return i},t.prototype.exploreGraphEdge=function(t){var e=t;if(null!=e&&!e.treeInfo.isCycleEdge&&this.addNode(t,"passed")){this.addNode(t,"selected");var i=this.nameTable[e.sourceID];this.nameTable[e.targetID];null!=i&&this.selectNodes(i)}},t.prototype.addNode=function(t,e){var i=t;return"passed"!==e&&i.visible||this.dictionaryContains(this.passedNodes,i)||(this.passedNodes[i.id]=i),!!i.visible},t.prototype.detectCyclesInGraph=function(t){for(var e=[],i=[],r=0;r<t.length;r++)"Connector"!==t[parseInt(r.toString(),10)].treeInfo.graphType&&e.push(t[parseInt(r.toString(),10)]);if(e.length>0)for(i.push(e[0]),this.visitedStack.push(e[0]);i.length>0;){var n=i[i.length-1],o=this.getUnVisitedChildNodes(n);if(o.length>0){var a=o[0],s=o[o.length-1];cs(a.id,this.visitedStack)?(s.treeInfo.isCycleEdge=!0,this.cycleEdgesCollection.push(s)):(i.push(a),this.visitedStack.splice(0,0,a))}else i.pop()}},t.prototype.getUnVisitedChildNodes=function(t){var e=[];if(t.outEdges.length>0){for(var i=0;i<t.outEdges.length;i++){var r=this.nameTable[t.outEdges[parseInt(i.toString(),10)]];if(!cs(r.id,this.visitedStack)){var n=this.nameTable[r.targetID];return null!=n&&e.push(n),e.push(r),this.visitedStack.splice(0,0,r),e}}return e}return e},t}(),eg=function(){function t(){}return t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"ComplexHierarchicalTree"},t.prototype.doLayout=function(t,e,i,r,n){(new ig).doLayout(t,e,i,r,n)},t.prototype.getLayoutNodesCollection=function(t){for(var e,i=[],r=0;r<t.length;r++)(e=t[parseInt(r.toString(),10)]).excludeFromLayout||!(e.inEdges.length+e.outEdges.length>0||0===e.offsetX&&0===e.offsetY)||e.parentId||e.processId||i.push(e);return i},t}(),ig=function(){function t(){this.nameTable={},this.vertexTable={},this.verticesMap=new Map,this.crossReduction=new ng,this.previousEdgeOffset=6,this.previousEdgeDistance=5,this.jettyPositions={},this.rankBottomY=null,this.limitX=null,this.rankTopY=null,this.parallelEdgeSpacing=10,this.minEdgeJetty=12}return t.prototype.createVertex=function(t,e,i,r,n,o){return{value:e,geometry:{x:i,y:r,width:n,height:o},name:e,vertex:!0,inEdges:t.inEdges.slice(),outEdges:t.outEdges.slice(),maxRowWidth:void 0,maxRowHeight:void 0}},t.prototype.getEdges=function(t){var e=[],i=this.nameTable[t.name];if(t&&!i.excludeFromLayout){for(r=0;t.inEdges.length>0&&r<t.inEdges.length;r++){n=this.nameTable[t.inEdges[parseInt(r.toString(),10)]];this.nameTable[n.sourceID].excludeFromLayout||e.push(n)}for(var r=0;t.outEdges.length>0&&r<t.outEdges.length;r++){var n=this.nameTable[t.outEdges[parseInt(r.toString(),10)]];this.nameTable[n.targetID].excludeFromLayout||e.push(n)}}return e},t.prototype.findRoots=function(t,e){for(var i=[],r=null,n=-1e5,o=0,a=Object.keys(t);o<a.length;o++){for(var s=t[""+a[o]],h=this.getEdges(s),d=0,l=0,c=0;c<h.length;c++)this.getVisibleTerminal(h[parseInt(c.toString(),10)],!0).name===s.name?d++:l++;0===l&&(e||d>0)&&i.push(s);var p=d-l;p>n&&(n=p,r=s)}return 0===i.length&&null!=r&&i.push(r),i},t.prototype.getVisibleTerminal=function(t,e){var i=this.nameTable[t.targetID];return e&&(i=this.nameTable[t.sourceID]),this.verticesMap.get(i.id)||null},t.prototype.traverse=function(t,e,i,r,n,o){if(null!=t){var a=t.name;if(null==o||null!=o[""+a]){null==r[""+a]&&(r[""+a]=t),null!=o&&delete o[""+a];for(var s=this.getEdges(t),h=[],d=0;d<s.length;d++)h[parseInt(d.toString(),10)]=this.getVisibleTerminal(s[parseInt(d.toString(),10)],!0)===t;for(d=0;d<s.length;d++)if(!e||h[parseInt(d.toString(),10)]){for(var l=this.getVisibleTerminal(s[parseInt(d.toString(),10)],!h[parseInt(d.toString(),10)]),c=1,p=0;p<s.length;p++)if(p!==d){var g=h[parseInt(p.toString(),10)];this.getVisibleTerminal(s[parseInt(p.toString(),10)],!g)===l&&(g?c++:c--)}c>=0&&(r=this.traverse(l,e,s[parseInt(d.toString(),10)],r,n,o))}}else if(null==r[""+a])for(d=0;d<n.length;d++){var u=n[parseInt(d.toString(),10)];if(null!=u[""+a]){for(var f=0,m=Object.keys(u);f<m.length;f++){var y=m[f];r[""+y]=u[""+y]}return n.splice(d,1),r}}}return r},t.prototype.getModelBounds=function(t){t=t.slice();for(var e=null,i=null,r=0;r<t.length;r++)if(e=t[parseInt(r.toString(),10)].geometry,i){var n=Math.max(i.x+i.width,e.x+e.width),o=Math.max(i.y+i.height,e.y+e.height);i.x=Math.min(i.x,e.x),i.y=Math.min(i.y,e.y),i.width=n-i.x,i.height=o-i.y}else i={x:e.x,y:e.y,width:e.width,height:e.height};return i},t.prototype.doLayout=function(t,e,i,r,n){this.nameTable=e;var o,a=i.enableRouting,s={horizontalSpacing:i.horizontalSpacing,verticalSpacing:i.verticalSpacing,orientation:i.orientation,marginX:i.margin.left,marginY:i.margin.top,enableLayoutRouting:a},h=new og;h.edgeMapper=[],h.diagram=n;var d=[];this.vertices=[];for(var l={},c=0;c<t.length;c++){var p=this.nameTable[t[parseInt(c.toString(),10)].id];if(!p.excludeFromLayout){var g=this.createVertex(t[parseInt(c.toString(),10)],t[parseInt(c.toString(),10)].id,0,0,t[parseInt(c.toString(),10)].actualSize.width,t[parseInt(c.toString(),10)].actualSize.height);if(this.vertices.push(g),this.verticesMap.set(g.name,g),this.vertexTable[p.id]=g,(t[parseInt(c.toString(),10)].inEdges.length>0||t[parseInt(c.toString(),10)].outEdges.length>0)&&d.push(t[parseInt(c.toString(),10)]),l[g.name]=g,h)for(var u=t[parseInt(c.toString(),10)].outEdges.slice(),f=0;f<u.length;f++){var m=e[u[parseInt(f.toString(),10)]];h.setEdgeMapper({key:m,value:[]})}}}var y=[],v="Linear"===i.arrangement||a;v=v||h&&"DifferentPoint"===i.connectionPointOrigin;for(var b=this.findRoots(l,v),c=0;c<b.length;c++){C={};y.push(C),this.traverse(b[parseInt(c.toString(),10)],!0,null,C,y,l)}for(var S,w={marginX:0,marginY:0},x=[],I=!1,c=0;c<y.length;c++){for(var C=y[parseInt(c.toString(),10)],P=0,D=Object.keys(C);P<D.length;P++){Q=D[P];x.push(C[""+Q])}("Linear"===i.arrangement&&c===y.length-1||a)&&(I=!0),o=new rg(this,x,b,s),this.cycleStage(o),this.layeringStage(o);for(var T=o.ranks,A=T.length-1;A>=0;A--){for(var O=0,M=0,E=0,L=T[parseInt(A.toString(),10)];E<L.length;E++){N=L[E];if("internalVertex"===this.getType(N.type)){var z=N.cell.geometry;O=Math.max(O,z.width),M=Math.max(M,z.height)}}for(var k=0,B=T[parseInt(A.toString(),10)];k<B.length;k++){var N=B[k];"internalVertex"===this.getType(N.type)&&((Z=N.cell).maxRowWidth=O,Z.maxRowHeight=M)}}h&&"DifferentPoint"===i.connectionPointOrigin||I?(S={model:o,matrix:[],rowOffset:[],roots:[]},h.arrangeElements(S,i),i.ranks=S.model.ranks):"Nonlinear"===i.arrangement&&(this.crossingStage(o),w=this.placementStage(o,w.marginX,w.marginY),x=[])}var R=this.getModelBounds(this.vertices);this.updateMargin(i,s,R,r);for(c=0;c<this.vertices.length;c++)if($=this.vertices[parseInt(c.toString(),10)]){var j=this.nameTable[$.name];j.offsetX=0,j.offsetY=0;var H=$.geometry.x-(j.offsetX-j.actualSize.width/2)+s.marginX,W=$.geometry.y-(j.offsetY-j.actualSize.height/2)+s.marginY,A=H,_=W;"BottomToTop"===s.orientation?(a&&($.geometry.y=R.height-W-j.actualSize.height/2),_=R.height-W):"RightToLeft"===s.orientation&&(A=R.width-H),j.offsetX+=A-j.offsetX,j.offsetY+=_-j.offsetY,"Stretch"===i.horizontalAlignment&&"Stretch"===i.verticalAlignment||h.nodePropertyChange(j)}if(!I)for(c=0;c<this.vertices.length;c++)this.isNodeOverLap(this.nameTable[this.vertices[parseInt(c.toString(),10)].name],i);if(h.updateLayout(r,R,i,s,d,e,this.vertexTable),a){for(var F={},Y=void 0,V=0;V<S.matrix.length;V++){Y=S.matrix[parseInt(V.toString(),10)].value;for(var X=0;X<Y.length;X++)for(var U=Y[parseInt(X.toString(),10)],G=0;G<U.cells.length;G++){var Z=U.cells[parseInt(G.toString(),10)];if("internalVertex"===this.getType(Z.type)){var q=Z;F[q.id]=q}}}this.updateRankValuess(o);for(var c=0,K=Object.keys(F);c<K.length;c++){var Q=K[parseInt(c.toString(),10)];this.setVertexLocationValue(F[""+Q],i.orientation,R)}this.localEdgeProcessing(o,F),this.assignRankOffset(o),this.updateEdgeSetXYValue(o);for(var J=this.getValues(o.edgeMapper),c=0;c<J.length;c++){if(J[parseInt(c.toString(),10)].x.length>0)for(f=0;f<J[parseInt(c.toString(),10)].x.length;f++)"RightToLeft"!==i.orientation&&"LeftToRight"!==i.orientation?J[parseInt(c.toString(),10)].x[parseInt(f.toString(),10)]=J[parseInt(c.toString(),10)].x[parseInt(f.toString(),10)]+s.marginX:(i.orientation,J[parseInt(c.toString(),10)].x[parseInt(f.toString(),10)]=J[parseInt(c.toString(),10)].x[parseInt(f.toString(),10)]+i.verticalSpacing/2);this.setEdgePosition(J[parseInt(c.toString(),10)],o,s)}for(V=0;V<this.vertices.length;V++){var $=this.vertices[parseInt(V.toString(),10)];$.outEdges.length>1&&this.updateMultiOutEdgesPoints($)}}},t.prototype.setEdgeXY=function(t,e,i,r){if(t&&e.source.id){for(var n=void 0,o=void 0,a=0;a<t.length;a++)for(l=0;l<t[parseInt(a.toString(),10)].length;l++)t[parseInt(a.toString(),10)][parseInt(l.toString(),10)].id!==e.target.id&&t[parseInt(a.toString(),10)][parseInt(l.toString(),10)].id!==e.source.id||(t[parseInt(a.toString(),10)][parseInt(l.toString(),10)].id===e.target.id&&void 0===n&&(n=a),t[parseInt(a.toString(),10)][parseInt(l.toString(),10)].id===e.source.id&&void 0===o&&(o=a));for(var s=void 0,h=n;h<=o;h++)void 0===s&&(s=this[h+"_RankOffset"]),void 0!==s&&s<this[h+"_RankOffset"]&&(s=this[h+"_RankOffset"]);void 0===this.edges&&(this.edges={}),this.edges[e.ids[0]]={x:e.x,y:0};var d=this.resetOffsetXValue(s,i/10);e.x[r-e.minRank-1]=d;for(var l=0;l<e.edges.length;l++)e.edges[parseInt(l.toString(),10)].levelSkip=!0}},t.prototype.resetOffsetXValue=function(t,e){for(var i=0,r=Object.keys(this.edges);i<r.length;i++)for(var n=r[parseInt(i.toString(),10)],o=this.edges[""+n].x,a=0;a<o.length;a++){var s=void 0;if(this.edges[""+n].x[parseInt(a.toString(),10)]===t)return s=t+e,s=this.resetOffsetXValue(s,e)}return t},t.prototype.setEdgePosition=function(t,e,i){var r=0;if(101207!==t.temp[0]){void 0===t.maxRank&&(t.maxRank=-1),void 0===t.minRank&&(t.minRank=-1);var n=t.maxRank,o=t.minRank;n===o&&(n=t.source.maxRank,o=t.target.minRank);var a=0,s=this.jettyPositions[t.ids[0]];void 0===t.isReversed?t.isReversed=!1:t.isReversed=!0;var h=t.isReversed?t.target.cell:t.source.cell,d=!1;"TopToBottom"===e.layout.orientation||"LeftToRight"===e.layout.orientation?("TopToBottom"===e.layout.orientation&&(d=!1),"LeftToRight"===e.layout.orientation&&(d=(t.isReversed,!1))):t.isReversed||(d=!0);for(var l=0;l<t.edges.length;l++){var c=t.edges[parseInt(l.toString(),10)],p=this.getVisibleTerminal(c,!0),g=[],u=t.isReversed;if(p!==h&&(u=!u),null!=s){var f=u?2:0,m=u?d?this.rankBottomY[parseInt(o.toString(),10)]:this.rankTopY[parseInt(o.toString(),10)]:d?this.rankTopY[parseInt(n.toString(),10)]:this.rankBottomY[parseInt(n.toString(),10)],y=s[4*a+1+f];u!==d&&(y=-y),"TopToBottom"!==i.orientation&&"BottomToTop"!==i.orientation||(m+=y);A=s[4*a+f];"TopToBottom"===i.orientation||"BottomToTop"===i.orientation?g.push(this.getPointvalue(A,m+i.marginY)):"LeftToRight"===i.orientation?g.push(this.getPointvalue(m+y,A+i.marginY)):g.push(this.getPointvalue(m,A+i.marginY))}var v=t.x.length-1,b=-1,S=-1,w=t.maxRank-1;u&&(v=0,b=t.x.length,S=1,w=t.minRank+1);for(var x=v;t.maxRank!==t.minRank&&x!==b;x+=S){var I=t.x[parseInt(x.toString(),10)]+r,C=(this.rankTopY[parseInt(w.toString(),10)]+this.rankBottomY[w+1])/2,P=(this.rankTopY[w-1]+this.rankBottomY[parseInt(w.toString(),10)])/2;if(u){var D=C;C=P,P=D}"TopToBottom"===i.orientation||"BottomToTop"===i.orientation?(g.push(this.getPointvalue(I,C+i.marginY)),g.push(this.getPointvalue(I,P+i.marginY))):(g.push(this.getPointvalue(C,I+i.marginY)),g.push(this.getPointvalue(P,I+i.marginY))),this.limitX=Math.max(this.limitX,I),w+=S}if(null!=s){var f=u?2:0,T=u?d?this.rankTopY[parseInt(n.toString(),10)]:this.rankBottomY[parseInt(n.toString(),10)]:d?this.rankBottomY[parseInt(o.toString(),10)]:this.rankTopY[parseInt(o.toString(),10)],y=s[4*a+3-f];u!==d&&(y=-y);var m=T-y,A=s[4*a+2-f];"TopToBottom"===i.orientation||"BottomToTop"===i.orientation?g.push(this.getPointvalue(A,m+i.marginY)):g.push(this.getPointvalue(m,A+i.marginY))}this.setEdgePoints(c,g,e),r=0===r?this.parallelEdgeSpacing:r>0?-r:-r+this.parallelEdgeSpacing,a++}t.temp[0]=101207}},t.prototype.getPointvalue=function(t,e){return{x:Number(t)||0,y:Number(e)||0}},t.prototype.updateEdgeSetXYValue=function(t){if(t.layout.enableLayoutRouting){var e=!1;"LeftToRight"!==t.layout.orientation&&"RightToLeft"!==t.layout.orientation||(e=!0);for(var i=0;i<t.ranks.length;i++)for(var r=t.ranks[parseInt(i.toString(),10)],n=0;n<r.length;n++){var o=r[parseInt(n.toString(),10)];if(o.edges&&o.edges.length>0){var a=t.layout.horizontalSpacing>0?t.layout.horizontalSpacing/2:15,s=!0;o.minRank!==i-1&&o.maxRank!==i-1&&(s=!1),s&&this.setXY(o,i,void 0,!!e,t.ranks,a)}}}},t.prototype.getPreviousLayerConnectedCells=function(t,e){if(null==e.previousLayerConnectedCells){e.previousLayerConnectedCells=[],e.previousLayerConnectedCells[0]=[];for(var i=0;i<e.connectsAsSource.length;i++){var r=e.connectsAsSource[parseInt(i.toString(),10)];-1===r.minRank||r.minRank===t-1?e.previousLayerConnectedCells[0].push(r.target):e.previousLayerConnectedCells[0].push(r)}}return e.previousLayerConnectedCells[0]},t.prototype.compare=function(t,e){if(null!=t&&null!=e){if(e.weightedValue>t.weightedValue)return-1;if(e.weightedValue<t.weightedValue)return 1}return 0},t.prototype.localEdgeProcessing=function(t,e){for(var i=0;i<t.ranks.length;i++)for(var r=t.ranks[parseInt(i.toString(),10)],n=0;n<r.length;n++){var o=r[parseInt(n.toString(),10)];if(this.crossReduction.isVertex(o))for(var a=this.getPreviousLayerConnectedCells(i,o),s=i-1,h=0;h<2;h++){if(s>-1&&s<t.ranks.length&&null!=a&&a.length>0){for(var d=[],l=0;l<a.length;l++){var c=this.weightedCellSorter(a[parseInt(l.toString(),10)],this.getX(s,a[parseInt(l.toString(),10)]));d.push(c)}d.sort(this.compare),o.width=e[o.id].cell.geometry.width,o.height=e[o.id].cell.geometry.height;var p=void 0;"TopToBottom"===t.layout.orientation||"BottomToTop"===t.layout.orientation?(o.x[0]=e[o.id].cell.geometry.x+e[o.id].cell.geometry.width/2,p=o.x[0]-o.width/2+e[o.id].cell.geometry.height/2):(o.x[0]=e[o.id].cell.geometry.y,p=o.x[0]);for(var g=p+o.width,u=0,f=[],l=0;l<d.length;l++){var m=d[parseInt(l.toString(),10)].cell,y=void 0;if(this.crossReduction.isVertex(m)){y=0===h?o.connectsAsSource:o.connectsAsTarget;for(var v=0;v<y.length;v++)y[parseInt(v.toString(),10)].source!==m&&y[parseInt(v.toString(),10)].target!==m||(u+=y[parseInt(v.toString(),10)].edges.length,f.push(y[parseInt(v.toString(),10)]))}else u+=m.edges.length,f.push(m)}var b=(u+1)*this.previousEdgeDistance;o.width>b+2*this.previousEdgeDistance&&(p+=this.previousEdgeDistance,g-=this.previousEdgeDistance);for(var S=(g-p)/u,w=p+S/2,x=this.minEdgeJetty-this.previousEdgeOffset,l=0;l<f.length;l++){var I=f[parseInt(l.toString(),10)].edges.length;void 0===this.jettyPositions&&(this.jettyPositions={});var C=this.jettyPositions[f[parseInt(l.toString(),10)].ids[0]];null==C&&(C=[],this.jettyPositions[f[parseInt(l.toString(),10)].ids[0]]=C),l<u/2?x+=this.previousEdgeOffset:l>u/2&&(x-=this.previousEdgeOffset);for(var P=0;P<I;P++)C[4*P+2*h]=w,w+=S,C[4*P+2*h+1]=x}}a=this.getNextLayerConnectedCells(i,o),s=i+1}}},t.prototype.updateMultiOutEdgesPoints=function(t){for(var e=0;e<t.outEdges.length/2;e++){var i=this.nameTable[t.outEdges[parseInt(e.toString(),10)]],r=this.nameTable[t.outEdges[t.outEdges.length-(e+1)]];i.sourceID!==r.targetID&&i.targetID!==r.sourceID&&(r.geometry.points[0].y=i.geometry.points[0].y)}},t.prototype.getNextLayerConnectedCells=function(t,e){if(null==e.nextLayerConnectedCells){e.nextLayerConnectedCells=[],e.nextLayerConnectedCells[0]=[];for(var i=0;i<e.connectsAsTarget.length;i++){var r=e.connectsAsTarget[parseInt(i.toString(),10)];-1===r.maxRank||r.maxRank===t+1?e.nextLayerConnectedCells[0].push(r.source):e.nextLayerConnectedCells[0].push(r)}}return e.nextLayerConnectedCells[0]},t.prototype.getX=function(t,e){return this.crossReduction.isVertex(e)?e.x[0]:this.crossReduction.isVertex(e)?0:e.x[t-e.minRank-1]||e.temp[t-e.minRank-1]},t.prototype.getGeometry=function(t){return t.geometry},t.prototype.setEdgePoints=function(t,e,i){if(null!=t){var r=this.getGeometry(t);if(null!=e)for(var n=0;n<e.length;n++)e[n].x=e[n].x,e[n].y=e[n].y;r.points=e,t.geometry=r}},t.prototype.assignRankOffset=function(t){if(t)for(var e=0;e<t.ranks.length;e++)this.rankCoordinatesAssigment(e,t)},t.prototype.rankCoordinatesAssigment=function(t,e){for(var i,r=e.ranks[parseInt(t.toString(),10)],n=e.layout.horizontalSpacing,o=0;o<r.length;o++)void 0===this[t+"_RankOffset"]&&(this[t+"_RankOffset"]=0),i=r[parseInt(o.toString(),10)].x[0],this[t+"_RankOffset"]<i&&(this[t+"_RankOffset"]=i+r[parseInt(o.toString(),10)].width/2+n)},t.prototype.getType=function(t){return"internalVertex"===t?"internalVertex":"internalEdge"},t.prototype.updateRankValuess=function(t){this.rankTopY=[],this.rankBottomY=[];for(var e=0;e<t.ranks.length;e++)this.rankTopY[parseInt(e.toString(),10)]=Number.MAX_VALUE,this.rankBottomY[parseInt(e.toString(),10)]=-Number.MAX_VALUE},t.prototype.setVertexLocationValue=function(t,e,i){var r,n=t.cell.geometry;"TopToBottom"===e||"BottomToTop"===e?(n.x,r=n.y):(n.y,r=n.x),"RightToLeft"===e?(n.y,r=i.width-n.x-n.height,this.rankBottomY[t.minRank]=Math.max(this.rankBottomY[t.minRank],r),this.rankTopY[t.minRank]=Math.min(this.rankTopY[t.minRank],r+n.height)):(this.rankTopY[t.minRank]=Math.min(this.rankTopY[t.minRank],r),this.rankBottomY[t.minRank]=Math.max(this.rankBottomY[t.minRank],r+n.height))},t.prototype.calculateRectValue=function(t){var e={x:0,y:0,right:0,bottom:0,height:0,width:0};return e.x=t.offsetX-t.actualSize.width/2,e.right=t.offsetX+t.actualSize.width/2,e.y=t.offsetY-t.actualSize.height/2,e.bottom=t.offsetY+t.actualSize.height/2,e},t.prototype.isNodeOverLap=function(t,e){for(var i={x:0,y:0,right:0,bottom:0,height:0,width:0},r=0;r<this.vertices.length;r++){var n={x:0,y:0,width:0,height:0},o=this.nameTable[this.vertices[parseInt(r.toString(),10)].value];t.id!==o.id&&0!==o.offsetX&&0!==o.offsetY&&(i=this.calculateRectValue(t),n=this.calculateRectValue(o),this.isIntersect(n,i,e)&&("TopToBottom"===e.orientation||"BottomToTop"===e.orientation?t.offsetX+=e.horizontalSpacing:t.offsetY+=e.verticalSpacing,this.isNodeOverLap(t,e)))}},t.prototype.isIntersect=function(t,e,i){return!(Math.floor(t.right+i.horizontalSpacing)<=Math.floor(e.x)||Math.floor(t.x-i.horizontalSpacing)>=Math.floor(e.right)||Math.floor(t.y-i.verticalSpacing)>=Math.floor(e.bottom)||Math.floor(t.bottom+i.verticalSpacing)<=Math.floor(e.y))},t.prototype.updateMargin=function(t,e,i,r){var n={x:0,y:0,width:r.x,height:r.y},o={x:i.x,y:i.y,right:i.x+i.width,bottom:i.y+i.height},a=t.bounds?t.bounds:n;if("TopToBottom"===e.orientation||"BottomToTop"===e.orientation){switch(t.horizontalAlignment){case"Auto":case"Left":e.marginX=a.x-o.x+t.margin.left;break;case"Right":e.marginX=a.x+a.width-t.margin.right-o.right;break;case"Center":e.marginX=a.x+a.width/2-(o.x+o.right)/2}switch(t.verticalAlignment){case"Top":var s=a.y+t.margin.top;e.marginY="TopToBottom"===e.orientation?s:-s;break;case"Bottom":var h=a.y+a.height-t.margin.bottom;e.marginY="TopToBottom"===e.orientation?h-o.bottom:-(h-o.bottom);break;case"Auto":case"Center":c=a.y+a.height/2;e.marginY="TopToBottom"===e.orientation?c-(o.y+o.bottom)/2:(o.y+o.bottom)/2-c}}else{switch(t.horizontalAlignment){case"Auto":case"Left":var d=a.x+t.margin.left;e.marginX="LeftToRight"===e.orientation?d:-d;break;case"Right":var l=void 0;l=a.x+a.width-t.margin.right,e.marginX="LeftToRight"===e.orientation?l-o.right:o.right-l;break;case"Center":var c=void 0;c=a.width/2+a.x,e.marginX="LeftToRight"===e.orientation?c-(o.y+o.bottom)/2:(o.x+o.right)/2-c}switch(t.verticalAlignment){case"Top":e.marginY=a.y+t.margin.top-o.y;break;case"Auto":case"Center":e.marginY=a.y+a.height/2-(o.y+o.bottom)/2;break;case"Bottom":e.marginY=a.y+a.height-t.margin.bottom-o.bottom}}},t.prototype.placementStage=function(t,e,i){var r=this.coordinateAssignment(e,i,parent,t);return r.model=t,r.widestRankValue=null,this.placementStageExecute(r),{marginX:r.marginX+t.layout.horizontalSpacing,marginY:r.marginY+t.layout.verticalSpacing}},t.prototype.coordinateAssignment=function(t,e,i,r){var n={};return"TopToBottom"===r.layout.orientation||"BottomToTop"===r.layout.orientation?(n.horizontalSpacing=r.layout.horizontalSpacing,n.verticalSpacing=r.layout.verticalSpacing):(n.horizontalSpacing=r.layout.verticalSpacing,n.verticalSpacing=r.layout.horizontalSpacing),n.orientation="north",n.marginX=n.marginX=t,n.marginY=n.marginY=e,n},t.prototype.calculateWidestRank=function(t,e,i){var r=!1;"LeftToRight"!==t.model.layout.orientation&&"RightToLeft"!==t.model.layout.orientation||(r=!0);var n=-t.verticalSpacing,o=0;t.rankSizes=[],t.rankOffset=[];for(var a=i.maxRank;a>=0;a--){for(var s=0,h=i.ranks[parseInt(a.toString(),10)],d=r?t.marginY:t.marginX,l=0;l<h.length;l++){var c=h[parseInt(l.toString(),10)];if(this.crossReduction.isVertex(c)){var p=c;if(p.cell&&(p.cell.inEdges||p.cell.outEdges)){var g=this.nameTable[p.cell.name];p.width=g.actualSize.width,p.height=g.actualSize.height,s=Math.max(s,r?p.width:p.height)}}else if(c){var u=c,f=1;null!=u.edges&&(f=u.edges.length),c.width=10*(f-1)}r&&(c.height||(c.height=0)),d+=(r?c.height:c.width)/2,this.setXY(c,a,d,!!r),this.setTempVariable(c,a,d),(d+=(r?c.height:c.width)/2+t.horizontalSpacing)>t.widestRankValue&&(t.widestRankValue=d,t.widestRank=a),t.rankSizes[parseInt(a.toString(),10)]=d}t.rankOffset[parseInt(a.toString(),10)]=n;var m=s/2+o/2+t.verticalSpacing;o=s,"north"===t.orientation||"west"===t.orientation?n+=m:n-=m;for(l=0;l<h.length;l++){var y=h[parseInt(l.toString(),10)];this.setXY(y,a,n,!r)}}},t.prototype.setTempVariable=function(t,e,i){this.crossReduction.isVertex(t)?t.temp[0]=i:t.temp[e-t.minRank-1]=i},t.prototype.setXY=function(t,e,i,r,n,o){t&&t.cell?t.cell.inEdges.length>0||t.cell.outEdges.length>0?r?t.y[0]=i:t.x[0]=i:r?t.y[e-t.minRank-1]=i:t.x[e-t.minRank-1]=i:this.setEdgeXY(n,t,o,e)},t.prototype.rankCoordinates=function(t,e,i,r){var n=!1;"LeftToRight"!==t.model.layout.orientation&&"RightToLeft"!==t.model.layout.orientation||(n=!0);for(var o=r.ranks[parseInt(e.toString(),10)],a=0,s=(n?t.marginY:t.marginX)+(t.widestRankValue-t.rankSizes[parseInt(e.toString(),10)])/2,h=0;h<o.length;h++){var d=o[parseInt(h.toString(),10)];if(this.crossReduction.isVertex(d)){var l=this.nameTable[d.cell.name];d.width=l.actualSize.width,d.height=l.actualSize.height,a=Math.max(a,d.height)}else{var c=d,p=1;null!=c.edges&&(p=c.edges.length),n?d.height=10*(p-1):d.width=10*(p-1)}var g=(n?d.height:d.width)/2;s+=g,this.setXY(d,e,s,!!n),this.setTempVariable(d,e,s),s+=g+t.horizontalSpacing}},t.prototype.initialCoords=function(t,e,i){this.calculateWidestRank(t,e,i);for(r=t.widestRank;r>=0;r--)r<i.maxRank&&this.rankCoordinates(t,r,e,i);for(var r=t.widestRank+1;r<=i.maxRank;r++)r>0&&this.rankCoordinates(t,r,e,i)},t.prototype.isAncestor=function(t,e){if(null!=e&&null!=t.hashCode&&null!=e.hashCode&&t.hashCode.length<e.hashCode.length){if(t.hashCode===e.hashCode)return!0;if(null==t.hashCode||null==t.hashCode)return!1;for(var i=0;i<t.hashCode.length;i++)if(t.hashCode[parseInt(i.toString(),10)]!==e.hashCode[parseInt(i.toString(),10)])return!1;return!0}return!1},t.prototype.weightedCellSorter=function(t,e){var i={};return i.cell=t||null,i.weightedValue=e||0,i.visited=!1,i.rankIndex=null,i},t.prototype.minNode=function(t,e){for(var i=[],r={map:{}},n=[],o=0;o<=e.maxRank;o++){n[parseInt(o.toString(),10)]=e.ranks[parseInt(o.toString(),10)];for(var a=0;a<n[parseInt(o.toString(),10)].length;a++){var s=n[parseInt(o.toString(),10)][parseInt(a.toString(),10)],h=this.weightedCellSorter(s,o);h.rankIndex=a,h.visited=!0,i.push(h),e.setDictionaryForSorter(r,s,h,!0)}}for(var d=10*i.length,l=0;i.length>0&&l<=d;){var c=i.shift(),p=c.cell,g=c.weightedValue,u=c.rankIndex,f=this.crossReduction.getConnectedCellsOnLayer(p,g),m=this.crossReduction.getConnectedCellsOnLayer(p,g,!0),y=f?f.length:0,v=m?m.length:0,b=this.medianXValue(t,f,g+1),S=this.medianXValue(t,m,g-1),w=y+v,x=this.crossReduction.getTempVariable(p,g),I=x;w>0&&(I=(b*y+S*v)/w),1===y&&1===v?I=S*v/v:1===y&&(I=b*y/y);var C=!1,P=void 0;if(I<x-1)if(0===u)P=I,C=!0;else{var D=n[parseInt(g.toString(),10)][u-1],T=this.crossReduction.getTempVariable(D,g);(T=T+D.width/2+t.intraCellSpacing+p.width/2)<I?(P=I,C=!0):T<this.crossReduction.getTempVariable(p,g)-1&&(P=T,C=!0)}else if(I>x+1)if(u===n[parseInt(g.toString(),10)].length-1)P=I,C=!0;else{var A=n[parseInt(g.toString(),10)][u+1],O=this.crossReduction.getTempVariable(A,g);(O=O-A.width/2-t.intraCellSpacing-p.width/2)>I?(P=I,C=!0):O>this.crossReduction.getTempVariable(p,g)+1&&(P=O,C=!0)}C&&(this.setTempVariable(p,g,P),this.updateNodeList(i,r,f,e),this.updateNodeList(i,r,m,e)),this.crossReduction.isVertex(c.cell)&&(c.visited=!1),l++}},t.prototype.updateNodeList=function(t,e,i,r){for(var n=0;n<i.length;n++){var o=i[parseInt(n.toString(),10)],a=r.getDictionaryForSorter(e,o);null!=a&&!1===a.visited&&(a.visited=!0,t.push(a))}},t.prototype.medianXValue=function(t,e,i){if(!e||0===e.length)return 0;for(var r=[],n=0;n<e.length;n++)r[parseInt(n.toString(),10)]=this.crossReduction.getTempVariable(e[parseInt(n.toString(),10)],i);if(r.sort(function(t,e){return t-e}),e.length%2==1)return r[Math.floor(e.length/2)];var o=e.length/2;return(r[o-1]+r[parseInt(o.toString(),10)])/2},t.prototype.placementStageExecute=function(t){var e=!1;"LeftToRight"!==t.model.layout.orientation&&"RightToLeft"!==t.model.layout.orientation||(e=!0),t.jettyPositions={};var i=t.model;e?t.currentYDelta=0:t.currentXDelta=0,this.initialCoords(t,{model:i},i),this.minNode(t,i);var r=1e8;t.maxIterations||(t.maxIterations=8);for(var n=0;n<t.maxIterations;n++){if((e?t.currentYDelta:t.currentXDelta)<r){for(var o=0;o<i.ranks.length;o++)for(var a=i.ranks[parseInt(o.toString(),10)],s=0;s<a.length;s++){var h=a[parseInt(s.toString(),10)];this.setXY(h,o,this.crossReduction.getTempVariable(h,o),!!e)}r=e?t.currentYDelta:t.currentXDelta}e?t.currentYDelta=0:t.currentXDelta=0}this.setCellLocations(t,i)},t.prototype.setCellLocations=function(t,e){for(var i=this.getValues(e.vertexMapper),r=0;r<i.length;r++)this.setVertexLocation(t,i[parseInt(r.toString(),10)])},t.prototype.garphModelsetVertexLocation=function(t,e,i,r){var n=e.geometry,o=null;return null!=n&&(o={x:i,y:r,width:n.width,height:n.height},n.x===i&&n.y===r||(e.geometry=o)),o},t.prototype.setVertexLocation=function(t,e){var i=!1;"LeftToRight"!==t.model.layout.orientation&&"RightToLeft"!==t.model.layout.orientation||(i=!0);var r=e.cell,n=e.x[0]-e.width/2,o=e.y[0]-e.height/2;this.garphModelsetVertexLocation(t,r,n,o),i?(t.marginY||(t.marginY=0),t.marginY=Math.max(t.marginY,o+e.height)):(t.marginX||(t.marginX=0),t.marginX=Math.max(t.marginX,n+e.width))},t.prototype.getValues=function(t){var e=[];if(t.map)for(var i=0,r=Object.keys(t.map);i<r.length;i++){var n=r[i];e.push(t.map[""+n])}return e},t.prototype.crossingStage=function(t){this.crossReduction.execute(t)},t.prototype.layeringStage=function(t){this.initialRank(t),this.fixRanks(t)},t.prototype.initialRank=function(t){for(var e=t.startNodes,i=t.getDictionaryValues(t.vertexMapper),r=e.slice();e.length>0;){for(var n=(l=e[0]).connectsAsTarget,o=l.connectsAsSource,a=!0,s=1e8,h=0;h<n.length;h++){if(5270620!==(g=n[parseInt(h.toString(),10)]).temp[0]){a=!1;break}u=g.source;s=Math.min(s,u.temp[0]-1)}if(a){if(l.temp[0]=s,t.maxRank||(t.maxRank=1e8),t.maxRank=Math.min(t.maxRank,s),null!=o)for(h=0;h<o.length;h++)(g=o[parseInt(h.toString(),10)]).temp[0]=5270620,-1===(u=g.target).temp[0]&&(e.push(u),u.temp[0]=-2);e.shift()}else{var d=e.shift();if(e.push(l),d===l&&1===e.length)break}}for(h=0;h<i.length;h++)i[parseInt(h.toString(),10)].temp[0]-=t.maxRank;for(h=0;h<r.length;h++)for(var l=r[parseInt(h.toString(),10)],c=0,n=l.connectsAsSource,p=0;p<n.length;p++){var g=n[parseInt(p.toString(),10)],u=g.target;l.temp[0]=Math.max(c,u.temp[0]+1),c=l.temp[0]}t.maxRank=1e8-t.maxRank},t.prototype.fixRanks=function(t){t.fixRanks()},t.prototype.cycleStage=function(t){var e={};t.startNodes=[];for(var i=t.getDictionaryValues(t.vertexMapper),r=[],n=0;n<i.length;n++)i[parseInt(n.toString(),10)].temp[0]=-1,r[i[parseInt(n.toString(),10)].id]=i[parseInt(n.toString(),10)];var o=null;if(null!=t.roots){var a=t.roots;o=[];for(n=0;n<a.length;n++)o[parseInt(n.toString(),10)]=t.getDictionary(t.vertexMapper,a[parseInt(n.toString(),10)]),null!=o[parseInt(n.toString(),10)]&&t.startNodes.push(o[parseInt(n.toString(),10)])}t.visit("removeParentConnection",o,!0,null,{seenNodes:e,unseenNodes:r});var s=t.clone(e,null,!0);t.visit("removeNodeConnection",r,!0,s,{seenNodes:e,unseenNodes:r})},t.prototype.remove=function(t,e){var i=e.indexOf(t);return-1!==i&&e.splice(i,1),t},t.prototype.invert=function(t,e){var i=t.source;t.source=t.target,t.target=i,t.isReversed=!t.isReversed},t.prototype.getEdgesBetween=function(t,e,i){for(var r=this.getEdges(t),n=[],o=0;o<r.length;o++){var a=this.getVisibleTerminal(r[parseInt(o.toString(),10)],!0),s=this.getVisibleTerminal(r[parseInt(o.toString(),10)],!1);(a===t&&s===e||!i&&a===e&&s===t)&&n.push(r[parseInt(o.toString(),10)])}return n},t}(),rg=function(){function t(t,e,i,r){this.multiObjectIdentityCounter=0,this.dfsCount=0,this.hierarchicalUtil=new ig,this.roots=i,this.vertexMapper={map:{}};var n=[];this.layout=r,this.maxRank=1e8,this.edgeMapper={map:{}},this.hierarchicalLayout=t,this.createInternalCells(t,e,n,r);for(var o=0;o<e.length;o++){for(var a=n[parseInt(o.toString(),10)].connectsAsSource,s=0;s<a.length;s++){var h=a[parseInt(s.toString(),10)],d=h.edges;if(null!=d&&d.length>0){var l=d[0],c=t.getVisibleTerminal(l,!1),p=this.getDictionary(this.vertexMapper,c);n[parseInt(o.toString(),10)]===p&&(c=t.getVisibleTerminal(l,!0),p=this.getDictionary(this.vertexMapper,c)),null!=p&&n[parseInt(o.toString(),10)]!==p&&(h.target=p,0===p.connectsAsTarget.length&&(p.connectsAsTarget=[]),p.connectsAsTarget.indexOf(h)<0&&p.connectsAsTarget.push(h))}}n[parseInt(o.toString(),10)].temp[0]=1}}return t.prototype.resetEdge=function(t){var e={x:0,y:0,width:0,height:0,relative:!0};return t.geometry=e,t},t.prototype.createInternalCells=function(t,e,i,r){for(var n=0;n<e.length;n++){i[parseInt(n.toString(),10)]={x:[],y:[],temp:[],cell:e[parseInt(n.toString(),10)],id:e[parseInt(n.toString(),10)].name,connectsAsTarget:[],connectsAsSource:[],type:"internalVertex"},this.setDictionary(this.vertexMapper,e[parseInt(n.toString(),10)],i[parseInt(n.toString(),10)]);var o=t.getEdges(e[parseInt(n.toString(),10)]);i[parseInt(n.toString(),10)].connectsAsSource=[];for(var a=0;a<o.length;a++){var s=t.getVisibleTerminal(o[parseInt(a.toString(),10)],!1);if(s!==e[parseInt(n.toString(),10)]){var h=t.getEdgesBetween(e[parseInt(n.toString(),10)],s,!1),d=t.getEdgesBetween(e[parseInt(n.toString(),10)],s,!0);if(null!=h&&h.length>0&&2*d.length>=h.length){var l={x:[],y:[],temp:[],edges:h,ids:[]};if(r.enableLayoutRouting)for(var c=0;c<h.length;c++){var p=h[parseInt(c.toString(),10)];this.setDictionary(this.edgeMapper,void 0,l,p.id),this.resetEdge(p)}l.source=i[parseInt(n.toString(),10)];for(var g=0;g<h.length;g++)l.ids.push(h[parseInt(g.toString(),10)].id);l.source=i[parseInt(n.toString(),10)],i[parseInt(n.toString(),10)].connectsAsSource||(i[parseInt(n.toString(),10)].connectsAsSource=[]),i[parseInt(n.toString(),10)].connectsAsSource.indexOf(l)<0&&i[parseInt(n.toString(),10)].connectsAsSource.push(l)}}}i[parseInt(n.toString(),10)].temp[0]=0}},t.prototype.fixRanks=function(){var t=[];this.ranks=[];for(r=0;r<this.maxRank+1;r++)t[parseInt(r.toString(),10)]=[],this.ranks[parseInt(r.toString(),10)]=t[parseInt(r.toString(),10)];var e=null;if(null!=this.roots){var i=this.roots;e=[];for(var r=0;r<i.length;r++){var n=i[parseInt(r.toString(),10)],o=this.getDictionary(this.vertexMapper,n);e[parseInt(r.toString(),10)]=o}}this.visit("updateMinMaxRank",e,!1,null,{seenNodes:null,unseenNodes:null,rankList:t})},t.prototype.updateMinMaxRank=function(t,e,i){var r=i.parent,n=i.root,o=i.edge,a=i.rankList;if(n.maxRank||0===n.maxRank||(n.maxRank=-1),n.minRank||0===n.minRank||(n.minRank=-1),0===e&&n.maxRank<0&&n.minRank<0&&(a[n.temp[0]].push(n),n.maxRank=n.temp[0],n.minRank=n.temp[0],n.temp[0]=a[n.maxRank].length-1),null!=r&&null!=o&&r.maxRank-n.maxRank>1){o.maxRank=r.maxRank,o.minRank=n.maxRank,o.temp=[],o.x=[],o.y=[];for(var s=o.minRank+1;s<o.maxRank;s++)a[parseInt(s.toString(),10)].push(o),this.hierarchicalUtil.setTempVariable(o,s,a[parseInt(s.toString(),10)].length-1)}},t.prototype.setDictionary=function(t,e,i,r){if(r){o=t.map[""+r];return t.map[""+r]=i,o}var n=e.name,o=t.map[""+n];return t.map[""+n]=i,o},t.prototype.setDictionaryForSorter=function(t,e,i,r){var n=e.id,o=t.map[""+n];return t.map[""+n]=i,o},t.prototype.getDictionary=function(t,e){this.multiObjectIdentityCounter||0===this.multiObjectIdentityCounter||(this.multiObjectIdentityCounter=0);var i=e.name;return i?t.map[""+i]:e.layoutObjectId?t.map[e.layoutObjectId]:(e.layoutObjectId="graphHierarchyNode#"+this.multiObjectIdentityCounter++,e.layoutObjectId)},t.prototype.getDictionaryForSorter=function(t,e){this.multiObjectIdentityCounter||0===this.multiObjectIdentityCounter||(this.multiObjectIdentityCounter=0);var i=e.id;return i?t.map[""+i]:e.layoutObjectId?t.map[e.layoutObjectId]:(e.layoutObjectId="graphHierarchyNode#"+this.multiObjectIdentityCounter++,e.layoutObjectId)},t.prototype.getDictionaryValues=function(t){for(var e=[],i=0,r=Object.keys(t.map);i<r.length;i++){var n=r[i];e.push(t.map[""+n])}return e},t.prototype.visit=function(t,e,i,r,n){if(null!=e){for(var o=0;o<e.length;o++){var a=e[parseInt(o.toString(),10)];null!=a&&(null==r&&(r=new Object),n.parent=null,n.root=a,n.edge=null,i?(a.hashCode=[],a.hashCode[0]=this.dfsCount,a.hashCode[1]=o,this.extendedDfs(t,r,o,0,n)):this.depthFirstSearch(t,r,0,n))}this.dfsCount++}},t.prototype.depthFirstSearch=function(t,e,i,r){var n=r.root;if(null!=n){var o=n.id;if(null==e[""+o]){e[""+o]=n,this.updateConnectionRank(t,i,0,r);for(var a=n.connectsAsSource.slice(),s=0;s<a.length;s++){var h=a[parseInt(s.toString(),10)],d=h.target;r.parent=n,r.root=d,r.edge=h,this.depthFirstSearch(t,e,i+1,r)}}else this.updateConnectionRank(t,i,1,r)}},t.prototype.updateConnectionRank=function(t,e,i,r){var n=r.parent,o=r.root,a=r.edge;if("removeParentConnection"===t||"removeNodeConnection"===t){var s="removeNodeConnection"===t;this.removeConnectionEdge(n,o,a,e,r,s)}"updateMinMaxRank"===t&&this.updateMinMaxRank(e,i,r)},t.prototype.removeConnectionEdge=function(t,e,i,r,n,o){var a=n.seenNodes,s=n.unseenNodes;this.hierarchicalUtil.isAncestor(e,t)&&(this.hierarchicalUtil.invert(i,0),this.hierarchicalUtil.remove(i,t.connectsAsSource),o?(e.connectsAsSource.push(i),t.connectsAsTarget.push(i),this.hierarchicalUtil.remove(i,e.connectsAsTarget)):(t.connectsAsTarget.push(i),this.hierarchicalUtil.remove(i,e.connectsAsTarget),e.connectsAsSource.push(i))),a[e.id]=e,delete s[e.id]},t.prototype.extendedDfs=function(t,e,i,r,n){var o=n.parent,a=n.root;n.edge;if(null!=a){if(null!=o&&(null==a.hashCode||a.hashCode[0]!==o.hashCode[0])){var s=o.hashCode.length+1;a.hashCode=o.hashCode.slice(),a.hashCode[s-1]=i}var h=a.id;if(null==e[""+h]){e[""+h]=a,this.updateConnectionRank(t,r,0,n);for(var d=a.connectsAsSource.slice(),l=0;l<d.length;l++){var c=d[parseInt(l.toString(),10)],p=c.target;n.parent=a,n.root=p,n.edge=c,this.extendedDfs(t,e,l,r+1,n)}}else this.updateConnectionRank(t,r,1,n)}},t.prototype.clone=function(t,e,i){if(null!=t&&"function"==typeof t.constructor){for(var r=t.constructor(),n=0,o=Object.keys(t);n<o.length;n++){var a=o[n];"layoutObjectId"!==a&&(null==e||e.indexOf(a)<0)&&i&&(r[""+a]=t[""+a])}return r}return null},t}(),ng=function(){function t(){}return t.prototype.calculateCrossings=function(t){for(var e=t.ranks.length,i=0,r=1;r<e;r++)i+=this.calculateRankCrossing(r,t);return i},t.prototype.getTempVariable=function(t,e){return t?this.isVertex(t)?t.temp[0]:t.temp[e-t.minRank-1]:0},t.prototype.calculateRankCrossing=function(t,e){for(var i=0,r=e.ranks[parseInt(t.toString(),10)],n=e.ranks[t-1],o=[],a=0;a<r.length;a++){for(var s=r[parseInt(a.toString(),10)],h=this.getTempVariable(s,t),d=this.getConnectedCellsOnLayer(s,t,!0),l=[],c=0;c<d.length;c++){var p=d[parseInt(c.toString(),10)],g=this.getTempVariable(p,t-1);l.push(g)}l.sort(function(t,e){return t-e}),o[parseInt(h.toString(),10)]=l}for(var u=[],a=0;a<o.length;a++)u=u.concat(o[parseInt(a.toString(),10)]);for(var f=1;f<n.length;)f<<=1;var m=2*f-1;f-=1;for(var y=[],a=0;a<m;++a)y[parseInt(a.toString(),10)]=0;for(a=0;a<u.length;a++){var v=u[parseInt(a.toString(),10)]+f;for(++y[parseInt(v.toString(),10)];v>0;)v%2&&(i+=y[v+1]),v=v-1>>1,++y[parseInt(v.toString(),10)]}return i},t.prototype.execute=function(t){this.nestedBestRanks=[];for(r=0;r<t.ranks.length;r++)this.nestedBestRanks[parseInt(r.toString(),10)]=t.ranks[parseInt(r.toString(),10)].slice();for(var e=0,i=this.calculateCrossings(t),r=0;r<24&&e<2;r++){this.weightedMedian(r,t);var n=this.calculateCrossings(t);if(n<i){i=n,e=0;for(p=0;p<this.nestedBestRanks.length;p++)for(var o=t.ranks[parseInt(p.toString(),10)],a=0;a<o.length;a++){var s=o[parseInt(a.toString(),10)],h=this.nestedBestRanks[parseInt(p.toString(),10)][s.temp[0]],d=!0;s.edges&&h&&!h.edges&&(d=!1),h&&d&&(this.nestedBestRanks[parseInt(p.toString(),10)][s.temp[0]]=s)}}else{e++;for(p=0;p<this.nestedBestRanks.length;p++)for(var o=t.ranks[parseInt(p.toString(),10)],a=0;a<o.length;a++){s=o[parseInt(a.toString(),10)];this.setTempVariable(s,p,a)}}if(0===i)break}for(var l=[],c=[],r=0;r<t.maxRank+1;r++)c[parseInt(r.toString(),10)]=[],l[parseInt(r.toString(),10)]=c[parseInt(r.toString(),10)];for(r=0;r<this.nestedBestRanks.length;r++)for(var p=0;p<this.nestedBestRanks[parseInt(r.toString(),10)].length;p++)c[parseInt(r.toString(),10)].push(this.nestedBestRanks[parseInt(r.toString(),10)][parseInt(p.toString(),10)]);t.ranks=l},t.prototype.isVertex=function(t){return!!(t&&t.cell&&(t.cell.inEdges&&t.cell.inEdges.length||t.cell.outEdges&&t.cell.outEdges.length))},t.prototype.weightedMedian=function(t,e){var i=t%2==0;if(i)for(r=e.maxRank-1;r>=0;r--)this.medianRank(r,i);else for(var r=1;r<e.maxRank;r++)this.medianRank(r,i)},t.prototype.getConnectedCellsOnLayer=function(t,e,i){void 0===i&&(i=!1);var r="nextLayerConnectedCells",n="connectsAsTarget";if(i&&(r="previousLayerConnectedCells",n="connectsAsSource"),t){if(this.isVertex(t)){if(null==t[""+r]){t[""+r]=[],t[""+r][0]=[];for(a=0;a<t[""+n].length;a++){var o=t[""+n][parseInt(a.toString(),10)];void 0===o.maxRank&&(o.maxRank=-1),-1===o.maxRank||(i?o.minRank===e-1:o.maxRank===e+1)?t[""+r][0].push(i?o.target:o.source):t[""+r][0].push(o)}}return t[""+r][0]}if(null==t[""+r]){t[""+r]=[];for(var a=0;a<t.temp.length;a++)t[""+r][parseInt(a.toString(),10)]=[],a===(i?0:t.temp.length-1)?t[""+r][parseInt(a.toString(),10)].push(i?t.target:t.source):t[""+r][parseInt(a.toString(),10)].push(t)}return t[""+r][e-t.minRank-1]}return null},t.prototype.medianValue=function(t,e){for(var i=[],r=0,n=0;n<t.length;n++){var o=t[parseInt(n.toString(),10)];i[r++]=this.getTempVariable(o,e)}if(i.sort(function(t,e){return t-e}),r%2==1)return i[Math.floor(r/2)];if(2===r)return(i[0]+i[1])/2;var a=r/2,s=i[a-1]-i[0],h=i[r-1]-i[parseInt(a.toString(),10)];return(i[a-1]*h+i[parseInt(a.toString(),10)]*s)/(s+h)},t.prototype.setTempVariable=function(t,e,i){t&&(t.temp[0]=i)},t.prototype.medianRank=function(t,e){for(var i=this.nestedBestRanks[parseInt(t.toString(),10)].length,r=[],n=[],o=0;o<i;o++){var a=this.nestedBestRanks[parseInt(t.toString(),10)][parseInt(o.toString(),10)],s={medianValue:0};s.cell=a;var h=void 0;h=e?this.getConnectedCellsOnLayer(a,t):this.getConnectedCellsOnLayer(a,t,!0);var d=void 0;d=e?t+1:t-1,null!=h&&0!==h.length?(s.medianValue=this.medianValue(h,d),r.push(s)):n[this.getTempVariable(a,t)]=!0}r.sort(this.compare);for(o=0;o<i;o++)if(null==n[parseInt(o.toString(),10)]&&r.length>0){a=r.shift().cell;this.setTempVariable(a,t,o)}},t.prototype.compare=function(t,e){if(null!=t&&null!=e){if(e.medianValue>t.medianValue)return-1;if(e.medianValue<t.medianValue)return 1}return 0},t}(),og=function(){function t(){this.edgeMapper=[]}return t.prototype.arrangeElements=function(t,e){var i,r=t.model.layout,n=(i="LeftToRight"===e.orientation||"RightToLeft"===e.orientation)?r.verticalSpacing:r.horizontalSpacing;this.groupLayoutCells(t),this.createMatrixCells(t);for(l=0;l<t.matrix.length;l++)for(var o=t.matrix[parseInt(l.toString(),10)].key,a=t.matrix[parseInt(o.toString(),10)].value,s=1;s<a.length;s++){var h=a[parseInt(s.toString(),10)],d=a[s-1];h.offset+=d.offset+d.size/2+n+h.size/2}t.roots.sort(function(e,i){return e.cells[0]&&i.cells[0]?t.model.roots.indexOf(e.cells[0].cell)-t.model.roots.indexOf(i.cells[0].cell):0});for(var l=0;l<t.roots.length;l++){var c=t.roots[parseInt(l.toString(),10)];this.arrangeMatrix(c,null,t)}for(var p=0;p<t.matrix.length;p++)for(var g=t.matrix[parseInt(p.toString(),10)].value,s=0;s<g.length;s++){for(var u=(h=g[parseInt(s.toString(),10)]).visitedParents.slice(),f=0;f<h.visitedParents.length;f++){var m=h.visitedParents[parseInt(f.toString(),10)];m&&this.containsValue(m.ignoredChildren,h)&&u.splice(u.indexOf(m),1)}if(u.length>1){var y=u[0],v=u[u.length-1],b=this.findParentVertexCellGroup(y),S=this.findParentVertexCellGroup(v);y!==b&&b.offset<y.offset&&(y=b),v!==S&&S.offset>v.offset&&(v=b);var w=(v.offset+.5*v.size+y.offset-.5*y.size)/2,x=h.initialOffset,I=h.offset;I!==x&&(this.seenCells=[],w>=x&&w<=I?this.translateMatrixCells(w-h.offset,h):w<x&&this.translateMatrixCells(x-h.offset,h),this.seenCells=[])}}this.setXYforMatrixCell(t)},t.prototype.groupLayoutCells=function(t){for(var e=t.model.ranks,i=e.length-1;i>=0;i--){for(var r=[],n=0;n<e[parseInt(i.toString(),10)].length;n++){s=e[parseInt(i.toString(),10)][parseInt(n.toString(),10)];"internalVertex"===(h=this.getType(s.type))&&r.push(e[parseInt(i.toString(),10)][parseInt(n.toString(),10)])}for(var o=[],a=0;a<e[parseInt(i.toString(),10)].length;a++){var s=e[parseInt(i.toString(),10)][parseInt(a.toString(),10)],h=this.getType(s.type);"internalEdge"===h&&o.push(s)}for(;r.length>1;){for(var d=r[0],l=this.selectIds(d.connectsAsTarget,!0),c=this.selectIds(d.connectsAsSource,!1);r.length>1;){var p=r[1],g=this.selectIds(p.connectsAsTarget,!0),u=this.selectIds(p.connectsAsSource,!1),f=this.compareLists(l,g),m=this.compareLists(c,u),y=this.checkparentsLevel(l,g,t);if(!(f&&m&&y))break;this.updateMutualSharing(r[0],p.id),this.updateMutualSharing(r[1],d.id),r.splice(1,1)}r.splice(0,1)}for(;o.length>1;){var v=o[0],b=v.source,S=v.target;if(null!=b.identicalSibiling){for(var w=[],x=0;x<o.length;x++){var I=o[parseInt(x.toString(),10)];I.target===S&&w.push(I)}for(x=0;x<w.length;x++){var C=w[parseInt(x.toString(),10)];this.containsValue(b.identicalSibiling,C.source.id)&&(C.source.identicalSibiling=null)}v.source.identicalSibiling=null}o.splice(0,1)}}},t.prototype.createMatrixCells=function(t){for(var e=t.model.layout,i="LeftToRight"===e.orientation||"RightToLeft"===e.orientation,r=i?e.verticalSpacing:e.horizontalSpacing,n=i?e.horizontalSpacing:e.verticalSpacing,o=t.model.ranks,a=[],s=-n,h=o.length-1;h>=0;h--){var d=0,l=o.length-1-h,c=o[parseInt(h.toString(),10)].slice(),p=[];t.matrix.push({key:l,value:p});var g=[];for(a.push({index:l,value:g});c.length>0;){var u=c[0],f={level:l,parents:[],children:[],visitedParents:[],visitedChildren:[],ignoredChildren:[],cells:[],size:0,offset:0,initialOffset:0};p.push(f);var m=this.getType(u.type);if("internalVertex"===m){if(f.cells.push(u),null!=u.identicalSibiling)for(C=0;C<c.length;C++){y=c[parseInt(C.toString(),10)];if("internalVertex"===this.getType(y.type)&&this.containsValue(u.identicalSibiling,y.id)&&(f.cells.push(y),f.cells.length>u.identicalSibiling.length))break}for(C=0;C<f.cells.length;C++){var y=f.cells[parseInt(C.toString(),10)];if("internalVertex"===this.getType(y.type)){var v=y.cell.geometry;if(f.size+=i?v.height:v.width,d=Math.max(d,i?v.width:v.height),g.push({key:y.id,value:f}),y.connectsAsTarget.length>0)for(T=0;T<y.connectsAsTarget.length;T++){var b=y.connectsAsTarget[parseInt(T.toString(),10)],S=null;if(this.containsValue(a[l-1].value,b.ids)?S=b.ids:this.containsValue(a[l-1].value,b.source.id)&&(S=b.source.id),null!=S){for(var w=a[l-1].value,x=void 0,I=0;I<w.length;I++)if(w[parseInt(I.toString(),10)].key===S){x=w[parseInt(I.toString(),10)].value;break}this.containsValue(f.parents,x)||f.parents.push(x),this.containsValue(x.children,f)||x.children.push(f)}}O=f.cells[parseInt(C.toString(),10)];-1!==c.indexOf(O)&&c.splice(c.indexOf(O),1)}}f.size+=(f.cells.length-1)*r}else if("internalEdge"===m){f.cells.push(u);for(var C=0;C<f.cells.length;C++){var P=f.cells[parseInt(C.toString(),10)];if("internalEdge"===this.getType(P.type)&&null!=P.edges){for(var D=-5,T=0;T<P.edges.length;T++)D+=6;f.size+=D}g.push({key:P.ids,value:f});S=null;if(this.containsValue(a[l-1].value,P.ids)?S=P.ids:this.containsValue(a[l-1].value,P.source.id)&&(S=P.source.id),null!=S){for(var A=a[l-1].value,x=void 0,I=0;I<A.length;I++)if(A[parseInt(I.toString(),10)].key===S){x=A[parseInt(I.toString(),10)].value;break}this.containsValue(f.parents,x)||f.parents.push(x),this.containsValue(x.children,f)||x.children.push(f)}var O=f.cells[parseInt(C.toString(),10)];-1!==c.indexOf(O)&&c.splice(c.indexOf(O),1)}f.size+=(f.cells.length-1)*r}if(f.cells.length){var M=f.cells.filter(function(t){return"internalVertex"===t.type});if(M.length>0)for(var E=0,L=M;E<L.length&&"break"!==function(e){var i=e.cell;if(t.model.roots.some(function(t){return t===i}))return t.roots.push(f),"break"}(L[E]);E++);}}t.rowOffset.push(s+d/2+n),s+=d+n}},t.prototype.arrangeMatrix=function(t,e,i){var r=i.model.layout,n="LeftToRight"===r.orientation||"RightToLeft"===r.orientation?r.verticalSpacing:r.horizontalSpacing,o=i.matrix,a=o[t.level].value,s=a.indexOf(t);if(t.visitedParents.length>0&&(1===t.visitedParents.length&&(t.initialOffset=t.offset),!this.containsValue(t.visitedParents,e))){var h=t.visitedParents[t.visitedParents.length-1],d=o[h.level].value,l=d.indexOf(h),c=d.indexOf(e),p=s+1<a.length?a[s+1]:void 0;if(-1!==h.ignoredChildren.indexOf(t)||c-l!=1||p&&p.visitedParents.length>0)return t.visitedParents.push(e),void e.ignoredChildren.push(t)}if(t.children.length>0){for(f=0;f<t.children.length;f++){var g=t.children[parseInt(f.toString(),10)];this.containsValue(t.visitedChildren,g)||(this.arrangeMatrix(g,t,i),t.visitedChildren.push(g))}if(t.visitedChildren.length>0){for(var u=t.visitedChildren.slice(),f=0;f<t.ignoredChildren.length;f++){var m=t.ignoredChildren[parseInt(f.toString(),10)];this.containsValue(u,m)&&u.splice(u.indexOf(m),1)}if(u.length>0){var y=u[0],v=u[u.length-1],b=(y.offset-y.size/2+(v.offset+v.size/2))/2;b<t.offset?this.shiftMatrixCells(t.offset-b,y,!0,t,i):b>t.offset&&this.shiftMatrixCells(b-t.offset,t,!1,null,i)}}}else{var S=t.offset;if(s>0){var w=a[s-1];S=w.offset+w.size/2+n+t.size/2}this.shiftMatrixCells(S-t.offset,t,!1,null,i)}this.containsValue(t.visitedParents,e)||t.visitedParents.push(e)},t.prototype.findParentVertexCellGroup=function(t){return t.cells[0]?t:t.parents.length>0?this.findParentVertexCellGroup(t.parents[0]):t},t.prototype.translateMatrixCells=function(t,e){if(0!==t){if(-1!==this.seenCells.indexOf(e))return;if(this.seenCells.push(e),e.offset+=t,e.visitedChildren.length>0)for(var i=0;i<e.visitedChildren.length;i++){var r=e.visitedChildren[parseInt(i.toString(),10)];-1===e.ignoredChildren.indexOf(r)&&this.translateMatrixCells(t,r)}}},t.prototype.setXYforMatrixCell=function(t){for(var e=t.model.layout,i="LeftToRight"===e.orientation||"RightToLeft"===e.orientation,r=i?e.verticalSpacing:e.horizontalSpacing,n=0;n<t.matrix.length;n++)for(var o=t.matrix[parseInt(n.toString(),10)].value,a=0;a<o.length;a++)for(var s=o[parseInt(a.toString(),10)],h=s.offset-s.size/2,d=0;d<s.cells.length;d++){var l=s.cells[parseInt(d.toString(),10)],c=this.getType(l.type);if("internalVertex"===c){var p=l,g=p.cell.geometry.width,u=p.cell.geometry.height;p.cell.geometry=i?new ms(t.rowOffset[s.level]-g/2,h,g,u):new ms(h,t.rowOffset[s.level]-u/2,g,u),h+=(i?u:g)+r}else if("internalEdge"===c){var f=l,m=s.visitedParents[0];if(m)for(C=0;C<m.visitedChildren.length;C++){for(var y=m.visitedChildren[parseInt(C.toString(),10)],v=[],b=0;b<y.cells.length;b++){var S=y.cells[parseInt(b.toString(),10)];"internalVertex"===this.getType(S.type)&&v.push(S)}if(v.length>0)break}for(b=0;b<f.edges.length;b++){var w=f.edges[parseInt(b.toString(),10)],x=this.getPointvalue(h+.5,t.rowOffset[s.level]);if(i&&(x=this.getPointvalue(t.rowOffset[s.level],h+.5)),this.containsValue(this.getEdgeMapper(),w)){for(var I=void 0,C=0;C<this.getEdgeMapper().length;C++)if(this.getEdgeMapper()[parseInt(C.toString(),10)].key===w){I=C;break}this.getEdgeMapper()[parseInt(I.toString(),10)].value.push(x)}h+=6}h+=r}}},t.prototype.getType=function(t){return"internalVertex"===t?"internalVertex":"internalEdge"},t.prototype.selectIds=function(t,e){for(var i=[],r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)];e?i.push(n.source.id):i.push(n.target.id)}return i},t.prototype.checkparentsLevel=function(t,e,i){if(1===t.length||1===e.length)return!0;for(var r=0;r<i.model.ranks.length;r++){var n=function(e){var r=i.model.ranks[parseInt(e.toString(),10)];if(r.length<t.length)return"continue";var n=0;return t.forEach(function(t){r.some(function(e){return e.id===t})&&n++}),n===t.length?{value:!0}:n>0&&n!==t.length?{value:!1}:void 0}(r);if("object"==typeof n)return n.value}return!1},t.prototype.compareLists=function(t,e){var i=t.slice(),r=e.slice();if(i.length===r.length){if(0===i.length)return!0;for(var n=!0,o=0;o<r.length;o++){var a=r[parseInt(o.toString(),10)];if(-1===i.indexOf(a)){n=!1;break}}return n}return!1},t.prototype.updateMutualSharing=function(t,e){null!=t.identicalSibiling?t.identicalSibiling.push(e):(t.identicalSibiling=[],t.identicalSibiling.push(e))},t.prototype.containsValue=function(t,e){for(var i=0;i<t.length;i++)if(t[parseInt(i.toString(),10)].key===e||t[parseInt(i.toString(),10)]===e)return!0;return!1},t.prototype.shiftMatrixCells=function(t,e,i,r,n){if(0!==t){for(var o=n.matrix[e.level].value,a=o.indexOf(e),s=a;s<o.length;s++)o[parseInt(s.toString(),10)].offset+=t;if(i)if(e.visitedChildren.length>0){for(var h=void 0,s=0;s<e.visitedChildren.length;s++){p=e.visitedChildren[parseInt(s.toString(),10)];if(-1===e.ignoredChildren.indexOf(p)){h=p;break}}h&&this.shiftMatrixCells(t,h,!0,e,n)}else{for(var s=1,d=null;a+s<o.length;){var l=o[a+s];if(l.visitedChildren.length>0&&l.visitedChildren.length>l.ignoredChildren.length){d=l;break}s++}if(null!=d){for(var h=void 0,c=0;c<d.visitedChildren.length;c++){var p=d.visitedChildren[parseInt(c.toString(),10)];if(-1===d.ignoredChildren.indexOf(p)){h=p;break}}h&&this.shiftMatrixCells(t,h,!0,d,n)}}}},t.prototype.getPointvalue=function(t,e){return{x:Number(t)||0,y:Number(e)||0}},t.prototype.getEdgeMapper=function(){return this.edgeMapper},t.prototype.setEdgeMapper=function(t){this.edgeMapper.push(t)},t.prototype.findLevelDifference=function(t){var e=0,i=0,r=0;if(this.diagram.layout.ranks){for(var n=this.diagram.layout.ranks,o=0;o<n.length;o++)for(var a=0;a<n[parseInt(o.toString(),10)].length;a++)t.sourceID===n[parseInt(o.toString(),10)][parseInt(a.toString(),10)].id&&(e=o),t.targetID===n[parseInt(o.toString(),10)][parseInt(a.toString(),10)].id&&(i=o);r=e-i}return r<0?-r:r},t.prototype.updateLayout=function(t,e,i,r,n,o,a){var s=(t.x-e.width)/2-e.x,h=(t.y-e.height)/2-e.y;s=Math.round(s),h=Math.round(h);for(var d=[],l=new ms(e.x+s,e.y+h,e.width,e.height),c=(i.margin,"RightToLeft"===r.orientation||"LeftToRight"===r.orientation),p=c?r.horizontalSpacing:r.verticalSpacing,g=0;g<n.length;g++){var u=n[parseInt(g.toString(),10)];if(null!=u.outEdges&&u.outEdges.length>0)for(var f=u.outEdges.length,m=0;m<f;m++){(k=o[u.outEdges[parseInt(m.toString(),10)]]).pointCollection=[];var y=p/2,v=null,b=!1;if(this.findLevelDifference(k)>1&&(b=!0),f>1||b){for(var S=-1,w=this.getEdgeMapper(),x=0;x<w.length;x++)if(w[parseInt(x.toString(),10)].key===k){S=x;break}if(-1!==S&&w[parseInt(S.toString(),10)].value.length>0&&"Orthogonal"===k.type){var I=w[parseInt(S.toString(),10)].value[0],C=I.x+r.marginX,P=I.y+r.marginY,D=C,T=P;"BottomToTop"===r.orientation?T=e.height-P:"RightToLeft"===r.orientation&&(D=e.width-C),v=this.getPointvalue(D,T),k.segments=[],this.diagram.connectorPropertyChange(k,{},{type:"Orthogonal",segments:k.segments})}}for(var A=[],O=0;O<k.segments.length;O++){H=k.segments[parseInt(O.toString(),10)].points;for(var M in H)A.push(H[parseInt(M.toString(),10)])}var E=!1;if(4===A.length&&(f>1&&!v||!v)&&(c?A[3].x-A[0].x:A[3].y-A[0].y)>p){var L=a[k.sourceID],z=c?L.maxRowWidth-L.geometry.width:L.maxRowHeight-L.geometry.height;z>0&&(y+=z/2,E=!0)}if(f>1||E||b){if(A=this.updateConnectorPoints(A,y,v,l,r.orientation),null!=v&&"DifferentPoint"!==this.diagram.layout.connectionPointOrigin||E)for(j=0;j<A.length;j++){H=A[parseInt(j.toString(),10)];k.pointCollection.push(this.getPointvalue(H.x,H.y))}this.resetConnectorPoints(k)}d.push(k)}if(null!=u.inEdges&&u.inEdges.length>1)for(var f=u.inEdges.length,w=this.getEdgeMapper(),m=0;m<f;m++){var k=o[u.inEdges[parseInt(m.toString(),10)]];if(this.containsValue(d,k)||(k.pointCollection=[]),f>1){for(var y=p/2,v=null,S=-1,x=0;x<w.length;x++)if(w[parseInt(x.toString(),10)].key===k){S=x;break}if(-1!==S&&w[parseInt(S.toString(),10)].value.length>0&&!this.containsValue(d,k)&&"Orthogonal"===k.type){var B=w[parseInt(S.toString(),10)].value[0],N=B.x+r.marginX,R=B.y+r.marginY,D=N,T=R;"BottomToTop"===r.orientation?T=e.height-R:"RightToLeft"===r.orientation&&(D=e.width-N),v=this.getPointvalue(D,T),k.segments=[],this.diagram.connectorPropertyChange(k,{},{type:"Orthogonal",segments:k.segments})}for(var A=[],j=0;j<k.segments.length;j++){H=k.segments[parseInt(j.toString(),10)].points;for(var M in H)A.push(H[parseInt(M.toString(),10)])}if(A.reverse(),(A=this.updateConnectorPoints(A,y,v,l,i.orientation)).reverse(),k.pointCollection=[],null!=v&&"DifferentPoint"!==this.diagram.layout.connectionPointOrigin)for(j=0;j<A.length;j++){var H=A[parseInt(j.toString(),10)];k.pointCollection.push(this.getPointvalue(H.x,H.y))}this.resetConnectorPoints(k)}}}},t.prototype.inflate=function(t,e,i){return t.x-=e,t.y-=i,t.width+=2*e,t.height+=2*i,t},t.prototype.updateConnectorPoints=function(t,e,i,r,n){var o="LeftToRight"===n||"RightToLeft"===n,a=t,s=a[0],h=a[a.length-1];if(null!=i){var d=fs.transform(s,fs.findAngle(s,a[1]),e),l=fs.transform(h,fs.findAngle(h,a[a.length-2]),e),c=this.getPointvalue(i.x,d.y),p=this.getPointvalue(i.x,l.y);return o&&(c.x=d.x,c.y=i.y,p.x=l.x,p.y=i.y),0===Math.abs(fs.findLength(p,l))?[s,d,c,h]:[s,d,c,p,l,h]}if(4===a.length){var d=fs.transform(s,fs.findAngle(s,a[1]),e),c=this.getPointvalue(a[2].x,d.y);return o&&(c.x=d.x,c.y=a[2].y),[s,d,c,h]}return a},t.prototype.resetConnectorPoints=function(t){if(t.pointCollection&&t.pointCollection.length>0){(h=t).sourcePoint=t.pointCollection[0],h.targetPoint=t.pointCollection[t.pointCollection.length-1];for(var e=[],i=0;i<t.pointCollection.length-1;i++){var r=t.pointCollection[parseInt(i.toString(),10)],n=t.pointCollection[i+1],o=Jd(r,n),a=Qd(r,n);i===t.pointCollection.length-2&&("RightToLeft"===this.diagram.layout.orientation&&"Left"===a||"LeftToRight"===this.diagram.layout.orientation&&"Right"===a||"TopToBottom"===this.diagram.layout.orientation&&"Bottom"===a||"BottomToTop"===this.diagram.layout.orientation&&"Top"===a)&&(o/=2),(l=new md(t,"segments",{type:"Orthogonal"},!0)).length=o,l.direction=a,e.push(l)}h.segments=e,h.type="Orthogonal",this.diagram.connectorPropertyChange(h,{},{type:"Orthogonal",segments:h.segments})}else if("DifferentPoint"===this.diagram.layout.connectionPointOrigin){var s="obstaclePointCollection";if(t.segments[0].points&&t.segments[0].points.length>0&&t[""+s]){var h=t;h.sourcePoint=t[""+s][0],h.targetPoint=t[""+s][t[""+s].length-1];for(var e=[],i=0;i<t[""+s].length-1;i++){var r=t[""+s][parseInt(i.toString(),10)],n=t[""+s][i+1],d=Jd(r,n),a=Qd(r,n);i===t[""+s].length-2&&("RightToLeft"===this.diagram.layout.orientation&&"Left"===a||"LeftToRight"===this.diagram.layout.orientation&&"Right"===a||"TopToBottom"===this.diagram.layout.orientation&&"Bottom"===a||"BottomToTop"===this.diagram.layout.orientation&&"Top"===a)&&(d/=2);var l=new md(t,"segments",{type:"Orthogonal"},!0);l.length=d,l.direction=a,e.push(l)}h.segments=e,h.type="Orthogonal",this.diagram.connectorPropertyChange(h,{},{type:"Orthogonal",segments:h.segments})}}},t.prototype.nodePropertyChange=function(t){this.diagram.nodePropertyChange(t,{},{offsetX:t.offsetX,offsetY:t.offsetY})},t}(),ag=function(){function t(t,e,i){var r=this;this.dfsCount=0,this.maxRank=1e8,this.layout=t,this.vertexMapper=new Map,this.ranks=new Map;var n=[];this.createInternalCells(i,n),n.forEach(function(t){t.internalOutEdges.forEach(function(e){var i=e.edges;if(i&&i.length>0){var n=i[0],o=r.layout.getVisibleTerminal(n,!1),a=r.vertexMapper.get(o.id);t===a&&(o=r.layout.getVisibleTerminal(n,!0),a=r.vertexMapper.get(o.id)),a&&t!==a&&(e.target=a,-1===t.internalInEdges.indexOf(e)&&a.internalInEdges.push(e))}})}),this.rootNode=this.vertexMapper.get(e.id)}return t.prototype.createInternalCells=function(t,e){for(var i=0;i<t.length;i++){var r=t[parseInt(i.toString(),10)],n={tempRank:-1,cell:r,hashCode:[],maxRank:null,minRank:null,id:r.id,internalOutEdges:[],internalInEdges:[],identicalSibling:[]};e.push(n),this.vertexMapper.set(r.id,n);for(var o=this.layout.getEdges(r),a=0;a<o.length;){var s=o[parseInt(a.toString(),10)],h=this.layout.getVisibleTerminal(s,!1);if(h!==r){var d=this.layout.getEdgesBetween(r,h,!0);if(d.length>0){for(var l={connectorIds:[],edges:d,ids:[],isReversed:!1,source:null,target:null,tempRank:0,maxRank:null,minRank:null},c=0;c<d.length;c++){var p=d[parseInt(c.toString(),10)];l.ids.push(p.id),-1!==o.indexOf(p)&&(o.indexOf(p)<a&&a--,o.splice(o.indexOf(p),1))}l.source=n,-1===n.internalOutEdges.indexOf(l)&&n.internalOutEdges.push(l)}}else a++}}},t.prototype.layeringStage=function(){this.recycleConnectors(),this.initialRank(),this.fixRanks()},t.prototype.recycleConnectors=function(){var t=[this.rootNode];this.visit(t,!0)},t.prototype.initialRank=function(){for(var t=[this.rootNode],e=Array.from(this.vertexMapper.values());t.length>0;){for(var i=t[0],r=i.internalOutEdges,n=i.internalInEdges,o=!0,a=1e8,s=0;s<n.length;s++){if(5270620!==(u=n[parseInt(s.toString(),10)]).tempRank){o=!1;break}a=(f=u.source).tempRank?Math.min(a,f.tempRank-1):a}if(o){if(i.tempRank=a,this.maxRank=Math.min(this.maxRank,a),r.length){if(i.cell.isDecisionNode){var h=r.find(function(t){return t.target.cell.isYesChild}),d=r.find(function(t){return t.target.cell.isDecisionNode});-1===r.indexOf(d)&&0!==r.indexOf(h)&&r.reverse(),("RightInFlow"===this.layout.yesBranchDirection||"SameAsFlow"===this.layout.yesBranchDirection&&"LeftInFlow"===this.layout.noBranchDirection)&&r.reverse()}for(s=0;s<r.length;s++)(u=r[parseInt(s.toString(),10)]).tempRank=5270620,-1===(f=u.target).tempRank&&(f.tempRank=-2,t.push(f))}t.shift()}else{var l=t.shift();if(t.push(i),l===i&&1===t.length)break}}for(s=0;s<e.length;s++)e[parseInt(s.toString(),10)].tempRank-=this.maxRank;for(var c=0,p=this.rootNode.internalOutEdges,g=0;g<p.length;g++){var u=p[parseInt(g.toString(),10)],f=u.target;this.rootNode.tempRank=void 0!==f.tempRank&&null!==f.tempRank?Math.max(c,f.tempRank+1):c,c=this.rootNode.tempRank}this.maxRank=1e8-this.maxRank},t.prototype.fixRanks=function(){var t=new Map;this.ranks=new Map;for(var e=0;e<=this.maxRank;e++)t.set(e,[]),this.ranks.set(e,t.get(e));var i=[this.rootNode];this.visit(i,!1,t)},t.prototype.visit=function(t,e,i){if(void 0===i&&(i=null),t){for(var r=0;r<t.length;r++){var n=t[parseInt(r.toString(),10)];if(n){var o=new Map;e?(n.hashCode=[this.dfsCount,r],this.extendedDfs(null,n,null,o,r)):this.depthFirstSearch(null,n,null,o,i)}}this.dfsCount++}},t.prototype.extendedDfs=function(t,e,i,r,n){var o=this;t&&(e.hashCode&&e.hashCode[0]===t.hashCode[0]||(e.hashCode=t.hashCode.concat([n])));var a=e.id;r.has(a)?this.removeConnectionEdge(t,e,i):(r.set(a,e),this.removeConnectionEdge(t,e,i),e.internalOutEdges.slice().forEach(function(t,i){var n=t.target;o.extendedDfs(e,n,t,r,i)}))},t.prototype.removeConnectionEdge=function(t,e,i){t&&this.isAncestor(e,t)&&(this.invert(i),this.remove(i,t.internalOutEdges),t.internalInEdges.push(i),this.remove(i,e.internalInEdges),e.internalOutEdges.push(i))},t.prototype.invert=function(t){var e=t.source;t.source=t.target,t.target=e,t.isReversed=!t.isReversed},t.prototype.remove=function(t,e){var i=e.indexOf(t);e.splice(i,1)},t.prototype.isAncestor=function(t,e){if(null!==e&&null!==t.hashCode&&null!==e.hashCode&&t.hashCode.length<e.hashCode.length){if(t.hashCode===e.hashCode)return!0;for(var i=0;i<t.hashCode.length;i++)if(t.hashCode[parseInt(i.toString(),10)]!==e.hashCode[parseInt(i.toString(),10)])return!1;return!0}return!1},t.prototype.depthFirstSearch=function(t,e,i,r,n){var o=this,a=e.id;r.has(a)?this.updateMinMaxRank(t,e,i,1,n):(r.set(a,e),this.updateMinMaxRank(t,e,i,0,n),e.internalOutEdges.slice().forEach(function(t){var i=t.target;o.depthFirstSearch(e,i,t,r,n)}))},t.prototype.updateMinMaxRank=function(t,e,i,r,n){var o=Array.from(n.values());if(null==e.maxRank&&0!==e.maxRank&&(e.maxRank=-1),null==e.minRank&&0!==e.minRank&&(e.minRank=-1),0===r&&e.maxRank<0&&e.minRank<0&&e.tempRank>=0){var a=e.tempRank;o[parseInt(a.toString(),10)].push(e),e.maxRank=a,e.minRank=a,e.tempRank=o[e.maxRank].length-1}if(null!==t&&null!==i)if(t.maxRank-e.maxRank>1){i.maxRank=t.maxRank,i.minRank=e.maxRank;for(s=i.minRank+1;s<i.maxRank;s++)o[parseInt(s.toString(),10)].push(i)}else if(i.isReversed){i.maxRank=t.maxRank,i.minRank=e.maxRank;for(var s=i.minRank;s<=i.maxRank;s++)o[parseInt(s.toString(),10)].push(i)}},t}(),sg=function(){function t(t){this.flowchartModel=t,this.matrix=[],this.rowOffset=[],this.rowMaxDimension=[],this.siblingModel=null}return t.prototype.arrangeElements=function(){if(null!==this.flowchartModel){var t=this.flowchartModel.layout,e="LeftToRight"===t.orientation?t.verticalSpacing:t.horizontalSpacing;this.groupLayoutCells(),this.createMatrixCells();for(var i=0,r=this.matrix;i<r.length;i++)for(var n=r[i],o=1;o<n.length;o++){var a=n[parseInt(o.toString(),10)],s=n[o-1];a.offset+=s.offset+s.size/2+e+a.size/2}for(var h=0,d=this.matrix[0];h<d.length;h++){var l=d[h];this.arrangeMatrix(l,null)}for(var c=0,p=this.matrix;c<p.length;c++)for(var g=p[c],o=0;o<g.length;o++)if((a=g[parseInt(o.toString(),10)]).visitedParents.length>1){var u=a.visitedParents[0],f=a.visitedParents[a.visitedParents.length-1],m=this.findParentVertexCellGroup(u),y=this.findParentVertexCellGroup(f);u!==m&&m.offset<u.offset&&(u=m),f!==y&&y.offset>f.offset&&(f=m);var v=(u.offset+f.offset)/2,b=a.cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t});if("SameAsFlow"===this.flowchartModel.layout.yesBranchDirection){C=a.visitedParents.slice();if(b&&b.cell.isYesChild){for(var S=0,w=C;S<w.length;S++)if(!(M=(O=w[S]).cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t}))){v=O.offset;break}}else{"LeftInFlow"===this.flowchartModel.layout.noBranchDirection&&C.reverse();for(var x=0,I=C;x<I.length;x++)if(M=(O=I[x]).cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})){if(M.cell.isYesChild){v=O.offset;break}}else if((E=this.findParentVertexCellGroup(O))&&(L=E.cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t}))&&L.cell.isYesChild){v=O.offset;break}}}else if("SameAsFlow"===this.flowchartModel.layout.noBranchDirection){var C=a.visitedParents.slice();if(b&&b.cell.isNoChild){for(var P=0,D=C;P<D.length;P++)if(!(M=(O=D[P]).cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t}))){v=O.offset;break}}else{"LeftInFlow"===this.flowchartModel.layout.yesBranchDirection&&C.reverse();for(var T=0,A=C;T<A.length;T++){var O=A[T],M=O.cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t});if(M){if(M.cell.isNoChild){v=O.offset;break}}else{var E=this.findParentVertexCellGroup(O);if(E){var L=E.cells.find(function(t){return"internalInEdges"in t&&"internalOutEdges"in t});if(L&&L.cell.isNoChild){v=O.offset;break}}}}}}var z=a.initialOffset,k=a.offset;k!==z&&(v>=z&&v<=k?this.translateMatrixCells(v-a.offset,a):v<z&&this.translateMatrixCells(z-a.offset,a))}this.setXYForMatrixCell()}},t.prototype.arrangeMatrix=function(t,e){var i=this.flowchartModel.layout,r="LeftToRight"===i.orientation?i.verticalSpacing:i.horizontalSpacing,n=this.matrix[t.level],o=n.indexOf(t);if(t.visitedParents.length&&(1===t.visitedParents.length&&(t.initialOffset=t.offset),o+1<n.length&&n[o+1].visitedParents.length&&-1===t.visitedParents.indexOf(e)))return void(t.level!==e.level&&(t.visitedParents.push(e),e.ignoredChildren.push(t)));if(t.children.length){for(var a=0,s=t.children;a<s.length;a++){var h=s[a];t.visitedChildren.indexOf(h)&&(this.arrangeMatrix(h,t),t.level!==h.level?t.visitedChildren.push(h):t.loopChildren.push(h))}if(t.visitedChildren.length){for(var d=t.visitedChildren.slice(),l=0,c=t.ignoredChildren;l<c.length;l++)!function(t){d=d.filter(function(e){return e!==t})}(c[l]);if(d.length){var p=d[0],g=d[d.length-1],u=(p.offset+g.offset)/2;if(t.cells.length){var f=t.cells.filter(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})[0],m=p.cells.filter(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})[0],y=g.cells.filter(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})[0];f&&f.cell.isDecisionNode&&("SameAsFlow"===this.flowchartModel.layout.yesBranchDirection?m?u=m.cell.isYesChild?p.offset:g.offset:y&&(u=y.cell.isYesChild?g.offset:p.offset):"SameAsFlow"===this.flowchartModel.layout.noBranchDirection&&(m?u=m.cell.isNoChild?p.offset:g.offset:y&&(u=y.cell.isNoChild?g.offset:p.offset)))}u<t.offset?this.shiftMatrixCells(t.offset-u,p,!0,t):u>t.offset&&this.shiftMatrixCells(u-t.offset,t)}}}else{var v=t.offset;if(o>0){var b=n[o-1];v=b.offset+b.size/2+r+t.size/2}this.shiftMatrixCells(v-t.offset,t)}-1===t.visitedParents.indexOf(e)&&null!==e&&t.level!==e.level&&t.visitedParents.push(e)},t.prototype.shiftMatrixCells=function(t,e,i,r){if(void 0===i&&(i=!1),void 0===r&&(r=null),0!==t){for(var n=this.matrix[e.level],o=n.indexOf(e),a=o;a<n.length;a++)n[parseInt(a.toString(),10)].offset+=t;if(i)if(e.visitedChildren.length)this.shiftMatrixCells(t,e.visitedChildren[0],!0,e);else{for(var a=1,s=null;o+a<n.length;){var h=n[o+a];if(null!==r&&-1!==h.visitedParents.indexOf(r)){if(!h.visitedChildren.length){a++;continue}s=h}break}null!==s&&this.shiftMatrixCells(t,s.visitedChildren[0],!0,s)}}},t.prototype.findParentVertexCellGroup=function(t){return"internalInEdges"in t.cells[0]&&"internalOutEdges"in t.cells[0]?t:t.parents.length?this.findParentVertexCellGroup(t.parents[0]):t},t.prototype.translateMatrixCells=function(t,e){if(0!==t&&(e.offset+=t,e.visitedChildren.length)){for(var i=0,r=e.visitedChildren;i<r.length;i++){var n=r[i];this.translateMatrixCells(t,n)}for(var o=0,a=e.loopChildren;o<a.length;o++){var s=a[o];this.translateMatrixCells(t,s)}}},t.prototype.getObjectValues=function(t){var e=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&e.push(t[""+i]);return e},t.prototype.setXYForMatrixCell=function(){var t=this.flowchartModel.layout,e="LeftToRight"===t.orientation,i=e?t.verticalSpacing:t.horizontalSpacing,r=0;if(this.siblingModel){var n=this.getObjectValues(this.rowMaxDimension),o=Math.max.apply(Math,n);r=this.siblingModel.getSiblingDimension(o)}for(var a=0,s=this.getObjectValues(this.matrix);a<s.length;a++)for(var h=0,d=s[a];h<d.length;h++){var l=d[h],c=l.offset-l.size/2;0!==r&&(c+=r+i);for(var p=0,g=l.cells;p<g.length;p++){var u=g[p];if("internalInEdges"in u&&"internalOutEdges"in u){var f=u,m=f.cell.geometry.width,y=f.cell.geometry.height;f.cell.geometry=e?new ms(this.rowOffset[l.level]-m/2,c,m,y):new ms(c,this.rowOffset[l.level]-y/2,m,y),c+=(e?y:m)+i}else if("edges"in u){var v=u,b=v.isReversed;if(!b){var S=l.visitedParents[0];if(S)for(var w=0,x=S.visitedChildren;w<x.length;w++)if(x[w].cells.some(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})){b=!0;break}}for(var I=0,C=v.edges;I<C.length;I++){var P=C[I];if(b){var D={x:c+.5,y:this.rowOffset[l.level]};e&&(D={x:this.rowOffset[l.level],y:c+.5}),this.flowchartModel.layout.edgesMapper.has(P)&&(this.flowchartModel.layout.edgesMapper.get(P).push(D),this.flowchartModel.layout.loopedgesMapper.set(P,v.isReversed))}c+=6}c+=i}}}},t.prototype.getSiblingDimension=function(t){var e=this.flowchartModel.layout,i="LeftToRight"===e.orientation,r=i?e.horizontalSpacing:e.verticalSpacing,n=0;for(var o in this.rowMaxDimension)if(Object.prototype.hasOwnProperty.call(this.rowMaxDimension,o)){if(!(this.rowMaxDimension[""+o]<t))break;n=parseInt(o,10)}this.rowMaxDimension[parseInt(n.toString(),10)]+r<=t&&this.rowMaxDimension[n+1]&&n++;var a=[];for(var o in this.matrix)Object.prototype.hasOwnProperty.call(this.matrix,o)&&parseInt(o,10)<=n&&(a[""+o]=this.matrix[""+o]);var s=0;for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var h=a[""+o];if(h.length){var d=h[0].cells[0],l=0;if(d&&"cell"in d){g=d.cell.geometry;l=i?g.y:g.x}else if(d&&"edges"in d){u=d.edges[d.edges.length-1];(f=this.flowchartModel.layout.edgesMapper.get(u)).length&&(l=i?f[0].y:f[0].x)}var c=0,p=h[h.length-1].cells[h[h.length-1].cells.length-1];if(p&&"cell"in p){var g=p.cell.geometry;c=i?g.y+g.height:g.x+g.width}else if(p&&"edges"in p){var u=p.edges[p.edges.length-1],f=this.flowchartModel.layout.edgesMapper.get(u);f.length&&(c=i?f[0].y:f[0].x)}s=Math.max(s,c-l)}}return s},t.prototype.createMatrixCells=function(){for(var t=this.flowchartModel.layout,e="LeftToRight"===t.orientation,i=e?t.verticalSpacing:t.horizontalSpacing,r=e?t.horizontalSpacing:t.verticalSpacing,n=this.flowchartModel.ranks,o=Array.from(n.values()),a={},s=-r,h=o.length-1;h>=0;h--){var d=0,l=o.length-1-h,c=o[parseInt(h.toString(),10)].slice(),p=[];this.matrix[parseInt(l.toString(),10)]=p;var g={};for(a[parseInt(l.toString(),10)]=g;c.length>0;){var u=c[0],f={parents:[],children:[],visitedParents:[],visitedChildren:[],ignoredChildren:[],loopChildren:[],cells:[],level:l,initialOffset:0,size:0,offset:0};if(p.push(f),"internalInEdges"in u&&"internalOutEdges"in u){if(f.cells.push(u),u.identicalSibling)for(y=0;y<c.length&&!("internalInEdges"in(v=c[parseInt(y.toString(),10)])&&"internalOutEdges"in v&&-1!==u.identicalSibling.indexOf(v.id)&&(f.cells.push(v),f.cells.length>u.identicalSibling.length));y++);for(var m=f.cells,y=0;y<m.length;y++){var v=m[parseInt(y.toString(),10)];if("internalInEdges"in v&&"internalOutEdges"in v){var b=v.cell.geometry;if(f.size+=e?b.height:b.width,d=Math.max(d,e?b.width:b.height),g[v.id]=f,v.internalInEdges.length)for(var S=v.internalInEdges,w=0;w<S.length;w++){var x=S[parseInt(w.toString(),10)];if(!x.isReversed){D=null;if(a[l-1]&&Object.prototype.hasOwnProperty.call(a[l-1],x.ids)?D=x.ids:a[l-1]&&Object.prototype.hasOwnProperty.call(a[l-1],x.source.id)&&(D=x.source.id),null!==D){T=a[l-1][""+D];-1===f.parents.indexOf(T)&&f.parents.push(T),-1===T.children.indexOf(f)&&(T.children.length&&T.children[0].level===T.level?T.children.unshift(f):T.children.push(f))}}}c.splice(c.indexOf(v),1)}}f.size+=(f.cells.length-1)*i}else if("edges"in u){f.cells.push(u);for(var m=f.cells,y=0;y<m.length;y++){var I=m[parseInt(y.toString(),10)];if("edges"in I&&I.edges){for(var C=-5,P=0;P<I.edges.length;P++){I.edges[parseInt(P.toString(),10)];C+=6}f.size+=C}var D=null;if(I.isReversed?a[parseInt(l.toString(),10)][I.ids]?D=I.ids:a[parseInt(l.toString(),10)][I.source.id]&&(D=I.source.id):a[l-1][I.ids]?D=I.ids:a[l-1][I.source.id]&&(D=I.source.id),null!==D){var T=a[I.isReversed?l:l-1][""+D];-1===f.parents.indexOf(T)&&f.parents.push(T),-1===T.children.indexOf(f)&&T.children.push(f)}g[I.ids]=f,c.splice(c.indexOf(I),1)}f.size+=(f.cells.length-1)*i}}this.rowOffset[parseInt(l.toString(),10)]=s+d/2+r,this.rowMaxDimension[parseInt(l.toString(),10)]=this.rowOffset[parseInt(l.toString(),10)]+d/2,s+=d+r}},t.prototype.groupLayoutCells=function(){var t=this.flowchartModel.ranks,e=Array.from(t.values());e.reverse();for(var i=e.length-1;i>=0;i--){for(var r=(e[parseInt(i.toString(),10)].filter(function(t){return"internalInEdges"in t&&"internalOutEdges"in t})),n=(e[parseInt(i.toString(),10)].filter(function(t){return"edges"in t&&"edges"in t}));r.length>1;){var o=r[0];if(o.cell.isYesChild||o.cell.isNoChild)r.shift();else{for(var a=o.internalInEdges.map(function(t){return t.source.id}),s=o.internalOutEdges.map(function(t){return t.target.id});r.length>1;){var h=r[1],d=h.internalInEdges.map(function(t){return t.source.id}),l=h.internalOutEdges.map(function(t){return t.target.id}),c=this.compareLists(a,d),p=this.compareLists(s,l);if(!c||!p)break;this.updateMutualSharing(r[0],h.id),this.updateMutualSharing(r[1],o.id),r.splice(1,1)}r.shift()}}for(;n.length>1;)!function(){var t=n[0],e=t.source,i=t.target;if(e.identicalSibling){for(var r=0,o=n.filter(function(t){return t.target===i});r<o.length;r++){var a=o[r];-1!==e.identicalSibling.indexOf(a.source.id)&&(a.source.identicalSibling=null)}t.source.identicalSibling=null}n.shift()}()}},t.prototype.updateMutualSharing=function(t,e){t.identicalSibling?t.identicalSibling.push(e):t.identicalSibling=[e]},t.prototype.compareLists=function(t,e){var i=t.slice(),r=e.slice();if(i.length===r.length){if(0===i.length)return!0;for(var n=0,o=r;n<o.length;n++){var a=o[n];if(-1===i.indexOf(a))return!1}return!0}return!1},t}(),hg=function(){function t(){this.rootNodes=[],this.vertexMapper=new Map,this.edgesMapper=new Map,this.loopedgesMapper=new Map,this.anchorX=0,this.anchorY=0,this.verticalSpacing=50,this.horizontalSpacing=50,this.horizontalAlignment="Center",this.verticalAlignment="Top",this.margin={top:50,right:50,bottom:50,left:50},this.orientation="TopToBottom",this.yesBranchDirection="SameAsFlow",this.noBranchDirection="RightInFlow",this.yesBranchValues=["Yes","True"],this.noBranchValues=["No","False"],this.diagram=new Tp}return t.prototype.updateLayout=function(t,e){this.diagram=e,this.yesBranchDirection=this.diagram.layout.flowchartLayoutSettings.yesBranchDirection,this.noBranchDirection=this.diagram.layout.flowchartLayoutSettings.noBranchDirection,this.yesBranchValues=this.diagram.layout.flowchartLayoutSettings.yesBranchValues||["Yes","True"],this.noBranchValues=this.diagram.layout.flowchartLayoutSettings.noBranchValues||["No","False"],this.orientation="TopToBottom"===this.diagram.layout.orientation||"BottomToTop"===this.diagram.layout.orientation?"TopToBottom":"LeftToRight",this.horizontalAlignment=this.diagram.layout.horizontalAlignment,this.verticalAlignment=this.diagram.layout.verticalAlignment,this.verticalSpacing=this.diagram.layout.verticalSpacing,this.horizontalSpacing=this.diagram.layout.horizontalSpacing,this.margin=this.diagram.layout.margin;var i=[],r=[];this.rootNodes=[],this.vertexMapper.clear(),this.edgesMapper.clear(),this.loopedgesMapper.clear();for(var n=0,o=this.diagram.connectors;n<o.length;n++){var a=o[n];a.segments&&a.segments.length>0&&(a.segments=a.segments.filter(function(t){return!t.isOrthoInternalSegment}))}for(var s=0,h=t;s<h.length;s++){var d=h[s];if(!d.excludeFromLayout){var l=this.createVertex(d);this.vertexMapper.set(l.id,l),r.push(l),l.inEdges&&0!==l.inEdges.length||(i.push(l),this.rootNodes.push(d))}}for(var c=null,p=0,g=i;p<g.length;p++){var u=g[p],f=[];this.getTreeVertices(u,f,r);var m=new ag(this,u,f);m.layeringStage();var y=new sg(m);y.siblingModel=c,y.arrangeElements(),c=y}var v=Array.from(this.vertexMapper.values()),b=this.getModelBounds(v);this.updateAnchor(b);for(var S="LeftToRight"===this.orientation?this.horizontalSpacing:this.verticalSpacing,w=[],x=0,I=v;x<I.length;x++)if(l=I[x]){var C=l.item;C&&(C.offsetX=l.geometry.x+l.geometry.width/2+this.anchorX,C.offsetY=l.geometry.y+l.geometry.height/2+this.anchorY,(l.inEdges&&l.inEdges.length>0||l.outEdges&&l.outEdges.length>0)&&w.push(C)),e.dataBind()}var P=new ms(b.x+this.anchorX,b.y+this.anchorY,b.width,b.height);this.nodeWithMultiEdges=w,this.inverseSpacing=S,this.transModelBounds=P,this.diagram.layout.flowChartData=this},t.prototype.reRouteFlowChartConnectors=function(t,e){this.diagram=e;var i=t.nodeWithMultiEdges,r=t.inverseSpacing;this.orientation=t.orientation;var n="TopToBottom"===this.orientation,o=t.transModelBounds;this.vertexMapper=t.vertexMapper,this.loopedgesMapper=t.loopedgesMapper,this.edgesMapper=t.edgesMapper,this.anchorX=t.anchorX,this.anchorY=t.anchorY;for(var a=[],s=0,h=i;s<h.length;s++){var d=h[s];if(d.outEdges&&d.outEdges.length>0)for(var l=0,c=d.outEdges;l<c.length;l++){var p=c[l],g=this.diagram.nameTable[""+p];if(this.loopedgesMapper.has(g)&&this.loopedgesMapper.get(g))-1===a.indexOf(g)&&(this.updateLoopConnector(g),a.push(g));else{C=[];if(d.outEdges.length>1){var u=r/2,f=null;this.edgesMapper.has(g)&&(x=this.edgesMapper.get(g)[0])&&(f={x:x.x+this.anchorX,y:x.y+this.anchorY}),g.segments=[],g.intermediatePoints=[];I=[g.sourcePoint,g.targetPoint];if(n){C=this.updateVerticalConnectorSegments(g,I);var m=this.diagram.nameTable[g.sourceID];I=!this.vertexMapper.get(m.id).isDecisionNode&&C.length<=2?this.updateConnectorPoints(C,u,f,o):C}else I=C=this.updateHorizontalSegments(g,I);I.length>2&&this.updatePoints(I,g),a.push(g)}else if(4===g.intermediatePoints.length){var y=g.intermediatePoints[0],v=g.intermediatePoints[3],b=[y,n?{x:y.x,y:v.y-20}:{x:v.x-20,y:y.y},v];this.updatePoints(b,g),a.push(g)}}}if(d.inEdges&&d.inEdges.length>1)for(var S=0,w=d.inEdges;S<w.length;S++){var p=w[S],g=this.diagram.nameTable[""+p];if(-1===a.indexOf(g))if(g.segments[0].points=[],this.loopedgesMapper.has(g)&&this.loopedgesMapper.get(g))this.updateLoopConnector(g),a.push(g);else if(d.inEdges.length>1){var u=r/2,f=null;if(this.edgesMapper.has(g)&&-1===a.indexOf(g)){var x=this.edgesMapper.get(g)[0];x&&(f={x:x.x+this.anchorX,y:x.y+this.anchorY})}g.segments=[];var I=[g.targetPoint,g.sourcePoint],C=[];C=n?this.updateVerticalConnectorSegments(g,I):this.updateHorizontalSegments(g,I),(I=this.updateConnectorPoints(C,u,f,o)).reverse(),I.length>2&&this.updatePoints(I,g)}}}},t.prototype.updateAnchor=function(t){var e={width:this.diagram.scrollSettings.viewPortWidth,height:this.diagram.scrollSettings.viewPortHeight};if("TopToBottom"===this.orientation?(this.anchorX=e.width/2-t.width/2-t.x,this.anchorY=this.margin.top):(this.anchorX=this.margin.left,this.anchorY=e.height/2-t.height/2-t.y),1===this.rootNodes.length){var i=this.rootNodes[0],r=this.vertexMapper.get(i.id).geometry,n=r.x+r.width/2,o=r.y+r.height/2,a=n-(t.x+t.width/2),s=o-(t.y+t.height/2);"TopToBottom"===this.orientation?this.anchorX-=a:this.anchorY-=s}},t.prototype.updateConnectorPoints=function(t,e,i,r){function n(t,e){return Math.atan2(e.y-t.y,e.x-t.x)*(180/Math.PI)}function o(t,e,i){var r=i*(Math.PI/180);return{x:t.x+e*Math.cos(r),y:t.y+e*Math.sin(r)}}var a="LeftToRight"===this.orientation,s=t.slice();if(s.length>2){var h=o(s[0],e,n(s[0],s[1])),d=o(h,function(t,e){var i=e.x-t.x,r=e.y-t.y;return Math.sqrt(i*i+r*r)}(h,s[1]),n(h,s[2]));if(s.splice(1,0,d),s.splice(1,0,h),s.splice(3,2),null!=i){var l=s.length,c=o(s[l-1],e,n(s[l-1],s[l-2]));for(s.splice(l-1,0,c);2<s.length-2;)s.splice(2,1);var p=i;if(this.inflate(r,r.width,r.height),a){var g=[{x:r.left,y:p.y},{x:r.right,y:p.y}],u=[{x:s[1].x,y:r.top},{x:s[1].x,y:r.bottom}],f=[{x:c.x,y:r.top},{x:c.x,y:r.bottom}],m=[],y=[];m=this.diagram.commandHandler.intersect(g,u,!1),(y=this.diagram.commandHandler.intersect(g,f,!1)).length&&s.splice(2,0,y[0]),m.length&&s.splice(2,0,m[0])}else{var g=[{x:p.x,y:r.top},{x:p.x,y:r.bottom}],u=[{x:r.left,y:s[1].y},{x:r.right,y:s[1].y}],f=[{x:r.left,y:c.y},{x:r.right,y:c.y}],m=[],y=[];m=this.diagram.commandHandler.intersect(g,u,!1),(y=this.diagram.commandHandler.intersect(g,f,!1)).length&&s.splice(2,0,y[0]),m.length&&s.splice(2,0,m[0])}}}else if(2===s.length&&null!=i){var v=s[0],b=s[1],S=n(s[0],s[1]),c=o(v,e,S),w=o(b,e,(S+180)%360);if(s.splice(1,0,w),a){var x={x:c.x,y:i.y},I={x:w.x,y:i.y};s.splice(1,0,I),s.splice(1,0,x)}else{var x={x:i.x,y:c.y},I={x:i.x,y:w.y};s.splice(1,0,I),s.splice(1,0,x)}s.splice(1,0,c)}return s},t.prototype.inflate=function(t,e,i){t.x-=e,t.y-=i,t.width+=2*e,t.height+=2*i},t.isBranchConnector=function(t,e){if(t.annotations.length>0&&t.annotations[0].content){var i=t.annotations[0].content;return e.some(function(t){return 0===i.localeCompare(t,void 0,{sensitivity:"accent"})})}return!1},t.prototype.isYesBranchConnector=function(e){return t.isBranchConnector(e,this.yesBranchValues)},t.prototype.isNoBranchConnector=function(e){return t.isBranchConnector(e,this.noBranchValues)},t.prototype.updateHorizontalSegments=function(t,e){var i=[],r=this.diagram.nameTable[t.sourceID],n=this.diagram.nameTable[t.targetID],o=this.vertexMapper.get(r.id).isDecisionNode,a=this.horizontalSpacing/2,s=this.verticalSpacing/2;if(o){var h=this.isYesBranchConnector(t),d=this.isNoBranchConnector(t);if(n.wrapper.bounds.containsPoint({x:n.offsetX,y:r.offsetY})||r.offsetY!==n.offsetY&&(h&&"SameAsFlow"===this.yesBranchDirection||d&&"SameAsFlow"===this.noBranchDirection&&"SameAsFlow"!==this.yesBranchDirection)){if(h&&"LeftInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("SameAsFlow"===this.noBranchDirection||"LeftInFlow"===this.noBranchDirection)||"RightInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection))){var l=r.offsetX,c=r.wrapper.bounds.top,p=n.wrapper.bounds.left,g=n.wrapper.bounds.center.y;i.push({x:l,y:c}),i.push({x:l,y:c-s}),i.push({x:p-a,y:c-s}),i.push({x:p-a,y:g}),i.push({x:p,y:g})}else if(r.offsetY!==n.offsetY&&(h&&"SameAsFlow"===this.yesBranchDirection||d&&"SameAsFlow"===this.noBranchDirection&&"SameAsFlow"!==this.yesBranchDirection)){var l=r.wrapper.bounds.right,c=r.offsetY,p=n.wrapper.bounds.left,g=n.wrapper.bounds.center.y;i.push({x:l,y:c}),i.push({x:p-a,y:c}),i.push({x:p-a,y:g}),i.push({x:p,y:g})}}else if(r.wrapper.bounds.bottom<n.wrapper.bounds.center.y){var l=r.wrapper.bounds.bottom,c=r.offsetX,p=n.wrapper.bounds.left,g=n.offsetY;i.push({x:c,y:l}),i.push({x:c,y:g}),i.push({x:p,y:g})}else if(r.wrapper.bounds.top>n.wrapper.bounds.center.y){var l=r.wrapper.bounds.top,c=r.offsetX,p=n.wrapper.bounds.left,g=n.offsetY;i.push({x:c,y:l}),i.push({x:c,y:g}),i.push({x:p,y:g})}else if(h&&"RightInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("RightInFlow"===this.noBranchDirection||"SameAsFlow"===this.noBranchDirection)||"LeftInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection))){var l=r.offsetX,c=r.wrapper.bounds.bottom,p=n.wrapper.bounds.left,g=n.wrapper.bounds.center.y;i.push({x:l,y:c}),i.push({x:l,y:c+s}),i.push({x:p-a,y:c+s}),i.push({x:p-a,y:g}),i.push({x:p,y:g})}}else i=e;return i},t.prototype.updateVerticalConnectorSegments=function(t,e){var i=[],r=this.diagram.nameTable[t.sourceID],n=this.diagram.nameTable[t.targetID],o=this.vertexMapper.get(r.id).isDecisionNode,a=this.horizontalSpacing/2,s=this.verticalSpacing/2;if(o){var h=this.isYesBranchConnector(t),d=this.isNoBranchConnector(t);if(r.wrapper.bounds.right<n.wrapper.bounds.center.x&&(h&&"RightInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("RightInFlow"===this.noBranchDirection||"SameAsFlow"===this.noBranchDirection)||"LeftInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection)))){var l=r.wrapper.bounds.right,c=r.offsetY,p=n.wrapper.bounds.top,g=n.offsetY;if(i.push({x:l,y:c}),0===(y=(y=this.diagram.nodes.filter(function(t){return t.wrapper.bounds.containsPoint({x:n.offsetX,y:r.offsetY})})).sort(function(t,e){return e.wrapper.bounds.left-t.wrapper.bounds.left})).length)i.push({x:n.offsetX,y:c});else{v=y[0].wrapper.bounds;i.push({x:v.left-a,y:y[0].offsetY}),i.push({x:v.left-a,y:v.bottom+s})}i.push({x:p,y:g})}else if(r.wrapper.bounds.left>n.wrapper.bounds.center.x&&(h&&"LeftInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("SameAsFlow"===this.noBranchDirection||"LeftInFlow"===this.noBranchDirection)||"RightInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection)))){var l=r.wrapper.bounds.left,c=r.offsetY,p=n.wrapper.bounds.top,g=n.offsetY;i.push({x:l,y:c});var u=ms.toBounds([i[0],{x:n.offsetX,y:c}]);if(0===(y=(y=this.diagram.nodes.filter(function(t){return t.wrapper.bounds.intersects(u)&&t.id!==r.id&&t.id!==n.id})).sort(function(t,e){return e.wrapper.bounds.right-t.wrapper.bounds.right})).length)i.push({x:n.offsetX,y:c});else{v=y[0].wrapper.bounds;i.push({x:v.right+a,y:y[0].offsetY}),i.push({x:v.right+a,y:v.bottom+s})}i.push({x:p,y:g})}else if(h&&"RightInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("RightInFlow"===this.noBranchDirection||"SameAsFlow"===this.noBranchDirection)||"LeftInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection))){var l=r.wrapper.bounds.right,c=r.offsetY,p=n.wrapper.bounds.topCenter.x,g=n.wrapper.bounds.topCenter.y;i.push({x:l,y:c}),i.push({x:l+a,y:c}),i.push({x:l+a,y:g-s}),i.push({x:p,y:g-s}),i.push({x:p,y:g});var f=ms.toBounds([i[1],i[2]]);if((y=(y=this.diagram.nodes.filter(function(t){return t.wrapper.bounds.intersects(f)})).sort(function(t,e){return e.wrapper.bounds.right-t.wrapper.bounds.right})).length>0&&y[0].wrapper.bounds.intersects(f)){v=y[0].wrapper.bounds;i[1].x=v.right+a,i[2].x=v.right+a}}else if(h&&"LeftInFlow"===this.yesBranchDirection||d&&("SameAsFlow"===this.yesBranchDirection&&("SameAsFlow"===this.noBranchDirection||"LeftInFlow"===this.noBranchDirection)||"RightInFlow"===this.yesBranchDirection&&("LeftInFlow"===this.noBranchDirection||"RightInFlow"===this.noBranchDirection))){var l=r.wrapper.bounds.left,c=r.offsetY,p=n.wrapper.bounds.topCenter.x,g=n.wrapper.bounds.topCenter.y;i.push({x:l,y:c}),i.push({x:l-a,y:c}),i.push({x:l-a,y:g-s}),i.push({x:p,y:g-s}),i.push({x:p,y:g});var m=ms.toBounds([i[1],i[2]]),y=this.diagram.nodes.filter(function(t){return t.wrapper.bounds.intersects(m)});if((y=y.sort(function(t,e){return e.wrapper.bounds.left-t.wrapper.bounds.left})).length>0&&y[0].wrapper.bounds.intersects(m)){var v=y[0].wrapper.bounds;i[1].x=v.left-a,i[2].x=v.left-a}}else if(r.offsetX!==n.offsetX&&(h&&"SameAsFlow"===this.yesBranchDirection||d&&"SameAsFlow"===this.noBranchDirection&&"SameAsFlow"!==this.yesBranchDirection)){var l=r.offsetX,c=r.wrapper.bounds.bottom,p=n.wrapper.bounds.topCenter.x,g=n.wrapper.bounds.topCenter.y;i.push({x:l,y:c}),i.push({x:l,y:g-s}),i.push({x:p,y:g-s}),i.push({x:p,y:g})}else i=e}else i=e;return i},t.prototype.getModelBounds=function(t){var e=new ms(0,0,0,0);return(t=Array.from(t)).forEach(function(t){var i=t.geometry;e.uniteRect(i)}),e},t.prototype.createVertex=function(t){var e=this,i=isNaN(t.width)?t.wrapper.bounds.width:t.width,r=isNaN(t.height)?t.wrapper.bounds.height:t.height,n=new ms(0,0,i,r),o=[],a=[],s={isYesBranch:!1,isNoBranch:!1};if(null!=t.inEdges)for(var h=0,d=t.inEdges;h<d.length;h++){p=d[h];(g=this.diagram.nameTable[""+p])&&o.push(g)}if(null!=t.outEdges)for(var l=0,c=t.outEdges;l<c.length;l++){var p=c[l],g=this.diagram.nameTable[""+p];g&&a.push(g)}var u=s.isYesBranch,f=s.isNoBranch;return null!=o&&o.forEach(function(t){s=e.checkForYesOrNoBranch(t,u,f)}),null!=a&&a.forEach(function(t){e.edgesMapper.set(t,[]),e.loopedgesMapper.set(t,!1)}),{id:t.id,geometry:n,inEdges:o,layoutObjectId:{},outEdges:a,item:t,isDecisionNode:!1,isYesChild:s.isYesBranch,isNoChild:s.isNoBranch}},t.prototype.updatePoints=function(t,e){for(var i=[],r=[],n=0;n<t.length;n++)if(t[n+2]){i.push(t[parseInt(n.toString(),10)]),i.push(t[n+1]);var o={type:"Orthogonal",points:i,length:i[0].x===i[1].x?Math.abs(i[0].y-i[1].y):Math.abs(i[0].x-i[1].x),direction:i[0].x===i[1].x?i[0].y>i[1].y?"Top":"Bottom":i[0].x>i[1].x?"Left":"Right",isOrthoInternalSegment:!0};i=[],r.push(o)}e.segments=r},t.prototype.contains=function(t,e){return t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom},t.prototype.updateLoopConnector=function(t){var e=[];if(this.edgesMapper.has(t)){var i=this.edgesMapper.get(t);if(i)for(var r=0,n=i;r<n.length;r++){var o=n[r],a=o.x+this.anchorX,s=o.y+this.anchorY;e.push({x:a,y:s})}}e.reverse();var h=[],d=this.diagram.nameTable[t.sourceID],l=this.diagram.nameTable[t.targetID],c=d.wrapper.bounds,p=l.wrapper.bounds,g=d,u=l,f=this.vertexMapper.get(t.sourceID).isDecisionNode,m=this.isYesBranchConnector(t),y=this.isNoBranchConnector(t),v=m&&"LeftInFlow"===this.yesBranchDirection,b=y&&("RightInFlow"===this.yesBranchDirection&&("RightInFlow"===this.noBranchDirection||"SameAsFlow"===this.noBranchDirection)||"LeftInFlow"===this.noBranchDirection&&("RightInFlow"===this.yesBranchDirection||"SameAsFlow"===this.yesBranchDirection)),S=this.horizontalSpacing/2,w=this.verticalSpacing/2,x=(new ms).uniteRect(g.wrapper.bounds).uniteRect(u.wrapper.bounds),I=this.diagram.nodes.filter(function(t){return t.id!==u.id&&t.id!==g.id&&t.wrapper.bounds.intersects(x)});if("TopToBottom"===this.orientation){var C=Array.from(this.vertexMapper.values()).filter(function(t){return t.item.wrapper.bounds.containsPoint({x:t.item.wrapper.bounds.x,y:g.offsetY})&&g.id!==t.item.id}),P=Array.from(this.vertexMapper.values()).filter(function(t){return t.item.wrapper.bounds.containsPoint({x:t.item.wrapper.bounds.x,y:u.offsetY})&&u.id!==t.item.id}),D=Math.max.apply(Math,e.map(function(t){return t.x})),T=!1;if(f?(v||b)&&(T=!0):T=C.length>0&&C[0].item.wrapper.bounds.x>c.x,0===P.length||!T&&P.length>0&&P.filter(function(t){return t.item.wrapper.bounds.right<p.left}).length>0){var A=!T&&D>c.right?c.right:c.left,O=A+(T?-S:S),M=!T&&D>p.right?p.right:p.left;h.push({x:A,y:g.offsetY}),h.push({x:O,y:g.offsetY}),h.push({x:O,y:u.offsetY}),h.push({x:M,y:u.offsetY})}else{var E=P[0].item.wrapper.bounds.bottom+w,L=T?c.left:c.right,z=L+(T?-S:S),k=!T&&D>p.right?p.right+S:p.left-S,B=!T&&D>p.right?p.right:p.left;h.push({x:L,y:g.offsetY}),h.push({x:z,y:g.offsetY}),h.push({x:z,y:E}),h.push({x:k,y:E}),h.push({x:k,y:u.offsetY}),h.push({x:B,y:u.offsetY})}if(I.length>0){W=T?Math.min.apply(Math,I.map(function(t){return t.wrapper.bounds.left})):Math.max.apply(Math,I.map(function(t){return t.wrapper.bounds.right}));if(T&&W<h[1].x||!T&&W>h[1].x){var N=W+(T?-S:S);h[1].x=N,h[2].x=N}}}else{var C=Array.from(this.vertexMapper.values()).filter(function(t){return t.item.wrapper.bounds.containsPoint({y:t.item.wrapper.bounds.y,x:g.offsetX})&&g.id!==t.item.id}),P=Array.from(this.vertexMapper.values()).filter(function(t){return t.item.wrapper.bounds.containsPoint({y:t.item.wrapper.bounds.y,x:u.offsetX})&&u.id!==t.item.id}),D=Math.max.apply(Math,e.map(function(t){return t.y})),R=!1;if(f?(v||b)&&(R=!0):R=C.length>0&&C[0].item.wrapper.bounds.y>c.y,0===P.length||!R&&P.length>0&&P.some(function(t){return t.item.wrapper.bounds.bottom<p.top})){h.push({x:g.offsetX,y:!R&&D>c.bottom?c.bottom:c.top});H=h[0].y+(R?-w:w);h.push({x:g.offsetX,y:H}),h.push({x:u.offsetX,y:H}),h.push({x:u.offsetX,y:!R&&D>p.bottom?p.bottom:p.top})}else{var j=P[0].item.wrapper.bounds.right+S,H=!R&&D>p.bottom?p.bottom+w:p.top-w;h.push({x:g.offsetX,y:R?c.top:c.bottom}),h.push({x:g.offsetX,y:h[0].y+(R?-w:w)}),h.push({x:j,y:h[1].y}),h.push({x:j,y:H}),h.push({x:u.offsetX,y:H}),h.push({x:u.offsetX,y:!R&&D>p.bottom?p.bottom:p.top})}if(I.length>0){var W=R?Math.min.apply(Math,I.map(function(t){return t.wrapper.bounds.top})):Math.max.apply(Math,I.map(function(t){return t.wrapper.bounds.bottom}));if(R&&h[1].y>W||!R&&h[1].y<W){var _=R?-w:w;h[1].y=W+_,h[2].y=W+_}}}this.updatePoints(h,t)},t.prototype.checkForYesOrNoBranch=function(t,e,i){var r=this;return t.annotations&&t.annotations.length&&t.annotations.forEach(function(t){if("string"==typeof t.content){var n=t.content.toString();r.yesBranchValues.forEach(function(t){if(0===n.localeCompare(t,void 0,{sensitivity:"accent"}))return void(e=!0)}),r.noBranchValues.forEach(function(t){if(0===n.localeCompare(t,void 0,{sensitivity:"accent"}))return void(i=!0)})}}),{isYesBranch:e,isNoBranch:i}},t.prototype.getTreeVertices=function(t,e,i){var r=this;if(null!=t&&-1===e.indexOf(t)){e.push(t),i=i.filter(function(e){return e!==t});var n=t.item.outEdges;if(2===n.length){var o=this.diagram.nameTable[this.diagram.nameTable[n[0]].targetID],a=this.diagram.nameTable[this.diagram.nameTable[n[1]].targetID],s=this.vertexMapper.get(o.id),h=this.vertexMapper.get(a.id);if(s&&h){var d=s.isYesChild||h.isYesChild,l=s.isNoChild||h.isNoChild;d&&!l?(s.isYesChild?h.isNoChild=!0:s.isNoChild=!0,l=!0):!d&&l&&(s.isNoChild?h.isYesChild=!0:s.isYesChild=!0,d=!0),t.isDecisionNode=d}}t.outEdges.forEach(function(n){var o=r.diagram.nameTable[n.targetID],a=r.vertexMapper.get(o.id);null!=a&&(t.isDecisionNode||(a.isYesChild=!1,a.isNoChild=!1),r.getTreeVertices(a,e,i))})}},t.prototype.getEdges=function(t){var e=[];if(null!==t&&void 0!==t){for(var i=0,r=t.inEdges;i<r.length;i++){var n=r[i];e.push(n)}for(var o=0,a=t.outEdges;o<a.length;o++){var s=a[o];e.push(s)}}return e},t.prototype.getVisibleTerminal=function(t,e){var i=e?t.sourceID:t.targetID;return this.vertexMapper.get(i)},t.prototype.getEdgesBetween=function(t,e,i){for(var r=this.getEdges(t),n=[],o=0;o<r.length;o++){var a=this.getVisibleTerminal(r[parseInt(o.toString(),10)],!0),s=this.getVisibleTerminal(r[parseInt(o.toString(),10)],!1);a.id===t.id&&s.id===e.id&&n.push(r[parseInt(o.toString(),10)])}return n},t.prototype.destroy=function(){},t.prototype.getModuleName=function(){return"FlowchartLayout"},t}(),dg=function(){function e(t){this.labelProperties=t}return e.prototype.renderConnectorsCollection=function(t,e){t.connectors=[];for(var i=[],r=0;r<e.connectors.length;r++){var n=e.connectors[parseInt(r.toString(),10)],o=this.convertToConnector(n);i.push(o)}t.connectors=i},e.prototype.convertToConnector=function(t){var e={};return e.style={},t.name&&(e.id=t.name),t.addInfo&&(e.addInfo=t.addInfo),t.bridgeSpace&&(e.bridgeSpace=t.bridgeSpace),t.constraints&&(e.constraints=this.setConnectorConstraints(t.constraints)),t.cornerRadius&&(e.cornerRadius=t.cornerRadius),t.labels&&(e.annotations=this.labelProperties.setLabelProperties(t.labels,t)),t.lineColor&&(e.style.fill=t.lineColor),t.lineWidth&&(e.style.strokeWidth=t.lineWidth),t.lineDashArray&&(e.style.strokeDashArray=t.lineDashArray),t.opacity&&(e.style.opacity=t.opacity),t.lineHitPadding&&(e.hitPadding=t.lineHitPadding),t.margin&&(e.margin={left:t.margin.left,right:t.margin.right,top:t.margin.top,bottom:t.margin.bottom}),t.segments&&(e.type=t.segments[0].type.charAt(0).toUpperCase()+t.segments[0].type.slice(1),e.segments=this.setConnectorSegments(t.segments)),t.shape&&(e.shape=this.getConnectorShape(t.shape)),t.sourceDecorator&&(e.sourceDecorator={height:t.sourceDecorator.height,width:t.sourceDecorator.width,shape:this.getDecoratorShape(t.sourceDecorator.shape),pathData:t.sourceDecorator.pathData,style:{fill:t.sourceDecorator.fillColor,strokeColor:t.sourceDecorator.lineColor,strokeWidth:t.sourceDecorator.lineWidth}}),t.targetDecorator&&(e.targetDecorator={height:t.targetDecorator.height,width:t.targetDecorator.width,shape:this.getDecoratorShape(t.targetDecorator.shape),pathData:t.targetDecorator.pathData,style:{fill:t.targetDecorator.fillColor,strokeColor:t.targetDecorator.lineColor,strokeWidth:t.targetDecorator.lineWidth}}),t.sourceNode&&(e.sourceID=t.sourceNode),t.targetNode&&(e.targetID=t.targetNode),t.sourcePoint&&(e.sourcePoint={x:t.sourcePoint.x,y:t.sourcePoint.y}),t.targetPoint&&(e.targetPoint={x:t.targetPoint.x,y:t.targetPoint.y}),t.sourcePort&&(e.sourcePortID=t.sourcePort),t.targetPort&&(e.targetPortID=t.targetPort),t.tooltip&&(e.tooltip={content:t.tooltip.content,relativeMode:t.tooltip.relativeMode}),t.visible&&(e.visible=t.visible),t.zOrder&&(e.zIndex=t.zOrder),e},e.prototype.getConnectorShape=function(t){var e=null;return t&&("bpmn"===t.type&&(e={type:"Bpmn",flow:t.flow.charAt(0).toUpperCase()+t.flow.slice(1)},"sequence"===t.flow?e.sequence=t.sequence.charAt(0).toUpperCase()+t.sequence.slice(1):"association"===t.flow?e.association=t.association.charAt(0).toUpperCase()+t.association.slice(1):e.message=t.message.charAt(0).toUpperCase()+t.message.slice(1)),"umlclassifier"===t.type&&(e={type:"UmlClassifier",relationship:t.relationship.charAt(0).toUpperCase()+t.relationship.slice(1),multiplicity:{type:t.multiplicity.type.charAt(0).toUpperCase()+t.multiplicity.type.slice(1),source:{upperBounds:t.multiplicity.source.upperBounds,optional:t.multiplicity.source.optional,lowerBounds:t.multiplicity.source.lowerBounds},target:{upperBounds:t.multiplicity.target.upperBounds,optional:t.multiplicity.target.optional,lowerBounds:t.multiplicity.target.lowerBounds}}}),"umlactivity"===t.type&&(e={type:"UmlActivity",flow:t.flow.charAt(0).toUpperCase()+t.flow.slice(1)})),e},e.prototype.getDecoratorShape=function(t){return"path"===t?"Custom":t.charAt(0).toUpperCase()+t.slice(1)},e.prototype.setConnectorSegments=function(t){var e=[];if(t.length>0)for(var i=0;i<t.length;i++){var r={},n=t[parseInt(i.toString(),10)];r.direction=n.direction?n.direction.charAt(0).toUpperCase()+n.direction.slice(1):n._direction?n._direction.charAt(0).toUpperCase()+n._direction.slice(1):null,r.length=n.length?n.length:n._length?n._length:null,r.point=n.point?{x:n.point.x,y:n.point.y}:null,r.point1=n.point1?{x:n.point1.x,y:n.point1.y}:null,r.point2=n.point2?{x:n.point2.x,y:n.point2.y}:null,r.vector1=n.vector1?{angle:n.vector1.angle,distance:n.vector1.distance}:null,r.vector2=n.vector2?{angle:n.vector2.angle,distance:n.vector2.distance}:null,n.points&&(r.points=this.getSegmentPoints(n.points)),n.type&&(r.type=n.type.charAt(0).toUpperCase()+n.type.slice(1)),e.push(r)}return e},e.prototype.getSegmentPoints=function(t){var e=[];if(t.length>0)for(var i=0;i<t.length;i++){var r={},n=t[parseInt(i.toString(),10)];r.x=n.x,r.y=n.y,e.push(r)}return e},e.prototype.setConnectorConstraints=function(e){var i=t.ConnectorConstraints.None;return e&t.ConnectorConstraints.Select&&(i|=t.ConnectorConstraints.Select),e&t.ConnectorConstraints.Delete&&(i|=t.ConnectorConstraints.Delete),e&t.ConnectorConstraints.Drag&&(i|=t.ConnectorConstraints.Drag),e&t.ConnectorConstraints.DragSourceEnd&&(i|=t.ConnectorConstraints.DragSourceEnd),e&t.ConnectorConstraints.DragTargetEnd&&(i|=t.ConnectorConstraints.DragTargetEnd),e&t.ConnectorConstraints.DragSegmentThumb&&(i|=t.ConnectorConstraints.DragSegmentThumb),e&t.ConnectorConstraints.Bridging&&(i|=t.ConnectorConstraints.Bridging),e&t.ConnectorConstraints.InheritBridging&&(i|=t.ConnectorConstraints.InheritBridging),e&t.ConnectorConstraints.AllowDrop&&(i|=t.ConnectorConstraints.AllowDrop),e&t.ConnectorConstraints.InheritTooltip&&(i|=t.ConnectorConstraints.InheritTooltip),e&t.ConnectorConstraints.PointerEvents&&(i|=t.ConnectorConstraints.PointerEvents),e&t.ConnectorConstraints.BridgeObstacle&&(i|=t.ConnectorConstraints.BridgeObstacle),e&t.ConnectorConstraints.Interaction&&(i|=t.ConnectorConstraints.Interaction),e&t.ConnectorConstraints.Default&&(i|=t.ConnectorConstraints.Default),i},e.prototype.getModuleName=function(){return"ConnectorProperties"},e}(),lg=function(){function e(t){this.modelProperties=t}return e.prototype.setLabelProperties=function(e,i){var r=[];if(e.length>0)for(var n=0;n<e.length;n++){var o=e[parseInt(n.toString(),10)],a={};if(a.style={},o.name){var s=o.name.split("_"),h=s[s.length-1];a.id=h}if(o.addInfo&&(a.addInfo=o.addInfo),o.text&&(a.content=o.text),o.constraints&&(a.constraints=this.setLabelConstraints(o.constraints)),o.readOnly&&(a.constraints=a.constraints|t.AnnotationConstraints.ReadOnly),o.dragLimit&&(a.dragLimit={left:o.dragLimit.left,right:o.dragLimit.right,top:o.dragLimit.top,bottom:o.dragLimit.bottom}),o.height&&(a.height=o.height),o.horizontalAlignment&&(a.horizontalAlignment=o.horizontalAlignment.charAt(0).toUpperCase()+o.horizontalAlignment.slice(1).toLowerCase()),o.verticalAlignment&&(a.verticalAlignment=o.verticalAlignment.charAt(0).toUpperCase()+o.verticalAlignment.slice(1).toLowerCase()),o.hyperlink&&(a.hyperlink={link:o.hyperlink,color:"blue"}),o.margin&&(a.margin={left:o.margin.left,right:o.margin.right,top:o.margin.top,bottom:o.margin.bottom}),a.rotateAngle=o.rotateAngle,o.offset&&(a.offset=i?o.offset.x:{x:o.offset.x,y:o.offset.y}),a.style.color=o.fontColor,a.style.fontFamily=o.fontFamily,a.style.fontSize=o.fontSize,a.style.italic=o.italic,a.style.bold=o.bold,o.borderColor&&(a.style.strokeColor=o.borderColor),o.borderWidth&&(a.style.strokeWidth=o.borderWidth),o.wrapping)switch(o.wrapping){case"wrap":a.style.textWrapping="Wrap";break;case"nowrap":a.style.textWrapping="NoWrap";break;case"wrapwithoverflow":a.style.textWrapping="WrapWithOverflow"}o.textOverflow&&o.overflowType&&(a.style.textOverflow=o.overflowType.charAt(0).toUpperCase()+o.overflowType.slice(1)),o.textAlign&&(a.style.textAlign=o.textAlign.charAt(0).toUpperCase()+o.textAlign.slice(1).toLowerCase()),o.textDecoration&&(a.style.textDecoration=o.textDecoration.charAt(0).toUpperCase()+o.textDecoration.slice(1).toLowerCase(),"Linethrough"===a.style.textDecoration&&(a.style.textDecoration="LineThrough"));var d=this.setLabelAppearance(a,o);a.style.fill=d.fill,a.style.opacity=d.opacity,a.visibility=d.visibility,o.width&&(a.width=o.width),r.push(a)}return r},e.prototype.setLabelAppearance=function(t,e){var i={};return e.fillColor&&(i.fill="white"===e.fillColor?"transparent":e.fillColor),e.opacity&&(i.opacity=e.opacity),e.visible&&(i.visibility=e.visible),i},e.prototype.setLabelConstraints=function(e){var i=t.AnnotationConstraints.None;return e&t.AnnotationConstraints.Select&&(i|=t.AnnotationConstraints.Select),e&t.AnnotationConstraints.Drag&&(i|=t.AnnotationConstraints.Drag),e&t.AnnotationConstraints.Resize&&(i|=t.AnnotationConstraints.Resize),e&t.AnnotationConstraints.Rotate&&(i|=t.AnnotationConstraints.Rotate),i},e.prototype.getModuleName=function(){return"LabelProperties"},e}(),cg=function(){function e(t,e){this.labelProperties=t,this.portProperties=e}return e.prototype.renderNodesCollection=function(t,e){t.nodes=[];for(var i=[],r=0;r<e.nodes.length;r++){var n=e.nodes[parseInt(r.toString(),10)],o=[],a=this.convertToNode(n);if(a.shape&&a.shape.activity&&a.shape.activity.subProcess&&a.shape.activity.subProcess.processes&&a.shape.activity.subProcess.processes.length>0){for(var s=[],h=0;h<a.shape.activity.subProcess.processes.length;h++){var d=a.shape.activity.subProcess.processes[parseInt(h.toString(),10)];d.margin.right=0,d.margin.bottom=0,d.processId=a.id,s.push(d.id),o.push(d)}a.shape.activity.subProcess.processes=s}if("group"===n.type&&!n.isSwimlane){var l=[];if(a.children&&a.children.length>0){for(var c=0;c<a.children.length;c++){var p=a.children[parseInt(c.toString(),10)];i.push(p),l.push(p.id)}a.children=l}}i.push(a),o&&o.length>0&&(i=i.concat(o))}return t.nodes=i,t.nodes},e.prototype.convertToNode=function(t){var e={};return e.style={},e.margin={},t.name&&(e.id=t.name),t.fillColor&&(e.style.fill=t.fillColor),t.borderColor&&(e.style.strokeColor=t.borderColor),t.borderWidth&&(e.style.strokeWidth=t.borderWidth),t.borderDashArray&&(e.style.strokeDashArray=t.borderDashArray),t.opacity&&(e.style.opacity=t.opacity),t.gradient&&(e.style.gradient=this.setGradient(t.gradient)),t.isExpanded&&(e.isExpanded=t.isExpanded),t.width&&(e.width=t.width),t.height&&(e.height=t.height),t.offsetX&&(e.offsetX=t.offsetX),t.offsetY&&(e.offsetY=t.offsetY),t.visible&&(e.visible=t.visible),e.zIndex=-1===t.zOrder?-1:t.zOrder,t.excludeFromLayout&&(e.excludeFromLayout=t.excludeFromLayout),t.rotateAngle&&(e.rotateAngle=t.rotateAngle),t.pivot&&(e.pivot=t.pivot),t.addInfo&&(e.addInfo=t.addInfo),t.marginLeft&&(e.margin.left=t.marginLeft),t.marginRight&&(e.margin.right=t.marginRight),t.marginTop&&(e.margin.top=t.marginTop),t.marginBottom&&(e.margin.bottom=t.marginBottom),t.horizontalAlign&&(e.horizontalAlignment=t.horizontalAlign),t.verticalAlign&&(e.verticalAlignment=t.verticalAlign),t.constraints&&(e.constraints=this.setNodeConstraints(t.constraints)),t.labels&&(e.annotations=this.labelProperties.setLabelProperties(t.labels,void 0)),t.shadow&&(e.shadow={angle:t.shadow.angle,opacity:t.shadow.opacity,distance:t.shadow.distance}),t.tooltip&&(e.tooltip={relativeMode:t.tooltip.relativeMode}),t.expandIcon&&(e.expandIcon={shape:t.expandIcon.shape.charAt(0).toUpperCase()+t.expandIcon.shape.slice(1),width:t.expandIcon.width,height:t.expandIcon.height,margin:{left:t.expandIcon.margin.left,right:t.expandIcon.margin.right,top:t.expandIcon.margin.top,bottom:t.expandIcon.margin.bottom},offset:{x:t.expandIcon.offset.x,y:t.expandIcon.offset.y},borderColor:t.expandIcon.borderColor,borderWidth:t.expandIcon.borderWidth,cornerRadius:t.expandIcon.cornerRadius,pathData:t.expandIcon.pathData},"Arrowup"===e.expandIcon.shape?e.expandIcon.shape="ArrowUp":"Arrowdown"===e.expandIcon.shape&&(e.expandIcon.shape="ArrowDown")),t.collapseIcon&&(e.collapseIcon={shape:t.collapseIcon.shape.charAt(0).toUpperCase()+t.collapseIcon.shape.slice(1),width:t.collapseIcon.width,height:t.collapseIcon.height,margin:{left:t.collapseIcon.margin.left,right:t.collapseIcon.margin.right,top:t.collapseIcon.margin.top,bottom:t.collapseIcon.margin.bottom},offset:{x:t.collapseIcon.offset.x,y:t.collapseIcon.offset.y},borderColor:t.collapseIcon.borderColor,borderWidth:t.collapseIcon.borderWidth,cornerRadius:t.collapseIcon.cornerRadius,pathData:t.collapseIcon.pathData},"Arrowup"===e.collapseIcon.shape?e.collapseIcon.shape="ArrowUp":"Arrowdown"===e.collapseIcon.shape&&(e.collapseIcon.shape="ArrowDown")),t.ports&&(e.ports=this.portProperties.setPortProperties(t.ports)),t.children&&("bpmn"===t.type||t.isSwimlane||(e.children=this.getChildren(e,t))),t.children&&t.children.length>0||(e.maxWidth=t.maxWidth,e.maxHeight=t.maxHeight,e.minWidth=t.minWidth,e.minHeight=t.minHeight),(t.shape||t.type)&&(e=this.setShape(e,t)),e},e.prototype.getChildren=function(t,e){if(e.children&&e.children.length>0){for(var i=[],r=0;r<e.children.length;r++){var n=this.convertToNode(e.children[parseInt(r.toString(),10)]);n.children&&this.getChildren(t,n),i.push(n)}t.children=i}return t.children},e.prototype.setShape=function(t,e){switch(e.type){case"basic":var i=e.shape.charAt(0).toUpperCase()+e.shape.slice(1);"path"===e.shape?t.shape={type:"Path",data:e.pathData}:t.shape={type:"Basic",shape:i,cornerRadius:e.cornerRadius,points:e.points};break;case"flow":var r=e.shape.charAt(0).toUpperCase()+e.shape.slice(1);t.shape={type:"Flow",shape:r};break;case"umlactivity":t.shape={type:"UmlActivity",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1)};break;case"image":t.shape={type:"Image",source:e.source,align:this.getImageContentAlignment(e.contentAlignment),scale:e.scale.charAt(0).toUpperCase()+e.scale.slice(1)};break;case"html":t.shape={type:"HTML"};break;case"native":t.shape={type:"Native"};break;case"text":t.shape={type:"Text",content:e.textBlock.text};break;case"bpmn":t.shape=this.renderBpmnShape(t,e);break;case"group":e.isSwimlane&&(t.shape=this.renderSwimlaneShape(t,e))}return t},e.prototype.getImageContentAlignment=function(t){if(t)switch(t){case"xminymin":return"XMinYMin";case"xminymid":return"XMinYMid";case"xminymax":return"XMinYMax";case"xmidymin":return"XMidYMin";case"xmidymid":return"XMidYMid";case"xmidymax":return"XMidYMax";case"xmaxymin":return"XMaxYMin";case"xmaxymid":return"XMaxYMid";case"xmaxymax":return"XMaxYMax";case"none":return"None"}return"None"},e.prototype.setNodeConstraints=function(e){var i=t.NodeConstraints.None;return e&t.NodeConstraints.Select&&(i|=t.NodeConstraints.Select),e&t.NodeConstraints.Delete&&(i|=t.NodeConstraints.Delete),e&t.NodeConstraints.Drag&&(i|=t.NodeConstraints.Drag),e&t.NodeConstraints.Rotate&&(i|=t.NodeConstraints.Rotate),e&t.NodeConstraints.ResizeNorthEast&&(i|=t.NodeConstraints.ResizeNorthEast),e&t.NodeConstraints.ResizeEast&&(i|=t.NodeConstraints.ResizeEast),e&t.NodeConstraints.OutConnect&&(i|=t.NodeConstraints.ResizeSouthEast),e&t.NodeConstraints.Expandable&&(i|=t.NodeConstraints.ResizeSouth),e&t.NodeConstraints.AllowDrop&&(i|=t.NodeConstraints.ResizeSouthWest),e&t.NodeConstraints.ResizeNorthEast&&(i|=t.NodeConstraints.ResizeWest),e&t.NodeConstraints.ResizeEast&&(i|=t.NodeConstraints.ResizeNorthWest),e&t.NodeConstraints.ResizeNorth&&(i|=t.NodeConstraints.ResizeNorth),e&t.NodeConstraints.Resize&&(i|=t.NodeConstraints.Resize),e&t.NodeConstraints.Shadow&&(i|=t.NodeConstraints.Shadow),e&t.NodeConstraints.AspectRatio&&(i|=t.NodeConstraints.AspectRatio),e&t.NodeConstraints.AllowDrop&&(i|=t.NodeConstraints.AllowDrop),e&t.NodeConstraints.InheritTooltip&&(i|=t.NodeConstraints.InheritTooltip),e&t.NodeConstraints.PointerEvents&&(i|=t.NodeConstraints.PointerEvents),e&t.NodeConstraints.Inherit&&(i|=t.NodeConstraints.Inherit),e&t.NodeConstraints.Default&&(i|=t.NodeConstraints.Default),i},e.prototype.setGradient=function(t){var e={};return t&&("linear"===t.type?e={type:"Linear",x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2,stops:this.getGradientStops(t.stops)}:"radial"===t.type&&(e={type:"Radial",cx:t.cx,cy:t.cy,fx:t.fx,fy:t.fy,stops:this.getGradientStops(t.stops)})),e},e.prototype.getGradientStops=function(t){for(var e=[],i=0;i<t.length;i++){var r={},n=t[parseInt(i.toString(),10)];r.color=n.color,r.offset=n.offset,e.push(r)}return e},e.prototype.renderBpmnShape=function(t,e){return"event"===e.shape?t.shape={type:"Bpmn",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1),event:{event:e.event.charAt(0).toUpperCase()+e.event.slice(1),trigger:e.trigger.charAt(0).toUpperCase()+e.trigger.slice(1)}}:"gateway"===e.shape?t.shape={type:"Bpmn",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1),gateway:{type:e.gateway.charAt(0).toUpperCase()+e.gateway.slice(1)}}:"activity"===e.shape?(t.shape={type:"Bpmn",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1),activity:{activity:e.activity.charAt(0).toUpperCase()+e.activity.slice(1)}},t.shape.activity.activity="Subprocess"===t.shape.activity.activity?"SubProcess":t.shape.activity.activity,"task"===e.activity&&(t.shape.activity.task={type:e.task.type.charAt(0).toUpperCase()+e.task.type.slice(1),loop:e.task.loop.charAt(0).toUpperCase()+e.task.loop.slice(1),compensation:e.task.compensation,call:e.task.call}),"subprocess"===e.activity&&("event"===e.subProcess.type?t.shape.activity.subProcess={collapsed:e.subProcess.collapsed,compensation:e.subProcess.compensation,adhoc:e.subProcess.adhoc,loop:e.subProcess.loop.charAt(0).toUpperCase()+e.subProcess.loop.slice(1),boundary:e.subProcess.boundary.charAt(0).toUpperCase()+e.subProcess.boundary.slice(1),type:e.subProcess.type.charAt(0).toUpperCase()+e.subProcess.type.slice(1),event:{event:e.subProcess.event.charAt(0).toUpperCase()+e.subProcess.event.slice(1),trigger:e.subProcess.trigger.charAt(0).toUpperCase()+e.subProcess.trigger.slice(1)}}:"transaction"===e.subProcess.type&&(t.shape.activity.subProcess={collapsed:e.subProcess.collapsed,compensation:e.subProcess.compensation,adhoc:e.subProcess.adhoc,loop:e.subProcess.loop.charAt(0).toUpperCase()+e.subProcess.loop.slice(1),boundary:e.subProcess.boundary.charAt(0).toUpperCase()+e.subProcess.boundary.slice(1),type:e.subProcess.type.charAt(0).toUpperCase()+e.subProcess.type.slice(1),events:this.renderEventsCollection(e.subProcess.events),processes:this.renderProcessesCollection(e)}))):"dataobject"===e.shape?(t.shape={type:"Bpmn",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1)},e.annotation&&(t.shape.annotation={text:e.annotation.text,angle:e.annotation.angle,width:e.annotation.width,height:e.annotation.height,length:e.annotation.length})):t.shape={type:"Bpmn",shape:e.shape.charAt(0).toUpperCase()+e.shape.slice(1)},t.shape},e.prototype.renderSwimlaneShape=function(t,e){t.shape={type:"SwimLane",orientation:e.orientation.charAt(0).toUpperCase()+e.orientation.slice(1),header:{annotation:{content:e.header.text},height:50,style:{fontSize:e.header.fontSize,color:e.header.fontColor,fill:e.header.fillColor}}};for(var i=[],r=[],n=0;n<e.lanes.length;n++){i[parseInt(n.toString(),10)]={header:{annotation:{content:e.lanes[parseInt(n.toString(),10)].header.text,width:e.lanes[parseInt(n.toString(),10)].header.width,style:{fontSize:e.lanes[parseInt(n.toString(),10)].header.fontSize,color:e.lanes[parseInt(n.toString(),10)].header.fontColor}}},style:{fill:e.lanes[parseInt(n.toString(),10)].fillColor},children:[]};for(var o=0;o<e.lanes[parseInt(n.toString(),10)].children.length;o++){var a=this.convertToNode(e.lanes[parseInt(n.toString(),10)].children[parseInt(o.toString(),10)]);null==a.wrapper&&(a.wrapper={actualSize:{width:a.width,height:a.height},offsetX:a.offsetX,offsetY:a.offsetY}),i[parseInt(n.toString(),10)].children.push(a)}}for(n=0;n<e.phases.length;n++)r[parseInt(n.toString(),10)]={header:{annotation:{content:e.phases[parseInt(n.toString(),10)].label.text,style:{fill:e.phases[parseInt(n.toString(),10)].label.fillColor,fontSize:e.phases[parseInt(n.toString(),10)].label.fontSize,color:e.phases[parseInt(n.toString(),10)].label.fontColor}}},offset:e.phases[parseInt(n.toString(),10)].offset,style:{fill:e.phases[parseInt(n.toString(),10)].fillColor,strokeColor:e.phases[parseInt(n.toString(),10)].lineColor,strokeDashArray:e.phases[parseInt(n.toString(),10)].lineDashArray}};return t.shape.lanes=i,t.shape.phases=r,t.shape},e.prototype.renderEventsCollection=function(t){var e=[];if(t.length>0)for(var i=0;i<t.length;i++){var r={},n=t[parseInt(i.toString(),10)];r.event=n.event.charAt(0).toUpperCase()+n.event.slice(1),r.trigger=n.trigger.charAt(0).toUpperCase()+n.trigger.slice(1),r.offset={x:n.offset.x,y:n.offset.y},e.push(r)}return e},e.prototype.renderProcessesCollection=function(t){var e=[];if(t.subProcess&&t.subProcess.processes.length>0)for(var i=0;i<t.subProcess.processes.length;i++){var r=t.subProcess.processes[parseInt(i.toString(),10)],n=this.convertToNode(r);e.push(n)}return e},e.prototype.getModuleName=function(){return"NodeProperties"},e}(),pg=function(){function e(t){this.modelProperties=t}return e.prototype.setPortProperties=function(t){var e=[];if(t.length>0)for(var i=0;i<t.length;i++){var r=t[parseInt(i.toString(),10)],n={};n.style={},n.id=r.name,r.addInfo&&(n.addInfo=r.addInfo),n.height=r.size,n.width=r.size,r.horizontalAlignment&&(n.horizontalAlignment=r.horizontalAlignment.charAt(0).toUpperCase()+r.horizontalAlignment.slice(1)),r.verticalAlignment&&(n.verticalAlignment=r.verticalAlignment.charAt(0).toUpperCase()+r.verticalAlignment.slice(1)),r.margin&&(n.margin={left:r.margin.left,right:r.margin.right,top:r.margin.top,bottom:r.margin.bottom}),n.offset={x:r.offset.x,y:r.offset.y},n.style.strokeColor=r.borderColor,n.style.strokeWidth=r.borderWidth,n.style.fill=r.fillColor,n.constraints=this.setPortConstraints(r.constraints),r.pathData&&(n.pathData=r.pathData),"path"===r.shape?n.shape="Custom":r.shape?n.shape=r.shape.charAt(0).toUpperCase()+r.shape.slice(1):n.shape="Square",n.visibility=this.setPortVisibility(r.visibility),e.push(n)}return e},e.prototype.setPortConstraints=function(e){var i=t.PortConstraints.Default;return e&t.PortConstraints.Draw&&(i|=t.PortConstraints.Draw),e&t.PortConstraints.None&&(i=t.PortConstraints.None),i},e.prototype.setPortVisibility=function(e){var i;return e&t.PortVisibility.Visible&&(i|=t.PortVisibility.Visible),e&t.PortVisibility.Hidden&&(i|=t.PortVisibility.Hidden),e&t.PortVisibility.Hover&&(i|=t.PortVisibility.Hover),e&t.PortVisibility.Connect&&(i|=t.PortVisibility.Connect),i},e.prototype.getModuleName=function(){return"PortProperties"},e}(),gg=function(){function e(t){this.labelProperties=new lg(this),this.connectorProperties=new dg(this.labelProperties),this.portProperties=new pg(this),this.nodeProperties=new cg(this.labelProperties,this.portProperties),this.convertedData={},this.items=[],this.diagram=t}return e.prototype.getSerializedData=function(e){return this.convertedData.mode="SVG",this.convertedData.basicElements=[],this.convertedData.width=e.width,this.convertedData.height=e.height,e.nodes&&e.nodes.length>0?this.nodeProperties.renderNodesCollection(this.convertedData,e):this.convertedData.nodes=e.nodes,e.connectors&&e.connectors.length>0?this.connectorProperties.renderConnectorsCollection(this.convertedData,e):this.convertedData.connectors=e.connectors,void 0!==e.defaultSettings&&(this.convertedData.getNodeDefaults=this.getNodeDefaults(e.defaultSettings.node),this.convertedData.getConnectorDefaults=this.getConnectorDefaults(e.defaultSettings.connector)),e.layers=e.layers||[],e.dataSourceSettings=e.dataSourceSettings||{},e.dataSourceSettings.crudAction=e.dataSourceSettings.crudAction||{},e.rulerSettings=e.rulerSettings||{},e.rulerSettings.horizontalRuler=e.rulerSettings.horizontalRuler||{},e.rulerSettings.verticalRuler=e.rulerSettings.verticalRuler||{},e.snapSettings=e.snapSettings||{},e.snapSettings.horizontalGridLines=e.snapSettings.horizontalGridLines||{},e.snapSettings.verticalGridLines=e.snapSettings.verticalGridLines||{},e.snapSettings.snapConstraints=t.SnapConstraints.All,e.pageSettings=e.pageSettings||{},e.pageSettings.scrollLimit=e.pageSettings.scrollLimit||"Diagram",e.pageSettings.pageOrientation=e.pageSettings.pageOrientation||"Landscape",e.pageSettings.boundaryConstraints=e.pageSettings.boundaryConstraints||"Diagram",e.pageSettings.pageBackgroundColor=e.pageSettings.pageBackgroundColor||"transparent",e.backgroundImage=e.backgroundImage||{},e.tooltip=e.tooltip||{},e.scrollSettings=e.scrollSettings||{},e.layout=e.layout||{},e.layout.margin=e.layout.margin||{left:0,right:0,top:0,bottom:0},e.layout.horizontalAlignment=e.layout.horizontalAlignment||"Auto",e.layout.verticalAlignment=e.layout.verticalAlignment||"Auto",e.layout.type=e.layout.type||"None",e.selectedItems=e.selectedItems||{},e.selectedItems.constraints=e.selectedItems.constraints||t.SelectorConstraints.All,e.constraints=e.constraints||t.DiagramConstraints.Default,e.tool=e.tool||t.DiagramTools.None,e.scrollSettings.horizontalOffset=-e.scrollSettings.horizontalOffset||0,e.scrollSettings.verticalOffset=-e.scrollSettings.verticalOffset||0,e.pageSettings.pageWidth||(e.pageSettings.pageWidth=e.scrollSettings.viewPortWidth),e.pageSettings.pageHeight||(e.pageSettings.pageHeight=e.scrollSettings.viewPortHeight),this.setLayers(this.convertedData,e),this.setDataSourceSettings(this.convertedData,e),this.setRulerSettings(this.convertedData,e),this.setSnapSettings(this.convertedData,e),e.snapSettings.enableSnapToObject?this.convertedData.snapSettings.constraints=this.convertedData.snapSettings.constraints|t.SnapConstraints.SnapToObject:this.convertedData.snapSettings.constraints=this.convertedData.snapSettings.constraints&~t.SnapConstraints.SnapToObject,void 0===e.pageSettings.backgroundImage&&(e.pageSettings.backgroundImage={source:"",scale:"meet",alignment:"xmidymid"},e.pageSettings.showPageBreak=!1),this.setScrollSettings(this.convertedData,e),this.setPageSettings(this.convertedData,e),this.setContextMenu(this.convertedData,e),this.setTooltip(this.convertedData,e),this.setModelLayout(this.convertedData,e),this.setSelectedItems(this.convertedData,e),this.convertedData.constraints=this.setDiagramConstraints(e.constraints),this.convertedData.tool=this.setDiagramTool(e.tool),this.convertedData.drawType=e.drawType,this.convertedData.commandManager=e.commandManager,this.convertedData},e.prototype.getNodeDefaults=function(t){return t?this.nodeProperties.convertToNode(t):null},e.prototype.getConnectorDefaults=function(t){return t?this.connectorProperties.convertToConnector(t):null},e.prototype.setLayers=function(t,e){if(t.layers=[],e.layers.length>0)for(var i=0;i<e.layers.length;i++){var r={},n=e.layers[parseInt(i.toString(),10)];r.id=n.name,r.visible=n.visible,r.lock=n.lock,r.objects=n.objects,t.layers.push(r)}},e.prototype.setDataSourceSettings=function(t,e){t.dataSourceSettings={},t.dataSourceSettings.id=e.dataSourceSettings.id,t.dataSourceSettings.dataManager=e.dataSourceSettings.dataSource,t.dataSourceSettings.root=e.dataSourceSettings.root,t.dataSourceSettings.parentId=e.dataSourceSettings.parent,t.dataSourceSettings.crudAction={read:e.dataSourceSettings.crudAction.read,create:e.dataSourceSettings.crudAction.create,update:e.dataSourceSettings.crudAction.update,destroy:e.dataSourceSettings.crudAction.destroy,customFields:e.dataSourceSettings.customFields},e.dataSourceSettings.connectionDataSource&&(t.dataSourceSettings.connectionDataSource={},t.dataSourceSettings.connectionDataSource.id=e.dataSourceSettings.connectionDataSource.id,t.dataSourceSettings.connectionDataSource.dataManager=e.dataSourceSettings.connectionDataSource.dataSource,t.dataSourceSettings.connectionDataSource.sourceID=e.dataSourceSettings.connectionDataSource.sourceNode,t.dataSourceSettings.connectionDataSource.targetID=e.dataSourceSettings.connectionDataSource.targetNode,t.dataSourceSettings.connectionDataSource.sourcePointX=e.dataSourceSettings.connectionDataSource.sourcePointX,t.dataSourceSettings.connectionDataSource.sourcePointY=e.dataSourceSettings.connectionDataSource.sourcePointY,t.dataSourceSettings.connectionDataSource.targetPointX=e.dataSourceSettings.connectionDataSource.targetPointX,t.dataSourceSettings.connectionDataSource.targetPointY=e.dataSourceSettings.connectionDataSource.targetPointY,t.dataSourceSettings.connectionDataSource.crudAction={read:e.dataSourceSettings.connectionDataSource.crudAction.read,create:e.dataSourceSettings.connectionDataSource.crudAction.create,update:e.dataSourceSettings.connectionDataSource.crudAction.update,destroy:e.dataSourceSettings.connectionDataSource.crudAction.destroy,customFields:e.dataSourceSettings.connectionDataSource.customFields})},e.prototype.setRulerSettings=function(t,e){t.rulerSettings={},t.rulerSettings.showRulers=e.rulerSettings.showRulers,t.rulerSettings.horizontalRuler=this.setRulerProperties(e.rulerSettings.horizontalRuler),t.rulerSettings.verticalRuler=this.setRulerProperties(e.rulerSettings.verticalRuler)},e.prototype.setRulerProperties=function(t){var e={};return e.interval=t.interval,e.segmentWidth=t.segmentWidth,e.markerColor=t.markerColor,e.thickness=t.thickness,e.arrangeTick=t.arrangeTick,e},e.prototype.setSnapSettings=function(t,e){t.snapSettings={},e.snapSettings&&(t.snapSettings.horizontalGridLines=this.setGridLines(e.snapSettings.horizontalGridLines),t.snapSettings.verticalGridLines=this.setGridLines(e.snapSettings.verticalGridLines),t.snapSettings.snapAngle=e.snapSettings.snapAngle,t.snapSettings.snapObjectDistance=e.snapSettings.snapObjectDistance,t.snapSettings.constraints=this.setSnapConstraints(e.snapSettings.snapConstraints))},e.prototype.setSnapConstraints=function(e){var i=t.SnapConstraints.None;return e&t.SnapConstraints.ShowHorizontalLines&&(i|=t.SnapConstraints.ShowHorizontalLines),e&t.SnapConstraints.ShowVerticalLines&&(i|=t.SnapConstraints.ShowVerticalLines),e&t.SnapConstraints.ShowLines&&(i|=t.SnapConstraints.ShowLines),e&t.SnapConstraints.SnapToHorizontalLines&&(i|=t.SnapConstraints.SnapToHorizontalLines),e&t.SnapConstraints.SnapToVerticalLines&&(i|=t.SnapConstraints.SnapToVerticalLines),e&t.SnapConstraints.SnapToLines&&(i|=t.SnapConstraints.SnapToLines),i},e.prototype.setGridLines=function(t){var e={};return e.lineColor=t.lineColor,e.lineDashArray=t.lineDashArray,e.lineIntervals=t.lineInterval,e.snapIntervals=t.snapInterval,e},e.prototype.setScrollSettings=function(t,e){t.scrollSettings={horizontalOffset:e.scrollSettings.horizontalOffset,verticalOffset:e.scrollSettings.verticalOffset,currentZoom:e.scrollSettings.currentZoom,viewPortWidth:e.scrollSettings.viewPortWidth,viewPortHeight:e.scrollSettings.viewPortHeight,minZoom:e.scrollSettings.minZoom,maxZoom:e.scrollSettings.maxZoom,scrollLimit:e.pageSettings.scrollLimit.charAt(0).toUpperCase()+e.pageSettings.scrollLimit.slice(1),scrollableArea:e.pageSettings.scrollableArea,canAutoScroll:e.enableAutoScroll,autoScrollBorder:e.pageSettings.autoScrollBorder}},e.prototype.setPageSettings=function(t,e){t.pageSettings={width:e.pageSettings.pageWidth,height:e.pageSettings.pageHeight,margin:{left:e.pageSettings.pageMargin,right:e.pageSettings.pageMargin,top:e.pageSettings.pageMargin,bottom:e.pageSettings.pageMargin},orientation:e.pageSettings.pageOrientation.charAt(0).toUpperCase()+e.pageSettings.pageOrientation.slice(1),boundaryConstraints:e.pageSettings.boundaryConstraints.charAt(0).toUpperCase()+e.pageSettings.boundaryConstraints.slice(1),background:{color:e.pageSettings.pageBackgroundColor,source:e.backgroundImage.source,scale:e.backgroundImage.scale,align:e.backgroundImage.align},multiplePage:e.pageSettings.multiplePage,showPageBreaks:e.pageSettings.showPageBreak}},e.prototype.setContextMenu=function(t,e){t.contextMenuSettings={},t.contextMenuSettings.show=e.enableContextMenu,void 0!==e.contextMenu&&(t.contextMenuSettings.showCustomMenuOnly=e.contextMenu.showCustomMenuItemsOnly,t.contextMenuSettings.items=this.getContextMenuItems(e.contextMenu.items))},e.prototype.getContextMenuItems=function(t){for(var e={},i=0;i<t.length;i++){var r=t[parseInt(i.toString(),10)];e.id=r.name,e.text=r.text,this.items.push(e),t.subItems&&t.subItems.length>0&&this.getContextMenuItems(t.subItems)}return this.items},e.prototype.setTooltip=function(t,e){t.tooltip={content:e.tooltip.templateId,relativeMode:e.tooltip.relativeMode}},e.prototype.setModelLayout=function(t,e){t.layout={fixedNode:e.layout.fixedNode,horizontalSpacing:e.layout.horizontalSpacing,verticalSpacing:e.layout.verticalSpacing,maxIteration:e.layout.maxIteration,springFactor:e.layout.springFactor,springLength:e.layout.springLength,margin:{left:e.layout.margin.left,right:e.layout.margin.right,top:e.layout.margin.top,bottom:e.layout.margin.bottom},horizontalAlignment:e.layout.horizontalAlignment.charAt(0).toUpperCase()+e.layout.horizontalAlignment.slice(1),verticalAlignment:e.layout.verticalAlignment.charAt(0).toUpperCase()+e.layout.verticalAlignment.slice(1),orientation:"toptobottom"===e.layout.orientation?"TopToBottom":"bottomtotop"===e.layout.orientation?"BottomToTop":"righttoleft"===e.layout.orientation?"RightToLeft":"LeftToRight",connectorSegments:e.layout.getConnectorSegments,type:e.layout.type.charAt(0).toUpperCase()+e.layout.type.slice(1),getLayoutInfo:e.layout.getLayoutInfo,bounds:e.layout.bounds,root:e.layout.root},t.layout&&"Hierarchicaltree"===t.layout.type?t.layout.type="HierarchicalTree":t.layout&&"Organizationalchart"===t.layout.type?t.layout.type="OrganizationalChart":t.layout&&"Radialtree"===t.layout.type&&(t.layout.type="RadialTree")},e.prototype.setSelectedItems=function(t,e){t.selectedItems={};var i=[],r=[];t.selectedItems.nodes=i,t.selectedItems.connectors=r,t.selectedItems.offsetX=e.selectedItems.offsetX,t.selectedItems.offsetY=e.selectedItems.offsetY,t.selectedItems.width=e.selectedItems.width,t.selectedItems.height=e.selectedItems.height,t.selectedItems.rotateAngle=e.selectedItems.rotateAngle,t.selectedItems.constraints=this.setSelectorConstraints(e.selectedItems.constraints),t.selectedItems.userHandles=e.selectedItems.userHandles},e.prototype.setSelectorConstraints=function(e){var i=t.SelectorConstraints.None;return e&t.SelectorConstraints.ConnectorSourceThumb&&(i|=t.SelectorConstraints.Rotate),e&t.SelectorConstraints.ResizeAll&&(i|=t.SelectorConstraints.ResizeAll),e&t.SelectorConstraints.ResizeSouthEast&&(i|=t.SelectorConstraints.UserHandle),e&t.SelectorConstraints.ToolTip&&(i|=t.SelectorConstraints.ToolTip),e&t.SelectorConstraints.All&&(i|=t.SelectorConstraints.All),i},e.prototype.setDiagramConstraints=function(e){var i=t.DiagramConstraints.None;return e&t.DiagramConstraints.UserInteraction&&(i|=t.DiagramConstraints.UserInteraction),e&t.DiagramConstraints.ApiUpdate&&(i|=t.DiagramConstraints.ApiUpdate),e&t.DiagramConstraints.PageEditable&&(i|=t.DiagramConstraints.PageEditable),e&t.DiagramConstraints.LineRouting&&(i|=t.DiagramConstraints.Bridging),e&t.DiagramConstraints.Zoom&&(i|=t.DiagramConstraints.Zoom),e&t.DiagramConstraints.PanX&&(i|=t.DiagramConstraints.PanX),e&t.DiagramConstraints.PanY&&(i|=t.DiagramConstraints.PanY),e&t.DiagramConstraints.Pan&&(i|=t.DiagramConstraints.Pan),e&t.DiagramConstraints.UndoRedo&&(i|=t.DiagramConstraints.UndoRedo),e&t.DiagramConstraints.ZoomTextEdit&&(i|=t.DiagramConstraints.ZoomTextEdit),i},e.prototype.setDiagramTool=function(e){var i=t.DiagramTools.None;return e&t.DiagramTools.MultipleSelect&&(i|=t.DiagramTools.SingleSelect),e&t.DiagramTools.ZoomPan&&(i|=t.DiagramTools.MultipleSelect),e&t.DiagramTools.DrawOnce&&(i|=t.DiagramTools.ZoomPan),e&t.DiagramTools.ContinuousDraw&&(i|=t.DiagramTools.DrawOnce),e&t.DiagramTools.ContinuousDraw&&(i|=t.DiagramTools.ContinuousDraw),i},e.prototype.destroy=function(){},e.prototype.getModuleName=function(){return"Ej1Serialization"},e}(),ug=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function r(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(r.prototype=i.prototype,new r)}}(),fg=function(t,e,i,r){var n,o=arguments.length,a=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,r);else for(var s=t.length-1;s>=0;s--)(n=t[s])&&(a=(o<3?n(a):o>3?n(e,i,a):n(e,i))||a);return o>3&&a&&Object.defineProperty(e,i,a),a},mg=function(t){var e=t;return e.sourcePoint||e.targetPoint||e.sourceID||e.targetID||e.sourcePortID||e.targetPortID||e.sourceDecorator||e.targetDecorator?xd:(t.shape&&(t.shape instanceof ll||t.shape.type),Hl)},yg=function(t){function i(e,i,r,n){return t.call(this,e,i,r,n)||this}return ug(i,t),fg([e.Property("")],i.prototype,"id",void 0),fg([e.Property()],i.prototype,"height",void 0),fg([e.Property(!0)],i.prototype,"expanded",void 0),fg([e.Property("")],i.prototype,"iconCss",void 0),fg([e.Property("")],i.prototype,"title",void 0),fg([e.CollectionFactory(mg)],i.prototype,"symbols",void 0),i}(e.ChildProperty),vg=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ug(i,t),fg([e.Property()],i.prototype,"width",void 0),fg([e.Property()],i.prototype,"height",void 0),i}(e.ChildProperty),bg=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return ug(i,t),fg([e.Property()],i.prototype,"width",void 0),fg([e.Property()],i.prototype,"height",void 0),fg([e.Complex({},fs)],i.prototype,"offset",void 0),i}(e.ChildProperty),Sg=function(r){function o(t,e){var i=r.call(this,t,e)||this;i.symbolTable={},i.childTable={},i.info="info",i.oldObject=null,i.laneTable={},i.isExpand=!1,i.isExpandMode=!1,i.isMethod=!1,i.paletteid=88123,i.checkOnRender=!1,i.symbolTooltipObject=null,i.helper=function(t){var e,r=i.selectedSymbol&&i.selectedSymbol.id||t.sender.target.id.split("_container")[0],n=i.symbolTable[""+r];return n&&i.selectedSymbol&&(i.selectedSymbols=i.selectedSymbol.id===n.id?n:i.selectedSymbol,(e=i.getSymbolPreview(i.selectedSymbols,t.sender,i.element)).setAttribute("paletteId",i.element.id)),e};for(var n,o,a=0;i&&i.palettes&&a<i.palettes.length;a++)for(var s=0;s<i.palettes[parseInt(a.toString(),10)].symbols.length;s++)n=i.palettes[parseInt(a.toString(),10)].symbols[parseInt(s.toString(),10)],o=t.palettes[parseInt(a.toString(),10)].symbols[parseInt(s.toString(),10)],n&&"UmlActivity"===n.shape.type&&an(o,n),(i.nodeDefaults||i.connectorDefaults)&&pn(n,o,n instanceof Hl?i.nodeDefaults:i.connectorDefaults);return i}return ug(o,r),o.prototype.onPropertyChanged=function(t,i){for(var r=!1,n=0,o=Object.keys(t);n<o.length;n++)switch(o[n]){case"width":this.element.style.width=this.width.toString();break;case"height":this.element.style.height=this.height.toString();break;case"symbolPreview":break;case"symbolWidth":case"symbolHeight":case"getSymbolInfo":r=!this.isReact;break;case"enableSearch":if(t.enableSearch&&!e.isBlazor())this.createTextbox();else{var a=document.getElementById(this.element.id+"_search");a&&a.parentNode.removeChild(a)}break;case"palettes":for(var s=0,h=Object.keys(t.palettes);s<h.length;s++){var d=h[s],l=Number(d);e.isBlazor()||this.accordionElement.items[parseInt(l.toString(),10)]||(this.accordionElement.items[parseInt(l.toString(),10)]={header:t.palettes[parseInt(l.toString(),10)].title||"",expanded:t.palettes[parseInt(l.toString(),10)].expanded,iconCss:t.palettes[parseInt(l.toString(),10)].iconCss||""}),t.palettes[parseInt(l.toString(),10)].height&&(document.getElementById(this.palettes[parseInt(l.toString(),10)].id+"_content").style.height=t.palettes[parseInt(l.toString(),10)].height+"px"),void 0!==t.palettes[parseInt(l.toString(),10)].iconCss&&(e.isBlazor()||(this.accordionElement.items[parseInt(l.toString(),10)].iconCss=t.palettes[parseInt(l.toString(),10)].iconCss||"",r=!0)),void 0===t.palettes[parseInt(l.toString(),10)].expanded||e.isBlazor()||(this.palettes[parseInt(l.toString(),10)].isInteraction?this.palettes[parseInt(l.toString(),10)].isInteraction=!1:(this.accordionElement.items[parseInt(l.toString(),10)].expanded=t.palettes[parseInt(l.toString(),10)].expanded,this.isExpand=!0),this.isExpandMode||this.isMethod||this.isExpand||(this.isExpand=!0))}break;case"enableAnimation":e.isBlazor()||(this.enableAnimation?this.accordionElement.animation={expand:{duration:400},collapse:{duration:400}}:this.accordionElement.animation={expand:{duration:0},collapse:{duration:0}});break;case"expandMode":e.isBlazor()||(this.accordionElement.expandMode=this.expandMode,r=!0,this.isExpandMode=!0);break;case"allowDrag":this.allowDrag=t.allowDrag,this.draggable&&(this.draggable.destroy(),this.draggable=null),this.allowDrag&&this.initDraggable()}if(r&&this.refreshPalettes(),this.isExpand&&!r){this.isExpand=!1;for(var c=0;c<this.palettes.length;c++){var p=this.palettes[parseInt(c.toString(),10)].id;window[""+p]&&window[""+p].length>1&&(window[""+p][1].parentNode.removeChild(window[""+p][1]),window[""+p][1]=null)}}this.isMethod=!1},o.prototype.getPersistData=function(){var t=["loaded"];return this.addOnPersist(t)},o.prototype.preRender=function(){var t=this;if(this.l10n=new e.L10n(this.getModuleName(),this.defaultLocale(),this.locale),""===this.element.id){var i=document.getElementsByClassName("e-symbolpalette").length;this.element.id="symbolpalette_"+this.paletteid+"_"+i}if(this.element.style.overflow="auto",this.element.style.height=this.height.toString(),this.element.style.width=this.width.toString(),this.enableSearch&&!e.isBlazor()&&this.createTextbox(),!e.isBlazor()){var r=Va("div",{id:this.element.id+"_container"});this.accordionElement=new n.Accordion({expandMode:this.expandMode}),this.enableAnimation||(this.accordionElement.animation={expand:{duration:0},collapse:{duration:0}}),this.accordionElement.created=function(){t.checkOnRender=!0},this.accordionElement.expanded=function(e){var i=t.accordionElement.items.indexOf(e.item),r=t.allowServerDataBinding;t.allowServerDataBinding=!1,t.palettes[parseInt(i.toString(),10)].expanded=e.isExpanded,t.palettes[parseInt(i.toString(),10)].isInteraction=!0,t.allowServerDataBinding=r},this.accordionElement.expanding=function(e){if(t.checkOnRender){var i={element:e.element,content:e.content,index:e.index,cancel:!1,isExpanded:e.isExpanded,palette:t.palettes[e.index]};t.trigger("paletteExpanding",i),e.cancel=i.cancel}},this.element.appendChild(r)}window.measureElement&&(window.measureElement=null),es(),this.unWireEvents(),this.wireEvents()},o.prototype.defaultLocale=function(){return{SearchShapes:"Search Shapes",SearchResults:"Search Results",NoItemsToDisplay:"No Items To Display"}},o.prototype.render=function(){this.diagramRenderer=new Rd(this.element.id,new Nd,!1),this.svgRenderer=new Rd(this.element.id,new Nd,!0),this.updatePalettes(),e.isBlazor()||this.accordionElement.appendTo("#"+this.element.id+"_container"),this.renderComplete()},o.prototype.getModuleName=function(){return"SymbolPalette"},o.prototype.requiredModules=function(){var t=[];return t.push({member:"Bpmn",args:[]}),t},o.prototype.destroy=function(){if(this.allowDrag){this.draggable.destroy(),this.unWireEvents(),this.notify("destroy",{}),r.prototype.destroy.call(this);var t=document.getElementById(this.element.id+"_container");if(t){this.element.removeChild(t);if(window.measureElement){window.measureElement.usageCount-=1;0===--window.measureElementCount&&(window.measureElement.parentNode.removeChild(window.measureElement),window.measureElement=null)}}(t=document.getElementById(this.element.id+"_search"))&&t.parentNode.removeChild(t)}},o.prototype.addPalettes=function(t){for(var i,r=0;r<t.length;r++){var n=this.allowServerDataBinding;this.isProtectedOnChange=!0,this.allowServerDataBinding=!1,i=new yg(this,"palettes",t[parseInt(r.toString(),10)],!0),this.palettes.push(i),this.initSymbols(i),this.allowServerDataBinding=n,this.isProtectedOnChange=!1,this.renderPalette(i)}this.bulkChanges={},e.isBlazor()||this.accordionElement.refresh()},o.prototype.removePalette=function(t){for(var i=0;i<this.palettes.length;i++)if(this.palettes[parseInt(i.toString(),10)].id===t){this.palettes.splice(i,1),e.isBlazor()||this.accordionElement.items.splice(i,1);break}},o.prototype.removePalettes=function(t){var i=this.allowServerDataBinding;this.allowServerDataBinding=!1;for(var r=0;r<t.length;r++)this.removePalette(t[parseInt(r.toString(),10)]);e.isBlazor()?this.updatePalettes():this.accordionElement.refresh(),this.allowServerDataBinding=i},o.prototype.initSymbols=function(t){for(var e=[],i=0,r=0,n=0,o=t.symbols;n<o.length;n++){if("SwimLane"===(L=o[n]).shape.type){var a=L,s=L.shape,h="Horizontal"===s.orientation;if(s.isLane){i=h?this.symbolHeight-this.symbolHeight/2:this.symbolHeight-this.symbolHeight/4,r=h?this.symbolWidth-this.symbolWidth/4:this.symbolWidth-this.symbolWidth/2,this.laneTable[L.id]={height:i,width:r};var d=s.lanes[0].header,l=s.lanes[0].style,c=d.style;(m={id:"header"+O(),shape:{type:"Basic",shape:"Rectangle"},width:h?d.width:a.width,height:h?a.height:d.height,style:c,annotations:[{content:d.annotation.content}]}).offsetX=m.width/2,m.offsetY=m.height/2,this.addPaletteItem(t.id,m);var p={id:"lane"+O(),shape:{type:"Basic",shape:"Rectangle"},width:h?a.width-d.width:a.width,height:h?a.height:a.height-d.height,style:l};p.offsetX=h?m.width+p.width/2:p.width/2,p.offsetY=h?p.height/2:m.height+p.height/2,this.addPaletteItem(t.id,p),a.children=[m.id,p.id]}else s.isPhase&&(i=a.height?a.height:this.symbolHeight,r=a.width?a.width:this.symbolWidth,L.shape.type="Path",L.shape.data=h?"M0,0 L"+r+",0":"M0,0 L0,"+r)}if("Container"===L.shape.type){var g=L,u=L.shape;if(u.hasHeader){var d=u.header,f=g.style,c=d.style,m={id:"header"+O(),shape:{type:"Basic",shape:"Rectangle"},width:g.width,height:g.height/2,style:c,annotations:[{content:d.annotation.content}]};m.offsetX=m.width/2,m.offsetY=m.height/2,this.addPaletteItem(t.id,m);var y={id:"container"+O(),shape:{type:"Basic",shape:"Rectangle"},width:g.width,height:g.height,style:f};y.offsetX=g.width/2,y.offsetY=g.height/2,this.addPaletteItem(t.id,y),g.children=[y.id,m.id]}}if("UmlClassifier"===L.shape.type&&!L.shape.relationship){var v=L,b=void 0,S=void 0;S="white"===L.style.fill?{fill:"#26A0DA"}:{fill:L.style.fill},"Class"===L.shape.classifier?(b={id:"node"+O(),shape:{type:"HTML",content:'<div id="parentDiv" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv" style="font-size:0.7vw;">class</div></div>'},width:v.width?v.width:100,height:v.height?v.height:100,style:S,offsetX:v.width?v.width/2:50,offsetY:v.height?v.height/2:50},this.addPaletteItem(t.id,b)):"Enumeration"===L.shape.classifier?(b={id:"node"+O(),shape:{type:"HTML",content:'<div id="parentDiv2" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv2" style="font-size:0.5vw;">Enumeration</div></div>'},width:v.width?v.width:100,height:v.height?v.height:100,style:S,offsetX:v.width?v.width/2:50,offsetY:v.height?v.height/2:50},this.addPaletteItem(t.id,b)):"Interface"===L.shape.classifier&&(b={id:"node"+O(),shape:{type:"HTML",content:'<div id="parentDiv3" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv3" style="font-size:0.7vw;">Interface</div></div>'},width:v.width?v.width:100,height:v.height?v.height:100,style:S,offsetX:v.width?v.width/2:50,offsetY:v.height?v.height/2:50},this.addPaletteItem(t.id,b));var w={id:"member"+O(),shape:{type:"HTML",content:'<div style="width:100%;height:100%;border:1px solid #000;background:white"></div>'},width:v.width?v.width:100,height:v.height?v.height:100,offsetX:v.width?v.width/2:50,offsetY:v.height?v.height/2+b.height/2:50+b.height/2};this.addPaletteItem(t.id,w),v.children=[b.id,w.id]}if("UmlClassifier"===L.shape.type&&L.shape.relationship&&("Inheritance"===L.shape.relationship&&(L.targetDecorator.style.fill="black"===L.targetDecorator.style.fill?"white":L.targetDecorator.style.fill),"Realization"===L.shape.relationship&&(L.style.strokeDashArray=L.style.strokeDashArray?L.style.strokeDashArray:"4 4",L.targetDecorator.style.fill="black"===L.targetDecorator.style.fill?"white":L.targetDecorator.style.fill),"Dependency"===L.shape.relationship&&(L.style.strokeDashArray=L.style.strokeDashArray?L.style.strokeDashArray:"4 4"),"Aggregation"===L.shape.relationship&&(L.sourceDecorator.style.fill="black"===L.sourceDecorator.style.fill?"white":L.sourceDecorator.style.fill)),L instanceof Hl){var x=Z(this.getNodeDefaults);x&&x(L,this)}else if(L instanceof xd){var I=Z(this.getConnectorDefaults);I&&I(L,this)}this.symbolTable[L.id]=L,L instanceof Hl&&L.children&&e.push(L)}for(var C=0;C<e.length;C++)for(var P=void 0,D=0;D<e[parseInt(C.toString(),10)].children.length;D++)(P=this.symbolTable[e[parseInt(C.toString(),10)].children[parseInt(D.toString(),10)]])&&(this.childTable[P.id]=P,P.parentId=e[parseInt(C.toString(),10)].id);for(var T=0,A=t.symbols;T<A.length;T++)(L=A[T])instanceof Hl&&L.children||this.prepareSymbol(L);for(var M=0,E=e;M<E.length;M++){var L=E[M];this.prepareSymbol(L)}},o.prototype.renderPalette=function(t){var i="display:none;overflow:auto;";t.height&&(i+="height:"+t.height+"px");document.getElementById(t.id);var r=Va("div",{id:t.id,style:i,class:"e-remove-palette"});if(this.element.appendChild(r),!e.isBlazor()){var n={header:t.title,expanded:t.expanded,content:"#"+t.id,iconCss:t.iconCss};this.accordionElement.items.push(n)}this.renderSymbols(t,r)},o.prototype.addPaletteItem=function(t,e,i){e=k(e);for(var r=0;r<this.palettes.length;r++){var n=this.palettes[parseInt(r.toString(),10)];if(-1!==n.id.indexOf(t)){for(var o=[void 0,n,"symbols",{},!0],a=new(Function.prototype.bind.apply(mg(e),o)),s=0;s<Object.keys(e).length;s++){var h=this.allowServerDataBinding;this.allowServerDataBinding=!1,a[Object.keys(e)[parseInt(s.toString(),10)]]=e[Object.keys(e)[parseInt(s.toString(),10)]],this.allowServerDataBinding=h}pn(a,e,a instanceof Hl?this.nodeDefaults:this.connectorDefaults),n.symbols.push(a);var d=this.allowServerDataBinding;if(this.allowServerDataBinding=!1,this.prepareSymbol(a),this.allowServerDataBinding=d,this.symbolTable[a.id]=a,i)this.childTable[a.id]=a;else{var l=document.getElementById(n.id);l&&l.appendChild(this.getSymbolContainer(a,l))}break}}},o.prototype.removePaletteItem=function(t,e){for(var i,r=0;r<this.palettes.length;r++){var n=this.palettes[parseInt(r.toString(),10)];if(-1!==n.id.indexOf(t))for(var o=0,a=n.symbols;o<a.length;o++){var s=a[o];if(-1!==s.id.indexOf(e)){var h=n.symbols.indexOf(s);if(n.symbols.splice(h,1),s.children)for(var d=s.children,l=0;l<d.length;l++)delete this.symbolTable[d[parseInt(l.toString(),10)]];delete this.symbolTable[s.id];var c=document.getElementById(s.id+"_container");c.parentNode.removeChild(c),i=!0;break}}if(i)break}},o.prototype.prepareSymbol=function(t){var e,i,r,n,o,a=new rl,s=t,h=new Vs,d=t instanceof Hl?t.initContainer():null;d&&!d.children&&(d.children=[]);var l=Z(this.getSymbolTemplate);if(l&&(o=l(t)),!o)if(s.children)o=this.getContainer(s,d);else{if(t instanceof xd&&"UmlClassifier"===t.shape.type&&t.shape.relationship)for(var c=(o=t.init(this)).children.length-1;c>=0;c--)o.children[parseInt(c.toString(),10)]instanceof js&&o.children.splice(c,1);else o=t.init(this);t instanceof Hl&&t.parentId&&(o.measure(new ps),o.arrange(o.desiredSize),o.width=o.width||o.actualSize.width||this.symbolWidth||o.style.strokeWidth,o.height=o.height||o.actualSize.height||this.symbolHeight||o.style.strokeWidth,t.width=t.width||o.actualSize.width||this.symbolWidth||o.style.strokeWidth,t.height=t.height||o.actualSize.height||this.symbolHeight||o.style.strokeWidth,d.children.push(o))}if(!t.parentId){var p={width:this.symbolWidth,height:this.symbolHeight},g=Z(this.getSymbolInfo);if(g&&(p=g(t)),s.showDefaultTooltipForPalette=p&&!1!==p.showTooltip,p=p||this.symbolInfo||{},t.shape&&t.shape.isPhase&&(p.width=p.width||this.symbolWidth,p.height=p.height||this.symbolHeight),o.relativeMode="Object",o.horizontalAlignment=o.verticalAlignment="Center",h.style.strokeColor=h.style.fill="none",h.children=[o],o.measure(new ps),o.arrange(o.desiredSize),e=p.width=p.width||(void 0!==s.width?o.actualSize.width:void 0)||this.symbolWidth,r=p.height=p.height||(void 0!==s.height?o.actualSize.height:void 0)||this.symbolHeight,void 0!==e&&void 0!==r){var u=e,f=r,m=!!t.shape.isPhase;void 0!==this.symbolWidth?u=this.symbolWidth-this.symbolMargin.left-this.symbolMargin.right:e+=s.style.strokeWidth,void 0!==this.symbolHeight?f=this.symbolHeight-this.symbolMargin.top-this.symbolMargin.bottom:r+=s.style.strokeWidth,t.shape&&"Bpmn"!==t.shape.type&&p.description&&""!==p.description.text&&(f-=20),i=u/(!m&&o.width||e),n=f/(!m&&o.height||r),p.fit&&(i=u/p.width,n=f/p.height),e=u,r=f,i=n=Math.min(i,n),h.width=e,h.height=r,o.width=p.width,o.height=p.height,this.scaleSymbol(t,h,i,n,e,r)}else{var y=void 0;t instanceof xd&&(y=we(t)),o.width=t.width||y?y.width:o.actualSize.width,o.height=t.height||y?y.height:o.actualSize.height}t.wrapper=a,a.children=[h],o.pivot=a.pivot={x:0,y:0},a.id=o.id+"_symbol",a.style.fill=a.style.strokeColor="transparent",t instanceof Hl?(a.offsetX=t.style.strokeWidth/2,a.offsetY=t.style.strokeWidth/2):(a.offsetX=.5,a.offsetY=.5),this.getSymbolDescription(p,e,a,t),a.padding={left:1,right:1,bottom:1,top:1},a.measure(new ps),a.arrange(a.desiredSize),p.width=p.width||o.actualSize.width,p.height=p.height||o.actualSize.height,t[this.info]=p}t.parentId&&(d.measure(new ps(s.width,s.height)),d.arrange(d.desiredSize))},o.prototype.getContainer=function(t,e){e.measureChildren=!1;var i,r=t.children;e.children=[];for(var n=0;n<r.length;n++)this.symbolTable[r[parseInt(n.toString(),10)]]&&e.children.push(this.symbolTable[r[parseInt(n.toString(),10)]].wrapper);return e.measure(new ps(t.width,t.height)),e.arrange(e.desiredSize),0===e.bounds.x&&0===e.bounds.y||(mo(t,(i=e.bounds).x,i.y,this.symbolTable,!1,this),e=this.getContainer(t,e)),e},o.prototype.getSymbolDescription=function(t,e,i,r){if(t&&t.description&&t.description.text){var n=new js;t.description.overflow=t.description.overflow||"Ellipsis",t.description.wrap=t.description.wrap||"WrapWithOverflow",n.id=i.id+"_text",n.content=t.description.text,n.width=e,n.height=20,n.style.strokeColor="transparent",n.style.color=t.description.color||"black",n.style.fill=t.description.fill||"transparent",n.style.fontFamily=t.description.fontFamily||"Arial",n.style.fontSize=t.description.fontSize||12,n.style.bold=t.description.bold||!1,n.style.italic=t.description.italic||!1,n.style.textDecoration=t.description.textDecoration||"None",n.style.strokeWidth=0,n.style.textWrapping=t.description.wrap,n.style.textOverflow=t.description.overflow,r.shape&&"Bpmn"===r.shape.type?n.margin={left:0,right:0,top:t.description.margin?t.description.margin.top:0,bottom:t.description.margin?t.description.margin.bottom:this.symbolMargin.bottom}:n.margin={left:0,right:0,top:t.description.margin?t.description.margin.top:0,bottom:t.description.margin?t.description.margin.bottom:5},i.children.push(n)}},o.prototype.renderSymbols=function(t,e){for(var i=0,r=t.symbols;i<r.length;i++){var n=r[i];n.parentId||this.getSymbolContainer(n,e)}},o.prototype.getSymbolPreview=function(t,e,i){this.allowServerDataBinding=!1;var r,n,o,a=t.wrapper.children[0].desiredSize.width+t.style.strokeWidth,s=t.wrapper.children[0].desiredSize.height+t.style.strokeWidth,h=t.wrapper.children[0].children[0],d=t.previewSize;if(t&&(d.width||d.height)||void 0!==this.symbolPreview.width||void 0!==this.symbolPreview.height){a=(d.width||this.symbolPreview.width||a)-t.style.strokeWidth,s=(d.height||this.symbolPreview.height||s)-t.style.strokeWidth,t instanceof xd&&(h.actualSize.width<=t.style.strokeWidth&&(h.actualSize.width=this.symbolWidth),h.actualSize.height<=t.style.strokeWidth&&(h.actualSize.height=this.symbolHeight)),n=a/h.actualSize.width,o=s/h.actualSize.height,n=o=Math.min(n,o);var l=h.actualSize.width*n,c=h.actualSize.height*o;t.wrapper.children[0].width=a,t.wrapper.children[0].height=s,this.measureAndArrangeSymbol(h,t instanceof Hl),this.scaleSymbol(t,t.wrapper.children[0],n,o,l,c,!0),a=l,s=c}var p={x:h.offsetX,y:h.offsetY};h.offsetX=h.offsetY=t.style.strokeWidth/2,h.pivot={x:0,y:0},this.measureAndArrangeSymbol(h,t instanceof Hl);var g,u=Va("div",{draggable:"true",class:"e-dragclone",style:"pointer-events:none"});document.body.appendChild(u);var f="margin:5px;";if("Native"===t.shape.type){r=Xa("svg",{id:t.id+"_preview",width:Math.ceil(a)+1,height:Math.ceil(s)+1});var m=Xa("g",{id:t.id+"_g"});r.appendChild(m),u.appendChild(r),this.svgRenderer.renderElement(h,m,void 0,void 0,r),this.prepareSymbol(t)}else if("HTML"===t.shape.type)g=this.getHtmlSymbol(t,r,u,s,a,!0),this.prepareSymbol(t);else if("UmlClassifier"!==t.shape.type||t.shape.relationship)if(t.children&&t.children.length>0&&cn(t,"HTML",this.childTable))g=this.getGroupParent(t,r,u,t.wrapper.actualSize.height,t.wrapper.actualSize.width,!0),this.prepareSymbol(t);else{r=Zl.createCanvas(t.id+"_preview",2*(Math.ceil(a)+t.style.strokeWidth+1),2*(Math.ceil(s)+t.style.strokeWidth+1)),u.appendChild(r),"Basic"===t.shape.type||"Flow"===t.shape.type?f+="transform: scale(0.5) translate(-"+r.width/2+"px, -"+r.height/2+"px);":f+="transform:scale(0.5);",r.setAttribute("transform-origin","0 0");var y=2;t instanceof xd&&(y=1.9),r.getContext("2d").setTransform(y,0,0,y,0,0),this.diagramRenderer.renderElement(h,r,void 0),this.prepareSymbol(t)}else t.children&&t.children.length>0&&cn(t,"HTML",this.childTable)&&(g=this.getHtmlSymbol(t,r,u,t.wrapper.actualSize.height,t.wrapper.actualSize.width,!0),this.prepareSymbol(t));return $a(g&&("HTML"===t.shape.type||t.children&&t.children.length>0)?g:r,f),h.offsetX=p.x,h.offsetY=p.y,this.allowServerDataBinding=!0,u},o.prototype.measureAndArrangeSymbol=function(e,i){e.children&&!i&&(e.children[0].transform=t.Transform.Self),e.measure(new ps),e.arrange(e.desiredSize),e.children&&e.children.length>0&&(e.children[0].transform=t.Transform.Parent)},o.prototype.updateSymbolSize=function(t,e,i){var r=t.wrapper.children[0].children[0],n=t.style.strokeWidth;r.width=(e||r.width)-(n+1),r.height=(i||r.height)-(n+1),t.wrapper.measure(new ps),t.wrapper.arrange(t.wrapper.desiredSize)},o.prototype.getSymbolContainer=function(t,e,i){var r=this.symbolTable[t.id][this.info],n=this.getSymbolSize(t,r),o=n.width+1,a=n.height+1,s="SearchPalette"===e.id?t.id+"SearchSymbol":t.id,h=Va("div",{id:s+"_container",style:"width:"+o+"px;height:"+a+"px;float:left;overflow:hidden"});e.appendChild(h);var d,l,c;if("Native"===t.shape.type)d=Xa("svg",{id:s,width:Math.ceil(t.wrapper.actualSize.width)+1,height:Math.ceil(t.wrapper.actualSize.height)+1}),l=Xa("g",{id:s+"_g"}),d.appendChild(l),h.appendChild(d),this.updateSymbolSize(t),this.svgRenderer.renderElement(t.wrapper,l,void 0,void 0,d);else if("HTML"===t.shape.type)c=this.getHtmlSymbol(t,d,h,t.wrapper.actualSize.height,t.wrapper.actualSize.width,!1,"SearchPalette"===e.id);else if("UmlClassifier"!==t.shape.type||t.shape.relationship)if(t.children&&t.children.length>0&&cn(t,"HTML",this.childTable))c=this.getGroupParent(t,d,h,t.wrapper.actualSize.height,t.wrapper.actualSize.width,!1);else{d=Zl.createCanvas(s,Math.ceil(2*(t.wrapper.actualSize.width+t.style.strokeWidth))+1,Math.ceil(2*(t.wrapper.actualSize.height+t.style.strokeWidth))+1),h.appendChild(d);var p=2;t instanceof xd&&(p=1.9),d.getContext("2d").setTransform(p,0,0,p,0,0),this.diagramRenderer.renderElement(t.wrapper,l||d,void 0,void 0,void 0,void 0,!0,void 0,!0)}else t.children&&t.children.length>0&&cn(t,"HTML",this.childTable)&&(c=this.getHtmlSymbol(t,d,h,t.wrapper.actualSize.height,t.wrapper.actualSize.width,!1));if(!i){var g=t.wrapper.actualSize.width+t.style.strokeWidth,u=t.wrapper.actualSize.height+t.style.strokeWidth,f="pointer-events:none;transform-origin:0 0;overflow:hidden;";return t.shape.isPhase?"Horizontal"===t.shape.orientation?f+="margin-left:"+Math.max(this.symbolMargin.left,(o-g)/2)+"px;margin-top:"+n.height/2+"px;":f+="margin-left:"+n.width/2+"px;margin-top:"+Math.max(this.symbolMargin.top,(a-u)/2)+"px;":f+="margin-left:"+Math.max(this.symbolMargin.left,(o-g)/2)+"px;margin-top:"+Math.max(this.symbolMargin.top,(a-u)/2)+"px;",d instanceof HTMLCanvasElement&&(f+="transform:scale(.5,.5);"),$a(c&&("HTML"===t.shape.type||t.children&&t.children.length>0)?c:d,f),h.classList.add("e-symbol-draggable"),h}return d},o.prototype.getGroupParent=function(t,e,i,r,n,o){var a=Va("div",{id:t.id+(o?"_html_div_preview":"_html_div")}),s=Va("div",{id:t.id+(o?"_htmlLayer_preview":"_htmlLayer"),style:"width:"+Math.ceil(n+1)+"px;height:"+Math.ceil(r+1)+"px;position:absolute",class:"e-html-layer"}),h=Va("div",{id:t.id+(o?"_htmlLayer_div_preview":"_htmlLayer_div"),style:"width:"+Math.ceil(n+1)+"px;height:"+Math.ceil(r+1)+"px;position:absolute"});return s.appendChild(h),a.appendChild(s),e=Zl.createCanvas(o?t.id+"_preview":t.id,Math.ceil(n)+1,Math.ceil(r)+1),a.appendChild(e),i.appendChild(a),this.diagramRenderer.renderElement(t.wrapper.children[0].children[0],e,s),a},o.prototype.getHtmlSymbol=function(t,e,i,r,n,o,a){var s=a?t.id+"SearchSymbol":t.id,h=Va("div",{id:s+(o?"_html_div_preview":"_html_div")}),d=Va("div",{id:s+(o?"_htmlLayer_preview":"_htmlLayer"),style:"width:"+Math.ceil(n+1)+"px;height:"+Math.ceil(r+1)+"px;position:absolute",class:"e-html-layer"}),l=Va("div",{id:s+(o?"_htmlLayer_div_preview":"_htmlLayer_div"),style:"width:"+Math.ceil(n+1)+"px;height:"+Math.ceil(r+1)+"px;position:absolute"});d.appendChild(l),h.appendChild(d);var c=t.wrapper.actualSize.width+t.style.strokeWidth,p=t.wrapper.actualSize.height+t.style.strokeWidth,g="pointer-events:none;transform-origin:0 0;overflow:hidden;";return g+="margin-left:"+Math.max(this.symbolMargin.left,(n-c)/2)+"px;margin-top:"+Math.max(this.symbolMargin.top,(r-p)/2)+"px;",g+="transform:scale(.5,.5);position:absolute",e=Zl.createCanvas(s,Math.ceil(2*(t.wrapper.actualSize.width+t.style.strokeWidth))+1,Math.ceil(2*(t.wrapper.actualSize.height+t.style.strokeWidth))+1),i.appendChild(e),e.getContext("2d").setTransform(2,0,0,2,0,0),$a(e,g),i.appendChild(h),o?("UmlClassifier"===t.shape.type&&("Class"===t.shape.classifier?t.wrapper.children[0].children[0].children[0].content='<div id="parentDiv" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv" style="font-size:1vw;">class</div></div>':"Enumeration"===t.shape.classifier?t.wrapper.children[0].children[0].children[0].content='<div id="parentDiv2" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv2" style="font-size:0.8vw;">Enumeration</div></div>':"Interface"===t.shape.classifier&&(t.wrapper.children[0].children[0].children[0].content='<div id="parentDiv3" style="width:100%; height:50%; border:1px solid #000; background:#6BA5D7; display: flex; align-items: center; justify-content: center;"><div id="textDiv3" style="font-size:0.9vw;">Interface</div></div>')),this.diagramRenderer.renderElement(t.wrapper.children[0].children[0],e,d)):this.diagramRenderer.renderElement(t.wrapper,e,d),h},o.prototype.getSymbolSize=function(t,e){var i=t.wrapper.actualSize.width,r=t.wrapper.actualSize.height;return this.symbolWidth||this.symbolHeight?(i=this.symbolWidth,r=Math.max(this.symbolHeight,r)):(i+=this.symbolMargin.left+this.symbolMargin.right+t.style.strokeWidth,r+=this.symbolMargin.top+this.symbolMargin.bottom+t.style.strokeWidth),new ps(i,r)},o.prototype.getMousePosition=function(t){var e,i,r;if(-1!==t.type.indexOf("touch")){var n=(r=t).changedTouches[0].clientY,o=r.changedTouches[0].clientX;e=n-this.element.offsetTop,i=o-this.element.offsetLeft}else e=t.clientY-this.element.offsetTop,i=t.clientX-this.element.offsetLeft;return{x:i,y:e}},o.prototype.getContent=function(e){return this.hoverElement instanceof Hl&&this.hoverElement.constraints&t.NodeConstraints.Tooltip||this.hoverElement instanceof xd&&this.hoverElement.constraints&t.ConnectorConstraints.Tooltip?this.hoverElement.tooltip.content:e.id},o.prototype.initTooltip=function(t){var r;if(!e.isBlazor()){var n=new i.Tooltip;n=this.updateTooltipContent(this.hoverElement.tooltip,n),(r=new i.Tooltip(n)).cssClass="e-symbolPalette-tooltip",r.opensOn="custom",r.appendTo("#"+t.id),r.close()}return r},o.prototype.updateTooltipContent=function(t,e){return e.content=t.content,e.position="BottomRight",e.showTipPointer=t.showTipPointer,e.width=t.width,e.height=t.height,t.animation?e.animation=t.animation:e.animation={close:{effect:"None"}},e},o.prototype.elementEnter=function(i,r,n){if(!r){this.symbolTooltipObject.windowCollision=!0;var o=this.hoverElement.showDefaultTooltipForPalette;this.hoverElement.tooltip.isSticky&&(this.symbolTooltipObject.isSticky=!0),this.hoverElement instanceof Hl?!o||this.hoverElement.constraints&(t.NodeConstraints.Default&&t.NodeConstraints.Tooltip)||(this.symbolTooltipObject.content=e.initializeCSPTemplate(function(){return this.hoverElement.id},this)):this.hoverElement instanceof xd&&(!o||this.hoverElement.constraints&(t.ConnectorConstraints.Default&&t.ConnectorConstraints.Tooltip)||(this.symbolTooltipObject.content=e.initializeCSPTemplate(function(){return this.hoverElement.id},this))),this.symbolTooltipObject.content&&("Mouse"===this.hoverElement.tooltip.relativeMode?(this.hoverElement.tooltip.relativeMode="Object",this.symbolTooltipObject.offsetX=0,this.symbolTooltipObject.offsetY=0):(this.symbolTooltipObject.offsetX=0,this.symbolTooltipObject.offsetY=0));var a=n?this.hoverElement.id+"SearchSymbol":this.hoverElement.id,s=document.getElementById(a);"Auto"===this.hoverElement.tooltip.openOn&&""!==this.symbolTooltipObject.content&&(this.symbolTooltipObject.close(),this.symbolTooltipObject.opensOn=this.hoverElement.tooltip.openOn,this.symbolTooltipObject.dataBind()),"Auto"===this.hoverElement.tooltip.openOn&&""!==this.symbolTooltipObject.content&&(this.symbolTooltipObject.target=this.hoverElement.id,this.symbolTooltipObject.open(s))}},o.prototype.mouseMove=function(t,e){!this.highlightedSymbol||this.selectedSymbol&&this.selectedSymbol.id+"_container"===this.highlightedSymbol.id||(this.highlightedSymbol.classList.remove("e-symbol-hover"),this.highlightedSymbol.style.backgroundColor="",this.highlightedSymbol=null);var i=t.target.id.split("_container")[0];if(this.symbolTable[""+i]||"SearchPalette"!==i&&t.target&&t.target.id.includes("SearchSymbol")){var r=document.getElementById(i+"_container");r.classList.add("e-symbol-hover"),this.highlightedSymbol=r}t.preventDefault();var n=!1;t.target&&t.target.id.includes("SearchSymbol")&&(n=!0,i=i.split("SearchSymbol")[0]);var o=this.symbolTable[""+i];if(this.symbolTable[""+i]&&o!==this.hoverElement){this.currentPosition=this.getMousePosition(t);var a=this.getContent(o);this.hoverElement&&"Auto"===this.hoverElement.tooltip.openOn&&""!==a&&this.elementLeave(),this.hoverElement=o,this.symbolTooltipObject=this.initTooltip(this.hoverElement),""===a&&(a=this.hoverElement.id),this.hoverElement.tooltip&&""!==a&&this.elementEnter(this.currentPosition,!1,n)}void 0===o&&this.hoverElement&&!this.hoverElement.tooltip.isSticky&&"Auto"===this.hoverElement.tooltip.openOn&&(this.hoverElement=null,this.elementLeave())},o.prototype.elementLeave=function(){this.symbolTooltipObject&&"Custom"!==this.symbolTooltipObject.opensOn&&this.symbolTooltipObject.close()},o.prototype.mouseLeave=function(t){this.elementLeave(),t.preventDefault()},o.prototype.mouseUp=function(t){if(this.isMethod=!0,t&&t.target)if("iconSearch"===t.srcElement.id){var e=document.getElementById("iconSearch");e.classList.contains("e-clear-searchtext")&&(e.className="e-input-group-icon e-search e-icons",document.getElementById("textEnter").value="",this.searchPalette(""))}else{var i=t.target.id.split("_container")[0];if(i&&this.selectedSymbol){var r={oldValue:this.oldObject,newValue:i};this.trigger("paletteSelectionChange",r),this.oldObject=i,t.preventDefault()}else""!==this.oldObject&&(this.oldObject="")}},o.prototype.keyUp=function(t){var e=this;if(this.enableSearch){var i=this;document.getElementById("iconSearch").className="e-input-group-icon e-clear-searchtext e-icons",!t||"Enter"!==t.key&&13!==t.keyCode?(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(function(){t.target instanceof HTMLInputElement&&(i.searchPalette(t.target.value),e.timer=null)},500)):t.target instanceof HTMLInputElement&&this.searchPalette(t.target.value)}},o.prototype.mouseDown=function(t){var e=t.target.id.split("_container")[0],i=!1;if(e.includes("SearchSymbol")&&(e=e.split("SearchSymbol")[0],i=!0),this.selectedSymbol){var r=document.getElementById(this.selectedSymbol.id+"_container"),n=document.getElementById(this.selectedSymbol.id+"SearchSymbol_container");(r||n)&&(r.classList.remove("e-symbol-selected"),n&&n.classList.remove("e-symbol-selected")),(a=document.getElementById(this.selectedSymbol.id+"_container"))&&(a.style.backgroundColor=""),this.selectedSymbol=null}if(this.symbolTable[""+e]){var o=e;i&&(o=e+"SearchSymbol");var a=document.getElementById(o+"_container");a.classList.add("e-symbol-selected"),this.selectedSymbol=this.symbolTable[""+e],t.preventDefault()}},o.prototype.keyDown=function(t){var e=this;if(t&&"Escape"===t.key){var i=e.draggable.helperElement;i&&i.parentNode&&(i.parentNode.removeChild(i),e.draggable.intDestroy())}},o.prototype.initDraggable=function(){this.allowDrag&&(this.draggable=new e.Draggable(this.element,{dragTarget:".e-symbol-draggable",helper:this.helper,dragStart:this.dragStart,preventDefault:!1,dragStop:this.dragStop,drag:function(t){var e=Ua(t.target,"e-droppable");if(e&&e.classList.contains("e-diagram")){e.ej2_instances[0].droppable.over(t)}},cursorAt:{left:this.symbolPreview.offset.x,top:this.symbolPreview.offset.y}}))},o.prototype.dragStart=function(t){var e=this.helper[0];e&&e.setAttribute("paletteId",this.element.id)},o.prototype.dragStop=function(t){Ua(t.target,"e-diagram")||e.remove(t.helper)},o.prototype.scaleSymbol=function(t,e,i,r,n,o,a){if(t instanceof xd){g=t.wrapper;t.wrapper=e.children[0];for(var s=t.scale(i,r,n,o,e.children[0]),h=n/2-e.children[0].children[0].offsetX+s.x/2,d=o/2-e.children[0].children[0].offsetY+s.y/2,l=0,c=e.children[0].children;l<c.length;l++){var p=c[l];p.offsetX+=h,p.offsetY+=d,p.staticSize=!1}t.wrapper=g}else if("Bpmn"===t.shape.type&&this.bpmnModule){var g=t.wrapper;t.wrapper=e,e.children[0].width=n,e.children[0].height=o,this.bpmnModule.updateBPMN({width:n,height:o},t,t,null),t.wrapper=g}else if(t.children){var u=t.children,f=0,m=0;if(!a)for(var y=void 0,v=void 0,b=0;b<u.length;b++)(v=e.children[0].children[parseInt(b.toString(),10)])&&(v.children[0].children&&this.measureChild(v),y=this.symbolTable[v.id],v.width=y.width,v.height=y.height,v.measure(new ps),v.arrange(v.children[0].desiredSize));if(f=n/e.children[0].desiredSize.width,m=o/e.children[0].desiredSize.height,e.children[0].measure(new ps),e.children[0].arrange(e.children[0].desiredSize),!a)for(var S=void 0,b=0;b<u.length;b++)(S=e.children[0].children[parseInt(b.toString(),10)])&&(S.children[0].children&&this.scaleChildren(S,f,m,t),this.scaleGroup(S,f,m,t));if(a){for(var w=void 0,x=void 0,S=void 0,b=0;b<u.length;b++)w=n/t.wrapper.children[0].desiredSize.width,x=o/t.wrapper.children[0].desiredSize.height,(S=e.children[0].children[parseInt(b.toString(),10)])&&(S.children[0].children&&this.scaleChildren(S,w,x,t,!0),this.scaleGroup(S,w,x,t,!0));t.wrapper.children[0].measure(new ps),t.wrapper.children[0].arrange(t.wrapper.children[0].desiredSize)}}else fo(e.children[0],i,r,e)},o.prototype.scaleChildren=function(t,e,i,r,n){for(var o,a=0;a<t.children.length;a++)(o=t.children[parseInt(a.toString(),10)]).children[0].children?this.scaleChildren(o,e,i,r,n):this.scaleGroup(o,e,i,r,n)},o.prototype.measureChild=function(t){for(var e,i,r=0;r<t.children.length;r++)(e=t.children[parseInt(r.toString(),10)]).children[0].children?this.measureChild(e):(i=this.symbolTable[e.id],e.width=i.width,e.height=i.height,e.measure(new ps),e.arrange(e.children[0].desiredSize))},o.prototype.scaleGroup=function(t,e,i,r,n){t.width=(t.width||t.children[0].width)*e,t.height=(t.height||t.children[0].height)*i,t.offsetX=n?t.offsetX*e-r.style.strokeWidth:t.offsetX*e+r.style.strokeWidth/2,t.offsetY=n?t.offsetY*i-r.style.strokeWidth:t.offsetY*i+r.style.strokeWidth/2,t.measure(new ps),t.arrange(t.children[0].desiredSize)},o.prototype.refreshPalettes=function(){e.isBlazor()||(this.accordionElement.items=[]),ca("e-remove-palette",this.element.id),this.updatePalettes(),e.isBlazor()||this.accordionElement.dataBind()},o.prototype.updatePalettes=function(){for(var t=0;t<this.palettes.length;t++){var e=this.palettes[parseInt(t.toString(),10)];"search_palette"===e.id?(this.palettes.splice(t,1),t--):(this.initSymbols(e),this.renderPalette(e))}},o.prototype.createTextbox=function(){var t=Va("div",{id:this.element.id+"_search"});$a(t,"height:30px"),t.className="e-input-group",this.element.insertBefore(t,this.element.firstChild);var e=Va("input",{});e.placeholder=this.l10n.getConstant("SearchShapes"),e.id="textEnter",$a(e,"width:100%;height:auto"),e.className="e-input",t.appendChild(e);var i=Va("span",{id:"iconSearch",className:"e-input-group-icon e-search e-icons"});t.appendChild(i)},o.prototype.getFilterSymbol=function(t){var e=this;return t.filter(function(t){return!e.ignoreSymbolsOnSearch.includes(t.id)})},o.prototype.searchPalette=function(t){var i,r=[],n=document.getElementById("SearchPalette");if(n){for(o=n.children.length-1;o>=0;o--)n.removeChild(n.children[parseInt(o.toString(),10)]);this.palettes.splice(0,1)}for(var o=0;o<this.palettes.length;o++)for(var a=this.palettes[parseInt(o.toString(),10)],s=0;s<a.symbols.length;s++){var h=a.symbols[parseInt(s.toString(),10)];""!==t&&(-1!==h.id.toLowerCase().indexOf(t.toLowerCase())||h.info&&h.info.description&&h.info.description.text&&h.info.description.text.toLowerCase().startsWith(t.toLowerCase()))&&r.push(h)}var d=Z(this.filterSymbols);if(d&&(r=d(r)||[]),this.ignoreSymbolsOnSearch&&this.ignoreSymbolsOnSearch.length>0&&(r=this.getFilterSymbol(r)),""!==t){var l=new yg(this,"palettes",f={id:"search_palette",expanded:!0,symbols:r,title:"Search Shapes"},!0);this.palettes.splice(0,0,l)}if(n||e.isBlazor()||(n=i=this.createSearchPalette(i)),r.length>0)for(var c=0,p=r;c<p.length;c++){var g=p[c];""===g.parentId&&this.getSymbolContainer(g,n)}else if(""!==t){var u=Va("div",{id:"EmptyDiv",style:"text-align:center;font-style:italic"});u.innerHTML=this.l10n.getConstant("NoItemsToDisplay"),n.appendChild(u)}else if(document.getElementById("iconSearch").className="e-input-group-icon e-search e-icons",!e.isBlazor()){this.accordionElement.removeItem(0);var f=document.getElementById("SearchPalette");f&&f.remove()}},o.prototype.createSearchPalette=function(t){t=Va("div",{id:"SearchPalette",style:"display:none;overflow:auto;"}),this.element.appendChild(t);var e={header:this.l10n.getConstant("SearchResults"),expanded:!0,content:"#SearchPalette"};return this.accordionElement.addItem(e,0),t},o.prototype.wireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchEndEvent,r=e.Browser.touchMoveEvent;e.EventHandler.add(this.element,t,this.mouseDown,this),e.EventHandler.add(this.element,r,this.mouseMove,this),e.EventHandler.add(this.element,i,this.mouseUp,this),e.EventHandler.add(this.element,"mouseleave",this.mouseLeave,this),e.EventHandler.add(this.element,"keyup",this.keyUp,this),e.EventHandler.add(document,"keydown",this.keyDown,this),this.initDraggable()},o.prototype.unWireEvents=function(){var t=e.Browser.touchStartEvent,i=e.Browser.touchEndEvent,r=e.Browser.touchMoveEvent,n=e.Browser.isPointer?"pointerleave":"mouseleave";e.EventHandler.remove(this.element,t,this.mouseDown),e.EventHandler.remove(this.element,r,this.mouseMove),e.EventHandler.remove(this.element,i,this.mouseUp),e.EventHandler.remove(this.element,n,this.mouseLeave),e.EventHandler.remove(this.element,"keyup",this.keyUp),e.EventHandler.remove(document,"keydown",this.keyDown)},fg([e.Property("S")],o.prototype,"accessKey",void 0),fg([e.Property("100%")],o.prototype,"width",void 0),fg([e.Property("100%")],o.prototype,"height",void 0),fg([e.Collection([],yg)],o.prototype,"palettes",void 0),fg([e.Property()],o.prototype,"getSymbolInfo",void 0),fg([e.Property({fit:!0})],o.prototype,"symbolInfo",void 0),fg([e.Property()],o.prototype,"filterSymbols",void 0),fg([e.Property()],o.prototype,"ignoreSymbolsOnSearch",void 0),fg([e.Property()],o.prototype,"getSymbolTemplate",void 0),fg([e.Property()],o.prototype,"symbolWidth",void 0),fg([e.Property()],o.prototype,"symbolHeight",void 0),fg([e.Complex({left:10,right:10,top:10,bottom:10},Is)],o.prototype,"symbolMargin",void 0),fg([e.Property(!0)],o.prototype,"allowDrag",void 0),fg([e.Complex({},bg)],o.prototype,"symbolPreview",void 0),fg([e.Complex({},vg)],o.prototype,"symbolDragSize",void 0),fg([e.Property(!1)],o.prototype,"enableSearch",void 0),fg([e.Property(!0)],o.prototype,"enableAnimation",void 0),fg([e.Property("Multiple")],o.prototype,"expandMode",void 0),fg([e.Event()],o.prototype,"paletteSelectionChange",void 0),fg([e.Event()],o.prototype,"paletteExpanding",void 0),fg([e.Property()],o.prototype,"getNodeDefaults",void 0),fg([e.Property()],o.prototype,"nodeDefaults",void 0),fg([e.Property()],o.prototype,"getConnectorDefaults",void 0),fg([e.Property()],o.prototype,"connectorDefaults",void 0),fg([e.Property()],o.prototype,"nodeTemplate",void 0),o}(e.Component);return Tp.Inject(qp,Kp,Qp,eg,Op,_p,Ap,kp,$p,Wp,Fp,Yp,zp,Fc,Gp,Ic,Zp,gg,hg),Sg.Inject(kp),t.ActivityFlow=cd,t.Annotation=oh,t.AvoidLineOverlapping=Gp,t.BasicShape=ml,t.BezierSegment=fd,t.BezierSettings=dd,t.BpmnActivity=Pl,t.BpmnAnnotation=Dl,t.BpmnDataObject=bl,t.BpmnDiagrams=kp,t.BpmnEvent=wl,t.BpmnFlow=pd,t.BpmnGateway=vl,t.BpmnShape=Al,t.BpmnSubEvent=xl,t.BpmnSubProcess=Cl,t.BpmnTask=Sl,t.BpmnTextAnnotation=Tl,t.BpmnTransactionSubProcess=Il,t.Canvas=Vs,t.CanvasRenderer=Zl,t.ChildContainer=Xl,t.ClassifierMultiplicity=bd,t.ColumnDefinition=Mh,t.Command=zd,t.CommandHandler=Lc,t.CommandManager=kd,t.ComplexHierarchicalTree=eg,t.ConnectTool=_h,t.ConnectionDataSource=mc,t.Connector=xd,t.ConnectorBridging=Wp,t.ConnectorDrawingTool=Uh,t.ConnectorEditing=Ic,t.ConnectorFixedUserHandle=Dh,t.ConnectorProperties=dg,t.ConnectorSegment=gd,t.ConnectorShape=ld,t.Container=Vl,t.ContextMenuSettings=Bd,t.CrudAction=fc,t.CustomCursorAction=_c,t.DataBinding=Op,t.DataMappingItems=pc,t.DataSource=yc,t.Decorator=sd,t.Diagram=Tp,t.DiagramConnectorSegment=yd,t.DiagramConnectorShape=wd,t.DiagramContextMenu=zp,t.DiagramElement=ks,t.DiagramEventHandler=Cc,t.DiagramGradient=Ts,t.DiagramRenderer=Rd,t.DiagramShape=jl,t.DiagramShapeStyle=zs,t.DiagramTooltip=Ks,t.Ej1Serialization=gg,t.ExpandTool=qh,t.FixedUserHandle=Ch,t.FixedUserHandleTool=Wh,t.FlowShape=yl,t.FlowchartLayout=hg,t.FlowchartLayoutSettings=Sc,t.FreeHandTool=id,t.Gradient=Ds,t.GraphForceNode=Jp,t.GraphLayoutManager=tg,t.GridCell=Lh,t.GridPanel=Ah,t.GridRow=Eh,t.Gridlines=nc,t.GroupableView=Ns,t.Header=Wl,t.HierarchicalTree=qp,t.Html=gl,t.Hyperlink=nh,t.Image=ul,t.ImageElement=Fs,t.KeyGesture=Ld,t.LabelDragTool=$h,t.LabelProperties=lg,t.LabelResizeTool=td,t.LabelRotateTool=ed,t.LabelTool=Kh,t.Lane=_l,t.Layout=wc,t.LayoutAnimation=Yp,t.LineDistribution=Zp,t.LineRouting=Fc,t.LinearGradient=As,t.Margin=Is,t.Matrix=ys,t.MethodArguments=Ml,t.MindMap=Kp,t.MoveTool=Fh,t.MultiplicityLabel=vd,t.Native=pl,t.Node=Hl,t.NodeDrawingTool=Xh,t.NodeFixedUserHandle=Ph,t.NodeProperties=cg,t.OrthogonalSegment=md,t.Overview=Wd,t.Palette=yg,t.Path=cl,t.PathAnnotation=sh,t.PathElement=Ws,t.PathPort=eh,t.Phase=Fl,t.Point=fs,t.PointPort=th,t.PolyLineDrawingTool=Jh,t.PolygonDrawingTool=Qh,t.Port=$s,t.PortProperties=pg,t.PrintAndExport=Ap,t.RadialGradient=Os,t.RadialTree=Qp,t.Rect=ms,t.RelationShip=Sd,t.ResizeTool=Vh,t.RotateTool=Yh,t.RowDefinition=Oh,t.Ruler=Pd,t.SelectTool=Hh,t.Selector=Ul,t.Shadow=Cs,t.Shape=ll,t.ShapeAnnotation=ah,t.ShapeStyle=Ms,t.Size=ps,t.SnapSettings=oc,t.Snapping=_p,t.StackPanel=rl,t.Stop=Ps,t.StraightSegment=ud,t.StrokeStyle=Es,t.SwimLane=Yl,t.SymbolDragSize=vg,t.SymbolPalette=Sg,t.SymbolPaletteInfo=mh,t.SymbolPreview=bg,t.SymbolSize=fh,t.SymmetricLayout=$p,t.Text=fl,t.TextDrawingTool=Gh,t.TextElement=js,t.TextStyle=Ls,t.Thickness=xs,t.ToolBase=jh,t.UmlActivityShape=Ol,t.UmlClass=zl,t.UmlClassAttribute=El,t.UmlClassMethod=Ll,t.UmlClassifierShape=Rl,t.UmlEnumeration=Nl,t.UmlEnumerationMember=Bl,t.UmlInterface=kl,t.UmlSequenceActivationBox=Kc,t.UmlSequenceDiagram=ep,t.UmlSequenceFragment=tp,t.UmlSequenceFragmentCondition=$c,t.UmlSequenceMessage=Jc,t.UmlSequenceParticipant=Qc,t.UndoRedo=Fp,t.UserHandle=Ad,t.Vector=hd,t.ZoomPanTool=Zh,t.addChildToContainer=vr,t.alignChildBasedOnaPoint=ko,t.alignElement=Vd,t.alignLabelOnSegments=Mn,t.arrangeChild=mo,t.bBoxText=_,t.bezierPoints=Hr,t.canMeasureDecoratorPath=Ao,t.canResizeCorner=no,t.canShowControlPoints=ao,t.canShowCorner=oo,t.changeOldFlipDirectionType=_n,t.checkBrowserInfo=To,t.checkChildNodeInContainer=fr,t.checkParentAsContainer=ur,t.checkPort=qd,t.checkPortRestriction=so,t.cloneArray=N,t.cloneBlazorObject=Do,t.cloneObject=k,t.cloneSelectedObjects=Ud,t.completeRegion=Jr,t.contains=Mr,t.containsBounds=Ro,t.contextMenuBeforeItemRender="contextMenuBeforeItemRender",t.contextMenuClick="contextMenuClick",t.contextMenuOpen="contextMenuOpen",t.cornersPointsBeforeRotation=L,t.createHelper=pr,t.deserialize=Wn,t.extendArray=j,t.extendObject=R,t.findAngle=_t,t.findAnnotation=ho,t.findBounds=cr,t.findConnectorPoints=st,t.findDistance=Jd,t.findMargin=Wt,t.findNearestPoint=hn,t.findNodeByName=$r,t.findObjectIndex=po,t.findObjectType=tn,t.findParentInSwimlane=Eo,t.findPath=Kd,t.findPoint=Ft,t.findPort=lo,t.findPortIndex=go,t.findPortToolToActivate=Tr,t.findToolToActivate=Cr,t.flipConnector=Fd,t.getAlignedPosition=On,t.getAlignedPositionForPorts=Tn,t.getAnnotationPosition=Cn,t.getBasicShape=q,t.getBezierBounds=jr,t.getBezierDirection=En,t.getBezierPoints=Rr,t.getBounds=z,t.getBpmnGatewayShapePathData=ss,t.getBpmnLoopShapePathData=ds,t.getBpmnShapePathData=os,t.getBpmnTaskShapePathData=hs,t.getBpmnTriggerShapePathData=as,t.getChild=zn,t.getCollectionChangeEventArguements=Io,t.getConnectorArrowType=zo,t.getConnectorDirection=Qd,t.getCursor=kr,t.getDecoratorShape=it,t.getDirection=Br,t.getDropEventArguements=Co,t.getElement=So,t.getFlippedPoint=Bo,t.getFlowShape=at,t.getFreeHandPath=d,t.getFunction=Z,t.getIconShape=ot,t.getInOutConnectPorts=co,t.getIndex=M,t.getInternalProperties=B,t.getIntersection=Xt,t.getIntersectionPoints=Gt,t.getInterval=nn,t.getLineSegment=yn,t.getObjectFromCollection=uo,t.getObjectType=_d,t.getOffset=G,t.getOffsetOfConnector=An,t.getOffsetOfPorts=Dn,t.getOppositeDirection=xe,t.getOuterBounds=we,t.getPathOffset=Zd,t.getPathString=f,t.getPoint=Po,t.getPoints=vn,t.getPolygonPath=h,t.getPortDirection=Se,t.getPortShape=et,t.getPortsPosition=Pn,t.getPreviewSize=Oo,t.getRectanglePath=s,t.getSegmentThumbShapeHorizontal=rt,t.getSegmentThumbShapeVertical=nt,t.getSpaceValue=rn,t.getString=m,t.getSwimLaneChildren=kn,t.getSymbolSize=Mo,t.getTooltipOffset=bn,t.getUMLActivityShapes=$n,t.getUMLFinalNode=Jn,t.getUserHandlePosition=ro,t.groupHasType=cn,t.hasSelection=Er,t.hasSingleConnection=Lr,t.identityMatrix=y,t.initFixedUserHandlesSymbol=xn,t.initTooltip=K,t.insertObject=bo,t.intersect2=mn,t.intersect3=fn,t.isDiagramChild=ln,t.isEmptyVector=Nr,t.isLabelFlipped=No,t.isPointOverConnector=un,t.isSelected=zr,t.menuClass=Lp,t.middleElement=F,t.moveChildInStack=Ir,t.multiplyMatrix=D,t.orthoConnection2Segment=he,t.overFlow=Y,t.parsePathData=a,t.pathSegmentCollection=l,t.processPathData=o,t.randomId=O,t.removeChildInContainer=lr,t.removeChildNodes=Ln,t.removeGradient=to,t.removeItem=eo,t.removeUnnecessaryNodes=Bn,t.renderContainerHelper=gr,t.renderStackHighlighter=xr,t.rotateAfterFlip=Xd,t.rotateMatrix=S,t.rotatePoint=U,t.rotateSize=X,t.scaleElement=fo,t.scaleMatrix=w,t.scalePathData=g,t.selectionHasConnector=Lo,t.serialize=Nn,t.setConnectorDefaults=sn,t.setPortsEdges=on,t.setSwimLaneDefaults=en,t.setUMLActivityDefaults=an,t.sort=In,t.sortNodeCollection=vo,t.splitArrayCollection=u,t.swapBounds=At,t.templateCompiler=E,t.textAlignToString=H,t.transformPath=c,t.transformPointByMatrix=v,t.transformPointsByMatrix=b,t.translateMatrix=x,t.updateCanvasBounds=dr,t.updateConnector=io,t.updateContent=Kn,t.updateDefaultValues=pn,t.updateHyperlink=Gn,t.updateLaneBoundsAfterAddChild=wr,t.updateLaneBoundsWithSelector=Sr,t.updateLayoutValue=gn,t.updatePathElement=Gd,t.updatePortEdges=Yd,t.updateScrollSettingsOffset=Vn,t.updateShape=qn,t.updateShapeContent=Zn,t.updateStyle=Xn,t.updateTooltip=$,t.updateUmlActivityNode=Qn,t.updateZindex=yr,t.updatedSegment=p,t.upgrade=Yn,t.whiteSpaceToString=V,t.wordBreakToString=W,t}({},ej.base,ej.popups,ej.data,ej.navigations),this.ejs=ej;
//# sourceMappingURL=ej2-diagrams.min.js.map