L.cell.id,L.text),Q=!1);Q||A++;N++});console.log("states checked",N,"invalid",A)}));d.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var l=null!=d.pages&&null!=d.getCurrentFile()?d.getCurrentFile().getAnonymizedXmlForPages(d.pages):"";l=new TextareaDialog(d,"Paste Data:",l,function(n){if(0<n.length)try{var z=function(L){function U(Z){if(null==X[Z]){if(X[Z]=!0,null!=H[Z]){for(;0<H[Z].length;){var Y=H[Z].pop();U(Y)}delete H[Z]}}else mxLog.debug(g+": Visited: "+Z)}var g=L.parentNode.id,
y=L.childNodes;L={};for(var H={},O=null,P={},V=0;V<y.length;V++){var R=y[V];if(null!=R.id&&0<R.id.length)if(null==L[R.id]){L[R.id]=R.id;var W=R.getAttribute("parent");null==W?null!=O?mxLog.debug(g+": Multiple roots: "+R.id):O=R.id:(null==H[W]&&(H[W]=[]),H[W].push(R.id))}else P[R.id]=R.id}y=Object.keys(P);0<y.length?(y=g+": "+y.length+" Duplicates: "+y.join(", "),mxLog.debug(y+" (see console)")):mxLog.debug(g+": Checked");var X={};null==O?mxLog.debug(g+": No root"):(U(O),Object.keys(X).length!=Object.keys(L).length&&
(mxLog.debug(g+": Invalid tree: (see console)"),console.log(g+": Invalid tree",H)))};"<"!=n.charAt(0)&&(n=Graph.decompress(n),mxLog.debug("See console for uncompressed XML"),console.log("xml",n));var E=mxUtils.parseXml(n),A=d.getPagesForNode(E.documentElement,"mxGraphModel");if(null!=A&&0<A.length)try{var N=d.getHashValueForPages(A);mxLog.debug("Checksum: ",N)}catch(L){mxLog.debug("Error: ",L.message)}else mxLog.debug("No pages found for checksum");var Q=E.getElementsByTagName("root");for(n=0;n<Q.length;n++)z(Q[n]);


Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.


v.x,v.y),b.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",n))}finally{b.editor.graph.getModel().endUpdate()}b.editor.graph.setSelectionCells(n);b.editor.graph.scrollCellToVisible(b.editor.graph.getSelectionCell());t.destroy();q.parentNode.removeChild(q)}}}function u(){return"list"==F.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":"mermaid"==F.value||
"mermaid2drawio"==F.value?"graph TD;\n  A--\x3eB;\n  A--\x3eC;\n  B--\x3eD;\n  C--\x3eD;":"table"==F.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"==F.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":
"plantUmlSvg"==F.value||"plantUmlTxt"==F.value?"@startuml\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":";Example:\na->b\nb->edge label->c\nc->a\n"}var v=b.editor.graph.getFreeInsertPoint();f=document.createElement("div");f.style.textAlign="right";var D=document.createElement("textarea");D.style.boxSizing="border-box";D.style.resize=


e)};EditorUi.prototype.embedExtFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(c)};EditorUi.prototype.exportToCanvas=function(c,e,k,q,p,t,x,C,I,B,T,l,n,z,E,A){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(c,e,k,q,p,t,x,C,I,B,T,l,n,z,E,A)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};


EditorUi.prototype.convertImages=function(c,e,k,q){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(c,e,k,q)};EditorUi.prototype.convertImageToDataUri=function(c,e){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(c,e)};EditorUi.prototype.base64Encode=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(c)};EditorUi.prototype.updateCRC=function(c,e,k,q){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");


Z&&Z()}}catch(Ma){this.handleError(Ma)}};EditorUi.prototype.getSearch=function(c){var e="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=c&&0<window.location.search.length){var k="?",q;for(q in urlParams)0>mxUtils.indexOf(c,q)&&null!=urlParams[q]&&(e+=k+q+"="+urlParams[q],k="&")}else e=window.location.search;return e};EditorUi.prototype.getUrl=function(c){c=null!=c?c:window.location.pathname;var e=0<c.indexOf("?")?1:0;if("1"==urlParams.offline)c+=window.location.search;else{var k="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),


Z&&Z()}}catch(Ma){this.handleError(Ma)}};EditorUi.prototype.getSearch=function(c){var e="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=c&&0<window.location.search.length){var k="?",q;for(q in urlParams)0>mxUtils.indexOf(c,q)&&null!=urlParams[q]&&(e+=k+q+"="+urlParams[q],k="&")}else e=window.location.search;return e};EditorUi.prototype.getUrl=function(c){c=null!=c?c:window.location.pathname;var e=0<c.indexOf("?")?1:0;if("1"==urlParams.offline)c+=window.location.search;else{var k="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),
q;for(q in urlParams)0>mxUtils.indexOf(k,q)&&(c=0==e?c+"?":c+"&",null!=urlParams[q]&&(c+=q+"="+urlParams[q],e++))}return c};EditorUi.prototype.showLinkDialog=function(c,e,k,q,p){c=new LinkDialog(this,c,e,k,!0,q,p);this.showDialog(c.container,560,130,!0,!0);c.init()};EditorUi.prototype.getServiceCount=function(c){var e=1;null==this.drive&&"function"!==typeof window.DriveClient||e++;null==this.dropbox&&"function"!==typeof window.DropboxClient||e++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||


return Editor.updateCRC(c,e,k,q)};EditorUi.prototype.crc32=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(c)};EditorUi.prototype.writeGraphModelToPng=function(c,e,k,q,p){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(c,e,k,q,p)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;for(var c=[],e=0;e<localStorage.length;e++){var k=


function(c,e,k,q,p,t,x,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(c,e,k,q,p,t,x,C)};EditorUi.prototype.loadFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(c)};EditorUi.prototype.createSvgDataUri=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(c)};EditorUi.prototype.embedCssFonts=function(c,e){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(c,


Math.max(30,(this.diagramContainer.parentNode.clientHeight-e)/2):56,c-6,e-6,mxUtils.bind(this,function(q){this.createShapesPanel(q)}));this.sidebarWindow.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.sidebarWindow.window.fit()}));this.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);this.sidebarWindow.window.setVisible(!1)}};EditorUi.prototype.setSketchMode=function(c){this.spinner.spin(document.body,mxResources.get("working")+"...")&&window.setTimeout(mxUtils.bind(this,
function(){this.spinner.stop();this.doSetSketchMode(c);null==urlParams.rough&&(mxSettings.settings.sketchMode=c,mxSettings.save());this.fireEvent(new mxEventObject("sketchModeChanged"))}),0)};Editor.createMinimalCss=function(){return(Editor.isDarkMode()?"html body .geMenubarContainer .geMenuItem .geMenuItem, html body .geMenubarContainer a.geMenuItem { color: #353535; }html body .geToolbarContainer .geMenuItem, html body .geToolbarContainer .geToolbarButton, html body .geMenubarContainer .geMenuItem .geMenuItem, html body .geMenubarContainer a.geMenuItem,html body .geMenubarContainer .geToolbarButton { filter: invert(1); }html > body.geEditor > div > a.geItem { background-color: "+


function(c,e,k,q,p,t,x,C){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(c,e,k,q,p,t,x,C)};EditorUi.prototype.loadFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(c)};EditorUi.prototype.createSvgDataUri=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(c)};EditorUi.prototype.embedCssFonts=function(c,e){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(c,
e)};EditorUi.prototype.embedExtFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(c)};EditorUi.prototype.exportToCanvas=function(c,e,k,q,p,t,x,C,I,B,T,l,n,z,E,A){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(c,e,k,q,p,t,x,C,I,B,T,l,n,z,E,A)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};


