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

github.com/jgraph/drawio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benson [draw.io] <david@jgraph.com>2021-01-22 22:06:30 +0300
committerDavid Benson [draw.io] <david@jgraph.com>2021-01-22 22:06:30 +0300
commit26b6e552ed4e8643e434398a1bf894c46122e570 (patch)
tree5d42f95e1634ea2a40793b020e57d7b11a8ff22e
parenta0d0ea0c9d7d83d7648aea583695fc0fa41c3e4d (diff)
14.2.7 releasev14.2.7
-rw-r--r--ChangeLog4
-rw-r--r--VERSION2
-rw-r--r--src/main/webapp/js/app.min.js116
-rw-r--r--src/main/webapp/js/diagramly/Dialogs.js28
-rw-r--r--src/main/webapp/js/diagramly/Editor.js5
-rw-r--r--src/main/webapp/js/diagramly/Extensions.js22
-rw-r--r--src/main/webapp/js/extensions.min.js258
-rw-r--r--src/main/webapp/js/viewer-static.min.js49
-rw-r--r--src/main/webapp/js/viewer.min.js49
-rw-r--r--src/main/webapp/mxgraph/mxClient.js2
-rw-r--r--src/main/webapp/service-worker.js8
11 files changed, 297 insertions, 246 deletions
diff --git a/ChangeLog b/ChangeLog
index 775a42f7..36ba9bd4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+22-JAN-2021: 14.2.7
+
+- Improves Lucidchart import
+
20-JAN-2021: 14.2.6
- Fixes for OneDrive client flow
diff --git a/VERSION b/VERSION
index d14841bd..fd08bb2c 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-14.2.6 \ No newline at end of file
+14.2.7 \ No newline at end of file
diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js
index a16f303c..6e7e55be 100644
--- a/src/main/webapp/js/app.min.js
+++ b/src/main/webapp/js/app.min.js
@@ -240,7 +240,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");
(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.5",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&
0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>
navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=
@@ -9656,12 +9656,13 @@ a.dataTransfer.files[0];var e=new FileReader;e.onload=function(a){m.value=a.targ
function(){m.value==p?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});e.className="geBtn";a.editor.cancelFirst&&d.appendChild(e);k=mxUtils.button(mxResources.get("insert"),function(e){a.hideDialog();c(m.value,n.value,e)});d.appendChild(k);k.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(e);this.container=d},NewDialog=function(a,d,b,c,g,f,m,n,e,k,l,p,u,t,q,v,y){function x(){var a=!0;if(null!=ia)for(;I<ia.length&&(a||0!=mxUtils.mod(I,30));){var e=
ia[I++],e=B(e.url,e.libs,e.title,e.tooltip?e.tooltip:e.title,e.select,e.imgUrl,e.info,e.onClick,e.preview,e.noImg,e.clibs);a&&e.click();a=!1}}function A(){if(V)b||a.hideDialog(),t(V,ca,H.value);else if(c)b||a.hideDialog(),c(da,H.value,fa,X);else{var e=H.value;null!=e&&0<e.length&&a.pickFolder(a.mode,function(b){a.createFile(e,da,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,b,null,null!=aa&&0<aa.length?aa:null)},a.mode!=App.MODE_GOOGLE||null==a.stateArg||null==a.stateArg.folderId)}}
function z(a,b,c,d,k,l,f){null!=W&&(W.style.backgroundColor="transparent",W.style.border="1px solid transparent");E.removeAttribute("disabled");da=b;X=c;aa=l;W=a;V=d;fa=f;ca=k;W.style.backgroundColor=n;W.style.border=e}function B(e,b,c,d,k,l,f,g,p,t,q){var u=document.createElement("div");u.className="geTemplate";u.style.height=R+"px";u.style.width=P+"px";"dark"==uiTheme&&(u.style.filter="invert(100%)");null!=c?u.setAttribute("title",mxResources.get(c,null,c)):null!=d&&0<d.length&&u.setAttribute("title",
-d);if(null!=l)u.style.backgroundImage="url("+l+")",u.style.backgroundSize="contain",u.style.backgroundPosition="center center",u.style.backgroundRepeat="no-repeat",mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f,q)}),mxEvent.addListener(u,"dblclick",function(a){A()});else if(!t&&null!=e&&0<e.length){d=p||TEMPLATE_PATH+"/"+e.substring(0,e.length-4)+".png";u.style.backgroundImage="url("+d+")";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";null!=c&&(u.innerHTML=
-'<table width="100%" height="100%" style="line-height:1.3em;'+("dark"==uiTheme?"":"background:rgba(255,255,255,0.85);")+'border:inherit;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;max-width:'+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>");var m=!1;mxEvent.addListener(u,"click",function(c){E.setAttribute("disabled",
-"disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=e,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(),b,null,null,q,d),m&&A())}))});mxEvent.addListener(u,"dblclick",function(a){m=!0})}else u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+
-(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>",k&&z(u),null!=g?mxEvent.addListener(u,"click",g):(mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f)}),mxEvent.addListener(u,"dblclick",function(a){A()}));O.appendChild(u);return u}function C(){ha&&(ha=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0<ga){var e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";
-mxUtils.write(e,mxResources.get("custom"));Y.appendChild(e);for(var b in T){var c=document.createElement("div"),e=b,d=T[b];18<e.length&&(e=e.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",e+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=k&&(c.style.padding=k);Y.appendChild(c);(function(e,b){mxEvent.addListener(c,"click",function(){a!=
-b&&(a.style.backgroundColor="",a=b,a.style.backgroundColor=m,O.scrollTop=0,O.innerHTML="",I=0,ia=T[e],L=null,x())})})(b,c)}e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(e,"draw.io");Y.appendChild(e)}for(b in ba)c=document.createElement("div"),e=mxResources.get(b),d=ba[b],null==e&&(e=b.substring(0,1).toUpperCase()+b.substring(1)),18<e.length&&(e=e.substring(0,18)+"&hellip;"),c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;",
+d);if(null!=l){u.style.display="inline-flex";u.style.justifyContent="center";u.style.alignItems="center";c=document.createElement("img");c.setAttribute("src",l);c.setAttribute("alt",d);c.style.maxWidth=R+"px";c.style.maxHeight=P+"px";var m=l.replace(".drawio.xml","").replace(".drawio","").replace(".xml","");u.appendChild(c);c.onerror=function(){this.src!=m?this.src=m:(this.src=Editor.errorImage,this.onerror=null)};mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f,q)});mxEvent.addListener(u,
+"dblclick",function(a){A()})}else if(!t&&null!=e&&0<e.length){d=p||TEMPLATE_PATH+"/"+e.substring(0,e.length-4)+".png";u.style.backgroundImage="url("+d+")";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";null!=c&&(u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;'+("dark"==uiTheme?"":"background:rgba(255,255,255,0.85);")+'border:inherit;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:rgba(255,255,255,0.85);overflow:hidden;text-overflow:ellipsis;max-width:'+
+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>");var v=!1;mxEvent.addListener(u,"click",function(c){E.setAttribute("disabled","disabled");u.style.backgroundColor="transparent";u.style.border="1px solid transparent";var d=e,d=/^https?:\/\//.test(d)&&!a.editor.isCorsEnabledForUrl(d)?PROXY_URL+"?url="+encodeURIComponent(d):TEMPLATE_PATH+"/"+d;J.spin(O);mxUtils.get(d,mxUtils.bind(this,function(a){J.stop();200<=a.getStatus()&&299>=a.getStatus()&&(z(u,a.getText(),
+b,null,null,q,d),v&&A())}))});mxEvent.addListener(u,"dblclick",function(a){v=!0})}else u.innerHTML='<table width="100%" height="100%" style="line-height:1.3em;"><tr><td align="center" valign="middle"><span style="display:inline-block;padding:4px 8px 4px 8px;user-select:none;border-radius:3px;background:#ffffff;overflow:hidden;text-overflow:ellipsis;max-width:'+(R-34)+'px;">'+mxUtils.htmlEntities(mxResources.get(c,null,c))+"</span></td></tr></table>",k&&z(u),null!=g?mxEvent.addListener(u,"click",g):
+(mxEvent.addListener(u,"click",function(a){z(u,null,null,e,f)}),mxEvent.addListener(u,"dblclick",function(a){A()}));O.appendChild(u);return u}function C(){ha&&(ha=!1,mxEvent.addListener(O,"scroll",function(a){O.scrollTop+O.clientHeight>=O.scrollHeight&&(x(),mxEvent.consume(a))}));var a=null;if(0<ga){var e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(e,mxResources.get("custom"));Y.appendChild(e);for(var b in T){var c=
+document.createElement("div"),e=b,d=T[b];18<e.length&&(e=e.substring(0,18)+"&hellip;");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;";c.setAttribute("title",e+" ("+d.length+")");mxUtils.write(c,c.getAttribute("title"));null!=k&&(c.style.padding=k);Y.appendChild(c);(function(e,b){mxEvent.addListener(c,"click",function(){a!=b&&(a.style.backgroundColor="",a=b,a.style.backgroundColor=m,O.scrollTop=
+0,O.innerHTML="",I=0,ia=T[e],L=null,x())})})(b,c)}e=document.createElement("div");e.style.cssText="font-weight: bold;background: #f9f9f9;padding: 5px 0 5px 0;text-align: center;";mxUtils.write(e,"draw.io");Y.appendChild(e)}for(b in ba)c=document.createElement("div"),e=mxResources.get(b),d=ba[b],null==e&&(e=b.substring(0,1).toUpperCase()+b.substring(1)),18<e.length&&(e=e.substring(0,18)+"&hellip;"),c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;user-select:none;",
c.setAttribute("title",e+" ("+d.length+")"),mxUtils.write(c,c.getAttribute("title")),null!=k&&(c.style.padding=k),Y.appendChild(c),null==a&&0<d.length&&(a=c,a.style.backgroundColor=m,ia=d),function(e,b){mxEvent.addListener(c,"click",function(){a!=b&&(a.style.backgroundColor="",a=b,a.style.backgroundColor=m,O.scrollTop=0,O.innerHTML="",I=0,ia=ba[e],L=null,x())})}(b,c);x()}b=null!=b?b:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"dark"==uiTheme?"#a2a2a2":"#e6eff8";e=null!=e?e:"dark"==uiTheme?
"1px dashed #00a8ff":"1px solid #ccd9ea";l=null!=l?l:EditorUi.templateFile;var D=document.createElement("div");D.style.height="100%";var F=document.createElement("div");F.style.whiteSpace="nowrap";F.style.height="46px";b&&D.appendChild(F);var G=document.createElement("img");G.setAttribute("border","0");G.setAttribute("align","absmiddle");G.style.width="40px";G.style.height="40px";G.style.marginRight="10px";G.style.paddingBottom="4px";G.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":
a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_GITLAB?IMAGE_PATH+"/gitlab-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&b&&F.appendChild(G);b&&mxUtils.write(F,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"):
@@ -9916,28 +9917,29 @@ Editor.syncProblemImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3d
Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=
-!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",type:"bool",defVal:!1,isVisible:function(a,e){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",
-dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",
-type:"float",defVal:.95,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",type:"float",defVal:0,min:0,max:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",
-dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",
-dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,
-e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",
-type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",
-type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},
-{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",
-defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",
-type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",
-dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
-dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,e){return e.editorUi.editor.graph.isCellConnectable(1==
-a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},
-{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",
-type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",dispName:"Drop Target",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isSwimlane(b)||0<c.model.getChildCount(b))},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",
-type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isContainer(b)&&"0"!=a.style.collapsible||!c.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length&&!e.editorUi.editor.graph.isSwimlane(a.vertices[0])&&
-null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,isVisible:function(a,e){var b=e.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",
-dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,e){var b=0<a.vertices.length?e.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},
-{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,e){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return e.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},
-{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,e){return 0<a.vertices.length&&e.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
+Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.errorImage="data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==";
+Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",
+type:"bool",defVal:!1,isVisible:function(a,e){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",
+type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",type:"float",defVal:.95,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",
+type:"float",defVal:0,min:0,max:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":
+"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",
+dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,e){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",
+dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
+dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",
+type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},
+{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",
+type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,e){var b=e.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:
+null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,e){var b=e.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",
+dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},
+{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,e){return e.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",
+type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},
+{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",
+dispName:"Drop Target",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isSwimlane(b)||0<c.model.getChildCount(b))},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",type:"bool",getDefaultValue:function(a,e){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,c=e.editorUi.editor.graph;return null!=b&&(c.isContainer(b)&&
+"0"!=a.style.collapsible||!c.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,e){return 1==a.vertices.length&&0==a.edges.length&&!e.editorUi.editor.graph.isSwimlane(a.vertices[0])&&null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,
+isVisible:function(a,e){var b=e.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,e){var b=0<a.vertices.length?
+e.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",
+type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,e){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return e.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,e){return 0<a.vertices.length&&e.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);
+Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
Editor.createRoughCanvas=function(a){var e=rough.canvas({getContext:function(){return a}});e.draw=function(e){var b=e.sets||[];e=e.options||this.getDefaultOptions();for(var c=0;c<b.length;c++){var d=b[c];switch(d.type){case "path":null!=e.stroke&&this._drawToContext(a,d,e);break;case "fillPath":this._drawToContext(a,d,e);break;case "fillSketch":this.fillSketch(a,d,e)}}};e.fillSketch=function(e,b,c){var d=a.state.strokeColor,k=a.state.strokeWidth,l=a.state.strokeAlpha,f=a.state.dashed,g=c.fillWeight;
0>g&&(g=c.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(c.fill||"");a.setStrokeWidth(g);a.setDashed(!1);this._drawToContext(e,b,c);a.setDashed(f);a.setStrokeWidth(k);a.setStrokeColor(d);a.setStrokeAlpha(l)};e._drawToContext=function(a,e,b){a.begin();for(var c=0;c<e.ops.length;c++){var d=e.ops[c],k=d.data;switch(d.op){case "move":a.moveTo(k[0],k[1]);break;case "bcurveTo":a.curveTo(k[0],k[1],k[2],k[3],k[4],k[5]);break;case "lineTo":a.lineTo(k[0],k[1])}}a.end();"fillPath"===e.type&&
b.filled?a.fill():a.stroke()};return e};(function(){function a(e,b,c){this.canvas=e;this.rc=b;this.shape=c;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,a.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,a.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,a.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=
@@ -10134,7 +10136,7 @@ p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.classNa
(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(I.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),
this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var J=document.createElement("canvas"),E=new Image;E.onload=function(){try{J.getContext("2d").drawImage(E,0,0);var a=J.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(L){}};E.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(M){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};a.afterDecode=function(a,b,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.6";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,c){c.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.7";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,c,d,f,g,q){g=null!=g?g:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
@@ -10508,9 +10510,9 @@ return this.editor.createImageUrlConverter()};EditorUi.prototype.convertImages=f
function(a,b,c,d){EditorUi.logEvent("SHOULD NOT BE CALLED: updateCRC");return Editor.updateCRC(a,b,c,d)};EditorUi.prototype.crc32=function(a){EditorUi.logEvent("SHOULD NOT BE CALLED: crc32");return Editor.crc32(a)};EditorUi.prototype.writeGraphModelToPng=function(a,b,c,d,f){EditorUi.logEvent("SHOULD NOT BE CALLED: writeGraphModelToPng");return Editor.writeGraphModelToPng(a,b,c,d,f)};EditorUi.prototype.getLocalStorageFileNames=function(){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=
urlParams.forceMigration)return null;for(var a=[],b=0;b<localStorage.length;b++){var c=localStorage.key(b),d=localStorage.getItem(c);if(0<c.length&&(".scratchpad"==c||"."!=c.charAt(0))&&0<d.length){var f="<mxfile "===d.substring(0,8)||"<?xml"===d.substring(0,5)||"\x3c!--[if IE]>"===d.substring(0,12),d="<mxlibrary>"===d.substring(0,11);(f||d)&&a.push(c)}}return a};EditorUi.prototype.getLocalStorageFile=function(a){if("1"==localStorage.getItem(".localStorageMigrated")&&"1"!=urlParams.forceMigration)return null;
var b=localStorage.getItem(a);return{title:a,data:b,isLib:"<mxlibrary>"===b.substring(0,11)}};EditorUi.prototype.setMigratedFlag=function(){localStorage.setItem(".localStorageMigrated","1")}})();
-var CommentsWindow=function(a,d,b,c,g,f){function m(){for(var a=A.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==A&&b++;z.style.display=0==b?"block":"none"}function n(a,b,c,e){function d(){b.removeChild(k);b.removeChild(n);g.style.display="block";f.style.display="block"}v={div:b,comment:a,saveCallback:c,deleteOnCancel:e};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),k=document.createElement("textarea");k.className=
-"geCommentEditTxtArea";k.style.minHeight=f.offsetHeight+"px";k.value=a.content;b.insertBefore(k,f);var n=document.createElement("div");n.className="geCommentEditBtns";var l=mxUtils.button(mxResources.get("cancel"),function(){e?(b.parentNode.removeChild(b),m()):d();v=null});l.className="geCommentEditBtn";n.appendChild(l);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=k.value;mxUtils.write(f,a.content);d();c(a);v=null});mxEvent.addListener(k,"keydown",mxUtils.bind(this,
-function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(l.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";n.appendChild(p);b.insertBefore(n,f);g.style.display="none";f.style.display="none";k.focus()}function e(b,c){c.innerHTML="";var e=new Date(b.modifiedDate),d=a.timeSince(e);null==d&&(d=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo",
+var CommentsWindow=function(a,d,b,c,g,f){function m(){for(var a=A.getElementsByTagName("div"),b=0,c=0;c<a.length;c++)"none"!=a[c].style.display&&a[c].parentNode==A&&b++;z.style.display=0==b?"block":"none"}function n(a,b,c,e){function d(){b.removeChild(k);b.removeChild(l);g.style.display="block";f.style.display="block"}v={div:b,comment:a,saveCallback:c,deleteOnCancel:e};var f=b.querySelector(".geCommentTxt"),g=b.querySelector(".geCommentActionsList"),k=document.createElement("textarea");k.className=
+"geCommentEditTxtArea";k.style.minHeight=f.offsetHeight+"px";k.value=a.content;b.insertBefore(k,f);var l=document.createElement("div");l.className="geCommentEditBtns";var n=mxUtils.button(mxResources.get("cancel"),function(){e?(b.parentNode.removeChild(b),m()):d();v=null});n.className="geCommentEditBtn";l.appendChild(n);var p=mxUtils.button(mxResources.get("save"),function(){f.innerHTML="";a.content=k.value;mxUtils.write(f,a.content);d();c(a);v=null});mxEvent.addListener(k,"keydown",mxUtils.bind(this,
+function(a){mxEvent.isConsumed(a)||((mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a))&&13==a.keyCode?(p.click(),mxEvent.consume(a)):27==a.keyCode&&(n.click(),mxEvent.consume(a)))}));p.focus();p.className="geCommentEditBtn gePrimaryBtn";l.appendChild(p);b.insertBefore(l,f);g.style.display="none";f.style.display="none";k.focus()}function e(b,c){c.innerHTML="";var e=new Date(b.modifiedDate),d=a.timeSince(e);null==d&&(d=mxResources.get("lessThanAMinute"));mxUtils.write(c,mxResources.get("timeAgo",
[d],"{1} ago"));c.setAttribute("title",e.toLocaleDateString()+" "+e.toLocaleTimeString())}function k(a){var b=document.createElement("img");b.className="geCommentBusyImg";b.src=IMAGE_PATH+"/spin.gif";a.appendChild(b);a.busyImg=b}function l(a){a.style.border="1px solid red";a.removeChild(a.busyImg)}function p(a){a.style.border="";a.removeChild(a.busyImg)}function u(b,c,d,f,g){function B(a,c,e){var d=document.createElement("li");d.className="geCommentAction";var f=document.createElement("a");f.className=
"geCommentActionLnk";mxUtils.write(f,a);d.appendChild(f);mxEvent.addListener(f,"click",function(a){c(a,b);a.preventDefault();mxEvent.consume(a)});M.appendChild(d);e&&(d.style.display="none")}function C(){function a(b){c.push(e);if(null!=b.replies)for(var d=0;d<b.replies.length;d++)e=e.nextSibling,a(b.replies[d])}var c=[],e=E;a(b);return{pdiv:e,replies:c}}function x(c,e,d,g,m){function z(){k(v);b.addReply(t,function(a){t.id=a;b.replies.push(t);p(v);d&&d()},function(b){q();l(v);a.handleError(b,null,
null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))},g,m)}function q(){n(t,v,function(a){z()},!0)}var B=C().pdiv,t=a.newComment(c,a.getCurrentUser());t.pCommentId=b.id;null==b.replies&&(b.replies=[]);var v=u(t,b.replies,B,f+1);e?q():z()}if(g||!b.isResolved){z.style.display="none";var E=document.createElement("div");E.className="geCommentContainer";E.setAttribute("data-commentId",b.id);E.style.marginLeft=20*f+5+"px";b.isResolved&&"dark"!=uiTheme&&(E.style.backgroundColor="ghostWhite");
@@ -10518,7 +10520,7 @@ var y=document.createElement("div");y.className="geCommentHeader";var F=document
G);F.appendChild(G);E.appendChild(y);y=document.createElement("div");y.className="geCommentTxt";mxUtils.write(y,b.content||"");E.appendChild(y);b.isLocked&&(E.style.opacity="0.5");y=document.createElement("div");y.className="geCommentActions";var M=document.createElement("ul");M.className="geCommentActionsList";y.appendChild(M);t||b.isLocked||0!=f&&!q||B(mxResources.get("reply"),function(){x("",!0)},b.isResolved);F=a.getCurrentUser();null==F||F.id!=b.user.id||t||b.isLocked||(B(mxResources.get("edit"),
function(){function c(){n(b,E,function(){k(E);b.editComment(b.content,function(){p(E)},function(b){l(E);c();a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})}c()},b.isResolved),B(mxResources.get("delete"),function(){a.confirm(mxResources.get("areYouSure"),function(){k(E);b.deleteComment(function(a){if(!0===a){a=E.querySelector(".geCommentTxt");a.innerHTML="";mxUtils.write(a,mxResources.get("msgDeleted"));var e=E.querySelectorAll(".geCommentAction");for(a=
0;a<e.length;a++)e[a].parentNode.removeChild(e[a]);p(E);E.style.opacity="0.5"}else{e=C(b).replies;for(a=0;a<e.length;a++)A.removeChild(e[a]);for(a=0;a<c.length;a++)if(c[a]==b){c.splice(a,1);break}z.style.display=0==A.getElementsByTagName("div").length?"block":"none"}},function(b){l(E);a.handleError(b,null,null,null,mxUtils.htmlEntities(mxResources.get("objectNotFound")))})})},b.isResolved));t||b.isLocked||0!=f||B(b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"),function(a){function c(){var c=
-a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var e=b.isResolved?"none":"",d=C(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<d.length;g++){d[g].style.backgroundColor=f;for(var k=d[g].querySelectorAll(".geCommentAction"),n=0;n<k.length;n++)k[n]!=c.parentNode&&(k[n].style.display=e);D||(d[g].style.display="none")}m()}b.isResolved?x(mxResources.get("reOpened")+": ",!0,c,!1,
+a.target;c.innerHTML="";b.isResolved=!b.isResolved;mxUtils.write(c,b.isResolved?mxResources.get("reopen"):mxResources.get("resolve"));for(var e=b.isResolved?"none":"",d=C(b).replies,f="dark"==uiTheme?"transparent":b.isResolved?"ghostWhite":"white",g=0;g<d.length;g++){d[g].style.backgroundColor=f;for(var k=d[g].querySelectorAll(".geCommentAction"),l=0;l<k.length;l++)k[l]!=c.parentNode&&(k[l].style.display=e);D||(d[g].style.display="none")}m()}b.isResolved?x(mxResources.get("reOpened")+": ",!0,c,!1,
!0):x(mxResources.get("markedAsResolved"),!1,c,!0)});E.appendChild(y);null!=d?A.insertBefore(E,d.nextSibling):A.appendChild(E);for(d=0;null!=b.replies&&d<b.replies.length;d++)y=b.replies[d],y.isResolved=b.isResolved,u(y,b.replies,null,f+1,g);null!=v&&(v.comment.id==b.id?(g=b.content,b.content=v.comment.content,n(b,E,v.saveCallback,v.deleteOnCancel),b.content=g):null==v.comment.id&&v.comment.pCommentId==b.id&&(A.appendChild(v.div),n(v.comment,v.div,v.saveCallback,v.deleteOnCancel)));return E}}var t=
!a.canComment(),q=a.canReplyToReplies(),v=null,y=document.createElement("div");y.className="geCommentsWin";y.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;var x=EditorUi.compactUi?"26px":"30px",A=document.createElement("div");A.className="geCommentsList";A.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;A.style.bottom=parseInt(x)+7+"px";y.appendChild(A);var z=document.createElement("span");z.style.cssText="display:none;padding-top:10px;text-align:center;";
mxUtils.write(z,mxResources.get("noCommentsFound"));var B=document.createElement("div");B.className="geToolbarContainer geCommentsToolbar";B.style.height=x;B.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";B.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;mxClient.IS_QUIRKS&&(B.style.filter="none");x=document.createElement("a");x.className="geButton";mxClient.IS_QUIRKS&&(x.style.filter="none");if(!t){var C=x.cloneNode();C.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';
@@ -11155,11 +11157,11 @@ this.put("units",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["
function(){var a=new FilePropertiesDialog(c);c.showDialog(a.container,320,120,!0,!0);a.init()}).isEnabled=f;window.mxFreehand&&(c.actions.put("insertFreehand",new Action(mxResources.get("freehand")+"...",function(a){g.isEnabled()&&(null==this.freehandWindow&&(this.freehandWindow=new FreehandWindow(c,document.body.offsetWidth-420,102,176,104)),g.freehand.isDrawing()?g.freehand.stopDrawing():g.freehand.startDrawing(),this.freehandWindow.window.setVisible(g.freehand.isDrawing()))})).isEnabled=function(){return f()&&
mxClient.IS_SVG});c.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var a=document.createElement("div");a.style.whiteSpace="nowrap";var b=null==c.pages||1>=c.pages.length,d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatXml"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";a.appendChild(d);var e=c.addCheckbox(a,mxResources.get("selectionOnly"),!1,g.isSelectionEmpty()),f=c.addCheckbox(a,mxResources.get("compressed"),
!0),k=c.addCheckbox(a,mxResources.get("allPages"),!b,b);k.style.marginBottom="16px";mxEvent.addListener(e,"change",function(){e.checked?k.setAttribute("disabled","disabled"):k.removeAttribute("disabled")});a=new CustomDialog(c,a,mxUtils.bind(this,function(){c.downloadFile("xml",!f.checked,null,!e.checked,b||!k.checked)}),null,mxResources.get("export"));c.showDialog(a.container,300,180,!0,!0)}));c.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){c.showPublishLinkDialog(mxResources.get("url"),
-!0,null,null,function(a,b,d,e,f,g){a=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,null,!0));c.showDialog(a.container,440,240,!0,!0);a.init()})}));c.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("export"),null,a,function(a,b,d,e,f,g,k,m,l,n){c.createHtml(a,b,d,e,f,g,k,m,l,n,mxUtils.bind(this,function(a,b){var d=
+!0,null,null,function(a,b,d,e,f,g){a=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,null,!0));c.showDialog(a.container,440,240,!0,!0);a.init()})}));c.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("export"),null,a,function(a,b,d,e,f,g,k,l,m,n){c.createHtml(a,b,d,e,f,g,k,l,m,n,mxUtils.bind(this,function(a,b){var d=
c.getBaseFilename(k),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+a+"\n"+b+"\n</body>\n</html>";c.saveData(d+".html","html",e,"text/html")}))})})}));c.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(EditorUi.isElectronApp||!c.isOffline()&&!c.printPdfExport){var a=null==c.pages||1>=c.pages.length,b=document.createElement("div");
-b.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatPdf"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(d);var e=function(){f!=this&&this.checked?(l.removeAttribute("disabled"),l.checked=!g.pageVisible):(l.setAttribute("disabled","disabled"),l.checked=!1)},d=180;if(c.pdfPageExport&&!a){var f=c.addRadiobox(b,"pages",mxResources.get("allPages"),!0),k=c.addRadiobox(b,"pages",mxResources.get("currentPage"),
-!1),m=c.addRadiobox(b,"pages",mxResources.get("selectionOnly"),!1,g.isSelectionEmpty()),l=c.addCheckbox(b,mxResources.get("crop"),!1,!0),n=c.addCheckbox(b,mxResources.get("grid"),!1,!1);mxEvent.addListener(f,"change",e);mxEvent.addListener(k,"change",e);mxEvent.addListener(m,"change",e);d+=60}else m=c.addCheckbox(b,mxResources.get("selectionOnly"),!1,g.isSelectionEmpty()),l=c.addCheckbox(b,mxResources.get("crop"),!g.pageVisible||!c.pdfPageExport,!c.pdfPageExport),n=c.addCheckbox(b,mxResources.get("grid"),
-!1,!1),c.pdfPageExport||mxEvent.addListener(m,"change",e);var p=null,q=null;mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"draw.io"!=c.getServiceName()||(q=c.addCheckbox(b,mxResources.get("includeCopyOfMyDiagram"),!0),p=c.addCheckbox(b,mxResources.get("transparentBackground"),!1),d+=60);b=new CustomDialog(c,b,mxUtils.bind(this,function(){c.downloadFile("pdf",null,null,!m.checked,a?!0:!f.checked,!l.checked,null!=p&&p.checked,null,null,n.checked,null!=q&&q.checked)}),null,mxResources.get("export"));
+b.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatPdf"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(d);var e=function(){f!=this&&this.checked?(m.removeAttribute("disabled"),m.checked=!g.pageVisible):(m.setAttribute("disabled","disabled"),m.checked=!1)},d=180;if(c.pdfPageExport&&!a){var f=c.addRadiobox(b,"pages",mxResources.get("allPages"),!0),k=c.addRadiobox(b,"pages",mxResources.get("currentPage"),
+!1),l=c.addRadiobox(b,"pages",mxResources.get("selectionOnly"),!1,g.isSelectionEmpty()),m=c.addCheckbox(b,mxResources.get("crop"),!1,!0),n=c.addCheckbox(b,mxResources.get("grid"),!1,!1);mxEvent.addListener(f,"change",e);mxEvent.addListener(k,"change",e);mxEvent.addListener(l,"change",e);d+=60}else l=c.addCheckbox(b,mxResources.get("selectionOnly"),!1,g.isSelectionEmpty()),m=c.addCheckbox(b,mxResources.get("crop"),!g.pageVisible||!c.pdfPageExport,!c.pdfPageExport),n=c.addCheckbox(b,mxResources.get("grid"),
+!1,!1),c.pdfPageExport||mxEvent.addListener(l,"change",e);var p=null,q=null;mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"draw.io"!=c.getServiceName()||(q=c.addCheckbox(b,mxResources.get("includeCopyOfMyDiagram"),!0),p=c.addCheckbox(b,mxResources.get("transparentBackground"),!1),d+=60);b=new CustomDialog(c,b,mxUtils.bind(this,function(){c.downloadFile("pdf",null,null,!l.checked,a?!0:!f.checked,!m.checked,null!=p&&p.checked,null,null,n.checked,null!=q&&q.checked)}),null,mxResources.get("export"));
c.showDialog(b.container,300,d,!0,!0)}else c.showDialog((new PrintDialog(c,mxResources.get("formatPdf"))).container,360,null!=c.pages&&1<c.pages.length&&(c.editor.editable||"1"!=urlParams["hide-pages"])?450:370,!0,!0)}));c.actions.addAction("open...",function(){c.pickFile()});c.actions.addAction("close",function(){function a(){null!=b&&b.removeDraft();c.fileLoaded(null)}var b=c.getCurrentFile();null!=b&&b.isModified()?c.confirm(mxResources.get("allChangesLost"),null,a,mxResources.get("cancel"),mxResources.get("discardChanges")):
a()});c.actions.addAction("editShape...",mxUtils.bind(this,function(){g.getSelectionCells();if(1==g.getSelectionCount()){var a=g.getSelectionCell(),b=g.view.getState(a);null!=b&&null!=b.shape&&null!=b.shape.stencil&&(a=new EditShapeDialog(c,a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())}}));c.actions.addAction("revisionHistory...",function(){c.isRevisionHistorySupported()?c.spinner.spin(document.body,mxResources.get("loading"))&&c.getRevisions(mxUtils.bind(this,
function(a,b){c.spinner.stop();var d=new RevisionDialog(c,a,b);c.showDialog(d.container,640,480,!0,!0);d.init()}),mxUtils.bind(this,function(a){c.handleError(a)})):c.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"))});c.actions.addAction("createRevision",function(){c.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");l=c.actions.addAction("synchronize",function(){c.synchronizeCurrentFile("none"==DrawioFile.SYNC)},null,null,"Alt+Shift+S");"none"==DrawioFile.SYNC&&
@@ -11167,9 +11169,9 @@ function(a,b){c.spinner.stop();var d=new RevisionDialog(c,a,b);c.showDialog(d.co
!0;a.ignoreImage=!0;a.mathEnabled=!c.isMathEnabled();g.model.execute(a)}),l.setToggleAction(!0),l.setSelectedCallback(function(){return c.isMathEnabled()}),l.isEnabled=f);isLocalStorage&&(l=c.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),l.setToggleAction(!0),l.setSelectedCallback(function(){return mxSettings.getShowStartScreen()}));var p=c.actions.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});
p.setToggleAction(!0);p.setSelectedCallback(function(){return p.isEnabled()&&c.editor.autosave});c.actions.addAction("editGeometry...",function(){for(var a=g.getSelectionCells(),b=[],d=0;d<a.length;d++)g.getModel().isVertex(a[d])&&b.push(a[d]);0<b.length&&(a=new EditGeometryDialog(c,b),c.showDialog(a.container,200,270,!0,!0),a.init())},null,null,Editor.ctrlKey+"+Shift+M");var u=null;c.actions.addAction("copyStyle",function(){g.isEnabled()&&!g.isSelectionEmpty()&&(u=g.copyStyle(g.getSelectionCell()))},
null,null,Editor.ctrlKey+"+Shift+C");c.actions.addAction("pasteStyle",function(){g.isEnabled()&&!g.isSelectionEmpty()&&null!=u&&g.pasteStyle(u,g.getSelectionCells())},null,null,Editor.ctrlKey+"+Shift+V");c.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!c.isOffline()){var a=new BackgroundImageDialog(c,function(a){c.setBackgroundImage(a)});c.showDialog(a.container,320,170,!0,!0);a.init()}}));c.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+
-"...",function(){c.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,m,l,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportSvg(a/100,b,d,e,f,g,k,!m,!1,n,q,v)}),!0,null,"svg",!0)}));c.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",
-mxUtils.bind(this,function(a,b,d,e,f,g,k,m,l,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,b,d,e,f,k,!m,!1,null,p,null,q,v)}),!0,!0,"png",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile(b?"xmlpng":"png",null,null,a,null,null,d,e,f)}),!1,!0)}));c.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),
-!1,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,m,l,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,!1,d,e,!1,k,!m,!1,"jpeg",p,null,q,v)}),!0,!1,"jpeg",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile("jpeg",null,null,a,null,null,null,e,f)}),!0,!0)}));l=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),
+"...",function(){c.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportSvg(a/100,b,d,e,f,g,k,!l,!1,n,q,v)}),!0,null,"svg",!0)}));c.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",
+mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,b,d,e,f,k,!l,!1,null,p,null,q,v)}),!0,!0,"png",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile(b?"xmlpng":"png",null,null,a,null,null,d,e,f)}),!1,!0)}));c.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){c.isExportToCanvas()?c.showExportDialog(mxResources.get("image"),
+!1,mxResources.get("export"),"https://www.diagrams.net/doc/faq/export-diagram",mxUtils.bind(this,function(a,b,d,e,f,g,k,l,m,n,p,q,v){a=parseInt(a);!isNaN(a)&&0<a&&c.exportImage(a/100,!1,d,e,!1,k,!l,!1,"jpeg",p,null,q,v)}),!0,!1,"jpeg",!0):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||c.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(a,b,d,e,f){c.downloadFile("jpeg",null,null,a,null,null,null,e,f)}),!0,!0)}));l=c.actions.put("shadowVisible",new Action(mxResources.get("shadow"),
function(){g.setShadowVisible(!g.shadowVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return g.shadowVisible});c.actions.put("about",new Action(mxResources.get("about")+" "+EditorUi.VERSION+"...",function(){c.isOffline()||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.alert(c.editor.appName+" "+EditorUi.VERSION):c.openLink("https://www.diagrams.net/")}));c.actions.addAction("support...",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop/wiki/Getting-Support"):
c.openLink("https://github.com/jgraph/drawio/wiki/Getting-Support")});c.actions.addAction("exportOptionsDisabled...",function(){c.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});c.actions.addAction("keyboardShortcuts...",function(){!mxClient.IS_SVG||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?c.openLink("https://viewer.diagrams.net/#Uhttps%3A%2F%2Fviewer.diagrams.net%2Fshortcuts.svg"):c.openLink("shortcuts.svg")});c.actions.addAction("feedback...",
function(){var a=new FeedbackDialog(c);c.showDialog(a.container,610,360,!0,!1);a.init()});c.actions.addAction("quickStart...",function(){c.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});c.actions.addAction("forkme",function(){EditorUi.isElectronApp?c.openLink("https://github.com/jgraph/drawio-desktop"):c.openLink("https://github.com/jgraph/drawio")}).label="Fork me on GitHub...";c.actions.addAction("downloadDesktop...",function(){c.openLink("https://get.diagrams.net/")});l=c.actions.addAction("tags...",
@@ -11184,8 +11186,8 @@ c){c=b.addMenu("",c.funct);c.setAttribute("title",mxResources.get("language"));c
"url("+Editor.globeImage+")";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";d.style.backgroundSize="19px 19px";d.style.position="absolute";d.style.height="19px";d.style.width="19px";d.style.marginTop="2px";d.style.zIndex="1";c.appendChild(d);mxUtils.setOpacity(c,40);if("atlas"==uiTheme||"dark"==uiTheme)c.style.opacity="0.85",c.style.filter="invert(100%)"}document.body.appendChild(c)}}return b}}c.customLayoutConfig=[{layout:"mxHierarchicalLayout",config:{orientation:"west",
intraCellSpacing:30,interRankCellSpacing:100,interHierarchySpacing:60,parallelEdgeSpacing:10}}];c.actions.addAction("runLayout",function(){var a=new TextareaDialog(c,"Run Layouts:",JSON.stringify(c.customLayoutConfig,null,2),function(a){if(0<a.length)try{var b=JSON.parse(a);c.executeLayoutList(b);c.customLayoutConfig=b}catch(D){c.handleError(D),null!=window.console&&console.error(D)}},null,null,null,null,null,!0,null,null,"https://www.diagrams.net/doc/faq/apply-layouts");a.textarea.style.width="600px";
a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()});var l=this.get("layout"),q=l.funct;l.funct=function(a,b){q.apply(this,arguments);a.addItem(mxResources.get("orgChart"),null,function(){var a=null,b=20,d=20,e=!0,f=function(){c.loadingOrgChart=!1;c.spinner.stop();if("undefined"!==typeof mxOrgChartLayout&&null!=a&&e){var f=c.editor.graph,g=new mxOrgChartLayout(f,a,b,d),k=f.getDefaultParent();1<f.model.getChildCount(f.getSelectionCell())&&(k=f.getSelectionCell());g.execute(k);
-e=!1}},g=document.createElement("div"),k=document.createElement("div");k.style.marginTop="6px";k.style.display="inline-block";k.style.width="140px";mxUtils.write(k,mxResources.get("orgChartType")+": ");g.appendChild(k);var m=document.createElement("select");m.style.width="200px";m.style.boxSizing="border-box";for(var k=[mxResources.get("linear"),mxResources.get("hanger2"),mxResources.get("hanger4"),mxResources.get("fishbone1"),mxResources.get("fishbone2"),mxResources.get("1ColumnLeft"),mxResources.get("1ColumnRight"),
-mxResources.get("smart")],l=0;l<k.length;l++){var n=document.createElement("option");mxUtils.write(n,k[l]);n.value=l;2==l&&n.setAttribute("selected","selected");m.appendChild(n)}mxEvent.addListener(m,"change",function(){a=m.value});g.appendChild(m);k=document.createElement("div");k.style.marginTop="6px";k.style.display="inline-block";k.style.width="140px";mxUtils.write(k,mxResources.get("parentChildSpacing")+": ");g.appendChild(k);var p=document.createElement("input");p.type="number";p.value=b;p.style.width=
+e=!1}},g=document.createElement("div"),k=document.createElement("div");k.style.marginTop="6px";k.style.display="inline-block";k.style.width="140px";mxUtils.write(k,mxResources.get("orgChartType")+": ");g.appendChild(k);var l=document.createElement("select");l.style.width="200px";l.style.boxSizing="border-box";for(var k=[mxResources.get("linear"),mxResources.get("hanger2"),mxResources.get("hanger4"),mxResources.get("fishbone1"),mxResources.get("fishbone2"),mxResources.get("1ColumnLeft"),mxResources.get("1ColumnRight"),
+mxResources.get("smart")],m=0;m<k.length;m++){var n=document.createElement("option");mxUtils.write(n,k[m]);n.value=m;2==m&&n.setAttribute("selected","selected");l.appendChild(n)}mxEvent.addListener(l,"change",function(){a=l.value});g.appendChild(l);k=document.createElement("div");k.style.marginTop="6px";k.style.display="inline-block";k.style.width="140px";mxUtils.write(k,mxResources.get("parentChildSpacing")+": ");g.appendChild(k);var p=document.createElement("input");p.type="number";p.value=b;p.style.width=
"200px";p.style.boxSizing="border-box";g.appendChild(p);mxEvent.addListener(p,"change",function(){b=p.value});k=document.createElement("div");k.style.marginTop="6px";k.style.display="inline-block";k.style.width="140px";mxUtils.write(k,mxResources.get("siblingSpacing")+": ");g.appendChild(k);var z=document.createElement("input");z.type="number";z.value=d;z.style.width="200px";z.style.boxSizing="border-box";g.appendChild(z);mxEvent.addListener(z,"change",function(){d=z.value});g=new CustomDialog(c,
g,function(){null==a&&(a=2);"undefined"!==typeof mxOrgChartLayout||c.loadingOrgChart||c.isOffline(!0)?f():c.spinner.spin(document.body,mxResources.get("loading"))&&(c.loadingOrgChart=!0,"1"==urlParams.dev?mxscript("js/orgchart.min.js",f):mxscript("js/extensions.min.js",f))});c.showDialog(g.container,355,125,!0,!0)},b,null,f());a.addSeparator(b);a.addItem(mxResources.get("parallels"),null,mxUtils.bind(this,function(){var a=new mxParallelEdgeLayout(g);a.checkOverlap=!0;a.spacing=20;c.executeLayout(function(){a.execute(g.getDefaultParent(),
g.isSelectionEmpty()?null:g.getSelectionCells())},!1)}),b);a.addSeparator(b);c.menus.addMenuItem(a,"runLayout",b,null,null,mxResources.get("apply")+"...")};this.put("help",new Menu(mxUtils.bind(this,function(a,b){if(!mxClient.IS_CHROMEAPP&&c.isOffline())this.addMenuItems(a,["about"],b);else{var d=a.addItem("Search:",null,null,b,null,null,!1);d.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";d.style.cursor="default";var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size",
@@ -11194,21 +11196,21 @@ mxEvent.addGestureListeners(e,function(a){document.activeElement!=e&&e.focus();m
this.addSubmenu("testDevelop",a,b))})));mxResources.parse("diagramLanguage=Diagram Language");c.actions.addAction("diagramLanguage...",function(){var a=prompt("Language Code",Graph.diagramLanguage||"");null!=a&&(Graph.diagramLanguage=0<a.length?a:null,g.refresh())});"1"==urlParams.test&&(mxResources.parse("testDevelop=Develop"),mxResources.parse("showBoundingBox=Show bounding box"),mxResources.parse("createSidebarEntry=Create Sidebar Entry"),mxResources.parse("testCheckFile=Check File"),mxResources.parse("testDiff=Diff"),
mxResources.parse("testInspect=Inspect"),mxResources.parse("testShowConsole=Show Console"),mxResources.parse("testXmlImageExport=XML Image Export"),mxResources.parse("testDownloadRtModel=Export RT model"),mxResources.parse("testImportRtModel=Import RT model"),c.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){if(!g.isSelectionEmpty()){var a=g.cloneCells(g.getSelectionCells()),b=g.getBoundingBoxFromGeometry(a),a=g.moveCells(a,-b.x,-b.y);c.showTextDialog("Create Sidebar Entry","this.addDataEntry('tag1 tag2', "+
b.width+", "+b.height+", 'The Title', '"+Graph.compress(mxUtils.getXml(g.encodeCells(a)))+"'),")}})),c.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=g.getGraphBounds(),b=g.view.translate,c=g.view.scale;g.insertVertex(g.getDefaultParent(),null,"",a.x/c-b.x,a.y/c-b.y,a.width/c,a.height/c,"fillColor=none;strokeColor=red;")})),c.actions.addAction("testCheckFile",mxUtils.bind(this,function(){var a=null!=c.pages&&null!=c.getCurrentFile()?c.getCurrentFile().getAnonymizedXmlForPages(c.pages):
-"",a=new TextareaDialog(c,"Paste Data:",a,function(a){if(0<a.length)try{var b=function(a){function b(a){if(null==n[a]){if(n[a]=!0,null!=e[a]){for(;0<e[a].length;){var d=e[a].pop();b(d)}delete e[a]}}else mxLog.debug(c+": Visited: "+a)}var c=a.parentNode.id,d=a.childNodes;a={};for(var e={},f=null,g={},k=0;k<d.length;k++){var m=d[k];if(null!=m.id&&0<m.id.length)if(null==a[m.id]){a[m.id]=m.id;var l=m.getAttribute("parent");null==l?null!=f?mxLog.debug(c+": Multiple roots: "+m.id):f=m.id:(null==e[l]&&(e[l]=
-[]),e[l].push(m.id))}else g[m.id]=m.id}0<Object.keys(g).length?(d=c+": "+Object.keys(g).length+" Duplicates: "+Object.keys(g).join(", "),mxLog.debug(d+" (see console)")):mxLog.debug(c+": Checked");var n={};null==f?mxLog.debug(c+": No root"):(b(f),Object.keys(n).length!=Object.keys(a).length&&(mxLog.debug(c+": Invalid tree: (see console)"),console.log(c+": Invalid tree",e)))};"<"!=a.charAt(0)&&(a=Graph.decompress(a),mxLog.debug("See console for uncompressed XML"),console.log("xml",a));var d=mxUtils.parseXml(a),
+"",a=new TextareaDialog(c,"Paste Data:",a,function(a){if(0<a.length)try{var b=function(a){function b(a){if(null==n[a]){if(n[a]=!0,null!=e[a]){for(;0<e[a].length;){var d=e[a].pop();b(d)}delete e[a]}}else mxLog.debug(c+": Visited: "+a)}var c=a.parentNode.id,d=a.childNodes;a={};for(var e={},f=null,g={},k=0;k<d.length;k++){var l=d[k];if(null!=l.id&&0<l.id.length)if(null==a[l.id]){a[l.id]=l.id;var m=l.getAttribute("parent");null==m?null!=f?mxLog.debug(c+": Multiple roots: "+l.id):f=l.id:(null==e[m]&&(e[m]=
+[]),e[m].push(l.id))}else g[l.id]=l.id}0<Object.keys(g).length?(d=c+": "+Object.keys(g).length+" Duplicates: "+Object.keys(g).join(", "),mxLog.debug(d+" (see console)")):mxLog.debug(c+": Checked");var n={};null==f?mxLog.debug(c+": No root"):(b(f),Object.keys(n).length!=Object.keys(a).length&&(mxLog.debug(c+": Invalid tree: (see console)"),console.log(c+": Invalid tree",e)))};"<"!=a.charAt(0)&&(a=Graph.decompress(a),mxLog.debug("See console for uncompressed XML"),console.log("xml",a));var d=mxUtils.parseXml(a),
e=c.getPagesForNode(d.documentElement,"mxGraphModel");if(null!=e&&0<e.length)try{var f=c.getHashValueForPages(e);mxLog.debug("Checksum: ",f)}catch(I){mxLog.debug("Error: ",I.message)}else mxLog.debug("No pages found for checksum");var g=d.getElementsByTagName("root");for(a=0;a<g.length;a++)b(g[a]);mxLog.show()}catch(I){c.handleError(I),null!=window.console&&console.error(I)}});a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()})),c.actions.addAction("testDiff",
mxUtils.bind(this,function(){if(null!=c.pages){var a=new TextareaDialog(c,"Paste Data:","",function(a){if(0<a.length)try{console.log(JSON.stringify(c.diffPages(c.pages,c.getPagesForNode(mxUtils.parseXml(a).documentElement)),null,2))}catch(C){c.handleError(C),null!=window.console&&console.error(C)}});a.textarea.style.width="600px";a.textarea.style.height="380px";c.showDialog(a.container,620,460,!0,!0);a.init()}else c.alert("No pages")})),c.actions.addAction("testInspect",mxUtils.bind(this,function(){console.log(c,
-g.getModel())})),c.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=g.getGraphBounds(),c=g.view.scale,d=mxUtils.createXmlDocument(),e=d.createElement("output");d.appendChild(e);d=new mxXmlCanvas2D(e);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/c);var f=0,k=d.save;d.save=function(){f++;k.apply(this,arguments)};var m=d.restore;d.restore=function(){f--;m.apply(this,arguments)};var l=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
-a,f);l.apply(this,arguments);mxLog.debug("leaving shape",a,f)};a.drawState(g.getView().getState(g.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(e));mxLog.debug("stateCounter",f)})),c.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.put("testDevelop",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"createSidebarEntry showBoundingBox - testCheckFile testDiff - testInspect - testXmlImageExport - testShowConsole".split(" "),
+g.getModel())})),c.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=g.getGraphBounds(),c=g.view.scale,d=mxUtils.createXmlDocument(),e=d.createElement("output");d.appendChild(e);d=new mxXmlCanvas2D(e);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/c);var f=0,k=d.save;d.save=function(){f++;k.apply(this,arguments)};var l=d.restore;d.restore=function(){f--;l.apply(this,arguments)};var m=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape",
+a,f);m.apply(this,arguments);mxLog.debug("leaving shape",a,f)};a.drawState(g.getView().getState(g.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(e));mxLog.debug("stateCounter",f)})),c.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.put("testDevelop",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"createSidebarEntry showBoundingBox - testCheckFile testDiff - testInspect - testXmlImageExport - testShowConsole".split(" "),
b)}))));c.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!c.isOffline()?c.showDialog((new MoreShapesDialog(c,!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):c.showDialog((new MoreShapesDialog(c,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});c.actions.put("createShape",new Action(mxResources.get("shape")+"...",function(a){g.isEnabled()&&(a=new mxCell("",new mxGeometry(0,0,120,120),c.defaultCustomShapeStyle),a.vertex=!0,a=new EditShapeDialog(c,
-a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())})).isEnabled=f;c.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://www.diagrams.net/doc/faq/embed-html-options",a,function(a,b,d,e,f,g,k,m,l,n){c.createHtml(a,b,d,e,f,g,k,m,l,n,mxUtils.bind(this,function(a,b){var d=
+a,mxResources.get("editShape")+":",630,400),c.showDialog(a.container,640,480,!0,!1),a.init())})).isEnabled=f;c.actions.put("embedHtml",new Action(mxResources.get("html")+"...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();c.showHtmlDialog(mxResources.get("create"),"https://www.diagrams.net/doc/faq/embed-html-options",a,function(a,b,d,e,f,g,k,l,m,n){c.createHtml(a,b,d,e,f,g,k,l,m,n,mxUtils.bind(this,function(a,b){var d=
new EmbedDialog(c,a+"\n"+b,null,null,function(){var d=window.open(),e=d.document;if(null!=e){"CSS1Compat"===document.compatMode&&e.writeln("<!DOCTYPE html>");e.writeln("<html>");e.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');e.writeln("<body>");e.writeln(a);var f=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;f&&e.writeln(b);e.writeln("</body>");e.writeln("</html>");e.close();if(!f){var g=d.document.createElement("div");
g.marginLeft="26px";g.marginTop="26px";mxUtils.write(g,mxResources.get("updatingDocument"));f=d.document.createElement("img");f.setAttribute("src",window.location.protocol+"//"+window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");f.style.marginLeft="6px";g.appendChild(f);d.document.body.insertBefore(g,d.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(b)[1];e.body.appendChild(a);g.parentNode.removeChild(g)},
20)}}else c.handleError({message:mxResources.get("errorUpdatingPreview")})});c.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));c.actions.put("liveImage",new Action("Live image...",function(){var a=c.getCurrentFile();null!=a&&c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(b){c.spinner.stop();null!=b?(b=new EmbedDialog(c,'<img src="'+(a.constructor!=DriveFile?b:"https://drive.google.com/uc?id="+a.getId())+'"/>'),c.showDialog(b.container,
440,240,!0,!0),b.init()):c.handleError({message:mxResources.get("invalidPublicUrl")})})}));c.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedImage(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("image"),mxResources.get("retina"),
c.isExportToCanvas())}));c.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){c.showEmbedImageDialog(function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.createEmbedSvg(a,b,d,e,f,g,function(a){c.spinner.stop();a=new EmbedDialog(c,a);c.showDialog(a.container,440,240,!0,!0);a.init()},function(a){c.spinner.stop();c.handleError(a)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://www.diagrams.net/doc/faq/embed-svg.html")}));
-c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=g.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil(a.height/g.view.scale)+2,function(a,b,d,e,f,g,k,m){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(l){c.spinner.stop();l=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+k+";height:"+m+';" src="'+c.createLink(a,b,d,e,f,g,l)+'"></iframe>');c.showDialog(l.container,
-440,240,!0,!0);l.init()})},!0)}));c.actions.put("embedNotion",new Action(mxResources.get("notion")+"...",function(){c.showPublishLinkDialog(mxResources.get("notion"),null,null,null,function(a,b,d,e,f,g,k,m){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k,null,["border=0"],!0));c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+
+c.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var a=g.getGraphBounds();c.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil(a.height/g.view.scale)+2,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(m){c.spinner.stop();m=new EmbedDialog(c,'<iframe frameborder="0" style="width:'+k+";height:"+l+';" src="'+c.createLink(a,b,d,e,f,g,m)+'"></iframe>');c.showDialog(m.container,
+440,240,!0,!0);m.init()})},!0)}));c.actions.put("embedNotion",new Action(mxResources.get("notion")+"...",function(){c.showPublishLinkDialog(mxResources.get("notion"),null,null,null,function(a,b,d,e,f,g,k,l){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k,null,["border=0"],!0));c.showDialog(k.container,440,240,!0,!0);k.init()})},!0)}));c.actions.put("publishLink",new Action(mxResources.get("link")+
"...",function(){c.showPublishLinkDialog(null,null,null,null,function(a,b,d,e,f,g){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(k){c.spinner.stop();k=new EmbedDialog(c,c.createLink(a,b,d,e,f,g,k));c.showDialog(k.container,440,240,!0,!0);k.init()})})}));c.actions.addAction("microsoftOffice...",function(){c.openLink("https://office.draw.io")});c.actions.addAction("googleDocs...",function(){c.openLink("http://docsaddon.draw.io")});c.actions.addAction("googleSlides...",
function(){c.openLink("https://slidesaddon.draw.io")});c.actions.addAction("googleSheets...",function(){c.openLink("https://sheetsaddon.draw.io")});c.actions.addAction("googleSites...",function(){c.spinner.spin(document.body,mxResources.get("loading"))&&c.getPublicUrl(c.getCurrentFile(),function(a){c.spinner.stop();a=new GoogleSitesDialog(c,a);c.showDialog(a.container,420,256,!0,!0);a.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)l=c.actions.addAction("scratchpad",function(){c.toggleScratchpad()}),
l.setToggleAction(!0),l.setSelectedCallback(function(){return null!=c.scratchpad}),c.actions.addAction("plugins...",function(){c.showDialog((new PluginsDialog(c)).container,360,170,!0,!1)});l=c.actions.addAction("search",function(){var a=c.sidebar.isEntryVisible("search");c.sidebar.showPalette("search",!a);isLocalStorage&&(mxSettings.settings.search=!a,mxSettings.save())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(c.actions.get("save").funct=
@@ -11216,9 +11218,9 @@ function(a){g.isEditing()&&g.stopEditing();var b="0"!=urlParams.pages||null!=c.p
a.mode||c.saveFile()},c.actions.addAction("saveAndExit",function(){c.actions.get("save").funct(!0)}).label="1"==urlParams.publishClose?mxResources.get("publish"):mxResources.get("saveAndExit"),c.actions.addAction("exit",function(){var a=function(){c.editor.modified=!1;var a="json"==urlParams.proto?JSON.stringify({event:"exit",modified:c.editor.modified}):"";(window.opener||window.parent).postMessage(a,"*")};c.editor.modified?c.confirm(mxResources.get("allChangesLost"),null,a,mxResources.get("cancel"),
mxResources.get("discardChanges")):a()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){c.isExportToCanvas()?(this.addMenuItems(a,["exportPng"],b),c.jpgSupported&&this.addMenuItems(a,["exportJpg"],b)):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["exportPng","exportJpg"],b);this.addMenuItems(a,["exportSvg","-"],b);c.isOffline()||c.printPdfExport?this.addMenuItems(a,["exportPdf"],b):c.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,
["exportPdf"],b);mxClient.IS_IE||"undefined"===typeof VsdxExport&&c.isOffline()||this.addMenuItems(a,["exportVsdx"],b);this.addMenuItems(a,["-","exportHtml","exportXml","exportUrl"],b);c.isOffline()||(a.addSeparator(b),this.addMenuItem(a,"export",b).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.put("importFrom",new Menu(mxUtils.bind(this,function(a,b){function d(a){a.pickFile(function(b){c.spinner.spin(document.body,mxResources.get("loading"))&&a.getFile(b,function(a){var b=
-"data:image/"==a.getData().substring(0,11)?l(a.getTitle()):"text/xml";/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(Editor.createSvgDataUri(a.getData())),b="image/svg+xml");f(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)},a==c.drive)},!0)}var f=mxUtils.bind(this,function(a,b,d){var e=g.view,f=g.getGraphBounds(),k=g.snap(Math.ceil(Math.max(0,f.x/e.scale-e.translate.x)+4*g.gridSize)),m=g.snap(Math.ceil(Math.max(0,
-(f.y+f.height)/e.scale-e.translate.y)+4*g.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(e){var f=!0,l=mxUtils.bind(this,function(){c.resizeImage(e,a,mxUtils.bind(this,function(e,l,n){e=f?Math.min(1,Math.min(c.maxImageSize/l,c.maxImageSize/n)):1;c.importFile(a,b,k,m,Math.round(l*e),Math.round(n*e),d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),f)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){f=
-a;l()}):l()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,b,k,m,0,0,d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),l=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)?b="image/gif":/\.pdf$/i.test(a)&&(b="application/pdf");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=
+"data:image/"==a.getData().substring(0,11)?l(a.getTitle()):"text/xml";/\.svg$/i.test(a.getTitle())&&!c.editor.isDataSvg(a.getData())&&(a.setData(Editor.createSvgDataUri(a.getData())),b="image/svg+xml");f(a.getData(),b,a.getTitle())},function(a){c.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)},a==c.drive)},!0)}var f=mxUtils.bind(this,function(a,b,d){var e=g.view,f=g.getGraphBounds(),k=g.snap(Math.ceil(Math.max(0,f.x/e.scale-e.translate.x)+4*g.gridSize)),l=g.snap(Math.ceil(Math.max(0,
+(f.y+f.height)/e.scale-e.translate.y)+4*g.gridSize));"data:image/"==a.substring(0,11)?c.loadImage(a,mxUtils.bind(this,function(e){var f=!0,m=mxUtils.bind(this,function(){c.resizeImage(e,a,mxUtils.bind(this,function(e,m,n){e=f?Math.min(1,Math.min(c.maxImageSize/m,c.maxImageSize/n)):1;c.importFile(a,b,k,l,Math.round(m*e),Math.round(n*e),d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),f)});a.length>c.resampleThreshold?c.confirmImageResize(function(a){f=
+a;m()}):m()}),mxUtils.bind(this,function(){c.handleError({message:mxResources.get("cannotOpenFile")})})):c.importFile(a,b,k,l,0,0,d,function(a){c.spinner.stop();g.setSelectionCells(a);g.scrollCellToVisible(g.getSelectionCell())})}),l=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)?b="image/gif":/\.pdf$/i.test(a)&&(b="application/pdf");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=
c.drive?a.addItem(mxResources.get("googleDrive")+"...",null,function(){d(c.drive)},b):m&&"function"===typeof window.DriveClient&&a.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1));null!=c.oneDrive?a.addItem(mxResources.get("oneDrive")+"...",null,function(){d(c.oneDrive)},b):e&&"function"===typeof window.OneDriveClient&&a.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);null!=c.dropbox?
a.addItem(mxResources.get("dropbox")+"...",null,function(){d(c.dropbox)},b):n&&"function"===typeof window.DropboxClient&&a.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);null!=c.gitHub&&a.addItem(mxResources.get("github")+"...",null,function(){d(c.gitHub)},b);null!=c.gitLab&&a.addItem(mxResources.get("gitlab")+"...",null,function(){d(c.gitLab)},b);null!=c.trello?a.addItem(mxResources.get("trello")+"...",null,function(){d(c.trello)},
b):k&&"function"===typeof window.TrelloClient&&a.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},b,null,!1);a.addSeparator(b);isLocalStorage&&"0"!=urlParams.browser&&a.addItem(mxResources.get("browser")+"...",null,function(){c.importLocalFile(!1)},b);a.addItem(mxResources.get("device")+"...",null,function(){c.importLocalFile(!0)},b);c.isOffline()||(a.addSeparator(b),a.addItem(mxResources.get("url")+"...",null,function(){var a=new FilenameDialog(c,"",mxResources.get("import"),
@@ -11267,11 +11269,11 @@ a,b);isLocalStorage&&this.addSubmenu("openRecent",a,b);null!=d&&d.constructor==D
mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||"draw.io"!=c.getServiceName()||c.isOfflineApp()||null==d||this.addMenuItems(a,["share","-"],b),this.addMenuItems(a,["rename"],b),c.isOfflineApp()?navigator.onLine&&"1"!=urlParams.stealth&&this.addMenuItems(a,["upload"],b):(this.addMenuItems(a,["makeCopy"],b),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(a,["moveToFolder"],b)));a.addSeparator(b);this.addSubmenu("importFrom",a,b);this.addSubmenu("exportAs",a,b);a.addSeparator(b);this.addSubmenu("embed",
a,b);this.addSubmenu("publish",a,b);a.addSeparator(b);this.addSubmenu("newLibrary",a,b);this.addSubmenu("openLibraryFrom",a,b);c.isRevisionHistorySupported()&&this.addMenuItems(a,["-","revisionHistory"],b);null!=d&&null!=c.fileNode&&(d=null!=d.getTitle()?d.getTitle():c.defaultFilename,/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||this.addMenuItems(a,["-","properties"]));this.addMenuItems(a,["-","pageSetup"],b);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(a,["print"],b);this.addMenuItems(a,
["-","close"])}})));a.prototype.execute=function(){var a=this.ui.editor.graph;this.customFonts=this.prevCustomFonts;this.prevCustomFonts=this.ui.menus.customFonts;this.ui.fireEvent(new mxEventObject("customFontsChanged","customFonts",this.customFonts));this.extFonts=this.previousExtFonts;for(var b=a.extFonts,c=0;null!=b&&c<b.length;c++){var d=document.getElementById("extFont_"+b[c].name);null!=d&&d.parentNode.removeChild(d)}a.extFonts=[];for(c=0;null!=this.previousExtFonts&&c<this.previousExtFonts.length;c++)this.ui.editor.graph.addExtFont(this.previousExtFonts[c].name,
-this.previousExtFonts[c].url);this.previousExtFonts=b};this.put("fontFamily",new Menu(mxUtils.bind(this,function(b,d){for(var e=mxUtils.bind(this,function(e,f,g,k,m){var l=this.editorUi.editor.graph;k=this.styleChange(b,k||e,"1"!=urlParams["ext-fonts"]?[mxConstants.STYLE_FONTFAMILY,"fontSource","FType"]:[mxConstants.STYLE_FONTFAMILY],"1"!=urlParams["ext-fonts"]?[e,null!=f?encodeURIComponent(f):null,null]:[e],null,d,function(){"1"!=urlParams["ext-fonts"]?l.setFont(e,f):(document.execCommand("fontname",
-!1,e),l.addExtFont(e,f))},function(){l.updateLabelElements(l.getSelectionCells(),function(a){a.removeAttribute("face");a.style.fontFamily=null;"PRE"==a.nodeName&&l.replaceElement(a,"div")});"1"==urlParams["ext-fonts"]&&l.addExtFont(e,f)});g&&(g=document.createElement("span"),g.className="geSprite geSprite-delete",g.style.cursor="pointer",g.style.display="inline-block",k.firstChild.nextSibling.nextSibling.appendChild(g),mxEvent.addListener(g,mxClient.IS_POINTER?"pointerup":"mouseup",mxUtils.bind(this,
+this.previousExtFonts[c].url);this.previousExtFonts=b};this.put("fontFamily",new Menu(mxUtils.bind(this,function(b,d){for(var e=mxUtils.bind(this,function(e,f,g,k,l){var m=this.editorUi.editor.graph;k=this.styleChange(b,k||e,"1"!=urlParams["ext-fonts"]?[mxConstants.STYLE_FONTFAMILY,"fontSource","FType"]:[mxConstants.STYLE_FONTFAMILY],"1"!=urlParams["ext-fonts"]?[e,null!=f?encodeURIComponent(f):null,null]:[e],null,d,function(){"1"!=urlParams["ext-fonts"]?m.setFont(e,f):(document.execCommand("fontname",
+!1,e),m.addExtFont(e,f))},function(){m.updateLabelElements(m.getSelectionCells(),function(a){a.removeAttribute("face");a.style.fontFamily=null;"PRE"==a.nodeName&&m.replaceElement(a,"div")});"1"==urlParams["ext-fonts"]&&m.addExtFont(e,f)});g&&(g=document.createElement("span"),g.className="geSprite geSprite-delete",g.style.cursor="pointer",g.style.display="inline-block",k.firstChild.nextSibling.nextSibling.appendChild(g),mxEvent.addListener(g,mxClient.IS_POINTER?"pointerup":"mouseup",mxUtils.bind(this,
function(b){if("1"!=urlParams["ext-fonts"]){delete Graph.recentCustomFonts[e.toLowerCase()];for(var d=0;d<this.customFonts.length;d++)if(this.customFonts[d].name==e&&this.customFonts[d].url==f){this.customFonts.splice(d,1);c.fireEvent(new mxEventObject("customFontsChanged"));break}}else{var g=mxUtils.clone(this.editorUi.editor.graph.extFonts);if(null!=g&&0<g.length)for(d=0;d<g.length;d++)if(g[d].name==e){g.splice(d,1);break}for(var k=mxUtils.clone(this.customFonts),d=0;d<k.length;d++)if(k[d].name==
-e){k.splice(d,1);break}d=new a(this.editorUi,g,k);this.editorUi.editor.graph.model.execute(d)}this.editorUi.menubar.hideMenu();mxEvent.consume(b)})));Graph.addFont(e,f);k.firstChild.nextSibling.style.fontFamily=e;null!=m&&k.setAttribute("title",m)}),f=0;f<this.defaultFonts.length;f++)e(this.defaultFonts[f]);b.addSeparator(d);if("1"!=urlParams["ext-fonts"]){for(var g=function(a){for(var b=encodeURIComponent(a.name)+(null==a.url?"":"@"+encodeURIComponent(a.url)),c=a.name,d=0;null!=m[c.toLowerCase()];)c=
-a.name+" ("+ ++d+")";null==k[b]&&(l.push({name:a.name,url:a.url,label:c,title:a.url}),m[c.toLowerCase()]=a,k[b]=a)},k={},m={},l=[],f=0;f<this.customFonts.length;f++)g(this.customFonts[f],!1);for(var n in Graph.recentCustomFonts)g(Graph.recentCustomFonts[n],!0);l.sort(function(a,b){return a.label<b.label?-1:a.label>b.label?1:0});if(0<l.length){for(f=0;f<l.length;f++)e(l[f].name,l[f].url,!0,l[f].label,l[f].url);b.addSeparator(d)}b.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){Graph.recentCustomFonts=
+e){k.splice(d,1);break}d=new a(this.editorUi,g,k);this.editorUi.editor.graph.model.execute(d)}this.editorUi.menubar.hideMenu();mxEvent.consume(b)})));Graph.addFont(e,f);k.firstChild.nextSibling.style.fontFamily=e;null!=l&&k.setAttribute("title",l)}),f=0;f<this.defaultFonts.length;f++)e(this.defaultFonts[f]);b.addSeparator(d);if("1"!=urlParams["ext-fonts"]){for(var g=function(a){for(var b=encodeURIComponent(a.name)+(null==a.url?"":"@"+encodeURIComponent(a.url)),c=a.name,d=0;null!=l[c.toLowerCase()];)c=
+a.name+" ("+ ++d+")";null==k[b]&&(m.push({name:a.name,url:a.url,label:c,title:a.url}),l[c.toLowerCase()]=a,k[b]=a)},k={},l={},m=[],f=0;f<this.customFonts.length;f++)g(this.customFonts[f],!1);for(var n in Graph.recentCustomFonts)g(Graph.recentCustomFonts[n],!0);m.sort(function(a,b){return a.label<b.label?-1:a.label>b.label?1:0});if(0<m.length){for(f=0;f<m.length;f++)e(m[f].name,m[f].url,!0,m[f].label,m[f].url);b.addSeparator(d)}b.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){Graph.recentCustomFonts=
{};this.customFonts=[];c.fireEvent(new mxEventObject("customFontsChanged"))}),d);b.addSeparator(d)}else{g=this.editorUi.editor.graph.extFonts;if(null!=g&&0<g.length){n={};for(var p=!1,f=0;f<this.customFonts.length;f++)n[this.customFonts[f].name]=!0;for(f=0;f<g.length;f++)n[g[f].name]||(this.customFonts.push(g[f]),p=!0);p&&this.editorUi.fireEvent(new mxEventObject("customFontsChanged","customFonts",this.customFonts))}if(0<this.customFonts.length){for(f=0;f<this.customFonts.length;f++)g=this.customFonts[f].name,
n=this.customFonts[f].url,e(g,n,!0),this.editorUi.editor.graph.addExtFont(g,n,!0);b.addSeparator(d);b.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){var b=new a(this.editorUi,[],[]);c.editor.graph.model.execute(b)}),d);b.addSeparator(d)}}b.addItem(mxResources.get("custom")+"...",null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,b=a.getStylesheet().getDefaultVertexStyle()[mxConstants.STYLE_FONTFAMILY],c="s",d=null;if("1"!=urlParams["ext-fonts"]&&a.isEditing()){var e=
a.getSelectedEditingElement();null!=e&&(e=mxUtils.getCurrentStyle(e),null!=e&&(b=Graph.stripQuotes(e.fontFamily),d=Graph.getFontUrl(b,null),null!=d&&(Graph.isGoogleFontUrl(d)?(d=null,c="g"):c="w")))}else e=a.getView().getState(a.getSelectionCell()),null!=e&&(b=e.style[mxConstants.STYLE_FONTFAMILY]||b,"1"!=urlParams["ext-fonts"]?(e=e.style.fontSource,null!=e&&(e=decodeURIComponent(e),Graph.isGoogleFontUrl(e)?c="g":(c="w",d=e))):(c=e.style.FType||c,"w"==c&&(d=this.editorUi.editor.graph.extFonts,e=null,
diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js
index 5c835b7b..10a70e01 100644
--- a/src/main/webapp/js/diagramly/Dialogs.js
+++ b/src/main/webapp/js/diagramly/Dialogs.js
@@ -2872,10 +2872,30 @@ var NewDialog = function(editorUi, compact, showName, callback, createOnly, canc
if (imgUrl != null)
{
- elt.style.backgroundImage = 'url(' + imgUrl + ')';
- elt.style.backgroundSize = 'contain';
- elt.style.backgroundPosition = 'center center';
- elt.style.backgroundRepeat = 'no-repeat';
+ elt.style.display = 'inline-flex';
+ elt.style.justifyContent = 'center';
+ elt.style.alignItems = 'center';
+ var img = document.createElement('img');
+ img.setAttribute('src', imgUrl);
+ img.setAttribute('alt', tooltip);
+ img.style.maxWidth = w + 'px';
+ img.style.maxHeight = h + 'px';
+
+ var fallbackImgUrl = imgUrl.replace('.drawio.xml', '').replace('.drawio', '').replace('.xml', '');
+ elt.appendChild(img);
+
+ img.onerror = function()
+ {
+ if (this.src != fallbackImgUrl)
+ {
+ this.src = fallbackImgUrl;
+ }
+ else
+ {
+ this.src = Editor.errorImage;
+ this.onerror = null;
+ }
+ }
mxEvent.addListener(elt, 'click', function(evt)
{
diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js
index 930bde8e..b40ab55f 100644
--- a/src/main/webapp/js/diagramly/Editor.js
+++ b/src/main/webapp/js/diagramly/Editor.js
@@ -194,6 +194,11 @@
Editor.svgBrokenImage = Graph.createSvgImage(10, 10, '<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');
/**
+ * Error image for not found images
+ */
+ Editor.errorImage = 'data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==';
+
+ /**
* Default value for custom libraries in mxSettings.
*/
Editor.defaultCustomLibraries = [];
diff --git a/src/main/webapp/js/diagramly/Extensions.js b/src/main/webapp/js/diagramly/Extensions.js
index 3091630b..76acc948 100644
--- a/src/main/webapp/js/diagramly/Extensions.js
+++ b/src/main/webapp/js/diagramly/Extensions.js
@@ -10,7 +10,7 @@ LucidImporter = {};
// Global import transformation
var defaultFontSize = '11';
var defaultLucidFont = 'Liberation Sans';
- var scale = 0.6;
+ var scale = 0.75;
var dx = 0;
var dy = 0;
@@ -19,7 +19,7 @@ LucidImporter = {};
var vertexStyle = 'html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;';
var labelStyle = 'text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;';
- var c = 'fillColor=#036897;strokeColor=#ffffff';
+ var c = 'verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff';
var s = 'shape=mxgraph.';
var ss = 'strokeColor=none;shape=mxgraph.';
var ssAzure = 'verticalLabelPosition=bottom;verticalAlign=top;' + ss;
@@ -1366,7 +1366,7 @@ LucidImporter = {};
//Cisco Basic
'Cisco_cisco_androgenous_person' : s + 'cisco.people.androgenous_person;' + c,
'Cisco_cisco_atm_switch' : s + 'cisco.switches.atm_switch;' + c,
- 'Cisco_cisco_cloud' : s + 'cisco.storage.cloud;strokeColor=#036897;fillColor=#ffffff',
+ 'Cisco_cisco_cloud' : s + 'cisco.storage.cloud;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;fillColor=#ffffff',
'Cisco_cisco_fileserver' : s + 'cisco.servers.fileserver;' + c,
'Cisco_cisco_firewall' : s + 'cisco.security.firewall;' + c,
'Cisco_cisco_generic_building' : s + 'cisco.buildings.generic_building;' + c,
@@ -1460,7 +1460,7 @@ LucidImporter = {};
'Cisco_cisco_end_office' : s + 'cisco.buildings.end_office;' + c,
'Cisco_cisco_fax' : s + 'cisco.modems_and_phones.fax;' + c,
'Cisco_cisco_fc_storage' : s + 'cisco.storage.fc_storage;' + c,
- 'Cisco_cisco_fddi_ring' : s + 'cisco.misc.fddi_ring;strokeColor=#036897;',
+ 'Cisco_cisco_fddi_ring' : s + 'cisco.misc.fddi_ring;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;',
'Cisco_cisco_fibre_channel_disk_subsystem' : s + 'cisco.storage.fibre_channel_disk_subsystem;' + c,
'Cisco_cisco_fibre_channel_fabric_switch' : s + 'cisco.switches.fibre_channel_fabric_switch;' + c,
'Cisco_cisco_file_cabinet' : s + 'cisco.storage.file_cabinet;' + c,
@@ -1554,7 +1554,7 @@ LucidImporter = {};
'Cisco_cisco_optical_transport' : s + 'cisco.misc.optical_transport;' + c,
'Cisco_cisco_pad' : s + 'cisco.misc.pad_2;' + c,
'Cisco_cisco_pad_x' : s + 'cisco.misc.pad_1;' + c,
- 'Cisco_cisco_page_icon' : s + 'cisco.misc.page_icon;strokeColor=#036897;',
+ 'Cisco_cisco_page_icon' : s + 'cisco.misc.page_icon;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;',
'Cisco_cisco_pbx' : s + 'cisco.misc.pbx;' + c,
'Cisco_cisco_pbx_switch' : s + 'cisco.switches.pbx_switch;' + c,
'Cisco_cisco_pc_adapter_card' : s + 'cisco.computers_and_peripherals.pc_adapter_card;' + c,
@@ -1568,7 +1568,7 @@ LucidImporter = {};
'Cisco_cisco_programmable_switch' : s + 'cisco.switches.programmable_switch;' + c,
'Cisco_cisco_protocol_translator' : s + 'cisco.misc.protocol_translator;' + c,
'Cisco_cisco_pxf' : s + 'cisco.misc.pxf;' + c,
- 'Cisco_cisco_radio_tower' : s + 'cisco.wireless.radio_tower;strokeColor=#036897',
+ 'Cisco_cisco_radio_tower' : s + 'cisco.wireless.radio_tower;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897',
'Cisco_cisco_ratemux' : s + 'cisco.misc.ratemux;' + c,
'Cisco_cisco_repeater' : s + 'cisco.misc.repeater;' + c,
'Cisco_cisco_RF_modem' : s + 'cisco.modems_and_phones.rf_modem;' + c,
@@ -1621,7 +1621,7 @@ LucidImporter = {};
'Cisco_cisco_Telepresence_3200' : s + 'cisco.misc.telepresence;' + c,
// 'Cisco_cisco_Telepresence_500' NA
'Cisco_cisco_terminal' : s + 'cisco.computers_and_peripherals.terminal;' + c,
- 'Cisco_cisco_token' : s + 'cisco.misc.token;strokeColor=#036897',
+ 'Cisco_cisco_token' : s + 'cisco.misc.token;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897',
'Cisco_cisco_TP_MCU' : s + 'cisco.misc.tp_mcu;' + c,
'Cisco_cisco_transpath' : s + 'cisco.misc.transpath;' + c,
'Cisco_cisco_truck' : s + 'cisco.misc.truck;' + c,
@@ -5139,7 +5139,7 @@ LucidImporter = {};
{
if (properties.Rounding > 0)
{
- return 'rounded=1;absoluteArcSize=1;arcSize=' + Math.round(properties.Rounding * 0.6) + ';';
+ return 'rounded=1;absoluteArcSize=1;arcSize=' + Math.round(properties.Rounding * scale) + ';';
}
}
// else if (properties.Rounding == null)
@@ -13354,9 +13354,9 @@ LucidImporter = {};
{
lblW = h;
lblH = w;
- var diff = Math.abs(h - w) / 2;
- x = diff / w;
- y = -diff/ h;
+ var diff = (h - w) / 2;
+ x = -diff / w;
+ y = diff/ h;
}
deg += mxUtils.toDegree(p.Rotation);
diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js
index 3ec54b03..f475a419 100644
--- a/src/main/webapp/js/extensions.min.js
+++ b/src/main/webapp/js/extensions.min.js
@@ -1,8 +1,8 @@
LucidImporter={};
(function(){function f(a){Aa="";try{if(a){var b=null;LucidImporter.advImpConfig&&LucidImporter.advImpConfig.fontMapping&&(b=LucidImporter.advImpConfig.fontMapping[a]);if(b){for(var d in b)Aa+=d+"="+b[d]+";";return b.fontFamily?"font-family: "+b.fontFamily:""}if("Liberation Sans"!=a)return Aa="fontFamily="+a+";","font-family: "+a+";"}}catch(Ib){}return""}function n(a,b,d){function h(a,b){var h="",g=a.t,m=a.l||{v:g&&"ul"==g.v?"auto":"decimal"};if(null==g||0!=E&&E==g.v&&l==m.v)null==g&&(E&&(h+=c(!0),
E=!1),h+='<div style="',oa.push("div"));else{E&&(h+=c(!0));E=g.v;l=m.v;"ul"==g.v?(h+="<ul ",oa.push("ul")):(h+="<ol ",oa.push("ol"));h+='style="margin: 0px; padding-left: 10px;list-style-position: inside; list-style-type:';if("hl"==g.v)h+="upper-roman";else switch(m.v){case "auto":h+="disc";break;case "inv":h+="circle";break;case "disc":h+="circle";break;case "trib":h+="square";break;case "square":h+="square";break;case "dash":h+="square";break;case "heart":h+="disc";break;default:h+="decimal"}h+=
-'">'}null!=g&&(h+='<li style="text-align:'+(a.a?a.a.v:d.TextAlign||"center")+";",null!=b&&b.c&&(g=Y(b.c.v),null!=g&&(g=g.substring(0,7),h+="color:"+g+";")),h+='">',oa.push("li"),h+='<span style="font-size:11px;',oa.push("span"));E||(m=g=a.a?a.a.v:d.TextAlign||"center","left"==g?m="flex-start":"right"==g&&(m="flex-end"),h+="display: flex; justify-content: "+m+"; text-align: "+g+"; align-items: baseline; font-size: 0; line-height: 1;");a.il&&(h+="margin-left: "+Math.max(0,Math.round(.6*a.il.v-(E?28:
-0)))+"px;");a.ir&&(h+="margin-right: "+Math.round(.6*a.ir.v)+"px;");a.mt&&(h+="margin-top: "+Math.round(.6*a.mt.v)+"px;");a.mb&&(h+="margin-bottom: "+Math.round(.6*a.mb.v)+"px;");h+='">';E||(h+='<span style="font-size:11px;">',oa.push("span"));return h}function g(a){if(0==Object.keys(a).length)return"";var b="",h=0;if(a.lk){var g=a.lk;null!=g.v&&0<g.v.length&&(b+='<a href="'+m(g.v[0])+'">',A.push("a"),h++)}b+='<span style="';A.push("span");h++;b+="font-size:"+(a.s?Math.floor(.6*a.s.v):"11")+"px;";
+'">'}null!=g&&(h+='<li style="text-align:'+(a.a?a.a.v:d.TextAlign||"center")+";",null!=b&&b.c&&(g=Y(b.c.v),null!=g&&(g=g.substring(0,7),h+="color:"+g+";")),h+='">',oa.push("li"),h+='<span style="font-size:11px;',oa.push("span"));E||(m=g=a.a?a.a.v:d.TextAlign||"center","left"==g?m="flex-start":"right"==g&&(m="flex-end"),h+="display: flex; justify-content: "+m+"; text-align: "+g+"; align-items: baseline; font-size: 0; line-height: 1;");a.il&&(h+="margin-left: "+Math.max(0,Math.round(.75*a.il.v-(E?28:
+0)))+"px;");a.ir&&(h+="margin-right: "+Math.round(.75*a.ir.v)+"px;");a.mt&&(h+="margin-top: "+Math.round(.75*a.mt.v)+"px;");a.mb&&(h+="margin-bottom: "+Math.round(.75*a.mb.v)+"px;");h+='">';E||(h+='<span style="font-size:11px;">',oa.push("span"));return h}function g(a){if(0==Object.keys(a).length)return"";var b="",h=0;if(a.lk){var g=a.lk;null!=g.v&&0<g.v.length&&(b+='<a href="'+m(g.v[0])+'">',A.push("a"),h++)}b+='<span style="';A.push("span");h++;b+="font-size:"+(a.s?Math.floor(.75*a.s.v):"11")+"px;";
a.c&&(g=Y(a.c.v),null!=g&&(g=g.substring(0,7),b+="color:"+g+";"));if(a.b&&a.b.v||a.fc&&a.fc.v&&0==a.fc.v.indexOf("Bold"))b+="font-weight: bold;";a.i&&a.i.v&&(b+="font-style: italic;");a.ac&&a.ac.v&&(b+="text-transform: uppercase;");g=null;a.f?g=a.f.v:d.Font&&(g=d.Font);b+=f(g);g=[];a.u&&a.u.v&&g.push("underline");a.k&&a.k.v&&g.push("line-through");0<g.length&&(b+="text-decoration: "+g.join(" ")+";");b+='">';z.push(h);return b}function c(a){var b="";do{var d=oa.pop();if(!a&&E&&("ul"==d||"ol"==d)){oa.push(d);
break}b+="</"+d+">"}while(0<oa.length);return b}function y(a,b,d,h){a=a?a.substring(b,d):"";E&&(a=a.trim());a=a.replace(/</g,"&lt;").replace(/>/g,"&gt;");do for(b=z.pop(),d=0;d<b;d++){var g=A.pop();a+="</"+g+">"}while(h&&0<A.length);return a}var w={a:!0,il:!0,ir:!0,mt:!0,mb:!0,p:!0,t:!0,l:!0},k={lk:!0,s:!0,c:!0,b:!0,fc:!0,i:!0,u:!0,k:!0,f:!0,ac:!0};b.sort(function(a,b){return a.s-b.s});var e=b.filter(function(a){return k[a.n]});e[0]&&0!=e[0].s&&e.unshift({s:0,n:"dummy",v:"",e:e[0].s});b=b.filter(function(a){return w[a.n]});
for(var p=[0],fa=0;0<(fa=a.indexOf("\n",fa));)fa++,p.push(fa);for(var C=0,fa=0;fa<b.length;fa++){if(b[fa].s>p[C])b.splice(fa,0,{s:p[C],n:"a",v:d.TextAlign||"center"});else{for(var n=0;fa+n<b.length&&b[fa+n].s==p[C];)n++;1<n&&(fa+=n-1)}C++}null!=p[C]&&b.push({s:p[C],n:"a",v:d.TextAlign||"center"});p="";C=e.slice();C.sort(function(a,b){return a.e-b.e});for(var u=n=fa=0,D={},B={},A=[],z=[],oa=[],S=!1,E=!1,l,ia=0,N=0,R=a.length,ea=!0;u<b.length||ea;){ea=!1;if(u<b.length){var U=b[u],G=b[u].s;S&&(B={},
@@ -13,35 +13,35 @@ a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.
d,h,m,g){var c="";null!=a&&""!=a&&";"!=a.charAt(a.length-1)&&(c=";");c+="whiteSpace=wrap;"+(g?(uc(a,"overflow")?"":"overflow=block;blockSpacing=1;")+(uc(a,"html")?"":"html=1;")+"fontSize=11;"+Aa:b(mxConstants.STYLE_FONTSIZE,a,d,h,m)+b(mxConstants.STYLE_FONTFAMILY,a,d,h,m)+b(mxConstants.STYLE_FONTCOLOR,a,d,h,m)+b(mxConstants.STYLE_FONTSTYLE,a,d,h,m)+b(mxConstants.STYLE_ALIGN,a,d,h,m)+b(mxConstants.STYLE_SPACING_LEFT,a,d,h,m)+b(mxConstants.STYLE_SPACING_RIGHT,a,d,h,m)+b(mxConstants.STYLE_SPACING_TOP,
a,d,h,m)+b(mxConstants.STYLE_SPACING_BOTTOM,a,d,h,m))+b(mxConstants.STYLE_ALIGN+"Global",a,d,h,m)+b(mxConstants.STYLE_SPACING,a,d,h,m)+b(mxConstants.STYLE_VERTICAL_ALIGN,a,d,h,m)+b(mxConstants.STYLE_STROKECOLOR,a,d,h,m)+b(mxConstants.STYLE_OPACITY,a,d,h,m)+b(mxConstants.STYLE_ROUNDED,a,d,h,m)+b(mxConstants.STYLE_ROTATION,a,d,h,m)+b(mxConstants.STYLE_FLIPH,a,d,h,m)+b(mxConstants.STYLE_FLIPV,a,d,h,m)+b(mxConstants.STYLE_SHADOW,a,d,h,m)+b(mxConstants.STYLE_FILLCOLOR,a,d,h,m)+b(mxConstants.STYLE_DASHED,
a,d,h,m)+b(mxConstants.STYLE_STROKEWIDTH,a,d,h,m)+b(mxConstants.STYLE_IMAGE,a,d,h,m);Aa="";return c}function b(a,b,m,c,g){if(!uc(b,a))switch(a){case mxConstants.STYLE_FONTSIZE:return d(m);case mxConstants.STYLE_FONTFAMILY:return h(m);case mxConstants.STYLE_FONTCOLOR:return y(m);case mxConstants.STYLE_FONTSTYLE:return w(m);case mxConstants.STYLE_ALIGN:return C(m);case mxConstants.STYLE_ALIGN+"Global":return $a(mxConstants.STYLE_ALIGN,m.TextAlign,"center");case mxConstants.STYLE_SPACING_LEFT:return B(m);
-case mxConstants.STYLE_SPACING_RIGHT:return D(m);case mxConstants.STYLE_SPACING_TOP:return A(m);case mxConstants.STYLE_SPACING_BOTTOM:return E(m);case mxConstants.STYLE_SPACING:return H(m);case mxConstants.STYLE_VERTICAL_ALIGN:return N(m);case mxConstants.STYLE_STROKECOLOR:return G(m,c);case mxConstants.STYLE_OPACITY:return R(m,c,g);case mxConstants.STYLE_ROUNDED:return a=!g.edge&&!g.style.includes("rounded")&&null!=m.Rounding&&0<m.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+Math.round(.6*m.Rounding)+
+case mxConstants.STYLE_SPACING_RIGHT:return D(m);case mxConstants.STYLE_SPACING_TOP:return A(m);case mxConstants.STYLE_SPACING_BOTTOM:return E(m);case mxConstants.STYLE_SPACING:return H(m);case mxConstants.STYLE_VERTICAL_ALIGN:return N(m);case mxConstants.STYLE_STROKECOLOR:return G(m,c);case mxConstants.STYLE_OPACITY:return R(m,c,g);case mxConstants.STYLE_ROUNDED:return a=!g.edge&&!g.style.includes("rounded")&&null!=m.Rounding&&0<m.Rounding?"rounded=1;absoluteArcSize=1;arcSize="+Math.round(.75*m.Rounding)+
";":"",a;case mxConstants.STYLE_ROTATION:return U(m,c,g);case mxConstants.STYLE_FLIPH:return a=m.FlipX?"flipH=1;":"",a;case mxConstants.STYLE_FLIPV:return a=m.FlipY?"flipV=1;":"",a;case mxConstants.STYLE_SHADOW:return pa(m);case mxConstants.STYLE_FILLCOLOR:return aa(m,c);case mxConstants.STYLE_DASHED:return vc(m);case mxConstants.STYLE_STROKEWIDTH:return cc(m);case mxConstants.STYLE_IMAGE:return Ld(m,c)}return""}function d(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("s"==d.n&&null!=
-d.v)return"fontSize="+Math.floor(.6*d.v)+";";b++}return"fontSize=11;"}function h(a){var b=p(a),d;if(null!=b)for(var h=0;h<b.length;h++)if("f"==b[h].n&&b[h].v){d=b[h].v;break}!d&&a.Font&&(d=a.Font);f(d);return Aa}function m(a){return"ext"==a.tp?a.url:"ml"==a.tp?"mailto:"+a.eml:"pg"==a.tp?"data:page/id,"+(LucidImporter.pageIdsMap[a.id]||0):"c"==a.tp?"data:confluence/id,"+a.ccid:null}function y(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("c"==d.n&&null!=d.v)return a=Y(d.v).substring(0,
+d.v)return"fontSize="+Math.floor(.75*d.v)+";";b++}return"fontSize=11;"}function h(a){var b=p(a),d;if(null!=b)for(var h=0;h<b.length;h++)if("f"==b[h].n&&b[h].v){d=b[h].v;break}!d&&a.Font&&(d=a.Font);f(d);return Aa}function m(a){return"ext"==a.tp?a.url:"ml"==a.tp?"mailto:"+a.eml:"pg"==a.tp?"data:page/id,"+(LucidImporter.pageIdsMap[a.id]||0):"c"==a.tp?"data:confluence/id,"+a.ccid:null}function y(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("c"==d.n&&null!=d.v)return a=Y(d.v).substring(0,
7),mxConstants.STYLE_FONTCOLOR+"="+a+";";b++}return""}function w(a){return k(p(a))}function k(a){if(null!=a){var b=0,d=!1;if(null!=a)for(var h=0;!d&&h<a.length;){var g=a[h];"b"==g.n?null!=g.v&&g.v&&(d=!0,b+=1):"fc"==g.n&&"Bold"==g.v&&(d=!0,b+=1);h++}d=!1;if(null!=a)for(h=0;!d&&h<a.length;)g=a[h],"i"==g.n&&null!=g.v&&g.v&&(d=!0,b+=2),h++;d=!1;if(null!=a)for(h=0;!d&&h<a.length;)g=a[h],"u"==g.n&&null!=g.v&&g.v&&(d=!0,b+=4),h++;if(0<b)return"fontStyle="+b+";"}return""}function C(a){a=p(a);if(null!=a)for(var b=
-0;b<a.length;){var d=a[b];if("a"==d.n&&null!=d.v)return"align="+d.v+";";b++}return""}function B(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if(null!=d.v&&"il"==d.n)return"spacingLeft="+.6*d.v+";";b++}return""}function D(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("ir"==d.n&&null!=d.v)return"spacingRight="+.6*d.v+";";b++}return""}function A(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mt"==d.n&&null!=d.v)return"spacingTop="+.6*d.v+";";b++}return""}function E(a){a=
-p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mb"==d.n&&null!=d.v)return"spacingBottom="+.6*d.v+";";b++}return""}function H(a){return"number"===typeof a.InsetMargin?"spacing="+Math.max(0,Math.round(.6*parseInt(a.InsetMargin)))+";":""}function N(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":null!=a.Title_VAlign&&"string"===typeof a.Title_VAlign?"verticalAlign="+a.Title_VAlign+";":$a(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}
+0;b<a.length;){var d=a[b];if("a"==d.n&&null!=d.v)return"align="+d.v+";";b++}return""}function B(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if(null!=d.v&&"il"==d.n)return"spacingLeft="+.75*d.v+";";b++}return""}function D(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("ir"==d.n&&null!=d.v)return"spacingRight="+.75*d.v+";";b++}return""}function A(a){a=p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mt"==d.n&&null!=d.v)return"spacingTop="+.75*d.v+";";b++}return""}function E(a){a=
+p(a);if(null!=a)for(var b=0;b<a.length;){var d=a[b];if("mb"==d.n&&null!=d.v)return"spacingBottom="+.75*d.v+";";b++}return""}function H(a){return"number"===typeof a.InsetMargin?"spacing="+Math.max(0,Math.round(.75*parseInt(a.InsetMargin)))+";":""}function N(a){return null!=a.Text_VAlign&&"string"===typeof a.Text_VAlign?"verticalAlign="+a.Text_VAlign+";":null!=a.Title_VAlign&&"string"===typeof a.Title_VAlign?"verticalAlign="+a.Title_VAlign+";":$a(mxConstants.STYLE_VERTICAL_ALIGN,a.TextVAlign,"middle")}
function G(a,b){return 0==a.LineWidth?mxConstants.STYLE_STROKECOLOR+"=none;":$a(mxConstants.STYLE_STROKECOLOR,Z(a.LineColor),"#000000")}function S(a){return null!=a?mxConstants.STYLE_FILLCOLOR+"="+Z(a)+";":""}function ea(a){return null!=a?"swimlaneFillColor="+Z(a)+";":""}function R(a,b,d){b="";if("string"===typeof a.LineColor&&(a.LineColor=Y(a.LineColor),7<a.LineColor.length)){var h="0x"+a.LineColor.substring(a.LineColor.length-2,a.LineColor.length);d.style.includes("strokeOpacity")||(b+="strokeOpacity="+
Math.round(parseInt(h)/2.55)+";")}"string"===typeof a.FillColor&&(a.FillColor=Y(a.FillColor),7<a.FillColor.length&&(a="0x"+a.FillColor.substring(a.FillColor.length-2,a.FillColor.length),d.style.includes("fillOpacity")||(b+="fillOpacity="+Math.round(parseInt(a)/2.55)+";")));return b}function U(a,b,d){var h="";if(null!=a.Rotation){a=mxUtils.toDegree(parseFloat(a.Rotation));var g=!0;0!=a&&b.Class&&("UMLSwimLaneBlockV2"==b.Class||(0<=b.Class.indexOf("Rotated")||-90==a||270==a)&&(0<=b.Class.indexOf("Pool")||
0<=b.Class.indexOf("SwimLane")))?(a+=90,d.geometry.rotate90(),d.geometry.isRotated=!0,g=!1):0<=mxUtils.indexOf(Md,b.Class)?(a-=90,d.geometry.rotate90()):0<=mxUtils.indexOf(Nd,b.Class)&&(a+=180);0!=a&&(h+="rotation="+a+";");g||(h+="horizontal=0;")}return h}function pa(a){return null!=a.Shadow?mxConstants.STYLE_SHADOW+"=1;":""}function Y(a){a&&("rgb"==a.substring(0,3)?a="#"+a.match(/\d+/g).map(function(a){a=parseInt(a).toString(16);return(1==a.length?"0":"")+a}).join(""):"#"!=a.charAt(0)&&(a="#"+a));
return a}function Z(a){return(a=Y(a))?a.substring(0,7):null}function Wa(a,b){return(a=Y(a))&&7<a.length?b+"="+Math.round(parseInt("0x"+a.substr(7))/2.55)+";":""}function aa(a,b){if(null!=a.FillColor)if("object"===typeof a.FillColor){if(null!=a.FillColor.cs&&1<a.FillColor.cs.length)return $a(mxConstants.STYLE_FILLCOLOR,Z(a.FillColor.cs[0].c))+$a(mxConstants.STYLE_GRADIENTCOLOR,Z(a.FillColor.cs[1].c))}else return"string"===typeof a.FillColor?$a(mxConstants.STYLE_FILLCOLOR,Z(a.FillColor),"#FFFFFF"):
$a(mxConstants.STYLE_FILLCOLOR,"none");return""}function vc(a){return"dotted"==a.StrokeStyle?"dashed=1;dashPattern=1 4;":"dashdot"==a.StrokeStyle?"dashed=1;dashPattern=10 5 1 5;":"dashdotdot"==a.StrokeStyle?"dashed=1;dashPattern=10 5 1 5 1 5;":"dotdotdot"==a.StrokeStyle?"dashed=1;dashPattern=1 2;":"longdash"==a.StrokeStyle?"dashed=1;dashPattern=16 6;":"dashlongdash"==a.StrokeStyle?"dashed=1;dashPattern=10 6 16 6;":"dashed24"==a.StrokeStyle?"dashed=1;dashPattern=3 8;":"dashed32"==a.StrokeStyle?"dashed=1;dashPattern=6 5;":
-"dashed44"==a.StrokeStyle?"dashed=1;dashPattern=8 8;":null!=a.StrokeStyle&&"dashed"==a.StrokeStyle.substring(0,6)?"dashed=1;":""}function cc(a){return null!=a.LineWidth?$a(mxConstants.STYLE_STROKEWIDTH,Math.round(.6*parseFloat(a.LineWidth)),"1"):""}function Ld(a,b,d){var h="";a.FillColor&&a.FillColor.url?(d=a.FillColor.url,"fill"==a.FillColor.pos&&(h="imageAspect=0;")):"ImageSearchBlock2"==b.Class?d=a.URL:"UserImage2Block"==b.Class&&null!=a.ImageFillProps&&null!=a.ImageFillProps.url&&(d=a.ImageFillProps.url);
+"dashed44"==a.StrokeStyle?"dashed=1;dashPattern=8 8;":null!=a.StrokeStyle&&"dashed"==a.StrokeStyle.substring(0,6)?"dashed=1;":""}function cc(a){return null!=a.LineWidth?$a(mxConstants.STYLE_STROKEWIDTH,Math.round(.75*parseFloat(a.LineWidth)),"1"):""}function Ld(a,b,d){var h="";a.FillColor&&a.FillColor.url?(d=a.FillColor.url,"fill"==a.FillColor.pos&&(h="imageAspect=0;")):"ImageSearchBlock2"==b.Class?d=a.URL:"UserImage2Block"==b.Class&&null!=a.ImageFillProps&&null!=a.ImageFillProps.url&&(d=a.ImageFillProps.url);
if(null!=d){if(null!=LucidImporter.imgSrcRepl)for(a=0;a<LucidImporter.imgSrcRepl.length;a++)b=LucidImporter.imgSrcRepl[a],d=d.replace(b.searchVal,b.replVal);return"image="+d+";"+h}return""}function jb(a,b,d,h){for(var g=b,m=0;null!=h.getAttributeForCell(a,g);)m++,g=b+"_"+m;h.setAttributeForCell(a,g,null!=d?d:"")}function Lb(b,d,h,f,g,y){var w=u(d);if(null!=w){var k=Sb[w.Class];null!=k?b.style+=k+";":b.edge||(console.log("No mapping found for: "+w.Class),LucidImporter.hasUnknownShapes=!0);k=null!=
w.Properties?w.Properties:w;if(null!=k){b.value=y?"":e(k);b.style+=a(b.style,k,w,b,z);b.style.includes("strokeColor")||(b.style+=G(k,w));null!=k.Link&&0<k.Link.length&&h.setAttributeForCell(b,"link",m(k.Link[0]));y=[];var p=h.convertValueToString(b),C=!1;if(null!=p){for(var Ib=0;match=Od.exec(p);){var n=match[0],C=!0;if(2<n.length){var D=n.substring(2,n.length-2);"documentName"==D?D="filename":"pageName"==D?D="page":"totalPages"==D?D="pagecount":"page"==D?D="pagenumber":"date:"==D.substring(0,5)?
D="date{"+D.substring(5).replace(/MMMM/g,"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy")+"}":"lastModifiedTime"==D.substring(0,16)?D=D.replace(/MMMM/g,"mmmm").replace(/MM/g,"mm").replace(/YYYY/g,"yyyy"):"i18nDate:"==D.substring(0,9)&&(D="date{"+D.substring(9).replace(/i18nShort/g,"shortDate").replace(/i18nMediumWithTime/g,"mmm d, yyyy hh:MM TT")+"}");D="%"+D+"%";y.push(p.substring(Ib,match.index)+(null!=D?D:n));Ib=match.index+n.length}}C&&(y.push(p.substring(Ib)),h.setAttributeForCell(b,"label",
y.join("")),h.setAttributeForCell(b,"placeholders","1"))}for(var B in k)if(k.hasOwnProperty(B)&&B.toString().startsWith("ShapeData_"))try{var A=k[B],E=mxUtils.trim(A.Label).replace(/[^a-z0-9]+/ig,"_").replace(/^\d+/,"").replace(/_+$/,"");jb(b,E,A.Value,h)}catch(Kb){window.console&&console.log("Ignored "+B+":",Kb)}k.Title&&k.Text&&"ExtShape"!=w.Class.substr(0,8)&&(w=b.geometry,w=new mxCell(e(k.Title),new mxGeometry(0,w.height,w.width,10),"strokeColor=none;fillColor=none;"),w.vertex=!0,b.insert(w),
-w.style+=c(k.Title,z));if(b.edge){b.style=null!=k.Rounding&&"diagonal"!=k.Shape?b.style+("rounded=1;arcSize="+k.Rounding+";"):b.style+"rounded=0;";if("diagonal"!=k.Shape)if(null!=k.ElbowPoints&&0<k.ElbowPoints.length)for(b.geometry.points=[],w=0;w<k.ElbowPoints.length;w++)b.geometry.points.push(new mxPoint(Math.round(.6*k.ElbowPoints[w].x+Tb),Math.round(.6*k.ElbowPoints[w].y+Ub)));else"elbow"==k.Shape?b.style+="edgeStyle=orthogonalEdgeStyle;":null!=k.Endpoint1.Block&&null!=k.Endpoint2.Block&&(b.style+=
+w.style+=c(k.Title,z));if(b.edge){b.style=null!=k.Rounding&&"diagonal"!=k.Shape?b.style+("rounded=1;arcSize="+k.Rounding+";"):b.style+"rounded=0;";if("diagonal"!=k.Shape)if(null!=k.ElbowPoints&&0<k.ElbowPoints.length)for(b.geometry.points=[],w=0;w<k.ElbowPoints.length;w++)b.geometry.points.push(new mxPoint(Math.round(.75*k.ElbowPoints[w].x+Tb),Math.round(.75*k.ElbowPoints[w].y+Ub)));else"elbow"==k.Shape?b.style+="edgeStyle=orthogonalEdgeStyle;":null!=k.Endpoint1.Block&&null!=k.Endpoint2.Block&&(b.style+=
"edgeStyle=orthogonalEdgeStyle;","curve"==k.Shape&&(b.style+="curved=1;"));if(k.LineJumps||LucidImporter.globalProps.LineJumps)b.style+="jumpStyle=arc;";null!=k.Endpoint1.Style&&(w=Lc[k.Endpoint1.Style],null!=w?(w=w.replace(/xyz/g,"start"),b.style+="startArrow="+w+";"):(LucidImporter.hasUnknownShapes=!0,window.console&&console.log("Unknown endpoint style: "+k.Endpoint1.Style)));null!=k.Endpoint2.Style&&(w=Lc[k.Endpoint2.Style],null!=w?(w=w.replace(/xyz/g,"end"),b.style+="endArrow="+w+";"):(LucidImporter.hasUnknownShapes=
-!0,window.console&&console.log("Unknown endpoint style: "+k.Endpoint2.Style)));B=null!=k.ElbowControlPoints&&0<k.ElbowControlPoints.length?k.ElbowControlPoints:null!=k.BezierJoints&&0<k.BezierJoints.length?k.BezierJoints:k.Joints;if(null!=B)for(b.geometry.points=[],w=0;w<B.length;w++)A=B[w].p?B[w].p:B[w],b.geometry.points.push(new mxPoint(Math.round(.6*A.x+Tb),Math.round(.6*A.y+Ub)));w=!1;if((null==b.geometry.points||0==b.geometry.points.length)&&null!=k.Endpoint1.Block&&k.Endpoint1.Block==k.Endpoint2.Block&&
+!0,window.console&&console.log("Unknown endpoint style: "+k.Endpoint2.Style)));B=null!=k.ElbowControlPoints&&0<k.ElbowControlPoints.length?k.ElbowControlPoints:null!=k.BezierJoints&&0<k.BezierJoints.length?k.BezierJoints:k.Joints;if(null!=B)for(b.geometry.points=[],w=0;w<B.length;w++)A=B[w].p?B[w].p:B[w],b.geometry.points.push(new mxPoint(Math.round(.75*A.x+Tb),Math.round(.75*A.y+Ub)));w=!1;if((null==b.geometry.points||0==b.geometry.points.length)&&null!=k.Endpoint1.Block&&k.Endpoint1.Block==k.Endpoint2.Block&&
null!=f&&null!=g){w=new mxPoint(Math.round(f.geometry.x+f.geometry.width*k.Endpoint1.LinkX),Math.round(f.geometry.y+f.geometry.height*k.Endpoint1.LinkY));B=new mxPoint(Math.round(g.geometry.x+g.geometry.width*k.Endpoint2.LinkX),Math.round(g.geometry.y+g.geometry.height*k.Endpoint2.LinkY));Tb=w.x==B.x?Math.abs(w.x-f.geometry.x)<f.geometry.width/2?-20:20:0;Ub=w.y==B.y?Math.abs(w.y-f.geometry.y)<f.geometry.height/2?-20:20:0;var S=new mxPoint(w.x+Tb,w.y+Ub),fa=new mxPoint(B.x+Tb,B.y+Ub);S.generated=!0;
fa.generated=!0;b.geometry.points=[S,fa];w=w.x==B.x}null!=f&&f.geometry.isRotated||(S=Mc(b,k.Endpoint1,!0,w));null!=f&&null!=S&&(null==f.stylePoints&&(f.stylePoints=[]),f.stylePoints.push(S),LucidImporter.stylePointsSet.add(f));null!=g&&g.geometry.isRotated||(fa=Mc(b,k.Endpoint2,!1,w));null!=g&&null!=fa&&(null==g.stylePoints&&(g.stylePoints=[]),g.stylePoints.push(fa),LucidImporter.stylePointsSet.add(g))}}}null!=d.id&&jb(b,"lucidchartObjectId",d.id,h)}function dc(b,d){var h=u(b),m=h.Properties,g=m.BoundingBox;
-null==b.Class||"AWS"!==b.Class.substring(0,3)&&"Amazon"!==b.Class.substring(0,6)||b.Class.includes("AWS19")||(g.h-=20);v=new mxCell("",new mxGeometry(Math.round(.6*g.x+Tb),Math.round(.6*g.y+Ub),Math.round(.6*g.w),Math.round(.6*g.h)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;Lb(v,b,d);v.zOrder=m.ZOrder;null!=v&&0<=v.style.indexOf(";grIcon=")&&(g=new mxCell("",new mxGeometry(v.geometry.x,v.geometry.y,v.geometry.width,v.geometry.height),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;"),
+null==b.Class||"AWS"!==b.Class.substring(0,3)&&"Amazon"!==b.Class.substring(0,6)||b.Class.includes("AWS19")||(g.h-=20);v=new mxCell("",new mxGeometry(Math.round(.75*g.x+Tb),Math.round(.75*g.y+Ub),Math.round(.75*g.w),Math.round(.75*g.h)),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;Lb(v,b,d);v.zOrder=m.ZOrder;null!=v&&0<=v.style.indexOf(";grIcon=")&&(g=new mxCell("",new mxGeometry(v.geometry.x,v.geometry.y,v.geometry.width,v.geometry.height),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;"),
g.vertex=!0,g.style+=a(g.style,m,h,g),v.geometry.x=0,v.geometry.y=0,v.style+="part=1;",g.insert(v),v=g);re(v,m);return v}function rd(a,b,d,h){var g=new mxCell("",new mxGeometry(0,0,100,100),"html=1;jettySize=18;");g.geometry.relative=!0;g.edge=!0;Lb(g,a,b,d,h,!0);b=u(a).Properties;d=null!=b?b.TextAreas:a.TextAreas;if(null!=d){for(h=0;null!=d["t"+h];){var m=d["t"+h],g=kb(m,g,a);h++}for(h=0;null!=d["m"+h]||1>h;)m=d["m"+h],null!=m&&(g=kb(m,g,a)),h++;null!=d.Text&&(g=kb(d.Text,g,a));d=null!=b?b.TextAreas:
-a.TextAreas;null!=d.Message&&(g=kb(d.Message,g,a))}return g}function kb(a,b,d){var m=2*(parseFloat(a.Location)-.5);isNaN(m)&&null!=a.Text&&null!=a.Text.Location&&(m=2*(parseFloat(a.Text.Location)-.5));var g=mxCell,c=e(a),m=new mxGeometry(isNaN(m)?0:m,0,0,0),f=Nc;if(z)a=Aa;else{var y="11",w="";if(null!=a&&null!=a.Value&&null!=a.Value.m){for(var w=k(a.Value.m),p=0;p<a.Value.m.length;p++)if("s"==a.Value.m[p].n)y=.6*parseFloat(a.Value.m[p].v);else if("c"==a.Value.m[p].n){var C=Y(a.Value.m[p].v);null!=
+a.TextAreas;null!=d.Message&&(g=kb(d.Message,g,a))}return g}function kb(a,b,d){var m=2*(parseFloat(a.Location)-.5);isNaN(m)&&null!=a.Text&&null!=a.Text.Location&&(m=2*(parseFloat(a.Text.Location)-.5));var g=mxCell,c=e(a),m=new mxGeometry(isNaN(m)?0:m,0,0,0),f=Nc;if(z)a=Aa;else{var y="11",w="";if(null!=a&&null!=a.Value&&null!=a.Value.m){for(var w=k(a.Value.m),p=0;p<a.Value.m.length;p++)if("s"==a.Value.m[p].n)y=.75*parseFloat(a.Value.m[p].v);else if("c"==a.Value.m[p].n){var C=Y(a.Value.m[p].v);null!=
C&&(C=C.substring(0,7));w+="fontColor="+C+";"}w+=h(d);Aa=""}a=w+";fontSize="+y+";"}g=new g(c,m,f+a);g.geometry.relative=!0;g.vertex=!0;b.insert(g);return b}function $a(a,b,d,h){null!=b&&null!=h&&(b=h(b));return null!=b&&b!=d?a+"="+b+";":""}function Mc(a,b,d,h,m){if(null!=b&&null!=b.LinkX&&null!=b.LinkY&&(b.LinkX=Math.round(1E3*b.LinkX)/1E3,b.LinkY=Math.round(1E3*b.LinkY)/1E3,a.style+=(h?"":(d?"exitX":"entryX")+"="+b.LinkX+";")+(m?"":(d?"exitY":"entryY")+"="+b.LinkY+";")+(d?"exitPerimeter":"entryPerimeter")+
-"=0;",b.Inside))return"["+b.LinkX+","+b.LinkY+",0]"}function sd(a,b,d,h){try{var m=function(a,b){if(null!=a)if(Array.isArray(a))for(var d=0;d<a.length;d++)m(a[d],b);else d=b?.6:1,f=Math.min(f,a.x*d),y=Math.min(y,a.y*d),w=Math.max(w,(a.x+(a.width?a.width:0))*d),k=Math.max(k,(a.y+(a.height?a.height:0))*d)};null!=a.Action&&null!=a.Action.Properties&&(a=a.Action.Properties);var c=new mxCell("",new mxGeometry,"group;dropTarget=0;");c.vertex=!0;c.zOrder=a.ZOrder;var f=Infinity,y=Infinity,w=-Infinity,k=
+"=0;",b.Inside))return"["+b.LinkX+","+b.LinkY+",0]"}function sd(a,b,d,h){try{var m=function(a,b){if(null!=a)if(Array.isArray(a))for(var d=0;d<a.length;d++)m(a[d],b);else d=b?.75:1,f=Math.min(f,a.x*d),y=Math.min(y,a.y*d),w=Math.max(w,(a.x+(a.width?a.width:0))*d),k=Math.max(k,(a.y+(a.height?a.height:0))*d)};null!=a.Action&&null!=a.Action.Properties&&(a=a.Action.Properties);var c=new mxCell("",new mxGeometry,"group;dropTarget=0;");c.vertex=!0;c.zOrder=a.ZOrder;var f=Infinity,y=Infinity,w=-Infinity,k=
-Infinity,p=a.Members,e=[],C;for(C in p){var n=b[C];null!=n?e.push(n):null!=h[C]&&(e.push(h[C]),d[C]=c)}e.sort(function(a,b){var d=a.zOrder,h=b.zOrder;return null!=d&&null!=h?d>h?1:d<h?-1:0:0});for(d=b=0;d<e.length;d++)if(n=e[d],n.vertex)m(n.geometry),n.parent=c,c.insert(n,b++);else{var u=null!=n.Action&&n.Action.Properties?n.Action.Properties:n;m(u.Endpoint1,!0);m(u.Endpoint2,!0);m(u.ElbowPoints,!0);m(u.ElbowControlPoints,!0);m(u.BezierJoints,!0);m(u.Joints,!0)}c.geometry.x=f;c.geometry.y=y;c.geometry.width=
w-f;c.geometry.height=k-y;if(null!=c.children)for(d=0;d<c.children.length;d++){var Ib=c.children[d].geometry;Ib.x-=f;Ib.y-=y}a.IsState?c.lucidLayerInfo={name:a.Name,visible:!a.Hidden,locked:a.Restrictions.b&&a.Restrictions.p&&a.Restrictions.c}:a.Hidden&&(c.visible=!1);return c}catch(ef){console.log(ef)}}function Pd(a,b,d){LucidImporter.hasMath=!1;LucidImporter.stylePointsSet=new Set;a.getModel().beginUpdate();try{var h=function(b,d){function h(a,b,d){null==a||a.generated||(a.x-=b,a.y-=d)}var g=null!=
-d.Endpoint1.Block?c[d.Endpoint1.Block]:null,y=null!=d.Endpoint2.Block?c[d.Endpoint2.Block]:null,w=rd(b,a,g,y);null==g&&null!=d.Endpoint1&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint1.x),Math.round(.6*d.Endpoint1.y)),!0);null==y&&null!=d.Endpoint2&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.6*d.Endpoint2.x),Math.round(.6*d.Endpoint2.y)),!1);var k=f[b.id];if(null!=k){for(var e=w.geometry,p=0,r=0,t=k;null!=t&&null!=t.geometry;)p+=t.geometry.x,r+=t.geometry.y,t=t.parent;
+d.Endpoint1.Block?c[d.Endpoint1.Block]:null,y=null!=d.Endpoint2.Block?c[d.Endpoint2.Block]:null,w=rd(b,a,g,y);null==g&&null!=d.Endpoint1&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.75*d.Endpoint1.x),Math.round(.75*d.Endpoint1.y)),!0);null==y&&null!=d.Endpoint2&&w.geometry.setTerminalPoint(new mxPoint(Math.round(.75*d.Endpoint2.x),Math.round(.75*d.Endpoint2.y)),!1);var k=f[b.id];if(null!=k){for(var e=w.geometry,p=0,r=0,t=k;null!=t&&null!=t.geometry;)p+=t.geometry.x,r+=t.geometry.y,t=t.parent;
h(e.sourcePoint,p,r);h(e.targetPoint,p,r);h(e.offset,p,r);e=e.points;if(null!=e)for(t=0;t<e.length;t++)h(e[t],p,r)}m.push(a.addCell(w,k,null,g,y))},m=[],c={},f={},y={},w=[];null!=b.Lines&&(y=b.Lines);if(null!=b.Blocks){Object.assign(y,b.Blocks);for(var k in b.Blocks){var e=b.Blocks[k];e.id=k;var p=!1;null!=Sb[e.Class]&&"mxCompositeShape"==Sb[e.Class]&&(c[e.id]=Oc(e,m,a),w.push(e),p=!0);p||(c[e.id]=dc(e,a),w.push(e))}if(null!=b.Generators)for(k in b.Generators)"OrgChart2018"==b.Generators[k].ClassName&&
(LucidImporter.hasUnknownShapes=!0,console.log("Lucid diagram has an Org Chart!"))}else{for(var C=0;C<b.Objects.length;C++)e=b.Objects[C],y[e.id]=e,null!=e.Action&&"mxCompositeShape"==Sb[e.Action.Class]?c[e.id]=Oc(e,m,a):e.IsBlock&&null!=e.Action&&null!=e.Action.Properties?c[e.id]=dc(e,a):e.IsGenerator&&e.GeneratorData&&e.GeneratorData.p&&"OrgChart2018"==e.GeneratorData.p.ClassName&&(LucidImporter.hasUnknownShapes=!0,console.log("Lucid diagram has an Org Chart!")),w.push(e);for(C=0;C<b.Objects.length;C++)if(e=
b.Objects[C],e.IsGroup){var n=sd(e,c,f,y);n&&(c[e.id]=n,w.push(e))}}if(null!=b.Groups)try{for(k in b.Groups)if(e=b.Groups[k],e.id=k,n=sd(e,c,f,y))c[e.id]=n,w.push(e)}catch(Kb){console.log(Kb)}if(null!=b.Lines)for(k in b.Lines)e=b.Lines[k],e.id=k,w.push(e);w.sort(function(a,b){a=u(a);b=u(b);var d=null!=a.Properties?a.Properties.ZOrder:a.ZOrder,h=null!=b.Properties?b.Properties.ZOrder:b.ZOrder;return null!=d&&null!=h?d>h?1:d<h?-1:0:0});for(C=0;C<w.length;C++){var e=w[C],D=c[e.id];if(null!=D){if(null==
@@ -53,20 +53,20 @@ B=100*B/h,A=100*A/m,B=Math.round(100*B)/100,A=Math.round(100*A)/100,C.push('<lin
a.vertex=!0;f.insert(a);c=[a];d=d.clone();y.insertEdge(d,!1);a.insertEdge(d,!0);c.push(d);h.push(m.addCell(d,null,null,null,null))}function va(a,b,d,h,m,c,f,y,w){a=new mxCell("",new mxGeometry(a,b,0,0),"strokeColor=none;fillColor=none;");a.vertex=!0;w.insert(a);d=new mxCell("",new mxGeometry(d,h,0,0),"strokeColor=none;fillColor=none;");d.vertex=!0;w.insert(d);y=[d];m=m.clone();a.insertEdge(m,!0);d.insertEdge(m,!1);y.push(m);c.push(f.addCell(m,null,null,null,null))}function ja(b,d,h,m,g,c){m.style=
"rounded=1;absoluteArcSize=1;fillColor=#ffffff;arcSize=2;strokeColor=#dddddd;";m.style+=a(m.style,g,c,m);d=e(g);m.vertex=!0;b=new mxCell(d,new mxGeometry(0,.5,24,24),"dashed=0;connectable=0;html=1;strokeColor=none;"+mxConstants.STYLE_SHAPE+"=mxgraph.gcp2."+b+";part=1;shadow=0;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=5;");b.style+=a(b.style,g,c,b,z);b.geometry.relative=!0;b.geometry.offset=new mxPoint(5,-12);b.vertex=!0;m.insert(b)}function ma(b,
d,h,m,g,c,f,y){g="transparent"!=b?mxConstants.STYLE_SHAPE+"=mxgraph.gcp2.":mxConstants.STYLE_SHAPE+"=";c.style="rounded=1;absoluteArcSize=1;arcSize=2;verticalAlign=bottom;fillColor=#ffffff;strokeColor=#dddddd;whiteSpace=wrap;";c.style+=a(c.style,f,y,c);c.value=e(f);c.vertex=!0;b=new mxCell(null,new mxGeometry(.5,0,.7*m*d,.7*m*h),g+b+";part=1;dashed=0;connectable=0;html=1;strokeColor=none;shadow=0;");b.geometry.relative=!0;b.geometry.offset=new mxPoint(-d*m*.35,10+(1-h)*m*.35);b.vertex=!0;b.style+=
-a(b.style,f,y,b,z);c.insert(b)}function uc(a,b){return null==a||null==b||!a.includes(";"+b+"=")&&a.substring(0,b.length+1)!=b+"="?!1:!0}function Rd(a,b){function d(a){a=Math.round(parseInt("0x"+a)*b).toString(16);return 1==a.length?"0"+a:a}return"#"+d(a.substr(1,2))+d(a.substr(3,2))+d(a.substr(5,2))}function Oc(b,m,f){var k=u(b),g=k.Properties,p=g.BoundingBox,t=Math.round(.6*p.w),r=Math.round(.6*p.h),n=Math.round(.6*p.x+Tb),Y=Math.round(.6*p.y+Ub);null==b.Class||"GCPInputDatabase"!==b.Class&&"GCPInputRecord"!==
-b.Class&&"GCPInputPayment"!==b.Class&&"GCPInputGateway"!==b.Class&&"GCPInputLocalCompute"!==b.Class&&"GCPInputBeacon"!==b.Class&&"GCPInputStorage"!==b.Class&&"GCPInputList"!==b.Class&&"GCPInputStream"!==b.Class&&"GCPInputMobileDevices"!==b.Class&&"GCPInputCircuitBoard"!==b.Class&&"GCPInputLive"!==b.Class&&"GCPInputUsers"!==b.Class&&"GCPInputLaptop"!==b.Class&&"GCPInputApplication"!==b.Class&&"GCPInputLightbulb"!==b.Class&&"GCPInputGame"!==b.Class&&"GCPInputDesktop"!==b.Class&&"GCPInputDesktopAndMobile"!==
+a(b.style,f,y,b,z);c.insert(b)}function uc(a,b){return null==a||null==b||!a.includes(";"+b+"=")&&a.substring(0,b.length+1)!=b+"="?!1:!0}function Rd(a,b){function d(a){a=Math.round(parseInt("0x"+a)*b).toString(16);return 1==a.length?"0"+a:a}return"#"+d(a.substr(1,2))+d(a.substr(3,2))+d(a.substr(5,2))}function Oc(b,m,f){var k=u(b),g=k.Properties,p=g.BoundingBox,t=Math.round(.75*p.w),r=Math.round(.75*p.h),n=Math.round(.75*p.x+Tb),Y=Math.round(.75*p.y+Ub);null==b.Class||"GCPInputDatabase"!==b.Class&&
+"GCPInputRecord"!==b.Class&&"GCPInputPayment"!==b.Class&&"GCPInputGateway"!==b.Class&&"GCPInputLocalCompute"!==b.Class&&"GCPInputBeacon"!==b.Class&&"GCPInputStorage"!==b.Class&&"GCPInputList"!==b.Class&&"GCPInputStream"!==b.Class&&"GCPInputMobileDevices"!==b.Class&&"GCPInputCircuitBoard"!==b.Class&&"GCPInputLive"!==b.Class&&"GCPInputUsers"!==b.Class&&"GCPInputLaptop"!==b.Class&&"GCPInputApplication"!==b.Class&&"GCPInputLightbulb"!==b.Class&&"GCPInputGame"!==b.Class&&"GCPInputDesktop"!==b.Class&&"GCPInputDesktopAndMobile"!==
b.Class&&"GCPInputWebcam"!==b.Class&&"GCPInputSpeaker"!==b.Class&&"GCPInputRetail"!==b.Class&&"GCPInputReport"!==b.Class&&"GCPInputPhone"!==b.Class&&"GCPInputBlank"!==b.Class||(r+=20);v=new mxCell("",new mxGeometry(n,Y,t,r),"html=1;overflow=block;blockSpacing=1;whiteSpace=wrap;");v.vertex=!0;v.zOrder=g.ZOrder;var fa=null!=b.Class?b.Class:null!=k?k.Class:null;switch(fa){case "BraceNoteBlock":case "UI2BraceNoteBlock":var dc=!1;null!=g.BraceDirection&&"Right"==g.BraceDirection&&(dc=!0);var jb=null,ia=
null;dc?(jb=new mxCell("",new mxGeometry(t-.125*r,0,.125*r,r),"shape=curlyBracket;rounded=1;"),ia=new mxCell("",new mxGeometry(0,0,t-.125*r,r),"strokeColor=none;fillColor=none;")):(jb=new mxCell("",new mxGeometry(0,0,.125*r,r),"shape=curlyBracket;rounded=1;flipH=1;"),ia=new mxCell("",new mxGeometry(.125*r,0,t-.125*r,r),"strokeColor=none;fillColor=none;"));v.style="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);jb.vertex=!0;v.insert(jb);jb.style+=a(jb.style,g,k,jb);ia.vertex=!0;ia.value=
-e(g);v.insert(ia);ia.style+=a(ia.style,g,k,ia,z);break;case "BPMNAdvancedPoolBlockRotated":case "UMLMultiLanePoolRotatedBlock":case "UMLMultiLanePoolBlock":case "BPMNAdvancedPoolBlock":case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":case "UMLSwimLaneBlockV2":var oa="MainText",kb=null,rd="HeaderFill_",Mc="BodyFill_",Kb=25,Sb=25,Kc=0;if(null!=g.Lanes)Kc=g.Lanes.length;else if(null!=g.PrimaryLane){for(var ec=function(a){if(a)32>a?a=32:208<a&&(a=208);else return 0;return.6*a},Kc=g.PrimaryLane.length,
-l=r=t=0;l<Kc;l++)t+=g.PrimaryLane[l];for(l=0;l<g.SecondaryLane.length;l++)r+=g.SecondaryLane[l];Kb=ec(g.PrimaryPoolTitleHeight);Sb=ec(g.PrimaryLaneTitleHeight);t*=.6;r=.6*r+Kb+Sb;v.geometry.width=t;v.geometry.height=r;oa="poolPrimaryTitleKey";rd="PrimaryLaneHeaderFill_";Mc="CellFill_0,";kb=g.PrimaryLaneTextAreaIds;if(null==kb)for(kb=[],l=0;l<Kc;l++)kb.push("Primary_"+l)}if(0==g.IsPrimaryLaneVertical){g.Rotation=-1.5707963267948966;var uc=v.geometry.x,Nc=v.geometry.y}var Jd=0!=g.Rotation,Lc=0<fa.indexOf("Pool"),
+e(g);v.insert(ia);ia.style+=a(ia.style,g,k,ia,z);break;case "BPMNAdvancedPoolBlockRotated":case "UMLMultiLanePoolRotatedBlock":case "UMLMultiLanePoolBlock":case "BPMNAdvancedPoolBlock":case "AdvancedSwimLaneBlockRotated":case "AdvancedSwimLaneBlock":case "UMLSwimLaneBlockV2":var oa="MainText",kb=null,rd="HeaderFill_",Mc="BodyFill_",Kb=25,Sb=25,Kc=0;if(null!=g.Lanes)Kc=g.Lanes.length;else if(null!=g.PrimaryLane){for(var ec=function(a){if(a)32>a?a=32:208<a&&(a=208);else return 0;return.75*a},Kc=g.PrimaryLane.length,
+l=r=t=0;l<Kc;l++)t+=g.PrimaryLane[l];for(l=0;l<g.SecondaryLane.length;l++)r+=g.SecondaryLane[l];Kb=ec(g.PrimaryPoolTitleHeight);Sb=ec(g.PrimaryLaneTitleHeight);t*=.75;r=.75*r+Kb+Sb;v.geometry.width=t;v.geometry.height=r;oa="poolPrimaryTitleKey";rd="PrimaryLaneHeaderFill_";Mc="CellFill_0,";kb=g.PrimaryLaneTextAreaIds;if(null==kb)for(kb=[],l=0;l<Kc;l++)kb.push("Primary_"+l)}if(0==g.IsPrimaryLaneVertical){g.Rotation=-1.5707963267948966;var uc=v.geometry.x,Nc=v.geometry.y}var Jd=0!=g.Rotation,Lc=0<fa.indexOf("Pool"),
sd=0==fa.indexOf("BPMN"),Kd=null!=g[oa];v.style=(Lc?"swimlane;startSize="+Kb+";":"fillColor=none;strokeColor=none;pointerEvents=0;fontStyle=0;")+"html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;"+(Jd?"horizontalStack=0;":"");v.style+=a(v.style,g,k,v);Kd&&(v.value=e(g[oa]),v.style+=(z?"overflow=block;blockSpacing=1;fontSize=11;"+Aa:d(g[oa])+y(g[oa])+h(g[oa])+w(g[oa])+C(g[oa],v)+B(g[oa])+D(g[oa])+A(g[oa])+E(g[oa]))+H(g[oa])+N(g[oa]));for(var Oc=0,
-Jb=[],Md="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;fontStyle=0;startSize="+Sb+";dropTarget=0;rounded=0;"+(Jd?"horizontal=0;":"")+(sd?"swimlaneLine=0;fillColor=none;":""),P=g.Rotation=0;P<Kc;P++){if(null==kb)var qd=parseFloat(g.Lanes[P].p),l=parseInt(g.Lanes[P].tid)||P,ab="Lane_"+l;else qd=.6*g.PrimaryLane[P]/t,l=P,ab=kb[P];var te=t*Oc,td=Lc?Kb:0;Jb.push(new mxCell("",Jd?new mxGeometry(td,te,r-td,t*qd):new mxGeometry(te,td,t*qd,r-td),Md));Jb[P].vertex=!0;v.insert(Jb[P]);
-Jb[P].value=e(g[ab]);Jb[P].style+=a(Jb[P].style,g,k,Jb[P],z)+(z?"fontSize=11;":d(g[ab])+y(g[ab])+w(g[ab])+C(g[ab],Jb[P])+B(g[ab])+D(g[ab])+A(g[ab])+E(g[ab]))+H(g[ab])+N(g[ab])+S(g[rd+l])+ea(g[Mc+l]);Oc+=qd}null!=uc&&(v.geometry.x=uc,v.geometry.y=Nc);break;case "UMLMultidimensionalSwimlane":var fc=0,gc=0,Sd=null,Td=null;if(null!=g.Rows&&null!=g.Columns)var fc=g.Rows.length,gc=g.Columns.length,Pc=.6*g.TitleHeight||25,Qc=.6*g.TitleWidth||25;else if(null!=g.PrimaryLane&&null!=g.SecondaryLane){fc=g.SecondaryLane.length;
-gc=g.PrimaryLane.length;Qc=.6*g.SecondaryLaneTitleHeight||25;Pc=.6*g.PrimaryLaneTitleHeight||25;for(l=r=t=0;l<fc;l++)r+=g.SecondaryLane[l];for(l=0;l<gc;l++)t+=g.PrimaryLane[l];t=.6*t+Qc;r=.6*r+Pc;v.geometry.width=t;v.geometry.height=r;Sd=g.SecondaryLaneTextAreaIds;Td=g.PrimaryLaneTextAreaIds}v.style="group;";var Ud=new mxCell("",new mxGeometry(0,Pc,t,r-Pc),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;horizontalStack=0;");
-Ud.vertex=!0;var Rc=new mxCell("",new mxGeometry(Qc,0,t-Qc,r),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;");Rc.vertex=!0;v.insert(Ud);v.insert(Rc);for(var Y=0,Nd="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;horizontal=0;fontStyle=0;startSize="+Qc+";",P=0;P<fc;P++){if(null==Sd)var Vd=.6*parseInt(g.Rows[P].height),l=parseInt(g.Rows[P].id)||P,bb="Row_"+l;else Vd=.6*g.SecondaryLane[P],
-bb=Sd[P];var Vb=new mxCell("",new mxGeometry(0,Y,t,Vd),Nd),Y=Y+Vd;Vb.vertex=!0;Ud.insert(Vb);Vb.value=e(g[bb]);Vb.style+=a(Vb.style,g,k,Vb,z)+(z?"fontSize=11;":d(g[bb])+y(g[bb])+w(g[bb])+C(g[bb],Vb)+B(g[bb])+D(g[bb])+A(g[bb])+E(g[bb]))+H(g[bb])+N(g[bb])}for(var Od="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;fontStyle=0;startSize="+Pc+";",P=n=0;P<gc;P++){if(null==Td)var wc=.6*parseInt(g.Columns[P].width),l=parseInt(g.Columns[P].id)||P,cb="Column_"+l;else wc=
-.6*g.PrimaryLane[P],cb=Td[P];var Wb=new mxCell("",new mxGeometry(n,0,wc,r),Od),n=n+wc;Wb.vertex=!0;Rc.insert(Wb);Wb.value=e(g[cb]);Wb.style+=a(Wb.style,g,k,Wb,z)+(z?"fontSize=11;":d(g[cb])+y(g[cb])+w(g[cb])+C(g[cb],Wb)+B(g[cb])+D(g[cb])+A(g[cb])+E(g[cb]))+H(g[cb])+N(g[cb])}break;case "UMLStateBlock":if(0==g.Composite)v.style="rounded=1;arcSize=20",v.value=e(g.State,!0),v.style+=a(v.style,g,k,v,z);else{v.style="swimlane;startSize=25;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;rounded=1;arcSize=20;fontStyle=0;";
-v.value=e(g.State,!0);v.style+=a(v.style,g,k,v,z);v.style+=aa(g,k).replace("fillColor","swimlaneFillColor");var Ma=new mxCell("",new mxGeometry(0,25,t,r-25),"rounded=1;arcSize=20;strokeColor=none;fillColor=none");Ma.value=e(g.Action,!0);Ma.style+=a(Ma.style,g,k,Ma,z);Ma.vertex=!0;v.insert(Ma)}break;case "GSDFDProcessBlock":var Wd=Math.round(.6*g.nameHeight);v.style="shape=swimlane;html=1;rounded=1;arcSize=10;collapsible=0;fontStyle=0;startSize="+Wd;v.value=e(g.Number,!0);v.style+=a(v.style,g,k,v,
+Jb=[],Md="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;fontStyle=0;startSize="+Sb+";dropTarget=0;rounded=0;"+(Jd?"horizontal=0;":"")+(sd?"swimlaneLine=0;fillColor=none;":""),P=g.Rotation=0;P<Kc;P++){if(null==kb)var qd=parseFloat(g.Lanes[P].p),l=parseInt(g.Lanes[P].tid)||P,ab="Lane_"+l;else qd=.75*g.PrimaryLane[P]/t,l=P,ab=kb[P];var te=t*Oc,td=Lc?Kb:0;Jb.push(new mxCell("",Jd?new mxGeometry(td,te,r-td,t*qd):new mxGeometry(te,td,t*qd,r-td),Md));Jb[P].vertex=!0;v.insert(Jb[P]);
+Jb[P].value=e(g[ab]);Jb[P].style+=a(Jb[P].style,g,k,Jb[P],z)+(z?"fontSize=11;":d(g[ab])+y(g[ab])+w(g[ab])+C(g[ab],Jb[P])+B(g[ab])+D(g[ab])+A(g[ab])+E(g[ab]))+H(g[ab])+N(g[ab])+S(g[rd+l])+ea(g[Mc+l]);Oc+=qd}null!=uc&&(v.geometry.x=uc,v.geometry.y=Nc);break;case "UMLMultidimensionalSwimlane":var fc=0,gc=0,Sd=null,Td=null;if(null!=g.Rows&&null!=g.Columns)var fc=g.Rows.length,gc=g.Columns.length,Pc=.75*g.TitleHeight||25,Qc=.75*g.TitleWidth||25;else if(null!=g.PrimaryLane&&null!=g.SecondaryLane){fc=g.SecondaryLane.length;
+gc=g.PrimaryLane.length;Qc=.75*g.SecondaryLaneTitleHeight||25;Pc=.75*g.PrimaryLaneTitleHeight||25;for(l=r=t=0;l<fc;l++)r+=g.SecondaryLane[l];for(l=0;l<gc;l++)t+=g.PrimaryLane[l];t=.75*t+Qc;r=.75*r+Pc;v.geometry.width=t;v.geometry.height=r;Sd=g.SecondaryLaneTextAreaIds;Td=g.PrimaryLaneTextAreaIds}v.style="group;";var Ud=new mxCell("",new mxGeometry(0,Pc,t,r-Pc),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;horizontalStack=0;");
+Ud.vertex=!0;var Rc=new mxCell("",new mxGeometry(Qc,0,t-Qc,r),"fillColor=none;strokeColor=none;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;");Rc.vertex=!0;v.insert(Ud);v.insert(Rc);for(var Y=0,Nd="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;horizontal=0;fontStyle=0;startSize="+Qc+";",P=0;P<fc;P++){if(null==Sd)var Vd=.75*parseInt(g.Rows[P].height),l=parseInt(g.Rows[P].id)||P,bb="Row_"+l;else Vd=.75*g.SecondaryLane[P],
+bb=Sd[P];var Vb=new mxCell("",new mxGeometry(0,Y,t,Vd),Nd),Y=Y+Vd;Vb.vertex=!0;Ud.insert(Vb);Vb.value=e(g[bb]);Vb.style+=a(Vb.style,g,k,Vb,z)+(z?"fontSize=11;":d(g[bb])+y(g[bb])+w(g[bb])+C(g[bb],Vb)+B(g[bb])+D(g[bb])+A(g[bb])+E(g[bb]))+H(g[bb])+N(g[bb])}for(var Od="swimlane;html=1;whiteSpace=wrap;container=1;connectable=0;collapsible=0;dropTarget=0;fontStyle=0;startSize="+Pc+";",P=n=0;P<gc;P++){if(null==Td)var wc=.75*parseInt(g.Columns[P].width),l=parseInt(g.Columns[P].id)||P,cb="Column_"+l;else wc=
+.75*g.PrimaryLane[P],cb=Td[P];var Wb=new mxCell("",new mxGeometry(n,0,wc,r),Od),n=n+wc;Wb.vertex=!0;Rc.insert(Wb);Wb.value=e(g[cb]);Wb.style+=a(Wb.style,g,k,Wb,z)+(z?"fontSize=11;":d(g[cb])+y(g[cb])+w(g[cb])+C(g[cb],Wb)+B(g[cb])+D(g[cb])+A(g[cb])+E(g[cb]))+H(g[cb])+N(g[cb])}break;case "UMLStateBlock":if(0==g.Composite)v.style="rounded=1;arcSize=20",v.value=e(g.State,!0),v.style+=a(v.style,g,k,v,z);else{v.style="swimlane;startSize=25;html=1;whiteSpace=wrap;container=1;collapsible=0;childLayout=stackLayout;resizeParent=1;dropTarget=0;rounded=1;arcSize=20;fontStyle=0;";
+v.value=e(g.State,!0);v.style+=a(v.style,g,k,v,z);v.style+=aa(g,k).replace("fillColor","swimlaneFillColor");var Ma=new mxCell("",new mxGeometry(0,25,t,r-25),"rounded=1;arcSize=20;strokeColor=none;fillColor=none");Ma.value=e(g.Action,!0);Ma.style+=a(Ma.style,g,k,Ma,z);Ma.vertex=!0;v.insert(Ma)}break;case "GSDFDProcessBlock":var Wd=Math.round(.75*g.nameHeight);v.style="shape=swimlane;html=1;rounded=1;arcSize=10;collapsible=0;fontStyle=0;startSize="+Wd;v.value=e(g.Number,!0);v.style+=a(v.style,g,k,v,
z);v.style+=aa(g,k).replace("fillColor","swimlaneFillColor");Ma=new mxCell("",new mxGeometry(0,Wd,t,r-Wd),"rounded=1;arcSize=10;strokeColor=none;fillColor=none");Ma.value=e(g.Text,!0);Ma.style+=a(Ma.style,g,k,Ma,z);Ma.vertex=!0;v.insert(Ma);break;case "AndroidDevice":if(null!=g.AndroidDeviceName){v.style="fillColor=#000000;strokeColor=#000000;";var Xb=null,Sc=null,Tc=null;if("Tablet"==g.AndroidDeviceName||"Mini Tablet"==g.AndroidDeviceName||"custom"==g.AndroidDeviceName&&"Tablet"==g.CustomDeviceType)v.style+=
"shape=mxgraph.android.tab2;",Xb=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.85*r),""),g.KeyboardShown&&(Sc=new mxCell("",new mxGeometry(.112*t,.727*r,.77*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(Tc=new mxCell("",new mxGeometry(.112*t,.077*r,.77*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));else if("Large Phone"==g.AndroidDeviceName||"Phone"==g.AndroidDeviceName||"custom"==g.AndroidDeviceName&&"Phone"==
g.CustomDeviceType)v.style+="shape=mxgraph.android.phone2;",Xb=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.816*r),""),g.KeyboardShown&&(Sc=new mxCell("",new mxGeometry(.04*t,.708*r,.92*t,.2*r),"shape=mxgraph.android.keyboard;")),g.FullScreen||(Tc=new mxCell("",new mxGeometry(.04*t,.092*r,.92*t,.03*r),"shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize="+.015*r+";"));Xb.vertex=!0;v.insert(Xb);"Dark"==g.Scheme?Xb.style+="fillColor=#111111;":"Light"==
@@ -113,12 +113,12 @@ t,.6*r,.15*t,.2*r),"strokeColor=none;fillColor=none;");xb.vertex=!0;v.insert(xb)
tb.vertex=!0;v.insert(tb);tb.value=e(g.Option32);tb.style+=c(g.Option32,z);Da=new mxCell("",new mxGeometry(0,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Da.vertex=!0;v.insert(Da);Da.value=e(g.Option13);Da.style+=c(g.Option13,z);Ea=new mxCell("",new mxGeometry(.2*t,.4*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ea.vertex=!0;v.insert(Ea);Ea.value=e(g.Option23);Ea.style+=c(g.Option23,z);ub=new mxCell("",new mxGeometry(.45*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");ub.vertex=
!0;v.insert(ub);ub.value=e(g.Option33);ub.style+=c(g.Option33,z);Fa=new mxCell("",new mxGeometry(.6*t,.4*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");Fa.vertex=!0;v.insert(Fa);Fa.value=e(g.Option43);Fa.style+=c(g.Option43,z);Ga=new mxCell("",new mxGeometry(0,.6*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ga.vertex=!0;v.insert(Ga);Ga.value=e(g.Option14);Ga.style+=c(g.Option14,z);wb=new mxCell("",new mxGeometry(.45*t,.6*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");wb.vertex=!0;v.insert(wb);
wb.value=e(g.Option34);wb.style+=c(g.Option34,z);Ha=new mxCell("",new mxGeometry(0,.8*r,.25*t,.2*r),"strokeColor=none;fillColor=none;");Ha.vertex=!0;v.insert(Ha);Ha.value=e(g.Option15);Ha.style+=c(g.Option15,z);zb=new mxCell("",new mxGeometry(.45*t,.8*r,.2*t,.2*r),"strokeColor=none;fillColor=none;");zb.vertex=!0;v.insert(zb);zb.value=e(g.Option35);zb.style+=c(g.Option35,z);Na=new mxCell("",new mxGeometry(0,.4*r-2,t,4),"shape=line;strokeColor=#888888;");Na.vertex=!0;v.insert(Na);Oa=new mxCell("",new mxGeometry(0,
-.6*r-2,t,4),"shape=line;strokeColor=#888888;");Oa.vertex=!0;v.insert(Oa);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);break;case "iOSBasicCell":v.value=e(g.text);v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.6*g.SeparatorInset+";";v.style+=(z?"fontSize=11;":d(g.text)+y(g.text)+w(g.text))+N(g.text);v.style+=a(v.style,g,k,v,z);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*
+.6*r-2,t,4),"shape=line;strokeColor=#888888;");Oa.vertex=!0;v.insert(Oa);v.style+="strokeColor=none;";v.style+=a(v.style,g,k,v);break;case "iOSBasicCell":v.value=e(g.text);v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft="+.75*g.SeparatorInset+";";v.style+=(z?"fontSize=11;":d(g.text)+y(g.text)+w(g.text))+N(g.text);v.style+=a(v.style,g,k,v,z);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*
t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);var qa=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,
-.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+.6*g.SeparatorInset+";";v.value=e(g.subtext);v.style+=
-z?"fontSize=11;":d(g.subtext)+y(g.subtext)+w(g.subtext);v.style+=a(v.style,g,k,v,z);var sa=new mxCell("",new mxGeometry(0,.4*r,t,.6*r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.6*g.SeparatorInset+";");sa.vertex=!0;v.insert(sa);sa.value=e(g.text);sa.style+=z?"html=1;fontSize=11;"+Aa:d(g.text)+h(g.text)+y(g.text)+w(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");
+.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSSubtitleCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft="+.75*g.SeparatorInset+";";v.value=e(g.subtext);v.style+=
+z?"fontSize=11;":d(g.subtext)+y(g.subtext)+w(g.subtext);v.style+=a(v.style,g,k,v,z);var sa=new mxCell("",new mxGeometry(0,.4*r,t,.6*r),"fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft="+.75*g.SeparatorInset+";");sa.vertex=!0;v.insert(sa);sa.value=e(g.text);sa.style+=z?"html=1;fontSize=11;"+Aa:d(g.text)+h(g.text)+y(g.text)+w(g.text);switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");
ca.vertex=!0;v.insert(ca);break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);qa=new mxCell("",new mxGeometry(.79*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");
-qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.6*g.SeparatorInset+";";v.value=e(g.subtext);v.style+=z?"fontSize=11;":d(g.subtext)+y(g.subtext)+w(g.subtext);v.style+=a(v.style,
+qa.vertex=!0;v.insert(qa);break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;"),ca.vertex=!0,v.insert(ca)}break;case "iOSRightDetailCell":v.style+="shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft="+.75*g.SeparatorInset+";";v.value=e(g.subtext);v.style+=z?"fontSize=11;":d(g.subtext)+y(g.subtext)+w(g.subtext);v.style+=a(v.style,
g,k,v,z);sa=null;switch(g.AccessoryIndicatorType){case "Disclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);sa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailDisclosure":ca=new mxCell("",new mxGeometry(.91*t,.35*r,.15*r,.3*r),"shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;");ca.vertex=!0;v.insert(ca);qa=new mxCell("",new mxGeometry(.79*
t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);sa=new mxCell("",new mxGeometry(.45*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;case "DetailIndicator":qa=new mxCell("",new mxGeometry(.87*t,.25*r,.5*r,.5*r),"shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;");qa.vertex=!0;v.insert(qa);sa=new mxCell("",new mxGeometry(.52*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");
break;case "CheckMark":ca=new mxCell("",new mxGeometry(.89*t,.37*r,.4*r,.26*r),"shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;");ca.vertex=!0;v.insert(ca);sa=new mxCell("",new mxGeometry(.55*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;");break;default:sa=new mxCell("",new mxGeometry(.65*t,0,.3*t,r),"fillColor=none;strokeColor=none;spacing=0;align=right;")}sa.vertex=!0;v.insert(sa);sa.value=e(g.text);sa.style+=z?"html=1;fontSize=11;"+Aa:d(g.text)+h(g.text)+
@@ -148,7 +148,7 @@ new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),q.geometry
J=G(g,k);J=J.replace("strokeColor","fillColor");""==J&&(J="fillColor=#000000;");q.style+=J;break;case 6:q=new mxCell("",new mxGeometry(.5,1,15,11),"shape=mxgraph.bpmn.compensation;part=1;"),q.geometry.offset=new mxPoint(Qa,-18),q.style+=aa(g,k)+G(g,k)}q.geometry.relative=!0;q.vertex=!0;v.insert(q)}v.style+=a(v.style,g,k,v);break;case "BPMNEvent":v.style+="shape=mxgraph.bpmn.shape;verticalLabelPosition=bottom;verticalAlign=top;";v.value=e(g.Text);if(1==g.bpmnDashed)switch(g.bpmnEventGroup){case 0:v.style+=
"outline=eventNonint;";break;case 1:v.style+="outline=boundNonint;";break;case 2:v.style+="outline=end;"}else switch(g.bpmnEventGroup){case 0:v.style+="outline=standard;";break;case 1:v.style+="outline=throwing;";break;case 2:v.style+="outline=end;"}switch(g.bpmnEventType){case 1:v.style+="symbol=message;";break;case 2:v.style+="symbol=timer;";break;case 3:v.style+="symbol=escalation;";break;case 4:v.style+="symbol=conditional;";break;case 5:v.style+="symbol=link;";break;case 6:v.style+="symbol=error;";
break;case 7:v.style+="symbol=cancel;";break;case 8:v.style+="symbol=compensation;";break;case 9:v.style+="symbol=signal;";break;case 10:v.style+="symbol=multiple;";break;case 11:v.style+="symbol=parallelMultiple;";break;case 12:v.style+="symbol=terminate;"}v.style+=a(v.style,g,k,v,z);break;case "BPMNChoreography":try{var O=Z(g.FillColor),Qd=Rd(O,.75),Yb=d(g.Name).match(/\d+/),ta=Math.max(mxUtils.getSizeForString(g.Name.t,Yb?Yb[0]:"11",null,t-10).height,24),O="swimlaneFillColor="+Qd+";";v.value=e(g.Name);
-v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+O+"startSize="+ta+";spacingLeft=3;spacingRight=3;fontStyle=0;"+c(g.Name,z);v.style+=a(v.style,g,k,v,z);var fb=ta,Yb=d(g.TaskName).match(/\d+/),Bb=g.TaskHeight?.6*g.TaskHeight:Math.max(mxUtils.getSizeForString(g.TaskName.t,Yb?Yb[0]:"11",null,t-10).height+15,24),Qb=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");
+v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+O+"startSize="+ta+";spacingLeft=3;spacingRight=3;fontStyle=0;"+c(g.Name,z);v.style+=a(v.style,g,k,v,z);var fb=ta,Yb=d(g.TaskName).match(/\d+/),Bb=g.TaskHeight?.75*g.TaskHeight:Math.max(mxUtils.getSizeForString(g.TaskName.t,Yb?Yb[0]:"11",null,t-10).height+15,24),Qb=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");
Qb.value=e(g.TaskName);Qb.vertex=!0;v.insert(Qb);Qb.style+=c(g.TaskName,z);Qb.style+=a(Qb.style,g,k,Qb,z);fb+=Bb;I=[];for(l=0;l<g.Fields;l++){var vd=g["Participant"+(l+1)],Yb=d(vd).match(/\d+/),Bb=Math.max(mxUtils.getSizeForString(vd.t,Yb?Yb[0]:"11",null,t-10).height,24);I[l]=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;html=1;resizeHeight=0;fillColor=none;spacingTop=-1;spacingLeft=3;spacingRight=3;");fb+=Bb;I[l].vertex=!0;v.insert(I[l]);I[l].style+=c(vd,z);I[l].style+=a(I[l].style,g,k,I[l],z);
I[l].value=e(vd)}}catch(Xa){console.log(Xa)}break;case "BPMNConversation":v.style+="shape=hexagon;perimeter=hexagonPerimeter2;";v.value=e(g.Text);v.style=0==g.bpmnConversationType?v.style+cc(g):v.style+"strokeWidth=2;";g.bpmnIsSubConversation&&(q=new mxCell("",new mxGeometry(.5,1,12,12),"shape=plus;part=1;"),q.geometry.offset=new mxPoint(-6,-17),q.style+=aa(g,k)+G(g,k),q.geometry.relative=!0,q.vertex=!0,v.insert(q));v.style+=a(v.style,g,k,v,z);break;case "BPMNGateway":v.style+="shape=mxgraph.bpmn.shape;perimeter=rhombusPerimeter;background=gateway;verticalLabelPosition=bottom;verticalAlign=top;";
switch(g.bpmnGatewayType){case 0:v.style+="outline=none;symbol=general;";break;case 1:v.style+="outline=none;symbol=exclusiveGw;";break;case 2:v.style+="outline=catching;symbol=multiple;";break;case 3:v.style+="outline=none;symbol=parallelGw;";break;case 4:v.style+="outline=end;symbol=general;";break;case 5:v.style+="outline=standard;symbol=multiple;";break;case 6:v.style+="outline=none;symbol=complexGw;";break;case 7:v.style+="outline=standard;symbol=parallelMultiple;"}v.style+=a(v.style,g,k,v);
@@ -156,10 +156,10 @@ v.value=e(g.Text);v.style+=c(g,z);break;case "BPMNData":v.style+="shape=note;siz
!0;v.insert(q);v.style+="verticalLabelPosition=bottom;verticalAlign=top;";W=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;");W.geometry.offset=new mxPoint(0,14);W.geometry.relative=!0;W.vertex=!0;v.insert(W);W.value=e(g.Text);W.style+=c(g,z);break;case 3:q=new mxCell("",new mxGeometry(0,0,12,10),"shape=singleArrow;part=1;arrowWidth=0.4;arrowSize=0.4;"),q.geometry.offset=new mxPoint(3,3),q.style+=G(g,k),q.geometry.relative=!0,q.vertex=!0,v.insert(q),J=G(g,k),J=J.replace("strokeColor",
"fillColor"),""==J&&(J="fillColor=#000000;"),q.style+=J,W=new mxCell("",new mxGeometry(0,0,t,20),"strokeColor=none;fillColor=none;"),W.geometry.offset=new mxPoint(0,14),W.geometry.relative=!0,W.vertex=!0,v.insert(W),W.value=e(g.Text),W.style+=c(g,z)}v.style+=a(v.style,g,k,v);break;case "BPMNBlackPool":v.value=e(g.Text);v.style+=a(v.style,g,k,v,z);q=new mxCell("",new mxGeometry(0,0,t,r),"fillColor=#000000;strokeColor=none;opacity=30;");q.vertex=!0;v.insert(q);break;case "DFDExternalEntityBlock":v.style+=
"strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);q=new mxCell("",new mxGeometry(0,0,.95*t,.95*r),"part=1;");q.vertex=!0;v.insert(q);q.style+=a(q.style,g,k,q);x=new mxCell("",new mxGeometry(.05*t,.05*r,.95*t,.95*r),"part=1;");x.vertex=!0;v.insert(x);x.value=e(g.Text);x.style+=c(g.Text,z);x.style+=a(x.style,g,k,x,z);break;case "GSDFDDataStoreBlock":v.value=e(g.Text);v.style+="shape=partialRectangle;right=0;"+c(g.Text,z);v.style+=a(v.style,g,k,v,z);q=new mxCell("",new mxGeometry(0,0,.2*t,
-r),"part=1;");q.vertex=!0;v.insert(q);q.value=e(g.Number);q.style+=c(g.Number,z);q.style+=a(q.style,g,k,q,z);break;case "DefaultTableBlock":try{for(var fc=g.RowHeights.length,gc=g.ColWidths.length,wd=[],fd=[],l=0;l<fc;l++)wd[l]=.6*g.RowHeights[l];for(P=0;P<gc;P++)fd[P]=.6*g.ColWidths[P];v.style="group;dropTarget=0;";var Yd=g.BandedColor1,Zd=g.BandedColor2,ff=g.BandedRows,Ce=g.BandedCols,xd=g.HideH,gf=g.HideV,De=g.TextVAlign,Ee=g.FillColor,Fe=g.StrokeStyle;delete g.StrokeStyle;for(var hf=Wa(Ee,"fillOpacity"),
+r),"part=1;");q.vertex=!0;v.insert(q);q.value=e(g.Number);q.style+=c(g.Number,z);q.style+=a(q.style,g,k,q,z);break;case "DefaultTableBlock":try{for(var fc=g.RowHeights.length,gc=g.ColWidths.length,wd=[],fd=[],l=0;l<fc;l++)wd[l]=.75*g.RowHeights[l];for(P=0;P<gc;P++)fd[P]=.75*g.ColWidths[P];v.style="group;dropTarget=0;";var Yd=g.BandedColor1,Zd=g.BandedColor2,ff=g.BandedRows,Ce=g.BandedCols,xd=g.HideH,gf=g.HideV,De=g.TextVAlign,Ee=g.FillColor,Fe=g.StrokeStyle;delete g.StrokeStyle;for(var hf=Wa(Ee,"fillOpacity"),
Ge=g.LineColor,jf=Wa(Ge,"strokeOpacity"),Y=0,gd={},l=0;l<fc;l++){n=0;r=wd[l];for(P=0;P<gc;P++){var Ya=l+","+P;if(gd[Ya])n+=fd[P];else{for(var za=g["CellFill_"+Ya],$d=g["NoBand_"+Ya],yd=g["CellSize_"+Ya],Cb=g["Cell_"+Ya],He=g["Cell_"+Ya+"_VAlign"],kf=g["Cell_"+Ya+"_TRotation"],lf=g["CellBorderWidthH_"+Ya],mf=g["CellBorderColorH_"+Ya],nf=g["CellBorderStrokeStyleH_"+Ya],of=g["CellBorderWidthV_"+Ya],pf=g["CellBorderColorV_"+Ya],qf=g["CellBorderStrokeStyleV_"+Ya],Ie=xd?pf:mf,Je=Wa(Ie,"strokeOpacity"),
Ke=xd?of:lf,lc=xd?qf:nf,za=ff&&!$d?0==l%2?Yd:Ce&&!$d?0==P%2?Yd:Zd:Zd:Ce&&!$d?0==P%2?Yd:Zd:za,rf=Wa(za,"fillOpacity")||hf,t=fd[P],Le=r,wc=t,gb=l+1;gb<l+yd.h;gb++)if(null!=wd[gb]){Le+=wd[gb];gd[gb+","+P]=!0;for(var mc=P+1;mc<P+yd.w;mc++)gd[mc+","+P]=!0}for(gb=P+1;gb<P+yd.w;gb++)if(null!=fd[gb])for(wc+=fd[gb],gd[l+","+gb]=!0,mc=l+1;mc<l+yd.h;mc++)gd[mc+","+gb]=!0;var Q=new mxCell("",new mxGeometry(n,Y,wc,Le),"shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;"+(gf?"left=0;right=0;":"")+(xd?
-"top=0;bottom=0;":"")+$a(mxConstants.STYLE_FILLCOLOR,Z(za),Z(Ee))+$a(mxConstants.STYLE_STROKECOLOR,Z(Ie),Z(Ge))+(null!=Ke?$a(mxConstants.STYLE_STROKEWIDTH,Math.round(.6*parseFloat(Ke)),"1"):"")+(Je?Je:jf)+rf+"verticalAlign="+(He?He:De?De:"middle")+";"+vc({StrokeStyle:lc?lc:Fe?Fe:"solid"})+(kf?"horizontal=0;":""));Q.vertex=!0;Q.value=e(Cb);Q.style+=a(Q.style,g,k,Q,z)+(z?"fontSize=11;":d(Cb)+y(Cb)+w(Cb)+C(Cb,Q)+B(Cb)+D(Cb)+A(Cb)+E(Cb))+H(Cb)+N(Cb);v.insert(Q);n+=t}}Y+=r}}catch(Xa){}break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+=
+"top=0;bottom=0;":"")+$a(mxConstants.STYLE_FILLCOLOR,Z(za),Z(Ee))+$a(mxConstants.STYLE_STROKECOLOR,Z(Ie),Z(Ge))+(null!=Ke?$a(mxConstants.STYLE_STROKEWIDTH,Math.round(.75*parseFloat(Ke)),"1"):"")+(Je?Je:jf)+rf+"verticalAlign="+(He?He:De?De:"middle")+";"+vc({StrokeStyle:lc?lc:Fe?Fe:"solid"})+(kf?"horizontal=0;":""));Q.vertex=!0;Q.value=e(Cb);Q.style+=a(Q.style,g,k,Q,z)+(z?"fontSize=11;":d(Cb)+y(Cb)+w(Cb)+C(Cb,Q)+B(Cb)+D(Cb)+A(Cb)+E(Cb))+H(Cb)+N(Cb);v.insert(Q);n+=t}}Y+=r}}catch(Xa){}break;case "VSMDedicatedProcessBlock":case "VSMProductionControlBlock":v.style+=
"shape=mxgraph.lean_mapping.manufacturing_process;spacingTop=15;";"VSMDedicatedProcessBlock"==b.Class?v.value=e(g.Text):"VSMProductionControlBlock"==b.Class&&(v.value=e(g.Resources));v.style+=a(v.style,g,k,v,z);"VSMDedicatedProcessBlock"==b.Class&&(q=new mxCell("",new mxGeometry(0,1,11,9),"part=1;shape=mxgraph.lean_mapping.operator;"),q.geometry.relative=!0,q.geometry.offset=new mxPoint(4,-13),q.vertex=!0,v.insert(q),q.style+=a(q.style,g,k,q));W=new mxCell("",new mxGeometry(0,0,t,15),"strokeColor=none;fillColor=none;part=1;");
W.vertex=!0;v.insert(W);W.value=e(g.Title);W.style+=c(g.Title,z);g.Text=null;break;case "VSMSharedProcessBlock":v.style+="shape=mxgraph.lean_mapping.manufacturing_process_shared;spacingTop=-5;verticalAlign=top;";v.value=e(g.Text);v.style+=a(v.style,g,k,v,z);W=new mxCell("",new mxGeometry(.1*t,.3*r,.8*t,.6*r),"part=1;");W.vertex=!0;v.insert(W);W.value=e(g.Resource);W.style+=c(g.Resource,z);W.style+=a(W.style,g,k,W,z);break;case "VSMWorkcellBlock":v.style+="shape=mxgraph.lean_mapping.work_cell;verticalAlign=top;spacingTop=-2;";
v.value=e(g.Text);v.style+=a(v.style,g,k,v,z);break;case "VSMSafetyBufferStockBlock":case "VSMDatacellBlock":v.style+="strokeColor=none;fillColor=none;";v.style+=a(v.style,g,k,v);Ia=r;mb=parseInt(g.Cells);O=a("part=1;",g,k,v);0<mb&&(Ia/=mb);I=[];ha=[];for(l=1;l<=mb;l++)I[l]=new mxCell("",new mxGeometry(0,(l-1)*Ia,t,Ia),O),I[l].vertex=!0,v.insert(I[l]),I[l].value=e(g["cell_"+l]),I[l].style+=c(g["cell_"+l],z);break;case "VSMInventoryBlock":v.style+="shape=mxgraph.lean_mapping.inventory_box;verticalLabelPosition=bottom;verticalAlign=top;";
@@ -223,8 +223,8 @@ q.vertex=!0;v.insert(q);q.style+=a(q.style,g,k,q);break;case "PEIndicatorBlock":
"shape=mxgraph.pid2inst.compFunc;";break;case "PESharedIndicator2Block":v.style+="shape=mxgraph.pid2inst.indicator;indType=ctrl;";break;case "PEProgrammableIndicatorBlock":v.style+="shape=mxgraph.pid2inst.progLogCont;"}v.style+=a(v.style,g,k,v);"PEIndicator2Block"==b.Class||"PESharedIndicator2Block"==b.Class?(q=new mxCell("",new mxGeometry(0,0,t,.5*t),"part=1;strokeColor=none;fillColor=none;"),q.vertex=!0,v.insert(q),q.value=e(g.TopText),q.style+=c(g.TopText,z),q.style+=a(q.style,g,k,q,z),x=new mxCell("",
new mxGeometry(0,.5*t,t,.5*t),"part=1;strokeColor=none;fillColor=none;")):(q=new mxCell("",new mxGeometry(0,0,t,.5*r),"part=1;strokeColor=none;fillColor=none;"),q.vertex=!0,v.insert(q),q.value=e(g.TopText),q.style+=c(g.TopText,z),q.style+=a(q.style,g,k,q,z),x=new mxCell("",new mxGeometry(0,.5*r,t,.5*r),"part=1;strokeColor=none;fillColor=none;"));x.vertex=!0;v.insert(x);x.value=e(g.BotText);x.style+=c(g.BotText,z);x.style+=a(x.style,g,k,x,z);switch(g.instrumentLocation){case 0:v.style+="mounting=field;";
break;case 1:v.style+="mounting=inaccessible;";break;case 2:v.style+="mounting=room;";break;case 3:v.style+="mounting=local;"}break;case "PEGateValveBlock":case "PEGlobeValveBlock":case "PEAngleValveBlock":case "PEAngleGlobeValveBlock":case "PEPoweredValveBlock":var ee=!1;"PEPoweredValveBlock"==b.Class?1!=g.poweredHandOperated&&(ee=!0):1!=g.handOperated&&(ee=!0);if(ee){var g=u(b).Properties,p=g.BoundingBox,sf=p.h;p.h="PEAngleValveBlock"==b.Class||"PEAngleGlobeValveBlock"==b.Class?.7*p.h:.6*p.h;v=
-new mxCell("",new mxGeometry(Math.round(.6*p.x+Tb),Math.round(.6*(p.y+sf-p.h)+Ub),Math.round(.6*p.w),Math.round(.6*p.h)),"");v.vertex=!0;Lb(v,b,f)}if("PEPoweredValveBlock"==b.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=a(v.style,g,k,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*r),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),q.vertex=!0,v.insert(q),q.value=
-e(g.PoweredText),q.style+=(z?"":y(g.PoweredText)+w(g.PoweredText)+C(g.PoweredText)+B(g.PoweredText)+D(g.PoweredText)+E(g.PoweredText)+H(g.PoweredText))+"fontSize=6;"+N(g.PoweredText),q.style+=a(q.style,g,k,q,z)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=e(g.Text);switch(b.Class){case "PEGateValveBlock":v.style+="valveType=gate;";break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+=
+new mxCell("",new mxGeometry(Math.round(.75*p.x+Tb),Math.round(.75*(p.y+sf-p.h)+Ub),Math.round(.75*p.w),Math.round(.75*p.h)),"");v.vertex=!0;Lb(v,b,f)}if("PEPoweredValveBlock"==b.Class)v.style+="shape=mxgraph.pid2valves.valve;verticalLabelPosition=bottom;verticalAlign=top;",v.style+=a(v.style,g,k,v),1==g.poweredHandOperated?(v.style+="valveType=gate;actuator=powered;",q=new mxCell("",new mxGeometry(.325*t,0,.35*t,.35*r),"part=1;strokeColor=none;fillColor=none;spacingTop=2;"),q.vertex=!0,v.insert(q),
+q.value=e(g.PoweredText),q.style+=(z?"":y(g.PoweredText)+w(g.PoweredText)+C(g.PoweredText)+B(g.PoweredText)+D(g.PoweredText)+E(g.PoweredText)+H(g.PoweredText))+"fontSize=6;"+N(g.PoweredText),q.style+=a(q.style,g,k,q,z)):v.style+="valveType=gate;";else{v.style+="verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.pid2valves.valve;";v.value=e(g.Text);switch(b.Class){case "PEGateValveBlock":v.style+="valveType=gate;";break;case "PEGlobeValveBlock":v.style+="valveType=globe;";break;case "PEAngleValveBlock":v.style+=
"valveType=angle;";break;case "PEAngleGlobeValveBlock":v.style+="valveType=angleGlobe;flipH=1;"}1==g.handOperated&&(v.style+="actuator=man;")}v.style+=a(v.style,g,k,v,z);break;case "UI2BrowserBlock":v.style+="shape=mxgraph.mockup.containers.browserWindow;mainText=;";1==g.vScroll&&(F=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-130),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-110),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),
F.geometry.relative=!0,F.geometry.offset=new mxPoint(-20,110),F.vertex=!0,v.insert(F),v.style+="spacingRight=20;");1==g.hScroll&&(T=1==g.vScroll?new mxCell("",new mxGeometry(0,1,t-20,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"):new mxCell("",new mxGeometry(0,1,t,20),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=5;resizeWidth=1;"),T.geometry.relative=!0,T.geometry.offset=new mxPoint(0,-20),T.vertex=!0,v.insert(T));v.style+=a(v.style,g,k,v);break;case "UI2WindowBlock":v.value=
e(g.Title);v.style+="shape=mxgraph.mockup.containers.window;mainText=;align=center;verticalAlign=top;spacing=5;"+(z?"fontSize=11;":d(g.Title)+y(g.Title)+w(g.Title));1==g.vScroll&&(F=1==g.hScroll?new mxCell("",new mxGeometry(1,0,20,r-50),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"):new mxCell("",new mxGeometry(1,0,20,r-30),"part=1;shape=mxgraph.mockup.navigation.scrollBar;barPos=95;direction=north;resizeHeight=1;"),F.geometry.relative=!0,F.geometry.offset=
@@ -267,38 +267,38 @@ e(g["Item_"+(l+1)])),null!=g.Icons[l+1]&&null!=I[l]&&("dot"==g.Icons[l+1]?(Ba[l]
Ba[l].style+=J)),null!=g["Shortcut_"+(l+1)]&&(null==O&&(O=""+d(g["Shortcut_"+(l+1)])+y(g["Shortcut_"+(l+1)])+w(g["Shortcut_"+(l+1)])),Gc[l]=new mxCell("",new mxGeometry(.6*t,l*r/g.Lines,.4*t,M),"strokeColor=none;fillColor=none;spacingRight=3;align=right;html=1;"),Gc[l].vertex=!0,v.insert(Gc[l]),Gc[l].style+=O,Gc[l].value=e(g["Shortcut_"+(l+1)])),null!=g.Dividers[l+1]&&(I[l]=new mxCell("",new mxGeometry(.05*t,l*r/g.Lines,.9*t,M),"shape=line;strokeWidth=1;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=
G(g,k));break;case "UI2ProgressBarBlock":v.style+="shape=mxgraph.mockup.misc.progressBar;fillColor2=#888888;barPos="+100*g.ScrollVal+";";break;case "CalloutSquareBlock":case "UI2TooltipSquareBlock":v.value=e(g.Tip||g.Text);v.style+="html=1;shape=callout;flipV=1;base=13;size=7;position=0.5;position2=0.66;rounded=1;arcSize="+g.RoundCorners+";"+c(g.Tip||g.Text,z);v.style+=a(v.style,g,k,v,z);v.geometry.height+=10;break;case "UI2CalloutBlock":v.value=e(g.Txt);v.style+="shape=ellipse;perimeter=ellipsePerimeter;"+
c(g.Txt,z);v.style+=a(v.style,g,k,v,z);break;case "UI2AlertBlock":v.value=e(g.Txt);v.style+=c(g.Txt,z);v.style+=a(v.style,g,k,v,z);q=new mxCell("",new mxGeometry(0,0,t,30),"part=1;resizeHeight=0;");q.vertex=!0;v.insert(q);q.value=e(g.Title);q.style+=c(g.Title,z);q.style+=a(q.style,g,k,q,z);x=new mxCell("",new mxGeometry(1,.5,20,20),"ellipse;part=1;strokeColor=#008cff;resizable=0;fillColor=none;html=1;");x.geometry.relative=!0;x.geometry.offset=new mxPoint(-25,-10);x.vertex=!0;q.insert(x);for(var uf=
-45*g.Buttons+(10*g.Buttons-1),F=[],l=0;l<g.Buttons;l++)F[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),F[l].geometry.relative=!0,F[l].geometry.offset=new mxPoint(.5*-uf+55*l,-40),F[l].vertex=!0,v.insert(F[l]),F[l].value=e(g["Button_"+(l+1)]),F[l].style+=c(g["Button_"+(l+1)],z),F[l].style+=a(F[l].style,g,k,F[l],z);break;case "UMLClassBlock":if(0==g.Simple){O=aa(g,k);ta=Math.round(.6*g.TitleHeight)||25;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");
+45*g.Buttons+(10*g.Buttons-1),F=[],l=0;l<g.Buttons;l++)F[l]=new mxCell("",new mxGeometry(.5,1,45,20),"part=1;html=1;"),F[l].geometry.relative=!0,F[l].geometry.offset=new mxPoint(.5*-uf+55*l,-40),F[l].vertex=!0,v.insert(F[l]),F[l].value=e(g["Button_"+(l+1)]),F[l].style+=c(g["Button_"+(l+1)],z),F[l].style+=a(F[l].style,g,k,F[l],z);break;case "UMLClassBlock":if(0==g.Simple){O=aa(g,k);ta=Math.round(.75*g.TitleHeight)||25;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");
v.value=e(g.Title);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+O+"startSize="+ta+";"+c(g.Title,z);v.style+=a(v.style,g,k,v,z);for(var I=[],ge=[],Ja=ta/r,fb=ta,l=0;l<=g.Attributes;l++)0<l&&(ge[l]=new mxCell("",new mxGeometry(0,fb,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),
-fb+=8,ge[l].vertex=!0,v.insert(ge[l])),M=0,0==g.Attributes?M=l=1:l<g.Attributes?(M=g["Text"+(l+1)+"Percent"],Ja+=M):M=1-Ja,Bb=Math.round((r-ta)*M)+(g.ExtraHeightSet&&1==l?.6*g.ExtraHeight:0),I[l]=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),fb+=Bb,I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+R(g,k,I[l])+
-d(g["Text"+(l+1)])+y(g["Text"+(l+1)])+w(g["Text"+(l+1)]),I[l].value=e(g["Text"+(l+1)])}else v.value=e(g.Title),v.style+=c(g.Title,z),v.style+=a(v.style,g,k,v,z);break;case "ERDEntityBlock":O=aa(g,k);ta=.6*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=e(g.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+O+"startSize="+ta+";"+
-c(g.Name,z);v.style+=a(v.style,g,k,v,z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);I=[];Ja=ta/r;fb=ta;for(l=0;l<g.Fields;l++)M=0,Bb=.6*g["Field"+(l+1)+"_h"],I[l]=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),fb+=Bb,I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+
-w(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;opacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]);break;case "ERDEntityBlock2":O=aa(g,k);ta=.6*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=e(g.Name);v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+O+"startSize="+ta+";"+c(g.Name,z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":
-v.style+aa(g,k);v.style+=a(v.style,g,k,v,z);var I=[],da=[],Ja=ta,Ua=30;null!=g.Column1&&(Ua=.6*g.Column1);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),da[l].vertex=!0,v.insert(da[l]),da[l].style+=O+d(g["Key"+(l+1)])+y(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=1==
-g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Key"+(l+1)]),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+
-(l+1)])+w(g["Field"+(l+1)]),v.style+=a(v.style,g,k,v),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]),Ja+=.6*g["Key"+(l+1)+"_h"];break;case "ERDEntityBlock3":O=aa(g,k);ta=.6*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+O+"startSize="+ta+";"+
-c(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);v.value=e(g.Name);v.style+=a(v.style,g,k,v,z);I=[];da=[];Ja=ta;Ua=30;null!=g.Column1&&(Ua=.6*g.Column1);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.6*g["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),da[l].vertex=!0,v.insert(da[l]),da[l].style+=
-O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+w(g["Field"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Field"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Type"+(l+1)])+y(g["Type"+(l+1)])+w(g["Type"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Type"+(l+1)]),I[l].style+=a(I[l].style,g,k,I[l],z),Ja+=.6*g["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":O=aa(g,k);ta=.6*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
-O+"startSize="+ta+";"+c(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);v.value=e(g.Name);v.style+=a(v.style,g,k,v,z);var I=[],da=[],Va=[],Ja=ta,Ua=30,Fd=40;null!=g.Column1&&(Ua=.6*g.Column1);null!=g.Column2&&(Fd=.6*g.Column2);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.6*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-da[l].vertex=!0,v.insert(da[l]),da[l].style+=O+d(g["Key"+(l+1)])+y(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Key"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua-Fd,.6*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+w(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]),I[l].style+=a(I[l].style,g,k,I[l],z),Va[l]=new mxCell("",new mxGeometry(t-Fd,Ja,Fd,.6*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
-Va[l].vertex=!0,v.insert(Va[l]),Va[l].style+=O+d(g["Type"+(l+1)])+y(g["Type"+(l+1)])+w(g["Type"+(l+1)]),Va[l].style=1==g.AltRows&&0!=l%2?Va[l].style+"fillColor=#000000;fillOpacity=5;":Va[l].style+("fillColor=none;"+R(g,k,Va[l])),Va[l].value=e(g["Type"+(l+1)]),Va[l].style+=a(Va[l].style,g,k,Va[l],z),Ja+=.6*g["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ja("application_system",t,r,v,g,k);break;case "GCPServiceCardAuthorizationBlock":ja("internal_payment_authorization",t,r,v,g,
-k);break;case "GCPServiceCardBlankBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardReallyBlankBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardBucketBlock":ja("bucket",t,r,v,g,k);break;case "GCPServiceCardCDNInterconnectBlock":ja("google_network_edge_cache",t,r,v,g,k);break;case "GCPServiceCardCloudDNSBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardClusterBlock":ja("cluster",t,r,v,g,k);break;case "GCPServiceCardDiskSnapshotBlock":ja("persistent_disk_snapshot",t,r,v,g,k);break;case "GCPServiceCardEdgePopBlock":ja("google_network_edge_cache",
-t,r,v,g,k);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ja("frontend_platform_services",t,r,v,g,k);break;case "GCPServiceCardGatewayBlock":ja("gateway",t,r,v,g,k);break;case "GCPServiceCardGoogleNetworkBlock":ja("google_network_edge_cache",t,r,v,g,k);break;case "GCPServiceCardImageServicesBlock":ja("image_services",t,r,v,g,k);break;case "GCPServiceCardLoadBalancerBlock":ja("network_load_balancer",t,r,v,g,k);break;case "GCPServiceCardLocalComputeBlock":ja("dedicated_game_server",t,r,v,
-g,k);break;case "GCPServiceCardLocalStorageBlock":ja("persistent_disk_snapshot",t,r,v,g,k);break;case "GCPServiceCardLogsAPIBlock":ja("logs_api",t,r,v,g,k);break;case "GCPServiceCardMemcacheBlock":ja("memcache",t,r,v,g,k);break;case "GCPServiceCardNATBlock":ja("nat",t,r,v,g,k);break;case "GCPServiceCardPaymentFormBlock":ja("external_payment_form",t,r,v,g,k);break;case "GCPServiceCardPushNotificationsBlock":ja("push_notification_service",t,r,v,g,k);break;case "GCPServiceCardScheduledTasksBlock":ja("scheduled_tasks",
+fb+=8,ge[l].vertex=!0,v.insert(ge[l])),M=0,0==g.Attributes?M=l=1:l<g.Attributes?(M=g["Text"+(l+1)+"Percent"],Ja+=M):M=1-Ja,Bb=Math.round((r-ta)*M)+(g.ExtraHeightSet&&1==l?.75*g.ExtraHeight:0),I[l]=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;html=1;resizeHeight=0;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),fb+=Bb,I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+R(g,k,I[l])+
+d(g["Text"+(l+1)])+y(g["Text"+(l+1)])+w(g["Text"+(l+1)]),I[l].value=e(g["Text"+(l+1)])}else v.value=e(g.Title),v.style+=c(g.Title,z),v.style+=a(v.style,g,k,v,z);break;case "ERDEntityBlock":O=aa(g,k);ta=.75*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=e(g.Name);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;fontStyle=0;marginBottom=0;"+O+"startSize="+ta+";"+
+c(g.Name,z);v.style+=a(v.style,g,k,v,z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);I=[];Ja=ta/r;fb=ta;for(l=0;l<g.Fields;l++)M=0,Bb=.75*g["Field"+(l+1)+"_h"],I[l]=new mxCell("",new mxGeometry(0,fb,t,Bb),"part=1;resizeHeight=0;strokeColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),fb+=Bb,I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+
+w(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;opacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]);break;case "ERDEntityBlock2":O=aa(g,k);ta=.75*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=e(g.Name);v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+O+"startSize="+ta+";"+c(g.Name,z);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":
+v.style+aa(g,k);v.style+=a(v.style,g,k,v,z);var I=[],da=[],Ja=ta,Ua=30;null!=g.Column1&&(Ua=.75*g.Column1);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.75*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),da[l].vertex=!0,v.insert(da[l]),da[l].style+=O+d(g["Key"+(l+1)])+y(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=
+1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Key"+(l+1)]),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua,.75*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;html=1;"),I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+
+(l+1)])+w(g["Field"+(l+1)]),v.style+=a(v.style,g,k,v),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]),Ja+=.75*g["Key"+(l+1)+"_h"];break;case "ERDEntityBlock3":O=aa(g,k);ta=.75*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+O+"startSize="+ta+";"+
+c(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);v.value=e(g.Name);v.style+=a(v.style,g,k,v,z);I=[];da=[];Ja=ta;Ua=30;null!=g.Column1&&(Ua=.75*g.Column1);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.75*g["Field"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),da[l].vertex=!0,v.insert(da[l]),da[l].style+=
+O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+w(g["Field"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Field"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua,.75*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Type"+(l+1)])+y(g["Type"+(l+1)])+w(g["Type"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Type"+(l+1)]),I[l].style+=a(I[l].style,g,k,I[l],z),Ja+=.75*g["Field"+(l+1)+"_h"];break;case "ERDEntityBlock4":O=aa(g,k);ta=.75*g.Name_h;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.style+="swimlane;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;fontStyle=0;"+
+O+"startSize="+ta+";"+c(g.Name);v.style=g.ShadedHeader?v.style+"fillColor=#e0e0e0;":v.style+aa(g,k);v.value=e(g.Name);v.style+=a(v.style,g,k,v,z);var I=[],da=[],Va=[],Ja=ta,Ua=30,Fd=40;null!=g.Column1&&(Ua=.75*g.Column1);null!=g.Column2&&(Fd=.75*g.Column2);for(l=0;l<g.Fields;l++)M=0,da[l]=new mxCell("",new mxGeometry(0,Ja,Ua,.75*g["Key"+(l+1)+"_h"]),"strokeColor=none;part=1;resizeHeight=0;align=center;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+da[l].vertex=!0,v.insert(da[l]),da[l].style+=O+d(g["Key"+(l+1)])+y(g["Key"+(l+1)])+w(g["Key"+(l+1)]),da[l].style=1==g.AltRows&&0!=l%2?da[l].style+"fillColor=#000000;fillOpacity=5;":da[l].style+("fillColor=none;"+R(g,k,da[l])),da[l].value=e(g["Key"+(l+1)]),da[l].style+=a(da[l].style,g,k,da[l],z),I[l]=new mxCell("",new mxGeometry(Ua,Ja,t-Ua-Fd,.75*g["Field"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+I[l].vertex=!0,v.insert(I[l]),I[l].style+=O+d(g["Field"+(l+1)])+y(g["Field"+(l+1)])+w(g["Field"+(l+1)]),I[l].style=1==g.AltRows&&0!=l%2?I[l].style+"fillColor=#000000;fillOpacity=5;":I[l].style+("fillColor=none;"+R(g,k,I[l])),I[l].value=e(g["Field"+(l+1)]),I[l].style+=a(I[l].style,g,k,I[l],z),Va[l]=new mxCell("",new mxGeometry(t-Fd,Ja,Fd,.75*g["Type"+(l+1)+"_h"]),"shape=partialRectangle;top=0;right=0;bottom=0;part=1;resizeHeight=0;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),
+Va[l].vertex=!0,v.insert(Va[l]),Va[l].style+=O+d(g["Type"+(l+1)])+y(g["Type"+(l+1)])+w(g["Type"+(l+1)]),Va[l].style=1==g.AltRows&&0!=l%2?Va[l].style+"fillColor=#000000;fillOpacity=5;":Va[l].style+("fillColor=none;"+R(g,k,Va[l])),Va[l].value=e(g["Type"+(l+1)]),Va[l].style+=a(Va[l].style,g,k,Va[l],z),Ja+=.75*g["Key"+(l+1)+"_h"];break;case "GCPServiceCardApplicationSystemBlock":ja("application_system",t,r,v,g,k);break;case "GCPServiceCardAuthorizationBlock":ja("internal_payment_authorization",t,r,v,
+g,k);break;case "GCPServiceCardBlankBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardReallyBlankBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardBucketBlock":ja("bucket",t,r,v,g,k);break;case "GCPServiceCardCDNInterconnectBlock":ja("google_network_edge_cache",t,r,v,g,k);break;case "GCPServiceCardCloudDNSBlock":ja("blank",t,r,v,g,k);break;case "GCPServiceCardClusterBlock":ja("cluster",t,r,v,g,k);break;case "GCPServiceCardDiskSnapshotBlock":ja("persistent_disk_snapshot",t,r,v,g,k);break;
+case "GCPServiceCardEdgePopBlock":ja("google_network_edge_cache",t,r,v,g,k);break;case "GCPServiceCardFrontEndPlatformServicesBlock":ja("frontend_platform_services",t,r,v,g,k);break;case "GCPServiceCardGatewayBlock":ja("gateway",t,r,v,g,k);break;case "GCPServiceCardGoogleNetworkBlock":ja("google_network_edge_cache",t,r,v,g,k);break;case "GCPServiceCardImageServicesBlock":ja("image_services",t,r,v,g,k);break;case "GCPServiceCardLoadBalancerBlock":ja("network_load_balancer",t,r,v,g,k);break;case "GCPServiceCardLocalComputeBlock":ja("dedicated_game_server",
+t,r,v,g,k);break;case "GCPServiceCardLocalStorageBlock":ja("persistent_disk_snapshot",t,r,v,g,k);break;case "GCPServiceCardLogsAPIBlock":ja("logs_api",t,r,v,g,k);break;case "GCPServiceCardMemcacheBlock":ja("memcache",t,r,v,g,k);break;case "GCPServiceCardNATBlock":ja("nat",t,r,v,g,k);break;case "GCPServiceCardPaymentFormBlock":ja("external_payment_form",t,r,v,g,k);break;case "GCPServiceCardPushNotificationsBlock":ja("push_notification_service",t,r,v,g,k);break;case "GCPServiceCardScheduledTasksBlock":ja("scheduled_tasks",
t,r,v,g,k);break;case "GCPServiceCardServiceDiscoveryBlock":ja("service_discovery",t,r,v,g,k);break;case "GCPServiceCardSquidProxyBlock":ja("squid_proxy",t,r,v,g,k);break;case "GCPServiceCardTaskQueuesBlock":ja("task_queues",t,r,v,g,k);break;case "GCPServiceCardVirtualFileSystemBlock":ja("virtual_file_system",t,r,v,g,k);break;case "GCPServiceCardVPNGatewayBlock":ja("gateway",t,r,v,g,k);break;case "GCPInputDatabase":ma("database",1,.9,t,r,v,g,k);break;case "GCPInputRecord":ma("record",1,.66,t,r,v,
g,k);break;case "GCPInputPayment":ma("payment",1,.8,t,r,v,g,k);break;case "GCPInputGateway":ma("gateway_icon",1,.44,t,r,v,g,k);break;case "GCPInputLocalCompute":ma("compute_engine_icon",1,.89,t,r,v,g,k);break;case "GCPInputBeacon":ma("beacon",.73,1,t,r,v,g,k);break;case "GCPInputStorage":ma("storage",1,.8,t,r,v,g,k);break;case "GCPInputList":ma("list",.89,1,t,r,v,g,k);break;case "GCPInputStream":ma("stream",1,.82,t,r,v,g,k);break;case "GCPInputMobileDevices":ma("mobile_devices",1,.73,t,r,v,g,k);break;
case "GCPInputCircuitBoard":ma("circuit_board",1,.9,t,r,v,g,k);break;case "GCPInputLive":ma("live",.74,1,t,r,v,g,k);break;case "GCPInputUsers":ma("users",1,.63,t,r,v,g,k);break;case "GCPInputLaptop":ma("laptop",1,.66,t,r,v,g,k);break;case "GCPInputApplication":ma("application",1,.8,t,r,v,g,k);break;case "GCPInputLightbulb":ma("lightbulb",.7,1,t,r,v,g,k);break;case "GCPInputGame":ma("game",1,.54,t,r,v,g,k);break;case "GCPInputDesktop":ma("desktop",1,.9,t,r,v,g,k);break;case "GCPInputDesktopAndMobile":ma("desktop_and_mobile",
1,.66,t,r,v,g,k);break;case "GCPInputWebcam":ma("webcam",.5,1,t,r,v,g,k);break;case "GCPInputSpeaker":ma("speaker",.7,1,t,r,v,g,k);break;case "GCPInputRetail":ma("retail",1,.89,t,r,v,g,k);break;case "GCPInputReport":ma("report",1,1,t,r,v,g,k);break;case "GCPInputPhone":ma("phone",.64,1,t,r,v,g,k);break;case "GCPInputBlank":ma("transparent",1,1,t,r,v,g,k);break;case "PresentationFrameBlock":0==g.ZOrder?v.style+="strokeColor=none;fillColor=none;":(v.style+=c(g.Text),v.value=e(g.Text),v.style+=a(v.style,
-g,k,v,z));break;case "SVGPathBlock2":try{for(var vf=g.LineWidth,wf=g.LineColor,Se=g.FillColor,Te=g.DrawData.Data,Gd='<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">',l=0;l<Te.length;l++){var Fb=Te[l],xf=Fb.a,yf=("prop"==Fb.w||null==Fb.w?vf:Fb.w)/Math.min(t,r)*.6,kc="prop"==Fb.s||null==Fb.s?wf:Fb.s,J="prop"==Fb.f||null==Fb.f?Se:Fb.f;"object"==typeof J&&(J=Array.isArray(J.cs)?J.cs[0].c:Se);Gd+='<path d="'+xf+'" fill="'+J+'" stroke="'+kc+'" stroke-width="'+yf+'"/>'}Gd+="</svg>";v.style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,"+
+g,k,v,z));break;case "SVGPathBlock2":try{for(var vf=g.LineWidth,wf=g.LineColor,Se=g.FillColor,Te=g.DrawData.Data,Gd='<svg viewBox="0 0 1 1" xmlns="http://www.w3.org/2000/svg">',l=0;l<Te.length;l++){var Fb=Te[l],xf=Fb.a,yf=("prop"==Fb.w||null==Fb.w?vf:Fb.w)/Math.min(t,r)*.75,kc="prop"==Fb.s||null==Fb.s?wf:Fb.s,J="prop"==Fb.f||null==Fb.f?Se:Fb.f;"object"==typeof J&&(J=Array.isArray(J.cs)?J.cs[0].c:Se);Gd+='<path d="'+xf+'" fill="'+J+'" stroke="'+kc+'" stroke-width="'+yf+'"/>'}Gd+="</svg>";v.style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/svg+xml,"+
(window.btoa?btoa(Gd):Base64.encode(Gd,!0))+";"}catch(Xa){}break;case "BraceBlock":case "BraceBlockRotated":case "BracketBlock":case "BracketBlockRotated":var Ue=0==fa.indexOf("Bracket")?"size=0;arcSize=50;":"",Ve=a(v.style,g,k,v,z),Ab=U(g,k,v);v.style="group;"+Ab;var he=Math.min(.14*(Ab?t:r),100),ie=new mxCell("",new mxGeometry(0,0,he,r),"shape=curlyBracket;rounded=1;"+Ue+Ve);ie.vertex=!0;ie.geometry.relative=!0;var je=new mxCell("",new mxGeometry(1-he/t,0,he,r),"shape=curlyBracket;rounded=1;flipH=1;"+
Ue+Ve);je.vertex=!0;je.geometry.relative=!0;v.insert(ie);v.insert(je);break;case "BPMNTextAnnotation":case "NoteBlock":g.InsetMargin=null;v.value=e(g.Text);v.style="group;spacingLeft=8;align=left;spacing=0;strokeColor=none;";v.style+=a(v.style,g,k,v,z);0>v.style.indexOf("verticalAlign")&&(v.style+="verticalAlign=middle;");var Hc=new mxCell("",new mxGeometry(0,0,8,r),"shape=partialRectangle;right=0;fillColor=none;");Hc.geometry.relative=!0;Hc.vertex=!0;Hc.style+=a(Hc.style,g,k,v,z);v.insert(Hc);break;
case "TimelineBlock":try{var Ka=new Date(g.StartDate),zf=new Date(g.FinishDate),Af={Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6}[g.StartOfWeek],ke=new Date(g.StartOfFiscalYear),Gb,Hb;switch(g.TimeUnit){case "second":Gb=Hb=1E3;break;case "minute":Gb=Hb=6E4;break;case "hour":Gb=Hb=36E5;break;case "day":Gb=Hb=864E5;break;case "week":var Bf=(7-Ka.getDay()+Af)%7;Gb=(new Date(Ka.getFullYear(),Ka.getMonth(),Ka.getDate()+Bf)).getTime()-Ka.getTime();Hb=6048E5;break;case "month":Gb=
(new Date(Ka.getFullYear(),Ka.getMonth()+1,1)).getTime()-Ka.getTime();Hb=2592E6;break;case "quarter":var We=(12-Ka.getMonth()+ke.getMonth())%3;Gb=(new Date(Ka.getFullYear(),Ka.getMonth()+(0==We&&Ka.getDate()>=ke.getDate()?3:We),ke.getDate())).getTime()-Ka.getTime();Hb=7776E6;break;case "year":Gb=(new Date(Ka.getFullYear()+1,0,1)).getTime()-Ka.getTime(),Hb=31536E6}var le=zf.getTime()-Ka.getTime();console.log(Gb/le*t,Hb/le*t,Math.round((le-Gb)/Hb))}catch(Xa){console.log(Xa)}break;case "FreehandBlock":try{Ab=
U(g,k,v);v.style="group;"+Ab;if(null!=g.Stencil){null==g.Stencil.id&&(g.Stencil.id="$$tmpId$$",se(g.Stencil.id,g.Stencil));for(var pc=LucidImporter.stencilsMap[g.Stencil.id],l=0;l<pc.stencils.length;l++){var Ca=pc.stencils[l],Q=new mxCell("",new mxGeometry(0,0,t,r),"shape="+Ca.shapeStencil+";"),Cf=Ca.FillColor,Df=Ca.LineColor,Ef=Ca.LineWidth;"prop"==Ca.FillColor&&(Ca.FillColor=g.FillColor);null==Ca.FillColor&&(Ca.FillColor="#ffffff00");"prop"==Ca.LineColor&&(Ca.LineColor=g.LineColor);null==Ca.LineColor&&
(Ca.LineColor="#ffffff00");"prop"==Ca.LineWidth&&(Ca.LineWidth=g.LineWidth);Q.style+=a(Q.style,Ca,k,Q,z);Ca.FillColor=Cf;Ca.LineColor=Df;Ca.LineWidth=Ef;var J=g.FillColor,Ff=g.LineColor,Gf=g.LineWidth;g.FillColor=null;g.LineColor=null;g.LineWidth=null;Q.style+=a(Q.style,g,k,Q,z);g.FillColor=J;g.LineColor=Ff;g.LineWidth=Gf;Q.vertex=!0;Q.geometry.relative=!0;v.insert(Q)}for(var hb=0,Ab=g.Rotation;g["t"+hb];){var Xe=g["t"+hb],Ye=e(Xe);if(Ye){var La=new mxCell(Ye,new mxGeometry(0,0,t,r),"strokeColor=none;fillColor=none;overflow=visible;");
-g.Rotation=0;La.style+=a(La.style,Xe,k,La,z);La.style+=a(La.style,g,k,La,z);g.Rotation=Ab;if(null!=pc.text&&null!=pc.text["t"+hb]){var ua=pc.text["t"+hb];ua.Rotation=Ab+(ua.rotation?ua.rotation:0)+(g["t"+hb+"_TRotation"]?g["t"+hb+"_TRotation"]:0)+(g["t"+hb+"_TAngle"]?g["t"+hb+"_TAngle"]:0);La.style+=a(La.style,ua,k,La,z);var ib=La.geometry;ua.w&&(ib.width*=ua.w);ua.h&&(ib.height*=ua.h);ua.x&&(ib.x=ua.x/pc.w);ua.y&&(ib.y=ua.y/pc.h);ua.fw&&(ib.width*=.6*ua.fw/t);ua.fh&&(ib.height*=.6*ua.fh/r);ua.fx&&
-(ib.x=(0<ua.fx?1:0)+.6*ua.fx/t);ua.fy&&(ib.y=(0<ua.fy?1:0)+.6*ua.fy/r)}La.vertex=!0;La.geometry.relative=!0;v.insert(La)}hb++}}if(g.FillColor&&g.FillColor.url){var pd=new mxCell("",new mxGeometry(0,0,t,r),"shape=image;html=1;");pd.style+=Ld({},{},g.FillColor.url);pd.vertex=!0;pd.geometry.relative=!0;v.insert(pd)}}catch(Xa){console.log("Freehand error",Xa)}break;case "RightArrowBlock":var me=g.Head*r/t;v.style="shape=singleArrow;arrowWidth="+(1-2*g.Notch)+";arrowSize="+me;v.value=e(g);v.style+=a(v.style,
+g.Rotation=0;La.style+=a(La.style,Xe,k,La,z);La.style+=a(La.style,g,k,La,z);g.Rotation=Ab;if(null!=pc.text&&null!=pc.text["t"+hb]){var ua=pc.text["t"+hb];ua.Rotation=Ab+(ua.rotation?ua.rotation:0)+(g["t"+hb+"_TRotation"]?g["t"+hb+"_TRotation"]:0)+(g["t"+hb+"_TAngle"]?g["t"+hb+"_TAngle"]:0);La.style+=a(La.style,ua,k,La,z);var ib=La.geometry;ua.w&&(ib.width*=ua.w);ua.h&&(ib.height*=ua.h);ua.x&&(ib.x=ua.x/pc.w);ua.y&&(ib.y=ua.y/pc.h);ua.fw&&(ib.width*=.75*ua.fw/t);ua.fh&&(ib.height*=.75*ua.fh/r);ua.fx&&
+(ib.x=(0<ua.fx?1:0)+.75*ua.fx/t);ua.fy&&(ib.y=(0<ua.fy?1:0)+.75*ua.fy/r)}La.vertex=!0;La.geometry.relative=!0;v.insert(La)}hb++}}if(g.FillColor&&g.FillColor.url){var pd=new mxCell("",new mxGeometry(0,0,t,r),"shape=image;html=1;");pd.style+=Ld({},{},g.FillColor.url);pd.vertex=!0;pd.geometry.relative=!0;v.insert(pd)}}catch(Xa){console.log("Freehand error",Xa)}break;case "RightArrowBlock":var me=g.Head*r/t;v.style="shape=singleArrow;arrowWidth="+(1-2*g.Notch)+";arrowSize="+me;v.value=e(g);v.style+=a(v.style,
g,k,v,z);break;case "DoubleArrowBlock":me=g.Head*r/t;v.style="shape=doubleArrow;arrowWidth="+(1-2*g.Notch)+";arrowSize="+me;v.value=e(g);v.style+=a(v.style,g,k,v,z);break;case "VPCSubnet2017":case "VirtualPrivateCloudContainer2017":case "ElasticBeanStalkContainer2017":case "EC2InstanceContents2017":case "AWSCloudContainer2017":case "CorporateDataCenterContainer2017":var qc,rc,sc;switch(fa){case "VPCSubnet2017":qc="shape=mxgraph.aws3.permissions;fillColor=#D9A741;";rc=30;sc=35;break;case "VirtualPrivateCloudContainer2017":qc=
"shape=mxgraph.aws3.virtual_private_cloud;fillColor=#F58536;";rc=52;sc=36;break;case "ElasticBeanStalkContainer2017":qc="shape=mxgraph.aws3.elastic_beanstalk;fillColor=#F58536;";rc=30;sc=41;break;case "EC2InstanceContents2017":qc="shape=mxgraph.aws3.instance;fillColor=#F58536;";rc=40;sc=41;break;case "AWSCloudContainer2017":qc="shape=mxgraph.aws3.cloud;fillColor=#F58536;";rc=52;sc=36;break;case "CorporateDataCenterContainer2017":qc="shape=mxgraph.aws3.corporate_data_center;fillColor=#7D7C7C;",rc=
30,sc=42}v.style="rounded=1;arcSize=10;dashed=0;verticalAlign=bottom;";v.value=e(g);v.style+=a(v.style,g,k,v,z);v.geometry.y+=20;v.geometry.height-=20;Ba=new mxCell("",new mxGeometry(20,-20,rc,sc),qc);Ba.vertex=!0;v.insert(Ba);break;case "FlexiblePolygonBlock":var tc=['<shape strokewidth="inherit"><foreground>'];tc.push("<path>");for(P=0;P<g.Vertices.length;P++)ha=g.Vertices[P],0==P?tc.push('<move x="'+100*ha.x+'" y="'+100*ha.y+'"/>'):tc.push('<line x="'+100*ha.x+'" y="'+100*ha.y+'"/>');tc.push("</path>");
@@ -308,7 +308,7 @@ $e+";arcWidth="+2*Hd/t+";strokeColor=none;fillColor="+Z(za)+";"+Wa(za,"fillOpaci
Z(Ic)+";"+Wa(Ic,"fillOpacity"),v.style+=a(v.style,g,k,v,z),ra=new mxCell("",new mxGeometry(0,0,t*oe/ne,r),"strokeColor=none;fillColor="+Z(za)+";"+Wa(za,"fillOpacity")),ra.style+=a(ra.style,g,k,ra,z),ra.vertex=!0,ra.geometry.relative=1,v.insert(ra)}break;case "InternalStorageBlock":v.style+="shape=internalStorage;dx=10;dy=10";if(g.Text&&g.Text.m){for(var Id=g.Text.m,pe=!1,qe=!1,l=0;l<Id.length;l++){var Jc=Id[l];pe||"mt"!=Jc.n?qe||"il"!=Jc.n||(Jc.v=17+(Jc.v||0),qe=!0):(Jc.v=17+(Jc.v||0),pe=!0)}pe||
Id.push({s:0,n:"mt",v:17});qe||Id.push({s:0,n:"il",v:17})}v.value=e(g);v.style+=a(v.style,g,k,v,z);break;case "PersonRoleBlock":try{O=aa(g,k);ta=r/2;O=O.replace("fillColor","swimlaneFillColor");""==O&&(O="swimlaneFillColor=#ffffff;");v.value=e(g.Role);v.style+="swimlane;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=0;marginBottom=0;"+O+"startSize="+ta+";spacingLeft=3;spacingRight=3;fontStyle=0;"+c(g.Role,z);v.style+=a(v.style,g,k,
v,z);var Rb=new mxCell("",new mxGeometry(0,r/2,t,r/2),"part=1;html=1;resizeHeight=0;spacingTop=-1;spacingLeft=3;spacingRight=3;");Rb.value=e(g.Name);Rb.vertex=!0;v.insert(Rb);Rb.style+=c(g.Name,z);Rb.style+=a(Rb.style,g,k,Rb,z)}catch(Xa){console.log(Xa)}}v.style&&0>v.style.indexOf("html")&&(v.style+="html=1;");if(g.Title&&g.Text)try{var af=v.geometry,bf=new mxCell(e(g.Title),new mxGeometry(0,af.height,af.width,10),"strokeColor=none;fillColor=none;");bf.vertex=!0;v.insert(bf);v.style+=c(g.Title,z)}catch(Xa){console.log(Xa)}re(v,
-g);return v}function re(a,b){if(b.Text_TRotation||b.TextRotation)try{var d=mxUtils.toDegree(b.Text_TRotation||0)+mxUtils.toDegree(b.TextRotation||0);if(!isNaN(d)&&0!=d&&a.value){var h=a.geometry.width,m=a.geometry.height,c=h,k=m,f=0,y=0;if(-90==d||-270==d)var c=m,k=h,w=Math.abs(m-h)/2,f=w/h,y=-w/m;var d=d+mxUtils.toDegree(b.Rotation),e=a.style.split(";").filter(function(a){return 0>a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),p=new mxCell(a.value,new mxGeometry(f,
+g);return v}function re(a,b){if(b.Text_TRotation||b.TextRotation)try{var d=mxUtils.toDegree(b.Text_TRotation||0)+mxUtils.toDegree(b.TextRotation||0);if(!isNaN(d)&&0!=d&&a.value){var h=a.geometry.width,m=a.geometry.height,c=h,k=m,f=0,y=0;if(-90==d||-270==d)var c=m,k=h,w=(m-h)/2,f=-w/h,y=w/m;var d=d+mxUtils.toDegree(b.Rotation),e=a.style.split(";").filter(function(a){return 0>a.indexOf("fillColor=")&&0>a.indexOf("strokeColor=")&&0>a.indexOf("rotation=")}).join(";"),p=new mxCell(a.value,new mxGeometry(f,
y,c,k),e+"fillColor=none;strokeColor=none;rotation="+d+";");a.value=null;p.geometry.relative=!0;p.vertex=!0;a.insert(p)}}catch(df){console.log(df)}}var Tb=0,Ub=0,Nc="text;html=1;resizable=0;labelBackgroundColor=#ffffff;align=center;verticalAlign=middle;",z=!1,Aa="",Md=["AEUSBBlock","AGSCutandpasteBlock","iOSDeviceiPadLandscape","iOSDeviceiPadProLandscape"],Nd=["fpDoor"],Lc={None:"none;",Arrow:"block;xyzFill=1;","Hollow Arrow":"block;xyzFill=0;","Open Arrow":"open;","CFN ERD Zero Or More Arrow":"ERzeroToMany;xyzSize=10;",
"CFN ERD One Or More Arrow":"ERoneToMany;xyzSize=10;","CFN ERD Many Arrow":"ERmany;xyzSize=10;","CFN ERD Exactly One Arrow":"ERmandOne;xyzSize=10;","CFN ERD Zero Or One Arrow":"ERzeroToOne;xyzSize=10;","CFN ERD One Arrow":"ERone;xyzSize=16;",Generalization:"block;xyzFill=0;xyzSize=12;","Big Open Arrow":"open;xyzSize=10;",Asynch1:"openAsync;flipV=1;xyzSize=10;",Asynch2:"openAsync;xyzSize=10;",Aggregation:"diamond;xyzFill=0;xyzSize=16;",Composition:"diamond;xyzFill=1;xyzSize=16;",BlockEnd:"box;xyzFill=0;xyzSize=16;",
Measure:"ERone;xyzSize=10;",CircleOpen:"oval;xyzFill=0;xyzSize=16;",CircleClosed:"oval;xyzFill=1;xyzSize=16;",BlockEndFill:"box;xyzFill=1;xyzSize=16;",Nesting:"circlePlus;xyzSize=7;xyzFill=0;","BPMN Conditional":"diamond;xyzFill=0;","BPMN Default":"dash;"},Sb={DefaultTextBlockNew:"strokeColor=none;fillColor=none",DefaultTextBlock:"strokeColor=none;fillColor=none",DefaultSquareBlock:"",RectangleBlock:"",DefaultNoteBlock:"shape=note;size=15",DefaultNoteBlockV2:"shape=note;size=15",HotspotBlock:"strokeColor=none;fillColor=none",
@@ -556,70 +556,88 @@ WebNetworkAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=to
WebsiteStagingAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/WebsiteStaging.svg",WebSlotsAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/WebSlots.svg",WebTestAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/WebTest.svg",Windows10IoTCoreServicesAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/Windows_10_IoT_Core_Services.svg",
WorkflowAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/Workflow.svg",WrenchAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/Wrench.svg",XboxControllerAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/XboxController.svg",HockeyAppAzure2019:"shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.hockeyapp;fillColor=#0079D6;pointerEvents=1",
AppServiceLogicAppAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/dep/App_Service_Logic_App.svg",ContentDeliveryNetworkAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/dep/Content_Delivery_Network.svg",DataLakeStoreAzure2019:"aspect=fixed;html=1;points=[];align=center;verticalAlign=top;image;image=img/lib/mscae/dep/Data_Lake_Store.svg",AzureInformationProtectionAzure2019:"aspect=fixed;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.azure_rights_management_rms;fillColor=#58B4D9;",
-IoTCentralApplicationsAzure2019:"aspect=fixed;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;pointerEvents=1",Cisco_cisco_androgenous_person:"shape=mxgraph.cisco.people.androgenous_person;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_switch:"shape=mxgraph.cisco.switches.atm_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cloud:"shape=mxgraph.cisco.storage.cloud;strokeColor=#036897;fillColor=#ffffff",
-Cisco_cisco_fileserver:"shape=mxgraph.cisco.servers.fileserver;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_firewall:"shape=mxgraph.cisco.security.firewall;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_building:"shape=mxgraph.cisco.buildings.generic_building;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_laptop:"shape=mxgraph.cisco.computers_and_peripherals.laptop;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_lock:"shape=mxgraph.cisco.security.lock;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_microwebserver:"shape=mxgraph.cisco.servers.microwebserver;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc:"shape=mxgraph.cisco.computers_and_peripherals.pc;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pda:"shape=mxgraph.cisco.misc.pda;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_phone:"shape=mxgraph.cisco.modems_and_phones.hootphone;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_printer:"shape=mxgraph.cisco.computers_and_peripherals.printer;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_relational_database:"shape=mxgraph.cisco.storage.relational_database;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_router:"shape=mxgraph.cisco.routers.router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standing_man:"shape=mxgraph.cisco.people.standing_man;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standing_woman:"shape=mxgraph.cisco.people.standing_woman;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ups:"shape=mxgraph.cisco.misc.ups;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_wireless_router:"shape=mxgraph.cisco.routers.wireless_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_100baset_hub:"shape=mxgraph.cisco.hubs_and_gateways.100baset_hub;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_10700:"shape=mxgraph.cisco.routers.10700;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_10GE_FCoE:"shape=mxgraph.cisco.controllers_and_modules.10ge_fcoe;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_15200:"shape=mxgraph.cisco.misc.15200;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_3174__desktop_:"shape=mxgraph.cisco.controllers_and_modules.3174_(desktop)_cluster_controller;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_3200_mobile_access_router:"shape=mxgraph.cisco.routers.mobile_access_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_3x74__floor_:"shape=mxgraph.cisco.controllers_and_modules.3x74_(floor)_cluster_controller;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_6700_series:"shape=mxgraph.cisco.misc.6700_series;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_7500ars__7513_:"shape=mxgraph.cisco.misc.7500ars_(7513);fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_accesspoint:"shape=mxgraph.cisco.misc.access_point;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ace:"shape=mxgraph.cisco.misc.ace;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ACS:"shape=mxgraph.cisco.misc.acs;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_adm:"shape=mxgraph.cisco.misc.adm;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_antenna:"shape=mxgraph.cisco.wireless.antenna;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_asic_processor:"shape=mxgraph.cisco.misc.asic_processor;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ASR_1000_Series:"shape=mxgraph.cisco.misc.asr_1000_series;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ata:"shape=mxgraph.cisco.misc.ata;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_3800:"shape=mxgraph.cisco.misc.atm_3800;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_fast_gigabit_etherswitch:"shape=mxgraph.cisco.switches.atm_fast_gigabit_etherswitch;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_atm_router:"shape=mxgraph.cisco.routers.atm_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_tag_switch_router:"shape=mxgraph.cisco.routers.atm_tag_switch_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_avs:"shape=mxgraph.cisco.misc.avs;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_AXP:"shape=mxgraph.cisco.misc.axp;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bbsm:"shape=mxgraph.cisco.misc.bbsm;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_branch_office:"shape=mxgraph.cisco.buildings.branch_office;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_breakout_box:"shape=mxgraph.cisco.misc.breakout_box;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bridge:"shape=mxgraph.cisco.misc.bridge;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_broadband_router:"shape=mxgraph.cisco.routers.broadcast_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bts_10200:"shape=mxgraph.cisco.misc.bts_10200;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cable_modem:"shape=mxgraph.cisco.modems_and_phones.cable_modem;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_callmanager:"shape=mxgraph.cisco.misc.call_manager;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_car:"shape=mxgraph.cisco.misc.car;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_carrier_routing_system:"shape=mxgraph.cisco.misc.carrier_routing_system;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cddi_fddi:"shape=mxgraph.cisco.misc.cddi_fddi;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cdm:"shape=mxgraph.cisco.misc.cdm;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cellular_phone:"shape=mxgraph.cisco.modems_and_phones.cell_phone;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_centri_firewall:"shape=mxgraph.cisco.security.centri_firewall;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_1000:"shape=mxgraph.cisco.misc.cisco_1000;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_asa_5500:"shape=mxgraph.cisco.misc.asa_5500;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_ca:"shape=mxgraph.cisco.misc.cisco_ca;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_file_engine:"shape=mxgraph.cisco.storage.cisco_file_engine;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_cisco_hub:"shape=mxgraph.cisco.hubs_and_gateways.cisco_hub;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ciscosecurity:"shape=mxgraph.cisco.security.cisco_security;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_unified_presence_server:"shape=mxgraph.cisco.servers.cisco_unified_presence_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_unityexpress:"shape=mxgraph.cisco.misc.cisco_unity_express;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ciscoworks:"shape=mxgraph.cisco.misc.cisco_works;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_class_4_5_switch:"shape=mxgraph.cisco.switches.class_4_5_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_communications_server:"shape=mxgraph.cisco.servers.communications_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_contact_center:"shape=mxgraph.cisco.misc.contact_center;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_engine__cache_director_:"shape=mxgraph.cisco.directors.content_engine_(cache_director);fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_service_router:"shape=mxgraph.cisco.routers.content_service_router;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_content_service_switch_1100:"shape=mxgraph.cisco.switches.content_service_switch_1100;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_switch_module:"shape=mxgraph.cisco.controllers_and_modules.content_switch_module;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_switch:"shape=mxgraph.cisco.switches.content_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_transformation_engine__cte_:"shape=mxgraph.cisco.misc.content_transformation_engine_(cte);fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_cs_mars:"shape=mxgraph.cisco.misc.cs-mars;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_csm_s:"shape=mxgraph.cisco.misc.csm-s;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_csu_dsu:"shape=mxgraph.cisco.misc.csu_dsu;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_CUBE:"shape=mxgraph.cisco.misc.cube;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_detector:"shape=mxgraph.cisco.misc.detector;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_director_class_fibre_channel_director:"shape=mxgraph.cisco.directors.director-class_fibre_channel_director;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_directory_server:"shape=mxgraph.cisco.servers.directory_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_diskette:"shape=mxgraph.cisco.storage.diskette;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_distributed_director:"shape=mxgraph.cisco.directors.distributed_director;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dot_dot:"shape=mxgraph.cisco.misc.dot-dot;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dpt:"shape=mxgraph.cisco.misc.dpt;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_dslam:"shape=mxgraph.cisco.misc.dslam;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dual_mode_ap:"shape=mxgraph.cisco.misc.dual_mode;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dwdm_filter:"shape=mxgraph.cisco.misc.dwdm_filter;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_end_office:"shape=mxgraph.cisco.buildings.end_office;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_fax:"shape=mxgraph.cisco.modems_and_phones.fax;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_fc_storage:"shape=mxgraph.cisco.storage.fc_storage;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_fddi_ring:"shape=mxgraph.cisco.misc.fddi_ring;strokeColor=#036897;",Cisco_cisco_fibre_channel_disk_subsystem:"shape=mxgraph.cisco.storage.fibre_channel_disk_subsystem;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_fibre_channel_fabric_switch:"shape=mxgraph.cisco.switches.fibre_channel_fabric_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_file_cabinet:"shape=mxgraph.cisco.storage.file_cabinet;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_file_server:"shape=mxgraph.cisco.servers.file_server;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_firewall_service_module__fwsm_:"shape=mxgraph.cisco.controllers_and_modules.firewall_service_module_(fwsm);fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_front_end_processor:"shape=mxgraph.cisco.misc.front_end_processor;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_gatekeeper:"shape=mxgraph.cisco.security.gatekeeper;strokeColor=#036897;",Cisco_cisco_general_applicance:"shape=mxgraph.cisco.misc.general_appliance;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_gateway:"shape=mxgraph.cisco.hubs_and_gateways.generic_gateway;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_generic_processor:"shape=mxgraph.cisco.misc.generic_processor;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_softswitch:"shape=mxgraph.cisco.switches.generic_softswitch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_gigabit_switch_atm_tag_router:"shape=mxgraph.cisco.routers.gigabit_switch_atm_tag_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_government_building:"shape=mxgraph.cisco.buildings.government_building;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Ground_terminal:"shape=mxgraph.cisco.wireless.ground_terminal;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_guard:"shape=mxgraph.cisco.security.guard;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_handheld:"shape=mxgraph.cisco.misc.handheld;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_hootphone:"shape=mxgraph.cisco.modems_and_phones.hootphone;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_host:"shape=mxgraph.cisco.servers.host;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_hp_mini:"shape=mxgraph.cisco.misc.hp_mini;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_h:"shape=mxgraph.cisco.misc.h_323;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_hub:"shape=mxgraph.cisco.hubs_and_gateways.hub;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iad_router:"shape=mxgraph.cisco.routers.iad_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ibm_mainframe:"shape=mxgraph.cisco.computers_and_peripherals.ibm_mainframe;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ibm_mini_as400:"shape=mxgraph.cisco.computers_and_peripherals.ibm_mini_as400;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ibm_tower:"shape=mxgraph.cisco.computers_and_peripherals.ibm_tower;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_icm:"shape=mxgraph.cisco.misc.icm;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ics:"shape=mxgraph.cisco.misc.ics;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_intelliswitch_stack:"shape=mxgraph.cisco.switches.intelliswitch_stack;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ios_firewall:"shape=mxgraph.cisco.security.ios_firewall;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ios_slb:"shape=mxgraph.cisco.misc.ios_slb;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_communicator:"shape=mxgraph.cisco.misc.ip_communicator;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_ip_dsl:"shape=mxgraph.cisco.misc.ip_dsl;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_phone:"shape=mxgraph.cisco.modems_and_phones.ip_phone;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip:"shape=mxgraph.cisco.misc.ip;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iptc:"shape=mxgraph.cisco.misc.iptc;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_telephony_router:"shape=mxgraph.cisco.routers.ip_telephony_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iptv_content_manager:"shape=mxgraph.cisco.misc.iptv_content_manager;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_iptv_server:"shape=mxgraph.cisco.servers.iptv_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iscsi_router:"shape=mxgraph.cisco.routers.isci_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_isdn_switch:"shape=mxgraph.cisco.switches.isdn_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_itp:"shape=mxgraph.cisco.misc.itp;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_jbod:"shape=mxgraph.cisco.misc.jbod;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_key:"shape=mxgraph.cisco.misc.key;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_keys:"shape=mxgraph.cisco.misc.keys;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_lan_to_lan:"shape=mxgraph.cisco.misc.lan_to_lan;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_layer_2_remote_switch:"shape=mxgraph.cisco.switches.layer_2_remote_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_layer_3_switch:"shape=mxgraph.cisco.switches.layer_3_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_lightweight_ap:"shape=mxgraph.cisco.misc.lightweight_ap;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_localdirector:"shape=mxgraph.cisco.directors.localdirector;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_longreach_cpe:"shape=mxgraph.cisco.misc.longreach_cpe;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_macintosh:"shape=mxgraph.cisco.computers_and_peripherals.macintosh;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mac_woman:"shape=mxgraph.cisco.people.mac_woman;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_man_woman:"shape=mxgraph.cisco.people.man_woman;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_mas_gateway:"shape=mxgraph.cisco.hubs_and_gateways.mas_gateway;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mau:"shape=mxgraph.cisco.misc.mau;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mcu:"shape=mxgraph.cisco.misc.mcu;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mdu:"shape=mxgraph.cisco.buildings.mdu;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_me_1100:"shape=mxgraph.cisco.misc.me1100;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Mediator:"shape=mxgraph.cisco.misc.mediator;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_meetingplace:"shape=mxgraph.cisco.misc.meetingplace;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mesh_ap:"shape=mxgraph.cisco.misc.mesh_ap;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_metro_1500:"shape=mxgraph.cisco.misc.metro_1500;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mgx_8000_multiservice_switch:"shape=mxgraph.cisco.switches.mgx_8000_multiservice_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_microphone:"shape=mxgraph.cisco.computers_and_peripherals.microphone;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_mini_vax:"shape=mxgraph.cisco.misc.mini_vax;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mobile_access_ip_phone:"shape=mxgraph.cisco.modems_and_phones.mobile_access_ip_phone;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mobile_access_router:"shape=mxgraph.cisco.routers.mobile_access_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_modem:"shape=mxgraph.cisco.modems_and_phones.modem;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_moh_server:"shape=mxgraph.cisco.servers.moh_server;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_MSE:"shape=mxgraph.cisco.misc.mse;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mulitswitch_device:"shape=mxgraph.cisco.switches.multiswitch_device;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_multi_fabric_server_switch:"shape=mxgraph.cisco.switches.multi-fabric_server_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_multilayer_remote_switch:"shape=mxgraph.cisco.switches.multilayer_remote_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mux:"shape=mxgraph.cisco.misc.mux;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_MXE:"shape=mxgraph.cisco.misc.mxe;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_nac_appliance:"shape=mxgraph.cisco.misc.nac_appliance;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_NCE:"shape=mxgraph.cisco.misc.nce;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_NCE_router:"shape=mxgraph.cisco.routers.nce_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_netflow_router:"shape=mxgraph.cisco.routers.netflow_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_netranger:"shape=mxgraph.cisco.misc.netranger;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_netsonar:"shape=mxgraph.cisco.misc.netsonar;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_network_management:"shape=mxgraph.cisco.misc.network_management;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_1000:"shape=mxgraph.cisco.misc.nexus_1000;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_2000:"shape=mxgraph.cisco.misc.nexus_2000_fabric_extender;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_5000:"shape=mxgraph.cisco.misc.nexus_5000;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_Nexus_7000:"shape=mxgraph.cisco.misc.nexus_7000;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_octel:"shape=mxgraph.cisco.misc.octel;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ons15500:"shape=mxgraph.cisco.misc.ons15500;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_optical_amplifier:"shape=mxgraph.cisco.misc.optical_amplifier;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_optical_services_router:"shape=mxgraph.cisco.routers.optical_services_router;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_optical_transport:"shape=mxgraph.cisco.misc.optical_transport;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pad:"shape=mxgraph.cisco.misc.pad_2;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pad_x:"shape=mxgraph.cisco.misc.pad_1;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_page_icon:"shape=mxgraph.cisco.misc.page_icon;strokeColor=#036897;",Cisco_cisco_pbx:"shape=mxgraph.cisco.misc.pbx;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pbx_switch:"shape=mxgraph.cisco.switches.pbx_switch;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_pc_adapter_card:"shape=mxgraph.cisco.computers_and_peripherals.pc_adapter_card;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_man:"shape=mxgraph.cisco.people.pc_man;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_routercard:"shape=mxgraph.cisco.computers_and_peripherals.pc_routercard;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_software:"shape=mxgraph.cisco.misc.pc_software;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_video:"shape=mxgraph.cisco.misc.pc_video;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_phone_fax:"shape=mxgraph.cisco.modems_and_phones.phone-fax;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pix_firewall:"shape=mxgraph.cisco.security.pix_firewall;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pmc:"shape=mxgraph.cisco.misc.pmc;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_programmable_switch:"shape=mxgraph.cisco.switches.programmable_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_protocol_translator:"shape=mxgraph.cisco.misc.protocol_translator;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_pxf:"shape=mxgraph.cisco.misc.pxf;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_radio_tower:"shape=mxgraph.cisco.wireless.radio_tower;strokeColor=#036897",Cisco_cisco_ratemux:"shape=mxgraph.cisco.misc.ratemux;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_repeater:"shape=mxgraph.cisco.misc.repeater;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_RF_modem:"shape=mxgraph.cisco.modems_and_phones.rf_modem;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_router_firewall:"shape=mxgraph.cisco.security.router_firewall;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_routerin_building:"shape=mxgraph.cisco.routers.router_in_building;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_router_with_silicon_switch:"shape=mxgraph.cisco.routers.router_with_silicon_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_route_switch_processor:"shape=mxgraph.cisco.misc.route_switch_processor;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_rpsrps:"shape=mxgraph.cisco.misc.rpsrps;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_running_man:"shape=mxgraph.cisco.people.running_man;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_sattelite_dish:"shape=mxgraph.cisco.wireless.satellite_dish;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sattelite:"shape=mxgraph.cisco.wireless.satellite;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_scanner:"shape=mxgraph.cisco.computers_and_peripherals.scanner;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_server_switch:"shape=mxgraph.cisco.switches.server_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_server_with_router:"shape=mxgraph.cisco.servers.server_with_router;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_service_control:"shape=mxgraph.cisco.misc.service_control;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Service_Module:"shape=mxgraph.cisco.controllers_and_modules.service_module;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Service_router:"shape=mxgraph.cisco.routers.service_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Services:"shape=mxgraph.cisco.misc.services;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Set_top_box:"shape=mxgraph.cisco.misc.set_top_box;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_simulitlayer_switch:"shape=mxgraph.cisco.switches.simultilayer_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sip_proxy_werver:"shape=mxgraph.cisco.servers.sip_proxy_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sitting_woman:"shape=mxgraph.cisco.people.sitting_woman;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_small_business:"shape=mxgraph.cisco.buildings.small_business;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_small_hub:"shape=mxgraph.cisco.hubs_and_gateways.small_hub;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_softphone:"shape=mxgraph.cisco.modems_and_phones.softphone;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_softswitch_pgw_mgc:"shape=mxgraph.cisco.switches.softswitch_pgw_mgc;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_software_based_server:"shape=mxgraph.cisco.servers.software_based_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_speaker:"shape=mxgraph.cisco.computers_and_peripherals.speaker;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ssc:"shape=mxgraph.cisco.misc.ssc;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_ssl_terminator:"shape=mxgraph.cisco.misc.ssl_terminator;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standard_host:"shape=mxgraph.cisco.servers.standard_host;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_stb:"shape=mxgraph.cisco.misc.stb;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_storage_router:"shape=mxgraph.cisco.routers.storage_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_storage_server:"shape=mxgraph.cisco.servers.storage_server;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_stp:"shape=mxgraph.cisco.misc.stp;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_streamer:"shape=mxgraph.cisco.misc.streamer;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sun_workstation:"shape=mxgraph.cisco.computers_and_peripherals.workstation;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_supercomputer:"shape=mxgraph.cisco.computers_and_peripherals.supercomputer;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_svx:"shape=mxgraph.cisco.misc.svx;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_system_controller:"shape=mxgraph.cisco.controllers_and_modules.system_controller;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tablet:"shape=mxgraph.cisco.computers_and_peripherals.tablet;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tape_array:"shape=mxgraph.cisco.storage.tape_array;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tdm_router:"shape=mxgraph.cisco.routers.tdm_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_telecommuter_house_pc:"shape=mxgraph.cisco.buildings.telecommuter_house_pc;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_telecommuter_house:"shape=mxgraph.cisco.buildings.telecommuter_house;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_telecommuter_icon:"shape=mxgraph.cisco.misc.telecommuter_icon;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Telepresence_3200:"shape=mxgraph.cisco.misc.telepresence;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_terminal:"shape=mxgraph.cisco.computers_and_peripherals.terminal;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_token:"shape=mxgraph.cisco.misc.token;strokeColor=#036897",
-Cisco_cisco_TP_MCU:"shape=mxgraph.cisco.misc.tp_mcu;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_transpath:"shape=mxgraph.cisco.misc.transpath;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_truck:"shape=mxgraph.cisco.misc.truck;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_turret:"shape=mxgraph.cisco.misc.turret;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tv:"shape=mxgraph.cisco.misc.tv;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ubr910:"shape=mxgraph.cisco.misc.ubr910;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_umg_series:"shape=mxgraph.cisco.misc.umg_series;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_unity_server:"shape=mxgraph.cisco.servers.unity_server;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_universal_gateway:"shape=mxgraph.cisco.hubs_and_gateways.universal_gateway;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_university:"shape=mxgraph.cisco.buildings.university;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_upc:"shape=mxgraph.cisco.computers_and_peripherals.upc;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_vault:"shape=mxgraph.cisco.misc.vault;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_video_camera:"shape=mxgraph.cisco.computers_and_peripherals.video_camera;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_vip:"shape=mxgraph.cisco.misc.vip;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_virtual_layer_switch:"shape=mxgraph.cisco.switches.virtual_layer_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_virtual_switch_controller__vsc3000_:"shape=mxgraph.cisco.controllers_and_modules.virtual_switch_controller_(vsc3000);fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_voice_atm_switch:"shape=mxgraph.cisco.switches.voice_atm_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_commserver:"shape=mxgraph.cisco.servers.voice_commserver;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_router:"shape=mxgraph.cisco.routers.voice_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_switch:"shape=mxgraph.cisco.switches.voice_switch;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_vpn_concentrator:"shape=mxgraph.cisco.misc.vpn_concentrator;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_vpn_gateway:"shape=mxgraph.cisco.hubs_and_gateways.vpn_gateway;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_VSS:"shape=mxgraph.cisco.misc.vss;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wae:"shape=mxgraph.cisco.misc.wae;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wavelength_router:"shape=mxgraph.cisco.routers.wavelength_router;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_web_browser:"shape=mxgraph.cisco.computers_and_peripherals.web_browser;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_web_cluster:"shape=mxgraph.cisco.storage.web_cluster;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wi_fi_tag:"shape=mxgraph.cisco.wireless.wi-fi_tag;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless_bridge:"shape=mxgraph.cisco.wireless.wireless_bridge;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless_location_appliance:"shape=mxgraph.cisco.wireless.wireless_location_appliance;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless:"shape=mxgraph.cisco.wireless.wireless;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_wireless_transport:"shape=mxgraph.cisco.wireless.wireless_transport;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wism:"shape=mxgraph.cisco.misc.wism;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wlan_controller:"shape=mxgraph.cisco.wireless.wlan_controller;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_workgroup_director:"shape=mxgraph.cisco.directors.workgroup_director;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_workgroup_switch:"shape=mxgraph.cisco.switches.workgroup_switch;fillColor=#036897;strokeColor=#ffffff",
-Cisco_cisco_workstation:"shape=mxgraph.cisco.computers_and_peripherals.workstation;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_www_server:"shape=mxgraph.cisco.servers.www_server;fillColor=#036897;strokeColor=#ffffff",NET_PC:"shape=mxgraph.networks.pc;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;","NET_Virtual-PC":"shape=mxgraph.networks.virtual_pc;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Terminal:"shape=mxgraph.networks.terminal;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_DataPipe:"shape=mxgraph.networks.bus;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_SlateDevice:"shape=mxgraph.networks.tablet;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_TabletDevice:"shape=mxgraph.networks.tablet;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Laptop:"shape=mxgraph.networks.laptop;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_PDA:"shape=mxgraph.networks.mobile;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_CRTMonitor:"shape=mxgraph.networks.monitor;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_LCDMonitor:"shape=mxgraph.networks.monitor;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_RadioTower:"shape=mxgraph.networks.radio_tower;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_ExternalHardDrive:"shape=mxgraph.networks.external_storage;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_SatelliteDish:"shape=mxgraph.networks.satellite_dish;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Satellite:"shape=mxgraph.networks.satellite;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_WirelessAccessPoint:"shape=mxgraph.networks.radio_tower;fillColor=#29AAE1;strokeColor=#29AAE1;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_RingNetwork:"mxCompositeShape",NET_Ethernet:"mxCompositeShape",NET_Server:"shape=mxgraph.networks.server;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Mainframe:"shape=mxgraph.networks.mainframe;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Router:"shape=mxgraph.networks.wireless_hub;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Switch:"shape=mxgraph.networks.switch;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Firewall:"shape=mxgraph.networks.firewall;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_User:"shape=mxgraph.networks.user_male;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_CommLink:"shape=mxgraph.networks.comm_link_edge;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_SuperComputer:"shape=mxgraph.networks.supercomputer;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_VirtualServer:"shape=mxgraph.networks.virtual_server;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Printer:"shape=mxgraph.networks.printer;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
-NET_Scanner:"shape=mxgraph.networks.scanner;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Copier:"shape=mxgraph.networks.copier;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_MultiFunctionMachine:"shape=mxgraph.networks.copier;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+IoTCentralApplicationsAzure2019:"aspect=fixed;shadow=0;dashed=0;html=1;strokeColor=none;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.mscae.cloud.central;fillColor=#0079D6;pointerEvents=1",Cisco_cisco_androgenous_person:"shape=mxgraph.cisco.people.androgenous_person;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_switch:"shape=mxgraph.cisco.switches.atm_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cloud:"shape=mxgraph.cisco.storage.cloud;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;fillColor=#ffffff",Cisco_cisco_fileserver:"shape=mxgraph.cisco.servers.fileserver;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_firewall:"shape=mxgraph.cisco.security.firewall;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_building:"shape=mxgraph.cisco.buildings.generic_building;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_laptop:"shape=mxgraph.cisco.computers_and_peripherals.laptop;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_lock:"shape=mxgraph.cisco.security.lock;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_microwebserver:"shape=mxgraph.cisco.servers.microwebserver;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc:"shape=mxgraph.cisco.computers_and_peripherals.pc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_pda:"shape=mxgraph.cisco.misc.pda;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_phone:"shape=mxgraph.cisco.modems_and_phones.hootphone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_printer:"shape=mxgraph.cisco.computers_and_peripherals.printer;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_relational_database:"shape=mxgraph.cisco.storage.relational_database;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_router:"shape=mxgraph.cisco.routers.router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standing_man:"shape=mxgraph.cisco.people.standing_man;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standing_woman:"shape=mxgraph.cisco.people.standing_woman;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ups:"shape=mxgraph.cisco.misc.ups;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_wireless_router:"shape=mxgraph.cisco.routers.wireless_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_100baset_hub:"shape=mxgraph.cisco.hubs_and_gateways.100baset_hub;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_10700:"shape=mxgraph.cisco.routers.10700;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_10GE_FCoE:"shape=mxgraph.cisco.controllers_and_modules.10ge_fcoe;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_15200:"shape=mxgraph.cisco.misc.15200;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_3174__desktop_:"shape=mxgraph.cisco.controllers_and_modules.3174_(desktop)_cluster_controller;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_3200_mobile_access_router:"shape=mxgraph.cisco.routers.mobile_access_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_3x74__floor_:"shape=mxgraph.cisco.controllers_and_modules.3x74_(floor)_cluster_controller;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_6700_series:"shape=mxgraph.cisco.misc.6700_series;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_7500ars__7513_:"shape=mxgraph.cisco.misc.7500ars_(7513);verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_accesspoint:"shape=mxgraph.cisco.misc.access_point;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_ace:"shape=mxgraph.cisco.misc.ace;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ACS:"shape=mxgraph.cisco.misc.acs;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_adm:"shape=mxgraph.cisco.misc.adm;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_antenna:"shape=mxgraph.cisco.wireless.antenna;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_asic_processor:"shape=mxgraph.cisco.misc.asic_processor;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ASR_1000_Series:"shape=mxgraph.cisco.misc.asr_1000_series;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ata:"shape=mxgraph.cisco.misc.ata;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_3800:"shape=mxgraph.cisco.misc.atm_3800;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_atm_fast_gigabit_etherswitch:"shape=mxgraph.cisco.switches.atm_fast_gigabit_etherswitch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_router:"shape=mxgraph.cisco.routers.atm_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_atm_tag_switch_router:"shape=mxgraph.cisco.routers.atm_tag_switch_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_avs:"shape=mxgraph.cisco.misc.avs;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_AXP:"shape=mxgraph.cisco.misc.axp;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bbsm:"shape=mxgraph.cisco.misc.bbsm;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_branch_office:"shape=mxgraph.cisco.buildings.branch_office;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_breakout_box:"shape=mxgraph.cisco.misc.breakout_box;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bridge:"shape=mxgraph.cisco.misc.bridge;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_broadband_router:"shape=mxgraph.cisco.routers.broadcast_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_bts_10200:"shape=mxgraph.cisco.misc.bts_10200;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cable_modem:"shape=mxgraph.cisco.modems_and_phones.cable_modem;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_callmanager:"shape=mxgraph.cisco.misc.call_manager;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_car:"shape=mxgraph.cisco.misc.car;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_carrier_routing_system:"shape=mxgraph.cisco.misc.carrier_routing_system;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cddi_fddi:"shape=mxgraph.cisco.misc.cddi_fddi;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cdm:"shape=mxgraph.cisco.misc.cdm;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cellular_phone:"shape=mxgraph.cisco.modems_and_phones.cell_phone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_centri_firewall:"shape=mxgraph.cisco.security.centri_firewall;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cisco_1000:"shape=mxgraph.cisco.misc.cisco_1000;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_asa_5500:"shape=mxgraph.cisco.misc.asa_5500;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_ca:"shape=mxgraph.cisco.misc.cisco_ca;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_file_engine:"shape=mxgraph.cisco.storage.cisco_file_engine;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cisco_hub:"shape=mxgraph.cisco.hubs_and_gateways.cisco_hub;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ciscosecurity:"shape=mxgraph.cisco.security.cisco_security;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cisco_unified_presence_server:"shape=mxgraph.cisco.servers.cisco_unified_presence_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_cisco_unityexpress:"shape=mxgraph.cisco.misc.cisco_unity_express;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ciscoworks:"shape=mxgraph.cisco.misc.cisco_works;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_class_4_5_switch:"shape=mxgraph.cisco.switches.class_4_5_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_communications_server:"shape=mxgraph.cisco.servers.communications_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_contact_center:"shape=mxgraph.cisco.misc.contact_center;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_engine__cache_director_:"shape=mxgraph.cisco.directors.content_engine_(cache_director);verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_service_router:"shape=mxgraph.cisco.routers.content_service_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_content_service_switch_1100:"shape=mxgraph.cisco.switches.content_service_switch_1100;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_switch_module:"shape=mxgraph.cisco.controllers_and_modules.content_switch_module;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_content_switch:"shape=mxgraph.cisco.switches.content_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_content_transformation_engine__cte_:"shape=mxgraph.cisco.misc.content_transformation_engine_(cte);verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_cs_mars:"shape=mxgraph.cisco.misc.cs-mars;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_csm_s:"shape=mxgraph.cisco.misc.csm-s;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_csu_dsu:"shape=mxgraph.cisco.misc.csu_dsu;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_CUBE:"shape=mxgraph.cisco.misc.cube;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_detector:"shape=mxgraph.cisco.misc.detector;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_director_class_fibre_channel_director:"shape=mxgraph.cisco.directors.director-class_fibre_channel_director;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_directory_server:"shape=mxgraph.cisco.servers.directory_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_diskette:"shape=mxgraph.cisco.storage.diskette;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_distributed_director:"shape=mxgraph.cisco.directors.distributed_director;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dot_dot:"shape=mxgraph.cisco.misc.dot-dot;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dpt:"shape=mxgraph.cisco.misc.dpt;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_dslam:"shape=mxgraph.cisco.misc.dslam;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dual_mode_ap:"shape=mxgraph.cisco.misc.dual_mode;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_dwdm_filter:"shape=mxgraph.cisco.misc.dwdm_filter;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_end_office:"shape=mxgraph.cisco.buildings.end_office;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_fax:"shape=mxgraph.cisco.modems_and_phones.fax;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_fc_storage:"shape=mxgraph.cisco.storage.fc_storage;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_fddi_ring:"shape=mxgraph.cisco.misc.fddi_ring;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;",Cisco_cisco_fibre_channel_disk_subsystem:"shape=mxgraph.cisco.storage.fibre_channel_disk_subsystem;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_fibre_channel_fabric_switch:"shape=mxgraph.cisco.switches.fibre_channel_fabric_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_file_cabinet:"shape=mxgraph.cisco.storage.file_cabinet;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_file_server:"shape=mxgraph.cisco.servers.file_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_firewall_service_module__fwsm_:"shape=mxgraph.cisco.controllers_and_modules.firewall_service_module_(fwsm);verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_front_end_processor:"shape=mxgraph.cisco.misc.front_end_processor;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_gatekeeper:"shape=mxgraph.cisco.security.gatekeeper;strokeColor=#036897;",Cisco_cisco_general_applicance:"shape=mxgraph.cisco.misc.general_appliance;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_gateway:"shape=mxgraph.cisco.hubs_and_gateways.generic_gateway;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_generic_processor:"shape=mxgraph.cisco.misc.generic_processor;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_generic_softswitch:"shape=mxgraph.cisco.switches.generic_softswitch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_gigabit_switch_atm_tag_router:"shape=mxgraph.cisco.routers.gigabit_switch_atm_tag_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_government_building:"shape=mxgraph.cisco.buildings.government_building;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Ground_terminal:"shape=mxgraph.cisco.wireless.ground_terminal;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_guard:"shape=mxgraph.cisco.security.guard;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_handheld:"shape=mxgraph.cisco.misc.handheld;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_hootphone:"shape=mxgraph.cisco.modems_and_phones.hootphone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_host:"shape=mxgraph.cisco.servers.host;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_hp_mini:"shape=mxgraph.cisco.misc.hp_mini;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_h:"shape=mxgraph.cisco.misc.h_323;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_hub:"shape=mxgraph.cisco.hubs_and_gateways.hub;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iad_router:"shape=mxgraph.cisco.routers.iad_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ibm_mainframe:"shape=mxgraph.cisco.computers_and_peripherals.ibm_mainframe;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ibm_mini_as400:"shape=mxgraph.cisco.computers_and_peripherals.ibm_mini_as400;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_ibm_tower:"shape=mxgraph.cisco.computers_and_peripherals.ibm_tower;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_icm:"shape=mxgraph.cisco.misc.icm;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ics:"shape=mxgraph.cisco.misc.ics;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_intelliswitch_stack:"shape=mxgraph.cisco.switches.intelliswitch_stack;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_ios_firewall:"shape=mxgraph.cisco.security.ios_firewall;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ios_slb:"shape=mxgraph.cisco.misc.ios_slb;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_communicator:"shape=mxgraph.cisco.misc.ip_communicator;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_dsl:"shape=mxgraph.cisco.misc.ip_dsl;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_ip_phone:"shape=mxgraph.cisco.modems_and_phones.ip_phone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip:"shape=mxgraph.cisco.misc.ip;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iptc:"shape=mxgraph.cisco.misc.iptc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ip_telephony_router:"shape=mxgraph.cisco.routers.ip_telephony_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_iptv_content_manager:"shape=mxgraph.cisco.misc.iptv_content_manager;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iptv_server:"shape=mxgraph.cisco.servers.iptv_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_iscsi_router:"shape=mxgraph.cisco.routers.isci_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_isdn_switch:"shape=mxgraph.cisco.switches.isdn_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_itp:"shape=mxgraph.cisco.misc.itp;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_jbod:"shape=mxgraph.cisco.misc.jbod;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_key:"shape=mxgraph.cisco.misc.key;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_keys:"shape=mxgraph.cisco.misc.keys;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_lan_to_lan:"shape=mxgraph.cisco.misc.lan_to_lan;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_layer_2_remote_switch:"shape=mxgraph.cisco.switches.layer_2_remote_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_layer_3_switch:"shape=mxgraph.cisco.switches.layer_3_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_lightweight_ap:"shape=mxgraph.cisco.misc.lightweight_ap;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_localdirector:"shape=mxgraph.cisco.directors.localdirector;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_longreach_cpe:"shape=mxgraph.cisco.misc.longreach_cpe;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_macintosh:"shape=mxgraph.cisco.computers_and_peripherals.macintosh;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mac_woman:"shape=mxgraph.cisco.people.mac_woman;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_man_woman:"shape=mxgraph.cisco.people.man_woman;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mas_gateway:"shape=mxgraph.cisco.hubs_and_gateways.mas_gateway;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mau:"shape=mxgraph.cisco.misc.mau;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mcu:"shape=mxgraph.cisco.misc.mcu;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_mdu:"shape=mxgraph.cisco.buildings.mdu;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_me_1100:"shape=mxgraph.cisco.misc.me1100;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Mediator:"shape=mxgraph.cisco.misc.mediator;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_meetingplace:"shape=mxgraph.cisco.misc.meetingplace;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_mesh_ap:"shape=mxgraph.cisco.misc.mesh_ap;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_metro_1500:"shape=mxgraph.cisco.misc.metro_1500;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mgx_8000_multiservice_switch:"shape=mxgraph.cisco.switches.mgx_8000_multiservice_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_microphone:"shape=mxgraph.cisco.computers_and_peripherals.microphone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_mini_vax:"shape=mxgraph.cisco.misc.mini_vax;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mobile_access_ip_phone:"shape=mxgraph.cisco.modems_and_phones.mobile_access_ip_phone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mobile_access_router:"shape=mxgraph.cisco.routers.mobile_access_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_modem:"shape=mxgraph.cisco.modems_and_phones.modem;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_moh_server:"shape=mxgraph.cisco.servers.moh_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_MSE:"shape=mxgraph.cisco.misc.mse;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mulitswitch_device:"shape=mxgraph.cisco.switches.multiswitch_device;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_multi_fabric_server_switch:"shape=mxgraph.cisco.switches.multi-fabric_server_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_multilayer_remote_switch:"shape=mxgraph.cisco.switches.multilayer_remote_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_mux:"shape=mxgraph.cisco.misc.mux;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_MXE:"shape=mxgraph.cisco.misc.mxe;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_nac_appliance:"shape=mxgraph.cisco.misc.nac_appliance;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_NCE:"shape=mxgraph.cisco.misc.nce;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_NCE_router:"shape=mxgraph.cisco.routers.nce_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_netflow_router:"shape=mxgraph.cisco.routers.netflow_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_netranger:"shape=mxgraph.cisco.misc.netranger;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_netsonar:"shape=mxgraph.cisco.misc.netsonar;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_network_management:"shape=mxgraph.cisco.misc.network_management;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_1000:"shape=mxgraph.cisco.misc.nexus_1000;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_2000:"shape=mxgraph.cisco.misc.nexus_2000_fabric_extender;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_Nexus_5000:"shape=mxgraph.cisco.misc.nexus_5000;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Nexus_7000:"shape=mxgraph.cisco.misc.nexus_7000;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_octel:"shape=mxgraph.cisco.misc.octel;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ons15500:"shape=mxgraph.cisco.misc.ons15500;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_optical_amplifier:"shape=mxgraph.cisco.misc.optical_amplifier;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_optical_services_router:"shape=mxgraph.cisco.routers.optical_services_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_optical_transport:"shape=mxgraph.cisco.misc.optical_transport;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pad:"shape=mxgraph.cisco.misc.pad_2;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_pad_x:"shape=mxgraph.cisco.misc.pad_1;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_page_icon:"shape=mxgraph.cisco.misc.page_icon;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897;",Cisco_cisco_pbx:"shape=mxgraph.cisco.misc.pbx;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pbx_switch:"shape=mxgraph.cisco.switches.pbx_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_pc_adapter_card:"shape=mxgraph.cisco.computers_and_peripherals.pc_adapter_card;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_man:"shape=mxgraph.cisco.people.pc_man;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_routercard:"shape=mxgraph.cisco.computers_and_peripherals.pc_routercard;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pc_software:"shape=mxgraph.cisco.misc.pc_software;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_pc_video:"shape=mxgraph.cisco.misc.pc_video;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_phone_fax:"shape=mxgraph.cisco.modems_and_phones.phone-fax;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pix_firewall:"shape=mxgraph.cisco.security.pix_firewall;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pmc:"shape=mxgraph.cisco.misc.pmc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_programmable_switch:"shape=mxgraph.cisco.switches.programmable_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_protocol_translator:"shape=mxgraph.cisco.misc.protocol_translator;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_pxf:"shape=mxgraph.cisco.misc.pxf;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_radio_tower:"shape=mxgraph.cisco.wireless.radio_tower;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897",
+Cisco_cisco_ratemux:"shape=mxgraph.cisco.misc.ratemux;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_repeater:"shape=mxgraph.cisco.misc.repeater;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_RF_modem:"shape=mxgraph.cisco.modems_and_phones.rf_modem;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_router_firewall:"shape=mxgraph.cisco.security.router_firewall;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_routerin_building:"shape=mxgraph.cisco.routers.router_in_building;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_router_with_silicon_switch:"shape=mxgraph.cisco.routers.router_with_silicon_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_route_switch_processor:"shape=mxgraph.cisco.misc.route_switch_processor;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_rpsrps:"shape=mxgraph.cisco.misc.rpsrps;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_running_man:"shape=mxgraph.cisco.people.running_man;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sattelite_dish:"shape=mxgraph.cisco.wireless.satellite_dish;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sattelite:"shape=mxgraph.cisco.wireless.satellite;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_scanner:"shape=mxgraph.cisco.computers_and_peripherals.scanner;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_server_switch:"shape=mxgraph.cisco.switches.server_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_server_with_router:"shape=mxgraph.cisco.servers.server_with_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_service_control:"shape=mxgraph.cisco.misc.service_control;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_Service_Module:"shape=mxgraph.cisco.controllers_and_modules.service_module;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Service_router:"shape=mxgraph.cisco.routers.service_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Services:"shape=mxgraph.cisco.misc.services;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Set_top_box:"shape=mxgraph.cisco.misc.set_top_box;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_simulitlayer_switch:"shape=mxgraph.cisco.switches.simultilayer_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sip_proxy_werver:"shape=mxgraph.cisco.servers.sip_proxy_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sitting_woman:"shape=mxgraph.cisco.people.sitting_woman;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_small_business:"shape=mxgraph.cisco.buildings.small_business;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_small_hub:"shape=mxgraph.cisco.hubs_and_gateways.small_hub;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_softphone:"shape=mxgraph.cisco.modems_and_phones.softphone;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_softswitch_pgw_mgc:"shape=mxgraph.cisco.switches.softswitch_pgw_mgc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_software_based_server:"shape=mxgraph.cisco.servers.software_based_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_speaker:"shape=mxgraph.cisco.computers_and_peripherals.speaker;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ssc:"shape=mxgraph.cisco.misc.ssc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ssl_terminator:"shape=mxgraph.cisco.misc.ssl_terminator;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_standard_host:"shape=mxgraph.cisco.servers.standard_host;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_stb:"shape=mxgraph.cisco.misc.stb;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_storage_router:"shape=mxgraph.cisco.routers.storage_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_storage_server:"shape=mxgraph.cisco.servers.storage_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_stp:"shape=mxgraph.cisco.misc.stp;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_streamer:"shape=mxgraph.cisco.misc.streamer;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_sun_workstation:"shape=mxgraph.cisco.computers_and_peripherals.workstation;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_supercomputer:"shape=mxgraph.cisco.computers_and_peripherals.supercomputer;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_svx:"shape=mxgraph.cisco.misc.svx;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_system_controller:"shape=mxgraph.cisco.controllers_and_modules.system_controller;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tablet:"shape=mxgraph.cisco.computers_and_peripherals.tablet;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tape_array:"shape=mxgraph.cisco.storage.tape_array;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tdm_router:"shape=mxgraph.cisco.routers.tdm_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_telecommuter_house_pc:"shape=mxgraph.cisco.buildings.telecommuter_house_pc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_telecommuter_house:"shape=mxgraph.cisco.buildings.telecommuter_house;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_telecommuter_icon:"shape=mxgraph.cisco.misc.telecommuter_icon;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_Telepresence_3200:"shape=mxgraph.cisco.misc.telepresence;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_terminal:"shape=mxgraph.cisco.computers_and_peripherals.terminal;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_token:"shape=mxgraph.cisco.misc.token;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#036897",Cisco_cisco_TP_MCU:"shape=mxgraph.cisco.misc.tp_mcu;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_transpath:"shape=mxgraph.cisco.misc.transpath;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_truck:"shape=mxgraph.cisco.misc.truck;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_turret:"shape=mxgraph.cisco.misc.turret;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_tv:"shape=mxgraph.cisco.misc.tv;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_ubr910:"shape=mxgraph.cisco.misc.ubr910;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_umg_series:"shape=mxgraph.cisco.misc.umg_series;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_unity_server:"shape=mxgraph.cisco.servers.unity_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_universal_gateway:"shape=mxgraph.cisco.hubs_and_gateways.universal_gateway;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_university:"shape=mxgraph.cisco.buildings.university;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_upc:"shape=mxgraph.cisco.computers_and_peripherals.upc;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_vault:"shape=mxgraph.cisco.misc.vault;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_video_camera:"shape=mxgraph.cisco.computers_and_peripherals.video_camera;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_vip:"shape=mxgraph.cisco.misc.vip;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_virtual_layer_switch:"shape=mxgraph.cisco.switches.virtual_layer_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_virtual_switch_controller__vsc3000_:"shape=mxgraph.cisco.controllers_and_modules.virtual_switch_controller_(vsc3000);verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_atm_switch:"shape=mxgraph.cisco.switches.voice_atm_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_voice_commserver:"shape=mxgraph.cisco.servers.voice_commserver;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_router:"shape=mxgraph.cisco.routers.voice_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_voice_switch:"shape=mxgraph.cisco.switches.voice_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_vpn_concentrator:"shape=mxgraph.cisco.misc.vpn_concentrator;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_vpn_gateway:"shape=mxgraph.cisco.hubs_and_gateways.vpn_gateway;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_VSS:"shape=mxgraph.cisco.misc.vss;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wae:"shape=mxgraph.cisco.misc.wae;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wavelength_router:"shape=mxgraph.cisco.routers.wavelength_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_web_browser:"shape=mxgraph.cisco.computers_and_peripherals.web_browser;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_web_cluster:"shape=mxgraph.cisco.storage.web_cluster;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wi_fi_tag:"shape=mxgraph.cisco.wireless.wi-fi_tag;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless_bridge:"shape=mxgraph.cisco.wireless.wireless_bridge;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_wireless_location_appliance:"shape=mxgraph.cisco.wireless.wireless_location_appliance;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless:"shape=mxgraph.cisco.wireless.wireless;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wireless_transport:"shape=mxgraph.cisco.wireless.wireless_transport;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_wism:"shape=mxgraph.cisco.misc.wism;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_wlan_controller:"shape=mxgraph.cisco.wireless.wlan_controller;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_workgroup_director:"shape=mxgraph.cisco.directors.workgroup_director;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_workgroup_switch:"shape=mxgraph.cisco.switches.workgroup_switch;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",Cisco_cisco_workstation:"shape=mxgraph.cisco.computers_and_peripherals.workstation;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",
+Cisco_cisco_www_server:"shape=mxgraph.cisco.servers.www_server;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#036897;strokeColor=#ffffff",NET_PC:"shape=mxgraph.networks.pc;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;","NET_Virtual-PC":"shape=mxgraph.networks.virtual_pc;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Terminal:"shape=mxgraph.networks.terminal;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_DataPipe:"shape=mxgraph.networks.bus;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_SlateDevice:"shape=mxgraph.networks.tablet;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_TabletDevice:"shape=mxgraph.networks.tablet;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Laptop:"shape=mxgraph.networks.laptop;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_PDA:"shape=mxgraph.networks.mobile;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_CRTMonitor:"shape=mxgraph.networks.monitor;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_LCDMonitor:"shape=mxgraph.networks.monitor;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_RadioTower:"shape=mxgraph.networks.radio_tower;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_ExternalHardDrive:"shape=mxgraph.networks.external_storage;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_SatelliteDish:"shape=mxgraph.networks.satellite_dish;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Satellite:"shape=mxgraph.networks.satellite;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_WirelessAccessPoint:"shape=mxgraph.networks.radio_tower;fillColor=#29AAE1;strokeColor=#29AAE1;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_RingNetwork:"mxCompositeShape",NET_Ethernet:"mxCompositeShape",NET_Server:"shape=mxgraph.networks.server;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Mainframe:"shape=mxgraph.networks.mainframe;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_Router:"shape=mxgraph.networks.wireless_hub;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Switch:"shape=mxgraph.networks.switch;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Firewall:"shape=mxgraph.networks.firewall;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_User:"shape=mxgraph.networks.user_male;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_CommLink:"shape=mxgraph.networks.comm_link_edge;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_SuperComputer:"shape=mxgraph.networks.supercomputer;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_VirtualServer:"shape=mxgraph.networks.virtual_server;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
+NET_Printer:"shape=mxgraph.networks.printer;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Scanner:"shape=mxgraph.networks.scanner;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Copier:"shape=mxgraph.networks.copier;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_MultiFunctionMachine:"shape=mxgraph.networks.copier;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
NET_Projector:"shape=mxgraph.networks.video_projector;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_ProjectorScreen:"shape=mxgraph.networks.video_projector_screen;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Bridge:"shape=mxgraph.networks.router;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
NET_Hub:"shape=mxgraph.networks.hub;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Modem:"shape=mxgraph.networks.modem;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Telephone:"shape=mxgraph.signs.tech.telephone_5;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_CellPhone:"shape=mxgraph.networks.mobile;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",
NET_SmartPhone:"shape=mxgraph.networks.mobile;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",NET_Camera:"shape=mxgraph.signs.tech.camera_2;fillColor=#29AAE1;strokeColor=#ffffff;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;",RackServerRack:"shape=mxgraph.rackGeneral.container;container=1;collapsible=0;childLayout=rack;marginLeft=9;marginRight=9;marginTop=21;marginBottom=22;textColor=#000000;numDisp=off",
@@ -990,7 +1008,7 @@ ExtShapeServerBlock:"strokeColor=none;shape=mxgraph.citrix.tower_server;vertical
FlexiblePolygonBlock:"mxCompositeShape",PersonRoleBlock:"mxCompositeShape"},Od=RegExp("{{(date{.*}|[^%^{^}]+)}}","g");ec.prototype.getSize=function(){return(this.nurbsValues.length/4|0)-1};ec.prototype.getX=function(a){return Math.round(100*this.nurbsValues[4*(a+1)])/100};ec.prototype.getY=function(a){return Math.round(100*this.nurbsValues[4*(a+1)+1])/100};LucidImporter.importState=function(a,b,d){function h(a){if(a.Properties){for(var b in a.Properties)"Stencil-"==b.substr(0,8)&&se(b.substr(8),a.Properties[b]);
LucidImporter.globalProps=a.Properties}for(var d in a.Pages)b=a.Pages[d],b.id=d,m.push(b);m.sort(function(a,b){return a.Properties.Order<b.Properties.Order?-1:a.Properties.Order>b.Properties.Order?1:0});for(a=0;a<m.length;a++)LucidImporter.pageIdsMap[m[a].id]=a}LucidImporter.stencilsMap={};LucidImporter.imgSrcRepl=b;LucidImporter.advImpConfig=d;LucidImporter.globalProps={};LucidImporter.pageIdsMap={};LucidImporter.hasUnknownShapes=!1;b=['<?xml version="1.0" encoding="UTF-8"?>',"<mxfile>"];d&&d.transparentEdgeLabels&&
(Nc=Nc.replace("labelBackgroundColor=#ffffff;","labelBackgroundColor=none;"));var m=[];null!=a.state&&"1"==urlParams.dev&&null!=window.console&&console.log(JSON.stringify(JSON.parse(a.state),null,2));null!=a.state?h(JSON.parse(a.state)):null==a.Page&&null!=a.Pages?h(a):m.push(a);a=Qd();d=new mxCodec;for(var c=0;c<m.length;c++){b.push("<diagram");null!=m[c].Properties&&null!=m[c].Properties.Title&&b.push(' name="'+mxUtils.htmlEntities(m[c].Properties.Title)+'"');b.push(' id="'+c+'"');Pd(a,m[c],!0);
-var k=d.encode(a.getModel());null!=m[c].Properties&&(m[c].Properties.FillColor&&k.setAttribute("background",Z(m[c].Properties.FillColor)),m[c].Properties.InfiniteCanvas?k.setAttribute("page",0):null!=m[c].Properties.Size&&(k.setAttribute("page",1),k.setAttribute("pageWidth",.6*m[c].Properties.Size.w),k.setAttribute("pageHeight",.6*m[c].Properties.Size.h)),null!=m[c].Properties.GridSpacing&&(k.setAttribute("grid",1),k.setAttribute("gridSize",.6*m[c].Properties.GridSpacing)));LucidImporter.hasMath&&
+var k=d.encode(a.getModel());null!=m[c].Properties&&(m[c].Properties.FillColor&&k.setAttribute("background",Z(m[c].Properties.FillColor)),m[c].Properties.InfiniteCanvas?k.setAttribute("page",0):null!=m[c].Properties.Size&&(k.setAttribute("page",1),k.setAttribute("pageWidth",.75*m[c].Properties.Size.w),k.setAttribute("pageHeight",.75*m[c].Properties.Size.h)),null!=m[c].Properties.GridSpacing&&(k.setAttribute("grid",1),k.setAttribute("gridSize",.75*m[c].Properties.GridSpacing)));LucidImporter.hasMath&&
k.setAttribute("math",1);a.getModel().clear();b.push(">"+Graph.compress(mxUtils.getXml(k))+"</diagram>")}b.push("</mxfile>");LucidImporter.imgSrcRepl=null;return b.join("")}})();function VsdxExport(f){function n(a,b){var d={"[Content_Types].xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Types xmlns='http://schemas.openxmlformats.org/package/2006/content-types'><Default Extension='png' ContentType='image/png'/><Default Extension='jpg' ContentType='image/jpeg'/><Default Extension='jpeg' ContentType='image/jpeg'/><Default Extension='svg' ContentType='image/svg+xml'/><Default Extension='bmp' ContentType='image/bmp'/><Default Extension='gif' ContentType='image/gif'/><Default Extension='emf' ContentType='image/x-emf' /><Default Extension='rels' ContentType='application/vnd.openxmlformats-package.relationships+xml' /><Default Extension='xml' ContentType='application/xml' /><Override PartName='/docProps/app.xml' ContentType='application/vnd.openxmlformats-officedocument.extended-properties+xml' /><Override PartName='/docProps/core.xml' ContentType='application/vnd.openxmlformats-package.core-properties+xml' /><Override PartName='/docProps/custom.xml' ContentType='application/vnd.openxmlformats-officedocument.custom-properties+xml' /><Override PartName='/visio/document.xml' ContentType='application/vnd.ms-visio.drawing.main+xml' /><Override PartName='/visio/masters/masters.xml' ContentType='application/vnd.ms-visio.masters+xml' /><Override PartName='/visio/masters/master1.xml' ContentType='application/vnd.ms-visio.master+xml'/><Override PartName='/visio/pages/page1.xml' ContentType='application/vnd.ms-visio.page+xml' /><Override PartName='/visio/pages/pages.xml' ContentType='application/vnd.ms-visio.pages+xml' /><Override PartName='/visio/windows.xml' ContentType='application/vnd.ms-visio.windows+xml' /></Types>",
"_rels/.rels":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><Relationships xmlns='http://schemas.openxmlformats.org/package/2006/relationships'><Relationship Id='rId1' Type='http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties' Target='docProps/core.xml' /><Relationship Id='rId2' Type='http://schemas.microsoft.com/visio/2010/relationships/document' Target='visio/document.xml' /><Relationship Id='rId3' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties' Target='docProps/custom.xml' /><Relationship Id='rId4' Type='http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties' Target='docProps/app.xml' /></Relationships>",
"docProps/app.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns=\'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\' xmlns:vt=\'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\'><Application>Microsoft Visio</Application><AppVersion>15.0000</AppVersion><Template /><Manager /><Company /><HyperlinkBase /></Properties>',"docProps/core.xml":"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><cp:coreProperties xmlns:cp='http://schemas.openxmlformats.org/package/2006/metadata/core-properties' xmlns:dc='http://purl.org/dc/elements/1.1/' xmlns:dcterms='http://purl.org/dc/terms/' xmlns:dcmitype='http://purl.org/dc/dcmitype/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'><dc:title /><dc:subject /><dc:creator /><cp:keywords /><dc:description /><cp:category /><dc:language>en-US</dc:language></cp:coreProperties>",
diff --git a/src/main/webapp/js/viewer-static.min.js b/src/main/webapp/js/viewer-static.min.js
index aefc7a22..711dcadf 100644
--- a/src/main/webapp/js/viewer-static.min.js
+++ b/src/main/webapp/js/viewer-static.min.js
@@ -205,7 +205,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");
(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.5",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&
0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>
navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=
@@ -3023,28 +3023,29 @@ Editor.syncProblemImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3d
Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=
-!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",type:"bool",defVal:!1,isVisible:function(a,c){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",
-dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",
-type:"float",defVal:.95,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",type:"float",defVal:0,min:0,max:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",
-dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",
-dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,
-c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",
-type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",
-type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},
-{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",
-defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",
-type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",
-dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
-dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,c){return c.editorUi.editor.graph.isCellConnectable(1==
-a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},
-{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",
-type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",dispName:"Drop Target",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isSwimlane(b)||0<d.model.getChildCount(b))},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",
-type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isContainer(b)&&"0"!=a.style.collapsible||!d.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length&&!c.editorUi.editor.graph.isSwimlane(a.vertices[0])&&
-null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,isVisible:function(a,c){var b=c.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",
-dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,c){var b=0<a.vertices.length?c.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},
-{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,c){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return c.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},
-{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
+Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.errorImage="data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==";
+Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",
+type:"bool",defVal:!1,isVisible:function(a,c){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",
+type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",type:"float",defVal:.95,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",
+type:"float",defVal:0,min:0,max:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":
+"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",
+dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",
+dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
+dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",
+type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},
+{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",
+type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:
+null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",
+dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},
+{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,c){return c.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",
+type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},
+{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",
+dispName:"Drop Target",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isSwimlane(b)||0<d.model.getChildCount(b))},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isContainer(b)&&
+"0"!=a.style.collapsible||!d.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length&&!c.editorUi.editor.graph.isSwimlane(a.vertices[0])&&null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,
+isVisible:function(a,c){var b=c.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,c){var b=0<a.vertices.length?
+c.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",
+type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,c){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return c.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);
+Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
Editor.createRoughCanvas=function(a){var c=rough.canvas({getContext:function(){return a}});c.draw=function(c){var b=c.sets||[];c=c.options||this.getDefaultOptions();for(var d=0;d<b.length;d++){var f=b[d];switch(f.type){case "path":null!=c.stroke&&this._drawToContext(a,f,c);break;case "fillPath":this._drawToContext(a,f,c);break;case "fillSketch":this.fillSketch(a,f,c)}}};c.fillSketch=function(c,b,d){var f=a.state.strokeColor,g=a.state.strokeWidth,e=a.state.strokeAlpha,l=a.state.dashed,n=d.fillWeight;
0>n&&(n=d.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(d.fill||"");a.setStrokeWidth(n);a.setDashed(!1);this._drawToContext(c,b,d);a.setDashed(l);a.setStrokeWidth(g);a.setStrokeColor(f);a.setStrokeAlpha(e)};c._drawToContext=function(a,c,b){a.begin();for(var d=0;d<c.ops.length;d++){var f=c.ops[d],g=f.data;switch(f.op){case "move":a.moveTo(g[0],g[1]);break;case "bcurveTo":a.curveTo(g[0],g[1],g[2],g[3],g[4],g[5]);break;case "lineTo":a.lineTo(g[0],g[1])}}a.end();"fillPath"===c.type&&
b.filled?a.fill():a.stroke()};return c};(function(){function a(c,b,d){this.canvas=c;this.rc=b;this.shape=d;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,a.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,a.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,a.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=
@@ -3241,7 +3242,7 @@ p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.classNa
(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(L.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),
this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var N=document.createElement("canvas"),F=new Image;F.onload=function(){try{N.getContext("2d").drawImage(F,0,0);var a=N.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(K){}};F.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};a.afterDecode=function(a,b,e){e.previousColor=e.color;e.previousImage=e.image;e.previousFormat=e.format;null!=e.foldingEnabled&&(e.foldingEnabled=!e.foldingEnabled);null!=e.mathEnabled&&(e.mathEnabled=!e.mathEnabled);null!=e.shadowVisible&&(e.shadowVisible=!e.shadowVisible);return e};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.6";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.7";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,d,e,l,p,t){p=null!=p?p:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js
index 0e29c060..4b170a29 100644
--- a/src/main/webapp/js/viewer.min.js
+++ b/src/main/webapp/js/viewer.min.js
@@ -205,7 +205,7 @@ function setCurrentXml(a,b){null!=window.parent&&null!=window.parent.openFile&&w
null!=a&&(DRAWIO_GITLAB_ID=a);window.DRAWIO_LOG_URL=window.DRAWIO_LOG_URL||"";a=window.location.host;if("test.draw.io"!=a){var c="diagrams.net",b=a.length-c.length,c=a.lastIndexOf(c,b);-1!==c&&c===b?window.DRAWIO_LOG_URL="https://log.diagrams.net":(c="draw.io",b=a.length-c.length,c=a.lastIndexOf(c,b),-1!==c&&c===b&&(window.DRAWIO_LOG_URL="https://log.draw.io"))}})();
if("1"==urlParams.offline||"1"==urlParams.demo||"1"==urlParams.stealth||"1"==urlParams.local)urlParams.picker="0",urlParams.gapi="0",urlParams.db="0",urlParams.od="0",urlParams.gh="0",urlParams.gl="0",urlParams.tr="0";"trello"==urlParams.mode&&(urlParams.tr="1");if("1"==urlParams.offline||"1"==urlParams.local)urlParams.math="0";"embed.diagrams.net"==window.location.hostname&&(urlParams.embed="1");
(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.open&&(window.location.hash=urlParams.open);window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images";
-window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.5",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
+window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"mxgraph";window.mxImageBasePath=window.mxImageBasePath||"mxgraph/images";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de","se"];var mxClient={VERSION:"14.2.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&
0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>
navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=
@@ -3023,28 +3023,29 @@ Editor.syncProblemImage="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3d
Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=":
IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAS1BMVEVAQEAAAAA1NTVBQUFDQ0NDQ0NFRUVERERBQUFBQUFBQUFAQEBBQUFBQUFCQkJCQkJCQkJBQUFCQkJDQ0NDQ0NCQkJCQkJCQkJGRkb5/XqTAAAAGXRSTlP+AAWODlASCsesX+Lc2LyWe3pwa1tCPjohjSJfoAAAAI1JREFUWMPt1MkKhTAMRuG0anvneXr/J71nUypKcdqI/N8yhLMKMZE1CahnClDQzMPB44ED3EgeCubgDWnWQMHpwTtKwTe+UHD4sJ94wbUEHHFGhILlYDeSnsQeabeCgsPBgB0MOZZ9oGA5GJFiJSfUULAfjLjARrhCwX7wh2YCDwVbwZkUBKqFFJRN+wOcwSgR2sREcgAAAABJRU5ErkJggg==":
IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg==";
-Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=
-!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",type:"bool",defVal:!1,isVisible:function(a,c){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",
-dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",
-type:"float",defVal:.95,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",type:"float",defVal:0,min:0,max:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",
-dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",
-dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,
-c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",
-type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",
-type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},
-{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",
-defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",
-type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",
-dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
-dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,c){return c.editorUi.editor.graph.isCellConnectable(1==
-a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},
-{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",
-type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",dispName:"Drop Target",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isSwimlane(b)||0<d.model.getChildCount(b))},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",
-type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isContainer(b)&&"0"!=a.style.collapsible||!d.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length&&!c.editorUi.editor.graph.isSwimlane(a.vertices[0])&&
-null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,isVisible:function(a,c){var b=c.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",
-dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,c){var b=0<a.vertices.length?c.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},
-{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,c){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return c.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},
-{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
+Editor.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');Editor.errorImage="data:image/gif;base64,R0lGODlhEAAQAPcAAADGAIQAAISEhP8AAP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAAAALAAAAAAQABAAAAhoAAEIFBigYMGBCAkGGMCQ4cGECxtKHBAAYUQCEzFSHLiQgMeGHjEGEAAg4oCQJz86LCkxpEqHAkwyRClxpEyXGmGaREmTIsmOL1GO/DkzI0yOE2sKIMlRJsWhCQHENDiUaVSpS5cmDAgAOw==";
+Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.enableCustomProperties=!0;Editor.enableServiceWorker="0"!=urlParams.pwa&&"serviceWorker"in navigator&&("1"==urlParams.offline||/.*\.diagrams\.net$/.test(window.location.hostname)||/.*\.draw\.io$/.test(window.location.hostname));Editor.compressXml=!0;Editor.globalVars=null;Editor.shadowOptionEnabled=!mxClient.IS_SF;Editor.config=null;Editor.configVersion=null;Editor.defaultBorder=5;Editor.commonProperties=[{name:"comic",dispName:"Comic",
+type:"bool",defVal:!1,isVisible:function(a,c){return"1"!=mxUtils.getValue(a.style,"sketch","0")}},{name:"jiggle",dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"fillWeight",dispName:"Fill Weight",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureGap",dispName:"Hachure Gap",
+type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"hachureAngle",dispName:"Hachure Angle",type:"int",defVal:-41,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"curveFitting",dispName:"Curve Fitting",type:"float",defVal:.95,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"simplification",dispName:"Simplification",
+type:"float",defVal:0,min:0,max:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStroke",dispName:"Disable Multi Stroke",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"disableMultiStrokeFill",dispName:"Disable Multi Stroke Fill",type:"bool",defVal:!1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":
+"0")}},{name:"dashOffset",dispName:"Dash Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"dashGap",dispName:"Dash Gap",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"zigzagOffset",dispName:"ZigZag Offset",type:"int",defVal:-1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"jiggle",
+dispName:"Jiggle",type:"float",min:0,defVal:1,isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"comic","0")||"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}},{name:"sketchStyle",dispName:"Sketch Style",type:"enum",defVal:"rough",enumList:[{val:"rough",dispName:"Rough"},{val:"comic",dispName:"Comic"}],isVisible:function(a,c){return"1"==mxUtils.getValue(a.style,"sketch","1"==urlParams.rough?"1":"0")}}];Editor.commonEdgeProperties=[{type:"separator"},{name:"arcSize",
+dispName:"Arc Size",type:"float",min:0,defVal:mxConstants.LINE_ARCSIZE},{name:"sourcePortConstraint",dispName:"Source Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"targetPortConstraint",dispName:"Target Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",
+dispName:"South"},{val:"west",dispName:"West"}]},{name:"jettySize",dispName:"Jetty Size",type:"int",min:0,defVal:"auto",allowAuto:!0,isVisible:function(a){return"orthogonalEdgeStyle"==mxUtils.getValue(a.style,mxConstants.STYLE_EDGE,null)}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"startFill",dispName:"Start Fill",type:"bool",defVal:!0},{name:"endFill",dispName:"End Fill",
+type:"bool",defVal:!0},{name:"perimeterSpacing",dispName:"Terminal Spacing",type:"float",defVal:0},{name:"anchorPointDirection",dispName:"Anchor Direction",type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},
+{name:"bendable",dispName:"Bendable",type:"bool",defVal:!0},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"orthogonalLoop",dispName:"Loop Routing",type:"bool",defVal:!1},{name:"noJump",dispName:"No Jumps",type:"bool",defVal:!1}].concat(Editor.commonProperties);Editor.commonVertexProperties=[{type:"separator"},{name:"resizeLastRow",dispName:"Resize Last Row",
+type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null);return"1"==mxUtils.getValue(b,"resizeLastRow","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"resizeLast",dispName:"Resize Last Column",type:"bool",getDefaultValue:function(a,c){var b=c.editorUi.editor.graph.getCellStyle(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:
+null);return"1"==mxUtils.getValue(b,"resizeLast","0")},isVisible:function(a,c){var b=c.editorUi.editor.graph;return 1==a.vertices.length&&0==a.edges.length&&b.isTable(a.vertices[0])}},{name:"fillOpacity",dispName:"Fill Opacity",type:"int",min:0,max:100,defVal:100},{name:"strokeOpacity",dispName:"Stroke Opacity",type:"int",min:0,max:100,defVal:100},{name:"overflow",dispName:"Text Overflow",defVal:"visible",type:"enum",enumList:[{val:"visible",dispName:"Visible"},{val:"hidden",dispName:"Hidden"},{val:"block",
+dispName:"Block"},{val:"fill",dispName:"Fill"},{val:"width",dispName:"Width"}]},{name:"noLabel",dispName:"Hide Label",type:"bool",defVal:!1},{name:"labelPadding",dispName:"Label Padding",type:"float",defVal:0},{name:"direction",dispName:"Direction",type:"enum",defVal:"east",enumList:[{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraint",dispName:"Constraint",type:"enum",defVal:"none",enumList:[{val:"none",dispName:"None"},
+{val:"north",dispName:"North"},{val:"east",dispName:"East"},{val:"south",dispName:"South"},{val:"west",dispName:"West"}]},{name:"portConstraintRotation",dispName:"Rotate Constraint",type:"bool",defVal:!1},{name:"connectable",dispName:"Connectable",type:"bool",getDefaultValue:function(a,c){return c.editorUi.editor.graph.isCellConnectable(1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"allowArrows",dispName:"Allow Arrows",
+type:"bool",defVal:!0},{name:"snapToPoint",dispName:"Snap to Point",type:"bool",defVal:!1},{name:"perimeter",dispName:"Perimeter",defVal:"none",type:"enum",enumList:[{val:"none",dispName:"None"},{val:"rectanglePerimeter",dispName:"Rectangle"},{val:"ellipsePerimeter",dispName:"Ellipse"},{val:"rhombusPerimeter",dispName:"Rhombus"},{val:"trianglePerimeter",dispName:"Triangle"},{val:"hexagonPerimeter2",dispName:"Hexagon"},{val:"lifelinePerimeter",dispName:"Lifeline"},{val:"orthogonalPerimeter",dispName:"Orthogonal"},
+{val:"backbonePerimeter",dispName:"Backbone"},{val:"calloutPerimeter",dispName:"Callout"},{val:"parallelogramPerimeter",dispName:"Parallelogram"},{val:"trapezoidPerimeter",dispName:"Trapezoid"},{val:"stepPerimeter",dispName:"Step"}]},{name:"fixDash",dispName:"Fixed Dash",type:"bool",defVal:!1},{name:"autosize",dispName:"Autosize",type:"bool",defVal:!1},{name:"container",dispName:"Container",type:"bool",defVal:!1,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"dropTarget",
+dispName:"Drop Target",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isSwimlane(b)||0<d.model.getChildCount(b))},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"collapsible",dispName:"Collapsible",type:"bool",getDefaultValue:function(a,c){var b=1==a.vertices.length&&0==a.edges.length?a.vertices[0]:null,d=c.editorUi.editor.graph;return null!=b&&(d.isContainer(b)&&
+"0"!=a.style.collapsible||!d.isContainer(b)&&"1"==a.style.collapsible)},isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length}},{name:"recursiveResize",dispName:"Resize Children",type:"bool",defVal:!0,isVisible:function(a,c){return 1==a.vertices.length&&0==a.edges.length&&!c.editorUi.editor.graph.isSwimlane(a.vertices[0])&&null==mxUtils.getValue(a.style,"childLayout",null)}},{name:"expand",dispName:"Expand",type:"bool",defVal:!0},{name:"part",dispName:"Part",type:"bool",defVal:!1,
+isVisible:function(a,c){var b=c.editorUi.editor.graph.model;return 0<a.vertices.length?b.isVertex(b.getParent(a.vertices[0])):!1}},{name:"editable",dispName:"Editable",type:"bool",defVal:!0},{name:"metaEdit",dispName:"Edit Dialog",type:"bool",defVal:!1},{name:"backgroundOutline",dispName:"Background Outline",type:"bool",defVal:!1},{name:"movable",dispName:"Movable",type:"bool",defVal:!0},{name:"movableLabel",dispName:"Movable Label",type:"bool",defVal:!1,isVisible:function(a,c){var b=0<a.vertices.length?
+c.editorUi.editor.graph.getCellGeometry(a.vertices[0]):null;return null!=b&&!b.relative}},{name:"resizable",dispName:"Resizable",type:"bool",defVal:!0},{name:"resizeWidth",dispName:"Resize Width",type:"bool",defVal:!1},{name:"resizeHeight",dispName:"Resize Height",type:"bool",defVal:!1},{name:"rotatable",dispName:"Rotatable",type:"bool",defVal:!0},{name:"cloneable",dispName:"Cloneable",type:"bool",defVal:!0},{name:"deletable",dispName:"Deletable",type:"bool",defVal:!0},{name:"treeFolding",dispName:"Tree Folding",
+type:"bool",defVal:!1},{name:"treeMoving",dispName:"Tree Moving",type:"bool",defVal:!1},{name:"pointerEvents",dispName:"Pointer Events",type:"bool",defVal:!0,isVisible:function(a,c){var b=mxUtils.getValue(a.style,mxConstants.STYLE_FILLCOLOR,null);return c.editorUi.editor.graph.isSwimlane(a.vertices[0])||null==b||b==mxConstants.NONE}},{name:"moveCells",dispName:"Move Cells on Fold",type:"bool",defVal:!1,isVisible:function(a,c){return 0<a.vertices.length&&c.editorUi.editor.graph.isContainer(a.vertices[0])}}].concat(Editor.commonProperties);
+Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Parent style for nodes with child nodes (placeholders are replaced once).\n#\n# parentstyle: swimlane;whiteSpace=wrap;html=1;childLayout=stackLayout;horizontal=1;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;\n#\n## Optional column name that contains a reference to a named style in styles.\n## Default is the current style for nodes.\n#\n# stylename: -\n#\n## JSON for named styles of the form {"name": "style", "name": "style"} where style is a cell style with\n## placeholders that are replaced once.\n#\n# styles: -\n#\n## JSON for variables in styles of the form {"name": "value", "name": "value"} where name is a string\n## that will replace a placeholder in a style.\n#\n# vars: -\n#\n## Optional column name that contains a reference to a named label in labels.\n## Default is the current label.\n#\n# labelname: -\n#\n## JSON for named labels of the form {"name": "label", "name": "label"} where label is a cell label with\n## placeholders.\n#\n# labels: -\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Uses the given column name as the parent reference for cells. Default is no parent (empty or -).\n## The identity above is used for resolving the reference so it must be specified.\n#\n# parent: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## If placeholders are used in the style, they are replaced with data from the source.\n## An optional placeholders can be set to target to use data from the target instead.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## Additional labels can be added by using an optional labels array with entries of the\n## form {"label": string, "x": number, "y": number, "dx": number, "dy": number} where\n## x is from -1 to 1 along the edge, y is orthogonal, and dx/dy are offsets in pixels.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke,refs,manager\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between levels of hierarchical layouts. Default is 100.\n#\n# levelspacing: 100\n#\n## Spacing between parallel edges. Default is 40. Use 0 to disable.\n#\n# edgespacing: 40\n#\n## Name or JSON of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle or a JSON string as used in Layout, Apply.\n## Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nTessa Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nAlison Donovan,System Admin,rdo,Office 3,Tessa Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nEvan Valet,HR Director,tva,Office 4,Tessa Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\n';
Editor.createRoughCanvas=function(a){var c=rough.canvas({getContext:function(){return a}});c.draw=function(c){var b=c.sets||[];c=c.options||this.getDefaultOptions();for(var d=0;d<b.length;d++){var f=b[d];switch(f.type){case "path":null!=c.stroke&&this._drawToContext(a,f,c);break;case "fillPath":this._drawToContext(a,f,c);break;case "fillSketch":this.fillSketch(a,f,c)}}};c.fillSketch=function(c,b,d){var f=a.state.strokeColor,g=a.state.strokeWidth,e=a.state.strokeAlpha,l=a.state.dashed,n=d.fillWeight;
0>n&&(n=d.strokeWidth/2);a.setStrokeAlpha(a.state.fillAlpha);a.setStrokeColor(d.fill||"");a.setStrokeWidth(n);a.setDashed(!1);this._drawToContext(c,b,d);a.setDashed(l);a.setStrokeWidth(g);a.setStrokeColor(f);a.setStrokeAlpha(e)};c._drawToContext=function(a,c,b){a.begin();for(var d=0;d<c.ops.length;d++){var f=c.ops[d],g=f.data;switch(f.op){case "move":a.moveTo(g[0],g[1]);break;case "bcurveTo":a.curveTo(g[0],g[1],g[2],g[3],g[4],g[5]);break;case "lineTo":a.lineTo(g[0],g[1])}}a.end();"fillPath"===c.type&&
b.filled?a.fill():a.stroke()};return c};(function(){function a(c,b,d){this.canvas=c;this.rc=b;this.shape=d;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.originalBegin=this.canvas.begin;this.canvas.begin=mxUtils.bind(this,a.prototype.begin);this.originalEnd=this.canvas.end;this.canvas.end=mxUtils.bind(this,a.prototype.end);this.originalRect=this.canvas.rect;this.canvas.rect=mxUtils.bind(this,a.prototype.rect);this.originalRoundrect=this.canvas.roundrect;this.canvas.roundrect=
@@ -3241,7 +3242,7 @@ p=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});p.classNa
(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(L.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),
this.shadowVisible=!this.shadowVisible))};Editor.prototype.useCanvasForExport=!1;try{var N=document.createElement("canvas"),F=new Image;F.onload=function(){try{N.getContext("2d").drawImage(F,0,0);var a=N.toDataURL("image/png");Editor.prototype.useCanvasForExport=null!=a&&6<a.length}catch(K){}};F.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(v){}})();
(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};a.afterDecode=function(a,b,e){e.previousColor=e.color;e.previousImage=e.image;e.previousFormat=e.format;null!=e.foldingEnabled&&(e.foldingEnabled=!e.foldingEnabled);null!=e.mathEnabled&&(e.mathEnabled=!e.mathEnabled);null!=e.shadowVisible&&(e.shadowVisible=!e.shadowVisible);return e};mxCodecRegistry.register(a)})();
-(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.6";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
+(function(){var a=new mxObjectCodec(new ChangeGridColor,["ui"]);a.beforeDecode=function(a,b,e){e.ui=a.ui;return b};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="14.2.7";EditorUi.compactUi="atlas"!=uiTheme;mxGraphView.prototype.defaultDarkGridColor="#6e6e6e";"dark"==uiTheme&&(mxGraphView.prototype.gridColor=mxGraphView.prototype.defaultDarkGridColor);EditorUi.enableLogging="1"!=urlParams.stealth&&(/.*\.draw\.io$/.test(window.location.hostname)||/.*\.diagrams\.net$/.test(window.location.hostname))&&"support.draw.io"!=window.location.hostname;EditorUi.drawHost=window.DRAWIO_BASE_URL;EditorUi.lightboxHost=window.DRAWIO_LIGHTBOX_URL;
EditorUi.lastErrorMessage=null;EditorUi.ignoredAnonymizedChars="\n\t`~!@#$%^&*()_+{}|:\"<>?-=[];'./,\n\t";EditorUi.templateFile=TEMPLATE_PATH+"/index.xml";EditorUi.cacheUrl="1"==urlParams.dev?"/cache":window.REALTIME_URL;null==EditorUi.cacheUrl&&"undefined"!==typeof DrawioFile&&(DrawioFile.SYNC="none");Editor.cacheTimeout=1E4;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;
EditorUi.enableDrafts=!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&isLocalStorage&&"0"!=urlParams.drafts;EditorUi.scratchpadHelpLink="https://www.diagrams.net/doc/faq/scratchpad";EditorUi.defaultMermaidConfig={theme:"neutral",arrowMarkerAbsolute:!1,flowchart:{htmlLabels:!1},sequence:{diagramMarginX:50,diagramMarginY:10,actorMargin:50,width:150,height:65,boxMargin:10,boxTextMargin:5,noteMargin:10,messageMargin:35,mirrorActors:!0,bottomMarginAdj:1,useMaxWidth:!0,rightAngles:!1,showSequenceNumbers:!1},
gantt:{titleTopMargin:25,barHeight:20,barGap:4,topPadding:50,leftPadding:75,gridLineStartPadding:35,fontSize:11,fontFamily:'"Open-Sans", "sans-serif"',numberSectionStyles:4,axisFormat:"%Y-%m-%d"}};EditorUi.logError=function(a,b,d,e,l,p,t){p=null!=p?p:0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";if(EditorUi.enableLogging&&"1"!=urlParams.dev)try{if(a!=EditorUi.lastErrorMessage&&(null==a||null==b||-1==a.indexOf("Script error")&&
diff --git a/src/main/webapp/mxgraph/mxClient.js b/src/main/webapp/mxgraph/mxClient.js
index 61998013..f04f5246 100644
--- a/src/main/webapp/mxgraph/mxClient.js
+++ b/src/main/webapp/mxgraph/mxClient.js
@@ -1,4 +1,4 @@
-var mxClient={VERSION:"14.2.6",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
+var mxClient={VERSION:"14.2.7",IS_IE:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:null!=navigator.userAgent&&!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:null!=navigator.userAgent&&!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&
8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&0>navigator.userAgent.indexOf("Edge/"),IS_OP:null!=navigator.userAgent&&(0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/")),IS_OT:null!=navigator.userAgent&&0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&
0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:/Apple Computer, Inc/.test(navigator.vendor),IS_ANDROID:0<=navigator.appVersion.indexOf("Android"),IS_IOS:/iP(hone|od|ad)/.test(navigator.platform),IS_GC:/Google Inc/.test(navigator.vendor),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:"undefined"!==typeof InstallTrigger,IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>
navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=
diff --git a/src/main/webapp/service-worker.js b/src/main/webapp/service-worker.js
index 412c0967..832d51e5 100644
--- a/src/main/webapp/service-worker.js
+++ b/src/main/webapp/service-worker.js
@@ -6,11 +6,11 @@ if (workbox)
workbox.precaching.precacheAndRoute([
{
"url": "js/app.min.js",
- "revision": "70d8688ff8f38ca1d14b5eef3abe465a"
+ "revision": "7c56d13fc638a0b5a058aeb3d5b8be93"
},
{
"url": "js/extensions.min.js",
- "revision": "9d2e305bf5eb05accb783c2d8dc826a9"
+ "revision": "5442eb276cf492e2908c7753f2ab9d35"
},
{
"url": "js/stencils.min.js",
@@ -58,7 +58,7 @@ if (workbox)
},
{
"url": "js/viewer-static.min.js",
- "revision": "19c2493cfb9df170af11ea62445fa8ea"
+ "revision": "970560dfb606f4d79a77780c719efc8b"
},
{
"url": "connect/jira/editor-1-3-3.html",
@@ -138,7 +138,7 @@ if (workbox)
},
{
"url": "connect/confluence/includeDiagram-1-4-8.js",
- "revision": "17658d24e7f2e37b24f787b06b8d1722"
+ "revision": "a38cf3bb0d05d131dd0560e2a9baa5f8"
},
{
"url": "connect/confluence/includeDiagram.html",