diff --git a/ChangeLog b/ChangeLog index 80e7a41a45ac4aed00a5785371e565d146ec77a2..4721844f6398f0d5ff1146c479569f71c33f91c2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +15-JUL-2019: 10.9.7 + +- Adds validation for label border and background colors +- Uses mxGraph 4.0.2 + 12-JUL-2019: 10.9.6 - Adds local files, Google Drive in Office Add-in diff --git a/VERSION b/VERSION index 9e7c47cfe1045ae8f39aa6976410f29d9c44c0d5..68742bab8e8a6a23c41f357af7bd8c6751bada6d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -10.9.6 \ No newline at end of file +10.9.7 \ No newline at end of file diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js index a8216d66d2d473e5e97a330999fbfc02e096acdb..847e10f4e17595882e25900301e9512105a6966c 100644 --- a/etc/mxgraph/mxClient.js +++ b/etc/mxgraph/mxClient.js @@ -324,9 +324,9 @@ mxSvgCanvas2D.prototype.convertHtml=function(a){if(this.useDomParser){var b=(new b.documentElement.appendChild(c);var d=document.createElement("div");d.innerHTML=a;for(a=d.firstChild;null!=a;)d=a.nextSibling,c.appendChild(b.adoptNode(a)),a=d;return c.innerHTML}b=document.createElement("textarea");b.innerHTML=a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"<").replace(/>/g,">");a=b.value.replace(/&/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g, "&").replace(/<br>/g,"<br />").replace(/<hr>/g,"<hr />").replace(/(<img[^>]+)>/gm,"$1 />")}return a}; mxSvgCanvas2D.prototype.createDiv=function(a,b,c,d,e,f){c=this.state;d="display:inline-block;font-size:"+c.fontSize+'px;font-family:"'+c.fontFamily+'";color:'+c.fontColor+";line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?c.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+";"+d;(c.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d+="font-weight:bold;");(c.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d+="font-style:italic;");(c.fontStyle& -mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+c.fontBackgroundColor+";");null!=c.fontBorderColor&&(b+="border:1px solid "+c.fontBorderColor+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+ -b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+d+'">'+a+"</div>").documentElement}; -mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; +mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+mxUtils.htmlEntities(c.fontBackgroundColor)+";");null!=c.fontBorderColor&&(b+="border:1px solid "+mxUtils.htmlEntities(c.fontBorderColor)+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+ +f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+ +d+'">'+a+"</div>").documentElement};mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){if(null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&null!=n.firstChild.firstChild.firstChild){n=n.firstChild;var p=n.firstChild,q=p.firstChild;m=null!=m?m:0;var r=this.state;a+=r.dx;b+=r.dy;l?(q.style.maxHeight=Math.round(d)+"px",q.style.maxWidth=Math.round(c)+"px"):"fill"==k?(q.style.width=Math.round(c+1)+"px",q.style.height=Math.round(d+1)+"px"):"width"==k&&(q.style.width=Math.round(c+1)+"px",0<d&&(q.style.maxHeight=Math.round(d)+ "px"));g&&0<c&&(q.style.width=Math.round(c+1)+"px");var t,u=q;null!=u.firstChild&&"DIV"==u.firstChild.nodeName&&(u=u.firstChild);var x=null!=n.mxCachedOffsetWidth?n.mxCachedOffsetWidth:u.offsetWidth;t=x+0;g&&"fill"!=k&&(l&&(t=Math.min(t,c)),q.style.width=Math.round(t+1)+"px");t=null!=n.mxCachedFinalOffsetWidth?n.mxCachedFinalOffsetWidth:u.offsetWidth;g=null!=n.mxCachedFinalOffsetHeight?n.mxCachedFinalOffsetHeight:u.offsetHeight;this.cacheOffsetSize&&(n.mxCachedOffsetWidth=x,n.mxCachedFinalOffsetWidth= t,n.mxCachedFinalOffsetHeight=g);t+=0;g-=2;l&&(g=Math.min(g,d),t=Math.min(t,c));"width"==k?d=g:"fill"!=k&&(c=t,d=g);g=l=0;e==mxConstants.ALIGN_CENTER?l-=c/2:e==mxConstants.ALIGN_RIGHT&&(l-=c);a+=l;f==mxConstants.ALIGN_MIDDLE?g-=d/2:f==mxConstants.ALIGN_BOTTOM&&(g-=d);"fill"!=k&&mxClient.IS_FF&&mxClient.IS_WIN&&(g-=2);b+=g;e=1!=r.scale?"scale("+r.scale+")":"";0!=r.rotation&&this.rotateHtml?(e+="rotate("+r.rotation+","+c/2+","+d/2+")",b=this.rotatePoint((a+c/2)*r.scale,(b+d/2)*r.scale,r.rotation,r.rotationCx, @@ -366,9 +366,9 @@ mxVmlCanvas2D.prototype.quadTo=function(a,b,c,d){var e=this.state,f=(this.lastX+ mxVmlCanvas2D.prototype.createRect=function(a,b,c,d,e){var f=this.state;a=this.createVmlElement(a);a.style.position="absolute";a.style.left=this.format((b+f.dx)*f.scale)+"px";a.style.top=this.format((c+f.dy)*f.scale)+"px";a.style.width=this.format(d*f.scale)+"px";a.style.height=this.format(e*f.scale)+"px";return a};mxVmlCanvas2D.prototype.rect=function(a,b,c,d){this.node=this.createRect("rect",a,b,c,d)}; mxVmlCanvas2D.prototype.roundrect=function(a,b,c,d,e,f){this.node=this.createRect("roundrect",a,b,c,d);this.node.setAttribute("arcsize",Math.max(100*e/c,100*f/d)+"%")};mxVmlCanvas2D.prototype.ellipse=function(a,b,c,d){this.node=this.createRect("oval",a,b,c,d)}; mxVmlCanvas2D.prototype.image=function(a,b,c,d,e,f,g,k){f?(a=this.createRect("rect",a,b,c,d),a.stroked="false",b=this.createVmlElement("fill"),b.aspect=f?"atmost":"ignore",b.rotate="true",b.type="frame",b.src=e,a.appendChild(b)):(a=this.createRect("image",a,b,c,d),a.src=e);g&&k?a.style.rotation="180":g?a.style.flip="x":k&&(a.style.flip="y");if(1>this.state.alpha||1>this.state.fillAlpha)a.style.filter+="alpha(opacity="+this.state.alpha*this.state.fillAlpha*100+")";this.root.appendChild(a)}; -mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+e.fontBackgroundColor+";");null!=e.fontBorderColor&&(f+="border:1px solid "+e.fontBorderColor+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration="inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText= -f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic");(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&& -(a.textDecoration="underline");return c}; +mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+mxUtils.htmlEntities(e.fontBackgroundColor)+";");null!=e.fontBorderColor&&(f+="border:1px solid "+mxUtils.htmlEntities(e.fontBorderColor)+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration= +"inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText=f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic"); +(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(a.textDecoration="underline");return c}; mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e){var r=this.state;if("html"==l){null!=r.rotation&&(b=this.rotatePoint(a,b,r.rotation,r.rotationCx,r.rotationCy),a=b.x,b=b.y);8!=document.documentMode||mxClient.IS_EM?(a*=r.scale,b*=r.scale):(a+=r.dx,b+=r.dy,"fill"!=m&&g==mxConstants.ALIGN_TOP&&--b);l=8!=document.documentMode||mxClient.IS_EM?this.createElement("div"):this.createVmlElement("group");l.style.position="absolute";l.style.display="inline";l.style.left= this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&& (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false", @@ -511,8 +511,8 @@ this.textWidthPadding;this.clipped&&(f=Math.min(f,this.bounds.height));l=this.bo "px");var g=g*d,l=l*d,m=this.getTextRotation()*(Math.PI/180);e=parseFloat(parseFloat(Math.cos(m)).toFixed(8));f=parseFloat(parseFloat(Math.sin(-m)).toFixed(8));m%=2*Math.PI;0>m&&(m+=2*Math.PI);m%=Math.PI;m>Math.PI/2&&(m=Math.PI-m);var k=Math.cos(m),n=Math.sin(-m),b=l*-(b+.5),p=g*-(c+.5);0!=m&&(c="progid:DXImageTransform.Microsoft.Matrix(M11="+e+", M12="+f+", M21="+-f+", M22="+e+", sizingMethod='auto expand')",a.filter=null!=a.filter&&0<a.filter.length?a.filter+(" "+c):c);c=0;"fill"!=this.overflow&& mxClient.IS_QUIRKS&&(c=this.valign==mxConstants.ALIGN_TOP?c-1:this.valign==mxConstants.ALIGN_BOTTOM?c+2:c+1);a.zoom=d;a.left=Math.round(this.bounds.x+((l-l*k+g*n)/2-e*b-f*p)-l/2)+"px";a.top=Math.round(this.bounds.y+((g-g*k+l*n)/2+f*b-e*p)-g/2+c)+"px"}; mxText.prototype.updateValue=function(){if(mxUtils.isNode(this.value))this.node.innerHTML="",this.node.appendChild(this.value);else{var a=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(a=mxUtils.htmlEntities(a,!1));var a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"),a=this.replaceLinefeeds?a.replace(/\n/g,"<br/>"):a,b=null!=this.background&&this.background!=mxConstants.NONE?this.background:null,c=null!=this.border&&this.border!=mxConstants.NONE?this.border:null;if("fill"==this.overflow|| -"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+b+";");null!=c&&(d+="border:1px solid "+c+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML=a;a=this.node.getElementsByTagName("div"); -0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; +"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+mxUtils.htmlEntities(b)+";");null!=c&&(d+="border:1px solid "+mxUtils.htmlEntities(c)+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML= +a;a=this.node.getElementsByTagName("div");0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; mxText.prototype.updateFont=function(a){a=a.style;a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT;a.fontSize=this.size+"px";a.fontFamily='"'+this.family+'"';a.verticalAlign="top";a.color=this.color;a.fontWeight=(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?"bold":"";a.fontStyle=(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?"italic":"";a.textDecoration=(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE? "underline":"";a.textAlign=this.align==mxConstants.ALIGN_CENTER?"center":this.align==mxConstants.ALIGN_RIGHT?"right":"left"}; mxText.prototype.updateSize=function(a,b){var c=Math.max(0,Math.round(this.bounds.width/this.scale)),d=Math.max(0,Math.round(this.bounds.height/this.scale)),e=a.style;this.clipped?(e.overflow="hidden",mxClient.IS_QUIRKS?e.width=c+"px":(e.maxHeight=d+"px",e.maxWidth=c+"px")):"fill"==this.overflow?(e.width=c+1+"px",e.height=d+1+"px",e.overflow="hidden"):"width"==this.overflow&&(e.width=c+1+"px",e.maxHeight=d+1+"px",e.overflow="hidden");if(this.wrap&&0<c){if(e.wordWrap=mxConstants.WORD_WRAP,e.whiteSpace= @@ -1367,9 +1367,10 @@ g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.gr mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null; function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.updatePreviewShape();this.updateHint()});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){if(null!=this.first)try{this.bounds=this.graph.getView().getBounds(this.cells),this.pBounds=this.getPreviewBounds(this.cells), this.updatePreviewShape()}catch(d){this.reset()}});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null; -mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0; -mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled}; -mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; +mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1; +mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a}; +mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)}; +mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()|| null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}}; mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())}; @@ -1389,8 +1390,10 @@ mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed()){var c=this.gr e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}else this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b)}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()}; mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};mxGraphHandler.prototype.reset=function(){this.destroyShapes();this.removeHint();this.delayedSelection=this.cellWasClicked=!1;this.target=this.cell=this.first=this.guides=this.currentDy=this.currentDx=null}; mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,c){if(this.graph.getModel().isVertex(a)&&(a=this.graph.getView().getState(a),null!=a)){c=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(c),mxEvent.getClientY(c));var d=mxUtils.toRadians(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION)||0);if(0!=d){b=Math.cos(-d);var d=Math.sin(-d),e=new mxPoint(a.getCenterX(),a.getCenterY());c=mxUtils.getRotatedPoint(c,b,d,e)}return!mxUtils.contains(a,c.x,c.y)}return!1}; -mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell),a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0]); -d&&this.graph.setSelectionCells(a)};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; +mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));var g=this.graph.getModel().getParent(this.cell);null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(g,a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());this.graph.getModel().beginUpdate();try{g=[];if(!d&&null!=e&&this.removeEmptyParents){for(var k=new mxDictionary,l=0;l<a.length;l++)k.put(a[l],!0);for(l=0;l<a.length;l++){var m= +this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])}; +mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.getState(a);console.log("state",b,this.graph.model.getChildCount(b.cell));return null!=b&&(this.graph.model.isEdge(b.cell)||this.graph.model.isVertex(b.cell))&&this.graph.isCellDeletable(b.cell)&&0==this.graph.model.getChildCount(b.cell)?(a=mxUtils.getValue(b.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(b.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE),a==mxConstants.NONE&&b==mxConstants.NONE): +!1};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest index cae6792f86d5a6c381925a8083e5f7c6046c9f89..558eb619d1acce9452a626fb7118e0955a2e9246 100644 --- a/src/main/webapp/cache.manifest +++ b/src/main/webapp/cache.manifest @@ -1,7 +1,7 @@ CACHE MANIFEST # THIS FILE WAS GENERATED. DO NOT MODIFY! -# 07/12/2019 05:22 PM +# 07/15/2019 01:26 PM app.html index.html?offline=1 diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 37c347efa23affe9542b9e18a7e8cb2846441d72..fe27e982ae22fd5644c72f3c53623a9c903d7266 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -467,9 +467,9 @@ mxSvgCanvas2D.prototype.convertHtml=function(a){if(this.useDomParser){var b=(new b.documentElement.appendChild(c);var d=document.createElement("div");d.innerHTML=a;for(a=d.firstChild;null!=a;)d=a.nextSibling,c.appendChild(b.adoptNode(a)),a=d;return c.innerHTML}b=document.createElement("textarea");b.innerHTML=a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"<").replace(/>/g,">");a=b.value.replace(/&/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g, "&").replace(/<br>/g,"<br />").replace(/<hr>/g,"<hr />").replace(/(<img[^>]+)>/gm,"$1 />")}return a}; mxSvgCanvas2D.prototype.createDiv=function(a,b,c,d,e,f){c=this.state;d="display:inline-block;font-size:"+c.fontSize+'px;font-family:"'+c.fontFamily+'";color:'+c.fontColor+";line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?c.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+";"+d;(c.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d+="font-weight:bold;");(c.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d+="font-style:italic;");(c.fontStyle& -mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+c.fontBackgroundColor+";");null!=c.fontBorderColor&&(b+="border:1px solid "+c.fontBorderColor+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+ -b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+d+'">'+a+"</div>").documentElement}; -mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; +mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+mxUtils.htmlEntities(c.fontBackgroundColor)+";");null!=c.fontBorderColor&&(b+="border:1px solid "+mxUtils.htmlEntities(c.fontBorderColor)+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+ +f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+ +d+'">'+a+"</div>").documentElement};mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){if(null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&null!=n.firstChild.firstChild.firstChild){n=n.firstChild;var p=n.firstChild,q=p.firstChild;m=null!=m?m:0;var r=this.state;a+=r.dx;b+=r.dy;l?(q.style.maxHeight=Math.round(d)+"px",q.style.maxWidth=Math.round(c)+"px"):"fill"==k?(q.style.width=Math.round(c+1)+"px",q.style.height=Math.round(d+1)+"px"):"width"==k&&(q.style.width=Math.round(c+1)+"px",0<d&&(q.style.maxHeight=Math.round(d)+ "px"));g&&0<c&&(q.style.width=Math.round(c+1)+"px");var t,u=q;null!=u.firstChild&&"DIV"==u.firstChild.nodeName&&(u=u.firstChild);var x=null!=n.mxCachedOffsetWidth?n.mxCachedOffsetWidth:u.offsetWidth;t=x+0;g&&"fill"!=k&&(l&&(t=Math.min(t,c)),q.style.width=Math.round(t+1)+"px");t=null!=n.mxCachedFinalOffsetWidth?n.mxCachedFinalOffsetWidth:u.offsetWidth;g=null!=n.mxCachedFinalOffsetHeight?n.mxCachedFinalOffsetHeight:u.offsetHeight;this.cacheOffsetSize&&(n.mxCachedOffsetWidth=x,n.mxCachedFinalOffsetWidth= t,n.mxCachedFinalOffsetHeight=g);t+=0;g-=2;l&&(g=Math.min(g,d),t=Math.min(t,c));"width"==k?d=g:"fill"!=k&&(c=t,d=g);g=l=0;e==mxConstants.ALIGN_CENTER?l-=c/2:e==mxConstants.ALIGN_RIGHT&&(l-=c);a+=l;f==mxConstants.ALIGN_MIDDLE?g-=d/2:f==mxConstants.ALIGN_BOTTOM&&(g-=d);"fill"!=k&&mxClient.IS_FF&&mxClient.IS_WIN&&(g-=2);b+=g;e=1!=r.scale?"scale("+r.scale+")":"";0!=r.rotation&&this.rotateHtml?(e+="rotate("+r.rotation+","+c/2+","+d/2+")",b=this.rotatePoint((a+c/2)*r.scale,(b+d/2)*r.scale,r.rotation,r.rotationCx, @@ -509,9 +509,9 @@ mxVmlCanvas2D.prototype.quadTo=function(a,b,c,d){var e=this.state,f=(this.lastX+ mxVmlCanvas2D.prototype.createRect=function(a,b,c,d,e){var f=this.state;a=this.createVmlElement(a);a.style.position="absolute";a.style.left=this.format((b+f.dx)*f.scale)+"px";a.style.top=this.format((c+f.dy)*f.scale)+"px";a.style.width=this.format(d*f.scale)+"px";a.style.height=this.format(e*f.scale)+"px";return a};mxVmlCanvas2D.prototype.rect=function(a,b,c,d){this.node=this.createRect("rect",a,b,c,d)}; mxVmlCanvas2D.prototype.roundrect=function(a,b,c,d,e,f){this.node=this.createRect("roundrect",a,b,c,d);this.node.setAttribute("arcsize",Math.max(100*e/c,100*f/d)+"%")};mxVmlCanvas2D.prototype.ellipse=function(a,b,c,d){this.node=this.createRect("oval",a,b,c,d)}; mxVmlCanvas2D.prototype.image=function(a,b,c,d,e,f,g,k){f?(a=this.createRect("rect",a,b,c,d),a.stroked="false",b=this.createVmlElement("fill"),b.aspect=f?"atmost":"ignore",b.rotate="true",b.type="frame",b.src=e,a.appendChild(b)):(a=this.createRect("image",a,b,c,d),a.src=e);g&&k?a.style.rotation="180":g?a.style.flip="x":k&&(a.style.flip="y");if(1>this.state.alpha||1>this.state.fillAlpha)a.style.filter+="alpha(opacity="+this.state.alpha*this.state.fillAlpha*100+")";this.root.appendChild(a)}; -mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+e.fontBackgroundColor+";");null!=e.fontBorderColor&&(f+="border:1px solid "+e.fontBorderColor+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration="inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText= -f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic");(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&& -(a.textDecoration="underline");return c}; +mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+mxUtils.htmlEntities(e.fontBackgroundColor)+";");null!=e.fontBorderColor&&(f+="border:1px solid "+mxUtils.htmlEntities(e.fontBorderColor)+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration= +"inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText=f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic"); +(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(a.textDecoration="underline");return c}; mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e){var r=this.state;if("html"==l){null!=r.rotation&&(b=this.rotatePoint(a,b,r.rotation,r.rotationCx,r.rotationCy),a=b.x,b=b.y);8!=document.documentMode||mxClient.IS_EM?(a*=r.scale,b*=r.scale):(a+=r.dx,b+=r.dy,"fill"!=m&&g==mxConstants.ALIGN_TOP&&--b);l=8!=document.documentMode||mxClient.IS_EM?this.createElement("div"):this.createVmlElement("group");l.style.position="absolute";l.style.display="inline";l.style.left= this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&& (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false", @@ -654,8 +654,8 @@ this.textWidthPadding;this.clipped&&(f=Math.min(f,this.bounds.height));l=this.bo "px");var g=g*d,l=l*d,m=this.getTextRotation()*(Math.PI/180);e=parseFloat(parseFloat(Math.cos(m)).toFixed(8));f=parseFloat(parseFloat(Math.sin(-m)).toFixed(8));m%=2*Math.PI;0>m&&(m+=2*Math.PI);m%=Math.PI;m>Math.PI/2&&(m=Math.PI-m);var k=Math.cos(m),n=Math.sin(-m),b=l*-(b+.5),p=g*-(c+.5);0!=m&&(c="progid:DXImageTransform.Microsoft.Matrix(M11="+e+", M12="+f+", M21="+-f+", M22="+e+", sizingMethod='auto expand')",a.filter=null!=a.filter&&0<a.filter.length?a.filter+(" "+c):c);c=0;"fill"!=this.overflow&& mxClient.IS_QUIRKS&&(c=this.valign==mxConstants.ALIGN_TOP?c-1:this.valign==mxConstants.ALIGN_BOTTOM?c+2:c+1);a.zoom=d;a.left=Math.round(this.bounds.x+((l-l*k+g*n)/2-e*b-f*p)-l/2)+"px";a.top=Math.round(this.bounds.y+((g-g*k+l*n)/2+f*b-e*p)-g/2+c)+"px"}; mxText.prototype.updateValue=function(){if(mxUtils.isNode(this.value))this.node.innerHTML="",this.node.appendChild(this.value);else{var a=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(a=mxUtils.htmlEntities(a,!1));var a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"),a=this.replaceLinefeeds?a.replace(/\n/g,"<br/>"):a,b=null!=this.background&&this.background!=mxConstants.NONE?this.background:null,c=null!=this.border&&this.border!=mxConstants.NONE?this.border:null;if("fill"==this.overflow|| -"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+b+";");null!=c&&(d+="border:1px solid "+c+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML=a;a=this.node.getElementsByTagName("div"); -0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; +"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+mxUtils.htmlEntities(b)+";");null!=c&&(d+="border:1px solid "+mxUtils.htmlEntities(c)+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML= +a;a=this.node.getElementsByTagName("div");0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; mxText.prototype.updateFont=function(a){a=a.style;a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT;a.fontSize=this.size+"px";a.fontFamily='"'+this.family+'"';a.verticalAlign="top";a.color=this.color;a.fontWeight=(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?"bold":"";a.fontStyle=(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?"italic":"";a.textDecoration=(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE? "underline":"";a.textAlign=this.align==mxConstants.ALIGN_CENTER?"center":this.align==mxConstants.ALIGN_RIGHT?"right":"left"}; mxText.prototype.updateSize=function(a,b){var c=Math.max(0,Math.round(this.bounds.width/this.scale)),d=Math.max(0,Math.round(this.bounds.height/this.scale)),e=a.style;this.clipped?(e.overflow="hidden",mxClient.IS_QUIRKS?e.width=c+"px":(e.maxHeight=d+"px",e.maxWidth=c+"px")):"fill"==this.overflow?(e.width=c+1+"px",e.height=d+1+"px",e.overflow="hidden"):"width"==this.overflow&&(e.width=c+1+"px",e.maxHeight=d+1+"px",e.overflow="hidden");if(this.wrap&&0<c){if(e.wordWrap=mxConstants.WORD_WRAP,e.whiteSpace= @@ -1510,9 +1510,10 @@ g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.gr mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null; function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.updatePreviewShape();this.updateHint()});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){if(null!=this.first)try{this.bounds=this.graph.getView().getBounds(this.cells),this.pBounds=this.getPreviewBounds(this.cells), this.updatePreviewShape()}catch(d){this.reset()}});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null; -mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0; -mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled}; -mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; +mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1; +mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a}; +mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)}; +mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()|| null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}}; mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())}; @@ -1532,8 +1533,10 @@ mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed()){var c=this.gr e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}else this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b)}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()}; mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};mxGraphHandler.prototype.reset=function(){this.destroyShapes();this.removeHint();this.delayedSelection=this.cellWasClicked=!1;this.target=this.cell=this.first=this.guides=this.currentDy=this.currentDx=null}; mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,c){if(this.graph.getModel().isVertex(a)&&(a=this.graph.getView().getState(a),null!=a)){c=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(c),mxEvent.getClientY(c));var d=mxUtils.toRadians(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION)||0);if(0!=d){b=Math.cos(-d);var d=Math.sin(-d),e=new mxPoint(a.getCenterX(),a.getCenterY());c=mxUtils.getRotatedPoint(c,b,d,e)}return!mxUtils.contains(a,c.x,c.y)}return!1}; -mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell),a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0]); -d&&this.graph.setSelectionCells(a)};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; +mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));var g=this.graph.getModel().getParent(this.cell);null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(g,a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());this.graph.getModel().beginUpdate();try{g=[];if(!d&&null!=e&&this.removeEmptyParents){for(var k=new mxDictionary,l=0;l<a.length;l++)k.put(a[l],!0);for(l=0;l<a.length;l++){var m= +this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])}; +mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.getState(a);console.log("state",b,this.graph.model.getChildCount(b.cell));return null!=b&&(this.graph.model.isEdge(b.cell)||this.graph.model.isVertex(b.cell))&&this.graph.isCellDeletable(b.cell)&&0==this.graph.model.getChildCount(b.cell)?(a=mxUtils.getValue(b.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(b.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE),a==mxConstants.NONE&&b==mxConstants.NONE): +!1};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), @@ -2464,7 +2467,7 @@ mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getPro function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var D=this.updateMouseEvent;this.updateMouseEvent=function(a){a=D.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= null);return a}}this.currentTranslate=new mxPoint(0,0)};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,c,d){d=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" version="1.1">'+d+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0)),a,c)}; -Graph.zapGremlins=function(a){for(var c=[],d=0;d<a.length;d++){var b=a.charCodeAt(d);(32<=b||9==b||10==b||13==b)&&65535!=b&&c.push(a.charAt(d))}return c.join("")};Graph.stringToBytes=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=a.charCodeAt(d);return c};Graph.bytesToString=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=String.fromCharCode(a[d]);return c.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; +Graph.zapGremlins=function(a){for(var c=[],d=0;d<a.length;d++){var b=a.charCodeAt(d);(32<=b||9==b||10==b||13==b)&&65535!=b&&65534!=b&&c.push(a.charAt(d))}return c.join("")};Graph.stringToBytes=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=a.charCodeAt(d);return c};Graph.bytesToString=function(a){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]=String.fromCharCode(a[d]);return c.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; Graph.compress=function(a,c){if(null==a||0==a.length||"undefined"===typeof pako)return a;var d=Graph.bytesToString(c?pako.deflate(encodeURIComponent(a)):pako.deflateRaw(encodeURIComponent(a)));return window.btoa?btoa(d):Base64.encode(d,!0)};Graph.decompress=function(a,c){if(null==a||0==a.length||"undefined"===typeof pako)return a;var d=window.atob?atob(a):Base64.decode(a,!0);return Graph.zapGremlins(decodeURIComponent(Graph.bytesToString(c?pako.inflate(d):pako.inflateRaw(d))))}; mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.linkRelation="nofollow noopener noreferrer";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff"; Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);Graph.prototype.transparentBackground=!0;Graph.prototype.selectParentAfterDelete=!1;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default"; @@ -2576,21 +2579,21 @@ f.documentElement&&mxStencilRegistry.parseStencilSet(f.documentElement,c,e)}};mx mxStencilRegistry.parseStencilSet=function(a,c,d){if("stencils"==a.nodeName)for(var b=a.firstChild;null!=b;)"shapes"==b.nodeName&&mxStencilRegistry.parseStencilSet(b,c,d),b=b.nextSibling;else{d=null!=d?d:!0;var b=a.firstChild,f="";a=a.getAttribute("name");for(null!=a&&(f=a+".");null!=b;){if(b.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.getAttribute("name"),null!=a)){var f=f.toLowerCase(),e=a.replace(/ /g,"_");d&&mxStencilRegistry.addStencil(f+e.toLowerCase(),new mxStencil(b));if(null!=c){var h=b.getAttribute("w"), g=b.getAttribute("h"),h=null==h?80:parseInt(h,10),g=null==g?80:parseInt(g,10);c(f,e,a,h,g)}}b=b.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= -"#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var c=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| -c.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); -for(var b in this.graph.currentEdgeStyle)a.style[b]=this.graph.currentEdgeStyle[b];return a};var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=d.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var b=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=b.apply(this,arguments),c=a.getCell; -a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& -(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");null!=this.currentEdgeStyle.orthogonalLoop? -a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize?a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&(a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+ -";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.importGraphModel=function(a,b,c,d){b=null!=b? -b:0;c=null!=c?c:0;var e=new mxCodec(a.ownerDocument),g=new mxGraphModel;e.decode(a,g);a=[];e=g.getChildren(this.cloneCell(g.root,this.isCloneInvalidEdges()));if(null!=e){e=e.slice();this.model.beginUpdate();try{if(1!=e.length||this.isCellLocked(this.getDefaultParent()))for(g=0;g<e.length;g++)a=a.concat(this.model.getChildren(this.moveCells([e[g]],b,c,!1,this.model.getRoot())[0]));else a=this.moveCells(g.getChildren(e[0]),b,c,!1,this.getDefaultParent());if(d){this.isGridEnabled()&&(b=this.snap(b), -c=this.snap(c));var f=this.getBoundingBoxFromGeometry(a,!0);null!=f&&this.moveCells(a,b-f.x,c-f.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var g=e[c];d.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0,null,3<g.length?g[3]:0,4<g.length?g[4]:0))}}catch(V){}return d}if(null!=a.shape&&null!= -a.shape.bounds){g=a.shape.direction;e=a.shape.bounds;c=a.shape.scale;d=e.width/c;e=e.height/c;if(g==mxConstants.DIRECTION_NORTH||g==mxConstants.DIRECTION_SOUTH)g=d,d=e,e=g;c=a.shape.getConstraints(a.style,d,e);if(null!=c)return c;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a); -null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||c++)}return 0<c||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var b= -this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(b,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!= -this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell=function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e= -a[d];if(b.isEdge(e)){var g=b.getTerminal(e,!0),f=b.getTerminal(e,!1);b.setTerminal(e,f,!0);b.setTerminal(e,g,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var k=h.getTerminalPoint(!0),l=h.getTerminalPoint(!1);h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),B=this.view.getState(g),p=this.view.getState(f);if(null!=m){var n=null!=B?this.getConnectionConstraint(m,B,!0):null,t=null!=p?this.getConnectionConstraint(m, -p,!1):null;this.setConnectionConstraint(e,g,!0,t);this.setConnectionConstraint(e,f,!1,n)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var u=h.width;h.width=h.height;h.height=u;b.setGeometry(e,h);var r=this.view.getState(e);if(null!=r){var q=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==q?q="south":"south"==q?q="west":"west"==q?q="north":"north"==q&&(q="east");this.setCellStyles(mxConstants.STYLE_DIRECTION, +"#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var c=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget= +function(a){return mxEvent.isControlDown(a)||c.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view, +a,this.graph.getCellStyle(a));for(var b in this.graph.currentEdgeStyle)a.style[b]=this.graph.currentEdgeStyle[b];return a};var d=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=d.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var b=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a= +b.apply(this,arguments),c=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";"; +null!=this.currentEdgeStyle.shape&&(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+ +";");null!=this.currentEdgeStyle.orthogonalLoop?a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize?a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&(a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!= +this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; +Graph.prototype.importGraphModel=function(a,b,c,d){b=null!=b?b:0;c=null!=c?c:0;var e=new mxCodec(a.ownerDocument),g=new mxGraphModel;e.decode(a,g);a=[];e=g.getChildren(this.cloneCell(g.root,this.isCloneInvalidEdges()));if(null!=e){e=e.slice();this.model.beginUpdate();try{if(1!=e.length||this.isCellLocked(this.getDefaultParent()))for(g=0;g<e.length;g++)a=a.concat(this.model.getChildren(this.moveCells([e[g]],b,c,!1,this.model.getRoot())[0]));else a=this.moveCells(g.getChildren(e[0]),b,c,!1,this.getDefaultParent()); +if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var f=this.getBoundingBoxFromGeometry(a,!0);null!=f&&this.moveCells(a,b-f.x,c-f.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var g=e[c];d.push(new mxConnectionConstraint(new mxPoint(g[0],g[1]),2<g.length?"0"!=g[2]:!0,null,3<g.length?g[3]:0,4<g.length?g[4]: +0))}}catch(V){}return d}if(null!=a.shape&&null!=a.shape.bounds){g=a.shape.direction;e=a.shape.bounds;c=a.shape.scale;d=e.width/c;e=e.height/c;if(g==mxConstants.DIRECTION_NORTH||g==mxConstants.DIRECTION_SOUTH)g=d,d=e,e=g;c=a.shape.getConstraints(a.style,d,e);if(null!=c)return c;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a), +b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||c++)}return 0<c||this.isContainer(a)}; +Graph.prototype.isValidDropTarget=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(b,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this, +arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell=function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate(); +try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var g=b.getTerminal(e,!0),f=b.getTerminal(e,!1);b.setTerminal(e,f,!0);b.setTerminal(e,g,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse();var k=h.getTerminalPoint(!0),l=h.getTerminalPoint(!1);h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),B=this.view.getState(g),p=this.view.getState(f);if(null!=m){var n=null!=B?this.getConnectionConstraint(m,B,!0):null,t= +null!=p?this.getConnectionConstraint(m,p,!1):null;this.setConnectionConstraint(e,g,!0,t);this.setConnectionConstraint(e,f,!1,n)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/2;h.y+=h.height/2-h.width/2;var u=h.width;h.width=h.height;h.height=u;b.setGeometry(e,h);var r=this.view.getState(e);if(null!=r){var q=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==q?q="south":"south"==q?q="west":"west"==q?q="north":"north"==q&&(q="east");this.setCellStyles(mxConstants.STYLE_DIRECTION, q,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var b=this.model.getDescendants(a.cell);if(0<b.length)for(var c= 0;c<b.length;c++){var d=this.view.getState(b[c]);null!=d&&null!=d.shape&&null!=d.shape.stencil&&this.stencilHasPlaceholders(d.shape.stencil)?this.removeStateForCell(b[c]):this.isReplacePlaceholders(b[c])&&this.view.invalidate(b[c],!1,!1)}}};Graph.prototype.replaceElement=function(a,b){for(var c=a.ownerDocument.createElement(null!=b?b:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)c.setAttribute(attr.nodeName,attr.nodeValue);c.innerHTML=a.innerHTML;a.parentNode.replaceChild(c,a)}; Graph.prototype.processElements=function(a,b){for(var c=a.getElementsByTagName("*"),d=0;d<c.length;d++)b(c[d])};Graph.prototype.updateLabelElements=function(a,b,c){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),e=0;e<a.length;e++)if(this.isHtmlLabel(a[e])){var g=this.convertValueToString(a[e]);if(null!=g&&0<g.length){d.innerHTML=g;for(var f=d.getElementsByTagName(null!=c?c:"*"),h=0;h<f.length;h++)b(f[h]);d.innerHTML!=g&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged= @@ -8007,8 +8010,8 @@ RemoteLibrary.prototype.saveAs=function(a,c,b){};RemoteLibrary.prototype.updateF var StorageDialog=function(a,c,b){function d(d,p,g,e,u,k){function t(){mxEvent.addListener(x,"click",null!=k?k:function(){g!=App.MODE_GOOGLE||a.isDriveDomain()?g==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(g,q.checked);c()})):g==App.MODE_ONEDRIVE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.oneDrive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(g,q.checked); c()})):(a.setMode(g,q.checked),c()):window.location.hostname=DriveClient.prototype.newAppHostname})}var x=document.createElement("a");x.style.overflow="hidden";x.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";x.className="geBaseButton";x.style.boxSizing="border-box";x.style.fontSize="11px";x.style.position="relative";x.style.margin="4px";x.style.padding="8px 10px 12px 10px";x.style.width="88px";x.style.height="100px";x.style.whiteSpace="nowrap";x.setAttribute("title",p);mxClient.IS_QUIRKS&& (x.style.cssFloat="left",x.style.zoom="1");var z=document.createElement("div");z.style.textOverflow="ellipsis";z.style.overflow="hidden";if(null!=d){var v=document.createElement("img");v.setAttribute("src",d);v.setAttribute("border","0");v.setAttribute("align","absmiddle");v.style.width="60px";v.style.height="60px";v.style.paddingBottom="6px";x.appendChild(v)}else z.style.paddingTop="5px",z.style.whiteSpace="normal",mxClient.IS_IOS?(x.style.padding="0px 10px 20px 10px",x.style.top="6px"):mxClient.IS_FF&& -(z.style.paddingTop="0px",z.style.marginTop="-2px");x.appendChild(z);mxUtils.write(z,p);if(null!=u)for(d=0;d<u.length;d++)mxUtils.br(z),mxUtils.write(z,u[d]);if(null!=e&&null==a[e]){v.style.visibility="hidden";mxUtils.setOpacity(z,10);var B=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});B.spin(x);var y=window.setTimeout(function(){null==a[e]&&(B.stop(),x.style.display="none")},3E4);a.addListener("clientLoaded", -mxUtils.bind(this,function(b,c){null!=a[e]&&c.getProperty("client")==a[e]&&(window.clearTimeout(y),mxUtils.setOpacity(z,100),v.style.visibility="",B.stop(),t(),"drive"==e&&null!=l.parentNode&&l.parentNode.removeChild(l))}))}else t();n.appendChild(x);++f>=b&&(mxUtils.br(n),f=0)}b=null!=b?b:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")- +(z.style.paddingTop="0px",z.style.marginTop="-2px");x.appendChild(z);mxUtils.write(z,p);if(null!=u)for(d=0;d<u.length;d++)mxUtils.br(z),mxUtils.write(z,u[d]);if(null!=e&&null==a[e]){v.style.visibility="hidden";mxUtils.setOpacity(z,10);var B=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});B.spin(x);var m=window.setTimeout(function(){null==a[e]&&(B.stop(),x.style.display="none")},3E4);a.addListener("clientLoaded", +mxUtils.bind(this,function(b,c){null!=a[e]&&c.getProperty("client")==a[e]&&(window.clearTimeout(m),mxUtils.setOpacity(z,100),v.style.visibility="",B.stop(),t(),"drive"==e&&null!=l.parentNode&&l.parentNode.removeChild(l))}))}else t();n.appendChild(x);++f>=b&&(mxUtils.br(n),f=0)}b=null!=b?b:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")- 3+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title",mxResources.get("help"));g.setAttribute("target","_blank");g.style.position="absolute";g.style.textDecoration="none";g.style.cursor="pointer";g.style.fontSize="12px";g.style.bottom="28px";g.style.left="26px";g.style.color="gray";var k=document.createElement("img");mxUtils.setOpacity(k,50);k.style.height="16px";k.style.width="16px";k.setAttribute("border", "0");k.setAttribute("valign","bottom");k.setAttribute("src",Editor.helpImage);k.style.marginRight="2px";g.appendChild(k);mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var m=document.createElement("div");m.style.position="absolute";m.style.cursor="pointer";m.style.fontSize="12px";m.style.bottom="28px";m.style.color="gray";mxUtils.write(m,mxResources.get("decideLater"));a.isOfflineApp()?m.style.right="20px":(mxUtils.setPrefixedStyle(m.style,"transform","translate(-50%,0)"),m.style.left= "50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)m.style.marginLeft=-Math.round(m.clientWidth/2)+"px"};e.appendChild(m);mxEvent.addListener(m,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null,!0);Editor.useLocalStorage=b});var n=document.createElement("div");mxClient.IS_QUIRKS&&(n.style.whiteSpace="nowrap",n.style.cssFloat="left");n.style.border="1px solid #d3d3d3";n.style.borderWidth="1px 0px 1px 0px"; @@ -8038,7 +8041,7 @@ encodeURIComponent(m.value);a.openLink(b)}catch(p){a.handleError({message:p.mess c.length&&(f=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(m.value);a.openLink(b)}catch(p){a.handleError({message:p.message||mxResources.get("drawingTooLarge")})}}),q=document.createElement("img"),q.setAttribute("src",Editor.tweetImage),q.setAttribute("width","18"),q.setAttribute("height","18"),q.setAttribute("border","0"),q.style.marginBottom="5px",f.appendChild(q),f.setAttribute("title", mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),f.style.verticalAlign="bottom",f.style.paddingTop="4px",f.style.minWidth="46px",f.className="geBtn",g.appendChild(f))}q=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.appendChild(q);f=mxUtils.button(mxResources.get("copy"),function(){m.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))}); 5E5>c.length?mxClient.IS_SF||null!=document.documentMode?q.className="geBtn gePrimaryBtn":(g.appendChild(f),f.className="geBtn gePrimaryBtn",q.className="geBtn"):(g.appendChild(n),q.className="geBtn",n.className="geBtn gePrimaryBtn");d.appendChild(g);this.container=d};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,c){function b(){var a=null!=x&&null!=x.getTitle()?x.getTitle():this.defaultFilename;if(B.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<D.length&&(b+="&s="+D);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=l.value&&(b+="&height="+l.value);b+="&pan="+(v.checked?"1":"0");b+="&zoom="+(t.checked?"1":"0");b+="&fit="+(z.checked?"1":"0"); +var GoogleSitesDialog=function(a,c){function b(){var a=null!=x&&null!=x.getTitle()?x.getTitle():this.defaultFilename;if(B.checked&&""!=p.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(p.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<F.length&&(b+="&s="+F);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=l.value&&(b+="&height="+l.value);b+="&pan="+(v.checked?"1":"0");b+="&zoom="+(t.checked?"1":"0");b+="&fit="+(z.checked?"1":"0"); b+="&resize="+(C.checked?"1":"0");b+="&x0="+Number(f.value);b+="&y0="+n;e.mathEnabled&&(b+="&math=1");y.checked?b+="&edit=_blank":A.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));q.value=b}else x.constructor==DriveFile||x.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=p.value?b+=encodeURIComponent(mxUtils.htmlEntities(p.value))+"&type=3":(b+=x.getHash().substring(1),b=x.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!= a&&(b+="&title="+encodeURIComponent(a)),""!=l.value&&(a=parseInt(l.value)+parseInt(f.value),b+="&height="+a),q.value=b):q.value=""}var d=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),k=e.view.scale,m=Math.floor(g.x/k-e.view.translate.x),n=Math.floor(g.y/k-e.view.translate.y);mxUtils.write(d,mxResources.get("googleGadget")+":");mxUtils.br(d);var q=document.createElement("input");q.setAttribute("type","text");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px"; d.appendChild(q);mxUtils.br(d);this.init=function(){q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};mxUtils.write(d,mxResources.get("top")+":");var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","4");f.style.marginRight="16px";f.style.marginLeft="4px";f.value=m;d.appendChild(f);mxUtils.write(d,mxResources.get("height")+":");var l=document.createElement("input");l.setAttribute("type", @@ -8046,7 +8049,7 @@ d.appendChild(q);mxUtils.br(d);this.init=function(){q.focus();mxClient.IS_GC||mx d.appendChild(p);mxUtils.br(d);mxUtils.write(d,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";d.appendChild(u);mxUtils.br(d);var v=document.createElement("input");v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="16px";d.appendChild(v);mxUtils.write(d,mxResources.get("pan")+" ");var t=document.createElement("input"); t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="8px";d.appendChild(t);mxUtils.write(d,mxResources.get("zoom")+" ");var A=document.createElement("input");A.setAttribute("type","checkbox");A.style.marginLeft="8px";A.setAttribute("title",window.location.href);d.appendChild(A);mxUtils.write(d,mxResources.get("edit")+" ");var y=document.createElement("input");y.setAttribute("type","checkbox");y.style.marginLeft="8px";d.appendChild(y);mxUtils.write(d, mxResources.get("asNew")+" ");mxUtils.br(d);var C=document.createElement("input");C.setAttribute("type","checkbox");C.setAttribute("checked","checked");C.defaultChecked=!0;C.style.marginLeft="16px";d.appendChild(C);mxUtils.write(d,mxResources.get("resize")+" ");var z=document.createElement("input");z.setAttribute("type","checkbox");z.style.marginLeft="8px";d.appendChild(z);mxUtils.write(d,mxResources.get("fit")+" ");var B=document.createElement("input");B.setAttribute("type","checkbox");B.style.marginLeft= -"8px";d.appendChild(B);mxUtils.write(d,mxResources.get("embed")+" ");var D=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(v,"change",b);mxEvent.addListener(t,"change",b);mxEvent.addListener(C,"change",b);mxEvent.addListener(z,"change",b);mxEvent.addListener(A,"change",b);mxEvent.addListener(y,"change",b);mxEvent.addListener(B,"change",b);mxEvent.addListener(l,"change",b);mxEvent.addListener(f,"change",b);mxEvent.addListener(u,"change",b);mxEvent.addListener(p,"change",b);b(); +"8px";d.appendChild(B);mxUtils.write(d,mxResources.get("embed")+" ");var F=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(v,"change",b);mxEvent.addListener(t,"change",b);mxEvent.addListener(C,"change",b);mxEvent.addListener(z,"change",b);mxEvent.addListener(A,"change",b);mxEvent.addListener(y,"change",b);mxEvent.addListener(B,"change",b);mxEvent.addListener(l,"change",b);mxEvent.addListener(f,"change",b);mxEvent.addListener(u,"change",b);mxEvent.addListener(p,"change",b);b(); mxEvent.addListener(q,"click",function(){q.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)});g=document.createElement("div");g.style.paddingTop="12px";g.style.textAlign="right";k=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});k.className="geBtn gePrimaryBtn";g.appendChild(k);d.appendChild(g);this.container=d},CreateGraphDialog=function(a,c,b){var d=document.createElement("div");d.style.textAlign= "right";this.init=function(){var c=document.createElement("div");c.style.position="relative";c.style.border="1px solid gray";c.style.width="100%";c.style.height="360px";c.style.overflow="hidden";c.style.marginBottom="16px";mxEvent.disableContextMenu(c);d.appendChild(c);var g=new Graph(c);g.setCellsCloneable(!0);g.setPanning(!0);g.setAllowDanglingEdges(!1);g.connectionHandler.select=!1;g.view.setTranslate(20,20);g.border=20;g.panningHandler.useLeftButtonForPanning=!0;var k="curved=1;";g.cellRenderer.installCellOverlayListeners= function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};g.getAllConnectionConstraints=function(){return null};g.connectionHandler.marker.highlight.keepOnTop= @@ -8077,7 +8080,7 @@ mxUtils.trim(e.substring(12)),"("==e.charAt(e.length-1)&&(e=e.substring(0,e.last e=d.getGraphBounds(),d.setSelectionCells(d.importCells(k,Math.ceil(Math.max(0,e.x/f.scale-f.translate.x)+4*d.gridSize),Math.ceil(Math.max(0,(e.y+e.height)/f.scale-f.translate.y)+4*d.gridSize))),d.scrollCellToVisible(d.getSelectionCell()))}else if("list"==c){if(0<f.length){d=a.editor.graph;q=null;k=[];for(x=u=0;x<f.length;x++)";"!=f[x].charAt(0)&&(0==f[x].length?q=null:null==q?(q=new mxCell(f[x],new mxGeometry(u,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;"), q.vertex=!0,k.push(q),e=d.getPreferredSizeForCell(q),null!=e&&q.geometry.width<e.width+10&&(q.geometry.width=e.width+10),u+=q.geometry.width+40):"--"==f[x]?(e=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),e.vertex=!0,q.geometry.height+=e.geometry.height,q.insert(e)):0<f[x].length&&(m=new mxCell(f[x],new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"), m.vertex=!0,e=d.getPreferredSizeForCell(m),null!=e&&m.geometry.width<e.width&&(m.geometry.width=e.width),q.geometry.width=Math.max(q.geometry.width,m.geometry.width),q.geometry.height+=m.geometry.height,q.insert(m)));if(0<k.length){d.getModel().beginUpdate();try{k=d.importCells(k,g.x,g.y);e=[];for(x=0;x<k.length;x++)e.push(k[x]),e=e.concat(k[x].children);d.fireEvent(new mxEventObject("cellsInserted","cells",e))}finally{d.getModel().endUpdate()}d.setSelectionCells(k);d.scrollCellToVisible(d.getSelectionCell())}}}else{for(var q= -function(a){var b=E[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,E[a]=b,k.push(b));return b},E={},k=[],x=0;x<f.length;x++)if(";"!=f[x].charAt(0)){var I=f[x].split("->");if(2<=I.length){var n=q(I[0]),J=q(I[I.length-1]),I=new mxCell(2<I.length?I[1]:"",new mxGeometry);I.edge=!0;n.insertEdge(I,!0);J.insertEdge(I,!1);k.push(I)}}if(0<k.length){f=document.createElement("div");f.style.visibility="hidden";document.body.appendChild(f);d=new Graph(f);d.getModel().beginUpdate(); +function(a){var b=D[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,D[a]=b,k.push(b));return b},D={},k=[],x=0;x<f.length;x++)if(";"!=f[x].charAt(0)){var H=f[x].split("->");if(2<=H.length){var n=q(H[0]),J=q(H[H.length-1]),H=new mxCell(2<H.length?H[1]:"",new mxGeometry);H.edge=!0;n.insertEdge(H,!0);J.insertEdge(H,!1);k.push(H)}}if(0<k.length){f=document.createElement("div");f.style.visibility="hidden";document.body.appendChild(f);d=new Graph(f);d.getModel().beginUpdate(); try{k=d.importCells(k);for(x=0;x<k.length;x++)d.getModel().isVertex(k[x])&&(e=d.getPreferredSizeForCell(k[x]),k[x].geometry.width=Math.max(k[x].geometry.width,e.width),k[x].geometry.height=Math.max(k[x].geometry.height,e.height));u=new mxFastOrganicLayout(d);u.disableEdgeStyle=!1;u.forceConstant=120;u.execute(d.getDefaultParent());m=new mxParallelEdgeLayout(d);m.spacing=20;m.execute(d.getDefaultParent())}finally{d.getModel().endUpdate()}d.clearCellOverlays();e=[];a.editor.graph.getModel().beginUpdate(); try{e=a.editor.graph.importCells(d.getModel().getChildren(d.getDefaultParent()),g.x,g.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",e))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(e);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());d.destroy();f.parentNode.removeChild(f)}}}function e(){return"list"==m.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean\n\nAddress\n-street: String\n-city: String\n-state: String": "table"==m.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==m.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml": @@ -8086,35 +8089,35 @@ try{e=a.editor.graph.importCells(d.getModel().getChildren(d.getDefaultParent()), n=document.createElement("option");n.setAttribute("value","diagram");mxUtils.write(n,mxResources.get("diagram"));"plantUml"!=b&&m.appendChild(n);n=document.createElement("option");n.setAttribute("value","plantUmlSvg");mxUtils.write(n,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==b&&n.setAttribute("selected","selected");var q=document.createElement("option");q.setAttribute("value","plantUmlPng");mxUtils.write(q,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ ")");var f=document.createElement("option");f.setAttribute("value","plantUmlTxt");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==b&&(m.appendChild(n),m.appendChild(q),m.appendChild(f));var l=e();k.value=l;c.appendChild(k);this.init=function(){k.focus()};Graph.fileSupport&&(k.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),k.addEventListener("drop",function(a){a.stopPropagation(); a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){k.value=a.target.result};b.readAsText(a)}},!1));c.appendChild(m);mxEvent.addListener(m,"change",function(){var a=e();if(0==k.value.length||k.value==l)l=a,k.value=l});b=mxUtils.button(mxResources.get("close"),function(){k.value==l?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);n=mxUtils.button(mxResources.get("insert"), -function(){a.hideDialog();d(k.value,m.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(b);this.container=c},NewDialog=function(a,c,b,d,e,g,k,m,n,q,f,l,p,u,v,t,A){function y(){var a=!0;if(null!=V)for(;I<V.length&&(a||0!=mxUtils.mod(I,30));)a=V[I++],B(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick,a.preview,a.noImg),a=!1}function C(){if(Z)b||a.hideDialog(),u(Z,ca,E.value);else if(d)b||a.hideDialog(),d(ha,E.value);else{var c= -E.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,ha,null!=aa&&0<aa.length?aa:null,null,function(){a.hideDialog()},null,b)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function z(a,b,c,f,d){null!=U&&(U.style.backgroundColor="transparent",U.style.border="1px solid transparent");F.removeAttribute("disabled");ha=b;aa=c;U=a;Z=f;ca=d;U.style.backgroundColor=m;U.style.border=n}function B(b,c,f,d,l,p,g,e,x,t){var u=document.createElement("div");u.className= -"geTemplate";u.style.height=fa+"px";u.style.width=R+"px";null!=d&&0<d.length&&u.setAttribute("title",d);if(null!=p)u.style.backgroundImage="url("+p+")",u.style.backgroundSize="contain",u.style.backgroundPosition="center center",u.style.backgroundRepeat="no-repeat",mxEvent.addListener(u,"click",function(a){z(u,null,null,b,g)}),mxEvent.addListener(u,"dblclick",function(a){C()});else if(!t&&null!=b&&0<b.length){f=x||TEMPLATE_PATH+"/"+b.substring(0,b.length-4)+".png";u.style.backgroundImage="url("+f+ -")";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";var k=!1;mxEvent.addListener(u,"click",function(f){F.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";f=b;f=/^https?:\/\//.test(f)&&!a.editor.isCorsEnabledForUrl(f)?PROXY_URL+"?url="+encodeURIComponent(f):TEMPLATE_PATH+"/"+f;J.spin(P);mxUtils.get(f,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(),c),k&&C())}))}); -mxEvent.addListener(u,"dblclick",function(a){k=!0})}else u.innerHTML='<table width="100%" height="100%" style="line-height:1em;word-break: break-all;"><tr><td align="center" valign="middle">'+mxResources.get(f,null,f)+"</td></tr></table>",l&&z(u),null!=e?mxEvent.addListener(u,"click",e):(mxEvent.addListener(u,"click",function(a){z(u,null,null,b,g)}),mxEvent.addListener(u,"dblclick",function(a){C()}));P.appendChild(u)}function D(){X&&(X=!1,mxEvent.addListener(P,"scroll",function(a){P.scrollTop+P.clientHeight>= -P.scrollHeight&&(y(),mxEvent.consume(a))}));var a=null;if(0<Q){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));W.appendChild(b);for(var c in ea){var f=document.createElement("div"),b=c,d=ea[c];18<b.length&&(b=b.substring(0,18)+"…");f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;"; -f.setAttribute("title",b+" ("+d.length+")");mxUtils.write(f,f.getAttribute("title"));null!=q&&(f.style.padding=q);W.appendChild(f);(function(b,c){mxEvent.addListener(f,"click",function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,P.scrollTop=0,P.innerHTML="",I=0,V=ea[b],K=null,y())})})(c,f)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");W.appendChild(b)}for(c in N)f=document.createElement("div"), -b=mxResources.get(c),d=N[c],null==b&&(b=c.substring(0,1).toUpperCase()+c.substring(1)),18<b.length&&(b=b.substring(0,18)+"…"),f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;",f.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(f,f.getAttribute("title")),null!=q&&(f.style.padding=q),W.appendChild(f),null==a&&0<d.length&&(a=f,a.style.backgroundColor=k,V=d),function(b,c){mxEvent.addListener(f,"click", -function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,P.scrollTop=0,P.innerHTML="",I=0,V=N[b],K=null,y())})}(c,f);y()}b=null!=b?b:!0;e=null!=e?e:!1;k=null!=k?k:"#ebf2f9";m=null!=m?m:"#e6eff8";n=null!=n?n:"1px solid #ccd9ea";f=null!=f?f:EditorUi.templateFile;var x=document.createElement("div");x.style.height="100%";var G=document.createElement("div");G.style.whiteSpace="nowrap";G.style.height="46px";b&&x.appendChild(G);var H=document.createElement("img");H.setAttribute("border", -"0");H.setAttribute("align","absmiddle");H.style.width="40px";H.style.height="40px";H.style.marginRight="10px";H.style.paddingBottom="4px";H.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png"; -!c&&b&&G.appendChild(H);b&&mxUtils.write(G,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");H=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?H=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?H=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?H=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?H=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(H=a.trello.extension);var E= -document.createElement("input");E.setAttribute("value",a.defaultFilename+H);E.style.marginLeft="10px";E.style.width=c?"220px":"430px";this.init=function(){b&&(E.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?E.select():document.execCommand("selectAll",!1,null))};b&&(G.appendChild(E),null!=a.editor.fileExtensions&&(H=FilenameDialog.createTypeHint(a,E,a.editor.fileExtensions),H.style.marginTop="12px",G.appendChild(H)));var G=!1,I=0,J=new Spinner({lines:12,length:10, -width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),F=mxUtils.button(t||mxResources.get("create"),function(){F.setAttribute("disabled","disabled");C();F.removeAttribute("disabled")});F.className="geBtn gePrimaryBtn";if(l||p){var M=[],K=null,S=null,L=null,T=function(a){F.setAttribute("disabled","disabled");for(var b=0;b<M.length;b++)M[b].className=b==a?"geBtn gePrimaryBtn":"geBtn"},G=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height= -"30px";x.appendChild(t);H=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";P.style.left="160px";T(0);P.scrollTop=0;P.innerHTML="";I=0;K!=V&&(V=K,N=S,Q=L,W.innerHTML="",D(),K=null)});M.push(H);t.appendChild(H);var Y=function(a){W.style.display="none";P.style.left="30px";T(a?-1:1);null==K&&(K=V);P.scrollTop=0;P.innerHTML="";J.spin(P);var b=function(a,b,c){I=0;J.stop();V=a;c=c||{};var f=0,d;for(d in c)f+=c[d].length;if(b)P.innerHTML=b;else if(0==a.length&&0== -f)P.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(P.innerHTML="",0<f){W.style.display="";P.style.left="160px";W.innerHTML="";Q=0;N={"draw.io":a};for(d in c)N[d]=c[d];D()}else y()};a?p(da.value,b):l(b)};l&&(H=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){Y()}),t.appendChild(H),M.push(H));if(p){H=document.createElement("span");H.style.marginLeft="10px";H.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");t.appendChild(H); -var da=document.createElement("input");da.style.marginRight="10px";da.style.marginLeft="10px";da.style.width="220px";mxEvent.addListener(da,"keypress",function(a){13==a.keyCode&&Y(!0)});t.appendChild(da);H=mxUtils.button(mxResources.get("search"),function(){Y(!0)});H.className="geBtn";t.appendChild(H)}T(0)}var aa=null,ha=null,U=null,Z=null,ca=null,P=document.createElement("div");P.style.border="1px solid #d3d3d3";P.style.position="absolute";P.style.left="160px";P.style.right="34px";G=(b?72:40)+(G? -30:0);P.style.top=G+"px";P.style.bottom="68px";P.style.margin="6px 0 0 -1px";P.style.padding="6px";P.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+G+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var fa=140,R=140,N={},ea={},Q=0,X=!0;N.basic=[{title:"blankDiagram",select:!0}];var V=N.basic;if(!c){var ja=function(){mxUtils.get(ba,function(a){if(!O){O=!0;for(a=a.getXml().documentElement.firstChild;null!= -a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=a.getAttribute("section");null==c&&(c=b.indexOf("/"),c=b.substring(0,c));b=N[c];null==b&&(b=[],N[c]=b);b.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview")})}}a=a.nextSibling}J.stop();D()}})};x.appendChild(W);x.appendChild(P);var O=!1,ba=f;/^https?:\/\//.test(ba)&&!a.editor.isCorsEnabledForUrl(ba)&&(ba=PROXY_URL+ -"?url="+encodeURIComponent(ba));J.spin(P);null!=A?A(function(a,b){ea=a;L=Q=b;ja()},ja):ja();S=N}mxEvent.addListener(E,"keypress",function(b){a.dialog.container.firstChild==x&&13==b.keyCode&&C()});f=document.createElement("div");f.style.marginTop=c?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom="24px";f.style.right="40px";c||a.isOffline()||!b||null!=d||e||(A=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}), -A.className="geBtn",f.appendChild(A));A=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});A.className="geBtn";!a.editor.cancelFirst||e&&null==g||f.appendChild(A);c||"1"==urlParams.embed||e||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(b)), +function(){a.hideDialog();d(k.value,m.value)});c.appendChild(n);n.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(b);this.container=c},NewDialog=function(a,c,b,d,e,g,k,m,n,q,f,l,p,u,v,t,A){function y(){var a=!0;if(null!=fa)for(;H<fa.length&&(a||0!=mxUtils.mod(H,30));)a=fa[H++],B(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick,a.preview,a.noImg,a.clibs),a=!1}function C(){if(aa)b||a.hideDialog(),u(aa,ja,D.value);else if(d)b||a.hideDialog(),d(U, +D.value);else{var c=D.value;null!=c&&0<c.length&&a.pickFolder(a.mode,function(b){a.createFile(c,U,null!=ba&&0<ba.length?ba:null,null,function(){a.hideDialog()},null,b,null,null!=ha&&0<ha.length?ha:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}function z(a,b,c,f,d,l){null!=Y&&(Y.style.backgroundColor="transparent",Y.style.border="1px solid transparent");E.removeAttribute("disabled");U=b;ba=c;ha=l;Y=a;aa=f;ja=d;Y.style.backgroundColor=m;Y.style.border=n}function B(b, +c,f,d,l,p,g,e,x,t,u){var k=document.createElement("div");k.className="geTemplate";k.style.height=R+"px";k.style.width=P+"px";null!=d&&0<d.length&&k.setAttribute("title",d);if(null!=p)k.style.backgroundImage="url("+p+")",k.style.backgroundSize="contain",k.style.backgroundPosition="center center",k.style.backgroundRepeat="no-repeat",mxEvent.addListener(k,"click",function(a){z(k,null,null,b,g,u)}),mxEvent.addListener(k,"dblclick",function(a){C()});else if(!t&&null!=b&&0<b.length){f=x||TEMPLATE_PATH+ +"/"+b.substring(0,b.length-4)+".png";k.style.backgroundImage="url("+f+")";k.style.backgroundPosition="center center";k.style.backgroundRepeat="no-repeat";var v=!1;mxEvent.addListener(k,"click",function(f){E.setAttribute("disabled","disabled");k.style.backgroundColor="transparent";k.style.border="1px solid transparent";f=b;f=/^https?:\/\//.test(f)&&!a.editor.isCorsEnabledForUrl(f)?PROXY_URL+"?url="+encodeURIComponent(f):TEMPLATE_PATH+"/"+f;J.spin(O);mxUtils.get(f,mxUtils.bind(this,function(a){J.stop(); +200<=a.getStatus()&&299>=a.getStatus()&&(z(k,a.getText(),c,null,null,u),v&&C())}))});mxEvent.addListener(k,"dblclick",function(a){v=!0})}else k.innerHTML='<table width="100%" height="100%" style="line-height:1em;word-break: break-all;"><tr><td align="center" valign="middle">'+mxResources.get(f,null,f)+"</td></tr></table>",l&&z(k),null!=e?mxEvent.addListener(k,"click",e):(mxEvent.addListener(k,"click",function(a){z(k,null,null,b,g)}),mxEvent.addListener(k,"dblclick",function(a){C()}));O.appendChild(k)} +function F(){ca&&(ca=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(y(),mxEvent.consume(a))}));var a=null;if(0<V){var b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,mxResources.get("custom"));W.appendChild(b);for(var c in Q){var f=document.createElement("div"),b=c,d=Q[c];18<b.length&&(b=b.substring(0,18)+"…");f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;"; +f.setAttribute("title",b+" ("+d.length+")");mxUtils.write(f,f.getAttribute("title"));null!=q&&(f.style.padding=q);W.appendChild(f);(function(b,c){mxEvent.addListener(f,"click",function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,O.scrollTop=0,O.innerHTML="",H=0,fa=Q[b],K=null,y())})})(c,f)}b=document.createElement("div");b.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(b,"draw.io");W.appendChild(b)}for(c in X)f=document.createElement("div"), +b=mxResources.get(c),d=X[c],null==b&&(b=c.substring(0,1).toUpperCase()+c.substring(1)),18<b.length&&(b=b.substring(0,18)+"…"),f.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;",f.setAttribute("title",b+" ("+d.length+")"),mxUtils.write(f,f.getAttribute("title")),null!=q&&(f.style.padding=q),W.appendChild(f),null==a&&0<d.length&&(a=f,a.style.backgroundColor=k,fa=d),function(b,c){mxEvent.addListener(f,"click", +function(){a!=c&&(a.style.backgroundColor="",a=c,a.style.backgroundColor=k,O.scrollTop=0,O.innerHTML="",H=0,fa=X[b],K=null,y())})}(c,f);y()}b=null!=b?b:!0;e=null!=e?e:!1;k=null!=k?k:"#ebf2f9";m=null!=m?m:"#e6eff8";n=null!=n?n:"1px solid #ccd9ea";f=null!=f?f:EditorUi.templateFile;var x=document.createElement("div");x.style.height="100%";var I=document.createElement("div");I.style.whiteSpace="nowrap";I.style.height="46px";b&&x.appendChild(I);var G=document.createElement("img");G.setAttribute("border", +"0");G.setAttribute("align","absmiddle");G.style.width="40px";G.style.height="40px";G.style.marginRight="10px";G.style.paddingBottom="4px";G.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png"; +!c&&b&&I.appendChild(G);b&&mxUtils.write(I,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):mxResources.get("filename"))+":");G=".drawio";a.mode==App.MODE_GOOGLE&&null!=a.drive?G=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?G=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?G=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?G=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(G=a.trello.extension);var D= +document.createElement("input");D.setAttribute("value",a.defaultFilename+G);D.style.marginLeft="10px";D.style.width=c?"220px":"430px";this.init=function(){b&&(D.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?D.select():document.execCommand("selectAll",!1,null))};b&&(I.appendChild(D),null!=a.editor.fileExtensions&&(G=FilenameDialog.createTypeHint(a,D,a.editor.fileExtensions),G.style.marginTop="12px",I.appendChild(G)));var I=!1,H=0,J=new Spinner({lines:12,length:10, +width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9}),E=mxUtils.button(t||mxResources.get("create"),function(){E.setAttribute("disabled","disabled");C();E.removeAttribute("disabled")});E.className="geBtn gePrimaryBtn";if(l||p){var M=[],K=null,S=null,L=null,T=function(a){E.setAttribute("disabled","disabled");for(var b=0;b<M.length;b++)M[b].className=b==a?"geBtn gePrimaryBtn":"geBtn"},I=!0;t=document.createElement("div");t.style.whiteSpace="nowrap";t.style.height= +"30px";x.appendChild(t);G=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";O.style.left="160px";T(0);O.scrollTop=0;O.innerHTML="";H=0;K!=fa&&(fa=K,X=S,V=L,W.innerHTML="",F(),K=null)});M.push(G);t.appendChild(G);var Z=function(a){W.style.display="none";O.style.left="30px";T(a?-1:1);null==K&&(K=fa);O.scrollTop=0;O.innerHTML="";J.spin(O);var b=function(a,b,c){H=0;J.stop();fa=a;c=c||{};var f=0,d;for(d in c)f+=c[d].length;if(b)O.innerHTML=b;else if(0==a.length&& +0==f)O.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found"));else if(O.innerHTML="",0<f){W.style.display="";O.style.left="160px";W.innerHTML="";V=0;X={"draw.io":a};for(d in c)X[d]=c[d];F()}else y()};a?p(ea.value,b):l(b)};l&&(G=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){Z()}),t.appendChild(G),M.push(G));if(p){G=document.createElement("span");G.style.marginLeft="10px";G.innerHTML=mxUtils.htmlEntities(mxResources.get("search")+":");t.appendChild(G); +var ea=document.createElement("input");ea.style.marginRight="10px";ea.style.marginLeft="10px";ea.style.width="220px";mxEvent.addListener(ea,"keypress",function(a){13==a.keyCode&&Z(!0)});t.appendChild(ea);G=mxUtils.button(mxResources.get("search"),function(){Z(!0)});G.className="geBtn";t.appendChild(G)}T(0)}var ba=null,ha=null,U=null,Y=null,aa=null,ja=null,O=document.createElement("div");O.style.border="1px solid #d3d3d3";O.style.position="absolute";O.style.left="160px";O.style.right="34px";I=(b?72: +40)+(I?30:0);O.style.top=I+"px";O.style.bottom="68px";O.style.margin="6px 0 0 -1px";O.style.padding="6px";O.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+I+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,P=140,X={},Q={},V=0,ca=!0;X.basic=[{title:"blankDiagram",select:!0}];var fa=X.basic;if(!c){var N=function(){mxUtils.get(da,function(a){if(!ga){ga=!0;for(a=a.getXml().documentElement.firstChild;null!= +a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=a.getAttribute("section");null==c&&(c=b.indexOf("/"),c=b.substring(0,c));b=X[c];null==b&&(b=[],X[c]=b);b.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),preview:a.getAttribute("preview"),clibs:a.getAttribute("clibs")})}}a=a.nextSibling}J.stop();F()}})};x.appendChild(W);x.appendChild(O);var ga=!1,da=f;/^https?:\/\//.test(da)&&!a.editor.isCorsEnabledForUrl(da)&& +(da=PROXY_URL+"?url="+encodeURIComponent(da));J.spin(O);null!=A?A(function(a,b){Q=a;L=V=b;N()},N):N();S=X}mxEvent.addListener(D,"keypress",function(b){a.dialog.container.firstChild==x&&13==b.keyCode&&C()});f=document.createElement("div");f.style.marginTop=c?"4px":"16px";f.style.textAlign="right";f.style.position="absolute";f.style.left="40px";f.style.bottom="24px";f.style.right="40px";c||a.isOffline()||!b||null!=d||e||(A=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}), +A.className="geBtn",f.appendChild(A));A=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});A.className="geBtn";!a.editor.cancelFirst||e&&null==g||f.appendChild(A);c||"1"==urlParams.embed||e||(c=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a,"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(D.value)+"&create="+encodeURIComponent(b)), null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),c.className="geBtn",f.appendChild(c));Graph.fileSupport&&v&&(v=mxUtils.button(mxResources.get("import"),function(){if(null==a.newDlgFileInputElt){var b=document.createElement("input");b.setAttribute("multiple","multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0);b.value=""});b.style.display="none";document.body.appendChild(b); -a.newDlgFileInputElt=b}a.newDlgFileInputElt.click()}),v.className="geBtn",f.appendChild(v));f.appendChild(F);a.editor.cancelFirst||null!=d||e&&null==g||f.appendChild(A);x.appendChild(f);this.container=x},CreateDialog=function(a,c,b,d,e,g,k,m,n,q,f,l,p,u,v,t){function A(b,f,d,p){function g(){mxEvent.addListener(e,"click",function(){var b=d;if(k){var f=z.value,l=f.lastIndexOf(".");if(0>c.lastIndexOf(".")&&0>l){var b=null!=b?b:x.value,p="";b==App.MODE_GOOGLE?p=a.drive.extension:b==App.MODE_GITHUB?p= -a.gitHub.extension:b==App.MODE_TRELLO?p=a.trello.extension:b==App.MODE_DROPBOX?p=a.dropbox.extension:b==App.MODE_ONEDRIVE?p=a.oneDrive.extension:b==App.MODE_DEVICE&&(p=".drawio");0<=l&&(f=f.substring(0,l));z.value=f+p}}y(d)})}var e=document.createElement("a");e.style.overflow="hidden";var u=document.createElement("img");u.src=b;u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom="6px";e.style.display=mxClient.IS_QUIRKS? -"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(u);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var t=document.createElement("div");e.appendChild(t);mxUtils.write(t,f);if(null!=p&&null==a[p]){u.style.visibility="hidden";mxUtils.setOpacity(t,10);var v=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0, -color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});v.spin(e);var m=window.setTimeout(function(){null==a[p]&&(v.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(m),mxUtils.setOpacity(t,100),u.style.visibility="",v.stop(),g())}))}else g();B.appendChild(e);++D==l&&(mxUtils.br(B),D=0)}function y(c){var f=z.value;if(null==c||null!=f&&0<f.length)a.hideDialog(),b(f,c)}k=null!=k?k:!0;m=null!=m?m:!0;l=null!= +a.newDlgFileInputElt=b}a.newDlgFileInputElt.click()}),v.className="geBtn",f.appendChild(v));f.appendChild(E);a.editor.cancelFirst||null!=d||e&&null==g||f.appendChild(A);x.appendChild(f);this.container=x},CreateDialog=function(a,c,b,d,e,g,k,m,n,q,f,l,p,u,v,t){function A(b,f,d,p){function g(){mxEvent.addListener(e,"click",function(){var b=d;if(k){var f=z.value,l=f.lastIndexOf(".");if(0>c.lastIndexOf(".")&&0>l){var b=null!=b?b:x.value,p="";b==App.MODE_GOOGLE?p=a.drive.extension:b==App.MODE_GITHUB?p= +a.gitHub.extension:b==App.MODE_TRELLO?p=a.trello.extension:b==App.MODE_DROPBOX?p=a.dropbox.extension:b==App.MODE_ONEDRIVE?p=a.oneDrive.extension:b==App.MODE_DEVICE&&(p=".drawio");0<=l&&(f=f.substring(0,l));z.value=f+p}}y(d)})}var e=document.createElement("a");e.style.overflow="hidden";var t=document.createElement("img");t.src=b;t.setAttribute("border","0");t.setAttribute("align","absmiddle");t.style.width="60px";t.style.height="60px";t.style.paddingBottom="6px";e.style.display=mxClient.IS_QUIRKS? +"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(t);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var u=document.createElement("div");e.appendChild(u);mxUtils.write(u,f);if(null!=p&&null==a[p]){t.style.visibility="hidden";mxUtils.setOpacity(u,10);var v=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0, +color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});v.spin(e);var m=window.setTimeout(function(){null==a[p]&&(v.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(m),mxUtils.setOpacity(u,100),t.style.visibility="",v.stop(),g())}))}else g();B.appendChild(e);++F==l&&(mxUtils.br(B),F=0)}function y(c){var f=z.value;if(null==c||null!=f&&0<f.length)a.hideDialog(),b(f,c)}k=null!=k?k:!0;m=null!=m?m:!0;l=null!= l?l:4;g=document.createElement("div");g.style.whiteSpace="nowrap";null==d&&a.addLanguageMenu(g);var C=document.createElement("h2");mxUtils.write(C,e||mxResources.get("create"));C.style.marginTop="0px";C.style.marginBottom="24px";g.appendChild(C);mxUtils.write(g,mxResources.get("filename")+":");var z=document.createElement("input");z.setAttribute("value",c);z.style.width="280px";z.style.marginLeft="10px";z.style.marginBottom="20px";z.style.maxWidth="70%";this.init=function(){z.focus();mxClient.IS_GC|| mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?z.select():document.execCommand("selectAll",!1,null)};g.appendChild(z);null!=t&&g.appendChild(FilenameDialog.createTypeHint(a,z,t));null!=p&&null!=u&&"image/"==u.substring(0,6)&&(z.style.width="160px",e=null,"image/svg+xml"==u&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(p),p=e.getElementsByTagName("svg")[0],u=parseInt(p.getAttribute("width")),v=parseInt(p.getAttribute("height")),p.setAttribute("viewBox","0 0 "+ u+" "+v),p.setAttribute("width","120px"),p.setAttribute("height","80px")):(e=document.createElement("img"),e.setAttribute("src","data:"+u+(v?";base64,":";utf8,")+p)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),g.appendChild(e),n&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){y("_blank")})));mxUtils.br(g);var B=document.createElement("div"); -B.style.textAlign="center";var D=0;B.style.marginTop="6px";g.appendChild(B);var x=document.createElement("select");x.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(p,mxResources.get("googleDrive")),x.appendChild(p),A(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(p=document.createElement("option"), +B.style.textAlign="center";var F=0;B.style.marginTop="6px";g.appendChild(B);var x=document.createElement("select");x.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(p,mxResources.get("googleDrive")),x.appendChild(p),A(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(p=document.createElement("option"), p.setAttribute("value",App.MODE_ONEDRIVE),mxUtils.write(p,mxResources.get("oneDrive")),x.appendChild(p),a.mode==App.MODE_ONEDRIVE&&p.setAttribute("selected","selected"),A(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(p,mxResources.get("dropbox")),x.appendChild(p),a.mode==App.MODE_DROPBOX&&p.setAttribute("selected","selected"), A(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_GITHUB),mxUtils.write(p,mxResources.get("github")),x.appendChild(p),A(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),"function"===typeof window.TrelloClient&&(p=document.createElement("option"),p.setAttribute("value",App.MODE_TRELLO),mxUtils.write(p,mxResources.get("trello")),x.appendChild(p), A(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello")));Editor.useLocalStorage&&"device"!=urlParams.storage&&null==a.getCurrentFile()||(p=document.createElement("option"),p.setAttribute("value",App.MODE_DEVICE),mxUtils.write(p,mxResources.get("device")),x.appendChild(p),a.mode!=App.MODE_DEVICE&&m||p.setAttribute("selected","selected"),f&&A(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE));m&&isLocalStorage&&"0"!=urlParams.browser&&(m=document.createElement("option"), @@ -8161,22 +8164,22 @@ var RevisionDialog=function(a,c,b){var d=document.createElement("div"),e=documen "376px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);d.appendChild(k);var m=new Graph(k);m.setTooltips(!1);m.setEnabled(!1);m.setPanning(!0);m.panningHandler.ignoreCell=!0;m.panningHandler.useLeftButtonForPanning=!0;m.minFitScale=null;m.maxFitScale=null;m.centerZoom=!0;var n=0,q=null,f=0,l=m.getGlobalVariable;m.getGlobalVariable=function(a){return"page"==a&&null!=q&&null!=q[f]?q[f].getAttribute("name"):"pagenumber"==a?f+1:l.apply(this,arguments)};m.getLinkForCell=function(){return null}; Editor.MathJaxRender&&m.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(m.container)}));var p=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),v=null,t=null,A=null,y=null,C=mxUtils.button("",function(){null!=A&&m.zoomIn()});C.className="geSprite geSprite-zoomin";C.setAttribute("title", mxResources.get("zoomIn"));C.style.outline="none";C.style.border="none";C.style.margin="2px";C.setAttribute("disabled","disabled");mxUtils.setOpacity(C,20);var z=mxUtils.button("",function(){null!=A&&m.zoomOut()});z.className="geSprite geSprite-zoomout";z.setAttribute("title",mxResources.get("zoomOut"));z.style.outline="none";z.style.border="none";z.style.margin="2px";z.setAttribute("disabled","disabled");mxUtils.setOpacity(z,20);var B=mxUtils.button("",function(){null!=A&&(m.maxFitScale=8,m.fit(8), -m.center())});B.className="geSprite geSprite-fit";B.setAttribute("title",mxResources.get("fit"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled","disabled");mxUtils.setOpacity(B,20);var D=mxUtils.button("",function(){null!=A&&(m.zoomActual(),m.center())});D.className="geSprite geSprite-actualsize";D.setAttribute("title",mxResources.get("actualSize"));D.style.outline="none";D.style.border="none";D.style.margin="2px";D.setAttribute("disabled","disabled"); -mxUtils.setOpacity(D,20);var x=document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var G=mxUtils.button(mxResources.get("download"),function(){if(null!=A){var b=mxUtils.getXml(A.documentElement),c=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(b="undefined"=== -typeof pako?"&xml="+encodeURIComponent(b):"&data="+encodeURIComponent(Graph.compress(b)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml"+b)).simulate(document,"_blank"))}});G.className="geBtn";G.setAttribute("disabled","disabled");var H=mxUtils.button(mxResources.get("restore"),function(){null!=A&&null!=y&&a.confirm(mxResources.get("areYouSure"),function(){null!=b?b(y):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop();a.replaceFileData(y); -a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});H.className="geBtn";H.setAttribute("disabled","disabled");var E=document.createElement("select");E.setAttribute("disabled","disabled");E.style.maxWidth="80px";E.style.position="relative";E.style.top="-2px";E.style.verticalAlign="bottom";E.style.marginRight="6px";E.style.display="none";var I=null;mxEvent.addListener(E,"change",function(a){null!=I&&(I(a),mxEvent.consume(a))}); -var J=mxUtils.button(mxResources.get("edit"),function(){null!=A&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(A.documentElement)),a.openLink(a.getUrl(),null,!0))});J.className="geBtn";J.setAttribute("disabled","disabled");null!=b&&(J.style.display="none");var F=mxUtils.button(mxResources.get("show"),function(){null!=t&&a.openLink(t.getUrl(E.selectedIndex))});F.className="geBtn gePrimaryBtn";F.setAttribute("disabled","disabled");null!=b&&(F.style.display= -"none",H.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var M=document.createElement("div");M.className="geToolbarContainer";M.style.backgroundColor="transparent";M.style.padding="2px";M.style.border="none";M.style.left="199px";M.style.top="442px";var K=null;if(null!=c&&0<c.length){k.style.cursor="move";var S=document.createElement("table");S.style.border="1px solid lightGray";S.style.borderCollapse= -"collapse";S.style.borderSpacing="0px";S.style.width="100%";var L=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var Y=c.length-1;0<=Y;Y--){var da=function(b){var d=new Date(b.modifiedDate),l=null;if(0<=d.getTime()){var e=function(c){p.stop();var e=mxUtils.parseXml(c),g=a.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a=v(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(a))).documentElement)); -return a},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,m.getModel());m.maxFitScale=1;m.fit(8);m.center();return a};E.style.display="none";E.innerHTML="";A=e;y=c;q=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");q=[];for(c=0;c<e.length;c++)q.push(e[c]);f=Math.min(n,q.length-1);0<q.length&&t(q[f]);if(1<q.length)for(E.removeAttribute("disabled"), -E.style.display="",c=0;c<q.length;c++)e=document.createElement("option"),mxUtils.write(e,q[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==f&&e.setAttribute("selected","selected"),E.appendChild(e);I=function(){try{var b=parseInt(E.value);t(q[b]);f=n=b}catch(Q){E.value=n,a.handleError(Q)}}}else v(g);c=b.lastModifyingUserName;null!=c&&20<c.length&&(c=c.substring(0,20)+"...");x.innerHTML="";mxUtils.write(x,(null!=c?c+" ":"")+d.toLocaleDateString()+" "+d.toLocaleTimeString()); -x.setAttribute("title",l.getAttribute("title"));C.removeAttribute("disabled");z.removeAttribute("disabled");B.removeAttribute("disabled");D.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&H.removeAttribute("disabled"),G.removeAttribute("disabled"),F.removeAttribute("disabled"),J.removeAttribute("disabled"));mxUtils.setOpacity(C,60);mxUtils.setOpacity(z,60);mxUtils.setOpacity(B,60);mxUtils.setOpacity(D,60)}else E.style.display="none",E.innerHTML="",x.innerHTML="", +m.center())});B.className="geSprite geSprite-fit";B.setAttribute("title",mxResources.get("fit"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled","disabled");mxUtils.setOpacity(B,20);var F=mxUtils.button("",function(){null!=A&&(m.zoomActual(),m.center())});F.className="geSprite geSprite-actualsize";F.setAttribute("title",mxResources.get("actualSize"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled"); +mxUtils.setOpacity(F,20);var x=document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var I=mxUtils.button(mxResources.get("download"),function(){if(null!=A){var b=mxUtils.getXml(A.documentElement),c=a.getBaseFilename()+".drawio";a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml"):(b="undefined"=== +typeof pako?"&xml="+encodeURIComponent(b):"&data="+encodeURIComponent(Graph.compress(b)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml"+b)).simulate(document,"_blank"))}});I.className="geBtn";I.setAttribute("disabled","disabled");var G=mxUtils.button(mxResources.get("restore"),function(){null!=A&&null!=y&&a.confirm(mxResources.get("areYouSure"),function(){null!=b?b(y):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop();a.replaceFileData(y); +a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});G.className="geBtn";G.setAttribute("disabled","disabled");var D=document.createElement("select");D.setAttribute("disabled","disabled");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";D.style.display="none";var H=null;mxEvent.addListener(D,"change",function(a){null!=H&&(H(a),mxEvent.consume(a))}); +var J=mxUtils.button(mxResources.get("edit"),function(){null!=A&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(A.documentElement)),a.openLink(a.getUrl(),null,!0))});J.className="geBtn";J.setAttribute("disabled","disabled");null!=b&&(J.style.display="none");var E=mxUtils.button(mxResources.get("show"),function(){null!=t&&a.openLink(t.getUrl(D.selectedIndex))});E.className="geBtn gePrimaryBtn";E.setAttribute("disabled","disabled");null!=b&&(E.style.display= +"none",G.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var M=document.createElement("div");M.className="geToolbarContainer";M.style.backgroundColor="transparent";M.style.padding="2px";M.style.border="none";M.style.left="199px";M.style.top="442px";var K=null;if(null!=c&&0<c.length){k.style.cursor="move";var S=document.createElement("table");S.style.border="1px solid lightGray";S.style.borderCollapse= +"collapse";S.style.borderSpacing="0px";S.style.width="100%";var L=document.createElement("tbody"),T=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(n=mxUtils.indexOf(a.pages,a.currentPage));for(var Z=c.length-1;0<=Z;Z--){var ea=function(b){var d=new Date(b.modifiedDate),l=null;if(0<=d.getTime()){var e=function(c){p.stop();var e=mxUtils.parseXml(c),g=a.editor.extractGraphModel(e.documentElement,!0);if(null!=g){var t=function(a){null!=a&&(a=v(mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(a))).documentElement)); +return a},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,m.getModel());m.maxFitScale=1;m.fit(8);m.center();return a};D.style.display="none";D.innerHTML="";A=e;y=c;q=parseSelectFunction=null;f=0;if("mxfile"==g.nodeName){e=g.getElementsByTagName("diagram");q=[];for(c=0;c<e.length;c++)q.push(e[c]);f=Math.min(n,q.length-1);0<q.length&&t(q[f]);if(1<q.length)for(D.removeAttribute("disabled"), +D.style.display="",c=0;c<q.length;c++)e=document.createElement("option"),mxUtils.write(e,q[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),e.setAttribute("value",c),c==f&&e.setAttribute("selected","selected"),D.appendChild(e);H=function(){try{var b=parseInt(D.value);t(q[b]);f=n=b}catch(Q){D.value=n,a.handleError(Q)}}}else v(g);c=b.lastModifyingUserName;null!=c&&20<c.length&&(c=c.substring(0,20)+"...");x.innerHTML="";mxUtils.write(x,(null!=c?c+" ":"")+d.toLocaleDateString()+" "+d.toLocaleTimeString()); +x.setAttribute("title",l.getAttribute("title"));C.removeAttribute("disabled");z.removeAttribute("disabled");B.removeAttribute("disabled");F.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&G.removeAttribute("disabled"),I.removeAttribute("disabled"),E.removeAttribute("disabled"),J.removeAttribute("disabled"));mxUtils.setOpacity(C,60);mxUtils.setOpacity(z,60);mxUtils.setOpacity(B,60);mxUtils.setOpacity(F,60)}else D.style.display="none",D.innerHTML="",x.innerHTML="", mxUtils.write(x,mxResources.get("errorLoadingFile"))},l=document.createElement("tr");l.style.borderBottom="1px solid lightGray";l.style.fontSize="12px";l.style.cursor="pointer";var g=document.createElement("td");g.style.padding="6px";g.style.whiteSpace="nowrap";b==c[c.length-1]?mxUtils.write(g,mxResources.get("current")):d.toDateString()===T?mxUtils.write(g,d.toLocaleTimeString()):mxUtils.write(g,d.toLocaleDateString()+" "+d.toLocaleTimeString());l.appendChild(g);l.setAttribute("title",d.toLocaleDateString()+ -" "+d.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(l,"click",function(a){t!=b&&(p.stop(),null!=v&&(v.style.backgroundColor=""),t=b,v=l,v.style.backgroundColor="#ebf2f9",y=A=null,x.removeAttribute("title"),x.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+"..."),k.style.backgroundColor="#ffffff",m.getModel().clear(),H.setAttribute("disabled","disabled"),G.setAttribute("disabled", -"disabled"),C.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),mxUtils.setOpacity(C,20),mxUtils.setOpacity(z,20),mxUtils.setOpacity(B,20),mxUtils.setOpacity(D,20),p.spin(k),b.getXml(function(a){if(t==b)try{e(a)}catch(fa){x.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+fa.message)}}, -function(a){p.stop();E.style.display="none";E.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(l,"dblclick",function(a){F.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);L.appendChild(l)}return l}(c[Y]);null!=da&&Y==c.length-1&&(K=da)}S.appendChild(L);g.appendChild(S)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null== -a.dropbox&&u.constructor==window.DropboxFile?(k.style.display="none",M.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(k.style.display="none",M.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));this.init=function(){null!=K&&K.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";M.appendChild(E);M.appendChild(C);M.appendChild(z);M.appendChild(D);M.appendChild(B);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(G), -e.appendChild(J),e.appendChild(H),e.appendChild(F)):(e.appendChild(G),e.appendChild(J),e.appendChild(H),e.appendChild(F),e.appendChild(g));d.appendChild(e);d.appendChild(M);d.appendChild(x);this.container=d},DraftDialog=function(a,c,b,d,e,g,k,m){var n=document.createElement("div"),q=document.createElement("div");q.style.marginTop="0px";q.style.whiteSpace="nowrap";q.style.overflow="auto";mxUtils.write(q,c);n.appendChild(q);var f=document.createElement("div");f.style.position="absolute";f.style.border= +" "+d.toLocaleTimeString()+(null!=b.fileSize?" "+a.formatFileSize(parseInt(b.fileSize)):"")+(null!=b.lastModifyingUserName?" "+b.lastModifyingUserName:""));mxEvent.addListener(l,"click",function(a){t!=b&&(p.stop(),null!=v&&(v.style.backgroundColor=""),t=b,v=l,v.style.backgroundColor="#ebf2f9",y=A=null,x.removeAttribute("title"),x.innerHTML=mxUtils.htmlEntities(mxResources.get("loading")+"..."),k.style.backgroundColor="#ffffff",m.getModel().clear(),G.setAttribute("disabled","disabled"),I.setAttribute("disabled", +"disabled"),C.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),F.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(C,20),mxUtils.setOpacity(z,20),mxUtils.setOpacity(B,20),mxUtils.setOpacity(F,20),p.spin(k),b.getXml(function(a){if(t==b)try{e(a)}catch(W){x.innerHTML=mxUtils.htmlEntities(mxResources.get("error")+": "+W.message)}}, +function(a){p.stop();D.style.display="none";D.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(l,"dblclick",function(a){E.click();window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);L.appendChild(l)}return l}(c[Z]);null!=ea&&Z==c.length-1&&(K=ea)}S.appendChild(L);g.appendChild(S)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null== +a.dropbox&&u.constructor==window.DropboxFile?(k.style.display="none",M.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(k.style.display="none",M.style.display="none",mxUtils.write(g,mxResources.get("noRevisions")));this.init=function(){null!=K&&K.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";M.appendChild(D);M.appendChild(C);M.appendChild(z);M.appendChild(F);M.appendChild(B);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(I), +e.appendChild(J),e.appendChild(G),e.appendChild(E)):(e.appendChild(I),e.appendChild(J),e.appendChild(G),e.appendChild(E),e.appendChild(g));d.appendChild(e);d.appendChild(M);d.appendChild(x);this.container=d},DraftDialog=function(a,c,b,d,e,g,k,m){var n=document.createElement("div"),q=document.createElement("div");q.style.marginTop="0px";q.style.whiteSpace="nowrap";q.style.overflow="auto";mxUtils.write(q,c);n.appendChild(q);var f=document.createElement("div");f.style.position="absolute";f.style.border= "1px solid lightGray";f.style.marginTop="10px";f.style.width="640px";f.style.top="46px";f.style.bottom="74px";f.style.overflow="hidden";mxEvent.disableContextMenu(f);n.appendChild(f);var l=new Graph(f);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;c=mxUtils.parseXml(b);var p=a.editor.extractGraphModel(c.documentElement,!0),u=0,v=null,t=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"== a&&null!=v&&null!=v[u]?v[u].getAttribute("name"):"pagenumber"==a?u+1:t.apply(this,arguments)};l.getLinkForCell=function(){return null};c=mxUtils.button("",function(){l.zoomIn()});c.className="geSprite geSprite-zoomin";c.setAttribute("title",mxResources.get("zoomIn"));c.style.outline="none";c.style.border="none";c.style.margin="2px";mxUtils.setOpacity(c,60);b=mxUtils.button("",function(){l.zoomOut()});b.className="geSprite geSprite-zoomout";b.setAttribute("title",mxResources.get("zoomOut"));b.style.outline= "none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);q=mxUtils.button("",function(){l.maxFitScale=8;l.fit(8);l.center()});q.className="geSprite geSprite-fit";q.setAttribute("title",mxResources.get("fit"));q.style.outline="none";q.style.border="none";q.style.margin="2px";mxUtils.setOpacity(q,60);var A=mxUtils.button("",function(){l.zoomActual();l.center()});A.className="geSprite geSprite-actualsize";A.setAttribute("title",mxResources.get("actualSize"));A.style.outline="none"; @@ -8234,24 +8237,24 @@ mxConstants.STYLE_ROTATION,0):"";q.appendChild(y);m.appendChild(n);m.appendChild 0<mxUtils.trim(p.value).length&&(e.y=Number(p.value)),0<mxUtils.trim(u.value).length&&(null==e.offset&&(e.offset=new mxPoint),e.offset.x=Number(u.value)),0<mxUtils.trim(v.value).length&&(null==e.offset&&(e.offset=new mxPoint),e.offset.y=Number(v.value))),b.isCellResizable(c[d])&&(0<mxUtils.trim(t.value).length&&(e.width=Number(t.value)),0<mxUtils.trim(A.value).length&&(e.height=Number(A.value))),b.getModel().setGeometry(c[d],e));0<mxUtils.trim(y.value).length&&b.setCellStyles(mxConstants.STYLE_ROTATION, Number(y.value),[c[d]])}}finally{b.getModel().endUpdate()}});C.className="geBtn gePrimaryBtn";mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&C.click()});g=document.createElement("div");g.style.marginTop="20px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(d),g.appendChild(C)):(g.appendChild(C),g.appendChild(d));e.appendChild(g);this.container=e},LibraryDialog=function(a,c,b,d,e,g){function k(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!= u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function m(b,c,d,l,p,e,g,x,n){try{if(a.spinner.stop(),null==c||"image/"==c.substring(0,6))if(null==b&&null!=g||null==t[b]){var y=function(){K.innerHTML="";K.style.cursor="pointer";K.style.whiteSpace="nowrap";K.style.textOverflow="ellipsis";mxUtils.write(K,null!=J.title&&0<J.title.length?J.title:mxResources.get("untitled"));K.style.color=null==J.title||0==J.title.length?"#d0d0d0":""};u.style.backgroundImage= -"";v.style.display="none";var G=p,q=e;if(p>a.maxImageSize||e>a.maxImageSize){var F=Math.min(1,Math.min(a.maxImageSize/Math.max(1,p)),a.maxImageSize/Math.max(1,e));p*=F;e*=F}G>q?(q=Math.round(100*q/G),G=100):(G=Math.round(100*G/q),q=100);var D=document.createElement("div");D.setAttribute("draggable","true");D.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";D.style.position="relative";D.style.cursor="move";mxUtils.setPrefixedStyle(D.style,"transition","transform .1s ease-in-out");if(null!= -b){var I=document.createElement("img");I.setAttribute("src",z.convert(b));I.style.width=G+"px";I.style.height=q+"px";I.style.margin="10px";I.style.paddingBottom=Math.floor((100-q)/2)+"px";I.style.paddingLeft=Math.floor((100-G)/2)+"px";D.appendChild(I)}else if(null!=g){var H=a.stringToCells(Graph.decompress(g.xml));0<H.length&&(a.sidebar.createThumb(H,100,100,D,null,!0,!1),D.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",D.firstChild.style.cursor="")}var E=document.createElement("img"); -E.setAttribute("src",Editor.closeImage);E.setAttribute("border","0");E.setAttribute("title",mxResources.get("delete"));E.setAttribute("align","top");E.style.paddingTop="4px";E.style.position="absolute";E.style.marginLeft="-12px";E.style.zIndex="1";E.style.cursor="pointer";mxEvent.addListener(E,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(E,"click",function(d){t[b]=null;for(var l=0;l<f.length;l++)if(null!=f[l].data&&f[l].data==b||null!=f[l].xml&&null!=c&&f[l].xml== -c.xml){f.splice(l,1);break}D.parentNode.removeChild(a);0==f.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",v.style.display="");mxEvent.consume(d)});mxEvent.addListener(E,"dblclick",function(a){mxEvent.consume(a)})})(D,b,g);D.appendChild(E);D.style.marginBottom="30px";var K=document.createElement("div");K.style.position="absolute";K.style.boxSizing="border-box";K.style.bottom="-18px";K.style.left="10px";K.style.right="10px";K.style.backgroundColor="#ffffff";K.style.overflow= -"hidden";K.style.textAlign="center";var J=null;null!=b?(J={data:b,w:p,h:e,title:n},null!=x&&(J.aspect=x),t[b]=I,f.push(J)):null!=g&&(g.aspect="fixed",f.push(g),J=g);mxEvent.addListener(K,"keydown",function(a){13==a.keyCode&&null!=C&&(C(),C=null,mxEvent.consume(a))});y();D.appendChild(K);mxEvent.addListener(K,"mousedown",function(a){"true"!=K.getAttribute("contentEditable")&&mxEvent.consume(a)});H=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9< +"";v.style.display="none";var I=p,E=e;if(p>a.maxImageSize||e>a.maxImageSize){var q=Math.min(1,Math.min(a.maxImageSize/Math.max(1,p)),a.maxImageSize/Math.max(1,e));p*=q;e*=q}I>E?(E=Math.round(100*E/I),I=100):(I=Math.round(100*I/E),E=100);var F=document.createElement("div");F.setAttribute("draggable","true");F.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";F.style.position="relative";F.style.cursor="move";mxUtils.setPrefixedStyle(F.style,"transition","transform .1s ease-in-out");if(null!= +b){var H=document.createElement("img");H.setAttribute("src",z.convert(b));H.style.width=I+"px";H.style.height=E+"px";H.style.margin="10px";H.style.paddingBottom=Math.floor((100-E)/2)+"px";H.style.paddingLeft=Math.floor((100-I)/2)+"px";F.appendChild(H)}else if(null!=g){var G=a.stringToCells(Graph.decompress(g.xml));0<G.length&&(a.sidebar.createThumb(G,100,100,F,null,!0,!1),F.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",F.firstChild.style.cursor="")}var D=document.createElement("img"); +D.setAttribute("src",Editor.closeImage);D.setAttribute("border","0");D.setAttribute("title",mxResources.get("delete"));D.setAttribute("align","top");D.style.paddingTop="4px";D.style.position="absolute";D.style.marginLeft="-12px";D.style.zIndex="1";D.style.cursor="pointer";mxEvent.addListener(D,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(D,"click",function(d){t[b]=null;for(var l=0;l<f.length;l++)if(null!=f[l].data&&f[l].data==b||null!=f[l].xml&&null!=c&&f[l].xml== +c.xml){f.splice(l,1);break}F.parentNode.removeChild(a);0==f.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",v.style.display="");mxEvent.consume(d)});mxEvent.addListener(D,"dblclick",function(a){mxEvent.consume(a)})})(F,b,g);F.appendChild(D);F.style.marginBottom="30px";var K=document.createElement("div");K.style.position="absolute";K.style.boxSizing="border-box";K.style.bottom="-18px";K.style.left="10px";K.style.right="10px";K.style.backgroundColor="#ffffff";K.style.overflow= +"hidden";K.style.textAlign="center";var J=null;null!=b?(J={data:b,w:p,h:e,title:n},null!=x&&(J.aspect=x),t[b]=H,f.push(J)):null!=g&&(g.aspect="fixed",f.push(g),J=g);mxEvent.addListener(K,"keydown",function(a){13==a.keyCode&&null!=C&&(C(),C=null,mxEvent.consume(a))});y();F.appendChild(K);mxEvent.addListener(K,"mousedown",function(a){"true"!=K.getAttribute("contentEditable")&&mxEvent.consume(a)});G=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9< document.documentMode)){var c=new FilenameDialog(a,J.title||"",mxResources.get("ok"),function(a){null!=a&&(J.title=a,y())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init();mxEvent.consume(b)}else if("true"!=K.getAttribute("contentEditable")){null!=C&&(C(),C=null);if(null==J.title||0==J.title.length)K.innerHTML="";K.style.textOverflow="";K.style.whiteSpace="";K.style.cursor="text";K.style.color="";K.setAttribute("contentEditable","true");K.focus();document.execCommand("selectAll", -!1,null);C=function(){K.removeAttribute("contentEditable");K.style.cursor="pointer";J.title=K.innerHTML;y()};mxEvent.consume(b)}};mxEvent.addListener(K,"click",H);mxEvent.addListener(D,"dblclick",H);u.appendChild(D);mxEvent.addListener(D,"dragstart",function(a){null==b&&null!=g&&(E.style.visibility="hidden",K.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);A=k(a);mxClient.IS_GC&&(D.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(D.style, -"transform","scale(0.5,0.5)");mxUtils.setOpacity(D,30);E.style.visibility="";K.style.visibility=""},0)});mxEvent.addListener(D,"dragend",function(a){"hidden"==E.style.visibility&&(E.style.visibility="",K.style.visibility="");A=null;mxUtils.setOpacity(D,100);mxUtils.setPrefixedStyle(D.style,"transform",null)})}else B||(B=!0,a.handleError({message:mxResources.get("fileExists")}));else{p=!1;try{if(G=mxUtils.parseXml(b),"mxlibrary"==G.documentElement.nodeName){q=JSON.parse(mxUtils.getTextContent(G.documentElement)); -if(null!=q&&0<q.length)for(var M=0;M<q.length;M++)null!=q[M].xml?m(null,null,0,0,0,0,q[M]):m(q[M].data,null,0,0,q[M].w,q[M].h,null,"fixed",q[M].title);p=!0}else if("mxfile"==G.documentElement.nodeName){for(var S=G.documentElement.getElementsByTagName("diagram"),M=0;M<S.length;M++){var q=mxUtils.getTextContent(S[M]),H=a.stringToCells(Graph.decompress(q)),R=a.editor.graph.getBoundingBoxFromGeometry(H);m(null,null,0,0,0,0,{xml:q,w:R.width,h:R.height})}p=!0}}catch(N){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(N){}return null} -function n(a){a.dataTransfer.dropEffect=null!=A?"move":"copy";a.stopPropagation();a.preventDefault()}function q(b){b.stopPropagation();b.preventDefault();B=!1;y=k(b);if(null!=A)null!=y&&y<u.children.length?(f.splice(y>A?y-1:y,0,f.splice(A,1)[0]),u.insertBefore(u.children[A],u.children[y])):(f.push(f.splice(A,1)[0]),u.appendChild(u.children[A]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,D(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c= +!1,null);C=function(){K.removeAttribute("contentEditable");K.style.cursor="pointer";J.title=K.innerHTML;y()};mxEvent.consume(b)}};mxEvent.addListener(K,"click",G);mxEvent.addListener(F,"dblclick",G);u.appendChild(F);mxEvent.addListener(F,"dragstart",function(a){null==b&&null!=g&&(D.style.visibility="hidden",K.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);A=k(a);mxClient.IS_GC&&(F.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(F.style, +"transform","scale(0.5,0.5)");mxUtils.setOpacity(F,30);D.style.visibility="";K.style.visibility=""},0)});mxEvent.addListener(F,"dragend",function(a){"hidden"==D.style.visibility&&(D.style.visibility="",K.style.visibility="");A=null;mxUtils.setOpacity(F,100);mxUtils.setPrefixedStyle(F.style,"transform",null)})}else B||(B=!0,a.handleError({message:mxResources.get("fileExists")}));else{p=!1;try{if(I=mxUtils.parseXml(b),"mxlibrary"==I.documentElement.nodeName){E=JSON.parse(mxUtils.getTextContent(I.documentElement)); +if(null!=E&&0<E.length)for(var M=0;M<E.length;M++)null!=E[M].xml?m(null,null,0,0,0,0,E[M]):m(E[M].data,null,0,0,E[M].w,E[M].h,null,"fixed",E[M].title);p=!0}else if("mxfile"==I.documentElement.nodeName){for(var S=I.documentElement.getElementsByTagName("diagram"),M=0;M<S.length;M++){var E=mxUtils.getTextContent(S[M]),G=a.stringToCells(Graph.decompress(E)),R=a.editor.graph.getBoundingBoxFromGeometry(G);m(null,null,0,0,0,0,{xml:E,w:R.width,h:R.height})}p=!0}}catch(P){}p||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(P){}return null} +function n(a){a.dataTransfer.dropEffect=null!=A?"move":"copy";a.stopPropagation();a.preventDefault()}function q(b){b.stopPropagation();b.preventDefault();B=!1;y=k(b);if(null!=A)null!=y&&y<u.children.length?(f.splice(y>A?y-1:y,0,f.splice(A,1)[0]),u.insertBefore(u.children[A],u.children[y])):(f.push(f.splice(A,1)[0]),u.appendChild(u.children[A]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,F(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c= decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)||/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){m(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var f=[];b=document.createElement("div");b.style.height="100%";var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.height="40px";b.appendChild(l);mxUtils.write(l,mxResources.get("filename")+ ":");null==c&&(c=a.defaultLibraryName+".xml");var p=document.createElement("input");p.setAttribute("value",c);p.style.marginRight="20px";p.style.marginLeft="10px";p.style.width="500px";null==e||e.isRenamable()||p.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)};l.appendChild(p);var u=document.createElement("div");u.style.borderWidth= "1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px";u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==f.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var v=document.createElement("div");v.style.position="absolute";v.style.width="640px";v.style.top="260px";v.style.textAlign="center";v.style.fontSize="22px";v.style.color="#a0c3ff"; mxUtils.write(v,mxResources.get("dragImagesHere"));b.appendChild(v);var t={},A=null,y=null,C=null;c=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=C&&(C(),C=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",c);mxEvent.addListener(u,"pointerdown",c);mxEvent.addListener(u,"touchstart",c);var z=new mxUrlConverter,B=!1;if(null!=d)for(c=0;c<d.length;c++)l=d[c],m(l.data,null,0,0,l.w,l.h,l,l.aspect,l.title);mxEvent.addListener(u,"dragleave",function(a){v.style.cursor= -"";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==v){a.stopPropagation();a.preventDefault();break}b=b.parentNode}});var D=function(b){return function(c,f,d,l,p,e,g,x,t){null!=t&&(/(\.vsdx)($|\?)/i.test(t.name)||/(\.vssx)($|\?)/i.test(t.name))?a.importVisio(t,mxUtils.bind(this,function(a){m(a,f,d,l,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," "))})):null!=t&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,t.name)?a.parseFile(t,mxUtils.bind(this, +"";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==v){a.stopPropagation();a.preventDefault();break}b=b.parentNode}});var F=function(b){return function(c,f,d,l,p,e,g,x,k){null!=k&&(/(\.vsdx)($|\?)/i.test(k.name)||/(\.vssx)($|\?)/i.test(k.name))?a.importVisio(k,mxUtils.bind(this,function(a){m(a,f,d,l,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," "))})):null!=k&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,k.name)?a.parseFile(k,mxUtils.bind(this, function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>=c.status&&(m(c.responseText,f,d,l,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(m(c,f,d,l,p,e,g,"fixed",mxEvent.isAltDown(b)?null:g.substring(0,g.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",n);mxEvent.addListener(u,"drop",q);mxEvent.addListener(v,"dragover",n);mxEvent.addListener(v,"drop",q);b.appendChild(u); d=document.createElement("div");d.style.textAlign="right";d.style.marginTop="20px";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});c.setAttribute("id","btnCancel");c.className="geBtn";a.editor.cancelFirst&&d.appendChild(c);l=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(f),c=p.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+ -"&format=xml&xml="+encodeURIComponent(b))).simulate(document,"_blank")});l.setAttribute("id","btnDownload");l.className="geBtn";d.appendChild(l);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");mxEvent.addListener(x,"change",function(b){B=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,f,d,l,p,e,g,t){null!=x.files&&(D(b)(a,c,f,d,l,p,e,g,t),x.type="",x.type="file",x.value="")});u.scrollTop= +"&format=xml&xml="+encodeURIComponent(b))).simulate(document,"_blank")});l.setAttribute("id","btnDownload");l.className="geBtn";d.appendChild(l);if(Graph.fileSupport){if(null==a.libDlgFileInputElt){var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");mxEvent.addListener(x,"change",function(b){B=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,f,d,l,p,e,g,k){null!=x.files&&(F(b)(a,c,f,d,l,p,e,g,k),x.type="",x.type="file",x.value="")});u.scrollTop= u.scrollHeight});x.style.display="none";document.body.appendChild(x);a.libDlgFileInputElt=x}l=mxUtils.button(mxResources.get("import"),function(){null!=C&&(C(),C=null);a.libDlgFileInputElt.click()});l.setAttribute("id","btnAddImage");l.className="geBtn";d.appendChild(l)}l=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=C&&(C(),C=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){B=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var f=a.indexOf(",");0<f&&(a= a.substring(0,f)+";base64,"+a.substring(f+1))}m(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})});l.setAttribute("id","btnAddImageUrl");l.className="geBtn";d.appendChild(l);this.saveBtnClickHandler=function(b,c,f,d){a.saveLibrary(b,c,f,d)};l=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=C&&(C(),C=null);this.saveBtnClickHandler(p.value,f,e,g)}));l.setAttribute("id","btnSave");l.className="geBtn gePrimaryBtn";d.appendChild(l);a.editor.cancelFirst||d.appendChild(c);b.appendChild(d); this.container=b},EditShapeDialog=function(a,c,b,d,e){d=null!=d?d:300;e=null!=e?e:120;var g,k,m=document.createElement("table"),n=document.createElement("tbody");m.style.cellPadding="4px";g=document.createElement("tr");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";mxUtils.write(k,b);g.appendChild(k);n.appendChild(g);g=document.createElement("tr");k=document.createElement("td");var q=document.createElement("textarea");q.style.outline="none";q.style.resize="none"; @@ -8266,27 +8269,27 @@ mxResources.get("showAll",null,"+ Show all")+'</div></div></div><div class="geTe mxResources.get("allDiagrams",null,"All diagrams")+'</span></div><div class="geTempDlgSpacer"> </div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall geTempDlgRadioBtnActive" data-id="tilesBtn"><img src="/images/tiles-sel.svg" class="geTempDlgTilesBtnImg"></div><div class="geTempDlgRadioBtn geTempDlgRadioBtnSmall" data-id="listBtn"><img src="/images/list.svg" class="geTempDlgListBtnImg"></div></div></div><div class="geTempDlgDiagramsTiles"></div></div></div><br style="clear:both;"/><div class="geTempDlgFooter"><span class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramHint">🛈 '+ mxResources.get("linkToDiagramHint",null,"Add a link to this diagram. The diagram can only be edited from the page that owns it.")+'</span><button class="geTempDlgLinkToDiagram geTempDlgLinkToDiagramBtn">'+mxResources.get("linkToDiagram",null,"Link to Diagram")+'</button><div class="geTempDlgCreateBtn">'+mxResources.get("create",null,"Create")+'</div><div class="geTempDlgCancelBtn">'+mxResources.get("cancel",null,"Cancel")+"</div></div>",c=document.createElement("div");c.innerHTML=a;c.className="geTemplateDlg"; var a=window.innerWidth,b=window.innerHeight,d=987,e=712;.9*a<d&&(d=Math.max(.9*a,600),c.style.width=d+"px");.9*b<e&&(e=Math.max(.9*b,300),c.style.height=e+"px");this.width=d;this.height=e;this.container=c}; -TemplatesDialog.prototype.init=function(a,c,b,d,e,g,k,m,n,q){function f(){null!=H&&(H.style.fontWeight="normal",H.style.textDecoration="none",H=null)}function l(a,b,c,f,d,l,p){if(-1<a.className.indexOf("geTempDlgRadioBtnActive"))return!1;a.className+=" geTempDlgRadioBtnActive";D.querySelector(".geTempDlgRadioBtn[data-id="+f+"]").className="geTempDlgRadioBtn "+(p?"geTempDlgRadioBtnLarge":"geTempDlgRadioBtnSmall");D.querySelector("."+b).src="/images/"+c+"-sel.svg";D.querySelector("."+d).src="/images/"+ -l+".svg";return!0}function p(a){function b(a){aa.removeChild(f);D.removeChild(c);aa.scrollTop=l}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var c=document.createElement("div");c.className="geTempDlgDialogMask";D.appendChild(c);var f=document.createElement("div");f.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;f.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn"; -a.setAttribute("title",mxResources.get("close"));f.appendChild(a);var l=aa.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(c,"click",b);aa.appendChild(f);aa.scrollTop=0;f.style.lineHeight=f.clientHeight+"px"}function u(a,b,c){if(null!=E){for(var f=E.className.split(" "),d=0;d<f.length;d++)if(-1<f[d].indexOf("Active")){f.splice(d,1);break}E.className=f.join(" ")}null!=a?(E=a,E.className+=" "+b,I=c,ca.className="geTempDlgCreateBtn"):(I=E=null,ca.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")} -function v(b){if(null!=I){var f=I;I=null;ca.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";f.isExternal?(1==b?q(f.url,f,"nameInput.value"):n(f.url,f,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+f.url,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(c(b.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function t(a){a=a?"":"none";for(var b=D.querySelectorAll(".geTempDlgLinkToDiagram"),c=0;c<b.length;c++)b[c].style.display= -a}function A(a,b,c){function f(){ca.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));t(!b)}T.innerHTML="";u();K=a;var d=null;if(c){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var l=document.createElement("tr"),e=document.createElement("th");e.style.width="50%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));l.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML= +TemplatesDialog.prototype.init=function(a,c,b,d,e,g,k,m,n,q){function f(){null!=G&&(G.style.fontWeight="normal",G.style.textDecoration="none",G=null)}function l(a,b,c,f,d,l,p){if(-1<a.className.indexOf("geTempDlgRadioBtnActive"))return!1;a.className+=" geTempDlgRadioBtnActive";F.querySelector(".geTempDlgRadioBtn[data-id="+f+"]").className="geTempDlgRadioBtn "+(p?"geTempDlgRadioBtnLarge":"geTempDlgRadioBtnSmall");F.querySelector("."+b).src="/images/"+c+"-sel.svg";F.querySelector("."+d).src="/images/"+ +l+".svg";return!0}function p(a){function b(a){ba.removeChild(f);F.removeChild(c);ba.scrollTop=l}a=a.prevImgUrl||a.imgUrl||TEMPLATE_PATH+"/"+a.url.substring(0,a.url.length-4)+".png";var c=document.createElement("div");c.className="geTempDlgDialogMask";F.appendChild(c);var f=document.createElement("div");f.className="geTempDlgDiagramPreviewBox";var d=document.createElement("img");d.src=a;f.appendChild(d);a=document.createElement("img");a.src="/images/close.png";a.className="geTempDlgPreviewCloseBtn"; +a.setAttribute("title",mxResources.get("close"));f.appendChild(a);var l=ba.scrollTop;mxEvent.addListener(a,"click",b);mxEvent.addListener(c,"click",b);ba.appendChild(f);ba.scrollTop=0;f.style.lineHeight=f.clientHeight+"px"}function u(a,b,c){if(null!=D){for(var f=D.className.split(" "),d=0;d<f.length;d++)if(-1<f[d].indexOf("Active")){f.splice(d,1);break}D.className=f.join(" ")}null!=a?(D=a,D.className+=" "+b,H=c,aa.className="geTempDlgCreateBtn"):(H=D=null,aa.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled")} +function v(b){if(null!=H){var f=H;H=null;aa.className="geTempDlgCreateBtn geTempDlgCreateBtnDisabled geTempDlgCreateBtnBusy";f.isExternal?(1==b?q(f.url,f,"nameInput.value"):n(f.url,f,"nameInput.value"),a.hideDialog(!0)):mxUtils.get(TEMPLATE_PATH+"/"+f.url,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(c(b.getText(),"nameInput.value"),a.hideDialog(!0))}))}}function t(a){a=a?"":"none";for(var b=F.querySelectorAll(".geTempDlgLinkToDiagram"),c=0;c<b.length;c++)b[c].style.display= +a}function A(a,b,c){function f(){aa.innerHTML=b?mxUtils.htmlEntities(mxResources.get("create")):mxUtils.htmlEntities(mxResources.get("copy"));t(!b)}T.innerHTML="";u();K=a;var d=null;if(c){d=document.createElement("table");d.className="geTempDlgDiagramsListGrid";var l=document.createElement("tr"),e=document.createElement("th");e.style.width="50%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("diagram",null,"Diagram"));l.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML= mxUtils.htmlEntities(mxResources.get("changedBy",null,"Changed By"));l.appendChild(e);e=document.createElement("th");e.style.width="25%";e.innerHTML=mxUtils.htmlEntities(mxResources.get("lastModifiedOn",null,"Last modified on"));l.appendChild(e);d.appendChild(l);T.appendChild(d)}for(l=0;l<a.length;l++){a[l].isExternal=!b;var g=a[l].url,e=mxUtils.htmlEntities(a[l].title),x=a[l].tooltip||a[l].title,k=a[l].imgUrl,z=mxUtils.htmlEntities(a[l].changedBy||""),m=mxUtils.htmlEntities(a[l].lastModifiedOn|| "");k||(k=TEMPLATE_PATH+"/"+g.substring(0,g.length-4)+".png");g=c?50:15;null!=e&&e.length>g&&(e=e.substring(0,g)+"…");if(c){var B=document.createElement("tr"),k=document.createElement("td"),n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramListPreviewBtn";n.setAttribute("title",mxResources.get("preview"));k.appendChild(n);x=document.createElement("span");x.className="geTempDlgDiagramTitle";x.innerHTML=e;k.appendChild(x);B.appendChild(k);k=document.createElement("td"); -k.innerHTML=z;B.appendChild(k);k=document.createElement("td");k.innerHTML=m;B.appendChild(k);d.appendChild(B);null==E&&(f(),u(B,"geTempDlgDiagramsListGridActive",a[l]));(function(a,b){mxEvent.addListener(B,"click",function(){E!=b&&(f(),u(b,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(B,"dblclick",v);mxEvent.addListener(n,"click",function(){p(a)})})(a[l],B)}else{var y=document.createElement("div");y.className="geTempDlgDiagramTile";y.setAttribute("title",x);null==E&&(f(),u(y,"geTempDlgDiagramTileActive", -a[l]));z=document.createElement("div");z.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var q=document.createElement("img");q.style.display="none";(function(a,b){q.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};q.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(q,z);q.src=k;z.appendChild(q);y.appendChild(z);z=document.createElement("div");z.className="geTempDlgDiagramTileLbl";z.innerHTML=null!=e?e:"";y.appendChild(z); -n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramPreviewBtn";n.setAttribute("title",mxResources.get("preview"));y.appendChild(n);(function(a,b){mxEvent.addListener(y,"click",function(){E!=b&&(f(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(y,"dblclick",v);mxEvent.addListener(n,"click",function(){p(a)})})(a[l],y);T.appendChild(y)}}}function y(a,b){Z.innerHTML="";u();for(var c=!b&&5<a.length?5:a.length,f=0;f<c;f++){var d=a[f];d.isCategory=!0; -var l=document.createElement("div"),p=mxResources.get(d.title);null==p&&(p=d.title.substring(0,1).toUpperCase()+d.title.substring(1));l.className="geTempDlgNewDiagramCatItem";l.setAttribute("title",p);p=mxUtils.htmlEntities(p);15<p.length&&(p=p.substring(0,15)+"…");null==E&&(ca.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(l,"geTempDlgNewDiagramCatItemActive",d));var e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img"); -g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;e.appendChild(g);l.appendChild(e);e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemLbl";e.innerHTML=p;l.appendChild(e);Z.appendChild(l);(function(a,b){mxEvent.addListener(l,"click",function(){E!=b&&(ca.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(l,"dblclick",v)})(d,l)}L.style.display=5>a.length?"none":""}function C(a){var b=D.querySelector(".geTemplatesList"), -c;for(c in a){var f=document.createElement("div"),d=mxResources.get(c),l=a[c];null==d&&(d=c.substring(0,1).toUpperCase()+c.substring(1));f.className="geTemplateCatLink";f.setAttribute("title",d+" ("+l.length+")");d=mxUtils.htmlEntities(d);15<d.length&&(d=d.substring(0,15)+"…");f.innerHTML=d+" ("+l.length+")";b.appendChild(f);(function(b,c,d){mxEvent.addListener(f,"click",function(){H!=d&&(null!=H?(H.style.fontWeight="normal",H.style.textDecoration="none"):(U.style.display="none",ha.style.minHeight= -"100%"),H=d,H.style.fontWeight="bold",H.style.textDecoration="underline",aa.scrollTop=0,x&&(G=!0),Y.innerHTML=c,da.style.display="none",A(a[b],!0))})})(c,d,f)}}function z(a){k&&(aa.scrollTop=0,T.innerHTML="",P.spin(T),G=!1,x=!0,Y.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),S=null,k(Q,a?null:g))}function B(a){f();aa.scrollTop=0;T.innerHTML="";P.spin(T);G=!1;x=!0;X=null;Y.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+ -' "'+mxUtils.htmlEntities(a)+'"';m(a,Q,F?null:g);S=a}d=null!=d?d:TEMPLATE_PATH+"/index.xml";e=null!=e?e:NEW_DIAGRAM_CATS_PATH+"/index.xml";var D=this.container,x=!1,G=!1,H=null,E=null,I=null,J=!1,F=!0,M=!1,K=[],S,L=D.querySelector(".geTempDlgShowAllBtn"),T=D.querySelector(".geTempDlgDiagramsTiles"),Y=D.querySelector(".geTempDlgDiagramsListTitle"),da=D.querySelector(".geTempDlgDiagramsListBtns"),aa=D.querySelector(".geTempDlgContent"),ha=D.querySelector(".geTempDlgDiagramsList"),U=D.querySelector(".geTempDlgNewDiagramCat"), -Z=D.querySelector(".geTempDlgNewDiagramCatList"),ca=D.querySelector(".geTempDlgCreateBtn"),P=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(D.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){f();U.style.display="";ha.style.minHeight="calc(100% - 280px)";z(F)});mxEvent.addListener(D.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){l(this,"geTempDlgAllDiagramsBtnImg", -"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(F=!0,null==S?z(F):B(S))});mxEvent.addListener(D.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){l(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(F=!1,null==S?z(F):B(S))});mxEvent.addListener(D.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){l(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg", -"tiles",!1)&&(M=!0,A(K,!1,M))});mxEvent.addListener(D.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){l(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(M=!1,A(K,!1,M))});mxEvent.addListener(L,"click",function(){J?(U.style.height="280px",Z.style.height="190px",L.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),y(N)):(U.style.height="440px",Z.style.height="355px",L.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess", -null,"- Show less")),y(N,!0));J=!J});var W=!1,fa=!1,R={},N=[],ea=1;mxUtils.get(d,function(a){if(!W){W=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=R[b];null==c&&(ea++,c=[],R[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=a.nextSibling}C(R)}});mxUtils.get(e, -function(a){if(!fa){fa=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&N.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),title:a.getAttribute("title")}),a=a.nextSibling;y(N)}});var Q=function(a,b){da.style.display="";P.stop();x=!1;G?G=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):A(a,!1,M)};z(F);var X=null;m&&mxEvent.addListener(D.querySelector(".geTempDlgSearchBox"), -"keyup",function(a){var b=this;null!=X&&clearTimeout(X);13==a.keyCode?B(b.value):X=setTimeout(function(){B(b.value)},500)});mxEvent.addListener(ca,"click",v);mxEvent.addListener(D.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){v(!0)});mxEvent.addListener(D.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=b&&b();a.hideDialog(!0)})}; +k.innerHTML=z;B.appendChild(k);k=document.createElement("td");k.innerHTML=m;B.appendChild(k);d.appendChild(B);null==D&&(f(),u(B,"geTempDlgDiagramsListGridActive",a[l]));(function(a,b){mxEvent.addListener(B,"click",function(){D!=b&&(f(),u(b,"geTempDlgDiagramsListGridActive",a))});mxEvent.addListener(B,"dblclick",v);mxEvent.addListener(n,"click",function(){p(a)})})(a[l],B)}else{var y=document.createElement("div");y.className="geTempDlgDiagramTile";y.setAttribute("title",x);null==D&&(f(),u(y,"geTempDlgDiagramTileActive", +a[l]));z=document.createElement("div");z.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgLoading";var A=document.createElement("img");A.style.display="none";(function(a,b){A.onload=function(){b.className="geTempDlgDiagramTileImg";a.style.display=""};A.onerror=function(){b.className="geTempDlgDiagramTileImg geTempDlgDiagramTileImgError"}})(A,z);A.src=k;z.appendChild(A);y.appendChild(z);z=document.createElement("div");z.className="geTempDlgDiagramTileLbl";z.innerHTML=null!=e?e:"";y.appendChild(z); +n=document.createElement("img");n.src="/images/icon-search.svg";n.className="geTempDlgDiagramPreviewBtn";n.setAttribute("title",mxResources.get("preview"));y.appendChild(n);(function(a,b){mxEvent.addListener(y,"click",function(){D!=b&&(f(),u(b,"geTempDlgDiagramTileActive",a))});mxEvent.addListener(y,"dblclick",v);mxEvent.addListener(n,"click",function(){p(a)})})(a[l],y);T.appendChild(y)}}}function y(a,b){Y.innerHTML="";u();for(var c=!b&&5<a.length?5:a.length,f=0;f<c;f++){var d=a[f];d.isCategory=!0; +var l=document.createElement("div"),p=mxResources.get(d.title);null==p&&(p=d.title.substring(0,1).toUpperCase()+d.title.substring(1));l.className="geTempDlgNewDiagramCatItem";l.setAttribute("title",p);p=mxUtils.htmlEntities(p);15<p.length&&(p=p.substring(0,15)+"…");null==D&&(aa.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(l,"geTempDlgNewDiagramCatItemActive",d));var e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemImg";var g=document.createElement("img"); +g.src=NEW_DIAGRAM_CATS_PATH+"/"+d.img;e.appendChild(g);l.appendChild(e);e=document.createElement("div");e.className="geTempDlgNewDiagramCatItemLbl";e.innerHTML=p;l.appendChild(e);Y.appendChild(l);(function(a,b){mxEvent.addListener(l,"click",function(){D!=b&&(aa.innerHTML=mxUtils.htmlEntities(mxResources.get("create")),t(),u(b,"geTempDlgNewDiagramCatItemActive",a))});mxEvent.addListener(l,"dblclick",v)})(d,l)}L.style.display=5>a.length?"none":""}function C(a){var b=F.querySelector(".geTemplatesList"), +c;for(c in a){var f=document.createElement("div"),d=mxResources.get(c),l=a[c];null==d&&(d=c.substring(0,1).toUpperCase()+c.substring(1));f.className="geTemplateCatLink";f.setAttribute("title",d+" ("+l.length+")");d=mxUtils.htmlEntities(d);15<d.length&&(d=d.substring(0,15)+"…");f.innerHTML=d+" ("+l.length+")";b.appendChild(f);(function(b,c,d){mxEvent.addListener(f,"click",function(){G!=d&&(null!=G?(G.style.fontWeight="normal",G.style.textDecoration="none"):(U.style.display="none",ha.style.minHeight= +"100%"),G=d,G.style.fontWeight="bold",G.style.textDecoration="underline",ba.scrollTop=0,x&&(I=!0),Z.innerHTML=c,ea.style.display="none",A(a[b],!0))})})(c,d,f)}}function z(a){k&&(ba.scrollTop=0,T.innerHTML="",ja.spin(T),I=!1,x=!0,Z.innerHTML=mxUtils.htmlEntities(mxResources.get("recentDiag",null,"Recent Diagrams")),S=null,k(Q,a?null:g))}function B(a){f();ba.scrollTop=0;T.innerHTML="";ja.spin(T);I=!1;x=!0;V=null;Z.innerHTML=mxUtils.htmlEntities(mxResources.get("searchResults",null,"Search Results"))+ +' "'+mxUtils.htmlEntities(a)+'"';m(a,Q,E?null:g);S=a}d=null!=d?d:TEMPLATE_PATH+"/index.xml";e=null!=e?e:NEW_DIAGRAM_CATS_PATH+"/index.xml";var F=this.container,x=!1,I=!1,G=null,D=null,H=null,J=!1,E=!0,M=!1,K=[],S,L=F.querySelector(".geTempDlgShowAllBtn"),T=F.querySelector(".geTempDlgDiagramsTiles"),Z=F.querySelector(".geTempDlgDiagramsListTitle"),ea=F.querySelector(".geTempDlgDiagramsListBtns"),ba=F.querySelector(".geTempDlgContent"),ha=F.querySelector(".geTempDlgDiagramsList"),U=F.querySelector(".geTempDlgNewDiagramCat"), +Y=F.querySelector(".geTempDlgNewDiagramCatList"),aa=F.querySelector(".geTempDlgCreateBtn"),ja=new Spinner({lines:12,length:10,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"50px",zIndex:2E9});mxEvent.addListener(F.querySelector(".geTempDlgNewDiagramlbl"),"click",function(){f();U.style.display="";ha.style.minHeight="calc(100% - 280px)";z(E)});mxEvent.addListener(F.querySelector(".geTempDlgRadioBtn[data-id=allDiagramsBtn]"),"click",function(){l(this,"geTempDlgAllDiagramsBtnImg", +"all-diagrams","myDiagramsBtn","geTempDlgMyDiagramsBtnImg","my-diagrams",!0)&&(E=!0,null==S?z(E):B(S))});mxEvent.addListener(F.querySelector(".geTempDlgRadioBtn[data-id=myDiagramsBtn]"),"click",function(){l(this,"geTempDlgMyDiagramsBtnImg","my-diagrams","allDiagramsBtn","geTempDlgAllDiagramsBtnImg","all-diagrams",!0)&&(E=!1,null==S?z(E):B(S))});mxEvent.addListener(F.querySelector(".geTempDlgRadioBtn[data-id=listBtn]"),"click",function(){l(this,"geTempDlgListBtnImg","list","tilesBtn","geTempDlgTilesBtnImg", +"tiles",!1)&&(M=!0,A(K,!1,M))});mxEvent.addListener(F.querySelector(".geTempDlgRadioBtn[data-id=tilesBtn]"),"click",function(){l(this,"geTempDlgTilesBtnImg","tiles","listBtn","geTempDlgListBtnImg","list",!1)&&(M=!1,A(K,!1,M))});mxEvent.addListener(L,"click",function(){J?(U.style.height="280px",Y.style.height="190px",L.innerHTML=mxUtils.htmlEntities(mxResources.get("showAll",null,"+ Show all")),y(P)):(U.style.height="440px",Y.style.height="355px",L.innerHTML=mxUtils.htmlEntities(mxResources.get("showLess", +null,"- Show less")),y(P,!0));J=!J});var O=!1,W=!1,R={},P=[],X=1;mxUtils.get(d,function(a){if(!O){O=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!==typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=R[b];null==c&&(X++,c=[],R[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url"),imgUrl:a.getAttribute("imgUrl")})}}a=a.nextSibling}C(R)}}); +mxUtils.get(e,function(a){if(!W){W=!0;for(a=a.getXml().documentElement.firstChild;null!=a;)"undefined"!==typeof a.getAttribute&&null!=a.getAttribute("title")&&P.push({img:a.getAttribute("img"),libs:a.getAttribute("libs"),clibs:a.getAttribute("clibs"),title:a.getAttribute("title")}),a=a.nextSibling;y(P)}});var Q=function(a,b){ea.style.display="";ja.stop();x=!1;I?I=!1:b?T.innerHTML=b:0==a.length?T.innerHTML=mxUtils.htmlEntities(mxResources.get("noDiagrams",null,"No Diagrams Found")):A(a,!1,M)};z(E); +var V=null;m&&mxEvent.addListener(F.querySelector(".geTempDlgSearchBox"),"keyup",function(a){var b=this;null!=V&&clearTimeout(V);13==a.keyCode?B(b.value):V=setTimeout(function(){B(b.value)},500)});mxEvent.addListener(aa,"click",v);mxEvent.addListener(F.querySelector(".geTempDlgLinkToDiagramBtn"),"click",function(a){v(!0)});mxEvent.addListener(F.querySelector(".geTempDlgCancelBtn"),"click",function(){null!=b&&b();a.hideDialog(!0)})}; var BtnDialog=function(a,c,b,d){var e=document.createElement("div");e.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,mxResources.get("done"));var k="Unknown",m=document.createElement("img");m.setAttribute("border","0");m.setAttribute("align","absmiddle");m.style.marginRight="10px";c==a.drive?(k=mxResources.get("googleDrive"),m.src=IMAGE_PATH+"/google-drive-logo-white.svg"):c==a.dropbox? (k=mxResources.get("dropbox"),m.src=IMAGE_PATH+"/dropbox-logo-white.svg"):c==a.oneDrive?(k=mxResources.get("oneDrive"),m.src=IMAGE_PATH+"/onedrive-logo-white.svg"):c==a.gitHub?(k=mxResources.get("github"),m.src=IMAGE_PATH+"/github-logo-white.svg"):c==a.trello&&(k=mxResources.get("trello"),m.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizedIn",[k],"You are now authorized in {1}"));b=mxUtils.button(b,d);b.insertBefore(m,b.firstChild); b.style.marginTop="6px";b.className="geBigButton";e.appendChild(g);e.appendChild(a);e.appendChild(b);this.container=e};(function(){Editor.prototype.appName="draw.io";Editor.prototype.fileExtensions=[{ext:"html",title:"filetypeHtml"},{ext:"png",title:"filetypePng"},{ext:"svg",title:"filetypeSvg"}];Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": @@ -8315,7 +8318,7 @@ dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Editor.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),f=[];if(null!=c&&0<c.length)for(var d=0;d<c.length;d++)if("mxgraph"==c[d].getAttribute("class")){f.push(c[d]);break}0<f.length&&(c=f[0].getAttribute("data-mxgraph"),null!=c?(f=JSON.parse(c),null!=f&&null!=f.xml&&(f=mxUtils.parseXml(f.xml),a=f.documentElement)):(f=f[0].getElementsByTagName("div"),0<f.length&&(c=mxUtils.getTextContent(f[0]),c=Graph.decompress(c),0<c.length&& (f=mxUtils.parseXml(c),a=f.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||b||(f=null,"diagram"==a.nodeName?f=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(f=c[Math.max(0, Math.min(c.length-1,urlParams.page||0))])),null!=f&&(c=Graph.decompress(mxUtils.getTextContent(f)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};Editor.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(c):Base64.decode(c,!0);EditorUi.parsePng(f,mxUtils.bind(this,function(a,c,d){a=f.substring(a+8,a+8+d);"zTXt"==c?(d=a.indexOf(String.fromCharCode(0)), -"mxGraphModel"==a.substring(0,d)&&(a=Graph.bytesToString(pako.inflateRaw(a.substring(d+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(I){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};Editor.shadowOptionEnabled=!0;Editor.config=null;Editor.configVersion=null;Editor.configure=function(a,b){if(null!= +"mxGraphModel"==a.substring(0,d)&&(a=Graph.bytesToString(pako.inflateRaw(a.substring(d+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(H){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};Editor.shadowOptionEnabled=!0;Editor.config=null;Editor.configVersion=null;Editor.configure=function(a,b){if(null!= a){Editor.config=a;Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength=a.defaultEdgeLength||Graph.prototype.defaultEdgeLength; DrawioFile.prototype.autosaveDelay=a.autosaveDelay||DrawioFile.prototype.autosaveDelay;null!=a.templateFile&&(EditorUi.templateFile=a.templateFile);a.customFonts&&(Menus.prototype.defaultFonts=a.customFonts.concat(Menus.prototype.defaultFonts));a.customPresetColors&&(ColorDialog.prototype.presetColors=a.customPresetColors.concat(ColorDialog.prototype.presetColors));null!=a.customColorSchemes&&(StyleFormatPanel.prototype.defaultColorSchemes=a.customColorSchemes.concat(StyleFormatPanel.prototype.defaultColorSchemes)); if(null!=a.css){var c=document.createElement("style");c.setAttribute("type","text/css");c.appendChild(document.createTextNode(a.css));var f=document.getElementsByTagName("script")[0];f.parentNode.insertBefore(c,f)}null!=a.libraries&&(Sidebar.prototype.customEntries=a.libraries);null!=a.enabledLibraries&&(Sidebar.prototype.enabledLibraries=a.enabledLibraries);null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries= @@ -8326,7 +8329,7 @@ null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.len this.graph.getStylesheet())));else if(f=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=f){var d=new mxCodec(f.ownerDocument);d.decode(f,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,c.width,c.height))):this.graph.setBackgroundImage(null); mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var c=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml= function(a){a=null!=a?a:!0;var b=c.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&b.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&b.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));b.setAttribute("math",this.graph.mathEnabled?"1":"0");b.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return b};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content"); -if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(E){}return!1};Editor.prototype.extractGraphModel=function(a,b){return Editor.extractGraphModel.apply(this,arguments)};var b=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= +if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(D){}return!1};Editor.prototype.extractGraphModel=function(a,b){return Editor.extractGraphModel.apply(this,arguments)};var b=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= "1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform();b.apply(this,arguments)};var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath&& null!=Editor.MathJaxRender?!0:this.originalNoForeignObject;this.graph.useCssTransforms=!mxClient.NO_FO&&this.isChromelessView()&&this.graph.isCssTransformsSupported();this.graph.updateCssTransform()};Editor.initMath=function(a,b){a=null!=a?a:DRAW_MATH_URL+"/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0, showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}}; @@ -8346,7 +8349,7 @@ c[p].indexOf(")");l.push('url("');l.push(d[b(c[p].substring(0,e))]);l.push('"'+c function(a){f--;l()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[p].substring(0,e)),g)}}else a()};Editor.prototype.convertMath=function(a,b,c,f){a.mathEnabled&&"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?(Editor.MathJaxRender(b),window.setTimeout(mxUtils.bind(this,function(){MathJax.Hub.Queue(mxUtils.bind(this,function(){f()}))}),0)):f()};Editor.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.graph.mathEnabled&&this.useCanvasForExport};Editor.prototype.exportToCanvas= function(a,b,c,f,d,l,p,e,g,k,t,u,z,m){l=null!=l?l:!0;u=null!=u?u:this.graph;z=null!=z?z:0;var x=g?null:u.background;x==mxConstants.NONE&&(x=null);null==x&&(x=f);null==x&&0==g&&(x=this.graph.defaultPageBackgroundColor);this.convertImages(u.getSvg(x,null,null,m,null,null!=p?p:!0,null,null,null,k),mxUtils.bind(this,function(c){var f=new Image;f.onload=mxUtils.bind(this,function(){try{var p=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),k=parseInt(c.getAttribute("height"));e=null!= e?e:1;null!=b&&(e=l?Math.min(1,Math.min(3*b/(4*k),b/g)):b/g);g=Math.ceil(e*g)+2*z;k=Math.ceil(e*k)+2*z;p.setAttribute("width",g);p.setAttribute("height",k);var t=p.getContext("2d");null!=x&&(t.beginPath(),t.rect(0,0,g,k),t.fillStyle=x,t.fill());t.scale(e,e);mxClient.IS_SF?window.setTimeout(function(){t.drawImage(f,z/e,z/e);a(p)},0):(t.drawImage(f,z/e,z/e),a(p))}catch(R){null!=d&&d(R)}});f.onerror=function(a){null!=d&&d(a)};try{k&&this.graph.addSvgShadow(c);var p=mxUtils.bind(this,function(){if(null!= -this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(u,c,!0,mxUtils.bind(this,function(){f.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(p)}catch(ca){null!=d&&d(ca)}}),c,t)};Editor.prototype.writeGraphModelToPng=function(a,b,c,f,d){function l(a,b){var c=g;g+=b;return a.substring(c,g)}function p(a){a=l(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<< +this.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(u,c,!0,mxUtils.bind(this,function(){f.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(p)}catch(aa){null!=d&&d(aa)}}),c,t)};Editor.prototype.writeGraphModelToPng=function(a,b,c,f,d){function l(a,b){var c=g;g+=b;return a.substring(c,g)}function p(a){a=l(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<< 8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function e(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var g=0;if(l(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(l(a,4),"IHDR"!=l(a,4))null!=d&&d();else{l(a,17);d=a.substring(0,g);do{var k=p(a);if("IDAT"==l(a,4)){d=a.substring(0,g-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+f;f=4294967295; f=EditorUi.prototype.updateCRC(f,b,0,4);f=EditorUi.prototype.updateCRC(f,c,0,c.length);d+=e(c.length)+b+c+e(f^4294967295);d+=a.substring(g-8,a.length);break}d+=a.substring(g-8,g-4+k);l(a,k);l(a,4)}while(k);return"data:image/png;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0))}};if(window.ColorDialog){FilenameDialog.filenameHelpLink="https://desk.draw.io/support/solutions/articles/16000091426";var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors); mxSettings.save()};var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&&(EditDataDialog.getDisplayIdForCell=function(a,b){var c=null;null!=a.editor.graph.getModel().getParent(b)?c=b.getId():null!=a.currentPage&&(c=a.currentPage.getId());return c});if(null!=window.StyleFormatPanel){var k=Format.prototype.init;Format.prototype.init=function(){k.apply(this,arguments); @@ -8391,9 +8394,9 @@ n[p],g=document.createElement("option");g.value=mxUtils.htmlEntities(e.val);g.in B,z)):(x.innerHTML=c,mxEvent.addListener(x,"click",mxUtils.bind(t,function(){function l(){var a=p.value,a=0==a.length&&"string"!=m?0:a;k.allowAuto&&("auto"==a.trim().toLowerCase()?(a="auto",m="string"):(a=parseFloat(a),a=isNaN(a)?0:a));null!=k.min&&a<k.min?a=k.min:null!=k.max&&a>k.max&&(a=k.max);a=mxUtils.htmlEntities(("int"==m?parseInt(a):a)+"");f(b,a,k)}var p=document.createElement("input");d(x,p,!0);p.value=c;p.className="gePropEditor";"int"!=m&&"float"!=m||k.allowAuto||(p.type="number",p.step= "int"==m?"1":"any",null!=k.min&&(p.min=parseFloat(k.min)),null!=k.max&&(p.max=parseFloat(k.max)));a.appendChild(p);mxEvent.addListener(p,"keypress",function(a){13==a.keyCode&&l()});p.focus();mxEvent.addListener(p,"blur",function(){l()})})));k.isDeletable&&(z=mxUtils.button("-",mxUtils.bind(t,function(a){f(b,"",k,k.index);mxEvent.consume(a)})),z.style.height="16px",z.style.width="25px",z.style["float"]="right",z.className="geColorBtn",x.appendChild(z));B.appendChild(x);return B}var t=this,u=this.editorUi.editor.graph, z=[];a.style.position="relative";a.style.padding="0";var m=document.createElement("table");m.style.whiteSpace="nowrap";m.style.width="100%";var v=document.createElement("tr");v.className="gePropHeader";var B=document.createElement("th");B.className="gePropHeaderCell";var x=document.createElement("img");x.src=Sidebar.prototype.expandedImage;B.appendChild(x);mxUtils.write(B,mxResources.get("property"));v.style.cursor="pointer";var n=function(){var b=m.querySelectorAll(".gePropNonHeaderRow"),c;if(t.editorUi.propertiesCollapsed){x.src= -Sidebar.prototype.collapsedImage;c="none";for(var f=a.childNodes.length-1;0<=f;f--)try{var d=a.childNodes[f],l=d.nodeName.toUpperCase();"INPUT"!=l&&"SELECT"!=l||a.removeChild(d)}catch(ga){}}else x.src=Sidebar.prototype.expandedImage,c="";for(f=0;f<b.length;f++)b[f].style.display=c};mxEvent.addListener(v,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;n()});v.appendChild(B);B=document.createElement("th");B.className="gePropHeaderCell";B.innerHTML=mxResources.get("value"); -v.appendChild(B);m.appendChild(v);var y=!1,q=!1,A;for(A in b)if(v=b[A],"function"!=typeof v.isVisible||v.isVisible(c)){var C=null!=c.style[A]?mxUtils.htmlEntities(c.style[A]+""):v.defVal;if("separator"==v.type)q=!q;else{if("staticArr"==v.type)v.size=parseInt(c.style[v.sizeProperty]||b[v.sizeProperty].defVal)||0;else if(null!=v.dependentProps){for(var D=v.dependentProps,G=[],H=[],B=0;B<D.length;B++){var Q=c.style[D[B]];H.push(b[D[B]].subDefVal);G.push(null!=Q?Q.split(","):[])}v.dependentPropsDefVal= -H;v.dependentPropsVals=G}m.appendChild(k(A,C,v,y,q));y=!y}}for(B=0;B<z.length;B++)for(v=z[B],b=v.parentRow,c=0;c<v.values.length;c++)A=k(v.name,v.values[c],{type:v.type,parentRow:v.parentRow,isDeletable:v.isDeletable,index:c,defVal:v.defVal,countProperty:v.countProperty,size:v.size},0==c%2,v.flipBkg),b.parentNode.insertBefore(A,b.nextSibling),b=A;a.appendChild(m);n();return a};StyleFormatPanel.prototype.addStyles=function(a){function b(a){function b(a){var b=mxUtils.button("",function(b){f.getModel().beginUpdate(); +Sidebar.prototype.collapsedImage;c="none";for(var f=a.childNodes.length-1;0<=f;f--)try{var d=a.childNodes[f],l=d.nodeName.toUpperCase();"INPUT"!=l&&"SELECT"!=l||a.removeChild(d)}catch(da){}}else x.src=Sidebar.prototype.expandedImage,c="";for(f=0;f<b.length;f++)b[f].style.display=c};mxEvent.addListener(v,"click",function(){t.editorUi.propertiesCollapsed=!t.editorUi.propertiesCollapsed;n()});v.appendChild(B);B=document.createElement("th");B.className="gePropHeaderCell";B.innerHTML=mxResources.get("value"); +v.appendChild(B);m.appendChild(v);var y=!1,A=!1,q;for(q in b)if(v=b[q],"function"!=typeof v.isVisible||v.isVisible(c)){var C=null!=c.style[q]?mxUtils.htmlEntities(c.style[q]+""):v.defVal;if("separator"==v.type)A=!A;else{if("staticArr"==v.type)v.size=parseInt(c.style[v.sizeProperty]||b[v.sizeProperty].defVal)||0;else if(null!=v.dependentProps){for(var F=v.dependentProps,I=[],G=[],B=0;B<F.length;B++){var Q=c.style[F[B]];G.push(b[F[B]].subDefVal);I.push(null!=Q?Q.split(","):[])}v.dependentPropsDefVal= +G;v.dependentPropsVals=I}m.appendChild(k(q,C,v,y,A));y=!y}}for(B=0;B<z.length;B++)for(v=z[B],b=v.parentRow,c=0;c<v.values.length;c++)q=k(v.name,v.values[c],{type:v.type,parentRow:v.parentRow,isDeletable:v.isDeletable,index:c,defVal:v.defVal,countProperty:v.countProperty,size:v.size},0==c%2,v.flipBkg),b.parentNode.insertBefore(q,b.nextSibling),b=q;a.appendChild(m);n();return a};StyleFormatPanel.prototype.addStyles=function(a){function b(a){function b(a){var b=mxUtils.button("",function(b){f.getModel().beginUpdate(); try{var c=f.getSelectionCells();for(b=0;b<c.length;b++){for(var d=f.getModel().getStyle(c[b]),p=0;p<l.length;p++)d=mxUtils.removeStylename(d,l[p]);var e=f.getModel().isVertex(c[b])?f.defaultVertexStyle:f.defaultEdgeStyle;null!=a?(d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,a.gradient||mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),d=""==a.fill?mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,a.fill||mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR, null)),d=""==a.stroke?mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,null):mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,a.stroke||mxUtils.getValue(e,mxConstants.STYLE_STROKECOLOR,null)),f.getModel().isVertex(c[b])&&(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,a.font||mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null)))):(d=mxUtils.setStyle(d,mxConstants.STYLE_FILLCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FILLCOLOR,"#ffffff")),d=mxUtils.setStyle(d,mxConstants.STYLE_STROKECOLOR,mxUtils.getValue(e, mxConstants.STYLE_STROKECOLOR,"#000000")),d=mxUtils.setStyle(d,mxConstants.STYLE_GRADIENTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_GRADIENTCOLOR,null)),f.getModel().isVertex(c[b])&&(d=mxUtils.setStyle(d,mxConstants.STYLE_FONTCOLOR,mxUtils.getValue(e,mxConstants.STYLE_FONTCOLOR,null))));f.getModel().setStyle(c[b],d)}}finally{f.getModel().endUpdate()}});b.className="geStyleButton";b.style.width="36px";b.style.height="30px";b.style.margin="0px 6px 6px 0px";if(null!=a)null!=a.gradient?mxClient.IS_IE&& @@ -8412,7 +8415,7 @@ this.graph.getCellStyle(a);if(null!=b){if("rack"==b.childLayout){var c=new mxSta b.tableColumns||2,c.colPercentages=b.colPercentages,c.rowPercentages=b.rowPercentages,c.equalColumns="1"==mxUtils.getValue(b,"equalColumns",c.colPercentages?"0":"1"),c.equalRows="1"==mxUtils.getValue(b,"equalRows",c.rowPercentages?"0":"1"),c.resizeParent="1"==mxUtils.getValue(b,"resizeParent","1"),c.border=b.tableBorder||c.border,c.marginLeft=b.marginLeft||0,c.marginRight=b.marginRight||0,c.marginTop=b.marginTop||0,c.marginBottom=b.marginBottom||0,c.autoAddCol="1"==mxUtils.getValue(b,"autoAddCol", "0"),c.autoAddRow="1"==mxUtils.getValue(b,"autoAddRow",c.autoAddCol?"0":"1"),c.colWidths=b.colWidths||"100",c.rowHeights=b.rowHeights||"50",c}return f.apply(this,arguments)}};Graph.prototype.getDefaultStylesheet=function(){if(null==this.defaultStylesheet){var a=this.themes["default-style2"];this.defaultStylesheet=(new mxCodec(a.ownerDocument)).decode(a)}return this.defaultStylesheet};var u=Graph.prototype.getSvg;Graph.prototype.getSvg=function(){var a=null;null!=this.themes&&"darkTheme"==this.defaultThemeName&& (a=this.stylesheet,this.stylesheet=this.getDefaultStylesheet(),this.refresh());var b=u.apply(this,arguments);null!=a&&(this.stylesheet=a,this.refresh());return b};var v=Graph.prototype.isCssTransformsSupported;Graph.prototype.isCssTransformsSupported=function(){return v.apply(this,arguments)&&!mxClient.IS_SF};var t=Graph.prototype.getGlobalVariable;Graph.prototype.getGlobalVariable=function(a){var b=t.apply(this,arguments);if(null==b){if(null==this.globalUrlVars&&null!=urlParams.vars)try{this.globalUrlVars= -JSON.parse(decodeURIComponent(urlParams.vars))}catch(H){null!=window.console&&console.log("Error in vars URL parameter: "+H)}null!=this.globalUrlVars&&(b=this.globalUrlVars[a])}return b};var A=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){A.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode|| +JSON.parse(decodeURIComponent(urlParams.vars))}catch(G){null!=window.console&&console.log("Error in vars URL parameter: "+G)}null!=this.globalUrlVars&&(b=this.globalUrlVars[a])}return b};var A=mxGraphView.prototype.validateBackgroundPage;mxGraphView.prototype.validateBackgroundPage=function(){A.apply(this,arguments);if(mxClient.IS_GC&&null!=this.getDrawPane()){var a=this.getDrawPane().parentNode;!this.graph.mathEnabled||mxClient.NO_FO||null!=this.webKitForceRepaintNode&&null!=this.webKitForceRepaintNode.parentNode|| "svg"!=this.graph.container.firstChild.nodeName?null==this.webKitForceRepaintNode||this.graph.mathEnabled&&("svg"==this.graph.container.firstChild.nodeName||this.graph.container.firstChild==this.webKitForceRepaintNode)||(null!=this.webKitForceRepaintNode.parentNode&&this.webKitForceRepaintNode.parentNode.removeChild(this.webKitForceRepaintNode),this.webKitForceRepaintNode=null):(this.webKitForceRepaintNode=document.createElement("div"),this.webKitForceRepaintNode.style.cssText="position:absolute;", a.ownerSVGElement.parentNode.insertBefore(this.webKitForceRepaintNode,a.ownerSVGElement))}};var y=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){y.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var b=0;b<a.actions.length;b++){var c=a.actions[b];if(null!=c.open)if(this.isCustomLink(c.open)){if(!this.customLinkClicked(c.open))return}else this.openLink(c.open)}this.model.beginUpdate(); try{for(b=0;b<a.actions.length;b++)c=a.actions[b],null!=c.toggle&&this.toggleCells(this.getCellsForAction(c.toggle,!0)),null!=c.show&&this.setCellsVisible(this.getCellsForAction(c.show,!0),!0),null!=c.hide&&this.setCellsVisible(this.getCellsForAction(c.hide,!0),!1)}finally{this.model.endUpdate()}for(b=0;b<a.actions.length;b++){var c=a.actions[b],f=[];null!=c.select&&this.isEnabled()&&(f=this.getCellsForAction(c.select),this.setSelectionCells(f));null!=c.highlight&&(f=this.getCellsForAction(c.highlight), @@ -8435,26 +8438,26 @@ mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js [SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.aws4=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.aws4b=[SHAPES_PATH+"/mxAWS4.js",STENCIL_PATH+"/aws4.xml"];mxStencilRegistry.libraries.veeam=[STENCIL_PATH+"/veeam/2d.xml",STENCIL_PATH+"/veeam/3d.xml",STENCIL_PATH+ "/veeam/veeam.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml")); return b};var C=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,f,d,l,p,e,g,k){if(null!=c&&null==mxMarker.markers[c]){var t=this.getPackageForType(c);null!=t&&mxStencilRegistry.getStencil(t)}return C.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){v.value=Math.max(1,Math.min(e,Math.max(parseInt(v.value),parseInt(z.value))));z.value=Math.max(1,Math.min(e,Math.min(parseInt(v.value),parseInt(z.value))))}function f(b){function c(b,c,d){var l=b.getGraphBounds(), -p=0,e=0,g=O.get(),k=1/b.pageScale,t=y.checked;if(t)var k=parseInt(V.value),u=parseInt(ja.value),k=Math.min(g.height*u/(l.height/b.view.scale),g.width*k/(l.width/b.view.scale));else k=parseInt(n.value)/(100*b.pageScale),isNaN(k)&&(f=1/b.pageScale,n.value="100 %");g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*f);g.height=Math.ceil(g.height*f);k*=f;!t&&b.pageVisible?(l=b.getPageLayout(),p-=l.x*g.width,e-=l.y*g.height):t=!0;if(null==c){c=PrintDialog.createPrintPreview(b,k,g,0,p,e,t);c.pageSelector= -!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var z=c.writeHead;c.writeHead=function(b){z.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var m=c.renderPage;c.renderPage=function(a,b,c,f,d,l){var p=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var e=m.apply(this,arguments);mxClient.NO_FO= -p;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:e.className="geDisableMathJax";return e}}c.open(null,null,d,!0)}else{g=b.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";c.backgroundColor=g;c.autoOrigin=t;c.appendGraph(b,k,p,e,d,!0)}return c}var f=parseInt(ba.value)/100;isNaN(f)&&(f=1,ba.value="100 %");var f=.75*f,l=z.value,p=v.value,e=!t.checked,k=null;e&&(e=l==g&&p==g);if(!e&&null!=a.pages&&a.pages.length){var u=0,e=a.pages.length-1;t.checked||(u=parseInt(l)-1,e=parseInt(p)- -1);for(var m=u;m<=e;m++){var B=a.pages[m],l=B==a.currentPage?d:null;if(null==l){var l=a.createTemporaryGraph(d.getStylesheet()),p=!0,u=!1,x=null,q=null;null==B.viewState&&null==B.root&&a.updatePageRoot(B);null!=B.viewState&&(p=B.viewState.pageVisible,u=B.viewState.mathEnabled,x=B.viewState.background,q=B.viewState.backgroundImage);l.background=x;l.backgroundImage=null!=q?new mxImage(q.src,q.width,q.height):null;l.pageVisible=p;l.mathEnabled=u;var A=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"== -a?B.getName():"pagenumber"==a?m+1:A.apply(this,arguments)};document.body.appendChild(l.container);a.updatePageRoot(B);l.model.setRoot(B.root)}k=c(l,k,m!=e);l!=d&&l.container.parentNode.removeChild(l.container)}}else k=c(d);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(k.mathEnabled&&(e=k.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'), +p=0,e=0,g=N.get(),k=1/b.pageScale,t=y.checked;if(t)var k=parseInt(ca.value),u=parseInt(fa.value),k=Math.min(g.height*u/(l.height/b.view.scale),g.width*k/(l.width/b.view.scale));else k=parseInt(n.value)/(100*b.pageScale),isNaN(k)&&(f=1/b.pageScale,n.value="100 %");g=mxRectangle.fromRectangle(g);g.width=Math.ceil(g.width*f);g.height=Math.ceil(g.height*f);k*=f;!t&&b.pageVisible?(l=b.getPageLayout(),p-=l.x*g.width,e-=l.y*g.height):t=!0;if(null==c){c=PrintDialog.createPrintPreview(b,k,g,0,p,e,t);c.pageSelector= +!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var z=c.writeHead;c.writeHead=function(b){z.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var v=c.renderPage;c.renderPage=function(a,b,c,f,d,l){var p=mxClient.NO_FO;mxClient.NO_FO=this.graph.mathEnabled&&!this.useForeignObjectForMath?!0:this.originalNoForeignObject;var e=v.apply(this,arguments);mxClient.NO_FO= +p;this.graph.mathEnabled?this.mathEnabled=this.mathEnabled||!0:e.className="geDisableMathJax";return e}}c.open(null,null,d,!0)}else{g=b.background;if(null==g||""==g||g==mxConstants.NONE)g="#ffffff";c.backgroundColor=g;c.autoOrigin=t;c.appendGraph(b,k,p,e,d,!0)}return c}var f=parseInt(ga.value)/100;isNaN(f)&&(f=1,ga.value="100 %");var f=.75*f,l=z.value,p=v.value,e=!t.checked,k=null;e&&(e=l==g&&p==g);if(!e&&null!=a.pages&&a.pages.length){var u=0,e=a.pages.length-1;t.checked||(u=parseInt(l)-1,e=parseInt(p)- +1);for(var m=u;m<=e;m++){var B=a.pages[m],l=B==a.currentPage?d:null;if(null==l){var l=a.createTemporaryGraph(d.getStylesheet()),p=!0,u=!1,x=null,A=null;null==B.viewState&&null==B.root&&a.updatePageRoot(B);null!=B.viewState&&(p=B.viewState.pageVisible,u=B.viewState.mathEnabled,x=B.viewState.background,A=B.viewState.backgroundImage);l.background=x;l.backgroundImage=null!=A?new mxImage(A.src,A.width,A.height):null;l.pageVisible=p;l.mathEnabled=u;var q=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"== +a?B.getName():"pagenumber"==a?m+1:q.apply(this,arguments)};document.body.appendChild(l.container);a.updatePageRoot(B);l.model.setRoot(B.root)}k=c(l,k,m!=e);l!=d&&l.container.parentNode.removeChild(l.container)}}else k=c(d);null==k?a.handleError({message:mxResources.get("errorUpdatingPreview")}):(k.mathEnabled&&(e=k.wnd.document,e.writeln('<script type="text/x-mathjax-config">'),e.writeln("MathJax.Hub.Config({"),e.writeln("showMathMenu: false,"),e.writeln('messageStyle: "none",'),e.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'), e.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),e.writeln('"HTML-CSS": {'),e.writeln("imageFont: null"),e.writeln("},"),e.writeln("TeX: {"),e.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),e.writeln("},"),e.writeln("tex2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("},"),e.writeln("asciimath2jax: {"),e.writeln('\tignoreClass: "geDisableMathJax"'),e.writeln("}"),e.writeln("});"),b&&(e.writeln("MathJax.Hub.Queue(function () {"), e.writeln("window.print();"),e.writeln("});")),e.writeln("\x3c/script>"),e.writeln('<script type="text/javascript" src="'+DRAW_MATH_URL+'/MathJax.js">\x3c/script>')),k.closeDocument(),!k.mathEnabled&&b&&PrintDialog.printPreview(k))}var d=a.editor.graph,l=document.createElement("div"),p=document.createElement("h3");p.style.width="100%";p.style.textAlign="center";p.style.marginTop="0px";mxUtils.write(p,b||mxResources.get("print"));l.appendChild(p);var e=1,g=1,k=document.createElement("div");k.style.cssText= "border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");k.appendChild(t);p=document.createElement("span");mxUtils.write(p,mxResources.get("printAllPages"));k.appendChild(p);mxUtils.br(k);var u=t.cloneNode(!0);t.setAttribute("checked","checked");u.setAttribute("value","range");k.appendChild(u); p=document.createElement("span");mxUtils.write(p,mxResources.get("pages")+":");k.appendChild(p);var z=document.createElement("input");z.style.cssText="margin:0 8px 0 8px;";z.setAttribute("value","1");z.setAttribute("type","number");z.setAttribute("min","1");z.style.width="50px";k.appendChild(z);p=document.createElement("span");mxUtils.write(p,mxResources.get("to"));k.appendChild(p);var v=z.cloneNode(!0);k.appendChild(v);mxEvent.addListener(z,"focus",function(){u.checked=!0});mxEvent.addListener(v, "focus",function(){u.checked=!0});mxEvent.addListener(z,"change",c);mxEvent.addListener(v,"change",c);if(null!=a.pages&&(e=a.pages.length,null!=a.currentPage))for(p=0;p<a.pages.length;p++)if(a.currentPage==a.pages[p]){g=p+1;z.value=g;v.value=g;break}z.setAttribute("max",e);v.setAttribute("max",e);1<e&&l.appendChild(k);var m=document.createElement("div");m.style.marginBottom="10px";var B=document.createElement("input");B.style.marginRight="8px";B.setAttribute("value","adjust");B.setAttribute("type", "radio");B.setAttribute("name","printZoom");m.appendChild(B);p=document.createElement("span");mxUtils.write(p,mxResources.get("adjustTo"));m.appendChild(p);var n=document.createElement("input");n.style.cssText="margin:0 8px 0 8px;";n.setAttribute("value","100 %");n.style.width="50px";m.appendChild(n);mxEvent.addListener(n,"focus",function(){B.checked=!0});l.appendChild(m);var k=k.cloneNode(!1),y=B.cloneNode(!0);y.setAttribute("value","fit");B.setAttribute("checked","checked");p=document.createElement("div"); -p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(y);k.appendChild(p);m=document.createElement("table");m.style.display="inline-block";var x=document.createElement("tbody"),q=document.createElement("tr"),A=q.cloneNode(!0),C=document.createElement("td"),D=C.cloneNode(!0),G=C.cloneNode(!0),ea=C.cloneNode(!0),Q=C.cloneNode(!0),X=C.cloneNode(!0);C.style.textAlign="right";ea.style.textAlign="right";mxUtils.write(C,mxResources.get("fitTo"));var V=document.createElement("input"); -V.style.cssText="margin:0 8px 0 8px;";V.setAttribute("value","1");V.setAttribute("min","1");V.setAttribute("type","number");V.style.width="40px";D.appendChild(V);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross"));G.appendChild(p);mxUtils.write(ea,mxResources.get("fitToBy"));var ja=V.cloneNode(!0);Q.appendChild(ja);mxEvent.addListener(V,"focus",function(){y.checked=!0});mxEvent.addListener(ja,"focus",function(){y.checked=!0});p=document.createElement("span");mxUtils.write(p, -mxResources.get("fitToSheetsDown"));X.appendChild(p);q.appendChild(C);q.appendChild(D);q.appendChild(G);A.appendChild(ea);A.appendChild(Q);A.appendChild(X);x.appendChild(q);x.appendChild(A);m.appendChild(x);k.appendChild(m);l.appendChild(k);k=document.createElement("div");p=document.createElement("div");p.style.fontWeight="bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);p=document.createElement("div");p.style.marginBottom="12px";var O=PageSetupDialog.addPageFormatPanel(p, -"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var ba=document.createElement("input");ba.style.cssText="margin:0 8px 0 8px;";ba.setAttribute("value","100 %");ba.style.width="60px";k.appendChild(ba);l.appendChild(k);p=document.createElement("div");p.style.cssText="text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}); -k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),m.className="geBtn",p.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),m.className="geBtn",p.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();f(!0)});m.className= -"geBtn gePrimaryBtn";p.appendChild(m);a.editor.cancelFirst||p.appendChild(k);l.appendChild(p);this.container=l};var z=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!= -this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(z.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 B=document.createElement("canvas"),D=new Image;D.onload=function(){try{B.getContext("2d").drawImage(D,0,0);var a=B.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(G){}};D.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(x){}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,d){d.ui=a.ui;return b};a.afterDecode=function(a,b,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="10.9.6";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":"https://rt.draw.io/cache";EditorUi.enablePlantUml= +p.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";p.appendChild(y);k.appendChild(p);m=document.createElement("table");m.style.display="inline-block";var x=document.createElement("tbody"),A=document.createElement("tr"),q=A.cloneNode(!0),C=document.createElement("td"),F=C.cloneNode(!0),I=C.cloneNode(!0),X=C.cloneNode(!0),Q=C.cloneNode(!0),V=C.cloneNode(!0);C.style.textAlign="right";X.style.textAlign="right";mxUtils.write(C,mxResources.get("fitTo"));var ca=document.createElement("input"); +ca.style.cssText="margin:0 8px 0 8px;";ca.setAttribute("value","1");ca.setAttribute("min","1");ca.setAttribute("type","number");ca.style.width="40px";F.appendChild(ca);p=document.createElement("span");mxUtils.write(p,mxResources.get("fitToSheetsAcross"));I.appendChild(p);mxUtils.write(X,mxResources.get("fitToBy"));var fa=ca.cloneNode(!0);Q.appendChild(fa);mxEvent.addListener(ca,"focus",function(){y.checked=!0});mxEvent.addListener(fa,"focus",function(){y.checked=!0});p=document.createElement("span"); +mxUtils.write(p,mxResources.get("fitToSheetsDown"));V.appendChild(p);A.appendChild(C);A.appendChild(F);A.appendChild(I);q.appendChild(X);q.appendChild(Q);q.appendChild(V);x.appendChild(A);x.appendChild(q);m.appendChild(x);k.appendChild(m);l.appendChild(k);k=document.createElement("div");p=document.createElement("div");p.style.fontWeight="bold";p.style.marginBottom="12px";mxUtils.write(p,mxResources.get("paperSize"));k.appendChild(p);p=document.createElement("div");p.style.marginBottom="12px";var N= +PageSetupDialog.addPageFormatPanel(p,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);k.appendChild(p);p=document.createElement("span");mxUtils.write(p,mxResources.get("pageScale"));k.appendChild(p);var ga=document.createElement("input");ga.style.cssText="margin:0 8px 0 8px;";ga.setAttribute("value","100 %");ga.style.width="60px";k.appendChild(ga);l.appendChild(k);p=document.createElement("div");p.style.cssText="text-align:right;margin:48px 0 0 0;";k=mxUtils.button(mxResources.get("cancel"), +function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&p.appendChild(k);a.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){d.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),m.className="geBtn",p.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();f(!1)}),m.className="geBtn",p.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog(); +f(!0)});m.className="geBtn gePrimaryBtn";p.appendChild(m);a.editor.cancelFirst||p.appendChild(k);l.appendChild(p);this.container=l};var z=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat= +this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(z.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 B=document.createElement("canvas"),F=new Image;F.onload=function(){try{B.getContext("2d").drawImage(F,0,0);var a=B.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(I){}};F.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(x){}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,d){d.ui=a.ui;return b};a.afterDecode=function(a,b,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="10.9.7";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging="1"!=urlParams.stealth&&/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost="https://www.draw.io";EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":"https://rt.draw.io/cache";EditorUi.enablePlantUml= EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.logError=function(a,b,c,d,e){if("1"==urlParams.dev)EditorUi.debug("logError",a,b,c,d,e);else if(EditorUi.enableLogging)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){EditorUi.lastErrorMessage= a;var f=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE",l=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";e=null!=e?e:Error(a);(new Image).src=l+"/log?severity="+f+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+(null!=d?":colno:"+encodeURIComponent(d):"")+(null!=e&&null!=e.stack?"&stack="+ encodeURIComponent(e.stack):"")}}catch(y){}};EditorUi.logEvent=function(a){if("1"==urlParams.dev)EditorUi.debug("logEvent",a);else if(EditorUi.enableLogging)try{var b=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=b+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(p){}};EditorUi.sendReport=function(a,b){if("1"==urlParams.dev)EditorUi.debug("sendReport",a);else if(EditorUi.enableLogging)try{b=null!=b?b: @@ -8499,15 +8502,15 @@ function(a){var b=this.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle e,g,k,m,n){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e),l=f+"."+a;if("xml"==a){var p='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(l,a,p,"text/xml")}else if("html"==a)p=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(l,a,p,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?l=f+ ".png":"jpeg"==a&&(l=f+".jpg"),this.saveRequest(l,a,mxUtils.bind(this,function(b,c){try{var f=this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var l=this.createDownloadRequest(b,a,d,c,k,e,m,n);this.editor.graph.pageVisible=f;return l}catch(K){this.handleError(K)}}));else{var t=null,u=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(l,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this, function(){mxUtils.popup(t)}))});if("svg"==a){var v=this.editor.graph.background;if(k||v==mxConstants.NONE)v=null;var y=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(y);this.convertImages(y,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else l=f+".svg",t=this.getFileData(!1, -!0,null,mxUtils.bind(this,function(a){this.spinner.stop();u(a)}),d)}}catch(I){this.handleError(I)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e,g,k,m){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var l="",p="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";"pdf"==b&&0==g&&(p="&allPages=1");if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(g= +!0,null,mxUtils.bind(this,function(a){this.spinner.stop();u(a)}),d)}}catch(H){this.handleError(H)}};EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e,g,k,m){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,0==g?!1:"xmlpng"!=b);var l="",p="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";"pdf"==b&&0==g&&(p="&allPages=1");if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(g= 0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){l="&from="+g;break}g=this.editor.graph.background;"png"==b&&e?g=mxConstants.NONE:e||null!=g&&g!=mxConstants.NONE||(g="#ffffff");return new mxXmlRequest(EXPORT_URL,"format="+b+l+p+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):"")+(null!=k?"&scale="+k:"")+(null!=m?"&border="+m:""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor= function(a,b,c){var f=window.location.hash,d=mxUtils.bind(this,function(c){var d=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<d.length&&(d+="\n"),d+=c);c=new LocalFile(this,"csv"!=a.format&&0<d.length?d:this.emptyDiagramXml,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return f};this.fileLoaded(c);"csv"==a.format&&this.importCsv(d,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")})); if(null!=a.update){var l=null!=a.interval?parseInt(a.interval):6E4,e=null,p=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())),mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(e); e=window.setTimeout(p,l)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();p()}));g();p()}null!=b&&b()});if(null!=a.url&&0<a.url.length){var l=a.url;/^https?:\/\//.test(l)&&!this.editor.isCorsEnabledForUrl(l)&&(l=PROXY_URL+"?url="+encodeURIComponent(l));this.loadUrl(l,mxUtils.bind(this,function(a){d(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else d("")};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||f.warningImage,a.tooltip, a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){d.alert(a.tooltip)});return b}var c=null,d=this;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var f=this.editor.graph,e=f.getModel();e.beginUpdate();var g=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var k=e.getCell(a.getAttribute("id"));if(null!=k){try{var m=a.getAttribute("value");if(null!=m){var z=mxUtils.parseXml(m).documentElement;if(null!= -z)if("1"==z.getAttribute("replace-value"))e.setValue(k,z);else for(var B=z.attributes,n=0;n<B.length;n++)f.setAttributeForCell(k,B[n].nodeName,0<B[n].nodeValue.length?B[n].nodeValue:null)}}catch(M){null!=window.console&&console.log("Error in value for "+k.id+": "+M)}try{var q=a.getAttribute("style");null!=q&&f.model.setStyle(k,q)}catch(M){null!=window.console&&console.log("Error in style for "+k.id+": "+M)}try{var G=a.getAttribute("icon");if(null!=G){var H=0<G.length?JSON.parse(G):null;null!=H&&H.append|| -f.removeCellOverlays(k);null!=H&&f.addCellOverlay(k,b(H))}}catch(M){null!=window.console&&console.log("Error in icon for "+k.id+": "+M)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),I=f.getCellGeometry(k);if(null!=I){I=I.clone();for(key in E){var J=parseFloat(E[key]);"dx"==key?I.x+=J:"dy"==key?I.y+=J:"dw"==key?I.width+=J:"dh"==key?I.height+=J:I[key]=parseFloat(E[key])}f.model.setGeometry(k,I)}}}catch(M){null!=window.console&&console.log("Error in icon for "+k.id+": "+M)}}}else if("model"== -a.nodeName){for(var F=a.firstChild;null!=F&&F.nodeType!=mxConstants.NODETYPE_ELEMENT;)F=F.nextSibling;null!=F&&(new mxCodec(a.firstChild)).decode(F,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(f.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))f.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a= +z)if("1"==z.getAttribute("replace-value"))e.setValue(k,z);else for(var B=z.attributes,n=0;n<B.length;n++)f.setAttributeForCell(k,B[n].nodeName,0<B[n].nodeValue.length?B[n].nodeValue:null)}}catch(M){null!=window.console&&console.log("Error in value for "+k.id+": "+M)}try{var x=a.getAttribute("style");null!=x&&f.model.setStyle(k,x)}catch(M){null!=window.console&&console.log("Error in style for "+k.id+": "+M)}try{var q=a.getAttribute("icon");if(null!=q){var G=0<q.length?JSON.parse(q):null;null!=G&&G.append|| +f.removeCellOverlays(k);null!=G&&f.addCellOverlay(k,b(G))}}catch(M){null!=window.console&&console.log("Error in icon for "+k.id+": "+M)}try{var D=a.getAttribute("geometry");if(null!=D){var D=JSON.parse(D),H=f.getCellGeometry(k);if(null!=H){H=H.clone();for(key in D){var J=parseFloat(D[key]);"dx"==key?H.x+=J:"dy"==key?H.y+=J:"dw"==key?H.width+=J:"dh"==key?H.height+=J:H[key]=parseFloat(D[key])}f.model.setGeometry(k,H)}}}catch(M){null!=window.console&&console.log("Error in icon for "+k.id+": "+M)}}}else if("model"== +a.nodeName){for(var E=a.firstChild;null!=E&&E.nodeType!=mxConstants.NODETYPE_ELEMENT;)E=E.nextSibling;null!=E&&(new mxCodec(a.firstChild)).decode(E,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(f.view.scale=parseFloat(a.getAttribute("scale"))),a.hasAttribute("dx")||a.hasAttribute("dy"))f.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(g=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a= a.nextSibling}}finally{e.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return c};EditorUi.prototype.getCopyFilename=function(a,b){var c=null!=a&&null!=a.getTitle()?a.getTitle():this.defaultFilename,d="",f=c.lastIndexOf(".");0<=f&&(d=c.substring(f),c=c.substring(0,f));if(b)var l=new Date,f=l.getFullYear(),e=l.getMonth()+1,g=l.getDate(),k=l.getHours(),z=l.getMinutes(),l=l.getSeconds(),c=c+(" "+(f+"-"+e+"-"+g+"-"+k+"-"+z+"-"+l));return c=mxResources.get("copyOf",[c])+d};EditorUi.prototype.fileLoaded= function(a,b){var c=this.getCurrentFile();this.fileLoadedError=null;this.setCurrentFile(null);var d=!1;this.hideDialog();null!=c&&(c.removeListener(this.descriptorChangedListener),c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var f=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);!b&&null!=window.location.hash&& 0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename")));this.editor.setStatus("");this.updateUi();b||this.showSplash()});if(null!=a)try{mxClient.IS_SF&&"min"==uiTheme&&(this.diagramContainer.style.visibility="");this.openingFile=!0;this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener); @@ -8526,18 +8529,18 @@ function(a){var b=mxUtils.parseXml(a.getData());if("mxlibrary"==b.documentElemen a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+="aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(Graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h, a.title||"",!0,!1,!0)}))})(b[e]);c=null!=c&&0<c.length?c:a.getTitle();var g=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){l(b,a)}));this.repositionLibrary(d);var p=g.parentNode.previousSibling;c=p.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&p.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var k=document.createElement("div");k.style.position="absolute";k.style.right="0px";k.style.top="0px";k.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode|| (k.style.backgroundColor="inherit");p.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title",mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.margin="0 3px";var n=null;if(".scratchpad"!=a.title||this.closableScratchpad)k.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)}); -null!=n?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var q=this.editor.graph,G=null,H=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),g,b,a,a.getMode());mxEvent.consume(c)}),E=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=G&&null!=G.parentNode&&G.parentNode.removeChild(G),G=m.cloneNode(!1),G.setAttribute("src",Editor.spinImage),G.setAttribute("title", -mxResources.get("saving")),G.style.cursor="default",G.style.marginRight="2px",G.style.marginTop="-2px",k.insertBefore(G,k.firstChild),p.style.paddingRight=18*k.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=G&&null!=G.parentNode&&(G.parentNode.removeChild(G),p.style.paddingRight=18*k.childNodes.length+"px")})):null==n&&(n=m.cloneNode(!1),n.setAttribute("src",IMAGE_PATH+"/download.png"),n.setAttribute("title",mxResources.get("save")),k.insertBefore(n,k.firstChild), -mxEvent.addListener(n,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==n||a.isModified()||(p.style.paddingRight=18*k.childNodes.length+"px",n.parentNode.removeChild(n),n=null)});mxEvent.consume(c)})),p.style.paddingRight=18*k.childNodes.length+"px")}),I=mxUtils.bind(this,function(a,c,d,l){a=q.cloneCells(mxUtils.sortCells(q.model.getTopmostCells(a)));for(var e=0;e<a.length;e++){var p=q.getCellGeometry(a[e]);null!=p&& -p.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,l||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=l&&(a.title=l);b.push(a);E(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),J=mxUtils.bind(this,function(a){if(q.isSelectionEmpty())q.getRubberband().isActive()?(q.getRubberband().execute(a),q.getRubberband().reset()):this.showError(mxResources.get("error"), -mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=q.getSelectionCells(),c=q.view.getBounds(b),d=q.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=q.view.translate.x;c.y-=q.view.translate.y;I(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&null!=q.graphHandler.shape&&(q.graphHandler.shape.node.style.visibility="hidden",g.style.backgroundColor="#f1f3f4",g.style.cursor="copy",q.panningManager.stop(), -q.autoScroll=!1,null!=q.graphHandler.guide&&q.graphHandler.guide.setVisible(!1),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){q.isMouseDown&&null!=q.panningManager&&null!=q.graphHandler&&(g.style.backgroundColor="",g.style.cursor="default",this.sidebar.showTooltips=!0,q.panningManager.stop(),q.graphHandler.reset(),q.isMouseDown=!1,q.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this, -function(a){q.isMouseDown&&null!=q.graphHandler.shape&&(q.graphHandler.shape.node.style.visibility="visible",g.style.backgroundColor="",g.style.cursor="",q.autoScroll=!0,null!=q.graphHandler.guide&&q.graphHandler.guide.setVisible(!0),null!=q.graphHandler.hint&&(q.graphHandler.hint.style.visibility="visible"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(a){g.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip(); -a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(a){g.style.cursor="";g.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,e,p,k,t,m,z,u){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,t),c)],c[0].vertex=!0,I(c,new mxRectangle(0, -0,k,t),a,mxEvent.isAltDown(a)?null:m.substring(0,m.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var B=!1,n=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var e=mxUtils.parseXml(c);if("mxlibrary"==e.documentElement.nodeName)try{var p=JSON.parse(mxUtils.getTextContent(e.documentElement));l(p,g);b=b.concat(p);E(a);this.spinner.stop();B=!0}catch(Q){}else if("mxfile"==e.documentElement.nodeName)try{for(var k=e.documentElement.getElementsByTagName("diagram"), -e=0;e<k.length;e++){var p=mxUtils.getTextContent(k[e]),t=this.stringToCells(Graph.decompress(p)),m=this.editor.graph.getBoundingBoxFromGeometry(t);I(t,new mxRectangle(0,0,m.width,m.height),a)}B=!0}catch(Q){null!=window.console&&console.log("error in drop handler:",Q)}}B||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))? -this.importVisio(u,function(a){n(a,"text/xml")},null,m):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,m)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?n(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):n(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"dragleave", -function(a){g.style.cursor="";g.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));k.insertBefore(m,k.firstChild);mxEvent.addListener(m,"click",H);mxEvent.addListener(g,"dblclick",function(a){mxEvent.getSource(a)==g&&H(a)});c=m.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));k.insertBefore(c,k.firstChild);mxEvent.addListener(c, +null!=n?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var x=this.editor.graph,q=null,G=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),g,b,a,a.getMode());mxEvent.consume(c)}),D=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q),q=m.cloneNode(!1),q.setAttribute("src",Editor.spinImage),q.setAttribute("title", +mxResources.get("saving")),q.style.cursor="default",q.style.marginRight="2px",q.style.marginTop="-2px",k.insertBefore(q,k.firstChild),p.style.paddingRight=18*k.childNodes.length+"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=q&&null!=q.parentNode&&(q.parentNode.removeChild(q),p.style.paddingRight=18*k.childNodes.length+"px")})):null==n&&(n=m.cloneNode(!1),n.setAttribute("src",IMAGE_PATH+"/download.png"),n.setAttribute("title",mxResources.get("save")),k.insertBefore(n,k.firstChild), +mxEvent.addListener(n,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==n||a.isModified()||(p.style.paddingRight=18*k.childNodes.length+"px",n.parentNode.removeChild(n),n=null)});mxEvent.consume(c)})),p.style.paddingRight=18*k.childNodes.length+"px")}),H=mxUtils.bind(this,function(a,c,d,l){a=x.cloneCells(mxUtils.sortCells(x.model.getTopmostCells(a)));for(var e=0;e<a.length;e++){var p=x.getCellGeometry(a[e]);null!=p&& +p.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,l||"",!0,!1,!1));a={xml:Graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))),w:c.width,h:c.height};null!=l&&(a.title=l);b.push(a);D(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),J=mxUtils.bind(this,function(a){if(x.isSelectionEmpty())x.getRubberband().isActive()?(x.getRubberband().execute(a),x.getRubberband().reset()):this.showError(mxResources.get("error"), +mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=x.getSelectionCells(),c=x.view.getBounds(b),d=x.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=x.view.translate.x;c.y-=x.view.translate.y;H(b,c)}mxEvent.consume(a)});mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(a){x.isMouseDown&&null!=x.panningManager&&null!=x.graphHandler.shape&&(x.graphHandler.shape.node.style.visibility="hidden",g.style.backgroundColor="#f1f3f4",g.style.cursor="copy",x.panningManager.stop(), +x.autoScroll=!1,null!=x.graphHandler.guide&&x.graphHandler.guide.setVisible(!1),null!=x.graphHandler.hint&&(x.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){x.isMouseDown&&null!=x.panningManager&&null!=x.graphHandler&&(g.style.backgroundColor="",g.style.cursor="default",this.sidebar.showTooltips=!0,x.panningManager.stop(),x.graphHandler.reset(),x.isMouseDown=!1,x.autoScroll=!0,J(a),mxEvent.consume(a))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this, +function(a){x.isMouseDown&&null!=x.graphHandler.shape&&(x.graphHandler.shape.node.style.visibility="visible",g.style.backgroundColor="",g.style.cursor="",x.autoScroll=!0,null!=x.graphHandler.guide&&x.graphHandler.guide.setVisible(!0),null!=x.graphHandler.hint&&(x.graphHandler.hint.style.visibility="visible"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(a){g.style.backgroundColor="#f1f3f4";a.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip(); +a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(a){g.style.cursor="";g.style.backgroundColor="";0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,e,p,k,t,m,z,u){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,k,t),c)],c[0].vertex=!0,H(c,new mxRectangle(0, +0,k,t),a,mxEvent.isAltDown(a)?null:m.substring(0,m.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var n=!1,B=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var e=mxUtils.parseXml(c);if("mxlibrary"==e.documentElement.nodeName)try{var p=JSON.parse(mxUtils.getTextContent(e.documentElement));l(p,g);b=b.concat(p);D(a);this.spinner.stop();n=!0}catch(Q){}else if("mxfile"==e.documentElement.nodeName)try{for(var k=e.documentElement.getElementsByTagName("diagram"), +e=0;e<k.length;e++){var p=mxUtils.getTextContent(k[e]),t=this.stringToCells(Graph.decompress(p)),m=this.editor.graph.getBoundingBoxFromGeometry(t);H(t,new mxRectangle(0,0,m.width,m.height),a)}n=!0}catch(Q){null!=window.console&&console.log("error in drop handler:",Q)}}n||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")}));null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=u&&null!=m&&(/(\.v(dx|sdx?))($|\?)/i.test(m)||/(\.vs(x|sx?))($|\?)/i.test(m))? +this.importVisio(u,function(a){B(a,"text/xml")},null,m):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,m)&&null!=u?this.parseFile(u,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?B(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):B(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(g,"dragleave", +function(a){g.style.cursor="";g.style.backgroundColor="";a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));k.insertBefore(m,k.firstChild);mxEvent.addListener(m,"click",G);mxEvent.addListener(g,"dblclick",function(a){mxEvent.getSource(a)==g&&G(a)});c=m.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));k.insertBefore(c,k.firstChild);mxEvent.addListener(c, "click",J);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c,mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),k.insertBefore(c,k.firstChild))}p.appendChild(k);p.style.paddingRight=18*k.childNodes.length+"px"}};EditorUi.prototype.addLibraryEntries= function(a,b){for(var c=0;c<a.length;c++){var d=a[c],f=d.data;if(null!=f){var f=this.convertDataUri(f),e="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==d.aspect&&(e+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(e+"image="+f,d.w,d.h,"",d.title||"",!1,!1,!0))}else null!=d.xml&&(f=this.stringToCells(Graph.decompress(d.xml)),0<f.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(f,d.w,d.h,d.title||"",!0,!1,!0)))}};EditorUi.prototype.getResource= function(a){return null!=a?a[mxLanguage]||a.main:null};EditorUi.prototype.footerHeight=0;"1"==urlParams.offline||EditorUi.isElectronApp||("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.createFooter=function(){return document.getElementById("geFooter")});EditorUi.initTheme=function(){"atlas"==uiTheme?(mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS? @@ -8559,7 +8562,7 @@ c.textarea.style.width="600px";c.textarea.style.height="380px";this.showDialog(c b),c.close());else{var f=document.createElement("a"),l=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),l=65==(g?parseInt(g[2],10):!1)?!1:l;if(l||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));l?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f);try{window.setTimeout(function(){URL.revokeObjectURL(f.href)}, 0),f.click(),f.parentNode.removeChild(f)}catch(C){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b=b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f), l=0;l<f;++l){for(var g=1024*l,k=Math.min(g+1024,d),m=Array(k-g),n=0;g<k;++n,++g)m[n]=c[g].charCodeAt(0);e[l]=new Uint8Array(m)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,g,k){g=null!=g?g:!1;k=null!=k?k:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)||"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var e=window.open("about:blank"); -null==e?mxUtils.popup(a,!0):(e.document.write(mxUtils.htmlEntities(a,!1)),e.document.close())}else this.openInNewWindow(a,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(f,mxUtils.bind(this,function(e){try{this.exportFile(a,b,c,d,f,e)}catch(D){this.handleError(D)}}))}catch(B){this.handleError(B)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,k,null,1<e,4<e&&(!g||6>e)?3:4, +null==e?mxUtils.popup(a,!0):(e.document.write(mxUtils.htmlEntities(a,!1)),e.document.close())}else this.openInNewWindow(a,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(f,mxUtils.bind(this,function(e){try{this.exportFile(a,b,c,d,f,e)}catch(F){this.handleError(F)}}))}catch(B){this.handleError(B)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,g,k,null,1<e,4<e&&(!g||6>e)?3:4, a,c,d);this.showDialog(b.container,420,1==e?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d||null==d.document?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+'"/></html>'),d.document.close())}else d=window.open("data:"+ b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null!=d&&null!=d.document||mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding="4px 2px 4px 2px"; @@ -8575,38 +8578,38 @@ this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("e f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type",k?"radio":"checkbox");k="geCheckbox-"+Editor.guid();f.id=k;null!=m&&f.setAttribute("name",m);c&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled","disabled");g&&(a.appendChild(f),c=document.createElement("label"),mxUtils.write(c,b),c.setAttribute("for",k),a.appendChild(c),e||mxUtils.br(a));return f};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+ ":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),f="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&&(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d, mxResources.get("custom")+"...");e.appendChild(d);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"==e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled", -"disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return c},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){l.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+ +"disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return c},getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){g.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+ "')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft="8px";d.style.marginRight="10px";d.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));d.appendChild(f);f=document.createElement("option"); -f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));d.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",l=null,l=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();l.style.padding= -mxClient.IS_FF?"4px 2px 4px 2px":"4px";l.style.marginLeft="4px";l.style.height="22px";l.style.width="22px";l.style.position="relative";l.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";l.className="geColorBtn";a.appendChild(l);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,k,m){var f=this.getCurrentFile(),l=[];d&&(l.push("lightbox=1"),"auto"!=a&&l.push("target="+ +f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));d.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value","frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",g=null,g=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();g.style.padding= +mxClient.IS_FF?"4px 2px 4px 2px":"4px";g.style.marginLeft="4px";g.style.height="22px";g.style.width="22px";g.style.position="relative";g.style.top=mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";g.className="geColorBtn";a.appendChild(g);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,k,m){var f=this.getCurrentFile(),l=[];d&&(l.push("lightbox=1"),"auto"!=a&&l.push("target="+ a),null!=b&&b!=mxConstants.NONE&&l.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&l.push("edit="+encodeURIComponent(e)),g&&l.push("layers=1"),this.editor.graph.foldingEnabled&&l.push("nav=1"));c&&null!=this.currentPage&&null!=this.pages&&this.currentPage!=this.pages[0]&&l.push("page-id="+this.currentPage.getId());a=!0;null!=k?c="#U"+encodeURIComponent(k):(f=this.getCurrentFile(),m||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0, null,null,null,null,null,null,!0):Graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),a=!1));a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&l.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?EditorUi.drawHost:"https://"+window.location.host+"/")+(0<l.length?"?"+l.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,g,k,m,n,z,B){this.getBasenames(); var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);n||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled;c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];k&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),f.resize=!0);m&&c.push("layers");0<c.length&&(n&&c.push("lightbox"),f.toolbar=c.join(" "));null!=z&&0<z.length&&(f.edit=z);null!=a?f.url=a:f.xml=this.getFileData(!0, null,null,null,null,!k);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";B(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":EditorUi.drawHost+"/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":window.VIEWER_URL?window.VIEWER_URL:EditorUi.drawHost+ -"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(e);var l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText= -"margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");e=g.cloneNode(!0);e.setAttribute("value","copy");l.appendChild(e);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));l.appendChild(k);mxUtils.br(l);l.appendChild(g);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));l.appendChild(k);var p=this.getCurrentFile(); -null==c&&null!=p&&p.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),l.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));e.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");f.appendChild(l);var m=this.addLinkSection(f),n=this.addCheckbox(f, -mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value="100%";f.appendChild(u);var q=this.addCheckbox(f,mxResources.get("fit"),!0),l=null!=this.pages&&1<this.pages.length,H=H=this.addCheckbox(f,mxResources.get("allPages"),l,!l),E=this.addCheckbox(f,mxResources.get("layers"),!0),I=this.addCheckbox(f,mxResources.get("lightbox"), -!0),J=this.addEditButton(f,I),F=J.getEditInput();F.style.marginBottom="16px";mxEvent.addListener(I,"change",function(){I.checked?F.removeAttribute("disabled"):F.setAttribute("disabled","disabled");F.checked&&I.checked?J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){d(g.checked?c:null,n.checked,u.value,m.getTarget(),m.getColor(),q.checked,H.checked,E.checked,I.checked,J.getLink())}),null,a, +"/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var e=document.createElement("h3");mxUtils.write(e,mxResources.get("html"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(e);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText= +"margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","type-embedhtmldialog");e=l.cloneNode(!0);e.setAttribute("value","copy");g.appendChild(e);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(l);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var p=this.getCurrentFile(); +null==c&&null!=p&&p.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")),g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));e.setAttribute("checked","checked");null==c&&l.setAttribute("disabled","disabled");f.appendChild(g);var m=this.addLinkSection(f),n=this.addCheckbox(f, +mxResources.get("zoom"),!0,null,!0);mxUtils.write(f,":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value="100%";f.appendChild(u);var q=this.addCheckbox(f,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,G=G=this.addCheckbox(f,mxResources.get("allPages"),g,!g),D=this.addCheckbox(f,mxResources.get("layers"),!0),H=this.addCheckbox(f,mxResources.get("lightbox"), +!0),J=this.addEditButton(f,H),E=J.getEditInput();E.style.marginBottom="16px";mxEvent.addListener(H,"change",function(){H.checked?E.removeAttribute("disabled"):E.setAttribute("disabled","disabled");E.checked&&H.checked?J.getEditSelect().removeAttribute("disabled"):J.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,f,mxUtils.bind(this,function(){d(l.checked?c:null,n.checked,u.value,m.getTarget(),m.getColor(),q.checked,G.checked,D.checked,H.checked,J.getLink())}),null,a, b);this.showDialog(a.container,340,384,!0,!0);e.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=document.createElement("h3");mxUtils.write(l,a||mxResources.get("link"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(l);var k=this.getCurrentFile(),l="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=k&&k.constructor==window.DriveFile&& !b){a=80;var l="https://desk.draw.io/support/solutions/articles/16000039384",p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;";var m=document.createElement("div");m.style.whiteSpace="normal";mxUtils.write(m,mxResources.get("linkAccountRequired"));p.appendChild(m);m=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(k.getId())}));m.style.marginTop= "12px";m.className="geBtn";p.appendChild(m);f.appendChild(p);m=document.createElement("a");m.style.paddingLeft="12px";m.style.color="gray";m.style.fontSize="11px";m.setAttribute("href","javascript:void(0);");mxUtils.write(m,mxResources.get("check"));p.appendChild(m);mxEvent.addListener(m,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null, mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var t=null,n=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),t=document.createElement("input"),t.setAttribute("type","text"),t.style.marginRight="16px",t.style.width="50px",t.style.marginLeft="6px",t.style.marginRight="16px",t.style.marginBottom="10px",t.value="100%",f.appendChild(t),mxUtils.write(f,mxResources.get("height")+":"), -n=document.createElement("input"),n.setAttribute("type","text"),n.style.width="50px",n.style.marginLeft="6px",n.style.marginBottom="10px",n.value=d+"px",f.appendChild(n),mxUtils.br(f);var u=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var q=null;if(null==k||k.constructor!=window.DriveFile||b)q=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(f,mxResources.get("lightbox"),!0),I=this.addEditButton(f,v),J=I.getEditInput(),F=this.addCheckbox(f,mxResources.get("layers"), -!0);F.style.marginLeft=J.style.marginLeft;F.style.marginBottom="16px";F.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(F.removeAttribute("disabled"),J.removeAttribute("disabled")):(F.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"));J.checked&&v.checked?I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(u.getTarget(),u.getColor(),null==q? -!0:q.checked,v.checked,I.getLink(),F.checked,null!=t?t.value:null,null!=n?n.value:null)}),null,mxResources.get("create"),l);this.showDialog(b.container,340,254+a,!0,!0);null!=t?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=document.createElement("h3");mxUtils.write(l, -mxResources.get("image"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(e?"10":"4")+"px";f.appendChild(l);if(e){mxUtils.write(f,mxResources.get("zoom")+":");var g=document.createElement("input");g.setAttribute("type","text");g.style.marginRight="16px";g.style.width="60px";g.style.marginLeft="4px";g.style.marginRight="12px";g.value=this.lastExportZoom||"100%";f.appendChild(g);mxUtils.write(f,mxResources.get("borderWidth")+":");var k=document.createElement("input");k.setAttribute("type", -"text");k.style.marginRight="16px";k.style.width="60px";k.style.marginLeft="4px";k.value=this.lastExportBorder||"0";f.appendChild(k);mxUtils.br(f)}var p=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=d?null:this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),!0),l=this.editor.graph,n=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),l.background==mxConstants.NONE||null==l.background);null!=n&&(n.style.marginBottom="16px");a= -new CustomDialog(this,f,mxUtils.bind(this,function(){var a=parseInt(g.value)/100||1,b=parseInt(k.value)||0;c(!p.checked,null!=m?m.checked:!1,null!=n?n.checked:!1,a,b)}),null,a,b);this.showDialog(a.container,300,(e?25:0)+(d?125:210),!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,g,k,m){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=this.editor.graph,p="jpeg"==m?196:300,t=document.createElement("h3");mxUtils.write(t,a);t.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px"; +n=document.createElement("input"),n.setAttribute("type","text"),n.style.width="50px",n.style.marginLeft="6px",n.style.marginBottom="10px",n.value=d+"px",f.appendChild(n),mxUtils.br(f);var u=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var q=null;if(null==k||k.constructor!=window.DriveFile||b)q=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var v=this.addCheckbox(f,mxResources.get("lightbox"),!0),H=this.addEditButton(f,v),J=H.getEditInput(),E=this.addCheckbox(f,mxResources.get("layers"), +!0);E.style.marginLeft=J.style.marginLeft;E.style.marginBottom="16px";E.style.marginTop="8px";mxEvent.addListener(v,"change",function(){v.checked?(E.removeAttribute("disabled"),J.removeAttribute("disabled")):(E.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"));J.checked&&v.checked?H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(u.getTarget(),u.getColor(),null==q? +!0:q.checked,v.checked,H.getLink(),E.checked,null!=t?t.value:null,null!=n?n.value:null)}),null,mxResources.get("create"),l);this.showDialog(b.container,340,254+a,!0,!0);null!=t?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var g=document.createElement("h3");mxUtils.write(g, +mxResources.get("image"));g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:"+(e?"10":"4")+"px";f.appendChild(g);if(e){mxUtils.write(f,mxResources.get("zoom")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="12px";l.value=this.lastExportZoom||"100%";f.appendChild(l);mxUtils.write(f,mxResources.get("borderWidth")+":");var k=document.createElement("input");k.setAttribute("type", +"text");k.style.marginRight="16px";k.style.width="60px";k.style.marginLeft="4px";k.value=this.lastExportBorder||"0";f.appendChild(k);mxUtils.br(f)}var p=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=d?null:this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),!0),g=this.editor.graph,n=d?null:this.addCheckbox(f,mxResources.get("transparentBackground"),g.background==mxConstants.NONE||null==g.background);null!=n&&(n.style.marginBottom="16px");a= +new CustomDialog(this,f,mxUtils.bind(this,function(){var a=parseInt(l.value)/100||1,b=parseInt(k.value)||0;c(!p.checked,null!=m?m.checked:!1,null!=n?n.checked:!1,a,b)}),null,a,b);this.showDialog(a.container,300,(e?25:0)+(d?125:210),!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,g,k,m){k=null!=k?k:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=this.editor.graph,p="jpeg"==m?196:300,t=document.createElement("h3");mxUtils.write(t,a);t.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px"; f.appendChild(t);mxUtils.write(f,mxResources.get("zoom")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px";n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="12px";n.value=this.lastExportZoom||"100%";f.appendChild(n);mxUtils.write(f,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.value=this.lastExportBorder|| "0";f.appendChild(u);mxUtils.br(f);var q=this.addCheckbox(f,mxResources.get("transparentBackground"),!1,null,null,"jpeg"!=m),v=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,l.isSelectionEmpty()),y=document.createElement("input");y.style.marginTop="16px";y.style.marginRight="8px";y.style.marginLeft="24px";y.setAttribute("disabled","disabled");y.setAttribute("type","checkbox");g&&(f.appendChild(y),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),p+=26,mxEvent.addListener(v,"change",function(){v.checked? -y.removeAttribute("disabled"):y.setAttribute("disabled","disabled")}));l.isSelectionEmpty()||(y.setAttribute("checked","checked"),y.defaultChecked=!0);var A=this.addCheckbox(f,mxResources.get("shadow"),l.shadowVisible),F=document.createElement("input");F.style.marginTop="16px";F.style.marginRight="8px";F.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||F.setAttribute("disabled","disabled");b&&(f.appendChild(F),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),p+= +y.removeAttribute("disabled"):y.setAttribute("disabled","disabled")}));l.isSelectionEmpty()||(y.setAttribute("checked","checked"),y.defaultChecked=!0);var A=this.addCheckbox(f,mxResources.get("shadow"),l.shadowVisible),E=document.createElement("input");E.style.marginTop="16px";E.style.marginRight="8px";E.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||E.setAttribute("disabled","disabled");b&&(f.appendChild(E),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),p+= 26);var M=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),k,null,null,"jpeg"!=m),K=null!=this.pages&&1<this.pages.length,S=this.addCheckbox(f,K?mxResources.get("allPages"):"",K,!K,null,"jpeg"!=m);S.style.marginLeft="24px";S.style.marginBottom="16px";K||(S.style.display="none");mxEvent.addListener(M,"change",function(){M.checked&&K?S.removeAttribute("disabled"):S.setAttribute("disabled","disabled")});k&&K||S.setAttribute("disabled","disabled");var L=document.createElement("select");L.style.maxWidth= "260px";L.style.marginLeft="8px";L.style.marginRight="10px";L.className="geBtn";a=document.createElement("option");a.setAttribute("value","auto");mxUtils.write(a,mxResources.get("automatic"));L.appendChild(a);a=document.createElement("option");a.setAttribute("value","blank");mxUtils.write(a,mxResources.get("openInNewWindow"));L.appendChild(a);a=document.createElement("option");a.setAttribute("value","self");mxUtils.write(a,mxResources.get("openInThisWindow"));L.appendChild(a);"svg"==m&&(mxUtils.write(f, -mxResources.get("links")+":"),f.appendChild(L),mxUtils.br(f),mxUtils.br(f),p+=26);c=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=n.value;e(n.value,q.checked,!v.checked,A.checked,M.checked,F.checked,u.value,y.checked,!S.checked,L.value)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll", -!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var l=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(g)}var k=this.addCheckbox(f,mxResources.get("fit"),!0),p=this.addCheckbox(f,mxResources.get("shadow"),l.shadowVisible&&d,!d),m=this.addCheckbox(f,c),n=this.addCheckbox(f,mxResources.get("lightbox"), -!0),u=this.addEditButton(f,n),q=u.getEditInput(),v=1<l.model.getChildCount(l.model.getRoot()),E=this.addCheckbox(f,mxResources.get("layers"),v,!v);E.style.marginLeft=q.style.marginLeft;E.style.marginBottom="12px";E.style.marginTop="8px";mxEvent.addListener(n,"change",function(){n.checked?(v&&E.removeAttribute("disabled"),q.removeAttribute("disabled")):(E.setAttribute("disabled","disabled"),q.setAttribute("disabled","disabled"));q.checked&&n.checked?u.getEditSelect().removeAttribute("disabled"):u.getEditSelect().setAttribute("disabled", -"disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(k.checked,p.checked,m.checked,n.checked,u.getLink(),E.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,g,k,m){function f(b){var f=" ",p="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ +mxResources.get("links")+":"),f.appendChild(L),mxUtils.br(f),mxUtils.br(f),p+=26);c=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=u.value;this.lastExportZoom=n.value;e(n.value,q.checked,!v.checked,A.checked,M.checked,E.checked,u.value,y.checked,!S.checked,L.value)}),null,c,d);this.showDialog(c.container,340,p,!0,!0,null,null,null,null,!0);n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll", +!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var g=this.editor.graph;if(null!=b){var l=document.createElement("h3");mxUtils.write(l,b);l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(l)}var k=this.addCheckbox(f,mxResources.get("fit"),!0),p=this.addCheckbox(f,mxResources.get("shadow"),g.shadowVisible&&d,!d),m=this.addCheckbox(f,c),n=this.addCheckbox(f,mxResources.get("lightbox"), +!0),u=this.addEditButton(f,n),q=u.getEditInput(),v=1<g.model.getChildCount(g.model.getRoot()),D=this.addCheckbox(f,mxResources.get("layers"),v,!v);D.style.marginLeft=q.style.marginLeft;D.style.marginBottom="12px";D.style.marginTop="8px";mxEvent.addListener(n,"change",function(){n.checked?(v&&D.removeAttribute("disabled"),q.removeAttribute("disabled")):(D.setAttribute("disabled","disabled"),q.setAttribute("disabled","disabled"));q.checked&&n.checked?u.getEditSelect().removeAttribute("disabled"):u.getEditSelect().setAttribute("disabled", +"disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(k.checked,p.checked,m.checked,n.checked,u.getLink(),D.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,g,k,m){function f(b){var f=" ",p="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ EditorUi.drawHost+"/?client=1&lightbox=1"+(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(l.width)+'" height="'+Math.round(l.height)+'"');k('<img src="'+b+'"'+m+(""!=p?' style="'+p+'"':"")+f+"/>")}var l=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");f(a)}),null,null,null, mxUtils.bind(this,function(a){m({message:mxResources.get("unknownError")})}),null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),l.width*l.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var p="";c&&(p="&w="+Math.round(2*l.width)+"&h="+Math.round(2*l.height));var n=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+p+"&xml="+encodeURIComponent(b));n.send(mxUtils.bind(this,function(){200<=n.getStatus()&&299>=n.getStatus()?f("data:image/png;base64,"+n.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})}; EditorUi.prototype.createEmbedSvg=function(a,b,c,d,e,g,k){var f=this.editor.graph.getSvg(),l=f.getElementsByTagName("a");if(null!=l)for(var p=0;p<l.length;p++){var m=l[p].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==l[p].getAttribute("target")&&l[p].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(f);if(c){var n=" ",t="";d&&(n="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('"+ @@ -8618,20 +8621,20 @@ this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(t){}f e=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==f&&(f=this.getFileData(!0));var e=c.toDataURL("image/png"),e=this.writeGraphModelToPng(e,"zTXt","mxGraphModel",atob(Graph.compress(f)));a(e.substring(e.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(z){null!= b&&b(z)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)}catch(y){null!=b&&b(y)}};EditorUi.prototype.getEmbeddedSvg=function(a,b,c,d,e,g,k){k=b.background;k==mxConstants.NONE&&(k=null);g=b.getSvg(k,null,null,null,null,g);b.shadowVisible&&b.addSvgShadow(g);null!=a&&g.setAttribute("content",a);null!=c&&g.setAttribute("resource",c);if(null!=e)this.convertImages(g,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(g)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,k,m,n){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop(); -try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,m):null,n)}catch(D){"Invalid image"==D.message?this.downloadFile(n):this.handleError(D)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,k)}catch(B){this.spinner.stop(),this.handleError(B)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var b=function(a){return a.replace(RegExp("^[\\s\"']+","g"), +try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,m):null,n)}catch(F){"Invalid image"==F.message?this.downloadFile(n):this.handleError(F)}}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,k)}catch(B){this.spinner.stop(),this.handleError(B)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var b=function(a){return a.replace(RegExp("^[\\s\"']+","g"), "").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,f={},e=mxUtils.bind(this,function(){if(0==d){for(var e=[c[0]],g=1;g<c.length;g++){var l=c[g].indexOf(")");e.push('url("');e.push(f[b(c[g].substring(0,l))]);e.push('"'+c[g].substring(l))}this.editor.resolvedFontCss=e.join("");a()}});if(0<c.length)for(var g=1;g<c.length;g++){var k=c[g].indexOf(")"),m=null,n=c[g].indexOf("format(",k);0<n&&(m=b(c[g].substring(n+7,c[g].indexOf(")",n))));mxUtils.bind(this,function(a){if(null== f[a]){f[a]=a;d++;var b="application/x-font-ttf";if("svg"==m||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==m||"embedded-opentype"==m||/(\.otf)($|\?)/i.test(a))b="application/x-font-opentype";else if("woff"==m||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==m||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==m||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==m||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c= -a;/^https?:\/\//.test(c)&&!this.editor.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){f[a]=b;d--;e()}),mxUtils.bind(this,function(a){d--;e()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[g].substring(0,k)),m)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,k,m,n,z,q,D,x,G){g=null!=g?g:!0;D=null!=D?D:this.editor.graph;x=null!=x?x:0;var f=n?null:D.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null== -f&&0==n&&(f="#ffffff");this.convertImages(D.getSvg(f,null,null,G,null,null!=k?k:!0,null,null,null,z),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){try{var l=document.createElement("canvas"),k=parseInt(c.getAttribute("width")),p=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=b&&(m=g?Math.min(1,Math.min(3*b/(4*p),b/k)):b/k);k=Math.ceil(m*k)+2*x;p=Math.ceil(m*p)+2*x;l.setAttribute("width",k);l.setAttribute("height",p);var n=l.getContext("2d");null!=f&&(n.beginPath(), -n.rect(0,0,k,p),n.fillStyle=f,n.fill());n.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(d,x/m,x/m);a(l)},0):(n.drawImage(d,x/m,x/m),a(l))}catch(L){null!=e&&e(L)}});d.onerror=function(a){null!=e&&e(a)};try{z&&this.editor.graph.addSvgShadow(c);var l=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(D, -c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(l)}catch(F){null!=e&&e(F)}}),c,q)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0,7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"!= +a;/^https?:\/\//.test(c)&&!this.editor.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){f[a]=b;d--;e()}),mxUtils.bind(this,function(a){d--;e()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[g].substring(0,k)),m)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,k,m,n,z,B,q,x,I){g=null!=g?g:!0;q=null!=q?q:this.editor.graph;x=null!=x?x:0;var f=n?null:q.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null== +f&&0==n&&(f="#ffffff");this.convertImages(q.getSvg(f,null,null,I,null,null!=k?k:!0,null,null,null,z),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this,function(){try{var l=document.createElement("canvas"),k=parseInt(c.getAttribute("width")),p=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=b&&(m=g?Math.min(1,Math.min(3*b/(4*p),b/k)):b/k);k=Math.ceil(m*k)+2*x;p=Math.ceil(m*p)+2*x;l.setAttribute("width",k);l.setAttribute("height",p);var n=l.getContext("2d");null!=f&&(n.beginPath(), +n.rect(0,0,k,p),n.fillStyle=f,n.fill());n.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(d,x/m,x/m);a(l)},0):(n.drawImage(d,x/m,x/m),a(l))}catch(L){null!=e&&e(L)}});d.onerror=function(a){null!=e&&e(a)};try{z&&this.editor.graph.addSvgShadow(c);var l=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(q, +c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(l)}catch(E){null!=e&&e(E)}}),c,B)};EditorUi.prototype.createImageUrlConverter=function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var f="http://"==d.substring(0,7)||"https://"==d.substring(0,8);f&&!navigator.onLine?d=c.svgBrokenImage.src:!f||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.editor.isCorsEnabledForUrl(d)?"chrome-extension://"!= d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null==d&&(d=this.createImageUrlConverter());var f=0,e=c||{};c=mxUtils.bind(this,function(c,g){for(var l=a.getElementsByTagName(c),k=0;k<l.length;k++)mxUtils.bind(this,function(c){try{if(null!=c){var l=d.convert(c.getAttribute(g));if(null!=l&&"data:"!=l.substring(0,5)){var k=e[l];null==k?(f++,this.convertImageToDataUri(l,function(d){null!=d&& -(e[l]=d,c.setAttribute(g,d));f--;0==f&&b(a)})):c.setAttribute(g,k)}else null!=l&&c.setAttribute(g,l)}}catch(G){}})(l[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g,k){try{var f=!k&&(d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a));e=null!=e?e:!0;var l=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9== +(e[l]=d,c.setAttribute(g,d));f--;0==f&&b(a)})):c.setAttribute(g,k)}else null!=l&&c.setAttribute(g,l)}}catch(I){}})(l[k])});c("image","xlink:href");c("img","src");0==f&&b(a)};EditorUi.prototype.loadUrl=function(a,b,c,d,e,g,k){try{var f=!k&&(d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a));e=null!=e?e:!0;var l=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9== document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]=String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}b(d)}}else null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()},a)}),function(a){null!=c&&c({message:mxResources.get("error")+" "+a.getStatus()})},f,this.timeout,function(){e&&null!= c&&c({code:App.ERROR_TIMEOUT,retry:l})})});l()}catch(z){null!=c&&c(z)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){return this.editor.isCorsEnabledForUrl(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){try{var c=!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b(this.svgBrokenImage.src)}),this.timeout);if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){window.clearTimeout(d);c&&b(this.createSvgDataUri(a.getText()))}),function(){window.clearTimeout(d);c&& b(this.svgBrokenImage.src)});else{var f=new Image,e=this;this.crossOriginImages&&(f.crossOrigin="anonymous");f.onload=function(){window.clearTimeout(d);if(c)try{var a=document.createElement("canvas"),g=a.getContext("2d");a.height=f.height;a.width=f.width;g.drawImage(f,0,0);b(a.toDataURL())}catch(C){b(e.svgBrokenImage.src)}};f.onerror=function(){window.clearTimeout(d);c&&b(e.svgBrokenImage.src)};f.src=a}}catch(A){b(this.svgBrokenImage.src)}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!= b?b:0;c=null!=c?c:0;var f=[];try{var g=this.editor.graph;if(null!=a&&0<a.length){g.model.beginUpdate();try{var l=mxUtils.parseXml(a),k=this.editor.extractGraphModel(l.documentElement,null!=this.pages);if(null!=k&&"mxfile"==k.nodeName&&null!=this.pages){var p=k.getElementsByTagName("diagram");if(1==p.length)k=mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){a={};var l=[],m=0;null!=this.pages&&1==this.pages.length&&this.isDiagramEmpty()&&(k=mxUtils.parseXml(Graph.decompress(mxUtils.getTextContent(p[0]))).documentElement, -d=!1,m=1);for(;m<p.length;m++){var n=p[m].getAttribute("id");p[m].removeAttribute("id");var q=this.updatePageRoot(new DiagramPage(p[m]));a[n]=p[m].getAttribute("id");var u=this.pages.length;null==q.getName()&&q.setName(mxResources.get("pageWithNumber",[u+1]));g.model.execute(new ChangePage(this,q,q,u,!0));l.push(q)}this.updatePageLinks(a,l)}}null!=k&&"mxGraphModel"===k.nodeName&&(f=g.importGraphModel(k,b,c,d))}finally{g.model.endUpdate()}}}catch(H){if(e)throw H;this.handleError(H)}return f};EditorUi.prototype.updatePageLinks= +d=!1,m=1);for(;m<p.length;m++){var n=p[m].getAttribute("id");p[m].removeAttribute("id");var q=this.updatePageRoot(new DiagramPage(p[m]));a[n]=p[m].getAttribute("id");var u=this.pages.length;null==q.getName()&&q.setName(mxResources.get("pageWithNumber",[u+1]));g.model.execute(new ChangePage(this,q,q,u,!0));l.push(q)}this.updatePageLinks(a,l)}}null!=k&&"mxGraphModel"===k.nodeName&&(f=g.importGraphModel(k,b,c,d))}finally{g.model.endUpdate()}}}catch(G){if(e)throw G;this.handleError(G)}return f};EditorUi.prototype.updatePageLinks= function(a,b){for(var c=0;c<b.length;c++)this.updatePageLinksForCell(a,b[c].root)};EditorUi.prototype.updatePageLinksForCell=function(a,b){var c=document.createElement("div"),d=this.editor.graph,f=d.getLinkForCell(b);null!=f&&"data:page/id,"==f.substring(0,13)&&d.setLinkForCell(b,this.updatePageLink(a,f));if(d.isHtmlLabel(b)){c.innerHTML=d.getLabel(b);for(var e=c.getElementsByTagName("a"),g=!1,l=0;l<e.length;l++)f=e[l].getAttribute("href"),null!=f&&"data:page/id,"==f.substring(0,13)&&(e[l].setAttribute("href", this.updatePageLink(a,f)),g=!0);g&&d.labelChanged(b,c.innerHTML)}for(l=0;l<d.model.getChildCount(b);l++)this.updatePageLinksForCell(a,d.model.getChildAt(b,l))};EditorUi.prototype.updatePageLink=function(a,b){var c=a[b.substring(b.indexOf(",")+1)];return null!=c?"data:page/id,"+c:null};EditorUi.prototype.isRemoteVisioFormat=function(a){return/(\.v(sd|dx))($|\?)/i.test(a)||/(\.vs(s|x))($|\?)/i.test(a)};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this, function(a){this.handleError(a)});var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(this.isRemoteVisioFormat(d)&&null!=VSD_CONVERT_URL){var f=new FormData;f.append("file1",a,d);var e=new XMLHttpRequest;e.open("POST",VSD_CONVERT_URL);e.responseType="blob";e.onreadystatechange=mxUtils.bind(this,function(){if(4==e.readyState)if(200<=e.status&&299>=e.status)try{this.doImportVisio(e.response,b,c,d)}catch(y){c(y)}else c({})});e.send(f)}else try{this.doImportVisio(a,b, @@ -8653,41 +8656,41 @@ a,k)):b=this.importXml(a,c,d,z);null!=m&&m(b)});"image"==b.substring(0,5)?(n=!1, a+";")])):/(\.*<graphml )/.test(a)?(f=!0,this.importGraphML(a,p)):null!=n&&null!=k&&(/(\.v(dx|sdx?))($|\?)/i.test(k)||/(\.vs(x|sx?))($|\?)/i.test(k))?(f=!0,this.importVisio(n,p)):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a,k)?(f=!0,this.parseFile(null!=n?n:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?p(a.responseText):null!=m&&m(null))}),k)):/(\.v(sd|dx))($|\?)/i.test(k)||/(\.vs(s|x))($|\?)/i.test(k)|| (l=this.insertTextAt(this.validateFileData(a),c,d,!0,null,z));f||null==m||m(l);return l};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,f,e,g;c<d;){f=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);b+="==";break}e=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2); b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(e&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&15)<<2|(g&192)>>6);b+= -"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,k,m,n,z,q,D){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;z=null!=z?z:this.maxImageBytes;var f=null!=b&&null!=c,l=!0,p=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var t=q||this.resampleThreshold,B=0;B<a.length;B++)if("image/"==a[B].type.substring(0,6)&&a[B].size>t){p=!0;break}var u=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize; -e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,l,k,p){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,l)),null):this.importFile(a,b,c,d,e,g,l,k,p,f,D)});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,B=t,u=[],x=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--B){this.spinner.stop();if(null!=m)m(u);else{var c=[];p.getModel().beginUpdate(); +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,k,m,n,z,q,F){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;z=null!=z?z:this.maxImageBytes;var f=null!=b&&null!=c,l=!0,p=!1;if(!mxClient.IS_CHROMEAPP&&null!=a)for(var t=q||this.resampleThreshold,B=0;B<a.length;B++)if("image/"==a[B].type.substring(0,6)&&a[B].size>t){p=!0;break}var u=mxUtils.bind(this,function(){var p=this.editor.graph,n=p.gridSize; +e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,l,k,p){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,l)),null):this.importFile(a,b,c,d,e,g,l,k,p,f,F)});g=null!=g?g:mxUtils.bind(this,function(a){p.setSelectionCells(a)});if(this.spinner.spin(document.body,mxResources.get("loading")))for(var t=a.length,B=t,u=[],x=mxUtils.bind(this,function(a,b){u[a]=b;if(0==--B){this.spinner.stop();if(null!=m)m(u);else{var c=[];p.getModel().beginUpdate(); try{for(var d=0;d<u.length;d++){var f=u[d]();null!=f&&(c=c.concat(f))}}finally{p.getModel().endUpdate()}}g(c)}}),v=0;v<t;v++)mxUtils.bind(this,function(f){var g=a[f];if(null!=g){var m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==k||k(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var m=a.target.result,t=m.indexOf(","),B=decodeURIComponent(escape(atob(m.substring(t+1)))),u=mxUtils.parseXml(B),B=u.getElementsByTagName("svg");if(0<B.length){var B=B[0], -v=D?null:B.getAttribute("content");null!=v&&"<"!=v.charAt(0)&&"%"!=v.charAt(0)&&(v=unescape(window.atob?atob(v):Base64.decode(v,!0)));null!=v&&"%"==v.charAt(0)&&(v=decodeURIComponent(v));null==v||"<mxfile "!==v.substring(0,8)&&"<mxGraphModel "!==v.substring(0,14)?x(f,mxUtils.bind(this,function(){try{if(m.substring(0,t+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var l=a[0],k=parseFloat(l.getAttribute("width")),z=parseFloat(l.getAttribute("height")),q=l.getAttribute("viewBox");if(null== -q||0==q.length)l.setAttribute("viewBox","0 0 "+k+" "+z);else if(isNaN(k)||isNaN(z)){var B=q.split(" ");3<B.length&&(k=parseFloat(B[2]),z=parseFloat(B[3]))}m=this.createSvgDataUri(mxUtils.getXml(l));var x=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,z)),v=e(m,g.type,b+f*n,c+f*n,Math.max(1,Math.round(k*x)),Math.max(1,Math.round(z*x)),g.name);if(isNaN(k)||isNaN(z)){var D=new Image;D.onload=mxUtils.bind(this,function(){k=Math.max(1,D.width);z=Math.max(1,D.height);v[0].geometry.width=k;v[0].geometry.height= -z;l.setAttribute("viewBox","0 0 "+k+" "+z);m=this.createSvgDataUri(mxUtils.getXml(l));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));p.setCellStyles("image",m,[v[0]])});D.src=this.createSvgDataUri(mxUtils.getXml(l))}return v}}}catch(ra){}return null})):x(f,mxUtils.bind(this,function(){return e(v,"text/xml",b+f*n,c+f*n,0,0,g.name)}))}else x(f,mxUtils.bind(this,function(){return null}))}else{B=!1;if("image/png"==g.type){var y=D?null:this.extractGraphModelFromPng(a.target.result); -if(null!=y&&0<y.length){var C=new Image;C.src=a.target.result;x(f,mxUtils.bind(this,function(){return e(y,"text/xml",b+f*n,c+f*n,C.width,C.height,g.name)}));B=!0}}B||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k, +v=F?null:B.getAttribute("content");null!=v&&"<"!=v.charAt(0)&&"%"!=v.charAt(0)&&(v=unescape(window.atob?atob(v):Base64.decode(v,!0)));null!=v&&"%"==v.charAt(0)&&(v=decodeURIComponent(v));null==v||"<mxfile "!==v.substring(0,8)&&"<mxGraphModel "!==v.substring(0,14)?x(f,mxUtils.bind(this,function(){try{if(m.substring(0,t+1),null!=u){var a=u.getElementsByTagName("svg");if(0<a.length){var l=a[0],k=parseFloat(l.getAttribute("width")),z=parseFloat(l.getAttribute("height")),q=l.getAttribute("viewBox");if(null== +q||0==q.length)l.setAttribute("viewBox","0 0 "+k+" "+z);else if(isNaN(k)||isNaN(z)){var B=q.split(" ");3<B.length&&(k=parseFloat(B[2]),z=parseFloat(B[3]))}m=this.createSvgDataUri(mxUtils.getXml(l));var x=Math.min(1,Math.min(d/Math.max(1,k)),d/Math.max(1,z)),v=e(m,g.type,b+f*n,c+f*n,Math.max(1,Math.round(k*x)),Math.max(1,Math.round(z*x)),g.name);if(isNaN(k)||isNaN(z)){var F=new Image;F.onload=mxUtils.bind(this,function(){k=Math.max(1,F.width);z=Math.max(1,F.height);v[0].geometry.width=k;v[0].geometry.height= +z;l.setAttribute("viewBox","0 0 "+k+" "+z);m=this.createSvgDataUri(mxUtils.getXml(l));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));p.setCellStyles("image",m,[v[0]])});F.src=this.createSvgDataUri(mxUtils.getXml(l))}return v}}}catch(ra){}return null})):x(f,mxUtils.bind(this,function(){return e(v,"text/xml",b+f*n,c+f*n,0,0,g.name)}))}else x(f,mxUtils.bind(this,function(){return null}))}else{B=!1;if("image/png"==g.type){var y=F?null:this.extractGraphModelFromPng(a.target.result); +if(null!=y&&0<y.length){var E=new Image;E.src=a.target.result;x(f,mxUtils.bind(this,function(){return e(y,"text/xml",b+f*n,c+f*n,E.width,E.height,g.name)}));B=!0}}B||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"),mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(k){this.resizeImage(k, a.target.result,mxUtils.bind(this,function(k,p,m){x(f,mxUtils.bind(this,function(){if(null!=k&&k.length<z){var t=l&&this.isResampleImage(a.target.result,q)?Math.min(1,Math.min(d/p,d/m)):1;return e(k,g.type,b+f*n,c+f*n,Math.round(p*t),Math.round(m*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),l,d,q)}),mxUtils.bind(this,function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*n,c+f*n,240,160,g.name, function(a){x(f,function(){return a})})});/(\.v(dx|sdx?))($|\?)/i.test(g.name)||/(\.vs(x|sx?))($|\?)/i.test(g.name)?e(null,g.type,b+f*n,c+f*n,240,160,g.name,function(a){x(f,function(){return a})},g):"image"==g.type.substring(0,5)?m.readAsDataURL(g):m.readAsText(g)}})(v)});if(p){p=[];for(B=0;B<a.length;B++)p.push(a[B]);a=p;this.confirmImageResize(function(a){l=a;u()},n)}else u()};EditorUi.prototype.confirmImageResize=function(a,b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause(): function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,f=function(d,f){if(d||b)mxSettings.setResizeImages(d?f:null),mxSettings.save();c();a(f)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){f(a,!0)},function(a){f(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container, 340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):f(!1,d)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var f=new XMLHttpRequest;f.open("POST",OPEN_URL);f.onreadystatechange=function(){b(f)};f.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length>b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width), -l=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var k=Math.max(f/e,l/e);if(1<k){var p=Math.round(f/k),m=Math.round(l/k),n=document.createElement("canvas");n.width=p;n.height=m;n.getContext("2d").drawImage(a,0,0,p,m);var t=n.toDataURL();if(t.length<b.length){var q=document.createElement("canvas");q.width=p;q.height=m;var u=q.toDataURL();t!==u&&(b=t,f=p,l=m)}}}catch(E){}c(b,f,l)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var e=d,g=0;8>g;g++)e=1==(e&1)?3988292384^e>>>1:e>>> -1,EditorUi.prototype.crcTable[d]=e;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var f=0;f<d;f++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+f))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=k;k+=b;return a.substring(c,k)}function g(a){a=f(a,4);return a.charCodeAt(3)+ -(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function l(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var k=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,k);do{var p=g(a);if("IDAT"==f(a,4)){e=a.substring(0,k-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0): -"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=l(c.length)+b+c+l(d^4294967295);e+=a.substring(k-8,a.length);break}e+=a.substring(k-8,k-4+p);f(a,p);f(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(v){if(null!= -c)c(v);else throw v;}};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(F){a.handleError(F)}return c};var c=this.clearDefaultStyle;this.clearDefaultStyle=function(){c.apply(this, +k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var l=Math.max(f/e,k/e);if(1<l){var p=Math.round(f/l),m=Math.round(k/l),n=document.createElement("canvas");n.width=p;n.height=m;n.getContext("2d").drawImage(a,0,0,p,m);var t=n.toDataURL();if(t.length<b.length){var q=document.createElement("canvas");q.width=p;q.height=m;var u=q.toDataURL();t!==u&&(b=t,f=p,k=m)}}}catch(D){}c(b,f,k)};EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var e=d,g=0;8>g;g++)e=1==(e&1)?3988292384^e>>>1:e>>> +1,EditorUi.prototype.crcTable[d]=e;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var f=0;f<d;f++)a=EditorUi.prototype.crcTable[(a^b.charCodeAt(c+f))&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,e){function f(a,b){var c=l;l+=b;return a.substring(c,l)}function g(a){a=f(a,4);return a.charCodeAt(3)+ +(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var l=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,l);do{var p=g(a);if("IDAT"==f(a,4)){e=a.substring(0,l-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0): +"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(l-8,a.length);break}e+=a.substring(l-8,l-4+p);f(a,p);f(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){return Editor.extractGraphModelFromPng(a)};EditorUi.prototype.loadImage=function(a,b,c){try{var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a}catch(v){if(null!= +c)c(v);else throw v;}};var k=EditorUi.prototype.init;EditorUi.prototype.init=function(){mxStencilRegistry.allowEval=mxStencilRegistry.allowEval&&!this.isOfflineApp();"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){var c=!1;try{a.handleCustomLink(b),c=!0}catch(E){a.handleError(E)}return c};var c=this.clearDefaultStyle;this.clearDefaultStyle=function(){c.apply(this, arguments)};this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)}; var e=b.addClickHandler;b.addClickHandler=function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null!=c&&b.isCustomLink(c)&&(mxEvent.isTouchEvent(a)||!mxEvent.isPopupTrigger(a))&&b.customLinkClicked(c)&&mxEvent.consume(a);null!=f&&f(a,c)};e.call(this,a,c,d)};k.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, 360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var g=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:g.apply(this,arguments)};var m=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var f=c.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))m.apply(this, arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(f),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var n=this.actions.get("print");n.setEnabled(!mxClient.IS_IOS||!navigator.standalone);n.visible=n.isEnabled();if(!this.editor.chromeless||this.editor.editable){var q=function(){window.setTimeout(function(){z.innerHTML=" "; z.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(this.altShiftActions[83]="synchronize");mxClient.IS_IE|| b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,f=0;f<c.types.length;f++)if("text/"===c.types[f].substring(0,5)){d=!0;break}if(!d){var e=c.items;for(index in e){var g=e[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,f,e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0, -6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Y){}}),!1);var z=document.createElement("div");z.style.position="absolute";z.style.whiteSpace="nowrap";z.style.overflow="hidden";z.style.display="block";z.contentEditable=!0;mxUtils.setOpacity(z,0);z.style.width="1px";z.style.height="1px";z.innerHTML=" ";var B=!1;this.keyHandler.bindControlKey(88,null); +6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Z){}}),!1);var z=document.createElement("div");z.style.position="absolute";z.style.whiteSpace="nowrap";z.style.overflow="hidden";z.style.display="block";z.contentEditable=!0;mxUtils.setOpacity(z,0);z.style.width="1px";z.style.height="1px";z.innerHTML=" ";var B=!1;this.keyHandler.bindControlKey(88,null); this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||B||(z.style.left=b.container.scrollLeft+10+"px",z.style.top=b.container.scrollTop+10+"px",b.container.appendChild(z), B=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){z.focus();document.execCommand("selectAll",!1,null)},0):(z.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!B||224!=c&&17!=c&&91!=c||(B=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),z.parentNode.removeChild(z),null==this.dialog&&mxUtils.clearSelection())}),0)}));mxEvent.addListener(z, "copy",mxUtils.bind(this,function(a){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(z),q()}catch(J){this.handleError(J)}}));mxEvent.addListener(z,"cut",mxUtils.bind(this,function(a){if(b.isEnabled())try{mxClipboard.copy(b),this.copyCells(z,!0),q()}catch(J){this.handleError(J)}}));mxEvent.addListener(z,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(z.innerHTML=" ",z.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a, -z);z.innerHTML=" "}),0))}),!0);var D=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==z?!0:D.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave", +z);z.innerHTML=" "}),0))}),!0);var F=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==z?!0:F.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave", function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,f, e,g){b.insertImage(a,e,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var f=this.maxImageSize,f=Math.min(1,Math.min(f/Math.max(1,d)),f/Math.max(1, a));b.insertImage(decodeURIComponent(c),d*f,a*f)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){n=document.createElement("div"); -n.style.position="absolute";n.style.top="95px";n.style.left="250px";n.style.width="2000px";n.style.height="30px";n.style.background="whiteSmoke";document.body.appendChild(n);var x=document.createElement("div");x.style.position="absolute";x.style.top="125px";x.style.left="220px";x.style.width="30px";x.style.height="1000px";x.style.background="whiteSmoke";document.body.appendChild(x);var G=document.createElement("div");G.style.position="absolute";G.style.top="95px";G.style.left="220px";G.style.width= -"30px";G.style.height="30px";G.style.background="whiteSmoke";document.body.appendChild(G);this.vRuler=new mxRuler(this.editor.graph,x,!0);this.hRuler=new mxRuler(this.editor.graph,n,!1)}if("1"==urlParams.styledev){n=document.getElementById("geFooter");null!=n&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility= +n.style.position="absolute";n.style.top="95px";n.style.left="250px";n.style.width="2000px";n.style.height="30px";n.style.background="whiteSmoke";document.body.appendChild(n);var x=document.createElement("div");x.style.position="absolute";x.style.top="125px";x.style.left="220px";x.style.width="30px";x.style.height="1000px";x.style.background="whiteSmoke";document.body.appendChild(x);var I=document.createElement("div");I.style.position="absolute";I.style.top="95px";I.style.left="220px";I.style.width= +"30px";I.style.height="30px";I.style.background="whiteSmoke";document.body.appendChild(I);this.vRuler=new mxRuler(this.editor.graph,x,!0);this.hRuler=new mxRuler(this.editor.graph,n,!1)}if("1"==urlParams.styledev){n=document.getElementById("geFooter");null!=n&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility= "hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),n.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c|| -"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var H=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:H.apply(this,arguments)}}n=document.getElementById("geInfo");null!=n&&n.parentNode.removeChild(n);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var E=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=E&&(E.parentNode.removeChild(E), -E=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==E&&(!mxClient.IS_IE||10<document.documentMode)&&(E=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=E&&(E.parentNode.removeChild(E),E=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), +"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var G=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:G.apply(this,arguments)}}n=document.getElementById("geInfo");null!=n&&n.parentNode.removeChild(n);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var D=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=D&&(D.parentNode.removeChild(D), +D=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==D&&(!mxClient.IS_IE||10<document.documentMode)&&(D=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=D&&(D.parentNode.removeChild(D),D=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), d=b.view.translate,f=b.view.scale,e=c.x/f-d.x,g=c.y/f-d.y;mxEvent.isAltDown(a)&&(g=e=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,e,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,e,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, "text/html")){var l=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var p=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(l=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(p=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var m=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,e,g,!0,p,null,m))});p&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){m= a;n()},mxEvent.isControlDown(a)):n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",e,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k, @@ -8722,19 +8725,19 @@ this.editor.isChromelessView()?this.editor.graph.isLightboxView()&&this.lightbox function(a){var b=null,c=!1,d=!1,f=null,e=mxUtils.bind(this,function(a,b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,e);mxEvent.addListener(window,"message",mxUtils.bind(this,function(e){if(e.source==(window.opener||window.parent)){var k=e.data,l=mxUtils.bind(this,function(a){if(null!=a&&"function"===typeof a.charAt&& "<"!=a.charAt(0))try{"data:image/png;base64,"==a.substring(0,22)?a=this.extractGraphModelFromPng(a):"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&&(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=Graph.decompress(a)))}catch(S){}return a});if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(K){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey): k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&&(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1); -l.init();return}if("draft"==k.action){var m=l(k.xml);this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),m,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore? -mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(K){g.postMessage(JSON.stringify({event:"draft",error:K.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,m=1==k.enableSearch,p=1==k.enableCustomTemp,l=new NewDialog(this,!1,null!=k.callback, -mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,e,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,m?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null, -"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,p?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("textContent"==k.action){l=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:l, +l.init();return}if("draft"==k.action){var p=l(k.xml);this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),p,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore? +mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(K){g.postMessage(JSON.stringify({event:"draft",error:K.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,p=1==k.enableSearch,m=1==k.enableCustomTemp,l=new NewDialog(this,!1,null!=k.callback, +mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback?g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,e,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.remoteInvoke("getRecentDiagrams",null,null,a,function(){a(null,"Network Error!")})}):null,p?mxUtils.bind(this,function(a,b){this.remoteInvoke("searchDiagrams",[a],null,b,function(){b(null, +"Network Error!")})}):null,mxUtils.bind(this,function(a,b,c){g.postMessage(JSON.stringify({event:"template",docUrl:a,info:b,name:c}),"*")}),null,null,m?mxUtils.bind(this,function(a){this.remoteInvoke("getCustomTemplates",null,null,a,function(){a({},0)})}):null);this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("textContent"==k.action){l=this.getDiagramTextContent();g.postMessage(JSON.stringify({event:"textContent",data:l, message:k}),"*");return}if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message));null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var n=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null== -k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var q=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var t=this.editor.graph,u=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(q);g.postMessage(JSON.stringify(b),"*")}),v=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage); -"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(Graph.compress(q))));t!=this.editor.graph&&t.container.parentNode.removeChild(t.container);u(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var t=this.createTemporaryGraph(t.getStylesheet()),y=t.getGlobalVariable,F=this.pages[0];t.getGlobalVariable=function(a){return"page"==a?F.getName():"pagenumber"==a?1:y.apply(this,arguments)};document.body.appendChild(t.container);t.model.setRoot(F.root)}this.exportToCanvas(mxUtils.bind(this, -function(a){v(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){v(null)}),null,null,k.scale,null,null,null,t)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?u("data:image/png;base64,"+a.getText()):v(null)}),mxUtils.bind(this,function(){v(null)}))}}else{null!=k.xml&&0<k.xml.length&& -this.setFileData(k.xml);n=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),n.xml=mxUtils.getXml(l),n.data=this.getFileData(null,null,!0,null,null,null,l),n.format=k.format;else if("html"==k.format)q=this.editor.getGraphXml(),n.data=this.getHtml(q,this.editor.graph),n.xml=mxUtils.getXml(q),n.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&& +k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var t=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph,u=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(t);g.postMessage(JSON.stringify(b),"*")}),v=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage); +"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(Graph.compress(t))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);u(a)});if(this.isExportToCanvas()){if(null!=this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),y=q.getGlobalVariable,E=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?E.getName():"pagenumber"==a?1:y.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(E.root)}this.exportToCanvas(mxUtils.bind(this, +function(a){v(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){v(null)}),null,null,k.scale,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+("xmlpng"==k.format?"1":"0")+(null!=k.scale?"&scale="+k.scale:"")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(t)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?u("data:image/png;base64,"+a.getText()):v(null)}),mxUtils.bind(this,function(){v(null)}))}}else{null!=k.xml&&0<k.xml.length&& +this.setFileData(k.xml);n=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),n.xml=mxUtils.getXml(l),n.data=this.getFileData(null,null,!0,null,null,null,l),n.format=k.format;else if("html"==k.format)t=this.editor.getGraphXml(),n.data=this.getHtml(t,this.editor.graph),n.xml=mxUtils.getXml(t),n.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&& (l=null);n.xml=this.getFileData(!0);n.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1),"xmlsvg"==k.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(l), mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(n),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0),this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));n.data=this.createSvgDataUri(l)}g.postMessage(JSON.stringify(n),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified= -k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(m=document.createElement("span"),mxUtils.write(m,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan), -this.buttonContainer.appendChild(m),this.embedFilenameSpan=m),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):k.xml;else{"remoteInvokeReady"==k.action?this.handleRemoteInvokeReady(g):"remoteInvoke"==k.action?this.handleRemoteInvoke(k):"remoteInvokeResponse"==k.action?this.handleRemoteInvokeResponse(k):g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}var A=mxUtils.bind(this,function(e,k){c=!0;try{a(e,k)}catch(T){this.handleError(T)}c=!1;null!=urlParams.modified&& +k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(p=document.createElement("span"),mxUtils.write(p,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight="12px",this.buttonContainer.style.paddingTop="6px",this.buttonContainer.style.right="25px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan), +this.buttonContainer.appendChild(p),this.embedFilenameSpan=p),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):k.xml;else{"remoteInvokeReady"==k.action?this.handleRemoteInvokeReady(g):"remoteInvoke"==k.action?this.handleRemoteInvoke(k):"remoteInvokeResponse"==k.action?this.handleRemoteInvokeResponse(k):g.postMessage(JSON.stringify({error:"unknownMessage",data:JSON.stringify(k)}),"*");return}}var A=mxUtils.bind(this,function(e,k){c=!0;try{a(e,k)}catch(T){this.handleError(T)}c=!1;null!=urlParams.modified&& this.editor.setStatus("");var l=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});f=l();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=l();if(d!=f&&!c){var e=this.createLoadMessage("autosave");e.xml=d;d=JSON.stringify(e);(window.opener||window.parent).postMessage(d,"*")}f=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged", b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged",b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}); null!=k&&"function"===typeof k.substring&&"data:application/vnd.visio;base64,"==k.substring(0,34)?(l="0M8R4KGxGuE"==k.substring(34,45)?"raw.vsd":"raw.vsdx",this.importVisio(this.base64ToBlob(k.substring(k.indexOf(",")+1)),function(a){A(a,e)},mxUtils.bind(this,function(a){this.handleError(a)}),l)):null!=k&&"function"===typeof k.substring&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(k,"")?this.parseFile(new Blob([k],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4== @@ -8743,19 +8746,19 @@ this.menubar){var a=document.createElement("div");a.style.display="inline-block" "click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)):(mxUtils.write(b,mxResources.get("save")),b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)"),mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()})),a.appendChild(b),"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize= "12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b)));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight="20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()})); a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}),null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()}; -EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),e=0;e<a.length;e++){var f=new window[a[e].layout](c);if(null!=a[e].config)for(var g in a[e].config)f[g]=a[e].config[g];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==d.length?null:d)},e==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],e=[],f={};if(0<c.length){var g={},k=null,l=null,m=null,n=null,q=null,x=null,G="",H="auto",E="auto",I=null, -J=null,F=40,M=40,K=100,S=0,L=this.editor.graph;L.getGraphBounds();for(var T=function(){null!=b?b(ka):(L.setSelectionCells(ka),L.scrollCellToVisible(L.getSelectionCell()))},Y=L.getFreeInsertPoint(),da=Y.x,aa=Y.y,Y=aa,ha=null,U="auto",x=null,Z=[],ca=null,P=null,W=0;W<c.length&&"#"==c[W].charAt(0);){a=c[W];for(W++;W<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[W].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[W].substring(1)),W++;if("#"!=a.charAt(1)){var fa=a.indexOf(":");if(0<fa){var R=mxUtils.trim(a.substring(1, -fa)),N=mxUtils.trim(a.substring(fa+1));"label"==R?ha=L.sanitizeHtml(N):"style"==R?k=N:"parentstyle"==R?n=N:"stylename"==R&&0<N.length&&"-"!=N?m=N:"styles"==R&&0<N.length&&"-"!=N?l=JSON.parse(N):"identity"==R&&0<N.length&&"-"!=N?q=N:"parent"==R&&0<N.length&&"-"!=N?x=N:"namespace"==R&&0<N.length&&"-"!=N?G=N:"width"==R?H=N:"height"==R?E=N:"left"==R&&0<N.length?I=N:"top"==R&&0<N.length?J=N:"ignore"==R?P=N.split(","):"connect"==R?Z.push(JSON.parse(N)):"link"==R?ca=N:"padding"==R?S=parseFloat(N):"edgespacing"== -R?F=parseFloat(N):"nodespacing"==R?M=parseFloat(N):"levelspacing"==R?K=parseFloat(N):"layout"==R&&(U=N)}}}if(null==c[W])throw Error(mxResources.get("invalidOrMissingFile"));var ea=this.editor.csvToArray(c[W]),R=fa=null;if(null!=q||null!=x)for(var Q=0;Q<ea.length;Q++)q==ea[Q]&&(fa=Q),x==ea[Q]&&(R=Q);null==ha&&(ha="%"+ea[0]+"%");if(null!=Z)for(var X=0;X<Z.length;X++)null==g[Z[X].to]&&(g[Z[X].to]={});L.model.beginUpdate();try{for(Q=W+1;Q<c.length;Q++){var V=this.editor.csvToArray(c[Q]);if(null==V){var ja= -40<c[Q].length?c[Q].substring(0,40)+"...":c[Q];throw Error(Q+" ("+ja+") "+mxResources.get("containsValidationErrors"));}if(V.length==ea.length){var O=null,ba=null!=fa?G+V[fa]:null;null!=ba&&(O=L.model.getCell(ba));var q=null!=O,ga=new mxCell(ha,new mxGeometry(da,Y,0,0),k||"whiteSpace=wrap;html=1;");ga.vertex=!0;ga.id=ba;for(var ia=0;ia<V.length;ia++)L.setAttributeForCell(ga,ea[ia],V[ia]);if(null!=m&&null!=l){var ra=l[ga.getAttribute(m)];null!=ra&&(ga.style=ra)}L.setAttributeForCell(ga,"placeholders", -"1");ga.style=L.replacePlaceholders(ga,ga.style);q&&(L.model.setGeometry(O,ga.geometry),L.model.setStyle(O,ga.style),0>mxUtils.indexOf(e,O)&&e.push(O));O=ga;if(!q)for(X=0;X<Z.length;X++)g[Z[X].to][O.getAttribute(Z[X].to)]=O;null!=ca&&"link"!=ca&&(L.setLinkForCell(O,O.getAttribute(ca)),L.setAttributeForCell(O,ca,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[O]));var ta=this.editor.graph.getPreferredSizeForCell(O);O.vertex&&(null!=I&&null!=O.getAttribute(I)&&(O.geometry.x=da+parseFloat(O.getAttribute(I))), -null!=J&&null!=O.getAttribute(J)&&(O.geometry.y=aa+parseFloat(O.getAttribute(J))),"@"==H.charAt(0)&&null!=O.getAttribute(H.substring(1))?O.geometry.width=parseFloat(O.getAttribute(H.substring(1))):O.geometry.width="auto"==H?ta.width+S:parseFloat(H),"@"==E.charAt(0)&&null!=O.getAttribute(E.substring(1))?O.geometry.height=parseFloat(O.getAttribute(E.substring(1))):O.geometry.height="auto"==E?ta.height+S:parseFloat(E),Y+=O.geometry.height+M);q?(null==f[ba]&&(f[ba]=[]),f[ba].push(O)):(x=null!=R?L.model.getCell(G+ -V[R]):null,d.push(O),null!=x?(x.style=L.replacePlaceholders(x,n),L.addCell(O,x)):e.push(L.addCell(O)))}}for(var la=e.slice(),ka=e.slice(),X=0;X<Z.length;X++)for(var ua=Z[X],Q=0;Q<e.length;Q++){var O=e[Q],va=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){L.setAttributeForCell(b,c.from,null);for(var d=d.split(","),e=0;e<d.length;e++){var f=g[c.to][d[e]];if(null!=f){var k=c.label;null!=c.fromlabel&&(k=(b.getAttribute(c.fromlabel)||"")+(k||""));null!=c.tolabel&&(k=(k||"")+ -(f.getAttribute(c.tolabel)||""));ka.push(L.insertEdge(null,null,k||"",c.invert?f:a,c.invert?a:f,c.style||L.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:f,la)}}}});va(O,O,ua);if(null!=f[O.id])for(ia=0;ia<f[O.id].length;ia++)va(O,f[O.id][ia],ua)}if(null!=P)for(Q=0;Q<d.length;Q++)for(O=d[Q],ia=0;ia<P.length;ia++)L.setAttributeForCell(O,mxUtils.trim(P[ia]),null);if(0<e.length){var ma=new mxParallelEdgeLayout(L);ma.spacing=F;var sa=function(){0<ma.spacing&&ma.execute(L.getDefaultParent());for(var a= -0;a<e.length;a++){var b=L.getCellGeometry(e[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==H&&(b.width=Math.round(L.snap(b.width)));"auto"==E&&(b.height=Math.round(L.snap(b.height)))}};if("["==U.charAt(0)){var wa=T;L.view.validate();this.executeLayoutList(JSON.parse(U),function(){sa();wa()});T=null}else if("circle"==U){var pa=new mxCircleLayout(L);pa.resetEdges=!1;var xa=pa.isVertexIgnored;pa.isVertexIgnored=function(a){return xa.apply(this,arguments)||0>mxUtils.indexOf(e,a)}; +EditorUi.prototype.executeLayoutList=function(a,b){for(var c=this.editor.graph,d=c.getSelectionCells(),e=0;e<a.length;e++){var f=new window[a[e].layout](c);if(null!=a[e].config)for(var g in a[e].config)f[g]=a[e].config[g];this.executeLayout(function(){f.execute(c.getDefaultParent(),0==d.length?null:d)},e==a.length-1,b)}};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[],e=[],f={};if(0<c.length){var g={},k=null,l=null,m=null,n=null,q=null,x=null,I="",G="auto",D="auto",H=null, +J=null,E=40,M=40,K=100,S=0,L=this.editor.graph;L.getGraphBounds();for(var T=function(){null!=b?b(ka):(L.setSelectionCells(ka),L.scrollCellToVisible(L.getSelectionCell()))},Z=L.getFreeInsertPoint(),ea=Z.x,ba=Z.y,Z=ba,ha=null,U="auto",x=null,Y=[],aa=null,ja=null,O=0;O<c.length&&"#"==c[O].charAt(0);){a=c[O];for(O++;O<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[O].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[O].substring(1)),O++;if("#"!=a.charAt(1)){var W=a.indexOf(":");if(0<W){var R=mxUtils.trim(a.substring(1, +W)),P=mxUtils.trim(a.substring(W+1));"label"==R?ha=L.sanitizeHtml(P):"style"==R?k=P:"parentstyle"==R?n=P:"stylename"==R&&0<P.length&&"-"!=P?m=P:"styles"==R&&0<P.length&&"-"!=P?l=JSON.parse(P):"identity"==R&&0<P.length&&"-"!=P?q=P:"parent"==R&&0<P.length&&"-"!=P?x=P:"namespace"==R&&0<P.length&&"-"!=P?I=P:"width"==R?G=P:"height"==R?D=P:"left"==R&&0<P.length?H=P:"top"==R&&0<P.length?J=P:"ignore"==R?ja=P.split(","):"connect"==R?Y.push(JSON.parse(P)):"link"==R?aa=P:"padding"==R?S=parseFloat(P):"edgespacing"== +R?E=parseFloat(P):"nodespacing"==R?M=parseFloat(P):"levelspacing"==R?K=parseFloat(P):"layout"==R&&(U=P)}}}if(null==c[O])throw Error(mxResources.get("invalidOrMissingFile"));var X=this.editor.csvToArray(c[O]),R=W=null;if(null!=q||null!=x)for(var Q=0;Q<X.length;Q++)q==X[Q]&&(W=Q),x==X[Q]&&(R=Q);null==ha&&(ha="%"+X[0]+"%");if(null!=Y)for(var V=0;V<Y.length;V++)null==g[Y[V].to]&&(g[Y[V].to]={});L.model.beginUpdate();try{for(Q=O+1;Q<c.length;Q++){var ca=this.editor.csvToArray(c[Q]);if(null==ca){var fa= +40<c[Q].length?c[Q].substring(0,40)+"...":c[Q];throw Error(Q+" ("+fa+") "+mxResources.get("containsValidationErrors"));}if(ca.length==X.length){var N=null,ga=null!=W?I+ca[W]:null;null!=ga&&(N=L.model.getCell(ga));var q=null!=N,da=new mxCell(ha,new mxGeometry(ea,Z,0,0),k||"whiteSpace=wrap;html=1;");da.vertex=!0;da.id=ga;for(var ia=0;ia<ca.length;ia++)L.setAttributeForCell(da,X[ia],ca[ia]);if(null!=m&&null!=l){var ra=l[da.getAttribute(m)];null!=ra&&(da.style=ra)}L.setAttributeForCell(da,"placeholders", +"1");da.style=L.replacePlaceholders(da,da.style);q&&(L.model.setGeometry(N,da.geometry),L.model.setStyle(N,da.style),0>mxUtils.indexOf(e,N)&&e.push(N));N=da;if(!q)for(V=0;V<Y.length;V++)g[Y[V].to][N.getAttribute(Y[V].to)]=N;null!=aa&&"link"!=aa&&(L.setLinkForCell(N,N.getAttribute(aa)),L.setAttributeForCell(N,aa,null));L.fireEvent(new mxEventObject("cellsInserted","cells",[N]));var ta=this.editor.graph.getPreferredSizeForCell(N);N.vertex&&(null!=H&&null!=N.getAttribute(H)&&(N.geometry.x=ea+parseFloat(N.getAttribute(H))), +null!=J&&null!=N.getAttribute(J)&&(N.geometry.y=ba+parseFloat(N.getAttribute(J))),"@"==G.charAt(0)&&null!=N.getAttribute(G.substring(1))?N.geometry.width=parseFloat(N.getAttribute(G.substring(1))):N.geometry.width="auto"==G?ta.width+S:parseFloat(G),"@"==D.charAt(0)&&null!=N.getAttribute(D.substring(1))?N.geometry.height=parseFloat(N.getAttribute(D.substring(1))):N.geometry.height="auto"==D?ta.height+S:parseFloat(D),Z+=N.geometry.height+M);q?(null==f[ga]&&(f[ga]=[]),f[ga].push(N)):(x=null!=R?L.model.getCell(I+ +ca[R]):null,d.push(N),null!=x?(x.style=L.replacePlaceholders(x,n),L.addCell(N,x)):e.push(L.addCell(N)))}}for(var la=e.slice(),ka=e.slice(),V=0;V<Y.length;V++)for(var ua=Y[V],Q=0;Q<e.length;Q++){var N=e[Q],va=mxUtils.bind(this,function(a,b,c){var d=b.getAttribute(c.from);if(null!=d){L.setAttributeForCell(b,c.from,null);for(var d=d.split(","),e=0;e<d.length;e++){var f=g[c.to][d[e]];if(null!=f){var k=c.label;null!=c.fromlabel&&(k=(b.getAttribute(c.fromlabel)||"")+(k||""));null!=c.tolabel&&(k=(k||"")+ +(f.getAttribute(c.tolabel)||""));ka.push(L.insertEdge(null,null,k||"",c.invert?f:a,c.invert?a:f,c.style||L.createCurrentEdgeStyle()));mxUtils.remove(c.invert?a:f,la)}}}});va(N,N,ua);if(null!=f[N.id])for(ia=0;ia<f[N.id].length;ia++)va(N,f[N.id][ia],ua)}if(null!=ja)for(Q=0;Q<d.length;Q++)for(N=d[Q],ia=0;ia<ja.length;ia++)L.setAttributeForCell(N,mxUtils.trim(ja[ia]),null);if(0<e.length){var ma=new mxParallelEdgeLayout(L);ma.spacing=E;var sa=function(){0<ma.spacing&&ma.execute(L.getDefaultParent());for(var a= +0;a<e.length;a++){var b=L.getCellGeometry(e[a]);b.x=Math.round(L.snap(b.x));b.y=Math.round(L.snap(b.y));"auto"==G&&(b.width=Math.round(L.snap(b.width)));"auto"==D&&(b.height=Math.round(L.snap(b.height)))}};if("["==U.charAt(0)){var wa=T;L.view.validate();this.executeLayoutList(JSON.parse(U),function(){sa();wa()});T=null}else if("circle"==U){var pa=new mxCircleLayout(L);pa.resetEdges=!1;var xa=pa.isVertexIgnored;pa.isVertexIgnored=function(a){return xa.apply(this,arguments)||0>mxUtils.indexOf(e,a)}; this.executeLayout(function(){pa.execute(L.getDefaultParent());sa()},!0,T);T=null}else if("horizontaltree"==U||"verticaltree"==U||"auto"==U&&ka.length==2*e.length-1&&1==la.length){L.view.validate();var qa=new mxCompactTreeLayout(L,"horizontaltree"==U);qa.levelDistance=M;qa.edgeRouting=!1;qa.resetEdges=!1;this.executeLayout(function(){qa.execute(L.getDefaultParent(),0<la.length?la[0]:null)},!0,T);T=null}else if("horizontalflow"==U||"verticalflow"==U||"auto"==U&&1==la.length){L.view.validate();var na= -new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);na.intraCellSpacing=M;na.parallelEdgeSpacing=F;na.interRankCellSpacing=K;na.disableEdgeStyle=!1;this.executeLayout(function(){na.execute(L.getDefaultParent(),ka);L.moveCells(ka,da,aa)},!0,T);T=null}else if("organic"==U||"auto"==U&&ka.length>e.length){L.view.validate();var oa=new mxFastOrganicLayout(L);oa.forceConstant=3*M;oa.resetEdges=!1;var ya=oa.isVertexIgnored;oa.isVertexIgnored=function(a){return ya.apply(this, -arguments)||0>mxUtils.indexOf(e,a)};ma=new mxParallelEdgeLayout(L);ma.spacing=F;this.executeLayout(function(){oa.execute(L.getDefaultParent());sa()},!0,T);T=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=T&&T()}}catch(za){this.handleError(za)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b= +new mxHierarchicalLayout(L,"horizontalflow"==U?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);na.intraCellSpacing=M;na.parallelEdgeSpacing=E;na.interRankCellSpacing=K;na.disableEdgeStyle=!1;this.executeLayout(function(){na.execute(L.getDefaultParent(),ka);L.moveCells(ka,ea,ba)},!0,T);T=null}else if("organic"==U||"auto"==U&&ka.length>e.length){L.view.validate();var oa=new mxFastOrganicLayout(L);oa.forceConstant=3*M;oa.resetEdges=!1;var ya=oa.isVertexIgnored;oa.isVertexIgnored=function(a){return ya.apply(this, +arguments)||0>mxUtils.indexOf(e,a)};ma=new mxParallelEdgeLayout(L);ma.spacing=E;this.executeLayout(function(){oa.execute(L.getDefaultParent());sa()},!0,T);T=null}}this.hideDialog()}finally{L.model.endUpdate()}null!=T&&T()}}catch(za){this.handleError(za)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b= window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c, !0);this.showDialog(a.container,480,130,!0,!0);a.init()};var m=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=m.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height- 2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2*a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d= @@ -8774,13 +8777,13 @@ this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionP c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("find").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("layers").setEnabled("hidden"!=this.diagramContainer.style.visibility);this.actions.get("outline").setEnabled("hidden"!=this.diagramContainer.style.visibility); this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var q=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){this.editUpdateListener&&(this.editor.undoManager.removeListener(this.editUpdateListener),this.editUpdateListener= null);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog=null);q.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var k= -a.getFileData(!0,null,null,null,null,!0),l=f.getGraphBounds(),m=Math.floor(l.width*e/f.view.scale),n=Math.floor(l.height*e/f.view.scale);k.length<=MAX_REQUEST_SIZE&&m*n<MAX_AREA?(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()?a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+m+"&h="+n+"&border="+g+"&xml="+encodeURIComponent(k))}):"png"==c?a.exportImage(e, +a.getFileData(!0,null,null,null,null,!0),l=f.getGraphBounds(),m=Math.floor(l.width*e/f.view.scale),p=Math.floor(l.height*e/f.view.scale);k.length<=MAX_REQUEST_SIZE&&m*p<MAX_AREA?(a.hideDialog(),"png"!=c&&"jpg"!=c&&"jpeg"!=c||!a.isExportToCanvas()?a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+m+"&h="+p+"&border="+g+"&xml="+encodeURIComponent(k))}):"png"==c?a.exportImage(e, null==d||"none"==d,!0,!1,!1,g,!0,!1):a.exportImage(e,!1,!0,!1,!1,g,!0,!1,"jpeg")):mxUtils.alert(mxResources.get("drawingTooLarge"))}});EditorUi.prototype.updateEditReferences=function(a){for(var b=0;b<a.changes.length;b++){var c=a.changes[b];if(null!=c&&c.constructor==mxChildChange&&null!=c.child){var d=c.child;if(null!=d.source&&null!=d.source.id){var e=this.getFutureCellForEdit(c.model,a,d.source.id);e!=d.source&&(d.source=e)}null!=d.target&&null!=d.target.id&&(c=this.getFutureCellForEdit(c.model, a,d.target.id),c!=d.target&&(d.target=c))}}};EditorUi.prototype.getFutureCellForEdit=function(a,b,c){var d=a.getCell(c);if(null==d)for(var e=b.changes.length-1;0<=e;e--){var f=b.changes[e];if(f.constructor==mxChildChange&&null!=f.child&&f.child.id==c){a.contains(f.previous)&&(d=f.child);break}}return d};EditorUi.prototype.getDiagramTextContent=function(){this.editor.graph.setEnabled(!1);var a=this.editor.graph,b="";if(null!=this.pages)for(var c=0;c<this.pages.length;c++){var d=a;this.currentPage!= this.pages[c]&&(d=this.createTemporaryGraph(a.getStylesheet()),d.model.setRoot(this.pages[c].root));b+=this.pages[c].getName()+" "+d.getIndexableText()+" "}else b=a.getIndexableText();this.editor.graph.setEnabled(!0);return b};EditorUi.prototype.showRemotelyStoredLibrary=function(a){var b={},c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxUtils.htmlEntities(a));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px"; c.appendChild(d);var e=document.createElement("div");e.style.cssText="border:1px solid lightGray;overflow: auto;height:300px";e.innerHTML='<img src="/images/spin.gif">';var f={};try{var g=mxSettings.getCustomLibraries();for(a=0;a<g.length;a++){var k=g[a];if("R"==k.substring(0,1)){var m=JSON.parse(decodeURIComponent(k.substring(1)));f[m[0]]={id:m[0],title:m[1],downloadUrl:m[2]}}}}catch(z){}this.remoteInvoke("getCustomLibraries",null,null,function(a){e.innerHTML="";if(0==a.length)e.innerHTML='<div style="text-align:center;padding-top:20px;color:gray;">'+ mxUtils.htmlEntities(mxResources.get("noLibraries"))+"</div>";else for(var c=0;c<a.length;c++){var d=a[c];f[d.id]&&(b[d.id]=d);var g=this.addCheckbox(e,d.title,f[d.id]);(function(a,c){mxEvent.addListener(c,"change",function(){this.checked?b[a.id]=a:delete b[a.id]})})(d,g)}},function(){this.handleError(null,mxResources.get("errorLoadingFile"))});c.appendChild(e);c=new CustomDialog(this,c,mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"));var a=0,c;for(c in b)null== -f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(G){this.handleError(G,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c]));for(c in f)b[c]||this.closeLibrary(new RemoteLibrary(this,null,f[c]));0==a&&this.spinner.stop()}), +f[c]&&(a++,mxUtils.bind(this,function(b){this.remoteInvoke("getFileContent",[b.downloadUrl],null,mxUtils.bind(this,function(c){a--;0==a&&this.spinner.stop();try{this.loadLibrary(new RemoteLibrary(this,c,b))}catch(I){this.handleError(I,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(){a--;0==a&&this.spinner.stop();this.handleError(null,mxResources.get("errorLoadingFile"))}))})(b[c]));for(c in f)b[c]||this.closeLibrary(new RemoteLibrary(this,null,f[c]));0==a&&this.spinner.stop()}), null,null,"https://desk.draw.io/support/solutions/articles/16000092763");this.showDialog(c.container,340,375,!0,!0)};EditorUi.prototype.remoteInvokableFns={getDiagramTextContent:{isAsync:!1}};EditorUi.prototype.remoteInvokeCallbacks=[];EditorUi.prototype.remoteInvokeQueue=[];EditorUi.prototype.handleRemoteInvokeReady=function(a){this.remoteWin=a;for(var b=0;b<this.remoteInvokeQueue.length;b++)a.postMessage(this.remoteInvokeQueue[b],"*");this.remoteInvokeQueue=[]};EditorUi.prototype.handleRemoteInvokeResponse= function(a){var b=a.msgMarkers,c=this.remoteInvokeCallbacks[b.callbackId];a.error?c.error&&c.error(a.error.errResp):c.callback&&c.callback.apply(this,a.resp);this.remoteInvokeCallbacks[b.callbackId]=null};EditorUi.prototype.remoteInvoke=function(a,b,c,d,e){c=c||{};c.callbackId=this.remoteInvokeCallbacks.length;this.remoteInvokeCallbacks.push({callback:d,error:e});a=JSON.stringify({event:"remoteInvoke",funtionName:a,functionArgs:b,msgMarkers:c});null!=this.remoteWin?this.remoteWin.postMessage(a,"*"): this.remoteInvokeQueue.push(a)};EditorUi.prototype.handleRemoteInvoke=function(a){var b=mxUtils.bind(this,function(b,c){var d={event:"remoteInvokeResponse",msgMarkers:a.msgMarkers};null!=c?d.error={errResp:c}:null!=b&&(d.resp=b);this.remoteWin.postMessage(JSON.stringify(d),"*")});try{var c=a.funtionName,d=this.remoteInvokableFns[c];if(null!=d&&"function"===typeof this[c]){var e=a.functionArgs;Array.isArray(e)||(e=[]);if(d.isAsync)e.push(function(){b(Array.prototype.slice.apply(arguments))}),e.push(function(a){b(null, @@ -8792,23 +8795,23 @@ var CommentsWindow=function(a,c,b,d,e,g){function k(){for(var a=C.getElementsByT "geCommentEditTxtArea";l.style.minHeight=f.offsetHeight+"px";l.value=a.content;b.insertBefore(l,f);var m=document.createElement("div");m.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){d?(b.parentNode.removeChild(b),k()):e();t=null});n.className="geCommentEditBtn";m.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=l.value;mxUtils.write(f,a.content);e();c(a);t=null});mxEvent.addListener(l,"keydown",mxUtils.bind(this, function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";m.appendChild(p);b.insertBefore(m,f);g.style.display="none";f.style.display="none";l.focus()}function n(b,c){c.innerHTML="";var d=a.timeSince(new Date(b.modifiedDate));null==d&&(d=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo", [d],"{1} ago"))}function q(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src="/images/spin.gif";a.appendChild(b);a.busyImg=b}function f(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function l(a){a.style.border="";a.removeChild(a.busyImg)}function p(b,c,d,e,g){function B(a,c,d){var e=document.createElement("li");e.className="geCommentAction";var f=document.createElement("a");f.className="geCommentActionLnk";mxUtils.write(f,a);e.appendChild(f);mxEvent.addListener(f, -"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});M.appendChild(e);d&&(e.style.display="none")}function D(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=F;a(b);return{pdiv:d,replies:c}}function y(c,d,g,k,n){function t(){q(u);b.addReply(x,function(a){x.id=a;b.replies.push(x);l(u);g&&g()},function(b){z();f(u);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},k,n)}function z(){m(x, -u,function(a){t()},!0)}var B=D().pdiv,x=a.newComment(c,a.getCurrentUser());x.pCommentId=b.id;null==b.replies&&(b.replies=[]);var u=p(x,b.replies,B,e+1);d?z():t()}if(g||!b.isResolved){z.style.display="none";var F=document.createElement("div");F.className="geCommentContainer";F.setAttribute("data-commentId",b.id);F.style.marginLeft=20*e+5+"px";b.isResolved&&"dark"!=uiTheme&&(F.style.backgroundColor="ghostWhite");var A=document.createElement("div");A.className="geCommentHeader";var G=document.createElement("img"); -G.className="geCommentUserImg";G.src=b.user.pictureUrl||Editor.userImage;A.appendChild(G);G=document.createElement("div");G.className="geCommentHeaderTxt";A.appendChild(G);var E=document.createElement("div");E.className="geCommentUsername";mxUtils.write(E,b.user.displayName||"");G.appendChild(E);E=document.createElement("div");E.className="geCommentDate";E.setAttribute("data-commentId",b.id);n(b,E);G.appendChild(E);F.appendChild(A);A=document.createElement("div");A.className="geCommentTxt";mxUtils.write(A, -b.content||"");F.appendChild(A);A=document.createElement("div");A.className="geCommentActions";var M=document.createElement("ul");M.className="geCommentActionsList";A.appendChild(M);u||0!=e&&!v||B(mxResources.get("reply"),function(){y("",!0)},b.isResolved);G=a.getCurrentUser();null==G||G.id!=b.user.id||u||(B(mxResources.get("edit"),function(){function c(){m(b,F,function(){q(F);b.editComment(b.content,function(){l(F)},function(b){f(F);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})} -c()},b.isResolved),B(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){q(F);b.deleteComment(function(){for(var a=D(b).replies,d=0;d<a.length;d++)C.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}z.style.display=0==C.getElementsByTagName("div").length?"block":"none"},function(b){f(F);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||0!=e||B(b.isResolved?mxResources.get("reopen"): -mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=D(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var l=e[g].querySelectorAll(".geCommentAction"),m=0;m<l.length;m++)l[m]!=c.parentNode&&(l[m].style.display=d);x||(e[g].style.display="none")}k()} -b.isResolved?y(mxResources.get("reOpened")+": ",!0,c,!1,!0):y(mxResources.get("markedAsResolved"),!1,c,!0)});F.appendChild(A);null!=d?C.insertBefore(F,d.nextSibling):C.appendChild(F);for(d=0;null!=b.replies&&d<b.replies.length;d++)A=b.replies[d],A.isResolved=b.isResolved,p(A,b.replies,null,e+1,g);null!=t&&(t.comment.id==b.id?(g=b.content,b.content=t.comment.content,m(b,F,t.saveCallback,t.deleteOnCancel),b.content=g):null==t.comment.id&&t.comment.pCommentId==b.id&&(C.appendChild(t.div),m(t.comment, -t.div,t.saveCallback,t.deleteOnCancel)));return F}}var u=!a.canComment(),v=a.canReplyToReplies(),t=null,A=document.createElement("div");A.className="geCommentsWin";A.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var y=EditorUi.compactUi?"26px":"30px",C=document.createElement("div");C.className="geCommentsList";C.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;C.style.bottom=parseInt(y)+7+"px";A.appendChild(C);var z=document.createElement("span"); +"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});M.appendChild(e);d&&(e.style.display="none")}function F(){function a(b){c.push(d);if(null!=b.replies)for(var e=0;e<b.replies.length;e++)d=d.nextSibling,a(b.replies[e])}var c=[],d=y;a(b);return{pdiv:d,replies:c}}function E(c,d,g,k,n){function t(){q(u);b.addReply(x,function(a){x.id=a;b.replies.push(x);l(u);g&&g()},function(b){z();f(u);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},k,n)}function z(){m(x, +u,function(a){t()},!0)}var B=F().pdiv,x=a.newComment(c,a.getCurrentUser());x.pCommentId=b.id;null==b.replies&&(b.replies=[]);var u=p(x,b.replies,B,e+1);d?z():t()}if(g||!b.isResolved){z.style.display="none";var y=document.createElement("div");y.className="geCommentContainer";y.setAttribute("data-commentId",b.id);y.style.marginLeft=20*e+5+"px";b.isResolved&&"dark"!=uiTheme&&(y.style.backgroundColor="ghostWhite");var A=document.createElement("div");A.className="geCommentHeader";var I=document.createElement("img"); +I.className="geCommentUserImg";I.src=b.user.pictureUrl||Editor.userImage;A.appendChild(I);I=document.createElement("div");I.className="geCommentHeaderTxt";A.appendChild(I);var D=document.createElement("div");D.className="geCommentUsername";mxUtils.write(D,b.user.displayName||"");I.appendChild(D);D=document.createElement("div");D.className="geCommentDate";D.setAttribute("data-commentId",b.id);n(b,D);I.appendChild(D);y.appendChild(A);A=document.createElement("div");A.className="geCommentTxt";mxUtils.write(A, +b.content||"");y.appendChild(A);A=document.createElement("div");A.className="geCommentActions";var M=document.createElement("ul");M.className="geCommentActionsList";A.appendChild(M);u||0!=e&&!v||B(mxResources.get("reply"),function(){E("",!0)},b.isResolved);I=a.getCurrentUser();null==I||I.id!=b.user.id||u||(B(mxResources.get("edit"),function(){function c(){m(b,y,function(){q(y);b.editComment(b.content,function(){l(y)},function(b){f(y);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})} +c()},b.isResolved),B(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){q(y);b.deleteComment(function(){for(var a=F(b).replies,d=0;d<a.length;d++)C.removeChild(a[d]);for(d=0;d<c.length;d++)if(c[d]==b){c.splice(d,1);break}z.style.display=0==C.getElementsByTagName("div").length?"block":"none"},function(b){f(y);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));u||0!=e||B(b.isResolved?mxResources.get("reopen"): +mxResources.get("resolve"),function(a){function c(){var c=a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var d=b.isResolved?"none":"",e=F(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<e.length;g++){e[g].style.backgroundColor=f;for(var l=e[g].querySelectorAll(".geCommentAction"),m=0;m<l.length;m++)l[m]!=c.parentNode&&(l[m].style.display=d);x||(e[g].style.display="none")}k()} +b.isResolved?E(mxResources.get("reOpened")+": ",!0,c,!1,!0):E(mxResources.get("markedAsResolved"),!1,c,!0)});y.appendChild(A);null!=d?C.insertBefore(y,d.nextSibling):C.appendChild(y);for(d=0;null!=b.replies&&d<b.replies.length;d++)A=b.replies[d],A.isResolved=b.isResolved,p(A,b.replies,null,e+1,g);null!=t&&(t.comment.id==b.id?(g=b.content,b.content=t.comment.content,m(b,y,t.saveCallback,t.deleteOnCancel),b.content=g):null==t.comment.id&&t.comment.pCommentId==b.id&&(C.appendChild(t.div),m(t.comment, +t.div,t.saveCallback,t.deleteOnCancel)));return y}}var u=!a.canComment(),v=a.canReplyToReplies(),t=null,A=document.createElement("div");A.className="geCommentsWin";A.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var y=EditorUi.compactUi?"26px":"30px",C=document.createElement("div");C.className="geCommentsList";C.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;C.style.bottom=parseInt(y)+7+"px";A.appendChild(C);var z=document.createElement("span"); z.style.cssText="display:none;padding-top:10px;text-align:center;";mxUtils.write(z,mxResources.get("noCommentsFound"));var B=document.createElement("div");B.className="geToolbarContainer geCommentsToolbar";B.style.height=y;B.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";B.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(B.style.filter="none");y=document.createElement("a");y.className="geButton";mxClient.IS_QUIRKS&&(y.style.filter= -"none");if(!u){var D=y.cloneNode();D.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';D.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(D,"click",function(b){function c(){m(d,e,function(b){q(e);a.addComment(b,function(a){b.id=a;G.push(b);l(e)},function(b){f(e);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},!0)}var d=a.newComment("",a.getCurrentUser()),e=p(d,G,null,0);c();b.preventDefault(); -mxEvent.consume(b)});B.appendChild(D)}D=y.cloneNode();D.innerHTML='<img src="/images/check.png" style="width: 16px; padding: 2px;">';D.setAttribute("title",mxResources.get("showResolved"));var x=!1;"dark"==uiTheme&&(D.style.filter="invert(100%)");mxEvent.addListener(D,"click",function(a){this.className=(x=!x)?"geButton geCheckedBtn":"geButton";H();a.preventDefault();mxEvent.consume(a)});B.appendChild(D);a.commentsRefreshNeeded()&&(D=y.cloneNode(),D.innerHTML='<img src="/images/update16.png" style="width: 16px; padding: 2px;">', -D.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(D.style.filter="invert(100%)"),mxEvent.addListener(D,"click",function(a){H();a.preventDefault();mxEvent.consume(a)}),B.appendChild(D));a.commentsSaveNeeded()&&(y=y.cloneNode(),y.innerHTML='<img src="/images/save.png" style="width: 20px; padding: 2px;">',y.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&(y.style.filter="invert(100%)"),mxEvent.addListener(y,"click",function(a){g();a.preventDefault();mxEvent.consume(a)}), -B.appendChild(y));A.appendChild(B);var G=[],H=mxUtils.bind(this,function(){if(null!=t){t.div=t.div.cloneNode(!0);var b=t.div.querySelector(".geCommentEditTxtArea"),c=t.div.querySelector(".geCommentEditBtns");t.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}C.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="/images/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";v=a.canReplyToReplies();a.commentsSupported()? -a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});C.innerHTML="";C.appendChild(z);z.style.display="block";G=a;for(a=0;a<G.length;a++)b(G[a].replies),p(G[a],G,null,0,x);null!=t&&null==t.comment.id&&null==t.comment.pCommentId&&(C.appendChild(t.div),m(t.comment,t.div,t.saveCallback,t.deleteOnCancel))}, -function(){C.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))}):C.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});H();this.refreshComments=H;B=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(n(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])}if(this.window.isVisible()){for(var b=C.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<G.length;d++)a(G[d])}});setInterval(B,6E4); +"none");if(!u){var F=y.cloneNode();F.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';F.setAttribute("title",mxResources.get("create")+"...");mxEvent.addListener(F,"click",function(b){function c(){m(d,e,function(b){q(e);a.addComment(b,function(a){b.id=a;I.push(b);l(e)},function(b){f(e);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})},!0)}var d=a.newComment("",a.getCurrentUser()),e=p(d,I,null,0);c();b.preventDefault(); +mxEvent.consume(b)});B.appendChild(F)}F=y.cloneNode();F.innerHTML='<img src="/images/check.png" style="width: 16px; padding: 2px;">';F.setAttribute("title",mxResources.get("showResolved"));var x=!1;"dark"==uiTheme&&(F.style.filter="invert(100%)");mxEvent.addListener(F,"click",function(a){this.className=(x=!x)?"geButton geCheckedBtn":"geButton";G();a.preventDefault();mxEvent.consume(a)});B.appendChild(F);a.commentsRefreshNeeded()&&(F=y.cloneNode(),F.innerHTML='<img src="/images/update16.png" style="width: 16px; padding: 2px;">', +F.setAttribute("title",mxResources.get("refresh")),"dark"==uiTheme&&(F.style.filter="invert(100%)"),mxEvent.addListener(F,"click",function(a){G();a.preventDefault();mxEvent.consume(a)}),B.appendChild(F));a.commentsSaveNeeded()&&(y=y.cloneNode(),y.innerHTML='<img src="/images/save.png" style="width: 20px; padding: 2px;">',y.setAttribute("title",mxResources.get("save")),"dark"==uiTheme&&(y.style.filter="invert(100%)"),mxEvent.addListener(y,"click",function(a){g();a.preventDefault();mxEvent.consume(a)}), +B.appendChild(y));A.appendChild(B);var I=[],G=mxUtils.bind(this,function(){if(null!=t){t.div=t.div.cloneNode(!0);var b=t.div.querySelector(".geCommentEditTxtArea"),c=t.div.querySelector(".geCommentEditBtns");t.comment.content=b.value;b.parentNode.removeChild(b);c.parentNode.removeChild(c)}C.innerHTML='<div style="padding-top:10px;text-align:center;"><img src="/images/spin.gif" valign="middle"> '+mxUtils.htmlEntities(mxResources.get("loading"))+"...</div>";v=a.canReplyToReplies();a.commentsSupported()? +a.getComments(function(a){function b(a){if(null!=a){a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});for(var c=0;c<a.length;c++)b(a[c].replies)}}a.sort(function(a,b){return new Date(a.modifiedDate)-new Date(b.modifiedDate)});C.innerHTML="";C.appendChild(z);z.style.display="block";I=a;for(a=0;a<I.length;a++)b(I[a].replies),p(I[a],I,null,0,x);null!=t&&null==t.comment.id&&null==t.comment.pCommentId&&(C.appendChild(t.div),m(t.comment,t.div,t.saveCallback,t.deleteOnCancel))}, +function(){C.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))}):C.innerHTML=mxUtils.htmlEntities(mxResources.get("error"))});G();this.refreshComments=G;B=mxUtils.bind(this,function(){function a(b){var d=c[b.id];if(null!=d)for(n(b,d),d=0;null!=b.replies&&d<b.replies.length;d++)a(b.replies[d])}if(this.window.isVisible()){for(var b=C.querySelectorAll(".geCommentDate"),c={},d=0;d<b.length;d++){var e=b[d];c[e.getAttribute("data-commentId")]=e}for(d=0;d<I.length;d++)a(I[d])}});setInterval(B,6E4); this.refreshCommentsTime=B;this.window=new mxWindow(mxResources.get("comments"),A,c,b,d,e,!0,!0);this.window.minimumSize=new mxRectangle(0,0,300,200);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.window.fit()}));this.window.setLocation=function(a,b){var c=window.innerHeight||document.body.clientHeight||document.documentElement.clientHeight; -a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var E=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",E);this.destroy=function(){mxEvent.removeListener(window,"resize",E);this.window.destroy()}}, +a=Math.max(0,Math.min(a,(window.innerWidth||document.body.clientWidth||document.documentElement.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var D=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",D);this.destroy=function(){mxEvent.removeListener(window,"resize",D);this.window.destroy()}}, ConfirmDialog=function(a,c,b,d,e,g,k,m,n,q){var f=document.createElement("div");f.style.textAlign="center";var l=document.createElement("div");l.style.padding="6px";l.style.overflow="auto";l.style.maxHeight="44px";l.style.lineHeight="1.2em";mxClient.IS_QUIRKS&&(l.style.height="60px");mxUtils.write(l,c);f.appendChild(l);null!=q&&(l=document.createElement("div"),l.style.padding="6px 0 6px 0",c=document.createElement("img"),c.setAttribute("src",q),l.appendChild(c),f.appendChild(l));q=document.createElement("div"); q.style.textAlign="center";q.style.whiteSpace="nowrap";var p=document.createElement("input");p.setAttribute("type","checkbox");g=mxUtils.button(g||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(p.checked)});g.className="geBtn";null!=m&&(g.innerHTML=m+"<br>"+g.innerHTML,g.style.paddingBottom="8px",g.style.paddingTop="8px",g.style.height="auto",g.style.width="40%");a.editor.cancelFirst&&q.appendChild(g);var u=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=b&& b(p.checked)});q.appendChild(u);null!=k?(u.innerHTML=k+"<br>"+u.innerHTML+"<br>",u.style.paddingBottom="8px",u.style.paddingTop="8px",u.style.height="auto",u.className="geBtn",u.style.width="40%"):u.className="geBtn gePrimaryBtn";a.editor.cancelFirst||q.appendChild(g);f.appendChild(q);n?(q.style.marginTop="10px",l=document.createElement("p"),l.style.marginTop="20px",l.appendChild(p),e=document.createElement("span"),mxUtils.write(e," "+mxResources.get("rememberThisSetting")),l.appendChild(e),f.appendChild(l), @@ -8970,17 +8973,17 @@ k)?this.ui.parseFile(new Blob([d],{type:"application/octet-stream"}),mxUtils.bin a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))}catch(m){if(null!=b)b(m);else throw m;}}; DriveClient.prototype.saveFile=function(a,c,b,d,e,g,k,m){try{a.saveLevel=1;var n=mxUtils.bind(this,function(b){a.saveLevel=null;if(null!=d)d(b);else throw b;try{if(!a.isConflict(b)){var c="error_"+(a.getErrorMessage(b)||"unknown");null!=b&&null!=b.error&&null!=b.error.code&&(c+="-code_"+b.error.code);EditorUi.logEvent({category:"ERROR-SAVE-FILE-"+a.getHash()+"-rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+ (a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),action:c,label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}}catch(z){}}),q=mxUtils.bind(this,function(b){n(b);try{EditorUi.logError(b.message,null,null,b),EditorUi.sendReport("Critical error in DriveClient.saveFile "+(new Date).toISOString()+":\n\nBrowser="+navigator.userAgent+"\nFile="+a.desc.id+"."+a.desc.headRevisionId+ -"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nMessage="+b.message+"\n\nStack:\n"+b.stack)}catch(C){}});if(a.isEditable()&&null!=a.desc){var f=(new Date).getTime(),l=a.desc.etag,p=a.desc.modifiedDate,u=a.desc.headRevisionId,v=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;g=null!=g?g:!1;var t=mxUtils.bind(this,function(d,e,t){try{a.saveLevel=3;var z=null,D=!1, -x={mimeType:a.desc.mimeType,title:a.getTitle()};this.isGoogleRealtimeMimeType(a.desc.mimeType)?(x.mimeType=this.xmlMimeType,z=a.desc,D=c=!0):"application/octet-stream"==x.mimeType&&(x.mimeType=this.xmlMimeType);a.constructor==DriveFile&&(null==m&&(m=[]),null==a.getChannelId()&&m.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&m.push({key:"key",value:Editor.guid(32)}),m.push({key:"secret",value:Editor.guid(32)}));t||(null!=d||g||(d=this.placeholderThumbnail,e=this.placeholderMimeType), +"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nMessage="+b.message+"\n\nStack:\n"+b.stack)}catch(C){}});if(a.isEditable()&&null!=a.desc){var f=(new Date).getTime(),l=a.desc.etag,p=a.desc.modifiedDate,u=a.desc.headRevisionId,v=this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle());e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;g=null!=g?g:!1;var t=mxUtils.bind(this,function(d,e,t){try{a.saveLevel=3;var z=null,F=!1, +x={mimeType:a.desc.mimeType,title:a.getTitle()};this.isGoogleRealtimeMimeType(a.desc.mimeType)?(x.mimeType=this.xmlMimeType,z=a.desc,F=c=!0):"application/octet-stream"==x.mimeType&&(x.mimeType=this.xmlMimeType);a.constructor==DriveFile&&(null==m&&(m=[]),null==a.getChannelId()&&m.push({key:"channel",value:Editor.guid(32)}),null==a.getChannelKey()&&m.push({key:"key",value:Editor.guid(32)}),m.push({key:"secret",value:Editor.guid(32)}));t||(null!=d||g||(d=this.placeholderThumbnail,e=this.placeholderMimeType), null!=d&&null!=e&&(x.thumbnail={image:d,mimeType:e}));var y=a.getData(),A=mxUtils.bind(this,function(d){try{a.saveDelay=(new Date).getTime()-f;var e=(new Date(d.modifiedDate)).getTime()-(new Date(p)).getTime();if(0>=e||l==d.etag||c&&u==d.headRevisionId){var g=[];0>=e&&g.push("invalid modified time");l==d.etag&&g.push("stale etag");c&&u==d.headRevisionId&&g.push("stale revision");var k=g.join(", ");n({message:mxResources.get("errorSavingFile")+": "+k},d);try{EditorUi.sendReport("Critical: Error saving to Google Drive "+ (new Date).toISOString()+":\n\nBrowser="+navigator.userAgent+"\nFile="+a.desc.id+" "+a.desc.mimeType+"\nUser="+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")+"\nErrors="+k+"\nOld="+u+" "+p+" etag-hash="+this.ui.hashValue(l)+"\nNew="+d.headRevisionId+" "+d.modifiedDate+" etag-hash="+this.ui.hashValue(d.etag)),EditorUi.logError("Critical: Error saving to Google Drive "+a.desc.id,null,"from-"+u+"."+p+"-"+this.ui.hashValue(l)+"-to-"+d.headRevisionId+"."+d.modifiedDate+ "-"+this.ui.hashValue(d.etag)+(0<k.length?"-errors-"+k:""),"user-"+(null!=this.user?this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(K){}}else{a.saveLevel=null;b(d,y);if(null!=z){this.executeRequest(gapi.client.drive.revisions.get({fileId:z.id,revisionId:z.headRevisionId,supportsTeamDrives:!0}),mxUtils.bind(this,mxUtils.bind(this,function(a){a.pinned=!0;this.executeRequest(gapi.client.drive.revisions.update({fileId:z.id,revisionId:z.headRevisionId,resource:a}))}))); try{EditorUi.logEvent({category:a.convertedFrom+"-CONVERT-FILE-"+a.getHash(),action:"from_"+z.id+"."+z.headRevisionId+"-to_"+a.desc.id+"."+a.desc.headRevisionId,label:null!=this.user?"user_"+this.user.id:"nouser"+(null!=a.sync?"-client_"+a.sync.clientId:"nosync")})}catch(K){}}try{EditorUi.logEvent({category:"SUCCESS-SAVE-FILE-"+a.getHash()+"-rev0_"+u+"-mod0_"+p,action:"rev-"+d.headRevisionId+"-mod_"+d.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType+(this.ui.editor.autosave?"":"-nosave")+ -(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(K){}}}catch(K){q(K)}}),E=mxUtils.bind(this,function(b,e){a.saveLevel=4;try{null!=m&&(x.properties=m);var f=k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),g=0,l=mxUtils.bind(this,function(d){a.saveLevel= -5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,m=!0,p=window.setTimeout(mxUtils.bind(this,function(){m=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),4*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(),x,b,c||d||k,e,d?null:f,D),mxUtils.bind(this,function(a){window.clearTimeout(p);m&&A(a)}),mxUtils.bind(this,function(b){window.clearTimeout(p);if(m){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest(gapi.client.drive.files.get({fileId:a.getId(), +(a.isAutosave()?"":"-noauto")+(a.changeListenerEnabled?"":"-nolisten")+(a.inConflictState?"-conflict":"")+(a.invalidChecksum?"-invalid":""),label:(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync")})}catch(K){}}}catch(K){q(K)}}),D=mxUtils.bind(this,function(b,e){a.saveLevel=4;try{null!=m&&(x.properties=m);var f=k||a.constructor!=DriveFile||"manual"!=DrawioFile.SYNC&&"auto"!=DrawioFile.SYNC?null:a.getCurrentEtag(),g=0,l=mxUtils.bind(this,function(d){a.saveLevel= +5;try{var k=a.desc.mimeType!=this.xmlMimeType&&a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,m=!0,p=window.setTimeout(mxUtils.bind(this,function(){m=!1;n({code:App.ERROR_TIMEOUT,message:mxResources.get("timeout")})}),4*this.ui.timeout);this.executeRequest(this.createUploadRequest(a.getId(),x,b,c||d||k,e,d?null:f,F),mxUtils.bind(this,function(a){window.clearTimeout(p);m&&A(a)}),mxUtils.bind(this,function(b){window.clearTimeout(p);if(m){a.saveLevel=6;try{a.isConflict(b)?this.executeRequest(gapi.client.drive.files.get({fileId:a.getId(), fields:this.catchupFields,supportsTeamDrives:!0}),mxUtils.bind(this,function(c){a.saveLevel=7;try{if(null!=c&&c.etag==f)if(g<this.maxRetries)g++,window.setTimeout(l,2*g*this.coolOff*(1+.1*(Math.random()-.5)));else{l(!0);try{EditorUi.logError("Warning: Stale Etag Overwrite "+a.getHash(),null,a.desc.id+"."+a.desc.headRevisionId,(null!=this.user?"user_"+this.user.id:"nouser")+(null!=a.sync?"-client_"+a.sync.clientId:"-nosync"))}catch(U){}}else n(b,c)}catch(U){q(U)}}),mxUtils.bind(this,function(){n(b)})): -n(b)}catch(ha){q(ha)}}}))}catch(aa){q(aa)}});if(v&&null==d){a.saveLevel=8;var p=new Image;p.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/p.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(p.height*a);b.getContext("2d").drawImage(p,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");x.thumbnail={image:c,mimeType:"image/png"};l(!1)}catch(da){l(!1)}});p.src="data:image/png;base64,"+ -b}else l(!1)}catch(L){q(L)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){E(a,!0)}),n,this.ui.getCurrentFile()!=a?y:null):E(y,!1)}catch(I){q(I)}}),A=mxUtils.bind(this,function(){try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=a.desc.mimeType&&"application/vnd.jgraph.mxfile"!=a.desc.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")), +n(b)}catch(ha){q(ha)}}}))}catch(ba){q(ba)}});if(v&&null==d){a.saveLevel=8;var p=new Image;p.onload=mxUtils.bind(this,function(){try{var a=this.thumbnailWidth/p.width,b=document.createElement("canvas");b.width=this.thumbnailWidth;b.height=Math.floor(p.height*a);b.getContext("2d").drawImage(p,0,0,b.width,b.height);var c=b.toDataURL(),c=c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");x.thumbnail={image:c,mimeType:"image/png"};l(!1)}catch(ea){l(!1)}});p.src="data:image/png;base64,"+ +b}else l(!1)}catch(L){q(L)}});v?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){D(a,!0)}),n,this.ui.getCurrentFile()!=a?y:null):D(y,!1)}catch(H){q(H)}}),A=mxUtils.bind(this,function(){try{if(a.saveLevel=2,g||v||a.constructor==DriveLibrary||!this.enableThumbnails||"0"==urlParams.thumb||null!=a.desc.mimeType&&"application/vnd.jgraph.mxfile"!=a.desc.mimeType.substring(0,29)||!this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(b){try{var c=a.thumbTime=null;try{null!=b&&(c=b.toDataURL("image/png")), null!=c&&(c=c.length>this.maxThumbnailSize?null:c.substring(c.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_"))}catch(z){c=null}t(c,"image/png")}catch(z){q(z)}})))a.thumbTime=null,t(null,null,a.constructor!=DriveLibrary)}catch(y){q(y)}});e||!c?A():this.verifyMimeType(a.getId(),A,!0)}else this.ui.editor.graph.reset(),n({message:mxResources.get("readOnly")})}catch(y){q(y)}}; DriveClient.prototype.verifyMimeType=function(a,c,b,d){null==this.lastMimeCheck&&(this.lastMimeCheck=0);var e=(new Date).getTime();if(b||e-this.lastMimeCheck>this.mimeTypeCheckCoolOff)this.lastMimeCheck=e,this.checkingMimeType||(this.checkingMimeType=!0,this.executeRequest(gapi.client.drive.files.get({fileId:a,fields:"mimeType",supportsTeamDrives:!0}),mxUtils.bind(this,function(b){this.checkingMimeType=!1;null!=b&&"application/vnd.jgraph.mxfile.realtime"==b.mimeType?this.redirectToNewApp(d,a):null!= c&&c()})))}; @@ -9014,12 +9017,12 @@ DriveClient.prototype.jsonToCell=function(a,c){var b=new mxCell;b.id=a.cellId.js DriveClient.prototype.checkRealtimeFiles=function(a){var c=null!=this.user&&null!=this.user.email?this.user.email:null;this.executeRequest(gapi.client.drive.files.list({maxResults:1,q:"mimeType='application/vnd.jgraph.mxfile.realtime'"+(null!=c?" and '"+c+"' in writers":""),includeTeamDriveItems:!0,supportsTeamDrives:!0}),mxUtils.bind(this,function(b){null!=b&&(null!=b.nextPageToken||null!=b.items&&0<b.items.length)&&a()}))}; DriveClient.prototype.convertRealtimeFiles=function(){var a=document.createElement("div");a.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;padding:8px;background:#ffffff;z-index:2;overflow:auto;white-space:nowrap;line-height:1.5em;";document.body.appendChild(a);var c=Date.now(),b=mxUtils.bind(this,function(b,c){a.innerHTML+=b+(c?"":"<br>");a.scrollTop=a.scrollHeight});b("draw.io ("+EditorUi.VERSION+") is searching files to be converted...");b('<a href="https://desk.draw.io/support/solutions/articles/16000092210" target="_blank">Click here for help</a>'); this.ui.spinner.spin(document.body,"Searching files...")?this.checkToken(mxUtils.bind(this,function(){var a={},e=0,g=0,k=0,m=0,n=0,q=0,f=0,l=0,p=0,u=null!=this.user&&null!=this.user.email?this.user.email:null,v="mimeType='application/vnd.jgraph.mxfile.realtime'"+(null!=u?" and '"+u+"' in writers":""),t=mxUtils.bind(this,function(){this.ui.spinner.stop();b("<br>Conversion complete. Successfully converted "+e+" file(s).",!0);0<f?b(" Failed to convert "+f+' file(s).<br><br><b>ACTION REQUIRED:</b><br><ul><li>Click <a target="_blank" href="https://drive.google.com/drive/u/0/search?q=type:application/vnd.jgraph.mxfile.realtime">here</a> to list all affected files</li><li>Open each file in turn by right-clicking the file and selecting open with draw.io</li><li>Open each file in turn. When loaded, select File->Save</li></ul>'): -b("<br><br>This window can now be closed.");try{var a=Date.now()-c;EditorUi.logEvent({category:"AUTO-CONVERT",action:"total_"+l+"-done_"+e+"-fail_"+f+"-xml_"+k+"-json_"+g+"-load_"+m+"-save_"+q+"-invalid_"+n+"-dt-"+Math.round(a/1E3),label:null!=this.user?"user_"+this.user.id:"-nouser"})}catch(D){}}),A=function(a){return null==a?"":null!=a.message?a.message:null!=a.error&&null!=a.error.message?a.error.message:""},y=mxUtils.bind(this,function(){if(this.ui.spinner.spin(document.body,"Converting "+l+" file(s)")){b("Found "+ -l+" file(s). This will take up to "+Math.ceil(5E3*l/6E4)+" minute(s). <b>Please do not close this window!</b><br>");var c=0,d=mxUtils.bind(this,function(z,B){var x={maxResults:1,q:v,includeTeamDriveItems:!0,supportsTeamDrives:!0};null!=z&&(x.pageToken=z);var u=!0,D=window.setTimeout(mxUtils.bind(this,function(){u=!1;d(z,B)}),this.ui.timeout);this.executeRequest(gapi.client.drive.files.list(x),mxUtils.bind(this,function(x){window.clearTimeout(D);if(u){var v=mxUtils.bind(this,function(){null!=x.nextPageToken? +b("<br><br>This window can now be closed.");try{var a=Date.now()-c;EditorUi.logEvent({category:"AUTO-CONVERT",action:"total_"+l+"-done_"+e+"-fail_"+f+"-xml_"+k+"-json_"+g+"-load_"+m+"-save_"+q+"-invalid_"+n+"-dt-"+Math.round(a/1E3),label:null!=this.user?"user_"+this.user.id:"-nouser"})}catch(F){}}),A=function(a){return null==a?"":null!=a.message?a.message:null!=a.error&&null!=a.error.message?a.error.message:""},y=mxUtils.bind(this,function(){if(this.ui.spinner.spin(document.body,"Converting "+l+" file(s)")){b("Found "+ +l+" file(s). This will take up to "+Math.ceil(5E3*l/6E4)+" minute(s). <b>Please do not close this window!</b><br>");var c=0,d=mxUtils.bind(this,function(z,B){var x={maxResults:1,q:v,includeTeamDriveItems:!0,supportsTeamDrives:!0};null!=z&&(x.pageToken=z);var u=!0,F=window.setTimeout(mxUtils.bind(this,function(){u=!1;d(z,B)}),this.ui.timeout);this.executeRequest(gapi.client.drive.files.list(x),mxUtils.bind(this,function(x){window.clearTimeout(F);if(u){var v=mxUtils.bind(this,function(){null!=x.nextPageToken? d(x.nextPageToken):t()});if(null!=x&&null!=x.error)p++,4>p?d(z,B):(this.ui.spinner.stop(),b("Query for next file failed multiple times. Exiting.<br><br>This window can now be closed."));else if(null==x||null!=x.items&&0!=x.items.length||null==x.nextPageToken)if(null!=x&&null!=x.items&&0<x.items.length){var y=x.items[0].id;this.ui.spinner.stop();c++;this.ui.spinner.spin(document.body,"Converting file "+c+" of "+l)&&(b("Converting "+c+" of "+l+': "'+mxUtils.htmlEntities(x.items[0].title)+'" (<a href="https://drive.google.com/open?id='+ -y+'" target="_blank">'+y+"</a>)... ",!0),window.setTimeout(mxUtils.bind(this,function(){null==a[y]?(u=a[y]=!0,D=window.setTimeout(mxUtils.bind(this,function(){u=!1;f++;m++;b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> Timeout');v()}),this.ui.timeout),this.getFile(y,mxUtils.bind(this,function(a){window.clearTimeout(D);u&&(a.constructor==DriveFile?("json"==a.convertedFrom?g++:k++,u=!0,D=window.setTimeout(mxUtils.bind(this,function(){u=!1;f++;q++;b('<img src="'+ -this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> Timeout');v()}),this.ui.timeout),this.saveFile(a,null,mxUtils.bind(this,function(){window.clearTimeout(D);u&&(e++,b('OK <img src="'+Editor.checkmarkImage+'" border="0" valign="middle"/>'),v())}),mxUtils.bind(this,function(a){window.clearTimeout(D);u&&(a=A(a),f++,q++,b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> '+a),v())}))):(f++,n++,b('<img src="'+this.ui.editor.graph.warningImage.src+ -'" border="0" valign="absmiddle"/> Invalid file'),v()))}),mxUtils.bind(this,function(a){window.clearTimeout(D);u&&(a=A(a),f++,m++,b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> '+a),v())}))):(this.ui.spinner.stop(),b("Search returned duplicate file "+y+". Exiting.<br><br>This window can now be closed."))}),null!=B?B:2E3))}else t();else d(x.nextPageToken,1E4)}}))});d()}}),C={maxResults:1E4,q:v,includeTeamDriveItems:!0,supportsTeamDrives:!0},z=mxUtils.bind(this, +y+'" target="_blank">'+y+"</a>)... ",!0),window.setTimeout(mxUtils.bind(this,function(){null==a[y]?(u=a[y]=!0,F=window.setTimeout(mxUtils.bind(this,function(){u=!1;f++;m++;b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> Timeout');v()}),this.ui.timeout),this.getFile(y,mxUtils.bind(this,function(a){window.clearTimeout(F);u&&(a.constructor==DriveFile?("json"==a.convertedFrom?g++:k++,u=!0,F=window.setTimeout(mxUtils.bind(this,function(){u=!1;f++;q++;b('<img src="'+ +this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> Timeout');v()}),this.ui.timeout),this.saveFile(a,null,mxUtils.bind(this,function(){window.clearTimeout(F);u&&(e++,b('OK <img src="'+Editor.checkmarkImage+'" border="0" valign="middle"/>'),v())}),mxUtils.bind(this,function(a){window.clearTimeout(F);u&&(a=A(a),f++,q++,b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> '+a),v())}))):(f++,n++,b('<img src="'+this.ui.editor.graph.warningImage.src+ +'" border="0" valign="absmiddle"/> Invalid file'),v()))}),mxUtils.bind(this,function(a){window.clearTimeout(F);u&&(a=A(a),f++,m++,b('<img src="'+this.ui.editor.graph.warningImage.src+'" border="0" valign="absmiddle"/> '+a),v())}))):(this.ui.spinner.stop(),b("Search returned duplicate file "+y+". Exiting.<br><br>This window can now be closed."))}),null!=B?B:2E3))}else t();else d(x.nextPageToken,1E4)}}))});d()}}),C={maxResults:1E4,q:v,includeTeamDriveItems:!0,supportsTeamDrives:!0},z=mxUtils.bind(this, function(a){null!=a&&(C.pageToken=a);this.executeRequest(gapi.client.drive.files.list(C),mxUtils.bind(this,function(a){l+=null!=a&&null!=a.items?a.items.length:0;null!=a.nextPageToken?z(a.nextPageToken):(this.ui.spinner.stop(),this.ui.showError("Confirm","You are about to convert "+l+" file(s)","Cancel",mxUtils.bind(this,function(){b("Cancelled by user.<br><br>This window can now be closed.")}),null,"OK",y,"Help",function(){window.open("https://desk.draw.io/support/solutions/articles/16000092210")}, 340,120))}))});z()})):(this.ui.spinner.stop(),b("Busy. <br><br>This window can now be closed."))};DropboxFile=function(a,c,b){DrawioFile.call(this,a,c);this.stat=b};mxUtils.extend(DropboxFile,DrawioFile);DropboxFile.prototype.getId=function(){return this.stat.path_display.substring(1)};DropboxFile.prototype.getHash=function(){return"D"+encodeURIComponent(this.getId())};DropboxFile.prototype.getMode=function(){return App.MODE_DROPBOX};DropboxFile.prototype.isAutosaveOptional=function(){return!0};DropboxFile.prototype.getTitle=function(){return this.stat.name}; DropboxFile.prototype.isRenamable=function(){return!0};DropboxFile.prototype.getSize=function(){return this.stat.size};DropboxFile.prototype.isRevisionHistorySupported=function(){return!0}; @@ -9156,10 +9159,10 @@ c.height;g.style="border: 1px solid black;margin:5px;vertical-align:middle";f.ap mxUtils.bind(this,function(a){this.ui.spinner.stop();m.appendChild(n("../ [Up]",mxUtils.bind(this,function(){u()})));mxUtils.br(m);null==a||0==a.length?mxUtils.write(m,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){m.appendChild(n(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();c(b+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[d])})()}),mxUtils.bind(this,function(b){401==b.status?this.authenticate(a,q,!0): null!=q&&q(b)}))});a()}),l=null,p=null,u=mxUtils.bind(this,function(g){null==g&&(e=0,m.innerHTML="",g=1);this.ui.spinner.spin(m,mxResources.get("loading"));null!=l&&null!=l.parentNode&&l.parentNode.removeChild(l);l=document.createElement("a");l.style.display="block";l.setAttribute("href","javascript:void(0);");mxUtils.write(l,mxResources.get("more")+"...");var k=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",p);u(g+1)});mxEvent.addListener(l,"click",k);var v=mxUtils.bind(this,function(){Trello.get("search", {query:""==mxUtils.trim(d)?"is:open":d,cards_limit:100,cards_page:g-1},mxUtils.bind(this,function(e){this.ui.spinner.stop();e=null!=e?e.cards:null;if(null==e||0==e.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==g&&(m.appendChild(n(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,d,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(d=a,u())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards"); -this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m));for(var q=0;q<e.length;q++)mxUtils.bind(this,function(d){m.appendChild(n(d.name,mxUtils.bind(this,function(){a?(b=d.id,f()):(this.ui.hideDialog(),c(d.id))})))})(e[q]);100==e.length&&(m.appendChild(l),p=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&k()},mxEvent.addListener(m,"scroll",p))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(v,q,!0):null!=q&&q({message:a.responseText})}))});v()});u()}; +this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m));for(var t=0;t<e.length;t++)mxUtils.bind(this,function(d){m.appendChild(n(d.name,mxUtils.bind(this,function(){a?(b=d.id,f()):(this.ui.hideDialog(),c(d.id))})))})(e[t]);100==e.length&&(m.appendChild(l),p=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&k()},mxEvent.addListener(m,"scroll",p))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(v,q,!0):null!=q&&q({message:a.responseText})}))});v()});u()}; TrelloClient.prototype.isAuthorized=function(){try{return null!=localStorage.trello_token}catch(a){}return!1};TrelloClient.prototype.logout=function(){localStorage.removeItem("trello_token");Trello.deauthorize()};DrawioComment=function(a,c,b,d,e,g,k){this.file=a;this.id=c;this.content=b;this.modifiedDate=d;this.createdDate=e;this.isResolved=g;this.user=k;this.replies=[]};DrawioComment.prototype.addReplyDirect=function(a){null!=a&&this.replies.push(a)};DrawioComment.prototype.addReply=function(a,c,b,d,e){c()};DrawioComment.prototype.editComment=function(a,c,b){c()};DrawioComment.prototype.deleteComment=function(a,c){a()};DriveComment=function(a,c,b,d,e,g,k,m){DrawioComment.call(this,a,c,b,d,e,g,k);this.pCommentId=m};mxUtils.extend(DriveComment,DrawioComment);DriveComment.prototype.addReply=function(a,c,b,d,e){a={content:a.content};d?a.verb="resolve":e&&(a.verb="reopen");this.file.ui.drive.executeRequest(gapi.client.drive.replies.insert({fileId:this.file.getId(),commentId:this.id,resource:a}),mxUtils.bind(this,function(a){c(a.replyId)}),b)}; DriveComment.prototype.editComment=function(a,c,b){this.content=a;a={content:a};this.file.ui.drive.executeRequest(this.pCommentId?gapi.client.drive.replies.patch({fileId:this.file.getId(),commentId:this.pCommentId,replyId:this.id,resource:a}):gapi.client.drive.comments.patch({fileId:this.file.getId(),commentId:this.id,resource:a}),c,b)}; -DriveComment.prototype.deleteComment=function(a,c){this.file.ui.drive.executeRequest(this.pCommentId?gapi.client.drive.replies["delete"]({fileId:this.file.getId(),commentId:this.pCommentId,replyId:this.id}):gapi.client.drive.comments["delete"]({fileId:this.file.getId(),commentId:this.id}),a,c)};App=function(a,c,b){EditorUi.call(this,a,c,null!=b?b:"1"==urlParams.lightbox||"min"==uiTheme&&"0"!=urlParams.chrome);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(window.onunload=mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()){var b={category:"DISCARD-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+ +(null!=a.saveLevel?"-sl_"+a.saveLevel:0)+"-age_"+(null!= +DriveComment.prototype.deleteComment=function(a,c){this.file.ui.drive.executeRequest(this.pCommentId?gapi.client.drive.replies["delete"]({fileId:this.file.getId(),commentId:this.pCommentId,replyId:this.id}):gapi.client.drive.comments["delete"]({fileId:this.file.getId(),commentId:this.id}),a,c)};App=function(a,c,b){EditorUi.call(this,a,c,null!=b?b:"1"==urlParams.lightbox||"min"==uiTheme&&"0"!=urlParams.chrome);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(window.onunload=mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()){var b={category:"DISCARD-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+(null!=a.saveLevel?"-sl_"+a.saveLevel:"")+"-age_"+(null!= a.ageStart?Math.round((Date.now()-a.ageStart.getTime())/1E3):"x")+(this.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+"-open_"+(null!=a.opened?Math.round((Date.now()-a.opened.getTime())/1E3):"x")+"-save_"+(null!=a.lastSaved?Math.round((Date.now()-a.lastSaved.getTime())/1E3):"x")+"-change_"+(null!=a.lastChanged?Math.round((Date.now()-a.lastChanged.getTime())/1E3):"x")+"-alive_"+Math.round((Date.now()-App.startTime.getTime())/1E3),label:null!=a.sync?"client_"+a.sync.clientId:"nosync"}; a.constructor==DriveFile&&null!=a.desc&&null!=this.drive&&(b.label+=(null!=this.drive.user?"-user_"+this.drive.user.id:"-nouser")+"-rev_"+a.desc.headRevisionId+"-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType);EditorUi.logEvent(b)}}));this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&EditorUi.logEvent({category:(this.editor.autosave?"ON":"OFF")+"-AUTOSAVE-FILE-"+a.getHash(),action:"changed",label:"autosave_"+(this.editor.autosave? "on":"off")})}));mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=": @@ -9212,7 +9215,7 @@ typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new Dr action:"timeout",label:408})}),this.timeout);(new Date).getTime();mxUtils.get(EditorUi.cacheUrl+"?alive",mxUtils.bind(this,function(a){window.clearTimeout(g)}))}}else null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader();null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position="absolute",this.buttonContainer.style.right= "0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display="none"),this.icon=document.createElement("img"),this.icon.setAttribute("src",IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.padding="6px",this.icon.style.cursor="pointer",mxEvent.addListener(this.icon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)})), mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild))};App.prototype.scheduleSanityCheck=function(){null==this.sanityCheckThread&&(this.sanityCheckThread=window.setTimeout(mxUtils.bind(this,function(){this.sanityCheckThread=null;this.sanityCheck()}),this.warnInterval))};App.prototype.stopSanityCheck=function(){null!=this.sanityCheckThread&&(window.clearTimeout(this.sanityCheckThread),this.sanityCheckThread=null)}; -App.prototype.sanityCheck=function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()&&a.isAutosave()&&a.isOverdue()){var c={category:"WARN-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+ +(null!=a.saveLevel?"-sl_"+a.saveLevel:0)+"-age_"+(null!=a.ageStart?Math.round((Date.now()-a.ageStart.getTime())/1E3):"x")+(this.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+"-open_"+(null!= +App.prototype.sanityCheck=function(){var a=this.getCurrentFile();if(null!=a&&a.isModified()&&a.isAutosave()&&a.isOverdue()){var c={category:"WARN-FILE-"+a.getHash(),action:(a.savingFile?"saving":"")+(a.savingFile&&null!=a.savingFileTime?"_"+Math.round((Date.now()-a.savingFileTime.getTime())/1E3):"")+(null!=a.saveLevel?"-sl_"+a.saveLevel:"")+"-age_"+(null!=a.ageStart?Math.round((Date.now()-a.ageStart.getTime())/1E3):"x")+(this.editor.autosave?"":"-nosave")+(a.isAutosave()?"":"-noauto")+"-open_"+(null!= a.opened?Math.round((Date.now()-a.opened.getTime())/1E3):"x")+"-save_"+(null!=a.lastSaved?Math.round((Date.now()-a.lastSaved.getTime())/1E3):"x")+"-change_"+(null!=a.lastChanged?Math.round((Date.now()-a.lastChanged.getTime())/1E3):"x")+"-alive_"+Math.round((Date.now()-App.startTime.getTime())/1E3),label:null!=a.sync?"client_"+a.sync.clientId:"nosync"};a.constructor==DriveFile&&null!=a.desc&&null!=this.drive&&(c.label+=(null!=this.drive.user?"-user_"+this.drive.user.id:"-nouser")+"-rev_"+a.desc.headRevisionId+ "-mod_"+a.desc.modifiedDate+"-size_"+a.getSize()+"-mime_"+a.desc.mimeType);EditorUi.logEvent(c);c=mxResources.get("ensureDataSaved");null!=a.lastSaved&&(c=this.timeSince(a.lastSaved),null==c&&(c=mxResources.get("lessThanAMinute")),c=mxResources.get("lastSaved",[c]));this.showError(mxResources.get("unsavedChanges"),c,mxResources.get("ignore"),mxUtils.bind(this,function(){this.hideDialog()}),null,mxResources.get("save"),mxUtils.bind(this,function(){this.stopSanityCheck();this.actions.get(null!=this.mode&& a.isEditable()?"save":"saveAs").funct()}),null,null,360,120,null,mxUtils.bind(this,function(){this.scheduleSanityCheck()}))}};App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname}; @@ -9276,14 +9279,14 @@ this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf(".")||/(\.drawio)$/i.test(a),/ App.prototype.loadTemplate=function(a,c,b,d){var e=!1,g=a;this.editor.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(a)+"&base64=1&"+g,e=!0);var k=null!=d?d:a;this.loadUrl(g,mxUtils.bind(this,function(d){try{var g=e?!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(d):atob(d):d;if(/(\.v(dx|sdx?))($|\?)/i.test(k)||this.isVisioData(g))this.importVisio(this.base64ToBlob(d.substring(d.indexOf(",")+1)),function(a){c(a)},b,k);else if(!this.isOffline()&& (new XMLHttpRequest).upload&&this.isRemoteFileFormat(g,k))this.parseFile(new Blob([g],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&c(a.responseText)}),a);else if(this.isLucidChartData(g))this.convertLucidChart(g,mxUtils.bind(this,function(a){c(a)}),mxUtils.bind(this,function(a){b(a)}));else{if(/(\.png)($|\?)/i.test(k)||this.isPngData(g))g=this.extractGraphModelFromPng(d);c(g)}}catch(q){b(q)}}), b,/(\.png)($|\?)/i.test(k)||/(\.v(dx|sdx?))($|\?)/i.test(k),null,null,e)};App.prototype.getPeerForMode=function(a){return a==App.MODE_GOOGLE?this.drive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_DROPBOX?this.dropbox:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_TRELLO?this.trello:null}; -App.prototype.createFile=function(a,c,b,d,e,g,k,m){d=m?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){c=null!=c?c:this.emptyDiagramXml;var n=mxUtils.bind(this,function(){this.spinner.stop()}),q=mxUtils.bind(this,function(a){n();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});try{if(d==App.MODE_GOOGLE&&null!=this.drive)null==k&&null!=this.stateArg&&null!=this.stateArg.folderId&&(k=this.stateArg.folderId), -this.drive.insertFile(a,c,k,mxUtils.bind(this,function(a){n();this.fileCreated(a,b,g,e)}),q);else if(d==App.MODE_GITHUB&&null!=this.gitHub)this.gitHub.insertFile(a,c,mxUtils.bind(this,function(a){n();this.fileCreated(a,b,g,e)}),q,!1,k);else if(d==App.MODE_TRELLO&&null!=this.trello)this.trello.insertFile(a,c,mxUtils.bind(this,function(a){n();this.fileCreated(a,b,g,e)}),q,!1,k);else if(d==App.MODE_DROPBOX&&null!=this.dropbox)this.dropbox.insertFile(a,c,mxUtils.bind(this,function(a){n();this.fileCreated(a, -b,g,e)}),q);else if(d==App.MODE_ONEDRIVE&&null!=this.oneDrive)this.oneDrive.insertFile(a,c,mxUtils.bind(this,function(a){n();this.fileCreated(a,b,g,e)}),q,!1,k);else if(d==App.MODE_BROWSER){n();var f=mxUtils.bind(this,function(){var d=new StorageFile(this,c,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,b,g,e)}),q)});null==localStorage.getItem(a)?f():this.confirm(mxResources.get("replaceIt",[a]),f,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))}else n(), -this.fileCreated(new LocalFile(this,c,a,null==d),b,g,e)}catch(l){n(),this.handleError(l)}}}; -App.prototype.fileCreated=function(a,c,b,d){var e=window.location.pathname;null!=c&&0<c.length&&(e+="?libs="+c);e=this.getUrl(e);a.getMode()!=App.MODE_DEVICE&&(e+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var g=a.getData(),g=0<g.length?this.editor.extractGraphModel(mxUtils.parseXml(g).documentElement,!0):null,k=window.location.protocol+"//"+window.location.hostname+e,m=g,n=null;null!=g&&/\.svg$/i.test(a.getTitle())&&(n=this.createTemporaryGraph(this.editor.graph.getStylesheet()), -document.body.appendChild(n.container),m=this.decodeNodeIntoGraph(m,n));a.setData(this.createFileData(g,n,a,k));null!=n&&n.container.parentNode.removeChild(n.container);var q=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(){q();var f=this.getCurrentFile();null==b&&null!=f&&(b=!f.isModified()&&null==f.getMode());var g=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);b&&a.addAllSavedStatus();null!=c&&this.sidebar.showEntries(c)}),k=mxUtils.bind(this, -function(){b||null==f||!f.isModified()?g():this.confirm(mxResources.get("allChangesLost"),null,g,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=d&&d();null==b||b?k():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=d&&d(),window.openWindow(e,null,k))});a.constructor==LocalFile?f():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,function(){f()}),mxUtils.bind(this, -function(a){q();this.handleError(a)}))}}; +App.prototype.createFile=function(a,c,b,d,e,g,k,m,n){d=m?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){c=null!=c?c:this.emptyDiagramXml;var q=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(a){q();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});try{if(d==App.MODE_GOOGLE&&null!=this.drive)null==k&&null!=this.stateArg&&null!=this.stateArg.folderId&&(k=this.stateArg.folderId), +this.drive.insertFile(a,c,k,mxUtils.bind(this,function(a){q();this.fileCreated(a,b,g,e,n)}),f);else if(d==App.MODE_GITHUB&&null!=this.gitHub)this.gitHub.insertFile(a,c,mxUtils.bind(this,function(a){q();this.fileCreated(a,b,g,e,n)}),f,!1,k);else if(d==App.MODE_TRELLO&&null!=this.trello)this.trello.insertFile(a,c,mxUtils.bind(this,function(a){q();this.fileCreated(a,b,g,e,n)}),f,!1,k);else if(d==App.MODE_DROPBOX&&null!=this.dropbox)this.dropbox.insertFile(a,c,mxUtils.bind(this,function(a){q();this.fileCreated(a, +b,g,e,n)}),f);else if(d==App.MODE_ONEDRIVE&&null!=this.oneDrive)this.oneDrive.insertFile(a,c,mxUtils.bind(this,function(a){q();this.fileCreated(a,b,g,e,n)}),f,!1,k);else if(d==App.MODE_BROWSER){q();var l=mxUtils.bind(this,function(){var d=new StorageFile(this,c,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,b,g,e,n)}),f)});null==localStorage.getItem(a)?l():this.confirm(mxResources.get("replaceIt",[a]),l,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&& +this.showSplash()}))}else q(),this.fileCreated(new LocalFile(this,c,a,null==d),b,g,e,n)}catch(p){q(),this.handleError(p)}}}; +App.prototype.fileCreated=function(a,c,b,d,e){var g=window.location.pathname;null!=c&&0<c.length&&(g+="?libs="+c);null!=e&&0<e.length&&(g+="?clibs="+e);g=this.getUrl(g);a.getMode()!=App.MODE_DEVICE&&(g+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var k=a.getData(),k=0<k.length?this.editor.extractGraphModel(mxUtils.parseXml(k).documentElement,!0):null,m=window.location.protocol+"//"+window.location.hostname+g,n=k,q=null;null!=k&&/\.svg$/i.test(a.getTitle())&& +(q=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(q.container),n=this.decodeNodeIntoGraph(n,q));a.setData(this.createFileData(k,q,a,m));null!=q&&q.container.parentNode.removeChild(q.container);var f=mxUtils.bind(this,function(){this.spinner.stop()}),l=mxUtils.bind(this,function(){f();var k=this.getCurrentFile();null==b&&null!=k&&(b=!k.isModified()&&null==k.getMode());var l=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);b&&a.addAllSavedStatus(); +null!=c&&this.sidebar.showEntries(c);if(null!=e){for(var d=[],f=e.split(";"),g=0;g<f.length;g++)d.push(decodeURIComponent(f[g]));this.loadLibraries(d)}}),m=mxUtils.bind(this,function(){b||null==k||!k.isModified()?l():this.confirm(mxResources.get("allChangesLost"),null,l,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=d&&d();null==b||b?m():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(), +null==a.getMode())),null!=d&&d(),window.openWindow(g,null,m))});a.constructor==LocalFile?l():a.saveFile(a.getTitle(),!1,mxUtils.bind(this,function(){l()}),mxUtils.bind(this,function(a){f();this.handleError(a)}))}}; App.prototype.loadFile=function(a,c,b,d,e){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var e=localStorage.getItem(a);if(null!=e)this.fileLoaded(new StorageFile(this,e,a)),null!=d&&d();else throw{message:mxResources.get("fileNotFound")};}catch(p){this.handleError(p, mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else if(null!=b)this.spinner.stop(),this.fileLoaded(b),null!=d&&d();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(Graph.decompress(a.substring(1))), d,mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}catch(p){this.handleError(p,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),e=decodeURIComponent(a.substring(1)),"<"!=e.charAt(0)&&(e=Graph.decompress(e)),e=new LocalFile(this,e,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),e.getHash=function(){return a},this.fileLoaded(e),null!=d&&d();else if("U"==a.charAt(0)){var g=decodeURIComponent(a.substring(1)), @@ -9295,18 +9298,17 @@ null!=a?a.getHash():""}));else{var k=a.charAt(0);a=decodeURIComponent(a.substrin b+"</div>"));null!=d&&d()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash="#"+a.getHash()}))}))}}),k=this.getCurrentFile(),m=mxUtils.bind(this,function(){e||null==k||!k.isModified()?g():this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this, function(){null!=k&&(window.location.hash=k.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges"))});null==a||0==a.length?m():null!=k&&k.isModified()&&!c?window.openWindow(this.getUrl()+"#"+a,null,m):m()}; App.prototype.getLibraryStorageHint=function(a){var c=a.getTitle();a.constructor!=LocalLibrary&&(c+="\n"+a.getHash());a.constructor==DriveLibrary?c+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?c+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?c+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?c+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?c+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?c+=" ("+ -mxResources.get("browser")+")":a.constructor==LocalLibrary&&(c+=" ("+mxResources.get("device")+")");return c}; -App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a,c){c||mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),c=mxUtils.bind(this,function(b,c){var d=0,g=[],k=mxUtils.bind(this,function(){if(0==d){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=g[a]&&this.loadLibrary(g[a]);null!=c&&c()}});if(null!=b)for(var m=0;m<b.length;m++){var n=encodeURIComponent(decodeURIComponent(b[m]));mxUtils.bind(this, -function(b,c){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){d++;var e=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];g[c]=a;d--;k()}),f=mxUtils.bind(this,function(c){a(b,c);d--;k()});this.pendingLibraries[b]=!0;var m=b.substring(0,1);if("L"==m)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&& -null==b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):f()}))}catch(C){f()}}),0);else if("U"==m){var n=decodeURIComponent(b.substring(1));if(!this.isOffline()){m=n;this.editor.isCorsEnabledForUrl(m)||(m="t="+(new Date).getTime(),m=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+m);try{mxUtils.get(m,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),n))}catch(C){f()}else f()}),function(){f()})}catch(y){f()}}}else if("R"==m){if(m= -decodeURIComponent(b.substring(1)),!this.isOffline())try{var m=JSON.parse(m),t={id:m[0],title:m[1],downloadUrl:m[2]};this.remoteInvoke("getFileContent",[t.downloadUrl],null,mxUtils.bind(this,function(a){try{e(new RemoteLibrary(this,a,t))}catch(C){f()}}),function(){f()})}catch(y){f()}}else if("S"==m&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(b.substring(1)),function(a){e(a)},f)}catch(y){f()}else{var q=null;"G"==m?null!=this.drive&&null!=this.drive.user&&(q=this.drive):"H"== -m?null!=this.gitHub&&null!=this.gitHub.getUser()&&(q=this.gitHub):"T"==m?null!=this.trello&&this.trello.isAuthorized()&&(q=this.trello):"D"==m?null!=this.dropbox&&null!=this.dropbox.getUser()&&(q=this.dropbox):"W"==m&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(q=this.oneDrive);null!=q?q.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(C){f()}}),function(a){f()}):f(!0)}}})(n,m)}k()});c(mxSettings.getCustomLibraries(),function(){c((urlParams.clibs|| -"").split(";"))})}}; -App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();this.commentsSupported()?null==this.commentButton&&(this.commentButton=document.createElement("a"),this.commentButton.setAttribute("title",mxResources.get("comments")),this.commentButton.className="geToolbarButton",this.commentButton.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;float:left;cursor:pointer;width:24px;height:24px;background-size:24px 24px;background-position:center center;background-repeat:no-repeat;background-image:url("+Editor.commentImage+ -");","atlas"==uiTheme&&(this.commentButton.style.marginRight="10px",this.commentButton.style.marginTop="-3px"),mxEvent.addListener(this.commentButton,"click",mxUtils.bind(this,function(){this.actions.get("comments").funct()})),this.buttonContainer.appendChild(this.commentButton),"dark"==uiTheme||"atlas"==uiTheme)&&(this.commentButton.style.filter="invert(100%)"):null!=this.commentButton&&(this.commentButton.parentNode.removeChild(this.commentButton),this.commentButton=null);null!=a&&a.constructor== -DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth="0px",this.shareButton.style.cssFloat="right",this.shareButton.setAttribute("title",mxResources.get("share")),a=document.createElement("img"), -a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),this.shareButton=null)}}; -App.prototype.save=function(a,c){var b=this.getCurrentFile(),d=mxResources.get("saving");if(null!=b&&this.spinner.spin(document.body,d)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var d=mxUtils.bind(this,function(){b.handleFileSuccess(!0);null!=c&&c()}),e=mxUtils.bind(this,function(a){b.handleFileError(a,!0)});try{a==b.getTitle()?b.save(!0,d,e):b.saveAs(a,d,e)}catch(g){b.handleFileError(g,!0)}}}; +mxResources.get("browser")+")":a.constructor==LocalLibrary&&(c+=" ("+mxResources.get("device")+")");return c};App.prototype.restoreLibraries=function(){this.loadLibraries(mxSettings.getCustomLibraries(),mxUtils.bind(this,function(){this.loadLibraries((urlParams.clibs||"").split(";"))}))}; +App.prototype.loadLibraries=function(a,c){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var b=mxUtils.bind(this,function(a,b){b||mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),d=0,e=[],g=mxUtils.bind(this,function(){if(0==d){if(null!=a)for(var b=a.length-1;0<=b;b--)null!=e[b]&&this.loadLibrary(e[b]);null!=c&&c()}});if(null!=a)for(var k=0;k<a.length;k++){var m=encodeURIComponent(decodeURIComponent(a[k]));mxUtils.bind(this,function(a,c){if(null!= +a&&0<a.length&&null==this.pendingLibraries[a]&&null==this.sidebar.palettes[a]){d++;var f=mxUtils.bind(this,function(b){delete this.pendingLibraries[a];e[c]=b;d--;g()}),k=mxUtils.bind(this,function(c){b(a,c);d--;g()});this.pendingLibraries[a]=!0;var m=a.substring(0,1);if("L"==m)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var b=decodeURIComponent(a.substring(1));this.getLocalData(b,mxUtils.bind(this,function(a){".scratchpad"==b&&null==a&&(a=this.emptyLibraryXml); +null!=a?f(new StorageLibrary(this,a,b)):k()}))}catch(y){k()}}),0);else if("U"==m){var n=decodeURIComponent(a.substring(1));if(!this.isOffline()){m=n;this.editor.isCorsEnabledForUrl(m)||(m="t="+(new Date).getTime(),m=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+m);try{mxUtils.get(m,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{f(new UrlLibrary(this,a.getText(),n))}catch(y){k()}else k()}),function(){k()})}catch(A){k()}}}else if("R"==m){if(m=decodeURIComponent(a.substring(1)), +!this.isOffline())try{var m=JSON.parse(m),q={id:m[0],title:m[1],downloadUrl:m[2]};this.remoteInvoke("getFileContent",[q.downloadUrl],null,mxUtils.bind(this,function(a){try{f(new RemoteLibrary(this,a,q))}catch(y){k()}}),function(){k()})}catch(A){k()}}else if("S"==m&&null!=this.loadDesktopLib)try{this.loadDesktopLib(decodeURIComponent(a.substring(1)),function(a){f(a)},k)}catch(A){k()}else{var t=null;"G"==m?null!=this.drive&&null!=this.drive.user&&(t=this.drive):"H"==m?null!=this.gitHub&&null!=this.gitHub.getUser()&& +(t=this.gitHub):"T"==m?null!=this.trello&&this.trello.isAuthorized()&&(t=this.trello):"D"==m?null!=this.dropbox&&null!=this.dropbox.getUser()&&(t=this.dropbox):"W"==m&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(t=this.oneDrive);null!=t?t.getLibrary(decodeURIComponent(a.substring(1)),mxUtils.bind(this,function(a){try{f(a)}catch(y){k()}}),function(a){k()}):k(!0)}}})(m,k)}g()}}; +App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();this.commentsSupported()?null==this.commentButton&&(this.commentButton=document.createElement("a"),this.commentButton.setAttribute("title",mxResources.get("comments")),this.commentButton.className="geToolbarButton",this.commentButton.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;float:left;cursor:pointer;width:24px;height:24px;background-size:24px 24px;background-position:center center;background-repeat:no-repeat;background-image:url("+ +Editor.commentImage+");","atlas"==uiTheme&&(this.commentButton.style.marginRight="10px",this.commentButton.style.marginTop="-3px"),mxEvent.addListener(this.commentButton,"click",mxUtils.bind(this,function(){this.actions.get("comments").funct()})),this.buttonContainer.appendChild(this.commentButton),"dark"==uiTheme||"atlas"==uiTheme)&&(this.commentButton.style.filter="invert(100%)"):null!=this.commentButton&&(this.commentButton.parentNode.removeChild(this.commentButton),this.commentButton=null);null!= +a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth="0px",this.shareButton.style.cssFloat="right",this.shareButton.setAttribute("title",mxResources.get("share")), +a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton),this.shareButton= +null)}};App.prototype.save=function(a,c){var b=this.getCurrentFile(),d=mxResources.get("saving");if(null!=b&&this.spinner.spin(document.body,d)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var d=mxUtils.bind(this,function(){b.handleFileSuccess(!0);null!=c&&c()}),e=mxUtils.bind(this,function(a){b.handleFileError(a,!0)});try{a==b.getTitle()?b.save(!0,d,e):b.saveAs(a,d,e)}catch(g){b.handleFileError(g,!0)}}}; App.prototype.pickFolder=function(a,c,b,d,e){b=null!=b?b:!0;var g=this.spinner.pause();b&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){g();if(a.action==google.picker.Action.PICKED){var b=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(b=a.docs[0].id);c(b)}}),e):b&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){g();null!=a&&null!=a.value&&0<a.value.length&&(a=OneDriveFile.prototype.getIdOf(a.value[0]), c(a))}),d):b&&a==App.MODE_GITHUB&&null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){g();c(a)})):b&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){g();c(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)}; App.prototype.exportFile=function(a,c,b,d,e,g){e==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(c,d?this.base64ToBlob(a,b):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):e==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(c,a,g,mxUtils.bind(this,function(a){this.spinner.stop()}), @@ -9395,13 +9397,13 @@ mxUtils.bind(this,function(){a.vRuler.setUnit(mxRuler.prototype.CENTIMETER);a.hR mxUtils.bind(this,function(){d.isSelectionEmpty()||a.showTextDialog("Create Sidebar Entry","sb.createVertexTemplateFromData('"+Graph.compress(mxUtils.getXml(d.encodeCells(d.getSelectionCells())))+"', width, height, 'Title');")})),a.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),b=d.view.translate,c=d.view.scale;d.insertVertex(d.getDefaultParent(),null,"",a.x/c-b.x,a.y/c-b.y,a.width/c,a.height/c,"fillColor=none;strokeColor=red;")})),a.actions.addAction("testCheckFile", mxUtils.bind(this,function(){var b=null!=a.pages&&null!=a.getCurrentFile()?a.getCurrentFile().getAnonymizedXmlForPages(a.pages):"",b=new TextareaDialog(a,"Paste Data:",b,function(b){if(0<b.length)try{var c=function(a){function b(a){if(null==n[a]){if(n[a]=!0,null!=e[a]){for(;0<e[a].length;){var d=e[a].pop();b(d)}delete e[a]}}else mxLog.debug(c+": Visited: "+a)}var c=a.parentNode.id,d=a.childNodes;a={};for(var e={},f=null,g={},k=0;k<d.length;k++){var l=d[k];if(null!=l.id&&0<l.id.length)if(null==a[l.id]){a[l.id]= l.id;var m=l.getAttribute("parent");null==m?null!=f?mxLog.debug(c+": Multiple roots: "+l.id):f=l.id:(null==e[m]&&(e[m]=[]),e[m].push(l.id))}else g[l.id]=l.id}0<Object.keys(g).length?(d=c+": "+Object.keys(g).length+" Duplicates: "+Object.keys(g).join(", "),mxLog.debug(d+" (see console)")):mxLog.debug(c+": Checked");var n={};null==f?mxLog.debug(c+": No root"):(b(f),Object.keys(n).length!=Object.keys(a).length&&(mxLog.debug(c+": Invalid tree: (see console)"),console.log(c+": Invalid tree",e)))};"<"!= -b.charAt(0)&&(b=Graph.decompress(b),mxLog.debug("See console for uncompressed XML"),console.log("xml",b));var d=mxUtils.parseXml(b),e=a.getPagesForNode(d.documentElement,"mxGraphModel");if(null!=e&&0<e.length)try{var f=a.getHashValueForPages(e);mxLog.debug("Checksum: ",f)}catch(I){mxLog.debug("Error: ",I.message)}else mxLog.debug("No pages found for checksum");var g=d.getElementsByTagName("root");for(b=0;b<g.length;b++)c(g[b]);mxLog.show()}catch(I){a.handleError(I),console.error(I)}});b.textarea.style.width= -"600px";b.textarea.style.height="380px";a.showDialog(b.container,620,460,!0,!0);b.init()})),a.actions.addAction("testDiff",mxUtils.bind(this,function(){if(null!=a.pages){var b=new TextareaDialog(a,"Paste Data:","",function(b){if(0<b.length)try{console.log(JSON.stringify(a.diffPages(a.pages,a.getPagesForNode(mxUtils.parseXml(b).documentElement)),null,2))}catch(D){a.handleError(D),console.error(D)}});b.textarea.style.width="600px";b.textarea.style.height="380px";a.showDialog(b.container,620,460,!0, +b.charAt(0)&&(b=Graph.decompress(b),mxLog.debug("See console for uncompressed XML"),console.log("xml",b));var d=mxUtils.parseXml(b),e=a.getPagesForNode(d.documentElement,"mxGraphModel");if(null!=e&&0<e.length)try{var f=a.getHashValueForPages(e);mxLog.debug("Checksum: ",f)}catch(H){mxLog.debug("Error: ",H.message)}else mxLog.debug("No pages found for checksum");var g=d.getElementsByTagName("root");for(b=0;b<g.length;b++)c(g[b]);mxLog.show()}catch(H){a.handleError(H),console.error(H)}});b.textarea.style.width= +"600px";b.textarea.style.height="380px";a.showDialog(b.container,620,460,!0,!0);b.init()})),a.actions.addAction("testDiff",mxUtils.bind(this,function(){if(null!=a.pages){var b=new TextareaDialog(a,"Paste Data:","",function(b){if(0<b.length)try{console.log(JSON.stringify(a.diffPages(a.pages,a.getPagesForNode(mxUtils.parseXml(b).documentElement)),null,2))}catch(F){a.handleError(F),console.error(F)}});b.textarea.style.width="600px";b.textarea.style.height="380px";a.showDialog(b.container,620,460,!0, !0);b.init()}else a.alert("No pages")})),a.actions.addAction("testInspect",mxUtils.bind(this,function(){console.log(a,d.getModel())})),a.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));e.scale(1/c);var g=0,k=e.save;e.save=function(){g++;k.apply(this,arguments)};var l= e.restore;e.restore=function(){g--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",a,g);m.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(d.getView().getState(d.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),a.actions.addAction("testDownloadRtModel...",mxUtils.bind(this,function(){null==a.drive?a.handleError({message:mxResources.get("serviceUnavailableOrBlocked")}):a.drive.execute(mxUtils.bind(this, function(){var b=prompt("File ID","");if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("export"))){var c=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b+"/realtime?supportsTeamDrives=true",null,"GET");c.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+b)};c.send(function(c){a.spinner.stop();200<=c.getStatus()&&299>=c.getStatus()?a.saveLocalFile(c.getText(), "json-"+b+".txt","text/plain"):a.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))})}}))})),a.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.put("testDevelop",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"createSidebarEntry showBoundingBox - testCheckFile testDiff - testInspect - testXmlImageExport - testDownloadRtModel".split(" "), -c);b.addItem(mxResources.get("testImportRtModel")+"...",null,function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",mxUtils.bind(this,function(){if(null!=b.files){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{a.openLocalFile(mxUtils.getXml(a.drive.convertJsonToXml(JSON.parse(c.target.result).data)),b.files[0].name,!0)}catch(H){a.handleError(H,mxResources.get("errorLoadingFile"))}});c.readAsText(b.files[0])}}));b.click()},c); +c);b.addItem(mxResources.get("testImportRtModel")+"...",null,function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",mxUtils.bind(this,function(){if(null!=b.files){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{a.openLocalFile(mxUtils.getXml(a.drive.convertJsonToXml(JSON.parse(c.target.result).data)),b.files[0].name,!0)}catch(G){a.handleError(G,mxResources.get("errorLoadingFile"))}});c.readAsText(b.files[0])}}));b.click()},c); this.addMenuItems(b,["-","testShowConsole"],c)}))));a.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!a.isOffline()?a.showDialog((new MoreShapesDialog(a,!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(d.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle); b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,g,k,l,m,n){a.createHtml(b,c,d,e,f,g,k,l,m,n, mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var d=window.open(),e=d.document;if(null!=e){"CSS1Compat"===document.compatMode&&e.writeln("<!DOCTYPE html>");e.writeln("<html>");e.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');e.writeln("<body>");e.writeln(b);var f=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;f&&e.writeln(c);e.writeln("</body>");e.writeln("</html>");e.close();if(!f){var g= @@ -9449,7 +9451,7 @@ n&&"function"===typeof window.TrelloClient&&b.addItem(mxResources.get("trello")+ typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):g&&"function"===typeof window.DriveClient&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):m&&"function"===typeof window.OneDriveClient&&b.addItem(mxResources.get("oneDrive")+ " ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):k&&"function"===typeof window.DropboxClient&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)}, c):n&&"function"===typeof window.TrelloClient&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a, -"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.editor.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(E){a.handleError(E,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop(); +"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=b;a.editor.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(D){a.handleError(D,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop(); a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c));"1"==urlParams.confLib&&(b.addSeparator(c),b.addItem(mxResources.get("confluenceCloud")+"...",null,function(){a.showRemotelyStoredLibrary(mxResources.get("libraries"))},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip - editStyle editGeometry - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))}))); q=a.actions.addAction("comments",mxUtils.bind(this,function(){null==this.commentsWindow?(this.commentsWindow=new CommentsWindow(a,document.body.offsetWidth-380,120,300,350),this.commentsWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("comments"))}),this.commentsWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("comments"))):(this.commentsWindow.window.setVisible(!this.commentsWindow.window.isVisible()), this.commentsWindow.refreshCommentsTime())}));q.setToggleAction(!0);q.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.commentsWindow&&this.commentsWindow.window.isVisible()}));a.editor.addListener("fileLoaded",mxUtils.bind(this,function(){null!=this.commentsWindow&&(this.commentsWindow.destroy(),this.commentsWindow=null)}));var q=this.get("viewPanels"),C=q.funct;q.funct=function(b,c){C.apply(this,arguments);a.commentsSupported()&&a.menus.addMenuItems(b,["comments"],c)};this.put("view", @@ -9523,8 +9525,8 @@ this.model.setCollapsed(d[g],a))}for(g=0;g<f.length;g++)this.model.setVisible(f[ return b}function d(a){var b=!1;null!=a&&(a=A.getParent(a),b=t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType);return b}function m(a){var b=!1;null!=a&&(a=A.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y== a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function q(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH|| f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+10:-e[1].geometry.height-10;t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=t.view.getState(a),l=t.view.scale;if(null!=k){var m=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*l:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*l;var p=t.getOutgoingEdges(t.model.getTerminal(d[0], -!0));if(null!=p){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,u=g=d=0;u<p.length;u++){var x=t.model.getTerminal(p[u],!1);if(f==n(x)){var v=t.view.getState(x);x!=a&&null!=v&&(q&&b!=v.getCenterX()<k.getCenterX()||!q&&b!=v.getCenterY()<k.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/l),g=10+Math.max(g,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/l))}}q?g=0:d=0;for(u=0;u<p.length;u++)if(x=t.model.getTerminal(p[u], -!1),f==n(x)&&(v=t.view.getState(x),x!=a&&null!=v&&(q&&b!=v.getCenterX()<k.getCenterX()||!q&&b!=v.getCenterY()<k.getCenterY()))){var B=[];t.traverse(v.cell,!0,function(a,b){null!=b&&B.push(b);B.push(a);return!0});t.moveCells(B,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1); +!0));if(null!=p){for(var q=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,x=g=d=0;x<p.length;x++){var u=t.model.getTerminal(p[x],!1);if(f==n(u)){var v=t.view.getState(u);u!=a&&null!=v&&(q&&b!=v.getCenterX()<k.getCenterX()||!q&&b!=v.getCenterY()<k.getCenterY())&&mxUtils.intersects(m,v)&&(d=10+Math.max(d,(Math.min(m.x+m.width,v.x+v.width)-Math.max(m.x,v.x))/l),g=10+Math.max(g,(Math.min(m.y+m.height,v.y+v.height)-Math.max(m.y,v.y))/l))}}q?g=0:d=0;for(x=0;x<p.length;x++)if(u=t.model.getTerminal(p[x], +!1),f==n(u)&&(v=t.view.getState(u),u!=a&&null!=v&&(q&&b!=v.getCenterX()<k.getCenterX()||!q&&b!=v.getCenterY()<k.getCenterY()))){var B=[];t.traverse(v.cell,!0,function(a,b){null!=b&&B.push(b);B.push(a);return!0});t.moveCells(B,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function f(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1); var e=t.model.getParent(a),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,l=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,l=-l):b==mxConstants.DIRECTION_WEST?(k=-k,l=0):b==mxConstants.DIRECTION_EAST&&(l=0);t.moveCells(g,k,l);return t.addCells(d,e)}finally{t.model.endUpdate()}}function l(a){t.model.beginUpdate();try{var b= t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=t.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var l=t.view.getBounds(f),m=n(a),p=t.view.translate,q=t.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/q-p.x-e.x+10,d[1].geometry.y+=d[1].geometry.height- e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==l?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(l.x+l.width)/q-p.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height+e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width+e.x+40):d[1].geometry.x+(d[1].geometry.width-e.x+40),d[1].geometry.y=null==l?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(l.y+l.height)/q-p.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function p(a, @@ -9536,15 +9538,15 @@ v.menus.createPopupMenu=function(a,c,d){y.apply(this,arguments);if(1==t.getSelec null,null,"Alt+Shift+D");var C=t.removeCells;t.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];A.isEdge(g)&&d(g)&&(e.push(g),g=A.getTerminal(g,!1));b(g)?(t.traverse(g,!0,function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=t.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return C.apply(this,arguments)};v.hoverIcons.getStateAt=function(a,c, d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var z=t.duplicateCells;t.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f],a)}this.model.beginUpdate();try{var k=z.call(this,a,c);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var l=t.getIncomingEdges(k[e]),g=t.getIncomingEdges(a[e]); if(0==l.length&&0<g.length){var m=this.cloneCell(g[0]);this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var B=t.moveCells;t.moveCells=function(a,c,d,e,f,g,k){var l=null;this.model.beginUpdate();try{var m=f,n=this.view.getState(f),p=null!=n?n.style:this.getCellStyle(f);if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||t.model.isEdge(a[q])&&null==t.model.getTerminal(a[q],!0)){f=t.model.getParent(a[q]); -break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var u=t.getIncomingEdges(a[0]);if(0<u.length){var x=t.view.getState(t.model.getTerminal(u[0],!0));if(null!=x){var v=t.view.getState(m);null!=v&&(c=(v.getCenterX()-x.getCenterX())/t.view.scale,d=(v.getCenterY()-x.getCenterY())/t.view.scale)}}}}l=B.apply(this,arguments);if(null!=l&&null!=a&&l.length==a.length)for(q=0;q<l.length;q++)if(this.model.isEdge(l[q]))b(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[q],!0))&&this.model.setTerminal(l[q], -m,!0);else if(b(a[q])&&(u=t.getIncomingEdges(a[q]),0<u.length))if(!e)b(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(u[0],!0))&&this.model.setTerminal(u[0],m,!0);else if(0==t.getIncomingEdges(l[q]).length){n=m;if(null==n||n==t.model.getParent(a[q]))n=t.model.getTerminal(u[0],!0);e=this.cloneCell(u[0]);this.addEdge(e,t.getDefaultParent(),n,l[q])}}finally{this.model.endUpdate()}return l};if(null!=v.sidebar){var D=v.sidebar.dropAndConnect;v.sidebar.dropAndConnect=function(a,c,d,e){var f=t.model,g=null; -f.beginUpdate();try{if(g=D.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var l=t.getCellGeometry(g[k]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var x={88:v.actions.get("selectChildren"),84:v.actions.get("selectSubtree"),80:v.actions.get("selectParent"),83:v.actions.get("selectSiblings")},G=v.onKeyDown;v.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&& +break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var x=t.getIncomingEdges(a[0]);if(0<x.length){var u=t.view.getState(t.model.getTerminal(x[0],!0));if(null!=u){var v=t.view.getState(m);null!=v&&(c=(v.getCenterX()-u.getCenterX())/t.view.scale,d=(v.getCenterY()-u.getCenterY())/t.view.scale)}}}}l=B.apply(this,arguments);if(null!=l&&null!=a&&l.length==a.length)for(q=0;q<l.length;q++)if(this.model.isEdge(l[q]))b(m)&&0>mxUtils.indexOf(l,this.model.getTerminal(l[q],!0))&&this.model.setTerminal(l[q], +m,!0);else if(b(a[q])&&(x=t.getIncomingEdges(a[q]),0<x.length))if(!e)b(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(x[0],!0))&&this.model.setTerminal(x[0],m,!0);else if(0==t.getIncomingEdges(l[q]).length){n=m;if(null==n||n==t.model.getParent(a[q]))n=t.model.getTerminal(x[0],!0);e=this.cloneCell(x[0]);this.addEdge(e,t.getDefaultParent(),n,l[q])}}finally{this.model.endUpdate()}return l};if(null!=v.sidebar){var F=v.sidebar.dropAndConnect;v.sidebar.dropAndConnect=function(a,c,d,e){var f=t.model,g=null; +f.beginUpdate();try{if(g=F.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var l=t.getCellGeometry(g[k]);l.points=null;null!=l.getTerminalPoint(!0)&&l.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var x={88:v.actions.get("selectChildren"),84:v.actions.get("selectSubtree"),80:v.actions.get("selectParent"),83:v.actions.get("selectSiblings")},I=v.onKeyDown;v.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&& b(t.getSelectionCell())&&1==t.getSelectionCount()){var c=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?f(t.getSelectionCell()):l(t.getSelectionCell()):13==a.which&&(c=q(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&t.model.isEdge(c[0])?t.setSelectionCell(t.model.getTerminal(c[0],!1)):t.setSelectionCell(c[c.length-1]),null!=v.hoverIcons&&v.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()), mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=x[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(S){console.log("error", -S)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var H=t.connectVertex;t.connectVertex=function(a,c,d,e,g,k){var m=t.getIncomingEdges(a);return b(a)&&0<m.length?(d=n(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?l(a):e==g?f(a):q(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):H.call(this,a,c,d,e,g,k)};t.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||m(a)||t.traverse(a,!0,function(a,b){null!= -b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var E=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){E.apply(this,arguments);(c(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px", +S)}mxEvent.isConsumed(a)||I.apply(this,arguments)};var G=t.connectVertex;t.connectVertex=function(a,c,d,e,g,k){var m=t.getIncomingEdges(a);return b(a)&&0<m.length?(d=n(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?l(a):e==g?f(a):q(a,c!=mxConstants.DIRECTION_NORTH&&c!=mxConstants.DIRECTION_WEST)):G.call(this,a,c,d,e,g,k)};t.getSubtree=function(a){var d=[a];!c(a)&&!b(a)||m(a)||t.traverse(a,!0,function(a,b){null!= +b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var D=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){D.apply(this,arguments);(c(this.state.cell)||b(this.state.cell))&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"),this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px", this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells);this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells); -this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var I=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.destroy; +this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var H=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top=this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var J=mxVertexHandler.prototype.destroy; mxVertexHandler.prototype.destroy=function(a,b){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.graph;return a.concat([this.addEntry("tree container",function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;"); a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;treeMoving=1;");b.vertex=!0;var c=new mxCell("Topic", new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;treeMoving=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;treeMoving=1;"); @@ -9615,17 +9617,17 @@ null==urlParams.libs||c(this);var k=this,l=k.editor.graph;k.toolbar=this.createT k.statusContainer.style.maxWidth="";k.statusContainer.style.marginTop="7px";k.statusContainer.style.marginLeft="6px";k.statusContainer.style.color="gray";k.statusContainer.style.cursor="default";k.editor.addListener("statusChanged",mxUtils.bind(this,function(){k.setStatusText(k.editor.getStatus())}));var q=k.descriptorChanged;k.descriptorChanged=function(){q.apply(this,arguments);var a=k.getCurrentFile();if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub": "onedrive"==b&&(b="oneDrive");b=mxResources.get(b);m.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else m.removeAttribute("title")};k.setStatusText(k.editor.getStatus());m.appendChild(k.statusContainer);k.buttonContainer=document.createElement("div");k.buttonContainer.style.cssText="position:absolute;right:0px;padding-right:34px;top:10px;white-space:nowrap;padding-top:2px;background-color:inherit;";m.appendChild(k.buttonContainer);k.menubarContainer=k.buttonContainer;k.tabContainer=document.createElement("div"); k.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;visibility:hidden;";var g=k.diagramContainer.parentNode,u=document.createElement("div");u.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";k.diagramContainer.style.top="47px";var J=k.menus.get("viewZoom");if(null!=J){this.tabContainer.style.right= -"70px";var F=p.addMenu("100%",J.funct);F.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");F.style.whiteSpace="nowrap";F.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";F.style.backgroundPosition="right 6px center";F.style.backgroundRepeat="no-repeat";F.style.backgroundColor="#ffffff";F.style.paddingRight="10px";F.style.display="block";F.style.position="absolute";F.style.textDecoration="none";F.style.textDecoration="none";F.style.right="0px";F.style.bottom="0px"; -F.style.overflow="hidden";F.style.visibility="hidden";F.style.textAlign="center";F.style.color="#000";F.style.fontSize="12px";F.style.color="#707070";F.style.width="59px";F.style.cursor="pointer";F.style.borderTop="1px solid lightgray";F.style.borderLeft="1px solid lightgray";F.style.height=parseInt(k.tabContainerHeight)-1+"px";F.style.lineHeight=parseInt(k.tabContainerHeight)+1+"px";u.appendChild(F);J=mxUtils.bind(this,function(){F.innerHTML=Math.round(100*k.editor.graph.view.scale)+"%"});k.editor.graph.view.addListener(mxEvent.EVENT_SCALE, -J);k.editor.addListener("resetGraphView",J);k.editor.addListener("pageSelected",J);var M=k.setGraphEnabled;k.setGraphEnabled=function(){M.apply(this,arguments);null!=this.tabContainer&&(F.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}u.appendChild(k.tabContainer);u.appendChild(m);u.appendChild(k.diagramContainer);g.appendChild(u);k.updateTabContainer();var K=null;f();mxEvent.addListener(window, +"70px";var E=p.addMenu("100%",J.funct);E.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");E.style.whiteSpace="nowrap";E.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";E.style.backgroundPosition="right 6px center";E.style.backgroundRepeat="no-repeat";E.style.backgroundColor="#ffffff";E.style.paddingRight="10px";E.style.display="block";E.style.position="absolute";E.style.textDecoration="none";E.style.textDecoration="none";E.style.right="0px";E.style.bottom="0px"; +E.style.overflow="hidden";E.style.visibility="hidden";E.style.textAlign="center";E.style.color="#000";E.style.fontSize="12px";E.style.color="#707070";E.style.width="59px";E.style.cursor="pointer";E.style.borderTop="1px solid lightgray";E.style.borderLeft="1px solid lightgray";E.style.height=parseInt(k.tabContainerHeight)-1+"px";E.style.lineHeight=parseInt(k.tabContainerHeight)+1+"px";u.appendChild(E);J=mxUtils.bind(this,function(){E.innerHTML=Math.round(100*k.editor.graph.view.scale)+"%"});k.editor.graph.view.addListener(mxEvent.EVENT_SCALE, +J);k.editor.addListener("resetGraphView",J);k.editor.addListener("pageSelected",J);var M=k.setGraphEnabled;k.setGraphEnabled=function(){M.apply(this,arguments);null!=this.tabContainer&&(E.style.visibility=this.tabContainer.style.visibility,this.diagramContainer.style.bottom="hidden"!=this.tabContainer.style.visibility?this.tabContainerHeight+"px":"0px")}}u.appendChild(k.tabContainer);u.appendChild(m);u.appendChild(k.diagramContainer);g.appendChild(u);k.updateTabContainer();var K=null;f();mxEvent.addListener(window, "resize",function(){f();null!=k.sidebarWindow&&k.sidebarWindow.window.fit();null!=k.formatWindow&&k.formatWindow.window.fit();null!=k.actions.outlineWindow&&k.actions.outlineWindow.window.fit();null!=k.actions.layersWindow&&k.actions.layersWindow.window.fit();null!=k.menus.tagsWindow&&k.menus.tagsWindow.window.fit();null!=k.menus.findWindow&&k.menus.findWindow.window.fit()})}}}; (function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var c=EditorUi.initTheme;EditorUi.initTheme=function(){c.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();(function(){var a=mxGuide.prototype.move;mxGuide.prototype.move=function(b,c,g,k){var d=c.y,e=c.x,q=!1,f=!1;if(null!=this.states&&null!=b&&null!=c){var l=this,p=new mxCellState,u=this.graph.getView().scale,v=Math.max(2,this.getGuideTolerance()/2);p.x=b.x+e;p.y=b.y+d;p.width=b.width;p.height=b.height;for(var t=[],A=[],y=0;y<this.states.length;y++){var C=this.states[y];C instanceof mxCellState&&(k||!this.graph.isCellSelected(C.cell))&&((p.x>=C.x&&p.x<=C.x+C.width||C.x>=p.x&&C.x<=p.x+p.width)&&(p.y> -C.y+C.height+4||p.y+p.height+4<C.y)?t.push(C):(p.y>=C.y&&p.y<=C.y+C.height||C.y>=p.y&&C.y<=p.y+p.height)&&(p.x>C.x+C.width+4||p.x+p.width+4<C.x)&&A.push(C))}var z=0,B=0,D=C=0,x=0,G=0,H=0,E=0,I=5*u;if(1<t.length){t.push(p);t.sort(function(a,b){return a.y-b.y});var J=!1,y=p==t[0],u=p==t[t.length-1];if(!y&&!u)for(y=1;y<t.length-1;y++)if(p==t[y]){u=t[y-1];y=t[y+1];C=B=D=(y.y-u.y-u.height-p.height)/2;break}for(y=0;y<t.length-1;y++){var u=t[y],F=t[y+1],M=p==u||p==F,F=F.y-u.y-u.height,J=J|p==u;if(0==B&& -0==z)B=F,z=1;else if(Math.abs(B-F)<=(M||1==y&&J?v:0))z+=1;else if(1<z&&J){t=t.slice(0,y+1);break}else if(3<=t.length-y&&!J)z=0,C=B=0!=D?D:0,t.splice(0,0==y?1:y),y=-1;else break;0!=C||M||(B=C=F)}3==t.length&&t[1]==p&&(C=0)}if(1<A.length){A.push(p);A.sort(function(a,b){return a.x-b.x});J=!1;y=p==A[0];u=p==A[A.length-1];if(!y&&!u)for(y=1;y<A.length-1;y++)if(p==A[y]){u=A[y-1];y=A[y+1];H=G=E=(y.x-u.x-u.width-p.width)/2;break}for(y=0;y<A.length-1;y++){u=A[y];F=A[y+1];M=p==u||p==F;F=F.x-u.x-u.width;J|=p== -u;if(0==G&&0==x)G=F,x=1;else if(Math.abs(G-F)<=(M||1==y&&J?v:0))x+=1;else if(1<x&&J){A=A.slice(0,y+1);break}else if(3<=A.length-y&&!J)x=0,H=G=0!=E?E:0,A.splice(0,0==y?1:y),y=-1;else break;0!=H||M||(G=H=F)}3==A.length&&A[1]==p&&(H=0)}v=function(a,b,c,d){var e=[],f;d?(d=I,f=0):(d=0,f=I);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR, -mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(l.graph.getView().getOverlayPane());return a};G=function(a,b){if(a&&null!=l.guidesArrHor)for(var c=0;c<l.guidesArrHor.length;c++)l.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=l.guidesArrVer)for(c=0;c<l.guidesArrVer.length;c++)l.guidesArrVer[c].node.style.visibility="hidden"};if(1<x&&x==A.length-1){x=[];E=l.guidesArrHor;q=[];e=0;y=A[0]==p?1:0;J=A[y].y+A[y].height;if(0<H)for(y=0;y<A.length-1;y++)u= -A[y],F=A[y+1],p==u?(e=F.x-u.width-H,q.push(new mxPoint(e+u.width+I,J)),q.push(new mxPoint(F.x-I,J))):p==F?(q.push(new mxPoint(u.x+u.width+I,J)),e=u.x+u.width+H,q.push(new mxPoint(e-I,J))):(q.push(new mxPoint(u.x+u.width+I,J)),q.push(new mxPoint(F.x-I,J)));else u=A[0],y=A[2],e=u.x+u.width+(y.x-u.x-u.width-p.width)/2,q.push(new mxPoint(u.x+u.width+I,J)),q.push(new mxPoint(e-I,J)),q.push(new mxPoint(e+p.width+I,J)),q.push(new mxPoint(y.x-I,J));for(y=0;y<q.length;y+=2)A=q[y],H=q[y+1],A=v(A,H,null!=E? -E[y/2]:null),A.node.style.visibility="visible",A.redraw(),x.push(A);for(y=q.length/2;null!=E&&y<E.length;y++)E[y].destroy();l.guidesArrHor=x;e-=b.x;q=!0}else G(!0);if(1<z&&z==t.length-1){x=[];E=l.guidesArrVer;f=[];d=0;y=t[0]==p?1:0;z=t[y].x+t[y].width;if(0<C)for(y=0;y<t.length-1;y++)u=t[y],F=t[y+1],p==u?(d=F.y-u.height-C,f.push(new mxPoint(z,d+u.height+I)),f.push(new mxPoint(z,F.y-I))):p==F?(f.push(new mxPoint(z,u.y+u.height+I)),d=u.y+u.height+C,f.push(new mxPoint(z,d-I))):(f.push(new mxPoint(z,u.y+ -u.height+I)),f.push(new mxPoint(z,F.y-I)));else u=t[0],y=t[2],d=u.y+u.height+(y.y-u.y-u.height-p.height)/2,f.push(new mxPoint(z,u.y+u.height+I)),f.push(new mxPoint(z,d-I)),f.push(new mxPoint(z,d+p.height+I)),f.push(new mxPoint(z,y.y-I));for(y=0;y<f.length;y+=2)A=f[y],H=f[y+1],A=v(A,H,null!=E?E[y/2]:null,!0),A.node.style.visibility="visible",A.redraw(),x.push(A);for(y=f.length/2;null!=E&&y<E.length;y++)E[y].destroy();l.guidesArrVer=x;d-=b.y;f=!0}else G(!1,!0)}if(q||f)return p=new mxPoint(e,d),t=a.call(this, -b,p,g,k),q&&!f?p.y=t.y:f&&!q&&(p.x=t.x),t.y!=p.y&&null!=this.guideY&&null!=this.guideY.node&&(this.guideY.node.style.visibility="hidden"),t.x!=p.x&&null!=this.guideX&&null!=this.guideX.node&&(this.guideX.node.style.visibility="hidden"),p;G(!0,!0);return a.apply(this,arguments)};var c=mxGuide.prototype.setVisible;mxGuide.prototype.setVisible=function(a){c.call(this,a);var b=this.guidesArrVer,d=this.guidesArrHor;if(null!=b)for(var k=0;k<b.length;k++)b[k].node.style.visibility=a?"visible":"hidden";if(null!= +C.y+C.height+4||p.y+p.height+4<C.y)?t.push(C):(p.y>=C.y&&p.y<=C.y+C.height||C.y>=p.y&&C.y<=p.y+p.height)&&(p.x>C.x+C.width+4||p.x+p.width+4<C.x)&&A.push(C))}var z=0,B=0,F=C=0,x=0,I=0,G=0,D=0,H=5*u;if(1<t.length){t.push(p);t.sort(function(a,b){return a.y-b.y});var J=!1,y=p==t[0],u=p==t[t.length-1];if(!y&&!u)for(y=1;y<t.length-1;y++)if(p==t[y]){u=t[y-1];y=t[y+1];C=B=F=(y.y-u.y-u.height-p.height)/2;break}for(y=0;y<t.length-1;y++){var u=t[y],E=t[y+1],M=p==u||p==E,E=E.y-u.y-u.height,J=J|p==u;if(0==B&& +0==z)B=E,z=1;else if(Math.abs(B-E)<=(M||1==y&&J?v:0))z+=1;else if(1<z&&J){t=t.slice(0,y+1);break}else if(3<=t.length-y&&!J)z=0,C=B=0!=F?F:0,t.splice(0,0==y?1:y),y=-1;else break;0!=C||M||(B=C=E)}3==t.length&&t[1]==p&&(C=0)}if(1<A.length){A.push(p);A.sort(function(a,b){return a.x-b.x});J=!1;y=p==A[0];u=p==A[A.length-1];if(!y&&!u)for(y=1;y<A.length-1;y++)if(p==A[y]){u=A[y-1];y=A[y+1];G=I=D=(y.x-u.x-u.width-p.width)/2;break}for(y=0;y<A.length-1;y++){u=A[y];E=A[y+1];M=p==u||p==E;E=E.x-u.x-u.width;J|=p== +u;if(0==I&&0==x)I=E,x=1;else if(Math.abs(I-E)<=(M||1==y&&J?v:0))x+=1;else if(1<x&&J){A=A.slice(0,y+1);break}else if(3<=A.length-y&&!J)x=0,G=I=0!=D?D:0,A.splice(0,0==y?1:y),y=-1;else break;0!=G||M||(I=G=E)}3==A.length&&A[1]==p&&(G=0)}v=function(a,b,c,d){var e=[],f;d?(d=H,f=0):(d=0,f=H);e.push(new mxPoint(a.x-d,a.y-f));e.push(new mxPoint(a.x+d,a.y+f));e.push(a);e.push(b);e.push(new mxPoint(b.x-d,b.y-f));e.push(new mxPoint(b.x+d,b.y+f));if(null!=c)return c.points=e,c;a=new mxPolyline(e,mxConstants.GUIDE_COLOR, +mxConstants.GUIDE_STROKEWIDTH);a.dialect=mxConstants.DIALECT_SVG;a.pointerEvents=!1;a.init(l.graph.getView().getOverlayPane());return a};I=function(a,b){if(a&&null!=l.guidesArrHor)for(var c=0;c<l.guidesArrHor.length;c++)l.guidesArrHor[c].node.style.visibility="hidden";if(b&&null!=l.guidesArrVer)for(c=0;c<l.guidesArrVer.length;c++)l.guidesArrVer[c].node.style.visibility="hidden"};if(1<x&&x==A.length-1){x=[];D=l.guidesArrHor;q=[];e=0;y=A[0]==p?1:0;J=A[y].y+A[y].height;if(0<G)for(y=0;y<A.length-1;y++)u= +A[y],E=A[y+1],p==u?(e=E.x-u.width-G,q.push(new mxPoint(e+u.width+H,J)),q.push(new mxPoint(E.x-H,J))):p==E?(q.push(new mxPoint(u.x+u.width+H,J)),e=u.x+u.width+G,q.push(new mxPoint(e-H,J))):(q.push(new mxPoint(u.x+u.width+H,J)),q.push(new mxPoint(E.x-H,J)));else u=A[0],y=A[2],e=u.x+u.width+(y.x-u.x-u.width-p.width)/2,q.push(new mxPoint(u.x+u.width+H,J)),q.push(new mxPoint(e-H,J)),q.push(new mxPoint(e+p.width+H,J)),q.push(new mxPoint(y.x-H,J));for(y=0;y<q.length;y+=2)A=q[y],G=q[y+1],A=v(A,G,null!=D? +D[y/2]:null),A.node.style.visibility="visible",A.redraw(),x.push(A);for(y=q.length/2;null!=D&&y<D.length;y++)D[y].destroy();l.guidesArrHor=x;e-=b.x;q=!0}else I(!0);if(1<z&&z==t.length-1){x=[];D=l.guidesArrVer;f=[];d=0;y=t[0]==p?1:0;z=t[y].x+t[y].width;if(0<C)for(y=0;y<t.length-1;y++)u=t[y],E=t[y+1],p==u?(d=E.y-u.height-C,f.push(new mxPoint(z,d+u.height+H)),f.push(new mxPoint(z,E.y-H))):p==E?(f.push(new mxPoint(z,u.y+u.height+H)),d=u.y+u.height+C,f.push(new mxPoint(z,d-H))):(f.push(new mxPoint(z,u.y+ +u.height+H)),f.push(new mxPoint(z,E.y-H)));else u=t[0],y=t[2],d=u.y+u.height+(y.y-u.y-u.height-p.height)/2,f.push(new mxPoint(z,u.y+u.height+H)),f.push(new mxPoint(z,d-H)),f.push(new mxPoint(z,d+p.height+H)),f.push(new mxPoint(z,y.y-H));for(y=0;y<f.length;y+=2)A=f[y],G=f[y+1],A=v(A,G,null!=D?D[y/2]:null,!0),A.node.style.visibility="visible",A.redraw(),x.push(A);for(y=f.length/2;null!=D&&y<D.length;y++)D[y].destroy();l.guidesArrVer=x;d-=b.y;f=!0}else I(!1,!0)}if(q||f)return p=new mxPoint(e,d),t=a.call(this, +b,p,g,k),q&&!f?p.y=t.y:f&&!q&&(p.x=t.x),t.y!=p.y&&null!=this.guideY&&null!=this.guideY.node&&(this.guideY.node.style.visibility="hidden"),t.x!=p.x&&null!=this.guideX&&null!=this.guideX.node&&(this.guideX.node.style.visibility="hidden"),p;I(!0,!0);return a.apply(this,arguments)};var c=mxGuide.prototype.setVisible;mxGuide.prototype.setVisible=function(a){c.call(this,a);var b=this.guidesArrVer,d=this.guidesArrHor;if(null!=b)for(var k=0;k<b.length;k++)b[k].node.style.visibility=a?"visible":"hidden";if(null!= d)for(k=0;k<d.length;k++)d[k].node.style.visibility=a?"visible":"hidden"};var b=mxGuide.prototype.destroy;mxGuide.prototype.destroy=function(){b.call(this);var a=this.guidesArrVer,c=this.guidesArrHor;if(null!=a){for(var g=0;g<a.length;g++)a[g].destroy();this.guidesArrVer=null}if(null!=c){for(g=0;g<c.length;g++)c[g].destroy();this.guidesArrHor=null}}})(); diff --git a/src/main/webapp/js/diagramly/App.js b/src/main/webapp/js/diagramly/App.js index c4e1d4310bc3fb6bba4437254f37bc157738ea0c..207a5934b3b9ec5b087702b7d70c868b7d87e1b3 100644 --- a/src/main/webapp/js/diagramly/App.js +++ b/src/main/webapp/js/diagramly/App.js @@ -29,7 +29,7 @@ App = function(editor, container, lightbox) action: ((file.savingFile) ? 'saving' : '') + ((file.savingFile && file.savingFileTime != null) ? '_' + Math.round((Date.now() - file.savingFileTime.getTime()) / 1000) : '') + - + ((file.saveLevel != null) ? ('-sl_' + file.saveLevel) : '') + + ((file.saveLevel != null) ? ('-sl_' + file.saveLevel) : '') + '-age_' + ((file.ageStart != null) ? Math.round((Date.now() - file.ageStart.getTime()) / 1000) : 'x') + ((this.editor.autosave) ? '' : '-nosave') + ((file.isAutosave()) ? '' : '-noauto') + @@ -1516,7 +1516,7 @@ App.prototype.sanityCheck = function() action: ((file.savingFile) ? 'saving' : '') + ((file.savingFile && file.savingFileTime != null) ? '_' + Math.round((Date.now() - file.savingFileTime.getTime()) / 1000) : '') + - + ((file.saveLevel != null) ? ('-sl_' + file.saveLevel) : '') + + ((file.saveLevel != null) ? ('-sl_' + file.saveLevel) : '') + '-age_' + ((file.ageStart != null) ? Math.round((Date.now() - file.ageStart.getTime()) / 1000) : 'x') + ((this.editor.autosave) ? '' : '-nosave') + ((file.isAutosave()) ? '' : '-noauto') + @@ -3671,7 +3671,7 @@ App.prototype.getPeerForMode = function(mode) * @param {number} dx X-coordinate of the translation. * @param {number} dy Y-coordinate of the translation. */ -App.prototype.createFile = function(title, data, libs, mode, done, replace, folderId, tempFile) +App.prototype.createFile = function(title, data, libs, mode, done, replace, folderId, tempFile, clibs) { mode = (tempFile) ? null : ((mode != null) ? mode : this.mode); @@ -3710,7 +3710,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold this.drive.insertFile(title, data, folderId, mxUtils.bind(this, function(file) { complete(); - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error); } else if (mode == App.MODE_GITHUB && this.gitHub != null) @@ -3718,7 +3718,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold this.gitHub.insertFile(title, data, mxUtils.bind(this, function(file) { complete(); - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error, false, folderId); } else if (mode == App.MODE_TRELLO && this.trello != null) @@ -3726,7 +3726,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold this.trello.insertFile(title, data, mxUtils.bind(this, function(file) { complete(); - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error, false, folderId); } else if (mode == App.MODE_DROPBOX && this.dropbox != null) @@ -3734,7 +3734,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold this.dropbox.insertFile(title, data, mxUtils.bind(this, function(file) { complete(); - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error); } else if (mode == App.MODE_ONEDRIVE && this.oneDrive != null) @@ -3742,7 +3742,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold this.oneDrive.insertFile(title, data, mxUtils.bind(this, function(file) { complete(); - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error, false, folderId); } else if (mode == App.MODE_BROWSER) @@ -3756,7 +3756,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold // Inserts data into local storage file.saveFile(title, false, mxUtils.bind(this, function() { - this.fileCreated(file, libs, replace, done); + this.fileCreated(file, libs, replace, done, clibs); }), error); }); @@ -3778,7 +3778,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold else { complete(); - this.fileCreated(new LocalFile(this, data, title, mode == null), libs, replace, done); + this.fileCreated(new LocalFile(this, data, title, mode == null), libs, replace, done, clibs); } } catch (e) @@ -3795,7 +3795,7 @@ App.prototype.createFile = function(title, data, libs, mode, done, replace, fold * @param {number} dx X-coordinate of the translation. * @param {number} dy Y-coordinate of the translation. */ -App.prototype.fileCreated = function(file, libs, replace, done) +App.prototype.fileCreated = function(file, libs, replace, done, clibs) { var url = window.location.pathname; @@ -3803,6 +3803,11 @@ App.prototype.fileCreated = function(file, libs, replace, done) { url += '?libs=' + libs; } + + if (clibs != null && clibs.length > 0) + { + url += '?clibs=' + clibs; + } url = this.getUrl(url); @@ -3811,7 +3816,7 @@ App.prototype.fileCreated = function(file, libs, replace, done) { url += '#' + file.getHash(); } - + // Makes sure to produce consistent output with finalized files via createFileData this needs // to save the file again since it needs the newly created file ID for redirecting in HTML if (this.spinner.spin(document.body, mxResources.get('inserting'))) @@ -3868,6 +3873,19 @@ App.prototype.fileCreated = function(file, libs, replace, done) { this.sidebar.showEntries(libs); } + + if (clibs != null) + { + var temp = []; + var tokens = clibs.split(';'); + + for (var i = 0; i < tokens.length; i++) + { + temp.push(decodeURIComponent(tokens[i])); + } + + this.loadLibraries(temp); + } }); var fn2 = mxUtils.bind(this, function() @@ -4358,6 +4376,17 @@ App.prototype.getLibraryStorageHint = function(file) * Updates action states depending on the selection. */ App.prototype.restoreLibraries = function() +{ + this.loadLibraries(mxSettings.getCustomLibraries(), mxUtils.bind(this, function() + { + this.loadLibraries((urlParams['clibs'] || '').split(';')); + })); +}; + +/** + * Updates action states depending on the selection. + */ +App.prototype.loadLibraries = function(libs, done) { if (this.sidebar != null) { @@ -4377,274 +4406,266 @@ App.prototype.restoreLibraries = function() delete this.pendingLibraries[id]; }); - var load = mxUtils.bind(this, function(libs, done) - { - var waiting = 0; - var files = []; + var waiting = 0; + var files = []; - // Loads in order of libs array - var checkDone = mxUtils.bind(this, function() + // Loads in order of libs array + var checkDone = mxUtils.bind(this, function() + { + if (waiting == 0) { - if (waiting == 0) + if (libs != null) { - if (libs != null) + for (var i = libs.length - 1; i >= 0; i--) { - for (var i = libs.length - 1; i >= 0; i--) + if (files[i] != null) { - if (files[i] != null) - { - this.loadLibrary(files[i]); - } + this.loadLibrary(files[i]); } } - - if (done != null) - { - done(); - } } - }); - - if (libs != null) + + if (done != null) + { + done(); + } + } + }); + + if (libs != null) + { + for (var i = 0; i < libs.length; i++) { - for (var i = 0; i < libs.length; i++) + var name = encodeURIComponent(decodeURIComponent(libs[i])); + + (mxUtils.bind(this, function(id, index) { - var name = encodeURIComponent(decodeURIComponent(libs[i])); - - (mxUtils.bind(this, function(id, index) + if (id != null && id.length > 0 && this.pendingLibraries[id] == null && + this.sidebar.palettes[id] == null) { - if (id != null && id.length > 0 && this.pendingLibraries[id] == null && - this.sidebar.palettes[id] == null) + // Waits for all libraries to load + waiting++; + + var onload = mxUtils.bind(this, function(file) { - // Waits for all libraries to load - waiting++; - - var onload = mxUtils.bind(this, function(file) - { - delete this.pendingLibraries[id]; - files[index] = file; - waiting--; - checkDone(); - }); - - var onerror = mxUtils.bind(this, function(keep) - { - ignore(id, keep); - waiting--; - checkDone(); - }); - - this.pendingLibraries[id] = true; - var service = id.substring(0, 1); - - if (service == 'L') - { - if (isLocalStorage || mxClient.IS_CHROMEAPP) - { - // Make asynchronous for barrier to work - window.setTimeout(mxUtils.bind(this, function() - { - try - { - var name = decodeURIComponent(id.substring(1)); - - var xml = this.getLocalData(name, mxUtils.bind(this, function(xml) - { - if (name == '.scratchpad' && xml == null) - { - xml = this.emptyLibraryXml; - } - - if (xml != null) - { - onload(new StorageLibrary(this, xml, name)); - } - else - { - onerror(); - } - })); - } - catch (e) - { - onerror(); - } - }), 0); - } - } - else if (service == 'U') + delete this.pendingLibraries[id]; + files[index] = file; + waiting--; + checkDone(); + }); + + var onerror = mxUtils.bind(this, function(keep) + { + ignore(id, keep); + waiting--; + checkDone(); + }); + + this.pendingLibraries[id] = true; + var service = id.substring(0, 1); + + if (service == 'L') + { + if (isLocalStorage || mxClient.IS_CHROMEAPP) { - var url = decodeURIComponent(id.substring(1)); - - if (!this.isOffline()) + // Make asynchronous for barrier to work + window.setTimeout(mxUtils.bind(this, function() { - var realUrl = url; - - if (!this.editor.isCorsEnabledForUrl(realUrl)) - { - var nocache = 't=' + new Date().getTime(); - realUrl = PROXY_URL + '?url=' + encodeURIComponent(url) + '&' + nocache; - } - try { - // Uses proxy to avoid CORS issues - mxUtils.get(realUrl, mxUtils.bind(this, function(req) + var name = decodeURIComponent(id.substring(1)); + + var xml = this.getLocalData(name, mxUtils.bind(this, function(xml) { - if (req.getStatus() >= 200 && req.getStatus() <= 299) + if (name == '.scratchpad' && xml == null) { - try - { - onload(new UrlLibrary(this, req.getText(), url)); - } - catch (e) - { - onerror(); - } + xml = this.emptyLibraryXml; + } + + if (xml != null) + { + onload(new StorageLibrary(this, xml, name)); } else { onerror(); } - }), function() - { - onerror(); - }); + })); } catch (e) { onerror(); } - } + }), 0); } - else if (service == 'R') + } + else if (service == 'U') + { + var url = decodeURIComponent(id.substring(1)); + + if (!this.isOffline()) { - var libDesc = decodeURIComponent(id.substring(1)); + var realUrl = url; - if (!this.isOffline()) + if (!this.editor.isCorsEnabledForUrl(realUrl)) { - try + var nocache = 't=' + new Date().getTime(); + realUrl = PROXY_URL + '?url=' + encodeURIComponent(url) + '&' + nocache; + } + + try + { + // Uses proxy to avoid CORS issues + mxUtils.get(realUrl, mxUtils.bind(this, function(req) { - libDesc = JSON.parse(libDesc); - var libObj = { - id: libDesc[0], - title: libDesc[1], - downloadUrl: libDesc[2] - } - - this.remoteInvoke('getFileContent', [libObj.downloadUrl], null, mxUtils.bind(this, function(libContent) + if (req.getStatus() >= 200 && req.getStatus() <= 299) { try { - onload(new RemoteLibrary(this, libContent, libObj)); + onload(new UrlLibrary(this, req.getText(), url)); } catch (e) { onerror(); } - }), function() + } + else { onerror(); - }); - } - catch (e) + } + }), function() { onerror(); - } + }); + } + catch (e) + { + onerror(); } } - else if (service == 'S' && this.loadDesktopLib != null) + } + else if (service == 'R') + { + var libDesc = decodeURIComponent(id.substring(1)); + + if (!this.isOffline()) { try { - this.loadDesktopLib(decodeURIComponent(id.substring(1)), function(desktopLib) + libDesc = JSON.parse(libDesc); + var libObj = { + id: libDesc[0], + title: libDesc[1], + downloadUrl: libDesc[2] + } + + this.remoteInvoke('getFileContent', [libObj.downloadUrl], null, mxUtils.bind(this, function(libContent) + { + try + { + onload(new RemoteLibrary(this, libContent, libObj)); + } + catch (e) + { + onerror(); + } + }), function() { - onload(desktopLib); - }, onerror); + onerror(); + }); } catch (e) { onerror(); } } - else + } + else if (service == 'S' && this.loadDesktopLib != null) + { + try { - var peer = null; - - if (service == 'G') + this.loadDesktopLib(decodeURIComponent(id.substring(1)), function(desktopLib) { - if (this.drive != null && this.drive.user != null) - { - peer = this.drive; - } + onload(desktopLib); + }, onerror); + } + catch (e) + { + onerror(); + } + } + else + { + var peer = null; + + if (service == 'G') + { + if (this.drive != null && this.drive.user != null) + { + peer = this.drive; } - else if (service == 'H') + } + else if (service == 'H') + { + if (this.gitHub != null && this.gitHub.getUser() != null) { - if (this.gitHub != null && this.gitHub.getUser() != null) - { - peer = this.gitHub; - } + peer = this.gitHub; } - else if (service == 'T') + } + else if (service == 'T') + { + if (this.trello != null && this.trello.isAuthorized()) { - if (this.trello != null && this.trello.isAuthorized()) - { - peer = this.trello; - } + peer = this.trello; } - else if (service == 'D') + } + else if (service == 'D') + { + if (this.dropbox != null && this.dropbox.getUser() != null) { - if (this.dropbox != null && this.dropbox.getUser() != null) - { - peer = this.dropbox; - } + peer = this.dropbox; } - else if (service == 'W') + } + else if (service == 'W') + { + if (this.oneDrive != null && this.oneDrive.getUser() != null) { - if (this.oneDrive != null && this.oneDrive.getUser() != null) - { - peer = this.oneDrive; - } + peer = this.oneDrive; } - - if (peer != null) + } + + if (peer != null) + { + peer.getLibrary(decodeURIComponent(id.substring(1)), mxUtils.bind(this, function(file) { - peer.getLibrary(decodeURIComponent(id.substring(1)), mxUtils.bind(this, function(file) + try { - try - { - onload(file); - } - catch (e) - { - onerror(); - } - }), function(resp) + onload(file); + } + catch (e) { onerror(); - }); - } - else + } + }), function(resp) { - onerror(true); - } + onerror(); + }); + } + else + { + onerror(true); } } - }))(name, i); - } - - checkDone(); - } - else - { - checkDone(); + } + }))(name, i); } - }); - - load(mxSettings.getCustomLibraries(), function() + + checkDone(); + } + else { - load((urlParams['clibs'] || '').split(';')); - }); + checkDone(); + } } }; diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js index e316feec19fab0e6cef77154013f8f1e8c30ed4a..10c29447906cff0ddbe0641d01e2cdf9f4b59665 100644 --- a/src/main/webapp/js/diagramly/Dialogs.js +++ b/src/main/webapp/js/diagramly/Dialogs.js @@ -2741,7 +2741,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc { var tmp = templates[i0++]; addButton(tmp.url, tmp.libs, tmp.title, tmp.tooltip? tmp.tooltip : tmp.title, - tmp.select, tmp.imgUrl, tmp.info, tmp.onClick, tmp.preview, tmp.noImg); + tmp.select, tmp.imgUrl, tmp.info, tmp.onClick, tmp.preview, tmp.noImg, tmp.clibs); first = false; } } @@ -2940,6 +2940,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc } var templateLibs = null; + var templateClibs = null; var templateXml = null; var selectedElt = null; var templateExtUrl = null; @@ -2977,7 +2978,8 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc templateLibs.length > 0) ? templateLibs : null, null, function() { editorUi.hideDialog(); - }, null, folderId); + }, null, folderId, null, (templateClibs != null && + templateClibs.length > 0) ? templateClibs : null); }, editorUi.mode != App.MODE_GOOGLE || editorUi.stateArg == null || editorUi.stateArg.folderId == null); @@ -3004,7 +3006,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc var w = 140; var h = 140; - function selectElement(elt, xml, libs, extUrl, infoObj) + function selectElement(elt, xml, libs, extUrl, infoObj, clibs) { if (selectedElt != null) { @@ -3016,6 +3018,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc templateXml = xml; templateLibs = libs; + templateClibs = clibs; selectedElt = elt; templateExtUrl = extUrl; templateInfoObj = infoObj; @@ -3024,7 +3027,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc selectedElt.style.border = rightHighlightBorder; }; - function addButton(url, libs, title, tooltip, select, imgUrl, infoObj, onClick, preview, noImg) + function addButton(url, libs, title, tooltip, select, imgUrl, infoObj, onClick, preview, noImg, clibs) { var elt = document.createElement('div'); elt.className = 'geTemplate'; @@ -3045,7 +3048,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc mxEvent.addListener(elt, 'click', function(evt) { - selectElement(elt, null, null, url, infoObj); + selectElement(elt, null, null, url, infoObj, clibs); }); mxEvent.addListener(elt, 'dblclick', function(evt) @@ -3088,7 +3091,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc if (req.getStatus() >= 200 && req.getStatus() <= 299) { - selectElement(elt, req.getText(), libs); + selectElement(elt, req.getText(), libs, null, null, clibs); if (createIt) { @@ -3327,7 +3330,7 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc list.push({url: node.getAttribute('url'), libs: node.getAttribute('libs'), title: node.getAttribute('title'), tooltip: node.getAttribute('url'), - preview: node.getAttribute('preview')}); + preview: node.getAttribute('preview'), clibs: node.getAttribute('clibs')}); } } @@ -9497,7 +9500,8 @@ TemplatesDialog.prototype.init = function(editorUi, callback, cancelCallback, } list.push({url: node.getAttribute('url'), libs: node.getAttribute('libs'), - title: node.getAttribute('title'), tooltip: node.getAttribute('url'), imgUrl: node.getAttribute('imgUrl')}); + clibs: node.getAttribute('clibs'), title: node.getAttribute('title'), + tooltip: node.getAttribute('url'), imgUrl: node.getAttribute('imgUrl')}); } } @@ -9526,7 +9530,7 @@ TemplatesDialog.prototype.init = function(editorUi, callback, cancelCallback, if (title != null) { newDiagramCats.push({img: node.getAttribute('img'), libs: node.getAttribute('libs'), - title: node.getAttribute('title')}); + clibs: node.getAttribute('clibs'), title: node.getAttribute('title')}); } } diff --git a/src/main/webapp/js/mxgraph/Graph.js b/src/main/webapp/js/mxgraph/Graph.js index d44772314b613e062e628e927707676b3f9f6f42..a0d1971c85b6cb6325faaf1520077345556c791e 100644 --- a/src/main/webapp/js/mxgraph/Graph.js +++ b/src/main/webapp/js/mxgraph/Graph.js @@ -991,7 +991,8 @@ Graph.zapGremlins = function(text) var code = text.charCodeAt(i); // Removes all control chars except TAB, LF and CR - if ((code >= 32 || code == 9 || code == 10 || code == 13) && code != 0xFFFF) + if ((code >= 32 || code == 9 || code == 10 || code == 13) && + code != 0xFFFF && code != 0xFFFE) { checked.push(text.charAt(i)); } @@ -4797,6 +4798,9 @@ if (typeof mxVertexHandler != 'undefined') // Enables guides mxGraphHandler.prototype.guidesEnabled = true; + + // Removes parents where all child cells are moved out + mxGraphHandler.prototype.removeEmptyParents = true; // Enables fading of rubberband mxRubberband.prototype.fadeOut = true; diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js index 1ce14a5de1f81133e88ddce574e7a29aef259ff4..2a880058ca86ce1deb62b31e776d49a3d4a436ca 100644 --- a/src/main/webapp/js/viewer.min.js +++ b/src/main/webapp/js/viewer.min.js @@ -433,9 +433,9 @@ mxSvgCanvas2D.prototype.convertHtml=function(a){if(this.useDomParser){var b=(new b.documentElement.appendChild(c);var d=document.createElement("div");d.innerHTML=a;for(a=d.firstChild;null!=a;)d=a.nextSibling,c.appendChild(b.adoptNode(a)),a=d;return c.innerHTML}b=document.createElement("textarea");b.innerHTML=a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/</g,"<").replace(/>/g,">");a=b.value.replace(/&/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g, "&").replace(/<br>/g,"<br />").replace(/<hr>/g,"<hr />").replace(/(<img[^>]+)>/gm,"$1 />")}return a}; mxSvgCanvas2D.prototype.createDiv=function(a,b,c,d,e,f){c=this.state;d="display:inline-block;font-size:"+c.fontSize+'px;font-family:"'+c.fontFamily+'";color:'+c.fontColor+";line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?c.fontSize*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT*this.lineHeightCorrection)+";"+d;(c.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(d+="font-weight:bold;");(c.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(d+="font-style:italic;");(c.fontStyle& -mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+c.fontBackgroundColor+";");null!=c.fontBorderColor&&(b+="border:1px solid "+c.fontBorderColor+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+ -b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+d+'">'+a+"</div>").documentElement}; -mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; +mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(d+="text-decoration:underline;");d=b==mxConstants.ALIGN_CENTER?d+"text-align:center;":b==mxConstants.ALIGN_RIGHT?d+"text-align:right;":d+"text-align:left;";b="";null!=c.fontBackgroundColor&&(b+="background-color:"+mxUtils.htmlEntities(c.fontBackgroundColor)+";");null!=c.fontBorderColor&&(b+="border:1px solid "+mxUtils.htmlEntities(c.fontBorderColor)+";");mxUtils.isNode(a)||(a=this.convertHtml(a),"fill"!=e&&"width"!=e?(null!=f&&(b+="white-space:"+ +f+";"),a='<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;'+b+'">'+a+"</div>"):d+=b);if(!mxClient.IS_IE&&document.createElementNS)return e=document.createElementNS("http://www.w3.org/1999/xhtml","div"),e.setAttribute("style",d),mxUtils.isNode(a)?this.root.ownerDocument!=document?e.appendChild(a.cloneNode(!0)):e.appendChild(a):e.innerHTML=a,e;mxUtils.isNode(a)&&this.root.ownerDocument!=document&&(a=a.outerHTML);return mxUtils.parseXml('<div xmlns="http://www.w3.org/1999/xhtml" style="'+ +d+'">'+a+"</div>").documentElement};mxSvgCanvas2D.prototype.invalidateCachedOffsetSize=function(a){delete a.firstChild.mxCachedOffsetWidth;delete a.firstChild.mxCachedFinalOffsetWidth;delete a.firstChild.mxCachedFinalOffsetHeight}; mxSvgCanvas2D.prototype.updateText=function(a,b,c,d,e,f,g,k,l,m,n){if(null!=n&&null!=n.firstChild&&null!=n.firstChild.firstChild&&null!=n.firstChild.firstChild.firstChild){n=n.firstChild;var p=n.firstChild,q=p.firstChild;m=null!=m?m:0;var r=this.state;a+=r.dx;b+=r.dy;l?(q.style.maxHeight=Math.round(d)+"px",q.style.maxWidth=Math.round(c)+"px"):"fill"==k?(q.style.width=Math.round(c+1)+"px",q.style.height=Math.round(d+1)+"px"):"width"==k&&(q.style.width=Math.round(c+1)+"px",0<d&&(q.style.maxHeight=Math.round(d)+ "px"));g&&0<c&&(q.style.width=Math.round(c+1)+"px");var t,u=q;null!=u.firstChild&&"DIV"==u.firstChild.nodeName&&(u=u.firstChild);var x=null!=n.mxCachedOffsetWidth?n.mxCachedOffsetWidth:u.offsetWidth;t=x+0;g&&"fill"!=k&&(l&&(t=Math.min(t,c)),q.style.width=Math.round(t+1)+"px");t=null!=n.mxCachedFinalOffsetWidth?n.mxCachedFinalOffsetWidth:u.offsetWidth;g=null!=n.mxCachedFinalOffsetHeight?n.mxCachedFinalOffsetHeight:u.offsetHeight;this.cacheOffsetSize&&(n.mxCachedOffsetWidth=x,n.mxCachedFinalOffsetWidth= t,n.mxCachedFinalOffsetHeight=g);t+=0;g-=2;l&&(g=Math.min(g,d),t=Math.min(t,c));"width"==k?d=g:"fill"!=k&&(c=t,d=g);g=l=0;e==mxConstants.ALIGN_CENTER?l-=c/2:e==mxConstants.ALIGN_RIGHT&&(l-=c);a+=l;f==mxConstants.ALIGN_MIDDLE?g-=d/2:f==mxConstants.ALIGN_BOTTOM&&(g-=d);"fill"!=k&&mxClient.IS_FF&&mxClient.IS_WIN&&(g-=2);b+=g;e=1!=r.scale?"scale("+r.scale+")":"";0!=r.rotation&&this.rotateHtml?(e+="rotate("+r.rotation+","+c/2+","+d/2+")",b=this.rotatePoint((a+c/2)*r.scale,(b+d/2)*r.scale,r.rotation,r.rotationCx, @@ -475,9 +475,9 @@ mxVmlCanvas2D.prototype.quadTo=function(a,b,c,d){var e=this.state,f=(this.lastX+ mxVmlCanvas2D.prototype.createRect=function(a,b,c,d,e){var f=this.state;a=this.createVmlElement(a);a.style.position="absolute";a.style.left=this.format((b+f.dx)*f.scale)+"px";a.style.top=this.format((c+f.dy)*f.scale)+"px";a.style.width=this.format(d*f.scale)+"px";a.style.height=this.format(e*f.scale)+"px";return a};mxVmlCanvas2D.prototype.rect=function(a,b,c,d){this.node=this.createRect("rect",a,b,c,d)}; mxVmlCanvas2D.prototype.roundrect=function(a,b,c,d,e,f){this.node=this.createRect("roundrect",a,b,c,d);this.node.setAttribute("arcsize",Math.max(100*e/c,100*f/d)+"%")};mxVmlCanvas2D.prototype.ellipse=function(a,b,c,d){this.node=this.createRect("oval",a,b,c,d)}; mxVmlCanvas2D.prototype.image=function(a,b,c,d,e,f,g,k){f?(a=this.createRect("rect",a,b,c,d),a.stroked="false",b=this.createVmlElement("fill"),b.aspect=f?"atmost":"ignore",b.rotate="true",b.type="frame",b.src=e,a.appendChild(b)):(a=this.createRect("image",a,b,c,d),a.src=e);g&&k?a.style.rotation="180":g?a.style.flip="x":k&&(a.style.flip="y");if(1>this.state.alpha||1>this.state.fillAlpha)a.style.filter+="alpha(opacity="+this.state.alpha*this.state.fillAlpha*100+")";this.root.appendChild(a)}; -mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+e.fontBackgroundColor+";");null!=e.fontBorderColor&&(f+="border:1px solid "+e.fontBorderColor+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration="inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText= -f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic");(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&& -(a.textDecoration="underline");return c}; +mxVmlCanvas2D.prototype.createDiv=function(a,b,c,d){c=this.createElement("div");var e=this.state,f="";null!=e.fontBackgroundColor&&(f+="background-color:"+mxUtils.htmlEntities(e.fontBackgroundColor)+";");null!=e.fontBorderColor&&(f+="border:1px solid "+mxUtils.htmlEntities(e.fontBorderColor)+";");mxUtils.isNode(a)?c.appendChild(a):"fill"!=d&&"width"!=d?(d=this.createElement("div"),d.style.cssText=f,d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",d.style.zoom="1",d.style.textDecoration= +"inherit",d.innerHTML=a,c.appendChild(d)):(c.style.cssText=f,c.innerHTML=a);a=c.style;a.fontSize=e.fontSize/this.vmlScale+"px";a.fontFamily=e.fontFamily;a.color=e.fontColor;a.verticalAlign="top";a.textAlign=b||"left";a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?e.fontSize*mxConstants.LINE_HEIGHT/this.vmlScale+"px":mxConstants.LINE_HEIGHT;(e.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a.fontWeight="bold");(e.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a.fontStyle="italic"); +(e.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&(a.textDecoration="underline");return c}; mxVmlCanvas2D.prototype.text=function(a,b,c,d,e,f,g,k,l,m,n,p,q){if(this.textEnabled&&null!=e){var r=this.state;if("html"==l){null!=r.rotation&&(b=this.rotatePoint(a,b,r.rotation,r.rotationCx,r.rotationCy),a=b.x,b=b.y);8!=document.documentMode||mxClient.IS_EM?(a*=r.scale,b*=r.scale):(a+=r.dx,b+=r.dy,"fill"!=m&&g==mxConstants.ALIGN_TOP&&--b);l=8!=document.documentMode||mxClient.IS_EM?this.createElement("div"):this.createVmlElement("group");l.style.position="absolute";l.style.display="inline";l.style.left= this.format(a)+"px";l.style.top=this.format(b)+"px";l.style.zoom=r.scale;var t=this.createElement("div");t.style.position="relative";t.style.display="inline";var u=mxUtils.getAlignmentAsPoint(f,g),x=u.x,u=u.y;e=this.createDiv(e,f,g,m);f=this.createElement("div");null!=q&&e.setAttribute("dir",q);if(k&&0<c){if(n||(e.style.width=Math.round(c)+"px"),e.style.wordWrap=mxConstants.WORD_WRAP,e.style.whiteSpace="normal","break-word"==e.style.wordWrap){var y=e;null!=y.firstChild&&"DIV"==y.firstChild.nodeName&& (y.firstChild.style.width="100%")}}else e.style.whiteSpace="nowrap";p=r.rotation+(p||0);this.rotateHtml&&0!=p?(f.style.display="inline",f.style.zoom="1",f.appendChild(e),8!=document.documentMode||mxClient.IS_EM||"DIV"==this.root.nodeName?l.appendChild(f):(t.appendChild(f),l.appendChild(t))):8!=document.documentMode||mxClient.IS_EM?(e.style.display="inline",l.appendChild(e)):(t.appendChild(e),l.appendChild(t));"DIV"!=this.root.nodeName?(q=this.createVmlElement("rect"),q.stroked="false",q.filled="false", @@ -620,8 +620,8 @@ this.textWidthPadding;this.clipped&&(f=Math.min(f,this.bounds.height));l=this.bo "px");var g=g*d,l=l*d,m=this.getTextRotation()*(Math.PI/180);e=parseFloat(parseFloat(Math.cos(m)).toFixed(8));f=parseFloat(parseFloat(Math.sin(-m)).toFixed(8));m%=2*Math.PI;0>m&&(m+=2*Math.PI);m%=Math.PI;m>Math.PI/2&&(m=Math.PI-m);var k=Math.cos(m),n=Math.sin(-m),b=l*-(b+.5),p=g*-(c+.5);0!=m&&(c="progid:DXImageTransform.Microsoft.Matrix(M11="+e+", M12="+f+", M21="+-f+", M22="+e+", sizingMethod='auto expand')",a.filter=null!=a.filter&&0<a.filter.length?a.filter+(" "+c):c);c=0;"fill"!=this.overflow&& mxClient.IS_QUIRKS&&(c=this.valign==mxConstants.ALIGN_TOP?c-1:this.valign==mxConstants.ALIGN_BOTTOM?c+2:c+1);a.zoom=d;a.left=Math.round(this.bounds.x+((l-l*k+g*n)/2-e*b-f*p)-l/2)+"px";a.top=Math.round(this.bounds.y+((g-g*k+l*n)/2+f*b-e*p)-g/2+c)+"px"}; mxText.prototype.updateValue=function(){if(mxUtils.isNode(this.value))this.node.innerHTML="",this.node.appendChild(this.value);else{var a=this.value;this.dialect!=mxConstants.DIALECT_STRICTHTML&&(a=mxUtils.htmlEntities(a,!1));var a=mxUtils.replaceTrailingNewlines(a,"<div><br></div>"),a=this.replaceLinefeeds?a.replace(/\n/g,"<br/>"):a,b=null!=this.background&&this.background!=mxConstants.NONE?this.background:null,c=null!=this.border&&this.border!=mxConstants.NONE?this.border:null;if("fill"==this.overflow|| -"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+b+";");null!=c&&(d+="border:1px solid "+c+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML=a;a=this.node.getElementsByTagName("div"); -0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; +"width"==this.overflow)null!=b&&(this.node.style.backgroundColor=b),null!=c&&(this.node.style.border="1px solid "+c);else{var d="";null!=b&&(d+="background-color:"+mxUtils.htmlEntities(b)+";");null!=c&&(d+="border:1px solid "+mxUtils.htmlEntities(c)+";");a='<div style="zoom:1;'+d+"display:inline-block;_display:inline;text-decoration:inherit;padding-bottom:1px;padding-right:1px;line-height:"+(mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT)+'">'+a+"</div>"}this.node.innerHTML= +a;a=this.node.getElementsByTagName("div");0<a.length&&(b=this.textDirection,b==mxConstants.TEXT_DIRECTION_AUTO&&this.dialect!=mxConstants.DIALECT_STRICTHTML&&(b=this.getAutoDirection()),b==mxConstants.TEXT_DIRECTION_LTR||b==mxConstants.TEXT_DIRECTION_RTL?a[a.length-1].setAttribute("dir",b):a[a.length-1].removeAttribute("dir"))}}; mxText.prototype.updateFont=function(a){a=a.style;a.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?this.size*mxConstants.LINE_HEIGHT+"px":mxConstants.LINE_HEIGHT;a.fontSize=this.size+"px";a.fontFamily='"'+this.family+'"';a.verticalAlign="top";a.color=this.color;a.fontWeight=(this.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?"bold":"";a.fontStyle=(this.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?"italic":"";a.textDecoration=(this.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE? "underline":"";a.textAlign=this.align==mxConstants.ALIGN_CENTER?"center":this.align==mxConstants.ALIGN_RIGHT?"right":"left"}; mxText.prototype.updateSize=function(a,b){var c=Math.max(0,Math.round(this.bounds.width/this.scale)),d=Math.max(0,Math.round(this.bounds.height/this.scale)),e=a.style;this.clipped?(e.overflow="hidden",mxClient.IS_QUIRKS?e.width=c+"px":(e.maxHeight=d+"px",e.maxWidth=c+"px")):"fill"==this.overflow?(e.width=c+1+"px",e.height=d+1+"px",e.overflow="hidden"):"width"==this.overflow&&(e.width=c+1+"px",e.maxHeight=d+1+"px",e.overflow="hidden");if(this.wrap&&0<c){if(e.wordWrap=mxConstants.WORD_WRAP,e.whiteSpace= @@ -1476,9 +1476,10 @@ g)),b,c,d)}};mxCellStatePreview.prototype.addEdges=function(a){for(var b=this.gr mxConnectionConstraint.prototype.dx=null;mxConnectionConstraint.prototype.dy=null; function mxGraphHandler(a){this.graph=a;this.graph.addMouseListener(this);this.panHandler=mxUtils.bind(this,function(){this.updatePreviewShape();this.updateHint()});this.graph.addListener(mxEvent.PAN,this.panHandler);this.escapeHandler=mxUtils.bind(this,function(a,c){this.reset()});this.graph.addListener(mxEvent.ESCAPE,this.escapeHandler);this.refreshHandler=mxUtils.bind(this,function(a,c){if(null!=this.first)try{this.bounds=this.graph.getView().getBounds(this.cells),this.pBounds=this.getPreviewBounds(this.cells), this.updatePreviewShape()}catch(d){this.reset()}});this.graph.getModel().addListener(mxEvent.CHANGE,this.refreshHandler)}mxGraphHandler.prototype.graph=null;mxGraphHandler.prototype.maxCells=mxClient.IS_IE?20:50;mxGraphHandler.prototype.enabled=!0;mxGraphHandler.prototype.highlightEnabled=!0;mxGraphHandler.prototype.cloneEnabled=!0;mxGraphHandler.prototype.moveEnabled=!0;mxGraphHandler.prototype.guidesEnabled=!1;mxGraphHandler.prototype.guide=null;mxGraphHandler.prototype.currentDx=null; -mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1;mxGraphHandler.prototype.rotationEnabled=!0; -mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a};mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled}; -mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)};mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; +mxGraphHandler.prototype.currentDy=null;mxGraphHandler.prototype.updateCursor=!0;mxGraphHandler.prototype.selectEnabled=!0;mxGraphHandler.prototype.removeCellsFromParent=!0;mxGraphHandler.prototype.removeEmptyParents=!1;mxGraphHandler.prototype.connectOnDrop=!1;mxGraphHandler.prototype.scrollOnMove=!0;mxGraphHandler.prototype.minimumSize=6;mxGraphHandler.prototype.previewColor="black";mxGraphHandler.prototype.htmlPreview=!1;mxGraphHandler.prototype.shape=null;mxGraphHandler.prototype.scaleGrid=!1; +mxGraphHandler.prototype.rotationEnabled=!0;mxGraphHandler.prototype.isEnabled=function(){return this.enabled};mxGraphHandler.prototype.setEnabled=function(a){this.enabled=a};mxGraphHandler.prototype.isCloneEnabled=function(){return this.cloneEnabled};mxGraphHandler.prototype.setCloneEnabled=function(a){this.cloneEnabled=a};mxGraphHandler.prototype.isMoveEnabled=function(){return this.moveEnabled};mxGraphHandler.prototype.setMoveEnabled=function(a){this.moveEnabled=a}; +mxGraphHandler.prototype.isSelectEnabled=function(){return this.selectEnabled};mxGraphHandler.prototype.setSelectEnabled=function(a){this.selectEnabled=a};mxGraphHandler.prototype.isRemoveCellsFromParent=function(){return this.removeCellsFromParent};mxGraphHandler.prototype.setRemoveCellsFromParent=function(a){this.removeCellsFromParent=a};mxGraphHandler.prototype.getInitialCellForEvent=function(a){return a.getCell()};mxGraphHandler.prototype.isDelayedSelection=function(a,b){return this.graph.isCellSelected(a)}; +mxGraphHandler.prototype.consumeMouseEvent=function(a,b){b.consume()}; mxGraphHandler.prototype.mouseDown=function(a,b){if(!b.isConsumed()&&this.isEnabled()&&this.graph.isEnabled()&&null!=b.getState()&&!mxEvent.isMultiTouchEvent(b.getEvent())){var c=this.getInitialCellForEvent(b);this.delayedSelection=this.isDelayedSelection(c,b);this.cell=null;this.isSelectEnabled()&&!this.delayedSelection&&this.graph.selectCellForEvent(c,b.getEvent());if(this.isMoveEnabled()){var d=this.graph.model,e=d.getGeometry(c);this.graph.isCellMovable(c)&&(!d.isEdge(c)||1<this.graph.getSelectionCount()|| null!=e.points&&0<e.points.length||null==d.getTerminal(c,!0)||null==d.getTerminal(c,!1)||this.graph.allowDanglingEdges||this.graph.isCloneEvent(b.getEvent())&&this.graph.isCellsCloneable())?this.start(c,b.getX(),b.getY()):this.delayedSelection&&(this.cell=c);this.cellWasClicked=!0;this.consumeMouseEvent(mxEvent.MOUSE_DOWN,b)}}}; mxGraphHandler.prototype.getGuideStates=function(){var a=this.graph.getDefaultParent(),b=this.graph.getModel(),c=mxUtils.bind(this,function(a){return null!=this.graph.view.getState(a)&&b.isVertex(a)&&null!=b.getGeometry(a)&&!b.getGeometry(a).relative});return this.graph.view.getCellStates(b.filterDescendants(c,a))};mxGraphHandler.prototype.getCells=function(a){return!this.delayedSelection&&this.graph.isCellMovable(a)?[a]:this.graph.getMovableCells(this.graph.getSelectionCells())}; @@ -1498,8 +1499,10 @@ mxGraphHandler.prototype.mouseUp=function(a,b){if(!b.isConsumed()){var c=this.gr e),e=this.roundLength(this.currentDy/e),g=this.target;c.isSplitEnabled()&&c.isSplitTarget(g,this.cells,b.getEvent())?c.splitEdge(g,this.cells,null,f,e):this.moveCells(this.cells,f,e,d,this.target,b.getEvent())}}else this.isSelectEnabled()&&this.delayedSelection&&null!=this.cell&&this.selectDelayed(b)}this.cellWasClicked&&this.consumeMouseEvent(mxEvent.MOUSE_UP,b);this.reset()}; mxGraphHandler.prototype.selectDelayed=function(a){this.graph.isCellSelected(this.cell)&&this.graph.popupMenuHandler.isPopupTrigger(a)||this.graph.selectCellForEvent(this.cell,a.getEvent())};mxGraphHandler.prototype.reset=function(){this.destroyShapes();this.removeHint();this.delayedSelection=this.cellWasClicked=!1;this.target=this.cell=this.first=this.guides=this.currentDy=this.currentDx=null}; mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,c){if(this.graph.getModel().isVertex(a)&&(a=this.graph.getView().getState(a),null!=a)){c=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(c),mxEvent.getClientY(c));var d=mxUtils.toRadians(mxUtils.getValue(a.style,mxConstants.STYLE_ROTATION)||0);if(0!=d){b=Math.cos(-d);var d=Math.sin(-d),e=new mxPoint(a.getCenterX(),a.getCenterY());c=mxUtils.getRotatedPoint(c,b,d,e)}return!mxUtils.contains(a,c.x,c.y)}return!1}; -mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(this.graph.getModel().getParent(this.cell),a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0]); -d&&this.graph.setSelectionCells(a)};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; +mxGraphHandler.prototype.moveCells=function(a,b,c,d,e,f){d&&(a=this.graph.getCloneableCells(a));var g=this.graph.getModel().getParent(this.cell);null==e&&this.isRemoveCellsFromParent()&&this.shouldRemoveCellsFromParent(g,a,f)&&(e=this.graph.getDefaultParent());d=d&&!this.graph.isCellLocked(e||this.graph.getDefaultParent());this.graph.getModel().beginUpdate();try{g=[];if(!d&&null!=e&&this.removeEmptyParents){for(var k=new mxDictionary,l=0;l<a.length;l++)k.put(a[l],!0);for(l=0;l<a.length;l++){var m= +this.graph.model.getParent(a[l]);null==m||k.get(m)||(k.put(m,!0),g.push(m))}}a=this.graph.moveCells(a,b-this.graph.panDx/this.graph.view.scale,c-this.graph.panDy/this.graph.view.scale,d,e,f);b=[];for(l=0;l<g.length;l++)this.shouldRemoveParent(g[l])&&b.push(g[l]);this.graph.removeCells(b,!1)}finally{this.graph.getModel().endUpdate()}d&&this.graph.setSelectionCells(a);this.isSelectEnabled()&&this.scrollOnMove&&this.graph.scrollCellToVisible(a[0])}; +mxGraphHandler.prototype.shouldRemoveParent=function(a){var b=this.graph.view.getState(a);console.log("state",b,this.graph.model.getChildCount(b.cell));return null!=b&&(this.graph.model.isEdge(b.cell)||this.graph.model.isVertex(b.cell))&&this.graph.isCellDeletable(b.cell)&&0==this.graph.model.getChildCount(b.cell)?(a=mxUtils.getValue(b.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),b=mxUtils.getValue(b.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE),a==mxConstants.NONE&&b==mxConstants.NONE): +!1};mxGraphHandler.prototype.destroyShapes=function(){null!=this.shape&&(this.shape.destroy(),this.shape=null);null!=this.guide&&(this.guide.destroy(),this.guide=null);null!=this.highlight&&(this.highlight.destroy(),this.highlight=null)}; mxGraphHandler.prototype.destroy=function(){this.graph.removeMouseListener(this);this.graph.removeListener(this.panHandler);null!=this.escapeHandler&&(this.graph.removeListener(this.escapeHandler),this.escapeHandler=null);null!=this.refreshHandler&&(this.graph.getModel().removeListener(this.refreshHandler),this.refreshHandler=null);this.destroyShapes();this.removeHint()}; function mxPanningHandler(a){null!=a&&(this.graph=a,this.graph.addMouseListener(this),this.forcePanningHandler=mxUtils.bind(this,function(a,c){var b=c.getProperty("eventName"),e=c.getProperty("event");b==mxEvent.MOUSE_DOWN&&this.isForcePanningEvent(e)&&(this.start(e),this.active=!0,this.fireEvent(new mxEventObject(mxEvent.PAN_START,"event",e)),e.consume())}),this.graph.addListener(mxEvent.FIRE_MOUSE_EVENT,this.forcePanningHandler),this.gestureHandler=mxUtils.bind(this,function(a,c){if(this.isPinchEnabled()){var b= c.getProperty("event");mxEvent.isConsumed(b)||"gesturestart"!=b.type?"gestureend"==b.type&&null!=this.initialScale&&(this.initialScale=null):(this.initialScale=this.graph.view.scale,this.active||null==this.mouseDownEvent||(this.start(this.mouseDownEvent),this.mouseDownEvent=null));if(null!=this.initialScale){var e=Math.round(this.initialScale*b.scale*100)/100;null!=this.minScale&&(e=Math.max(this.minScale,e));null!=this.maxScale&&(e=Math.min(this.maxScale,e));this.graph.view.scale!=e&&(this.graph.zoomTo(e), @@ -2235,7 +2238,7 @@ mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var b=c.getPro function(a,c){return c&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var D=this.updateMouseEvent;this.updateMouseEvent=function(a){a=D.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= null);return a}}this.currentTranslate=new mxPoint(0,0)};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,b,e){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)}; -Graph.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);(32<=d||9==d||10==d||13==d)&&65535!=d&&b.push(a.charAt(e))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; +Graph.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);(32<=d||9==d||10==d||13==d)&&65535!=d&&65534!=d&&b.push(a.charAt(e))}return b.join("")};Graph.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")};Graph.compressNode=function(a){return Graph.compress(Graph.zapGremlins(mxUtils.getXml(a)))}; Graph.compress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=Graph.bytesToString(b?pako.deflate(encodeURIComponent(a)):pako.deflateRaw(encodeURIComponent(a)));return window.btoa?btoa(e):Base64.encode(e,!0)};Graph.decompress=function(a,b){if(null==a||0==a.length||"undefined"===typeof pako)return a;var e=window.atob?atob(a):Base64.decode(a,!0);return Graph.zapGremlins(decodeURIComponent(Graph.bytesToString(b?pako.inflate(e):pako.inflateRaw(e))))}; mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null;Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.linkRelation="nofollow noopener noreferrer";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff"; Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400);Graph.prototype.transparentBackground=!0;Graph.prototype.selectParentAfterDelete=!1;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default"; @@ -2347,21 +2350,21 @@ l.documentElement&&mxStencilRegistry.parseStencilSet(l.documentElement,b,m)}};mx mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,b,e),d=d.nextSibling;else{e=null!=e?e:!0;var d=a.firstChild,l="";a=a.getAttribute("name");for(null!=a&&(l=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var l=l.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(l+m.toLowerCase(),new mxStencil(d));if(null!=b){var r=d.getAttribute("w"), u=d.getAttribute("h"),r=null==r?80:parseInt(r,10),u=null==u?80:parseInt(u,10);b(l,m,a,r,u)}}d=d.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#29b6f2";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= -"#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var b=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| -b.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); -for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments),c=a.getCell; -a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& -(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");null!=this.currentEdgeStyle.orthogonalLoop? -a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize?a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&(a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+ -";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())};Graph.prototype.importGraphModel=function(a,c,b,f){c=null!=c? -c:0;b=null!=b?b:0;var d=new mxCodec(a.ownerDocument),e=new mxGraphModel;d.decode(a,e);a=[];d=e.getChildren(this.cloneCell(e.root,this.isCloneInvalidEdges()));if(null!=d){d=d.slice();this.model.beginUpdate();try{if(1!=d.length||this.isCellLocked(this.getDefaultParent()))for(e=0;e<d.length;e++)a=a.concat(this.model.getChildren(this.moveCells([d[e]],c,b,!1,this.model.getRoot())[0]));else a=this.moveCells(e.getChildren(d[0]),c,b,!1,this.getDefaultParent());if(f){this.isGridEnabled()&&(c=this.snap(c), -b=this.snap(b));var k=this.getBoundingBoxFromGeometry(a,!0);null!=k&&this.moveCells(a,c-k.x,b-k.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.getAllConnectionConstraints=function(a,c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var f=[];try{for(var d=JSON.parse(b),b=0;b<d.length;b++){var e=d[b];f.push(new mxConnectionConstraint(new mxPoint(e[0],e[1]),2<e.length?"0"!=e[2]:!0,null,3<e.length?e[3]:0,4<e.length?e[4]:0))}}catch(Z){}return f}if(null!=a.shape&&null!= -a.shape.bounds){e=a.shape.direction;d=a.shape.bounds;b=a.shape.scale;f=d.width/b;d=d.height/b;if(e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH)e=f,f=d,d=e;b=a.shape.getConstraints(a.style,f,d);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a); -null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,f=0;f<c;f++){var d=this.model.getChildAt(a,f);this.model.isVertex(d)&&(d=this.getCellGeometry(d),null==d||d.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var c= -this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(c,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(c&&null!=a&&null!= -this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell=function(a){var c=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate();try{for(var f=0;f<a.length;f++){var d= -a[f];if(c.isEdge(d)){var e=c.getTerminal(d,!0),k=c.getTerminal(d,!1);c.setTerminal(d,k,!0);c.setTerminal(d,e,!1);var g=c.getGeometry(d);if(null!=g){g=g.clone();null!=g.points&&g.points.reverse();var p=g.getTerminalPoint(!0),n=g.getTerminalPoint(!1);g.setTerminalPoint(p,!1);g.setTerminalPoint(n,!0);c.setGeometry(d,g);var q=this.view.getState(d),t=this.view.getState(e),M=this.view.getState(k);if(null!=q){var B=null!=t?this.getConnectionConstraint(q,t,!0):null,l=null!=M?this.getConnectionConstraint(q, -M,!1):null;this.setConnectionConstraint(d,e,!0,l);this.setConnectionConstraint(d,k,!1,B)}b.push(d)}}else if(c.isVertex(d)&&(g=this.getCellGeometry(d),null!=g)){g=g.clone();g.x+=g.width/2-g.height/2;g.y+=g.height/2-g.width/2;var y=g.width;g.width=g.height;g.height=y;c.setGeometry(d,g);var D=this.view.getState(d);if(null!=D){var v=D.style[mxConstants.STYLE_DIRECTION]||"east";"east"==v?v="south":"south"==v?v="west":"west"==v?v="north":"north"==v&&(v="east");this.setCellStyles(mxConstants.STYLE_DIRECTION, +"#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=5;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxGraphHandler.prototype.removeEmptyParents=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var b=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget= +function(a){return mxEvent.isControlDown(a)||b.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view, +a,this.graph.getCellStyle(a));for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a= +d.apply(this,arguments),c=a.getCell;a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";"; +null!=this.currentEdgeStyle.shape&&(a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+ +";");null!=this.currentEdgeStyle.orthogonalLoop?a+="orthogonalLoop="+this.currentEdgeStyle.orthogonalLoop+";":null!=Graph.prototype.defaultEdgeStyle.orthogonalLoop&&(a+="orthogonalLoop="+Graph.prototype.defaultEdgeStyle.orthogonalLoop+";");null!=this.currentEdgeStyle.jettySize?a+="jettySize="+this.currentEdgeStyle.jettySize+";":null!=Graph.prototype.defaultEdgeStyle.jettySize&&(a+="jettySize="+Graph.prototype.defaultEdgeStyle.jettySize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&&null!= +this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; +Graph.prototype.importGraphModel=function(a,c,b,f){c=null!=c?c:0;b=null!=b?b:0;var d=new mxCodec(a.ownerDocument),e=new mxGraphModel;d.decode(a,e);a=[];d=e.getChildren(this.cloneCell(e.root,this.isCloneInvalidEdges()));if(null!=d){d=d.slice();this.model.beginUpdate();try{if(1!=d.length||this.isCellLocked(this.getDefaultParent()))for(e=0;e<d.length;e++)a=a.concat(this.model.getChildren(this.moveCells([d[e]],c,b,!1,this.model.getRoot())[0]));else a=this.moveCells(e.getChildren(d[0]),c,b,!1,this.getDefaultParent()); +if(f){this.isGridEnabled()&&(c=this.snap(c),b=this.snap(b));var k=this.getBoundingBoxFromGeometry(a,!0);null!=k&&this.moveCells(a,c-k.x,b-k.y)}}finally{this.model.endUpdate()}}return a};Graph.prototype.getAllConnectionConstraints=function(a,c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var f=[];try{for(var d=JSON.parse(b),b=0;b<d.length;b++){var e=d[b];f.push(new mxConnectionConstraint(new mxPoint(e[0],e[1]),2<e.length?"0"!=e[2]:!0,null,3<e.length?e[3]:0,4<e.length?e[4]: +0))}}catch(Z){}return f}if(null!=a.shape&&null!=a.shape.bounds){e=a.shape.direction;d=a.shape.bounds;b=a.shape.scale;f=d.width/b;d=d.height/b;if(e==mxConstants.DIRECTION_NORTH||e==mxConstants.DIRECTION_SOUTH)e=f,f=d,d=e;b=a.shape.getConstraints(a.style,f,d);if(null!=b)return b;if(null!=a.shape.stencil&&null!=a.shape.stencil.constraints)return a.shape.stencil.constraints;if(null!=a.shape.constraints)return a.shape.constraints}}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a), +c=null!=c?c.style:this.getCellStyle(a);null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL,this.setCellStyles(mxConstants.STYLE_ELBOW,c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,f=0;f<c;f++){var d=this.model.getChildAt(a,f);this.model.isVertex(d)&&(d=this.getCellGeometry(d),null==d||d.relative||b++)}return 0<b||this.isContainer(a)}; +Graph.prototype.isValidDropTarget=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this,arguments)&&"0"!=mxUtils.getValue(c,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this, +arguments);if(c&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell=function(a){var c=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate(); +try{for(var f=0;f<a.length;f++){var d=a[f];if(c.isEdge(d)){var e=c.getTerminal(d,!0),k=c.getTerminal(d,!1);c.setTerminal(d,k,!0);c.setTerminal(d,e,!1);var g=c.getGeometry(d);if(null!=g){g=g.clone();null!=g.points&&g.points.reverse();var p=g.getTerminalPoint(!0),n=g.getTerminalPoint(!1);g.setTerminalPoint(p,!1);g.setTerminalPoint(n,!0);c.setGeometry(d,g);var q=this.view.getState(d),t=this.view.getState(e),M=this.view.getState(k);if(null!=q){var B=null!=t?this.getConnectionConstraint(q,t,!0):null,l= +null!=M?this.getConnectionConstraint(q,M,!1):null;this.setConnectionConstraint(d,e,!0,l);this.setConnectionConstraint(d,k,!1,B)}b.push(d)}}else if(c.isVertex(d)&&(g=this.getCellGeometry(d),null!=g)){g=g.clone();g.x+=g.width/2-g.height/2;g.y+=g.height/2-g.width/2;var y=g.width;g.width=g.height;g.height=y;c.setGeometry(d,g);var D=this.view.getState(d);if(null!=D){var v=D.style[mxConstants.STYLE_DIRECTION]||"east";"east"==v?v="south":"south"==v?v="west":"west"==v?v="north":"north"==v&&(v="east");this.setCellStyles(mxConstants.STYLE_DIRECTION, v,[d])}b.push(d)}}}finally{c.endUpdate()}return b};Graph.prototype.stencilHasPlaceholders=function(a){if(null!=a&&null!=a.fgNode)for(a=a.fgNode.firstChild;null!=a;){if("text"==a.nodeName&&"1"==a.getAttribute("placeholders"))return!0;a=a.nextSibling}return!1};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&&null!=a.cell.value&&"object"==typeof a.cell.value){var c=this.model.getDescendants(a.cell);if(0<c.length)for(var b= 0;b<c.length;b++){var f=this.view.getState(c[b]);null!=f&&null!=f.shape&&null!=f.shape.stencil&&this.stencilHasPlaceholders(f.shape.stencil)?this.removeStateForCell(c[b]):this.isReplacePlaceholders(c[b])&&this.view.invalidate(c[b],!1,!1)}}};Graph.prototype.replaceElement=function(a,c){for(var b=a.ownerDocument.createElement(null!=c?c:"span"),f=Array.prototype.slice.call(a.attributes);attr=f.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)}; Graph.prototype.processElements=function(a,c){for(var b=a.getElementsByTagName("*"),f=0;f<b.length;f++)c(b[f])};Graph.prototype.updateLabelElements=function(a,c,b){a=null!=a?a:this.getSelectionCells();for(var f=document.createElement("div"),d=0;d<a.length;d++)if(this.isHtmlLabel(a[d])){var e=this.convertValueToString(a[d]);if(null!=e&&0<e.length){f.innerHTML=e;for(var k=f.getElementsByTagName(null!=b?b:"*"),g=0;g<k.length;g++)c(k[g]);f.innerHTML!=e&&this.cellLabelChanged(a[d],f.innerHTML)}}};Graph.prototype.cellLabelChanged= diff --git a/src/main/webapp/templates/cloud/aws_1.png b/src/main/webapp/templates/cloud/aws_1.png new file mode 100644 index 0000000000000000000000000000000000000000..aa37cf42da8273b18ec6042ec37cafca58c52fc7 Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_1.png differ diff --git a/src/main/webapp/templates/cloud/aws_1.xml b/src/main/webapp/templates/cloud/aws_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..9ed31f1d550db39bbefc977d98db919a6c5b1a77 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_1.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-08T12:00:46.031Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="vHBDzW4MS3CWetA1GzMU" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_10.png b/src/main/webapp/templates/cloud/aws_10.png new file mode 100644 index 0000000000000000000000000000000000000000..500942aa60ccc56c47349d49ff178a3c89014c9b Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_10.png differ diff --git a/src/main/webapp/templates/cloud/aws_10.xml b/src/main/webapp/templates/cloud/aws_10.xml new file mode 100644 index 0000000000000000000000000000000000000000..85b72fd79b132dd623c04249941a0f2d80c80864 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_10.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-08T11:39:41.999Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="qHZMdm4_3q_E2cXBbMwO" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_2.png b/src/main/webapp/templates/cloud/aws_2.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5773d55b741541e89b3c1a62694b14bfb9ef44 Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_2.png differ diff --git a/src/main/webapp/templates/cloud/aws_2.xml b/src/main/webapp/templates/cloud/aws_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..8a06eed713eb39088827859bfcde5fb720ef245c --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_2.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-08T11:57:52.886Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="xGBckMkXVc-S_OdK4jOV" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_3.png b/src/main/webapp/templates/cloud/aws_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a12ea8f7cbe8ff0ff1d408fdb08608a3e5004043 Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_3.png differ diff --git a/src/main/webapp/templates/cloud/aws_3.xml b/src/main/webapp/templates/cloud/aws_3.xml new file mode 100644 index 0000000000000000000000000000000000000000..c20875d1c9540758d9c454d50e8d1fa1e69424a1 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_3.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T08:14:03.799Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="cSP34Bof1J8_9YzLPVK9" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_3d.png b/src/main/webapp/templates/cloud/aws_3d.png new file mode 100644 index 0000000000000000000000000000000000000000..e96614c767e40ad8dea8e9043269ebd56f30e92a Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_3d.png differ diff --git a/src/main/webapp/templates/cloud/aws_3d.xml b/src/main/webapp/templates/cloud/aws_3d.xml new file mode 100644 index 0000000000000000000000000000000000000000..169a7a75d788bd9ddb9a772f991d7a6c39a37851 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_3d.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="google"><diagram name="Page-1" id="aaaa8250-4180-3840-79b5-4cada1eebb92">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_4.png b/src/main/webapp/templates/cloud/aws_4.png new file mode 100644 index 0000000000000000000000000000000000000000..5f0a3dc193c60a44c535fa7a3fe397e04174d2df Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_4.png differ diff --git a/src/main/webapp/templates/cloud/aws_4.xml b/src/main/webapp/templates/cloud/aws_4.xml new file mode 100644 index 0000000000000000000000000000000000000000..f7373cb90c9aceb2bb81b03f986cf2af89f2c275 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_4.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T09:32:47.348Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="scjDJZfrP7qzCHfwHRqR" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_5.png b/src/main/webapp/templates/cloud/aws_5.png new file mode 100644 index 0000000000000000000000000000000000000000..ef657a7888fbb3d842039900bba689c886f79cf2 Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_5.png differ diff --git a/src/main/webapp/templates/cloud/aws_5.xml b/src/main/webapp/templates/cloud/aws_5.xml new file mode 100644 index 0000000000000000000000000000000000000000..cf75b743bece4fd26c41bf8b5792aa609369080c --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_5.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T07:01:59.451Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="lmfREGlSjDJdgJt8D1ag" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_6.png b/src/main/webapp/templates/cloud/aws_6.png new file mode 100644 index 0000000000000000000000000000000000000000..c4981292c4b9299f46d2261a8e3e6d21157938dc Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_6.png differ diff --git a/src/main/webapp/templates/cloud/aws_6.xml b/src/main/webapp/templates/cloud/aws_6.xml new file mode 100644 index 0000000000000000000000000000000000000000..80b04fec612ae6f94887a4b4e76437a331b977b2 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_6.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T10:31:32.772Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="lfV3yr7EqK-SyugH_TSo" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_7.png b/src/main/webapp/templates/cloud/aws_7.png new file mode 100644 index 0000000000000000000000000000000000000000..caecf00ec65bf7b6d33d3e95292883dfaea213c0 Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_7.png differ diff --git a/src/main/webapp/templates/cloud/aws_7.xml b/src/main/webapp/templates/cloud/aws_7.xml new file mode 100644 index 0000000000000000000000000000000000000000..4f59bbcaf889ec4e21326c9cc98cfabc6052bcd4 --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_7.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T10:10:35.136Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="mEqdNmihtaJ3tAUzShUu" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_8.png b/src/main/webapp/templates/cloud/aws_8.png new file mode 100644 index 0000000000000000000000000000000000000000..5dddb87737d6482dc9cacceb5345c409b859580b Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_8.png differ diff --git a/src/main/webapp/templates/cloud/aws_8.xml b/src/main/webapp/templates/cloud/aws_8.xml new file mode 100644 index 0000000000000000000000000000000000000000..20cdd71e2208b56805b1ea3b7624085359979e8d --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_8.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T07:49:07.515Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="j26A23XCqk9Bsq3s0xcd" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/aws_9.png b/src/main/webapp/templates/cloud/aws_9.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b359340a69125bdb8a3f65b3c25be7c066284c Binary files /dev/null and b/src/main/webapp/templates/cloud/aws_9.png differ diff --git a/src/main/webapp/templates/cloud/aws_9.xml b/src/main/webapp/templates/cloud/aws_9.xml new file mode 100644 index 0000000000000000000000000000000000000000..98936f7a906e79d34392025eb668939af31031fd --- /dev/null +++ b/src/main/webapp/templates/cloud/aws_9.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-09T13:20:11.378Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="gytC0rO5vwvE4d40_YFd" version="@DRAWIO-VERSION@" type="device"><diagram id="Ht1M8jgEwFfnCIfOTk4-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_1.png b/src/main/webapp/templates/cloud/azure_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d12ea428c88a178643e77ec724a81448639afe1 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_1.png differ diff --git a/src/main/webapp/templates/cloud/azure_1.xml b/src/main/webapp/templates/cloud/azure_1.xml new file mode 100644 index 0000000000000000000000000000000000000000..968c5fd9746dc02ad0e77806fb1c7d4a3a193cdf --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_1.xml @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="google"><diagram name="Page-1" id="7a6c530e-6e37-e111-ec74-82921da8cc10">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_2.png b/src/main/webapp/templates/cloud/azure_2.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf0a6d6e0d6263e2932e7f66abcac44a381a6c6 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_2.png differ diff --git a/src/main/webapp/templates/cloud/azure_2.xml b/src/main/webapp/templates/cloud/azure_2.xml new file mode 100644 index 0000000000000000000000000000000000000000..cad26f836d5e38b34b5b0d2f7f35594dde7eb958 --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_2.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36" version="8.6.2" editor="www.draw.io" type="device"><diagram id="6a731a19-8d31-9384-78a2-239565b7b9f0" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_3.png b/src/main/webapp/templates/cloud/azure_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0cc453a0b0261200cb02dc73d3627dceabfcae Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_3.png differ diff --git a/src/main/webapp/templates/cloud/azure_3.xml b/src/main/webapp/templates/cloud/azure_3.xml new file mode 100644 index 0000000000000000000000000000000000000000..d2e84dac4d01e51807b2ab1a62657bdcac4c1c8a --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_3.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-12T12:49:27.382Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="w_0XNlqrKhMhUfQ9ph8w" version="@DRAWIO-VERSION@" type="device"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_4.png b/src/main/webapp/templates/cloud/azure_4.png new file mode 100644 index 0000000000000000000000000000000000000000..a0182f949ebcdb77bc50957682536101b1bb8e21 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_4.png differ diff --git a/src/main/webapp/templates/cloud/azure_4.xml b/src/main/webapp/templates/cloud/azure_4.xml new file mode 100644 index 0000000000000000000000000000000000000000..e941abb82536bcfdd6f04a9f2cb29c0ed00ade24 --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_4.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-12T10:39:26.557Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="jmRjqRrDTk7vXSQ8oMGr" version="@DRAWIO-VERSION@" type="device"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_5.png b/src/main/webapp/templates/cloud/azure_5.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a76db5bf604429b92c19fb9d82b19f9379353f Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_5.png differ diff --git a/src/main/webapp/templates/cloud/azure_5.xml b/src/main/webapp/templates/cloud/azure_5.xml new file mode 100644 index 0000000000000000000000000000000000000000..4f70508b6688142a73621da61629c0434062e30f --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_5.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-12T10:25:03.395Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="_PJ8Q9hL6O08SQJAgdTC" version="@DRAWIO-VERSION@" type="device"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_6.png b/src/main/webapp/templates/cloud/azure_6.png new file mode 100644 index 0000000000000000000000000000000000000000..c75ba725e0e7d264850af86ea1322cbc1ed75d85 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_6.png differ diff --git a/src/main/webapp/templates/cloud/azure_6.xml b/src/main/webapp/templates/cloud/azure_6.xml new file mode 100644 index 0000000000000000000000000000000000000000..3f689739dec209126f05a5af25ef125bd842d234 --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_6.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-10T11:29:34.712Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="ciBsy-NoayNiOe7SqlQA" version="@DRAWIO-VERSION@"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_7.png b/src/main/webapp/templates/cloud/azure_7.png new file mode 100644 index 0000000000000000000000000000000000000000..15adaf48732f9952f6b42a325a3bee88b0dafd7f Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_7.png differ diff --git a/src/main/webapp/templates/cloud/azure_7.xml b/src/main/webapp/templates/cloud/azure_7.xml new file mode 100644 index 0000000000000000000000000000000000000000..db590f4bdf89329d9b7414aa43b6832f0457b44d --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_7.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-11T06:52:32.632Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="-IVDzTJsnfXJOutBnB0V" version="@DRAWIO-VERSION@" type="device"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_8.png b/src/main/webapp/templates/cloud/azure_8.png new file mode 100644 index 0000000000000000000000000000000000000000..91c592b72086ca178d54c3da53e57cf6a1bb2f19 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_8.png differ diff --git a/src/main/webapp/templates/cloud/azure_8.xml b/src/main/webapp/templates/cloud/azure_8.xml new file mode 100644 index 0000000000000000000000000000000000000000..4e7e4195722205594c539a34d3c5301be3947333 --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_8.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-12T10:41:27.734Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="mwonfn4UzjVYmfwNJ1nl" version="@DRAWIO-VERSION@" type="device"><diagram id="WI9T0HZ2pTsCkuznbFz-" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/azure_9.png b/src/main/webapp/templates/cloud/azure_9.png new file mode 100644 index 0000000000000000000000000000000000000000..6c927a3203dd757a7d79b94ca31a7fed0f905586 Binary files /dev/null and b/src/main/webapp/templates/cloud/azure_9.png differ diff --git a/src/main/webapp/templates/cloud/azure_9.xml b/src/main/webapp/templates/cloud/azure_9.xml new file mode 100644 index 0000000000000000000000000000000000000000..9759f84ce28e8359a9fc700f8bc42adcdc90e365 --- /dev/null +++ b/src/main/webapp/templates/cloud/azure_9.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-13T06:12:05.308Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="bmjLRYHhKmQXilC2sub4" version="@DRAWIO-VERSION@" type="device"><diagram id="7gcUSTIZ7YSJ5vT40chW" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.png b/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3de01c03e0e322724c967ddf2834202c016504 Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.png differ diff --git a/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.xml b/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.xml new file mode 100644 index 0000000000000000000000000000000000000000..8dedff87459c37e8e587d3d1d15e35d9f332d44a --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_backup_and_archive_api_hosting.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T09:21:20.792Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="LOL246OiueiQhi32g1Ml" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.png b/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.png new file mode 100644 index 0000000000000000000000000000000000000000..4907d300fcb9191f235f7104c29152f39a19a618 Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.png differ diff --git a/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.xml b/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.xml new file mode 100644 index 0000000000000000000000000000000000000000..dce52bf681713dcf403347322c82b4891dce8df1 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_big_data_complex_event_processing.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T07:28:58.499Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="yiBfmpRGhgAflVsmv0S2" version="@DRAWIO-VERSION@" type="device"><diagram id="d1ab7348-05c3-a1e3-ca4d-12c340fd6b49" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.png b/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.png new file mode 100644 index 0000000000000000000000000000000000000000..0ad74dc2bf072a63a259be30daedb2f3929c622a Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.png differ diff --git a/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.xml b/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.xml new file mode 100644 index 0000000000000000000000000000000000000000..ec9a03b4a2938daf1cbb0a9db5a002c5f54c2d33 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_dev_test_continuous_delivery_with_spinnaker.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T07:49:54.170Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="NH2il3PLQ4_elvHiV3ut" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.png b/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c135b1409a344d2d74a564bc5a8524758b4b33 Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.png differ diff --git a/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.xml b/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.xml new file mode 100644 index 0000000000000000000000000000000000000000..dbb360e55992022e7836b15f82a04c111262148a --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_digital_marketing_dmp_data_warehouse.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T08:01:55.495Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="jBwprG4rrysYBXsZo9F3" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.png b/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.png new file mode 100644 index 0000000000000000000000000000000000000000..e3e3d439e7b0690931c7ed44b64398fbfd5ea229 Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.png differ diff --git a/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.xml b/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.xml new file mode 100644 index 0000000000000000000000000000000000000000..68f0697392d1f2018b728c13594479a30ecf74d7 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_financial_services_monte_carlo_simulations.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T08:17:49.588Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="CtMQcRg2qp9xFhhdsiy7" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_gaming_backend_database.png b/src/main/webapp/templates/cloud/gcp_gaming_backend_database.png new file mode 100644 index 0000000000000000000000000000000000000000..5c0ce4924c0137e69b3df709f70301edaaea25fe Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_gaming_backend_database.png differ diff --git a/src/main/webapp/templates/cloud/gcp_gaming_backend_database.xml b/src/main/webapp/templates/cloud/gcp_gaming_backend_database.xml new file mode 100644 index 0000000000000000000000000000000000000000..a2eb3c636e46f62a2999111dfe50d0230ca78805 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_gaming_backend_database.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T08:23:01.704Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="AN0eZMUTviYOKFKOiC26" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.png b/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.png new file mode 100644 index 0000000000000000000000000000000000000000..c842f24b3ce95a84b497c14cbd7ec27e6e26968d Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.png differ diff --git a/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.xml b/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d75d0b45bcdae0b66024362e76774c7c2321702 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_general_app_engine_and_cloud_endpoints.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T08:30:07.194Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="fgPX_x5qwApdTGJC36a6" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.png b/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.png new file mode 100644 index 0000000000000000000000000000000000000000..146f8a40045592f4714cca41489e077f47089ab9 Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.png differ diff --git a/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.xml b/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.xml new file mode 100644 index 0000000000000000000000000000000000000000..8a3ac7bd6454b5a79c28db81f7ff52fce40e0b5d --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T08:37:53.043Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="93-06ZnemS9f5Bwps-Ei" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.png b/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..7c5809ca23e47c5c395b9ceee594376bf1a0319f Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.png differ diff --git a/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.xml b/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.xml new file mode 100644 index 0000000000000000000000000000000000000000..581f24e34733a99f5da6baa2ad6f3e39d955a0c4 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_lifesciences_genomics_secondary_analysis.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T09:17:50.729Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="8Pl98xkQBMosHqb3Yxjx" version="@DRAWIO-VERSION@"><diagram id="d1ab7348-05c3-a1e3-ca4d-12c340fd6b49" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.png b/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d207b998c41bd37fb5d735e4c90d449df93a8f Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.png differ diff --git a/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.xml b/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.xml new file mode 100644 index 0000000000000000000000000000000000000000..6df474357061b20de4a1cb8e36dd307b3a365074 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_media_hybrid_rendering.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T09:09:08.467Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="6T6ahdA4_Q3bgRC2vK8_" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.png b/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.png new file mode 100644 index 0000000000000000000000000000000000000000..8e54a7a6af68662a330131040205df243fdf06da Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.png differ diff --git a/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.xml b/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.xml new file mode 100644 index 0000000000000000000000000000000000000000..ccd31813c7f0c581d2ff71a5a1d5f1a6cda56da8 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_retail_beacons_and_targeted_marketing.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T09:11:41.065Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="7ZGTOOnRL709FlnMmNbg" version="@DRAWIO-VERSION@" type="device"><diagram id="d1ab7348-05c3-a1e3-ca4d-12c340fd6b49" name="Page-1">7Vxbc5s4FP41eWzGXG0/xrHd3ZlmJ7vpTB8zspExG4yoEIm9v36PQMIglJi4+FrsTgckgeRzvu/cBLmx7lfrrxTFywfi4fDG7HnrG2t8Y5qGbZo3/F/P2+QtfcPJG3waeGLQtuEp+A+Lxp5oTQMPJ5WBjJCQBXG1cU6iCM9ZpQ1RSt6qwxYkrM4aIx/XGp7mKKy3/gg8thSthjvcdvyBA38pph6Y/bxjhuYvPiVpJOa7Ma1F9sm7V0jeS/zQZIk88lZqsiY31j0lhOVHq/U9Drlspdjy66bv9BbrpjhiTS4QenpFYYrlit0QLh3N4MDnB18J8UEu/EZ5D9yt6LwPSepB32OI2ILQlfhVbCMluQjC8J6EhGan1tTlX7gwYZS8YNkTkQjzRimNHpz4FHkB/AxlzIJETADGsOEchYEfwUmIF3xBSYzmQeTz3p4YXZq+b/AvtA8n/AsHr5iyABR/J27DSLy9y3d+Mv5iy2nFz+ptR3zLZh3bvGnJViGfNxORqgahGT4dXpeahFq+YrLCjG5giOi1bAGRjaSGOH/bAtKVbcsSFh15IRIk8It7b4EABwILelxYGlwomgVlxfxwtfa5Ebj157F562dgeZ5zWDzHEhQgvrZhUJew2VjCJQnKH1oWoOQmxbD+4LVqEnRCFTM8kgDWUijQVPVXvQFZLBLMajopltlITcOamu7ofBkwsIkphZY76PwHMxSEOX/RiqPbz1ncG2EEBjThi4o4ib8j6mOG+eEDoi+YcSLtILQ9vjOmzk5NGr9KaEE0R0NqYWDbJqBhVBVo1/k3dDT8a4N+huPWBI89cFHilFC2JD6JUDjZto4yv4M9QZySNEI0w+GocE2qkhiibBqEcnR2LjTCFYIj7477VDidhWT+8n0ZRHlz6SI4K13yL2ZsI85Rygg0bZf8jWRm1aiBhsPJHNhTq+iRztdUcGLWUdDLPiX8zEH1GDpHHkqWhVTeBUZCUjqXXJfunGWMkFGN0AlXxIcAamw4GsNBrqdE9IK8wl1T6ZJlC5dPBUHuz5TIji9JJkluH4xevN52yrs8UrIOVgHjv+cvwoIFOEkWlCaENeczVGctr0MB8BaeXPVolpAwZRgMltQqby3OzCqEteblHYtS8R8V7e/AUBEVKDbowyBBhhqamKFqKidgKKeTloyTVTVOhbcpWSejr7FOxYW/Zp76nXk6pXkaHMU8ZZeCbNGmNCDmUU7yfthjKci0TaeagewYbw4cBYr5CvYNkQphlW0nYA3irwAEeiDzOUqTIMIJj62eNgnDq85u7m03p9PpYNJWUKegzXKPajc1AfsDmQVZej3GrwDIwzn0NFl2vrw1TBqAyeFhMOloMn09JltJNeTsH+b6qiP0sk9dLkUuVsn8qt7SqMQCTfGTBQmPJAk4csv+Uyr0mzJgFXheFnfUPK4KgRlhjKxquaYm1RxmHw343njS/QSX85Y3ikqYGom7qyxoAzlKjch0BzXk6IDTbwU3xm7cVAgrirVoVhTRStJQcNR3+Pc9W6EtPc2yhAh6QaTsfRkXcG8s5d6tU5Oq5crGSumtncrRF2NwK6Kmg1aPDEtX/u2ofwnUV8uLx6V+g/LwMalP8xLnTuo3LxF/QH1tzc+WA3+V+irvzdu+cxDq2x31L5T6qte3jXq8eDjqO+dFfQ/BrVGCd5Pf/qycG5P/YNQ/DPPdjvkXynzV6R+X+fU9iJMyP2GEZo9x7CK++1kxNyZ+S+G+SvzD0L5eBu1ofxm0NwZKgcg5Ju3rJcuT0n6V1UufPVEt3cn+wWel3ZT92xJA2/x3DxTzO8Oa5rpdu+Pt2tmCONVdO4HPEzxUILc+OjicDxwcs2047LWJ23eU6tLg401cdbw1bHkT1zU6rJ4dVnsnM11yPWcezJZVpAsz1S3KQkXtxo+OymZN/KjdYGwlgLR1xeLKjva8EMl201riV/dgGsR9SfZoasPda/mQ+hgxtAhBw2LEku69xW7ottifGMVoBd0N1thWBO0YFQPRJIJe4vWfYqeM5gfj/HltT8qnElSrGRnN8dE8IWuy8S4f7/1ELlbdox/oqVIYik89FW7bmnB/2EqwXw31+wcJ8wedrzylr3R1YX7rcV1z+3sZ9d4z8ZXFA2Ef+UpdOaAdX6mrse7vKx/ACSF/H1f5mM5g7BP//zC+svx8ee43338a7Rx9ZZzOEpDOFXnK5mXyq/GU9mXUxM/ENPb7JzWNujr0/qZx8oqzCsgn7eIo8HNbcwSzuGOJ52gVZ1I8V2QXm28gXI1ddOtmsMsgjpdBSBtarbbZJ8sg5Ho6N9nETarVtsavmLTiJh3dU9lXmUH8neI0e1e92Sst5+gury6JKCzFb+Qs5ZZdZx33SSK01vFgSYTT7l7EHcQTG2BZ8zwC8gewW3zVhzGKfIsDOn+AipYkTfCFmEPIG35mYrkiU/gb7jy4Vpc3nDJvsDV5g3zl+BR5w2W8Y3ImnlHNG+z+UfMG3Xsd+3vG/V4zv4tjXveKIOE4XIUtfw8e2F175f7MnSSK42ecy+aK3GTz13Iu1E3C6fbvOebDt38005r8Dw==</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/gcp_websites_content_hosting.png b/src/main/webapp/templates/cloud/gcp_websites_content_hosting.png new file mode 100644 index 0000000000000000000000000000000000000000..1be164aea6b31dc9347a15a583e7eabe971186ed Binary files /dev/null and b/src/main/webapp/templates/cloud/gcp_websites_content_hosting.png differ diff --git a/src/main/webapp/templates/cloud/gcp_websites_content_hosting.xml b/src/main/webapp/templates/cloud/gcp_websites_content_hosting.xml new file mode 100644 index 0000000000000000000000000000000000000000..595a510b58c761793da220a3224cf4a48b6956b9 --- /dev/null +++ b/src/main/webapp/templates/cloud/gcp_websites_content_hosting.xml @@ -0,0 +1 @@ +<mxfile modified="2019-07-14T09:12:33.682Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36" etag="tOkZ9LCShfkOJWVUypH4" version="@DRAWIO-VERSION@" type="device"><diagram id="f106602c-feb2-e66a-4537-3a34d633f6aa" name="Page-1">7VnbcuI4EP0aHpPyHXgMJGSmKlubmkzVPFLCFrYH2fLIcoD9+m1Zku8EsvHsZC6YB6t1dffpcyR7Yi+Twz1DWfQXDTCZWEZwmNi3E8syHcuaiL8RHKVlarrSELI4UI1qw1P8D1ZGQ1mLOMB5qyGnlPA4axt9mqbY5y0bYozu2822lLRnzVCIe4YnH5G+9Usc8EhZTW9eV3zAcRipqWfWVFZskL8LGS1SNd/EsrflT1YnSI+lHjSPUED3DZN9N7GXjFIu75LDEhPhW+022W91orZaN8Mpv6iDI3s8I1JgvWSPQN/FBm5CcXNPaQiOESPJGhiuqlwSWgRQ90gQ31KWqMfiR+3KbUzIkhLKyqK98sQFHXPO6A7rmpSmWBi1OwwohAwFMTxHp82WplwhBlZvLxCJwxQKBG/FgvIM+XEailpDtW5MPzXFBfb5nbjg5hkzHkPkb9QwnGb1KJ9F4fbK0dOqxzLqFg/lrLeOMEU8IWLe0kXdOKjQiOnwoWFScbnHNMGcHaGJqvUMhRGVQ3OFvX0NSGuqmkQNLNpVIqgkCKuhayDAjcLCCVy4A7joRBaClYnb5BAKFrgO/cy6DkuwrH0Bi3WmQQHuGxsGAx52LnZx04d234U6OxmGB4if26Qw5FY1wyONYTFVBK12ADW56QHodptj3otKtcyLAjUzZ71I3TA/ijnwYsHAcgOVX/AmB0sukxglAuKhTGVjCcDG5bI/0JyL1DmTws7tjblyz8bOfGsKq9RyB9JYcerYKWfZ7Yg5Ri/lptZAyjnGaWhcnHGG4/U8jwOQJVWkjEc0pCkid7V1UWoNDlSuNNxB0AaTRSVH3ShxxPgqJrp1WVYhERHBaXAjdBSKG0L93ecoTqW50QlKjS5fMedHVUYFp2Cql/xASyY1e6gReLJmzsquarTgWh2gWH0YGOWvD6AA5VHlk5O4yGnB/GrjYSvvgyNCzKuYqMiKQLyIoNdRBfgWHRsNMkEc+WkmcS3j2m1BU7NJjS455n/lkdoBDSJZxSwXq/iEvxU4530F6IYyKH99uq/ytcUO7XibLTSLEtrklBQcA59pEAhrVbI0zB8psFtMBQJ8iDJmDV1/6DRI4iAoM0djptdD7wQ2lHOa9PhogI7m5W8Ar3vBw0/QXVj2oJL1aAs1evkU49KY7bodtJjeAJMNEJlpjMJk9vT87qGVo2ofjzbV9qrhkQ6Wpq64XpCf/qYEzhI72NetURqsE7qJy/iDi/lpn9fpcLHbqxRtONkd2qDZo+wurqxOjGd6/lE3GMCB099Tl6ojwo/VpdlPpUu2PbouDWxwg6Ckc0RqccqrcyvTZ9M/evWz6pU1+3/1av4L6NXstW7/ZfVq9nvq1Xc+R5WPNvQwFwqZlqyOkDljC9krDtzG+bR/B5LRDJ45QOZ6m9ITiHFZ2vF6LD3wfsQ0BxjE9UYJl9kLl341DePb5etekdLibfTfjz+UwNVb0BTzPWW7tQD32kd+1OHx7maASZddvhdQedrdCVTtOm/SXsj8LkMMSUyVL+cxczwtMbY1IDHWKBLThueV2YHdWPoy9M3kknfjAS0Ab5/KD1Z9+n4rsbwTmvA6b71Bl/ok4c36GNC2N5LE0IcLeTAQDpmIb4baJ963gspzgs6DhkkeIT6mIHupj/PGty85jj5idA8dS5pkQOgw0V0axkARo/GQa7b0/RIeivDhoy+oY5ExeXPry/WtsVzdO+OjkyeTQT66/IPPC3ykR2nx0fy78NF8jB0vFOvvw7J5/RHevvsX</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.png b/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..9a889fe052b7c60ced8049e731a48169292af174 Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.png differ diff --git a/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.xml b/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.xml new file mode 100644 index 0000000000000000000000000000000000000000..d7d79b1a23e9a73f461b8d0d791328437896b7f1 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_bda_reference_architecture.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="2f404044-711c-603c-8f00-f6bb4c023d3c" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_blockchain.png b/src/main/webapp/templates/cloud/ibm_blockchain.png new file mode 100644 index 0000000000000000000000000000000000000000..08cd97aead8edaa20b21b6f08efd0ddc1f26489f Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_blockchain.png differ diff --git a/src/main/webapp/templates/cloud/ibm_blockchain.xml b/src/main/webapp/templates/cloud/ibm_blockchain.xml new file mode 100644 index 0000000000000000000000000000000000000000..e27085499f3ad7402e7af05cc34748d4f58bf117 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_blockchain.xml @@ -0,0 +1 @@ +<mxfile modified="2019-04-19T13:11:52.693Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36" etag="DJXPJYrTTw1msulxKAA5" version="@DRAWIO-VERSION@"><diagram id="eIo0H9kK7ql945uVP1NC" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_cognitive_conversation.png b/src/main/webapp/templates/cloud/ibm_cognitive_conversation.png new file mode 100644 index 0000000000000000000000000000000000000000..b168f5f3eabfbd18874d1e3abd5ca6d134b8e76f Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_cognitive_conversation.png differ diff --git a/src/main/webapp/templates/cloud/ibm_cognitive_conversation.xml b/src/main/webapp/templates/cloud/ibm_cognitive_conversation.xml new file mode 100644 index 0000000000000000000000000000000000000000..f28cd217b6c048877a133383044006f03bdbc60f --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_cognitive_conversation.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="2f404044-711c-603c-8f00-f6bb4c023d3c" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_cognitive_discovery.png b/src/main/webapp/templates/cloud/ibm_cognitive_discovery.png new file mode 100644 index 0000000000000000000000000000000000000000..fdc2142ac2faa7200e9b29a8ed024b5180151056 Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_cognitive_discovery.png differ diff --git a/src/main/webapp/templates/cloud/ibm_cognitive_discovery.xml b/src/main/webapp/templates/cloud/ibm_cognitive_discovery.xml new file mode 100644 index 0000000000000000000000000000000000000000..239f9fdfd9de0da3e7e1220d2df98b1b05ac1403 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_cognitive_discovery.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="2f404044-711c-603c-8f00-f6bb4c023d3c" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_iot_architecture.png b/src/main/webapp/templates/cloud/ibm_iot_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..601eadc9894aebdf620325424674e3cb551a26d2 Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_iot_architecture.png differ diff --git a/src/main/webapp/templates/cloud/ibm_iot_architecture.xml b/src/main/webapp/templates/cloud/ibm_iot_architecture.xml new file mode 100644 index 0000000000000000000000000000000000000000..c681d0e22f4fa7c93983c868d53cf0887d743a8d --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_iot_architecture.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="2f404044-711c-603c-8f00-f6bb4c023d3c" name="Page-1">7Z1bd6q6FoB/TV/XAML10Sqr23GsOtSutXteOiimNmcjOAB72b/+hEu4BS2tEWE1faiScDPzY2ZmzmRyBYbbtxvf2j3femvoXEnC+u0KjK4kSVQ1HX9EJe9JiS6mBRsfrdOd8oIl+hemhUJaukdrGJR2DD3PCdGuXGh7rgvtsFRm+b73Wt7tyXPKV91ZG0gVLG3LoUt/o3X4nP4KScvL/4Jo80yuLKpGUvNo2f9sfG/vpte7ksBT/JdUby1yrvSHBs/W2nstFAHzCgx9zwuTb9u3IXSitiXNlhz380Btdt8+dMMmB6ggOeLFcvaQ3HJ8Y+E7aYzgFW0dy8Vb19ntCtFG6Hv/wKHneH68I5AlTbu+xjVPyHEK5WkL4HLPDev2txy0cXGZnzQpPrPlhykV0ZVsz3GsXYAeHVi6NpENwCX0L08b4wX6IXwrFKUtcQO9LQz9d7xLWitJSnJISq2oycn2a86AKAnpTs8FAHQiTysFb5OdPG98/CVt/3pZSDLd9nCNuUw3ofPovZp5wXXMGVynTRJX4+/R70UYZVz0HG7xx0iMat9Q+DfZE3+/j77/UKItF99nVhVt5HWO9Qid64zpOpnGshpEzxyusB0rCJBNin8ih1y/KFI5vtCaHOR6MVu4JN0/uZF1Ye//wTB8T7etfejhIs8Pn72N51rOxPN22VUOIVkGRkphTE8pSkfgpMEiD00knKNc+dCxQvRSVip1iKSHzj2Er5HzKBo/ZElXNDH5r6glPFWjAl3g7X0bpicpPvQnnheLbgND6rwxz9mvbYQ4EPSjiOdCPcx5AWo2eArH8cwPygkV2RFqmkNRPBehCRGp1PVUzIk4SaHGmuWm6g6IYvdY+EBV/dksGMz1WmMWBIOz0GLPVWZBq9ML+uX0gsBZYM7CMSvvJE6Ms9hCuGGt98IOu8j4CA6bSqJetmFAatPkzCVn/LLhIsosoby4zd19YJtCadR1ZEInoAQCKEEpKQZjKFWuKbsFnni5XlPhLFyKBSL2M4+svqSEZKXi1DJY94zaeXrGH4ZR7hxVMSuYQx/he4R+egKO68m4dqTPlEEZV0lVGOPKdKRZwFVTirhy99SnqZS61aFKTC1+rqE6yMKXNJQiljUU86GmxC25joGndAM8uWrJMR5OAg5ex8Bj7oT9EniqUAZPVrQieJ/dnwGo3O/RMVDVboIqq58CFYgSY1CZjo35eOJPAVXRKqCC4xq1ur9kMNaoKfgc1EuACmpA7UhcrRrCqGhUBuABluAV3DESd8ewp/KS8Y0Ozhzrvc1XeF5Kj4vwCU7kOk6kTmgvRdJL2ktj7EuWOthr/jlMiiUiE4XeFMraCEc3bD9ZrQw6jpt+Bjhpd4m1k0jmbvHLjb1rde3lZvBKTI03zsKnWFA6xkIHXR3fhgWdZiEbuV24u9OlyghSOt6BVfcHEuMRJ+BKq2OgdiOuq5OA/7lcHaCDI9hv482ona3ZkfBaFTyVdbisb1Oevo06rKWSue+ksQ0H+NjuUiwAQWhFQzVmQWa6CuuQo5FzwoaTbvhbNVC23VX1g7BmxT+rMu/5uIP2cqDWxN+7Mig1qoNMwBg8mena9hbCmt+Zyq6oT4PEk4g61D9Qn5WZyJX9GcS3+Kr8y4FaE38HAvOZyM39u0y9FwcHkXw116dBqQkKnaGfbT6IPNfAgXsbTgSlJufLJUGR+XKDy3meavP/XKx3EYlZVshDeLc0F7hkMriPPiughPAtLMuf5BB04FNUQ7LgDdLiMGr1g61Wymu4toLnjLCyjNJUdcX8hmnRAfzIAZH00rsXK9JUo6vsLBu5m0l876PjE10a5DMs5isk6riYrhAwyFYoEs1xLHWkg5K0kVS2xjXyoR0iLxINBjMqLwqzJI8PmpaWxca31gjmki4KocEjRGejPPSYniQkUltNOplsFUVYI0Gy9utEEapchAxEaOhCI6FJGhOhaZTQ5ovZ3+Pb8er+SlKdMJbNC/66ib5OzdXv2eI/pAafvlDJ9eqXHlmiPw8/smQ9RVH8ChOtq1PSN6crczFfjJcmLs/EzQX7hQfZoB/k2ieZTQdqUKIc7HYOFkKsVaPs1tsdbo4062pRmget4E9o3VpB1Rie5VzO5vVQEAfsNHRKX3yrcy9AaYdCFDehclKp36L1Oh4PVLHNKs706AvEUiU+N5Jep4hMXYfNghhykgIxY/fJt7DU9na492FECfRfkA2DDjGjj4aqLHFmMma0NpkRKWZuLdfawG23FIswugbGiEOSZ+FuExJ6+D2yQitmw4vUSmcwAUAZ6SLHJFvSJLaJCT3kH7iW845boEv9jSbLIE4exxlJGAFtMiLTqgRGFklk0Fo76xE5uIE6ZZ8MNEnXBM5LvkyyTV4UipcltPc+Ct87hIip4FG/zBHJEGnVhKU9XhPzxpyOKEA+7eXI2q2Ljg6ZkufxddmnWJsSLU9RqfNhshCoQY9jKVFyv/PHUqyEDmStmR8asPBESgIX4jmEmPkWPwomCCyEqNO9710A/S5ZZ0PJUCTuGMi73hYdA9l7gooeR29VE2ZKovWNYkxWsEve2fiE3iKirneFbN74+mgXwEKC77re3MYNGtcd7p7RNn7HI/kcoe0G35eDHvF/9LjF//cJ6PHnj+Blc5jf8iSSijZQ4782SU5BW8UTSerfffh5zqoxLSL5AmVqDWUqE8poA29k/hoPzc6zs46Htpye6jsE28WHjonO/7pfjoeDSY2mMqerQqS8Z7pq9/weRJ3PAz4pHiFz8KiXV9LW0/m4owO4ceco3AxW5u/BfWdpCjIHy8+NFcJXi4MUeUlLIJG8E62QVDMgnpu5QVXQUMPJ7G7UM+W1RYGNL2e50NsHSenDbv/oIPvBdrz9ulfwMbG15OqYrxlrsvpDYkEbHRI2RzdmDW3YqI/MsGXPgEOVSRE/oxnND2RmRK9wO4uuk6uvsGhV10kHes3VYjBd/pwtbger8WxaQyP+tLbRrLTkPz5kOJtOzeFq/Kt/Fh3FaOhbbvDk+dt4+teD7blu5CJ74WZeRKxRXikui20SS4e94+CDUHR6FJgbzOcTPPgoUtwTKK18/mHUUcen3PkogA/Fml7hyKS/LvtG5FbVZU08PfWNUOAtzJvxcrXomypcx1ONUl/Kgw83CNPRL6XHgjKtmmud9vOejzI6DnCQstvBdHBj3prTVc842xbmPRLa8rJe8XaWTrYKoKgaLRJIRxoG8/Efi5+1Q31l7xyoSbrUImqHww3CeFT2D9OD4Z5RV+5c0TpxHJPB8LcDTwfiBXUcHaioGSsUqJrMbsbDngFXGUMUNh8cb4PsXiHXSj/b7mCWDlr8Gi/vBpPxf1MK+8HVCwr2+Pz/xgW9YooFQopRzhmrKO0hBGpmfmGbbHK/Gg+X3cUnX6iQf+8VN63oonZBogMR88VsaC6Xf6zdv/M9GwbBt7b9L6q76OjDQUfHaLAa4F2Xq9mir1Y//uBxr9z4J7Gni5BHRxF4xItHvA6xaijVF3m1ySoddChmGTkw+1cYjReYzVlfAxCFcFc03+4hWaTgfcNQhCjoZU0pam3SRwcjjtKX9NM9Jy4q4Zy1q+XokMNRzgq+ur7NiOKB/Wb8temKAzWZ3CiA+Aq6D4VIXon6Yc5EnYXQJNr5xYX2hQld5P0y7QiNdjRxoZ0gNNJbiw2FyGKtKgBciCyEmGUrJV2e0EyIMoul/0DmWYPP8STKTVeNM1GnMs8bzNRwIepUoI3PWnVK3tN3mhC59XkOIQK1JpNK3QhCYSFDekIJl+HpMpS1ZlnYgcwgoXd2kpIQKefD/O56cngu0NnSfmfeB54fWorAKHFSQwlZK1KynFhQotDjzvli9ms8ij3v6bLQxmLlSb/z1y+Dj4QqkQRkrBNhAaXBkCZ4Rdto7WxVAIdVYsXhljntmivb/AU40ZVsz3GsXYAeHVi6drEzYSEJoJUXeWk1w0tFk2lZGAxkIZN3hRYTEZrDu0UcaGXv1k2fwFOcuo+OZ/9jP1vIxRt29Cg/RZ5c+GDhztzzzxJGBTRfrBy67DMy0VDmT1zzqXYV9UA7G8/lIJYBPVhOE0zMfpmL6WB6ngw5DNAszXlCbh7k33i45V3LPcfU8+/HJtDaghNv+p4XFupufGv3fOutYbTH/wE=</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_microservices.png b/src/main/webapp/templates/cloud/ibm_microservices.png new file mode 100644 index 0000000000000000000000000000000000000000..05a9f229e75678994eb01dbdaefc083c4f5db069 Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_microservices.png differ diff --git a/src/main/webapp/templates/cloud/ibm_microservices.xml b/src/main/webapp/templates/cloud/ibm_microservices.xml new file mode 100644 index 0000000000000000000000000000000000000000..1e91f26146a6bb02c6396f5d2a37d94a36bc0af6 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_microservices.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="31b32b95-0358-9bc7-6ba0-a27c054ed1a7" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_private_cloud.png b/src/main/webapp/templates/cloud/ibm_private_cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..38037207cfac3f9ba9ef49bf01c56c8d88cac9f0 Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_private_cloud.png differ diff --git a/src/main/webapp/templates/cloud/ibm_private_cloud.xml b/src/main/webapp/templates/cloud/ibm_private_cloud.xml new file mode 100644 index 0000000000000000000000000000000000000000..2fdd27e88f3e6f48355bcd892a1eade1ce678ce4 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_private_cloud.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io" type="device"><diagram id="2f404044-711c-603c-8f00-f6bb4c023d3c" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.png b/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.png new file mode 100644 index 0000000000000000000000000000000000000000..6fa07847600deb11195718e75e1ed662320bf96c Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.png differ diff --git a/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.xml b/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.xml new file mode 100644 index 0000000000000000000000000000000000000000..343ec8fec89a3b99064993d7fc6f7c150116b497 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_vcenter_server_platform.xml @@ -0,0 +1 @@ +<mxfile userAgent="Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" version="@DRAWIO-VERSION@" editor="www.draw.io"><diagram id="0d7cefc2-ccd6-e077-73ed-a8e48b0cddf6" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/cloud/ibm_vpc_architecture.png b/src/main/webapp/templates/cloud/ibm_vpc_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..bca73efdbed256cc782b4cfe70d686073eba901b Binary files /dev/null and b/src/main/webapp/templates/cloud/ibm_vpc_architecture.png differ diff --git a/src/main/webapp/templates/cloud/ibm_vpc_architecture.xml b/src/main/webapp/templates/cloud/ibm_vpc_architecture.xml new file mode 100644 index 0000000000000000000000000000000000000000..8f2718f4aa2956301839b05f235104e9ab34fa17 --- /dev/null +++ b/src/main/webapp/templates/cloud/ibm_vpc_architecture.xml @@ -0,0 +1 @@ +<mxfile modified="2019-06-14T10:17:01.477Z" host="localhost" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36" etag="dY-RyaEvI0M7g6cvaE8M" version="@DRAWIO-VERSION@" type="device"><diagram id="gla63Dk0FSsQ5Y3dld1r" name="Page-1">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</diagram></mxfile> \ No newline at end of file diff --git a/src/main/webapp/templates/index.xml b/src/main/webapp/templates/index.xml index bfae35ea358226e9c2c709ab8df4e4c16791b4e2..154c57c45e477f292a819101942ee2f9c81a4f4c 100644 --- a/src/main/webapp/templates/index.xml +++ b/src/main/webapp/templates/index.xml @@ -18,6 +18,49 @@ <template url="charts/org_chart_1.xml" libs="general"/> <template url="charts/org_chart_2.xml" libs="general"/> <template url="charts/work_breakdown_structure.xml" libs="general"/> + +<template url="cloud/aws_1.xml" libs="general;aws4"/> +<template url="cloud/aws_2.xml" libs="general;aws4"/> +<template url="cloud/aws_3.xml" libs="general;aws4"/> +<template url="cloud/aws_4.xml" libs="general;aws4"/> +<template url="cloud/aws_5.xml" libs="general;aws4"/> +<template url="cloud/aws_6.xml" libs="general;aws4"/> +<template url="cloud/aws_7.xml" libs="general;aws4"/> +<template url="cloud/aws_8.xml" libs="general;aws4"/> +<template url="cloud/aws_9.xml" libs="general;aws4"/> +<template url="cloud/aws_10.xml" libs="general;aws4"/> +<template url="cloud/aws_3d.xml" libs="general;aws3d"/> +<template url="cloud/azure_1.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_2.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_3.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_4.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_5.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_6.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_7.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_8.xml" libs="general;azure;mscae"/> +<template url="cloud/azure_9.xml" libs="general;azure;mscae"/> +<template url="cloud/gcp_backup_and_archive_api_hosting.xml" libs="gcp2"/> +<template url="cloud/gcp_big_data_complex_event_processing.xml" libs="gcp2"/> +<template url="cloud/gcp_dev_test_continuous_delivery_with_spinnaker.xml" libs="gcp2"/> +<template url="cloud/gcp_digital_marketing_dmp_data_warehouse.xml" libs="gcp2"/> +<template url="cloud/gcp_financial_services_monte_carlo_simulations.xml" libs="gcp2"/> +<template url="cloud/gcp_gaming_backend_database.xml" libs="gcp2"/> +<template url="cloud/gcp_general_app_engine_and_cloud_endpoints.xml" libs="gcp2"/> +<template url="cloud/gcp_internet_of_things_mqtt_to_pubsub_broker.xml" libs="gcp2"/> +<template url="cloud/gcp_lifesciences_genomics_secondary_analysis.xml" libs="gcp2"/> +<template url="cloud/gcp_media_hybrid_rendering.xml" libs="gcp2"/> +<template url="cloud/gcp_retail_beacons_and_targeted_marketing.xml" libs="gcp2"/> +<template url="cloud/gcp_websites_content_hosting.xml" libs="gcp2"/> +<template url="cloud/ibm_bda_reference_architecture.xml" libs="general;ibm"/> +<template url="cloud/ibm_blockchain.xml" libs="general;ibm"/> +<template url="cloud/ibm_cognitive_conversation.xml" libs="general;ibm"/> +<template url="cloud/ibm_cognitive_discovery.xml" libs="general;ibm"/> +<template url="cloud/ibm_iot_architecture.xml" libs="general;ibm"/> +<template url="cloud/ibm_microservices.xml" libs="general;ibm"/> +<template url="cloud/ibm_private_cloud.xml" libs="general;ibm"/> +<template url="cloud/ibm_vcenter_server_platform.xml" libs="general;ibm"/> +<template url="cloud/ibm_vpc_architecture.xml" libs="general;ibm"/> + <template url="engineering/cabinet.xml" libs="general;cabinets"/> <template url="engineering/electrical_1.xml" libs="general;electrical"/> <template url="engineering/electrical_2.xml" libs="general;electrical"/> @@ -30,61 +73,8 @@ <template url="flowcharts/flowchart_1.xml" libs="general;flowchart"/> <template url="flowcharts/flowchart_2.xml" libs="general;flowchart"/> <template url="flowcharts/workflow_1.xml" libs="general;flowchart"/> -<template url="gcp/backup_and_archive_api_hosting.xml" libs="gcp2"/> -<template url="gcp/backup_and_archive_disaster_recovery_cold_standby_server.xml" libs="gcp2"/> -<template url="gcp/backup_and_archive_disaster_recovery_warm_static_site.xml" libs="gcp2"/> -<template url="gcp/backup_and_archive_disaster_recovery_with_application_replication.xml" libs="gcp2"/> -<template url="gcp/backup_and_archive_hosting_filers.xml" libs="gcp2"/> -<template url="gcp/big_data_complex_event_processing.xml" libs="gcp2"/> -<template url="gcp/big_data_dmp_data_warehouse.xml" libs="gcp2"/> -<template url="gcp/big_data_log_processing.xml" libs="gcp2"/> -<template url="gcp/big_data_time_series_analysis.xml" libs="gcp2"/> -<template url="gcp/dev_test_continuous_delivery_with_spinnaker.xml" libs="gcp2"/> -<template url="gcp/dev_test_jenkins_in_k8s.xml" libs="gcp2"/> -<template url="gcp/dev_test_scale_testing_with_kubernetes_locust.xml" libs="gcp2"/> -<template url="gcp/dev_test_ui_testing_with_kubernetes.xml" libs="gcp2"/> -<template url="gcp/digital_marketing_dmp_data_warehouse.xml" libs="gcp2"/> -<template url="gcp/digital_marketing_publisher_side_analysis.xml" libs="gcp2"/> -<template url="gcp/digital_marketing_real_time_bidding.xml" libs="gcp2"/> -<template url="gcp/financial_services_monte_carlo_simulations.xml" libs="gcp2"/> -<template url="gcp/financial_services_time_series_analysis.xml" libs="gcp2"/> -<template url="gcp/gaming_backend_database.xml" libs="gcp2"/> -<template url="gcp/gaming_gaming_analytics.xml" libs="gcp2"/> -<template url="gcp/gaming_mobile_game_backend.xml" libs="gcp2"/> -<template url="gcp/gaming_real_time_aaa_game_servers.xml" libs="gcp2"/> -<template url="gcp/general_app_engine_and_cloud_endpoints.xml" libs="gcp2"/> -<template url="gcp/general_compute_engine_and_rest_or_grpc.xml" libs="gcp2"/> -<template url="gcp/general_content_management.xml" libs="gcp2"/> -<template url="gcp/general_digital_asset_management_and_sharing.xml" libs="gcp2"/> -<template url="gcp/general_firebase.xml" libs="gcp2"/> -<template url="gcp/general_firebase_and_google_app_engine.xml" libs="gcp2"/> -<template url="gcp/general_firebase_and_managed_vms.xml" libs="gcp2"/> -<template url="gcp/general_gitlabclonegke.xml" libs="gcp2"/> -<template url="gcp/general_hadoop_on_google_cloud_platform.xml" libs="gcp2"/> -<template url="gcp/general_high_performance_computing.xml" libs="gcp2"/> -<template url="gcp/general_real_time_bidding.xml" libs="gcp2"/> -<template url="gcp/general_real_time_stream_processing_iot.xml" libs="gcp2"/> -<template url="gcp/general_web_application_on_google_app_engine.xml" libs="gcp2"/> -<template url="gcp/internet_of_things_mqtt_to_pubsub_broker.xml" libs="gcp2"/> -<template url="gcp/internet_of_things_sensor_stream_ingest_and_processing.xml" libs="gcp2"/> -<template url="gcp/lifesciences_genomics_secondary_analysis.xml" libs="gcp2"/> -<template url="gcp/lifesciences_patient_monitoring.xml" libs="gcp2"/> -<template url="gcp/lifesciences_variant_analysis.xml" libs="gcp2"/> -<template url="gcp/media_hybrid_rendering.xml" libs="gcp2"/> -<template url="gcp/media_live_streaming.xml" libs="gcp2"/> -<template url="gcp/media_rendering.xml" libs="gcp2"/> -<template url="gcp/media_transcoding.xml" libs="gcp2"/> -<template url="gcp/retail_beacons_and_targeted_marketing.xml" libs="gcp2"/> -<template url="gcp/retail_fraud_detection.xml" libs="gcp2"/> -<template url="gcp/retail_pci.xml" libs="gcp2"/> -<template url="gcp/retail_real_time_inventory.xml" libs="gcp2"/> -<template url="gcp/retail_recommendation_engines.xml" libs="gcp2"/> -<template url="gcp/retail_shopping_cart_analysis.xml" libs="gcp2"/> -<template url="gcp/websites_content_hosting.xml" libs="gcp2"/> -<template url="gcp/websites_dynamic_hosting.xml" libs="gcp2"/> -<template url="gcp/websites_mobile_site_hosting.xml" libs="gcp2"/> -<template url="gcp/websites_multiple_network_interfaces.xml" libs="gcp2"/> -<template url="gcp/websites_static_hosting.xml" libs="gcp2"/> + + <template url="layout/blog_wireframe.xml" libs="general;mockups"/> <template url="layout/bootstrap.xml" libs="general;bootstrap"/> <template url="layout/wireframe_1.xml" libs="general;mockups"/> @@ -95,23 +85,10 @@ <template url="maps/mind_map.xml" libs="general"/> <template url="maps/site_map.xml" libs="general"/> <template url="network/active_directory.xml" libs="general;citrix"/> -<template url="network/aws.xml" libs="general;aws3"/> -<template url="network/aws_3d.xml" libs="general;aws3d"/> -<template url="network/azure_1.xml" libs="general;azure;mscae"/> -<template url="network/azure_2.xml" libs="general;azure;mscae"/> <template url="network/cisco_1.xml" libs="general;cisco"/> <template url="network/cisco_2.xml" libs="general;cisco"/> <template url="network/citrix.xml" libs="general;citrix"/> <template url="network/enterprise_1.xml" libs="general;citrix"/> -<template url="network/ibm_bda_reference_architecture.xml" libs="general;ibm"/> -<template url="network/ibm_blockchain.xml" libs="general;ibm"/> -<template url="network/ibm_cognitive_conversation.xml" libs="general;ibm"/> -<template url="network/ibm_cognitive_discovery.xml" libs="general;ibm"/> -<template url="network/ibm_iot_architecture.xml" libs="general;ibm"/> -<template url="network/ibm_microservices.xml" libs="general;ibm"/> -<template url="network/ibm_private_cloud.xml" libs="general;ibm"/> -<template url="network/ibm_vcenter_server_platform.xml" libs="general;ibm"/> -<template url="network/ibm_vpc_architecture.xml" libs="general;ibm"/> <template url="network/internet.xml" libs="general;network"/> <template url="network/lan.xml" libs="general;network"/> <template url="network/telecomm.xml" libs="general;network"/>