mxResources.get("mermaid")+"...","mermaid");J.showDialog(k.container,620,420,!0,!1);k.init()}));var c="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),e=function(k,q,p,t){k.addItem(p,null,mxUtils.bind(this,function(){var x=new CreateGraphDialog(J,p,t);J.showDialog(x.container,620,420,!0,!1);x.init()}),q)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(k,q){for(var p=0;p<c.length;p++)"-"==c[p]?k.addSeparator(q):e(k,q,mxResources.get(c[p])+


this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(p){return"function"===typeof p||"[object Function]"===b.call(p)},g=Math.pow(2,53)-1;return function(p){var y=Object(p);if(null==p)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=
arguments[2])}var M=Number(y.length);M=isNaN(M)?0:0!==M&&isFinite(M)?(0<M?1:-1)*Math.floor(Math.abs(M)):M;M=Math.min(Math.max(M,0),g);for(var T=e(this)?Object(new this(M)):Array(M),F=0,K;F<M;)K=y[F],T[F]=q?"undefined"===typeof E?q(K,F):q.call(E,K,F):K,F+=1;T.length=M;return T}}());mxConstants.POINTS=1;mxConstants.MILLIMETERS=2;mxConstants.INCHES=3;mxConstants.METERS=4;mxConstants.PIXELS_PER_MM=3.937;mxConstants.PIXELS_PER_INCH=100;mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";


K||"undefined"!==typeof jQuery&&g instanceof jQuery||"undefined"!==typeof Elements&&g instanceof Elements;if(R){K=0;for(var W=g.length;K<W;K++)E(g[K],M)}else E(g,M);this.detach=function(){if(R)for(var d=0,f=g.length;d<f;d++)e.detach(g[d]);else e.detach(g)}}};e.detach=function(g){g.resizeSensor&&(g.removeChild(g.resizeSensor),delete g.resizeSensor,delete g.resizedAttached)};window.ResizeSensor=e})();


function Z(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function Y(){mxShape.call(this)}function ka(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function wa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Ba(){mxRectangleShape.call(this)}function ya(){mxDoubleEllipse.call(this)}function Oa(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);


return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,


PrintDialog.createPrintPreview=function(b,e,g,p,y,q,E){e=new mxPrintPreview(b,e,g,p,y,q);e.title=mxResources.get("preview");e.addPageCss=!mxClient.IS_SF;e.printBackgroundImage=!0;e.autoOrigin=E;b=b.background;if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.backgroundColor=b;var M=e.writeHead;e.writeHead=function(T){M.apply(this,arguments);T.writeln('<style type="text/css">');T.writeln("@media screen {");T.writeln("  body > div { padding:30px;box-sizing:content-box; }");T.writeln("}");T.writeln("</style>")};
return e};PrintDialog.previewEnabled=!0;


.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,u-n));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));return c};ma.prototype.getConstraints=function(c,m,u){c=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var n=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,
"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*(u-n)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(u-n)));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,


1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};p.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,u-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,.5*(u-n)));return c};d.prototype.getConstraints=function(c,m,u){c=[];m=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,m));c.push(new mxConnectionConstraint(new mxPoint(1,


0),!1,null,m-n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));return c};wa.prototype.getConstraints=function(c,m,u){m=parseFloat(mxUtils.getValue(c,"jettyWidth",wa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",wa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,
0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),
!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(u-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(u-.5*c,3.5*c))];u>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,m));u>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,m));u>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,m));return n};x.prototype.constraints=mxRectangleShape.prototype.constraints;L.prototype.constraints=mxRectangleShape.prototype.constraints;


EditorUi.prototype.getLinkForPage=function(b,e,g){if(null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var p=this.getCurrentFile();if(null!=p&&p.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var y=this.getSearch("create title mode url drive splash state clibs ui viewbox hide-pages sketch".split(" "));y+=(0==y.length?"?":"&")+"page-id="+b.getId();null!=e&&(y+="&"+e.join("&"));return(g&&"1"!=urlParams.dev?EditorUi.lightboxHost:mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?
EditorUi.drawHost:"https://"+window.location.host)+"/"+y+"#"+p.getHash()}}return null};


E.setAttribute("width",g+"px");E.setAttribute("height",p+"px");E.setAttribute("viewBox",b+" "+e+" "+g+" "+p);q.appendChild(E);return E};Graph.htmlToPng=function(b,e,g,p){var y=document.createElement("canvas");y.width=e;y.height=g;var q=document.createElement("img");q.onload=mxUtils.bind(this,function(){y.getContext("2d").drawImage(q,0,0);p(y.toDataURL())});q.src="data:image/svg+xml,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><foreignObject width="100%" height="100%">
I lick cheese
</foreignObject></svg>')};


function(c,m,u){c=[];var n=Math.min(m,u/2),t=Math.min(m-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*m);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));return c};wa.prototype.getConstraints=function(c,m,u){m=parseFloat(mxUtils.getValue(c,"jettyWidth",wa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",wa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,


0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};z.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};p.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,


function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};z.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,


function Z(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function Y(){mxShape.call(this)}function ka(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function wa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Ba(){mxRectangleShape.call(this)}function ya(){mxDoubleEllipse.call(this)}function Oa(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);
this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];La.prototype.getConstraints=function(c,m,u){c=[];var n=u*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"arrowSize",this.arrowSize))));n=(u-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-t),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-t,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-t,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-t),u-n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,u-n));return c};Ka.prototype.getConstraints=function(c,m,u){c=[];var n=u*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",La.prototype.arrowWidth)))),t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",La.prototype.arrowSize))));n=(u-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*m,n));c.push(new mxConnectionConstraint(new mxPoint(0,


function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,k,v,z,A,H,J){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,k,v,z,A,H,J)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");
return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,


!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;Va.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),t=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*m+.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),u));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,.5*(m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*m-.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*t));return c};Ea.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,


this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


0),!1,null,.5*(m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*m-.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*t));return c};Ea.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx)))),t=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),t));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return c};za.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,


