Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jgraph/drawio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/webapp/js/viewer-static.min.js')
-rw-r--r--src/main/webapp/js/viewer-static.min.js163
1 files changed, 82 insertions, 81 deletions
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index 69f7ceea..150cba86 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -111,7 +111,7 @@ if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==url
"se.diagrams.net"==window.location.hostname&&(urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0",urlParams.plugins="0",urlParams.mode="google",urlParams.lockdown="1",window.DRAWIO_GOOGLE_APP_ID=window.DRAWIO_GOOGLE_APP_ID||"184079235871",window.DRAWIO_GOOGLE_CLIENT_ID=window.DRAWIO_GOOGLE_CLIENT_ID||"184079235871-pjf5nn0lff27lk8qf0770gmffiv9gt61.apps.googleusercontent.com");"trello"==urlParams.mode&&(urlParams.tr="1");
"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.DOM_PURIFY_CONFIG=window.DOM_PURIFY_CONFIG||{ADD_TAGS:["use"],FORBID_TAGS:["form"],ALLOWED_URI_REGEXP:/^((?!javascript:).)*$/i,ADD_ATTR:["target","content"]};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";
window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;
-window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"20.2.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
+window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"20.2.7",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),
IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),
IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform)||navigator.userAgent.match(/Mac/)&&navigator.maxTouchPoints&&2<navigator.maxTouchPoints,IS_WEBVIEW:/((iPhone|iPod|iPad).*AppleWebKit(?!.*Version)|; wv)/i.test(navigator.userAgent),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&
0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!==
@@ -364,9 +364,9 @@ mxMorphing.prototype.getOriginForCell=function(a){var b=null;if(null!=a){var c=t
mxImageBundle.prototype.alt=null;mxImageBundle.prototype.putImage=function(a,b,c){this.images[a]={value:b,fallback:c}};mxImageBundle.prototype.getImage=function(a){var b=null;null!=a&&(a=this.images[a],null!=a&&(b=this.alt?a.fallback:a.value));return b};function mxImageExport(){}mxImageExport.prototype.includeOverlays=!1;
mxImageExport.prototype.drawState=function(a,b){null!=a&&(this.visitStatesRecursive(a,b,mxUtils.bind(this,function(){this.drawCellState.apply(this,arguments)})),this.includeOverlays&&this.visitStatesRecursive(a,b,mxUtils.bind(this,function(){this.drawOverlays.apply(this,arguments)})))};
mxImageExport.prototype.visitStatesRecursive=function(a,b,c){if(null!=a){c(a,b);for(var d=a.view.graph,e=d.model.getChildCount(a.cell),f=0;f<e;f++){var g=d.view.getState(d.model.getChildAt(a.cell,f));this.visitStatesRecursive(g,b,c)}}};mxImageExport.prototype.getLinkForCellState=function(a,b){return null};mxImageExport.prototype.getLinkTargetForCellState=function(a,b){return null};
-mxImageExport.prototype.drawCellState=function(a,b){var c=this.getLinkForCellState(a,b);null!=c&&b.setLink(c,this.getLinkTargetForCellState(a,b));this.drawShape(a,b);this.drawText(a,b);null!=c&&b.setLink(null)};mxImageExport.prototype.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),a.shape.beforePaint(b),a.shape.paint(b),a.shape.afterPaint(b),b.restore())};
-mxImageExport.prototype.drawText=function(a,b){null!=a.text&&a.text.checkBounds()&&(b.save(),a.text.beforePaint(b),a.text.paint(b),a.text.afterPaint(b),b.restore())};mxImageExport.prototype.drawOverlays=function(a,b){null!=a.overlays&&a.overlays.visit(function(c,d){d instanceof mxShape&&d.paint(b)})};function mxAbstractCanvas2D(){this.converter=this.createUrlConverter();this.reset()}mxAbstractCanvas2D.prototype.state=null;mxAbstractCanvas2D.prototype.states=null;
-mxAbstractCanvas2D.prototype.path=null;mxAbstractCanvas2D.prototype.rotateHtml=!0;mxAbstractCanvas2D.prototype.lastX=0;mxAbstractCanvas2D.prototype.lastY=0;mxAbstractCanvas2D.prototype.moveOp="M";mxAbstractCanvas2D.prototype.lineOp="L";mxAbstractCanvas2D.prototype.quadOp="Q";mxAbstractCanvas2D.prototype.curveOp="C";mxAbstractCanvas2D.prototype.closeOp="Z";mxAbstractCanvas2D.prototype.pointerEvents=!1;mxAbstractCanvas2D.prototype.createUrlConverter=function(){return new mxUrlConverter};
+mxImageExport.prototype.drawCellState=function(a,b){var c=this.getLinkForCellState(a,b);null!=c&&b.setLink(c,this.getLinkTargetForCellState(a,b));this.drawShape(a,b);this.drawText(a,b);null!=c&&b.setLink(null)};mxImageExport.prototype.drawShape=function(a,b){a.shape instanceof mxShape&&this.doDrawShape(a.shape,b)};mxImageExport.prototype.drawText=function(a,b){this.doDrawShape(a.text,b)};
+mxImageExport.prototype.doDrawShape=function(a,b){null!=a&&a.checkBounds()&&(b.save(),a.beforePaint(b),a.paint(b),a.afterPaint(b),b.restore())};mxImageExport.prototype.drawOverlays=function(a,b){null!=a.overlays&&a.overlays.visit(function(c,d){d instanceof mxShape&&d.paint(b)})};function mxAbstractCanvas2D(){this.converter=this.createUrlConverter();this.reset()}mxAbstractCanvas2D.prototype.state=null;mxAbstractCanvas2D.prototype.states=null;mxAbstractCanvas2D.prototype.path=null;
+mxAbstractCanvas2D.prototype.rotateHtml=!0;mxAbstractCanvas2D.prototype.lastX=0;mxAbstractCanvas2D.prototype.lastY=0;mxAbstractCanvas2D.prototype.moveOp="M";mxAbstractCanvas2D.prototype.lineOp="L";mxAbstractCanvas2D.prototype.quadOp="Q";mxAbstractCanvas2D.prototype.curveOp="C";mxAbstractCanvas2D.prototype.closeOp="Z";mxAbstractCanvas2D.prototype.pointerEvents=!1;mxAbstractCanvas2D.prototype.createUrlConverter=function(){return new mxUrlConverter};
mxAbstractCanvas2D.prototype.reset=function(){this.state=this.createState();this.states=[]};
mxAbstractCanvas2D.prototype.createState=function(){return{dx:0,dy:0,scale:1,alpha:1,fillAlpha:1,strokeAlpha:1,fillColor:null,gradientFillAlpha:1,gradientColor:null,gradientAlpha:1,gradientDirection:null,strokeColor:null,strokeWidth:1,dashed:!1,dashPattern:"3 3",fixDash:!1,lineCap:"flat",lineJoin:"miter",miterLimit:10,fontColor:"#000000",fontBackgroundColor:null,fontBorderColor:null,fontSize:mxConstants.DEFAULT_FONTSIZE,fontFamily:mxConstants.DEFAULT_FONTFAMILY,fontStyle:0,shadow:!1,shadowColor:mxConstants.SHADOWCOLOR,
shadowAlpha:mxConstants.SHADOW_OPACITY,shadowDx:mxConstants.SHADOW_OFFSET_X,shadowDy:mxConstants.SHADOW_OFFSET_Y,rotation:0,rotationCx:0,rotationCy:0}};mxAbstractCanvas2D.prototype.format=function(a){return Math.round(parseFloat(a))};
@@ -2572,79 +2572,79 @@ Ma,(this.view.translate.y+this.backgroundImage.y)*Ma,this.backgroundImage.width*
X?-.5:0;eb.textOffset=X?-.5:0;eb.imageOffset=X?-.5:0;eb.translate(Math.floor(N/M-Ca.x/Ma),Math.floor(N/M-Ca.y/Ma));var cb=document.createElement("div"),ub=eb.getAlternateText;eb.getAlternateText=function(ab,ib,gb,qb,nb,mb,Bb,wb,rb,vb,kb,hb,tb){if(null!=mb&&0<this.state.fontSize)try{mxUtils.isNode(mb)?mb=mb.innerText:(cb.innerHTML=mb,mb=mxUtils.extractTextWithWhitespace(cb.childNodes));for(var Cb=Math.ceil(2*qb/this.state.fontSize),xb=[],zb=0,ob=0;(0==Cb||zb<Cb)&&ob<mb.length;){var yb=mb.charCodeAt(ob);
if(10==yb||13==yb){if(0<zb)break}else xb.push(mb.charAt(ob)),255>yb&&zb++;ob++}xb.length<mb.length&&1<mb.length-xb.length&&(mb=mxUtils.trim(xb.join(""))+"...");return mb}catch(Ab){return ub.apply(this,arguments)}else return ub.apply(this,arguments)};var fb=this.backgroundImage;if(null!=fb){y=Ma/M;var pb=this.view.translate;ua=new mxRectangle((fb.x+pb.x)*y,(fb.y+pb.y)*y,fb.width*y,fb.height*y);mxUtils.intersects(Ca,ua)&&eb.image(fb.x+pb.x,fb.y+pb.y,fb.width,fb.height,fb.src,!0)}eb.scale(S);eb.textEnabled=
la;xa=null!=xa?xa:this.createSvgImageExport();var lb=xa.drawCellState,$a=xa.getLinkForCellState;xa.getLinkForCellState=function(ab,ib){var gb=$a.apply(this,arguments);return null==gb||ab.view.graph.isCustomLink(gb)?null:gb};xa.getLinkTargetForCellState=function(ab,ib){return ab.view.graph.getLinkTargetForCell(ab.cell)};xa.drawCellState=function(ab,ib){for(var gb=ab.view.graph,qb=null!=Oa?Oa.get(ab.cell):gb.isCellSelected(ab.cell),nb=gb.model.getParent(ab.cell);!(ha&&null==Oa||qb)&&null!=nb;)qb=null!=
-Oa?Oa.get(nb):gb.isCellSelected(nb),nb=gb.model.getParent(nb);(ha&&null==Oa||qb)&&lb.apply(this,arguments)};xa.drawState(this.getView().getState(this.model.root),eb);this.updateSvgLinks(Ga,sa,!0);this.addForeignObjectWarning(eb,Ga);return Ga}finally{La&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(y,M){if("0"!=urlParams["svg-warning"]&&0<M.getElementsByTagName("foreignObject").length){var N=y.createElement("switch"),S=y.createElement("g");
-S.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility");var X=y.createElement("a");X.setAttribute("transform","translate(0,-5)");null==X.setAttributeNS||M.ownerDocument!=document&&null==document.documentMode?(X.setAttribute("xlink:href",Graph.foreignObjectWarningLink),X.setAttribute("target","_blank")):(X.setAttributeNS(mxConstants.NS_XLINK,"xlink:href",Graph.foreignObjectWarningLink),X.setAttributeNS(mxConstants.NS_XLINK,"target","_blank"));y=y.createElement("text");
-y.setAttribute("text-anchor","middle");y.setAttribute("font-size","10px");y.setAttribute("x","50%");y.setAttribute("y","100%");mxUtils.write(y,Graph.foreignObjectWarningText);N.appendChild(S);X.appendChild(y);N.appendChild(X);M.appendChild(N)}};Graph.prototype.updateSvgLinks=function(y,M,N){y=y.getElementsByTagName("a");for(var S=0;S<y.length;S++)if(null==y[S].getAttribute("target")){var X=y[S].getAttribute("href");null==X&&(X=y[S].getAttribute("xlink:href"));null!=X&&(null!=M&&/^https?:\/\//.test(X)?
-y[S].setAttribute("target",M):N&&this.isCustomLink(X)&&y[S].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(y){y=new mxSvgCanvas2D(y);y.minStrokeWidth=this.cellRenderer.minSvgStrokeWidth;y.pointerEvents=!0;return y};Graph.prototype.getSelectedElement=function(){var y=null;if(window.getSelection){var M=window.getSelection();M.getRangeAt&&M.rangeCount&&(y=M.getRangeAt(0).commonAncestorContainer)}else document.selection&&(y=document.selection.createRange().parentElement());
-return y};Graph.prototype.getSelectedEditingElement=function(){for(var y=this.getSelectedElement();null!=y&&y.nodeType!=mxConstants.NODETYPE_ELEMENT;)y=y.parentNode;null!=y&&y==this.cellEditor.textarea&&1==this.cellEditor.textarea.children.length&&this.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(y=this.cellEditor.textarea.firstChild);return y};Graph.prototype.getParentByName=function(y,M,N){for(;null!=y&&y.nodeName!=M;){if(y==N)return null;y=y.parentNode}return y};Graph.prototype.getParentByNames=
-function(y,M,N){for(;null!=y&&!(0<=mxUtils.indexOf(M,y.nodeName));){if(y==N)return null;y=y.parentNode}return y};Graph.prototype.selectNode=function(y){var M=null;if(window.getSelection){if(M=window.getSelection(),M.getRangeAt&&M.rangeCount){var N=document.createRange();N.selectNode(y);M.removeAllRanges();M.addRange(N)}}else(M=document.selection)&&"Control"!=M.type&&(y=M.createRange(),y.collapse(!0),N=M.createRange(),N.setEndPoint("StartToStart",y),N.select())};Graph.prototype.flipEdgePoints=function(y,
-M,N){var S=this.getCellGeometry(y);if(null!=S){S=S.clone();if(null!=S.points)for(var X=0;X<S.points.length;X++)M?S.points[X].x=N+(N-S.points[X].x):S.points[X].y=N+(N-S.points[X].y);X=function(ha){null!=ha&&(M?ha.x=N+(N-ha.x):ha.y=N+(N-ha.y))};X(S.getTerminalPoint(!0));X(S.getTerminalPoint(!1));this.model.setGeometry(y,S)}};Graph.prototype.flipChildren=function(y,M,N){this.model.beginUpdate();try{for(var S=this.model.getChildCount(y),X=0;X<S;X++){var ha=this.model.getChildAt(y,X);if(this.model.isEdge(ha))this.flipEdgePoints(ha,
-M,N);else{var la=this.getCellGeometry(ha);null!=la&&(la=la.clone(),M?la.x=N+(N-la.x-la.width):la.y=N+(N-la.y-la.height),this.model.setGeometry(ha,la))}}}finally{this.model.endUpdate()}};Graph.prototype.flipCells=function(y,M){this.model.beginUpdate();try{y=this.model.getTopmostCells(y);for(var N=[],S=0;S<y.length;S++)if(this.model.isEdge(y[S])){var X=this.view.getState(y[S]);null!=X&&this.flipEdgePoints(y[S],M,(M?X.getCenterX():X.getCenterY())/this.view.scale-(M?X.origin.x:X.origin.y)-(M?this.view.translate.x:
-this.view.translate.y))}else{var ha=this.getCellGeometry(y[S]);null!=ha&&this.flipChildren(y[S],M,M?ha.getCenterX()-ha.x:ha.getCenterY()-ha.y);N.push(y[S])}this.toggleCellStyles(M?mxConstants.STYLE_FLIPH:mxConstants.STYLE_FLIPV,!1,N)}finally{this.model.endUpdate()}};Graph.prototype.deleteCells=function(y,M){var N=null;if(null!=y&&0<y.length){this.model.beginUpdate();try{for(var S=0;S<y.length;S++){var X=this.model.getParent(y[S]);if(this.isTable(X)){var ha=this.getCellGeometry(y[S]),la=this.getCellGeometry(X);
-null!=ha&&null!=la&&(la=la.clone(),la.height-=ha.height,this.model.setGeometry(X,la))}}var xa=this.selectParentAfterDelete?this.model.getParents(y):null;this.removeCells(y,M)}finally{this.model.endUpdate()}if(null!=xa)for(N=[],S=0;S<xa.length;S++)this.model.contains(xa[S])&&(this.model.isVertex(xa[S])||this.model.isEdge(xa[S]))&&N.push(xa[S])}return N};Graph.prototype.insertTableColumn=function(y,M){var N=this.getModel();N.beginUpdate();try{var S=y,X=0;if(this.isTableCell(y)){var ha=N.getParent(y);
-S=N.getParent(ha);X=mxUtils.indexOf(N.getChildCells(ha,!0),y)}else this.isTableRow(y)?S=N.getParent(y):y=N.getChildCells(S,!0)[0],M||(X=N.getChildCells(y,!0).length-1);var la=N.getChildCells(S,!0),xa=Graph.minTableColumnWidth;for(y=0;y<la.length;y++){var sa=N.getChildCells(la[y],!0)[X],ya=N.cloneCell(sa,!1),Fa=this.getCellGeometry(ya);ya.value=null;ya.style=mxUtils.setStyle(mxUtils.setStyle(ya.style,"rowspan",null),"colspan",null);if(null!=Fa){null!=Fa.alternateBounds&&(Fa.width=Fa.alternateBounds.width,
-Fa.height=Fa.alternateBounds.height,Fa.alternateBounds=null);xa=Fa.width;var wa=this.getCellGeometry(la[y]);null!=wa&&(Fa.height=wa.height)}N.add(la[y],ya,X+(M?0:1))}var ua=this.getCellGeometry(S);null!=ua&&(ua=ua.clone(),ua.width+=xa,N.setGeometry(S,ua))}finally{N.endUpdate()}};Graph.prototype.deleteLane=function(y){var M=this.getModel();M.beginUpdate();try{var N=null;N="stackLayout"==this.getCurrentCellStyle(y).childLayout?y:M.getParent(y);var S=M.getChildCells(N,!0);0==S.length?M.remove(N):(N==
-y&&(y=S[S.length-1]),M.remove(y))}finally{M.endUpdate()}};Graph.prototype.insertLane=function(y,M){var N=this.getModel();N.beginUpdate();try{var S=null;if("stackLayout"==this.getCurrentCellStyle(y).childLayout){S=y;var X=N.getChildCells(S,!0);y=X[M?0:X.length-1]}else S=N.getParent(y);var ha=S.getIndex(y);y=N.cloneCell(y,!1);y.value=null;N.add(S,y,ha+(M?0:1))}finally{N.endUpdate()}};Graph.prototype.insertTableRow=function(y,M){var N=this.getModel();N.beginUpdate();try{var S=y,X=y;if(this.isTableCell(y))X=
-N.getParent(y),S=N.getParent(X);else if(this.isTableRow(y))S=N.getParent(y);else{var ha=N.getChildCells(S,!0);X=ha[M?0:ha.length-1]}var la=N.getChildCells(X,!0),xa=S.getIndex(X);X=N.cloneCell(X,!1);X.value=null;var sa=this.getCellGeometry(X);if(null!=sa){for(ha=0;ha<la.length;ha++){y=N.cloneCell(la[ha],!1);y.value=null;y.style=mxUtils.setStyle(mxUtils.setStyle(y.style,"rowspan",null),"colspan",null);var ya=this.getCellGeometry(y);null!=ya&&(null!=ya.alternateBounds&&(ya.width=ya.alternateBounds.width,
-ya.height=ya.alternateBounds.height,ya.alternateBounds=null),ya.height=sa.height);X.insert(y)}N.add(S,X,xa+(M?0:1));var Fa=this.getCellGeometry(S);null!=Fa&&(Fa=Fa.clone(),Fa.height+=sa.height,N.setGeometry(S,Fa))}}finally{N.endUpdate()}};Graph.prototype.deleteTableColumn=function(y){var M=this.getModel();M.beginUpdate();try{var N=y,S=y;this.isTableCell(y)&&(S=M.getParent(y));this.isTableRow(S)&&(N=M.getParent(S));var X=M.getChildCells(N,!0);if(0==X.length)M.remove(N);else{this.isTableRow(S)||(S=
-X[0]);var ha=M.getChildCells(S,!0);if(1>=ha.length)M.remove(N);else{var la=ha.length-1;this.isTableCell(y)&&(la=mxUtils.indexOf(ha,y));for(S=y=0;S<X.length;S++){var xa=M.getChildCells(X[S],!0)[la];M.remove(xa);var sa=this.getCellGeometry(xa);null!=sa&&(y=Math.max(y,sa.width))}var ya=this.getCellGeometry(N);null!=ya&&(ya=ya.clone(),ya.width-=y,M.setGeometry(N,ya))}}}finally{M.endUpdate()}};Graph.prototype.deleteTableRow=function(y){var M=this.getModel();M.beginUpdate();try{var N=y,S=y;this.isTableCell(y)&&
-(y=S=M.getParent(y));this.isTableRow(y)&&(N=M.getParent(S));var X=M.getChildCells(N,!0);if(1>=X.length)M.remove(N);else{this.isTableRow(S)||(S=X[X.length-1]);M.remove(S);y=0;var ha=this.getCellGeometry(S);null!=ha&&(y=ha.height);var la=this.getCellGeometry(N);null!=la&&(la=la.clone(),la.height-=y,M.setGeometry(N,la))}}finally{M.endUpdate()}};Graph.prototype.insertRow=function(y,M){for(var N=y.tBodies[0],S=N.rows[0].cells,X=y=0;X<S.length;X++){var ha=S[X].getAttribute("colspan");y+=null!=ha?parseInt(ha):
-1}M=N.insertRow(M);for(X=0;X<y;X++)mxUtils.br(M.insertCell(-1));return M.cells[0]};Graph.prototype.deleteRow=function(y,M){y.tBodies[0].deleteRow(M)};Graph.prototype.insertColumn=function(y,M){var N=y.tHead;if(null!=N)for(var S=0;S<N.rows.length;S++){var X=document.createElement("th");N.rows[S].appendChild(X);mxUtils.br(X)}y=y.tBodies[0];for(N=0;N<y.rows.length;N++)S=y.rows[N].insertCell(M),mxUtils.br(S);return y.rows[0].cells[0<=M?M:y.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(y,
-M){if(0<=M){y=y.tBodies[0].rows;for(var N=0;N<y.length;N++)y[N].cells.length>M&&y[N].deleteCell(M)}};Graph.prototype.pasteHtmlAtCaret=function(y){if(window.getSelection){var M=window.getSelection();if(M.getRangeAt&&M.rangeCount){M=M.getRangeAt(0);M.deleteContents();var N=document.createElement("div");N.innerHTML=y;y=document.createDocumentFragment();for(var S;S=N.firstChild;)lastNode=y.appendChild(S);M.insertNode(y)}}else(M=document.selection)&&"Control"!=M.type&&M.createRange().pasteHTML(y)};Graph.prototype.createLinkForHint=
-function(y,M){function N(X,ha){X.length>ha&&(X=X.substring(0,Math.round(ha/2))+"..."+X.substring(X.length-Math.round(ha/4)));return X}y=null!=y?y:"javascript:void(0);";if(null==M||0==M.length)M=this.isCustomLink(y)?this.getLinkTitle(y):y;var S=document.createElement("a");S.setAttribute("rel",this.linkRelation);S.setAttribute("href",this.getAbsoluteUrl(y));S.setAttribute("title",N(this.isCustomLink(y)?this.getLinkTitle(y):y,80));null!=this.linkTarget&&S.setAttribute("target",this.linkTarget);mxUtils.write(S,
-N(M,40));this.isCustomLink(y)&&mxEvent.addListener(S,"click",mxUtils.bind(this,function(X){this.customLinkClicked(y);mxEvent.consume(X)}));return S};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(ha,la){this.popupMenuHandler.hideMenu()});var y=this.updateMouseEvent;this.updateMouseEvent=function(ha){ha=y.apply(this,arguments);if(mxEvent.isTouchEvent(ha.getEvent())&&
-null==ha.getState()){var la=this.getCellAt(ha.graphX,ha.graphY);null!=la&&this.isSwimlane(la)&&this.hitsSwimlaneContent(la,ha.graphX,ha.graphY)||(ha.state=this.view.getState(la),null!=ha.state&&null!=ha.state.shape&&(this.container.style.cursor=ha.state.shape.node.style.cursor))}null==ha.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return ha};var M=!1,N=!1,S=!1,X=this.fireMouseEvent;this.fireMouseEvent=function(ha,la,xa){ha==mxEvent.MOUSE_DOWN&&(la=this.updateMouseEvent(la),
-M=this.isCellSelected(la.getCell()),N=this.isSelectionEmpty(),S=this.popupMenuHandler.isMenuShowing());X.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(ha,la){var xa=mxEvent.isMouseEvent(la.getEvent());this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==la.getState()||!la.isSource(la.getState().control))&&(this.popupMenuHandler.popupTrigger||!S&&!xa&&(N&&null==la.getCell()&&this.isSelectionEmpty()||M&&this.isCellSelected(la.getCell())));
-xa=!M||xa?null:mxUtils.bind(this,function(sa){window.setTimeout(mxUtils.bind(this,function(){if(!this.isEditing()){var ya=mxUtils.getScrollOrigin();this.popupMenuHandler.popup(la.getX()+ya.x+1,la.getY()+ya.y+1,sa,la.getEvent())}}),500)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,[ha,la,xa])})};mxCellEditor.prototype.isContentEditing=function(){var y=this.graph.view.getState(this.editingCell);return null!=y&&1==y.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=
-this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var y="";window.getSelection?y=window.getSelection():document.getSelection?y=document.getSelection():document.selection&&(y=document.selection.createRange().text);return""!=y};mxCellEditor.prototype.insertTab=function(y){var M=this.textarea.ownerDocument.defaultView.getSelection(),N=M.getRangeAt(0),S="\t";if(null!=y)for(S="";0<y;)S+=" ",y--;y=document.createElement("span");
-y.style.whiteSpace="pre";y.appendChild(document.createTextNode(S));N.insertNode(y);N.setStartAfter(y);N.setEndAfter(y);M.removeAllRanges();M.addRange(N)};mxCellEditor.prototype.alignText=function(y,M){var N=null!=M&&mxEvent.isShiftDown(M);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var S=!0;this.graph.processElements(this.textarea,function(X){N||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),X.style.textAlign=null):S=!1});S&&this.graph.cellEditor.setAlign(y)}document.execCommand("justify"+
-y.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var y=window.getSelection();if(y.getRangeAt&&y.rangeCount){for(var M=[],N=0,S=y.rangeCount;N<S;++N)M.push(y.getRangeAt(N));return M}}else if(document.selection&&document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(y){try{if(y)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var M=0,N=y.length;M<
-N;++M)sel.addRange(y[M])}else document.selection&&y.select&&y.select()}catch(S){}};var u=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(y){null!=y.text&&(y.text.replaceLinefeeds="0"!=mxUtils.getValue(y.style,"nl2Br","1"));u.apply(this,arguments)};var H=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(y,M){this.isKeepFocusEvent(y)||!mxEvent.isAltDown(y.getEvent())?H.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=
-function(y){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var K=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(y,M){y=this.graph.getStartEditingCell(y,M);K.apply(this,arguments);var N=this.graph.view.getState(y);this.textarea.className=null!=N&&1==N.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(y);
-N=this.graph.getModel().getParent(y);var S=this.graph.getCellGeometry(y);if(this.graph.getModel().isEdge(N)&&null!=S&&S.relative||this.graph.getModel().isEdge(y))this.textarea.style.outline=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":""};var C=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(y){function M(X,ha){ha.originalNode=X;X=X.firstChild;for(var la=ha.firstChild;null!=X&&null!=la;)M(X,la),X=X.nextSibling,la=la.nextSibling;
-return ha}function N(X,ha){if(null!=X)if(ha.originalNode!=X)S(X);else for(X=X.firstChild,ha=ha.firstChild;null!=X;){var la=X.nextSibling;null==ha?S(X):(N(X,ha),ha=ha.nextSibling);X=la}}function S(X){for(var ha=X.firstChild;null!=ha;){var la=ha.nextSibling;S(ha);ha=la}1==X.nodeType&&("BR"===X.nodeName||null!=X.firstChild)||3==X.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(X)).length?(3==X.nodeType&&mxUtils.setTextContent(X,mxUtils.getTextContent(X).replace(/\n|\r/g,"")),1==X.nodeType&&(X.removeAttribute("style"),
-X.removeAttribute("class"),X.removeAttribute("width"),X.removeAttribute("cellpadding"),X.removeAttribute("cellspacing"),X.removeAttribute("border"))):X.parentNode.removeChild(X)}C.apply(this,arguments);7!==document.documentMode&&8!==document.documentMode&&mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(X){var ha=M(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||
-0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>")?N(this.textarea,ha):Graph.removePasteFormatting(this.textarea))}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var y=this.graph.view.getState(this.editingCell);if(null!=y){var M=null!=y&&"0"!=mxUtils.getValue(y.style,"nl2Br","1"),N=this.saveSelection();if(this.codeViewMode){xa=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<xa.length&&"\n"==xa.charAt(xa.length-1)&&(xa=xa.substring(0,xa.length-1));xa=this.graph.sanitizeHtml(M?
-xa.replace(/\n/g,"<br/>"):xa,!0);this.textarea.className="mxCellEditor geContentEditable";sa=mxUtils.getValue(y.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE);M=mxUtils.getValue(y.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var S=mxUtils.getValue(y.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),X=(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,ha=(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,
-0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,la=[];(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&la.push("underline");(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&la.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(sa*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=
-Math.round(sa)+"px";this.textarea.style.textDecoration=la.join(" ");this.textarea.style.fontWeight=X?"bold":"normal";this.textarea.style.fontStyle=ha?"italic":"";this.textarea.style.fontFamily=M;this.textarea.style.textAlign=S;this.textarea.style.padding="0px";this.textarea.innerHTML!=xa&&(this.textarea.innerHTML=xa,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode=!1}else{this.clearOnChange&&
-this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerText="");var xa=mxUtils.htmlEntities(this.textarea.innerHTML);8!=document.documentMode&&(xa=mxUtils.replaceTrailingNewlines(xa,"<div><br></div>"));xa=this.graph.sanitizeHtml(M?xa.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):xa,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var sa=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(sa*
-mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(sa)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=xa&&(this.textarea.innerHTML=xa);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&
-this.restoreSelection(this.switchSelectionState);this.switchSelectionState=N;this.resize()}};var G=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(y,M){if(null!=this.textarea)if(y=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=y){var N=y.view.scale;this.bounds=mxRectangle.fromRectangle(y);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*N;this.bounds.height=60*N;var S=null!=y.text?y.text.margin:null;null==S&&(S=mxUtils.getAlignmentAsPoint(mxUtils.getValue(y.style,
-mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(y.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=S.x*this.bounds.width;this.bounds.y+=S.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/N)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/N)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/N)+(this.textarea.offsetHeight-
-this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*N);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/N)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*N);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+N+","+
-N+")")}else this.textarea.style.height="",this.textarea.style.overflow="",G.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(y,M){if("0"==mxUtils.getValue(y.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var N=this.graph.getEditingValue(y.cell,M);"1"==mxUtils.getValue(y.style,"nl2Br","1")&&(N=N.replace(/\n/g,"<br/>"));return N=this.graph.sanitizeHtml(N,!0)};mxCellEditorGetCurrentValue=
-mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(y){if("0"==mxUtils.getValue(y.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var M=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return M="1"==mxUtils.getValue(y.style,"nl2Br","1")?M.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):M.replace(/\r\n/g,"").replace(/\n/g,"")};var V=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(y){this.codeViewMode&&this.toggleViewMode();
-V.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(y){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(y,M){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==M&&this.graph.isCellDeletable(y.cell)&&0==this.graph.model.getChildCount(y.cell)&&this.graph.isTransparentState(y)&&this.graph.removeCells([y.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=
-function(y){var M=mxUtils.getValue(y.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=M&&M!=mxConstants.NONE||!(null!=y.cell.geometry&&0<y.cell.geometry.width)||0==mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(y.style,mxConstants.STYLE_HORIZONTAL,1)||(M=mxUtils.getValue(y.style,mxConstants.STYLE_FILLCOLOR,null));M==mxConstants.NONE&&(M=null);return M};mxCellEditor.prototype.getBorderColor=function(y){var M=mxUtils.getValue(y.style,mxConstants.STYLE_LABEL_BORDERCOLOR,
-null);null!=M&&M!=mxConstants.NONE||!(null!=y.cell.geometry&&0<y.cell.geometry.width)||0==mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(y.style,mxConstants.STYLE_HORIZONTAL,1)||(M=mxUtils.getValue(y.style,mxConstants.STYLE_STROKECOLOR,null));M==mxConstants.NONE&&(M=null);return M};mxCellEditor.prototype.getMinimumSize=function(y){var M=this.graph.getView().scale;return new mxRectangle(0,0,null==y.text?30:y.text.size*M+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;
-mxGraphHandler.prototype.isValidDropTarget=function(y,M){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(M.getEvent)};mxGraphView.prototype.formatUnitText=function(y){return y?e(y,this.unit):y};mxGraphHandler.prototype.updateHint=function(y){if(null!=this.pBounds&&(null!=this.shape||this.livePreviewActive)){null==this.hint&&(this.hint=b(),this.graph.container.appendChild(this.hint));var M=this.graph.view.translate,N=this.graph.view.scale;y=this.roundLength((this.bounds.x+
-this.currentDx)/N-M.x);M=this.roundLength((this.bounds.y+this.currentDy)/N-M.y);N=this.graph.view.unit;this.hint.innerHTML=e(y,N)+", "+e(M,N);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;
-mxStackLayout.prototype.resizeCell=function(y,M){Y.apply(this,arguments);var N=this.graph.getCellStyle(y);if(null==N.childLayout){var S=this.graph.model.getParent(y),X=null!=S?this.graph.getCellGeometry(S):null;if(null!=X&&(N=this.graph.getCellStyle(S),"stackLayout"==N.childLayout)){var ha=parseFloat(mxUtils.getValue(N,"stackBorder",mxStackLayout.prototype.border));N="1"==mxUtils.getValue(N,"horizontalStack","1");var la=this.graph.getActualStartSize(S);X=X.clone();N?X.height=M.height+la.y+la.height+
-2*ha:X.width=M.width+la.x+la.width+2*ha;this.graph.model.setGeometry(S,X)}}};var O=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function y(xa){N.get(xa)||(N.put(xa,!0),X.push(xa))}for(var M=O.apply(this,arguments),N=new mxDictionary,S=this.graph.model,X=[],ha=0;ha<M.length;ha++){var la=M[ha];this.graph.isTableCell(la)?y(S.getParent(S.getParent(la))):this.graph.isTableRow(la)&&y(S.getParent(la));y(la)}return X};var qa=
-mxVertexHandler.prototype.createParentHighlightShape;mxVertexHandler.prototype.createParentHighlightShape=function(y){var M=qa.apply(this,arguments);M.stroke="#C0C0C0";M.strokewidth=1;return M};var oa=mxEdgeHandler.prototype.createParentHighlightShape;mxEdgeHandler.prototype.createParentHighlightShape=function(y){var M=oa.apply(this,arguments);M.stroke="#C0C0C0";M.strokewidth=1;return M};mxVertexHandler.prototype.rotationHandleVSpacing=-12;mxVertexHandler.prototype.getRotationHandlePosition=function(){var y=
-this.getHandlePadding();return new mxPoint(this.bounds.x+this.bounds.width-this.rotationHandleVSpacing+y.x/2,this.bounds.y+this.rotationHandleVSpacing-y.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(y,M){return this.graph.isRecursiveVertexResize(y)&&!mxEvent.isAltDown(M.getEvent())};mxVertexHandler.prototype.isCenteredEvent=function(y,M){return mxEvent.isControlDown(M.getEvent())||mxEvent.isMetaDown(M.getEvent())};var aa=mxVertexHandler.prototype.isRotationHandleVisible;mxVertexHandler.prototype.isRotationHandleVisible=
-function(){return aa.apply(this,arguments)&&!this.graph.isTableCell(this.state.cell)&&!this.graph.isTableRow(this.state.cell)&&!this.graph.isTable(this.state.cell)};mxVertexHandler.prototype.getSizerBounds=function(){return this.graph.isTableCell(this.state.cell)?this.graph.view.getState(this.graph.model.getParent(this.graph.model.getParent(this.state.cell))):this.bounds};var ca=mxVertexHandler.prototype.isParentHighlightVisible;mxVertexHandler.prototype.isParentHighlightVisible=function(){return ca.apply(this,
-arguments)&&!this.graph.isTableCell(this.state.cell)&&!this.graph.isTableRow(this.state.cell)};var fa=mxVertexHandler.prototype.isCustomHandleVisible;mxVertexHandler.prototype.isCustomHandleVisible=function(y){return y.tableHandle||fa.apply(this,arguments)&&(!this.graph.isTable(this.state.cell)||this.graph.isCellSelected(this.state.cell))};mxVertexHandler.prototype.getSelectionBorderInset=function(){var y=0;this.graph.isTableRow(this.state.cell)?y=1:this.graph.isTableCell(this.state.cell)&&(y=2);
-return y};var J=mxVertexHandler.prototype.getSelectionBorderBounds;mxVertexHandler.prototype.getSelectionBorderBounds=function(){return J.apply(this,arguments).grow(-this.getSelectionBorderInset())};var Z=null,P=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){null==Z&&(Z=mxCellRenderer.defaultShapes.tableLine);var y=P.apply(this,arguments);if(this.graph.isTable(this.state.cell)){var M=function(Oa,Ca,Ma){for(var Ga=[],Ya=0;Ya<Oa.length;Ya++){var db=
-Oa[Ya];Ga.push(null==db?null:new mxPoint((sa+db.x+Ca)*ha,(ya+db.y+Ma)*ha))}return Ga},N=this,S=this.graph,X=S.model,ha=S.view.scale,la=this.state,xa=this.selectionBorder,sa=this.state.origin.x+S.view.translate.x,ya=this.state.origin.y+S.view.translate.y;null==y&&(y=[]);var Fa=S.view.getCellStates(X.getChildCells(this.state.cell,!0));if(0<Fa.length){var wa=X.getChildCells(Fa[0].cell,!0),ua=S.getTableLines(this.state.cell,!1,!0),La=S.getTableLines(this.state.cell,!0,!1);for(X=0;X<Fa.length;X++)mxUtils.bind(this,
-function(Oa){var Ca=Fa[Oa],Ma=Oa<Fa.length-1?Fa[Oa+1]:null;Ma=null!=Ma?S.getCellGeometry(Ma.cell):null;var Ga=null!=Ma&&null!=Ma.alternateBounds?Ma.alternateBounds:Ma;Ma=null!=La[Oa]?new Z(La[Oa],mxConstants.NONE,1):new mxLine(new mxRectangle,mxConstants.NONE,1,!1);Ma.isDashed=xa.isDashed;Ma.svgStrokeTolerance++;Ca=new mxHandle(Ca,"row-resize",null,Ma);Ca.tableHandle=!0;var Ya=0;Ca.shape.node.parentNode.insertBefore(Ca.shape.node,Ca.shape.node.parentNode.firstChild);Ca.redraw=function(){if(null!=
-this.shape){this.shape.stroke=0==Ya?mxConstants.NONE:xa.stroke;if(this.shape.constructor==Z)this.shape.line=M(La[Oa],0,Ya),this.shape.updateBoundsFromLine();else{var eb=S.getActualStartSize(la.cell,!0);this.shape.bounds.height=1;this.shape.bounds.y=this.state.y+this.state.height+Ya*ha;this.shape.bounds.x=la.x+(Oa==Fa.length-1?0:eb.x*ha);this.shape.bounds.width=la.width-(Oa==Fa.length-1?0:eb.width+eb.x+ha)}this.shape.redraw()}};var db=!1;Ca.setPosition=function(eb,cb,ub){Ya=Math.max(Graph.minTableRowHeight-
-eb.height,cb.y-eb.y-eb.height);db=mxEvent.isShiftDown(ub.getEvent());null!=Ga&&db&&(Ya=Math.min(Ya,Ga.height-Graph.minTableRowHeight))};Ca.execute=function(eb){if(0!=Ya)S.setTableRowHeight(this.state.cell,Ya,!db);else if(!N.blockDelayedSelection){var cb=S.getCellAt(eb.getGraphX(),eb.getGraphY())||la.cell;S.graphHandler.selectCellForEvent(cb,eb)}Ya=0};Ca.reset=function(){Ya=0};y.push(Ca)})(X);for(X=0;X<wa.length;X++)mxUtils.bind(this,function(Oa){var Ca=S.view.getState(wa[Oa]),Ma=S.getCellGeometry(wa[Oa]),
-Ga=null!=Ma.alternateBounds?Ma.alternateBounds:Ma;null==Ca&&(Ca=new mxCellState(S.view,wa[Oa],S.getCellStyle(wa[Oa])),Ca.x=la.x+Ma.x*ha,Ca.y=la.y+Ma.y*ha,Ca.width=Ga.width*ha,Ca.height=Ga.height*ha,Ca.updateCachedBounds());Ma=Oa<wa.length-1?wa[Oa+1]:null;Ma=null!=Ma?S.getCellGeometry(Ma):null;var Ya=null!=Ma&&null!=Ma.alternateBounds?Ma.alternateBounds:Ma;Ma=null!=ua[Oa]?new Z(ua[Oa],mxConstants.NONE,1):new mxLine(new mxRectangle,mxConstants.NONE,1,!0);Ma.isDashed=xa.isDashed;Ma.svgStrokeTolerance++;
-Ca=new mxHandle(Ca,"col-resize",null,Ma);Ca.tableHandle=!0;var db=0;Ca.shape.node.parentNode.insertBefore(Ca.shape.node,Ca.shape.node.parentNode.firstChild);Ca.redraw=function(){if(null!=this.shape){this.shape.stroke=0==db?mxConstants.NONE:xa.stroke;if(this.shape.constructor==Z)this.shape.line=M(ua[Oa],db,0),this.shape.updateBoundsFromLine();else{var cb=S.getActualStartSize(la.cell,!0);this.shape.bounds.width=1;this.shape.bounds.x=this.state.x+(Ga.width+db)*ha;this.shape.bounds.y=la.y+(Oa==wa.length-
-1?0:cb.y*ha);this.shape.bounds.height=la.height-(Oa==wa.length-1?0:(cb.height+cb.y)*ha)}this.shape.redraw()}};var eb=!1;Ca.setPosition=function(cb,ub,fb){db=Math.max(Graph.minTableColumnWidth-Ga.width,ub.x-cb.x-Ga.width);eb=mxEvent.isShiftDown(fb.getEvent());null==Ya||eb||(db=Math.min(db,Ya.width-Graph.minTableColumnWidth))};Ca.execute=function(cb){if(0!=db)S.setTableColumnWidth(this.state.cell,db,eb);else if(!N.blockDelayedSelection){var ub=S.getCellAt(cb.getGraphX(),cb.getGraphY())||la.cell;S.graphHandler.selectCellForEvent(ub,
-cb)}db=0};Ca.positionChanged=function(){};Ca.reset=function(){db=0};y.push(Ca)})(X)}}return null!=y?y.reverse():null};var da=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(y){da.apply(this,arguments);if(null!=this.moveHandles)for(var M=0;M<this.moveHandles.length;M++)this.moveHandles[M].style.visibility=y?"":"hidden";if(null!=this.cornerHandles)for(M=0;M<this.cornerHandles.length;M++)this.cornerHandles[M].node.style.visibility=y?"":"hidden"};mxVertexHandler.prototype.refreshMoveHandles=
-function(){var y=this.graph.model;if(null!=this.moveHandles){for(var M=0;M<this.moveHandles.length;M++)this.moveHandles[M].parentNode.removeChild(this.moveHandles[M]);this.moveHandles=null}this.moveHandles=[];for(M=0;M<y.getChildCount(this.state.cell);M++)mxUtils.bind(this,function(N){if(null!=N&&y.isVertex(N.cell)){var S=mxUtils.createImage(Editor.rowMoveImage);S.style.position="absolute";S.style.cursor="pointer";S.style.width="7px";S.style.height="4px";S.style.padding="4px 2px 4px 2px";S.rowState=
-N;mxEvent.addGestureListeners(S,mxUtils.bind(this,function(X){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);!this.graph.isToggleEvent(X)&&this.graph.isCellSelected(N.cell)||this.graph.selectCellForEvent(N.cell,X);mxEvent.isPopupTrigger(X)||(this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(X),mxEvent.getClientY(X),this.graph.getSelectionCells()),this.graph.graphHandler.cellWasClicked=!0,this.graph.isMouseTrigger=mxEvent.isMouseEvent(X),this.graph.isMouseDown=!0);
-mxEvent.consume(X)}),null,mxUtils.bind(this,function(X){mxEvent.isPopupTrigger(X)&&(this.graph.popupMenuHandler.popup(mxEvent.getClientX(X),mxEvent.getClientY(X),N.cell,X),mxEvent.consume(X))}));this.moveHandles.push(S);this.graph.container.appendChild(S)}})(this.graph.view.getState(y.getChildAt(this.state.cell,M)))};mxVertexHandler.prototype.refresh=function(){if(null!=this.customHandles){for(var y=0;y<this.customHandles.length;y++)this.customHandles[y].destroy();this.customHandles=this.createCustomHandles()}this.graph.isTable(this.state.cell)&&
-this.refreshMoveHandles()};var ja=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var y=new mxPoint(0,0),M=this.tolerance,N=this.state.style.shape;null==mxCellRenderer.defaultShapes[N]&&mxStencilRegistry.getStencil(N);N=this.graph.isTable(this.state.cell)||this.graph.cellEditor.getEditingCell()==this.state.cell;if(!N&&null!=this.customHandles)for(var S=0;S<this.customHandles.length;S++)if(null!=this.customHandles[S].shape&&null!=this.customHandles[S].shape.bounds){var X=
-this.customHandles[S].shape.bounds,ha=X.getCenterX(),la=X.getCenterY();if(Math.abs(this.state.x-ha)<X.width/2||Math.abs(this.state.y-la)<X.height/2||Math.abs(this.state.x+this.state.width-ha)<X.width/2||Math.abs(this.state.y+this.state.height-la)<X.height/2){N=!0;break}}N&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(M/=2,this.graph.isTable(this.state.cell)&&(M+=7),y.x=this.sizers[0].bounds.width+M,y.y=this.sizers[0].bounds.height+M):y=ja.apply(this,arguments);return y};mxVertexHandler.prototype.updateHint=
-function(y){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=b(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{y=this.state.view.scale;var M=this.state.view.unit;this.hint.innerHTML=e(this.roundLength(this.bounds.width/y),M)+" x "+e(this.roundLength(this.bounds.height/y),M)}y=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||
-"0");null==y&&(y=this.bounds);this.hint.style.left=y.x+Math.round((y.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=y.y+y.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};var ka=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(y,M){ka.apply(this,arguments);null!=
-this.linkHint&&"none"!=this.linkHint.style.display&&null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&(this.linkHint.style.display="none")};var q=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(y,M){q.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(y,M){null==this.hint&&(this.hint=b(),this.state.view.graph.container.appendChild(this.hint));var N=
-this.graph.view.translate,S=this.graph.view.scale,X=this.roundLength(M.x/S-N.x);N=this.roundLength(M.y/S-N.y);S=this.graph.view.unit;this.hint.innerHTML=e(X,S)+", "+e(N,S);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(X=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*X.x)+"%, "+Math.round(100*X.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility=
-"hidden");this.hint.style.left=Math.round(y.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(y.getGraphY(),M.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};Graph.prototype.expandedImage=Graph.createSvgImage(9,9,'<defs><linearGradient id="grad1" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="30%" style="stop-color:#f0f0f0;" /><stop offset="100%" style="stop-color:#AFB0B6;" /></linearGradient></defs><rect x="0" y="0" width="9" height="9" stroke="#8A94A5" fill="url(#grad1)" stroke-width="2"/><path d="M 2 4.5 L 7 4.5 z" stroke="#000"/>');
+Oa?Oa.get(nb):gb.isCellSelected(nb),nb=gb.model.getParent(nb);if(ha&&null==Oa||qb)gb.view.redrawEnumerationState(ab),lb.apply(this,arguments),this.doDrawShape(ab.secondLabel,ib)};xa.drawState(this.getView().getState(this.model.root),eb);this.updateSvgLinks(Ga,sa,!0);this.addForeignObjectWarning(eb,Ga);return Ga}finally{La&&(this.useCssTransforms=!0,this.view.revalidate(),this.sizeDidChange())}};Graph.prototype.addForeignObjectWarning=function(y,M){if("0"!=urlParams["svg-warning"]&&0<M.getElementsByTagName("foreignObject").length){var N=
+y.createElement("switch"),S=y.createElement("g");S.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility");var X=y.createElement("a");X.setAttribute("transform","translate(0,-5)");null==X.setAttributeNS||M.ownerDocument!=document&&null==document.documentMode?(X.setAttribute("xlink:href",Graph.foreignObjectWarningLink),X.setAttribute("target","_blank")):(X.setAttributeNS(mxConstants.NS_XLINK,"xlink:href",Graph.foreignObjectWarningLink),X.setAttributeNS(mxConstants.NS_XLINK,
+"target","_blank"));y=y.createElement("text");y.setAttribute("text-anchor","middle");y.setAttribute("font-size","10px");y.setAttribute("x","50%");y.setAttribute("y","100%");mxUtils.write(y,Graph.foreignObjectWarningText);N.appendChild(S);X.appendChild(y);N.appendChild(X);M.appendChild(N)}};Graph.prototype.updateSvgLinks=function(y,M,N){y=y.getElementsByTagName("a");for(var S=0;S<y.length;S++)if(null==y[S].getAttribute("target")){var X=y[S].getAttribute("href");null==X&&(X=y[S].getAttribute("xlink:href"));
+null!=X&&(null!=M&&/^https?:\/\//.test(X)?y[S].setAttribute("target",M):N&&this.isCustomLink(X)&&y[S].setAttribute("href","javascript:void(0);"))}};Graph.prototype.createSvgCanvas=function(y){y=new mxSvgCanvas2D(y);y.minStrokeWidth=this.cellRenderer.minSvgStrokeWidth;y.pointerEvents=!0;return y};Graph.prototype.getSelectedElement=function(){var y=null;if(window.getSelection){var M=window.getSelection();M.getRangeAt&&M.rangeCount&&(y=M.getRangeAt(0).commonAncestorContainer)}else document.selection&&
+(y=document.selection.createRange().parentElement());return y};Graph.prototype.getSelectedEditingElement=function(){for(var y=this.getSelectedElement();null!=y&&y.nodeType!=mxConstants.NODETYPE_ELEMENT;)y=y.parentNode;null!=y&&y==this.cellEditor.textarea&&1==this.cellEditor.textarea.children.length&&this.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(y=this.cellEditor.textarea.firstChild);return y};Graph.prototype.getParentByName=function(y,M,N){for(;null!=y&&y.nodeName!=
+M;){if(y==N)return null;y=y.parentNode}return y};Graph.prototype.getParentByNames=function(y,M,N){for(;null!=y&&!(0<=mxUtils.indexOf(M,y.nodeName));){if(y==N)return null;y=y.parentNode}return y};Graph.prototype.selectNode=function(y){var M=null;if(window.getSelection){if(M=window.getSelection(),M.getRangeAt&&M.rangeCount){var N=document.createRange();N.selectNode(y);M.removeAllRanges();M.addRange(N)}}else(M=document.selection)&&"Control"!=M.type&&(y=M.createRange(),y.collapse(!0),N=M.createRange(),
+N.setEndPoint("StartToStart",y),N.select())};Graph.prototype.flipEdgePoints=function(y,M,N){var S=this.getCellGeometry(y);if(null!=S){S=S.clone();if(null!=S.points)for(var X=0;X<S.points.length;X++)M?S.points[X].x=N+(N-S.points[X].x):S.points[X].y=N+(N-S.points[X].y);X=function(ha){null!=ha&&(M?ha.x=N+(N-ha.x):ha.y=N+(N-ha.y))};X(S.getTerminalPoint(!0));X(S.getTerminalPoint(!1));this.model.setGeometry(y,S)}};Graph.prototype.flipChildren=function(y,M,N){this.model.beginUpdate();try{for(var S=this.model.getChildCount(y),
+X=0;X<S;X++){var ha=this.model.getChildAt(y,X);if(this.model.isEdge(ha))this.flipEdgePoints(ha,M,N);else{var la=this.getCellGeometry(ha);null!=la&&(la=la.clone(),M?la.x=N+(N-la.x-la.width):la.y=N+(N-la.y-la.height),this.model.setGeometry(ha,la))}}}finally{this.model.endUpdate()}};Graph.prototype.flipCells=function(y,M){this.model.beginUpdate();try{y=this.model.getTopmostCells(y);for(var N=[],S=0;S<y.length;S++)if(this.model.isEdge(y[S])){var X=this.view.getState(y[S]);null!=X&&this.flipEdgePoints(y[S],
+M,(M?X.getCenterX():X.getCenterY())/this.view.scale-(M?X.origin.x:X.origin.y)-(M?this.view.translate.x:this.view.translate.y))}else{var ha=this.getCellGeometry(y[S]);null!=ha&&this.flipChildren(y[S],M,M?ha.getCenterX()-ha.x:ha.getCenterY()-ha.y);N.push(y[S])}this.toggleCellStyles(M?mxConstants.STYLE_FLIPH:mxConstants.STYLE_FLIPV,!1,N)}finally{this.model.endUpdate()}};Graph.prototype.deleteCells=function(y,M){var N=null;if(null!=y&&0<y.length){this.model.beginUpdate();try{for(var S=0;S<y.length;S++){var X=
+this.model.getParent(y[S]);if(this.isTable(X)){var ha=this.getCellGeometry(y[S]),la=this.getCellGeometry(X);null!=ha&&null!=la&&(la=la.clone(),la.height-=ha.height,this.model.setGeometry(X,la))}}var xa=this.selectParentAfterDelete?this.model.getParents(y):null;this.removeCells(y,M)}finally{this.model.endUpdate()}if(null!=xa)for(N=[],S=0;S<xa.length;S++)this.model.contains(xa[S])&&(this.model.isVertex(xa[S])||this.model.isEdge(xa[S]))&&N.push(xa[S])}return N};Graph.prototype.insertTableColumn=function(y,
+M){var N=this.getModel();N.beginUpdate();try{var S=y,X=0;if(this.isTableCell(y)){var ha=N.getParent(y);S=N.getParent(ha);X=mxUtils.indexOf(N.getChildCells(ha,!0),y)}else this.isTableRow(y)?S=N.getParent(y):y=N.getChildCells(S,!0)[0],M||(X=N.getChildCells(y,!0).length-1);var la=N.getChildCells(S,!0),xa=Graph.minTableColumnWidth;for(y=0;y<la.length;y++){var sa=N.getChildCells(la[y],!0)[X],ya=N.cloneCell(sa,!1),Fa=this.getCellGeometry(ya);ya.value=null;ya.style=mxUtils.setStyle(mxUtils.setStyle(ya.style,
+"rowspan",null),"colspan",null);if(null!=Fa){null!=Fa.alternateBounds&&(Fa.width=Fa.alternateBounds.width,Fa.height=Fa.alternateBounds.height,Fa.alternateBounds=null);xa=Fa.width;var wa=this.getCellGeometry(la[y]);null!=wa&&(Fa.height=wa.height)}N.add(la[y],ya,X+(M?0:1))}var ua=this.getCellGeometry(S);null!=ua&&(ua=ua.clone(),ua.width+=xa,N.setGeometry(S,ua))}finally{N.endUpdate()}};Graph.prototype.deleteLane=function(y){var M=this.getModel();M.beginUpdate();try{var N=null;N="stackLayout"==this.getCurrentCellStyle(y).childLayout?
+y:M.getParent(y);var S=M.getChildCells(N,!0);0==S.length?M.remove(N):(N==y&&(y=S[S.length-1]),M.remove(y))}finally{M.endUpdate()}};Graph.prototype.insertLane=function(y,M){var N=this.getModel();N.beginUpdate();try{var S=null;if("stackLayout"==this.getCurrentCellStyle(y).childLayout){S=y;var X=N.getChildCells(S,!0);y=X[M?0:X.length-1]}else S=N.getParent(y);var ha=S.getIndex(y);y=N.cloneCell(y,!1);y.value=null;N.add(S,y,ha+(M?0:1))}finally{N.endUpdate()}};Graph.prototype.insertTableRow=function(y,M){var N=
+this.getModel();N.beginUpdate();try{var S=y,X=y;if(this.isTableCell(y))X=N.getParent(y),S=N.getParent(X);else if(this.isTableRow(y))S=N.getParent(y);else{var ha=N.getChildCells(S,!0);X=ha[M?0:ha.length-1]}var la=N.getChildCells(X,!0),xa=S.getIndex(X);X=N.cloneCell(X,!1);X.value=null;var sa=this.getCellGeometry(X);if(null!=sa){for(ha=0;ha<la.length;ha++){y=N.cloneCell(la[ha],!1);y.value=null;y.style=mxUtils.setStyle(mxUtils.setStyle(y.style,"rowspan",null),"colspan",null);var ya=this.getCellGeometry(y);
+null!=ya&&(null!=ya.alternateBounds&&(ya.width=ya.alternateBounds.width,ya.height=ya.alternateBounds.height,ya.alternateBounds=null),ya.height=sa.height);X.insert(y)}N.add(S,X,xa+(M?0:1));var Fa=this.getCellGeometry(S);null!=Fa&&(Fa=Fa.clone(),Fa.height+=sa.height,N.setGeometry(S,Fa))}}finally{N.endUpdate()}};Graph.prototype.deleteTableColumn=function(y){var M=this.getModel();M.beginUpdate();try{var N=y,S=y;this.isTableCell(y)&&(S=M.getParent(y));this.isTableRow(S)&&(N=M.getParent(S));var X=M.getChildCells(N,
+!0);if(0==X.length)M.remove(N);else{this.isTableRow(S)||(S=X[0]);var ha=M.getChildCells(S,!0);if(1>=ha.length)M.remove(N);else{var la=ha.length-1;this.isTableCell(y)&&(la=mxUtils.indexOf(ha,y));for(S=y=0;S<X.length;S++){var xa=M.getChildCells(X[S],!0)[la];M.remove(xa);var sa=this.getCellGeometry(xa);null!=sa&&(y=Math.max(y,sa.width))}var ya=this.getCellGeometry(N);null!=ya&&(ya=ya.clone(),ya.width-=y,M.setGeometry(N,ya))}}}finally{M.endUpdate()}};Graph.prototype.deleteTableRow=function(y){var M=this.getModel();
+M.beginUpdate();try{var N=y,S=y;this.isTableCell(y)&&(y=S=M.getParent(y));this.isTableRow(y)&&(N=M.getParent(S));var X=M.getChildCells(N,!0);if(1>=X.length)M.remove(N);else{this.isTableRow(S)||(S=X[X.length-1]);M.remove(S);y=0;var ha=this.getCellGeometry(S);null!=ha&&(y=ha.height);var la=this.getCellGeometry(N);null!=la&&(la=la.clone(),la.height-=y,M.setGeometry(N,la))}}finally{M.endUpdate()}};Graph.prototype.insertRow=function(y,M){for(var N=y.tBodies[0],S=N.rows[0].cells,X=y=0;X<S.length;X++){var ha=
+S[X].getAttribute("colspan");y+=null!=ha?parseInt(ha):1}M=N.insertRow(M);for(X=0;X<y;X++)mxUtils.br(M.insertCell(-1));return M.cells[0]};Graph.prototype.deleteRow=function(y,M){y.tBodies[0].deleteRow(M)};Graph.prototype.insertColumn=function(y,M){var N=y.tHead;if(null!=N)for(var S=0;S<N.rows.length;S++){var X=document.createElement("th");N.rows[S].appendChild(X);mxUtils.br(X)}y=y.tBodies[0];for(N=0;N<y.rows.length;N++)S=y.rows[N].insertCell(M),mxUtils.br(S);return y.rows[0].cells[0<=M?M:y.rows[0].cells.length-
+1]};Graph.prototype.deleteColumn=function(y,M){if(0<=M){y=y.tBodies[0].rows;for(var N=0;N<y.length;N++)y[N].cells.length>M&&y[N].deleteCell(M)}};Graph.prototype.pasteHtmlAtCaret=function(y){if(window.getSelection){var M=window.getSelection();if(M.getRangeAt&&M.rangeCount){M=M.getRangeAt(0);M.deleteContents();var N=document.createElement("div");N.innerHTML=y;y=document.createDocumentFragment();for(var S;S=N.firstChild;)lastNode=y.appendChild(S);M.insertNode(y)}}else(M=document.selection)&&"Control"!=
+M.type&&M.createRange().pasteHTML(y)};Graph.prototype.createLinkForHint=function(y,M){function N(X,ha){X.length>ha&&(X=X.substring(0,Math.round(ha/2))+"..."+X.substring(X.length-Math.round(ha/4)));return X}y=null!=y?y:"javascript:void(0);";if(null==M||0==M.length)M=this.isCustomLink(y)?this.getLinkTitle(y):y;var S=document.createElement("a");S.setAttribute("rel",this.linkRelation);S.setAttribute("href",this.getAbsoluteUrl(y));S.setAttribute("title",N(this.isCustomLink(y)?this.getLinkTitle(y):y,80));
+null!=this.linkTarget&&S.setAttribute("target",this.linkTarget);mxUtils.write(S,N(M,40));this.isCustomLink(y)&&mxEvent.addListener(S,"click",mxUtils.bind(this,function(X){this.customLinkClicked(y);mxEvent.consume(X)}));return S};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(ha,la){this.popupMenuHandler.hideMenu()});var y=this.updateMouseEvent;this.updateMouseEvent=
+function(ha){ha=y.apply(this,arguments);if(mxEvent.isTouchEvent(ha.getEvent())&&null==ha.getState()){var la=this.getCellAt(ha.graphX,ha.graphY);null!=la&&this.isSwimlane(la)&&this.hitsSwimlaneContent(la,ha.graphX,ha.graphY)||(ha.state=this.view.getState(la),null!=ha.state&&null!=ha.state.shape&&(this.container.style.cursor=ha.state.shape.node.style.cursor))}null==ha.getState()&&this.isEnabled()&&(this.container.style.cursor="default");return ha};var M=!1,N=!1,S=!1,X=this.fireMouseEvent;this.fireMouseEvent=
+function(ha,la,xa){ha==mxEvent.MOUSE_DOWN&&(la=this.updateMouseEvent(la),M=this.isCellSelected(la.getCell()),N=this.isSelectionEmpty(),S=this.popupMenuHandler.isMenuShowing());X.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(ha,la){var xa=mxEvent.isMouseEvent(la.getEvent());this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==la.getState()||!la.isSource(la.getState().control))&&(this.popupMenuHandler.popupTrigger||!S&&!xa&&(N&&null==la.getCell()&&
+this.isSelectionEmpty()||M&&this.isCellSelected(la.getCell())));xa=!M||xa?null:mxUtils.bind(this,function(sa){window.setTimeout(mxUtils.bind(this,function(){if(!this.isEditing()){var ya=mxUtils.getScrollOrigin();this.popupMenuHandler.popup(la.getX()+ya.x+1,la.getY()+ya.y+1,sa,la.getEvent())}}),500)});mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,[ha,la,xa])})};mxCellEditor.prototype.isContentEditing=function(){var y=this.graph.view.getState(this.editingCell);return null!=y&&1==
+y.style.html};mxCellEditor.prototype.isTableSelected=function(){return null!=this.graph.getParentByName(this.graph.getSelectedElement(),"TABLE",this.textarea)};mxCellEditor.prototype.isTextSelected=function(){var y="";window.getSelection?y=window.getSelection():document.getSelection?y=document.getSelection():document.selection&&(y=document.selection.createRange().text);return""!=y};mxCellEditor.prototype.insertTab=function(y){var M=this.textarea.ownerDocument.defaultView.getSelection(),N=M.getRangeAt(0),
+S="\t";if(null!=y)for(S="";0<y;)S+=" ",y--;y=document.createElement("span");y.style.whiteSpace="pre";y.appendChild(document.createTextNode(S));N.insertNode(y);N.setStartAfter(y);N.setEndAfter(y);M.removeAllRanges();M.addRange(N)};mxCellEditor.prototype.alignText=function(y,M){var N=null!=M&&mxEvent.isShiftDown(M);if(N||null!=window.getSelection&&null!=window.getSelection().containsNode){var S=!0;this.graph.processElements(this.textarea,function(X){N||window.getSelection().containsNode(X,!0)?(X.removeAttribute("align"),
+X.style.textAlign=null):S=!1});S&&this.graph.cellEditor.setAlign(y)}document.execCommand("justify"+y.toLowerCase(),!1,null)};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var y=window.getSelection();if(y.getRangeAt&&y.rangeCount){for(var M=[],N=0,S=y.rangeCount;N<S;++N)M.push(y.getRangeAt(N));return M}}else if(document.selection&&document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(y){try{if(y)if(window.getSelection){sel=
+window.getSelection();sel.removeAllRanges();for(var M=0,N=y.length;M<N;++M)sel.addRange(y[M])}else document.selection&&y.select&&y.select()}catch(S){}};var u=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(y){null!=y.text&&(y.text.replaceLinefeeds="0"!=mxUtils.getValue(y.style,"nl2Br","1"));u.apply(this,arguments)};var H=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(y,M){this.isKeepFocusEvent(y)||!mxEvent.isAltDown(y.getEvent())?
+H.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(y){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var K=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(y,M){y=this.graph.getStartEditingCell(y,M);K.apply(this,arguments);var N=this.graph.view.getState(y);this.textarea.className=null!=N&&1==N.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";
+this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(y);N=this.graph.getModel().getParent(y);var S=this.graph.getCellGeometry(y);if(this.graph.getModel().isEdge(N)&&null!=S&&S.relative||this.graph.getModel().isEdge(y))this.textarea.style.outline=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":""};var C=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(y){function M(X,ha){ha.originalNode=X;X=X.firstChild;
+for(var la=ha.firstChild;null!=X&&null!=la;)M(X,la),X=X.nextSibling,la=la.nextSibling;return ha}function N(X,ha){if(null!=X)if(ha.originalNode!=X)S(X);else for(X=X.firstChild,ha=ha.firstChild;null!=X;){var la=X.nextSibling;null==ha?S(X):(N(X,ha),ha=ha.nextSibling);X=la}}function S(X){for(var ha=X.firstChild;null!=ha;){var la=ha.nextSibling;S(ha);ha=la}1==X.nodeType&&("BR"===X.nodeName||null!=X.firstChild)||3==X.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(X)).length?(3==X.nodeType&&mxUtils.setTextContent(X,
+mxUtils.getTextContent(X).replace(/\n|\r/g,"")),1==X.nodeType&&(X.removeAttribute("style"),X.removeAttribute("class"),X.removeAttribute("width"),X.removeAttribute("cellpadding"),X.removeAttribute("cellspacing"),X.removeAttribute("border"))):X.parentNode.removeChild(X)}C.apply(this,arguments);7!==document.documentMode&&8!==document.documentMode&&mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(X){var ha=M(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,
+function(){null!=this.textarea&&(0<=this.textarea.innerHTML.indexOf("<o:OfficeDocumentSettings>")||0<=this.textarea.innerHTML.indexOf("\x3c!--[if !mso]>")?N(this.textarea,ha):Graph.removePasteFormatting(this.textarea))}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var y=this.graph.view.getState(this.editingCell);if(null!=y){var M=null!=y&&"0"!=mxUtils.getValue(y.style,"nl2Br","1"),N=this.saveSelection();if(this.codeViewMode){xa=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);
+0<xa.length&&"\n"==xa.charAt(xa.length-1)&&(xa=xa.substring(0,xa.length-1));xa=this.graph.sanitizeHtml(M?xa.replace(/\n/g,"<br/>"):xa,!0);this.textarea.className="mxCellEditor geContentEditable";sa=mxUtils.getValue(y.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE);M=mxUtils.getValue(y.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY);var S=mxUtils.getValue(y.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),X=(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,
+0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,ha=(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,la=[];(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&la.push("underline");(mxUtils.getValue(y.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_STRIKETHROUGH)==mxConstants.FONT_STRIKETHROUGH&&la.push("line-through");this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?
+Math.round(sa*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(sa)+"px";this.textarea.style.textDecoration=la.join(" ");this.textarea.style.fontWeight=X?"bold":"normal";this.textarea.style.fontStyle=ha?"italic":"";this.textarea.style.fontFamily=M;this.textarea.style.textAlign=S;this.textarea.style.padding="0px";this.textarea.innerHTML!=xa&&(this.textarea.innerHTML=xa,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=
+0<this.textarea.innerHTML.length));this.codeViewMode=!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerText="");var xa=mxUtils.htmlEntities(this.textarea.innerHTML);8!=document.documentMode&&(xa=mxUtils.replaceTrailingNewlines(xa,"<div><br></div>"));xa=this.graph.sanitizeHtml(M?xa.replace(/\n/g,"").replace(/&lt;br\s*.?&gt;/g,"<br>"):xa,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var sa=mxConstants.DEFAULT_FONTSIZE;
+this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(sa*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(sa)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.width="";this.textarea.style.padding="2px";this.textarea.innerHTML!=xa&&(this.textarea.innerHTML=
+xa);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState);this.switchSelectionState=N;this.resize()}};var G=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(y,M){if(null!=this.textarea)if(y=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=y){var N=y.view.scale;this.bounds=mxRectangle.fromRectangle(y);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*N;this.bounds.height=
+60*N;var S=null!=y.text?y.text.margin:null;null==S&&(S=mxUtils.getAlignmentAsPoint(mxUtils.getValue(y.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER),mxUtils.getValue(y.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=S.x*this.bounds.width;this.bounds.y+=S.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/N)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/N)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<
+this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/N)+(this.textarea.offsetHeight-this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*N);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/N)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*N);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=
+Math.round(this.bounds.y)+"px";mxUtils.setPrefixedStyle(this.textarea.style,"transform","scale("+N+","+N+")")}else this.textarea.style.height="",this.textarea.style.overflow="",G.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(y,M){if("0"==mxUtils.getValue(y.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var N=this.graph.getEditingValue(y.cell,M);"1"==mxUtils.getValue(y.style,"nl2Br",
+"1")&&(N=N.replace(/\n/g,"<br/>"));return N=this.graph.sanitizeHtml(N,!0)};mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(y){if("0"==mxUtils.getValue(y.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var M=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return M="1"==mxUtils.getValue(y.style,"nl2Br","1")?M.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):M.replace(/\r\n/g,"").replace(/\n/g,"")};var V=
+mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(y){this.codeViewMode&&this.toggleViewMode();V.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(y){}};var U=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(y,M){this.graph.getModel().beginUpdate();try{U.apply(this,arguments),""==M&&this.graph.isCellDeletable(y.cell)&&0==this.graph.model.getChildCount(y.cell)&&
+this.graph.isTransparentState(y)&&this.graph.removeCells([y.cell],!1)}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(y){var M=mxUtils.getValue(y.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null);null!=M&&M!=mxConstants.NONE||!(null!=y.cell.geometry&&0<y.cell.geometry.width)||0==mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(y.style,mxConstants.STYLE_HORIZONTAL,1)||(M=mxUtils.getValue(y.style,mxConstants.STYLE_FILLCOLOR,
+null));M==mxConstants.NONE&&(M=null);return M};mxCellEditor.prototype.getBorderColor=function(y){var M=mxUtils.getValue(y.style,mxConstants.STYLE_LABEL_BORDERCOLOR,null);null!=M&&M!=mxConstants.NONE||!(null!=y.cell.geometry&&0<y.cell.geometry.width)||0==mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION,0)&&0!=mxUtils.getValue(y.style,mxConstants.STYLE_HORIZONTAL,1)||(M=mxUtils.getValue(y.style,mxConstants.STYLE_STROKECOLOR,null));M==mxConstants.NONE&&(M=null);return M};mxCellEditor.prototype.getMinimumSize=
+function(y){var M=this.graph.getView().scale;return new mxRectangle(0,0,null==y.text?30:y.text.size*M+20,30)};mxGraphHandlerIsValidDropTarget=mxGraphHandler.prototype.isValidDropTarget;mxGraphHandler.prototype.isValidDropTarget=function(y,M){return mxGraphHandlerIsValidDropTarget.apply(this,arguments)&&!mxEvent.isAltDown(M.getEvent)};mxGraphView.prototype.formatUnitText=function(y){return y?e(y,this.unit):y};mxGraphHandler.prototype.updateHint=function(y){if(null!=this.pBounds&&(null!=this.shape||
+this.livePreviewActive)){null==this.hint&&(this.hint=b(),this.graph.container.appendChild(this.hint));var M=this.graph.view.translate,N=this.graph.view.scale;y=this.roundLength((this.bounds.x+this.currentDx)/N-M.x);M=this.roundLength((this.bounds.y+this.currentDy)/N-M.y);N=this.graph.view.unit;this.hint.innerHTML=e(y,N)+", "+e(M,N);this.hint.style.left=this.pBounds.x+this.currentDx+Math.round((this.pBounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.pBounds.y+this.currentDy+this.pBounds.height+
+Editor.hintOffset+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};var Y=mxStackLayout.prototype.resizeCell;mxStackLayout.prototype.resizeCell=function(y,M){Y.apply(this,arguments);var N=this.graph.getCellStyle(y);if(null==N.childLayout){var S=this.graph.model.getParent(y),X=null!=S?this.graph.getCellGeometry(S):null;if(null!=X&&(N=this.graph.getCellStyle(S),"stackLayout"==N.childLayout)){var ha=parseFloat(mxUtils.getValue(N,
+"stackBorder",mxStackLayout.prototype.border));N="1"==mxUtils.getValue(N,"horizontalStack","1");var la=this.graph.getActualStartSize(S);X=X.clone();N?X.height=M.height+la.y+la.height+2*ha:X.width=M.width+la.x+la.width+2*ha;this.graph.model.setGeometry(S,X)}}};var O=mxSelectionCellsHandler.prototype.getHandledSelectionCells;mxSelectionCellsHandler.prototype.getHandledSelectionCells=function(){function y(xa){N.get(xa)||(N.put(xa,!0),X.push(xa))}for(var M=O.apply(this,arguments),N=new mxDictionary,S=
+this.graph.model,X=[],ha=0;ha<M.length;ha++){var la=M[ha];this.graph.isTableCell(la)?y(S.getParent(S.getParent(la))):this.graph.isTableRow(la)&&y(S.getParent(la));y(la)}return X};var qa=mxVertexHandler.prototype.createParentHighlightShape;mxVertexHandler.prototype.createParentHighlightShape=function(y){var M=qa.apply(this,arguments);M.stroke="#C0C0C0";M.strokewidth=1;return M};var oa=mxEdgeHandler.prototype.createParentHighlightShape;mxEdgeHandler.prototype.createParentHighlightShape=function(y){var M=
+oa.apply(this,arguments);M.stroke="#C0C0C0";M.strokewidth=1;return M};mxVertexHandler.prototype.rotationHandleVSpacing=-12;mxVertexHandler.prototype.getRotationHandlePosition=function(){var y=this.getHandlePadding();return new mxPoint(this.bounds.x+this.bounds.width-this.rotationHandleVSpacing+y.x/2,this.bounds.y+this.rotationHandleVSpacing-y.y/2)};mxVertexHandler.prototype.isRecursiveResize=function(y,M){return this.graph.isRecursiveVertexResize(y)&&!mxEvent.isAltDown(M.getEvent())};mxVertexHandler.prototype.isCenteredEvent=
+function(y,M){return mxEvent.isControlDown(M.getEvent())||mxEvent.isMetaDown(M.getEvent())};var aa=mxVertexHandler.prototype.isRotationHandleVisible;mxVertexHandler.prototype.isRotationHandleVisible=function(){return aa.apply(this,arguments)&&!this.graph.isTableCell(this.state.cell)&&!this.graph.isTableRow(this.state.cell)&&!this.graph.isTable(this.state.cell)};mxVertexHandler.prototype.getSizerBounds=function(){return this.graph.isTableCell(this.state.cell)?this.graph.view.getState(this.graph.model.getParent(this.graph.model.getParent(this.state.cell))):
+this.bounds};var ca=mxVertexHandler.prototype.isParentHighlightVisible;mxVertexHandler.prototype.isParentHighlightVisible=function(){return ca.apply(this,arguments)&&!this.graph.isTableCell(this.state.cell)&&!this.graph.isTableRow(this.state.cell)};var fa=mxVertexHandler.prototype.isCustomHandleVisible;mxVertexHandler.prototype.isCustomHandleVisible=function(y){return y.tableHandle||fa.apply(this,arguments)&&(!this.graph.isTable(this.state.cell)||this.graph.isCellSelected(this.state.cell))};mxVertexHandler.prototype.getSelectionBorderInset=
+function(){var y=0;this.graph.isTableRow(this.state.cell)?y=1:this.graph.isTableCell(this.state.cell)&&(y=2);return y};var J=mxVertexHandler.prototype.getSelectionBorderBounds;mxVertexHandler.prototype.getSelectionBorderBounds=function(){return J.apply(this,arguments).grow(-this.getSelectionBorderInset())};var Z=null,P=mxVertexHandler.prototype.createCustomHandles;mxVertexHandler.prototype.createCustomHandles=function(){null==Z&&(Z=mxCellRenderer.defaultShapes.tableLine);var y=P.apply(this,arguments);
+if(this.graph.isTable(this.state.cell)){var M=function(Oa,Ca,Ma){for(var Ga=[],Ya=0;Ya<Oa.length;Ya++){var db=Oa[Ya];Ga.push(null==db?null:new mxPoint((sa+db.x+Ca)*ha,(ya+db.y+Ma)*ha))}return Ga},N=this,S=this.graph,X=S.model,ha=S.view.scale,la=this.state,xa=this.selectionBorder,sa=this.state.origin.x+S.view.translate.x,ya=this.state.origin.y+S.view.translate.y;null==y&&(y=[]);var Fa=S.view.getCellStates(X.getChildCells(this.state.cell,!0));if(0<Fa.length){var wa=X.getChildCells(Fa[0].cell,!0),ua=
+S.getTableLines(this.state.cell,!1,!0),La=S.getTableLines(this.state.cell,!0,!1);for(X=0;X<Fa.length;X++)mxUtils.bind(this,function(Oa){var Ca=Fa[Oa],Ma=Oa<Fa.length-1?Fa[Oa+1]:null;Ma=null!=Ma?S.getCellGeometry(Ma.cell):null;var Ga=null!=Ma&&null!=Ma.alternateBounds?Ma.alternateBounds:Ma;Ma=null!=La[Oa]?new Z(La[Oa],mxConstants.NONE,1):new mxLine(new mxRectangle,mxConstants.NONE,1,!1);Ma.isDashed=xa.isDashed;Ma.svgStrokeTolerance++;Ca=new mxHandle(Ca,"row-resize",null,Ma);Ca.tableHandle=!0;var Ya=
+0;Ca.shape.node.parentNode.insertBefore(Ca.shape.node,Ca.shape.node.parentNode.firstChild);Ca.redraw=function(){if(null!=this.shape){this.shape.stroke=0==Ya?mxConstants.NONE:xa.stroke;if(this.shape.constructor==Z)this.shape.line=M(La[Oa],0,Ya),this.shape.updateBoundsFromLine();else{var eb=S.getActualStartSize(la.cell,!0);this.shape.bounds.height=1;this.shape.bounds.y=this.state.y+this.state.height+Ya*ha;this.shape.bounds.x=la.x+(Oa==Fa.length-1?0:eb.x*ha);this.shape.bounds.width=la.width-(Oa==Fa.length-
+1?0:eb.width+eb.x+ha)}this.shape.redraw()}};var db=!1;Ca.setPosition=function(eb,cb,ub){Ya=Math.max(Graph.minTableRowHeight-eb.height,cb.y-eb.y-eb.height);db=mxEvent.isShiftDown(ub.getEvent());null!=Ga&&db&&(Ya=Math.min(Ya,Ga.height-Graph.minTableRowHeight))};Ca.execute=function(eb){if(0!=Ya)S.setTableRowHeight(this.state.cell,Ya,!db);else if(!N.blockDelayedSelection){var cb=S.getCellAt(eb.getGraphX(),eb.getGraphY())||la.cell;S.graphHandler.selectCellForEvent(cb,eb)}Ya=0};Ca.reset=function(){Ya=0};
+y.push(Ca)})(X);for(X=0;X<wa.length;X++)mxUtils.bind(this,function(Oa){var Ca=S.view.getState(wa[Oa]),Ma=S.getCellGeometry(wa[Oa]),Ga=null!=Ma.alternateBounds?Ma.alternateBounds:Ma;null==Ca&&(Ca=new mxCellState(S.view,wa[Oa],S.getCellStyle(wa[Oa])),Ca.x=la.x+Ma.x*ha,Ca.y=la.y+Ma.y*ha,Ca.width=Ga.width*ha,Ca.height=Ga.height*ha,Ca.updateCachedBounds());Ma=Oa<wa.length-1?wa[Oa+1]:null;Ma=null!=Ma?S.getCellGeometry(Ma):null;var Ya=null!=Ma&&null!=Ma.alternateBounds?Ma.alternateBounds:Ma;Ma=null!=ua[Oa]?
+new Z(ua[Oa],mxConstants.NONE,1):new mxLine(new mxRectangle,mxConstants.NONE,1,!0);Ma.isDashed=xa.isDashed;Ma.svgStrokeTolerance++;Ca=new mxHandle(Ca,"col-resize",null,Ma);Ca.tableHandle=!0;var db=0;Ca.shape.node.parentNode.insertBefore(Ca.shape.node,Ca.shape.node.parentNode.firstChild);Ca.redraw=function(){if(null!=this.shape){this.shape.stroke=0==db?mxConstants.NONE:xa.stroke;if(this.shape.constructor==Z)this.shape.line=M(ua[Oa],db,0),this.shape.updateBoundsFromLine();else{var cb=S.getActualStartSize(la.cell,
+!0);this.shape.bounds.width=1;this.shape.bounds.x=this.state.x+(Ga.width+db)*ha;this.shape.bounds.y=la.y+(Oa==wa.length-1?0:cb.y*ha);this.shape.bounds.height=la.height-(Oa==wa.length-1?0:(cb.height+cb.y)*ha)}this.shape.redraw()}};var eb=!1;Ca.setPosition=function(cb,ub,fb){db=Math.max(Graph.minTableColumnWidth-Ga.width,ub.x-cb.x-Ga.width);eb=mxEvent.isShiftDown(fb.getEvent());null==Ya||eb||(db=Math.min(db,Ya.width-Graph.minTableColumnWidth))};Ca.execute=function(cb){if(0!=db)S.setTableColumnWidth(this.state.cell,
+db,eb);else if(!N.blockDelayedSelection){var ub=S.getCellAt(cb.getGraphX(),cb.getGraphY())||la.cell;S.graphHandler.selectCellForEvent(ub,cb)}db=0};Ca.positionChanged=function(){};Ca.reset=function(){db=0};y.push(Ca)})(X)}}return null!=y?y.reverse():null};var da=mxVertexHandler.prototype.setHandlesVisible;mxVertexHandler.prototype.setHandlesVisible=function(y){da.apply(this,arguments);if(null!=this.moveHandles)for(var M=0;M<this.moveHandles.length;M++)this.moveHandles[M].style.visibility=y?"":"hidden";
+if(null!=this.cornerHandles)for(M=0;M<this.cornerHandles.length;M++)this.cornerHandles[M].node.style.visibility=y?"":"hidden"};mxVertexHandler.prototype.refreshMoveHandles=function(){var y=this.graph.model;if(null!=this.moveHandles){for(var M=0;M<this.moveHandles.length;M++)this.moveHandles[M].parentNode.removeChild(this.moveHandles[M]);this.moveHandles=null}this.moveHandles=[];for(M=0;M<y.getChildCount(this.state.cell);M++)mxUtils.bind(this,function(N){if(null!=N&&y.isVertex(N.cell)){var S=mxUtils.createImage(Editor.rowMoveImage);
+S.style.position="absolute";S.style.cursor="pointer";S.style.width="7px";S.style.height="4px";S.style.padding="4px 2px 4px 2px";S.rowState=N;mxEvent.addGestureListeners(S,mxUtils.bind(this,function(X){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);!this.graph.isToggleEvent(X)&&this.graph.isCellSelected(N.cell)||this.graph.selectCellForEvent(N.cell,X);mxEvent.isPopupTrigger(X)||(this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(X),mxEvent.getClientY(X),this.graph.getSelectionCells()),
+this.graph.graphHandler.cellWasClicked=!0,this.graph.isMouseTrigger=mxEvent.isMouseEvent(X),this.graph.isMouseDown=!0);mxEvent.consume(X)}),null,mxUtils.bind(this,function(X){mxEvent.isPopupTrigger(X)&&(this.graph.popupMenuHandler.popup(mxEvent.getClientX(X),mxEvent.getClientY(X),N.cell,X),mxEvent.consume(X))}));this.moveHandles.push(S);this.graph.container.appendChild(S)}})(this.graph.view.getState(y.getChildAt(this.state.cell,M)))};mxVertexHandler.prototype.refresh=function(){if(null!=this.customHandles){for(var y=
+0;y<this.customHandles.length;y++)this.customHandles[y].destroy();this.customHandles=this.createCustomHandles()}this.graph.isTable(this.state.cell)&&this.refreshMoveHandles()};var ja=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var y=new mxPoint(0,0),M=this.tolerance,N=this.state.style.shape;null==mxCellRenderer.defaultShapes[N]&&mxStencilRegistry.getStencil(N);N=this.graph.isTable(this.state.cell)||this.graph.cellEditor.getEditingCell()==this.state.cell;
+if(!N&&null!=this.customHandles)for(var S=0;S<this.customHandles.length;S++)if(null!=this.customHandles[S].shape&&null!=this.customHandles[S].shape.bounds){var X=this.customHandles[S].shape.bounds,ha=X.getCenterX(),la=X.getCenterY();if(Math.abs(this.state.x-ha)<X.width/2||Math.abs(this.state.y-la)<X.height/2||Math.abs(this.state.x+this.state.width-ha)<X.width/2||Math.abs(this.state.y+this.state.height-la)<X.height/2){N=!0;break}}N&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(M/=
+2,this.graph.isTable(this.state.cell)&&(M+=7),y.x=this.sizers[0].bounds.width+M,y.y=this.sizers[0].bounds.height+M):y=ja.apply(this,arguments);return y};mxVertexHandler.prototype.updateHint=function(y){if(this.index!=mxEvent.LABEL_HANDLE){null==this.hint&&(this.hint=b(),this.state.view.graph.container.appendChild(this.hint));if(this.index==mxEvent.ROTATION_HANDLE)this.hint.innerHTML=this.currentAlpha+"&deg;";else{y=this.state.view.scale;var M=this.state.view.unit;this.hint.innerHTML=e(this.roundLength(this.bounds.width/
+y),M)+" x "+e(this.roundLength(this.bounds.height/y),M)}y=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0");null==y&&(y=this.bounds);this.hint.style.left=y.x+Math.round((y.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=y.y+y.height+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")}};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);
+null!=this.linkHint&&(this.linkHint.style.display="")};var ka=mxEdgeHandler.prototype.mouseMove;mxEdgeHandler.prototype.mouseMove=function(y,M){ka.apply(this,arguments);null!=this.linkHint&&"none"!=this.linkHint.style.display&&null!=this.graph.graphHandler&&null!=this.graph.graphHandler.first&&(this.linkHint.style.display="none")};var q=mxEdgeHandler.prototype.mouseUp;mxEdgeHandler.prototype.mouseUp=function(y,M){q.apply(this,arguments);null!=this.linkHint&&"none"==this.linkHint.style.display&&(this.linkHint.style.display=
+"")};mxEdgeHandler.prototype.updateHint=function(y,M){null==this.hint&&(this.hint=b(),this.state.view.graph.container.appendChild(this.hint));var N=this.graph.view.translate,S=this.graph.view.scale,X=this.roundLength(M.x/S-N.x);N=this.roundLength(M.y/S-N.y);S=this.graph.view.unit;this.hint.innerHTML=e(X,S)+", "+e(N,S);this.hint.style.visibility="visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(X=this.constraintHandler.currentConstraint.point,
+this.hint.innerHTML="["+Math.round(100*X.x)+"%, "+Math.round(100*X.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(y.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(y.getGraphY(),M.y)+Editor.hintOffset+"px";null!=this.linkHint&&(this.linkHint.style.display="none")};Graph.prototype.expandedImage=Graph.createSvgImage(9,9,'<defs><linearGradient id="grad1" x1="50%" y1="0%" x2="50%" y2="100%"><stop offset="30%" style="stop-color:#f0f0f0;" /><stop offset="100%" style="stop-color:#AFB0B6;" /></linearGradient></defs><rect x="0" y="0" width="9" height="9" stroke="#8A94A5" fill="url(#grad1)" stroke-width="2"/><path d="M 2 4.5 L 7 4.5 z" stroke="#000"/>');
Graph.prototype.collapsedImage=Graph.createSvgImage(9,9,'<defs><linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="100%"><stop offset="30%" style="stop-color:#f0f0f0;" /><stop offset="100%" style="stop-color:#AFB0B6;" /></linearGradient></defs><rect x="0" y="0" width="9" height="9" stroke="#8A94A5" fill="url(#grad1)" stroke-width="2"/><path d="M 4.5 2 L 4.5 7 M 2 4.5 L 7 4.5 z" stroke="#000"/>');mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=
Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>');HoverIcons.prototype.endMainHandle=Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="6" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/>');HoverIcons.prototype.secondaryHandle=Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>');HoverIcons.prototype.fixedHandle=Graph.createSvgImage(22,22,'<circle cx="11" cy="11" r="6" stroke="#fff" fill="#01bd22"/><path d="m 8 8 L 14 14M 8 14 L 14 8" stroke="#fff"/>');
HoverIcons.prototype.endFixedHandle=Graph.createSvgImage(22,22,'<circle cx="11" cy="11" r="7" stroke="#fff" fill="#01bd22"/><path d="m 8 8 L 14 14M 8 14 L 14 8" stroke="#fff"/>');HoverIcons.prototype.terminalHandle=Graph.createSvgImage(22,22,'<circle cx="11" cy="11" r="6" stroke="#fff" fill="'+HoverIcons.prototype.arrowFill+'"/><circle cx="11" cy="11" r="3" stroke="#fff" fill="transparent"/>');HoverIcons.prototype.endTerminalHandle=Graph.createSvgImage(22,22,'<circle cx="11" cy="11" r="7" stroke="#fff" fill="'+
@@ -3383,7 +3383,7 @@ function(){null==this.page&&(this.page=this.ui.currentPage);if(this.page!=this.u
this.shadowVisible)}}else da.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible)};Editor.prototype.useCanvasForExport=!1;try{var ja=document.createElement("canvas"),ka=new Image;ka.onload=function(){try{ja.getContext("2d").drawImage(ka,
0,0);var q=ja.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=q&&6<q.length}catch(F){}};ka.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(q){}Editor.prototype.useCanvasForExport=!1})();
(function(){var b=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);b.beforeDecode=function(e,k,m){m.ui=e.ui;return k};b.afterDecode=function(e,k,m){m.previousColor=m.color;m.previousImage=m.image;m.previousFormat=m.format;null!=m.foldingEnabled&&(m.foldingEnabled=!m.foldingEnabled);null!=m.mathEnabled&&(m.mathEnabled=!m.mathEnabled);null!=m.shadowVisible&&(m.shadowVisible=!m.shadowVisible);return m};mxCodecRegistry.register(b)})();
-(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,m){m.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="20.2.6";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
+(function(){var b=new mxObjectCodec(new ChangeGridColor,["ui"]);b.beforeDecode=function(e,k,m){m.ui=e.ui;return k};mxCodecRegistry.register(b)})();(function(){EditorUi.VERSION="20.2.7";EditorUi.compactUi="atlas"!=uiTheme;Editor.isDarkMode()&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&"1"!=urlParams.lockdown&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;EditorUi.lastErrorMessage=
null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl=window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.nativeFileSupport=!mxClient.IS_OP&&!EditorUi.isElectronApp&&
"1"!=urlParams.extAuth&&"showSaveFilePicker"in window&&"showOpenFilePicker"in window;EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.enableHtmlEditOption=!0;EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,
mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(d,f,g,x,z,u,H){u=null!=u?u:0<=d.indexOf("NetworkError")||0<=d.indexOf("SecurityError")||0<=d.indexOf("NS_ERROR_FAILURE")||0<=d.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&
@@ -5492,9 +5492,10 @@ mxShapeAws4ProductIcon.prototype.paintVertexShape=function(a,d,e,b,c){a.translat
function mxShapeAws4ResourceIcon(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAws4ResourceIcon,mxShape);mxShapeAws4ResourceIcon.prototype.cst={RESOURCE_ICON:"mxgraph.aws4.resourceIcon"};
mxShapeAws4ResourceIcon.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fill();a.setShadow(!1);d=mxUtils.getValue(this.state.style,"resIcon","");d=mxStencilRegistry.getStencil(d);null!=d&&(e=mxUtils.getValue(this.state.style,"strokeColor","#000000"),a.setFillColor(e),a.setStrokeColor("none"),d.drawShape(a,this,.1*b,.1*c,.8*b,.8*c))};
mxCellRenderer.registerShape(mxShapeAws4ResourceIcon.prototype.cst.RESOURCE_ICON,mxShapeAws4ResourceIcon);function mxShapeAws4Group(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAws4Group,mxShape);mxShapeAws4Group.prototype.cst={GROUP:"mxgraph.aws4.group"};
-mxShapeAws4Group.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);e=mxUtils.getValue(this.state.style,"grStroke","1");d=25;null!=this.style&&"0"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1")&&(a.pointerEvents=!1);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();"1"==e?a.fillAndStroke():a.fill();a.pointerEvents=!0;a.setShadow(!1);b=mxUtils.getValue(this.state.style,"grIcon","");b=mxStencilRegistry.getStencil(b);null!=b&&(c=mxUtils.getValue(this.state.style,
-"strokeColor","#000000"),d=mxUtils.getValue(this.state.style,"grIconSize",d),a.setFillAlpha(this.strokeOpacity/100),a.setFillColor(c),a.setStrokeColor("none"),b.drawShape(a,this,0,0,d,d))};mxCellRenderer.registerShape(mxShapeAws4Group.prototype.cst.GROUP,mxShapeAws4Group);function mxShapeAws4GroupCenter(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAws4GroupCenter,mxShape);mxShapeAws4GroupCenter.prototype.cst={GROUP_CENTER:"mxgraph.aws4.groupCenter"};
-mxShapeAws4GroupCenter.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);e=mxUtils.getValue(this.state.style,"grStroke","1");d=25;a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();"1"==e?a.fillAndStroke():a.fill();a.setShadow(!1);c=mxUtils.getValue(this.state.style,"grIcon","");c=mxStencilRegistry.getStencil(c);null!=c&&(e=mxUtils.getValue(this.state.style,"strokeColor","#000000"),d=mxUtils.getValue(this.state.style,"grIconSize",d),a.setFillAlpha(this.strokeOpacity/
+mxShapeAws4Group.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);e=mxUtils.getValue(this.state.style,"grStroke","1");d=25;null!=this.style&&"0"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1")&&(a.pointerEvents=!1);a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();"1"==e||this.outline?a.fillAndStroke():a.fill();a.pointerEvents=!0;a.setShadow(!1);b=mxUtils.getValue(this.state.style,"grIcon","");b=mxStencilRegistry.getStencil(b);null!=b&&(c=
+mxUtils.getValue(this.state.style,"strokeColor","#000000"),d=mxUtils.getValue(this.state.style,"grIconSize",d),a.setFillAlpha(this.strokeOpacity/100),a.setFillColor(c),a.setStrokeColor("none"),b.drawShape(a,this,0,0,d,d))};mxCellRenderer.registerShape(mxShapeAws4Group.prototype.cst.GROUP,mxShapeAws4Group);function mxShapeAws4GroupCenter(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAws4GroupCenter,mxShape);
+mxShapeAws4GroupCenter.prototype.cst={GROUP_CENTER:"mxgraph.aws4.groupCenter"};
+mxShapeAws4GroupCenter.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);e=mxUtils.getValue(this.state.style,"grStroke","1");d=25;a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();"1"==e||this.outline?a.fillAndStroke():a.fill();a.setShadow(!1);c=mxUtils.getValue(this.state.style,"grIcon","");c=mxStencilRegistry.getStencil(c);null!=c&&(e=mxUtils.getValue(this.state.style,"strokeColor","#000000"),d=mxUtils.getValue(this.state.style,"grIconSize",d),a.setFillAlpha(this.strokeOpacity/
100),a.setFillColor(e),a.setStrokeColor("none"),c.drawShape(a,this,.5*(b-d),0,d,d))};mxCellRenderer.registerShape(mxShapeAws4GroupCenter.prototype.cst.GROUP_CENTER,mxShapeAws4GroupCenter);function mxShapeAws4Group2(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAws4Group2,mxShape);mxShapeAws4Group2.prototype.cst={GROUP2:"mxgraph.aws4.group2"};
mxShapeAws4Group2.prototype.paintVertexShape=function(a,d,e,b,c){a.translate(d,e);d=25;a.begin();a.moveTo(0,0);a.lineTo(b,0);a.lineTo(b,c);a.lineTo(0,c);a.close();a.fillAndStroke();a.setShadow(!1);b=mxUtils.getValue(this.state.style,"strokeColor","#000000");a.setFillColor(b);a.begin();a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,d);a.lineTo(0,d);a.close();a.fill();b=mxUtils.getValue(this.state.style,"grIcon","");b=mxStencilRegistry.getStencil(b);null!=b&&(d=mxUtils.getValue(this.state.style,"grIconSize",
d),a.setFillAlpha(this.strokeOpacity/100),a.setFillColor("#ffffff"),a.setStrokeColor("none"),b.drawShape(a,this,.1*d,.1*d,.8*d,.8*d))};mxCellRenderer.registerShape(mxShapeAws4Group2.prototype.cst.GROUP2,mxShapeAws4Group2);function mxShapeAndroidTabBar(a,d,e,b){mxShape.call(this);this.bounds=a;this.fill=d;this.stroke=e;this.strokewidth=null!=b?b:1}mxUtils.extend(mxShapeAndroidTabBar,mxShape);