T="curved sourcePerimeterSpacing targetPerimeterSpacing startArrow startFill startSize endArrow endFill endSize".split(" "),F=!1,K=!1;this.setDefaultStyle=function(P){try{y.getModel().isEdge(P)?K=!1:F=!1;var V=y.getCellStyle(P,!1),l=[],B=[],N;for(N in V)l.push(V[N]),B.push(N);y.getModel().isEdge(P)?y.currentEdgeStyle={}:y.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",B,"values",l,"cells",[P],"force",!0));y.getModel().isEdge(P)?K=!0:F=!0}catch(Z){this.handleError(Z)}};


Graph.createSvgImage=function(b,e,g,p,y){g=unescape(encodeURIComponent(Graph.svgDoctype+'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+b+'px" height="'+e+'px" '+(null!=p&&null!=y?'viewBox="0 0 '+p+" "+y+'" ':"")+'version="1.1">'+g+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(g):Base64.encode(g,!0)),b,e)};


A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,


E.style.backgroundPosition=d,E.style.backgroundImage=W,!R||null!=F.background&&F.background!=mxConstants.NONE?E.style.backgroundColor=K:(E.style.backgroundColor=F.diagramBackgroundColor,F.container.style.backgroundColor=""))};mxGraphView.prototype.createSvgGrid=function(E,M){for(M=this.graph.gridSize*this.scale*(null!=M?M:1);M<this.minGridSize;)M*=2;for(var T=this.gridSteps*M,F=[],K=1;K<this.gridSteps;K++){var R=K*M;F.push("M 0 "+R+" L "+T+" "+R+" M "+R+" 0 L "+R+" "+T)}return'<svg width="'+T+'" height="'+
T+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+T+'" height="'+T+'" patternUnits="userSpaceOnUse"><path d="'+F.join(" ")+'" fill="none" stroke="'+E+'" opacity="0.2" stroke-width="1"/><path d="M '+T+" 0 L 0 0 0 "+T+'" fill="none" stroke="'+E+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(E,M){b.apply(this,arguments);if(null!=this.shiftPreview1){var T=this.view.canvas;


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(p){return"function"===typeof p||"[object Function]"===b.call(p)},g=Math.pow(2,53)-1;return function(p){var y=Object(p);if(null==p)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=


function Z(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function Y(){mxShape.call(this)}function ka(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function wa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Ba(){mxRectangleShape.call(this)}function ya(){mxDoubleEllipse.call(this)}function Oa(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);


T+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+T+'" height="'+T+'" patternUnits="userSpaceOnUse"><path d="'+F.join(" ")+'" fill="none" stroke="'+E+'" opacity="0.2" stroke-width="1"/><path d="M '+T+" 0 L 0 0 0 "+T+'" fill="none" stroke="'+E+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(E,M){b.apply(this,arguments);if(null!=this.shiftPreview1){var T=this.view.canvas;
null!=T.ownerSVGElement&&(T=T.ownerSVGElement);var F=this.gridSize*this.view.scale*this.view.gridSteps;F=-Math.round(F-mxUtils.mod(this.view.translate.x*this.view.scale+E,F))+"px "+-Math.round(F-mxUtils.mod(this.view.translate.y*this.view.scale+M,F))+"px";T.style.backgroundPosition=F}};mxGraph.prototype.updatePageBreaks=function(E,M,T){var F=this.view.scale,K=this.view.translate,R=this.pageFormat,W=F*this.pageScale,d=this.view.getBackgroundPageBounds();M=d.width;T=d.height;var f=new mxRectangle(F*


return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,
A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,


A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,
f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,k,v)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};EditorUi.prototype.writeGraphModelToPng=function(d,f,k,v,z){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(p){return"function"===typeof p||"[object Function]"===b.call(p)},g=Math.pow(2,53)-1;return function(p){var y=Object(p);if(null==p)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=
arguments[2])}var M=Number(y.length);M=isNaN(M)?0:0!==M&&isFinite(M)?(0<M?1:-1)*Math.floor(Math.abs(M)):M;M=Math.min(Math.max(M,0),g);for(var T=e(this)?Object(new this(M)):Array(M),F=0,K;F<M;)K=y[F],T[F]=q?"undefined"===typeof E?q(K,F):q.call(E,K,F):K,F+=1;T.length=M;return T}}());mxConstants.POINTS=1;mxConstants.MILLIMETERS=2;mxConstants.INCHES=3;mxConstants.METERS=4;mxConstants.PIXELS_PER_MM=3.937;mxConstants.PIXELS_PER_INCH=100;mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";


K||"undefined"!==typeof jQuery&&g instanceof jQuery||"undefined"!==typeof Elements&&g instanceof Elements;if(R){K=0;for(var W=g.length;K<W;K++)E(g[K],M)}else E(g,M);this.detach=function(){if(R)for(var d=0,f=g.length;d<f;d++)e.detach(g[d]);else e.detach(g)}}};e.detach=function(g){g.resizeSensor&&(g.removeChild(g.resizeSensor),delete g.resizeSensor,delete g.resizedAttached)};window.ResizeSensor=e})();


return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,


PrintDialog.createPrintPreview=function(b,e,g,p,y,q,E){e=new mxPrintPreview(b,e,g,p,y,q);e.title=mxResources.get("preview");e.addPageCss=!mxClient.IS_SF;e.printBackgroundImage=!0;e.autoOrigin=E;b=b.background;if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.backgroundColor=b;var M=e.writeHead;e.writeHead=function(T){M.apply(this,arguments);T.writeln('<style type="text/css">');T.writeln("@media screen {");T.writeln("  body > div { padding:30px;box-sizing:content-box; }");T.writeln("}");T.writeln("</style>")};
return e};PrintDialog.previewEnabled=!0;


.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,u-n));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));return c};ma.prototype.getConstraints=function(c,m,u){c=[];mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE);var n=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,
"size",this.size))));parseFloat(mxUtils.getValue(this.style,"position",this.position));var t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2))));parseFloat(mxUtils.getValue(this.style,"base",this.base));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.25,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.75,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*(u-n)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(u-n)));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,


1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};p.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,u-.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,u-n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,.5*(u-n)));return c};d.prototype.getConstraints=function(c,m,u){c=[];m=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,m));c.push(new mxConnectionConstraint(new mxPoint(1,


0),!1,null,m-n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));return c};wa.prototype.getConstraints=function(c,m,u){m=parseFloat(mxUtils.getValue(c,"jettyWidth",wa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",wa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,
0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(0,1),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(1,1),
!0),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(u-.5*c,1.5*c)),new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,Math.min(u-.5*c,3.5*c))];u>5*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.75),!1,null,m));u>8*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null,m));u>15*c&&n.push(new mxConnectionConstraint(new mxPoint(0,.25),!1,null,m));return n};x.prototype.constraints=mxRectangleShape.prototype.constraints;L.prototype.constraints=mxRectangleShape.prototype.constraints;


this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


EditorUi.prototype.getLinkForPage=function(b,e,g){if(null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var p=this.getCurrentFile();if(null!=p&&p.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var y=this.getSearch("create title mode url drive splash state clibs ui viewbox hide-pages sketch".split(" "));y+=(0==y.length?"?":"&")+"page-id="+b.getId();null!=e&&(y+="&"+e.join("&"));return(g&&"1"!=urlParams.dev?EditorUi.lightboxHost:mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?
EditorUi.drawHost:"https://"+window.location.host)+"/"+y+"#"+p.getHash()}}return null};


E.setAttribute("width",g+"px");E.setAttribute("height",p+"px");E.setAttribute("viewBox",b+" "+e+" "+g+" "+p);q.appendChild(E);return E};Graph.htmlToPng=function(b,e,g,p){var y=document.createElement("canvas");y.width=e;y.height=g;var q=document.createElement("img");q.onload=mxUtils.bind(this,function(){y.getContext("2d").drawImage(q,0,0);p(y.toDataURL())});q.src="data:image/svg+xml,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><foreignObject width="100%" height="100%">
I lick cheese
</foreignObject></svg>')};


function(c,m,u){c=[];var n=Math.min(m,u/2),t=Math.min(m-n,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*m);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,u));return c};wa.prototype.getConstraints=function(c,m,u){m=parseFloat(mxUtils.getValue(c,"jettyWidth",wa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",wa.prototype.jettyHeight));var n=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,


0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};z.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};p.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,


function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-n,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-.5*n,.5*n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m,.5*(u+n)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));m>=2*n&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};z.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,Math.min(u,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,


function Z(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function Y(){mxShape.call(this)}function ka(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function wa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Ba(){mxRectangleShape.call(this)}function ya(){mxDoubleEllipse.call(this)}function Oa(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);
this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


function Z(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function Y(){mxShape.call(this)}function ka(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function wa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Ba(){mxRectangleShape.call(this)}function ya(){mxDoubleEllipse.call(this)}function Oa(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);


1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];La.prototype.getConstraints=function(c,m,u){c=[];var n=u*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth)))),t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,
"arrowSize",this.arrowSize))));n=(u-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-t),n));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-t,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-t,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-t),u-n));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,u-n));return c};Ka.prototype.getConstraints=function(c,m,u){c=[];var n=u*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",La.prototype.arrowWidth)))),t=m*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",La.prototype.arrowSize))));n=(u-n)/2;c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*m,n));c.push(new mxConnectionConstraint(new mxPoint(0,


function(){return"draw.io"};EditorUi.prototype.addRemoteServiceSecurityCheck=function(d){d.setRequestHeader("Content-Language","da, mi, en, de-DE")};EditorUi.prototype.loadUrl=function(d,f,k,v,z,A,H,J){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,k,v,z,A,H,J)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");
return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,


!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;Va.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,"dx",this.dx)))),t=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.75*m+.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),u));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,.5*(m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*m-.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*t));return c};Ea.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,


0),!1,null,.5*(m-n),u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-n),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*m-.25*n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*t));return c};Ea.prototype.getConstraints=function(c,m,u){c=[];var n=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx)))),t=Math.max(0,Math.min(u,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+n),t));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,n,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,.5*(u+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,n,u));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*n,u));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return c};za.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,


T="curved sourcePerimeterSpacing targetPerimeterSpacing startArrow startFill startSize endArrow endFill endSize".split(" "),F=!1,K=!1;this.setDefaultStyle=function(P){try{y.getModel().isEdge(P)?K=!1:F=!1;var V=y.getCellStyle(P,!1),l=[],B=[],N;for(N in V)l.push(V[N]),B.push(N);y.getModel().isEdge(P)?y.currentEdgeStyle={}:y.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",B,"values",l,"cells",[P],"force",!0));y.getModel().isEdge(P)?K=!0:F=!0}catch(Z){this.handleError(Z)}};


Graph.createSvgImage=function(b,e,g,p,y){g=unescape(encodeURIComponent(Graph.svgDoctype+'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+b+'px" height="'+e+'px" '+(null!=p&&null!=y?'viewBox="0 0 '+p+" "+y+'" ':"")+'version="1.1">'+g+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(g):Base64.encode(g,!0)),b,e)};


A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,


E.style.backgroundPosition=d,E.style.backgroundImage=W,!R||null!=F.background&&F.background!=mxConstants.NONE?E.style.backgroundColor=K:(E.style.backgroundColor=F.diagramBackgroundColor,F.container.style.backgroundColor=""))};mxGraphView.prototype.createSvgGrid=function(E,M){for(M=this.graph.gridSize*this.scale*(null!=M?M:1);M<this.minGridSize;)M*=2;for(var T=this.gridSteps*M,F=[],K=1;K<this.gridSteps;K++){var R=K*M;F.push("M 0 "+R+" L "+T+" "+R+" M "+R+" 0 L "+R+" "+T)}return'<svg width="'+T+'" height="'+
T+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+T+'" height="'+T+'" patternUnits="userSpaceOnUse"><path d="'+F.join(" ")+'" fill="none" stroke="'+E+'" opacity="0.2" stroke-width="1"/><path d="M '+T+" 0 L 0 0 0 "+T+'" fill="none" stroke="'+E+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(E,M){b.apply(this,arguments);if(null!=this.shiftPreview1){var T=this.view.canvas;


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(p){return"function"===typeof p||"[object Function]"===b.call(p)},g=Math.pow(2,53)-1;return function(p){var y=Object(p);if(null==p)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=


T+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+T+'" height="'+T+'" patternUnits="userSpaceOnUse"><path d="'+F.join(" ")+'" fill="none" stroke="'+E+'" opacity="0.2" stroke-width="1"/><path d="M '+T+" 0 L 0 0 0 "+T+'" fill="none" stroke="'+E+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(E,M){b.apply(this,arguments);if(null!=this.shiftPreview1){var T=this.view.canvas;
null!=T.ownerSVGElement&&(T=T.ownerSVGElement);var F=this.gridSize*this.view.scale*this.view.gridSteps;F=-Math.round(F-mxUtils.mod(this.view.translate.x*this.view.scale+E,F))+"px "+-Math.round(F-mxUtils.mod(this.view.translate.y*this.view.scale+M,F))+"px";T.style.backgroundPosition=F}};mxGraph.prototype.updatePageBreaks=function(E,M,T){var F=this.view.scale,K=this.view.translate,R=this.pageFormat,W=F*this.pageScale,d=this.view.getBackgroundPageBounds();M=d.width;T=d.height;var f=new mxRectangle(F*


return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,v,z,A,H,J,O,G,ja,fa,ca,ia,ma,ba){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,v,z,
A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,


A,H,J,O,G,ja,fa,ca,ia,ma,ba)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");return this.editor.convertImages(d,f,k,v)};EditorUi.prototype.convertImageToDataUri=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,
f)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,f,k,v){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,f,k,v)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(d)};EditorUi.prototype.writeGraphModelToPng=function(d,f,k,v,z){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");


this.spacing=0}function Ta(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Aa(){mxRectangleShape.call(this)}function Ea(){mxActor.call(this)}function za(){mxActor.call(this)}function Va(){mxActor.call(this)}function La(){mxActor.call(this)}function Ka(){mxActor.call(this)}function cb(){mxActor.call(this)}function Da(){mxActor.call(this)}function Ma(){mxActor.call(this)}function x(){mxActor.call(this)}function L(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')

The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component.


return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,g,n,q){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");


F[C].destroyed?(F[C]=l,x[C]=!0,EditorUi.debug("P2PCollab: p2p socket connected",C)):(l.noP2PMapDel=!0,l.destroy(),EditorUi.debug("P2PCollab: p2p socket duplicate",C))});l.on("close",function(){l.noP2PMapDel||(EditorUi.debug("P2PCollab: p2p socket closed",C),D(t[C]),delete F[C])});l.on("data",u);return I[C]=l}}function E(C,K){D(K||t[C]);null!=C&&(delete t[C],x[C]=!1)}function D(C){var K=g[C];if(null!=K){var l=K.selection,z;for(z in l)null!=l[z]&&l[z].destroy();null!=K.cursor&&null!=K.cursor.parentNode&&


"') "+(f?" and (title contains '"+f+"')":"")+(c?" and (modifiedDate > '"+c.toISOString()+"')":"")+(k?" and ('me' in owners)":""))+"&orderBy=modifiedDate desc,title"},m,u)};DriveClient.prototype.getCustomProperty=function(f,c){f=f.properties;var k=null;if(null!=f)for(var m=0;m<f.length;m++)if(f[m].key==c){k=f[m].value;break}return k};DriveClient.prototype.getFile=function(f,c,k,m,u){m=null!=m?m:!1;u=null!=u?u:!1;null!=urlParams.rev?this.executeRequest({url:"/files/"+f+"/revisions/"+urlParams.rev+"?supportsAllDrives=true"},


m.x,m.y),b.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",N))}finally{b.editor.graph.getModel().endUpdate()}b.editor.graph.setSelectionCells(N);b.editor.graph.scrollCellToVisible(b.editor.graph.getSelectionCell());x.destroy();q.parentNode.removeChild(q)}}}function k(){return"list"==v.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":"mermaid"==v.value||
"mermaid2drawio"==v.value?"graph TD;\n  A--\x3eB;\n  A--\x3eC;\n  B--\x3eD;\n  C--\x3eD;":"table"==v.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"==v.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":
"plantUmlSvg"==v.value||"plantUmlTxt"==v.value?"@startuml\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":";Example:\na->b\nb->edge label->c\nc->a\n"}var m=b.editor.graph.getFreeInsertPoint();e=document.createElement("div");e.style.textAlign="right";var u=document.createElement("textarea");u.style.boxSizing="border-box";u.style.resize=


EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,g){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,g)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");
return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,g,n,q){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");


var l=0,z=0;k.view.states.visit(function(J,O){J=!0;p(O.shape)||(console.log("invalid shape",O.cell.id,O.shape),J=!1);p(O.text)||(console.log("invalid text",O.cell.id,O.text),J=!1);J||l++;z++});console.log("states checked",z,"invalid",l)}));c.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var p=null!=c.pages&&null!=c.getCurrentFile()?c.getCurrentFile().getAnonymizedXmlForPages(c.pages):"";p=new TextareaDialog(c,"Paste Data:",p,function(y){if(0<y.length)try{var C=function(O){function T(ba){if(null==
da[ba]){if(da[ba]=!0,null!=S[ba]){for(;0<S[ba].length;){var sa=S[ba].pop();T(sa)}delete S[ba]}}else mxLog.debug(W+": Visited: "+ba)}var W=O.parentNode.id,V=O.childNodes;O={};for(var S={},X=null,Z={},Y=0;Y<V.length;Y++){var aa=V[Y];if(null!=aa.id&&0<aa.id.length)if(null==O[aa.id]){O[aa.id]=aa.id;var ca=aa.getAttribute("parent");null==ca?null!=X?mxLog.debug(W+": Multiple roots: "+aa.id):X=aa.id:(null==S[ca]&&(S[ca]=[]),S[ca].push(aa.id))}else Z[aa.id]=aa.id}V=Object.keys(Z);0<V.length?(V=W+": "+V.length+
" Duplicates: "+V.join(", "),mxLog.debug(V+" (see console)")):mxLog.debug(W+": Checked");var da={};null==X?mxLog.debug(W+": No root"):(T(X),Object.keys(da).length!=Object.keys(O).length&&(mxLog.debug(W+": Invalid tree: (see console)"),console.log(W+": Invalid tree",S)))};"<"!=y.charAt(0)&&(y=Graph.decompress(y),mxLog.debug("See console for uncompressed XML"),console.log("xml",y));var K=mxUtils.parseXml(y),l=c.getPagesForNode(K.documentElement,"mxGraphModel");if(null!=l&&0<l.length)try{var z=c.getHashValueForPages(l);


mxResources.get("mermaid")+"...","mermaid");H.showDialog(n.container,620,420,!0,!1);n.init()}));var d="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),g=function(n,q,t,x){n.addItem(t,null,mxUtils.bind(this,function(){var B=new CreateGraphDialog(H,t,x);H.showDialog(B.container,620,420,!0,!1);B.init()}),q)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(n,q){for(var t=0;t<d.length;t++)"-"==d[t]?n.addSeparator(q):g(n,q,mxResources.get(d[t])+


Aa.forceConstant=3*V;Aa.disableEdgeStyle=!1;Aa.resetEdges=!1;var La=Aa.isVertexIgnored;Aa.isVertexIgnored=function(Da){return La.apply(this,arguments)||0>mxUtils.indexOf(x,Da)};this.executeLayout(function(){Aa.execute(I.getDefaultParent());na()},!0,Z);Z=null}}this.hideDialog()}finally{I.model.endUpdate()}null!=Z&&Z()}}catch(Da){this.handleError(Da)}};EditorUi.prototype.getSearch=function(d){var g="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&&null!=d&&0<window.location.search.length){var n="?",
q;for(q in urlParams)0>mxUtils.indexOf(d,q)&&null!=urlParams[q]&&(g+=n+q+"="+urlParams[q],n="&")}else g=window.location.search;return g};EditorUi.prototype.getUrl=function(d){d=null!=d?d:window.location.pathname;var g=0<d.indexOf("?")?1:0;if("1"==urlParams.offline)d+=window.location.search;else{var n="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),q;for(q in urlParams)0>mxUtils.indexOf(n,q)&&(d=0==g?d+"?":d+"&",null!=urlParams[q]&&(d+=q+"="+urlParams[q],


F[C].destroyed?(F[C]=l,x[C]=!0,EditorUi.debug("P2PCollab: p2p socket connected",C)):(l.noP2PMapDel=!0,l.destroy(),EditorUi.debug("P2PCollab: p2p socket duplicate",C))});l.on("close",function(){l.noP2PMapDel||(EditorUi.debug("P2PCollab: p2p socket closed",C),D(t[C]),delete F[C])});l.on("data",u);return I[C]=l}}function E(C,K){D(K||t[C]);null!=C&&(delete t[C],x[C]=!1)}function D(C){var K=g[C];if(null!=K){var l=K.selection,z;for(z in l)null!=l[z]&&l[z].destroy();null!=K.cursor&&null!=K.cursor.parentNode&&
K.cursor.parentNode.removeChild(K.cursor);clearTimeout(K.inactiveTO);delete g[C]}}var A=b.editor.graph,L=0,H=null,d="#e6194b #3cb44b #4363d8 #f58231 #911eb4 #f032e6 #469990 #9A6324 #800000 #808000 #000075 #a9a9a9 #ffe119 #42d4f4 #bfef45 #fabed4 #dcbeff #fffac8 #aaffc3 #ffd8b1".split(" "),g={},n=1,q={},t={},x={},B={},G,I={},F={},U=!0,R=!1,N=!1,Q="0"!=urlParams["no-p2p"],P=!1,M=0,p=null,y=mxUtils.bind(this,function(C,K){if(!N)try{null!=H?(H.send(JSON.stringify({action:C,msg:K})),Q||EditorUi.debug("P2PCollab: sending to socket server",


return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,g,n,q,t,x,B,G,I,F,U,R,N,Q,P,M)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(d,g,n,q){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");
return this.editor.convertImages(d,g,n,q)};EditorUi.prototype.convertImageToDataUri=function(d,g){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(d,g)};EditorUi.prototype.base64Encode=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(d)};EditorUi.prototype.updateCRC=function(d,g,n,q){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(d,g,n,q)};EditorUi.prototype.crc32=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");


null!=U?(c.resolveCrossReferences=U,U=null):(U=c.resolveCrossReferences,c.resolveCrossReferences=function(){var p=Date.now(),y=U.apply(this,arguments);EditorUi.debug("[Performance] EditorUi.resolveCrossReferences",[this],"time",Date.now()-p+" ms","args",arguments);return y});EditorUi.debug("[Performance]",null!=t?"Enabled":"Disabled")}));this.put("testDevelop",new Menu(mxUtils.bind(this,function(p,y){this.addMenuItems(p,"createSidebarEntry showBoundingBox - testCheckPages testChecksum testFixPages - testCheckFile testDiff - testInspect testOptimize - testXmlImageExport -".split(" "),


V))}var U="";null==e&&(e=t,U='

');null==k&&(k=function(){var V=null;try{V=JSON.parse(localStorage.getItem("mxODPickerRecentList"))}catch(S){}return V});null==m&&(m=function(V){if(null!=V){var S=k()||{};delete V["@microsoft.graph.downloadUrl"];S[V.id]=V;localStorage.setItem("mxODPickerRecentList",JSON.stringify(S))}});U='

OneDrive

'+mxUtils.htmlEntities(mxResources.get("files"))+


"message",C))}}catch(Y){null!=window.console&&console.warn(Y,C,K)}}function v(C,K){if(!Q&&SimplePeer.WEBRTC_SUPPORT){var l=new SimplePeer({initiator:K,config:{iceServers:[{urls:"stun:54.89.235.160:3478"}]}});l.on("signal",function(z){y("sendSignal",{to:C,from:G,signal:z})});l.on("error",function(z){delete I[C];EditorUi.debug("P2PCollab: p2p socket error",z);!N&&K&&l.destroyed&&x[C]&&(EditorUi.debug("P2PCollab: p2p socket reconnecting",C),v(C,!0))});l.on("connect",function(){delete I[C];null==F[C]||
F[C].destroyed?(F[C]=l,x[C]=!0,EditorUi.debug("P2PCollab: p2p socket connected",C)):(l.noP2PMapDel=!0,l.destroy(),EditorUi.debug("P2PCollab: p2p socket duplicate",C))});l.on("close",function(){l.noP2PMapDel||(EditorUi.debug("P2PCollab: p2p socket closed",C),D(t[C]),delete F[C])});l.on("data",u);return I[C]=l}}function E(C,K){D(K||t[C]);null!=C&&(delete t[C],x[C]=!1)}function D(C){var K=g[C];if(null!=K){var l=K.selection,z;for(z in l)null!=l[z]&&l[z].destroy();null!=K.cursor&&null!=K.cursor.parentNode&&


		mxEdgeHandler.prototype.init = function()
		{
			edgeHandlerInit.apply(this, arguments);

			var update = mxUtils.bind(this, function()
			{
				if (this.linkHint != null)
				{
					this.linkHint.style.display = (this.graph.getSelectionCount() == 1) ? '' : 'none';
				}

				if (this.labelShape != null)
				{
					this.labelShape.node.style.display = (this.graph.isEnabled() &&
						this.graph.getSelectionCount() < this.graph.graphHandler.maxCells) ?
						'' : 'none';
				}
			});

			this.changeHandler = mxUtils.bind(this, function(sender, evt)
			{
				this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),
					this.graph.getLinksForState(this.state));
				update();
				this.redrawHandles();
			});

			this.graph.getSelectionModel().addListener(mxEvent.CHANGE, this.changeHandler);
			this.graph.getModel().addListener(mxEvent.CHANGE, this.changeHandler);

			var link = this.graph.getLinkForCell(this.state.cell);
			var links = this.graph.getLinksForState(this.state);

			if (link != null || (links != null && links.length > 0))
			{
				this.updateLinkHint(link, links);
				this.redrawHandles();
			}
		};


return this.editor.embedExtFonts(c)};EditorUi.prototype.exportToCanvas=function(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(c,e,k,n){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");
return this.editor.convertImages(c,e,k,n)};EditorUi.prototype.convertImageToDataUri=function(c,e){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImageToDataUri");return this.editor.convertImageToDataUri(c,e)};EditorUi.prototype.base64Encode=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: base64Encode");return Editor.base64Encode(c)};EditorUi.prototype.updateCRC=function(c,e,k,n){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(c,e,k,n)};EditorUi.prototype.crc32=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");


return this.editor.embedExtFonts(c)};EditorUi.prototype.exportToCanvas=function(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(c,e,k,n){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");


mxResources.get("mermaid")+"...","mermaid");J.showDialog(k.container,620,420,!0,!1);k.init()}));var c="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),e=function(k,n,p,t){k.addItem(p,null,mxUtils.bind(this,function(){var y=new CreateGraphDialog(J,p,t);J.showDialog(y.container,620,420,!0,!1);y.init()}),n)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(k,n){for(var p=0;p<c.length;p++)"-"==c[p]?k.addSeparator(n):e(k,n,mxResources.get(c[p])+


var g=0,x=0;q.view.states.visit(function(F,M){F=!0;m(M.shape)||(console.log("invalid shape",M.cell.id,M.shape),F=!1);m(M.text)||(console.log("invalid text",M.cell.id,M.text),F=!1);F||g++;x++});console.log("states checked",x,"invalid",g)}));d.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var m=null!=d.pages&&null!=d.getCurrentFile()?d.getCurrentFile().getAnonymizedXmlForPages(d.pages):"";m=new TextareaDialog(d,"Paste Data:",m,function(v){if(0<v.length)try{var A=function(M){function Q(aa){if(null==
ca[aa]){if(ca[aa]=!0,null!=T[aa]){for(;0<T[aa].length;){var ra=T[aa].pop();Q(ra)}delete T[aa]}}else mxLog.debug(S+": Visited: "+aa)}var S=M.parentNode.id,W=M.childNodes;M={};for(var T={},X=null,Z={},Y=0;Y<W.length;Y++){var ba=W[Y];if(null!=ba.id&&0<ba.id.length)if(null==M[ba.id]){M[ba.id]=ba.id;var fa=ba.getAttribute("parent");null==fa?null!=X?mxLog.debug(S+": Multiple roots: "+ba.id):X=ba.id:(null==T[fa]&&(T[fa]=[]),T[fa].push(ba.id))}else Z[ba.id]=ba.id}W=Object.keys(Z);0<W.length?(W=S+": "+W.length+
" Duplicates: "+W.join(", "),mxLog.debug(W+" (see console)")):mxLog.debug(S+": Checked");var ca={};null==X?mxLog.debug(S+": No root"):(Q(X),Object.keys(ca).length!=Object.keys(M).length&&(mxLog.debug(S+": Invalid tree: (see console)"),console.log(S+": Invalid tree",T)))};"<"!=v.charAt(0)&&(v=Graph.decompress(v),mxLog.debug("See console for uncompressed XML"),console.log("xml",v));var I=mxUtils.parseXml(v),g=d.getPagesForNode(I.documentElement,"mxGraphModel");if(null!=g&&0<g.length)try{var x=d.getHashValueForPages(g);


EditorUi.prototype.loadFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(c)};EditorUi.prototype.createSvgDataUri=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(c)};EditorUi.prototype.embedCssFonts=function(c,e){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(c,e)};EditorUi.prototype.embedExtFonts=function(c){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");
return this.editor.embedExtFonts(c)};EditorUi.prototype.exportToCanvas=function(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(c,e,k,n,p,t,y,C,G,B,V,R,O,P,N,H)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=function(c,e,k,n){EditorUi.logEvent("SHOULD NOT BE CALLED: convertImages");


u.x,u.y),b.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",O))}finally{b.editor.graph.getModel().endUpdate()}b.editor.graph.setSelectionCells(O);b.editor.graph.scrollCellToVisible(b.editor.graph.getSelectionCell());t.destroy();n.parentNode.removeChild(n)}}}function q(){return"list"==D.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":"mermaid"==D.value||
"mermaid2drawio"==D.value?"graph TD;\n  A--\x3eB;\n  A--\x3eC;\n  B--\x3eD;\n  C--\x3eD;":"table"==D.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"==D.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":
"plantUmlSvg"==D.value||"plantUmlTxt"==D.value?"@startuml\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":";Example:\na->b\nb->edge label->c\nc->a\n"}var u=b.editor.graph.getFreeInsertPoint();f=document.createElement("div");f.style.textAlign="right";var z=document.createElement("textarea");z.style.boxSizing="border-box";z.style.resize=


(function(j8,_M){typeof exports=="object"&&typeof module<"u"?module.exports=_M():typeof define=="function"&&define.amd?define(_M):(j8=typeof globalThis<"u"?globalThis:j8||self,j8.mermaid=_M())})(this,function(){"use strict";function j8(r,s){for(var o=0;o<s.length;o++){const h=s[o];if(typeof h!="string"&&!Array.isArray(h)){for(const g in h)if(g!=="default"&&!(g in r)){const b=Object.getOwnPropertyDescriptor(h,g);b&&Object.defineProperty(r,g,b.get?b:{enumerable:!0,get:()=>h[g]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}function _M(r){for(var s=[],o=1;o<arguments.length;o++)s[o-1]=arguments[o];var h=Array.from(typeof r=="string"?[r]:r);h[h.length-1]=h[h.length-1].replace(/\r?\n([\t ]*)$/,"");var g=h.reduce(function(w,y){var k=y.match(/\n([\t ]+|(?!\s).)/g);return k?w.concat(k.map(function(E){var _,C;return(C=(_=E.match(/[\t ]/g))===null||_===void 0?void 0:_.length)!==null&&C!==void 0?C:0})):w},[]);if(g.length){var b=new RegExp(`


`+r);const b=gt().securityLevel;let p;b==="sandbox"&&(p=Fn("#i"+s));const y=Fn(b==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+s);y.append("g");const k=h.db.getMindmap(),E=y.append("g");E.attr("class","mindmap-edges");const _=y.append("g");_.attr("class","mindmap-nodes"),uMe(_,k,-1,g);const C=await pYt(k,g);gYt(E,C),bYt(C),ex(void 0,y,g.mindmap.padding,g.mindmap.useMaxWidth),Editor.mermaidToDrawio(C,"Mindmap")}},wYt=r=>{let s="";for(let o=0;o<r.THEME_COLOR_LIMIT;o++)r["lineColor"+o]=r["lineColor"+o]||r["cScaleInv"+o],e9e(r["lineColor"+o])?r["lineColor"+o]=es(r["lineColor"+o],20):r["lineColor"+o]=_s(r["lineColor"+o],20);for(let o=0;o<r.THEME_COLOR_LIMIT;o++){const h=""+(17-3*o);s+=`
    .section-${o-1} rect, .section-${o-1} path, .section-${o-1} circle, .section-${o-1} polygon, .section-${o-1} path  {
      fill: ${r["cScale"+o]};
    }
    .section-${o-1} text {
     fill: ${r["cScaleLabel"+o]};
    }
    .node-icon-${o-1} {
      font-size: 40px;
      color: ${r["cScaleLabel"+o]};
    }
    .section-edge-${o-1}{
      stroke: ${r["cScale"+o]};
    }
    .edge-depth-${o-1}{
      stroke-width: ${h};
    }
    .section-${o-1} line {
      stroke: ${r["cScaleInv"+o]} ;
      stroke-width: 3;
    }

    .disabled, .disabled circle, .disabled text {
      fill: lightgray;
    }
    .disabled text {
      fill: #efefef;
    }
    `}return s},mYt=Object.freeze(Object.defineProperty({__proto__:null,diagram:{db:iYt,renderer:vYt,parser:WWt,styles:r=>`


function X(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function ba(){mxShape.call(this)}function ia(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function xa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Aa(){mxRectangleShape.call(this)}function za(){mxDoubleEllipse.call(this)}function Ma(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);


function(c,m,v){c=[];var p=Math.min(m,v/2),t=Math.min(m-p,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*m);c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-p),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-p,0));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1,null));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(t+m-p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,t,v));return c};xa.prototype.getConstraints=function(c,m,v){m=parseFloat(mxUtils.getValue(c,"jettyWidth",xa.prototype.jettyWidth))/2;c=parseFloat(mxUtils.getValue(c,"jettyHeight",xa.prototype.jettyHeight));var p=[new mxConnectionConstraint(new mxPoint(0,0),!1,null,m),new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,


0),!1,null,.5*(m-p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-p),.5*(v+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-p),t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.25*m-.25*p,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*t));return c};Ba.prototype.getConstraints=function(c,m,v){c=[];var p=Math.max(0,Math.min(m,parseFloat(mxUtils.getValue(this.style,
"dx",this.dx)))),t=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(1,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+p),t));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,p,t));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,.5*(v+t)));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,v));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));return c};ya.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(n){return"function"===typeof n||"[object Function]"===b.call(n)},g=Math.pow(2,53)-1;return function(n){var y=Object(n);if(null==n)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=
arguments[2])}var L=Number(y.length);L=isNaN(L)?0:0!==L&&isFinite(L)?(0<L?1:-1)*Math.floor(Math.abs(L)):L;L=Math.min(Math.max(L,0),g);for(var T=e(this)?Object(new this(L)):Array(L),G=0,M;G<L;)M=y[G],T[G]=q?"undefined"===typeof E?q(M,G):q.call(E,M,G):M,G+=1;T.length=L;return T}}());mxConstants.POINTS=1;mxConstants.MILLIMETERS=2;mxConstants.INCHES=3;mxConstants.METERS=4;mxConstants.PIXELS_PER_MM=3.937;mxConstants.PIXELS_PER_INCH=100;mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";


0),!1,null,m,.5*(v+p)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));m>=2*p&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};z.prototype.getConstraints=function(c,m,v){c=[];var p=Math.max(0,Math.min(m,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(1,
0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+p),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,.5*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,.5*(v+p)));c.push(new mxConnectionConstraint(new mxPoint(0,1),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,
1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*p&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};n.prototype.getConstraints=function(c,m,v){c=[];var p=Math.max(0,Math.min(m,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-p),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-p,0));c.push(new mxConnectionConstraint(new mxPoint(0,


PrintDialog.createPrintPreview=function(b,e,g,n,y,q,E){e=new mxPrintPreview(b,e,g,n,y,q);e.title=mxResources.get("preview");e.addPageCss=!mxClient.IS_SF;e.printBackgroundImage=!0;e.autoOrigin=E;b=b.background;if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";e.backgroundColor=b;var L=e.writeHead;e.writeHead=function(T){L.apply(this,arguments);T.writeln('<style type="text/css">');T.writeln("@media screen {");T.writeln("  body > div { padding:30px;box-sizing:content-box; }");T.writeln("}");T.writeln("</style>")};
return e};PrintDialog.previewEnabled=!0;


function(d,f,k,u,z,B,F,K){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,k,u,z,B,F,K)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,


f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,u,z,B,F,K,N,H,ka,ea,ca,ja,ma,Z){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,u,z,B,F,K,N,H,ka,ea,ca,ja,ma,Z)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};


mxResources.get("mermaid")+"...","mermaid");W.showDialog(k.container,620,420,!0,!1);k.init()}));var d="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "),f=function(k,u,z,B){k.addItem(z,null,mxUtils.bind(this,function(){var F=new CreateGraphDialog(W,z,B);W.showDialog(F.container,620,420,!0,!1);F.init()}),u)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(k,u){for(var z=0;z<d.length;z++)"-"==d[z]?k.addSeparator(u):f(k,u,mxResources.get(d[z])+


Math.max(30,(this.diagramContainer.parentNode.clientHeight-f)/2):56,d-6,f-6,mxUtils.bind(this,function(u){this.createShapesPanel(u)}));this.sidebarWindow.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){this.sidebarWindow.window.fit()}));this.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);this.sidebarWindow.window.setVisible(!1)}};EditorUi.prototype.setSketchMode=function(d){this.spinner.spin(document.body,mxResources.get("working")+"...")&&window.setTimeout(mxUtils.bind(this,
function(){this.spinner.stop();this.doSetSketchMode(d);null==urlParams.rough&&(mxSettings.settings.sketchMode=d,mxSettings.save());this.fireEvent(new mxEventObject("sketchModeChanged"))}),0)};Editor.createMinimalCss=function(){return(Editor.isDarkMode()?"html body .geMenubarContainer .geMenuItem .geMenuItem, html body .geMenubarContainer a.geMenuItem { color: #353535; }html body .geToolbarContainer .geMenuItem, html body .geToolbarContainer .geToolbarButton, html body .geMenubarContainer .geMenuItem .geMenuItem, html body .geMenubarContainer a.geMenuItem,html body .geMenubarContainer .geToolbarButton { filter: invert(1); }html > body.geEditor > div > a.geItem { background-color: "+


1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));m>=2*p&&c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));return c};n.prototype.getConstraints=function(c,m,v){c=[];var p=Math.max(0,Math.min(m,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m-p),0));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m-p,0));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,m-.5*p,.5*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,m,.5*(v+p)));c.push(new mxConnectionConstraint(new mxPoint(1,1),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*(m+p),v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,p,v));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,.5*p,v-.5*p));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,v-p));c.push(new mxConnectionConstraint(new mxPoint(0,
0),!1,null,0,.5*(v-p)));return c};d.prototype.getConstraints=function(c,m,v){c=[];m=Math.max(0,Math.min(v,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c.push(new mxConnectionConstraint(new mxPoint(.5,0),!1));c.push(new mxConnectionConstraint(new mxPoint(0,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(.5,1),!1));c.push(new mxConnectionConstraint(new mxPoint(1,.5),!1));c.push(new mxConnectionConstraint(new mxPoint(0,0),!1,null,0,m));c.push(new mxConnectionConstraint(new mxPoint(1,


Uint8Array.from||(Uint8Array.from=function(){var b=Object.prototype.toString,e=function(n){return"function"===typeof n||"[object Function]"===b.call(n)},g=Math.pow(2,53)-1;return function(n){var y=Object(n);if(null==n)throw new TypeError("Array.from requires an array-like object - not null or undefined");var q=1<arguments.length?arguments[1]:void 0,E;if("undefined"!==typeof q){if(!e(q))throw new TypeError("Array.from: when provided, the second argument must be a function");2<arguments.length&&(E=


function(d,f,k,u,z,B,F,K){EditorUi.logEvent("SHOULD NOT BE CALLED: loadUrl");return this.editor.loadUrl(d,f,k,u,z,B,F,K)};EditorUi.prototype.loadFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: loadFonts");return this.editor.loadFonts(d)};EditorUi.prototype.createSvgDataUri=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: createSvgDataUri");return Editor.createSvgDataUri(d)};EditorUi.prototype.embedCssFonts=function(d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: embedCssFonts");return this.editor.embedCssFonts(d,
f)};EditorUi.prototype.embedExtFonts=function(d){EditorUi.logEvent("SHOULD NOT BE CALLED: embedExtFonts");return this.editor.embedExtFonts(d)};EditorUi.prototype.exportToCanvas=function(d,f,k,u,z,B,F,K,N,H,ka,ea,ca,ja,ma,Z){EditorUi.logEvent("SHOULD NOT BE CALLED: exportToCanvas");return this.editor.exportToCanvas(d,f,k,u,z,B,F,K,N,H,ka,ea,ca,ja,ma,Z)};EditorUi.prototype.createImageUrlConverter=function(){EditorUi.logEvent("SHOULD NOT BE CALLED: createImageUrlConverter");return this.editor.createImageUrlConverter()};


EditorUi.prototype.getLinkForPage=function(b,e,g){if(null!=b&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp){var n=this.getCurrentFile();if(null!=n&&n.constructor!=LocalFile&&"draw.io"==this.getServiceName()){var y=this.getSearch("create title mode url drive splash state clibs ui viewbox hide-pages sketch".split(" "));y+=(0==y.length?"?":"&")+"page-id="+b.getId();null!=e&&(y+="&"+e.join("&"));return(g&&"1"!=urlParams.dev?EditorUi.lightboxHost:mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?
EditorUi.drawHost:"https://"+window.location.host)+"/"+y+"#"+n.getHash()}}return null};


E.setAttribute("width",g+"px");E.setAttribute("height",n+"px");E.setAttribute("viewBox",b+" "+e+" "+g+" "+n);q.appendChild(E);return E};Graph.htmlToPng=function(b,e,g,n){var y=document.createElement("canvas");y.width=e;y.height=g;var q=document.createElement("img");q.onload=mxUtils.bind(this,function(){y.getContext("2d").drawImage(q,0,0);n(y.toDataURL())});q.src="data:image/svg+xml,"+encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><foreignObject width="100%" height="100%">
I lick cheese
</foreignObject></svg>')};


function X(){mxShape.call(this)}function U(){mxShape.call(this)}function aa(){mxRectangleShape.call(this)}function ba(){mxShape.call(this)}function ia(){mxShape.call(this)}function qa(){mxShape.call(this)}function ra(){mxShape.call(this)}function pa(){mxShape.call(this)}function xa(){mxCylinder.call(this)}function Ca(){mxCylinder.call(this)}function Aa(){mxRectangleShape.call(this)}function za(){mxDoubleEllipse.call(this)}function Ma(){mxDoubleEllipse.call(this)}function Qa(){mxArrowConnector.call(this);
this.spacing=0}function Oa(){mxArrowConnector.call(this);this.spacing=0}function ta(){mxActor.call(this)}function Da(){mxRectangleShape.call(this)}function Ba(){mxActor.call(this)}function ya(){mxActor.call(this)}function Va(){mxActor.call(this)}function Wa(){mxActor.call(this)}function La(){mxActor.call(this)}function $a(){mxActor.call(this)}function Ea(){mxActor.call(this)}function Ka(){mxActor.call(this)}function x(){mxActor.call(this)}function J(){mxActor.call(this)}function Q(){mxEllipse.call(this)}


Graph.createSvgImage=function(b,e,g,n,y){g=unescape(encodeURIComponent(Graph.svgDoctype+'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+b+'px" height="'+e+'px" '+(null!=n&&null!=y?'viewBox="0 0 '+n+" "+y+'" ':"")+'version="1.1">'+g+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(g):Base64.encode(g,!0)),b,e)};